lizaui 9.0.44 → 9.0.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/autocomplete/index.cjs.js +2 -2
  2. package/dist/autocomplete/index.es.js +2 -2
  3. package/dist/button/index.cjs.js +1 -1
  4. package/dist/button/index.es.js +1 -1
  5. package/dist/chip/index.cjs.js +3 -3
  6. package/dist/chip/index.cjs.js.map +1 -1
  7. package/dist/chip/index.es.js +3 -3
  8. package/dist/chip/index.es.js.map +1 -1
  9. package/dist/chunks/{button-Dzqe0Scp.js → button-CBPwzm2F.js} +4 -4
  10. package/dist/chunks/{button-Dzqe0Scp.js.map → button-CBPwzm2F.js.map} +1 -1
  11. package/dist/chunks/{button-CsVgdTK2.js → button-c2tqObmX.js} +4 -4
  12. package/dist/chunks/{button-CsVgdTK2.js.map → button-c2tqObmX.js.map} +1 -1
  13. package/dist/chunks/{scroll-area-A7wLpIdN.js → scroll-area-C-TOj3zQ.js} +2 -2
  14. package/dist/chunks/{scroll-area-A7wLpIdN.js.map → scroll-area-C-TOj3zQ.js.map} +1 -1
  15. package/dist/chunks/{scroll-area-BU8EXoIt.js → scroll-area-CLk54_91.js} +2 -2
  16. package/dist/chunks/{scroll-area-BU8EXoIt.js.map → scroll-area-CLk54_91.js.map} +1 -1
  17. package/dist/chunks/{select-D12sBtA8.js → select-B6phC9mi.js} +2 -2
  18. package/dist/chunks/{select-D12sBtA8.js.map → select-B6phC9mi.js.map} +1 -1
  19. package/dist/chunks/{select-dQq0NQ64.js → select-DVjRpYfX.js} +2 -2
  20. package/dist/chunks/{select-dQq0NQ64.js.map → select-DVjRpYfX.js.map} +1 -1
  21. package/dist/chunks/{textarea-CE8ScH_j.js → textarea-BKtuQhzG.js} +2 -2
  22. package/dist/chunks/{textarea-CE8ScH_j.js.map → textarea-BKtuQhzG.js.map} +1 -1
  23. package/dist/chunks/{textarea-DatQsnr3.js → textarea-C3AwF8SJ.js} +2 -2
  24. package/dist/chunks/{textarea-DatQsnr3.js.map → textarea-C3AwF8SJ.js.map} +1 -1
  25. package/dist/form-tabs/index.cjs.js.map +1 -1
  26. package/dist/form-tabs/index.es.js.map +1 -1
  27. package/dist/modal/index.cjs.js +1 -1
  28. package/dist/modal/index.es.js +1 -1
  29. package/dist/pagination/index.cjs.js +3 -3
  30. package/dist/pagination/index.es.js +3 -3
  31. package/dist/phone-input/index.cjs.js +3 -3
  32. package/dist/phone-input/index.es.js +3 -3
  33. package/dist/time-input/index.cjs.js +2 -2
  34. package/dist/time-input/index.es.js +2 -2
  35. package/dist/travel-calendar/index.cjs.js +2 -2
  36. package/dist/travel-calendar/index.es.js +2 -2
  37. package/dist/ui/index.cjs.js +4 -4
  38. package/dist/ui/index.es.js +7 -7
  39. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/components/highlight/highlight.tsx","../../src/components/form-tabs/form-tabs.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { AnimatePresence, motion, type Transition } from \"motion/react\";\n\nimport { cn } from \"@/lib/utils\";\n\ntype HighlightMode = \"children\" | \"parent\";\n\ntype Bounds = {\n\ttop: number;\n\tleft: number;\n\twidth: number;\n\theight: number;\n};\n\ntype HighlightContextType<T extends string> = {\n\tas?: keyof HTMLElementTagNameMap;\n\tmode: HighlightMode;\n\tactiveValue: T | null;\n\tsetActiveValue: (value: T | null) => void;\n\tsetBounds: (bounds: DOMRect) => void;\n\tclearBounds: () => void;\n\tid: string;\n\thover: boolean;\n\tclick: boolean;\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n\tactiveClassName?: string;\n\tsetActiveClassName: (className: string) => void;\n\ttransition?: Transition;\n\tdisabled?: boolean;\n\tenabled?: boolean;\n\texitDelay?: number;\n\tforceUpdateBounds?: boolean;\n};\n\nconst HighlightContext = React.createContext<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tHighlightContextType<any> | undefined\n>(undefined);\n\nfunction useHighlight<T extends string>(): HighlightContextType<T> {\n\tconst context = React.useContext(HighlightContext);\n\tif (!context) {\n\t\tthrow new Error(\"useHighlight must be used within a HighlightProvider\");\n\t}\n\treturn context as unknown as HighlightContextType<T>;\n}\n\ntype BaseHighlightProps<T extends React.ElementType = \"div\"> = {\n\tas?: T;\n\tref?: React.Ref<HTMLDivElement>;\n\tmode?: HighlightMode;\n\tvalue?: string | null;\n\tdefaultValue?: string | null;\n\tonValueChange?: (value: string | null) => void;\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n\ttransition?: Transition;\n\thover?: boolean;\n\tclick?: boolean;\n\tdisabled?: boolean;\n\tenabled?: boolean;\n\texitDelay?: number;\n};\n\ntype ParentModeHighlightProps = {\n\tboundsOffset?: Partial<Bounds>;\n\tcontainerClassName?: string;\n\tforceUpdateBounds?: boolean;\n};\n\ntype ControlledParentModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> &\n\tParentModeHighlightProps & {\n\t\tmode: \"parent\";\n\t\tcontrolledItems: true;\n\t\tchildren: React.ReactNode;\n\t};\n\ntype ControlledChildrenModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> & {\n\tmode?: \"children\" | undefined;\n\tcontrolledItems: true;\n\tchildren: React.ReactNode;\n};\n\ntype UncontrolledParentModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> &\n\tParentModeHighlightProps & {\n\t\tmode: \"parent\";\n\t\tcontrolledItems?: false;\n\t\titemsClassName?: string;\n\t\tchildren: React.ReactElement | React.ReactElement[];\n\t};\n\ntype UncontrolledChildrenModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> & {\n\tmode?: \"children\";\n\tcontrolledItems?: false;\n\titemsClassName?: string;\n\tchildren: React.ReactElement | React.ReactElement[];\n};\n\ntype HighlightProps<T extends React.ElementType = \"div\"> =\n\t| ControlledParentModeHighlightProps<T>\n\t| ControlledChildrenModeHighlightProps<T>\n\t| UncontrolledParentModeHighlightProps<T>\n\t| UncontrolledChildrenModeHighlightProps<T>;\n\nfunction Highlight<T extends React.ElementType = \"div\">({ ref, ...props }: HighlightProps<T>) {\n\tconst {\n\t\tas: Component = \"div\",\n\t\tchildren,\n\t\tvalue,\n\t\tdefaultValue,\n\t\tonValueChange,\n\t\tclassName,\n\t\tstyle,\n\t\ttransition = { type: \"spring\", stiffness: 350, damping: 35 },\n\t\thover = false,\n\t\tclick = true,\n\t\tenabled = true,\n\t\tcontrolledItems,\n\t\tdisabled = false,\n\t\texitDelay = 200,\n\t\tmode = \"children\",\n\t} = props;\n\n\tconst localRef = React.useRef<HTMLDivElement>(null);\n\tReact.useImperativeHandle(ref, () => localRef.current as HTMLDivElement);\n\n\tconst [activeValue, setActiveValue] = React.useState<string | null>(value ?? defaultValue ?? null);\n\tconst [boundsState, setBoundsState] = React.useState<Bounds | null>(null);\n\tconst [activeClassNameState, setActiveClassNameState] = React.useState<string>(\"\");\n\n\tconst safeSetActiveValue = React.useCallback(\n\t\t(id: string | null) => {\n\t\t\tsetActiveValue((prev) => (prev === id ? prev : id));\n\t\t\tif (id !== activeValue) onValueChange?.(id);\n\t\t},\n\t\t[activeValue, onValueChange],\n\t);\n\n\tconst safeSetBounds = React.useCallback(\n\t\t(bounds: DOMRect) => {\n\t\t\tif (!localRef.current) return;\n\n\t\t\tconst boundsOffset = (props as ParentModeHighlightProps)?.boundsOffset ?? {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t};\n\n\t\t\tconst containerRect = localRef.current.getBoundingClientRect();\n\t\t\tconst newBounds: Bounds = {\n\t\t\t\ttop: bounds.top - containerRect.top + (boundsOffset.top ?? 0),\n\t\t\t\tleft: bounds.left - containerRect.left + (boundsOffset.left ?? 0),\n\t\t\t\twidth: bounds.width + (boundsOffset.width ?? 0),\n\t\t\t\theight: bounds.height + (boundsOffset.height ?? 0),\n\t\t\t};\n\n\t\t\tsetBoundsState((prev) => {\n\t\t\t\tif (\n\t\t\t\t\tprev &&\n\t\t\t\t\tprev.top === newBounds.top &&\n\t\t\t\t\tprev.left === newBounds.left &&\n\t\t\t\t\tprev.width === newBounds.width &&\n\t\t\t\t\tprev.height === newBounds.height\n\t\t\t\t) {\n\t\t\t\t\treturn prev;\n\t\t\t\t}\n\t\t\t\treturn newBounds;\n\t\t\t});\n\t\t},\n\t\t[props],\n\t);\n\n\tconst clearBounds = React.useCallback(() => {\n\t\tsetBoundsState((prev) => (prev === null ? prev : null));\n\t}, []);\n\n\tReact.useEffect(() => {\n\t\tif (value !== undefined) setActiveValue(value);\n\t\telse if (defaultValue !== undefined) setActiveValue(defaultValue);\n\t}, [value, defaultValue]);\n\n\tconst id = React.useId();\n\n\tReact.useEffect(() => {\n\t\tif (mode !== \"parent\") return;\n\t\tconst container = localRef.current;\n\t\tif (!container) return;\n\n\t\tconst onScroll = () => {\n\t\t\tif (!activeValue) return;\n\t\t\tconst activeEl = container.querySelector<HTMLElement>(`[data-value=\"${activeValue}\"][data-highlight=\"true\"]`);\n\t\t\tif (activeEl) safeSetBounds(activeEl.getBoundingClientRect());\n\t\t};\n\n\t\tcontainer.addEventListener(\"scroll\", onScroll, { passive: true });\n\t\treturn () => container.removeEventListener(\"scroll\", onScroll);\n\t}, [mode, activeValue, safeSetBounds]);\n\n\tconst render = React.useCallback(\n\t\t(children: React.ReactNode) => {\n\t\t\tif (mode === \"parent\") {\n\t\t\t\treturn (\n\t\t\t\t\t<Component\n\t\t\t\t\t\tref={localRef}\n\t\t\t\t\t\tdata-slot=\"motion-highlight-container\"\n\t\t\t\t\t\tstyle={{ position: \"relative\", zIndex: 1 }}\n\t\t\t\t\t\tclassName={(props as ParentModeHighlightProps)?.containerClassName}\n\t\t\t\t\t>\n\t\t\t\t\t\t<AnimatePresence initial={false} mode=\"wait\">\n\t\t\t\t\t\t\t{boundsState && (\n\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\tdata-slot=\"motion-highlight\"\n\t\t\t\t\t\t\t\t\tanimate={{\n\t\t\t\t\t\t\t\t\t\ttop: boundsState.top,\n\t\t\t\t\t\t\t\t\t\tleft: boundsState.left,\n\t\t\t\t\t\t\t\t\t\twidth: boundsState.width,\n\t\t\t\t\t\t\t\t\t\theight: boundsState.height,\n\t\t\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tinitial={{\n\t\t\t\t\t\t\t\t\t\ttop: boundsState.top,\n\t\t\t\t\t\t\t\t\t\tleft: boundsState.left,\n\t\t\t\t\t\t\t\t\t\twidth: boundsState.width,\n\t\t\t\t\t\t\t\t\t\theight: boundsState.height,\n\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\texit={{\n\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t\t...transition,\n\t\t\t\t\t\t\t\t\t\t\tdelay: (transition?.delay ?? 0) + (exitDelay ?? 0) / 1000,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ttransition={transition}\n\t\t\t\t\t\t\t\t\tstyle={{ position: \"absolute\", zIndex: 0, ...style }}\n\t\t\t\t\t\t\t\t\tclassName={cn(className, activeClassNameState)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Component>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn children;\n\t\t},\n\t\t[mode, Component, props, boundsState, transition, exitDelay, style, className, activeClassNameState],\n\t);\n\n\treturn (\n\t\t<HighlightContext.Provider\n\t\t\tvalue={{\n\t\t\t\tmode,\n\t\t\t\tactiveValue,\n\t\t\t\tsetActiveValue: safeSetActiveValue,\n\t\t\t\tid,\n\t\t\t\thover,\n\t\t\t\tclick,\n\t\t\t\tclassName,\n\t\t\t\tstyle,\n\t\t\t\ttransition,\n\t\t\t\tdisabled,\n\t\t\t\tenabled,\n\t\t\t\texitDelay,\n\t\t\t\tsetBounds: safeSetBounds,\n\t\t\t\tclearBounds,\n\t\t\t\tactiveClassName: activeClassNameState,\n\t\t\t\tsetActiveClassName: setActiveClassNameState,\n\t\t\t\tforceUpdateBounds: (props as ParentModeHighlightProps)?.forceUpdateBounds,\n\t\t\t}}\n\t\t>\n\t\t\t{enabled\n\t\t\t\t? controlledItems\n\t\t\t\t\t? render(children)\n\t\t\t\t\t: render(\n\t\t\t\t\t\t\tReact.Children.map(children, (child, index) => (\n\t\t\t\t\t\t\t\t<HighlightItem key={index} className={props?.itemsClassName}>\n\t\t\t\t\t\t\t\t\t{child}\n\t\t\t\t\t\t\t\t</HighlightItem>\n\t\t\t\t\t\t\t)),\n\t\t\t\t\t )\n\t\t\t\t: children}\n\t\t</HighlightContext.Provider>\n\t);\n}\n\nfunction getNonOverridingDataAttributes(element: React.ReactElement, dataAttributes: Record<string, unknown>): Record<string, unknown> {\n\treturn Object.keys(dataAttributes).reduce<Record<string, unknown>>((acc, key) => {\n\t\tif ((element.props as Record<string, unknown>)[key] === undefined) {\n\t\t\tacc[key] = dataAttributes[key];\n\t\t}\n\t\treturn acc;\n\t}, {});\n}\n\ntype ExtendedChildProps = React.ComponentProps<\"div\"> & {\n\t\"id\"?: string;\n\t\"ref\"?: React.Ref<HTMLElement>;\n\t\"data-active\"?: string;\n\t\"data-value\"?: string;\n\t\"data-disabled\"?: boolean;\n\t\"data-highlight\"?: boolean;\n\t\"data-slot\"?: string;\n};\n\ntype HighlightItemProps<T extends React.ElementType = \"div\"> = React.ComponentProps<T> & {\n\tas?: T;\n\tchildren: React.ReactElement;\n\tid?: string;\n\tvalue?: string;\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n\ttransition?: Transition;\n\tactiveClassName?: string;\n\tdisabled?: boolean;\n\texitDelay?: number;\n\tasChild?: boolean;\n\tforceUpdateBounds?: boolean;\n};\n\nfunction HighlightItem<T extends React.ElementType>({\n\tref,\n\tas,\n\tchildren,\n\tid,\n\tvalue,\n\tclassName,\n\tstyle,\n\ttransition,\n\tdisabled = false,\n\tactiveClassName,\n\texitDelay,\n\tasChild = false,\n\tforceUpdateBounds,\n\t...props\n}: HighlightItemProps<T>) {\n\tconst itemId = React.useId();\n\tconst {\n\t\tactiveValue,\n\t\tsetActiveValue,\n\t\tmode,\n\t\tsetBounds,\n\t\tclearBounds,\n\t\thover,\n\t\tclick,\n\t\tenabled,\n\t\tclassName: contextClassName,\n\t\tstyle: contextStyle,\n\t\ttransition: contextTransition,\n\t\tid: contextId,\n\t\tdisabled: contextDisabled,\n\t\texitDelay: contextExitDelay,\n\t\tforceUpdateBounds: contextForceUpdateBounds,\n\t\tsetActiveClassName,\n\t} = useHighlight();\n\n\tconst Component = as ?? \"div\";\n\tconst element = children as React.ReactElement<ExtendedChildProps>;\n\tconst childValue = id ?? value ?? element.props?.[\"data-value\"] ?? element.props?.id ?? itemId;\n\tconst isActive = activeValue === childValue;\n\tconst isDisabled = disabled === undefined ? contextDisabled : disabled;\n\tconst itemTransition = transition ?? contextTransition;\n\n\tconst localRef = React.useRef<HTMLDivElement>(null);\n\tReact.useImperativeHandle(ref, () => localRef.current as HTMLDivElement);\n\n\tReact.useEffect(() => {\n\t\tif (mode !== \"parent\") return;\n\t\tlet rafId: number;\n\t\tlet previousBounds: Bounds | null = null;\n\t\tconst shouldUpdateBounds = forceUpdateBounds === true || (contextForceUpdateBounds && forceUpdateBounds !== false);\n\n\t\tconst updateBounds = () => {\n\t\t\tif (!localRef.current) return;\n\n\t\t\tconst bounds = localRef.current.getBoundingClientRect();\n\n\t\t\tif (shouldUpdateBounds) {\n\t\t\t\tif (\n\t\t\t\t\tpreviousBounds &&\n\t\t\t\t\tpreviousBounds.top === bounds.top &&\n\t\t\t\t\tpreviousBounds.left === bounds.left &&\n\t\t\t\t\tpreviousBounds.width === bounds.width &&\n\t\t\t\t\tpreviousBounds.height === bounds.height\n\t\t\t\t) {\n\t\t\t\t\trafId = requestAnimationFrame(updateBounds);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tpreviousBounds = bounds;\n\t\t\t\trafId = requestAnimationFrame(updateBounds);\n\t\t\t}\n\n\t\t\tsetBounds(bounds);\n\t\t};\n\n\t\tif (isActive) {\n\t\t\tupdateBounds();\n\t\t\tsetActiveClassName(activeClassName ?? \"\");\n\t\t} else if (!activeValue) clearBounds();\n\n\t\tif (shouldUpdateBounds) return () => cancelAnimationFrame(rafId);\n\t}, [mode, isActive, activeValue, setBounds, clearBounds, activeClassName, setActiveClassName, forceUpdateBounds, contextForceUpdateBounds]);\n\n\tif (!React.isValidElement(children)) return children;\n\n\tconst dataAttributes = {\n\t\t\"data-active\": isActive ? \"true\" : \"false\",\n\t\t\"aria-selected\": isActive,\n\t\t\"data-disabled\": isDisabled,\n\t\t\"data-value\": childValue,\n\t\t\"data-highlight\": true,\n\t};\n\n\tconst commonHandlers = hover\n\t\t? {\n\t\t\t\tonMouseEnter: (e: React.MouseEvent<HTMLDivElement>) => {\n\t\t\t\t\tsetActiveValue(childValue);\n\t\t\t\t\telement.props.onMouseEnter?.(e);\n\t\t\t\t},\n\t\t\t\tonMouseLeave: (e: React.MouseEvent<HTMLDivElement>) => {\n\t\t\t\t\tsetActiveValue(null);\n\t\t\t\t\telement.props.onMouseLeave?.(e);\n\t\t\t\t},\n\t\t }\n\t\t: click\n\t\t? {\n\t\t\t\tonClick: (e: React.MouseEvent<HTMLDivElement>) => {\n\t\t\t\t\tsetActiveValue(childValue);\n\t\t\t\t\telement.props.onClick?.(e);\n\t\t\t\t},\n\t\t }\n\t\t: {};\n\n\tif (asChild) {\n\t\tif (mode === \"children\") {\n\t\t\treturn React.cloneElement(\n\t\t\t\telement,\n\t\t\t\t{\n\t\t\t\t\tkey: childValue,\n\t\t\t\t\tref: localRef,\n\t\t\t\t\tclassName: cn(\"relative\", element.props.className),\n\t\t\t\t\t...getNonOverridingDataAttributes(element, {\n\t\t\t\t\t\t...dataAttributes,\n\t\t\t\t\t\t\"data-slot\": \"motion-highlight-item-container\",\n\t\t\t\t\t}),\n\t\t\t\t\t...commonHandlers,\n\t\t\t\t\t...props,\n\t\t\t\t},\n\t\t\t\t<>\n\t\t\t\t\t<AnimatePresence initial={false} mode=\"wait\">\n\t\t\t\t\t\t{isActive && !isDisabled && (\n\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\tlayoutId={`transition-background-${contextId}`}\n\t\t\t\t\t\t\t\tdata-slot=\"motion-highlight\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\t\t\t\t...contextStyle,\n\t\t\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclassName={cn(contextClassName, activeClassName)}\n\t\t\t\t\t\t\t\ttransition={itemTransition}\n\t\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\t\texit={{\n\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t...itemTransition,\n\t\t\t\t\t\t\t\t\t\tdelay: (itemTransition?.delay ?? 0) + (exitDelay ?? contextExitDelay ?? 0) / 1000,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t{...dataAttributes}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</AnimatePresence>\n\n\t\t\t\t\t<Component\n\t\t\t\t\t\tdata-slot=\"motion-highlight-item\"\n\t\t\t\t\t\tstyle={{ position: \"relative\", zIndex: 1 }}\n\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t{...dataAttributes}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Component>\n\t\t\t\t</>,\n\t\t\t);\n\t\t}\n\n\t\treturn React.cloneElement(element, {\n\t\t\tref: localRef,\n\t\t\t...getNonOverridingDataAttributes(element, {\n\t\t\t\t...dataAttributes,\n\t\t\t\t\"data-slot\": \"motion-highlight-item\",\n\t\t\t}),\n\t\t\t...commonHandlers,\n\t\t});\n\t}\n\n\treturn enabled ? (\n\t\t<Component\n\t\t\tkey={childValue}\n\t\t\tref={localRef}\n\t\t\tdata-slot=\"motion-highlight-item-container\"\n\t\t\tclassName={cn(mode === \"children\" && \"relative\", className)}\n\t\t\t{...dataAttributes}\n\t\t\t{...props}\n\t\t\t{...commonHandlers}\n\t\t>\n\t\t\t{mode === \"children\" && (\n\t\t\t\t<AnimatePresence initial={false} mode=\"wait\">\n\t\t\t\t\t{isActive && !isDisabled && (\n\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\tlayoutId={`transition-background-${contextId}`}\n\t\t\t\t\t\t\tdata-slot=\"motion-highlight\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\t\t\t...contextStyle,\n\t\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName={cn(contextClassName, activeClassName)}\n\t\t\t\t\t\t\ttransition={itemTransition}\n\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\texit={{\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t...itemTransition,\n\t\t\t\t\t\t\t\t\tdelay: (itemTransition?.delay ?? 0) + (exitDelay ?? contextExitDelay ?? 0) / 1000,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t{...dataAttributes}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</AnimatePresence>\n\t\t\t)}\n\n\t\t\t{React.cloneElement(element, {\n\t\t\t\tstyle: { position: \"relative\", zIndex: 1 },\n\t\t\t\tclassName: element.props.className,\n\t\t\t\t...getNonOverridingDataAttributes(element, {\n\t\t\t\t\t...dataAttributes,\n\t\t\t\t\t\"data-slot\": \"motion-highlight-item\",\n\t\t\t\t}),\n\t\t\t})}\n\t\t</Component>\n\t) : (\n\t\tchildren\n\t);\n}\n\nexport { Highlight, HighlightItem, useHighlight, type HighlightProps, type HighlightItemProps };\n","\"use client\";\n\nimport React from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { Highlight, HighlightItem } from \"../highlight/highlight\";\nimport { useReducedMotion } from \"framer-motion\";\n\n\nfunction useControllableState<T>({ value, defaultValue, onChange }: { value?: T; defaultValue: T; onChange?: (next: T) => void }) {\n\tconst [internal, setInternal] = React.useState<T>(defaultValue);\n\tconst isControlled = value !== undefined;\n\tconst current = isControlled ? (value as T) : internal;\n\tconst set = React.useCallback(\n\t\t(next: T) => {\n\t\t\tif (!isControlled) setInternal(next);\n\t\t\tonChange?.(next);\n\t\t},\n\t\t[isControlled, onChange],\n\t);\n\treturn [current, set] as const;\n}\n\ntype FormTabsContextValue = {\n\tvalue: string;\n\tsetValue: (v: string) => void;\n\tregisterTrigger: (value: string, el: HTMLButtonElement | null) => void;\n\tgetTriggerEl: (value: string) => HTMLButtonElement | null;\n\tlistRef: React.RefObject<HTMLDivElement | null>;\n\tuseHighlightPill: boolean;\n\thighlightClassName?: string;\n};\n\nconst TabsContext = React.createContext<FormTabsContextValue | null>(null);\nfunction useFormTabsContext() {\n\tconst ctx = React.useContext(TabsContext);\n\tif (!ctx) throw new Error(\"Tabs components must be used within <Tabs>\");\n\treturn ctx;\n}\n\ninterface FormTabsProps {\n\tdefaultValue: string;\n\tvalue?: string;\n\tonValueChange?: (value: string) => void;\n\tchildren: React.ReactNode;\n\tclassName?: string;\n\tid?: string;\n\thighlightClassName?: string; // Tailwind classes for the moving pill\n\tuseHighlightPill?: boolean; // enable integration with Highlight (parent mode)\n}\n\nexport function FormTabs({\n\tdefaultValue,\n\tvalue,\n\tonValueChange,\n\tchildren,\n\tclassName,\n\tid,\n\thighlightClassName = \"rounded-md bg-background shadow-sm\",\n\tuseHighlightPill = true,\n}: FormTabsProps) {\n\tconst [current, setCurrent] = useControllableState<string>({ value, defaultValue, onChange: onValueChange });\n\n\tconst triggersRef = React.useRef(new Map<string, HTMLButtonElement | null>());\n\tconst listRef = React.useRef<HTMLDivElement>(null);\n\n\tconst registerTrigger = React.useCallback((val: string, el: HTMLButtonElement | null) => {\n\t\ttriggersRef.current.set(val, el);\n\t}, []);\n\tconst getTriggerEl = React.useCallback((val: string) => triggersRef.current.get(val) ?? null, []);\n\n\tconst ctx = React.useMemo<FormTabsContextValue>(\n\t\t() => ({ value: current, setValue: setCurrent, registerTrigger, getTriggerEl, listRef, useHighlightPill, highlightClassName }),\n\t\t[current, setCurrent, registerTrigger, getTriggerEl, useHighlightPill, highlightClassName],\n\t);\n\n\treturn (\n\t\t<TabsContext.Provider value={ctx}>\n\t\t\t<div className={cn(\"w-full\", className)} id={id}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</TabsContext.Provider>\n\t);\n}\n\ninterface TabsListProps extends React.HTMLAttributes<HTMLDivElement> {\n\tchildren: React.ReactNode;\n}\n\nexport function FormTabsList({ children, className, ...props }: TabsListProps) {\n\tconst { value, setValue, listRef, useHighlightPill, highlightClassName } = useFormTabsContext();\n\tconst prefersReducedMotion = useReducedMotion();\n\n\tconst onKeyDown = React.useCallback(\n\t\t(e: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\tconst container = listRef.current;\n\t\t\tif (!container) return;\n\t\t\tconst tabs = Array.from(container.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]:not([data-disabled=\"true\"])'));\n\t\t\tif (!tabs.length) return;\n\t\t\tconst currentIndex = tabs.findIndex((el) => el.getAttribute(\"data-value\") === value);\n\t\t\tconst focusAt = (idx: number) => {\n\t\t\t\tconst el = tabs[idx];\n\t\t\t\tconst nextValue = el?.getAttribute(\"data-value\");\n\t\t\t\tif (nextValue) {\n\t\t\t\t\tsetValue(nextValue);\n\t\t\t\t\trequestAnimationFrame(() => el?.focus());\n\t\t\t\t}\n\t\t\t};\n\t\t\tswitch (e.key) {\n\t\t\t\tcase \"ArrowRight\":\n\t\t\t\tcase \"Right\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt((currentIndex + 1) % tabs.length);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"ArrowLeft\":\n\t\t\t\tcase \"Left\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt((currentIndex - 1 + tabs.length) % tabs.length);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Home\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt(0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"End\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt(tabs.length - 1);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[listRef, setValue, value],\n\t);\n\n\t// Wrap with Highlight (parent mode) when enabled\n\tconst content = <div className=\"relative z-10 flex items-stretch gap-1\">{children}</div>;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"tablist\"\n\t\t\taria-orientation=\"horizontal\"\n\t\t\tref={listRef}\n\t\t\tclassName={cn(\"relative inline-flex h-10 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground isolate\", className)}\n\t\t\tonKeyDown={onKeyDown}\n\t\t\t{...props}\n\t\t>\n\t\t\t{useHighlightPill ? (\n\t\t\t\t<Highlight\n\t\t\t\t\tmode=\"parent\"\n\t\t\t\t\tcontrolledItems\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tonValueChange={(v) => v && setValue(v)}\n\t\t\t\t\tcontainerClassName=\"absolute inset-0 rounded-lg\"\n\t\t\t\t\tclassName={highlightClassName}\n\t\t\t\t\ttransition={prefersReducedMotion ? { duration: 0 } : { type: \"spring\", stiffness: 500, damping: 35, mass: 0.5 }}\n\t\t\t\t\tenabled\n\t\t\t\t\tclick={false}\n\t\t\t\t\thover={false}\n\t\t\t\t>\n\t\t\t\t\t{content}\n\t\t\t\t</Highlight>\n\t\t\t) : (\n\t\t\t\tcontent\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\ninterface TabsTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n\tvalue: string;\n\tdisabled?: boolean;\n\tchildren: React.ReactNode;\n}\n\nexport const FormTabsTrigger = React.memo(function TabsTrigger({ value, disabled, children, className, ...props }: TabsTriggerProps) {\n\tconst { value: selected, setValue, registerTrigger, useHighlightPill } = useFormTabsContext();\n\tconst isSelected = selected === value;\n\tconst ref = React.useRef<HTMLButtonElement>(null);\n\n\tReact.useEffect(() => {\n\t\tregisterTrigger(value, ref.current);\n\t\treturn () => registerTrigger(value, null);\n\t}, [registerTrigger, value]);\n\n\tconst btn = (\n\t\t<button\n\t\t\tref={ref}\n\t\t\ttype=\"button\"\n\t\t\trole=\"tab\"\n\t\t\tdata-value={value}\n\t\t\tdata-state={isSelected ? \"active\" : \"inactive\"}\n\t\t\tdata-disabled={disabled ? \"true\" : \"false\"}\n\t\t\taria-selected={isSelected}\n\t\t\ttabIndex={isSelected ? 0 : -1}\n\t\t\tdisabled={disabled}\n\t\t\tonClick={() => !disabled && setValue(value)}\n\t\t\tclassName={cn(\n\t\t\t\t\"relative inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium\",\n\t\t\t\t\"ring-offset-background transition-[color,transform] focus-visible:outline-none\",\n\t\t\t\t\"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n\t\t\t\t\"disabled:pointer-events-none disabled:opacity-50\",\n\t\t\t\t\"data-[state=active]:text-foreground data-[state=inactive]:text-muted-foreground\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</button>\n\t);\n\n\t// When using Highlight in parent mode, wrap each trigger asChild so it can measure bounds\n\treturn useHighlightPill ? (\n\t\t<HighlightItem asChild value={value}>\n\t\t\t{btn}\n\t\t</HighlightItem>\n\t) : (\n\t\tbtn\n\t);\n});\n"],"names":["HighlightContext","React","createContext","undefined","useHighlight","context","useContext","Error","Highlight","ref","props","as","Component","children","value","defaultValue","onValueChange","className","style","transition","type","stiffness","damping","hover","click","enabled","controlledItems","disabled","exitDelay","mode","localRef","useRef","useImperativeHandle","current","activeValue","setActiveValue","useState","boundsState","setBoundsState","activeClassNameState","setActiveClassNameState","safeSetActiveValue","useCallback","id","prev","safeSetBounds","bounds","boundsOffset","top","left","width","height","containerRect","getBoundingClientRect","newBounds","clearBounds","useEffect","useId","container","onScroll","activeEl","querySelector","addEventListener","passive","removeEventListener","render","position","zIndex","containerClassName","jsx","AnimatePresence","motion","opacity","delay","cn","setBounds","activeClassName","setActiveClassName","forceUpdateBounds","Children","map","child","index","itemsClassName","getNonOverridingDataAttributes","element","dataAttributes","Object","keys","reduce","acc","key","HighlightItem","asChild","itemId","contextClassName","contextStyle","contextTransition","contextId","contextDisabled","contextExitDelay","contextForceUpdateBounds","childValue","isActive","isDisabled","itemTransition","rafId","previousBounds","shouldUpdateBounds","updateBounds","requestAnimationFrame","cancelAnimationFrame","isValidElement","commonHandlers","onMouseEnter","e","onMouseLeave","onClick","cloneElement","jsxs","Fragment","useControllableState","t0","$","_c","onChange","internal","setInternal","isControlled","t1","next","set","t2","TabsContext","useFormTabsContext","ctx","FormTabs","highlightClassName","useHighlightPill","t3","setCurrent","t4","Symbol","for","Map","triggersRef","listRef","t5","val","el","registerTrigger","t6","val_0","get","getTriggerEl","t7","setValue","t8","t9","t10","FormTabsList","prefersReducedMotion","useReducedMotion","tabs","Array","from","querySelectorAll","length","currentIndex","findIndex","getAttribute","focusAt","idx","el_0","nextValue","focus","bb29","preventDefault","onKeyDown","content","v","duration","mass","FormTabsTrigger","memo","TabsTrigger","selected","isSelected","btn"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/components/highlight/highlight.tsx","../../src/components/form-tabs/form-tabs.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { AnimatePresence, motion, type Transition } from \"motion/react\";\n\nimport { cn } from \"@/lib/utils\";\n\ntype HighlightMode = \"children\" | \"parent\";\n\ntype Bounds = {\n\ttop: number;\n\tleft: number;\n\twidth: number;\n\theight: number;\n};\n\ntype HighlightContextType<T extends string> = {\n\tas?: keyof HTMLElementTagNameMap;\n\tmode: HighlightMode;\n\tactiveValue: T | null;\n\tsetActiveValue: (value: T | null) => void;\n\tsetBounds: (bounds: DOMRect) => void;\n\tclearBounds: () => void;\n\tid: string;\n\thover: boolean;\n\tclick: boolean;\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n\tactiveClassName?: string;\n\tsetActiveClassName: (className: string) => void;\n\ttransition?: Transition;\n\tdisabled?: boolean;\n\tenabled?: boolean;\n\texitDelay?: number;\n\tforceUpdateBounds?: boolean;\n};\n\nconst HighlightContext = React.createContext<\n\t \n\tHighlightContextType<any> | undefined\n>(undefined);\n\nfunction useHighlight<T extends string>(): HighlightContextType<T> {\n\tconst context = React.useContext(HighlightContext);\n\tif (!context) {\n\t\tthrow new Error(\"useHighlight must be used within a HighlightProvider\");\n\t}\n\treturn context as unknown as HighlightContextType<T>;\n}\n\ntype BaseHighlightProps<T extends React.ElementType = \"div\"> = {\n\tas?: T;\n\tref?: React.Ref<HTMLDivElement>;\n\tmode?: HighlightMode;\n\tvalue?: string | null;\n\tdefaultValue?: string | null;\n\tonValueChange?: (value: string | null) => void;\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n\ttransition?: Transition;\n\thover?: boolean;\n\tclick?: boolean;\n\tdisabled?: boolean;\n\tenabled?: boolean;\n\texitDelay?: number;\n};\n\ntype ParentModeHighlightProps = {\n\tboundsOffset?: Partial<Bounds>;\n\tcontainerClassName?: string;\n\tforceUpdateBounds?: boolean;\n};\n\ntype ControlledParentModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> &\n\tParentModeHighlightProps & {\n\t\tmode: \"parent\";\n\t\tcontrolledItems: true;\n\t\tchildren: React.ReactNode;\n\t};\n\ntype ControlledChildrenModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> & {\n\tmode?: \"children\" | undefined;\n\tcontrolledItems: true;\n\tchildren: React.ReactNode;\n};\n\ntype UncontrolledParentModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> &\n\tParentModeHighlightProps & {\n\t\tmode: \"parent\";\n\t\tcontrolledItems?: false;\n\t\titemsClassName?: string;\n\t\tchildren: React.ReactElement | React.ReactElement[];\n\t};\n\ntype UncontrolledChildrenModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> & {\n\tmode?: \"children\";\n\tcontrolledItems?: false;\n\titemsClassName?: string;\n\tchildren: React.ReactElement | React.ReactElement[];\n};\n\ntype HighlightProps<T extends React.ElementType = \"div\"> =\n\t| ControlledParentModeHighlightProps<T>\n\t| ControlledChildrenModeHighlightProps<T>\n\t| UncontrolledParentModeHighlightProps<T>\n\t| UncontrolledChildrenModeHighlightProps<T>;\n\nfunction Highlight<T extends React.ElementType = \"div\">({ ref, ...props }: HighlightProps<T>) {\n\tconst {\n\t\tas: Component = \"div\",\n\t\tchildren,\n\t\tvalue,\n\t\tdefaultValue,\n\t\tonValueChange,\n\t\tclassName,\n\t\tstyle,\n\t\ttransition = { type: \"spring\", stiffness: 350, damping: 35 },\n\t\thover = false,\n\t\tclick = true,\n\t\tenabled = true,\n\t\tcontrolledItems,\n\t\tdisabled = false,\n\t\texitDelay = 200,\n\t\tmode = \"children\",\n\t} = props;\n\n\tconst localRef = React.useRef<HTMLDivElement>(null);\n\tReact.useImperativeHandle(ref, () => localRef.current as HTMLDivElement);\n\n\tconst [activeValue, setActiveValue] = React.useState<string | null>(value ?? defaultValue ?? null);\n\tconst [boundsState, setBoundsState] = React.useState<Bounds | null>(null);\n\tconst [activeClassNameState, setActiveClassNameState] = React.useState<string>(\"\");\n\n\tconst safeSetActiveValue = React.useCallback(\n\t\t(id: string | null) => {\n\t\t\tsetActiveValue((prev) => (prev === id ? prev : id));\n\t\t\tif (id !== activeValue) onValueChange?.(id);\n\t\t},\n\t\t[activeValue, onValueChange],\n\t);\n\n\tconst safeSetBounds = React.useCallback(\n\t\t(bounds: DOMRect) => {\n\t\t\tif (!localRef.current) return;\n\n\t\t\tconst boundsOffset = (props as ParentModeHighlightProps)?.boundsOffset ?? {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t};\n\n\t\t\tconst containerRect = localRef.current.getBoundingClientRect();\n\t\t\tconst newBounds: Bounds = {\n\t\t\t\ttop: bounds.top - containerRect.top + (boundsOffset.top ?? 0),\n\t\t\t\tleft: bounds.left - containerRect.left + (boundsOffset.left ?? 0),\n\t\t\t\twidth: bounds.width + (boundsOffset.width ?? 0),\n\t\t\t\theight: bounds.height + (boundsOffset.height ?? 0),\n\t\t\t};\n\n\t\t\tsetBoundsState((prev) => {\n\t\t\t\tif (\n\t\t\t\t\tprev &&\n\t\t\t\t\tprev.top === newBounds.top &&\n\t\t\t\t\tprev.left === newBounds.left &&\n\t\t\t\t\tprev.width === newBounds.width &&\n\t\t\t\t\tprev.height === newBounds.height\n\t\t\t\t) {\n\t\t\t\t\treturn prev;\n\t\t\t\t}\n\t\t\t\treturn newBounds;\n\t\t\t});\n\t\t},\n\t\t[props],\n\t);\n\n\tconst clearBounds = React.useCallback(() => {\n\t\tsetBoundsState((prev) => (prev === null ? prev : null));\n\t}, []);\n\n\tReact.useEffect(() => {\n\t\tif (value !== undefined) setActiveValue(value);\n\t\telse if (defaultValue !== undefined) setActiveValue(defaultValue);\n\t}, [value, defaultValue]);\n\n\tconst id = React.useId();\n\n\tReact.useEffect(() => {\n\t\tif (mode !== \"parent\") return;\n\t\tconst container = localRef.current;\n\t\tif (!container) return;\n\n\t\tconst onScroll = () => {\n\t\t\tif (!activeValue) return;\n\t\t\tconst activeEl = container.querySelector<HTMLElement>(`[data-value=\"${activeValue}\"][data-highlight=\"true\"]`);\n\t\t\tif (activeEl) safeSetBounds(activeEl.getBoundingClientRect());\n\t\t};\n\n\t\tcontainer.addEventListener(\"scroll\", onScroll, { passive: true });\n\t\treturn () => container.removeEventListener(\"scroll\", onScroll);\n\t}, [mode, activeValue, safeSetBounds]);\n\n\tconst render = React.useCallback(\n\t\t(children: React.ReactNode) => {\n\t\t\tif (mode === \"parent\") {\n\t\t\t\treturn (\n\t\t\t\t\t<Component\n\t\t\t\t\t\tref={localRef}\n\t\t\t\t\t\tdata-slot=\"motion-highlight-container\"\n\t\t\t\t\t\tstyle={{ position: \"relative\", zIndex: 1 }}\n\t\t\t\t\t\tclassName={(props as ParentModeHighlightProps)?.containerClassName}\n\t\t\t\t\t>\n\t\t\t\t\t\t<AnimatePresence initial={false} mode=\"wait\">\n\t\t\t\t\t\t\t{boundsState && (\n\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\tdata-slot=\"motion-highlight\"\n\t\t\t\t\t\t\t\t\tanimate={{\n\t\t\t\t\t\t\t\t\t\ttop: boundsState.top,\n\t\t\t\t\t\t\t\t\t\tleft: boundsState.left,\n\t\t\t\t\t\t\t\t\t\twidth: boundsState.width,\n\t\t\t\t\t\t\t\t\t\theight: boundsState.height,\n\t\t\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tinitial={{\n\t\t\t\t\t\t\t\t\t\ttop: boundsState.top,\n\t\t\t\t\t\t\t\t\t\tleft: boundsState.left,\n\t\t\t\t\t\t\t\t\t\twidth: boundsState.width,\n\t\t\t\t\t\t\t\t\t\theight: boundsState.height,\n\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\texit={{\n\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t\t...transition,\n\t\t\t\t\t\t\t\t\t\t\tdelay: (transition?.delay ?? 0) + (exitDelay ?? 0) / 1000,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ttransition={transition}\n\t\t\t\t\t\t\t\t\tstyle={{ position: \"absolute\", zIndex: 0, ...style }}\n\t\t\t\t\t\t\t\t\tclassName={cn(className, activeClassNameState)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Component>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn children;\n\t\t},\n\t\t[mode, Component, props, boundsState, transition, exitDelay, style, className, activeClassNameState],\n\t);\n\n\treturn (\n\t\t<HighlightContext.Provider\n\t\t\tvalue={{\n\t\t\t\tmode,\n\t\t\t\tactiveValue,\n\t\t\t\tsetActiveValue: safeSetActiveValue,\n\t\t\t\tid,\n\t\t\t\thover,\n\t\t\t\tclick,\n\t\t\t\tclassName,\n\t\t\t\tstyle,\n\t\t\t\ttransition,\n\t\t\t\tdisabled,\n\t\t\t\tenabled,\n\t\t\t\texitDelay,\n\t\t\t\tsetBounds: safeSetBounds,\n\t\t\t\tclearBounds,\n\t\t\t\tactiveClassName: activeClassNameState,\n\t\t\t\tsetActiveClassName: setActiveClassNameState,\n\t\t\t\tforceUpdateBounds: (props as ParentModeHighlightProps)?.forceUpdateBounds,\n\t\t\t}}\n\t\t>\n\t\t\t{enabled\n\t\t\t\t? controlledItems\n\t\t\t\t\t? render(children)\n\t\t\t\t\t: render(\n\t\t\t\t\t\t\tReact.Children.map(children, (child, index) => (\n\t\t\t\t\t\t\t\t<HighlightItem key={index} className={props?.itemsClassName}>\n\t\t\t\t\t\t\t\t\t{child}\n\t\t\t\t\t\t\t\t</HighlightItem>\n\t\t\t\t\t\t\t)),\n\t\t\t\t\t )\n\t\t\t\t: children}\n\t\t</HighlightContext.Provider>\n\t);\n}\n\nfunction getNonOverridingDataAttributes(element: React.ReactElement, dataAttributes: Record<string, unknown>): Record<string, unknown> {\n\treturn Object.keys(dataAttributes).reduce<Record<string, unknown>>((acc, key) => {\n\t\tif ((element.props as Record<string, unknown>)[key] === undefined) {\n\t\t\tacc[key] = dataAttributes[key];\n\t\t}\n\t\treturn acc;\n\t}, {});\n}\n\ntype ExtendedChildProps = React.ComponentProps<\"div\"> & {\n\t\"id\"?: string;\n\t\"ref\"?: React.Ref<HTMLElement>;\n\t\"data-active\"?: string;\n\t\"data-value\"?: string;\n\t\"data-disabled\"?: boolean;\n\t\"data-highlight\"?: boolean;\n\t\"data-slot\"?: string;\n};\n\ntype HighlightItemProps<T extends React.ElementType = \"div\"> = React.ComponentProps<T> & {\n\tas?: T;\n\tchildren: React.ReactElement;\n\tid?: string;\n\tvalue?: string;\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n\ttransition?: Transition;\n\tactiveClassName?: string;\n\tdisabled?: boolean;\n\texitDelay?: number;\n\tasChild?: boolean;\n\tforceUpdateBounds?: boolean;\n};\n\nfunction HighlightItem<T extends React.ElementType>({\n\tref,\n\tas,\n\tchildren,\n\tid,\n\tvalue,\n\tclassName,\n\tstyle,\n\ttransition,\n\tdisabled = false,\n\tactiveClassName,\n\texitDelay,\n\tasChild = false,\n\tforceUpdateBounds,\n\t...props\n}: HighlightItemProps<T>) {\n\tconst itemId = React.useId();\n\tconst {\n\t\tactiveValue,\n\t\tsetActiveValue,\n\t\tmode,\n\t\tsetBounds,\n\t\tclearBounds,\n\t\thover,\n\t\tclick,\n\t\tenabled,\n\t\tclassName: contextClassName,\n\t\tstyle: contextStyle,\n\t\ttransition: contextTransition,\n\t\tid: contextId,\n\t\tdisabled: contextDisabled,\n\t\texitDelay: contextExitDelay,\n\t\tforceUpdateBounds: contextForceUpdateBounds,\n\t\tsetActiveClassName,\n\t} = useHighlight();\n\n\tconst Component = as ?? \"div\";\n\tconst element = children as React.ReactElement<ExtendedChildProps>;\n\tconst childValue = id ?? value ?? element.props?.[\"data-value\"] ?? element.props?.id ?? itemId;\n\tconst isActive = activeValue === childValue;\n\tconst isDisabled = disabled === undefined ? contextDisabled : disabled;\n\tconst itemTransition = transition ?? contextTransition;\n\n\tconst localRef = React.useRef<HTMLDivElement>(null);\n\tReact.useImperativeHandle(ref, () => localRef.current as HTMLDivElement);\n\n\tReact.useEffect(() => {\n\t\tif (mode !== \"parent\") return;\n\t\tlet rafId: number;\n\t\tlet previousBounds: Bounds | null = null;\n\t\tconst shouldUpdateBounds = forceUpdateBounds === true || (contextForceUpdateBounds && forceUpdateBounds !== false);\n\n\t\tconst updateBounds = () => {\n\t\t\tif (!localRef.current) return;\n\n\t\t\tconst bounds = localRef.current.getBoundingClientRect();\n\n\t\t\tif (shouldUpdateBounds) {\n\t\t\t\tif (\n\t\t\t\t\tpreviousBounds &&\n\t\t\t\t\tpreviousBounds.top === bounds.top &&\n\t\t\t\t\tpreviousBounds.left === bounds.left &&\n\t\t\t\t\tpreviousBounds.width === bounds.width &&\n\t\t\t\t\tpreviousBounds.height === bounds.height\n\t\t\t\t) {\n\t\t\t\t\trafId = requestAnimationFrame(updateBounds);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tpreviousBounds = bounds;\n\t\t\t\trafId = requestAnimationFrame(updateBounds);\n\t\t\t}\n\n\t\t\tsetBounds(bounds);\n\t\t};\n\n\t\tif (isActive) {\n\t\t\tupdateBounds();\n\t\t\tsetActiveClassName(activeClassName ?? \"\");\n\t\t} else if (!activeValue) clearBounds();\n\n\t\tif (shouldUpdateBounds) return () => cancelAnimationFrame(rafId);\n\t}, [mode, isActive, activeValue, setBounds, clearBounds, activeClassName, setActiveClassName, forceUpdateBounds, contextForceUpdateBounds]);\n\n\tif (!React.isValidElement(children)) return children;\n\n\tconst dataAttributes = {\n\t\t\"data-active\": isActive ? \"true\" : \"false\",\n\t\t\"aria-selected\": isActive,\n\t\t\"data-disabled\": isDisabled,\n\t\t\"data-value\": childValue,\n\t\t\"data-highlight\": true,\n\t};\n\n\tconst commonHandlers = hover\n\t\t? {\n\t\t\t\tonMouseEnter: (e: React.MouseEvent<HTMLDivElement>) => {\n\t\t\t\t\tsetActiveValue(childValue);\n\t\t\t\t\telement.props.onMouseEnter?.(e);\n\t\t\t\t},\n\t\t\t\tonMouseLeave: (e: React.MouseEvent<HTMLDivElement>) => {\n\t\t\t\t\tsetActiveValue(null);\n\t\t\t\t\telement.props.onMouseLeave?.(e);\n\t\t\t\t},\n\t\t }\n\t\t: click\n\t\t? {\n\t\t\t\tonClick: (e: React.MouseEvent<HTMLDivElement>) => {\n\t\t\t\t\tsetActiveValue(childValue);\n\t\t\t\t\telement.props.onClick?.(e);\n\t\t\t\t},\n\t\t }\n\t\t: {};\n\n\tif (asChild) {\n\t\tif (mode === \"children\") {\n\t\t\treturn React.cloneElement(\n\t\t\t\telement,\n\t\t\t\t{\n\t\t\t\t\tkey: childValue,\n\t\t\t\t\tref: localRef,\n\t\t\t\t\tclassName: cn(\"relative\", element.props.className),\n\t\t\t\t\t...getNonOverridingDataAttributes(element, {\n\t\t\t\t\t\t...dataAttributes,\n\t\t\t\t\t\t\"data-slot\": \"motion-highlight-item-container\",\n\t\t\t\t\t}),\n\t\t\t\t\t...commonHandlers,\n\t\t\t\t\t...props,\n\t\t\t\t},\n\t\t\t\t<>\n\t\t\t\t\t<AnimatePresence initial={false} mode=\"wait\">\n\t\t\t\t\t\t{isActive && !isDisabled && (\n\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\tlayoutId={`transition-background-${contextId}`}\n\t\t\t\t\t\t\t\tdata-slot=\"motion-highlight\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\t\t\t\t...contextStyle,\n\t\t\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclassName={cn(contextClassName, activeClassName)}\n\t\t\t\t\t\t\t\ttransition={itemTransition}\n\t\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\t\texit={{\n\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t...itemTransition,\n\t\t\t\t\t\t\t\t\t\tdelay: (itemTransition?.delay ?? 0) + (exitDelay ?? contextExitDelay ?? 0) / 1000,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t{...dataAttributes}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</AnimatePresence>\n\n\t\t\t\t\t<Component\n\t\t\t\t\t\tdata-slot=\"motion-highlight-item\"\n\t\t\t\t\t\tstyle={{ position: \"relative\", zIndex: 1 }}\n\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t{...dataAttributes}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Component>\n\t\t\t\t</>,\n\t\t\t);\n\t\t}\n\n\t\treturn React.cloneElement(element, {\n\t\t\tref: localRef,\n\t\t\t...getNonOverridingDataAttributes(element, {\n\t\t\t\t...dataAttributes,\n\t\t\t\t\"data-slot\": \"motion-highlight-item\",\n\t\t\t}),\n\t\t\t...commonHandlers,\n\t\t});\n\t}\n\n\treturn enabled ? (\n\t\t<Component\n\t\t\tkey={childValue}\n\t\t\tref={localRef}\n\t\t\tdata-slot=\"motion-highlight-item-container\"\n\t\t\tclassName={cn(mode === \"children\" && \"relative\", className)}\n\t\t\t{...dataAttributes}\n\t\t\t{...props}\n\t\t\t{...commonHandlers}\n\t\t>\n\t\t\t{mode === \"children\" && (\n\t\t\t\t<AnimatePresence initial={false} mode=\"wait\">\n\t\t\t\t\t{isActive && !isDisabled && (\n\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\tlayoutId={`transition-background-${contextId}`}\n\t\t\t\t\t\t\tdata-slot=\"motion-highlight\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\t\t\t...contextStyle,\n\t\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName={cn(contextClassName, activeClassName)}\n\t\t\t\t\t\t\ttransition={itemTransition}\n\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\texit={{\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t...itemTransition,\n\t\t\t\t\t\t\t\t\tdelay: (itemTransition?.delay ?? 0) + (exitDelay ?? contextExitDelay ?? 0) / 1000,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t{...dataAttributes}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</AnimatePresence>\n\t\t\t)}\n\n\t\t\t{React.cloneElement(element, {\n\t\t\t\tstyle: { position: \"relative\", zIndex: 1 },\n\t\t\t\tclassName: element.props.className,\n\t\t\t\t...getNonOverridingDataAttributes(element, {\n\t\t\t\t\t...dataAttributes,\n\t\t\t\t\t\"data-slot\": \"motion-highlight-item\",\n\t\t\t\t}),\n\t\t\t})}\n\t\t</Component>\n\t) : (\n\t\tchildren\n\t);\n}\n\nexport { Highlight, HighlightItem, useHighlight, type HighlightProps, type HighlightItemProps };\n","\"use client\";\n\nimport React from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { Highlight, HighlightItem } from \"../highlight/highlight\";\nimport { useReducedMotion } from \"framer-motion\";\n\n\nfunction useControllableState<T>({ value, defaultValue, onChange }: { value?: T; defaultValue: T; onChange?: (next: T) => void }) {\n\tconst [internal, setInternal] = React.useState<T>(defaultValue);\n\tconst isControlled = value !== undefined;\n\tconst current = isControlled ? (value as T) : internal;\n\tconst set = React.useCallback(\n\t\t(next: T) => {\n\t\t\tif (!isControlled) setInternal(next);\n\t\t\tonChange?.(next);\n\t\t},\n\t\t[isControlled, onChange],\n\t);\n\treturn [current, set] as const;\n}\n\ntype FormTabsContextValue = {\n\tvalue: string;\n\tsetValue: (v: string) => void;\n\tregisterTrigger: (value: string, el: HTMLButtonElement | null) => void;\n\tgetTriggerEl: (value: string) => HTMLButtonElement | null;\n\tlistRef: React.RefObject<HTMLDivElement | null>;\n\tuseHighlightPill: boolean;\n\thighlightClassName?: string;\n};\n\nconst TabsContext = React.createContext<FormTabsContextValue | null>(null);\nfunction useFormTabsContext() {\n\tconst ctx = React.useContext(TabsContext);\n\tif (!ctx) throw new Error(\"Tabs components must be used within <Tabs>\");\n\treturn ctx;\n}\n\ninterface FormTabsProps {\n\tdefaultValue: string;\n\tvalue?: string;\n\tonValueChange?: (value: string) => void;\n\tchildren: React.ReactNode;\n\tclassName?: string;\n\tid?: string;\n\thighlightClassName?: string; // Tailwind classes for the moving pill\n\tuseHighlightPill?: boolean; // enable integration with Highlight (parent mode)\n}\n\nexport function FormTabs({\n\tdefaultValue,\n\tvalue,\n\tonValueChange,\n\tchildren,\n\tclassName,\n\tid,\n\thighlightClassName = \"rounded-md bg-background shadow-sm\",\n\tuseHighlightPill = true,\n}: FormTabsProps) {\n\tconst [current, setCurrent] = useControllableState<string>({ value, defaultValue, onChange: onValueChange });\n\n\tconst triggersRef = React.useRef(new Map<string, HTMLButtonElement | null>());\n\tconst listRef = React.useRef<HTMLDivElement>(null);\n\n\tconst registerTrigger = React.useCallback((val: string, el: HTMLButtonElement | null) => {\n\t\ttriggersRef.current.set(val, el);\n\t}, []);\n\tconst getTriggerEl = React.useCallback((val: string) => triggersRef.current.get(val) ?? null, []);\n\n\tconst ctx = React.useMemo<FormTabsContextValue>(\n\t\t() => ({ value: current, setValue: setCurrent, registerTrigger, getTriggerEl, listRef, useHighlightPill, highlightClassName }),\n\t\t[current, setCurrent, registerTrigger, getTriggerEl, useHighlightPill, highlightClassName],\n\t);\n\n\treturn (\n\t\t<TabsContext.Provider value={ctx}>\n\t\t\t<div className={cn(\"w-full\", className)} id={id}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</TabsContext.Provider>\n\t);\n}\n\ninterface TabsListProps extends React.HTMLAttributes<HTMLDivElement> {\n\tchildren: React.ReactNode;\n}\n\nexport function FormTabsList({ children, className, ...props }: TabsListProps) {\n\tconst { value, setValue, listRef, useHighlightPill, highlightClassName } = useFormTabsContext();\n\tconst prefersReducedMotion = useReducedMotion();\n\n\tconst onKeyDown = React.useCallback(\n\t\t(e: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\tconst container = listRef.current;\n\t\t\tif (!container) return;\n\t\t\tconst tabs = Array.from(container.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]:not([data-disabled=\"true\"])'));\n\t\t\tif (!tabs.length) return;\n\t\t\tconst currentIndex = tabs.findIndex((el) => el.getAttribute(\"data-value\") === value);\n\t\t\tconst focusAt = (idx: number) => {\n\t\t\t\tconst el = tabs[idx];\n\t\t\t\tconst nextValue = el?.getAttribute(\"data-value\");\n\t\t\t\tif (nextValue) {\n\t\t\t\t\tsetValue(nextValue);\n\t\t\t\t\trequestAnimationFrame(() => el?.focus());\n\t\t\t\t}\n\t\t\t};\n\t\t\tswitch (e.key) {\n\t\t\t\tcase \"ArrowRight\":\n\t\t\t\tcase \"Right\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt((currentIndex + 1) % tabs.length);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"ArrowLeft\":\n\t\t\t\tcase \"Left\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt((currentIndex - 1 + tabs.length) % tabs.length);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Home\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt(0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"End\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt(tabs.length - 1);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[listRef, setValue, value],\n\t);\n\n\t// Wrap with Highlight (parent mode) when enabled\n\tconst content = <div className=\"relative z-10 flex items-stretch gap-1\">{children}</div>;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"tablist\"\n\t\t\taria-orientation=\"horizontal\"\n\t\t\tref={listRef}\n\t\t\tclassName={cn(\"relative inline-flex h-10 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground isolate\", className)}\n\t\t\tonKeyDown={onKeyDown}\n\t\t\t{...props}\n\t\t>\n\t\t\t{useHighlightPill ? (\n\t\t\t\t<Highlight\n\t\t\t\t\tmode=\"parent\"\n\t\t\t\t\tcontrolledItems\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tonValueChange={(v) => v && setValue(v)}\n\t\t\t\t\tcontainerClassName=\"absolute inset-0 rounded-lg\"\n\t\t\t\t\tclassName={highlightClassName}\n\t\t\t\t\ttransition={prefersReducedMotion ? { duration: 0 } : { type: \"spring\", stiffness: 500, damping: 35, mass: 0.5 }}\n\t\t\t\t\tenabled\n\t\t\t\t\tclick={false}\n\t\t\t\t\thover={false}\n\t\t\t\t>\n\t\t\t\t\t{content}\n\t\t\t\t</Highlight>\n\t\t\t) : (\n\t\t\t\tcontent\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\ninterface TabsTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n\tvalue: string;\n\tdisabled?: boolean;\n\tchildren: React.ReactNode;\n}\n\nexport const FormTabsTrigger = React.memo(function TabsTrigger({ value, disabled, children, className, ...props }: TabsTriggerProps) {\n\tconst { value: selected, setValue, registerTrigger, useHighlightPill } = useFormTabsContext();\n\tconst isSelected = selected === value;\n\tconst ref = React.useRef<HTMLButtonElement>(null);\n\n\tReact.useEffect(() => {\n\t\tregisterTrigger(value, ref.current);\n\t\treturn () => registerTrigger(value, null);\n\t}, [registerTrigger, value]);\n\n\tconst btn = (\n\t\t<button\n\t\t\tref={ref}\n\t\t\ttype=\"button\"\n\t\t\trole=\"tab\"\n\t\t\tdata-value={value}\n\t\t\tdata-state={isSelected ? \"active\" : \"inactive\"}\n\t\t\tdata-disabled={disabled ? \"true\" : \"false\"}\n\t\t\taria-selected={isSelected}\n\t\t\ttabIndex={isSelected ? 0 : -1}\n\t\t\tdisabled={disabled}\n\t\t\tonClick={() => !disabled && setValue(value)}\n\t\t\tclassName={cn(\n\t\t\t\t\"relative inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium\",\n\t\t\t\t\"ring-offset-background transition-[color,transform] focus-visible:outline-none\",\n\t\t\t\t\"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n\t\t\t\t\"disabled:pointer-events-none disabled:opacity-50\",\n\t\t\t\t\"data-[state=active]:text-foreground data-[state=inactive]:text-muted-foreground\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</button>\n\t);\n\n\t// When using Highlight in parent mode, wrap each trigger asChild so it can measure bounds\n\treturn useHighlightPill ? (\n\t\t<HighlightItem asChild value={value}>\n\t\t\t{btn}\n\t\t</HighlightItem>\n\t) : (\n\t\tbtn\n\t);\n});\n"],"names":["HighlightContext","React","createContext","undefined","useHighlight","context","useContext","Error","Highlight","ref","props","as","Component","children","value","defaultValue","onValueChange","className","style","transition","type","stiffness","damping","hover","click","enabled","controlledItems","disabled","exitDelay","mode","localRef","useRef","useImperativeHandle","current","activeValue","setActiveValue","useState","boundsState","setBoundsState","activeClassNameState","setActiveClassNameState","safeSetActiveValue","useCallback","id","prev","safeSetBounds","bounds","boundsOffset","top","left","width","height","containerRect","getBoundingClientRect","newBounds","clearBounds","useEffect","useId","container","onScroll","activeEl","querySelector","addEventListener","passive","removeEventListener","render","position","zIndex","containerClassName","jsx","AnimatePresence","motion","opacity","delay","cn","setBounds","activeClassName","setActiveClassName","forceUpdateBounds","Children","map","child","index","itemsClassName","getNonOverridingDataAttributes","element","dataAttributes","Object","keys","reduce","acc","key","HighlightItem","asChild","itemId","contextClassName","contextStyle","contextTransition","contextId","contextDisabled","contextExitDelay","contextForceUpdateBounds","childValue","isActive","isDisabled","itemTransition","rafId","previousBounds","shouldUpdateBounds","updateBounds","requestAnimationFrame","cancelAnimationFrame","isValidElement","commonHandlers","onMouseEnter","e","onMouseLeave","onClick","cloneElement","jsxs","Fragment","useControllableState","t0","$","_c","onChange","internal","setInternal","isControlled","t1","next","set","t2","TabsContext","useFormTabsContext","ctx","FormTabs","highlightClassName","useHighlightPill","t3","setCurrent","t4","Symbol","for","Map","triggersRef","listRef","t5","val","el","registerTrigger","t6","val_0","get","getTriggerEl","t7","setValue","t8","t9","t10","FormTabsList","prefersReducedMotion","useReducedMotion","tabs","Array","from","querySelectorAll","length","currentIndex","findIndex","getAttribute","focusAt","idx","el_0","nextValue","focus","bb29","preventDefault","onKeyDown","content","v","duration","mass","FormTabsTrigger","memo","TabsTrigger","selected","isSelected","btn"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../src/components/highlight/highlight.tsx","../../src/components/form-tabs/form-tabs.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { AnimatePresence, motion, type Transition } from \"motion/react\";\n\nimport { cn } from \"@/lib/utils\";\n\ntype HighlightMode = \"children\" | \"parent\";\n\ntype Bounds = {\n\ttop: number;\n\tleft: number;\n\twidth: number;\n\theight: number;\n};\n\ntype HighlightContextType<T extends string> = {\n\tas?: keyof HTMLElementTagNameMap;\n\tmode: HighlightMode;\n\tactiveValue: T | null;\n\tsetActiveValue: (value: T | null) => void;\n\tsetBounds: (bounds: DOMRect) => void;\n\tclearBounds: () => void;\n\tid: string;\n\thover: boolean;\n\tclick: boolean;\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n\tactiveClassName?: string;\n\tsetActiveClassName: (className: string) => void;\n\ttransition?: Transition;\n\tdisabled?: boolean;\n\tenabled?: boolean;\n\texitDelay?: number;\n\tforceUpdateBounds?: boolean;\n};\n\nconst HighlightContext = React.createContext<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tHighlightContextType<any> | undefined\n>(undefined);\n\nfunction useHighlight<T extends string>(): HighlightContextType<T> {\n\tconst context = React.useContext(HighlightContext);\n\tif (!context) {\n\t\tthrow new Error(\"useHighlight must be used within a HighlightProvider\");\n\t}\n\treturn context as unknown as HighlightContextType<T>;\n}\n\ntype BaseHighlightProps<T extends React.ElementType = \"div\"> = {\n\tas?: T;\n\tref?: React.Ref<HTMLDivElement>;\n\tmode?: HighlightMode;\n\tvalue?: string | null;\n\tdefaultValue?: string | null;\n\tonValueChange?: (value: string | null) => void;\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n\ttransition?: Transition;\n\thover?: boolean;\n\tclick?: boolean;\n\tdisabled?: boolean;\n\tenabled?: boolean;\n\texitDelay?: number;\n};\n\ntype ParentModeHighlightProps = {\n\tboundsOffset?: Partial<Bounds>;\n\tcontainerClassName?: string;\n\tforceUpdateBounds?: boolean;\n};\n\ntype ControlledParentModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> &\n\tParentModeHighlightProps & {\n\t\tmode: \"parent\";\n\t\tcontrolledItems: true;\n\t\tchildren: React.ReactNode;\n\t};\n\ntype ControlledChildrenModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> & {\n\tmode?: \"children\" | undefined;\n\tcontrolledItems: true;\n\tchildren: React.ReactNode;\n};\n\ntype UncontrolledParentModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> &\n\tParentModeHighlightProps & {\n\t\tmode: \"parent\";\n\t\tcontrolledItems?: false;\n\t\titemsClassName?: string;\n\t\tchildren: React.ReactElement | React.ReactElement[];\n\t};\n\ntype UncontrolledChildrenModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> & {\n\tmode?: \"children\";\n\tcontrolledItems?: false;\n\titemsClassName?: string;\n\tchildren: React.ReactElement | React.ReactElement[];\n};\n\ntype HighlightProps<T extends React.ElementType = \"div\"> =\n\t| ControlledParentModeHighlightProps<T>\n\t| ControlledChildrenModeHighlightProps<T>\n\t| UncontrolledParentModeHighlightProps<T>\n\t| UncontrolledChildrenModeHighlightProps<T>;\n\nfunction Highlight<T extends React.ElementType = \"div\">({ ref, ...props }: HighlightProps<T>) {\n\tconst {\n\t\tas: Component = \"div\",\n\t\tchildren,\n\t\tvalue,\n\t\tdefaultValue,\n\t\tonValueChange,\n\t\tclassName,\n\t\tstyle,\n\t\ttransition = { type: \"spring\", stiffness: 350, damping: 35 },\n\t\thover = false,\n\t\tclick = true,\n\t\tenabled = true,\n\t\tcontrolledItems,\n\t\tdisabled = false,\n\t\texitDelay = 200,\n\t\tmode = \"children\",\n\t} = props;\n\n\tconst localRef = React.useRef<HTMLDivElement>(null);\n\tReact.useImperativeHandle(ref, () => localRef.current as HTMLDivElement);\n\n\tconst [activeValue, setActiveValue] = React.useState<string | null>(value ?? defaultValue ?? null);\n\tconst [boundsState, setBoundsState] = React.useState<Bounds | null>(null);\n\tconst [activeClassNameState, setActiveClassNameState] = React.useState<string>(\"\");\n\n\tconst safeSetActiveValue = React.useCallback(\n\t\t(id: string | null) => {\n\t\t\tsetActiveValue((prev) => (prev === id ? prev : id));\n\t\t\tif (id !== activeValue) onValueChange?.(id);\n\t\t},\n\t\t[activeValue, onValueChange],\n\t);\n\n\tconst safeSetBounds = React.useCallback(\n\t\t(bounds: DOMRect) => {\n\t\t\tif (!localRef.current) return;\n\n\t\t\tconst boundsOffset = (props as ParentModeHighlightProps)?.boundsOffset ?? {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t};\n\n\t\t\tconst containerRect = localRef.current.getBoundingClientRect();\n\t\t\tconst newBounds: Bounds = {\n\t\t\t\ttop: bounds.top - containerRect.top + (boundsOffset.top ?? 0),\n\t\t\t\tleft: bounds.left - containerRect.left + (boundsOffset.left ?? 0),\n\t\t\t\twidth: bounds.width + (boundsOffset.width ?? 0),\n\t\t\t\theight: bounds.height + (boundsOffset.height ?? 0),\n\t\t\t};\n\n\t\t\tsetBoundsState((prev) => {\n\t\t\t\tif (\n\t\t\t\t\tprev &&\n\t\t\t\t\tprev.top === newBounds.top &&\n\t\t\t\t\tprev.left === newBounds.left &&\n\t\t\t\t\tprev.width === newBounds.width &&\n\t\t\t\t\tprev.height === newBounds.height\n\t\t\t\t) {\n\t\t\t\t\treturn prev;\n\t\t\t\t}\n\t\t\t\treturn newBounds;\n\t\t\t});\n\t\t},\n\t\t[props],\n\t);\n\n\tconst clearBounds = React.useCallback(() => {\n\t\tsetBoundsState((prev) => (prev === null ? prev : null));\n\t}, []);\n\n\tReact.useEffect(() => {\n\t\tif (value !== undefined) setActiveValue(value);\n\t\telse if (defaultValue !== undefined) setActiveValue(defaultValue);\n\t}, [value, defaultValue]);\n\n\tconst id = React.useId();\n\n\tReact.useEffect(() => {\n\t\tif (mode !== \"parent\") return;\n\t\tconst container = localRef.current;\n\t\tif (!container) return;\n\n\t\tconst onScroll = () => {\n\t\t\tif (!activeValue) return;\n\t\t\tconst activeEl = container.querySelector<HTMLElement>(`[data-value=\"${activeValue}\"][data-highlight=\"true\"]`);\n\t\t\tif (activeEl) safeSetBounds(activeEl.getBoundingClientRect());\n\t\t};\n\n\t\tcontainer.addEventListener(\"scroll\", onScroll, { passive: true });\n\t\treturn () => container.removeEventListener(\"scroll\", onScroll);\n\t}, [mode, activeValue, safeSetBounds]);\n\n\tconst render = React.useCallback(\n\t\t(children: React.ReactNode) => {\n\t\t\tif (mode === \"parent\") {\n\t\t\t\treturn (\n\t\t\t\t\t<Component\n\t\t\t\t\t\tref={localRef}\n\t\t\t\t\t\tdata-slot=\"motion-highlight-container\"\n\t\t\t\t\t\tstyle={{ position: \"relative\", zIndex: 1 }}\n\t\t\t\t\t\tclassName={(props as ParentModeHighlightProps)?.containerClassName}\n\t\t\t\t\t>\n\t\t\t\t\t\t<AnimatePresence initial={false} mode=\"wait\">\n\t\t\t\t\t\t\t{boundsState && (\n\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\tdata-slot=\"motion-highlight\"\n\t\t\t\t\t\t\t\t\tanimate={{\n\t\t\t\t\t\t\t\t\t\ttop: boundsState.top,\n\t\t\t\t\t\t\t\t\t\tleft: boundsState.left,\n\t\t\t\t\t\t\t\t\t\twidth: boundsState.width,\n\t\t\t\t\t\t\t\t\t\theight: boundsState.height,\n\t\t\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tinitial={{\n\t\t\t\t\t\t\t\t\t\ttop: boundsState.top,\n\t\t\t\t\t\t\t\t\t\tleft: boundsState.left,\n\t\t\t\t\t\t\t\t\t\twidth: boundsState.width,\n\t\t\t\t\t\t\t\t\t\theight: boundsState.height,\n\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\texit={{\n\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t\t...transition,\n\t\t\t\t\t\t\t\t\t\t\tdelay: (transition?.delay ?? 0) + (exitDelay ?? 0) / 1000,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ttransition={transition}\n\t\t\t\t\t\t\t\t\tstyle={{ position: \"absolute\", zIndex: 0, ...style }}\n\t\t\t\t\t\t\t\t\tclassName={cn(className, activeClassNameState)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Component>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn children;\n\t\t},\n\t\t[mode, Component, props, boundsState, transition, exitDelay, style, className, activeClassNameState],\n\t);\n\n\treturn (\n\t\t<HighlightContext.Provider\n\t\t\tvalue={{\n\t\t\t\tmode,\n\t\t\t\tactiveValue,\n\t\t\t\tsetActiveValue: safeSetActiveValue,\n\t\t\t\tid,\n\t\t\t\thover,\n\t\t\t\tclick,\n\t\t\t\tclassName,\n\t\t\t\tstyle,\n\t\t\t\ttransition,\n\t\t\t\tdisabled,\n\t\t\t\tenabled,\n\t\t\t\texitDelay,\n\t\t\t\tsetBounds: safeSetBounds,\n\t\t\t\tclearBounds,\n\t\t\t\tactiveClassName: activeClassNameState,\n\t\t\t\tsetActiveClassName: setActiveClassNameState,\n\t\t\t\tforceUpdateBounds: (props as ParentModeHighlightProps)?.forceUpdateBounds,\n\t\t\t}}\n\t\t>\n\t\t\t{enabled\n\t\t\t\t? controlledItems\n\t\t\t\t\t? render(children)\n\t\t\t\t\t: render(\n\t\t\t\t\t\t\tReact.Children.map(children, (child, index) => (\n\t\t\t\t\t\t\t\t<HighlightItem key={index} className={props?.itemsClassName}>\n\t\t\t\t\t\t\t\t\t{child}\n\t\t\t\t\t\t\t\t</HighlightItem>\n\t\t\t\t\t\t\t)),\n\t\t\t\t\t )\n\t\t\t\t: children}\n\t\t</HighlightContext.Provider>\n\t);\n}\n\nfunction getNonOverridingDataAttributes(element: React.ReactElement, dataAttributes: Record<string, unknown>): Record<string, unknown> {\n\treturn Object.keys(dataAttributes).reduce<Record<string, unknown>>((acc, key) => {\n\t\tif ((element.props as Record<string, unknown>)[key] === undefined) {\n\t\t\tacc[key] = dataAttributes[key];\n\t\t}\n\t\treturn acc;\n\t}, {});\n}\n\ntype ExtendedChildProps = React.ComponentProps<\"div\"> & {\n\t\"id\"?: string;\n\t\"ref\"?: React.Ref<HTMLElement>;\n\t\"data-active\"?: string;\n\t\"data-value\"?: string;\n\t\"data-disabled\"?: boolean;\n\t\"data-highlight\"?: boolean;\n\t\"data-slot\"?: string;\n};\n\ntype HighlightItemProps<T extends React.ElementType = \"div\"> = React.ComponentProps<T> & {\n\tas?: T;\n\tchildren: React.ReactElement;\n\tid?: string;\n\tvalue?: string;\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n\ttransition?: Transition;\n\tactiveClassName?: string;\n\tdisabled?: boolean;\n\texitDelay?: number;\n\tasChild?: boolean;\n\tforceUpdateBounds?: boolean;\n};\n\nfunction HighlightItem<T extends React.ElementType>({\n\tref,\n\tas,\n\tchildren,\n\tid,\n\tvalue,\n\tclassName,\n\tstyle,\n\ttransition,\n\tdisabled = false,\n\tactiveClassName,\n\texitDelay,\n\tasChild = false,\n\tforceUpdateBounds,\n\t...props\n}: HighlightItemProps<T>) {\n\tconst itemId = React.useId();\n\tconst {\n\t\tactiveValue,\n\t\tsetActiveValue,\n\t\tmode,\n\t\tsetBounds,\n\t\tclearBounds,\n\t\thover,\n\t\tclick,\n\t\tenabled,\n\t\tclassName: contextClassName,\n\t\tstyle: contextStyle,\n\t\ttransition: contextTransition,\n\t\tid: contextId,\n\t\tdisabled: contextDisabled,\n\t\texitDelay: contextExitDelay,\n\t\tforceUpdateBounds: contextForceUpdateBounds,\n\t\tsetActiveClassName,\n\t} = useHighlight();\n\n\tconst Component = as ?? \"div\";\n\tconst element = children as React.ReactElement<ExtendedChildProps>;\n\tconst childValue = id ?? value ?? element.props?.[\"data-value\"] ?? element.props?.id ?? itemId;\n\tconst isActive = activeValue === childValue;\n\tconst isDisabled = disabled === undefined ? contextDisabled : disabled;\n\tconst itemTransition = transition ?? contextTransition;\n\n\tconst localRef = React.useRef<HTMLDivElement>(null);\n\tReact.useImperativeHandle(ref, () => localRef.current as HTMLDivElement);\n\n\tReact.useEffect(() => {\n\t\tif (mode !== \"parent\") return;\n\t\tlet rafId: number;\n\t\tlet previousBounds: Bounds | null = null;\n\t\tconst shouldUpdateBounds = forceUpdateBounds === true || (contextForceUpdateBounds && forceUpdateBounds !== false);\n\n\t\tconst updateBounds = () => {\n\t\t\tif (!localRef.current) return;\n\n\t\t\tconst bounds = localRef.current.getBoundingClientRect();\n\n\t\t\tif (shouldUpdateBounds) {\n\t\t\t\tif (\n\t\t\t\t\tpreviousBounds &&\n\t\t\t\t\tpreviousBounds.top === bounds.top &&\n\t\t\t\t\tpreviousBounds.left === bounds.left &&\n\t\t\t\t\tpreviousBounds.width === bounds.width &&\n\t\t\t\t\tpreviousBounds.height === bounds.height\n\t\t\t\t) {\n\t\t\t\t\trafId = requestAnimationFrame(updateBounds);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tpreviousBounds = bounds;\n\t\t\t\trafId = requestAnimationFrame(updateBounds);\n\t\t\t}\n\n\t\t\tsetBounds(bounds);\n\t\t};\n\n\t\tif (isActive) {\n\t\t\tupdateBounds();\n\t\t\tsetActiveClassName(activeClassName ?? \"\");\n\t\t} else if (!activeValue) clearBounds();\n\n\t\tif (shouldUpdateBounds) return () => cancelAnimationFrame(rafId);\n\t}, [mode, isActive, activeValue, setBounds, clearBounds, activeClassName, setActiveClassName, forceUpdateBounds, contextForceUpdateBounds]);\n\n\tif (!React.isValidElement(children)) return children;\n\n\tconst dataAttributes = {\n\t\t\"data-active\": isActive ? \"true\" : \"false\",\n\t\t\"aria-selected\": isActive,\n\t\t\"data-disabled\": isDisabled,\n\t\t\"data-value\": childValue,\n\t\t\"data-highlight\": true,\n\t};\n\n\tconst commonHandlers = hover\n\t\t? {\n\t\t\t\tonMouseEnter: (e: React.MouseEvent<HTMLDivElement>) => {\n\t\t\t\t\tsetActiveValue(childValue);\n\t\t\t\t\telement.props.onMouseEnter?.(e);\n\t\t\t\t},\n\t\t\t\tonMouseLeave: (e: React.MouseEvent<HTMLDivElement>) => {\n\t\t\t\t\tsetActiveValue(null);\n\t\t\t\t\telement.props.onMouseLeave?.(e);\n\t\t\t\t},\n\t\t }\n\t\t: click\n\t\t? {\n\t\t\t\tonClick: (e: React.MouseEvent<HTMLDivElement>) => {\n\t\t\t\t\tsetActiveValue(childValue);\n\t\t\t\t\telement.props.onClick?.(e);\n\t\t\t\t},\n\t\t }\n\t\t: {};\n\n\tif (asChild) {\n\t\tif (mode === \"children\") {\n\t\t\treturn React.cloneElement(\n\t\t\t\telement,\n\t\t\t\t{\n\t\t\t\t\tkey: childValue,\n\t\t\t\t\tref: localRef,\n\t\t\t\t\tclassName: cn(\"relative\", element.props.className),\n\t\t\t\t\t...getNonOverridingDataAttributes(element, {\n\t\t\t\t\t\t...dataAttributes,\n\t\t\t\t\t\t\"data-slot\": \"motion-highlight-item-container\",\n\t\t\t\t\t}),\n\t\t\t\t\t...commonHandlers,\n\t\t\t\t\t...props,\n\t\t\t\t},\n\t\t\t\t<>\n\t\t\t\t\t<AnimatePresence initial={false} mode=\"wait\">\n\t\t\t\t\t\t{isActive && !isDisabled && (\n\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\tlayoutId={`transition-background-${contextId}`}\n\t\t\t\t\t\t\t\tdata-slot=\"motion-highlight\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\t\t\t\t...contextStyle,\n\t\t\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclassName={cn(contextClassName, activeClassName)}\n\t\t\t\t\t\t\t\ttransition={itemTransition}\n\t\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\t\texit={{\n\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t...itemTransition,\n\t\t\t\t\t\t\t\t\t\tdelay: (itemTransition?.delay ?? 0) + (exitDelay ?? contextExitDelay ?? 0) / 1000,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t{...dataAttributes}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</AnimatePresence>\n\n\t\t\t\t\t<Component\n\t\t\t\t\t\tdata-slot=\"motion-highlight-item\"\n\t\t\t\t\t\tstyle={{ position: \"relative\", zIndex: 1 }}\n\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t{...dataAttributes}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Component>\n\t\t\t\t</>,\n\t\t\t);\n\t\t}\n\n\t\treturn React.cloneElement(element, {\n\t\t\tref: localRef,\n\t\t\t...getNonOverridingDataAttributes(element, {\n\t\t\t\t...dataAttributes,\n\t\t\t\t\"data-slot\": \"motion-highlight-item\",\n\t\t\t}),\n\t\t\t...commonHandlers,\n\t\t});\n\t}\n\n\treturn enabled ? (\n\t\t<Component\n\t\t\tkey={childValue}\n\t\t\tref={localRef}\n\t\t\tdata-slot=\"motion-highlight-item-container\"\n\t\t\tclassName={cn(mode === \"children\" && \"relative\", className)}\n\t\t\t{...dataAttributes}\n\t\t\t{...props}\n\t\t\t{...commonHandlers}\n\t\t>\n\t\t\t{mode === \"children\" && (\n\t\t\t\t<AnimatePresence initial={false} mode=\"wait\">\n\t\t\t\t\t{isActive && !isDisabled && (\n\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\tlayoutId={`transition-background-${contextId}`}\n\t\t\t\t\t\t\tdata-slot=\"motion-highlight\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\t\t\t...contextStyle,\n\t\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName={cn(contextClassName, activeClassName)}\n\t\t\t\t\t\t\ttransition={itemTransition}\n\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\texit={{\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t...itemTransition,\n\t\t\t\t\t\t\t\t\tdelay: (itemTransition?.delay ?? 0) + (exitDelay ?? contextExitDelay ?? 0) / 1000,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t{...dataAttributes}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</AnimatePresence>\n\t\t\t)}\n\n\t\t\t{React.cloneElement(element, {\n\t\t\t\tstyle: { position: \"relative\", zIndex: 1 },\n\t\t\t\tclassName: element.props.className,\n\t\t\t\t...getNonOverridingDataAttributes(element, {\n\t\t\t\t\t...dataAttributes,\n\t\t\t\t\t\"data-slot\": \"motion-highlight-item\",\n\t\t\t\t}),\n\t\t\t})}\n\t\t</Component>\n\t) : (\n\t\tchildren\n\t);\n}\n\nexport { Highlight, HighlightItem, useHighlight, type HighlightProps, type HighlightItemProps };\n","\"use client\";\n\nimport React from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { Highlight, HighlightItem } from \"../highlight/highlight\";\nimport { useReducedMotion } from \"framer-motion\";\n\n\nfunction useControllableState<T>({ value, defaultValue, onChange }: { value?: T; defaultValue: T; onChange?: (next: T) => void }) {\n\tconst [internal, setInternal] = React.useState<T>(defaultValue);\n\tconst isControlled = value !== undefined;\n\tconst current = isControlled ? (value as T) : internal;\n\tconst set = React.useCallback(\n\t\t(next: T) => {\n\t\t\tif (!isControlled) setInternal(next);\n\t\t\tonChange?.(next);\n\t\t},\n\t\t[isControlled, onChange],\n\t);\n\treturn [current, set] as const;\n}\n\ntype FormTabsContextValue = {\n\tvalue: string;\n\tsetValue: (v: string) => void;\n\tregisterTrigger: (value: string, el: HTMLButtonElement | null) => void;\n\tgetTriggerEl: (value: string) => HTMLButtonElement | null;\n\tlistRef: React.RefObject<HTMLDivElement | null>;\n\tuseHighlightPill: boolean;\n\thighlightClassName?: string;\n};\n\nconst TabsContext = React.createContext<FormTabsContextValue | null>(null);\nfunction useFormTabsContext() {\n\tconst ctx = React.useContext(TabsContext);\n\tif (!ctx) throw new Error(\"Tabs components must be used within <Tabs>\");\n\treturn ctx;\n}\n\ninterface FormTabsProps {\n\tdefaultValue: string;\n\tvalue?: string;\n\tonValueChange?: (value: string) => void;\n\tchildren: React.ReactNode;\n\tclassName?: string;\n\tid?: string;\n\thighlightClassName?: string; // Tailwind classes for the moving pill\n\tuseHighlightPill?: boolean; // enable integration with Highlight (parent mode)\n}\n\nexport function FormTabs({\n\tdefaultValue,\n\tvalue,\n\tonValueChange,\n\tchildren,\n\tclassName,\n\tid,\n\thighlightClassName = \"rounded-md bg-background shadow-sm\",\n\tuseHighlightPill = true,\n}: FormTabsProps) {\n\tconst [current, setCurrent] = useControllableState<string>({ value, defaultValue, onChange: onValueChange });\n\n\tconst triggersRef = React.useRef(new Map<string, HTMLButtonElement | null>());\n\tconst listRef = React.useRef<HTMLDivElement>(null);\n\n\tconst registerTrigger = React.useCallback((val: string, el: HTMLButtonElement | null) => {\n\t\ttriggersRef.current.set(val, el);\n\t}, []);\n\tconst getTriggerEl = React.useCallback((val: string) => triggersRef.current.get(val) ?? null, []);\n\n\tconst ctx = React.useMemo<FormTabsContextValue>(\n\t\t() => ({ value: current, setValue: setCurrent, registerTrigger, getTriggerEl, listRef, useHighlightPill, highlightClassName }),\n\t\t[current, setCurrent, registerTrigger, getTriggerEl, useHighlightPill, highlightClassName],\n\t);\n\n\treturn (\n\t\t<TabsContext.Provider value={ctx}>\n\t\t\t<div className={cn(\"w-full\", className)} id={id}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</TabsContext.Provider>\n\t);\n}\n\ninterface TabsListProps extends React.HTMLAttributes<HTMLDivElement> {\n\tchildren: React.ReactNode;\n}\n\nexport function FormTabsList({ children, className, ...props }: TabsListProps) {\n\tconst { value, setValue, listRef, useHighlightPill, highlightClassName } = useFormTabsContext();\n\tconst prefersReducedMotion = useReducedMotion();\n\n\tconst onKeyDown = React.useCallback(\n\t\t(e: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\tconst container = listRef.current;\n\t\t\tif (!container) return;\n\t\t\tconst tabs = Array.from(container.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]:not([data-disabled=\"true\"])'));\n\t\t\tif (!tabs.length) return;\n\t\t\tconst currentIndex = tabs.findIndex((el) => el.getAttribute(\"data-value\") === value);\n\t\t\tconst focusAt = (idx: number) => {\n\t\t\t\tconst el = tabs[idx];\n\t\t\t\tconst nextValue = el?.getAttribute(\"data-value\");\n\t\t\t\tif (nextValue) {\n\t\t\t\t\tsetValue(nextValue);\n\t\t\t\t\trequestAnimationFrame(() => el?.focus());\n\t\t\t\t}\n\t\t\t};\n\t\t\tswitch (e.key) {\n\t\t\t\tcase \"ArrowRight\":\n\t\t\t\tcase \"Right\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt((currentIndex + 1) % tabs.length);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"ArrowLeft\":\n\t\t\t\tcase \"Left\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt((currentIndex - 1 + tabs.length) % tabs.length);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Home\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt(0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"End\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt(tabs.length - 1);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[listRef, setValue, value],\n\t);\n\n\t// Wrap with Highlight (parent mode) when enabled\n\tconst content = <div className=\"relative z-10 flex items-stretch gap-1\">{children}</div>;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"tablist\"\n\t\t\taria-orientation=\"horizontal\"\n\t\t\tref={listRef}\n\t\t\tclassName={cn(\"relative inline-flex h-10 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground isolate\", className)}\n\t\t\tonKeyDown={onKeyDown}\n\t\t\t{...props}\n\t\t>\n\t\t\t{useHighlightPill ? (\n\t\t\t\t<Highlight\n\t\t\t\t\tmode=\"parent\"\n\t\t\t\t\tcontrolledItems\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tonValueChange={(v) => v && setValue(v)}\n\t\t\t\t\tcontainerClassName=\"absolute inset-0 rounded-lg\"\n\t\t\t\t\tclassName={highlightClassName}\n\t\t\t\t\ttransition={prefersReducedMotion ? { duration: 0 } : { type: \"spring\", stiffness: 500, damping: 35, mass: 0.5 }}\n\t\t\t\t\tenabled\n\t\t\t\t\tclick={false}\n\t\t\t\t\thover={false}\n\t\t\t\t>\n\t\t\t\t\t{content}\n\t\t\t\t</Highlight>\n\t\t\t) : (\n\t\t\t\tcontent\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\ninterface TabsTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n\tvalue: string;\n\tdisabled?: boolean;\n\tchildren: React.ReactNode;\n}\n\nexport const FormTabsTrigger = React.memo(function TabsTrigger({ value, disabled, children, className, ...props }: TabsTriggerProps) {\n\tconst { value: selected, setValue, registerTrigger, useHighlightPill } = useFormTabsContext();\n\tconst isSelected = selected === value;\n\tconst ref = React.useRef<HTMLButtonElement>(null);\n\n\tReact.useEffect(() => {\n\t\tregisterTrigger(value, ref.current);\n\t\treturn () => registerTrigger(value, null);\n\t}, [registerTrigger, value]);\n\n\tconst btn = (\n\t\t<button\n\t\t\tref={ref}\n\t\t\ttype=\"button\"\n\t\t\trole=\"tab\"\n\t\t\tdata-value={value}\n\t\t\tdata-state={isSelected ? \"active\" : \"inactive\"}\n\t\t\tdata-disabled={disabled ? \"true\" : \"false\"}\n\t\t\taria-selected={isSelected}\n\t\t\ttabIndex={isSelected ? 0 : -1}\n\t\t\tdisabled={disabled}\n\t\t\tonClick={() => !disabled && setValue(value)}\n\t\t\tclassName={cn(\n\t\t\t\t\"relative inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium\",\n\t\t\t\t\"ring-offset-background transition-[color,transform] focus-visible:outline-none\",\n\t\t\t\t\"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n\t\t\t\t\"disabled:pointer-events-none disabled:opacity-50\",\n\t\t\t\t\"data-[state=active]:text-foreground data-[state=inactive]:text-muted-foreground\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</button>\n\t);\n\n\t// When using Highlight in parent mode, wrap each trigger asChild so it can measure bounds\n\treturn useHighlightPill ? (\n\t\t<HighlightItem asChild value={value}>\n\t\t\t{btn}\n\t\t</HighlightItem>\n\t) : (\n\t\tbtn\n\t);\n});\n"],"names":["HighlightContext","React","createContext","undefined","useHighlight","context","useContext","Error","Highlight","ref","props","as","Component","children","value","defaultValue","onValueChange","className","style","transition","type","stiffness","damping","hover","click","enabled","controlledItems","disabled","exitDelay","mode","localRef","useRef","useImperativeHandle","current","activeValue","setActiveValue","useState","boundsState","setBoundsState","activeClassNameState","setActiveClassNameState","safeSetActiveValue","useCallback","id","prev","safeSetBounds","bounds","boundsOffset","top","left","width","height","containerRect","getBoundingClientRect","newBounds","clearBounds","useEffect","useId","container","onScroll","activeEl","querySelector","addEventListener","passive","removeEventListener","render","position","zIndex","containerClassName","opacity","delay","cn","setBounds","activeClassName","setActiveClassName","forceUpdateBounds","Children","map","child","index","itemsClassName","getNonOverridingDataAttributes","element","dataAttributes","Object","keys","reduce","acc","key","HighlightItem","asChild","itemId","contextClassName","contextStyle","contextTransition","contextId","contextDisabled","contextExitDelay","contextForceUpdateBounds","childValue","isActive","isDisabled","itemTransition","rafId","previousBounds","shouldUpdateBounds","updateBounds","requestAnimationFrame","cancelAnimationFrame","isValidElement","commonHandlers","onMouseEnter","e","onMouseLeave","onClick","cloneElement","useControllableState","t0","$","_c","onChange","internal","setInternal","isControlled","t1","next","set","t2","TabsContext","useFormTabsContext","ctx","FormTabs","highlightClassName","useHighlightPill","t3","setCurrent","t4","Symbol","for","Map","triggersRef","listRef","t5","val","el","registerTrigger","t6","val_0","get","getTriggerEl","t7","setValue","t8","t9","t10","FormTabsList","prefersReducedMotion","useReducedMotion","tabs","Array","from","querySelectorAll","length","currentIndex","findIndex","getAttribute","focusAt","idx","el_0","nextValue","focus","bb29","preventDefault","onKeyDown","content","v","duration","mass","FormTabsTrigger","memo","TabsTrigger","selected","isSelected","btn"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../../src/components/highlight/highlight.tsx","../../src/components/form-tabs/form-tabs.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { AnimatePresence, motion, type Transition } from \"motion/react\";\n\nimport { cn } from \"@/lib/utils\";\n\ntype HighlightMode = \"children\" | \"parent\";\n\ntype Bounds = {\n\ttop: number;\n\tleft: number;\n\twidth: number;\n\theight: number;\n};\n\ntype HighlightContextType<T extends string> = {\n\tas?: keyof HTMLElementTagNameMap;\n\tmode: HighlightMode;\n\tactiveValue: T | null;\n\tsetActiveValue: (value: T | null) => void;\n\tsetBounds: (bounds: DOMRect) => void;\n\tclearBounds: () => void;\n\tid: string;\n\thover: boolean;\n\tclick: boolean;\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n\tactiveClassName?: string;\n\tsetActiveClassName: (className: string) => void;\n\ttransition?: Transition;\n\tdisabled?: boolean;\n\tenabled?: boolean;\n\texitDelay?: number;\n\tforceUpdateBounds?: boolean;\n};\n\nconst HighlightContext = React.createContext<\n\t \n\tHighlightContextType<any> | undefined\n>(undefined);\n\nfunction useHighlight<T extends string>(): HighlightContextType<T> {\n\tconst context = React.useContext(HighlightContext);\n\tif (!context) {\n\t\tthrow new Error(\"useHighlight must be used within a HighlightProvider\");\n\t}\n\treturn context as unknown as HighlightContextType<T>;\n}\n\ntype BaseHighlightProps<T extends React.ElementType = \"div\"> = {\n\tas?: T;\n\tref?: React.Ref<HTMLDivElement>;\n\tmode?: HighlightMode;\n\tvalue?: string | null;\n\tdefaultValue?: string | null;\n\tonValueChange?: (value: string | null) => void;\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n\ttransition?: Transition;\n\thover?: boolean;\n\tclick?: boolean;\n\tdisabled?: boolean;\n\tenabled?: boolean;\n\texitDelay?: number;\n};\n\ntype ParentModeHighlightProps = {\n\tboundsOffset?: Partial<Bounds>;\n\tcontainerClassName?: string;\n\tforceUpdateBounds?: boolean;\n};\n\ntype ControlledParentModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> &\n\tParentModeHighlightProps & {\n\t\tmode: \"parent\";\n\t\tcontrolledItems: true;\n\t\tchildren: React.ReactNode;\n\t};\n\ntype ControlledChildrenModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> & {\n\tmode?: \"children\" | undefined;\n\tcontrolledItems: true;\n\tchildren: React.ReactNode;\n};\n\ntype UncontrolledParentModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> &\n\tParentModeHighlightProps & {\n\t\tmode: \"parent\";\n\t\tcontrolledItems?: false;\n\t\titemsClassName?: string;\n\t\tchildren: React.ReactElement | React.ReactElement[];\n\t};\n\ntype UncontrolledChildrenModeHighlightProps<T extends React.ElementType = \"div\"> = BaseHighlightProps<T> & {\n\tmode?: \"children\";\n\tcontrolledItems?: false;\n\titemsClassName?: string;\n\tchildren: React.ReactElement | React.ReactElement[];\n};\n\ntype HighlightProps<T extends React.ElementType = \"div\"> =\n\t| ControlledParentModeHighlightProps<T>\n\t| ControlledChildrenModeHighlightProps<T>\n\t| UncontrolledParentModeHighlightProps<T>\n\t| UncontrolledChildrenModeHighlightProps<T>;\n\nfunction Highlight<T extends React.ElementType = \"div\">({ ref, ...props }: HighlightProps<T>) {\n\tconst {\n\t\tas: Component = \"div\",\n\t\tchildren,\n\t\tvalue,\n\t\tdefaultValue,\n\t\tonValueChange,\n\t\tclassName,\n\t\tstyle,\n\t\ttransition = { type: \"spring\", stiffness: 350, damping: 35 },\n\t\thover = false,\n\t\tclick = true,\n\t\tenabled = true,\n\t\tcontrolledItems,\n\t\tdisabled = false,\n\t\texitDelay = 200,\n\t\tmode = \"children\",\n\t} = props;\n\n\tconst localRef = React.useRef<HTMLDivElement>(null);\n\tReact.useImperativeHandle(ref, () => localRef.current as HTMLDivElement);\n\n\tconst [activeValue, setActiveValue] = React.useState<string | null>(value ?? defaultValue ?? null);\n\tconst [boundsState, setBoundsState] = React.useState<Bounds | null>(null);\n\tconst [activeClassNameState, setActiveClassNameState] = React.useState<string>(\"\");\n\n\tconst safeSetActiveValue = React.useCallback(\n\t\t(id: string | null) => {\n\t\t\tsetActiveValue((prev) => (prev === id ? prev : id));\n\t\t\tif (id !== activeValue) onValueChange?.(id);\n\t\t},\n\t\t[activeValue, onValueChange],\n\t);\n\n\tconst safeSetBounds = React.useCallback(\n\t\t(bounds: DOMRect) => {\n\t\t\tif (!localRef.current) return;\n\n\t\t\tconst boundsOffset = (props as ParentModeHighlightProps)?.boundsOffset ?? {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t};\n\n\t\t\tconst containerRect = localRef.current.getBoundingClientRect();\n\t\t\tconst newBounds: Bounds = {\n\t\t\t\ttop: bounds.top - containerRect.top + (boundsOffset.top ?? 0),\n\t\t\t\tleft: bounds.left - containerRect.left + (boundsOffset.left ?? 0),\n\t\t\t\twidth: bounds.width + (boundsOffset.width ?? 0),\n\t\t\t\theight: bounds.height + (boundsOffset.height ?? 0),\n\t\t\t};\n\n\t\t\tsetBoundsState((prev) => {\n\t\t\t\tif (\n\t\t\t\t\tprev &&\n\t\t\t\t\tprev.top === newBounds.top &&\n\t\t\t\t\tprev.left === newBounds.left &&\n\t\t\t\t\tprev.width === newBounds.width &&\n\t\t\t\t\tprev.height === newBounds.height\n\t\t\t\t) {\n\t\t\t\t\treturn prev;\n\t\t\t\t}\n\t\t\t\treturn newBounds;\n\t\t\t});\n\t\t},\n\t\t[props],\n\t);\n\n\tconst clearBounds = React.useCallback(() => {\n\t\tsetBoundsState((prev) => (prev === null ? prev : null));\n\t}, []);\n\n\tReact.useEffect(() => {\n\t\tif (value !== undefined) setActiveValue(value);\n\t\telse if (defaultValue !== undefined) setActiveValue(defaultValue);\n\t}, [value, defaultValue]);\n\n\tconst id = React.useId();\n\n\tReact.useEffect(() => {\n\t\tif (mode !== \"parent\") return;\n\t\tconst container = localRef.current;\n\t\tif (!container) return;\n\n\t\tconst onScroll = () => {\n\t\t\tif (!activeValue) return;\n\t\t\tconst activeEl = container.querySelector<HTMLElement>(`[data-value=\"${activeValue}\"][data-highlight=\"true\"]`);\n\t\t\tif (activeEl) safeSetBounds(activeEl.getBoundingClientRect());\n\t\t};\n\n\t\tcontainer.addEventListener(\"scroll\", onScroll, { passive: true });\n\t\treturn () => container.removeEventListener(\"scroll\", onScroll);\n\t}, [mode, activeValue, safeSetBounds]);\n\n\tconst render = React.useCallback(\n\t\t(children: React.ReactNode) => {\n\t\t\tif (mode === \"parent\") {\n\t\t\t\treturn (\n\t\t\t\t\t<Component\n\t\t\t\t\t\tref={localRef}\n\t\t\t\t\t\tdata-slot=\"motion-highlight-container\"\n\t\t\t\t\t\tstyle={{ position: \"relative\", zIndex: 1 }}\n\t\t\t\t\t\tclassName={(props as ParentModeHighlightProps)?.containerClassName}\n\t\t\t\t\t>\n\t\t\t\t\t\t<AnimatePresence initial={false} mode=\"wait\">\n\t\t\t\t\t\t\t{boundsState && (\n\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\tdata-slot=\"motion-highlight\"\n\t\t\t\t\t\t\t\t\tanimate={{\n\t\t\t\t\t\t\t\t\t\ttop: boundsState.top,\n\t\t\t\t\t\t\t\t\t\tleft: boundsState.left,\n\t\t\t\t\t\t\t\t\t\twidth: boundsState.width,\n\t\t\t\t\t\t\t\t\t\theight: boundsState.height,\n\t\t\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tinitial={{\n\t\t\t\t\t\t\t\t\t\ttop: boundsState.top,\n\t\t\t\t\t\t\t\t\t\tleft: boundsState.left,\n\t\t\t\t\t\t\t\t\t\twidth: boundsState.width,\n\t\t\t\t\t\t\t\t\t\theight: boundsState.height,\n\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\texit={{\n\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t\t...transition,\n\t\t\t\t\t\t\t\t\t\t\tdelay: (transition?.delay ?? 0) + (exitDelay ?? 0) / 1000,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ttransition={transition}\n\t\t\t\t\t\t\t\t\tstyle={{ position: \"absolute\", zIndex: 0, ...style }}\n\t\t\t\t\t\t\t\t\tclassName={cn(className, activeClassNameState)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Component>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn children;\n\t\t},\n\t\t[mode, Component, props, boundsState, transition, exitDelay, style, className, activeClassNameState],\n\t);\n\n\treturn (\n\t\t<HighlightContext.Provider\n\t\t\tvalue={{\n\t\t\t\tmode,\n\t\t\t\tactiveValue,\n\t\t\t\tsetActiveValue: safeSetActiveValue,\n\t\t\t\tid,\n\t\t\t\thover,\n\t\t\t\tclick,\n\t\t\t\tclassName,\n\t\t\t\tstyle,\n\t\t\t\ttransition,\n\t\t\t\tdisabled,\n\t\t\t\tenabled,\n\t\t\t\texitDelay,\n\t\t\t\tsetBounds: safeSetBounds,\n\t\t\t\tclearBounds,\n\t\t\t\tactiveClassName: activeClassNameState,\n\t\t\t\tsetActiveClassName: setActiveClassNameState,\n\t\t\t\tforceUpdateBounds: (props as ParentModeHighlightProps)?.forceUpdateBounds,\n\t\t\t}}\n\t\t>\n\t\t\t{enabled\n\t\t\t\t? controlledItems\n\t\t\t\t\t? render(children)\n\t\t\t\t\t: render(\n\t\t\t\t\t\t\tReact.Children.map(children, (child, index) => (\n\t\t\t\t\t\t\t\t<HighlightItem key={index} className={props?.itemsClassName}>\n\t\t\t\t\t\t\t\t\t{child}\n\t\t\t\t\t\t\t\t</HighlightItem>\n\t\t\t\t\t\t\t)),\n\t\t\t\t\t )\n\t\t\t\t: children}\n\t\t</HighlightContext.Provider>\n\t);\n}\n\nfunction getNonOverridingDataAttributes(element: React.ReactElement, dataAttributes: Record<string, unknown>): Record<string, unknown> {\n\treturn Object.keys(dataAttributes).reduce<Record<string, unknown>>((acc, key) => {\n\t\tif ((element.props as Record<string, unknown>)[key] === undefined) {\n\t\t\tacc[key] = dataAttributes[key];\n\t\t}\n\t\treturn acc;\n\t}, {});\n}\n\ntype ExtendedChildProps = React.ComponentProps<\"div\"> & {\n\t\"id\"?: string;\n\t\"ref\"?: React.Ref<HTMLElement>;\n\t\"data-active\"?: string;\n\t\"data-value\"?: string;\n\t\"data-disabled\"?: boolean;\n\t\"data-highlight\"?: boolean;\n\t\"data-slot\"?: string;\n};\n\ntype HighlightItemProps<T extends React.ElementType = \"div\"> = React.ComponentProps<T> & {\n\tas?: T;\n\tchildren: React.ReactElement;\n\tid?: string;\n\tvalue?: string;\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n\ttransition?: Transition;\n\tactiveClassName?: string;\n\tdisabled?: boolean;\n\texitDelay?: number;\n\tasChild?: boolean;\n\tforceUpdateBounds?: boolean;\n};\n\nfunction HighlightItem<T extends React.ElementType>({\n\tref,\n\tas,\n\tchildren,\n\tid,\n\tvalue,\n\tclassName,\n\tstyle,\n\ttransition,\n\tdisabled = false,\n\tactiveClassName,\n\texitDelay,\n\tasChild = false,\n\tforceUpdateBounds,\n\t...props\n}: HighlightItemProps<T>) {\n\tconst itemId = React.useId();\n\tconst {\n\t\tactiveValue,\n\t\tsetActiveValue,\n\t\tmode,\n\t\tsetBounds,\n\t\tclearBounds,\n\t\thover,\n\t\tclick,\n\t\tenabled,\n\t\tclassName: contextClassName,\n\t\tstyle: contextStyle,\n\t\ttransition: contextTransition,\n\t\tid: contextId,\n\t\tdisabled: contextDisabled,\n\t\texitDelay: contextExitDelay,\n\t\tforceUpdateBounds: contextForceUpdateBounds,\n\t\tsetActiveClassName,\n\t} = useHighlight();\n\n\tconst Component = as ?? \"div\";\n\tconst element = children as React.ReactElement<ExtendedChildProps>;\n\tconst childValue = id ?? value ?? element.props?.[\"data-value\"] ?? element.props?.id ?? itemId;\n\tconst isActive = activeValue === childValue;\n\tconst isDisabled = disabled === undefined ? contextDisabled : disabled;\n\tconst itemTransition = transition ?? contextTransition;\n\n\tconst localRef = React.useRef<HTMLDivElement>(null);\n\tReact.useImperativeHandle(ref, () => localRef.current as HTMLDivElement);\n\n\tReact.useEffect(() => {\n\t\tif (mode !== \"parent\") return;\n\t\tlet rafId: number;\n\t\tlet previousBounds: Bounds | null = null;\n\t\tconst shouldUpdateBounds = forceUpdateBounds === true || (contextForceUpdateBounds && forceUpdateBounds !== false);\n\n\t\tconst updateBounds = () => {\n\t\t\tif (!localRef.current) return;\n\n\t\t\tconst bounds = localRef.current.getBoundingClientRect();\n\n\t\t\tif (shouldUpdateBounds) {\n\t\t\t\tif (\n\t\t\t\t\tpreviousBounds &&\n\t\t\t\t\tpreviousBounds.top === bounds.top &&\n\t\t\t\t\tpreviousBounds.left === bounds.left &&\n\t\t\t\t\tpreviousBounds.width === bounds.width &&\n\t\t\t\t\tpreviousBounds.height === bounds.height\n\t\t\t\t) {\n\t\t\t\t\trafId = requestAnimationFrame(updateBounds);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tpreviousBounds = bounds;\n\t\t\t\trafId = requestAnimationFrame(updateBounds);\n\t\t\t}\n\n\t\t\tsetBounds(bounds);\n\t\t};\n\n\t\tif (isActive) {\n\t\t\tupdateBounds();\n\t\t\tsetActiveClassName(activeClassName ?? \"\");\n\t\t} else if (!activeValue) clearBounds();\n\n\t\tif (shouldUpdateBounds) return () => cancelAnimationFrame(rafId);\n\t}, [mode, isActive, activeValue, setBounds, clearBounds, activeClassName, setActiveClassName, forceUpdateBounds, contextForceUpdateBounds]);\n\n\tif (!React.isValidElement(children)) return children;\n\n\tconst dataAttributes = {\n\t\t\"data-active\": isActive ? \"true\" : \"false\",\n\t\t\"aria-selected\": isActive,\n\t\t\"data-disabled\": isDisabled,\n\t\t\"data-value\": childValue,\n\t\t\"data-highlight\": true,\n\t};\n\n\tconst commonHandlers = hover\n\t\t? {\n\t\t\t\tonMouseEnter: (e: React.MouseEvent<HTMLDivElement>) => {\n\t\t\t\t\tsetActiveValue(childValue);\n\t\t\t\t\telement.props.onMouseEnter?.(e);\n\t\t\t\t},\n\t\t\t\tonMouseLeave: (e: React.MouseEvent<HTMLDivElement>) => {\n\t\t\t\t\tsetActiveValue(null);\n\t\t\t\t\telement.props.onMouseLeave?.(e);\n\t\t\t\t},\n\t\t }\n\t\t: click\n\t\t? {\n\t\t\t\tonClick: (e: React.MouseEvent<HTMLDivElement>) => {\n\t\t\t\t\tsetActiveValue(childValue);\n\t\t\t\t\telement.props.onClick?.(e);\n\t\t\t\t},\n\t\t }\n\t\t: {};\n\n\tif (asChild) {\n\t\tif (mode === \"children\") {\n\t\t\treturn React.cloneElement(\n\t\t\t\telement,\n\t\t\t\t{\n\t\t\t\t\tkey: childValue,\n\t\t\t\t\tref: localRef,\n\t\t\t\t\tclassName: cn(\"relative\", element.props.className),\n\t\t\t\t\t...getNonOverridingDataAttributes(element, {\n\t\t\t\t\t\t...dataAttributes,\n\t\t\t\t\t\t\"data-slot\": \"motion-highlight-item-container\",\n\t\t\t\t\t}),\n\t\t\t\t\t...commonHandlers,\n\t\t\t\t\t...props,\n\t\t\t\t},\n\t\t\t\t<>\n\t\t\t\t\t<AnimatePresence initial={false} mode=\"wait\">\n\t\t\t\t\t\t{isActive && !isDisabled && (\n\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\tlayoutId={`transition-background-${contextId}`}\n\t\t\t\t\t\t\t\tdata-slot=\"motion-highlight\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\t\t\t\t...contextStyle,\n\t\t\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclassName={cn(contextClassName, activeClassName)}\n\t\t\t\t\t\t\t\ttransition={itemTransition}\n\t\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\t\texit={{\n\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t...itemTransition,\n\t\t\t\t\t\t\t\t\t\tdelay: (itemTransition?.delay ?? 0) + (exitDelay ?? contextExitDelay ?? 0) / 1000,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t{...dataAttributes}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</AnimatePresence>\n\n\t\t\t\t\t<Component\n\t\t\t\t\t\tdata-slot=\"motion-highlight-item\"\n\t\t\t\t\t\tstyle={{ position: \"relative\", zIndex: 1 }}\n\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t{...dataAttributes}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Component>\n\t\t\t\t</>,\n\t\t\t);\n\t\t}\n\n\t\treturn React.cloneElement(element, {\n\t\t\tref: localRef,\n\t\t\t...getNonOverridingDataAttributes(element, {\n\t\t\t\t...dataAttributes,\n\t\t\t\t\"data-slot\": \"motion-highlight-item\",\n\t\t\t}),\n\t\t\t...commonHandlers,\n\t\t});\n\t}\n\n\treturn enabled ? (\n\t\t<Component\n\t\t\tkey={childValue}\n\t\t\tref={localRef}\n\t\t\tdata-slot=\"motion-highlight-item-container\"\n\t\t\tclassName={cn(mode === \"children\" && \"relative\", className)}\n\t\t\t{...dataAttributes}\n\t\t\t{...props}\n\t\t\t{...commonHandlers}\n\t\t>\n\t\t\t{mode === \"children\" && (\n\t\t\t\t<AnimatePresence initial={false} mode=\"wait\">\n\t\t\t\t\t{isActive && !isDisabled && (\n\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\tlayoutId={`transition-background-${contextId}`}\n\t\t\t\t\t\t\tdata-slot=\"motion-highlight\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\t\t\t...contextStyle,\n\t\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName={cn(contextClassName, activeClassName)}\n\t\t\t\t\t\t\ttransition={itemTransition}\n\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\texit={{\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t...itemTransition,\n\t\t\t\t\t\t\t\t\tdelay: (itemTransition?.delay ?? 0) + (exitDelay ?? contextExitDelay ?? 0) / 1000,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t{...dataAttributes}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</AnimatePresence>\n\t\t\t)}\n\n\t\t\t{React.cloneElement(element, {\n\t\t\t\tstyle: { position: \"relative\", zIndex: 1 },\n\t\t\t\tclassName: element.props.className,\n\t\t\t\t...getNonOverridingDataAttributes(element, {\n\t\t\t\t\t...dataAttributes,\n\t\t\t\t\t\"data-slot\": \"motion-highlight-item\",\n\t\t\t\t}),\n\t\t\t})}\n\t\t</Component>\n\t) : (\n\t\tchildren\n\t);\n}\n\nexport { Highlight, HighlightItem, useHighlight, type HighlightProps, type HighlightItemProps };\n","\"use client\";\n\nimport React from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { Highlight, HighlightItem } from \"../highlight/highlight\";\nimport { useReducedMotion } from \"framer-motion\";\n\n\nfunction useControllableState<T>({ value, defaultValue, onChange }: { value?: T; defaultValue: T; onChange?: (next: T) => void }) {\n\tconst [internal, setInternal] = React.useState<T>(defaultValue);\n\tconst isControlled = value !== undefined;\n\tconst current = isControlled ? (value as T) : internal;\n\tconst set = React.useCallback(\n\t\t(next: T) => {\n\t\t\tif (!isControlled) setInternal(next);\n\t\t\tonChange?.(next);\n\t\t},\n\t\t[isControlled, onChange],\n\t);\n\treturn [current, set] as const;\n}\n\ntype FormTabsContextValue = {\n\tvalue: string;\n\tsetValue: (v: string) => void;\n\tregisterTrigger: (value: string, el: HTMLButtonElement | null) => void;\n\tgetTriggerEl: (value: string) => HTMLButtonElement | null;\n\tlistRef: React.RefObject<HTMLDivElement | null>;\n\tuseHighlightPill: boolean;\n\thighlightClassName?: string;\n};\n\nconst TabsContext = React.createContext<FormTabsContextValue | null>(null);\nfunction useFormTabsContext() {\n\tconst ctx = React.useContext(TabsContext);\n\tif (!ctx) throw new Error(\"Tabs components must be used within <Tabs>\");\n\treturn ctx;\n}\n\ninterface FormTabsProps {\n\tdefaultValue: string;\n\tvalue?: string;\n\tonValueChange?: (value: string) => void;\n\tchildren: React.ReactNode;\n\tclassName?: string;\n\tid?: string;\n\thighlightClassName?: string; // Tailwind classes for the moving pill\n\tuseHighlightPill?: boolean; // enable integration with Highlight (parent mode)\n}\n\nexport function FormTabs({\n\tdefaultValue,\n\tvalue,\n\tonValueChange,\n\tchildren,\n\tclassName,\n\tid,\n\thighlightClassName = \"rounded-md bg-background shadow-sm\",\n\tuseHighlightPill = true,\n}: FormTabsProps) {\n\tconst [current, setCurrent] = useControllableState<string>({ value, defaultValue, onChange: onValueChange });\n\n\tconst triggersRef = React.useRef(new Map<string, HTMLButtonElement | null>());\n\tconst listRef = React.useRef<HTMLDivElement>(null);\n\n\tconst registerTrigger = React.useCallback((val: string, el: HTMLButtonElement | null) => {\n\t\ttriggersRef.current.set(val, el);\n\t}, []);\n\tconst getTriggerEl = React.useCallback((val: string) => triggersRef.current.get(val) ?? null, []);\n\n\tconst ctx = React.useMemo<FormTabsContextValue>(\n\t\t() => ({ value: current, setValue: setCurrent, registerTrigger, getTriggerEl, listRef, useHighlightPill, highlightClassName }),\n\t\t[current, setCurrent, registerTrigger, getTriggerEl, useHighlightPill, highlightClassName],\n\t);\n\n\treturn (\n\t\t<TabsContext.Provider value={ctx}>\n\t\t\t<div className={cn(\"w-full\", className)} id={id}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</TabsContext.Provider>\n\t);\n}\n\ninterface TabsListProps extends React.HTMLAttributes<HTMLDivElement> {\n\tchildren: React.ReactNode;\n}\n\nexport function FormTabsList({ children, className, ...props }: TabsListProps) {\n\tconst { value, setValue, listRef, useHighlightPill, highlightClassName } = useFormTabsContext();\n\tconst prefersReducedMotion = useReducedMotion();\n\n\tconst onKeyDown = React.useCallback(\n\t\t(e: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\tconst container = listRef.current;\n\t\t\tif (!container) return;\n\t\t\tconst tabs = Array.from(container.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]:not([data-disabled=\"true\"])'));\n\t\t\tif (!tabs.length) return;\n\t\t\tconst currentIndex = tabs.findIndex((el) => el.getAttribute(\"data-value\") === value);\n\t\t\tconst focusAt = (idx: number) => {\n\t\t\t\tconst el = tabs[idx];\n\t\t\t\tconst nextValue = el?.getAttribute(\"data-value\");\n\t\t\t\tif (nextValue) {\n\t\t\t\t\tsetValue(nextValue);\n\t\t\t\t\trequestAnimationFrame(() => el?.focus());\n\t\t\t\t}\n\t\t\t};\n\t\t\tswitch (e.key) {\n\t\t\t\tcase \"ArrowRight\":\n\t\t\t\tcase \"Right\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt((currentIndex + 1) % tabs.length);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"ArrowLeft\":\n\t\t\t\tcase \"Left\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt((currentIndex - 1 + tabs.length) % tabs.length);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Home\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt(0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"End\":\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusAt(tabs.length - 1);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[listRef, setValue, value],\n\t);\n\n\t// Wrap with Highlight (parent mode) when enabled\n\tconst content = <div className=\"relative z-10 flex items-stretch gap-1\">{children}</div>;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"tablist\"\n\t\t\taria-orientation=\"horizontal\"\n\t\t\tref={listRef}\n\t\t\tclassName={cn(\"relative inline-flex h-10 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground isolate\", className)}\n\t\t\tonKeyDown={onKeyDown}\n\t\t\t{...props}\n\t\t>\n\t\t\t{useHighlightPill ? (\n\t\t\t\t<Highlight\n\t\t\t\t\tmode=\"parent\"\n\t\t\t\t\tcontrolledItems\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tonValueChange={(v) => v && setValue(v)}\n\t\t\t\t\tcontainerClassName=\"absolute inset-0 rounded-lg\"\n\t\t\t\t\tclassName={highlightClassName}\n\t\t\t\t\ttransition={prefersReducedMotion ? { duration: 0 } : { type: \"spring\", stiffness: 500, damping: 35, mass: 0.5 }}\n\t\t\t\t\tenabled\n\t\t\t\t\tclick={false}\n\t\t\t\t\thover={false}\n\t\t\t\t>\n\t\t\t\t\t{content}\n\t\t\t\t</Highlight>\n\t\t\t) : (\n\t\t\t\tcontent\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\ninterface TabsTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n\tvalue: string;\n\tdisabled?: boolean;\n\tchildren: React.ReactNode;\n}\n\nexport const FormTabsTrigger = React.memo(function TabsTrigger({ value, disabled, children, className, ...props }: TabsTriggerProps) {\n\tconst { value: selected, setValue, registerTrigger, useHighlightPill } = useFormTabsContext();\n\tconst isSelected = selected === value;\n\tconst ref = React.useRef<HTMLButtonElement>(null);\n\n\tReact.useEffect(() => {\n\t\tregisterTrigger(value, ref.current);\n\t\treturn () => registerTrigger(value, null);\n\t}, [registerTrigger, value]);\n\n\tconst btn = (\n\t\t<button\n\t\t\tref={ref}\n\t\t\ttype=\"button\"\n\t\t\trole=\"tab\"\n\t\t\tdata-value={value}\n\t\t\tdata-state={isSelected ? \"active\" : \"inactive\"}\n\t\t\tdata-disabled={disabled ? \"true\" : \"false\"}\n\t\t\taria-selected={isSelected}\n\t\t\ttabIndex={isSelected ? 0 : -1}\n\t\t\tdisabled={disabled}\n\t\t\tonClick={() => !disabled && setValue(value)}\n\t\t\tclassName={cn(\n\t\t\t\t\"relative inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium\",\n\t\t\t\t\"ring-offset-background transition-[color,transform] focus-visible:outline-none\",\n\t\t\t\t\"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n\t\t\t\t\"disabled:pointer-events-none disabled:opacity-50\",\n\t\t\t\t\"data-[state=active]:text-foreground data-[state=inactive]:text-muted-foreground\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</button>\n\t);\n\n\t// When using Highlight in parent mode, wrap each trigger asChild so it can measure bounds\n\treturn useHighlightPill ? (\n\t\t<HighlightItem asChild value={value}>\n\t\t\t{btn}\n\t\t</HighlightItem>\n\t) : (\n\t\tbtn\n\t);\n});\n"],"names":["HighlightContext","React","createContext","undefined","useHighlight","context","useContext","Error","Highlight","ref","props","as","Component","children","value","defaultValue","onValueChange","className","style","transition","type","stiffness","damping","hover","click","enabled","controlledItems","disabled","exitDelay","mode","localRef","useRef","useImperativeHandle","current","activeValue","setActiveValue","useState","boundsState","setBoundsState","activeClassNameState","setActiveClassNameState","safeSetActiveValue","useCallback","id","prev","safeSetBounds","bounds","boundsOffset","top","left","width","height","containerRect","getBoundingClientRect","newBounds","clearBounds","useEffect","useId","container","onScroll","activeEl","querySelector","addEventListener","passive","removeEventListener","render","position","zIndex","containerClassName","opacity","delay","cn","setBounds","activeClassName","setActiveClassName","forceUpdateBounds","Children","map","child","index","itemsClassName","getNonOverridingDataAttributes","element","dataAttributes","Object","keys","reduce","acc","key","HighlightItem","asChild","itemId","contextClassName","contextStyle","contextTransition","contextId","contextDisabled","contextExitDelay","contextForceUpdateBounds","childValue","isActive","isDisabled","itemTransition","rafId","previousBounds","shouldUpdateBounds","updateBounds","requestAnimationFrame","cancelAnimationFrame","isValidElement","commonHandlers","onMouseEnter","e","onMouseLeave","onClick","cloneElement","useControllableState","t0","$","_c","onChange","internal","setInternal","isControlled","t1","next","set","t2","TabsContext","useFormTabsContext","ctx","FormTabs","highlightClassName","useHighlightPill","t3","setCurrent","t4","Symbol","for","Map","triggersRef","listRef","t5","val","el","registerTrigger","t6","val_0","get","getTriggerEl","t7","setValue","t8","t9","t10","FormTabsList","prefersReducedMotion","useReducedMotion","tabs","Array","from","querySelectorAll","length","currentIndex","findIndex","getAttribute","focusAt","idx","el_0","nextValue","focus","bb29","preventDefault","onKeyDown","content","v","duration","mass","FormTabsTrigger","memo","TabsTrigger","selected","isSelected","btn"],"mappings":"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"}
