lizaui 10.0.40 → 10.0.41
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-tabs.d.ts","sourceRoot":"","sources":["../../../src/components/form-tabs/form-tabs.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"form-tabs.d.ts","sourceRoot":"","sources":["../../../src/components/form-tabs/form-tabs.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,KAAK,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACvC,KAAK,cAAc,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAC3D,KAAK,eAAe,GAAG,OAAO,GAAG,UAAU,CAAC;AAqC5C,UAAU,aAAa;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EACxB,YAAY,EACZ,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,EAAE,EACF,kBAA4C,EAC5C,gBAAuB,EACvB,IAAW,EACX,MAAa,EACb,OAAiB,EACjB,SAAiB,GACjB,EAAE,aAAa,2CAmCf;AAED,UAAU,aAAa;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,2CA8G5E;AAED,UAAU,gBAAgB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,eAAe,8CA2D1B,CAAC"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const compilerRuntime = require("react/compiler-runtime");
|
|
5
|
-
const React = require("react");
|
|
6
5
|
const utils = require("../chunks/utils-ij3i9zTT.js");
|
|
7
6
|
const framerMotion = require("framer-motion");
|
|
7
|
+
const React = require("react");
|
|
8
8
|
function _interopNamespaceDefault(e) {
|
|
9
9
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
10
10
|
if (e) {
|
|
@@ -535,8 +535,8 @@ function FormTabsList(t0) {
|
|
|
535
535
|
if ($[4] !== children || $[5] !== className || $[6] !== fullWidth || $[7] !== highlightClassName || $[8] !== listRef || $[9] !== prefersReducedMotion || $[10] !== props || $[11] !== radius || $[12] !== setValue || $[13] !== size || $[14] !== useHighlightPill || $[15] !== value || $[16] !== variant) {
|
|
536
536
|
const sizeClasses = {
|
|
537
537
|
sm: "h-8 p-0.5",
|
|
538
|
-
md: "h-
|
|
539
|
-
lg: "h-
|
|
538
|
+
md: "h-9 p-1",
|
|
539
|
+
lg: "h-10 p-1.5"
|
|
540
540
|
};
|
|
541
541
|
const radiusClasses = {
|
|
542
542
|
none: "rounded-none",
|
|
@@ -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 \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 * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { Highlight, HighlightItem } from \"../highlight/highlight\";\nimport { useReducedMotion } from \"framer-motion\";\n\ntype FormTabsSize = \"sm\" | \"md\" | \"lg\";\ntype FormTabsRadius = \"none\" | \"sm\" | \"md\" | \"lg\" | \"full\";\ntype FormTabsVariant = \"solid\" | \"bordered\";\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\tsize: FormTabsSize;\n\tradius: FormTabsRadius;\n\tvariant: FormTabsVariant;\n\tfullWidth: boolean;\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;\n\tuseHighlightPill?: boolean;\n\tsize?: FormTabsSize;\n\tradius?: FormTabsRadius;\n\tvariant?: FormTabsVariant;\n\tfullWidth?: boolean;\n}\n\nexport function FormTabs({\n\tdefaultValue,\n\tvalue,\n\tonValueChange,\n\tchildren,\n\tclassName,\n\tid,\n\thighlightClassName = \"bg-content1 shadow-sm\",\n\tuseHighlightPill = true,\n\tsize = \"md\",\n\tradius = \"md\",\n\tvariant = \"solid\",\n\tfullWidth = false,\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() => ({\n\t\t\tvalue: current,\n\t\t\tsetValue: setCurrent,\n\t\t\tregisterTrigger,\n\t\t\tgetTriggerEl,\n\t\t\tlistRef,\n\t\t\tuseHighlightPill,\n\t\t\thighlightClassName,\n\t\t\tsize,\n\t\t\tradius,\n\t\t\tvariant,\n\t\t\tfullWidth,\n\t\t}),\n\t\t[current, setCurrent, registerTrigger, getTriggerEl, useHighlightPill, highlightClassName, size, radius, variant, fullWidth],\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 {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport function FormTabsList({ children, className, ...props }: TabsListProps) {\n\tconst { value, setValue, listRef, useHighlightPill, highlightClassName, size, radius, variant, fullWidth } = useFormTabsContext();\n\tconst prefersReducedMotion = useReducedMotion();\n\n\tconst sizeClasses = {\n\t\tsm: \"h-8 p-0.5\",\n\t\tmd: \"h-10 p-1\",\n\t\tlg: \"h-12 p-1.5\",\n\t};\n\n\tconst radiusClasses = {\n\t\tnone: \"rounded-none\",\n\t\tsm: \"rounded-sm\",\n\t\tmd: \"rounded-md\",\n\t\tlg: \"rounded-lg\",\n\t\tfull: \"rounded-full\",\n\t};\n\n\tconst containerRadiusClasses = {\n\t\tnone: \"rounded-none\",\n\t\tsm: \"rounded-sm\",\n\t\tmd: \"rounded-md\",\n\t\tlg: \"rounded-lg\",\n\t\tfull: \"rounded-full\",\n\t};\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: HTMLButtonElement[] = 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] as HTMLButtonElement | undefined;\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\tconst content = <div className={cn(\"relative z-10 flex items-stretch gap-1\", fullWidth && \"w-full\")}>{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(\n\t\t\t\t\"relative items-center justify-center bg-muted text-muted-foreground isolate\",\n\t\t\t\tfullWidth ? \"flex w-full\" : \"inline-flex\",\n\t\t\t\tsizeClasses[size as keyof typeof sizeClasses],\n\t\t\t\tradiusClasses[radius as keyof typeof radiusClasses],\n\t\t\t\tclassName,\n\t\t\t)}\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={cn(\n\t\t\t\t\t\t\"absolute inset-0\",\n\t\t\t\t\t\tfullWidth ? \"w-full\" : \"\",\n\t\t\t\t\t\tcontainerRadiusClasses[radius as keyof typeof containerRadiusClasses],\n\t\t\t\t\t)}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\tcontainerRadiusClasses[radius as keyof typeof containerRadiusClasses],\n\t\t\t\t\t\tvariant === \"bordered\" ? \"border border-border\" : \"\",\n\t\t\t\t\t\thighlightClassName,\n\t\t\t\t\t)}\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 {\n\tvalue: string;\n\tdisabled?: boolean;\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport const FormTabsTrigger = React.memo(function TabsTrigger({ value, disabled, children, className }: TabsTriggerProps) {\n\tconst { value: selected, setValue, registerTrigger, useHighlightPill, size, radius, fullWidth } = useFormTabsContext();\n\tconst isSelected = selected === value;\n\tconst ref = React.useRef<HTMLButtonElement>(null);\n\n\tconst sizeClasses = {\n\t\tsm: \"px-2 py-1 text-xs\",\n\t\tmd: \"px-3 py-1.5 text-sm\",\n\t\tlg: \"px-4 py-2 text-base\",\n\t};\n\n\tconst radiusClasses = {\n\t\tnone: \"rounded-none\",\n\t\tsm: \"rounded-sm\",\n\t\tmd: \"rounded-md\",\n\t\tlg: \"rounded-lg\",\n\t\tfull: \"rounded-full\",\n\t};\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 whitespace-nowrap font-medium\",\n\t\t\t\t\"items-center justify-center\",\n\t\t\t\tfullWidth ? \"flex flex-1 w-full\" : \"inline-flex\",\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\tsizeClasses[size as keyof typeof sizeClasses],\n\t\t\t\tradiusClasses[radius as keyof typeof radiusClasses],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{children}\n\t\t</button>\n\t);\n\treturn useHighlightPill ? (\n\t\t<HighlightItem asChild value={value} className={fullWidth ? \"flex-1 w-full\" : undefined}>\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","size","t3","radius","t4","variant","t5","fullWidth","t6","t7","setCurrent","t8","Symbol","for","Map","triggersRef","listRef","t9","val","el","registerTrigger","t10","val_0","get","getTriggerEl","t11","setValue","t12","t13","t14","FormTabsList","prefersReducedMotion","useReducedMotion","sizeClasses","sm","md","lg","radiusClasses","none","full","containerRadiusClasses","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 { cn } from \"@/lib/utils\";\nimport { useReducedMotion } from \"framer-motion\";\nimport * as React from \"react\";\nimport { Highlight, HighlightItem } from \"../highlight/highlight\";\n\ntype FormTabsSize = \"sm\" | \"md\" | \"lg\";\ntype FormTabsRadius = \"none\" | \"sm\" | \"md\" | \"lg\" | \"full\";\ntype FormTabsVariant = \"solid\" | \"bordered\";\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\tsize: FormTabsSize;\n\tradius: FormTabsRadius;\n\tvariant: FormTabsVariant;\n\tfullWidth: boolean;\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;\n\tuseHighlightPill?: boolean;\n\tsize?: FormTabsSize;\n\tradius?: FormTabsRadius;\n\tvariant?: FormTabsVariant;\n\tfullWidth?: boolean;\n}\n\nexport function FormTabs({\n\tdefaultValue,\n\tvalue,\n\tonValueChange,\n\tchildren,\n\tclassName,\n\tid,\n\thighlightClassName = \"bg-content1 shadow-sm\",\n\tuseHighlightPill = true,\n\tsize = \"md\",\n\tradius = \"md\",\n\tvariant = \"solid\",\n\tfullWidth = false,\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() => ({\n\t\t\tvalue: current,\n\t\t\tsetValue: setCurrent,\n\t\t\tregisterTrigger,\n\t\t\tgetTriggerEl,\n\t\t\tlistRef,\n\t\t\tuseHighlightPill,\n\t\t\thighlightClassName,\n\t\t\tsize,\n\t\t\tradius,\n\t\t\tvariant,\n\t\t\tfullWidth,\n\t\t}),\n\t\t[current, setCurrent, registerTrigger, getTriggerEl, useHighlightPill, highlightClassName, size, radius, variant, fullWidth],\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 {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport function FormTabsList({ children, className, ...props }: TabsListProps) {\n\tconst { value, setValue, listRef, useHighlightPill, highlightClassName, size, radius, variant, fullWidth } = useFormTabsContext();\n\tconst prefersReducedMotion = useReducedMotion();\n\n\tconst sizeClasses = {\n\t\tsm: \"h-8 p-0.5\",\n\t\tmd: \"h-9 p-1\",\n\t\tlg: \"h-10 p-1.5\",\n\t};\n\n\tconst radiusClasses = {\n\t\tnone: \"rounded-none\",\n\t\tsm: \"rounded-sm\",\n\t\tmd: \"rounded-md\",\n\t\tlg: \"rounded-lg\",\n\t\tfull: \"rounded-full\",\n\t};\n\n\tconst containerRadiusClasses = {\n\t\tnone: \"rounded-none\",\n\t\tsm: \"rounded-sm\",\n\t\tmd: \"rounded-md\",\n\t\tlg: \"rounded-lg\",\n\t\tfull: \"rounded-full\",\n\t};\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: HTMLButtonElement[] = 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] as HTMLButtonElement | undefined;\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\tconst content = <div className={cn(\"relative z-10 flex items-stretch gap-1\", fullWidth && \"w-full\")}>{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(\n\t\t\t\t\"relative items-center justify-center bg-muted text-muted-foreground isolate\",\n\t\t\t\tfullWidth ? \"flex w-full\" : \"inline-flex\",\n\t\t\t\tsizeClasses[size as keyof typeof sizeClasses],\n\t\t\t\tradiusClasses[radius as keyof typeof radiusClasses],\n\t\t\t\tclassName,\n\t\t\t)}\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={cn(\n\t\t\t\t\t\t\"absolute inset-0\",\n\t\t\t\t\t\tfullWidth ? \"w-full\" : \"\",\n\t\t\t\t\t\tcontainerRadiusClasses[radius as keyof typeof containerRadiusClasses],\n\t\t\t\t\t)}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\tcontainerRadiusClasses[radius as keyof typeof containerRadiusClasses],\n\t\t\t\t\t\tvariant === \"bordered\" ? \"border border-border\" : \"\",\n\t\t\t\t\t\thighlightClassName,\n\t\t\t\t\t)}\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 {\n\tvalue: string;\n\tdisabled?: boolean;\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport const FormTabsTrigger = React.memo(function TabsTrigger({ value, disabled, children, className }: TabsTriggerProps) {\n\tconst { value: selected, setValue, registerTrigger, useHighlightPill, size, radius, fullWidth } = useFormTabsContext();\n\tconst isSelected = selected === value;\n\tconst ref = React.useRef<HTMLButtonElement>(null);\n\n\tconst sizeClasses = {\n\t\tsm: \"px-2 py-1 text-xs\",\n\t\tmd: \"px-3 py-1.5 text-sm\",\n\t\tlg: \"px-4 py-2 text-base\",\n\t};\n\n\tconst radiusClasses = {\n\t\tnone: \"rounded-none\",\n\t\tsm: \"rounded-sm\",\n\t\tmd: \"rounded-md\",\n\t\tlg: \"rounded-lg\",\n\t\tfull: \"rounded-full\",\n\t};\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 whitespace-nowrap font-medium\",\n\t\t\t\t\"items-center justify-center\",\n\t\t\t\tfullWidth ? \"flex flex-1 w-full\" : \"inline-flex\",\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\tsizeClasses[size as keyof typeof sizeClasses],\n\t\t\t\tradiusClasses[radius as keyof typeof radiusClasses],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{children}\n\t\t</button>\n\t);\n\treturn useHighlightPill ? (\n\t\t<HighlightItem asChild value={value} className={fullWidth ? \"flex-1 w-full\" : undefined}>\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","size","t3","radius","t4","variant","t5","fullWidth","t6","t7","setCurrent","t8","Symbol","for","Map","triggersRef","listRef","t9","val","el","registerTrigger","t10","val_0","get","getTriggerEl","t11","setValue","t12","t13","t14","FormTabsList","prefersReducedMotion","useReducedMotion","sizeClasses","sm","md","lg","radiusClasses","none","full","containerRadiusClasses","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,8 +1,8 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { c } from "react/compiler-runtime";
|
|
3
|
-
import * as React from "react";
|
|
4
3
|
import { c as cn } from "../chunks/utils-H80jjgLf.js";
|
|
5
4
|
import { AnimatePresence, motion, useReducedMotion } from "framer-motion";
|
|
5
|
+
import * as React from "react";
|
|
6
6
|
const HighlightContext = React.createContext(void 0);
|
|
7
7
|
function useHighlight() {
|
|
8
8
|
const context = React.useContext(HighlightContext);
|
|
@@ -516,8 +516,8 @@ function FormTabsList(t0) {
|
|
|
516
516
|
if ($[4] !== children || $[5] !== className || $[6] !== fullWidth || $[7] !== highlightClassName || $[8] !== listRef || $[9] !== prefersReducedMotion || $[10] !== props || $[11] !== radius || $[12] !== setValue || $[13] !== size || $[14] !== useHighlightPill || $[15] !== value || $[16] !== variant) {
|
|
517
517
|
const sizeClasses = {
|
|
518
518
|
sm: "h-8 p-0.5",
|
|
519
|
-
md: "h-
|
|
520
|
-
lg: "h-
|
|
519
|
+
md: "h-9 p-1",
|
|
520
|
+
lg: "h-10 p-1.5"
|
|
521
521
|
};
|
|
522
522
|
const radiusClasses = {
|
|
523
523
|
none: "rounded-none",
|
|
@@ -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 \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 * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { Highlight, HighlightItem } from \"../highlight/highlight\";\nimport { useReducedMotion } from \"framer-motion\";\n\ntype FormTabsSize = \"sm\" | \"md\" | \"lg\";\ntype FormTabsRadius = \"none\" | \"sm\" | \"md\" | \"lg\" | \"full\";\ntype FormTabsVariant = \"solid\" | \"bordered\";\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\tsize: FormTabsSize;\n\tradius: FormTabsRadius;\n\tvariant: FormTabsVariant;\n\tfullWidth: boolean;\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;\n\tuseHighlightPill?: boolean;\n\tsize?: FormTabsSize;\n\tradius?: FormTabsRadius;\n\tvariant?: FormTabsVariant;\n\tfullWidth?: boolean;\n}\n\nexport function FormTabs({\n\tdefaultValue,\n\tvalue,\n\tonValueChange,\n\tchildren,\n\tclassName,\n\tid,\n\thighlightClassName = \"bg-content1 shadow-sm\",\n\tuseHighlightPill = true,\n\tsize = \"md\",\n\tradius = \"md\",\n\tvariant = \"solid\",\n\tfullWidth = false,\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() => ({\n\t\t\tvalue: current,\n\t\t\tsetValue: setCurrent,\n\t\t\tregisterTrigger,\n\t\t\tgetTriggerEl,\n\t\t\tlistRef,\n\t\t\tuseHighlightPill,\n\t\t\thighlightClassName,\n\t\t\tsize,\n\t\t\tradius,\n\t\t\tvariant,\n\t\t\tfullWidth,\n\t\t}),\n\t\t[current, setCurrent, registerTrigger, getTriggerEl, useHighlightPill, highlightClassName, size, radius, variant, fullWidth],\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 {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport function FormTabsList({ children, className, ...props }: TabsListProps) {\n\tconst { value, setValue, listRef, useHighlightPill, highlightClassName, size, radius, variant, fullWidth } = useFormTabsContext();\n\tconst prefersReducedMotion = useReducedMotion();\n\n\tconst sizeClasses = {\n\t\tsm: \"h-8 p-0.5\",\n\t\tmd: \"h-10 p-1\",\n\t\tlg: \"h-12 p-1.5\",\n\t};\n\n\tconst radiusClasses = {\n\t\tnone: \"rounded-none\",\n\t\tsm: \"rounded-sm\",\n\t\tmd: \"rounded-md\",\n\t\tlg: \"rounded-lg\",\n\t\tfull: \"rounded-full\",\n\t};\n\n\tconst containerRadiusClasses = {\n\t\tnone: \"rounded-none\",\n\t\tsm: \"rounded-sm\",\n\t\tmd: \"rounded-md\",\n\t\tlg: \"rounded-lg\",\n\t\tfull: \"rounded-full\",\n\t};\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: HTMLButtonElement[] = 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] as HTMLButtonElement | undefined;\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\tconst content = <div className={cn(\"relative z-10 flex items-stretch gap-1\", fullWidth && \"w-full\")}>{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(\n\t\t\t\t\"relative items-center justify-center bg-muted text-muted-foreground isolate\",\n\t\t\t\tfullWidth ? \"flex w-full\" : \"inline-flex\",\n\t\t\t\tsizeClasses[size as keyof typeof sizeClasses],\n\t\t\t\tradiusClasses[radius as keyof typeof radiusClasses],\n\t\t\t\tclassName,\n\t\t\t)}\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={cn(\n\t\t\t\t\t\t\"absolute inset-0\",\n\t\t\t\t\t\tfullWidth ? \"w-full\" : \"\",\n\t\t\t\t\t\tcontainerRadiusClasses[radius as keyof typeof containerRadiusClasses],\n\t\t\t\t\t)}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\tcontainerRadiusClasses[radius as keyof typeof containerRadiusClasses],\n\t\t\t\t\t\tvariant === \"bordered\" ? \"border border-border\" : \"\",\n\t\t\t\t\t\thighlightClassName,\n\t\t\t\t\t)}\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 {\n\tvalue: string;\n\tdisabled?: boolean;\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport const FormTabsTrigger = React.memo(function TabsTrigger({ value, disabled, children, className }: TabsTriggerProps) {\n\tconst { value: selected, setValue, registerTrigger, useHighlightPill, size, radius, fullWidth } = useFormTabsContext();\n\tconst isSelected = selected === value;\n\tconst ref = React.useRef<HTMLButtonElement>(null);\n\n\tconst sizeClasses = {\n\t\tsm: \"px-2 py-1 text-xs\",\n\t\tmd: \"px-3 py-1.5 text-sm\",\n\t\tlg: \"px-4 py-2 text-base\",\n\t};\n\n\tconst radiusClasses = {\n\t\tnone: \"rounded-none\",\n\t\tsm: \"rounded-sm\",\n\t\tmd: \"rounded-md\",\n\t\tlg: \"rounded-lg\",\n\t\tfull: \"rounded-full\",\n\t};\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 whitespace-nowrap font-medium\",\n\t\t\t\t\"items-center justify-center\",\n\t\t\t\tfullWidth ? \"flex flex-1 w-full\" : \"inline-flex\",\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\tsizeClasses[size as keyof typeof sizeClasses],\n\t\t\t\tradiusClasses[radius as keyof typeof radiusClasses],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{children}\n\t\t</button>\n\t);\n\treturn useHighlightPill ? (\n\t\t<HighlightItem asChild value={value} className={fullWidth ? \"flex-1 w-full\" : undefined}>\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","size","t3","radius","t4","variant","t5","fullWidth","t6","t7","setCurrent","t8","Symbol","for","Map","triggersRef","listRef","t9","val","el","registerTrigger","t10","val_0","get","getTriggerEl","t11","setValue","t12","t13","t14","FormTabsList","prefersReducedMotion","useReducedMotion","sizeClasses","sm","md","lg","radiusClasses","none","full","containerRadiusClasses","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 { cn } from \"@/lib/utils\";\nimport { useReducedMotion } from \"framer-motion\";\nimport * as React from \"react\";\nimport { Highlight, HighlightItem } from \"../highlight/highlight\";\n\ntype FormTabsSize = \"sm\" | \"md\" | \"lg\";\ntype FormTabsRadius = \"none\" | \"sm\" | \"md\" | \"lg\" | \"full\";\ntype FormTabsVariant = \"solid\" | \"bordered\";\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\tsize: FormTabsSize;\n\tradius: FormTabsRadius;\n\tvariant: FormTabsVariant;\n\tfullWidth: boolean;\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;\n\tuseHighlightPill?: boolean;\n\tsize?: FormTabsSize;\n\tradius?: FormTabsRadius;\n\tvariant?: FormTabsVariant;\n\tfullWidth?: boolean;\n}\n\nexport function FormTabs({\n\tdefaultValue,\n\tvalue,\n\tonValueChange,\n\tchildren,\n\tclassName,\n\tid,\n\thighlightClassName = \"bg-content1 shadow-sm\",\n\tuseHighlightPill = true,\n\tsize = \"md\",\n\tradius = \"md\",\n\tvariant = \"solid\",\n\tfullWidth = false,\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() => ({\n\t\t\tvalue: current,\n\t\t\tsetValue: setCurrent,\n\t\t\tregisterTrigger,\n\t\t\tgetTriggerEl,\n\t\t\tlistRef,\n\t\t\tuseHighlightPill,\n\t\t\thighlightClassName,\n\t\t\tsize,\n\t\t\tradius,\n\t\t\tvariant,\n\t\t\tfullWidth,\n\t\t}),\n\t\t[current, setCurrent, registerTrigger, getTriggerEl, useHighlightPill, highlightClassName, size, radius, variant, fullWidth],\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 {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport function FormTabsList({ children, className, ...props }: TabsListProps) {\n\tconst { value, setValue, listRef, useHighlightPill, highlightClassName, size, radius, variant, fullWidth } = useFormTabsContext();\n\tconst prefersReducedMotion = useReducedMotion();\n\n\tconst sizeClasses = {\n\t\tsm: \"h-8 p-0.5\",\n\t\tmd: \"h-9 p-1\",\n\t\tlg: \"h-10 p-1.5\",\n\t};\n\n\tconst radiusClasses = {\n\t\tnone: \"rounded-none\",\n\t\tsm: \"rounded-sm\",\n\t\tmd: \"rounded-md\",\n\t\tlg: \"rounded-lg\",\n\t\tfull: \"rounded-full\",\n\t};\n\n\tconst containerRadiusClasses = {\n\t\tnone: \"rounded-none\",\n\t\tsm: \"rounded-sm\",\n\t\tmd: \"rounded-md\",\n\t\tlg: \"rounded-lg\",\n\t\tfull: \"rounded-full\",\n\t};\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: HTMLButtonElement[] = 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] as HTMLButtonElement | undefined;\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\tconst content = <div className={cn(\"relative z-10 flex items-stretch gap-1\", fullWidth && \"w-full\")}>{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(\n\t\t\t\t\"relative items-center justify-center bg-muted text-muted-foreground isolate\",\n\t\t\t\tfullWidth ? \"flex w-full\" : \"inline-flex\",\n\t\t\t\tsizeClasses[size as keyof typeof sizeClasses],\n\t\t\t\tradiusClasses[radius as keyof typeof radiusClasses],\n\t\t\t\tclassName,\n\t\t\t)}\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={cn(\n\t\t\t\t\t\t\"absolute inset-0\",\n\t\t\t\t\t\tfullWidth ? \"w-full\" : \"\",\n\t\t\t\t\t\tcontainerRadiusClasses[radius as keyof typeof containerRadiusClasses],\n\t\t\t\t\t)}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\tcontainerRadiusClasses[radius as keyof typeof containerRadiusClasses],\n\t\t\t\t\t\tvariant === \"bordered\" ? \"border border-border\" : \"\",\n\t\t\t\t\t\thighlightClassName,\n\t\t\t\t\t)}\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 {\n\tvalue: string;\n\tdisabled?: boolean;\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport const FormTabsTrigger = React.memo(function TabsTrigger({ value, disabled, children, className }: TabsTriggerProps) {\n\tconst { value: selected, setValue, registerTrigger, useHighlightPill, size, radius, fullWidth } = useFormTabsContext();\n\tconst isSelected = selected === value;\n\tconst ref = React.useRef<HTMLButtonElement>(null);\n\n\tconst sizeClasses = {\n\t\tsm: \"px-2 py-1 text-xs\",\n\t\tmd: \"px-3 py-1.5 text-sm\",\n\t\tlg: \"px-4 py-2 text-base\",\n\t};\n\n\tconst radiusClasses = {\n\t\tnone: \"rounded-none\",\n\t\tsm: \"rounded-sm\",\n\t\tmd: \"rounded-md\",\n\t\tlg: \"rounded-lg\",\n\t\tfull: \"rounded-full\",\n\t};\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 whitespace-nowrap font-medium\",\n\t\t\t\t\"items-center justify-center\",\n\t\t\t\tfullWidth ? \"flex flex-1 w-full\" : \"inline-flex\",\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\tsizeClasses[size as keyof typeof sizeClasses],\n\t\t\t\tradiusClasses[radius as keyof typeof radiusClasses],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{children}\n\t\t</button>\n\t);\n\treturn useHighlightPill ? (\n\t\t<HighlightItem asChild value={value} className={fullWidth ? \"flex-1 w-full\" : undefined}>\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","size","t3","radius","t4","variant","t5","fullWidth","t6","t7","setCurrent","t8","Symbol","for","Map","triggersRef","listRef","t9","val","el","registerTrigger","t10","val_0","get","getTriggerEl","t11","setValue","t12","t13","t14","FormTabsList","prefersReducedMotion","useReducedMotion","sizeClasses","sm","md","lg","radiusClasses","none","full","containerRadiusClasses","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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"}
|