commerce-toolkit 0.2.0 → 0.4.0
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.
- package/dist/Combination-BYVrsWzR.js +674 -0
- package/dist/Combination-BYVrsWzR.js.map +1 -0
- package/dist/Combination-CMyKl2HP.cjs +42 -0
- package/dist/Combination-CMyKl2HP.cjs.map +1 -0
- package/dist/{checkbox-indicator-os50dewx.js → checkbox-indicator-C9hf5wZD.js} +2 -2
- package/dist/{checkbox-indicator-os50dewx.js.map → checkbox-indicator-C9hf5wZD.js.map} +1 -1
- package/dist/{checkbox-indicator-GNoyS6OL.cjs → checkbox-indicator-D3X4eolv.cjs} +2 -2
- package/dist/{checkbox-indicator-GNoyS6OL.cjs.map → checkbox-indicator-D3X4eolv.cjs.map} +1 -1
- package/dist/{checkbox-root-B9W2Y8rY.js → checkbox-root-CFYnDr-v.js} +115 -118
- package/dist/checkbox-root-CFYnDr-v.js.map +1 -0
- package/dist/checkbox-root-oz6K_T-0.cjs +2 -0
- package/dist/checkbox-root-oz6K_T-0.cjs.map +1 -0
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +2 -2
- package/dist/compare-card.cjs +1 -1
- package/dist/compare-card.js +2 -2
- package/dist/components/counter/counter.d.ts +25 -0
- package/dist/components/counter/counter.d.ts.map +1 -0
- package/dist/components/counter/index.d.ts +3 -0
- package/dist/components/counter/index.d.ts.map +1 -0
- package/dist/components/counter/primitives/counter-decrease.d.ts +4 -0
- package/dist/components/counter/primitives/counter-decrease.d.ts.map +1 -0
- package/dist/components/counter/primitives/counter-increase.d.ts +4 -0
- package/dist/components/counter/primitives/counter-increase.d.ts.map +1 -0
- package/dist/components/counter/primitives/counter-input.d.ts +4 -0
- package/dist/components/counter/primitives/counter-input.d.ts.map +1 -0
- package/dist/components/counter/primitives/counter-root.d.ts +16 -0
- package/dist/components/counter/primitives/counter-root.d.ts.map +1 -0
- package/dist/components/counter/primitives.d.ts +5 -0
- package/dist/components/counter/primitives.d.ts.map +1 -0
- package/dist/components/form-status/form-status.d.ts +27 -0
- package/dist/components/form-status/form-status.d.ts.map +1 -0
- package/dist/components/form-status/index.d.ts +3 -0
- package/dist/components/form-status/index.d.ts.map +1 -0
- package/dist/components/form-status/primitives/form-status-root.d.ts +7 -0
- package/dist/components/form-status/primitives/form-status-root.d.ts.map +1 -0
- package/dist/components/form-status/primitives.d.ts +2 -0
- package/dist/components/form-status/primitives.d.ts.map +1 -0
- package/dist/components/logo/index.d.ts +0 -1
- package/dist/components/logo/index.d.ts.map +1 -1
- package/dist/components/logo/primitives/logo-text.d.ts +3 -1
- package/dist/components/logo/primitives/logo-text.d.ts.map +1 -1
- package/dist/components/navigation-menu/index.d.ts +3 -0
- package/dist/components/navigation-menu/index.d.ts.map +1 -0
- package/dist/components/navigation-menu/navigation-menu.d.ts +50 -0
- package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-content.d.ts +5 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-content.d.ts.map +1 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-grid-column.d.ts +4 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-grid-column.d.ts.map +1 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-grid-label.d.ts +5 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-grid-label.d.ts.map +1 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-grid-link.d.ts +5 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-grid-link.d.ts.map +1 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-grid.d.ts +4 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-grid.d.ts.map +1 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-item.d.ts +5 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-item.d.ts.map +1 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-link.d.ts +5 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-link.d.ts.map +1 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-list.d.ts +5 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-list.d.ts.map +1 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-panel.d.ts +4 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-panel.d.ts.map +1 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-root.d.ts +8 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-root.d.ts.map +1 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-slot.d.ts +4 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-slot.d.ts.map +1 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-trigger.d.ts +5 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-trigger.d.ts.map +1 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-viewport.d.ts +5 -0
- package/dist/components/navigation-menu/primitives/navigation-menu-viewport.d.ts.map +1 -0
- package/dist/components/navigation-menu/primitives.d.ts +13 -0
- package/dist/components/navigation-menu/primitives.d.ts.map +1 -0
- package/dist/counter-input-BJov0Fub.cjs +2 -0
- package/dist/counter-input-BJov0Fub.cjs.map +1 -0
- package/dist/counter-input-hbz8NVA1.js +106 -0
- package/dist/counter-input-hbz8NVA1.js.map +1 -0
- package/dist/counter.cjs +2 -0
- package/dist/counter.cjs.map +1 -0
- package/dist/counter.js +9 -0
- package/dist/counter.js.map +1 -0
- package/dist/{dropdown-menu-node-zOplWIzZ.cjs → dropdown-menu-node-C0Oe_nJV.cjs} +3 -3
- package/dist/{dropdown-menu-node-zOplWIzZ.cjs.map → dropdown-menu-node-C0Oe_nJV.cjs.map} +1 -1
- package/dist/{dropdown-menu-node-4Pe3uXjC.js → dropdown-menu-node-CrYNKRZ0.js} +20 -19
- package/dist/{dropdown-menu-node-4Pe3uXjC.js.map → dropdown-menu-node-CrYNKRZ0.js.map} +1 -1
- package/dist/dropdown-menu.cjs +1 -1
- package/dist/dropdown-menu.js +1 -1
- package/dist/form-status.cjs +2 -0
- package/dist/form-status.cjs.map +1 -0
- package/dist/form-status.js +33 -0
- package/dist/form-status.js.map +1 -0
- package/dist/index-BSyIT6yC.cjs +2 -0
- package/dist/index-BSyIT6yC.cjs.map +1 -0
- package/dist/index-BZPx6jYI.js +9 -0
- package/dist/index-BZPx6jYI.js.map +1 -0
- package/dist/index-CY_4_uMy.cjs +6 -0
- package/dist/{index-BppAzNV8.cjs.map → index-CY_4_uMy.cjs.map} +1 -1
- package/dist/index-DYxWvftI.cjs +2 -0
- package/dist/index-DYxWvftI.cjs.map +1 -0
- package/dist/index-DoAIVWjZ.js +135 -0
- package/dist/index-DoAIVWjZ.js.map +1 -0
- package/dist/{index-ChSlzMYI.js → index-DthUnpqb.js} +17 -16
- package/dist/{index-ChSlzMYI.js.map → index-DthUnpqb.js.map} +1 -1
- package/dist/index.cjs +16 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +887 -832
- package/dist/index.js.map +1 -1
- package/dist/logo-skeleton-CgTRdVwc.js +44 -0
- package/dist/logo-skeleton-CgTRdVwc.js.map +1 -0
- package/dist/logo-skeleton-CpbzziY-.cjs +2 -0
- package/dist/logo-skeleton-CpbzziY-.cjs.map +1 -0
- package/dist/logo.cjs +1 -1
- package/dist/logo.cjs.map +1 -1
- package/dist/logo.js +4 -10
- package/dist/logo.js.map +1 -1
- package/dist/{modal-title-CuB6IpxH.cjs → modal-title-BrR2NosO.cjs} +2 -2
- package/dist/{modal-title-CuB6IpxH.cjs.map → modal-title-BrR2NosO.cjs.map} +1 -1
- package/dist/{modal-title-MIH3Xsp2.js → modal-title-ji5CKbNn.js} +2 -2
- package/dist/{modal-title-MIH3Xsp2.js.map → modal-title-ji5CKbNn.js.map} +1 -1
- package/dist/modal.cjs +1 -1
- package/dist/modal.js +1 -1
- package/dist/navigation-menu.cjs +2 -0
- package/dist/navigation-menu.cjs.map +1 -0
- package/dist/navigation-menu.js +880 -0
- package/dist/navigation-menu.js.map +1 -0
- package/dist/{product-card-label-D43AXtRL.cjs → product-card-label-B1EwGQhM.cjs} +2 -2
- package/dist/{product-card-label-D43AXtRL.cjs.map → product-card-label-B1EwGQhM.cjs.map} +1 -1
- package/dist/{product-card-label-CJmC9ICf.js → product-card-label-Djn5qQC4.js} +3 -3
- package/dist/{product-card-label-CJmC9ICf.js.map → product-card-label-Djn5qQC4.js.map} +1 -1
- package/dist/{product-card-skeleton-CCQkDMNl.cjs → product-card-skeleton-B2lGkIgo.cjs} +2 -2
- package/dist/{product-card-skeleton-CCQkDMNl.cjs.map → product-card-skeleton-B2lGkIgo.cjs.map} +1 -1
- package/dist/{product-card-skeleton-Dkqf-bfA.js → product-card-skeleton-Rvy8Ocb0.js} +2 -2
- package/dist/{product-card-skeleton-Dkqf-bfA.js.map → product-card-skeleton-Rvy8Ocb0.js.map} +1 -1
- package/dist/product-card.cjs +1 -1
- package/dist/product-card.js +2 -2
- package/dist/{side-panel-close-DVJwOxdM.js → side-panel-close-BtypdE9q.js} +2 -2
- package/dist/{side-panel-close-DVJwOxdM.js.map → side-panel-close-BtypdE9q.js.map} +1 -1
- package/dist/{side-panel-close-Bjcn4BEE.cjs → side-panel-close-DIP8gLRZ.cjs} +2 -2
- package/dist/{side-panel-close-Bjcn4BEE.cjs.map → side-panel-close-DIP8gLRZ.cjs.map} +1 -1
- package/dist/side-panel.cjs +1 -1
- package/dist/side-panel.js +1 -1
- package/package.json +31 -1
- package/dist/Combination-49q9aXeT.js +0 -801
- package/dist/Combination-49q9aXeT.js.map +0 -1
- package/dist/Combination-DAFZFTdA.cjs +0 -42
- package/dist/Combination-DAFZFTdA.cjs.map +0 -1
- package/dist/checkbox-root-B9W2Y8rY.js.map +0 -1
- package/dist/checkbox-root-g9HcYZCP.cjs +0 -2
- package/dist/checkbox-root-g9HcYZCP.cjs.map +0 -1
- package/dist/components/logo/logo.d.ts +0 -32
- package/dist/components/logo/logo.d.ts.map +0 -1
- package/dist/index-BppAzNV8.cjs +0 -6
- package/dist/logo-text-CK4vcNPY.js +0 -39
- package/dist/logo-text-CK4vcNPY.js.map +0 -1
- package/dist/logo-text-Db3yd3b1.cjs +0 -2
- package/dist/logo-text-Db3yd3b1.cjs.map +0 -1
- package/dist/minus-BJih_7bh.cjs +0 -7
- package/dist/minus-BJih_7bh.cjs.map +0 -1
- package/dist/minus-B_YS3-aV.js +0 -13
- package/dist/minus-B_YS3-aV.js.map +0 -1
- package/dist/plus-DNl2AbQ2.js +0 -16
- package/dist/plus-DNl2AbQ2.js.map +0 -1
- package/dist/plus-De3UvuAJ.cjs +0 -7
- package/dist/plus-De3UvuAJ.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-menu.js","sources":["../node_modules/.pnpm/@radix-ui+react-visually-hidden@1.2.3_@types+react-dom@19.2.2_@types+react@19.2.2__@types+rea_7a2ga4g6lmpyrw7ptrbxavhcti/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs","../node_modules/.pnpm/@radix-ui+react-navigation-menu@1.2.14_@types+react-dom@19.2.2_@types+react@19.2.2__@types+re_6zeocxxvj56wmhp3cpfvjx4rkq/node_modules/@radix-ui/react-navigation-menu/dist/index.mjs","../src/components/navigation-menu/primitives/navigation-menu-root.tsx","../src/components/navigation-menu/primitives/navigation-menu-viewport.tsx","../src/components/navigation-menu/primitives/navigation-menu-panel.tsx","../src/components/navigation-menu/primitives/navigation-menu-list.tsx","../src/components/navigation-menu/primitives/navigation-menu-item.tsx","../src/components/navigation-menu/primitives/navigation-menu-trigger.tsx","../src/components/navigation-menu/primitives/navigation-menu-content.tsx","../src/components/navigation-menu/primitives/navigation-menu-grid.tsx","../src/components/navigation-menu/primitives/navigation-menu-grid-column.tsx","../src/components/navigation-menu/primitives/navigation-menu-grid-label.tsx","../src/components/navigation-menu/primitives/navigation-menu-grid-link.tsx","../src/components/navigation-menu/primitives/navigation-menu-slot.tsx"],"sourcesContent":["// src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar VISUALLY_HIDDEN_STYLES = Object.freeze({\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n});\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n Root,\n VISUALLY_HIDDEN_STYLES,\n VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/navigation-menu.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { composeRefs, useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar NAVIGATION_MENU_NAME = \"NavigationMenu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(NAVIGATION_MENU_NAME);\nvar [FocusGroupCollection, useFocusGroupCollection, createFocusGroupCollectionScope] = createCollection(NAVIGATION_MENU_NAME);\nvar [createNavigationMenuContext, createNavigationMenuScope] = createContextScope(\n NAVIGATION_MENU_NAME,\n [createCollectionScope, createFocusGroupCollectionScope]\n);\nvar [NavigationMenuProviderImpl, useNavigationMenuContext] = createNavigationMenuContext(NAVIGATION_MENU_NAME);\nvar [ViewportContentProvider, useViewportContentContext] = createNavigationMenuContext(NAVIGATION_MENU_NAME);\nvar NavigationMenu = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value: valueProp,\n onValueChange,\n defaultValue,\n delayDuration = 200,\n skipDelayDuration = 300,\n orientation = \"horizontal\",\n dir,\n ...NavigationMenuProps\n } = props;\n const [navigationMenu, setNavigationMenu] = React.useState(null);\n const composedRef = useComposedRefs(forwardedRef, (node) => setNavigationMenu(node));\n const direction = useDirection(dir);\n const openTimerRef = React.useRef(0);\n const closeTimerRef = React.useRef(0);\n const skipDelayTimerRef = React.useRef(0);\n const [isOpenDelayed, setIsOpenDelayed] = React.useState(true);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: (value2) => {\n const isOpen = value2 !== \"\";\n const hasSkipDelayDuration = skipDelayDuration > 0;\n if (isOpen) {\n window.clearTimeout(skipDelayTimerRef.current);\n if (hasSkipDelayDuration) setIsOpenDelayed(false);\n } else {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => setIsOpenDelayed(true),\n skipDelayDuration\n );\n }\n onValueChange?.(value2);\n },\n defaultProp: defaultValue ?? \"\",\n caller: NAVIGATION_MENU_NAME\n });\n const startCloseTimer = React.useCallback(() => {\n window.clearTimeout(closeTimerRef.current);\n closeTimerRef.current = window.setTimeout(() => setValue(\"\"), 150);\n }, [setValue]);\n const handleOpen = React.useCallback(\n (itemValue) => {\n window.clearTimeout(closeTimerRef.current);\n setValue(itemValue);\n },\n [setValue]\n );\n const handleDelayedOpen = React.useCallback(\n (itemValue) => {\n const isOpenItem = value === itemValue;\n if (isOpenItem) {\n window.clearTimeout(closeTimerRef.current);\n } else {\n openTimerRef.current = window.setTimeout(() => {\n window.clearTimeout(closeTimerRef.current);\n setValue(itemValue);\n }, delayDuration);\n }\n },\n [value, setValue, delayDuration]\n );\n React.useEffect(() => {\n return () => {\n window.clearTimeout(openTimerRef.current);\n window.clearTimeout(closeTimerRef.current);\n window.clearTimeout(skipDelayTimerRef.current);\n };\n }, []);\n return /* @__PURE__ */ jsx(\n NavigationMenuProvider,\n {\n scope: __scopeNavigationMenu,\n isRootMenu: true,\n value,\n dir: direction,\n orientation,\n rootNavigationMenu: navigationMenu,\n onTriggerEnter: (itemValue) => {\n window.clearTimeout(openTimerRef.current);\n if (isOpenDelayed) handleDelayedOpen(itemValue);\n else handleOpen(itemValue);\n },\n onTriggerLeave: () => {\n window.clearTimeout(openTimerRef.current);\n startCloseTimer();\n },\n onContentEnter: () => window.clearTimeout(closeTimerRef.current),\n onContentLeave: startCloseTimer,\n onItemSelect: (itemValue) => {\n setValue((prevValue) => prevValue === itemValue ? \"\" : itemValue);\n },\n onItemDismiss: () => setValue(\"\"),\n children: /* @__PURE__ */ jsx(\n Primitive.nav,\n {\n \"aria-label\": \"Main\",\n \"data-orientation\": orientation,\n dir: direction,\n ...NavigationMenuProps,\n ref: composedRef\n }\n )\n }\n );\n }\n);\nNavigationMenu.displayName = NAVIGATION_MENU_NAME;\nvar SUB_NAME = \"NavigationMenuSub\";\nvar NavigationMenuSub = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n ...subProps\n } = props;\n const context = useNavigationMenuContext(SUB_NAME, __scopeNavigationMenu);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? \"\",\n caller: SUB_NAME\n });\n return /* @__PURE__ */ jsx(\n NavigationMenuProvider,\n {\n scope: __scopeNavigationMenu,\n isRootMenu: false,\n value,\n dir: context.dir,\n orientation,\n rootNavigationMenu: context.rootNavigationMenu,\n onTriggerEnter: (itemValue) => setValue(itemValue),\n onItemSelect: (itemValue) => setValue(itemValue),\n onItemDismiss: () => setValue(\"\"),\n children: /* @__PURE__ */ jsx(Primitive.div, { \"data-orientation\": orientation, ...subProps, ref: forwardedRef })\n }\n );\n }\n);\nNavigationMenuSub.displayName = SUB_NAME;\nvar NavigationMenuProvider = (props) => {\n const {\n scope,\n isRootMenu,\n rootNavigationMenu,\n dir,\n orientation,\n children,\n value,\n onItemSelect,\n onItemDismiss,\n onTriggerEnter,\n onTriggerLeave,\n onContentEnter,\n onContentLeave\n } = props;\n const [viewport, setViewport] = React.useState(null);\n const [viewportContent, setViewportContent] = React.useState(/* @__PURE__ */ new Map());\n const [indicatorTrack, setIndicatorTrack] = React.useState(null);\n return /* @__PURE__ */ jsx(\n NavigationMenuProviderImpl,\n {\n scope,\n isRootMenu,\n rootNavigationMenu,\n value,\n previousValue: usePrevious(value),\n baseId: useId(),\n dir,\n orientation,\n viewport,\n onViewportChange: setViewport,\n indicatorTrack,\n onIndicatorTrackChange: setIndicatorTrack,\n onTriggerEnter: useCallbackRef(onTriggerEnter),\n onTriggerLeave: useCallbackRef(onTriggerLeave),\n onContentEnter: useCallbackRef(onContentEnter),\n onContentLeave: useCallbackRef(onContentLeave),\n onItemSelect: useCallbackRef(onItemSelect),\n onItemDismiss: useCallbackRef(onItemDismiss),\n onViewportContentChange: React.useCallback((contentValue, contentData) => {\n setViewportContent((prevContent) => {\n prevContent.set(contentValue, contentData);\n return new Map(prevContent);\n });\n }, []),\n onViewportContentRemove: React.useCallback((contentValue) => {\n setViewportContent((prevContent) => {\n if (!prevContent.has(contentValue)) return prevContent;\n prevContent.delete(contentValue);\n return new Map(prevContent);\n });\n }, []),\n children: /* @__PURE__ */ jsx(Collection.Provider, { scope, children: /* @__PURE__ */ jsx(ViewportContentProvider, { scope, items: viewportContent, children }) })\n }\n );\n};\nvar LIST_NAME = \"NavigationMenuList\";\nvar NavigationMenuList = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, ...listProps } = props;\n const context = useNavigationMenuContext(LIST_NAME, __scopeNavigationMenu);\n const list = /* @__PURE__ */ jsx(Primitive.ul, { \"data-orientation\": context.orientation, ...listProps, ref: forwardedRef });\n return /* @__PURE__ */ jsx(Primitive.div, { style: { position: \"relative\" }, ref: context.onIndicatorTrackChange, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeNavigationMenu, children: context.isRootMenu ? /* @__PURE__ */ jsx(FocusGroup, { asChild: true, children: list }) : list }) });\n }\n);\nNavigationMenuList.displayName = LIST_NAME;\nvar ITEM_NAME = \"NavigationMenuItem\";\nvar [NavigationMenuItemContextProvider, useNavigationMenuItemContext] = createNavigationMenuContext(ITEM_NAME);\nvar NavigationMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, value: valueProp, ...itemProps } = props;\n const autoValue = useId();\n const value = valueProp || autoValue || \"LEGACY_REACT_AUTO_VALUE\";\n const contentRef = React.useRef(null);\n const triggerRef = React.useRef(null);\n const focusProxyRef = React.useRef(null);\n const restoreContentTabOrderRef = React.useRef(() => {\n });\n const wasEscapeCloseRef = React.useRef(false);\n const handleContentEntry = React.useCallback((side = \"start\") => {\n if (contentRef.current) {\n restoreContentTabOrderRef.current();\n const candidates = getTabbableCandidates(contentRef.current);\n if (candidates.length) focusFirst(side === \"start\" ? candidates : candidates.reverse());\n }\n }, []);\n const handleContentExit = React.useCallback(() => {\n if (contentRef.current) {\n const candidates = getTabbableCandidates(contentRef.current);\n if (candidates.length) restoreContentTabOrderRef.current = removeFromTabOrder(candidates);\n }\n }, []);\n return /* @__PURE__ */ jsx(\n NavigationMenuItemContextProvider,\n {\n scope: __scopeNavigationMenu,\n value,\n triggerRef,\n contentRef,\n focusProxyRef,\n wasEscapeCloseRef,\n onEntryKeyDown: handleContentEntry,\n onFocusProxyEnter: handleContentEntry,\n onRootContentClose: handleContentExit,\n onContentFocusOutside: handleContentExit,\n children: /* @__PURE__ */ jsx(Primitive.li, { ...itemProps, ref: forwardedRef })\n }\n );\n }\n);\nNavigationMenuItem.displayName = ITEM_NAME;\nvar TRIGGER_NAME = \"NavigationMenuTrigger\";\nvar NavigationMenuTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeNavigationMenu, disabled, ...triggerProps } = props;\n const context = useNavigationMenuContext(TRIGGER_NAME, props.__scopeNavigationMenu);\n const itemContext = useNavigationMenuItemContext(TRIGGER_NAME, props.__scopeNavigationMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, itemContext.triggerRef, forwardedRef);\n const triggerId = makeTriggerId(context.baseId, itemContext.value);\n const contentId = makeContentId(context.baseId, itemContext.value);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const wasClickCloseRef = React.useRef(false);\n const open = itemContext.value === context.value;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeNavigationMenu, value: itemContext.value, children: /* @__PURE__ */ jsx(FocusGroupItem, { asChild: true, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n id: triggerId,\n disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n \"data-state\": getOpenState(open),\n \"aria-expanded\": open,\n \"aria-controls\": contentId,\n ...triggerProps,\n ref: composedRefs,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => {\n wasClickCloseRef.current = false;\n itemContext.wasEscapeCloseRef.current = false;\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse(() => {\n if (disabled || wasClickCloseRef.current || itemContext.wasEscapeCloseRef.current || hasPointerMoveOpenedRef.current)\n return;\n context.onTriggerEnter(itemContext.value);\n hasPointerMoveOpenedRef.current = true;\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse(() => {\n if (disabled) return;\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n })\n ),\n onClick: composeEventHandlers(props.onClick, () => {\n context.onItemSelect(itemContext.value);\n wasClickCloseRef.current = open;\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const verticalEntryKey = context.dir === \"rtl\" ? \"ArrowLeft\" : \"ArrowRight\";\n const entryKey = { horizontal: \"ArrowDown\", vertical: verticalEntryKey }[context.orientation];\n if (open && event.key === entryKey) {\n itemContext.onEntryKeyDown();\n event.preventDefault();\n }\n })\n }\n ) }) }),\n open && /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n VisuallyHiddenPrimitive.Root,\n {\n \"aria-hidden\": true,\n tabIndex: 0,\n ref: itemContext.focusProxyRef,\n onFocus: (event) => {\n const content = itemContext.contentRef.current;\n const prevFocusedElement = event.relatedTarget;\n const wasTriggerFocused = prevFocusedElement === ref.current;\n const wasFocusFromContent = content?.contains(prevFocusedElement);\n if (wasTriggerFocused || !wasFocusFromContent) {\n itemContext.onFocusProxyEnter(wasTriggerFocused ? \"start\" : \"end\");\n }\n }\n }\n ),\n context.viewport && /* @__PURE__ */ jsx(\"span\", { \"aria-owns\": contentId })\n ] })\n ] });\n});\nNavigationMenuTrigger.displayName = TRIGGER_NAME;\nvar LINK_NAME = \"NavigationMenuLink\";\nvar LINK_SELECT = \"navigationMenu.linkSelect\";\nvar NavigationMenuLink = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, active, onSelect, ...linkProps } = props;\n return /* @__PURE__ */ jsx(FocusGroupItem, { asChild: true, children: /* @__PURE__ */ jsx(\n Primitive.a,\n {\n \"data-active\": active ? \"\" : void 0,\n \"aria-current\": active ? \"page\" : void 0,\n ...linkProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(\n props.onClick,\n (event) => {\n const target = event.target;\n const linkSelectEvent = new CustomEvent(LINK_SELECT, {\n bubbles: true,\n cancelable: true\n });\n target.addEventListener(LINK_SELECT, (event2) => onSelect?.(event2), { once: true });\n dispatchDiscreteCustomEvent(target, linkSelectEvent);\n if (!linkSelectEvent.defaultPrevented && !event.metaKey) {\n const rootContentDismissEvent = new CustomEvent(ROOT_CONTENT_DISMISS, {\n bubbles: true,\n cancelable: true\n });\n dispatchDiscreteCustomEvent(target, rootContentDismissEvent);\n }\n },\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nNavigationMenuLink.displayName = LINK_NAME;\nvar INDICATOR_NAME = \"NavigationMenuIndicator\";\nvar NavigationMenuIndicator = React.forwardRef((props, forwardedRef) => {\n const { forceMount, ...indicatorProps } = props;\n const context = useNavigationMenuContext(INDICATOR_NAME, props.__scopeNavigationMenu);\n const isVisible = Boolean(context.value);\n return context.indicatorTrack ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(Presence, { present: forceMount || isVisible, children: /* @__PURE__ */ jsx(NavigationMenuIndicatorImpl, { ...indicatorProps, ref: forwardedRef }) }),\n context.indicatorTrack\n ) : null;\n});\nNavigationMenuIndicator.displayName = INDICATOR_NAME;\nvar NavigationMenuIndicatorImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeNavigationMenu, ...indicatorProps } = props;\n const context = useNavigationMenuContext(INDICATOR_NAME, __scopeNavigationMenu);\n const getItems = useCollection(__scopeNavigationMenu);\n const [activeTrigger, setActiveTrigger] = React.useState(\n null\n );\n const [position, setPosition] = React.useState(null);\n const isHorizontal = context.orientation === \"horizontal\";\n const isVisible = Boolean(context.value);\n React.useEffect(() => {\n const items = getItems();\n const triggerNode = items.find((item) => item.value === context.value)?.ref.current;\n if (triggerNode) setActiveTrigger(triggerNode);\n }, [getItems, context.value]);\n const handlePositionChange = () => {\n if (activeTrigger) {\n setPosition({\n size: isHorizontal ? activeTrigger.offsetWidth : activeTrigger.offsetHeight,\n offset: isHorizontal ? activeTrigger.offsetLeft : activeTrigger.offsetTop\n });\n }\n };\n useResizeObserver(activeTrigger, handlePositionChange);\n useResizeObserver(context.indicatorTrack, handlePositionChange);\n return position ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n \"data-state\": isVisible ? \"visible\" : \"hidden\",\n \"data-orientation\": context.orientation,\n ...indicatorProps,\n ref: forwardedRef,\n style: {\n position: \"absolute\",\n ...isHorizontal ? {\n left: 0,\n width: position.size + \"px\",\n transform: `translateX(${position.offset}px)`\n } : {\n top: 0,\n height: position.size + \"px\",\n transform: `translateY(${position.offset}px)`\n },\n ...indicatorProps.style\n }\n }\n ) : null;\n});\nvar CONTENT_NAME = \"NavigationMenuContent\";\nvar NavigationMenuContent = React.forwardRef((props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useNavigationMenuContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const itemContext = useNavigationMenuItemContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const composedRefs = useComposedRefs(itemContext.contentRef, forwardedRef);\n const open = itemContext.value === context.value;\n const commonProps = {\n value: itemContext.value,\n triggerRef: itemContext.triggerRef,\n focusProxyRef: itemContext.focusProxyRef,\n wasEscapeCloseRef: itemContext.wasEscapeCloseRef,\n onContentFocusOutside: itemContext.onContentFocusOutside,\n onRootContentClose: itemContext.onRootContentClose,\n ...contentProps\n };\n return !context.viewport ? /* @__PURE__ */ jsx(Presence, { present: forceMount || open, children: /* @__PURE__ */ jsx(\n NavigationMenuContentImpl,\n {\n \"data-state\": getOpenState(open),\n ...commonProps,\n ref: composedRefs,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, context.onContentEnter),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse(context.onContentLeave)\n ),\n style: {\n // Prevent interaction when animating out\n pointerEvents: !open && context.isRootMenu ? \"none\" : void 0,\n ...commonProps.style\n }\n }\n ) }) : /* @__PURE__ */ jsx(ViewportContentMounter, { forceMount, ...commonProps, ref: composedRefs });\n});\nNavigationMenuContent.displayName = CONTENT_NAME;\nvar ViewportContentMounter = React.forwardRef((props, forwardedRef) => {\n const context = useNavigationMenuContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const { onViewportContentChange, onViewportContentRemove } = context;\n useLayoutEffect(() => {\n onViewportContentChange(props.value, {\n ref: forwardedRef,\n ...props\n });\n }, [props, forwardedRef, onViewportContentChange]);\n useLayoutEffect(() => {\n return () => onViewportContentRemove(props.value);\n }, [props.value, onViewportContentRemove]);\n return null;\n});\nvar ROOT_CONTENT_DISMISS = \"navigationMenu.rootContentDismiss\";\nvar NavigationMenuContentImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value,\n triggerRef,\n focusProxyRef,\n wasEscapeCloseRef,\n onRootContentClose,\n onContentFocusOutside,\n ...contentProps\n } = props;\n const context = useNavigationMenuContext(CONTENT_NAME, __scopeNavigationMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const getItems = useCollection(__scopeNavigationMenu);\n const prevMotionAttributeRef = React.useRef(null);\n const { onItemDismiss } = context;\n React.useEffect(() => {\n const content = ref.current;\n if (context.isRootMenu && content) {\n const handleClose = () => {\n onItemDismiss();\n onRootContentClose();\n if (content.contains(document.activeElement)) triggerRef.current?.focus();\n };\n content.addEventListener(ROOT_CONTENT_DISMISS, handleClose);\n return () => content.removeEventListener(ROOT_CONTENT_DISMISS, handleClose);\n }\n }, [context.isRootMenu, props.value, triggerRef, onItemDismiss, onRootContentClose]);\n const motionAttribute = React.useMemo(() => {\n const items = getItems();\n const values = items.map((item) => item.value);\n if (context.dir === \"rtl\") values.reverse();\n const index = values.indexOf(context.value);\n const prevIndex = values.indexOf(context.previousValue);\n const isSelected = value === context.value;\n const wasSelected = prevIndex === values.indexOf(value);\n if (!isSelected && !wasSelected) return prevMotionAttributeRef.current;\n const attribute = (() => {\n if (index !== prevIndex) {\n if (isSelected && prevIndex !== -1) return index > prevIndex ? \"from-end\" : \"from-start\";\n if (wasSelected && index !== -1) return index > prevIndex ? \"to-start\" : \"to-end\";\n }\n return null;\n })();\n prevMotionAttributeRef.current = attribute;\n return attribute;\n }, [context.previousValue, context.value, context.dir, getItems, value]);\n return /* @__PURE__ */ jsx(FocusGroup, { asChild: true, children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n id: contentId,\n \"aria-labelledby\": triggerId,\n \"data-motion\": motionAttribute,\n \"data-orientation\": context.orientation,\n ...contentProps,\n ref: composedRefs,\n disableOutsidePointerEvents: false,\n onDismiss: () => {\n const rootContentDismissEvent = new Event(ROOT_CONTENT_DISMISS, {\n bubbles: true,\n cancelable: true\n });\n ref.current?.dispatchEvent(rootContentDismissEvent);\n },\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n onContentFocusOutside();\n const target = event.target;\n if (context.rootNavigationMenu?.contains(target)) event.preventDefault();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const target = event.target;\n const isTrigger = getItems().some((item) => item.ref.current?.contains(target));\n const isRootViewport = context.isRootMenu && context.viewport?.contains(target);\n if (isTrigger || isRootViewport || !context.isRootMenu) event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;\n const isTabKey = event.key === \"Tab\" && !isMetaKey;\n if (isTabKey) {\n const candidates = getTabbableCandidates(event.currentTarget);\n const focusedElement = document.activeElement;\n const index = candidates.findIndex((candidate) => candidate === focusedElement);\n const isMovingBackwards = event.shiftKey;\n const nextCandidates = isMovingBackwards ? candidates.slice(0, index).reverse() : candidates.slice(index + 1, candidates.length);\n if (focusFirst(nextCandidates)) {\n event.preventDefault();\n } else {\n focusProxyRef.current?.focus();\n }\n }\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (_event) => {\n wasEscapeCloseRef.current = true;\n })\n }\n ) });\n});\nvar VIEWPORT_NAME = \"NavigationMenuViewport\";\nvar NavigationMenuViewport = React.forwardRef((props, forwardedRef) => {\n const { forceMount, ...viewportProps } = props;\n const context = useNavigationMenuContext(VIEWPORT_NAME, props.__scopeNavigationMenu);\n const open = Boolean(context.value);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || open, children: /* @__PURE__ */ jsx(NavigationMenuViewportImpl, { ...viewportProps, ref: forwardedRef }) });\n});\nNavigationMenuViewport.displayName = VIEWPORT_NAME;\nvar NavigationMenuViewportImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeNavigationMenu, children, ...viewportImplProps } = props;\n const context = useNavigationMenuContext(VIEWPORT_NAME, __scopeNavigationMenu);\n const composedRefs = useComposedRefs(forwardedRef, context.onViewportChange);\n const viewportContentContext = useViewportContentContext(\n CONTENT_NAME,\n props.__scopeNavigationMenu\n );\n const [size, setSize] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const viewportWidth = size ? size?.width + \"px\" : void 0;\n const viewportHeight = size ? size?.height + \"px\" : void 0;\n const open = Boolean(context.value);\n const activeContentValue = open ? context.value : context.previousValue;\n const handleSizeChange = () => {\n if (content) setSize({ width: content.offsetWidth, height: content.offsetHeight });\n };\n useResizeObserver(content, handleSizeChange);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getOpenState(open),\n \"data-orientation\": context.orientation,\n ...viewportImplProps,\n ref: composedRefs,\n style: {\n // Prevent interaction when animating out\n pointerEvents: !open && context.isRootMenu ? \"none\" : void 0,\n [\"--radix-navigation-menu-viewport-width\"]: viewportWidth,\n [\"--radix-navigation-menu-viewport-height\"]: viewportHeight,\n ...viewportImplProps.style\n },\n onPointerEnter: composeEventHandlers(props.onPointerEnter, context.onContentEnter),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, whenMouse(context.onContentLeave)),\n children: Array.from(viewportContentContext.items).map(([value, { ref, forceMount, ...props2 }]) => {\n const isActive = activeContentValue === value;\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || isActive, children: /* @__PURE__ */ jsx(\n NavigationMenuContentImpl,\n {\n ...props2,\n ref: composeRefs(ref, (node) => {\n if (isActive && node) setContent(node);\n })\n }\n ) }, value);\n })\n }\n );\n});\nvar FOCUS_GROUP_NAME = \"FocusGroup\";\nvar FocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, ...groupProps } = props;\n const context = useNavigationMenuContext(FOCUS_GROUP_NAME, __scopeNavigationMenu);\n return /* @__PURE__ */ jsx(FocusGroupCollection.Provider, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx(FocusGroupCollection.Slot, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx(Primitive.div, { dir: context.dir, ...groupProps, ref: forwardedRef }) }) });\n }\n);\nvar ARROW_KEYS = [\"ArrowRight\", \"ArrowLeft\", \"ArrowUp\", \"ArrowDown\"];\nvar FOCUS_GROUP_ITEM_NAME = \"FocusGroupItem\";\nvar FocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, ...groupProps } = props;\n const getItems = useFocusGroupCollection(__scopeNavigationMenu);\n const context = useNavigationMenuContext(FOCUS_GROUP_ITEM_NAME, __scopeNavigationMenu);\n return /* @__PURE__ */ jsx(FocusGroupCollection.ItemSlot, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n ...groupProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isFocusNavigationKey = [\"Home\", \"End\", ...ARROW_KEYS].includes(event.key);\n if (isFocusNavigationKey) {\n let candidateNodes = getItems().map((item) => item.ref.current);\n const prevItemKey = context.dir === \"rtl\" ? \"ArrowRight\" : \"ArrowLeft\";\n const prevKeys = [prevItemKey, \"ArrowUp\", \"End\"];\n if (prevKeys.includes(event.key)) candidateNodes.reverse();\n if (ARROW_KEYS.includes(event.key)) {\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n}\nfunction focusFirst(candidates) {\n const previouslyFocusedElement = document.activeElement;\n return candidates.some((candidate) => {\n if (candidate === previouslyFocusedElement) return true;\n candidate.focus();\n return document.activeElement !== previouslyFocusedElement;\n });\n}\nfunction removeFromTabOrder(candidates) {\n candidates.forEach((candidate) => {\n candidate.dataset.tabindex = candidate.getAttribute(\"tabindex\") || \"\";\n candidate.setAttribute(\"tabindex\", \"-1\");\n });\n return () => {\n candidates.forEach((candidate) => {\n const prevTabIndex = candidate.dataset.tabindex;\n candidate.setAttribute(\"tabindex\", prevTabIndex);\n });\n };\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root2 = NavigationMenu;\nvar Sub = NavigationMenuSub;\nvar List = NavigationMenuList;\nvar Item = NavigationMenuItem;\nvar Trigger = NavigationMenuTrigger;\nvar Link = NavigationMenuLink;\nvar Indicator = NavigationMenuIndicator;\nvar Content = NavigationMenuContent;\nvar Viewport = NavigationMenuViewport;\nexport {\n Content,\n Indicator,\n Item,\n Link,\n List,\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuIndicator,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuSub,\n NavigationMenuTrigger,\n NavigationMenuViewport,\n Root2 as Root,\n Sub,\n Trigger,\n Viewport,\n createNavigationMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type NavigationRootProps = ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean;\n columns?: 3 | 4 | 5 | 6;\n};\n\nexport function NavigationRoot({\n children,\n className,\n viewport,\n columns = 5,\n ...props\n}: NavigationRootProps) {\n return (\n <NavigationMenuPrimitive.Root\n className={cn(\n // Base layout\n 'group/navigation-menu relative flex w-full flex-1 items-center justify-center',\n className,\n )}\n data-columns={columns}\n data-slot=\"navigation-menu-root\"\n data-viewport={viewport}\n {...props}\n >\n {children}\n </NavigationMenuPrimitive.Root>\n );\n}\n","import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type NavigationMenuViewportProps = ComponentProps<typeof NavigationMenuPrimitive.Viewport>;\n\nexport function NavigationMenuViewport({\n className,\n children,\n ...props\n}: NavigationMenuViewportProps) {\n return (\n <NavigationMenuPrimitive.Viewport\n className={cn(\n // Base layout\n 'origin-top-center relative mt-2 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden',\n // Colors\n 'bg-[var(--nav-viewport-background,hsl(var(--background)))] text-[var(--nav-text,hsl(var(--foreground)))]',\n // Borders & rounded\n 'rounded-3xl border border-[var(--nav-viewport-border,color-mix(in_oklab,hsl(var(--foreground))_15%,transparent))]',\n // Effects\n 'shadow',\n // Closed state\n 'data-[state=closed]:animate-out data-[state=closed]:zoom-out-95',\n // Open state\n 'data-[state=open]:animate-in data-[state=open]:zoom-in-90',\n className,\n )}\n data-slot=\"navigation-menu-viewport\"\n {...props}\n >\n {children}\n </NavigationMenuPrimitive.Viewport>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type NavigationMenuPanelProps = ComponentProps<'div'>;\n\nexport function NavigationMenuPanel({ children, className, ...props }: NavigationMenuPanelProps) {\n return (\n <div\n className={cn(\n // Base layout\n 'absolute left-0 right-0 top-full z-50 mx-auto w-full max-w-5xl',\n className,\n )}\n data-slot=\"navigation-menu-panel\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type NavigationMenuListProps = ComponentProps<typeof NavigationMenuPrimitive.List>;\n\nexport function NavigationMenuList({ children, className, ...props }: NavigationMenuListProps) {\n return (\n <NavigationMenuPrimitive.List\n className={cn(\n // Base layout\n 'group flex w-full flex-1 list-none items-center justify-center gap-1',\n className,\n )}\n data-slot=\"navigation-menu-list\"\n {...props}\n >\n {children}\n </NavigationMenuPrimitive.List>\n );\n}\n","import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type NavigationMenuItemProps = ComponentProps<typeof NavigationMenuPrimitive.Item>;\n\nexport function NavigationMenuItem({ children, className, ...props }: NavigationMenuItemProps) {\n return (\n <NavigationMenuPrimitive.Item\n className={cn(\n // Base layout\n 'relative',\n className,\n )}\n data-slot=\"navigation-menu-item\"\n {...props}\n >\n {children}\n </NavigationMenuPrimitive.Item>\n );\n}\n","import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type NavigationMenuTriggerProps = ComponentProps<typeof NavigationMenuPrimitive.Trigger>;\n\nexport function NavigationMenuTrigger({\n children,\n className,\n ...props\n}: NavigationMenuTriggerProps) {\n return (\n <NavigationMenuPrimitive.Trigger\n className={cn(\n // Base layout\n 'group inline-flex h-9 w-max items-center justify-center rounded-full bg-[var(--nav-link-background,transparent)] px-4 py-2',\n // Typography\n 'text-sm font-semibold text-[var(--nav-link-text,hsl(var(--foreground)))] outline-none transition-colors duration-200 [font-family:var(--nav-link-font-family,var(--font-family-body))]',\n // Background\n 'bg-background',\n // Transitions\n 'outline-none transition-[color,box-shadow]',\n // Hover state\n 'hover:bg-[var(--nav-link-background-hover,hsl(var(--contrast-100)))] hover:text-[var(--nav-link-text-hover,hsl(var(--foreground)))]',\n // Focus state\n 'focus:bg-[var(--nav-link-background-hover,hsl(var(--contrast-100)))] focus:text-[var(--nav-link-text-hover,hsl(var(--foreground)))]',\n // Focus-visible state\n 'focus-visible:outline-2 focus-visible:outline-[var(--nav-focus,hsl(var(--primary)))]',\n // Open state\n 'data-[state=open]:bg-contrast-100/50 data-[state=open]:text-foreground',\n 'data-[state=open]:hover:bg-contrast-100 data-[state=open]:focus:bg-contrast-100',\n // Disabled state\n 'disabled:pointer-events-none disabled:opacity-50',\n className,\n )}\n data-slot=\"navigation-menu-trigger\"\n {...props}\n >\n {children}\n </NavigationMenuPrimitive.Trigger>\n );\n}\n","import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type NavigationMenuContentProps = ComponentProps<typeof NavigationMenuPrimitive.Content>;\n\nexport function NavigationMenuContent({\n className,\n children,\n ...props\n}: NavigationMenuContentProps) {\n return (\n <NavigationMenuPrimitive.Content\n className={cn(\n // Base layout\n 'flex w-full gap-5 @container',\n // Spacing\n 'p-5',\n className,\n )}\n data-slot=\"navigation-menu-content\"\n {...props}\n >\n {children}\n </NavigationMenuPrimitive.Content>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type NavigationMenuGridProps = ComponentProps<'ul'>;\n\nexport function NavigationMenuGrid({ className, children, ...props }: NavigationMenuGridProps) {\n return (\n <ul\n className={cn(\n // Base layout\n 'flex flex-1 flex-wrap gap-5',\n className,\n )}\n data-slot=\"navigation-menu-grid\"\n {...props}\n >\n {children}\n </ul>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type NavigationMenuGridColumnProps = ComponentProps<'li'>;\n\nexport function NavigationMenuGridColumn({\n className,\n children,\n ...props\n}: NavigationMenuGridColumnProps) {\n return (\n <li\n className={cn(\n // Base layout - fixed width, no shrinking\n 'flex w-40 shrink-0 flex-col gap-0.5',\n className,\n )}\n data-slot=\"navigation-menu-grid-column\"\n {...props}\n >\n {children}\n </li>\n );\n}\n","import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type NavigationMenuGridLabelProps = ComponentProps<typeof NavigationMenuPrimitive.Link>;\n\nexport function NavigationMenuGridLabel({\n className,\n children,\n ...props\n}: NavigationMenuGridLabelProps) {\n return (\n <NavigationMenuPrimitive.Link\n className={cn(\n // Base layout\n 'rounded-lg',\n // Spacing\n 'px-3 py-2',\n // Typography\n 'font-[family-name:var(--nav-grid-label-font-family,var(--font-family-body))] font-medium',\n // Colors\n 'bg-[var(--nav-grid-label-background,transparent)] text-[var(--nav-grid-label-text,hsl(var(--foreground)))]',\n // Transitions\n 'transition-colors',\n // Hover state\n 'hover:bg-[var(--nav-grid-label-background-hover,hsl(var(--contrast-100)))] hover:text-[var(--nav-grid-label-text-hover,hsl(var(--foreground)))]',\n // Focus-visible state\n 'focus-visible:bg-[var(--nav-grid-label-background-hover,hsl(var(--contrast-100)))] focus-visible:text-[var(--nav-grid-label-text-hover,hsl(var(--foreground)))] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--nav-focus,hsl(var(--primary)))]',\n className,\n )}\n data-slot=\"navigation-menu-grid-label\"\n {...props}\n >\n {children}\n </NavigationMenuPrimitive.Link>\n );\n}\n","import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type NavigationMenuGridLinkProps = ComponentProps<typeof NavigationMenuPrimitive.Link>;\n\nexport function NavigationMenuGridLink({\n className,\n children,\n ...props\n}: NavigationMenuGridLinkProps) {\n return (\n <NavigationMenuPrimitive.Link\n className={cn(\n // Base layout\n 'rounded-lg',\n // Spacing\n 'px-3 py-2',\n // Typography\n 'font-[family-name:var(--nav-grid-link-font-family,var(--font-family-body))] text-sm font-semibold',\n // Colors\n 'bg-[var(--nav-grid-link-background,transparent)] text-[var(--nav-grid-link-text,hsl(var(--contrast-500)))]',\n // Transitions\n 'transition-colors',\n // Hover state\n 'hover:bg-[var(--nav-grid-label-background-hover,hsl(var(--contrast-100)))] hover:text-[var(--nav-grid-label-text-hover,hsl(var(--foreground)))]',\n // Focus-visible state\n 'focus-visible:bg-[var(--nav-grid-label-background-hover,hsl(var(--contrast-100)))] focus-visible:text-[var(--nav-grid-label-text-hover,hsl(var(--foreground)))] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--nav-focus,hsl(var(--primary)))]',\n className,\n )}\n data-slot=\"navigation-menu-grid-link\"\n {...props}\n >\n {children}\n </NavigationMenuPrimitive.Link>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type NavigationMenuSlotProps = ComponentProps<'div'>;\n\nexport function NavigationMenuSlot({ className, children, ...props }: NavigationMenuSlotProps) {\n return (\n <div\n className={cn(\n // Base layout\n 'w-full max-w-72 flex-auto',\n className,\n )}\n data-slot=\"navigation-menu-slot\"\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"names":["VISUALLY_HIDDEN_STYLES","NAME","VisuallyHidden","React","props","forwardedRef","jsx","Primitive","Root","NAVIGATION_MENU_NAME","Collection","useCollection","createCollectionScope","createCollection","FocusGroupCollection","useFocusGroupCollection","createFocusGroupCollectionScope","createNavigationMenuContext","createContextScope","NavigationMenuProviderImpl","useNavigationMenuContext","ViewportContentProvider","useViewportContentContext","NavigationMenu","__scopeNavigationMenu","valueProp","onValueChange","defaultValue","delayDuration","skipDelayDuration","orientation","dir","NavigationMenuProps","navigationMenu","setNavigationMenu","composedRef","useComposedRefs","node","direction","useDirection","openTimerRef","closeTimerRef","skipDelayTimerRef","isOpenDelayed","setIsOpenDelayed","value","setValue","useControllableState","value2","isOpen","hasSkipDelayDuration","startCloseTimer","handleOpen","itemValue","handleDelayedOpen","NavigationMenuProvider","prevValue","SUB_NAME","NavigationMenuSub","subProps","context","scope","isRootMenu","rootNavigationMenu","children","onItemSelect","onItemDismiss","onTriggerEnter","onTriggerLeave","onContentEnter","onContentLeave","viewport","setViewport","viewportContent","setViewportContent","indicatorTrack","setIndicatorTrack","usePrevious","useId","useCallbackRef","contentValue","contentData","prevContent","LIST_NAME","NavigationMenuList","listProps","list","FocusGroup","ITEM_NAME","NavigationMenuItemContextProvider","useNavigationMenuItemContext","NavigationMenuItem","itemProps","autoValue","contentRef","triggerRef","focusProxyRef","restoreContentTabOrderRef","wasEscapeCloseRef","handleContentEntry","side","candidates","getTabbableCandidates","focusFirst","handleContentExit","removeFromTabOrder","TRIGGER_NAME","NavigationMenuTrigger","disabled","triggerProps","itemContext","ref","composedRefs","triggerId","makeTriggerId","contentId","makeContentId","hasPointerMoveOpenedRef","wasClickCloseRef","open","jsxs","Fragment","FocusGroupItem","getOpenState","composeEventHandlers","whenMouse","event","entryKey","VisuallyHiddenPrimitive.Root","content","prevFocusedElement","wasTriggerFocused","wasFocusFromContent","LINK_NAME","LINK_SELECT","NavigationMenuLink","active","onSelect","linkProps","target","linkSelectEvent","event2","dispatchDiscreteCustomEvent","rootContentDismissEvent","ROOT_CONTENT_DISMISS","INDICATOR_NAME","NavigationMenuIndicator","forceMount","indicatorProps","isVisible","ReactDOM","Presence","NavigationMenuIndicatorImpl","getItems","activeTrigger","setActiveTrigger","position","setPosition","isHorizontal","triggerNode","item","handlePositionChange","useResizeObserver","CONTENT_NAME","NavigationMenuContent","contentProps","commonProps","ViewportContentMounter","NavigationMenuContentImpl","onViewportContentChange","onViewportContentRemove","useLayoutEffect","onRootContentClose","onContentFocusOutside","prevMotionAttributeRef","handleClose","motionAttribute","values","index","prevIndex","isSelected","wasSelected","attribute","DismissableLayer","isTrigger","isRootViewport","isMetaKey","focusedElement","candidate","nextCandidates","_event","VIEWPORT_NAME","NavigationMenuViewport","viewportProps","NavigationMenuViewportImpl","viewportImplProps","viewportContentContext","size","setSize","setContent","viewportWidth","viewportHeight","activeContentValue","props2","isActive","composeRefs","FOCUS_GROUP_NAME","groupProps","ARROW_KEYS","FOCUS_GROUP_ITEM_NAME","candidateNodes","currentIndex","container","nodes","walker","isHiddenInput","previouslyFocusedElement","prevTabIndex","element","onResize","handleResize","rAF","resizeObserver","baseId","handler","Root2","List","Item","Trigger","Link","Content","Viewport","NavigationRoot","className","columns","NavigationMenuPrimitive.Root","cn","NavigationMenuPrimitive.Viewport","NavigationMenuPanel","NavigationMenuPrimitive.List","NavigationMenuPrimitive.Item","NavigationMenuPrimitive.Trigger","NavigationMenuPrimitive.Content","NavigationMenuGrid","NavigationMenuGridColumn","NavigationMenuGridLabel","NavigationMenuPrimitive.Link","NavigationMenuGridLink","NavigationMenuSlot"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("react/jsx-runtime"),c=require("./utils-LBH114_M.cjs"),d=require("./product-card-root-BMTVhhFp.cjs"),m=require("./checkbox-root-
|
|
2
|
-
//# sourceMappingURL=product-card-label-
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),c=require("./utils-LBH114_M.cjs"),d=require("./product-card-root-BMTVhhFp.cjs"),m=require("./checkbox-root-oz6K_T-0.cjs"),l=require("./index-DGaxX11V.cjs"),s=require("./price-strike-DD2WNPQX.cjs"),x=require("./checkbox-indicator-D3X4eolv.cjs"),p=require("./check-DJilMvC6.cjs"),v=require("react"),k=require("./index-Bw7_huW8.cjs");function P(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const r in a)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(a,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>a[r]})}}return t.default=a,Object.freeze(t)}const C=P(v);function u({children:a,shape:t="rounded",className:r,variant:o="primary",...n}){return e.jsx("span",{className:c.cn("px-2 py-0.5 text-xs uppercase tracking-tighter text-[var(--badge-text,hsl(var(--foreground)))] [font-family:var(--badge-font-family,var(--font-family-mono))]",{pill:"rounded-full",rounded:"rounded"}[t],{primary:"bg-[var(--badge-primary-background,color-mix(in_oklab,hsl(var(--primary)),white_75%))]",warning:"bg-[var(--badge-warning-background,color-mix(in_oklab,hsl(var(--warning)),white_75%))]",error:"bg-[var(--badge-error-background,color-mix(in_oklab,hsl(var(--error)),white_75%))]",success:"bg-[var(--badge-success-background,color-mix(in_oklab,hsl(var(--success)),white_75%))]",info:"bg-[var(--badge-info-background,color-mix(in_oklab,hsl(var(--info)),white_75%))]"}[o],r),...n,children:a})}function i({className:a,colorScheme:t="light",...r}){return e.jsx(m.CheckboxRoot,{className:a,colorScheme:t,...r,children:e.jsx(x.CheckboxIndicator,{children:e.jsx(p.default,{className:"h-4 w-4",color:"currentColor"})})})}function j({className:a,children:t,...r}){return e.jsx("div",{className:c.cn("relative",a),"data-slot":"product-card-preview",...r,children:t})}function y({className:a,children:t,...r}){const{aspectRatio:o,colorScheme:n}=d.useProductCard();return e.jsx("div",{className:c.cn("relative overflow-hidden rounded-[var(--product-card-border-radius,1rem)]",{"5:6":"aspect-[5/6]","3:4":"aspect-[3/4]","1:1":"aspect-square"}[o],{light:"bg-[var(--product-card-light-background,hsl(var(--contrast-100)))]",dark:"bg-[var(--product-card-dark-background,hsl(var(--contrast-500)))]"}[n],a),"data-slot":"product-card-thumbnail",...r,children:t})}function N({className:a,children:t,asChild:r=!1,...o}){const{colorScheme:n}=d.useProductCard(),h=r?l.Slot:"img";return e.jsx(h,{className:c.cn("h-full w-full scale-100 select-none object-cover transition-transform duration-500 ease-out group-hover:scale-110",{light:"bg-[var(--product-card-light-background,hsl(var(--contrast-100)))]",dark:"bg-[var(--product-card-dark-background,hsl(var(--contrast-500)))]"}[n],a),"data-slot":"product-card-image",...o})}function w({className:a,children:t,...r}){return e.jsx(u,{className:c.cn("absolute left-3 top-3",a),"data-slot":"product-card-badge",shape:"rounded",...r,children:t})}function _({className:a,children:t,...r}){const{colorScheme:o}=d.useProductCard();return e.jsx("div",{className:c.cn("break-words p-4 text-4xl font-bold leading-none tracking-tight transition-transform duration-500 ease-out group-hover:scale-105",{light:"[color:color-mix(in_oklab,hsl(var(--foreground))_30%,transparent)]",dark:"[color:color-mix(in_oklab,hsl(var(--background))_30%,transparent)]"}[o],a),"data-slot":"product-card-fallback",...r,children:t})}function S({asChild:a=!1,className:t,...r}){const{colorScheme:o}=d.useProductCard(),n=a?l.Slot:"a";return e.jsx(n,{className:c.cn("absolute inset-0 rounded-[var(--product-card-border-radius,1rem)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--product-card-focus,hsl(var(--primary)))] focus-visible:ring-offset-4",{light:"ring-offset-[var(--product-card-light-offset,hsl(var(--background)))]",dark:"ring-offset-[var(--product-card-dark-offset,hsl(var(--foreground)))]"}[o],t),"data-slot":"product-card-link",...r})}function q({children:a,className:t,...r}){return e.jsx("div",{className:c.cn("mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row",t),"data-slot":"product-card-details",...r,children:a})}function D({children:a,className:t,...r}){return e.jsx("div",{className:c.cn("relative flex-1 text-sm @[16rem]:text-base",t),"data-slot":"product-card-header",...r,children:a})}function R({className:a,children:t,...r}){const{colorScheme:o}=d.useProductCard();return e.jsx("h3",{className:c.cn("block font-semibold",{light:"text-[var(--product-card-light-title,hsl(var(--foreground)))]",dark:"text-[var(--product-card-dark-title,hsl(var(--background)))]"}[o]),"data-slot":"product-card-title",...r,children:t})}function L({children:a,className:t,...r}){const{colorScheme:o}=d.useProductCard();return e.jsx("span",{className:c.cn("block text-sm font-normal",{light:"text-[var(--product-card-light-subtitle,color-mix(in_oklab,hsl(var(--foreground))_75%,transparent))]",dark:"text-[var(--product-card-dark-subtitle,color-mix(in_oklab,hsl(var(--background))_75%,transparent))]"}[o],t),"data-slot":"product-card-subtitle",...r,children:a})}function b({className:a,colorScheme:t="light",price:r,...o}){return e.jsxs(s.PriceRoot,{className:a,colorScheme:t,...o,children:[r.type==="range"&&e.jsxs(e.Fragment,{children:[e.jsx(s.PriceDefault,{children:r.minValue})," – ",e.jsx(s.PriceDefault,{children:r.maxValue})]}),r.type==="sale"&&e.jsxs(e.Fragment,{children:[e.jsx(s.PriceStrike,{children:r.currentValue})," ",e.jsx(s.PriceDefault,{children:r.previousValue})]}),r.type==="default"&&e.jsx(s.PriceDefault,{children:r.value})]})}function O({className:a,price:t,...r}){const{colorScheme:o}=d.useProductCard();return e.jsx(b,{className:c.cn("mt-2",a),colorScheme:o,"data-slot":"product-card-price",price:t,...r})}function T({className:a,children:t,...r}){return e.jsx("div",{className:c.cn("font-(family-name:--checkbox-font-family,var(--font-family-body)) flex shrink-0 items-center gap-2",a),"data-slot":"product-card-compare",...r,children:t})}function B({className:a,...t}){return e.jsx(i,{className:c.cn(a),"data-slot":"product-card-checkbox",...t})}var F="Label",f=C.forwardRef((a,t)=>e.jsx(k.Primitive.label,{...a,ref:t,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(a.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));f.displayName=F;var I=f;function g({className:a,children:t,colorScheme:r="light",...o}){return e.jsx(I,{className:c.cn("cursor-pointer text-sm peer-disabled:cursor-not-allowed peer-disabled:opacity-50",{light:"text-[var(--checkbox-light-label,hsl(var(--foreground)))]",dark:"text-[var(--checkbox-dark-label,hsl(var(--background)))]"}[r]),"data-slot":"label",...o,children:t})}function M({className:a,children:t,...r}){const{colorScheme:o}=d.useProductCard();return e.jsx(g,{className:c.cn(a),colorScheme:o,"data-slot":"product-card-label",...r,children:t})}exports.Badge=u;exports.Checkbox=i;exports.Label=g;exports.Price=b;exports.ProductCardBadge=w;exports.ProductCardCheckbox=B;exports.ProductCardCompare=T;exports.ProductCardDetails=q;exports.ProductCardFallback=_;exports.ProductCardHeader=D;exports.ProductCardImage=N;exports.ProductCardLabel=M;exports.ProductCardLink=S;exports.ProductCardPreview=j;exports.ProductCardPrice=O;exports.ProductCardSubtitle=L;exports.ProductCardThumbnail=y;exports.ProductCardTitle=R;
|
|
2
|
+
//# sourceMappingURL=product-card-label-B1EwGQhM.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-card-label-D43AXtRL.cjs","sources":["../src/components/badge/badge.tsx","../src/components/checkbox/checkbox.tsx","../src/components/product-card/primitives/product-card-preview.tsx","../src/components/product-card/primitives/product-card-thumbnail.tsx","../src/components/product-card/primitives/product-card-image.tsx","../src/components/product-card/primitives/product-card-badge.tsx","../src/components/product-card/primitives/product-card-fallback.tsx","../src/components/product-card/primitives/product-card-link.tsx","../src/components/product-card/primitives/product-card-details.tsx","../src/components/product-card/primitives/product-card-header.tsx","../src/components/product-card/primitives/product-card-title.tsx","../src/components/product-card/primitives/product-card-subtitle.tsx","../src/components/price/price.tsx","../src/components/product-card/primitives/product-card-price.tsx","../src/components/product-card/primitives/product-card-compare.tsx","../src/components/product-card/primitives/product-card-checkbox.tsx","../node_modules/.pnpm/@radix-ui+react-label@2.1.7_@types+react-dom@19.2.2_@types+react@19.2.2__@types+react@19.2.2__h3esd6u5mwikxnlir43mok2s5m/node_modules/@radix-ui/react-label/dist/index.mjs","../src/components/label/label.tsx","../src/components/product-card/primitives/product-card-label.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type BadgeProps = ComponentProps<'span'> & {\n children: string;\n shape?: 'pill' | 'rounded';\n variant?: 'primary' | 'warning' | 'error' | 'success' | 'info';\n};\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --badge-primary-background: color-mix(in oklab, hsl(var(--primary)), white 75%);\n * --badge-success-background: color-mix(in oklab, hsl(var(--success)), white 75%);\n * --badge-warning-background: color-mix(in oklab, hsl(var(--warning)), white 75%);\n * --badge-error-background: color-mix(in oklab, hsl(var(--error)), white 75%);\n * --badge-info-background: color-mix(in oklab, hsl(var(--info)), white 75%);\n * --badge-text: hsl(var(--foreground));\n * --badge-font-family: var(--font-family-mono);\n * }\n * ```\n */\nexport function Badge({\n children,\n shape = 'rounded',\n className,\n variant = 'primary',\n ...props\n}: BadgeProps) {\n return (\n <span\n className={cn(\n 'px-2 py-0.5 text-xs uppercase tracking-tighter text-[var(--badge-text,hsl(var(--foreground)))] [font-family:var(--badge-font-family,var(--font-family-mono))]',\n {\n pill: 'rounded-full',\n rounded: 'rounded',\n }[shape],\n {\n primary:\n 'bg-[var(--badge-primary-background,color-mix(in_oklab,hsl(var(--primary)),white_75%))]',\n warning:\n 'bg-[var(--badge-warning-background,color-mix(in_oklab,hsl(var(--warning)),white_75%))]',\n error:\n 'bg-[var(--badge-error-background,color-mix(in_oklab,hsl(var(--error)),white_75%))]',\n success:\n 'bg-[var(--badge-success-background,color-mix(in_oklab,hsl(var(--success)),white_75%))]',\n info: 'bg-[var(--badge-info-background,color-mix(in_oklab,hsl(var(--info)),white_75%))]',\n }[variant],\n className,\n )}\n {...props}\n >\n {children}\n </span>\n );\n}\n","'use client';\n\nimport { Check } from 'lucide-react';\nimport type { ComponentProps } from 'react';\n\nimport * as CheckboxPrimitive from '@/components/checkbox';\n\nexport type CheckboxProps = ComponentProps<typeof CheckboxPrimitive.Root>;\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --checkbox-focus: var(--primary);\n * --checkbox-light-label: var(--foreground);\n * --checkbox-light-error: var(--error);\n * --checkbox-light-unchecked-border: var(--contrast-200);\n * --checkbox-light-unchecked-border-hover: var(--contrast-300);\n * --checkbox-light-unchecked-background: var(--background);\n * --checkbox-light-unchecked-icon: var(--foreground);\n * --checkbox-light-checked-border: var(--foreground);\n * --checkbox-light-checked-border-hover: var(--foreground);\n * --checkbox-light-checked-background: var(--foreground);\n * --checkbox-light-checked-icon: var(--background);\n * --checkbox-light-disabled-border: var(--contrast-200);\n * --checkbox-light-disabled-background: var(--contrast-100);\n * --checkbox-light-disabled-icon: var(--contrast-300);\n * --checkbox-dark-label: var(--background);\n * --checkbox-dark-error: var(--error);\n * --checkbox-dark-unchecked-border: var(--contrast-400);\n * --checkbox-dark-unchecked-border-hover: var(--contrast-300);\n * --checkbox-dark-unchecked-background: var(--foreground);\n * --checkbox-dark-unchecked-icon: var(--background);\n * --checkbox-dark-checked-border: var(--background);\n * --checkbox-dark-checked-border-hover: var(--background);\n * --checkbox-dark-checked-background: var(--foreground);\n * --checkbox-dark-checked-icon: var(--foreground);\n * --checkbox-dark-disabled-border: var(--contrast-200);\n * --checkbox-dark-disabled-background: var(--contrast-100);\n * --checkbox-dark-disabled-icon: var(--contrast-300);\n * --checkbox-font-family: var(--font-family-body);\n * }\n * ```\n */\nexport function Checkbox({ className, colorScheme = 'light', ...props }: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root className={className} colorScheme={colorScheme} {...props}>\n <CheckboxPrimitive.Indicator>\n <Check className=\"h-4 w-4\" color=\"currentColor\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardPreviewProps = ComponentProps<'div'>;\n\nexport function ProductCardPreview({ className, children, ...props }: ProductCardPreviewProps) {\n return (\n <div className={cn('relative', className)} data-slot=\"product-card-preview\" {...props}>\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardThumbnailProps = ComponentProps<'div'>;\n\nexport function ProductCardThumbnail({ className, children, ...props }: ProductCardThumbnailProps) {\n const { aspectRatio, colorScheme } = useProductCard();\n\n return (\n <div\n className={cn(\n 'relative overflow-hidden rounded-[var(--product-card-border-radius,1rem)]',\n {\n '5:6': 'aspect-[5/6]',\n '3:4': 'aspect-[3/4]',\n '1:1': 'aspect-square',\n }[aspectRatio],\n {\n light: 'bg-[var(--product-card-light-background,hsl(var(--contrast-100)))]',\n dark: 'bg-[var(--product-card-dark-background,hsl(var(--contrast-500)))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-thumbnail\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport interface ProductCardImageProps extends ComponentProps<'img'> {\n asChild?: boolean;\n}\n\nexport function ProductCardImage({\n className,\n children,\n asChild = false,\n ...props\n}: ProductCardImageProps) {\n const { colorScheme } = useProductCard();\n\n const Component = asChild ? Slot : 'img';\n\n return (\n <Component\n className={cn(\n 'h-full w-full scale-100 select-none object-cover transition-transform duration-500 ease-out group-hover:scale-110',\n {\n light: 'bg-[var(--product-card-light-background,hsl(var(--contrast-100)))]',\n dark: 'bg-[var(--product-card-dark-background,hsl(var(--contrast-500)))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-image\"\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { Badge } from '@/components/badge';\nimport { cn } from '@/lib';\n\nexport type ProductCardBadgeProps = ComponentProps<typeof Badge>;\n\nexport function ProductCardBadge({ className, children, ...props }: ProductCardBadgeProps) {\n return (\n <Badge\n className={cn('absolute left-3 top-3', className)}\n data-slot=\"product-card-badge\"\n shape=\"rounded\"\n {...props}\n >\n {children}\n </Badge>\n );\n}\n","'use client';\n\nimport { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardFallbackProps = ComponentProps<'div'>;\n\nexport function ProductCardFallback({ className, children, ...props }: ProductCardFallbackProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <div\n className={cn(\n 'break-words p-4 text-4xl font-bold leading-none tracking-tight transition-transform duration-500 ease-out group-hover:scale-105',\n {\n light: '[color:color-mix(in_oklab,hsl(var(--foreground))_30%,transparent)]',\n dark: '[color:color-mix(in_oklab,hsl(var(--background))_30%,transparent)]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-fallback\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport interface ProductCardLinkProps extends ComponentProps<'a'> {\n asChild?: boolean;\n}\n\nexport function ProductCardLink({ asChild = false, className, ...props }: ProductCardLinkProps) {\n const { colorScheme } = useProductCard();\n\n const Component = asChild ? Slot : 'a';\n\n return (\n <Component\n className={cn(\n 'absolute inset-0 rounded-[var(--product-card-border-radius,1rem)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--product-card-focus,hsl(var(--primary)))] focus-visible:ring-offset-4',\n {\n light: 'ring-offset-[var(--product-card-light-offset,hsl(var(--background)))]',\n dark: 'ring-offset-[var(--product-card-dark-offset,hsl(var(--foreground)))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-link\"\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardDetailsProps = ComponentProps<'div'>;\n\nexport function ProductCardDetails({ children, className, ...props }: ProductCardDetailsProps) {\n return (\n <div\n className={cn(\n 'mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row',\n className,\n )}\n data-slot=\"product-card-details\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardHeaderProps = ComponentProps<'div'>;\n\nexport function ProductCardHeader({ children, className, ...props }: ProductCardHeaderProps) {\n return (\n <div\n className={cn('relative flex-1 text-sm @[16rem]:text-base', className)}\n data-slot=\"product-card-header\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardTitleProps = ComponentProps<'h3'>;\n\nexport function ProductCardTitle({ className, children, ...props }: ProductCardTitleProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <h3\n className={cn(\n 'block font-semibold',\n {\n light: 'text-[var(--product-card-light-title,hsl(var(--foreground)))]',\n dark: 'text-[var(--product-card-dark-title,hsl(var(--background)))]',\n }[colorScheme],\n )}\n data-slot=\"product-card-title\"\n {...props}\n >\n {children}\n </h3>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardSubtitleProps = ComponentProps<'span'>;\n\nexport function ProductCardSubtitle({ children, className, ...props }: ProductCardSubtitleProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <span\n className={cn(\n 'block text-sm font-normal',\n {\n light:\n 'text-[var(--product-card-light-subtitle,color-mix(in_oklab,hsl(var(--foreground))_75%,transparent))]',\n dark: 'text-[var(--product-card-dark-subtitle,color-mix(in_oklab,hsl(var(--background))_75%,transparent))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-subtitle\"\n {...props}\n >\n {children}\n </span>\n );\n}\n","import * as PricePrimitive from '@/components/price';\n\ninterface PriceDefault {\n type: 'default';\n value: string;\n}\n\ninterface PriceRange {\n type: 'range';\n minValue: string;\n maxValue: string;\n}\n\ninterface PriceSale {\n type: 'sale';\n previousValue: string;\n currentValue: string;\n}\n\ntype PriceType = PriceDefault | PriceRange | PriceSale;\n\nexport interface PriceProps extends PricePrimitive.RootProps {\n price: PriceType;\n}\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --price-light-text: hsl(var(--foreground));\n * --price-light-sale-text: hsl(var(--foreground));\n * --price-dark-text: hsl(var(--background));\n * --price-dark-sale-text: hsl(var(--background));\n * }\n * ```\n */\nexport function Price({ className, colorScheme = 'light', price, ...props }: PriceProps) {\n return (\n <PricePrimitive.Root className={className} colorScheme={colorScheme} {...props}>\n {price.type === 'range' && (\n <>\n <PricePrimitive.Default>{price.minValue}</PricePrimitive.Default>\n {' – '}\n <PricePrimitive.Default>{price.maxValue}</PricePrimitive.Default>\n </>\n )}\n {price.type === 'sale' && (\n <>\n <PricePrimitive.Strike>{price.currentValue}</PricePrimitive.Strike>{' '}\n <PricePrimitive.Default>{price.previousValue}</PricePrimitive.Default>\n </>\n )}\n {price.type === 'default' && <PricePrimitive.Default>{price.value}</PricePrimitive.Default>}\n </PricePrimitive.Root>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { Price } from '@/components/price';\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardPriceProps = ComponentProps<typeof Price>;\n\nexport function ProductCardPrice({ className, price, ...props }: ProductCardPriceProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <Price\n className={cn('mt-2', className)}\n colorScheme={colorScheme}\n data-slot=\"product-card-price\"\n price={price}\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardCompareProps = ComponentProps<'div'>;\n\nexport function ProductCardCompare({ className, children, ...props }: ProductCardCompareProps) {\n return (\n <div\n className={cn(\n 'font-(family-name:--checkbox-font-family,var(--font-family-body)) flex shrink-0 items-center gap-2',\n className,\n )}\n data-slot=\"product-card-compare\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { Checkbox } from '@/components/checkbox';\nimport { cn } from '@/lib';\n\nexport type ProductCardCheckboxProps = ComponentProps<typeof Checkbox>;\n\nexport function ProductCardCheckbox({ className, ...props }: ProductCardCheckboxProps) {\n return <Checkbox className={cn(className)} data-slot=\"product-card-checkbox\" {...props} />;\n}\n","\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","import * as LabelPrimitive from '@radix-ui/react-label';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type LabelProps = ComponentProps<typeof LabelPrimitive.Root> & {\n colorScheme?: 'light' | 'dark';\n};\n\nexport function Label({ className, children, colorScheme = 'light', ...props }: LabelProps) {\n return (\n <LabelPrimitive.Root\n className={cn(\n 'cursor-pointer text-sm peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n {\n light: 'text-[var(--checkbox-light-label,hsl(var(--foreground)))]',\n dark: 'text-[var(--checkbox-dark-label,hsl(var(--background)))]',\n }[colorScheme],\n )}\n data-slot=\"label\"\n {...props}\n >\n {children}\n </LabelPrimitive.Root>\n );\n}\n","'use client';\n\nimport { ComponentProps } from 'react';\n\nimport { Label } from '@/components/label';\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardLabelProps = ComponentProps<typeof Label>;\n\nexport function ProductCardLabel({ className, children, ...props }: ProductCardLabelProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <Label\n className={cn(className)}\n colorScheme={colorScheme}\n data-slot=\"product-card-label\"\n {...props}\n >\n {children}\n </Label>\n );\n}\n"],"names":["Badge","children","shape","className","variant","props","jsx","cn","Checkbox","colorScheme","CheckboxPrimitive.Root","CheckboxPrimitive.Indicator","Check","ProductCardPreview","ProductCardThumbnail","aspectRatio","useProductCard","ProductCardImage","asChild","Component","Slot","ProductCardBadge","ProductCardFallback","ProductCardLink","ProductCardDetails","ProductCardHeader","ProductCardTitle","ProductCardSubtitle","Price","price","PricePrimitive.Root","jsxs","Fragment","PricePrimitive.Default","PricePrimitive.Strike","ProductCardPrice","ProductCardCompare","ProductCardCheckbox","NAME","Label","React","forwardedRef","Primitive","event","Root","LabelPrimitive.Root","ProductCardLabel"],"mappings":"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","x_google_ignoreList":[16]}
|
|
1
|
+
{"version":3,"file":"product-card-label-B1EwGQhM.cjs","sources":["../src/components/badge/badge.tsx","../src/components/checkbox/checkbox.tsx","../src/components/product-card/primitives/product-card-preview.tsx","../src/components/product-card/primitives/product-card-thumbnail.tsx","../src/components/product-card/primitives/product-card-image.tsx","../src/components/product-card/primitives/product-card-badge.tsx","../src/components/product-card/primitives/product-card-fallback.tsx","../src/components/product-card/primitives/product-card-link.tsx","../src/components/product-card/primitives/product-card-details.tsx","../src/components/product-card/primitives/product-card-header.tsx","../src/components/product-card/primitives/product-card-title.tsx","../src/components/product-card/primitives/product-card-subtitle.tsx","../src/components/price/price.tsx","../src/components/product-card/primitives/product-card-price.tsx","../src/components/product-card/primitives/product-card-compare.tsx","../src/components/product-card/primitives/product-card-checkbox.tsx","../node_modules/.pnpm/@radix-ui+react-label@2.1.7_@types+react-dom@19.2.2_@types+react@19.2.2__@types+react@19.2.2__h3esd6u5mwikxnlir43mok2s5m/node_modules/@radix-ui/react-label/dist/index.mjs","../src/components/label/label.tsx","../src/components/product-card/primitives/product-card-label.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type BadgeProps = ComponentProps<'span'> & {\n children: string;\n shape?: 'pill' | 'rounded';\n variant?: 'primary' | 'warning' | 'error' | 'success' | 'info';\n};\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --badge-primary-background: color-mix(in oklab, hsl(var(--primary)), white 75%);\n * --badge-success-background: color-mix(in oklab, hsl(var(--success)), white 75%);\n * --badge-warning-background: color-mix(in oklab, hsl(var(--warning)), white 75%);\n * --badge-error-background: color-mix(in oklab, hsl(var(--error)), white 75%);\n * --badge-info-background: color-mix(in oklab, hsl(var(--info)), white 75%);\n * --badge-text: hsl(var(--foreground));\n * --badge-font-family: var(--font-family-mono);\n * }\n * ```\n */\nexport function Badge({\n children,\n shape = 'rounded',\n className,\n variant = 'primary',\n ...props\n}: BadgeProps) {\n return (\n <span\n className={cn(\n 'px-2 py-0.5 text-xs uppercase tracking-tighter text-[var(--badge-text,hsl(var(--foreground)))] [font-family:var(--badge-font-family,var(--font-family-mono))]',\n {\n pill: 'rounded-full',\n rounded: 'rounded',\n }[shape],\n {\n primary:\n 'bg-[var(--badge-primary-background,color-mix(in_oklab,hsl(var(--primary)),white_75%))]',\n warning:\n 'bg-[var(--badge-warning-background,color-mix(in_oklab,hsl(var(--warning)),white_75%))]',\n error:\n 'bg-[var(--badge-error-background,color-mix(in_oklab,hsl(var(--error)),white_75%))]',\n success:\n 'bg-[var(--badge-success-background,color-mix(in_oklab,hsl(var(--success)),white_75%))]',\n info: 'bg-[var(--badge-info-background,color-mix(in_oklab,hsl(var(--info)),white_75%))]',\n }[variant],\n className,\n )}\n {...props}\n >\n {children}\n </span>\n );\n}\n","'use client';\n\nimport { Check } from 'lucide-react';\nimport type { ComponentProps } from 'react';\n\nimport * as CheckboxPrimitive from '@/components/checkbox';\n\nexport type CheckboxProps = ComponentProps<typeof CheckboxPrimitive.Root>;\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --checkbox-focus: var(--primary);\n * --checkbox-light-label: var(--foreground);\n * --checkbox-light-error: var(--error);\n * --checkbox-light-unchecked-border: var(--contrast-200);\n * --checkbox-light-unchecked-border-hover: var(--contrast-300);\n * --checkbox-light-unchecked-background: var(--background);\n * --checkbox-light-unchecked-icon: var(--foreground);\n * --checkbox-light-checked-border: var(--foreground);\n * --checkbox-light-checked-border-hover: var(--foreground);\n * --checkbox-light-checked-background: var(--foreground);\n * --checkbox-light-checked-icon: var(--background);\n * --checkbox-light-disabled-border: var(--contrast-200);\n * --checkbox-light-disabled-background: var(--contrast-100);\n * --checkbox-light-disabled-icon: var(--contrast-300);\n * --checkbox-dark-label: var(--background);\n * --checkbox-dark-error: var(--error);\n * --checkbox-dark-unchecked-border: var(--contrast-400);\n * --checkbox-dark-unchecked-border-hover: var(--contrast-300);\n * --checkbox-dark-unchecked-background: var(--foreground);\n * --checkbox-dark-unchecked-icon: var(--background);\n * --checkbox-dark-checked-border: var(--background);\n * --checkbox-dark-checked-border-hover: var(--background);\n * --checkbox-dark-checked-background: var(--foreground);\n * --checkbox-dark-checked-icon: var(--foreground);\n * --checkbox-dark-disabled-border: var(--contrast-200);\n * --checkbox-dark-disabled-background: var(--contrast-100);\n * --checkbox-dark-disabled-icon: var(--contrast-300);\n * --checkbox-font-family: var(--font-family-body);\n * }\n * ```\n */\nexport function Checkbox({ className, colorScheme = 'light', ...props }: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root className={className} colorScheme={colorScheme} {...props}>\n <CheckboxPrimitive.Indicator>\n <Check className=\"h-4 w-4\" color=\"currentColor\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardPreviewProps = ComponentProps<'div'>;\n\nexport function ProductCardPreview({ className, children, ...props }: ProductCardPreviewProps) {\n return (\n <div className={cn('relative', className)} data-slot=\"product-card-preview\" {...props}>\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardThumbnailProps = ComponentProps<'div'>;\n\nexport function ProductCardThumbnail({ className, children, ...props }: ProductCardThumbnailProps) {\n const { aspectRatio, colorScheme } = useProductCard();\n\n return (\n <div\n className={cn(\n 'relative overflow-hidden rounded-[var(--product-card-border-radius,1rem)]',\n {\n '5:6': 'aspect-[5/6]',\n '3:4': 'aspect-[3/4]',\n '1:1': 'aspect-square',\n }[aspectRatio],\n {\n light: 'bg-[var(--product-card-light-background,hsl(var(--contrast-100)))]',\n dark: 'bg-[var(--product-card-dark-background,hsl(var(--contrast-500)))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-thumbnail\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport interface ProductCardImageProps extends ComponentProps<'img'> {\n asChild?: boolean;\n}\n\nexport function ProductCardImage({\n className,\n children,\n asChild = false,\n ...props\n}: ProductCardImageProps) {\n const { colorScheme } = useProductCard();\n\n const Component = asChild ? Slot : 'img';\n\n return (\n <Component\n className={cn(\n 'h-full w-full scale-100 select-none object-cover transition-transform duration-500 ease-out group-hover:scale-110',\n {\n light: 'bg-[var(--product-card-light-background,hsl(var(--contrast-100)))]',\n dark: 'bg-[var(--product-card-dark-background,hsl(var(--contrast-500)))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-image\"\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { Badge } from '@/components/badge';\nimport { cn } from '@/lib';\n\nexport type ProductCardBadgeProps = ComponentProps<typeof Badge>;\n\nexport function ProductCardBadge({ className, children, ...props }: ProductCardBadgeProps) {\n return (\n <Badge\n className={cn('absolute left-3 top-3', className)}\n data-slot=\"product-card-badge\"\n shape=\"rounded\"\n {...props}\n >\n {children}\n </Badge>\n );\n}\n","'use client';\n\nimport { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardFallbackProps = ComponentProps<'div'>;\n\nexport function ProductCardFallback({ className, children, ...props }: ProductCardFallbackProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <div\n className={cn(\n 'break-words p-4 text-4xl font-bold leading-none tracking-tight transition-transform duration-500 ease-out group-hover:scale-105',\n {\n light: '[color:color-mix(in_oklab,hsl(var(--foreground))_30%,transparent)]',\n dark: '[color:color-mix(in_oklab,hsl(var(--background))_30%,transparent)]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-fallback\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport interface ProductCardLinkProps extends ComponentProps<'a'> {\n asChild?: boolean;\n}\n\nexport function ProductCardLink({ asChild = false, className, ...props }: ProductCardLinkProps) {\n const { colorScheme } = useProductCard();\n\n const Component = asChild ? Slot : 'a';\n\n return (\n <Component\n className={cn(\n 'absolute inset-0 rounded-[var(--product-card-border-radius,1rem)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--product-card-focus,hsl(var(--primary)))] focus-visible:ring-offset-4',\n {\n light: 'ring-offset-[var(--product-card-light-offset,hsl(var(--background)))]',\n dark: 'ring-offset-[var(--product-card-dark-offset,hsl(var(--foreground)))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-link\"\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardDetailsProps = ComponentProps<'div'>;\n\nexport function ProductCardDetails({ children, className, ...props }: ProductCardDetailsProps) {\n return (\n <div\n className={cn(\n 'mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row',\n className,\n )}\n data-slot=\"product-card-details\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardHeaderProps = ComponentProps<'div'>;\n\nexport function ProductCardHeader({ children, className, ...props }: ProductCardHeaderProps) {\n return (\n <div\n className={cn('relative flex-1 text-sm @[16rem]:text-base', className)}\n data-slot=\"product-card-header\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardTitleProps = ComponentProps<'h3'>;\n\nexport function ProductCardTitle({ className, children, ...props }: ProductCardTitleProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <h3\n className={cn(\n 'block font-semibold',\n {\n light: 'text-[var(--product-card-light-title,hsl(var(--foreground)))]',\n dark: 'text-[var(--product-card-dark-title,hsl(var(--background)))]',\n }[colorScheme],\n )}\n data-slot=\"product-card-title\"\n {...props}\n >\n {children}\n </h3>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardSubtitleProps = ComponentProps<'span'>;\n\nexport function ProductCardSubtitle({ children, className, ...props }: ProductCardSubtitleProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <span\n className={cn(\n 'block text-sm font-normal',\n {\n light:\n 'text-[var(--product-card-light-subtitle,color-mix(in_oklab,hsl(var(--foreground))_75%,transparent))]',\n dark: 'text-[var(--product-card-dark-subtitle,color-mix(in_oklab,hsl(var(--background))_75%,transparent))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-subtitle\"\n {...props}\n >\n {children}\n </span>\n );\n}\n","import * as PricePrimitive from '@/components/price';\n\ninterface PriceDefault {\n type: 'default';\n value: string;\n}\n\ninterface PriceRange {\n type: 'range';\n minValue: string;\n maxValue: string;\n}\n\ninterface PriceSale {\n type: 'sale';\n previousValue: string;\n currentValue: string;\n}\n\ntype PriceType = PriceDefault | PriceRange | PriceSale;\n\nexport interface PriceProps extends PricePrimitive.RootProps {\n price: PriceType;\n}\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --price-light-text: hsl(var(--foreground));\n * --price-light-sale-text: hsl(var(--foreground));\n * --price-dark-text: hsl(var(--background));\n * --price-dark-sale-text: hsl(var(--background));\n * }\n * ```\n */\nexport function Price({ className, colorScheme = 'light', price, ...props }: PriceProps) {\n return (\n <PricePrimitive.Root className={className} colorScheme={colorScheme} {...props}>\n {price.type === 'range' && (\n <>\n <PricePrimitive.Default>{price.minValue}</PricePrimitive.Default>\n {' – '}\n <PricePrimitive.Default>{price.maxValue}</PricePrimitive.Default>\n </>\n )}\n {price.type === 'sale' && (\n <>\n <PricePrimitive.Strike>{price.currentValue}</PricePrimitive.Strike>{' '}\n <PricePrimitive.Default>{price.previousValue}</PricePrimitive.Default>\n </>\n )}\n {price.type === 'default' && <PricePrimitive.Default>{price.value}</PricePrimitive.Default>}\n </PricePrimitive.Root>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { Price } from '@/components/price';\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardPriceProps = ComponentProps<typeof Price>;\n\nexport function ProductCardPrice({ className, price, ...props }: ProductCardPriceProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <Price\n className={cn('mt-2', className)}\n colorScheme={colorScheme}\n data-slot=\"product-card-price\"\n price={price}\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardCompareProps = ComponentProps<'div'>;\n\nexport function ProductCardCompare({ className, children, ...props }: ProductCardCompareProps) {\n return (\n <div\n className={cn(\n 'font-(family-name:--checkbox-font-family,var(--font-family-body)) flex shrink-0 items-center gap-2',\n className,\n )}\n data-slot=\"product-card-compare\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { Checkbox } from '@/components/checkbox';\nimport { cn } from '@/lib';\n\nexport type ProductCardCheckboxProps = ComponentProps<typeof Checkbox>;\n\nexport function ProductCardCheckbox({ className, ...props }: ProductCardCheckboxProps) {\n return <Checkbox className={cn(className)} data-slot=\"product-card-checkbox\" {...props} />;\n}\n","\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","import * as LabelPrimitive from '@radix-ui/react-label';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type LabelProps = ComponentProps<typeof LabelPrimitive.Root> & {\n colorScheme?: 'light' | 'dark';\n};\n\nexport function Label({ className, children, colorScheme = 'light', ...props }: LabelProps) {\n return (\n <LabelPrimitive.Root\n className={cn(\n 'cursor-pointer text-sm peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n {\n light: 'text-[var(--checkbox-light-label,hsl(var(--foreground)))]',\n dark: 'text-[var(--checkbox-dark-label,hsl(var(--background)))]',\n }[colorScheme],\n )}\n data-slot=\"label\"\n {...props}\n >\n {children}\n </LabelPrimitive.Root>\n );\n}\n","'use client';\n\nimport { ComponentProps } from 'react';\n\nimport { Label } from '@/components/label';\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardLabelProps = ComponentProps<typeof Label>;\n\nexport function ProductCardLabel({ className, children, ...props }: ProductCardLabelProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <Label\n className={cn(className)}\n colorScheme={colorScheme}\n data-slot=\"product-card-label\"\n {...props}\n >\n {children}\n </Label>\n );\n}\n"],"names":["Badge","children","shape","className","variant","props","jsx","cn","Checkbox","colorScheme","CheckboxPrimitive.Root","CheckboxPrimitive.Indicator","Check","ProductCardPreview","ProductCardThumbnail","aspectRatio","useProductCard","ProductCardImage","asChild","Component","Slot","ProductCardBadge","ProductCardFallback","ProductCardLink","ProductCardDetails","ProductCardHeader","ProductCardTitle","ProductCardSubtitle","Price","price","PricePrimitive.Root","jsxs","Fragment","PricePrimitive.Default","PricePrimitive.Strike","ProductCardPrice","ProductCardCompare","ProductCardCheckbox","NAME","Label","React","forwardedRef","Primitive","event","Root","LabelPrimitive.Root","ProductCardLabel"],"mappings":"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","x_google_ignoreList":[16]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as o, jsxs as s, Fragment as i } from "react/jsx-runtime";
|
|
2
2
|
import { c } from "./utils-BOGlfttm.js";
|
|
3
3
|
import { u as l } from "./product-card-root-4Xz4-pdL.js";
|
|
4
|
-
import { C as f } from "./checkbox-root-
|
|
4
|
+
import { C as f } from "./checkbox-root-CFYnDr-v.js";
|
|
5
5
|
import { S as u } from "./index-DD8W7cMj.js";
|
|
6
6
|
import { P as b, a as n, b as h } from "./price-strike-Br_Yriv9.js";
|
|
7
|
-
import { C as g } from "./checkbox-indicator-
|
|
7
|
+
import { C as g } from "./checkbox-indicator-C9hf5wZD.js";
|
|
8
8
|
import p from "./check-ChGAB_3v.js";
|
|
9
9
|
import * as v from "react";
|
|
10
10
|
import { P as k } from "./index-BzgbBl8b.js";
|
|
@@ -309,4 +309,4 @@ export {
|
|
|
309
309
|
U as m,
|
|
310
310
|
P as n
|
|
311
311
|
};
|
|
312
|
-
//# sourceMappingURL=product-card-label-
|
|
312
|
+
//# sourceMappingURL=product-card-label-Djn5qQC4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-card-label-CJmC9ICf.js","sources":["../src/components/badge/badge.tsx","../src/components/checkbox/checkbox.tsx","../src/components/product-card/primitives/product-card-preview.tsx","../src/components/product-card/primitives/product-card-thumbnail.tsx","../src/components/product-card/primitives/product-card-image.tsx","../src/components/product-card/primitives/product-card-badge.tsx","../src/components/product-card/primitives/product-card-fallback.tsx","../src/components/product-card/primitives/product-card-link.tsx","../src/components/product-card/primitives/product-card-details.tsx","../src/components/product-card/primitives/product-card-header.tsx","../src/components/product-card/primitives/product-card-title.tsx","../src/components/product-card/primitives/product-card-subtitle.tsx","../src/components/price/price.tsx","../src/components/product-card/primitives/product-card-price.tsx","../src/components/product-card/primitives/product-card-compare.tsx","../src/components/product-card/primitives/product-card-checkbox.tsx","../node_modules/.pnpm/@radix-ui+react-label@2.1.7_@types+react-dom@19.2.2_@types+react@19.2.2__@types+react@19.2.2__h3esd6u5mwikxnlir43mok2s5m/node_modules/@radix-ui/react-label/dist/index.mjs","../src/components/label/label.tsx","../src/components/product-card/primitives/product-card-label.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type BadgeProps = ComponentProps<'span'> & {\n children: string;\n shape?: 'pill' | 'rounded';\n variant?: 'primary' | 'warning' | 'error' | 'success' | 'info';\n};\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --badge-primary-background: color-mix(in oklab, hsl(var(--primary)), white 75%);\n * --badge-success-background: color-mix(in oklab, hsl(var(--success)), white 75%);\n * --badge-warning-background: color-mix(in oklab, hsl(var(--warning)), white 75%);\n * --badge-error-background: color-mix(in oklab, hsl(var(--error)), white 75%);\n * --badge-info-background: color-mix(in oklab, hsl(var(--info)), white 75%);\n * --badge-text: hsl(var(--foreground));\n * --badge-font-family: var(--font-family-mono);\n * }\n * ```\n */\nexport function Badge({\n children,\n shape = 'rounded',\n className,\n variant = 'primary',\n ...props\n}: BadgeProps) {\n return (\n <span\n className={cn(\n 'px-2 py-0.5 text-xs uppercase tracking-tighter text-[var(--badge-text,hsl(var(--foreground)))] [font-family:var(--badge-font-family,var(--font-family-mono))]',\n {\n pill: 'rounded-full',\n rounded: 'rounded',\n }[shape],\n {\n primary:\n 'bg-[var(--badge-primary-background,color-mix(in_oklab,hsl(var(--primary)),white_75%))]',\n warning:\n 'bg-[var(--badge-warning-background,color-mix(in_oklab,hsl(var(--warning)),white_75%))]',\n error:\n 'bg-[var(--badge-error-background,color-mix(in_oklab,hsl(var(--error)),white_75%))]',\n success:\n 'bg-[var(--badge-success-background,color-mix(in_oklab,hsl(var(--success)),white_75%))]',\n info: 'bg-[var(--badge-info-background,color-mix(in_oklab,hsl(var(--info)),white_75%))]',\n }[variant],\n className,\n )}\n {...props}\n >\n {children}\n </span>\n );\n}\n","'use client';\n\nimport { Check } from 'lucide-react';\nimport type { ComponentProps } from 'react';\n\nimport * as CheckboxPrimitive from '@/components/checkbox';\n\nexport type CheckboxProps = ComponentProps<typeof CheckboxPrimitive.Root>;\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --checkbox-focus: var(--primary);\n * --checkbox-light-label: var(--foreground);\n * --checkbox-light-error: var(--error);\n * --checkbox-light-unchecked-border: var(--contrast-200);\n * --checkbox-light-unchecked-border-hover: var(--contrast-300);\n * --checkbox-light-unchecked-background: var(--background);\n * --checkbox-light-unchecked-icon: var(--foreground);\n * --checkbox-light-checked-border: var(--foreground);\n * --checkbox-light-checked-border-hover: var(--foreground);\n * --checkbox-light-checked-background: var(--foreground);\n * --checkbox-light-checked-icon: var(--background);\n * --checkbox-light-disabled-border: var(--contrast-200);\n * --checkbox-light-disabled-background: var(--contrast-100);\n * --checkbox-light-disabled-icon: var(--contrast-300);\n * --checkbox-dark-label: var(--background);\n * --checkbox-dark-error: var(--error);\n * --checkbox-dark-unchecked-border: var(--contrast-400);\n * --checkbox-dark-unchecked-border-hover: var(--contrast-300);\n * --checkbox-dark-unchecked-background: var(--foreground);\n * --checkbox-dark-unchecked-icon: var(--background);\n * --checkbox-dark-checked-border: var(--background);\n * --checkbox-dark-checked-border-hover: var(--background);\n * --checkbox-dark-checked-background: var(--foreground);\n * --checkbox-dark-checked-icon: var(--foreground);\n * --checkbox-dark-disabled-border: var(--contrast-200);\n * --checkbox-dark-disabled-background: var(--contrast-100);\n * --checkbox-dark-disabled-icon: var(--contrast-300);\n * --checkbox-font-family: var(--font-family-body);\n * }\n * ```\n */\nexport function Checkbox({ className, colorScheme = 'light', ...props }: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root className={className} colorScheme={colorScheme} {...props}>\n <CheckboxPrimitive.Indicator>\n <Check className=\"h-4 w-4\" color=\"currentColor\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardPreviewProps = ComponentProps<'div'>;\n\nexport function ProductCardPreview({ className, children, ...props }: ProductCardPreviewProps) {\n return (\n <div className={cn('relative', className)} data-slot=\"product-card-preview\" {...props}>\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardThumbnailProps = ComponentProps<'div'>;\n\nexport function ProductCardThumbnail({ className, children, ...props }: ProductCardThumbnailProps) {\n const { aspectRatio, colorScheme } = useProductCard();\n\n return (\n <div\n className={cn(\n 'relative overflow-hidden rounded-[var(--product-card-border-radius,1rem)]',\n {\n '5:6': 'aspect-[5/6]',\n '3:4': 'aspect-[3/4]',\n '1:1': 'aspect-square',\n }[aspectRatio],\n {\n light: 'bg-[var(--product-card-light-background,hsl(var(--contrast-100)))]',\n dark: 'bg-[var(--product-card-dark-background,hsl(var(--contrast-500)))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-thumbnail\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport interface ProductCardImageProps extends ComponentProps<'img'> {\n asChild?: boolean;\n}\n\nexport function ProductCardImage({\n className,\n children,\n asChild = false,\n ...props\n}: ProductCardImageProps) {\n const { colorScheme } = useProductCard();\n\n const Component = asChild ? Slot : 'img';\n\n return (\n <Component\n className={cn(\n 'h-full w-full scale-100 select-none object-cover transition-transform duration-500 ease-out group-hover:scale-110',\n {\n light: 'bg-[var(--product-card-light-background,hsl(var(--contrast-100)))]',\n dark: 'bg-[var(--product-card-dark-background,hsl(var(--contrast-500)))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-image\"\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { Badge } from '@/components/badge';\nimport { cn } from '@/lib';\n\nexport type ProductCardBadgeProps = ComponentProps<typeof Badge>;\n\nexport function ProductCardBadge({ className, children, ...props }: ProductCardBadgeProps) {\n return (\n <Badge\n className={cn('absolute left-3 top-3', className)}\n data-slot=\"product-card-badge\"\n shape=\"rounded\"\n {...props}\n >\n {children}\n </Badge>\n );\n}\n","'use client';\n\nimport { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardFallbackProps = ComponentProps<'div'>;\n\nexport function ProductCardFallback({ className, children, ...props }: ProductCardFallbackProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <div\n className={cn(\n 'break-words p-4 text-4xl font-bold leading-none tracking-tight transition-transform duration-500 ease-out group-hover:scale-105',\n {\n light: '[color:color-mix(in_oklab,hsl(var(--foreground))_30%,transparent)]',\n dark: '[color:color-mix(in_oklab,hsl(var(--background))_30%,transparent)]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-fallback\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport interface ProductCardLinkProps extends ComponentProps<'a'> {\n asChild?: boolean;\n}\n\nexport function ProductCardLink({ asChild = false, className, ...props }: ProductCardLinkProps) {\n const { colorScheme } = useProductCard();\n\n const Component = asChild ? Slot : 'a';\n\n return (\n <Component\n className={cn(\n 'absolute inset-0 rounded-[var(--product-card-border-radius,1rem)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--product-card-focus,hsl(var(--primary)))] focus-visible:ring-offset-4',\n {\n light: 'ring-offset-[var(--product-card-light-offset,hsl(var(--background)))]',\n dark: 'ring-offset-[var(--product-card-dark-offset,hsl(var(--foreground)))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-link\"\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardDetailsProps = ComponentProps<'div'>;\n\nexport function ProductCardDetails({ children, className, ...props }: ProductCardDetailsProps) {\n return (\n <div\n className={cn(\n 'mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row',\n className,\n )}\n data-slot=\"product-card-details\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardHeaderProps = ComponentProps<'div'>;\n\nexport function ProductCardHeader({ children, className, ...props }: ProductCardHeaderProps) {\n return (\n <div\n className={cn('relative flex-1 text-sm @[16rem]:text-base', className)}\n data-slot=\"product-card-header\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardTitleProps = ComponentProps<'h3'>;\n\nexport function ProductCardTitle({ className, children, ...props }: ProductCardTitleProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <h3\n className={cn(\n 'block font-semibold',\n {\n light: 'text-[var(--product-card-light-title,hsl(var(--foreground)))]',\n dark: 'text-[var(--product-card-dark-title,hsl(var(--background)))]',\n }[colorScheme],\n )}\n data-slot=\"product-card-title\"\n {...props}\n >\n {children}\n </h3>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardSubtitleProps = ComponentProps<'span'>;\n\nexport function ProductCardSubtitle({ children, className, ...props }: ProductCardSubtitleProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <span\n className={cn(\n 'block text-sm font-normal',\n {\n light:\n 'text-[var(--product-card-light-subtitle,color-mix(in_oklab,hsl(var(--foreground))_75%,transparent))]',\n dark: 'text-[var(--product-card-dark-subtitle,color-mix(in_oklab,hsl(var(--background))_75%,transparent))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-subtitle\"\n {...props}\n >\n {children}\n </span>\n );\n}\n","import * as PricePrimitive from '@/components/price';\n\ninterface PriceDefault {\n type: 'default';\n value: string;\n}\n\ninterface PriceRange {\n type: 'range';\n minValue: string;\n maxValue: string;\n}\n\ninterface PriceSale {\n type: 'sale';\n previousValue: string;\n currentValue: string;\n}\n\ntype PriceType = PriceDefault | PriceRange | PriceSale;\n\nexport interface PriceProps extends PricePrimitive.RootProps {\n price: PriceType;\n}\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --price-light-text: hsl(var(--foreground));\n * --price-light-sale-text: hsl(var(--foreground));\n * --price-dark-text: hsl(var(--background));\n * --price-dark-sale-text: hsl(var(--background));\n * }\n * ```\n */\nexport function Price({ className, colorScheme = 'light', price, ...props }: PriceProps) {\n return (\n <PricePrimitive.Root className={className} colorScheme={colorScheme} {...props}>\n {price.type === 'range' && (\n <>\n <PricePrimitive.Default>{price.minValue}</PricePrimitive.Default>\n {' – '}\n <PricePrimitive.Default>{price.maxValue}</PricePrimitive.Default>\n </>\n )}\n {price.type === 'sale' && (\n <>\n <PricePrimitive.Strike>{price.currentValue}</PricePrimitive.Strike>{' '}\n <PricePrimitive.Default>{price.previousValue}</PricePrimitive.Default>\n </>\n )}\n {price.type === 'default' && <PricePrimitive.Default>{price.value}</PricePrimitive.Default>}\n </PricePrimitive.Root>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { Price } from '@/components/price';\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardPriceProps = ComponentProps<typeof Price>;\n\nexport function ProductCardPrice({ className, price, ...props }: ProductCardPriceProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <Price\n className={cn('mt-2', className)}\n colorScheme={colorScheme}\n data-slot=\"product-card-price\"\n price={price}\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardCompareProps = ComponentProps<'div'>;\n\nexport function ProductCardCompare({ className, children, ...props }: ProductCardCompareProps) {\n return (\n <div\n className={cn(\n 'font-(family-name:--checkbox-font-family,var(--font-family-body)) flex shrink-0 items-center gap-2',\n className,\n )}\n data-slot=\"product-card-compare\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { Checkbox } from '@/components/checkbox';\nimport { cn } from '@/lib';\n\nexport type ProductCardCheckboxProps = ComponentProps<typeof Checkbox>;\n\nexport function ProductCardCheckbox({ className, ...props }: ProductCardCheckboxProps) {\n return <Checkbox className={cn(className)} data-slot=\"product-card-checkbox\" {...props} />;\n}\n","\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","import * as LabelPrimitive from '@radix-ui/react-label';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type LabelProps = ComponentProps<typeof LabelPrimitive.Root> & {\n colorScheme?: 'light' | 'dark';\n};\n\nexport function Label({ className, children, colorScheme = 'light', ...props }: LabelProps) {\n return (\n <LabelPrimitive.Root\n className={cn(\n 'cursor-pointer text-sm peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n {\n light: 'text-[var(--checkbox-light-label,hsl(var(--foreground)))]',\n dark: 'text-[var(--checkbox-dark-label,hsl(var(--background)))]',\n }[colorScheme],\n )}\n data-slot=\"label\"\n {...props}\n >\n {children}\n </LabelPrimitive.Root>\n );\n}\n","'use client';\n\nimport { ComponentProps } from 'react';\n\nimport { Label } from '@/components/label';\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardLabelProps = ComponentProps<typeof Label>;\n\nexport function ProductCardLabel({ className, children, ...props }: ProductCardLabelProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <Label\n className={cn(className)}\n colorScheme={colorScheme}\n data-slot=\"product-card-label\"\n {...props}\n >\n {children}\n </Label>\n );\n}\n"],"names":["Badge","children","shape","className","variant","props","jsx","cn","Checkbox","colorScheme","CheckboxPrimitive.Root","CheckboxPrimitive.Indicator","Check","ProductCardPreview","ProductCardThumbnail","aspectRatio","useProductCard","ProductCardImage","asChild","Slot","ProductCardBadge","ProductCardFallback","ProductCardLink","ProductCardDetails","ProductCardHeader","ProductCardTitle","ProductCardSubtitle","Price","price","PricePrimitive.Root","jsxs","Fragment","PricePrimitive.Default","PricePrimitive.Strike","ProductCardPrice","ProductCardCompare","ProductCardCheckbox","NAME","Label","React","forwardedRef","Primitive","event","Root","LabelPrimitive.Root","ProductCardLabel"],"mappings":"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","x_google_ignoreList":[16]}
|
|
1
|
+
{"version":3,"file":"product-card-label-Djn5qQC4.js","sources":["../src/components/badge/badge.tsx","../src/components/checkbox/checkbox.tsx","../src/components/product-card/primitives/product-card-preview.tsx","../src/components/product-card/primitives/product-card-thumbnail.tsx","../src/components/product-card/primitives/product-card-image.tsx","../src/components/product-card/primitives/product-card-badge.tsx","../src/components/product-card/primitives/product-card-fallback.tsx","../src/components/product-card/primitives/product-card-link.tsx","../src/components/product-card/primitives/product-card-details.tsx","../src/components/product-card/primitives/product-card-header.tsx","../src/components/product-card/primitives/product-card-title.tsx","../src/components/product-card/primitives/product-card-subtitle.tsx","../src/components/price/price.tsx","../src/components/product-card/primitives/product-card-price.tsx","../src/components/product-card/primitives/product-card-compare.tsx","../src/components/product-card/primitives/product-card-checkbox.tsx","../node_modules/.pnpm/@radix-ui+react-label@2.1.7_@types+react-dom@19.2.2_@types+react@19.2.2__@types+react@19.2.2__h3esd6u5mwikxnlir43mok2s5m/node_modules/@radix-ui/react-label/dist/index.mjs","../src/components/label/label.tsx","../src/components/product-card/primitives/product-card-label.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type BadgeProps = ComponentProps<'span'> & {\n children: string;\n shape?: 'pill' | 'rounded';\n variant?: 'primary' | 'warning' | 'error' | 'success' | 'info';\n};\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --badge-primary-background: color-mix(in oklab, hsl(var(--primary)), white 75%);\n * --badge-success-background: color-mix(in oklab, hsl(var(--success)), white 75%);\n * --badge-warning-background: color-mix(in oklab, hsl(var(--warning)), white 75%);\n * --badge-error-background: color-mix(in oklab, hsl(var(--error)), white 75%);\n * --badge-info-background: color-mix(in oklab, hsl(var(--info)), white 75%);\n * --badge-text: hsl(var(--foreground));\n * --badge-font-family: var(--font-family-mono);\n * }\n * ```\n */\nexport function Badge({\n children,\n shape = 'rounded',\n className,\n variant = 'primary',\n ...props\n}: BadgeProps) {\n return (\n <span\n className={cn(\n 'px-2 py-0.5 text-xs uppercase tracking-tighter text-[var(--badge-text,hsl(var(--foreground)))] [font-family:var(--badge-font-family,var(--font-family-mono))]',\n {\n pill: 'rounded-full',\n rounded: 'rounded',\n }[shape],\n {\n primary:\n 'bg-[var(--badge-primary-background,color-mix(in_oklab,hsl(var(--primary)),white_75%))]',\n warning:\n 'bg-[var(--badge-warning-background,color-mix(in_oklab,hsl(var(--warning)),white_75%))]',\n error:\n 'bg-[var(--badge-error-background,color-mix(in_oklab,hsl(var(--error)),white_75%))]',\n success:\n 'bg-[var(--badge-success-background,color-mix(in_oklab,hsl(var(--success)),white_75%))]',\n info: 'bg-[var(--badge-info-background,color-mix(in_oklab,hsl(var(--info)),white_75%))]',\n }[variant],\n className,\n )}\n {...props}\n >\n {children}\n </span>\n );\n}\n","'use client';\n\nimport { Check } from 'lucide-react';\nimport type { ComponentProps } from 'react';\n\nimport * as CheckboxPrimitive from '@/components/checkbox';\n\nexport type CheckboxProps = ComponentProps<typeof CheckboxPrimitive.Root>;\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --checkbox-focus: var(--primary);\n * --checkbox-light-label: var(--foreground);\n * --checkbox-light-error: var(--error);\n * --checkbox-light-unchecked-border: var(--contrast-200);\n * --checkbox-light-unchecked-border-hover: var(--contrast-300);\n * --checkbox-light-unchecked-background: var(--background);\n * --checkbox-light-unchecked-icon: var(--foreground);\n * --checkbox-light-checked-border: var(--foreground);\n * --checkbox-light-checked-border-hover: var(--foreground);\n * --checkbox-light-checked-background: var(--foreground);\n * --checkbox-light-checked-icon: var(--background);\n * --checkbox-light-disabled-border: var(--contrast-200);\n * --checkbox-light-disabled-background: var(--contrast-100);\n * --checkbox-light-disabled-icon: var(--contrast-300);\n * --checkbox-dark-label: var(--background);\n * --checkbox-dark-error: var(--error);\n * --checkbox-dark-unchecked-border: var(--contrast-400);\n * --checkbox-dark-unchecked-border-hover: var(--contrast-300);\n * --checkbox-dark-unchecked-background: var(--foreground);\n * --checkbox-dark-unchecked-icon: var(--background);\n * --checkbox-dark-checked-border: var(--background);\n * --checkbox-dark-checked-border-hover: var(--background);\n * --checkbox-dark-checked-background: var(--foreground);\n * --checkbox-dark-checked-icon: var(--foreground);\n * --checkbox-dark-disabled-border: var(--contrast-200);\n * --checkbox-dark-disabled-background: var(--contrast-100);\n * --checkbox-dark-disabled-icon: var(--contrast-300);\n * --checkbox-font-family: var(--font-family-body);\n * }\n * ```\n */\nexport function Checkbox({ className, colorScheme = 'light', ...props }: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root className={className} colorScheme={colorScheme} {...props}>\n <CheckboxPrimitive.Indicator>\n <Check className=\"h-4 w-4\" color=\"currentColor\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardPreviewProps = ComponentProps<'div'>;\n\nexport function ProductCardPreview({ className, children, ...props }: ProductCardPreviewProps) {\n return (\n <div className={cn('relative', className)} data-slot=\"product-card-preview\" {...props}>\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardThumbnailProps = ComponentProps<'div'>;\n\nexport function ProductCardThumbnail({ className, children, ...props }: ProductCardThumbnailProps) {\n const { aspectRatio, colorScheme } = useProductCard();\n\n return (\n <div\n className={cn(\n 'relative overflow-hidden rounded-[var(--product-card-border-radius,1rem)]',\n {\n '5:6': 'aspect-[5/6]',\n '3:4': 'aspect-[3/4]',\n '1:1': 'aspect-square',\n }[aspectRatio],\n {\n light: 'bg-[var(--product-card-light-background,hsl(var(--contrast-100)))]',\n dark: 'bg-[var(--product-card-dark-background,hsl(var(--contrast-500)))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-thumbnail\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport interface ProductCardImageProps extends ComponentProps<'img'> {\n asChild?: boolean;\n}\n\nexport function ProductCardImage({\n className,\n children,\n asChild = false,\n ...props\n}: ProductCardImageProps) {\n const { colorScheme } = useProductCard();\n\n const Component = asChild ? Slot : 'img';\n\n return (\n <Component\n className={cn(\n 'h-full w-full scale-100 select-none object-cover transition-transform duration-500 ease-out group-hover:scale-110',\n {\n light: 'bg-[var(--product-card-light-background,hsl(var(--contrast-100)))]',\n dark: 'bg-[var(--product-card-dark-background,hsl(var(--contrast-500)))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-image\"\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { Badge } from '@/components/badge';\nimport { cn } from '@/lib';\n\nexport type ProductCardBadgeProps = ComponentProps<typeof Badge>;\n\nexport function ProductCardBadge({ className, children, ...props }: ProductCardBadgeProps) {\n return (\n <Badge\n className={cn('absolute left-3 top-3', className)}\n data-slot=\"product-card-badge\"\n shape=\"rounded\"\n {...props}\n >\n {children}\n </Badge>\n );\n}\n","'use client';\n\nimport { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardFallbackProps = ComponentProps<'div'>;\n\nexport function ProductCardFallback({ className, children, ...props }: ProductCardFallbackProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <div\n className={cn(\n 'break-words p-4 text-4xl font-bold leading-none tracking-tight transition-transform duration-500 ease-out group-hover:scale-105',\n {\n light: '[color:color-mix(in_oklab,hsl(var(--foreground))_30%,transparent)]',\n dark: '[color:color-mix(in_oklab,hsl(var(--background))_30%,transparent)]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-fallback\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport interface ProductCardLinkProps extends ComponentProps<'a'> {\n asChild?: boolean;\n}\n\nexport function ProductCardLink({ asChild = false, className, ...props }: ProductCardLinkProps) {\n const { colorScheme } = useProductCard();\n\n const Component = asChild ? Slot : 'a';\n\n return (\n <Component\n className={cn(\n 'absolute inset-0 rounded-[var(--product-card-border-radius,1rem)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--product-card-focus,hsl(var(--primary)))] focus-visible:ring-offset-4',\n {\n light: 'ring-offset-[var(--product-card-light-offset,hsl(var(--background)))]',\n dark: 'ring-offset-[var(--product-card-dark-offset,hsl(var(--foreground)))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-link\"\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardDetailsProps = ComponentProps<'div'>;\n\nexport function ProductCardDetails({ children, className, ...props }: ProductCardDetailsProps) {\n return (\n <div\n className={cn(\n 'mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row',\n className,\n )}\n data-slot=\"product-card-details\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardHeaderProps = ComponentProps<'div'>;\n\nexport function ProductCardHeader({ children, className, ...props }: ProductCardHeaderProps) {\n return (\n <div\n className={cn('relative flex-1 text-sm @[16rem]:text-base', className)}\n data-slot=\"product-card-header\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardTitleProps = ComponentProps<'h3'>;\n\nexport function ProductCardTitle({ className, children, ...props }: ProductCardTitleProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <h3\n className={cn(\n 'block font-semibold',\n {\n light: 'text-[var(--product-card-light-title,hsl(var(--foreground)))]',\n dark: 'text-[var(--product-card-dark-title,hsl(var(--background)))]',\n }[colorScheme],\n )}\n data-slot=\"product-card-title\"\n {...props}\n >\n {children}\n </h3>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardSubtitleProps = ComponentProps<'span'>;\n\nexport function ProductCardSubtitle({ children, className, ...props }: ProductCardSubtitleProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <span\n className={cn(\n 'block text-sm font-normal',\n {\n light:\n 'text-[var(--product-card-light-subtitle,color-mix(in_oklab,hsl(var(--foreground))_75%,transparent))]',\n dark: 'text-[var(--product-card-dark-subtitle,color-mix(in_oklab,hsl(var(--background))_75%,transparent))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"product-card-subtitle\"\n {...props}\n >\n {children}\n </span>\n );\n}\n","import * as PricePrimitive from '@/components/price';\n\ninterface PriceDefault {\n type: 'default';\n value: string;\n}\n\ninterface PriceRange {\n type: 'range';\n minValue: string;\n maxValue: string;\n}\n\ninterface PriceSale {\n type: 'sale';\n previousValue: string;\n currentValue: string;\n}\n\ntype PriceType = PriceDefault | PriceRange | PriceSale;\n\nexport interface PriceProps extends PricePrimitive.RootProps {\n price: PriceType;\n}\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --price-light-text: hsl(var(--foreground));\n * --price-light-sale-text: hsl(var(--foreground));\n * --price-dark-text: hsl(var(--background));\n * --price-dark-sale-text: hsl(var(--background));\n * }\n * ```\n */\nexport function Price({ className, colorScheme = 'light', price, ...props }: PriceProps) {\n return (\n <PricePrimitive.Root className={className} colorScheme={colorScheme} {...props}>\n {price.type === 'range' && (\n <>\n <PricePrimitive.Default>{price.minValue}</PricePrimitive.Default>\n {' – '}\n <PricePrimitive.Default>{price.maxValue}</PricePrimitive.Default>\n </>\n )}\n {price.type === 'sale' && (\n <>\n <PricePrimitive.Strike>{price.currentValue}</PricePrimitive.Strike>{' '}\n <PricePrimitive.Default>{price.previousValue}</PricePrimitive.Default>\n </>\n )}\n {price.type === 'default' && <PricePrimitive.Default>{price.value}</PricePrimitive.Default>}\n </PricePrimitive.Root>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { Price } from '@/components/price';\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardPriceProps = ComponentProps<typeof Price>;\n\nexport function ProductCardPrice({ className, price, ...props }: ProductCardPriceProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <Price\n className={cn('mt-2', className)}\n colorScheme={colorScheme}\n data-slot=\"product-card-price\"\n price={price}\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardCompareProps = ComponentProps<'div'>;\n\nexport function ProductCardCompare({ className, children, ...props }: ProductCardCompareProps) {\n return (\n <div\n className={cn(\n 'font-(family-name:--checkbox-font-family,var(--font-family-body)) flex shrink-0 items-center gap-2',\n className,\n )}\n data-slot=\"product-card-compare\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { Checkbox } from '@/components/checkbox';\nimport { cn } from '@/lib';\n\nexport type ProductCardCheckboxProps = ComponentProps<typeof Checkbox>;\n\nexport function ProductCardCheckbox({ className, ...props }: ProductCardCheckboxProps) {\n return <Checkbox className={cn(className)} data-slot=\"product-card-checkbox\" {...props} />;\n}\n","\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","import * as LabelPrimitive from '@radix-ui/react-label';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type LabelProps = ComponentProps<typeof LabelPrimitive.Root> & {\n colorScheme?: 'light' | 'dark';\n};\n\nexport function Label({ className, children, colorScheme = 'light', ...props }: LabelProps) {\n return (\n <LabelPrimitive.Root\n className={cn(\n 'cursor-pointer text-sm peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n {\n light: 'text-[var(--checkbox-light-label,hsl(var(--foreground)))]',\n dark: 'text-[var(--checkbox-dark-label,hsl(var(--background)))]',\n }[colorScheme],\n )}\n data-slot=\"label\"\n {...props}\n >\n {children}\n </LabelPrimitive.Root>\n );\n}\n","'use client';\n\nimport { ComponentProps } from 'react';\n\nimport { Label } from '@/components/label';\nimport { useProductCard } from '@/components/product-card';\nimport { cn } from '@/lib';\n\nexport type ProductCardLabelProps = ComponentProps<typeof Label>;\n\nexport function ProductCardLabel({ className, children, ...props }: ProductCardLabelProps) {\n const { colorScheme } = useProductCard();\n\n return (\n <Label\n className={cn(className)}\n colorScheme={colorScheme}\n data-slot=\"product-card-label\"\n {...props}\n >\n {children}\n </Label>\n );\n}\n"],"names":["Badge","children","shape","className","variant","props","jsx","cn","Checkbox","colorScheme","CheckboxPrimitive.Root","CheckboxPrimitive.Indicator","Check","ProductCardPreview","ProductCardThumbnail","aspectRatio","useProductCard","ProductCardImage","asChild","Slot","ProductCardBadge","ProductCardFallback","ProductCardLink","ProductCardDetails","ProductCardHeader","ProductCardTitle","ProductCardSubtitle","Price","price","PricePrimitive.Root","jsxs","Fragment","PricePrimitive.Default","PricePrimitive.Strike","ProductCardPrice","ProductCardCompare","ProductCardCheckbox","NAME","Label","React","forwardedRef","Primitive","event","Root","LabelPrimitive.Root","ProductCardLabel"],"mappings":"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","x_google_ignoreList":[16]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("react/jsx-runtime"),c=require("./product-card-root-BMTVhhFp.cjs"),s=require("./utils-LBH114_M.cjs"),n=require("./skeleton-root-uIgjea8b.cjs"),d=require("./skeleton-box-yQLivCqg.cjs"),t=require("./skeleton-text-CLzoDFvz.cjs");require("./checkbox-root-
|
|
2
|
-
//# sourceMappingURL=product-card-skeleton-
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),c=require("./product-card-root-BMTVhhFp.cjs"),s=require("./utils-LBH114_M.cjs"),n=require("./skeleton-root-uIgjea8b.cjs"),d=require("./skeleton-box-yQLivCqg.cjs"),t=require("./skeleton-text-CLzoDFvz.cjs");require("./checkbox-root-oz6K_T-0.cjs");function l({className:r,...o}){const{aspectRatio:a}=c.useProductCard();return e.jsxs(n.SkeletonRoot,{className:s.cn(r),"data-slot":"product-card-skeleton",...o,children:[e.jsx(d.SkeletonBox,{className:s.cn("rounded-[var(--product-card-border-radius,1rem)]",{"5:6":"aspect-[5/6]","3:4":"aspect-[3/4]","1:1":"aspect-square"}[a])}),e.jsx("div",{className:"mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row",children:e.jsxs("div",{className:"flex-1 text-sm @[16rem]:text-base",children:[e.jsx(t.SkeletonText,{characterCount:10,className:"rounded"}),e.jsx(t.SkeletonText,{characterCount:8,className:"rounded"}),e.jsx(t.SkeletonText,{characterCount:6,className:"rounded"})]})})]})}exports.ProductCardSkeleton=l;
|
|
2
|
+
//# sourceMappingURL=product-card-skeleton-B2lGkIgo.cjs.map
|
package/dist/{product-card-skeleton-CCQkDMNl.cjs.map → product-card-skeleton-B2lGkIgo.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-card-skeleton-
|
|
1
|
+
{"version":3,"file":"product-card-skeleton-B2lGkIgo.cjs","sources":["../src/components/product-card/primitives/product-card-skeleton.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport * as SkeletonPrimitive from '@/components/skeleton';\nimport { cn } from '@/lib';\n\nexport type ProductCardSkeletonProps = ComponentProps<typeof SkeletonPrimitive.Root>;\n\nexport function ProductCardSkeleton({ className, ...props }: ProductCardSkeletonProps) {\n const { aspectRatio } = useProductCard();\n\n return (\n <SkeletonPrimitive.Root className={cn(className)} data-slot=\"product-card-skeleton\" {...props}>\n <SkeletonPrimitive.Box\n className={cn(\n 'rounded-[var(--product-card-border-radius,1rem)]',\n {\n '5:6': 'aspect-[5/6]',\n '3:4': 'aspect-[3/4]',\n '1:1': 'aspect-square',\n }[aspectRatio],\n )}\n />\n <div className=\"mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row\">\n <div className=\"flex-1 text-sm @[16rem]:text-base\">\n <SkeletonPrimitive.Text characterCount={10} className=\"rounded\" />\n <SkeletonPrimitive.Text characterCount={8} className=\"rounded\" />\n <SkeletonPrimitive.Text characterCount={6} className=\"rounded\" />\n </div>\n </div>\n </SkeletonPrimitive.Root>\n );\n}\n"],"names":["ProductCardSkeleton","className","props","aspectRatio","useProductCard","jsxs","SkeletonPrimitive.Root","cn","jsx","SkeletonPrimitive.Box","SkeletonPrimitive.Text"],"mappings":"uSAQO,SAASA,EAAoB,CAAE,UAAAC,EAAW,GAAGC,GAAmC,CACrF,KAAM,CAAE,YAAAC,CAAA,EAAgBC,iBAAA,EAExB,OACEC,OAACC,EAAAA,aAAA,CAAuB,UAAWC,EAAAA,GAAGN,CAAS,EAAG,YAAU,wBAAyB,GAAGC,EACtF,SAAA,CAAAM,EAAAA,IAACC,EAAAA,YAAA,CACC,UAAWF,EAAAA,GACT,mDACA,CACE,MAAO,eACP,MAAO,eACP,MAAO,eAAA,EACPJ,CAAW,CAAA,CACf,CAAA,QAED,MAAA,CAAI,UAAU,4EACb,SAAAE,EAAAA,KAAC,MAAA,CAAI,UAAU,oCACb,SAAA,CAAAG,EAAAA,IAACE,EAAAA,aAAA,CAAuB,eAAgB,GAAI,UAAU,UAAU,QAC/DA,EAAAA,aAAA,CAAuB,eAAgB,EAAG,UAAU,UAAU,QAC9DA,EAAAA,aAAA,CAAuB,eAAgB,EAAG,UAAU,SAAA,CAAU,CAAA,CAAA,CACjE,CAAA,CACF,CAAA,EACF,CAEJ"}
|
|
@@ -4,7 +4,7 @@ import { c as t } from "./utils-BOGlfttm.js";
|
|
|
4
4
|
import { S as d } from "./skeleton-root-DHW28LoV.js";
|
|
5
5
|
import { S as l } from "./skeleton-box-BSzQ5f9Y.js";
|
|
6
6
|
import { S as r } from "./skeleton-text-Dd4GbnEz.js";
|
|
7
|
-
import "./checkbox-root-
|
|
7
|
+
import "./checkbox-root-CFYnDr-v.js";
|
|
8
8
|
function S({ className: o, ...s }) {
|
|
9
9
|
const { aspectRatio: c } = m();
|
|
10
10
|
return /* @__PURE__ */ a(d, { className: t(o), "data-slot": "product-card-skeleton", ...s, children: [
|
|
@@ -31,4 +31,4 @@ function S({ className: o, ...s }) {
|
|
|
31
31
|
export {
|
|
32
32
|
S as P
|
|
33
33
|
};
|
|
34
|
-
//# sourceMappingURL=product-card-skeleton-
|
|
34
|
+
//# sourceMappingURL=product-card-skeleton-Rvy8Ocb0.js.map
|
package/dist/{product-card-skeleton-Dkqf-bfA.js.map → product-card-skeleton-Rvy8Ocb0.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-card-skeleton-
|
|
1
|
+
{"version":3,"file":"product-card-skeleton-Rvy8Ocb0.js","sources":["../src/components/product-card/primitives/product-card-skeleton.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\n\nimport { useProductCard } from '@/components/product-card';\nimport * as SkeletonPrimitive from '@/components/skeleton';\nimport { cn } from '@/lib';\n\nexport type ProductCardSkeletonProps = ComponentProps<typeof SkeletonPrimitive.Root>;\n\nexport function ProductCardSkeleton({ className, ...props }: ProductCardSkeletonProps) {\n const { aspectRatio } = useProductCard();\n\n return (\n <SkeletonPrimitive.Root className={cn(className)} data-slot=\"product-card-skeleton\" {...props}>\n <SkeletonPrimitive.Box\n className={cn(\n 'rounded-[var(--product-card-border-radius,1rem)]',\n {\n '5:6': 'aspect-[5/6]',\n '3:4': 'aspect-[3/4]',\n '1:1': 'aspect-square',\n }[aspectRatio],\n )}\n />\n <div className=\"mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row\">\n <div className=\"flex-1 text-sm @[16rem]:text-base\">\n <SkeletonPrimitive.Text characterCount={10} className=\"rounded\" />\n <SkeletonPrimitive.Text characterCount={8} className=\"rounded\" />\n <SkeletonPrimitive.Text characterCount={6} className=\"rounded\" />\n </div>\n </div>\n </SkeletonPrimitive.Root>\n );\n}\n"],"names":["ProductCardSkeleton","className","props","aspectRatio","useProductCard","jsxs","SkeletonPrimitive.Root","cn","jsx","SkeletonPrimitive.Box","SkeletonPrimitive.Text"],"mappings":";;;;;;;AAQO,SAASA,EAAoB,EAAE,WAAAC,GAAW,GAAGC,KAAmC;AACrF,QAAM,EAAE,aAAAC,EAAA,IAAgBC,EAAA;AAExB,SACE,gBAAAC,EAACC,GAAA,EAAuB,WAAWC,EAAGN,CAAS,GAAG,aAAU,yBAAyB,GAAGC,GACtF,UAAA;AAAA,IAAA,gBAAAM;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,WAAWF;AAAA,UACT;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,UAAA,EACPJ,CAAW;AAAA,QAAA;AAAA,MACf;AAAA,IAAA;AAAA,sBAED,OAAA,EAAI,WAAU,6EACb,UAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,qCACb,UAAA;AAAA,MAAA,gBAAAG,EAACE,GAAA,EAAuB,gBAAgB,IAAI,WAAU,WAAU;AAAA,wBAC/DA,GAAA,EAAuB,gBAAgB,GAAG,WAAU,WAAU;AAAA,wBAC9DA,GAAA,EAAuB,gBAAgB,GAAG,WAAU,UAAA,CAAU;AAAA,IAAA,EAAA,CACjE,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;"}
|
package/dist/product-card.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./product-card-root-BMTVhhFp.cjs"),a=require("react/jsx-runtime"),c=require("./utils-LBH114_M.cjs"),r=require("./product-card-label-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./product-card-root-BMTVhhFp.cjs"),a=require("react/jsx-runtime"),c=require("./utils-LBH114_M.cjs"),r=require("./product-card-label-B1EwGQhM.cjs"),u=require("./product-card-skeleton-B2lGkIgo.cjs");function C({className:e,children:d,...o}){return a.jsx("div",{className:c.cn("relative",e),"data-slot":"product-card-content",...o,children:d})}exports.Root=t.ProductCardRoot;exports.useProductCard=t.useProductCard;exports.Badge=r.ProductCardBadge;exports.Checkbox=r.ProductCardCheckbox;exports.Compare=r.ProductCardCompare;exports.Details=r.ProductCardDetails;exports.Fallback=r.ProductCardFallback;exports.Header=r.ProductCardHeader;exports.Image=r.ProductCardImage;exports.Label=r.ProductCardLabel;exports.Link=r.ProductCardLink;exports.Preview=r.ProductCardPreview;exports.Price=r.ProductCardPrice;exports.Subtitle=r.ProductCardSubtitle;exports.Thumbnail=r.ProductCardThumbnail;exports.Title=r.ProductCardTitle;exports.Skeleton=u.ProductCardSkeleton;exports.Content=C;
|
|
2
2
|
//# sourceMappingURL=product-card.cjs.map
|