@@ -27,7 +27,7 @@ const compilerRuntime = require("react/compiler-runtime");
27
27
  const ReactDOM = require("react-dom");
28
28
  const React = require("react");
29
29
  const utils = require("../chunks/utils-ij3i9zTT.js");
30
- const button = require("../chunks/button-CsVgdTK2.js");
30
+ const button = require("../chunks/button-c2tqObmX.js");
31
31
  const framerMotion = require("framer-motion");
32
32
  const index = require("../chunks/index-DaMyCNJ8.js");
33
33
  const TRANSITION_EASINGS = {
@@ -3,7 +3,7 @@ import { c } from "react/compiler-runtime";
3
3
  import ReactDOM__default from "react-dom";
4
4
  import { forwardRef, useRef, useEffect } from "react";
5
5
  import { c as cn } from "../chunks/utils-H80jjgLf.js";
6
- import { B as Button } from "../chunks/button-Dzqe0Scp.js";
6
+ import { B as Button } from "../chunks/button-CBPwzm2F.js";
7
7
  import { AnimatePresence, LazyMotion, m } from "framer-motion";
8
8
  import { c as cva } from "../chunks/index-CEKmKomA.js";
9
9
  const TRANSITION_EASINGS = {
@@ -6,9 +6,9 @@ const tailwindMerge = require("tailwind-merge");
6
6
  const index = require("../chunks/index-COxPsg-F.js");
7
7
  const React = require("react");
8
8
  const clsx = require("clsx");
9
- require("../chunks/textarea-DatQsnr3.js");
10
- const select = require("../chunks/select-dQq0NQ64.js");
11
- require("../chunks/button-CsVgdTK2.js");
9
+ require("../chunks/textarea-C3AwF8SJ.js");
10
+ const select = require("../chunks/select-DVjRpYfX.js");
11
+ require("../chunks/button-c2tqObmX.js");
12
12
  const PaginationItem = (t0) => {
13
13
  const $ = compilerRuntime.c(16);
14
14
  const {
@@ -4,9 +4,9 @@ import { twMerge } from "tailwind-merge";
4
4
  import { I as IoIosArrowBack } from "../chunks/index-YHWRO9Xl.js";
5
5
  import { useState } from "react";
6
6
  import clsx from "clsx";
7
- import "../chunks/textarea-CE8ScH_j.js";
8
- import { S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectGroup, e as SelectLabel, f as SelectItem } from "../chunks/select-D12sBtA8.js";
9
- import "../chunks/button-Dzqe0Scp.js";
7
+ import "../chunks/textarea-BKtuQhzG.js";
8
+ import { S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectGroup, e as SelectLabel, f as SelectItem } from "../chunks/select-B6phC9mi.js";
9
+ import "../chunks/button-CBPwzm2F.js";
10
10
  const PaginationItem = (t0) => {
11
11
  const $ = c(16);
12
12
  const {
@@ -6,11 +6,11 @@ const React = require("react");
6
6
  const libphonenumberJs = require("libphonenumber-js");
7
7
  const tailwindMerge = require("tailwind-merge");
8
8
  const utils = require("../chunks/utils-ij3i9zTT.js");
9
- require("../chunks/textarea-DatQsnr3.js");
9
+ require("../chunks/textarea-C3AwF8SJ.js");
10
10
  const labelError = require("../chunks/label-error-CIjSuoR3.js");
11
11
  require("clsx");
12
- const scrollArea = require("../chunks/scroll-area-BU8EXoIt.js");
13
- require("../chunks/button-CsVgdTK2.js");
12
+ const scrollArea = require("../chunks/scroll-area-CLk54_91.js");
13
+ require("../chunks/button-c2tqObmX.js");
14
14
  const framerMotion = require("framer-motion");
15
15
  const index = require("../chunks/index--Lp5VMoT.js");
16
16
  const countryData = {
@@ -4,11 +4,11 @@ import { useState, useRef, useId, useEffect } from "react";
4
4
  import { getCountryCallingCode, AsYouType, isValidPhoneNumber } from "libphonenumber-js";
5
5
  import { twMerge } from "tailwind-merge";
6
6
  import { c as cn } from "../chunks/utils-H80jjgLf.js";
7
- import "../chunks/textarea-CE8ScH_j.js";
7
+ import "../chunks/textarea-BKtuQhzG.js";
8
8
  import { L as LabelError } from "../chunks/label-error-1e6fNdg-.js";
9
9
  import "clsx";
10
- import { S as Search, a as ScrollArea } from "../chunks/scroll-area-A7wLpIdN.js";
11
- import "../chunks/button-Dzqe0Scp.js";
10
+ import { S as Search, a as ScrollArea } from "../chunks/scroll-area-C-TOj3zQ.js";
11
+ import "../chunks/button-CBPwzm2F.js";
12
12
  import { LazyMotion, domAnimation, m, AnimatePresence } from "framer-motion";
13
13
  import { C as Check, a as ChevronDown } from "../chunks/index-xVewW5kR.js";
14
14
  const countryData = {
@@ -7,9 +7,9 @@ const ReactDOM = require("react-dom");
7
7
  const clsx = require("clsx");
8
8
  const styledComponents_browser_esm = require("../chunks/styled-components.browser.esm-unTTqt86.js");
9
9
  const utils = require("../chunks/utils-ij3i9zTT.js");
10
- require("../chunks/textarea-DatQsnr3.js");
10
+ require("../chunks/textarea-C3AwF8SJ.js");
11
11
  const labelError = require("../chunks/label-error-CIjSuoR3.js");
12
- require("../chunks/button-CsVgdTK2.js");
12
+ require("../chunks/button-c2tqObmX.js");
13
13
  function getHours(date) {
14
14
  if (date instanceof Date) {
15
15
  return date.getHours();
@@ -5,9 +5,9 @@ import { createPortal } from "react-dom";
5
5
  import clsx from "clsx";
6
6
  import { m as makeEventProps, F as Fit, d as dt } from "../chunks/styled-components.browser.esm-BkLVnEq9.js";
7
7
  import { c as cn } from "../chunks/utils-H80jjgLf.js";
8
- import "../chunks/textarea-CE8ScH_j.js";
8
+ import "../chunks/textarea-BKtuQhzG.js";
9
9
  import { L as LabelError } from "../chunks/label-error-1e6fNdg-.js";
10
- import "../chunks/button-Dzqe0Scp.js";
10
+ import "../chunks/button-CBPwzm2F.js";
11
11
  function getHours(date) {
12
12
  if (date instanceof Date) {
13
13
  return date.getHours();
@@ -7,10 +7,10 @@ const _commonjsHelpers = require("../chunks/_commonjsHelpers-D-4Fx4X-.js");
7
7
  const reactTinyPopover = require("react-tiny-popover");
8
8
  const tailwindMerge = require("tailwind-merge");
9
9
  const loaderCircle = require("../chunks/loader-circle-DVLrRYRP.js");
10
- const textarea = require("../chunks/textarea-DatQsnr3.js");
10
+ const textarea = require("../chunks/textarea-C3AwF8SJ.js");
11
11
  require("react/compiler-runtime");
12
12
  require("clsx");
13
- require("../chunks/button-CsVgdTK2.js");
13
+ require("../chunks/button-c2tqObmX.js");
14
14
  var build = {};
15
15
  var browser_min$1 = { exports: {} };
16
16
  var browser_min = browser_min$1.exports;
@@ -5,10 +5,10 @@ import { g as getAugmentedNamespace } from "../chunks/_commonjsHelpers-BhWcALO8.
5
5
  import { Popover } from "react-tiny-popover";
6
6
  import { twMerge } from "tailwind-merge";
7
7
  import { L as LoaderCircle } from "../chunks/loader-circle-CeKbzHTN.js";
8
- import { I as Input } from "../chunks/textarea-CE8ScH_j.js";
8
+ import { I as Input } from "../chunks/textarea-BKtuQhzG.js";
9
9
  import "react/compiler-runtime";
10
10
  import "clsx";
11
- import "../chunks/button-Dzqe0Scp.js";
11
+ import "../chunks/button-CBPwzm2F.js";
12
12
  var build = {};
13
13
  var browser_min$1 = { exports: {} };
14
14
  var browser_min = browser_min$1.exports;