{"version":3,"file":"Shared_layer_wrapper.D0vzK-ts.mjs","names":["Children"],"sources":["https:/framerusercontent.com/modules/0evMA5BbGcSJocTHhMA2/W7o2Az487E34eYHbWBNC/Shared_layer_wrapper.js"],"sourcesContent":["import{jsxs as _jsxs}from\"react/jsx-runtime\";import{Children,cloneElement,isValidElement}from\"react\";import{ControlType}from\"framer\";import{MARGIN_DESCRIPTION}from\"https://framerusercontent.com/modules/G9UZNzEc4NZQrMJzPvWx/mIDGZDuYkLeEfvCEqoly/Shared_props.js\";export const defaultLayerLayout={display:\"flex\",gap:16,direction:\"column\",wrap:true,justifyContent:\"flex-start\",alignItems:\"flex-start\",columns:3,rowGap:4,columnGap:4,justifyItems:\"stretch\",gridAlignItems:\"stretch\"};/**\n * Maps LayerLayoutConfig to CSS (same rules as Variant selector layout).\n */export function getLayerLayoutStyle(layout){if(layout.display===\"grid\"){return{display:\"grid\",gridTemplateColumns:`repeat(${layout.columns??3}, auto)`,rowGap:layout.rowGap??4,columnGap:layout.columnGap??4,justifyItems:layout.justifyItems??\"stretch\",alignItems:layout.gridAlignItems??\"stretch\"};}return{display:\"flex\",flexDirection:layout.direction??\"row\",flexWrap:layout.wrap?\"wrap\":\"nowrap\",justifyContent:layout.justifyContent??\"flex-start\",alignItems:layout.alignItems??\"flex-start\",gap:layout.gap??4};}function cloneFullWidthChildren(node){return Children.map(node,child=>{if(/*#__PURE__*/isValidElement(child)){return /*#__PURE__*/cloneElement(child,{style:{...child.props.style,width:\"100%\"}});}return child;});}// ------------------------------------------------------------ //\n// COMPONENT\n// ------------------------------------------------------------ //\nexport function LayerWrapper({layerStyles={},topBottomContent,children}){const layout=layerStyles.layout??defaultLayerLayout;const clonedTopContent=cloneFullWidthChildren(topBottomContent?.[0]);const clonedBottomContent=cloneFullWidthChildren(topBottomContent?.[1]);return /*#__PURE__*/_jsxs(\"div\",{style:{...getLayerLayoutStyle(layout),backgroundColor:layerStyles.backgroundColor,border:typeof layerStyles.border===\"string\"?layerStyles.border:undefined,...typeof layerStyles.border===\"object\"?layerStyles.border:{},borderRadius:layerStyles.radius,padding:layerStyles.padding,margin:layerStyles.margin,boxShadow:layerStyles.shadow},children:[clonedTopContent,children,clonedBottomContent]});}// ------------------------------------------------------------ //\n// PROPERTY CONTROLS\n// ------------------------------------------------------------ //\nexport const LAYER_WRAPPER_PROPERTY_CONTROLS={layerStyles:{type:ControlType.Object,title:\"Layer Style\",buttonTitle:\"Layout, Colors, Border, etc.\",controls:{layout:{type:ControlType.Object,title:\"📐 Layout\",buttonTitle:\"Flex, Grid, Gap, etc.\",controls:{display:{type:ControlType.Enum,title:\"Display\",options:[\"flex\",\"grid\"],optionTitles:[\"Flex\",\"Grid\"],defaultValue:\"flex\",displaySegmentedControl:true},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:16,min:0,max:100,step:1,unit:\"px\",displayStepper:true,hidden:props=>props.display!==\"flex\"},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"row\",\"column\"],optionTitles:[\"Row\",\"Column\"],defaultValue:\"column\",displaySegmentedControl:true,hidden:props=>props.display!==\"flex\"},wrap:{type:ControlType.Boolean,title:\"Wrap\",defaultValue:true,hidden:props=>props.display!==\"flex\"},justifyContent:{type:ControlType.Enum,title:\"Justify\",options:[\"flex-start\",\"flex-end\",\"center\",\"space-between\",\"space-around\",\"space-evenly\"],optionTitles:[\"Start\",\"End\",\"Center\",\"Space Between\",\"Space Around\",\"Space Evenly\"],defaultValue:\"flex-start\",hidden:props=>props.display!==\"flex\"},alignItems:{type:ControlType.Enum,title:\"Align\",options:[\"flex-start\",\"flex-end\",\"center\",\"stretch\",\"baseline\"],optionTitles:[\"Start\",\"End\",\"Center\",\"Stretch\",\"Baseline\"],defaultValue:\"flex-start\",hidden:props=>props.display!==\"flex\"},columns:{type:ControlType.Number,title:\"Columns\",defaultValue:3,min:1,max:12,step:1,hidden:props=>props.display!==\"grid\",displayStepper:true},rowGap:{type:ControlType.Number,title:\"Row Gap\",defaultValue:4,min:0,max:100,step:1,unit:\"px\",displayStepper:true,hidden:props=>props.display!==\"grid\"},columnGap:{type:ControlType.Number,title:\"Column Gap\",defaultValue:4,min:0,max:100,step:1,unit:\"px\",displayStepper:true,hidden:props=>props.display!==\"grid\"},justifyItems:{type:ControlType.Enum,title:\"Justify Items\",options:[\"start\",\"end\",\"center\",\"stretch\",\"baseline\"],optionTitles:[\"Start\",\"End\",\"Center\",\"Stretch\",\"Baseline\"],defaultValue:\"stretch\",hidden:props=>props.display!==\"grid\"},gridAlignItems:{type:ControlType.Enum,title:\"Align Items\",options:[\"start\",\"end\",\"center\",\"stretch\",\"baseline\"],optionTitles:[\"Start\",\"End\",\"Center\",\"Stretch\",\"Baseline\"],defaultValue:\"stretch\",hidden:props=>props.display!==\"grid\"}},defaultValue:{display:\"flex\",gap:16,direction:\"column\",wrap:true,justifyContent:\"flex-start\",alignItems:\"flex-start\",columns:3,rowGap:4,columnGap:4,justifyItems:\"stretch\",gridAlignItems:\"stretch\"}},backgroundColor:{type:ControlType.Color,title:\"Background Color\",optional:true},shadow:{// @ts-expect-error - BoxShadow is not a valid control type in this Framer npm version\ntype:ControlType.BoxShadow,title:\"Shadow\",optional:true},border:{// @ts-expect-error - Border is not a valid control type in this Framer npm version\ntype:ControlType.Border,title:\"Border\",optional:true},radius:{// @ts-expect-error - BorderRadius is not a valid control type in this Framer npm version\ntype:ControlType.BorderRadius,title:\"Radius\"},padding:{// @ts-expect-error - Padding is not a valid control type in this Framer npm version\ntype:ControlType.Padding,title:\"Padding\"},margin:{// @ts-expect-error - Padding is not a valid control type in this Framer npm version\ntype:ControlType.Padding,title:\"Margin\",optional:true,description:MARGIN_DESCRIPTION}}},topBottomContent:{type:ControlType.Array,title:\"Top & Bottom Content\",control:{type:ControlType.ComponentInstance},maxCount:2}};\nexport const __FramerMetadata__ = {\"exports\":{\"LayerLayoutConfig\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"LayerWrapperProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getLayerLayoutStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"LayerWrapper\":{\"type\":\"reactComponent\",\"name\":\"LayerWrapper\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultLayerLayout\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"LayerStylesProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"LAYER_WRAPPER_PROPERTY_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Shared_layer_wrapper.map"],"mappings":"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"}