@kuzenbo/core 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp-slot-BA8DE3oz.js","names":[],"sources":["../src/ui/input-otp/input-otp-context.tsx","../src/ui/input-otp/input-otp-group.tsx","../src/ui/input-otp/input-otp-separator.tsx","../src/ui/input-otp/input-otp-slot.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\ninterface InputOTPContextValue {\n size: InputSize;\n}\n\nconst InputOTPContext = createContext<InputOTPContextValue>({\n size: \"md\",\n});\n\nexport { InputOTPContext };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { InputOTPContext } from \"./input-otp-context\";\n\nconst inputOTPGroupVariants = tv({\n base: \"flex items-center has-aria-invalid:border-danger has-aria-invalid:ring-[3px] has-aria-invalid:ring-danger/20 dark:has-aria-invalid:ring-danger/40\",\n variants: {\n size: {\n xs: \"rounded-[min(var(--radius-md),8px)]\",\n sm: \"rounded-[min(var(--radius-md),10px)]\",\n md: \"rounded-md\",\n lg: \"rounded-md\",\n xl: \"rounded-md\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype InputOTPGroupVariantProps = VariantProps<typeof inputOTPGroupVariants>;\n\nexport type InputOTPGroupProps = ComponentProps<\"div\"> &\n InputOTPGroupVariantProps & {\n size?: InputSize;\n };\n\nconst InputOTPGroup = ({ className, size, ...props }: InputOTPGroupProps) => {\n const { size: rootSize } = useContext(InputOTPContext);\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n\n return (\n <div\n className={cn(inputOTPGroupVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n data-slot=\"input-otp-group\"\n {...props}\n />\n );\n};\n\nexport { InputOTPGroup };\n","import type { ComponentProps } from \"react\";\n\nimport { MinusSignIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { InputOTPContext } from \"./input-otp-context\";\n\nconst inputOTPSeparatorVariants = tv({\n base: \"flex items-center justify-center\",\n variants: {\n size: {\n xs: \"[&_svg:not([class*='size-'])]:size-3\",\n sm: \"[&_svg:not([class*='size-'])]:size-3.5\",\n md: \"[&_svg:not([class*='size-'])]:size-4\",\n lg: \"[&_svg:not([class*='size-'])]:size-4\",\n xl: \"[&_svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype InputOTPSeparatorVariantProps = VariantProps<\n typeof inputOTPSeparatorVariants\n>;\n\nexport type InputOTPSeparatorProps = ComponentProps<\"div\"> &\n InputOTPSeparatorVariantProps & {\n size?: InputSize;\n };\n\nconst InputOTPSeparator = ({\n className,\n size,\n ...props\n}: InputOTPSeparatorProps) => {\n const { size: rootSize } = useContext(InputOTPContext);\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n\n return (\n <div\n className={cn(\n inputOTPSeparatorVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"input-otp-separator\"\n role=\"separator\"\n {...props}\n >\n <HugeiconsIcon icon={MinusSignIcon} strokeWidth={2} />\n </div>\n );\n};\n\nexport { InputOTPSeparator };\n","import { OTPInputContext } from \"input-otp\";\nimport { type ComponentProps, useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { InputOTPContext } from \"./input-otp-context\";\n\nconst inputOTPSlotVariants = tv({\n slots: {\n caret: \"animate-caret-blink bg-foreground duration-1000\",\n root: \"relative flex items-center justify-center border-y border-r border-input shadow-xs transition-all outline-none first:border-l aria-invalid:border-danger first:rounded-l-md last:rounded-r-md data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-[3px] data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:border-danger data-[active=true]:aria-invalid:ring-danger/20 dark:bg-input/30 dark:data-[active=true]:aria-invalid:ring-danger/40\",\n },\n variants: {\n size: {\n xs: {\n caret: \"h-3 w-px\",\n root: \"size-6 text-xs first:rounded-l-[min(var(--radius-md),8px)] last:rounded-r-[min(var(--radius-md),8px)]\",\n },\n sm: {\n caret: \"h-3.5 w-px\",\n root: \"size-8 text-sm first:rounded-l-[min(var(--radius-md),10px)] last:rounded-r-[min(var(--radius-md),10px)]\",\n },\n md: {\n caret: \"h-4 w-px\",\n root: \"size-9 text-base first:rounded-l-md last:rounded-r-md md:text-sm\",\n },\n lg: {\n caret: \"h-4 w-px\",\n root: \"size-10 text-base first:rounded-l-md last:rounded-r-md md:text-sm\",\n },\n xl: {\n caret: \"h-5 w-px\",\n root: \"size-11 text-base first:rounded-l-md last:rounded-r-md\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype InputOTPSlotVariantProps = VariantProps<typeof inputOTPSlotVariants>;\nexport type InputOTPSlotProps = ComponentProps<\"div\"> & {\n index: number;\n} & InputOTPSlotVariantProps & {\n size?: InputSize;\n };\n\nconst InputOTPSlot = ({\n index,\n className,\n size,\n ...props\n}: InputOTPSlotProps) => {\n const inputOTPContext = useContext(OTPInputContext);\n const { size: rootSize } = useContext(InputOTPContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n const { caret, root } = inputOTPSlotVariants({ size: resolvedSize });\n\n return (\n <div\n className={cn(root(), className)}\n data-active={isActive}\n data-size={resolvedSize}\n data-slot=\"input-otp-slot\"\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className={caret()} />\n </div>\n )}\n </div>\n );\n};\n\nexport { InputOTPSlot };\n"],"mappings":";;;;;;;;AAQA,MAAM,kBAAkB,cAAoC,EAC1D,MAAM,MACP,CAAC;;;;ACDF,MAAM,wBAAwB,GAAG;CAC/B,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AASF,MAAM,iBAAiB,EAAE,WAAW,MAAM,GAAG,YAAgC;CAC3E,MAAM,EAAE,MAAM,aAAa,WAAW,gBAAgB;CACtD,MAAM,eAA0B,QAAQ,YAAY;AAEpD,QACE,oBAAC;EACC,WAAW,GAAG,sBAAsB,EAAE,MAAM,cAAc,CAAC,EAAE,UAAU;EACvE,aAAW;EACX,aAAU;EACV,GAAI;GACJ;;;;;AC/BN,MAAM,4BAA4B,GAAG;CACnC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAWF,MAAM,qBAAqB,EACzB,WACA,MACA,GAAG,YACyB;CAC5B,MAAM,EAAE,MAAM,aAAa,WAAW,gBAAgB;CACtD,MAAM,eAA0B,QAAQ,YAAY;AAEpD,QACE,oBAAC;EACC,WAAW,GACT,0BAA0B,EAAE,MAAM,cAAc,CAAC,EACjD,UACD;EACD,aAAW;EACX,aAAU;EACV,MAAK;EACL,GAAI;YAEJ,oBAAC;GAAc,MAAM;GAAe,aAAa;IAAK;GAClD;;;;;AChDV,MAAM,uBAAuB,GAAG;CAC9B,OAAO;EACL,OAAO;EACP,MAAM;EACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;GACF,OAAO;GACP,MAAM;GACP;EACD,IAAI;GACF,OAAO;GACP,MAAM;GACP;EACD,IAAI;GACF,OAAO;GACP,MAAM;GACP;EACD,IAAI;GACF,OAAO;GACP,MAAM;GACP;EACD,IAAI;GACF,OAAO;GACP,MAAM;GACP;EACF,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AASF,MAAM,gBAAgB,EACpB,OACA,WACA,MACA,GAAG,YACoB;CACvB,MAAM,kBAAkB,WAAW,gBAAgB;CACnD,MAAM,EAAE,MAAM,aAAa,WAAW,gBAAgB;CACtD,MAAM,EAAE,MAAM,cAAc,aAAa,iBAAiB,MAAM,UAAU,EAAE;CAC5E,MAAM,eAA0B,QAAQ,YAAY;CACpD,MAAM,EAAE,OAAO,SAAS,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAEpE,QACE,qBAAC;EACC,WAAW,GAAG,MAAM,EAAE,UAAU;EAChC,eAAa;EACb,aAAW;EACX,aAAU;EACV,GAAI;aAEH,MACA,gBACC,oBAAC;GAAI,WAAU;aACb,oBAAC,SAAI,WAAW,OAAO,GAAI;IACvB;GAEJ"}
1
+ {"version":3,"file":"input-otp-slot-BA8DE3oz.js","names":[],"sources":["../src/ui/input-otp/input-otp-context.tsx","../src/ui/input-otp/input-otp-group.tsx","../src/ui/input-otp/input-otp-separator.tsx","../src/ui/input-otp/input-otp-slot.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\ninterface InputOTPContextValue {\n size: InputSize;\n}\n\nconst InputOTPContext = createContext<InputOTPContextValue>({\n size: \"md\",\n});\n\nexport { InputOTPContext };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { InputOTPContext } from \"./input-otp-context\";\n\nconst inputOTPGroupVariants = tv({\n base: \"flex items-center has-aria-invalid:border-danger has-aria-invalid:ring-[3px] has-aria-invalid:ring-danger/20 dark:has-aria-invalid:ring-danger/40\",\n variants: {\n size: {\n xs: \"rounded-[min(var(--radius-md),8px)]\",\n sm: \"rounded-[min(var(--radius-md),10px)]\",\n md: \"rounded-md\",\n lg: \"rounded-md\",\n xl: \"rounded-md\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype InputOTPGroupVariantProps = VariantProps<typeof inputOTPGroupVariants>;\n\nexport type InputOTPGroupProps = ComponentProps<\"div\"> &\n InputOTPGroupVariantProps & {\n size?: InputSize;\n };\n\nconst InputOTPGroup = ({ className, size, ...props }: InputOTPGroupProps) => {\n const { size: rootSize } = useContext(InputOTPContext);\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n\n return (\n <div\n className={cn(inputOTPGroupVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n data-slot=\"input-otp-group\"\n {...props}\n />\n );\n};\n\nexport { InputOTPGroup };\n","import type { ComponentProps } from \"react\";\n\nimport { MinusSignIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { InputOTPContext } from \"./input-otp-context\";\n\nconst inputOTPSeparatorVariants = tv({\n base: \"flex items-center justify-center\",\n variants: {\n size: {\n xs: \"[&_svg:not([class*='size-'])]:size-3\",\n sm: \"[&_svg:not([class*='size-'])]:size-3.5\",\n md: \"[&_svg:not([class*='size-'])]:size-4\",\n lg: \"[&_svg:not([class*='size-'])]:size-4\",\n xl: \"[&_svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype InputOTPSeparatorVariantProps = VariantProps<\n typeof inputOTPSeparatorVariants\n>;\n\nexport type InputOTPSeparatorProps = ComponentProps<\"div\"> &\n InputOTPSeparatorVariantProps & {\n size?: InputSize;\n };\n\nconst InputOTPSeparator = ({\n className,\n size,\n ...props\n}: InputOTPSeparatorProps) => {\n const { size: rootSize } = useContext(InputOTPContext);\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n\n return (\n <div\n className={cn(\n inputOTPSeparatorVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"input-otp-separator\"\n role=\"separator\"\n {...props}\n >\n <HugeiconsIcon icon={MinusSignIcon} strokeWidth={2} />\n </div>\n );\n};\n\nexport { InputOTPSeparator };\n","import { OTPInputContext } from \"input-otp\";\nimport { type ComponentProps, useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { InputOTPContext } from \"./input-otp-context\";\n\nconst inputOTPSlotVariants = tv({\n slots: {\n caret: \"animate-caret-blink bg-foreground duration-1000\",\n root: \"relative flex items-center justify-center border-y border-r border-input shadow-xs transition-all outline-none first:border-l aria-invalid:border-danger first:rounded-l-md last:rounded-r-md data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-[3px] data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:border-danger data-[active=true]:aria-invalid:ring-danger/20 dark:bg-input/30 dark:data-[active=true]:aria-invalid:ring-danger/40\",\n },\n variants: {\n size: {\n xs: {\n caret: \"h-3 w-px\",\n root: \"size-6 text-xs first:rounded-l-[min(var(--radius-md),8px)] last:rounded-r-[min(var(--radius-md),8px)]\",\n },\n sm: {\n caret: \"h-3.5 w-px\",\n root: \"size-8 text-sm first:rounded-l-[min(var(--radius-md),10px)] last:rounded-r-[min(var(--radius-md),10px)]\",\n },\n md: {\n caret: \"h-4 w-px\",\n root: \"size-9 text-base first:rounded-l-md last:rounded-r-md md:text-sm\",\n },\n lg: {\n caret: \"h-4 w-px\",\n root: \"size-10 text-base first:rounded-l-md last:rounded-r-md md:text-sm\",\n },\n xl: {\n caret: \"h-5 w-px\",\n root: \"size-11 text-base first:rounded-l-md last:rounded-r-md\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype InputOTPSlotVariantProps = VariantProps<typeof inputOTPSlotVariants>;\nexport type InputOTPSlotProps = ComponentProps<\"div\"> & {\n index: number;\n} & InputOTPSlotVariantProps & {\n size?: InputSize;\n };\n\nconst InputOTPSlot = ({\n index,\n className,\n size,\n ...props\n}: InputOTPSlotProps) => {\n const inputOTPContext = useContext(OTPInputContext);\n const { size: rootSize } = useContext(InputOTPContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n const { caret, root } = inputOTPSlotVariants({ size: resolvedSize });\n\n return (\n <div\n className={cn(root(), className)}\n data-active={isActive}\n data-size={resolvedSize}\n data-slot=\"input-otp-slot\"\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className={caret()} />\n </div>\n )}\n </div>\n );\n};\n\nexport { InputOTPSlot };\n"],"mappings":";;;;;;;;AAUA,MAAM,kBAAkB,cAAoC,EAC1D,MAAM,MACP,CAAC;;;;ACHF,MAAM,wBAAwB,GAAG;CAC/B,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AASF,MAAM,iBAAiB,EAAE,WAAW,MAAM,GAAG,YAAgC;CAC3E,MAAM,EAAE,MAAM,aAAa,WAAW,gBAAgB;CACtD,MAAM,eAA0B,QAAQ,YAAY;AAEpD,QACE,oBAAC;EACC,WAAW,GAAG,sBAAsB,EAAE,MAAM,cAAc,CAAC,EAAE,UAAU;EACvE,aAAW;EACX,aAAU;EACV,GAAI;GACJ;;;;;AC/BN,MAAM,4BAA4B,GAAG;CACnC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAWF,MAAM,qBAAqB,EACzB,WACA,MACA,GAAG,YACyB;CAC5B,MAAM,EAAE,MAAM,aAAa,WAAW,gBAAgB;CACtD,MAAM,eAA0B,QAAQ,YAAY;AAEpD,QACE,oBAAC;EACC,WAAW,GACT,0BAA0B,EAAE,MAAM,cAAc,CAAC,EACjD,UACD;EACD,aAAW;EACX,aAAU;EACV,MAAK;EACL,GAAI;YAEJ,oBAAC;GAAc,MAAM;GAAe,aAAa;IAAK;GAClD;;;;;AChDV,MAAM,uBAAuB,GAAG;CAC9B,OAAO;EACL,OAAO;EACP,MAAM;EACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;GACF,OAAO;GACP,MAAM;GACP;EACD,IAAI;GACF,OAAO;GACP,MAAM;GACP;EACD,IAAI;GACF,OAAO;GACP,MAAM;GACP;EACD,IAAI;GACF,OAAO;GACP,MAAM;GACP;EACD,IAAI;GACF,OAAO;GACP,MAAM;GACP;EACF,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AASF,MAAM,gBAAgB,EACpB,OACA,WACA,MACA,GAAG,YACoB;CACvB,MAAM,kBAAkB,WAAW,gBAAgB;CACnD,MAAM,EAAE,MAAM,aAAa,WAAW,gBAAgB;CACtD,MAAM,EAAE,MAAM,cAAc,aAAa,iBAAiB,MAAM,UAAU,EAAE;CAC5E,MAAM,eAA0B,QAAQ,YAAY;CACpD,MAAM,EAAE,OAAO,SAAS,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAEpE,QACE,qBAAC;EACC,WAAW,GAAG,MAAM,EAAE,UAAU;EAChC,eAAa;EACb,aAAW;EACX,aAAU;EACV,GAAI;aAEH,MACA,gBACC,oBAAC;GAAI,WAAU;aACb,oBAAC,SAAI,WAAW,OAAO,GAAI;IACvB;GAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"kbd-group-3GbsGHQf.d.ts","names":[],"sources":["../src/ui/kbd/kbd-size-context.ts","../src/ui/kbd/kbd-group.tsx"],"mappings":";;;;;KAIY,OAAA,GAAU,MAAA;;;KCIV,aAAA,GAAgB,cAAA;EAC1B,IAAA,GAAO,OAAA;AAAA;AAAA,cAGH,QAAA;EAAY,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAA+B,aAAA,KAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"kbd-group-3GbsGHQf.d.ts","names":[],"sources":["../src/ui/kbd/kbd-size-context.ts","../src/ui/kbd/kbd-group.tsx"],"mappings":";;;;;KAMY,OAAA,GAAU,MAAA;;;KCEV,aAAA,GAAgB,cAAA;EAC1B,IAAA,GAAO,OAAA;AAAA;AAAA,cAGH,QAAA;EAAY,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAA+B,aAAA,KAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"kbd-group-BmHYZhQr.js","names":[],"sources":["../src/ui/kbd/kbd-size-context.ts","../src/ui/kbd/kbd-group.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nexport type KbdSize = UISize;\n\nconst DEFAULT_KBD_SIZE: KbdSize = \"md\";\n\nconst KbdSizeContext = createContext<KbdSize>(DEFAULT_KBD_SIZE);\n\nconst useKbdResolvedSize = (size?: KbdSize): KbdSize => {\n const contextSize = useContext(KbdSizeContext);\n\n return size ?? contextSize ?? DEFAULT_KBD_SIZE;\n};\n\nexport { KbdSizeContext, useKbdResolvedSize };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport type { KbdSize } from \"./kbd-size-context\";\n\nimport { KbdSizeContext, useKbdResolvedSize } from \"./kbd-size-context\";\n\nexport type KbdGroupProps = ComponentProps<\"kbd\"> & {\n size?: KbdSize;\n};\n\nconst KbdGroup = ({ className, size, ...props }: KbdGroupProps) => {\n const resolvedSize = useKbdResolvedSize(size);\n\n return (\n <KbdSizeContext.Provider value={resolvedSize}>\n <kbd\n className={cn(\n \"group/kbd-group inline-flex items-center data-[size=xs]:gap-0.5 data-[size=sm]:gap-0.5 data-[size=md]:gap-1 data-[size=lg]:gap-1 data-[size=xl]:gap-1.5\",\n className\n )}\n data-size={resolvedSize}\n data-slot=\"kbd-group\"\n {...props}\n />\n </KbdSizeContext.Provider>\n );\n};\n\nexport { KbdGroup };\nexport type { KbdSize as KbdGroupSize };\n"],"mappings":";;;;;AAMA,MAAM,mBAA4B;AAElC,MAAM,iBAAiB,cAAuB,iBAAiB;AAE/D,MAAM,sBAAsB,SAA4B;CACtD,MAAM,cAAc,WAAW,eAAe;AAE9C,QAAO,QAAQ,eAAe;;;;;ACDhC,MAAM,YAAY,EAAE,WAAW,MAAM,GAAG,YAA2B;CACjE,MAAM,eAAe,mBAAmB,KAAK;AAE7C,QACE,oBAAC,eAAe;EAAS,OAAO;YAC9B,oBAAC;GACC,WAAW,GACT,2JACA,UACD;GACD,aAAW;GACX,aAAU;GACV,GAAI;IACJ;GACsB"}
1
+ {"version":3,"file":"kbd-group-BmHYZhQr.js","names":[],"sources":["../src/ui/kbd/kbd-size-context.ts","../src/ui/kbd/kbd-group.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nexport type KbdSize = UISize;\n\nconst DEFAULT_KBD_SIZE: KbdSize = \"md\";\n\nconst KbdSizeContext = createContext<KbdSize>(DEFAULT_KBD_SIZE);\n\nconst useKbdResolvedSize = (size?: KbdSize): KbdSize => {\n const contextSize = useContext(KbdSizeContext);\n\n return size ?? contextSize ?? DEFAULT_KBD_SIZE;\n};\n\nexport { KbdSizeContext, useKbdResolvedSize };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport type { KbdSize } from \"./kbd-size-context\";\n\nimport { KbdSizeContext, useKbdResolvedSize } from \"./kbd-size-context\";\n\nexport type KbdGroupProps = ComponentProps<\"kbd\"> & {\n size?: KbdSize;\n};\n\nconst KbdGroup = ({ className, size, ...props }: KbdGroupProps) => {\n const resolvedSize = useKbdResolvedSize(size);\n\n return (\n <KbdSizeContext.Provider value={resolvedSize}>\n <kbd\n className={cn(\n \"group/kbd-group inline-flex items-center data-[size=xs]:gap-0.5 data-[size=sm]:gap-0.5 data-[size=md]:gap-1 data-[size=lg]:gap-1 data-[size=xl]:gap-1.5\",\n className\n )}\n data-size={resolvedSize}\n data-slot=\"kbd-group\"\n {...props}\n />\n </KbdSizeContext.Provider>\n );\n};\n\nexport { KbdGroup };\nexport type { KbdSize as KbdGroupSize };\n"],"mappings":";;;;;AAQA,MAAM,mBAA4B;AAElC,MAAM,iBAAiB,cAAuB,iBAAiB;AAE/D,MAAM,sBAAsB,SAA4B;CACtD,MAAM,cAAc,WAAW,eAAe;AAE9C,QAAO,QAAQ,eAAe;;;;;ACHhC,MAAM,YAAY,EAAE,WAAW,MAAM,GAAG,YAA2B;CACjE,MAAM,eAAe,mBAAmB,KAAK;AAE7C,QACE,oBAAC,eAAe;EAAS,OAAO;YAC9B,oBAAC;GACC,WAAW,GACT,2JACA,UACD;GACD,aAAW;GACX,aAAU;GACV,GAAI;IACJ;GACsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"menubar-trigger-BSEAK4Hv.js","names":["MenuPrimitive","MenuPrimitive","MenuPrimitive","MenuPrimitive"],"sources":["../src/ui/menubar/menubar-arrow.tsx","../src/ui/menubar/menubar-backdrop.tsx","../src/ui/menubar/menubar-context.tsx","../src/ui/menubar/menubar-overlay-context.tsx","../src/ui/menubar/menubar-checkbox-item.tsx","../src/ui/menubar/menubar-popup.tsx","../src/ui/menubar/menubar-portal.tsx","../src/ui/menubar/menubar-positioner.tsx","../src/ui/menubar/menubar-content.tsx","../src/ui/menubar/menubar-group.tsx","../src/ui/menubar/menubar-item.tsx","../src/ui/menubar/menubar-label.tsx","../src/ui/menubar/menubar-link-item.tsx","../src/ui/menubar/menubar-menu.tsx","../src/ui/menubar/menubar-radio-group.tsx","../src/ui/menubar/menubar-radio-item.tsx","../src/ui/menubar/menubar-separator.tsx","../src/ui/menubar/menubar-shortcut.tsx","../src/ui/menubar/menubar-sub.tsx","../src/ui/menubar/menubar-sub-content.tsx","../src/ui/menubar/menubar-sub-trigger.tsx","../src/ui/menubar/menubar-trigger.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport { DropdownMenuArrow } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarArrowProps = ComponentProps<typeof DropdownMenuArrow>;\n\nconst MenubarArrow = ({ ...props }: MenubarArrowProps) => (\n <DropdownMenuArrow data-slot=\"menubar-arrow\" {...props} />\n);\n\nexport { MenubarArrow };\n","import type { ComponentProps } from \"react\";\n\nimport { DropdownMenuBackdrop } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarBackdropProps = ComponentProps<typeof DropdownMenuBackdrop>;\n\nconst MenubarBackdrop = ({ ...props }: MenubarBackdropProps) => (\n <DropdownMenuBackdrop data-slot=\"menubar-backdrop\" {...props} />\n);\n\nexport { MenubarBackdrop };\n","import { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface MenubarContextValue {\n size?: InputSize;\n}\n\nconst MenubarContext = createContext<MenubarContextValue>({\n size: \"md\",\n});\n\nexport { MenubarContext };\n","import { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface MenubarOverlayContextValue {\n size?: InputSize;\n}\n\nconst MenubarOverlayContext = createContext<MenubarOverlayContextValue>({});\n\nexport { MenubarOverlayContext };\n","import { Menu as MenuPrimitive } from \"@base-ui/react/menu\";\nimport { Tick02Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarCheckboxItemVariants = tv({\n slots: {\n indicator:\n \"pointer-events-none absolute flex items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n root: \"relative flex cursor-pointer items-center rounded-md outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n },\n variants: {\n size: {\n xs: {\n indicator: \"left-1 size-3 [&_svg:not([class*='size-'])]:size-3\",\n root: \"gap-1 rounded-[min(var(--radius-md),8px)] py-1 pr-1.5 pl-6 text-xs [&_svg:not([class*='size-'])]:size-3\",\n },\n sm: {\n indicator: \"left-1 size-3.5 [&_svg:not([class*='size-'])]:size-3.5\",\n root: \"gap-1.5 rounded-[min(var(--radius-md),10px)] py-1 pr-1.5 pl-6.5 text-sm [&_svg:not([class*='size-'])]:size-3.5\",\n },\n md: {\n indicator: \"left-1.5 size-4 [&_svg:not([class*='size-'])]:size-4\",\n root: \"gap-1.5 py-1 pr-1.5 pl-7 text-sm [&_svg:not([class*='size-'])]:size-4\",\n },\n lg: {\n indicator: \"left-2 size-4 [&_svg:not([class*='size-'])]:size-4\",\n root: \"gap-2 py-1.5 pr-2 pl-8 text-sm [&_svg:not([class*='size-'])]:size-4\",\n },\n xl: {\n indicator: \"left-2.5 size-5 [&_svg:not([class*='size-'])]:size-5\",\n root: \"gap-2.5 py-2 pr-2.5 pl-9 text-base [&_svg:not([class*='size-'])]:size-5\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarCheckboxItemProps = MenuPrimitive.CheckboxItem.Props &\n VariantProps<typeof menubarCheckboxItemVariants>;\n\nconst MenubarCheckboxItem = ({\n className,\n children,\n checked,\n size,\n ...props\n}: MenubarCheckboxItemProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n const { indicator, root } = menubarCheckboxItemVariants({\n size: resolvedSize,\n });\n\n return (\n <MenuPrimitive.CheckboxItem\n checked={checked}\n className={cn(root(), className)}\n data-size={resolvedSize}\n data-slot=\"menubar-checkbox-item\"\n {...props}\n >\n <span className={indicator()}>\n <MenuPrimitive.CheckboxItemIndicator>\n <HugeiconsIcon icon={Tick02Icon} strokeWidth={2} />\n </MenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </MenuPrimitive.CheckboxItem>\n );\n};\n\nexport { MenubarCheckboxItem };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { DropdownMenuPopup } from \"../dropdown-menu/dropdown-menu\";\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarPopupVariants = tv({\n base: \"bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n variants: {\n size: {\n xs: \"min-w-28 rounded-[min(var(--radius-lg),10px)]\",\n sm: \"min-w-32 rounded-[min(var(--radius-lg),12px)]\",\n md: \"min-w-36 rounded-lg\",\n lg: \"min-w-40 rounded-lg\",\n xl: \"min-w-44 rounded-xl\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarPopupProps = ComponentProps<typeof DropdownMenuPopup> &\n VariantProps<typeof menubarPopupVariants> & {\n size?: InputSize;\n };\n\nconst MenubarPopup = ({ className, size, ...props }: MenubarPopupProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <DropdownMenuPopup\n className={cn(menubarPopupVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n data-slot=\"menubar-popup\"\n size={resolvedSize}\n {...props}\n />\n );\n};\n\nexport { MenubarPopup };\n","import type { ComponentProps } from \"react\";\n\nimport { DropdownMenuPortal } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarPortalProps = ComponentProps<typeof DropdownMenuPortal>;\n\nconst MenubarPortal = ({ ...props }: MenubarPortalProps) => (\n <DropdownMenuPortal data-slot=\"menubar-portal\" {...props} />\n);\n\nexport { MenubarPortal };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport { DropdownMenuPositioner } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarPositionerProps = ComponentProps<\n typeof DropdownMenuPositioner\n>;\n\nconst MenubarPositioner = ({ className, ...props }: MenubarPositionerProps) => (\n <DropdownMenuPositioner\n className={cn(className)}\n data-slot=\"menubar-positioner\"\n {...props}\n />\n);\n\nexport { MenubarPositioner };\n","import type { Menu as MenuPrimitive } from \"@base-ui/react/menu\";\nimport type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\nimport { MenubarPopup } from \"./menubar-popup\";\nimport { MenubarPortal } from \"./menubar-portal\";\nimport { MenubarPositioner } from \"./menubar-positioner\";\nexport type MenubarContentProps = ComponentProps<typeof MenubarPopup> &\n Pick<\n MenuPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n > & {\n size?: InputSize;\n };\n\nconst MenubarContent = ({\n className,\n align = \"start\",\n alignOffset = -4,\n side = \"bottom\",\n sideOffset = 8,\n size,\n ...props\n}: MenubarContentProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const resolvedSize = size ?? rootSize ?? \"md\";\n\n return (\n <MenubarOverlayContext.Provider value={{ size: resolvedSize }}>\n <MenubarPortal>\n <MenubarPositioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <MenubarPopup\n className={className}\n data-size={resolvedSize}\n data-slot=\"menubar-content\"\n size={resolvedSize}\n {...props}\n />\n </MenubarPositioner>\n </MenubarPortal>\n </MenubarOverlayContext.Provider>\n );\n};\n\nexport { MenubarContent };\n","import type { ComponentProps } from \"react\";\n\nimport { DropdownMenuGroup } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarGroupProps = ComponentProps<typeof DropdownMenuGroup>;\n\nconst MenubarGroup = ({ ...props }: MenubarGroupProps) => (\n <DropdownMenuGroup data-slot=\"menubar-group\" {...props} />\n);\n\nexport { MenubarGroup };\n","import { Menu as MenuPrimitive } from \"@base-ui/react/menu\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { dropdownMenuItemVariants } from \"../dropdown-menu/dropdown-menu-item\";\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarItemVariants = tv({\n base: \"group/menubar-item focus:bg-accent focus:text-accent-foreground data-[disabled]:opacity-50\",\n extend: dropdownMenuItemVariants,\n variants: {\n variant: {\n danger: \"*:[svg]:!text-danger-foreground\",\n default: \"focus:**:text-accent-foreground\",\n },\n },\n});\n\nexport type MenubarItemProps = MenuPrimitive.Item.Props &\n VariantProps<typeof menubarItemVariants>;\n\nconst MenubarItem = ({\n className,\n inset,\n size,\n variant = \"default\",\n ...props\n}: MenubarItemProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <MenuPrimitive.Item\n className={mergeBaseUIClassName<MenuPrimitive.Item.State>(\n menubarItemVariants({\n inset: Boolean(inset),\n size: resolvedSize,\n variant,\n }),\n className\n )}\n data-inset={inset}\n data-size={resolvedSize}\n data-slot=\"menubar-item\"\n data-variant={variant}\n {...props}\n />\n );\n};\n\nexport { MenubarItem };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { DropdownMenuLabel } from \"../dropdown-menu/dropdown-menu\";\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarLabelVariants = tv({\n base: \"font-medium data-[inset]:pl-8\",\n variants: {\n size: {\n xs: \"px-1.5 py-1 text-xs\",\n sm: \"px-1.5 py-1 text-xs\",\n md: \"px-1.5 py-1 text-sm\",\n lg: \"px-2 py-1.5 text-sm\",\n xl: \"px-2.5 py-1.5 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarLabelProps = ComponentProps<typeof DropdownMenuLabel> &\n VariantProps<typeof menubarLabelVariants> & {\n size?: InputSize;\n };\n\nconst MenubarLabel = ({\n className,\n inset,\n size,\n ...props\n}: MenubarLabelProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <DropdownMenuLabel\n className={cn(menubarLabelVariants({ size: resolvedSize }), className)}\n data-inset={inset}\n data-size={resolvedSize}\n data-slot=\"menubar-label\"\n size={resolvedSize}\n {...props}\n />\n );\n};\n\nexport { MenubarLabel };\n","import { Menu as MenuPrimitive } from \"@base-ui/react/menu\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { dropdownMenuLinkItemVariants } from \"../dropdown-menu/dropdown-menu-link-item\";\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarLinkItemVariants = tv({\n base: \"group/menubar-link-item focus:bg-accent focus:text-accent-foreground data-[disabled]:opacity-50\",\n extend: dropdownMenuLinkItemVariants,\n variants: {\n variant: {\n danger: \"*:[svg]:!text-danger-foreground\",\n default: \"focus:**:text-accent-foreground\",\n },\n },\n});\n\nexport type MenubarLinkItemProps = MenuPrimitive.LinkItem.Props &\n VariantProps<typeof menubarLinkItemVariants>;\n\nconst MenubarLinkItem = ({\n className,\n inset,\n size,\n variant = \"default\",\n ...props\n}: MenubarLinkItemProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <MenuPrimitive.LinkItem\n className={mergeBaseUIClassName<MenuPrimitive.LinkItem.State>(\n menubarLinkItemVariants({\n inset: Boolean(inset),\n size: resolvedSize,\n variant,\n }),\n className\n )}\n data-inset={inset}\n data-size={resolvedSize}\n data-slot=\"menubar-link-item\"\n data-variant={variant}\n {...props}\n />\n );\n};\n\nexport { MenubarLinkItem };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\n\nimport { DropdownMenu } from \"../dropdown-menu/dropdown-menu\";\nimport { MenubarContext } from \"./menubar-context\";\nexport type MenubarMenuProps = ComponentProps<typeof DropdownMenu>;\n\nconst MenubarMenu = ({ size, ...props }: MenubarMenuProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const resolvedSize = size ?? rootSize ?? \"md\";\n\n return (\n <DropdownMenu data-slot=\"menubar-menu\" size={resolvedSize} {...props} />\n );\n};\n\nexport { MenubarMenu };\n","import type { ComponentProps } from \"react\";\n\nimport { DropdownMenuRadioGroup } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarRadioGroupProps = ComponentProps<\n typeof DropdownMenuRadioGroup\n>;\n\nconst MenubarRadioGroup = ({ ...props }: MenubarRadioGroupProps) => (\n <DropdownMenuRadioGroup data-slot=\"menubar-radio-group\" {...props} />\n);\n\nexport { MenubarRadioGroup };\n","import { Menu as MenuPrimitive } from \"@base-ui/react/menu\";\nimport { Tick02Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarRadioItemVariants = tv({\n slots: {\n indicator:\n \"pointer-events-none absolute flex items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n root: \"relative flex cursor-pointer items-center rounded-md outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n },\n variants: {\n size: {\n xs: {\n indicator: \"left-1 size-3 [&_svg:not([class*='size-'])]:size-3\",\n root: \"gap-1 rounded-[min(var(--radius-md),8px)] py-1 pr-1.5 pl-6 text-xs [&_svg:not([class*='size-'])]:size-3\",\n },\n sm: {\n indicator: \"left-1 size-3.5 [&_svg:not([class*='size-'])]:size-3.5\",\n root: \"gap-1.5 rounded-[min(var(--radius-md),10px)] py-1 pr-1.5 pl-6.5 text-sm [&_svg:not([class*='size-'])]:size-3.5\",\n },\n md: {\n indicator: \"left-1.5 size-4 [&_svg:not([class*='size-'])]:size-4\",\n root: \"gap-1.5 py-1 pr-1.5 pl-7 text-sm [&_svg:not([class*='size-'])]:size-4\",\n },\n lg: {\n indicator: \"left-2 size-4 [&_svg:not([class*='size-'])]:size-4\",\n root: \"gap-2 py-1.5 pr-2 pl-8 text-sm [&_svg:not([class*='size-'])]:size-4\",\n },\n xl: {\n indicator: \"left-2.5 size-5 [&_svg:not([class*='size-'])]:size-5\",\n root: \"gap-2.5 py-2 pr-2.5 pl-9 text-base [&_svg:not([class*='size-'])]:size-5\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarRadioItemProps = MenuPrimitive.RadioItem.Props &\n VariantProps<typeof menubarRadioItemVariants>;\n\nconst MenubarRadioItem = ({\n className,\n children,\n size,\n ...props\n}: MenubarRadioItemProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n const { indicator, root } = menubarRadioItemVariants({\n size: resolvedSize,\n });\n\n return (\n <MenuPrimitive.RadioItem\n className={cn(root(), className)}\n data-size={resolvedSize}\n data-slot=\"menubar-radio-item\"\n {...props}\n >\n <span className={indicator()}>\n <MenuPrimitive.RadioItemIndicator>\n <HugeiconsIcon icon={Tick02Icon} strokeWidth={2} />\n </MenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </MenuPrimitive.RadioItem>\n );\n};\n\nexport { MenubarRadioItem };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport { DropdownMenuSeparator } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarSeparatorProps = ComponentProps<\n typeof DropdownMenuSeparator\n>;\n\nconst MenubarSeparator = ({ className, ...props }: MenubarSeparatorProps) => (\n <DropdownMenuSeparator\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n data-slot=\"menubar-separator\"\n {...props}\n />\n);\n\nexport { MenubarSeparator };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { DropdownMenuShortcut } from \"../dropdown-menu/dropdown-menu\";\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarShortcutVariants = tv({\n base: \"ml-auto text-muted-foreground group-focus/menubar-item:text-accent-foreground\",\n variants: {\n size: {\n xs: \"text-[10px] tracking-wide\",\n sm: \"text-xs tracking-wider\",\n md: \"text-xs tracking-widest\",\n lg: \"text-xs tracking-widest\",\n xl: \"text-sm tracking-wide\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarShortcutProps = ComponentProps<typeof DropdownMenuShortcut> &\n VariantProps<typeof menubarShortcutVariants> & {\n size?: InputSize;\n };\n\nconst MenubarShortcut = ({\n className,\n size,\n ...props\n}: MenubarShortcutProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <DropdownMenuShortcut\n className={cn(menubarShortcutVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n data-slot=\"menubar-shortcut\"\n size={resolvedSize}\n {...props}\n />\n );\n};\n\nexport { MenubarShortcut };\n","import type { ComponentProps } from \"react\";\n\nimport { DropdownMenuSub } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarSubProps = ComponentProps<typeof DropdownMenuSub>;\n\nconst MenubarSub = ({ ...props }: MenubarSubProps) => (\n <DropdownMenuSub data-slot=\"menubar-sub\" {...props} />\n);\n\nexport { MenubarSub };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { DropdownMenuSubContent } from \"../dropdown-menu/dropdown-menu\";\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarSubContentVariants = tv({\n base: \"shadow-lg\",\n variants: {\n size: {\n xs: \"min-w-28 rounded-[min(var(--radius-lg),10px)]\",\n sm: \"min-w-32 rounded-[min(var(--radius-lg),12px)]\",\n md: \"min-w-32 rounded-lg\",\n lg: \"min-w-36 rounded-lg\",\n xl: \"min-w-40 rounded-xl\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarSubContentProps = ComponentProps<\n typeof DropdownMenuSubContent\n> &\n VariantProps<typeof menubarSubContentVariants> & {\n size?: InputSize;\n };\n\nconst MenubarSubContent = ({\n className,\n size,\n ...props\n}: MenubarSubContentProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <DropdownMenuSubContent\n className={cn(\n menubarSubContentVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"menubar-sub-content\"\n size={resolvedSize}\n {...props}\n />\n );\n};\n\nexport { MenubarSubContent };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { DropdownMenuSubTrigger } from \"../dropdown-menu/dropdown-menu\";\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarSubTriggerVariants = tv({\n variants: {\n size: {\n xs: \"text-xs\",\n sm: \"text-sm\",\n md: \"text-sm\",\n lg: \"text-sm\",\n xl: \"text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarSubTriggerProps = ComponentProps<\n typeof DropdownMenuSubTrigger\n> & {\n inset?: boolean;\n} & VariantProps<typeof menubarSubTriggerVariants> & {\n size?: InputSize;\n };\n\nconst MenubarSubTrigger = ({\n className,\n inset,\n size,\n ...props\n}: MenubarSubTriggerProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <DropdownMenuSubTrigger\n className={cn(\n menubarSubTriggerVariants({ size: resolvedSize }),\n className\n )}\n data-inset={inset}\n data-size={resolvedSize}\n data-slot=\"menubar-sub-trigger\"\n size={resolvedSize}\n {...props}\n />\n );\n};\n\nexport { MenubarSubTrigger };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { DropdownMenuTrigger } from \"../dropdown-menu/dropdown-menu\";\nimport { MenubarContext } from \"./menubar-context\";\n\nconst menubarTriggerVariants = tv({\n base: \"flex cursor-pointer items-center font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted\",\n variants: {\n size: {\n xs: \"h-5 rounded-[min(var(--radius-md),8px)] px-1.5 text-xs\",\n sm: \"h-6 rounded-[min(var(--radius-md),10px)] px-1.5 text-xs\",\n md: \"h-7 rounded-sm px-1.5 text-sm\",\n lg: \"h-8 rounded-md px-2 text-sm\",\n xl: \"h-9 rounded-md px-2.5 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarTriggerProps = ComponentProps<typeof DropdownMenuTrigger> &\n VariantProps<typeof menubarTriggerVariants> & {\n size?: InputSize;\n };\n\nconst MenubarTrigger = ({ className, size, ...props }: MenubarTriggerProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n\n return (\n <DropdownMenuTrigger\n className={cn(menubarTriggerVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n data-slot=\"menubar-trigger\"\n {...props}\n />\n );\n};\n\nexport { MenubarTrigger };\n"],"mappings":"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"}
1
+ {"version":3,"file":"menubar-trigger-BSEAK4Hv.js","names":["MenuPrimitive","MenuPrimitive","MenuPrimitive","MenuPrimitive"],"sources":["../src/ui/menubar/menubar-arrow.tsx","../src/ui/menubar/menubar-backdrop.tsx","../src/ui/menubar/menubar-context.tsx","../src/ui/menubar/menubar-overlay-context.tsx","../src/ui/menubar/menubar-checkbox-item.tsx","../src/ui/menubar/menubar-popup.tsx","../src/ui/menubar/menubar-portal.tsx","../src/ui/menubar/menubar-positioner.tsx","../src/ui/menubar/menubar-content.tsx","../src/ui/menubar/menubar-group.tsx","../src/ui/menubar/menubar-item.tsx","../src/ui/menubar/menubar-label.tsx","../src/ui/menubar/menubar-link-item.tsx","../src/ui/menubar/menubar-menu.tsx","../src/ui/menubar/menubar-radio-group.tsx","../src/ui/menubar/menubar-radio-item.tsx","../src/ui/menubar/menubar-separator.tsx","../src/ui/menubar/menubar-shortcut.tsx","../src/ui/menubar/menubar-sub.tsx","../src/ui/menubar/menubar-sub-content.tsx","../src/ui/menubar/menubar-sub-trigger.tsx","../src/ui/menubar/menubar-trigger.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport { DropdownMenuArrow } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarArrowProps = ComponentProps<typeof DropdownMenuArrow>;\n\nconst MenubarArrow = ({ ...props }: MenubarArrowProps) => (\n <DropdownMenuArrow data-slot=\"menubar-arrow\" {...props} />\n);\n\nexport { MenubarArrow };\n","import type { ComponentProps } from \"react\";\n\nimport { DropdownMenuBackdrop } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarBackdropProps = ComponentProps<typeof DropdownMenuBackdrop>;\n\nconst MenubarBackdrop = ({ ...props }: MenubarBackdropProps) => (\n <DropdownMenuBackdrop data-slot=\"menubar-backdrop\" {...props} />\n);\n\nexport { MenubarBackdrop };\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface MenubarContextValue {\n size?: InputSize;\n}\n\nconst MenubarContext = createContext<MenubarContextValue>({\n size: \"md\",\n});\n\nexport { MenubarContext };\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface MenubarOverlayContextValue {\n size?: InputSize;\n}\n\nconst MenubarOverlayContext = createContext<MenubarOverlayContextValue>({});\n\nexport { MenubarOverlayContext };\n","import { Menu as MenuPrimitive } from \"@base-ui/react/menu\";\nimport { Tick02Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarCheckboxItemVariants = tv({\n slots: {\n indicator:\n \"pointer-events-none absolute flex items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n root: \"relative flex cursor-pointer items-center rounded-md outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n },\n variants: {\n size: {\n xs: {\n indicator: \"left-1 size-3 [&_svg:not([class*='size-'])]:size-3\",\n root: \"gap-1 rounded-[min(var(--radius-md),8px)] py-1 pr-1.5 pl-6 text-xs [&_svg:not([class*='size-'])]:size-3\",\n },\n sm: {\n indicator: \"left-1 size-3.5 [&_svg:not([class*='size-'])]:size-3.5\",\n root: \"gap-1.5 rounded-[min(var(--radius-md),10px)] py-1 pr-1.5 pl-6.5 text-sm [&_svg:not([class*='size-'])]:size-3.5\",\n },\n md: {\n indicator: \"left-1.5 size-4 [&_svg:not([class*='size-'])]:size-4\",\n root: \"gap-1.5 py-1 pr-1.5 pl-7 text-sm [&_svg:not([class*='size-'])]:size-4\",\n },\n lg: {\n indicator: \"left-2 size-4 [&_svg:not([class*='size-'])]:size-4\",\n root: \"gap-2 py-1.5 pr-2 pl-8 text-sm [&_svg:not([class*='size-'])]:size-4\",\n },\n xl: {\n indicator: \"left-2.5 size-5 [&_svg:not([class*='size-'])]:size-5\",\n root: \"gap-2.5 py-2 pr-2.5 pl-9 text-base [&_svg:not([class*='size-'])]:size-5\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarCheckboxItemProps = MenuPrimitive.CheckboxItem.Props &\n VariantProps<typeof menubarCheckboxItemVariants>;\n\nconst MenubarCheckboxItem = ({\n className,\n children,\n checked,\n size,\n ...props\n}: MenubarCheckboxItemProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n const { indicator, root } = menubarCheckboxItemVariants({\n size: resolvedSize,\n });\n\n return (\n <MenuPrimitive.CheckboxItem\n checked={checked}\n className={cn(root(), className)}\n data-size={resolvedSize}\n data-slot=\"menubar-checkbox-item\"\n {...props}\n >\n <span className={indicator()}>\n <MenuPrimitive.CheckboxItemIndicator>\n <HugeiconsIcon icon={Tick02Icon} strokeWidth={2} />\n </MenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </MenuPrimitive.CheckboxItem>\n );\n};\n\nexport { MenubarCheckboxItem };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { DropdownMenuPopup } from \"../dropdown-menu/dropdown-menu\";\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarPopupVariants = tv({\n base: \"bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n variants: {\n size: {\n xs: \"min-w-28 rounded-[min(var(--radius-lg),10px)]\",\n sm: \"min-w-32 rounded-[min(var(--radius-lg),12px)]\",\n md: \"min-w-36 rounded-lg\",\n lg: \"min-w-40 rounded-lg\",\n xl: \"min-w-44 rounded-xl\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarPopupProps = ComponentProps<typeof DropdownMenuPopup> &\n VariantProps<typeof menubarPopupVariants> & {\n size?: InputSize;\n };\n\nconst MenubarPopup = ({ className, size, ...props }: MenubarPopupProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <DropdownMenuPopup\n className={cn(menubarPopupVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n data-slot=\"menubar-popup\"\n size={resolvedSize}\n {...props}\n />\n );\n};\n\nexport { MenubarPopup };\n","import type { ComponentProps } from \"react\";\n\nimport { DropdownMenuPortal } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarPortalProps = ComponentProps<typeof DropdownMenuPortal>;\n\nconst MenubarPortal = ({ ...props }: MenubarPortalProps) => (\n <DropdownMenuPortal data-slot=\"menubar-portal\" {...props} />\n);\n\nexport { MenubarPortal };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport { DropdownMenuPositioner } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarPositionerProps = ComponentProps<\n typeof DropdownMenuPositioner\n>;\n\nconst MenubarPositioner = ({ className, ...props }: MenubarPositionerProps) => (\n <DropdownMenuPositioner\n className={cn(className)}\n data-slot=\"menubar-positioner\"\n {...props}\n />\n);\n\nexport { MenubarPositioner };\n","import type { Menu as MenuPrimitive } from \"@base-ui/react/menu\";\nimport type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\nimport { MenubarPopup } from \"./menubar-popup\";\nimport { MenubarPortal } from \"./menubar-portal\";\nimport { MenubarPositioner } from \"./menubar-positioner\";\nexport type MenubarContentProps = ComponentProps<typeof MenubarPopup> &\n Pick<\n MenuPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n > & {\n size?: InputSize;\n };\n\nconst MenubarContent = ({\n className,\n align = \"start\",\n alignOffset = -4,\n side = \"bottom\",\n sideOffset = 8,\n size,\n ...props\n}: MenubarContentProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const resolvedSize = size ?? rootSize ?? \"md\";\n\n return (\n <MenubarOverlayContext.Provider value={{ size: resolvedSize }}>\n <MenubarPortal>\n <MenubarPositioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <MenubarPopup\n className={className}\n data-size={resolvedSize}\n data-slot=\"menubar-content\"\n size={resolvedSize}\n {...props}\n />\n </MenubarPositioner>\n </MenubarPortal>\n </MenubarOverlayContext.Provider>\n );\n};\n\nexport { MenubarContent };\n","import type { ComponentProps } from \"react\";\n\nimport { DropdownMenuGroup } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarGroupProps = ComponentProps<typeof DropdownMenuGroup>;\n\nconst MenubarGroup = ({ ...props }: MenubarGroupProps) => (\n <DropdownMenuGroup data-slot=\"menubar-group\" {...props} />\n);\n\nexport { MenubarGroup };\n","import { Menu as MenuPrimitive } from \"@base-ui/react/menu\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { dropdownMenuItemVariants } from \"../dropdown-menu/dropdown-menu-item\";\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarItemVariants = tv({\n base: \"group/menubar-item focus:bg-accent focus:text-accent-foreground data-[disabled]:opacity-50\",\n extend: dropdownMenuItemVariants,\n variants: {\n variant: {\n danger: \"*:[svg]:!text-danger-foreground\",\n default: \"focus:**:text-accent-foreground\",\n },\n },\n});\n\nexport type MenubarItemProps = MenuPrimitive.Item.Props &\n VariantProps<typeof menubarItemVariants>;\n\nconst MenubarItem = ({\n className,\n inset,\n size,\n variant = \"default\",\n ...props\n}: MenubarItemProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <MenuPrimitive.Item\n className={mergeBaseUIClassName<MenuPrimitive.Item.State>(\n menubarItemVariants({\n inset: Boolean(inset),\n size: resolvedSize,\n variant,\n }),\n className\n )}\n data-inset={inset}\n data-size={resolvedSize}\n data-slot=\"menubar-item\"\n data-variant={variant}\n {...props}\n />\n );\n};\n\nexport { MenubarItem };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { DropdownMenuLabel } from \"../dropdown-menu/dropdown-menu\";\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarLabelVariants = tv({\n base: \"font-medium data-[inset]:pl-8\",\n variants: {\n size: {\n xs: \"px-1.5 py-1 text-xs\",\n sm: \"px-1.5 py-1 text-xs\",\n md: \"px-1.5 py-1 text-sm\",\n lg: \"px-2 py-1.5 text-sm\",\n xl: \"px-2.5 py-1.5 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarLabelProps = ComponentProps<typeof DropdownMenuLabel> &\n VariantProps<typeof menubarLabelVariants> & {\n size?: InputSize;\n };\n\nconst MenubarLabel = ({\n className,\n inset,\n size,\n ...props\n}: MenubarLabelProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <DropdownMenuLabel\n className={cn(menubarLabelVariants({ size: resolvedSize }), className)}\n data-inset={inset}\n data-size={resolvedSize}\n data-slot=\"menubar-label\"\n size={resolvedSize}\n {...props}\n />\n );\n};\n\nexport { MenubarLabel };\n","import { Menu as MenuPrimitive } from \"@base-ui/react/menu\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { dropdownMenuLinkItemVariants } from \"../dropdown-menu/dropdown-menu-link-item\";\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarLinkItemVariants = tv({\n base: \"group/menubar-link-item focus:bg-accent focus:text-accent-foreground data-[disabled]:opacity-50\",\n extend: dropdownMenuLinkItemVariants,\n variants: {\n variant: {\n danger: \"*:[svg]:!text-danger-foreground\",\n default: \"focus:**:text-accent-foreground\",\n },\n },\n});\n\nexport type MenubarLinkItemProps = MenuPrimitive.LinkItem.Props &\n VariantProps<typeof menubarLinkItemVariants>;\n\nconst MenubarLinkItem = ({\n className,\n inset,\n size,\n variant = \"default\",\n ...props\n}: MenubarLinkItemProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <MenuPrimitive.LinkItem\n className={mergeBaseUIClassName<MenuPrimitive.LinkItem.State>(\n menubarLinkItemVariants({\n inset: Boolean(inset),\n size: resolvedSize,\n variant,\n }),\n className\n )}\n data-inset={inset}\n data-size={resolvedSize}\n data-slot=\"menubar-link-item\"\n data-variant={variant}\n {...props}\n />\n );\n};\n\nexport { MenubarLinkItem };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\n\nimport { DropdownMenu } from \"../dropdown-menu/dropdown-menu\";\nimport { MenubarContext } from \"./menubar-context\";\nexport type MenubarMenuProps = ComponentProps<typeof DropdownMenu>;\n\nconst MenubarMenu = ({ size, ...props }: MenubarMenuProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const resolvedSize = size ?? rootSize ?? \"md\";\n\n return (\n <DropdownMenu data-slot=\"menubar-menu\" size={resolvedSize} {...props} />\n );\n};\n\nexport { MenubarMenu };\n","import type { ComponentProps } from \"react\";\n\nimport { DropdownMenuRadioGroup } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarRadioGroupProps = ComponentProps<\n typeof DropdownMenuRadioGroup\n>;\n\nconst MenubarRadioGroup = ({ ...props }: MenubarRadioGroupProps) => (\n <DropdownMenuRadioGroup data-slot=\"menubar-radio-group\" {...props} />\n);\n\nexport { MenubarRadioGroup };\n","import { Menu as MenuPrimitive } from \"@base-ui/react/menu\";\nimport { Tick02Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarRadioItemVariants = tv({\n slots: {\n indicator:\n \"pointer-events-none absolute flex items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n root: \"relative flex cursor-pointer items-center rounded-md outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n },\n variants: {\n size: {\n xs: {\n indicator: \"left-1 size-3 [&_svg:not([class*='size-'])]:size-3\",\n root: \"gap-1 rounded-[min(var(--radius-md),8px)] py-1 pr-1.5 pl-6 text-xs [&_svg:not([class*='size-'])]:size-3\",\n },\n sm: {\n indicator: \"left-1 size-3.5 [&_svg:not([class*='size-'])]:size-3.5\",\n root: \"gap-1.5 rounded-[min(var(--radius-md),10px)] py-1 pr-1.5 pl-6.5 text-sm [&_svg:not([class*='size-'])]:size-3.5\",\n },\n md: {\n indicator: \"left-1.5 size-4 [&_svg:not([class*='size-'])]:size-4\",\n root: \"gap-1.5 py-1 pr-1.5 pl-7 text-sm [&_svg:not([class*='size-'])]:size-4\",\n },\n lg: {\n indicator: \"left-2 size-4 [&_svg:not([class*='size-'])]:size-4\",\n root: \"gap-2 py-1.5 pr-2 pl-8 text-sm [&_svg:not([class*='size-'])]:size-4\",\n },\n xl: {\n indicator: \"left-2.5 size-5 [&_svg:not([class*='size-'])]:size-5\",\n root: \"gap-2.5 py-2 pr-2.5 pl-9 text-base [&_svg:not([class*='size-'])]:size-5\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarRadioItemProps = MenuPrimitive.RadioItem.Props &\n VariantProps<typeof menubarRadioItemVariants>;\n\nconst MenubarRadioItem = ({\n className,\n children,\n size,\n ...props\n}: MenubarRadioItemProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n const { indicator, root } = menubarRadioItemVariants({\n size: resolvedSize,\n });\n\n return (\n <MenuPrimitive.RadioItem\n className={cn(root(), className)}\n data-size={resolvedSize}\n data-slot=\"menubar-radio-item\"\n {...props}\n >\n <span className={indicator()}>\n <MenuPrimitive.RadioItemIndicator>\n <HugeiconsIcon icon={Tick02Icon} strokeWidth={2} />\n </MenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </MenuPrimitive.RadioItem>\n );\n};\n\nexport { MenubarRadioItem };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport { DropdownMenuSeparator } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarSeparatorProps = ComponentProps<\n typeof DropdownMenuSeparator\n>;\n\nconst MenubarSeparator = ({ className, ...props }: MenubarSeparatorProps) => (\n <DropdownMenuSeparator\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n data-slot=\"menubar-separator\"\n {...props}\n />\n);\n\nexport { MenubarSeparator };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { DropdownMenuShortcut } from \"../dropdown-menu/dropdown-menu\";\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarShortcutVariants = tv({\n base: \"ml-auto text-muted-foreground group-focus/menubar-item:text-accent-foreground\",\n variants: {\n size: {\n xs: \"text-[10px] tracking-wide\",\n sm: \"text-xs tracking-wider\",\n md: \"text-xs tracking-widest\",\n lg: \"text-xs tracking-widest\",\n xl: \"text-sm tracking-wide\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarShortcutProps = ComponentProps<typeof DropdownMenuShortcut> &\n VariantProps<typeof menubarShortcutVariants> & {\n size?: InputSize;\n };\n\nconst MenubarShortcut = ({\n className,\n size,\n ...props\n}: MenubarShortcutProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <DropdownMenuShortcut\n className={cn(menubarShortcutVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n data-slot=\"menubar-shortcut\"\n size={resolvedSize}\n {...props}\n />\n );\n};\n\nexport { MenubarShortcut };\n","import type { ComponentProps } from \"react\";\n\nimport { DropdownMenuSub } from \"../dropdown-menu/dropdown-menu\";\nexport type MenubarSubProps = ComponentProps<typeof DropdownMenuSub>;\n\nconst MenubarSub = ({ ...props }: MenubarSubProps) => (\n <DropdownMenuSub data-slot=\"menubar-sub\" {...props} />\n);\n\nexport { MenubarSub };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { DropdownMenuSubContent } from \"../dropdown-menu/dropdown-menu\";\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarSubContentVariants = tv({\n base: \"shadow-lg\",\n variants: {\n size: {\n xs: \"min-w-28 rounded-[min(var(--radius-lg),10px)]\",\n sm: \"min-w-32 rounded-[min(var(--radius-lg),12px)]\",\n md: \"min-w-32 rounded-lg\",\n lg: \"min-w-36 rounded-lg\",\n xl: \"min-w-40 rounded-xl\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarSubContentProps = ComponentProps<\n typeof DropdownMenuSubContent\n> &\n VariantProps<typeof menubarSubContentVariants> & {\n size?: InputSize;\n };\n\nconst MenubarSubContent = ({\n className,\n size,\n ...props\n}: MenubarSubContentProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <DropdownMenuSubContent\n className={cn(\n menubarSubContentVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"menubar-sub-content\"\n size={resolvedSize}\n {...props}\n />\n );\n};\n\nexport { MenubarSubContent };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { DropdownMenuSubTrigger } from \"../dropdown-menu/dropdown-menu\";\nimport { MenubarContext } from \"./menubar-context\";\nimport { MenubarOverlayContext } from \"./menubar-overlay-context\";\n\nconst menubarSubTriggerVariants = tv({\n variants: {\n size: {\n xs: \"text-xs\",\n sm: \"text-sm\",\n md: \"text-sm\",\n lg: \"text-sm\",\n xl: \"text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarSubTriggerProps = ComponentProps<\n typeof DropdownMenuSubTrigger\n> & {\n inset?: boolean;\n} & VariantProps<typeof menubarSubTriggerVariants> & {\n size?: InputSize;\n };\n\nconst MenubarSubTrigger = ({\n className,\n inset,\n size,\n ...props\n}: MenubarSubTriggerProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const { size: overlaySize } = useContext(MenubarOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <DropdownMenuSubTrigger\n className={cn(\n menubarSubTriggerVariants({ size: resolvedSize }),\n className\n )}\n data-inset={inset}\n data-size={resolvedSize}\n data-slot=\"menubar-sub-trigger\"\n size={resolvedSize}\n {...props}\n />\n );\n};\n\nexport { MenubarSubTrigger };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { DropdownMenuTrigger } from \"../dropdown-menu/dropdown-menu\";\nimport { MenubarContext } from \"./menubar-context\";\n\nconst menubarTriggerVariants = tv({\n base: \"flex cursor-pointer items-center font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted\",\n variants: {\n size: {\n xs: \"h-5 rounded-[min(var(--radius-md),8px)] px-1.5 text-xs\",\n sm: \"h-6 rounded-[min(var(--radius-md),10px)] px-1.5 text-xs\",\n md: \"h-7 rounded-sm px-1.5 text-sm\",\n lg: \"h-8 rounded-md px-2 text-sm\",\n xl: \"h-9 rounded-md px-2.5 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type MenubarTriggerProps = ComponentProps<typeof DropdownMenuTrigger> &\n VariantProps<typeof menubarTriggerVariants> & {\n size?: InputSize;\n };\n\nconst MenubarTrigger = ({ className, size, ...props }: MenubarTriggerProps) => {\n const { size: rootSize } = useContext(MenubarContext);\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n\n return (\n <DropdownMenuTrigger\n className={cn(menubarTriggerVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n data-slot=\"menubar-trigger\"\n {...props}\n />\n );\n};\n\nexport { MenubarTrigger };\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-menu-viewport-MCTpmOhX.js","names":["NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive"],"sources":["../src/ui/navigation-menu/navigation-menu-arrow.tsx","../src/ui/navigation-menu/navigation-menu-backdrop.tsx","../src/ui/navigation-menu/navigation-menu-context.tsx","../src/ui/navigation-menu/navigation-menu-overlay-context.tsx","../src/ui/navigation-menu/navigation-menu-content.tsx","../src/ui/navigation-menu/navigation-menu-indicator.tsx","../src/ui/navigation-menu/navigation-menu-item.tsx","../src/ui/navigation-menu/navigation-menu-link.tsx","../src/ui/navigation-menu/navigation-menu-list.tsx","../src/ui/navigation-menu/navigation-menu-popup.tsx","../src/ui/navigation-menu/navigation-menu-portal.tsx","../src/ui/navigation-menu/navigation-menu-positioner.tsx","../src/ui/navigation-menu/navigation-menu-trigger.tsx","../src/ui/navigation-menu/navigation-menu-viewport.tsx"],"sourcesContent":["import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { cn } from \"tailwind-variants\";\nexport type NavigationMenuArrowProps = NavigationMenuPrimitive.Arrow.Props;\n\nconst NavigationMenuArrow = ({\n className,\n ...props\n}: NavigationMenuArrowProps) => (\n <NavigationMenuPrimitive.Arrow\n className={cn(\"fill-popover stroke-border\", className)}\n data-slot=\"navigation-menu-arrow\"\n {...props}\n />\n);\n\nexport { NavigationMenuArrow };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { cn } from \"tailwind-variants\";\nexport type NavigationMenuBackdropProps =\n NavigationMenuPrimitive.Backdrop.Props;\n\nconst NavigationMenuBackdrop = ({\n className,\n ...props\n}: NavigationMenuBackdropProps) => (\n <NavigationMenuPrimitive.Backdrop\n className={cn(className)}\n data-slot=\"navigation-menu-backdrop\"\n {...props}\n />\n);\n\nexport { NavigationMenuBackdrop };\n","import { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface NavigationMenuContextValue {\n size?: InputSize;\n}\n\nconst NavigationMenuContext = createContext<NavigationMenuContextValue>({\n size: \"md\",\n});\n\nexport { NavigationMenuContext };\n","import { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface NavigationMenuOverlayContextValue {\n size?: InputSize;\n}\n\nconst NavigationMenuOverlayContext =\n createContext<NavigationMenuOverlayContextValue>({});\n\nexport { NavigationMenuOverlayContext };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { NavigationMenuContext } from \"./navigation-menu-context\";\nimport { NavigationMenuOverlayContext } from \"./navigation-menu-overlay-context\";\n\nconst navigationMenuContentVariants = tv({\n base: \"h-full w-auto ease-[cubic-bezier(0.22,1,0.36,1)] group-data-[viewport=false]/navigation-menu:rounded-lg group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:ring-1 group-data-[viewport=false]/navigation-menu:ring-foreground/10 group-data-[viewport=false]/navigation-menu:duration-300 group-data-[viewport=false]/navigation-menu:data-closed:animate-out group-data-[viewport=false]/navigation-menu:data-closed:fade-out-0 group-data-[viewport=false]/navigation-menu:data-closed:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-open:animate-in group-data-[viewport=false]/navigation-menu:data-open:fade-in-0 group-data-[viewport=false]/navigation-menu:data-open:zoom-in-95 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none\",\n variants: {\n size: {\n xs: \"p-0.5\",\n sm: \"p-1\",\n md: \"p-1\",\n lg: \"p-1.5\",\n xl: \"p-2\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NavigationMenuContentProps = NavigationMenuPrimitive.Content.Props &\n VariantProps<typeof navigationMenuContentVariants> & {\n size?: InputSize;\n };\n\nconst NavigationMenuContent = ({\n className,\n size,\n ...props\n}: NavigationMenuContentProps) => {\n const { size: rootSize } = useContext(NavigationMenuContext);\n const { size: overlaySize } = useContext(NavigationMenuOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <NavigationMenuOverlayContext.Provider value={{ size: resolvedSize }}>\n <NavigationMenuPrimitive.Content\n className={cn(\n navigationMenuContentVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-menu-content\"\n {...props}\n />\n </NavigationMenuOverlayContext.Provider>\n );\n};\n\nexport { NavigationMenuContent };\n","import type { ComponentProps } from \"react\";\n\nimport { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { NavigationMenuContext } from \"./navigation-menu-context\";\n\nconst navigationMenuIndicatorVariants = tv({\n slots: {\n arrow: \"relative rotate-45 bg-border shadow-md\",\n root: \"top-full z-[1] flex items-end justify-center overflow-hidden opacity-0 transition-opacity duration-200 data-popup-open:opacity-100\",\n },\n variants: {\n size: {\n xs: {\n arrow: \"top-[55%] h-1.5 w-1.5 rounded-tl-[2px]\",\n root: \"h-1\",\n },\n sm: {\n arrow: \"top-[58%] h-2 w-2 rounded-tl-sm\",\n root: \"h-1.5\",\n },\n md: {\n arrow: \"top-[60%] h-2 w-2 rounded-tl-sm\",\n root: \"h-1.5\",\n },\n lg: {\n arrow: \"top-[62%] h-2.5 w-2.5 rounded-tl-sm\",\n root: \"h-2\",\n },\n xl: {\n arrow: \"top-[64%] h-3 w-3 rounded-tl-sm\",\n root: \"h-2.5\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NavigationMenuIndicatorProps = ComponentProps<\n typeof NavigationMenuPrimitive.Icon\n> &\n VariantProps<typeof navigationMenuIndicatorVariants> & {\n size?: InputSize;\n };\n\nconst NavigationMenuIndicator = ({\n className,\n size,\n ...props\n}: NavigationMenuIndicatorProps) => {\n const { size: rootSize } = useContext(NavigationMenuContext);\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n const { arrow, root } = navigationMenuIndicatorVariants({\n size: resolvedSize,\n });\n\n return (\n <NavigationMenuPrimitive.Icon\n className={mergeBaseUIClassName<NavigationMenuPrimitive.Icon.State>(\n cn(root()),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-menu-indicator\"\n {...props}\n >\n <div className={arrow()} />\n </NavigationMenuPrimitive.Icon>\n );\n};\n\nexport { NavigationMenuIndicator };\n","import type { ComponentProps } from \"react\";\n\nimport { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { NavigationMenuContext } from \"./navigation-menu-context\";\n\nconst navigationMenuItemVariants = tv({\n base: \"relative\",\n variants: {\n size: {\n xs: \"\",\n sm: \"\",\n md: \"\",\n lg: \"\",\n xl: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NavigationMenuItemProps = ComponentProps<\n typeof NavigationMenuPrimitive.Item\n> &\n VariantProps<typeof navigationMenuItemVariants> & {\n size?: InputSize;\n };\n\nconst NavigationMenuItem = ({\n className,\n size,\n ...props\n}: NavigationMenuItemProps) => {\n const { size: rootSize } = useContext(NavigationMenuContext);\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n\n return (\n <NavigationMenuPrimitive.Item\n className={cn(\n navigationMenuItemVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-menu-item\"\n {...props}\n />\n );\n};\n\nexport { NavigationMenuItem };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { NavigationMenuContext } from \"./navigation-menu-context\";\nimport { NavigationMenuOverlayContext } from \"./navigation-menu-overlay-context\";\n\nconst navigationMenuLinkVariants = tv({\n base: \"flex flex-col transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted\",\n variants: {\n size: {\n xs: \"gap-1 rounded-[min(var(--radius-md),8px)] p-1.5 text-xs [&_svg:not([class*='size-'])]:size-3\",\n sm: \"gap-1.5 rounded-[min(var(--radius-md),10px)] p-2 text-sm [&_svg:not([class*='size-'])]:size-3.5\",\n md: \"gap-2 rounded-lg p-2 text-sm [&_svg:not([class*='size-'])]:size-4\",\n lg: \"gap-2 rounded-lg p-2.5 text-sm [&_svg:not([class*='size-'])]:size-4\",\n xl: \"gap-2.5 rounded-lg p-3 text-base [&_svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NavigationMenuLinkProps = NavigationMenuPrimitive.Link.Props &\n VariantProps<typeof navigationMenuLinkVariants> & {\n size?: InputSize;\n };\n\nconst NavigationMenuLink = ({\n className,\n size,\n ...props\n}: NavigationMenuLinkProps) => {\n const { size: rootSize } = useContext(NavigationMenuContext);\n const { size: overlaySize } = useContext(NavigationMenuOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <NavigationMenuPrimitive.Link\n className={cn(\n navigationMenuLinkVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-menu-link\"\n {...props}\n />\n );\n};\n\nexport { NavigationMenuLink };\n","import type { ComponentProps } from \"react\";\n\nimport { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { NavigationMenuContext } from \"./navigation-menu-context\";\n\nconst navigationMenuListVariants = tv({\n base: \"group flex flex-1 list-none items-center justify-center\",\n variants: {\n size: {\n xs: \"gap-0.5\",\n sm: \"gap-0.5\",\n md: \"gap-0\",\n lg: \"gap-0.5\",\n xl: \"gap-1\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NavigationMenuListProps = ComponentProps<\n typeof NavigationMenuPrimitive.List\n> &\n VariantProps<typeof navigationMenuListVariants> & {\n size?: InputSize;\n };\n\nconst NavigationMenuList = ({\n className,\n size,\n ...props\n}: NavigationMenuListProps) => {\n const { size: rootSize } = useContext(NavigationMenuContext);\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n\n return (\n <NavigationMenuPrimitive.List\n className={cn(\n navigationMenuListVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-menu-list\"\n {...props}\n />\n );\n};\n\nexport { NavigationMenuList };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { NavigationMenuContext } from \"./navigation-menu-context\";\nimport { NavigationMenuOverlayContext } from \"./navigation-menu-overlay-context\";\n\nconst navigationMenuPopupVariants = tv({\n base: \"xs:w-(--popup-width) relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) bg-popover text-popover-foreground shadow ring-1 ring-foreground/10 transition-all ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-[ending-style]:scale-90 data-[ending-style]:opacity-0 data-[ending-style]:duration-150 data-[starting-style]:scale-90 data-[starting-style]:opacity-0\",\n variants: {\n size: {\n xs: \"rounded-[min(var(--radius-md),8px)]\",\n sm: \"rounded-[min(var(--radius-md),10px)]\",\n md: \"rounded-lg\",\n lg: \"rounded-xl\",\n xl: \"rounded-xl\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NavigationMenuPopupProps = NavigationMenuPrimitive.Popup.Props &\n VariantProps<typeof navigationMenuPopupVariants> & {\n size?: InputSize;\n };\n\nconst NavigationMenuPopup = ({\n className,\n size,\n ...props\n}: NavigationMenuPopupProps) => {\n const { size: rootSize } = useContext(NavigationMenuContext);\n const { size: overlaySize } = useContext(NavigationMenuOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <NavigationMenuPrimitive.Popup\n className={cn(\n navigationMenuPopupVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-menu-popup\"\n {...props}\n />\n );\n};\n\nexport { NavigationMenuPopup };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nexport type NavigationMenuPortalProps = NavigationMenuPrimitive.Portal.Props;\n\nconst NavigationMenuPortal = ({ ...props }: NavigationMenuPortalProps) => (\n <NavigationMenuPrimitive.Portal\n data-slot=\"navigation-menu-portal\"\n {...props}\n />\n);\n\nexport { NavigationMenuPortal };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { cn } from \"tailwind-variants\";\nexport type NavigationMenuPositionerProps =\n NavigationMenuPrimitive.Positioner.Props;\n\nconst NavigationMenuPositioner = ({\n className,\n side = \"bottom\",\n sideOffset = 8,\n align = \"start\",\n alignOffset = 0,\n ...props\n}: NavigationMenuPositionerProps) => (\n <NavigationMenuPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n className={cn(\n \"isolate z-50 h-[var(--positioner-height)] w-[var(--positioner-width)] max-w-[var(--available-width)] transition-[top,left,right,bottom] duration-300 ease-[cubic-bezier(0.22,1,0.36,1)] data-[instant]:transition-none data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0\",\n className\n )}\n data-slot=\"navigation-menu-positioner\"\n side={side}\n sideOffset={sideOffset}\n {...props}\n />\n);\n\nexport { NavigationMenuPositioner };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { ArrowDown01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { NavigationMenuContext } from \"./navigation-menu-context\";\n\nconst navigationMenuTriggerStyle = tv({\n slots: {\n icon: \"relative top-[1px] ml-1 transition duration-300 group-data-open/navigation-menu-trigger:rotate-180 group-data-popup-open/navigation-menu-trigger:rotate-180\",\n root: \"group/navigation-menu-trigger inline-flex w-max cursor-pointer items-center justify-center bg-background font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted\",\n },\n variants: {\n size: {\n xs: {\n icon: \"size-3\",\n root: \"h-6 rounded-[min(var(--radius-md),8px)] px-2 py-0.5 text-xs\",\n },\n sm: {\n icon: \"size-3.5\",\n root: \"h-8 rounded-[min(var(--radius-md),10px)] px-2.5 py-1 text-sm\",\n },\n md: {\n icon: \"size-3\",\n root: \"h-9 rounded-lg px-2.5 py-1.5 text-sm\",\n },\n lg: {\n icon: \"size-4\",\n root: \"h-10 rounded-lg px-3 py-1.5 text-sm\",\n },\n xl: {\n icon: \"size-5\",\n root: \"h-11 rounded-lg px-4 py-1.5 text-base\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NavigationMenuTriggerProps = NavigationMenuPrimitive.Trigger.Props &\n VariantProps<typeof navigationMenuTriggerStyle> & {\n size?: InputSize;\n };\n\nconst NavigationMenuTrigger = ({\n className,\n children,\n size,\n ...props\n}: NavigationMenuTriggerProps) => {\n const { size: rootSize } = useContext(NavigationMenuContext);\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n const { icon, root } = navigationMenuTriggerStyle({ size: resolvedSize });\n\n return (\n <NavigationMenuPrimitive.Trigger\n className={cn(root(), \"group\", className)}\n data-size={resolvedSize}\n data-slot=\"navigation-menu-trigger\"\n {...props}\n >\n {children}{\" \"}\n <HugeiconsIcon\n aria-hidden=\"true\"\n className={icon()}\n icon={ArrowDown01Icon}\n strokeWidth={2}\n />\n </NavigationMenuPrimitive.Trigger>\n );\n};\n\nexport { NavigationMenuTrigger, navigationMenuTriggerStyle };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { cn } from \"tailwind-variants\";\nexport type NavigationMenuViewportProps =\n NavigationMenuPrimitive.Viewport.Props;\n\nconst NavigationMenuViewport = ({\n className,\n ...props\n}: NavigationMenuViewportProps) => (\n <NavigationMenuPrimitive.Viewport\n className={cn(\"relative size-full overflow-hidden\", className)}\n data-slot=\"navigation-menu-viewport\"\n {...props}\n />\n);\n\nexport { NavigationMenuViewport };\n"],"mappings":"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"}
1
+ {"version":3,"file":"navigation-menu-viewport-MCTpmOhX.js","names":["NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive","NavigationMenuPrimitive"],"sources":["../src/ui/navigation-menu/navigation-menu-arrow.tsx","../src/ui/navigation-menu/navigation-menu-backdrop.tsx","../src/ui/navigation-menu/navigation-menu-context.tsx","../src/ui/navigation-menu/navigation-menu-overlay-context.tsx","../src/ui/navigation-menu/navigation-menu-content.tsx","../src/ui/navigation-menu/navigation-menu-indicator.tsx","../src/ui/navigation-menu/navigation-menu-item.tsx","../src/ui/navigation-menu/navigation-menu-link.tsx","../src/ui/navigation-menu/navigation-menu-list.tsx","../src/ui/navigation-menu/navigation-menu-popup.tsx","../src/ui/navigation-menu/navigation-menu-portal.tsx","../src/ui/navigation-menu/navigation-menu-positioner.tsx","../src/ui/navigation-menu/navigation-menu-trigger.tsx","../src/ui/navigation-menu/navigation-menu-viewport.tsx"],"sourcesContent":["import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { cn } from \"tailwind-variants\";\nexport type NavigationMenuArrowProps = NavigationMenuPrimitive.Arrow.Props;\n\nconst NavigationMenuArrow = ({\n className,\n ...props\n}: NavigationMenuArrowProps) => (\n <NavigationMenuPrimitive.Arrow\n className={cn(\"fill-popover stroke-border\", className)}\n data-slot=\"navigation-menu-arrow\"\n {...props}\n />\n);\n\nexport { NavigationMenuArrow };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { cn } from \"tailwind-variants\";\nexport type NavigationMenuBackdropProps =\n NavigationMenuPrimitive.Backdrop.Props;\n\nconst NavigationMenuBackdrop = ({\n className,\n ...props\n}: NavigationMenuBackdropProps) => (\n <NavigationMenuPrimitive.Backdrop\n className={cn(className)}\n data-slot=\"navigation-menu-backdrop\"\n {...props}\n />\n);\n\nexport { NavigationMenuBackdrop };\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface NavigationMenuContextValue {\n size?: InputSize;\n}\n\nconst NavigationMenuContext = createContext<NavigationMenuContextValue>({\n size: \"md\",\n});\n\nexport { NavigationMenuContext };\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface NavigationMenuOverlayContextValue {\n size?: InputSize;\n}\n\nconst NavigationMenuOverlayContext =\n createContext<NavigationMenuOverlayContextValue>({});\n\nexport { NavigationMenuOverlayContext };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { NavigationMenuContext } from \"./navigation-menu-context\";\nimport { NavigationMenuOverlayContext } from \"./navigation-menu-overlay-context\";\n\nconst navigationMenuContentVariants = tv({\n base: \"h-full w-auto ease-[cubic-bezier(0.22,1,0.36,1)] group-data-[viewport=false]/navigation-menu:rounded-lg group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:ring-1 group-data-[viewport=false]/navigation-menu:ring-foreground/10 group-data-[viewport=false]/navigation-menu:duration-300 group-data-[viewport=false]/navigation-menu:data-closed:animate-out group-data-[viewport=false]/navigation-menu:data-closed:fade-out-0 group-data-[viewport=false]/navigation-menu:data-closed:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-open:animate-in group-data-[viewport=false]/navigation-menu:data-open:fade-in-0 group-data-[viewport=false]/navigation-menu:data-open:zoom-in-95 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none\",\n variants: {\n size: {\n xs: \"p-0.5\",\n sm: \"p-1\",\n md: \"p-1\",\n lg: \"p-1.5\",\n xl: \"p-2\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NavigationMenuContentProps = NavigationMenuPrimitive.Content.Props &\n VariantProps<typeof navigationMenuContentVariants> & {\n size?: InputSize;\n };\n\nconst NavigationMenuContent = ({\n className,\n size,\n ...props\n}: NavigationMenuContentProps) => {\n const { size: rootSize } = useContext(NavigationMenuContext);\n const { size: overlaySize } = useContext(NavigationMenuOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <NavigationMenuOverlayContext.Provider value={{ size: resolvedSize }}>\n <NavigationMenuPrimitive.Content\n className={cn(\n navigationMenuContentVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-menu-content\"\n {...props}\n />\n </NavigationMenuOverlayContext.Provider>\n );\n};\n\nexport { NavigationMenuContent };\n","import type { ComponentProps } from \"react\";\n\nimport { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { NavigationMenuContext } from \"./navigation-menu-context\";\n\nconst navigationMenuIndicatorVariants = tv({\n slots: {\n arrow: \"relative rotate-45 bg-border shadow-md\",\n root: \"top-full z-[1] flex items-end justify-center overflow-hidden opacity-0 transition-opacity duration-200 data-popup-open:opacity-100\",\n },\n variants: {\n size: {\n xs: {\n arrow: \"top-[55%] h-1.5 w-1.5 rounded-tl-[2px]\",\n root: \"h-1\",\n },\n sm: {\n arrow: \"top-[58%] h-2 w-2 rounded-tl-sm\",\n root: \"h-1.5\",\n },\n md: {\n arrow: \"top-[60%] h-2 w-2 rounded-tl-sm\",\n root: \"h-1.5\",\n },\n lg: {\n arrow: \"top-[62%] h-2.5 w-2.5 rounded-tl-sm\",\n root: \"h-2\",\n },\n xl: {\n arrow: \"top-[64%] h-3 w-3 rounded-tl-sm\",\n root: \"h-2.5\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NavigationMenuIndicatorProps = ComponentProps<\n typeof NavigationMenuPrimitive.Icon\n> &\n VariantProps<typeof navigationMenuIndicatorVariants> & {\n size?: InputSize;\n };\n\nconst NavigationMenuIndicator = ({\n className,\n size,\n ...props\n}: NavigationMenuIndicatorProps) => {\n const { size: rootSize } = useContext(NavigationMenuContext);\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n const { arrow, root } = navigationMenuIndicatorVariants({\n size: resolvedSize,\n });\n\n return (\n <NavigationMenuPrimitive.Icon\n className={mergeBaseUIClassName<NavigationMenuPrimitive.Icon.State>(\n cn(root()),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-menu-indicator\"\n {...props}\n >\n <div className={arrow()} />\n </NavigationMenuPrimitive.Icon>\n );\n};\n\nexport { NavigationMenuIndicator };\n","import type { ComponentProps } from \"react\";\n\nimport { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { NavigationMenuContext } from \"./navigation-menu-context\";\n\nconst navigationMenuItemVariants = tv({\n base: \"relative\",\n variants: {\n size: {\n xs: \"\",\n sm: \"\",\n md: \"\",\n lg: \"\",\n xl: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NavigationMenuItemProps = ComponentProps<\n typeof NavigationMenuPrimitive.Item\n> &\n VariantProps<typeof navigationMenuItemVariants> & {\n size?: InputSize;\n };\n\nconst NavigationMenuItem = ({\n className,\n size,\n ...props\n}: NavigationMenuItemProps) => {\n const { size: rootSize } = useContext(NavigationMenuContext);\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n\n return (\n <NavigationMenuPrimitive.Item\n className={cn(\n navigationMenuItemVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-menu-item\"\n {...props}\n />\n );\n};\n\nexport { NavigationMenuItem };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { NavigationMenuContext } from \"./navigation-menu-context\";\nimport { NavigationMenuOverlayContext } from \"./navigation-menu-overlay-context\";\n\nconst navigationMenuLinkVariants = tv({\n base: \"flex flex-col transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted\",\n variants: {\n size: {\n xs: \"gap-1 rounded-[min(var(--radius-md),8px)] p-1.5 text-xs [&_svg:not([class*='size-'])]:size-3\",\n sm: \"gap-1.5 rounded-[min(var(--radius-md),10px)] p-2 text-sm [&_svg:not([class*='size-'])]:size-3.5\",\n md: \"gap-2 rounded-lg p-2 text-sm [&_svg:not([class*='size-'])]:size-4\",\n lg: \"gap-2 rounded-lg p-2.5 text-sm [&_svg:not([class*='size-'])]:size-4\",\n xl: \"gap-2.5 rounded-lg p-3 text-base [&_svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NavigationMenuLinkProps = NavigationMenuPrimitive.Link.Props &\n VariantProps<typeof navigationMenuLinkVariants> & {\n size?: InputSize;\n };\n\nconst NavigationMenuLink = ({\n className,\n size,\n ...props\n}: NavigationMenuLinkProps) => {\n const { size: rootSize } = useContext(NavigationMenuContext);\n const { size: overlaySize } = useContext(NavigationMenuOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <NavigationMenuPrimitive.Link\n className={cn(\n navigationMenuLinkVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-menu-link\"\n {...props}\n />\n );\n};\n\nexport { NavigationMenuLink };\n","import type { ComponentProps } from \"react\";\n\nimport { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { NavigationMenuContext } from \"./navigation-menu-context\";\n\nconst navigationMenuListVariants = tv({\n base: \"group flex flex-1 list-none items-center justify-center\",\n variants: {\n size: {\n xs: \"gap-0.5\",\n sm: \"gap-0.5\",\n md: \"gap-0\",\n lg: \"gap-0.5\",\n xl: \"gap-1\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NavigationMenuListProps = ComponentProps<\n typeof NavigationMenuPrimitive.List\n> &\n VariantProps<typeof navigationMenuListVariants> & {\n size?: InputSize;\n };\n\nconst NavigationMenuList = ({\n className,\n size,\n ...props\n}: NavigationMenuListProps) => {\n const { size: rootSize } = useContext(NavigationMenuContext);\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n\n return (\n <NavigationMenuPrimitive.List\n className={cn(\n navigationMenuListVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-menu-list\"\n {...props}\n />\n );\n};\n\nexport { NavigationMenuList };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { NavigationMenuContext } from \"./navigation-menu-context\";\nimport { NavigationMenuOverlayContext } from \"./navigation-menu-overlay-context\";\n\nconst navigationMenuPopupVariants = tv({\n base: \"xs:w-(--popup-width) relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) bg-popover text-popover-foreground shadow ring-1 ring-foreground/10 transition-all ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-[ending-style]:scale-90 data-[ending-style]:opacity-0 data-[ending-style]:duration-150 data-[starting-style]:scale-90 data-[starting-style]:opacity-0\",\n variants: {\n size: {\n xs: \"rounded-[min(var(--radius-md),8px)]\",\n sm: \"rounded-[min(var(--radius-md),10px)]\",\n md: \"rounded-lg\",\n lg: \"rounded-xl\",\n xl: \"rounded-xl\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NavigationMenuPopupProps = NavigationMenuPrimitive.Popup.Props &\n VariantProps<typeof navigationMenuPopupVariants> & {\n size?: InputSize;\n };\n\nconst NavigationMenuPopup = ({\n className,\n size,\n ...props\n}: NavigationMenuPopupProps) => {\n const { size: rootSize } = useContext(NavigationMenuContext);\n const { size: overlaySize } = useContext(NavigationMenuOverlayContext);\n const resolvedSize: InputSize = size ?? overlaySize ?? rootSize ?? \"md\";\n\n return (\n <NavigationMenuPrimitive.Popup\n className={cn(\n navigationMenuPopupVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-menu-popup\"\n {...props}\n />\n );\n};\n\nexport { NavigationMenuPopup };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nexport type NavigationMenuPortalProps = NavigationMenuPrimitive.Portal.Props;\n\nconst NavigationMenuPortal = ({ ...props }: NavigationMenuPortalProps) => (\n <NavigationMenuPrimitive.Portal\n data-slot=\"navigation-menu-portal\"\n {...props}\n />\n);\n\nexport { NavigationMenuPortal };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { cn } from \"tailwind-variants\";\nexport type NavigationMenuPositionerProps =\n NavigationMenuPrimitive.Positioner.Props;\n\nconst NavigationMenuPositioner = ({\n className,\n side = \"bottom\",\n sideOffset = 8,\n align = \"start\",\n alignOffset = 0,\n ...props\n}: NavigationMenuPositionerProps) => (\n <NavigationMenuPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n className={cn(\n \"isolate z-50 h-[var(--positioner-height)] w-[var(--positioner-width)] max-w-[var(--available-width)] transition-[top,left,right,bottom] duration-300 ease-[cubic-bezier(0.22,1,0.36,1)] data-[instant]:transition-none data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0\",\n className\n )}\n data-slot=\"navigation-menu-positioner\"\n side={side}\n sideOffset={sideOffset}\n {...props}\n />\n);\n\nexport { NavigationMenuPositioner };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { ArrowDown01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { NavigationMenuContext } from \"./navigation-menu-context\";\n\nconst navigationMenuTriggerStyle = tv({\n slots: {\n icon: \"relative top-[1px] ml-1 transition duration-300 group-data-open/navigation-menu-trigger:rotate-180 group-data-popup-open/navigation-menu-trigger:rotate-180\",\n root: \"group/navigation-menu-trigger inline-flex w-max cursor-pointer items-center justify-center bg-background font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted\",\n },\n variants: {\n size: {\n xs: {\n icon: \"size-3\",\n root: \"h-6 rounded-[min(var(--radius-md),8px)] px-2 py-0.5 text-xs\",\n },\n sm: {\n icon: \"size-3.5\",\n root: \"h-8 rounded-[min(var(--radius-md),10px)] px-2.5 py-1 text-sm\",\n },\n md: {\n icon: \"size-3\",\n root: \"h-9 rounded-lg px-2.5 py-1.5 text-sm\",\n },\n lg: {\n icon: \"size-4\",\n root: \"h-10 rounded-lg px-3 py-1.5 text-sm\",\n },\n xl: {\n icon: \"size-5\",\n root: \"h-11 rounded-lg px-4 py-1.5 text-base\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NavigationMenuTriggerProps = NavigationMenuPrimitive.Trigger.Props &\n VariantProps<typeof navigationMenuTriggerStyle> & {\n size?: InputSize;\n };\n\nconst NavigationMenuTrigger = ({\n className,\n children,\n size,\n ...props\n}: NavigationMenuTriggerProps) => {\n const { size: rootSize } = useContext(NavigationMenuContext);\n const resolvedSize: InputSize = size ?? rootSize ?? \"md\";\n const { icon, root } = navigationMenuTriggerStyle({ size: resolvedSize });\n\n return (\n <NavigationMenuPrimitive.Trigger\n className={cn(root(), \"group\", className)}\n data-size={resolvedSize}\n data-slot=\"navigation-menu-trigger\"\n {...props}\n >\n {children}{\" \"}\n <HugeiconsIcon\n aria-hidden=\"true\"\n className={icon()}\n icon={ArrowDown01Icon}\n strokeWidth={2}\n />\n </NavigationMenuPrimitive.Trigger>\n );\n};\n\nexport { NavigationMenuTrigger, navigationMenuTriggerStyle };\n","import { NavigationMenu as NavigationMenuPrimitive } from \"@base-ui/react/navigation-menu\";\nimport { cn } from \"tailwind-variants\";\nexport type NavigationMenuViewportProps =\n NavigationMenuPrimitive.Viewport.Props;\n\nconst NavigationMenuViewport = ({\n className,\n ...props\n}: NavigationMenuViewportProps) => (\n <NavigationMenuPrimitive.Viewport\n className={cn(\"relative size-full overflow-hidden\", className)}\n data-slot=\"navigation-menu-viewport\"\n {...props}\n />\n);\n\nexport { NavigationMenuViewport };\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"number-field-scrub-area-cursor-h-iB-JHz.js","names":["getNumberFieldStepperIconSize","BaseNumberField","BaseNumberField","BaseNumberField","BaseNumberField","BaseNumberField","BaseNumberField"],"sources":["../src/ui/number-field/number-field-context.tsx","../src/ui/number-field/number-field-decrement.tsx","../src/ui/number-field/number-field-group.tsx","../src/ui/number-field/number-field-increment.tsx","../src/ui/number-field/number-field-input.tsx","../src/ui/number-field/number-field-scrub-area.tsx","../src/ui/number-field/number-field-scrub-area-cursor.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface NumberFieldContextValue {\n size?: InputSize;\n}\n\nconst NumberFieldContext = createContext<NumberFieldContextValue>({\n size: \"md\",\n});\n\nexport { NumberFieldContext };\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { MinusSignIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { NumberFieldContext } from \"./number-field-context\";\n\nexport type NumberFieldDecrementProps = ComponentProps<\n typeof BaseNumberField.Decrement\n> &\n VariantProps<typeof numberFieldDecrementVariants>;\n\nconst numberFieldDecrementVariants = tv({\n base: \"flex cursor-pointer items-center justify-center border border-input bg-muted text-foreground transition-colors select-none hover:border-ring/70 disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n size: {\n xs: \"size-6 rounded-l-[min(var(--radius-md),8px)]\",\n sm: \"size-8 rounded-l-[min(var(--radius-md),10px)]\",\n md: \"size-9 rounded-l-md\",\n lg: \"size-10 rounded-l-md\",\n xl: \"size-11 rounded-l-md\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst getNumberFieldStepperIconSize = (size: InputSize) => {\n if (size === \"xs\") {\n return 12;\n }\n\n if (size === \"lg\") {\n return 15;\n }\n\n if (size === \"xl\") {\n return 16;\n }\n\n return 14;\n};\n\nexport const NumberFieldDecrement = ({\n className,\n children,\n size,\n ...props\n}: NumberFieldDecrementProps) => {\n const { size: contextSize } = useContext(NumberFieldContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <BaseNumberField.Decrement\n className={mergeBaseUIClassName(\n numberFieldDecrementVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"number-field-decrement\"\n {...props}\n >\n {children ?? (\n <HugeiconsIcon\n size={getNumberFieldStepperIconSize(resolvedSize)}\n icon={MinusSignIcon}\n />\n )}\n </BaseNumberField.Decrement>\n );\n};\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type NumberFieldGroupProps = ComponentProps<\n typeof BaseNumberField.Group\n>;\n\nexport const NumberFieldGroup = ({\n className,\n ...props\n}: NumberFieldGroupProps) => (\n <BaseNumberField.Group\n className={mergeBaseUIClassName(\n \"flex rounded-md text-foreground shadow-xs transition-shadow focus-within:ring-[3px] focus-within:ring-ring/30\",\n className\n )}\n data-slot=\"number-field-group\"\n {...props}\n />\n);\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { Add01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { NumberFieldContext } from \"./number-field-context\";\n\nexport type NumberFieldIncrementProps = ComponentProps<\n typeof BaseNumberField.Increment\n> &\n VariantProps<typeof numberFieldIncrementVariants>;\n\nconst numberFieldIncrementVariants = tv({\n base: \"flex cursor-pointer items-center justify-center border border-input bg-muted text-foreground transition-colors select-none hover:border-ring/70 disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n size: {\n xs: \"size-6 rounded-r-[min(var(--radius-md),8px)]\",\n sm: \"size-8 rounded-r-[min(var(--radius-md),10px)]\",\n md: \"size-9 rounded-r-md\",\n lg: \"size-10 rounded-r-md\",\n xl: \"size-11 rounded-r-md\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst getNumberFieldStepperIconSize = (size: InputSize) => {\n if (size === \"xs\") {\n return 12;\n }\n\n if (size === \"lg\") {\n return 15;\n }\n\n if (size === \"xl\") {\n return 16;\n }\n\n return 14;\n};\n\nexport const NumberFieldIncrement = ({\n className,\n children,\n size,\n ...props\n}: NumberFieldIncrementProps) => {\n const { size: contextSize } = useContext(NumberFieldContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <BaseNumberField.Increment\n className={mergeBaseUIClassName(\n numberFieldIncrementVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"number-field-increment\"\n {...props}\n >\n {children ?? (\n <HugeiconsIcon\n size={getNumberFieldStepperIconSize(resolvedSize)}\n icon={Add01Icon}\n />\n )}\n </BaseNumberField.Increment>\n );\n};\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { NumberFieldContext } from \"./number-field-context\";\n\nconst numberFieldInputVariants = tv({\n base: \"w-20 border-y border-input bg-background text-center tabular-nums text-foreground transition-colors focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n size: {\n xs: \"h-6 text-xs\",\n sm: \"h-8 text-sm\",\n md: \"h-9 text-sm\",\n lg: \"h-10 text-sm\",\n xl: \"h-11 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype NativeNumberFieldInputProps = ComponentProps<typeof BaseNumberField.Input>;\ntype NativeNumberFieldInputSize = NativeNumberFieldInputProps[\"size\"];\n\nexport type NumberFieldInputProps = Omit<NativeNumberFieldInputProps, \"size\"> &\n VariantProps<typeof numberFieldInputVariants> & {\n htmlSize?: NativeNumberFieldInputSize;\n };\n\nexport const NumberFieldInput = ({\n className,\n htmlSize,\n size,\n ...props\n}: NumberFieldInputProps) => {\n const { size: contextSize } = useContext(NumberFieldContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <BaseNumberField.Input\n className={mergeBaseUIClassName(\n numberFieldInputVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"number-field-input\"\n size={htmlSize}\n {...props}\n />\n );\n};\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type NumberFieldScrubAreaProps = ComponentProps<\n typeof BaseNumberField.ScrubArea\n>;\n\nexport const NumberFieldScrubArea = ({\n className,\n children,\n ...props\n}: NumberFieldScrubAreaProps) => (\n <BaseNumberField.ScrubArea\n className={mergeBaseUIClassName(\"cursor-ew-resize\", className)}\n data-slot=\"number-field-scrub-area\"\n {...props}\n >\n {children}\n </BaseNumberField.ScrubArea>\n);\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { ArrowHorizontalIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type NumberFieldScrubAreaCursorProps = ComponentProps<\n typeof BaseNumberField.ScrubAreaCursor\n>;\n\nexport const NumberFieldScrubAreaCursor = ({\n className,\n children,\n ...props\n}: NumberFieldScrubAreaCursorProps) => (\n <BaseNumberField.ScrubAreaCursor\n className={mergeBaseUIClassName(\"drop-shadow-sm filter\", className)}\n data-slot=\"number-field-scrub-area-cursor\"\n {...props}\n >\n {children ?? (\n <HugeiconsIcon className=\"size-4.5\" icon={ArrowHorizontalIcon} />\n )}\n </BaseNumberField.ScrubAreaCursor>\n);\n"],"mappings":";;;;;;;;;AAQA,MAAM,qBAAqB,cAAuC,EAChE,MAAM,MACP,CAAC;;;;ACQF,MAAM,+BAA+B,GAAG;CACtC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAEF,MAAMA,mCAAiC,SAAoB;AACzD,KAAI,SAAS,KACX,QAAO;AAGT,KAAI,SAAS,KACX,QAAO;AAGT,KAAI,SAAS,KACX,QAAO;AAGT,QAAO;;AAGT,MAAa,wBAAwB,EACnC,WACA,UACA,MACA,GAAG,YAC4B;CAC/B,MAAM,EAAE,MAAM,gBAAgB,WAAW,mBAAmB;CAC5D,MAAM,eAAe,QAAQ,eAAe;AAE5C,QACE,oBAACC,YAAgB;EACf,WAAW,qBACT,6BAA6B,EAAE,MAAM,cAAc,CAAC,EACpD,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;YAEH,YACC,oBAAC;GACC,MAAMD,gCAA8B,aAAa;GACjD,MAAM;IACN;GAEsB;;;;;ACjEhC,MAAa,oBAAoB,EAC/B,WACA,GAAG,YAEH,oBAACE,YAAgB;CACf,WAAW,qBACT,iHACA,UACD;CACD,aAAU;CACV,GAAI;EACJ;;;;ACHJ,MAAM,+BAA+B,GAAG;CACtC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAEF,MAAM,iCAAiC,SAAoB;AACzD,KAAI,SAAS,KACX,QAAO;AAGT,KAAI,SAAS,KACX,QAAO;AAGT,KAAI,SAAS,KACX,QAAO;AAGT,QAAO;;AAGT,MAAa,wBAAwB,EACnC,WACA,UACA,MACA,GAAG,YAC4B;CAC/B,MAAM,EAAE,MAAM,gBAAgB,WAAW,mBAAmB;CAC5D,MAAM,eAAe,QAAQ,eAAe;AAE5C,QACE,oBAACC,YAAgB;EACf,WAAW,qBACT,6BAA6B,EAAE,MAAM,cAAc,CAAC,EACpD,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;YAEH,YACC,oBAAC;GACC,MAAM,8BAA8B,aAAa;GACjD,MAAM;IACN;GAEsB;;;;;AClEhC,MAAM,2BAA2B,GAAG;CAClC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAUF,MAAa,oBAAoB,EAC/B,WACA,UACA,MACA,GAAG,YACwB;CAC3B,MAAM,EAAE,MAAM,gBAAgB,WAAW,mBAAmB;CAC5D,MAAM,eAAe,QAAQ,eAAe;AAE5C,QACE,oBAACC,YAAgB;EACf,WAAW,qBACT,yBAAyB,EAAE,MAAM,cAAc,CAAC,EAChD,UACD;EACD,aAAW;EACX,aAAU;EACV,MAAM;EACN,GAAI;GACJ;;;;;AC1CN,MAAa,wBAAwB,EACnC,WACA,UACA,GAAG,YAEH,oBAACC,YAAgB;CACf,WAAW,qBAAqB,oBAAoB,UAAU;CAC9D,aAAU;CACV,GAAI;CAEH;EACyB;;;;ACT9B,MAAa,8BAA8B,EACzC,WACA,UACA,GAAG,YAEH,oBAACC,YAAgB;CACf,WAAW,qBAAqB,yBAAyB,UAAU;CACnE,aAAU;CACV,GAAI;WAEH,YACC,oBAAC;EAAc,WAAU;EAAW,MAAM;GAAuB;EAEnC"}
1
+ {"version":3,"file":"number-field-scrub-area-cursor-h-iB-JHz.js","names":["getNumberFieldStepperIconSize","BaseNumberField","BaseNumberField","BaseNumberField","BaseNumberField","BaseNumberField","BaseNumberField"],"sources":["../src/ui/number-field/number-field-context.tsx","../src/ui/number-field/number-field-decrement.tsx","../src/ui/number-field/number-field-group.tsx","../src/ui/number-field/number-field-increment.tsx","../src/ui/number-field/number-field-input.tsx","../src/ui/number-field/number-field-scrub-area.tsx","../src/ui/number-field/number-field-scrub-area-cursor.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface NumberFieldContextValue {\n size?: InputSize;\n}\n\nconst NumberFieldContext = createContext<NumberFieldContextValue>({\n size: \"md\",\n});\n\nexport { NumberFieldContext };\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { MinusSignIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { NumberFieldContext } from \"./number-field-context\";\n\nexport type NumberFieldDecrementProps = ComponentProps<\n typeof BaseNumberField.Decrement\n> &\n VariantProps<typeof numberFieldDecrementVariants>;\n\nconst numberFieldDecrementVariants = tv({\n base: \"flex cursor-pointer items-center justify-center border border-input bg-muted text-foreground transition-colors select-none hover:border-ring/70 disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n size: {\n xs: \"size-6 rounded-l-[min(var(--radius-md),8px)]\",\n sm: \"size-8 rounded-l-[min(var(--radius-md),10px)]\",\n md: \"size-9 rounded-l-md\",\n lg: \"size-10 rounded-l-md\",\n xl: \"size-11 rounded-l-md\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst getNumberFieldStepperIconSize = (size: InputSize) => {\n if (size === \"xs\") {\n return 12;\n }\n\n if (size === \"lg\") {\n return 15;\n }\n\n if (size === \"xl\") {\n return 16;\n }\n\n return 14;\n};\n\nexport const NumberFieldDecrement = ({\n className,\n children,\n size,\n ...props\n}: NumberFieldDecrementProps) => {\n const { size: contextSize } = useContext(NumberFieldContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <BaseNumberField.Decrement\n className={mergeBaseUIClassName(\n numberFieldDecrementVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"number-field-decrement\"\n {...props}\n >\n {children ?? (\n <HugeiconsIcon\n size={getNumberFieldStepperIconSize(resolvedSize)}\n icon={MinusSignIcon}\n />\n )}\n </BaseNumberField.Decrement>\n );\n};\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type NumberFieldGroupProps = ComponentProps<\n typeof BaseNumberField.Group\n>;\n\nexport const NumberFieldGroup = ({\n className,\n ...props\n}: NumberFieldGroupProps) => (\n <BaseNumberField.Group\n className={mergeBaseUIClassName(\n \"flex rounded-md text-foreground shadow-xs transition-shadow focus-within:ring-[3px] focus-within:ring-ring/30\",\n className\n )}\n data-slot=\"number-field-group\"\n {...props}\n />\n);\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { Add01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { NumberFieldContext } from \"./number-field-context\";\n\nexport type NumberFieldIncrementProps = ComponentProps<\n typeof BaseNumberField.Increment\n> &\n VariantProps<typeof numberFieldIncrementVariants>;\n\nconst numberFieldIncrementVariants = tv({\n base: \"flex cursor-pointer items-center justify-center border border-input bg-muted text-foreground transition-colors select-none hover:border-ring/70 disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n size: {\n xs: \"size-6 rounded-r-[min(var(--radius-md),8px)]\",\n sm: \"size-8 rounded-r-[min(var(--radius-md),10px)]\",\n md: \"size-9 rounded-r-md\",\n lg: \"size-10 rounded-r-md\",\n xl: \"size-11 rounded-r-md\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst getNumberFieldStepperIconSize = (size: InputSize) => {\n if (size === \"xs\") {\n return 12;\n }\n\n if (size === \"lg\") {\n return 15;\n }\n\n if (size === \"xl\") {\n return 16;\n }\n\n return 14;\n};\n\nexport const NumberFieldIncrement = ({\n className,\n children,\n size,\n ...props\n}: NumberFieldIncrementProps) => {\n const { size: contextSize } = useContext(NumberFieldContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <BaseNumberField.Increment\n className={mergeBaseUIClassName(\n numberFieldIncrementVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"number-field-increment\"\n {...props}\n >\n {children ?? (\n <HugeiconsIcon\n size={getNumberFieldStepperIconSize(resolvedSize)}\n icon={Add01Icon}\n />\n )}\n </BaseNumberField.Increment>\n );\n};\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { NumberFieldContext } from \"./number-field-context\";\n\nconst numberFieldInputVariants = tv({\n base: \"w-20 border-y border-input bg-background text-center tabular-nums text-foreground transition-colors focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n size: {\n xs: \"h-6 text-xs\",\n sm: \"h-8 text-sm\",\n md: \"h-9 text-sm\",\n lg: \"h-10 text-sm\",\n xl: \"h-11 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype NativeNumberFieldInputProps = ComponentProps<typeof BaseNumberField.Input>;\ntype NativeNumberFieldInputSize = NativeNumberFieldInputProps[\"size\"];\n\nexport type NumberFieldInputProps = Omit<NativeNumberFieldInputProps, \"size\"> &\n VariantProps<typeof numberFieldInputVariants> & {\n htmlSize?: NativeNumberFieldInputSize;\n };\n\nexport const NumberFieldInput = ({\n className,\n htmlSize,\n size,\n ...props\n}: NumberFieldInputProps) => {\n const { size: contextSize } = useContext(NumberFieldContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <BaseNumberField.Input\n className={mergeBaseUIClassName(\n numberFieldInputVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"number-field-input\"\n size={htmlSize}\n {...props}\n />\n );\n};\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type NumberFieldScrubAreaProps = ComponentProps<\n typeof BaseNumberField.ScrubArea\n>;\n\nexport const NumberFieldScrubArea = ({\n className,\n children,\n ...props\n}: NumberFieldScrubAreaProps) => (\n <BaseNumberField.ScrubArea\n className={mergeBaseUIClassName(\"cursor-ew-resize\", className)}\n data-slot=\"number-field-scrub-area\"\n {...props}\n >\n {children}\n </BaseNumberField.ScrubArea>\n);\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { ArrowHorizontalIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type NumberFieldScrubAreaCursorProps = ComponentProps<\n typeof BaseNumberField.ScrubAreaCursor\n>;\n\nexport const NumberFieldScrubAreaCursor = ({\n className,\n children,\n ...props\n}: NumberFieldScrubAreaCursorProps) => (\n <BaseNumberField.ScrubAreaCursor\n className={mergeBaseUIClassName(\"drop-shadow-sm filter\", className)}\n data-slot=\"number-field-scrub-area-cursor\"\n {...props}\n >\n {children ?? (\n <HugeiconsIcon className=\"size-4.5\" icon={ArrowHorizontalIcon} />\n )}\n </BaseNumberField.ScrubAreaCursor>\n);\n"],"mappings":";;;;;;;;;AAUA,MAAM,qBAAqB,cAAuC,EAChE,MAAM,MACP,CAAC;;;;ACMF,MAAM,+BAA+B,GAAG;CACtC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAEF,MAAMA,mCAAiC,SAAoB;AACzD,KAAI,SAAS,KACX,QAAO;AAGT,KAAI,SAAS,KACX,QAAO;AAGT,KAAI,SAAS,KACX,QAAO;AAGT,QAAO;;AAGT,MAAa,wBAAwB,EACnC,WACA,UACA,MACA,GAAG,YAC4B;CAC/B,MAAM,EAAE,MAAM,gBAAgB,WAAW,mBAAmB;CAC5D,MAAM,eAAe,QAAQ,eAAe;AAE5C,QACE,oBAACC,YAAgB;EACf,WAAW,qBACT,6BAA6B,EAAE,MAAM,cAAc,CAAC,EACpD,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;YAEH,YACC,oBAAC;GACC,MAAMD,gCAA8B,aAAa;GACjD,MAAM;IACN;GAEsB;;;;;ACjEhC,MAAa,oBAAoB,EAC/B,WACA,GAAG,YAEH,oBAACE,YAAgB;CACf,WAAW,qBACT,iHACA,UACD;CACD,aAAU;CACV,GAAI;EACJ;;;;ACHJ,MAAM,+BAA+B,GAAG;CACtC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAEF,MAAM,iCAAiC,SAAoB;AACzD,KAAI,SAAS,KACX,QAAO;AAGT,KAAI,SAAS,KACX,QAAO;AAGT,KAAI,SAAS,KACX,QAAO;AAGT,QAAO;;AAGT,MAAa,wBAAwB,EACnC,WACA,UACA,MACA,GAAG,YAC4B;CAC/B,MAAM,EAAE,MAAM,gBAAgB,WAAW,mBAAmB;CAC5D,MAAM,eAAe,QAAQ,eAAe;AAE5C,QACE,oBAACC,YAAgB;EACf,WAAW,qBACT,6BAA6B,EAAE,MAAM,cAAc,CAAC,EACpD,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;YAEH,YACC,oBAAC;GACC,MAAM,8BAA8B,aAAa;GACjD,MAAM;IACN;GAEsB;;;;;AClEhC,MAAM,2BAA2B,GAAG;CAClC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAUF,MAAa,oBAAoB,EAC/B,WACA,UACA,MACA,GAAG,YACwB;CAC3B,MAAM,EAAE,MAAM,gBAAgB,WAAW,mBAAmB;CAC5D,MAAM,eAAe,QAAQ,eAAe;AAE5C,QACE,oBAACC,YAAgB;EACf,WAAW,qBACT,yBAAyB,EAAE,MAAM,cAAc,CAAC,EAChD,UACD;EACD,aAAW;EACX,aAAU;EACV,MAAM;EACN,GAAI;GACJ;;;;;AC1CN,MAAa,wBAAwB,EACnC,WACA,UACA,GAAG,YAEH,oBAACC,YAAgB;CACf,WAAW,qBAAqB,oBAAoB,UAAU;CAC9D,aAAU;CACV,GAAI;CAEH;EACyB;;;;ACT9B,MAAa,8BAA8B,EACzC,WACA,UACA,GAAG,YAEH,oBAACC,YAAgB;CACf,WAAW,qBAAqB,yBAAyB,UAAU;CACnE,aAAU;CACV,GAAI;WAEH,YACC,oBAAC;EAAc,WAAU;EAAW,MAAM;GAAuB;EAEnC"}