{"version":3,"file":"SectionFeatureCardImageStack.BrhvbGA2.mjs","names":["useMemo","useCallback","_Fragment","useRef","useMemo","useId","useState","useRef","useRef","useId","useState","React.useMemo","React.useCallback","useMemo","stackTopMargin"],"sources":["https:/framerusercontent.com/modules/j3TVgW5llQakiMrYRvW0/av33DQSlyg7x2rEkQgpQ/Tab.js","https:/framerusercontent.com/modules/Wgq6KOAh63wsfhwspJFq/xoty6hVVIe7ZSZhwrpOX/TabsGroup.js","https:/framerusercontent.com/modules/yBBYnuyRsa8SwEozWRDp/Ck8tGu4jq8GhMssnJS26/CardFeatureSplit.js","https:/framerusercontent.com/modules/Khf7wgSDZ3rltzJPhrHA/1jqInPa7zuwwQaJQk4zT/SectionFeatureCardImageStack.js"],"sourcesContent":["/**\n * Tab - Tab item component.\n *\n * Individual tab item component with active/inactive states (background variant),\n * and support for both URL navigation and content switching.\n *\n * @framerIntrinsicWidth 120\n * @framerIntrinsicHeight 48\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */// 1. React and React types\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{forwardRef,useCallback,useMemo}from\"react\";/**\n * Stable, page-wide `@keyframes` name for the auto-advance progress fill.\n *\n * The animation is identical for every Tab instance (`width: 0% → 100%` linear),\n * so a single global name is safe. Earlier we generated a per-instance name from\n * `useId()`, which produced different ids for each Framer breakpoint variant on\n * the server (`R75b7aamaop`, `R75bbaamaop`, …) but only one id on the client\n * (`rff`). The mismatched `<style>` text caused React #418/#422 hydration errors.\n * Using a stable name makes SSR and hydrated HTML byte-identical.\n */const TAB_PROGRESS_KEYFRAMES_NAME=\"bunqTabTimedFill\";const TAB_PROGRESS_KEYFRAMES_RULE=`@keyframes ${TAB_PROGRESS_KEYFRAMES_NAME} { from { width: 0%; } to { width: 100%; } }`;// 2. Framer Motion (tab surface only; timed fill uses CSS like NavDots)\nimport{motion}from\"framer-motion\";// 3. Framer API\nimport{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{FRAMER_BREAKPOINT_DESCRIPTION,FRAMER_ON_CLICK_DESCRIPTION,FRAMER_THEME_DESCRIPTION_SURFACE_WITH_CHILDREN}from\"https://framerusercontent.com/modules/TvAAtdjNtwUg3Y1lriXj/Wh3HNug8gnAeRVrciJOW/propertyControlCopy.js\";// 4. Design system\nimport Tokens,{useReducedMotion,FONT_FAMILY_PRIMARY_STACK}from\"https://framerusercontent.com/modules/HjvhO8Re4WnlZSTpJli8/jbCIdsxnmVrJOsDqxSxp/index.js\";// 5. Local\nimport{useInteractiveStates}from\"https://framerusercontent.com/modules/U2JBkUXibY2YYWsHMAJo/3tlMH4hg7ehgZ4TLC0Va/useInteractiveStates.js\";import{processSVG}from\"https://framerusercontent.com/modules/keR2epPkn1MdvCLnDSBc/z4ga9Xl53MGZI0XlY2dd/svg.js\";import{getLinkUrl,useSmartLinkProps}from\"https://framerusercontent.com/modules/kNZJPvkIJZGGj8KxF53M/EVxL25LJacDR3InTjCol/linkHelpers.js\";import{getLiquidGlassFinish,LIQUID_GLASS_FILL_ALPHA,liquidGlassLegacyHighlightToVariant,toAccentGradient,withAlpha}from\"https://framerusercontent.com/modules/jkm3kn6MUCcPAZ8Vhc78/hXm1p6FV8ESByKH2k6R3/colorEffects.js\";/**\n * Tab `color` values that map to an accent fill (vs. the neutral\n * white/black tokens). Active tabs in this set get the Badge-style\n * top-darker → accent gradient; everything else stays flat so neutral\n * fills don't get an unintended-looking gradient.\n */const COLORED_TAB_COLORS=[\"yellow\",\"deep-yellow\",\"orange\",\"red\",\"hot-pink\",\"fuchsia\",\"purple\",\"deep-purple\",\"indigo\",\"deep-blue\",\"blue\",\"light-blue\",\"cyan\",\"turquoise\",\"green\",\"deep-green\"];const DEFAULT_ICON_SVG=`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 7.09091C9.28878 7.09091 7.09091 9.28878 7.09091 12C7.09091 14.7112 9.28878 16.9091 12 16.9091C14.7112 16.9091 16.9091 14.7112 16.9091 12C16.9091 9.28878 14.7112 7.09091 12 7.09091ZM6 12C6 8.68629 8.68629 6 12 6C15.3137 6 18 8.68629 18 12C18 15.3137 15.3137 18 12 18C8.68629 18 6 15.3137 6 12Z\" fill=\"currentColor\"/></svg>`;const TabInternal=/*#__PURE__*/forwardRef(function TabInternal(props,ref){const{breakpoint=\"desktop\",label=\"Tab\",active=false,disabled=false,theme=\"default\",surface=\"liquid-glass\",color=\"white\",customIcon,link,openInNewTab=false,onClick,ariaControls,ariaLabel=\"Tab tab\",autoAdvanceMs,useTabRole=false,showIcon=true,style,...rest}=props;const isLiquidGlass=surface===\"liquid-glass\";const{isHovered,isFocused,isPressed,handlers}=useInteractiveStates(disabled);const isStaticRenderer=useIsStaticRenderer();const typography=Tokens.getTypographyStyles(\"/Button LG\",breakpoint);const fontSize=typography?.fontSize;const dimensions=useMemo(()=>({height:Tokens.getSpacing(48),paddingX:Tokens.getResponsiveSpacing(24,breakpoint),gap:Tokens.getResponsiveSpacing(8,breakpoint),iconSize:20,// Chip-family: always pill radius per design system exception.\n    borderRadius:Tokens.getRadius(\"radius-full\"),fontSize}),[fontSize,breakpoint]);const isInverted=theme===\"inverted\";const getAccentBackground=useCallback(()=>{const bgPath=`/Backgrounds/bg-${color}`;return Tokens.getColorValue(bgPath);},[color]);const getColors=()=>{const textPrimary=isInverted?Tokens.getColorValue(\"/Text/text-inverted-primary\"):Tokens.getColorValue(\"/Text/text-primary\");const textSecondary=isInverted?Tokens.getColorValue(\"/Text/text-inverted-secondary\"):Tokens.getColorValue(\"/Text/text-secondary\");const iconPrimary=isInverted?Tokens.getColorValue(\"/Foregrounds/fg-inverted-primary\"):Tokens.getColorValue(\"/Foregrounds/fg-primary\");const iconSecondary=isInverted?Tokens.getColorValue(\"/Foregrounds/fg-inverted-secondary\"):Tokens.getColorValue(\"/Foregrounds/fg-secondary\");const bgTertiary=isInverted?Tokens.getColorValue(\"/Backgrounds/bg-inverted-tertiary\"):Tokens.getColorValue(\"/Backgrounds/bg-tertiary\");const bgSecondary=isInverted?Tokens.getColorValue(\"/Backgrounds/bg-inverted-secondary\"):Tokens.getColorValue(\"/Backgrounds/bg-secondary\");if(active){if(COLORED_TAB_COLORS.includes(color)){return{text:textPrimary,icon:iconPrimary,background:getAccentBackground(),border:\"transparent\"};}return{text:textPrimary,icon:iconPrimary,background:bgTertiary,border:\"transparent\"};}return{text:textSecondary,icon:iconSecondary,background:bgSecondary,border:\"transparent\"};};const colors=getColors();const reducedMotion=useReducedMotion();// Liquid-glass treatment matches the `Badge` atom's CSS-only approach:\n// a translucent tint on top of `backdrop-filter`, plus inset highlights\n// and a hairline border for the lit-from-above reflection. We avoid the\n// heavier `LiquidGlassSurface` SVG primitive here because at tab size\n// (~48 px tall) a CSS finish reads crisper and keeps the accent color\n// dominant on the active tab.\n//\n// Active tabs share Badge's liquid-glass fill alpha (`LIQUID_GLASS_FILL_ALPHA`).\n// Inactive tabs use the same alpha\n// on the neutral `bgSecondary` fill so every tab in the strip reads as\n// a glass pill, with active vs inactive differentiated by color rather\n// than by surface treatment.\nconst tintedBackground=useMemo(()=>isLiquidGlass?withAlpha(colors.background,LIQUID_GLASS_FILL_ALPHA):colors.background,[isLiquidGlass,colors.background]);// A subtle top-darker → accent gradient is applied to active tabs that\n// use a colored swatch (matches the Badge atom's accent-gradient finish\n// — same direction, same lightness drop as Badge). Neutral fills (inactive tabs and\n// active tabs on white/black) stay flat: the gradient there would just\n// look like a smudge on a translucent wash.\nconst isAccentActive=active&&COLORED_TAB_COLORS.includes(color);const finalBackground=useMemo(()=>isAccentActive?toAccentGradient(tintedBackground):tintedBackground,[isAccentActive,tintedBackground]);// Highlight tone follows the theme (legacy: \"light\" → dark glass variant).\nconst isLightHighlight=!isInverted;const liquidGlassFinish=useMemo(()=>{if(!isLiquidGlass)return null;const neutralVariant=liquidGlassLegacyHighlightToVariant(isLightHighlight?\"light\":\"dark\");const variant=active&&isAccentActive?\"colored\":neutralVariant;const accentHint=variant===\"colored\"?getAccentBackground():undefined;// Match Badge colored glass: `selected: true` stacks\n// getLiquidGlassColoredButtonSelectionOverlay() (~70% white), which\n// washes accent RGB to flat light gray. Active state is already shown\n// via variant \"colored\" + accent tint, not that overlay.\nreturn getLiquidGlassFinish({variant,surface:\"button\",selected:false,accentColor:accentHint,baseFill:variant===\"colored\"?finalBackground:undefined});},[isLiquidGlass,isLightHighlight,active,isAccentActive,getAccentBackground,finalBackground]);const getIconSVG=()=>{if(!showIcon){return\"\";}if(customIcon&&customIcon.trim()&&customIcon.includes(\"<svg\")){return processSVG(customIcon.trim(),dimensions.iconSize,colors.icon);}else{return processSVG(DEFAULT_ICON_SVG,dimensions.iconSize,colors.icon);}};const handleClick=e=>{if(disabled){e.preventDefault();e.stopPropagation();return;}onClick?.(e);};// SmartLink wires this anchor into Framer's SPA router so internal links\n// navigate without reloading the preview iframe. `handleClick` runs first\n// as the user handler — when it calls `e.preventDefault()` (disabled\n// state), the hook bails on `e.defaultPrevented` and skips navigation.\nconst smartLink=useSmartLinkProps(link,openInNewTab,{onClick:handleClick});const linkUrl=smartLink.href;// Tab button/anchor style (merges base layout with dynamic values).\n// `overflow: hidden` clips the auto-advance progress overlay (and any\n// future inset visual layers) to the tab's pill radius.\nconst tabStyle={display:\"flex\",flexDirection:\"row\",alignItems:\"center\",justifyContent:\"center\",position:\"relative\",overflow:\"hidden\",border:\"none\",borderBottom:\"none\",outline:\"none\",userSelect:\"none\",fontFamily:`var(--cc-font-primary, ${FONT_FAMILY_PRIMARY_STACK})`,borderRadius:Tokens.getRadius(\"radius-full\"),transition:reducedMotion?\"none\":`${Tokens.getTransition(\"background\",\"quick\")}, ${Tokens.getTransition(\"color\",\"quick\")}, ${Tokens.getTransition(\"filter\",\"quick\")}, ${Tokens.getTransition(\"border\",\"quick\")}`,height:dimensions.height,minHeight:Tokens.getSpacing(48),padding:`0 ${dimensions.paddingX}`,gap:dimensions.gap,fontSize:dimensions.fontSize,fontWeight:typography?.fontWeight,background:finalBackground,color:colors.text,filter:Tokens.getBrightnessFilter(disabled,isHovered,isPressed),cursor:disabled?\"not-allowed\":\"pointer\",boxSizing:\"border-box\",// Tinted-glass finishing layer (backdrop-filter + inset highlights +\n// hairline border). Spread before `style` so editor overrides win.\n...liquidGlassFinish??null,...style};// Focus ring: fade in/out via opacity rather than `display: none` so the\n// ring eases on focus (matches the focus-ring fade in `useInteractive\n// States`-driven atoms). Reduced-motion users get the instant swap.\nconst focusRingStyle={position:\"absolute\",inset:`-${Tokens.getSpacing(2)}`,borderRadius:`calc(${Tokens.getRadius(\"radius-full\")} + ${Tokens.getSpacing(2)})`,border:`${Tokens.getFocusOutlineWidth()} solid ${Tokens.getColorValue(\"/Borders/border-brand-bunq\")}`,pointerEvents:\"none\",opacity:isFocused?1:0,transition:reducedMotion?\"none\":Tokens.getTransition(\"opacity\",\"quick\")};const iconStyle={display:\"flex\",alignItems:\"center\",height:`${dimensions.iconSize}px`,width:`${dimensions.iconSize}px`};const labelStyle={fontWeight:typography?.fontWeight,fontSize:dimensions.fontSize,color:colors.text,minWidth:0,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"};const containerStyle={position:\"relative\",display:\"inline-flex\"};const iconSVG=getIconSVG();const displayLabel=label.trim();// Use a single page-wide keyframes name (see TAB_PROGRESS_KEYFRAMES_NAME above).\n// Per-instance names from `useId()` mismatched between SSR (multiple breakpoint\n// variants → many ids) and client (one variant → one id), causing React #418.\nconst tabProgressKeyframesName=TAB_PROGRESS_KEYFRAMES_NAME;// Auto-advance progress: NavDots-style CSS `width` animation inside a\n// full-width overflow mask (percent widths resolve vs the mask, not flex text).\n// Framer-motion width/scaleX on children of motion.button was unreliable here.\nconst showAutoAdvanceProgress=active&&typeof autoAdvanceMs===\"number\"&&autoAdvanceMs>0&&!reducedMotion&&!isStaticRenderer;// Accent tabs: tint the timed sweep with the same swatch as the pill.\n// Neutral tabs: foreground-primary stays legible on tertiary glass.\nconst progressOverlayColor=useMemo(()=>{if(isAccentActive){return withAlpha(getAccentBackground(),isInverted?.42:.52);}const progressFillBase=Tokens.getColorValue(\"/Foregrounds/fg-primary\");return withAlpha(progressFillBase,isInverted?.38:.5);},[isAccentActive,getAccentBackground,isInverted]);const progressMaskStyle={position:\"absolute\",inset:0,borderRadius:Tokens.getRadius(\"radius-full\"),overflow:\"hidden\",pointerEvents:\"none\",zIndex:Tokens.getZIndex(\"base\")};const progressFillBarStyle={display:\"block\",height:\"100%\",width:\"0%\",margin:0,padding:0,border:\"none\",backgroundColor:progressOverlayColor,animation:`${tabProgressKeyframesName} ${autoAdvanceMs}ms linear forwards`};// Wrap icon/label so they share a single relatively-positioned layer that\n// paints above the absolute progress overlay regardless of z-index nuances.\nconst contentLayerStyle={position:\"relative\",zIndex:Tokens.getZIndex(\"raised\"),display:\"inline-flex\",flexDirection:\"row\",alignItems:\"center\",gap:dimensions.gap,minWidth:0,maxWidth:\"100%\"};const tabContent=/*#__PURE__*/_jsxs(_Fragment,{children:[showAutoAdvanceProgress&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:TAB_PROGRESS_KEYFRAMES_RULE}}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:progressMaskStyle,children:/*#__PURE__*/_jsx(\"span\",{style:progressFillBarStyle})})]}),/*#__PURE__*/_jsxs(\"span\",{style:contentLayerStyle,children:[iconSVG?/*#__PURE__*/_jsx(\"span\",{style:iconStyle,\"aria-hidden\":\"true\",dangerouslySetInnerHTML:{__html:iconSVG}}):null,displayLabel?/*#__PURE__*/_jsx(\"span\",{style:labelStyle,children:displayLabel}):null]})]});const computedAriaLabel=ariaLabel.trim()||(displayLabel?`${displayLabel} tab`:\"Tab\");const applyTabRole=useTabRole&&!linkUrl;const commonProps={...applyTabRole?{\"role\":\"tab\",\"aria-selected\":active,\"tabIndex\":disabled?-1:active?0:-1,\"aria-controls\":ariaControls||undefined}:{\"aria-controls\":ariaControls||undefined,\"tabIndex\":disabled?-1:0},\"aria-label\":computedAriaLabel,\"aria-disabled\":disabled,\"onMouseEnter\":handlers.onMouseEnter,\"onMouseLeave\":handlers.onMouseLeave,\"onMouseDown\":handlers.onMouseDown,\"onMouseUp\":handlers.onMouseUp,\"onFocus\":handlers.onFocus,\"onBlur\":handlers.onBlur,\"onClick\":handleClick,...rest};return /*#__PURE__*/_jsxs(\"div\",{style:containerStyle,children:[/*#__PURE__*/_jsx(\"div\",{style:focusRingStyle,\"aria-hidden\":\"true\"}),linkUrl?isStaticRenderer?/*#__PURE__*/_jsx(\"a\",{ref:ref,href:smartLink.href,target:smartLink.target,rel:smartLink.rel,style:{...smartLink.style,...tabStyle},...commonProps,onClick:smartLink.onClick,children:tabContent}):/*#__PURE__*/_jsx(motion.a,{ref:ref,href:smartLink.href,target:smartLink.target,rel:smartLink.rel,style:{...smartLink.style,...tabStyle},whileTap:undefined,...commonProps,onClick:smartLink.onClick,children:tabContent}):isStaticRenderer?/*#__PURE__*/_jsx(\"button\",{ref:ref,type:\"button\",style:tabStyle,...commonProps,children:tabContent}):/*#__PURE__*/_jsx(motion.button,{ref:ref,type:\"button\",style:tabStyle,whileTap:undefined,...commonProps,children:tabContent})]});});TabInternal.displayName=\"Tab Internal - Atom\";/** Plain function default export — required for Framer code-link registration (see `Button.tsx`). */export default function Tab(props){const{ref,...rest}=props;return /*#__PURE__*/_jsx(TabInternal,{...rest,ref:ref});}Tab.displayName=\"Tab - Atom\";addPropertyControls(Tab,{// ─── 1. Content ────────────────────────────────────────────────────────────\nlabel:{type:ControlType.String,title:\"Label\",defaultValue:\"Tab\",placeholder:\"Enter tab label...\",description:\"Type the short label on the tab—keep it brief; pair with ARIA Controls when you switch panels from code.\"},ariaLabel:{type:ControlType.String,title:\"ARIA Label\",defaultValue:\"Tab tab\",placeholder:\"e.g. Pricing tab\",description:\"Accessible name for the tab—defaults to “Label tab”; override when the spoken name should differ.\"},// ─── 2. Links ──────────────────────────────────────────────────────────────\nlink:{type:ControlType.Link,title:\"Link\",defaultValue:\"\",description:\"Add a URL to navigate when the tab is activated; leave empty when you only switch content with interactions.\"},openInNewTab:{type:ControlType.Boolean,title:\"Open in New Tab\",defaultValue:false,enabledTitle:\"New Tab\",disabledTitle:\"Same Tab\",description:\"Open link in a new browser tab.\",hidden:props=>!getLinkUrl(props.link)},// ─── 4. Icons ──────────────────────────────────────────────────────────────\ncustomIcon:{type:ControlType.String,title:\"Icon\",defaultValue:\"\",placeholder:\"Paste SVG code...\",description:\"Paste `<svg>...</svg>` when you need a glyph outside the default icon set; leave empty to show label only.\"},// ─── 6. Configuration ──────────────────────────────────────────────────────\ncolor:{type:ControlType.Enum,title:\"Color\",options:[\"white\",\"black\",\"yellow\",\"deep-yellow\",\"orange\",\"red\",\"hot-pink\",\"fuchsia\",\"purple\",\"deep-purple\",\"indigo\",\"deep-blue\",\"blue\",\"light-blue\",\"cyan\",\"turquoise\",\"green\",\"deep-green\"],optionTitles:[\"White\",\"Black\",\"Yellow\",\"Deep Yellow\",\"Orange\",\"Red\",\"Hot Pink\",\"Fuchsia\",\"Purple\",\"Deep Purple\",\"Indigo\",\"Deep Blue\",\"Blue\",\"Light Blue\",\"Cyan\",\"Turquoise\",\"Green\",\"Deep Green\"],defaultValue:\"white\",description:\"Accent/background color from the palette (used when active on colored tabs).\"},surface:{type:ControlType.Enum,title:\"Surface\",options:[\"solid\",\"liquid-glass\"],optionTitles:[\"Solid\",\"Liquid Glass\"],defaultValue:\"liquid-glass\",displaySegmentedControl:true,description:\"Tab background treatment — solid token fill vs translucent glass (backdrop blur + highlights), matching Badge liquid-glass.\"},active:{type:ControlType.Boolean,title:\"Active\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\",description:\"Turn on for the selected tab—use it to preview the active style or bind to your tab group state.\"},disabled:{type:ControlType.Boolean,title:\"Disabled\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\",description:\"Disable user interaction with the tab.\"},// ─── 7. Behavior ───────────────────────────────────────────────────────────\nonClick:{type:ControlType.EventHandler,title:\"On Click\",description:FRAMER_ON_CLICK_DESCRIPTION},autoAdvanceMs:{type:ControlType.Number,title:\"Auto Advance Duration\",min:0,step:100,displayStepper:true,defaultValue:0,description:\"When active, width-fills a progress overlay over this duration (ms). Use 0 to disable; suppressed when reduced motion is preferred.\"},useTabRole:{type:ControlType.Boolean,title:\"Tab Role\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\",description:\"Use tab semantics when this atom sits in a tab strip; turn off for standalone preview links.\"},ariaControls:{type:ControlType.String,title:\"ARIA Controls\",defaultValue:\"\",placeholder:\"Enter panel ID...\",description:\"ID of the tab panel controlled by this tab.\"},// ─── 9. Advanced ───────────────────────────────────────────────────────────\nid:{type:ControlType.String,title:\"Link ID\",defaultValue:\"tab\",placeholder:\"e.g. nav-cta-primary\",description:\"Unique ID for Contentsquare analytics (lowercase, hyphen-separated).\"},// ─── 10. System ────────────────────────────────────────────────────────────\nbreakpoint:{type:ControlType.Enum,title:\"Breakpoint\",options:[\"desktop\",\"tablet\",\"phone\"],optionTitles:[\"Desktop\",\"Tablet\",\"Phone\"],displaySegmentedControl:false,defaultValue:\"desktop\",description:FRAMER_BREAKPOINT_DESCRIPTION},theme:{type:ControlType.Enum,title:\"Theme\",options:[\"default\",\"inverted\"],optionTitles:[\"Default\",\"Inverted\"],displaySegmentedControl:true,defaultValue:\"default\",description:FRAMER_THEME_DESCRIPTION_SURFACE_WITH_CHILDREN}});\nexport const __FramerMetadata__ = {\"exports\":{\"TabColor\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TabSurface\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Tab\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"TabProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/**\n * TabsGroup - Tabs navigation group component.\n *\n * Composes multiple Tab atoms into a tab navigation component with active state management.\n * Supports both URL navigation and content switching, with keyboard navigation and accessibility.\n *\n * @framerIntrinsicWidth 600.\n * @framerIntrinsicHeight 48.\n * @framerSupportedLayoutWidth any-prefer-fixed.\n * @framerSupportedLayoutHeight any-prefer-fixed.\n */// 1. React and React types\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useRef,useState,useMemo,useEffect,useId}from\"react\";// 2. Framer Motion (not applicable for TabsGroup)\n// 3. Framer API\nimport{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{getGap}from\"https://framerusercontent.com/modules/mehW3ipt7NwJNkWUjO0g/TatoE2nXREsJFApGHAt7/layoutStyles.js\";import{getLinkUrl}from\"https://framerusercontent.com/modules/kNZJPvkIJZGGj8KxF53M/EVxL25LJacDR3InTjCol/linkHelpers.js\";import{pickSafeDivProps,domIdFromUseId}from\"https://framerusercontent.com/modules/kDtm9rjjhstSjEsKiU59/FntwkS18vtdaa5Vgz0fk/domProps.js\";import{normalizeElementId,resolveIndexedElementId}from\"https://framerusercontent.com/modules/V8DZ1j6fmzxP1pB8h5BJ/sPSFCEug6lYXxMvPVu5Z/resolveElementId.js\";// 5. Hooks (not applicable for TabsGroup)\n// 6. Local utilities (not applicable for TabsGroup)\n// 7. Component imports\nimport Tab from\"https://framerusercontent.com/modules/j3TVgW5llQakiMrYRvW0/av33DQSlyg7x2rEkQgpQ/Tab.js\";/**\n * When neither `accentColor` nor `accentColors` is set, the active tab uses\n * this rotating palette so liquid-glass tabs show brand accents on canvas\n * (aligned with SectionFeatureImageTabs / SectionFeatureCardImageStack).\n */const DEFAULT_TAB_ACCENTS=[\"green\",\"blue\",\"orange\",\"purple\",\"turquoise\",\"fuchsia\"];/**\n * Default SVG icons per tab slot when no custom icon is set.\n * Each tab gets a unique icon (person, briefcase, people, flight, leaf, face) so tabs are visually distinct.\n * Uses fill=\"black\" so Tab's processSVG can apply theme color.\n */const DEFAULT_TAB_ICONS=[`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\" fill=\"black\"/></svg>`,`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z\" fill=\"black\"/></svg>`,`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z\" fill=\"black\"/></svg>`,`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M21 16v-2l-8-5V3.5c0-.83-.67-1.5-1.5-1.5S10 2.67 10 3.5V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5l8 2.5z\" fill=\"black\"/></svg>`,`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75C7 8 17 8 17 8z\" fill=\"black\"/></svg>`,`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-5-9c.83 0 1.5-.67 1.5-1.5S7.83 8 7 8s-1.5.67-1.5 1.5S6.17 11 7 11zm10 0c.83 0 1.5-.67 1.5-1.5S17.83 8 17 8s-1.5.67-1.5 1.5.67 1.5 1.5 1.5zm-5 6c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z\" fill=\"black\"/></svg>`];/** Path data of Tab atom's default circle icon (hollow ring). If customIcon is this, use unique default instead. */const TAB_DEFAULT_CIRCLE_PATH=\"M12 7.09091C9.28878 7.09091 7.09091 9.28878 7.09091 12C7.09091 14.7112 9.28878 16.9091 12 16.9091C14.7112 16.9091 16.9091 14.7112 16.9091 12C16.9091 9.28878 14.7112 7.09091 12 7.09091ZM6 12C6 8.68629 8.68629 6 12 6C15.3137 6 18 8.68629 18 12C18 15.3137 15.3137 18 12 18C8.68629 18 6 15.3137 6 12Z\";const TAB_DEFAULT_CIRCLE_PATH_NORMALIZED=TAB_DEFAULT_CIRCLE_PATH.replace(/\\s+/g,\"\");function isTabDefaultCircleIcon(svg){if(!svg||!svg.trim()||!svg.includes(\"<svg\"))return true;const normalized=svg.replace(/\\s+/g,\"\");return normalized.includes(TAB_DEFAULT_CIRCLE_PATH_NORMALIZED);}/**\n * TabsInternal - Internal forwardRef component.\n *\n * This is the actual component implementation. Using forwardRef allows.\n * Proper ref forwarding for integration with Framer and parent components.\n */const TabsGroupInternal=/*#__PURE__*/forwardRef(function TabsInternal(props,ref){const{numTabs=3,defaultActiveTab=1,activeTab:activeTabProp,/**\n         * Tab1 label.\n         */tab1Label:_tab1Label=\"Tab 1\",tab1Link:_tab1Link=\"\",tab1CustomIcon:_tab1CustomIcon=\"\",tab1IconType:_tab1IconType=\"icon-none\",tab1Id:_tab1Id,tab2Label:_tab2Label=\"Tab 2\",tab2Link:_tab2Link=\"\",tab2CustomIcon:_tab2CustomIcon=\"\",tab2IconType:_tab2IconType=\"icon-none\",tab2Id:_tab2Id,tab3Label:_tab3Label=\"Tab 3\",tab3Link:_tab3Link=\"\",tab3CustomIcon:_tab3CustomIcon=\"\",tab3IconType:_tab3IconType=\"icon-none\",tab3Id:_tab3Id,tab4Label:_tab4Label=\"Tab 4\",tab4Link:_tab4Link=\"\",tab4CustomIcon:_tab4CustomIcon=\"\",tab4IconType:_tab4IconType=\"icon-none\",tab4Id:_tab4Id,tab5Label:_tab5Label=\"Tab 5\",tab5Link:_tab5Link=\"\",tab5CustomIcon:_tab5CustomIcon=\"\",tab5IconType:_tab5IconType=\"icon-none\",tab5Id:_tab5Id,tab6Label:_tab6Label=\"Tab 6\",tab6Link:_tab6Link=\"\",tab6CustomIcon:_tab6CustomIcon=\"\",tab6IconType:_tab6IconType=\"icon-none\",tab6Id:_tab6Id,theme=\"default\",surface=\"liquid-glass\",accentColor,accentColors,autoAdvanceMs,style,onChange,ariaLabel=\"Tabs navigation\",numPanelIds,panelId1,panelId2,panelId3,panelId4,panelId5,panelId6,ariaLabelledBy,breakpoint=\"desktop\",...rest}=props;const safeDomProps=useMemo(()=>pickSafeDivProps(rest),[rest]);const reactInstanceId=useId();const instanceId=normalizeElementId(safeDomProps.id)??domIdFromUseId(reactInstanceId,\"tabs-group\");const isStatic=useIsStaticRenderer();// Defensive clamp: the Framer property control declares min=2/max=6 but a\n// raw `props.numTabs` from CMS or programmatic consumers can still be out\n// of range (or non-finite). Clamp to 2-6 so the render loop, panel-id\n// arrays and `defaultActiveTab` math all stay within bounds.\nconst numTabsClamped=Math.max(2,Math.min(6,Number.isFinite(numTabs)?Math.floor(numTabs):3));const isControlled=typeof activeTabProp===\"number\"&&Number.isFinite(activeTabProp);const controlledIndex=isControlled?Math.max(0,Math.min(Math.floor(activeTabProp)-1,numTabsClamped-1)):0;const[uncontrolledIndex,setUncontrolledIndex]=useState(()=>Math.max(0,Math.min(defaultActiveTab-1,numTabsClamped-1)));const activeIndex=isControlled?controlledIndex:uncontrolledIndex;const containerRef=useRef(null);// Update active index when defaultActiveTab changes (uncontrolled only).\nuseEffect(()=>{if(isControlled)return;const newIndex=Math.max(0,Math.min(defaultActiveTab-1,numTabsClamped-1));setUncontrolledIndex(newIndex);},[defaultActiveTab,numTabsClamped,isControlled]);// Build tabs array from props.\nconst tabs=useMemo(()=>{const arr=[];for(let i=1;i<=numTabsClamped;i++){arr.push({/**\n                 * Label.\n                 */label:props[`tab${i}Label`]||`Tab ${i}`,/**\n                 * Link.\n                 */link:props[`tab${i}Link`]||undefined,/**\n                 * Custom icon.\n                 */customIcon:props[`tab${i}CustomIcon`]||undefined,/**\n                 * Icon type.\n                 */iconType:props[`tab${i}IconType`]||\"icon-none\",id:resolveIndexedElementId(props[`tab${i}Id`],instanceId,i-1,\"tab\")});}return arr;},[numTabsClamped,props,instanceId]);// Handle tab click.\nconst handleTabClick=index=>_e=>{if(isStatic){return;}else{if(!isControlled)setUncontrolledIndex(index);if(onChange){// Public API is 1-based (Tab 1, Tab 2, ...). Tests and Framer property controls expect this.\n    onChange(index+1);}// If tab has a link, navigation will happen automatically via the <a> tag.\n    // If no link, the onClick handler can be used for content switching.\n    }};// Keyboard navigation.\nconst handleKeyDown=e=>{if(isStatic){return;}else{let newIndex=activeIndex;switch(e.key){case\"ArrowLeft\":e.preventDefault();newIndex=activeIndex>0?activeIndex-1:tabs.length-1;break;case\"ArrowRight\":e.preventDefault();newIndex=activeIndex<tabs.length-1?activeIndex+1:0;break;case\"Home\":e.preventDefault();newIndex=0;break;case\"End\":e.preventDefault();newIndex=tabs.length-1;break;/**\n                 * Default.\n                 */default:return;}if(!isControlled)setUncontrolledIndex(newIndex);if(onChange){// Public API is 1-based (Tab 1, Tab 2, ...). Tests and Framer property controls expect this.\nonChange(newIndex+1);}// Focus the newly active tab.\nsetTimeout(()=>{if(containerRef.current){const tabElements=containerRef.current.querySelectorAll('[role=\"tab\"]');const targetTab=tabElements[newIndex];if(targetTab){targetTab.focus();}}},0);}};const containerStyle={display:\"flex\",flexDirection:\"row\",flexWrap:\"wrap\",justifyContent:\"center\",gap:getGap(\"sm\",breakpoint),width:\"100%\",minWidth:0,...style};return /*#__PURE__*/_jsx(\"div\",{ref:node=>{if(typeof ref===\"function\"){ref(node);}else if(ref){ref.current=node;}containerRef.current=node;},role:\"tablist\",\"aria-label\":ariaLabelledBy?undefined:ariaLabel,\"aria-labelledby\":ariaLabelledBy,\"aria-orientation\":\"horizontal\",style:containerStyle,onKeyDown:handleKeyDown,...safeDomProps,id:instanceId,children:tabs.map((tab,index)=>{const isActive=activeIndex===index;// Only pass customIcon if iconType is not \"icon-none\".\nconst shouldShowIcon=tab.iconType!==\"icon-none\";const hasCustomIcon=tab.customIcon&&tab.customIcon.trim()!==\"\"&&tab.customIcon.includes(\"<svg\")&&!isTabDefaultCircleIcon(tab.customIcon);const iconToPass=shouldShowIcon?hasCustomIcon?tab.customIcon:DEFAULT_TAB_ICONS[index%DEFAULT_TAB_ICONS.length]:undefined;const panelIds=[panelId1,panelId2,panelId3,panelId4,panelId5,panelId6].slice(0,numPanelIds??0).filter(x=>typeof x===\"string\"&&x.length>0).map(id=>id.replace(/:/g,\"-\"));const panelId=panelIds[index];const baseColor=theme===\"inverted\"?\"white\":\"black\";const activeAccent=accentColors?.[index]??accentColor??DEFAULT_TAB_ACCENTS[index%DEFAULT_TAB_ACCENTS.length];const tabColor=isActive?activeAccent:baseColor;return /*#__PURE__*/_jsx(Tab,{breakpoint:breakpoint,label:tab.label,ariaLabel:tab.label,active:isActive,theme:theme,surface:surface,color:tabColor,customIcon:iconToPass,link:getLinkUrl(tab.link),onClick:handleTabClick(index),useTabRole:true,showIcon:tab.iconType!==\"icon-none\",autoAdvanceMs:autoAdvanceMs,id:tab.id,...panelId?{\"aria-controls\":panelId}:{}},`${index}-${isActive?activeIndex:\"x\"}`);})});});/**\n * Tabs - Wrapper component for Framer compatibility.\n *\n * This wrapper ensures the component works properly with Framer's.\n * component system and Property Controls.\n */export default function TabsGroup(props){const ref=useRef(null);return /*#__PURE__*/_jsx(TabsGroupInternal,{...props,ref:ref});}// Set display name for Framer.\nTabsGroup.displayName=\"Tabs Group - Molecule\";// Property Controls configuration for Framer.\naddPropertyControls(TabsGroup,{// ─── 5. Per-item groups ──\ntab1Label:{type:ControlType.String,title:\"Tab 1 Label\",defaultValue:\"Tab 1\",placeholder:\"Enter tab label...\",description:\"Label for tab 1\",hidden:({numTabs})=>(numTabs??3)<1},tab1Link:{type:ControlType.Link,title:\"Tab 1 Link\",defaultValue:\"\",description:\"Optional link URL.\",hidden:({numTabs})=>(numTabs??3)<1},tab1IconType:{type:ControlType.Enum,title:\"Tab 1 Icon Type\",options:[\"icon-leading\",\"icon-trailing\",\"icon-none\"],optionTitles:[\"Leading\",\"Trailing\",\"None\"],displaySegmentedControl:true,defaultValue:\"icon-none\",description:\"Icon placement for tab 1.\",hidden:({numTabs})=>(numTabs??3)<1},tab1CustomIcon:{type:ControlType.String,title:\"Tab 1 Icon\",defaultValue:\"\",placeholder:\"Paste SVG code…\",description:\"Custom icon SVG for tab 1\",hidden:({numTabs,tab1IconType})=>(numTabs??3)<1||tab1IconType===\"icon-none\"},tab2Label:{type:ControlType.String,title:\"Tab 2 Label\",defaultValue:\"Tab 2\",placeholder:\"Enter tab label...\",description:\"Label for tab 2\",hidden:({numTabs})=>(numTabs??3)<2},tab2Link:{type:ControlType.Link,title:\"Tab 2 Link\",defaultValue:\"\",description:\"Optional link URL.\",hidden:({numTabs})=>(numTabs??3)<2},tab2IconType:{type:ControlType.Enum,title:\"Tab 2 Icon Type\",options:[\"icon-leading\",\"icon-trailing\",\"icon-none\"],optionTitles:[\"Leading\",\"Trailing\",\"None\"],displaySegmentedControl:true,defaultValue:\"icon-none\",description:\"Icon placement for tab 2.\",hidden:({numTabs})=>(numTabs??3)<2},tab2CustomIcon:{type:ControlType.String,title:\"Tab 2 Icon\",defaultValue:\"\",placeholder:\"Paste SVG code…\",description:\"Custom icon SVG for tab 2\",hidden:({numTabs,tab2IconType})=>(numTabs??3)<2||tab2IconType===\"icon-none\"},tab3Label:{type:ControlType.String,title:\"Tab 3 Label\",defaultValue:\"Tab 3\",placeholder:\"Enter tab label...\",description:\"Label for tab 3\",hidden:({numTabs})=>(numTabs??3)<3},tab3Link:{type:ControlType.Link,title:\"Tab 3 Link\",defaultValue:\"\",description:\"Optional link URL.\",hidden:({numTabs})=>(numTabs??3)<3},tab3IconType:{type:ControlType.Enum,title:\"Tab 3 Icon Type\",options:[\"icon-leading\",\"icon-trailing\",\"icon-none\"],optionTitles:[\"Leading\",\"Trailing\",\"None\"],displaySegmentedControl:true,defaultValue:\"icon-none\",description:\"Icon placement for tab 3.\",hidden:({numTabs})=>(numTabs??3)<3},tab3CustomIcon:{type:ControlType.String,title:\"Tab 3 Icon\",defaultValue:\"\",placeholder:\"Paste SVG code…\",description:\"Custom icon SVG for tab 3\",hidden:({numTabs,tab3IconType})=>(numTabs??3)<3||tab3IconType===\"icon-none\"},tab4Label:{type:ControlType.String,title:\"Tab 4 Label\",defaultValue:\"Tab 4\",placeholder:\"Enter tab label...\",description:\"Label for tab 4\",hidden:({numTabs})=>(numTabs??3)<4},tab4Link:{type:ControlType.Link,title:\"Tab 4 Link\",defaultValue:\"\",description:\"URL for tab 4 (optional)\",hidden:({numTabs})=>(numTabs??3)<4},tab4IconType:{type:ControlType.Enum,title:\"Tab 4 Icon Type\",options:[\"icon-leading\",\"icon-trailing\",\"icon-none\"],optionTitles:[\"Leading\",\"Trailing\",\"None\"],displaySegmentedControl:true,defaultValue:\"icon-none\",description:\"Icon placement for tab 4.\",hidden:({numTabs})=>(numTabs??3)<4},tab4CustomIcon:{type:ControlType.String,title:\"Tab 4 Icon\",defaultValue:\"\",placeholder:\"Paste SVG code…\",description:\"Custom icon SVG for tab 4\",hidden:({numTabs,tab4IconType})=>(numTabs??3)<4||tab4IconType===\"icon-none\"},tab5Label:{type:ControlType.String,title:\"Tab 5 Label\",defaultValue:\"Tab 5\",placeholder:\"Enter tab label...\",description:\"Label for tab 5\",hidden:({numTabs})=>(numTabs??3)<5},tab5Link:{type:ControlType.Link,title:\"Tab 5 Link\",defaultValue:\"\",description:\"URL for tab 5 (optional)\",hidden:({numTabs})=>(numTabs??3)<5},tab5IconType:{type:ControlType.Enum,title:\"Tab 5 Icon Type\",options:[\"icon-leading\",\"icon-trailing\",\"icon-none\"],optionTitles:[\"Leading\",\"Trailing\",\"None\"],displaySegmentedControl:true,defaultValue:\"icon-none\",description:\"Icon placement for tab 5.\",hidden:({numTabs})=>(numTabs??3)<5},tab5CustomIcon:{type:ControlType.String,title:\"Tab 5 Icon\",defaultValue:\"\",placeholder:\"Paste SVG code…\",description:\"Custom icon SVG for tab 5\",hidden:({numTabs,tab5IconType})=>(numTabs??3)<5||tab5IconType===\"icon-none\"},tab6Label:{type:ControlType.String,title:\"Tab 6 Label\",defaultValue:\"Tab 6\",placeholder:\"Enter tab label...\",description:\"Label for tab 6\",hidden:({numTabs})=>(numTabs??3)<6},tab6Link:{type:ControlType.Link,title:\"Tab 6 Link\",defaultValue:\"\",description:\"URL for tab 6 (optional)\",hidden:({numTabs})=>(numTabs??3)<6},tab6IconType:{type:ControlType.Enum,title:\"Tab 6 Icon Type\",options:[\"icon-leading\",\"icon-trailing\",\"icon-none\"],optionTitles:[\"Leading\",\"Trailing\",\"None\"],displaySegmentedControl:true,defaultValue:\"icon-none\",description:\"Icon placement for tab 6.\",hidden:({numTabs})=>(numTabs??3)<6},tab6CustomIcon:{type:ControlType.String,title:\"Tab 6 Icon\",defaultValue:\"\",placeholder:\"Paste SVG code…\",description:\"Custom icon SVG for tab 6\",hidden:({numTabs,tab6IconType})=>(numTabs??3)<6||tab6IconType===\"icon-none\"},// ─── 6. Configuration ──\nnumTabs:{type:ControlType.Number,title:\"Number of Tabs\",defaultValue:3,min:2,max:6,step:1,displayStepper:true,description:\"Number of tabs to display (2–6).\"},defaultActiveTab:{type:ControlType.Number,title:\"Default Active Tab\",defaultValue:1,min:1,max:6,step:1,displayStepper:true,description:\"Which tab should be active by default (1-indexed).\"},// ─── 7. Behavior / Events ──\nonChange:{type:ControlType.EventHandler,title:\"On Change\",description:\"Change handler function (called when selection changes).\"},// ─── 8. Analytics ──\ntab1Id:{type:ControlType.String,title:\"Tab 1 ID\",defaultValue:\"\",placeholder:\"e.g. tab-personal\",description:\"Unique ID for Tab 1 link for Contentsquare analytics.\",hidden:({numTabs})=>(numTabs??3)<1},tab2Id:{type:ControlType.String,title:\"Tab 2 ID\",defaultValue:\"\",placeholder:\"e.g. tab-business\",description:\"Unique ID for Tab 2 link for Contentsquare analytics.\",hidden:({numTabs})=>(numTabs??3)<2},tab3Id:{type:ControlType.String,title:\"Tab 3 ID\",defaultValue:\"\",placeholder:\"e.g. tab-savings\",description:\"Unique ID for Tab 3 link for Contentsquare analytics.\",hidden:({numTabs})=>(numTabs??3)<3},tab4Id:{type:ControlType.String,title:\"Tab 4 ID\",defaultValue:\"\",placeholder:\"e.g. tab-travel\",description:\"Unique ID for Tab 4 link for Contentsquare analytics.\",hidden:({numTabs})=>(numTabs??3)<4},tab5Id:{type:ControlType.String,title:\"Tab 5 ID\",defaultValue:\"\",placeholder:\"e.g. tab-green\",description:\"Unique ID for Tab 5 link for Contentsquare analytics.\",hidden:({numTabs})=>(numTabs??3)<5},tab6Id:{type:ControlType.String,title:\"Tab 6 ID\",defaultValue:\"\",placeholder:\"e.g. tab-more\",description:\"Unique ID for Tab 6 link for Contentsquare analytics.\",hidden:({numTabs})=>(numTabs??3)<6},numPanelIds:{type:ControlType.Number,title:\"Number of Panel IDs\",min:0,max:6,defaultValue:0,step:1,displayStepper:true,description:\"Number of tab panel ID slots to expose (0–6).\"},panelId1:{type:ControlType.String,title:\"Panel ID 1\",defaultValue:\"\",placeholder:\"e.g. tabs-group-panel-1\",description:\"ID for the first tab panel (for accessibility/linking).\",hidden:({numPanelIds})=>(numPanelIds??0)<1},panelId2:{type:ControlType.String,title:\"Panel ID 2\",defaultValue:\"\",placeholder:\"e.g. tabs-group-panel-2\",description:\"ID for the second tab panel.\",hidden:({numPanelIds})=>(numPanelIds??0)<2},panelId3:{type:ControlType.String,title:\"Panel ID 3\",defaultValue:\"\",placeholder:\"e.g. tabs-group-panel-3\",description:\"ID for the third tab panel.\",hidden:({numPanelIds})=>(numPanelIds??0)<3},panelId4:{type:ControlType.String,title:\"Panel ID 4\",defaultValue:\"\",placeholder:\"e.g. tabs-group-panel-4\",description:\"ID for the fourth tab panel.\",hidden:({numPanelIds})=>(numPanelIds??0)<4},panelId5:{type:ControlType.String,title:\"Panel ID 5\",defaultValue:\"\",placeholder:\"e.g. tabs-group-panel-5\",description:\"ID for the fifth tab panel.\",hidden:({numPanelIds})=>(numPanelIds??0)<5},panelId6:{type:ControlType.String,title:\"Panel ID 6\",defaultValue:\"\",placeholder:\"e.g. tabs-group-panel-6\",description:\"ID for the sixth tab panel.\",hidden:({numPanelIds})=>(numPanelIds??0)<6},// ─── 9. Advanced ──\nariaLabel:{type:ControlType.String,title:\"Aria Label\",defaultValue:\"Tabs navigation\",placeholder:\"e.g. Tabs navigation\",description:'Accessible name for the tablist when \"ARIA Labelled By\" is not set. Defaults to \"Tabs navigation\".'},ariaLabelledBy:{type:ControlType.String,title:\"ARIA Labelled By\",defaultValue:\"\",placeholder:\"e.g. section-heading-id\",description:'ID of an element that labels the tablist (e.g., a heading). When set, it replaces the default name \"Tabs navigation\".'},id:{type:ControlType.String,title:\"ID\",defaultValue:\"\",placeholder:\"e.g. my-element\",description:\"HTML id for the root element (e.g. for analytics or anchor links).\"},// ─── 10. System ──\nbreakpoint:{type:ControlType.Enum,title:\"Breakpoint\",options:[\"desktop\",\"tablet\",\"phone\"],optionTitles:[\"Desktop\",\"Tablet\",\"Phone\"],displaySegmentedControl:false,defaultValue:\"desktop\",description:\"Select the breakpoint to match Framer's canvas.\"},theme:{type:ControlType.Enum,title:\"Theme\",options:[\"default\",\"inverted\"],optionTitles:[\"Default\",\"Inverted\"],displaySegmentedControl:true,defaultValue:\"default\",description:\"Default is dark mode, inverted is light mode. Theme passes to all children.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"TabsGroupProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"TabsGroup\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/**\n * CardFeatureSplit — shared split feature card.\n *\n * A presentational split card with an image on one side and content\n * (heading + description + CTA) on the other. Owns the canonical token\n * choices for the bunq feature card (border-radius, surface tint, padding,\n * gap, typography) so every section that renders this card gets identical\n * heights, padding and visual rhythm.\n *\n * Used by:\n *   - {@link ../organisms/SectionFeatureCardImage.tsx} (single static card)\n *   - {@link ../organisms/SectionFeatureCardImageStack.tsx} (interactive card stack)\n *   - {@link ../organisms/SectionBlogFeaturedArticle.tsx} (featured blog split card)\n *\n * The card is presentational — it does not animate itself. Wrap the card\n * in a `motion.*` element from the parent if section/stack-level animation\n * is needed.\n *\n * Surface:\n *   The card always uses the `\"liquid-glass\"` surface (Apple-style refractive\n *   glass overlay, frosted-glass fallback on Safari/Firefox / `prefers-reduced-motion`).\n *   The tone is left at the system default (`auto` → medium dark glass on the\n *   default theme, dark glass on the inverted theme), which keeps the card\n *   visually consistent with every other liquid-glass surface in the library.\n *   The `surface` prop is retained for programmatic overrides but is not\n *   exposed as a Framer property control.\n *\n * @framerDisableUnlink\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight auto\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any\n */// 1. React and React types\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{forwardRef,useRef}from\"react\";// 2. Framer API\nimport{addPropertyControls,ControlType}from\"framer\";// 3. Design system utilities\nimport Tokens,{useEffectiveBreakpoint,isCanvasPhoneBreakpoint,isCanvasTabletBreakpoint,kernHeadingPlainText}from\"https://framerusercontent.com/modules/HjvhO8Re4WnlZSTpJli8/jbCIdsxnmVrJOsDqxSxp/index.js\";import{getThemeColors}from\"https://framerusercontent.com/modules/ggRBN6PctbBy9SMbbePI/P0AdJy2leJUHBULN6DZC/themeHelpers.js\";import{getCardPadding,getCardRadius,getGap}from\"https://framerusercontent.com/modules/mehW3ipt7NwJNkWUjO0g/TatoE2nXREsJFApGHAt7/layoutStyles.js\";import{applyCardSurfaceStyle,CardSurfaceOverlay,getCardContentLayerStyle}from\"https://framerusercontent.com/modules/r2xtYErCxNjfPDPT3IRR/wYDfQlP0YfKuaLssIjDs/cardSurface.js\";import{PLACEHOLDER,HINT_IMAGE_URL}from\"https://framerusercontent.com/modules/ZO8py5W6dWspTZ6N8FoQ/ik33zGZQhIFSuzy6bsA1/placeholders.js\";import{getLinkUrl,safeUrl}from\"https://framerusercontent.com/modules/kNZJPvkIJZGGj8KxF53M/EVxL25LJacDR3InTjCol/linkHelpers.js\";import{PRESERVE_CONTROL_NEWLINES,isNonEmptyControlString,trimControlString}from\"https://framerusercontent.com/modules/gxwbCuOeX9Iq9kc5MH5p/k0Hn9o8CxLBqVGlxaK9j/controlTextStyles.js\";import{CMS_CARD_ROOT_ATTR}from\"https://framerusercontent.com/modules/cyGmgQReYxM74CJs0WW6/IaBl4aRmvHjipJBg6Oy5/useCmsFeaturedArticleSlot.js\";// 4. Component imports\nimport Image from\"https://framerusercontent.com/modules/bqYIcxbJlyzYlNmT2Fk4/UkHImJPOe8TOnpVtDScu/Image.js\";import Button from\"https://framerusercontent.com/modules/FkbrVksyiwmgD2bFsrtv/5HinRk2eRnqRbBBz4S3h/Button.js\";// ─── Defaults ─────────────────────────────────────────────────────────────────\n/** Default minimum height (px) for the image side, per breakpoint. Mirrors\n *  the original SectionFeatureCardImage values so existing layouts don't shift. */const DEFAULT_IMAGE_MIN_HEIGHT_PX={phone:240,tablet:320,desktop:400};// ─── Component ────────────────────────────────────────────────────────────────\nconst CardFeatureSplitInternal=/*#__PURE__*/forwardRef(function CardFeatureSplitInternal(props,ref){const{imageFit=\"cover\",// System\nbreakpoint:breakpointProp,theme=\"default\",surface=\"liquid-glass\",// Layout\nimagePosition=\"right\",headingTag=\"h2\",headingId,// Content\nheading,description,disclaimer,disclaimerUrl,buttonLabel,buttonId,buttonTabIndex,buttonVisuallyHidden=false,buttonVariant=\"solid\",buttonLink,buttonOpenInNewTab=false,buttonAriaLabel,onButtonClick,prependContent,afterHeadingContent,// Image\nimageSource=false,image,imageUrl=\"\",imageAlt,imageMinHeight,// Sizing\nfillHeight=false,fullWidthButton,peekBehind=false,// Override\nid,cmsCardRoot=false,style}=props;// ────────────────────────────────────────\n// HOOKS\n// ────────────────────────────────────────\nconst tokensBreakpoint=useEffectiveBreakpoint(breakpointProp??\"desktop\");const colors=getThemeColors(theme);const isCanvasPhone=isCanvasPhoneBreakpoint(breakpointProp??\"desktop\");const isCanvasTablet=isCanvasTabletBreakpoint(breakpointProp??\"desktop\");// ────────────────────────────────────────\n// DERIVED\n// ────────────────────────────────────────\nconst isImageLeft=imagePosition===\"left\";const peekLayout=peekBehind;const isFullWidthButton=fullWidthButton??isCanvasPhone;const showDisclaimer=typeof disclaimer===\"string\"&&disclaimer.trim()!==\"\";const resolvedButtonLabel=trimControlString(buttonLabel);const showButton=isNonEmptyControlString(buttonLabel);// Funnel through safeUrl so a `javascript:`/`data:` value typed into\n// the Framer Link control can never reach the rendered href.\nconst disclaimerHref=safeUrl(getLinkUrl(disclaimerUrl));// Image resolution mirrors SectionFeatureCardImage: in File mode we\n// prefer the uploaded ResponsiveImage; if none is uploaded we still\n// fall back to a URL string (PLACEHOLDER.IMAGE) so the card never\n// collapses into a content-only layout while a Framer user is still\n// wiring up the controls. The bunq `Image` atom accepts a string in\n// place of the ResponsiveImage object when `source = true`.\nconst useFileUpload=imageSource===true;const hasUploadedImage=Boolean(image?.src);const fallbackUrl=imageUrl?.trim()||PLACEHOLDER.IMAGE;const showImage=true;const imageForAtom=useFileUpload?hasUploadedImage?image:fallbackUrl:undefined;const imageUrlForAtom=useFileUpload?undefined:fallbackUrl;const cardBorderRadius=getCardRadius(tokensBreakpoint,\"large\");const cardSurfaceTint=colors.bgTertiary;/** Split layout: keep min height modest — real cap is `splitCardMaxHeight` below. */const resolvedImageMinHeight=imageMinHeight??(!peekLayout&&!isCanvasPhone&&showImage?Math.round(DEFAULT_IMAGE_MIN_HEIGHT_PX[tokensBreakpoint]*.52):DEFAULT_IMAGE_MIN_HEIGHT_PX[tokensBreakpoint]);/** Desktop/tablet split (two columns): use frosted tint on the card columns — full-card LiquidGlass samples the photo and reads as “double image”. */const isTwoColumnSplit=!peekLayout&&!isCanvasPhone&&showImage;const useContentColumnFrostedGlass=surface===\"liquid-glass\"&&isTwoColumnSplit;/**\n         * {@link ../organisms/SectionFeatureCardImageStack} is the only consumer that passes\n         * `fillHeight`: stacked cards sit in one grid cell with transforms. A translucent\n         * frost + backdrop-filter lets copy from the deck behind read through; use an opaque\n         * column and skip backdrop there only.\n         */const stackDeckOpaqueContentColumn=fillHeight&&useContentColumnFrostedGlass;/**\n         * {@link ../organisms/SectionFeatureCardImageStack} passes `fillHeight` for the\n         * desktop/tablet stacked deck only (cards share one grid cell). Its phone layout is\n         * a horizontal carousel without `fillHeight`, so liquid-glass on phone uses the\n         * full-card overlay path below rather than this opaque column treatment.\n         */const stackDeckOpaquePhone=fillHeight&&isCanvasPhone&&surface===\"liquid-glass\"&&!peekBehind&&showImage;/** Tint + backdrop: fully opaque when stacked deck must not ghost (two-column or phone). */const opaqueStackDeckTint=stackDeckOpaqueContentColumn||stackDeckOpaquePhone;/** Full-card refract: phone (non-stack), peek strips, or non–liquid-glass. Stack phone uses opaque layers above. */const showFullCardLiquidOverlay=surface===\"liquid-glass\"&&!peekBehind&&!useContentColumnFrostedGlass&&!stackDeckOpaquePhone;const frostTintRgb=Tokens.colorToRgb(colors.bgSecondary);/**\n         * Only peek-behind deck strips need a viewport cap (full-width strip + fillHeight would\n         * otherwise grow very tall). Two-column stack cards ({@link SectionFeatureCardImageStack})\n         * use `fillHeight` for grid stretch alignment but must stay content-height — a max-height\n         * here clipped copy and imagery.\n         */const shouldCapStackCardHeight=Boolean(fillHeight)&&!isCanvasPhone&&showImage&&peekBehind;const splitCardMaxHeight=shouldCapStackCardHeight?peekBehind?\"min(38vh, 260px)\":isCanvasTablet?\"min(68vh, 420px)\":\"min(62vh, 380px)\":undefined;/** Peek strips use 16:9 so full-width images don’t resolve to a square as tall as the canvas. */const splitImageAspectRatio=peekBehind?\"16:9\":\"1:1\";/**\n         * Frosted content column: high-opacity tint plus backdrop blur (single-card sections).\n         * Stacked deck ({@link ../organisms/SectionFeatureCardImageStack}, `fillHeight`) uses a\n         * fully opaque tint with no backdrop-filter so cards behind do not ghost through.\n         *//** Stronger than nav `lg` (20px) for the frosted-glass column on standalone split cards. */const splitColumnBackdrop=\"blur(32px) saturate(170%)\";const frostBackground=theme===\"inverted\"?`rgba(${frostTintRgb}, ${opaqueStackDeckTint?1:.97})`:`rgba(${frostTintRgb}, ${opaqueStackDeckTint?1:.94})`;const columnHairline=theme===\"inverted\"?\"1px solid var(--split-card-column-hairline-inverted, rgba(0, 0, 0, 0.1))\":\"1px solid var(--split-card-column-hairline-default, rgba(255, 255, 255, 0.12))\";/**\n         * Vertical/horizontal hairline + inset highlight between copy and image columns.\n         * Opaque stack-deck cards ({@link SectionFeatureCardImageStack}, `fillHeight`) tint both\n         * columns the same — a divider on the text column only reads as a box around the copy.\n         */const usesFrostOrOpaqueStackDeck=useContentColumnFrostedGlass||stackDeckOpaquePhone;const showFrostColumnDivider=usesFrostOrOpaqueStackDeck&&!opaqueStackDeckTint;// ────────────────────────────────────────\n// STYLES\n// ────────────────────────────────────────\n// Card root: split layout, surface, radius, shadow.\n// applyCardSurfaceStyle swaps to transparent + drops the shadow when\n// surface === \"liquid-glass\" so the overlay paints the surface.\nconst cardRootStyle={...applyCardSurfaceStyle({display:\"grid\",gridTemplateColumns:peekLayout||isCanvasPhone||!showImage?\"1fr\":\"minmax(0, 1fr) minmax(0, 1fr)\",width:\"100%\",height:fillHeight?\"100%\":undefined,borderRadius:cardBorderRadius,overflow:\"hidden\",backgroundColor:cardSurfaceTint,boxShadow:Tokens.getShadow(\"large\"),minWidth:0,...isTwoColumnSplit?{gridTemplateRows:\"minmax(0, 1fr)\",alignItems:\"stretch\",minHeight:0}:{},...style},surface),...peekBehind?{backgroundColor:colors.bgPrimary}:{},...splitCardMaxHeight?{maxHeight:splitCardMaxHeight}:{}};// Layer that holds the actual content above the glass overlay.\nconst contentLayerStyle=getCardContentLayerStyle(surface);const imageSectionStyle={...contentLayerStyle,backgroundColor:useContentColumnFrostedGlass||stackDeckOpaquePhone?frostBackground:\"transparent\",isolation:useContentColumnFrostedGlass||stackDeckOpaquePhone?\"isolate\":undefined,display:\"flex\",minHeight:shouldCapStackCardHeight?0:resolvedImageMinHeight,overflow:\"hidden\",order:isImageLeft?1:2,minWidth:0,alignSelf:\"stretch\"};const contentSectionStyle={...contentLayerStyle,backgroundColor:useContentColumnFrostedGlass||stackDeckOpaquePhone?frostBackground:surface===\"liquid-glass\"?\"transparent\":cardSurfaceTint,...useContentColumnFrostedGlass||stackDeckOpaquePhone?{...showFrostColumnDivider&&useContentColumnFrostedGlass?{borderRight:isImageLeft?undefined:columnHairline,borderLeft:isImageLeft?columnHairline:undefined}:{},...showFrostColumnDivider&&stackDeckOpaquePhone?{...isImageLeft?{borderTop:columnHairline}:{borderBottom:columnHairline}}:{},...!opaqueStackDeckTint?{backdropFilter:splitColumnBackdrop,WebkitBackdropFilter:splitColumnBackdrop}:{},...showFrostColumnDivider?{boxShadow:theme===\"inverted\"?\"inset 0 1px 0 var(--split-card-inset-edge-inverted, rgba(0, 0, 0, 0.06))\":\"inset 0 1px 0 var(--split-card-inset-edge-default, rgba(255, 255, 255, 0.08))\"}:{}}:{},padding:isCanvasPhone?getCardPadding(tokensBreakpoint):`calc(2 * ${getCardPadding(tokensBreakpoint)})`,display:\"flex\",flexDirection:\"column\",gap:getGap(\"md\",tokensBreakpoint),justifyContent:\"center\",order:isImageLeft?2:1,minWidth:0,alignSelf:\"stretch\",height:isTwoColumnSplit?\"100%\":undefined,boxSizing:\"border-box\",minHeight:useContentColumnFrostedGlass||stackDeckOpaquePhone?0:undefined,overflowWrap:\"break-word\"};const buttonContainerStyle={display:\"flex\",marginTop:getGap(\"sm\",tokensBreakpoint),width:isFullWidthButton?\"100%\":\"fit-content\"};const headingStyles={...Tokens.getTypographyStyles(\"/Headline 2XL/Heavy\",tokensBreakpoint),color:colors.textPrimary,margin:0,...PRESERVE_CONTROL_NEWLINES};const descriptionStyles={...Tokens.getTypographyStyles(\"/Subheadline/MD\",tokensBreakpoint),color:colors.textSecondary,margin:0,...PRESERVE_CONTROL_NEWLINES};const disclaimerStyles={...Tokens.getTypographyStyles(\"/Legal/Default\",tokensBreakpoint),color:colors.textSecondary,margin:0,...PRESERVE_CONTROL_NEWLINES};const HeadingTag=headingTag;return /*#__PURE__*/_jsxs(\"div\",{ref:ref,id:id,...cmsCardRoot?{[CMS_CARD_ROOT_ATTR]:\"\"}:{},style:cardRootStyle,children:[showFullCardLiquidOverlay&&/*#__PURE__*/_jsx(CardSurfaceOverlay,{surface:surface,radius:cardBorderRadius,theme:theme}),showImage&&/*#__PURE__*/_jsx(\"div\",{style:imageSectionStyle,children:/*#__PURE__*/_jsx(Image,{source:useFileUpload,imageUrl:imageForAtom,imageUrlUrl:imageUrlForAtom,alt:(()=>{const legacyPlaceholder=\"Brief description of the image for accessibility\";const resolved=imageAlt??image?.alt??\"\";if(resolved===legacyPlaceholder)return heading;return resolved||heading;})(),aspectRatio:splitImageAspectRatio,objectFit:imageFit,objectPosition:\"center\",borderRadius:\"radius-none\",overflow:\"hidden\",fill:true,style:{flex:\"1 1 0\",minWidth:0,minHeight:0}})}),!peekBehind&&/*#__PURE__*/_jsxs(\"div\",{style:contentSectionStyle,children:[prependContent,heading&&/*#__PURE__*/_jsx(HeadingTag,{id:headingId,style:headingStyles,children:kernHeadingPlainText(heading)}),afterHeadingContent,description&&/*#__PURE__*/_jsx(\"p\",{style:descriptionStyles,children:description}),showDisclaimer&&/*#__PURE__*/_jsxs(\"p\",{style:disclaimerStyles,children:[\"*\",\" \",disclaimerHref?/*#__PURE__*/_jsx(\"a\",{href:disclaimerHref,style:{color:colors.textLink,textDecoration:\"underline\",textUnderlineOffset:Tokens.getSpacing(2)},children:disclaimer}):disclaimer]}),showButton&&/*#__PURE__*/_jsx(\"div\",{style:{...buttonContainerStyle,...buttonVisuallyHidden?{visibility:\"hidden\",pointerEvents:\"none\"}:{}},children:/*#__PURE__*/_jsx(Button,{breakpoint:tokensBreakpoint,label:resolvedButtonLabel,variant:buttonVariant,theme:theme,size:\"medium\",link:getLinkUrl(buttonLink)||undefined,openInNewTab:buttonOpenInNewTab,...buttonAriaLabel?.trim()?{ariaLabel:buttonAriaLabel.trim()}:{},onClick:onButtonClick,widthMode:isFullWidthButton?\"full\":\"intrinsic\",id:buttonId||undefined,...buttonTabIndex!==undefined?{tabIndex:buttonTabIndex}:{},...buttonTabIndex===-1?{ariaHidden:true}:{}})})]})]});});export default function CardFeatureSplit(props){const fallbackRef=useRef(null);const{ref,...rest}=props;return /*#__PURE__*/_jsx(CardFeatureSplitInternal,{...rest,ref:ref??fallbackRef});}CardFeatureSplit.displayName=\"Card Feature Split - Molecule\";// sync 20260519-link-fix-v2\n// ─── Property controls ────────────────────────────────────────────────────────\naddPropertyControls(CardFeatureSplit,{// ─── 1. Content ────────────────────────────────────────────────────────────\nprependContent:{type:ControlType.Slot,title:\"Before Heading\",maxCount:1,description:\"Optional content before the heading (e.g. category badge).\"},afterHeadingContent:{type:ControlType.Slot,title:\"After Heading\",maxCount:1,description:\"Optional content after the heading, before the description.\"},heading:{type:ControlType.String,title:\"Heading\",defaultValue:PLACEHOLDER.HEADING,placeholder:\"e.g. Short headline (one line)\",displayTextArea:true,description:\"Short headline displayed at the top of the text column.\"},description:{type:ControlType.String,title:\"Description\",defaultValue:PLACEHOLDER.DESCRIPTION,placeholder:\"One or two sentences describing the section\",displayTextArea:true,description:\"Supporting copy below the heading. One or two sentences works best.\"},disclaimer:{type:ControlType.String,title:\"Disclaimer\",defaultValue:\"Terms and conditions apply.\",placeholder:\"e.g. Terms and conditions apply.\",description:\"Disclaimer text shown below the description (smaller text). Leave empty to hide.\",displayTextArea:true},buttonLabel:{type:ControlType.String,title:\"Button Label\",defaultValue:\"\",placeholder:\"Enter button label…\",description:\"Call-to-action label. Leave empty to hide the button.\"},// ─── 2. Links ──────────────────────────────────────────────────────────────\ndisclaimerUrl:{type:ControlType.Link,defaultValue:\"\",title:\"Disclaimer Link\",description:\"Optional link applied to the disclaimer text. Leave empty for plain text.\"},buttonLink:{type:ControlType.Link,title:\"Button Link\",defaultValue:\"\",description:\"When set, the CTA renders as a link. Leave empty for a plain button.\"},// ─── 3. Media ────────────────────────────────────────────────────────────────\nimageSource:{type:ControlType.Boolean,title:\"Image Source\",defaultValue:false,enabledTitle:\"File\",disabledTitle:\"URL\",description:\"Pick whether the image comes from a Framer file upload or a URL.\"},image:{type:ControlType.ResponsiveImage,title:\"Image\",hidden:p=>!p.imageSource,description:\"Responsive image uploaded via Framer. Shown when Image Source is File.\"},imageUrl:{type:ControlType.String,title:\"Image URL\",defaultValue:PLACEHOLDER.IMAGE,placeholder:HINT_IMAGE_URL,hidden:p=>p.imageSource===true,description:\"External image URL. Shown when Image Source is URL.\"},imageAlt:{type:ControlType.String,title:\"Image Alt\",defaultValue:\"\",placeholder:\"Describe the image (or leave empty for decorative)\",description:\"Alt text for accessibility. Leave empty when the image is decorative. Only needed for URL images; File uploads use their own alt.\",hidden:p=>p.imageSource===true},imageFit:{type:ControlType.Enum,title:\"Image Fit\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"],displaySegmentedControl:true,defaultValue:\"cover\",description:\"How the image fits its container.\"},// ─── 6. Configuration ──────────────────────────────────────────────────────\nimagePosition:{type:ControlType.Enum,title:\"Image Position\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],displaySegmentedControl:true,defaultValue:\"right\",description:\"Side the image sits on.\"},headingTag:{type:ControlType.Enum,title:\"Heading Tag\",options:[\"h2\",\"h3\",\"h4\"],optionTitles:[\"H2\",\"H3\",\"H4\"],displaySegmentedControl:true,defaultValue:\"h2\",description:\"Heading element. Use H2 only when the card is the page's main heading.\"},buttonVariant:{type:ControlType.Enum,title:\"Button Variant\",options:[\"solid\",\"ghost\",\"outline\"],optionTitles:[\"Solid\",\"Ghost\",\"Outline\"],defaultValue:\"solid\",description:\"Visual style of the call-to-action button.\"},// ─── 7. Behavior / Events ──────────────────────────────────────────────────\nbuttonOpenInNewTab:{type:ControlType.Boolean,title:\"Button Opens in New Tab\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden:p=>!getLinkUrl(p.buttonLink),description:\"When the CTA is a link, open it in a new browser tab.\"},onButtonClick:{type:ControlType.EventHandler,title:\"On Button Click\",description:\"Click handler attached to the call-to-action button.\"},// ─── 8. Analytics ──────────────────────────────────────────────────────────\nbuttonId:{type:ControlType.String,title:\"Button ID\",defaultValue:\"card-feature-split-cta\",placeholder:\"e.g. card-feature-cta\",description:\"DOM id used by analytics and anchor links.\"},// ─── 10. System ────────────────────────────────────────────────────────────\nbreakpoint:{type:ControlType.Enum,title:\"Breakpoint\",options:[\"desktop\",\"tablet\",\"phone\"],optionTitles:[\"Desktop\",\"Tablet\",\"Phone\"],displaySegmentedControl:false,defaultValue:\"desktop\",description:\"Select the breakpoint to match Framer's canvas.\"},theme:{type:ControlType.Enum,title:\"Theme\",options:[\"default\",\"inverted\"],optionTitles:[\"Default\",\"Inverted\"],displaySegmentedControl:true,defaultValue:\"default\",description:\"Default is dark mode, inverted is light mode. Theme passes to all children.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"CardFeatureSplitProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"CardFeatureSplit\",\"slots\":[\"prependContent\",\"afterHeadingContent\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/**\n * SectionFeatureCardImageStack - Feature section with an interactive card stack.\n *\n * Displays an optional section header (heading + description), then multiple\n * feature sections, each rendered as a full split-card (image + text + CTA).\n * The active feature's card sits on top of the stack; remaining cards peek\n * out behind it with depth (offset, scale and dim). Switching tabs (or\n * clicking a card behind) brings that feature's card to the front with a\n * smooth spring transition. On phone, tabs are hidden and cards lay out in a\n * horizontal scroll strip (one card plus a peek of the next). When two or more\n * tabs are shown on larger breakpoints, tabs auto-advance on a timer with the\n * same progress overlay as SectionFeatureImageTabs.\n *\n * Cards support an optional `surface = \"liquid-glass\"` variant that swaps\n * the solid card surface for an Apple-style refractive glass overlay\n * (frosted-glass fallback on Safari/Firefox / `prefers-reduced-motion`).\n *\n * Images: use empty alt for decorative images; set imageAlt for meaningful content.\n * Default image URLs use the generic `PLACEHOLDER.IMAGE` constant until custom assets are set.\n * Card footnote and CTA links: use **Card Disclaimer** / **Card Disclaimer Link** and per-feature **Button Link** controls in Framer (see property controls).\n *\n * CMS mode renders a horizontal scroll row (matching the phone carousel layout) — no stacking or tab sync.\n *\n * @framerDisableUnlink\n * @framerIntrinsicWidth 1280\n * @framerIntrinsicHeight auto\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto.\n */// 1. React and React types\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{forwardRef,useRef,useState,useEffect,useId,useMemo}from\"react\";// 2. Framer Motion (for animations/transitions)\nimport{motion}from\"framer-motion\";// 3. Framer API\nimport{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// 4. Design system utilities\nimport Tokens,{useReducedMotion,useEffectiveBreakpoint,isCanvasPhoneBreakpoint,kernHeadingPlainText}from\"https://framerusercontent.com/modules/HjvhO8Re4WnlZSTpJli8/jbCIdsxnmVrJOsDqxSxp/index.js\";import{getThemeColors,getPlaceholderColors}from\"https://framerusercontent.com/modules/ggRBN6PctbBy9SMbbePI/P0AdJy2leJUHBULN6DZC/themeHelpers.js\";import{getGap,getContainerPadding,getSectionPaddingY,getContainerMaxWidth,getSectionWrapperStyles,getCardRadius,getTestimonialPhoneScrollItemStyle,getTestimonialPhoneScrollListStyle}from\"https://framerusercontent.com/modules/mehW3ipt7NwJNkWUjO0g/TatoE2nXREsJFApGHAt7/layoutStyles.js\";import{SECTION_BACKGROUND_DEFAULTS,getSectionBackgroundLayer,getSectionContentStackStyle,getSectionRootBackgroundStyle,sectionBackgroundPropertyControls}from\"https://framerusercontent.com/modules/hqFOkpWLA64fdQpB8yjs/5dnFOIkZzqGFDL0Lk6r0/sectionBackground.js\";// 5. Link helpers. Feature image URLs use ControlType.String to allow external URLs; File source uses ControlType.ResponsiveImage.\nimport{getLinkUrl,safeUrl}from\"https://framerusercontent.com/modules/kNZJPvkIJZGGj8KxF53M/EVxL25LJacDR3InTjCol/linkHelpers.js\";// 6. Local utilities\nimport{PLACEHOLDER,HINT_ELEMENT_ID,HINT_IMAGE_ALT,HINT_IMAGE_URL}from\"https://framerusercontent.com/modules/ZO8py5W6dWspTZ6N8FoQ/ik33zGZQhIFSuzy6bsA1/placeholders.js\";import{getSectionRestProps}from\"https://framerusercontent.com/modules/cDYhBLzprb1wvGj7NHO1/lNG2bFb2BzhPKxwAfhqo/sectionProps.js\";import{resolveIndexedPanelId,resolveSectionIdPrefix}from\"https://framerusercontent.com/modules/V8DZ1j6fmzxP1pB8h5BJ/sPSFCEug6lYXxMvPVu5Z/resolveElementId.js\";import{isFramerStaticMotionContext}from\"https://framerusercontent.com/modules/H2peOJaolSTyCFFNIwVC/MBjueh7ML19qP5n6r5VM/framerStaticMotionContext.js\";import{useSectionAnimation,getSectionMotionInitial}from\"https://framerusercontent.com/modules/queGQX2T65iTgpRx9F0b/k4NbRLg9SuyP7Adl7kwV/useSectionAnimation.js\";import{createSectionVariants}from\"https://framerusercontent.com/modules/hUj3FWgpcDAgyV0oQMgI/bggoehe4d3ShZ3F54NQX/motionVariants.js\";import{getIconRaw,ICON_OPTIONS_WITH_NONE,ICON_OPTION_TITLES}from\"https://framerusercontent.com/modules/fJNdNvtkorPxGrDlmhln/LiwKJUReu5R3WX0AxbqC/icons.js\";import{ZOOM_STANDARD_24_TAB_STRIP_INSET,zoomStandard24ViewBox}from\"https://framerusercontent.com/modules/keR2epPkn1MdvCLnDSBc/z4ga9Xl53MGZI0XlY2dd/svg.js\";import{PRESERVE_CONTROL_NEWLINES,isNonEmptyControlString,trimControlString}from\"https://framerusercontent.com/modules/gxwbCuOeX9Iq9kc5MH5p/k0Hn9o8CxLBqVGlxaK9j/controlTextStyles.js\";import{useCmsCollectionLayout}from\"https://framerusercontent.com/modules/V5oXs13pLFW7p9OCzVV6/H4qL52EPbhHQ1nyiGero/cmsCollectionLayout.js\";import{injectBreakpointIntoCmsSlot}from\"https://framerusercontent.com/modules/JoOjyFlpGSMUJ782HrYl/eDQex6l2k4ChTrVg2IWE/injectBreakpointIntoCmsSlot.js\";import{isFramerDesignEnvironment}from\"https://framerusercontent.com/modules/fLnoI6ZB9Br9mhUvxmjW/tWYaqzIJ6baBNTssXrK2/useInViewport.js\";import{getCenteredSectionHeaderStackLayout,getStandardSectionHeadlineStyles,getStandardSectionSubheadlineStyles}from\"https://framerusercontent.com/modules/I2aetWBGnJ2PtHqP9vUx/gBqJ4oOz7j2nUTVYhJnw/sectionHeaderCopy.js\";// 7. Component imports\nimport TabsGroup from\"https://framerusercontent.com/modules/Wgq6KOAh63wsfhwspJFq/xoty6hVVIe7ZSZhwrpOX/TabsGroup.js\";import CardFeatureSplit from\"https://framerusercontent.com/modules/yBBYnuyRsa8SwEozWRDp/Ck8tGu4jq8GhMssnJS26/CardFeatureSplit.js\";/** Per-tab accent colors so each tab has a distinct color when active (aligned with SectionLayoutTabsCard). */const TAB_ACCENT_COLORS=[\"green\",\"blue\",\"orange\",\"purple\",\"turquoise\",\"fuchsia\"];const TAB_ICON_OPTIONS=[\"default\",...ICON_OPTIONS_WITH_NONE];const TAB_ICON_OPTION_TITLES={default:\"Default\",...ICON_OPTION_TITLES};const LEGACY_BUNQ_TAB_ICON_DEFAULTS=[\"user\",\"wallet\",\"credit-card\",\"rocket\",\"globe\",\"star\"];/**\n * Time between auto-advance tab switches (ms). Shared by the interval timer\n * and passed as `autoAdvanceMs` to TabsGroup so the on-tab progress overlay\n * finishes filling exactly when the next tab activates.\n */const AUTO_ADVANCE_MS=8e3;/** WebKit scrollbar hide for the phone horizontal card strip. */const PHONE_CAROUSEL_SCROLLBAR_HIDE_STYLE=\"[data-bunq-feature-card-image-stack-hscroll]::-webkit-scrollbar{display:none;width:0;height:0;}\";// ─── Card stack constants (aligned with molecules/CardStack.tsx deck geometry) ──\n/** Vertical offset (as % of card height). Negative translateY stacks cards upward from bottom anchor. */const STACK_OFFSET_PERCENT=11;/** Per-step scale reduction for cards behind the front. */const STACK_SCALE_STEP=.07;/** Per-step brightness reduction (`filter: brightness()`) for cards behind. */const STACK_DIM_STEP=.15;/** Maximum total cards to keep visible in the deck (front card included). */const STACK_MAX_VISIBLE_CARDS_DESKTOP=3;/**\n * Single layout height for one stacked card: the grid can occasionally report a\n * taller box than any child; clamp to the tallest in-flow child so peek\n * padding stays proportional to the real card, not an inflated grid rect.\n */function measureStackBasisHeightPx(gridEl){const rectH=gridEl.getBoundingClientRect().height;const offsetH=gridEl.offsetHeight;let h=Math.min(rectH,offsetH);const children=Array.from(gridEl.children);if(children.length>0){const maxChild=Math.max(...children.map(c=>Math.max(c.offsetHeight,c.getBoundingClientRect().height)));if(Number.isFinite(maxChild)&&maxChild>0){h=Math.min(h,maxChild);}}return Math.max(0,h);}/**\n * `padding-top` on the clip wrapper so behind-cards (`translateY` up from bottom)\n * are not clipped. Raw need scales ~linearly with card height; the soft cap\n * keeps full-width / very tall cards from reserving a large empty band under the tabs.\n */function getStackClipPeekPaddingPx(stackBasisHeightPx,visibleBehindCount){if(visibleBehindCount<=0||stackBasisHeightPx<=0)return 0;const depth=visibleBehindCount;const raw=Math.ceil(stackBasisHeightPx*STACK_OFFSET_PERCENT*depth*1.04/100+10);const softCap=Math.round(stackBasisHeightPx*.12)+72;return Math.max(32,Math.min(raw,softCap,220));}/** Keeps one stack card per configured slot when Framer props are still empty (avoids tab/card count mismatch). */const EMPTY_FEATURE_SLOT={};/** Trimmed CTA label for `CardFeatureSplit`; always a string so Framer does not apply child control defaults. */function resolveFeatureButtonLabel(label){return trimControlString(label);}// ============================================\n// COMPONENT\n// ============================================\nconst SectionFeatureCardImageStackInternal=/*#__PURE__*/forwardRef(function SectionFeatureCardImageStackInternal(props,ref){const{breakpoint:breakpointProp=\"desktop\",theme=\"default\",tabSurface=\"liquid-glass\",surface=\"liquid-glass\",contentSource=\"manual\",collectionList,// Content props.\nheading=\"Short section heading goes here\",description=PLACEHOLDER.DESCRIPTION,disclaimer=\"Terms and conditions apply.\",disclaimerUrl,cardDisclaimer=\"\",cardDisclaimerUrl,numFeatures=3,numTabs:numTabsProp=3,feature1Heading,feature1Description,feature1ButtonLabel,feature1ButtonId,feature1ButtonLink,feature1ButtonOpenInNewTab=false,feature1Image,feature1ImageUrl=PLACEHOLDER.IMAGE,feature1ImageSource=true,feature1ImageAlt,feature1ImageFit,feature2Heading,feature2Description,feature2ButtonLabel,feature2ButtonId,feature2ButtonLink,feature2ButtonOpenInNewTab=false,feature2Image,feature2ImageUrl=PLACEHOLDER.IMAGE,feature2ImageSource=true,feature2ImageAlt,feature2ImageFit,feature3Heading,feature3Description,feature3ButtonLabel,feature3ButtonId,feature3ButtonLink,feature3ButtonOpenInNewTab=false,feature3Image,feature3ImageUrl=PLACEHOLDER.IMAGE,feature3ImageSource=true,feature3ImageAlt,feature3ImageFit,feature4Heading,feature4Description,feature4ButtonLabel,feature4ButtonId,feature4ButtonLink,feature4ButtonOpenInNewTab=false,feature4Image,feature4ImageUrl=PLACEHOLDER.IMAGE,feature4ImageSource=true,feature4ImageAlt,feature4ImageFit,feature5Heading,feature5Description,feature5ButtonLabel,feature5ButtonId,feature5ButtonLink,feature5ButtonOpenInNewTab=false,feature5Image,feature5ImageUrl=PLACEHOLDER.IMAGE,feature5ImageSource=true,feature5ImageAlt,feature5ImageFit,feature6Heading,feature6Description,feature6ButtonLabel,feature6ButtonId,feature6ButtonLink,feature6ButtonOpenInNewTab=false,feature6Image,feature6ImageUrl=\"\",feature6ImageSource=false,feature6ImageAlt,feature6ImageFit,showTabs=true,tab1Label=\"Tab 1\",tab2Label=\"Tab 2\",tab3Label=\"Tab 3\",tab4Label=\"Tab 4\",tab5Label=\"Tab 5\",tab6Label=\"Tab 6\",tab1Icon=\"default\",tab2Icon=\"default\",tab3Icon=\"default\",tab4Icon=\"default\",tab5Icon=\"default\",tab6Icon=\"default\",tab1Id,tab2Id,tab3Id,tab4Id,tab5Id,tab6Id,panel1Id,panel2Id,panel3Id,panel4Id,panel5Id,panel6Id,defaultActiveTab=1,backgroundVariant=SECTION_BACKGROUND_DEFAULTS.backgroundVariant,backgroundPreset=SECTION_BACKGROUND_DEFAULTS.backgroundPreset,backgroundOverlayDirection=SECTION_BACKGROUND_DEFAULTS.backgroundOverlayDirection,backgroundShowOverlay=SECTION_BACKGROUND_DEFAULTS.backgroundShowOverlay,useMontserrat=SECTION_BACKGROUND_DEFAULTS.useMontserrat,// Layout props.\nimagePosition=\"right\",sectionId,cardsAriaLabel=\"Feature cards\",sectionsAriaLabel=\"Feature sections\",// Common props.\nstyle,onTabChange,children,...rest}=props;// ========================================\n// HOOKS\n// ========================================\nconst{sectionRef,sectionRefObject,animate,hasMounted}=useSectionAnimation(ref);const breakpoint=useEffectiveBreakpoint(breakpointProp,sectionRefObject);const colors=getThemeColors(theme);const{sectionBgColor,isGradient,backgroundLayer}=getSectionBackgroundLayer({variant:backgroundVariant,preset:backgroundPreset,overlayDirection:backgroundOverlayDirection,showOverlay:backgroundShowOverlay,theme,colors});const reducedMotion=useReducedMotion();const isStaticRenderer=useIsStaticRenderer();const reactId=useId();const idPrefix=resolveSectionIdPrefix(sectionId,reactId,\"section-feature-card-image-stack\");const headingId=`${idPrefix}-heading`;const showDisclaimer=typeof disclaimer===\"string\"&&disclaimer.trim()!==\"\";// Funnel through safeUrl so a `javascript:`/`data:` value typed into\n// the Framer Link control can never reach the rendered href.\nconst disclaimerHref=safeUrl(getLinkUrl(disclaimerUrl));const isCanvasPhone=isCanvasPhoneBreakpoint(breakpointProp);const isPhoneBreakpoint=breakpoint===\"phone\";/** Phone uses a horizontal scroll strip instead of the stacked deck. */const usePhoneCarouselLayout=isPhoneBreakpoint||isCanvasPhone;const effectiveNumFeatures=Math.min(6,Math.max(1,numFeatures??1));const numTabs=Math.min(6,Math.max(2,typeof numTabsProp===\"number\"?numTabsProp:6));const tabBarEnabled=showTabs!==false&&numTabs>=2;const showManualTabs=tabBarEnabled&&!usePhoneCarouselLayout;/**\n         * Cards in the stack: when the tab bar is on, include enough slots for both\n         * \"Number of Tabs\" and \"Number of Features\" (whichever is higher) so extra\n         * tabs always have a card. Phone has no tab bar, so it only renders configured feature slots.\n         */const cardSlotCount=showManualTabs?Math.max(numTabs,effectiveNumFeatures):effectiveNumFeatures;/** Upper bound for active stack index (always matches card count − 1). */const maxActiveIndex=Math.max(0,cardSlotCount-1);// Active tab index (0-based). Drives which card is on top of the stack.\nconst[activeTabIndex,setActiveTabIndex]=useState(()=>Math.max(0,Math.min((defaultActiveTab??1)-1,maxActiveIndex)));/** Stops timed tab rotation after the visitor selects a tab or promotes a card. */const[autoAdvancePaused,setAutoAdvancePaused]=useState(false);// Sync active index when default tab or stack size changes (skip no-op sets).\nuseEffect(()=>{const cap=Math.max(0,cardSlotCount-1);const newIndex=Math.max(0,Math.min((defaultActiveTab??1)-1,cap));setActiveTabIndex(prev=>prev===newIndex?prev:newIndex);},[defaultActiveTab,cardSlotCount]);// ========================================\n// DERIVED STATE\n// ========================================\nconst buildFeature=(heading,description,buttonLabel,buttonId,buttonLink,buttonOpenInNewTab,image,imageUrl,imageSource,imageAlt,imageFit)=>{const hasButtonLink=buttonLink!=null&&getLinkUrl(buttonLink)!==\"\";const resolvedButtonLabel=resolveFeatureButtonLabel(buttonLabel);if(heading!==undefined||description!==undefined||isNonEmptyControlString(buttonLabel)||hasButtonLink||image!==undefined||imageUrl!==undefined||imageAlt!==undefined){return{heading,description,buttonLabel:resolvedButtonLabel||undefined,buttonId,buttonLink,buttonOpenInNewTab:buttonOpenInNewTab??false,image,imageUrl,imageSource,imageAlt,imageFit:imageFit??\"cover\"};}return undefined;};const feature1=buildFeature(feature1Heading,feature1Description,feature1ButtonLabel,feature1ButtonId,feature1ButtonLink,feature1ButtonOpenInNewTab,feature1Image,feature1ImageUrl,feature1ImageSource,feature1ImageAlt,feature1ImageFit);const feature2=buildFeature(feature2Heading,feature2Description,feature2ButtonLabel,feature2ButtonId,feature2ButtonLink,feature2ButtonOpenInNewTab,feature2Image,feature2ImageUrl,feature2ImageSource,feature2ImageAlt,feature2ImageFit);const feature3=buildFeature(feature3Heading,feature3Description,feature3ButtonLabel,feature3ButtonId,feature3ButtonLink,feature3ButtonOpenInNewTab,feature3Image,feature3ImageUrl,feature3ImageSource,feature3ImageAlt,feature3ImageFit);const feature4=buildFeature(feature4Heading,feature4Description,feature4ButtonLabel,feature4ButtonId,feature4ButtonLink,feature4ButtonOpenInNewTab,feature4Image,feature4ImageUrl,feature4ImageSource,feature4ImageAlt,feature4ImageFit);const feature5=buildFeature(feature5Heading,feature5Description,feature5ButtonLabel,feature5ButtonId,feature5ButtonLink,feature5ButtonOpenInNewTab,feature5Image,feature5ImageUrl,feature5ImageSource,feature5ImageAlt,feature5ImageFit);const feature6=buildFeature(feature6Heading,feature6Description,feature6ButtonLabel,feature6ButtonId,feature6ButtonLink,feature6ButtonOpenInNewTab,feature6Image,feature6ImageUrl,feature6ImageSource,feature6ImageAlt,feature6ImageFit);const FEATURE_KEYS=[feature1,feature2,feature3,feature4,feature5,feature6];const features=Array.from({length:Math.min(6,cardSlotCount)},(_,i)=>{// Only slots within \"Number of Features\" use Framer props; beyond that we\n// show empty cards (e.g. extra tabs). Otherwise defaults like placeholder\n// image URLs on feature4+ would leak into the stack when numFeatures is lower.\nconst slot=i<effectiveNumFeatures?FEATURE_KEYS[i]:undefined;return slot??EMPTY_FEATURE_SLOT;});// Auto-advance / progress overlay follow every visible tab on larger breakpoints.\nconst tabCycleLength=cardSlotCount;// Auto-advance tabs every 8s. Interval is stable (does not depend on\n// activeTabIndex) to avoid extra effect churn. Disabled when reduced motion\n// is preferred, Framer is static-rendering, tabs are hidden, fewer than\n// two slots are configured, or the visitor has selected a tab manually.\nuseEffect(()=>{if(reducedMotion||isStaticRenderer||isFramerStaticMotionContext())return undefined;if(!showManualTabs)return undefined;if(tabCycleLength<2)return undefined;if(autoAdvancePaused)return undefined;const id=window.setInterval(()=>{setActiveTabIndex(prev=>(prev+1)%tabCycleLength);},AUTO_ADVANCE_MS);return()=>window.clearInterval(id);},[autoAdvancePaused,isStaticRenderer,reducedMotion,showManualTabs,tabCycleLength]);const isImageLeft=imagePosition===\"left\";const hasFeatures=features&&features.length>0;const hasHeader=Boolean(heading)||Boolean(description)||showDisclaimer;const hasCMS=contentSource===\"cms\";const isCanvas=isFramerDesignEnvironment();// Panel IDs for TabsGroup and accessibility.\nconst tabPanelIds=React.useMemo(()=>{const panelIdProps=[panel1Id,panel2Id,panel3Id,panel4Id,panel5Id,panel6Id];return Array.from({length:Math.min(6,cardSlotCount)},(_,i)=>resolveIndexedPanelId(panelIdProps[i],idPrefix,i));},[cardSlotCount,idPrefix,panel1Id,panel2Id,panel3Id,panel4Id,panel5Id,panel6Id]);// `\"default\"` deliberately leaves customIcon empty while iconType stays leading,\n// so TabsGroup supplies the exact same DEFAULT_TAB_ICONS used by SectionFeatureImageTabs.\nconst usesTabsGroupDefaultIcon=(icon,index)=>!icon||icon===\"default\"||icon===LEGACY_BUNQ_TAB_ICON_DEFAULTS[index];const resolveTabIcon=(icon,index)=>{if(!icon||icon===\"none\"||usesTabsGroupDefaultIcon(icon,index))return undefined;const raw=getIconRaw(icon);if(!raw)return undefined;return zoomStandard24ViewBox(raw,ZOOM_STANDARD_24_TAB_STRIP_INSET);};const tabIconType=icon=>!icon||icon===\"none\"?\"icon-none\":\"icon-leading\";// Handle tab change from TabsGroup (1-based index).\nconst handleTabChange=React.useCallback(tabIndex=>{const index=tabIndex-1;setAutoAdvancePaused(true);setActiveTabIndex(index);onTabChange?.(tabIndex);},[onTabChange]);// ========================================\n// STACK SIZE MEASUREMENT (desktop / tablet deck only)\n// ========================================\nconst stackRef=useRef(null);const phoneScrollRef=useRef(null);const cmsRowRef=useRef(null);/** Monotonic max height so tab transitions and image load never shrink the stack. */const[stackHeightPx,setStackHeightPx]=useState(0);useEffect(()=>{if(usePhoneCarouselLayout)return;const el=stackRef.current;if(!el)return;const update=()=>{const measured=measureStackBasisHeightPx(el);if(measured<=0)return;setStackHeightPx(previous=>measured>previous?measured:previous);};update();if(typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(update);ro.observe(el);return()=>ro.disconnect();},[cardSlotCount,activeTabIndex,features.length,usePhoneCarouselLayout]);// ========================================\n// STYLES\n// ========================================\n// Section container styles.\nconst sectionStyles={...getSectionRootBackgroundStyle({useMontserrat}),backgroundColor:sectionBgColor,width:\"100%\",maxWidth:\"100%\",minWidth:0,boxSizing:\"border-box\",paddingTop:getSectionPaddingY(breakpoint),paddingBottom:getSectionPaddingY(breakpoint),paddingLeft:getContainerPadding(breakpoint),paddingRight:getContainerPadding(breakpoint),...style};const containerStyles={...getSectionContentStackStyle(isGradient),maxWidth:getContainerMaxWidth(breakpoint),margin:\"0 auto\",width:\"100%\",minWidth:0,boxSizing:\"border-box\"};const headerStyles={...getCenteredSectionHeaderStackLayout(breakpoint,{marginBottom:getGap(\"lg\",breakpoint)})};const headingStyles={...getStandardSectionHeadlineStyles(breakpoint),color:colors.textPrimary,...PRESERVE_CONTROL_NEWLINES};const descriptionStyles={...getStandardSectionSubheadlineStyles(breakpoint),color:colors.textSecondary,...PRESERVE_CONTROL_NEWLINES};const disclaimerStyles={...Tokens.getTypographyStyles(\"/Legal/Default\",breakpoint),color:colors.textSecondary,margin:0,textAlign:\"center\",width:\"100%\",maxWidth:Tokens.getWidthValue(\"width-lg\"),...PRESERVE_CONTROL_NEWLINES};const tabsToStackGap=getGap(\"md\",breakpoint);const tabsStyles={marginBottom:0,position:\"relative\",zIndex:Tokens.getZIndex(\"elevated\")};const tabsInnerStyles={display:\"flex\",flexDirection:\"row\",flexWrap:\"wrap\",gap:getGap(\"xs\",breakpoint),minWidth:0};const cardsRegionTopMargin=showManualTabs?tabsToStackGap:undefined;const phoneCarouselGap=getGap(\"md\",breakpoint);const phoneCarouselListStyles=getTestimonialPhoneScrollListStyle(breakpoint,phoneCarouselGap,reducedMotion);const phoneCarouselOuterStyles={width:\"100%\",marginTop:cardsRegionTopMargin,minWidth:0};const phoneCarouselItemStyles={...getTestimonialPhoneScrollItemStyle(),borderRadius:getCardRadius(breakpoint,\"large\"),overflow:\"hidden\"};const cmsRowOuterStyles={width:\"100%\",minWidth:0};const responsiveCollectionList=useMemo(()=>injectBreakpointIntoCmsSlot(collectionList,breakpointProp),[collectionList,breakpointProp]);useCmsCollectionLayout(cmsRowRef,hasCMS&&Boolean(collectionList),phoneCarouselListStyles,phoneCarouselItemStyles,breakpointProp);const placeholderColors=getPlaceholderColors(colors);// Card stack — CSS Grid stacking so all cards occupy the same cell. The\n// cell sizes to the tallest card; transforms (yPercent / scale) below\n// are purely visual and don't affect wrapper layout.\nconst maxVisibleBehindCount=Math.max(0,STACK_MAX_VISIBLE_CARDS_DESKTOP-1);const visibleBehindCount=Math.min(maxVisibleBehindCount,Math.max(0,features.length-1));/**\n         * Vertical room for cards translated up by `-displayIndex * STACK_OFFSET_PERCENT` (and scale).\n         * Slight buffer because subpixels, filters, and `%` motion can exceed the naive sum.\n         */const peekRoomPx=getStackClipPeekPaddingPx(stackHeightPx,visibleBehindCount);const stackClipMinHeightPx=stackHeightPx>0?stackHeightPx+peekRoomPx:undefined;/** Gap below tabs; peek headroom lives in padding-top inside the clip, not via negative margin. */const stackTopMargin=cardsRegionTopMargin;/**\n         * Clip + round the deck. Padding-top reserves room for behind-cards translated upward;\n         * marginTop keeps a positive gap so the deck never overlaps the tab strip.\n         */const cardStackClipStyles={width:\"100%\",marginTop:stackTopMargin,paddingTop:peekRoomPx>0?peekRoomPx:undefined,minHeight:stackClipMinHeightPx,perspective:\"1400px\",overflow:\"hidden\",borderRadius:getCardRadius(breakpoint,\"large\"),order:isImageLeft&&!isCanvasPhone?1:2,isolation:\"isolate\",minWidth:0,flexShrink:0};const cardStackGridStyles={display:\"grid\",gridTemplateAreas:\"'stack'\",width:\"100%\",minWidth:0,minHeight:stackHeightPx>0?stackHeightPx:undefined};// Per-card outer wrapper — sits inside the grid cell, holds transforms.\n// Grid stretches all layers to the same row height; CardFeatureSplit must use fillHeight so no transparent gap shows lower stack layers through.\nconst cardWrapperStyles={gridArea:\"stack\",position:\"relative\",width:\"100%\",height:\"100%\",minWidth:0,transformOrigin:\"bottom center\",willChange:\"transform, filter, opacity\"};/** Top strip height for click-to-promote on deck cards behind the front card. */const getStackPeekHitHeightPercent=displayIndex=>Math.min(36,STACK_OFFSET_PERCENT*displayIndex+16);// ========================================\n// ANIMATION VARIANTS\n// ========================================\nconst{container:containerVariants,item:itemVariants}=useMemo(()=>createSectionVariants(reducedMotion,{stagger:Tokens.getStagger(\"loose\"),yOffset:20}),[reducedMotion]);// Stack transition (per-card spring for the offset/scale/dim).\nconst stackTransition=reducedMotion?{duration:0}:Tokens.getSpring(\"gentle\");const renderFeatureCard=(feature,isActiveCard)=>{const frontButtonLabel=resolveFeatureButtonLabel(feature.buttonLabel);const hasCardButton=isNonEmptyControlString(frontButtonLabel);return /*#__PURE__*/_jsx(CardFeatureSplit,{imageFit:feature.imageFit??\"cover\",breakpoint:breakpointProp,theme:theme,surface:surface,imagePosition:imagePosition,headingTag:\"h2\",heading:feature.heading,description:feature.description,disclaimer:cardDisclaimer,disclaimerUrl:cardDisclaimerUrl,buttonLabel:hasCardButton?frontButtonLabel:\"\",buttonVisuallyHidden:hasCardButton&&!isActiveCard,buttonId:feature.buttonId,buttonTabIndex:isActiveCard?undefined:-1,buttonVariant:\"ghost\",buttonLink:hasCardButton?feature.buttonLink:undefined,buttonOpenInNewTab:feature.buttonOpenInNewTab,onButtonClick:feature.onButtonClick,imageSource:feature.imageSource,image:feature.image,imageUrl:feature.imageUrl,imageAlt:feature.imageAlt,fillHeight:!usePhoneCarouselLayout,fullWidthButton:usePhoneCarouselLayout});};const handlePhoneCarouselKeyDown=event=>{const target=event.currentTarget;const step=Math.max(target.clientWidth*.8,120);if(event.key===\"ArrowRight\"){event.preventDefault();target.scrollBy({left:step,behavior:reducedMotion?\"auto\":\"smooth\"});}else if(event.key===\"ArrowLeft\"){event.preventDefault();target.scrollBy({left:-step,behavior:reducedMotion?\"auto\":\"smooth\"});}};/**\n         * Phone carousel keyboard target — keep out of the document tab order on load\n         * (`tabIndex={-1}`) so Framer preview / programmatic focus does not scroll the\n         * page down to this section. Activate with preventScroll on pointer down so\n         * arrow keys still work after the user taps the strip.\n         */const handlePhoneCarouselPointerDown=event=>{if(event.currentTarget!==document.activeElement){event.currentTarget.focus({preventScroll:true});}};// ========================================\n// RENDER\n// ========================================\nreturn /*#__PURE__*/_jsxs(motion.section,{ref:sectionRef,style:sectionStyles,id:sectionId?.trim()||idPrefix,\"aria-labelledby\":heading?headingId:undefined,initial:getSectionMotionInitial(animate,{hasMounted,isStaticRenderer,reducedMotion}),animate:animate,variants:containerVariants,...getSectionRestProps(rest),children:[backgroundLayer,/*#__PURE__*/_jsxs(\"div\",{style:containerStyles,children:[hasHeader&&/*#__PURE__*/_jsxs(motion.div,{style:headerStyles,variants:itemVariants,children:[heading&&/*#__PURE__*/_jsx(\"h2\",{id:headingId,style:headingStyles,children:kernHeadingPlainText(heading)}),description&&/*#__PURE__*/_jsx(\"p\",{style:descriptionStyles,children:description}),showDisclaimer&&/*#__PURE__*/_jsxs(\"p\",{style:disclaimerStyles,children:[\"*\",\" \",disclaimerHref?/*#__PURE__*/_jsx(\"a\",{href:disclaimerHref,style:{color:colors.textLink,textDecoration:\"underline\",textUnderlineOffset:Tokens.getSpacing(2)},children:disclaimer}):disclaimer]})]}),hasCMS&&/*#__PURE__*/_jsxs(motion.div,{style:cmsRowOuterStyles,variants:itemVariants,children:[/*#__PURE__*/_jsx(\"style\",{children:PHONE_CAROUSEL_SCROLLBAR_HIDE_STYLE}),/*#__PURE__*/_jsx(\"div\",{ref:cmsRowRef,style:phoneCarouselListStyles,\"data-bunq-feature-card-image-stack-hscroll\":\"true\",role:\"region\",\"aria-label\":cardsAriaLabel,children:collectionList?responsiveCollectionList:isCanvas?Array.from({length:3}).map((_,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{...phoneCarouselItemStyles,minHeight:Tokens.getSpacing(320),display:\"flex\",flexDirection:\"column\",gap:Tokens.getSpacing(12),padding:Tokens.getSpacing(24),backgroundColor:placeholderColors.bgLight},children:[/*#__PURE__*/_jsx(\"div\",{style:{height:Tokens.getSpacing(160),width:\"100%\",backgroundColor:placeholderColors.bgMedium,borderRadius:Tokens.getRadius(\"radius-xl\")}}),/*#__PURE__*/_jsx(\"div\",{style:{height:Tokens.getSpacing(20),width:\"60%\",backgroundColor:placeholderColors.bgMedium,borderRadius:Tokens.getRadius(\"radius-xs\")}}),/*#__PURE__*/_jsx(\"div\",{style:{height:Tokens.getSpacing(16),width:\"80%\",backgroundColor:placeholderColors.bgLight,borderRadius:Tokens.getRadius(\"radius-xs\")}})]},`cms-skeleton-${i}`)):null})]}),!hasCMS&&showManualTabs&&/*#__PURE__*/_jsx(motion.div,{style:tabsStyles,variants:itemVariants,children:/*#__PURE__*/_jsx(\"div\",{style:tabsInnerStyles,children:/*#__PURE__*/_jsx(TabsGroup,{breakpoint:breakpoint,id:`${idPrefix}-tabs`,numTabs:cardSlotCount,theme:theme,surface:tabSurface,accentColors:TAB_ACCENT_COLORS,autoAdvanceMs:reducedMotion||isStaticRenderer||!showManualTabs||tabCycleLength<2||autoAdvancePaused?0:AUTO_ADVANCE_MS,activeTab:activeTabIndex+1,tab1Label:tab1Label,tab1Id:tab1Id,tab1IconType:tabIconType(tab1Icon),tab1CustomIcon:resolveTabIcon(tab1Icon,0),tab2Label:tab2Label,tab2Id:tab2Id,tab2IconType:tabIconType(tab2Icon),tab2CustomIcon:resolveTabIcon(tab2Icon,1),tab3Label:tab3Label,tab3Id:tab3Id,tab3IconType:tabIconType(tab3Icon),tab3CustomIcon:resolveTabIcon(tab3Icon,2),tab4Label:tab4Label,tab4Id:tab4Id,tab4IconType:tabIconType(tab4Icon),tab4CustomIcon:resolveTabIcon(tab4Icon,3),tab5Label:tab5Label,tab5Id:tab5Id,tab5IconType:tabIconType(tab5Icon),tab5CustomIcon:resolveTabIcon(tab5Icon,4),tab6Label:tab6Label,tab6Id:tab6Id,tab6IconType:tabIconType(tab6Icon),tab6CustomIcon:resolveTabIcon(tab6Icon,5),onChange:handleTabChange,ariaLabel:sectionsAriaLabel,numPanelIds:cardSlotCount,panelId1:tabPanelIds[0],panelId2:tabPanelIds[1],panelId3:tabPanelIds[2],panelId4:tabPanelIds[3],panelId5:tabPanelIds[4],panelId6:tabPanelIds[5]})})}),!hasCMS&&hasFeatures&&usePhoneCarouselLayout&&/*#__PURE__*/_jsxs(motion.div,{style:phoneCarouselOuterStyles,variants:itemVariants,children:[/*#__PURE__*/_jsx(\"style\",{children:PHONE_CAROUSEL_SCROLLBAR_HIDE_STYLE}),/*#__PURE__*/_jsx(\"div\",{ref:phoneScrollRef,style:phoneCarouselListStyles,\"data-bunq-feature-card-image-stack-hscroll\":\"true\",role:\"region\",\"aria-roledescription\":\"carousel\",\"aria-label\":cardsAriaLabel,tabIndex:-1,onPointerDown:handlePhoneCarouselPointerDown,onKeyDown:handlePhoneCarouselKeyDown,children:features.map((feature,i)=>{const panelId=i<tabPanelIds.length?tabPanelIds[i]:undefined;const cardLabel=feature.heading?`Feature card ${i+1} of ${features.length}: ${feature.heading}`:`Feature card ${i+1} of ${features.length}`;return /*#__PURE__*/_jsx(\"div\",{id:panelId,role:\"group\",\"aria-roledescription\":\"slide\",\"aria-label\":cardLabel,style:phoneCarouselItemStyles,children:renderFeatureCard(feature,true)},`phone-card-${i}`);})})]}),!hasCMS&&hasFeatures&&!usePhoneCarouselLayout&&/*#__PURE__*/_jsx(motion.div,{style:cardStackClipStyles,variants:itemVariants,role:\"region\",\"aria-roledescription\":\"card stack\",\"aria-label\":\"Feature card stack\",children:/*#__PURE__*/_jsx(\"div\",{ref:stackRef,style:cardStackGridStyles,children:features.map((feature,i)=>{const activeIndex=Math.min(activeTabIndex,features.length-1);// displayIndex: 0 = front, 1 = next behind, etc.\nconst displayIndex=(i-activeIndex+features.length)%features.length;const isFront=displayIndex===0;const beyondVisible=displayIndex>maxVisibleBehindCount;// Stack transforms — negative Y peeks cards above the front (matches CardStack).\nconst stackTranslateYPercent=`-${displayIndex*STACK_OFFSET_PERCENT}%`;const scale=Math.max(.05,1-displayIndex*STACK_SCALE_STEP);const brightness=Math.max(.1,1-displayIndex*STACK_DIM_STEP);const opacity=beyondVisible?0:1;const zIndex=features.length-displayIndex;const panelId=i<tabPanelIds.length?tabPanelIds[i]:undefined;const handleCardClick=()=>{if(!isFront&&!beyondVisible){setAutoAdvancePaused(true);setActiveTabIndex(i);onTabChange?.(i+1);}};const cardKey=`card-${i}`;const cardLabel=feature.heading?`${feature.heading}${isFront?\"\":\" — bring to front\"}`:`Feature card ${i+1}${isFront?\"\":\" — bring to front\"}`;return /*#__PURE__*/_jsxs(motion.div,{id:panelId,role:isFront?\"tabpanel\":undefined,tabIndex:-1,\"aria-label\":isFront?undefined:cardLabel,\"aria-hidden\":!isFront||beyondVisible?true:undefined,inert:beyondVisible?true:undefined,style:{...cardWrapperStyles,zIndex,// Only the front card receives clicks on its CTA. Deck cards sit in the\n// same grid cell with transforms/filters; full-size wrappers with\n// pointer-events enabled steal clicks from the front button (Safari/WebKit).\npointerEvents:isFront?\"auto\":\"none\"},initial:false,layout:false,animate:{y:stackTranslateYPercent,scale,opacity,filter:`brightness(${brightness})`},transition:stackTransition,children:[!isFront&&!beyondVisible&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:handleCardClick,\"aria-label\":cardLabel,tabIndex:-1,style:{position:\"absolute\",top:0,left:0,right:0,height:`${getStackPeekHitHeightPercent(displayIndex)}%`,margin:0,padding:0,border:\"none\",background:\"transparent\",cursor:\"pointer\",pointerEvents:\"auto\",zIndex:Tokens.getZIndex(\"elevated\")}}),/*#__PURE__*/_jsx(\"div\",{...!isFront?{inert:true}:{},style:{width:\"100%\",height:\"100%\",minWidth:0},children:renderFeatureCard(feature,isFront)})]},cardKey);})})}),children]})]});});/**\n * SectionFeatureCardImageStack - Wrapper component for Framer compatibility.\n */export default function SectionFeatureCardImageStack(props){const ref=useRef(null);const breakpoint=useEffectiveBreakpoint(props.breakpoint??\"desktop\");return /*#__PURE__*/_jsx(\"div\",{style:{...getSectionWrapperStyles(breakpoint),...props.style},children:/*#__PURE__*/_jsx(SectionFeatureCardImageStackInternal,{...props,ref:ref})});}SectionFeatureCardImageStack.displayName=\"Section Feature Card Image Stack - Organism\";// ============================================\n// PROPERTY CONTROLS\n// ============================================\n/** Mirrors runtime tab strip length for Framer control visibility (max of tabs vs features when tab bar on). */function sectionFeatureCardImageStackRenderedTabCount(p){const nf=Math.min(6,Math.max(1,p.numFeatures??6));const nt=Math.min(6,Math.max(2,typeof p.numTabs===\"number\"?p.numTabs:6));if((p.numTabs??3)<2)return 0;return Math.min(6,Math.max(nt,nf));}addPropertyControls(SectionFeatureCardImageStack,{// ─── 1. Content ────────────────────────────────────────────────────────────\nheading:{type:ControlType.String,title:\"Headline\",defaultValue:\"Short section heading goes here\",placeholder:\"e.g. Short headline (one line)\",description:\"Main heading text for the section.\",displayTextArea:true},description:{type:ControlType.String,title:\"Subheadline\",defaultValue:PLACEHOLDER.DESCRIPTION,placeholder:\"One or two sentences describing the section\",description:\"Description or body text shown below the heading.\",displayTextArea:true},disclaimer:{type:ControlType.String,title:\"Section Intro Disclaimer\",defaultValue:\"Terms and conditions apply.\",placeholder:\"e.g. Terms and conditions apply.\",description:\"Small text below the section heading and intro copy (above the tab bar). Leave empty to hide. Separate from the card footnote.\",displayTextArea:true},cardDisclaimer:{type:ControlType.String,title:\"Card Disclaimer\",defaultValue:\"\",placeholder:\"e.g. \\xb9 Terms and conditions apply.\",description:\"Footnote on each stacked card (below the card body, above the CTA). Leave empty to hide. Shown on every visible card.\",displayTextArea:true},// ─── 2. Links ──────────────────────────────────────────────────────────────\ndisclaimerUrl:{type:ControlType.Link,title:\"Section Intro Disclaimer Link\",defaultValue:\"\",description:\"Optional link applied to the section intro disclaimer. Leave empty for plain text.\"},cardDisclaimerUrl:{type:ControlType.Link,title:\"Card Disclaimer Link\",defaultValue:\"\",description:\"Optional link wrapping the card disclaimer text when Card Disclaimer is set.\"},// ─── 4. Content Source ─────────────────────────────────────────────────────\ncontentSource:{type:ControlType.Enum,title:\"Content Source\",options:[\"manual\",\"cms\"],optionTitles:[\"Manual\",\"CMS\"],displaySegmentedControl:true,defaultValue:\"manual\",description:\"Manual: animated card stack with tabs. CMS: connect a Framer Collection List rendered as a horizontal scroll row.\"},collectionList:{type:ControlType.ComponentInstance,title:\"Collection List\",description:\"Connect a Framer CMS Collection List. Used when Content Source is CMS.\",hidden:p=>p.contentSource!==\"cms\"},// ─── 5. Per-item groups ────────────────────────────────────────────────────\nfeature1Heading:{type:ControlType.String,title:\"Feature 1 Headline\",defaultValue:PLACEHOLDER.HEADING,placeholder:\"e.g. Short headline (one line)\",description:\"Heading for feature 1.\",hidden:p=>p.contentSource===\"cms\"},feature1Description:{type:ControlType.String,title:\"Feature 1 Supporting Text\",defaultValue:PLACEHOLDER.DESCRIPTION,placeholder:\"One or two sentences describing the section\",displayTextArea:true,description:\"Description for feature 1.\",hidden:p=>p.contentSource===\"cms\"},feature1ButtonLabel:{type:ControlType.String,title:\"Feature 1 Button Label\",defaultValue:\"\",placeholder:\"Enter button label...\",description:\"Label for the feature's call-to-action button. Leave empty to hide the CTA on the card.\",hidden:p=>p.contentSource===\"cms\"},feature1ButtonLink:{type:ControlType.Link,defaultValue:\"\",title:\"Feature 1 Button Link\",description:\"Destination for the Feature 1 CTA. When set, the button renders as a link.\",hidden:p=>p.contentSource===\"cms\"},feature1ButtonOpenInNewTab:{type:ControlType.Boolean,title:\"Feature 1 Button Opens in New Tab\",defaultValue:false,enabledTitle:\"New Tab\",disabledTitle:\"Same Tab\",description:\"Only applies when Feature 1 Button Link is set.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const hasNoLink=!getLinkUrl(p?.feature1ButtonLink);return isCMS||hasNoLink;}},feature1ImageSource:{type:ControlType.Boolean,title:\"Feature 1 Image Source\",defaultValue:true,enabledTitle:\"File\",disabledTitle:\"URL\",description:\"Image source: File upload or URL.\",hidden:p=>p.contentSource===\"cms\"},feature1Image:{type:ControlType.ResponsiveImage,title:\"Feature 1 Image\",description:\"Image from file upload. Shown when Source is File.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isUrlSource=!p.feature1ImageSource;return isCMS||isUrlSource;}},feature1ImageUrl:{type:ControlType.String,title:\"Feature 1 Image URL\",defaultValue:PLACEHOLDER.IMAGE,placeholder:HINT_IMAGE_URL,description:\"Fallback URL when Source is File but no file is uploaded; or primary URL when Source is URL.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isFileSource=p.feature1ImageSource===true;return isCMS||isFileSource;}},feature1ImageAlt:{type:ControlType.String,title:\"Feature 1 Image Alt\",defaultValue:PLACEHOLDER.IMAGE_ALT,placeholder:HINT_IMAGE_ALT,description:\"Alt text for feature 1 image. Only needed for URL images; File uploads use their own alt.\",hidden:p=>p.contentSource===\"cms\"||p.feature1ImageSource===true},feature1ImageFit:{type:ControlType.Enum,title:\"Feature 1 Image Fit\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"],displaySegmentedControl:true,defaultValue:\"cover\",description:\"How feature 1's image fits its container.\",hidden:p=>p.contentSource===\"cms\"},feature1ButtonId:{type:ControlType.String,title:\"Feature 1 Button ID\",defaultValue:\"section-feature-card-image-stack-feature-1-cta\",placeholder:\"e.g. section-stack-feature-1-cta\",description:\"Unique ID for the Feature 1 button for Contentsquare analytics (lowercase, hyphen-separated).\",hidden:p=>p.contentSource===\"cms\"},feature2Heading:{type:ControlType.String,title:\"Feature 2 Headline\",defaultValue:PLACEHOLDER.HEADING,placeholder:\"e.g. Short headline (one line)\",description:\"Heading for this feature.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<2;return isCMS||isBelowCount;}},feature2Description:{type:ControlType.String,title:\"Feature 2 Supporting Text\",defaultValue:PLACEHOLDER.DESCRIPTION,placeholder:\"One or two sentences describing the section\",displayTextArea:true,description:\"Description for this feature.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<2;return isCMS||isBelowCount;}},feature2ButtonLabel:{type:ControlType.String,title:\"Feature 2 Button Label\",defaultValue:\"\",placeholder:\"Enter button label...\",description:\"Label for the feature's call-to-action button. Leave empty to hide the CTA on the card.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<2;return isCMS||isBelowCount;}},feature2ButtonLink:{type:ControlType.Link,defaultValue:\"\",title:\"Feature 2 Button Link\",description:\"Destination for the Feature 2 CTA. When set, the button renders as a link.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<2;return isCMS||isBelowCount;}},feature2ButtonOpenInNewTab:{type:ControlType.Boolean,title:\"Feature 2 Button Opens in New Tab\",defaultValue:false,enabledTitle:\"New Tab\",disabledTitle:\"Same Tab\",description:\"Only applies when Feature 2 Button Link is set.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<2;const hasNoLink=!getLinkUrl(p?.feature2ButtonLink);return isCMS||isBelowCount||hasNoLink;}},feature2ImageSource:{type:ControlType.Boolean,title:\"Feature 2 Image Source\",defaultValue:true,enabledTitle:\"File\",disabledTitle:\"URL\",description:\"Image source: File upload or URL.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<2;return isCMS||isBelowCount;}},feature2Image:{type:ControlType.ResponsiveImage,title:\"Feature 2 Image\",description:\"Image from file upload. Shown when Source is File.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<2;const isUrlSource=!p.feature2ImageSource;return isCMS||isBelowCount||isUrlSource;}},feature2ImageUrl:{type:ControlType.String,title:\"Feature 2 Image URL\",defaultValue:PLACEHOLDER.IMAGE,placeholder:HINT_IMAGE_URL,description:\"Fallback URL when Source is File but no file is uploaded; or primary URL when Source is URL.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<2;const isFileSource=p.feature2ImageSource===true;return isCMS||isBelowCount||isFileSource;}},feature2ImageAlt:{type:ControlType.String,title:\"Feature 2 Image Alt\",defaultValue:PLACEHOLDER.IMAGE_ALT,placeholder:HINT_IMAGE_ALT,description:\"Alt text for feature 2 image. Only needed for URL images; File uploads use their own alt.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<2;const isFileSource=p.feature2ImageSource===true;return isCMS||isBelowCount||isFileSource;}},feature2ImageFit:{type:ControlType.Enum,title:\"Feature 2 Image Fit\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"],displaySegmentedControl:true,defaultValue:\"cover\",description:\"How feature 2's image fits its container.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<2;return isCMS||isBelowCount;}},feature2ButtonId:{type:ControlType.String,title:\"Feature 2 Button ID\",defaultValue:\"section-feature-card-image-stack-feature-2-cta\",placeholder:\"e.g. section-stack-feature-2-cta\",description:\"Unique ID for the Feature 2 button for Contentsquare analytics (lowercase, hyphen-separated).\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<2;return isCMS||isBelowCount;}},feature3Heading:{type:ControlType.String,title:\"Feature 3 Headline\",defaultValue:PLACEHOLDER.HEADING,placeholder:\"e.g. Short headline (one line)\",description:\"Heading for this feature.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<3;return isCMS||isBelowCount;}},feature3Description:{type:ControlType.String,title:\"Feature 3 Supporting Text\",defaultValue:PLACEHOLDER.DESCRIPTION,placeholder:\"One or two sentences describing the section\",displayTextArea:true,description:\"Description for this feature.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<3;return isCMS||isBelowCount;}},feature3ButtonLabel:{type:ControlType.String,title:\"Feature 3 Button Label\",defaultValue:\"\",placeholder:\"Enter button label...\",description:\"Label for the feature's call-to-action button. Leave empty to hide the CTA on the card.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<3;return isCMS||isBelowCount;}},feature3ButtonLink:{type:ControlType.Link,defaultValue:\"\",title:\"Feature 3 Button Link\",description:\"Destination for the Feature 3 CTA. When set, the button renders as a link.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<3;return isCMS||isBelowCount;}},feature3ButtonOpenInNewTab:{type:ControlType.Boolean,title:\"Feature 3 Button Opens in New Tab\",defaultValue:false,enabledTitle:\"New Tab\",disabledTitle:\"Same Tab\",description:\"Only applies when Feature 3 Button Link is set.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<3;const hasNoLink=!getLinkUrl(p?.feature3ButtonLink);return isCMS||isBelowCount||hasNoLink;}},feature3ImageSource:{type:ControlType.Boolean,title:\"Feature 3 Image Source\",defaultValue:true,enabledTitle:\"File\",disabledTitle:\"URL\",description:\"Image source: File upload or URL.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<3;return isCMS||isBelowCount;}},feature3Image:{type:ControlType.ResponsiveImage,title:\"Feature 3 Image\",description:\"Image from file upload. Shown when Source is File.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<3;const isUrlSource=!p.feature3ImageSource;return isCMS||isBelowCount||isUrlSource;}},feature3ImageUrl:{type:ControlType.String,title:\"Feature 3 Image URL\",defaultValue:PLACEHOLDER.IMAGE,placeholder:HINT_IMAGE_URL,description:\"Fallback URL when Source is File but no file is uploaded; or primary URL when Source is URL.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<3;const isFileSource=p.feature3ImageSource===true;return isCMS||isBelowCount||isFileSource;}},feature3ImageAlt:{type:ControlType.String,title:\"Feature 3 Image Alt\",defaultValue:PLACEHOLDER.IMAGE_ALT,placeholder:HINT_IMAGE_ALT,description:\"Alt text for feature 3 image. Only needed for URL images; File uploads use their own alt.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<3;const isFileSource=p.feature3ImageSource===true;return isCMS||isBelowCount||isFileSource;}},feature3ImageFit:{type:ControlType.Enum,title:\"Feature 3 Image Fit\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"],displaySegmentedControl:true,defaultValue:\"cover\",description:\"How feature 3's image fits its container.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<3;return isCMS||isBelowCount;}},feature3ButtonId:{type:ControlType.String,title:\"Feature 3 Button ID\",defaultValue:\"section-feature-card-image-stack-feature-3-cta\",placeholder:\"e.g. section-stack-feature-3-cta\",description:\"Unique ID for the Feature 3 button for Contentsquare analytics (lowercase, hyphen-separated).\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<3;return isCMS||isBelowCount;}},feature4Heading:{type:ControlType.String,title:\"Feature 4 Headline\",defaultValue:PLACEHOLDER.HEADING,placeholder:\"e.g. Short headline (one line)\",description:\"Heading for this feature.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<4;return isCMS||isBelowCount;}},feature4Description:{type:ControlType.String,title:\"Feature 4 Supporting Text\",defaultValue:PLACEHOLDER.DESCRIPTION,placeholder:\"One or two sentences describing the section\",displayTextArea:true,description:\"Description for this feature.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<4;return isCMS||isBelowCount;}},feature4ButtonLabel:{type:ControlType.String,title:\"Feature 4 Button Label\",defaultValue:\"\",placeholder:\"Enter button label...\",description:\"Label for the feature's call-to-action button. Leave empty to hide the CTA on the card.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<4;return isCMS||isBelowCount;}},feature4ButtonLink:{type:ControlType.Link,defaultValue:\"\",title:\"Feature 4 Button Link\",description:\"Destination for the Feature 4 CTA. When set, the button renders as a link.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<4;return isCMS||isBelowCount;}},feature4ButtonOpenInNewTab:{type:ControlType.Boolean,title:\"Feature 4 Button Opens in New Tab\",defaultValue:false,enabledTitle:\"New Tab\",disabledTitle:\"Same Tab\",description:\"Only applies when Feature 4 Button Link is set.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<4;const hasNoLink=!getLinkUrl(p?.feature4ButtonLink);return isCMS||isBelowCount||hasNoLink;}},feature4ImageSource:{type:ControlType.Boolean,title:\"Feature 4 Image Source\",defaultValue:true,enabledTitle:\"File\",disabledTitle:\"URL\",description:\"Image source: File upload or URL.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<4;return isCMS||isBelowCount;}},feature4Image:{type:ControlType.ResponsiveImage,title:\"Feature 4 Image\",description:\"Image from file upload. Shown when Source is File.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<4;const isUrlSource=!p.feature4ImageSource;return isCMS||isBelowCount||isUrlSource;}},feature4ImageUrl:{type:ControlType.String,title:\"Feature 4 Image URL\",defaultValue:PLACEHOLDER.IMAGE,placeholder:HINT_IMAGE_URL,description:\"Fallback URL when Source is File but no file is uploaded; or primary URL when Source is URL.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<4;const isFileSource=p.feature4ImageSource===true;return isCMS||isBelowCount||isFileSource;}},feature4ImageAlt:{type:ControlType.String,title:\"Feature 4 Image Alt\",defaultValue:PLACEHOLDER.IMAGE_ALT,placeholder:HINT_IMAGE_ALT,description:\"Alt text for feature 4 image. Only needed for URL images; File uploads use their own alt.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<4;const isFileSource=p.feature4ImageSource===true;return isCMS||isBelowCount||isFileSource;}},feature4ImageFit:{type:ControlType.Enum,title:\"Feature 4 Image Fit\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"],displaySegmentedControl:true,defaultValue:\"cover\",description:\"How feature 4's image fits its container.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<4;return isCMS||isBelowCount;}},feature4ButtonId:{type:ControlType.String,title:\"Feature 4 Button ID\",defaultValue:\"section-feature-card-image-stack-feature-4-cta\",placeholder:\"e.g. section-stack-feature-4-cta\",description:\"Unique ID for the Feature 4 button for Contentsquare analytics (lowercase, hyphen-separated).\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<4;return isCMS||isBelowCount;}},feature5Heading:{type:ControlType.String,title:\"Feature 5 Headline\",defaultValue:PLACEHOLDER.HEADING,placeholder:\"e.g. Short headline (one line)\",description:\"Heading for this feature.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<5;return isCMS||isBelowCount;}},feature5Description:{type:ControlType.String,title:\"Feature 5 Supporting Text\",defaultValue:PLACEHOLDER.DESCRIPTION,placeholder:\"One or two sentences describing the section\",displayTextArea:true,description:\"Description for this feature.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<5;return isCMS||isBelowCount;}},feature5ButtonLabel:{type:ControlType.String,title:\"Feature 5 Button Label\",defaultValue:\"\",placeholder:\"Enter button label...\",description:\"Label for the feature's call-to-action button. Leave empty to hide the CTA on the card.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<5;return isCMS||isBelowCount;}},feature5ButtonLink:{type:ControlType.Link,defaultValue:\"\",title:\"Feature 5 Button Link\",description:\"Destination for the Feature 5 CTA. When set, the button renders as a link.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<5;return isCMS||isBelowCount;}},feature5ButtonOpenInNewTab:{type:ControlType.Boolean,title:\"Feature 5 Button Opens in New Tab\",defaultValue:false,enabledTitle:\"New Tab\",disabledTitle:\"Same Tab\",description:\"Only applies when Feature 5 Button Link is set.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<5;const hasNoLink=!getLinkUrl(p?.feature5ButtonLink);return isCMS||isBelowCount||hasNoLink;}},feature5ImageSource:{type:ControlType.Boolean,title:\"Feature 5 Image Source\",defaultValue:true,enabledTitle:\"File\",disabledTitle:\"URL\",description:\"Image source: File upload or URL.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<5;return isCMS||isBelowCount;}},feature5Image:{type:ControlType.ResponsiveImage,title:\"Feature 5 Image\",description:\"Image from file upload. Shown when Source is File.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<5;const isUrlSource=!p.feature5ImageSource;return isCMS||isBelowCount||isUrlSource;}},feature5ImageUrl:{type:ControlType.String,title:\"Feature 5 Image URL\",defaultValue:PLACEHOLDER.IMAGE,placeholder:HINT_IMAGE_URL,description:\"Fallback URL when Source is File but no file is uploaded; or primary URL when Source is URL.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<5;const isFileSource=p.feature5ImageSource===true;return isCMS||isBelowCount||isFileSource;}},feature5ImageAlt:{type:ControlType.String,title:\"Feature 5 Image Alt\",defaultValue:PLACEHOLDER.IMAGE_ALT,placeholder:HINT_IMAGE_ALT,description:\"Alt text for feature 5 image. Only needed for URL images; File uploads use their own alt.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<5;const isFileSource=p.feature5ImageSource===true;return isCMS||isBelowCount||isFileSource;}},feature5ImageFit:{type:ControlType.Enum,title:\"Feature 5 Image Fit\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"],displaySegmentedControl:true,defaultValue:\"cover\",description:\"How feature 5's image fits its container.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<5;return isCMS||isBelowCount;}},feature5ButtonId:{type:ControlType.String,title:\"Feature 5 Button ID\",defaultValue:\"section-feature-card-image-stack-feature-5-cta\",placeholder:\"e.g. section-stack-feature-5-cta\",description:\"Unique ID for the Feature 5 button for Contentsquare analytics (lowercase, hyphen-separated).\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<5;return isCMS||isBelowCount;}},feature6Heading:{type:ControlType.String,title:\"Feature 6 Headline\",defaultValue:PLACEHOLDER.HEADING,placeholder:\"e.g. Short headline (one line)\",description:\"Heading for this feature.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<6;return isCMS||isBelowCount;}},feature6Description:{type:ControlType.String,title:\"Feature 6 Supporting Text\",defaultValue:PLACEHOLDER.DESCRIPTION,placeholder:\"One or two sentences describing the section\",displayTextArea:true,description:\"Description for this feature.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<6;return isCMS||isBelowCount;}},feature6ButtonLabel:{type:ControlType.String,title:\"Feature 6 Button Label\",defaultValue:\"\",placeholder:\"Enter button label...\",description:\"Label for the feature's call-to-action button. Leave empty to hide the CTA on the card.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<6;return isCMS||isBelowCount;}},feature6ButtonLink:{type:ControlType.Link,defaultValue:\"\",title:\"Feature 6 Button Link\",description:\"Destination for the Feature 6 CTA. When set, the button renders as a link.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<6;return isCMS||isBelowCount;}},feature6ButtonOpenInNewTab:{type:ControlType.Boolean,title:\"Feature 6 Button Opens in New Tab\",defaultValue:false,enabledTitle:\"New Tab\",disabledTitle:\"Same Tab\",description:\"Only applies when Feature 6 Button Link is set.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<6;const hasNoLink=!getLinkUrl(p?.feature6ButtonLink);return isCMS||isBelowCount||hasNoLink;}},feature6ImageSource:{type:ControlType.Boolean,title:\"Feature 6 Image Source\",defaultValue:true,enabledTitle:\"File\",disabledTitle:\"URL\",description:\"Image source: File upload or URL.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<6;return isCMS||isBelowCount;}},feature6Image:{type:ControlType.ResponsiveImage,title:\"Feature 6 Image\",description:\"Image from file upload. Shown when Source is File.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<6;const isUrlSource=!p.feature6ImageSource;return isCMS||isBelowCount||isUrlSource;}},feature6ImageUrl:{type:ControlType.String,title:\"Feature 6 Image URL\",defaultValue:PLACEHOLDER.IMAGE,placeholder:HINT_IMAGE_URL,description:\"Fallback URL when Source is File but no file is uploaded; or primary URL when Source is URL.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<6;const isFileSource=p.feature6ImageSource===true;return isCMS||isBelowCount||isFileSource;}},feature6ImageAlt:{type:ControlType.String,title:\"Feature 6 Image Alt\",defaultValue:PLACEHOLDER.IMAGE_ALT,placeholder:HINT_IMAGE_ALT,description:\"Alt text for feature 6 image. Only needed for URL images; File uploads use their own alt.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<6;const isFileSource=p.feature6ImageSource===true;return isCMS||isBelowCount||isFileSource;}},feature6ImageFit:{type:ControlType.Enum,title:\"Feature 6 Image Fit\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"],displaySegmentedControl:true,defaultValue:\"cover\",description:\"How feature 6's image fits its container.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<6;return isCMS||isBelowCount;}},feature6ButtonId:{type:ControlType.String,title:\"Feature 6 Button ID\",defaultValue:\"section-feature-card-image-stack-feature-6-cta\",placeholder:\"e.g. section-stack-feature-6-cta\",description:\"Unique ID for the Feature 6 button for Contentsquare analytics (lowercase, hyphen-separated).\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numFeatures??6)<6;return isCMS||isBelowCount;}},tab1Label:{type:ControlType.String,title:\"Tab 1 Label\",defaultValue:\"Tab 1\",placeholder:\"Enter tab label...\",description:\"Label for tab 1.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numTabs??3)<2;return isCMS||isBelowCount;}},tab1Icon:{type:ControlType.Enum,title:\"Tab 1 Icon\",options:[...TAB_ICON_OPTIONS],optionTitles:TAB_ICON_OPTIONS.map(c=>TAB_ICON_OPTION_TITLES[c]),defaultValue:\"default\",description:\"Icon for tab 1. Default matches SectionFeatureImageTabs; select None to hide.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numTabs??3)<2;return isCMS||isBelowCount;}},tab2Label:{type:ControlType.String,title:\"Tab 2 Label\",defaultValue:\"Tab 2\",placeholder:\"Enter tab label...\",description:\"Label for tab 2.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowTabCount=(p.numTabs??3)<2;const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<2;return isCMS||isBelowTabCount||isBelowRenderedCount;}},tab2Icon:{type:ControlType.Enum,title:\"Tab 2 Icon\",options:[...TAB_ICON_OPTIONS],optionTitles:TAB_ICON_OPTIONS.map(c=>TAB_ICON_OPTION_TITLES[c]),defaultValue:\"default\",description:\"Icon for tab 2. Default matches SectionFeatureImageTabs; select None to hide.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowTabCount=(p.numTabs??3)<2;const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<2;return isCMS||isBelowTabCount||isBelowRenderedCount;}},tab3Label:{type:ControlType.String,title:\"Tab 3 Label\",defaultValue:\"Tab 3\",placeholder:\"Enter tab label...\",description:\"Label for tab 3.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowTabCount=(p.numTabs??3)<2;const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<3;return isCMS||isBelowTabCount||isBelowRenderedCount;}},tab3Icon:{type:ControlType.Enum,title:\"Tab 3 Icon\",options:[...TAB_ICON_OPTIONS],optionTitles:TAB_ICON_OPTIONS.map(c=>TAB_ICON_OPTION_TITLES[c]),defaultValue:\"default\",description:\"Icon for tab 3. Default matches SectionFeatureImageTabs; select None to hide.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowTabCount=(p.numTabs??3)<2;const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<3;return isCMS||isBelowTabCount||isBelowRenderedCount;}},tab4Label:{type:ControlType.String,title:\"Tab 4 Label\",defaultValue:\"Tab 4\",placeholder:\"Enter tab label...\",description:\"Label for tab 4.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowTabCount=(p.numTabs??3)<2;const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<4;return isCMS||isBelowTabCount||isBelowRenderedCount;}},tab4Icon:{type:ControlType.Enum,title:\"Tab 4 Icon\",options:[...TAB_ICON_OPTIONS],optionTitles:TAB_ICON_OPTIONS.map(c=>TAB_ICON_OPTION_TITLES[c]),defaultValue:\"default\",description:\"Icon for tab 4. Default matches SectionFeatureImageTabs; select None to hide.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowTabCount=(p.numTabs??3)<2;const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<4;return isCMS||isBelowTabCount||isBelowRenderedCount;}},tab5Label:{type:ControlType.String,title:\"Tab 5 Label\",defaultValue:\"Tab 5\",placeholder:\"Enter tab label...\",description:\"Label for tab 5.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowTabCount=(p.numTabs??3)<2;const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<5;return isCMS||isBelowTabCount||isBelowRenderedCount;}},tab5Icon:{type:ControlType.Enum,title:\"Tab 5 Icon\",options:[...TAB_ICON_OPTIONS],optionTitles:TAB_ICON_OPTIONS.map(c=>TAB_ICON_OPTION_TITLES[c]),defaultValue:\"default\",description:\"Icon for tab 5. Default matches SectionFeatureImageTabs; select None to hide.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowTabCount=(p.numTabs??3)<2;const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<5;return isCMS||isBelowTabCount||isBelowRenderedCount;}},tab6Label:{type:ControlType.String,title:\"Tab 6 Label\",defaultValue:\"Tab 6\",placeholder:\"Enter tab label...\",description:\"Label for tab 6.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowTabCount=(p.numTabs??3)<2;const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<6;return isCMS||isBelowTabCount||isBelowRenderedCount;}},tab6Icon:{type:ControlType.Enum,title:\"Tab 6 Icon\",options:[...TAB_ICON_OPTIONS],optionTitles:TAB_ICON_OPTIONS.map(c=>TAB_ICON_OPTION_TITLES[c]),defaultValue:\"default\",description:\"Icon for tab 6. Default matches SectionFeatureImageTabs; select None to hide.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowTabCount=(p.numTabs??3)<2;const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<6;return isCMS||isBelowTabCount||isBelowRenderedCount;}},// ─── 6. Configuration ──────────────────────────────────────────────────────\n...sectionBackgroundPropertyControls(),useMontserrat:{type:ControlType.Boolean,title:\"Use Montserrat\",enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:false,description:\"Temporary A/B experiment: replaces DM Sans with Montserrat. Defaults to No so production typography is unchanged.\"},numFeatures:{type:ControlType.Number,title:\"Number of Features\",min:1,max:6,step:1,defaultValue:3,displayStepper:true,description:\"Number of feature slots. Use 2 or more for automatic timed tab rotation.\",hidden:p=>p.contentSource===\"cms\"},imagePosition:{type:ControlType.Enum,title:\"Image Position\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],displaySegmentedControl:true,defaultValue:\"right\",description:\"Whether the card stack appears on the left or right of the text.\"},showTabs:{type:ControlType.Boolean,title:\"Show Tabs\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\",description:\"Show the tab bar above the card stack (manual mode only).\",hidden:p=>p.contentSource===\"cms\"},numTabs:{type:ControlType.Number,title:\"Number of Tabs\",defaultValue:3,min:2,max:6,step:1,displayStepper:true,description:\"Number of tab buttons. Set to 2 or more to show the tab bar; the strip expands to match Number of Features when higher.\",hidden:p=>p.contentSource===\"cms\"},defaultActiveTab:{type:ControlType.Number,title:\"Default Active Tab\",defaultValue:1,min:1,max:6,step:1,displayStepper:true,description:\"Default active tab (1-indexed). Drives which card sits on top of the stack.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowTabCount=(p.numTabs??3)<2;return isCMS||isBelowTabCount;}},// ─── 7. Behavior ───────────────────────────────────────────────────────────\nonTabChange:{type:ControlType.EventHandler,title:\"On Tab Change\",description:\"Tab change handler function.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowTabCount=(p.numTabs??3)<2;return isCMS||isBelowTabCount;}},// ─── 9. Advanced ───────────────────────────────────────────────────────────\ntab1Id:{type:ControlType.String,title:\"Tab 1 ID\",defaultValue:\"\",placeholder:HINT_ELEMENT_ID,description:\"Unique id for tab 1. Leave empty for an auto-generated id scoped to this section.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numTabs??3)<1;return isCMS||isBelowCount;}},tab2Id:{type:ControlType.String,title:\"Tab 2 ID\",defaultValue:\"\",placeholder:HINT_ELEMENT_ID,description:\"Unique id for tab 2.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numTabs??3)<2;return isCMS||isBelowCount;}},tab3Id:{type:ControlType.String,title:\"Tab 3 ID\",defaultValue:\"\",placeholder:HINT_ELEMENT_ID,description:\"Unique id for tab 3.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numTabs??3)<3;return isCMS||isBelowCount;}},tab4Id:{type:ControlType.String,title:\"Tab 4 ID\",defaultValue:\"\",placeholder:HINT_ELEMENT_ID,description:\"Unique id for tab 4.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<4;return isCMS||isBelowRenderedCount;}},tab5Id:{type:ControlType.String,title:\"Tab 5 ID\",defaultValue:\"\",placeholder:HINT_ELEMENT_ID,description:\"Unique id for tab 5.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<5;return isCMS||isBelowRenderedCount;}},tab6Id:{type:ControlType.String,title:\"Tab 6 ID\",defaultValue:\"\",placeholder:HINT_ELEMENT_ID,description:\"Unique id for tab 6.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<6;return isCMS||isBelowRenderedCount;}},panel1Id:{type:ControlType.String,title:\"Panel 1 ID\",defaultValue:\"\",placeholder:HINT_ELEMENT_ID,description:\"Unique id for tab panel 1 (card stack slot).\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numTabs??3)<1;return isCMS||isBelowCount;}},panel2Id:{type:ControlType.String,title:\"Panel 2 ID\",defaultValue:\"\",placeholder:HINT_ELEMENT_ID,description:\"Unique id for tab panel 2.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numTabs??3)<2;return isCMS||isBelowCount;}},panel3Id:{type:ControlType.String,title:\"Panel 3 ID\",defaultValue:\"\",placeholder:HINT_ELEMENT_ID,description:\"Unique id for tab panel 3.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowCount=(p.numTabs??3)<3;return isCMS||isBelowCount;}},panel4Id:{type:ControlType.String,title:\"Panel 4 ID\",defaultValue:\"\",placeholder:HINT_ELEMENT_ID,description:\"Unique id for tab panel 4.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<4;return isCMS||isBelowRenderedCount;}},panel5Id:{type:ControlType.String,title:\"Panel 5 ID\",defaultValue:\"\",placeholder:HINT_ELEMENT_ID,description:\"Unique id for tab panel 5.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<5;return isCMS||isBelowRenderedCount;}},panel6Id:{type:ControlType.String,title:\"Panel 6 ID\",defaultValue:\"\",placeholder:HINT_ELEMENT_ID,description:\"Unique id for tab panel 6.\",hidden:p=>{const isCMS=p.contentSource===\"cms\";const isBelowRenderedCount=sectionFeatureCardImageStackRenderedTabCount(p)<6;return isCMS||isBelowRenderedCount;}},// ─── 8. Accessibility ──────────────────────────────────────────────────────\ncardsAriaLabel:{type:ControlType.String,title:\"Cards Region Label\",defaultValue:\"Feature cards\",placeholder:\"Feature cards\",description:\"Accessible label for the card region (CMS row and phone carousel). Update for localisation.\"},sectionsAriaLabel:{type:ControlType.String,title:\"Sections Region Label\",defaultValue:\"Feature sections\",placeholder:\"Feature sections\",description:\"Accessible label for the tabs navigation region. Update for localisation.\"},sectionId:{type:ControlType.String,title:\"Section ID\",defaultValue:\"\",placeholder:\"e.g. section-name\",description:\"HTML id for the section and prefix for auto-generated tab/panel ids. Set a unique value per instance on the page.\"},// ─── 10. System ────────────────────────────────────────────────────────────\nbreakpoint:{type:ControlType.Enum,title:\"Breakpoint\",options:[\"desktop\",\"tablet\",\"phone\"],optionTitles:[\"Desktop\",\"Tablet\",\"Phone\"],defaultValue:\"desktop\",description:\"Select the breakpoint to match Framer's canvas.\"},theme:{type:ControlType.Enum,title:\"Theme\",options:[\"default\",\"inverted\"],optionTitles:[\"Default\",\"Inverted\"],displaySegmentedControl:true,defaultValue:\"default\",description:\"Default is dark mode, inverted is light mode. Theme passes to all children.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"FeatureCardImageStackItem\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"SectionFeatureCardImageStack\",\"slots\":[\"collectionList\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SectionFeatureCardImageStackProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Breakpoint\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SectionFeatureCardImageStack.map"],"mappings":"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"}