@customafk/lunas-ui 0.2.1 → 0.2.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.
Files changed (182) hide show
  1. package/dist/{button-DXPSlb3I.mjs → button-B2FJrOBP.mjs} +2 -2
  2. package/dist/{button-DXPSlb3I.mjs.map → button-B2FJrOBP.mjs.map} +1 -1
  3. package/dist/{button-Bji_SqMI.d.cts → button-BnFROtRM.d.cts} +4 -4
  4. package/dist/{button-C58TS8Pc.cjs → button-CYw2AqT0.cjs} +2 -2
  5. package/dist/{button-C58TS8Pc.cjs.map → button-CYw2AqT0.cjs.map} +1 -1
  6. package/dist/{button-PV-Xnryv.d.mts → button-IfNjnUO-.d.mts} +6 -6
  7. package/dist/{calendar-CEF9LSd4.mjs → calendar-Bt6qXSZb.mjs} +2 -2
  8. package/dist/{calendar-CEF9LSd4.mjs.map → calendar-Bt6qXSZb.mjs.map} +1 -1
  9. package/dist/{calendar-DT0NPRhB.cjs → calendar-BwWfk_Zk.cjs} +2 -2
  10. package/dist/{calendar-DT0NPRhB.cjs.map → calendar-BwWfk_Zk.cjs.map} +1 -1
  11. package/dist/cards/grid-product-card.cjs +1 -1
  12. package/dist/cards/grid-product-card.mjs +1 -1
  13. package/dist/cards/product-card.cjs +1 -1
  14. package/dist/cards/product-card.mjs +1 -1
  15. package/dist/data-display/statistic.d.cts +2 -2
  16. package/dist/{dialog-DKZ8BLxc.d.mts → dialog-CyLgmqny.d.cts} +12 -12
  17. package/dist/{dialog-7127ChM2.d.cts → dialog-lFDfcYPP.d.mts} +12 -12
  18. package/dist/dialogs/detail-dialog/components/sidebar.cjs +1 -1
  19. package/dist/dialogs/detail-dialog/components/sidebar.d.cts +24 -24
  20. package/dist/dialogs/detail-dialog/components/sidebar.d.mts +24 -24
  21. package/dist/dialogs/detail-dialog/components/sidebar.mjs +1 -1
  22. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  23. package/dist/dialogs/detail-dialog/index.mjs +1 -1
  24. package/dist/features/tables/index.cjs +1 -1
  25. package/dist/features/tables/index.d.cts +1 -1
  26. package/dist/features/tables/index.d.mts +23 -23
  27. package/dist/features/tables/index.mjs +1 -1
  28. package/dist/features/tanstack-form/index.cjs +1 -1
  29. package/dist/features/tanstack-form/index.d.cts +51 -51
  30. package/dist/features/tanstack-form/index.d.mts +224 -224
  31. package/dist/features/tanstack-form/index.mjs +1 -1
  32. package/dist/{input-D0enZTLC.d.cts → input-Bm0YXroi.d.cts} +6 -6
  33. package/dist/{input-DkvHV_UU.d.mts → input-CLlVXOR2.d.mts} +6 -6
  34. package/dist/layouts/cms-layout/index.cjs +1 -1
  35. package/dist/layouts/cms-layout/index.mjs +1 -1
  36. package/dist/layouts/flex.d.mts +4 -4
  37. package/dist/layouts/payment-layout/index.cjs +1 -1
  38. package/dist/layouts/payment-layout/index.mjs +1 -1
  39. package/dist/pages/FeatureDeveloping.cjs +1 -1
  40. package/dist/pages/FeatureDeveloping.d.cts +2 -2
  41. package/dist/pages/FeatureDeveloping.d.mts +2 -2
  42. package/dist/pages/FeatureDeveloping.mjs +1 -1
  43. package/dist/pages/FeatureFixing.cjs +1 -1
  44. package/dist/pages/FeatureFixing.d.cts +2 -2
  45. package/dist/pages/FeatureFixing.d.mts +2 -2
  46. package/dist/pages/FeatureFixing.mjs +1 -1
  47. package/dist/pages/NotAuthorized.cjs +1 -1
  48. package/dist/pages/NotAuthorized.d.cts +2 -2
  49. package/dist/pages/NotAuthorized.mjs +1 -1
  50. package/dist/pages/NotFound.cjs +1 -1
  51. package/dist/pages/NotFound.d.cts +2 -2
  52. package/dist/pages/NotFound.d.mts +2 -2
  53. package/dist/pages/NotFound.mjs +1 -1
  54. package/dist/typography/paragraph.d.cts +3 -3
  55. package/dist/typography/paragraph.d.mts +5 -5
  56. package/dist/typography/title.d.cts +2 -2
  57. package/dist/ui/alert-dialog.d.mts +12 -12
  58. package/dist/ui/alert.d.cts +5 -5
  59. package/dist/ui/alert.d.mts +7 -7
  60. package/dist/ui/aspect-ratio.d.cts +2 -2
  61. package/dist/ui/aspect-ratio.d.mts +2 -2
  62. package/dist/ui/avatar.d.cts +4 -4
  63. package/dist/ui/avatar.d.mts +4 -4
  64. package/dist/ui/badge.d.cts +2 -2
  65. package/dist/ui/badge.d.mts +4 -4
  66. package/dist/ui/breadcrumb.d.cts +8 -8
  67. package/dist/ui/breadcrumb.d.mts +8 -8
  68. package/dist/ui/button-group.d.cts +6 -6
  69. package/dist/ui/button-group.d.mts +6 -6
  70. package/dist/ui/button.cjs +1 -1
  71. package/dist/ui/button.d.cts +1 -1
  72. package/dist/ui/button.d.mts +1 -1
  73. package/dist/ui/button.mjs +1 -1
  74. package/dist/ui/buttons/add-new.cjs +1 -1
  75. package/dist/ui/buttons/add-new.mjs +1 -1
  76. package/dist/ui/buttons/edit.cjs +1 -1
  77. package/dist/ui/buttons/edit.mjs +1 -1
  78. package/dist/ui/buttons/refresh.cjs +1 -1
  79. package/dist/ui/buttons/refresh.mjs +1 -1
  80. package/dist/ui/buttons/trash.cjs +1 -1
  81. package/dist/ui/buttons/trash.mjs +1 -1
  82. package/dist/ui/buttons/upload-image.cjs +1 -1
  83. package/dist/ui/buttons/upload-image.mjs +1 -1
  84. package/dist/ui/calendar.cjs +1 -1
  85. package/dist/ui/calendar.d.cts +4 -4
  86. package/dist/ui/calendar.d.mts +4 -4
  87. package/dist/ui/calendar.mjs +1 -1
  88. package/dist/ui/card.d.cts +8 -8
  89. package/dist/ui/card.d.mts +8 -8
  90. package/dist/ui/carousel.cjs +1 -1
  91. package/dist/ui/carousel.d.cts +7 -7
  92. package/dist/ui/carousel.d.mts +7 -7
  93. package/dist/ui/carousel.mjs +1 -1
  94. package/dist/ui/checkbox.d.cts +2 -2
  95. package/dist/ui/checkbox.d.mts +2 -2
  96. package/dist/ui/collapsible.d.cts +4 -4
  97. package/dist/ui/collapsible.d.mts +4 -4
  98. package/dist/ui/command.d.cts +11 -11
  99. package/dist/ui/command.d.mts +11 -11
  100. package/dist/ui/context-menu.d.cts +16 -16
  101. package/dist/ui/context-menu.d.mts +16 -16
  102. package/dist/ui/dialog.d.cts +1 -1
  103. package/dist/ui/dialog.d.mts +1 -1
  104. package/dist/ui/drawer.d.cts +11 -11
  105. package/dist/ui/drawer.d.mts +11 -11
  106. package/dist/ui/dropdown-menu.d.cts +16 -16
  107. package/dist/ui/dropdown-menu.d.mts +16 -16
  108. package/dist/ui/empty.d.cts +9 -9
  109. package/dist/ui/empty.d.mts +9 -9
  110. package/dist/ui/field.d.cts +24 -24
  111. package/dist/ui/field.d.mts +13 -13
  112. package/dist/ui/file-uploader.cjs +1 -1
  113. package/dist/ui/file-uploader.d.cts +2 -2
  114. package/dist/ui/file-uploader.d.mts +2 -2
  115. package/dist/ui/file-uploader.mjs +1 -1
  116. package/dist/ui/form.d.cts +11 -11
  117. package/dist/ui/form.d.mts +11 -11
  118. package/dist/ui/hover-card.d.cts +4 -4
  119. package/dist/ui/hover-card.d.mts +4 -4
  120. package/dist/ui/input-otp.d.cts +5 -5
  121. package/dist/ui/input-otp.d.mts +5 -5
  122. package/dist/ui/input.d.cts +1 -1
  123. package/dist/ui/input.d.mts +1 -1
  124. package/dist/ui/inputs/search-input.d.cts +3 -3
  125. package/dist/ui/inputs/search-input.d.mts +3 -3
  126. package/dist/ui/item.d.cts +14 -14
  127. package/dist/ui/item.d.mts +14 -14
  128. package/dist/ui/label.d.cts +2 -2
  129. package/dist/ui/label.d.mts +2 -2
  130. package/dist/ui/menubar.d.cts +17 -17
  131. package/dist/ui/menubar.d.mts +17 -17
  132. package/dist/ui/multi-select.cjs +1 -1
  133. package/dist/ui/multi-select.d.cts +2 -2
  134. package/dist/ui/multi-select.d.mts +3 -3
  135. package/dist/ui/multi-select.mjs +1 -1
  136. package/dist/ui/navigation-menu.d.cts +11 -11
  137. package/dist/ui/navigation-menu.d.mts +11 -11
  138. package/dist/ui/pagination.d.cts +9 -9
  139. package/dist/ui/pagination.d.mts +9 -9
  140. package/dist/ui/popover.d.cts +6 -6
  141. package/dist/ui/popover.d.mts +6 -6
  142. package/dist/ui/progress.d.cts +2 -2
  143. package/dist/ui/progress.d.mts +2 -2
  144. package/dist/ui/radio-group.d.cts +3 -3
  145. package/dist/ui/radio-group.d.mts +3 -3
  146. package/dist/ui/resizable.d.cts +9 -9
  147. package/dist/ui/resizable.d.mts +9 -9
  148. package/dist/ui/scroll-area.d.cts +6 -6
  149. package/dist/ui/scroll-area.d.mts +6 -6
  150. package/dist/ui/select.d.cts +9 -9
  151. package/dist/ui/select.d.mts +9 -9
  152. package/dist/ui/separator.d.cts +2 -2
  153. package/dist/ui/separator.d.mts +2 -2
  154. package/dist/ui/sheet.d.cts +9 -9
  155. package/dist/ui/sheet.d.mts +9 -9
  156. package/dist/ui/sidebar.cjs +1 -1
  157. package/dist/ui/sidebar.d.cts +28 -28
  158. package/dist/ui/sidebar.d.mts +26 -26
  159. package/dist/ui/sidebar.mjs +1 -1
  160. package/dist/ui/skeleton.d.cts +2 -2
  161. package/dist/ui/skeleton.d.mts +2 -2
  162. package/dist/ui/slider.d.cts +2 -2
  163. package/dist/ui/slider.d.mts +2 -2
  164. package/dist/ui/sonner.d.cts +2 -2
  165. package/dist/ui/sonner.d.mts +2 -2
  166. package/dist/ui/spinner.d.cts +2 -2
  167. package/dist/ui/spinner.d.mts +2 -2
  168. package/dist/ui/switch.d.cts +2 -2
  169. package/dist/ui/switch.d.mts +2 -2
  170. package/dist/ui/table.d.cts +18 -18
  171. package/dist/ui/table.d.mts +18 -18
  172. package/dist/ui/tabs.d.cts +5 -5
  173. package/dist/ui/tabs.d.mts +5 -5
  174. package/dist/ui/textarea.d.cts +2 -2
  175. package/dist/ui/textarea.d.mts +2 -2
  176. package/dist/ui/toggle-group.d.cts +3 -3
  177. package/dist/ui/toggle-group.d.mts +3 -3
  178. package/dist/ui/toggle.d.cts +4 -4
  179. package/dist/ui/toggle.d.mts +2 -2
  180. package/dist/ui/tooltip.d.cts +5 -5
  181. package/dist/ui/tooltip.d.mts +5 -5
  182. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- import{t as e}from"./dist-CvmzZ_6C.mjs";import{n as t,t as n}from"./button.variants-DuuH1O0_.mjs";import{cn as r}from"@customafk/react-toolkit/utils";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{Loader2Icon as o}from"lucide-react";function s({className:s,variant:c,size:l=`default`,color:u,asChild:d=!1,isLoading:f=!1,children:p,disabled:m,type:h=`button`,...g}){return a(d?e:`button`,{type:h,"data-slot":`button`,"data-state":f?`loading`:void 0,disabled:m,"aria-disabled":m?!0:void 0,className:r(t({variant:c,size:l,color:u,className:s})),...g,children:[f&&i(`div`,{className:n({variant:c,color:u}),children:i(o,{size:16,className:`animate-spin`})}),i(`div`,{className:r(f&&`invisible`),children:p})]})}export{s as t};
2
- //# sourceMappingURL=button-DXPSlb3I.mjs.map
1
+ import{t as e}from"./dist-CvmzZ_6C.mjs";import{n as t,t as n}from"./button.variants-DuuH1O0_.mjs";import{cn as r}from"@customafk/react-toolkit/utils";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{Loader2Icon as o}from"lucide-react";function s({className:s,variant:c,size:l=`default`,color:u,asChild:d=!1,isLoading:f=!1,children:p,disabled:m,type:h=`button`,...g}){return a(d?e:`button`,{type:h,"data-slot":`button`,"data-state":f?`loading`:void 0,disabled:m,"aria-disabled":m?!0:void 0,className:r(t({variant:c,size:l,color:u,className:s})),...g,children:[f&&i(`div`,{className:n({variant:c,color:u}),children:i(o,{size:16,className:`animate-spin`})}),i(`div`,{className:r(`inline-flex items-center justify-center`,f&&`invisible`),children:p})]})}export{s as t};
2
+ //# sourceMappingURL=button-B2FJrOBP.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-DXPSlb3I.mjs","names":[],"sources":["../packages/components/ui/button.tsx"],"sourcesContent":["'use client';\n\nimport { Loader2Icon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport { type ButtonVariantProps, buttonLoadingVariant, buttonVariants } from './button.variants';\n\nexport interface ButtonProps extends Omit<React.ComponentProps<'button'>, 'color'> {\n /**\n * When true, the button will render its children without wrapping them\n */\n asChild?: boolean;\n /**\n * Shows a loading spinner when true\n */\n isLoading?: boolean;\n /**\n * Visual style variant\n */\n variant?: ButtonVariantProps['variant'];\n /**\n * Color theme of the button\n */\n color?: ButtonVariantProps['color'];\n /**\n * Size of the button\n */\n size?: ButtonVariantProps['size'];\n}\n\n/**\n * Button component with variants, loading state and composition support\n */\nfunction Button({\n className,\n variant,\n size = 'default',\n color,\n asChild = false,\n isLoading = false,\n children,\n disabled,\n type = 'button',\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n type={type}\n data-slot=\"button\"\n data-state={isLoading ? 'loading' : undefined}\n disabled={disabled}\n aria-disabled={disabled ? true : undefined}\n className={cn(\n buttonVariants({\n variant,\n size,\n color: color as ButtonVariantProps['color'],\n className,\n })\n )}\n {...props}\n >\n {isLoading && (\n <div className={buttonLoadingVariant({ variant, color })}>\n <Loader2Icon size={16} className=\"animate-spin\" />\n </div>\n )}\n <div className={cn(isLoading && 'invisible')}>{children}</div>\n </Comp>\n );\n}\n\nexport { Button };\n"],"mappings":"mPAmCA,SAAS,EAAO,CACd,YACA,UACA,OAAO,UACP,QACA,UAAU,GACV,YAAY,GACZ,WACA,WACA,OAAO,SACP,GAAG,GACW,CAGd,OACE,EAHW,EAAU,EAAO,SAAA,CAIpB,OACN,YAAU,SACV,aAAY,EAAY,UAAY,IAAA,GAC1B,WACV,gBAAe,EAAW,GAAO,IAAA,GACjC,UAAW,EACT,EAAe,CACb,UACA,OACO,QACP,YACD,CAAC,CACH,CACD,GAAI,YAEH,GACC,EAAC,MAAA,CAAI,UAAW,EAAqB,CAAE,UAAS,QAAO,CAAC,UACtD,EAAC,EAAA,CAAY,KAAM,GAAI,UAAU,gBAAiB,EAC9C,CAER,EAAC,MAAA,CAAI,UAAW,EAAG,GAAa,YAAY,CAAG,YAAe,CAAA,EACzD"}
1
+ {"version":3,"file":"button-B2FJrOBP.mjs","names":[],"sources":["../packages/components/ui/button.tsx"],"sourcesContent":["'use client';\n\nimport { Loader2Icon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport { type ButtonVariantProps, buttonLoadingVariant, buttonVariants } from './button.variants';\n\nexport interface ButtonProps extends Omit<React.ComponentProps<'button'>, 'color'> {\n /**\n * When true, the button will render its children without wrapping them\n */\n asChild?: boolean;\n /**\n * Shows a loading spinner when true\n */\n isLoading?: boolean;\n /**\n * Visual style variant\n */\n variant?: ButtonVariantProps['variant'];\n /**\n * Color theme of the button\n */\n color?: ButtonVariantProps['color'];\n /**\n * Size of the button\n */\n size?: ButtonVariantProps['size'];\n}\n\n/**\n * Button component with variants, loading state and composition support\n */\nfunction Button({\n className,\n variant,\n size = 'default',\n color,\n asChild = false,\n isLoading = false,\n children,\n disabled,\n type = 'button',\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n type={type}\n data-slot=\"button\"\n data-state={isLoading ? 'loading' : undefined}\n disabled={disabled}\n aria-disabled={disabled ? true : undefined}\n className={cn(\n buttonVariants({\n variant,\n size,\n color: color as ButtonVariantProps['color'],\n className,\n })\n )}\n {...props}\n >\n {isLoading && (\n <div className={buttonLoadingVariant({ variant, color })}>\n <Loader2Icon size={16} className=\"animate-spin\" />\n </div>\n )}\n <div className={cn('inline-flex items-center justify-center', isLoading && 'invisible')}>{children}</div>\n </Comp>\n );\n}\n\nexport { Button };\n"],"mappings":"mPAmCA,SAAS,EAAO,CACd,YACA,UACA,OAAO,UACP,QACA,UAAU,GACV,YAAY,GACZ,WACA,WACA,OAAO,SACP,GAAG,GACW,CAGd,OACE,EAHW,EAAU,EAAO,SAAA,CAIpB,OACN,YAAU,SACV,aAAY,EAAY,UAAY,IAAA,GAC1B,WACV,gBAAe,EAAW,GAAO,IAAA,GACjC,UAAW,EACT,EAAe,CACb,UACA,OACO,QACP,YACD,CAAC,CACH,CACD,GAAI,YAEH,GACC,EAAC,MAAA,CAAI,UAAW,EAAqB,CAAE,UAAS,QAAO,CAAC,UACtD,EAAC,EAAA,CAAY,KAAM,GAAI,UAAU,gBAAiB,EAC9C,CAER,EAAC,MAAA,CAAI,UAAW,EAAG,0CAA2C,GAAa,YAAY,CAAG,YAAe,CAAA,EACpG"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime98 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime48 from "react/jsx-runtime";
2
2
  import * as class_variance_authority_types19 from "class-variance-authority/types";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
 
@@ -9,7 +9,7 @@ import { VariantProps } from "class-variance-authority";
9
9
  */
10
10
  declare const buttonVariants: (props?: ({
11
11
  variant?: "default" | "outline" | "link" | "ghost" | "soft" | "subtle" | null | undefined;
12
- color?: "muted" | "warning" | "success" | "info" | "primary" | "secondary" | "important" | "danger" | null | undefined;
12
+ color?: "muted" | "primary" | "secondary" | "success" | "important" | "info" | "warning" | "danger" | null | undefined;
13
13
  size?: "xs" | "sm" | "md" | "lg" | "xl" | "default" | "icon" | null | undefined;
14
14
  } & class_variance_authority_types19.ClassProp) | undefined) => string;
15
15
  type ButtonVariantProps = VariantProps<typeof buttonVariants>;
@@ -51,7 +51,7 @@ declare function Button({
51
51
  disabled,
52
52
  type,
53
53
  ...props
54
- }: ButtonProps): react_jsx_runtime98.JSX.Element;
54
+ }: ButtonProps): react_jsx_runtime48.JSX.Element;
55
55
  //#endregion
56
56
  export { ButtonProps as n, Button as t };
57
- //# sourceMappingURL=button-Bji_SqMI.d.cts.map
57
+ //# sourceMappingURL=button-BnFROtRM.d.cts.map
@@ -1,2 +1,2 @@
1
- const e=require(`./chunk-Bmb41Sf3.cjs`),t=require(`./dist-BudM04oj.cjs`),n=require(`./button.variants-rdXrPUao.cjs`);let r=require(`@customafk/react-toolkit/utils`),i=require(`react/jsx-runtime`),a=require(`lucide-react`);function o({className:e,variant:o,size:s=`default`,color:c,asChild:l=!1,isLoading:u=!1,children:d,disabled:f,type:p=`button`,...m}){return(0,i.jsxs)(l?t.t:`button`,{type:p,"data-slot":`button`,"data-state":u?`loading`:void 0,disabled:f,"aria-disabled":f?!0:void 0,className:(0,r.cn)(n.n({variant:o,size:s,color:c,className:e})),...m,children:[u&&(0,i.jsx)(`div`,{className:n.t({variant:o,color:c}),children:(0,i.jsx)(a.Loader2Icon,{size:16,className:`animate-spin`})}),(0,i.jsx)(`div`,{className:(0,r.cn)(u&&`invisible`),children:d})]})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
2
- //# sourceMappingURL=button-C58TS8Pc.cjs.map
1
+ const e=require(`./chunk-Bmb41Sf3.cjs`),t=require(`./dist-BudM04oj.cjs`),n=require(`./button.variants-rdXrPUao.cjs`);let r=require(`@customafk/react-toolkit/utils`),i=require(`react/jsx-runtime`),a=require(`lucide-react`);function o({className:e,variant:o,size:s=`default`,color:c,asChild:l=!1,isLoading:u=!1,children:d,disabled:f,type:p=`button`,...m}){return(0,i.jsxs)(l?t.t:`button`,{type:p,"data-slot":`button`,"data-state":u?`loading`:void 0,disabled:f,"aria-disabled":f?!0:void 0,className:(0,r.cn)(n.n({variant:o,size:s,color:c,className:e})),...m,children:[u&&(0,i.jsx)(`div`,{className:n.t({variant:o,color:c}),children:(0,i.jsx)(a.Loader2Icon,{size:16,className:`animate-spin`})}),(0,i.jsx)(`div`,{className:(0,r.cn)(`inline-flex items-center justify-center`,u&&`invisible`),children:d})]})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
2
+ //# sourceMappingURL=button-CYw2AqT0.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-C58TS8Pc.cjs","names":["Slot","buttonVariants","buttonLoadingVariant","Loader2Icon"],"sources":["../packages/components/ui/button.tsx"],"sourcesContent":["'use client';\n\nimport { Loader2Icon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport { type ButtonVariantProps, buttonLoadingVariant, buttonVariants } from './button.variants';\n\nexport interface ButtonProps extends Omit<React.ComponentProps<'button'>, 'color'> {\n /**\n * When true, the button will render its children without wrapping them\n */\n asChild?: boolean;\n /**\n * Shows a loading spinner when true\n */\n isLoading?: boolean;\n /**\n * Visual style variant\n */\n variant?: ButtonVariantProps['variant'];\n /**\n * Color theme of the button\n */\n color?: ButtonVariantProps['color'];\n /**\n * Size of the button\n */\n size?: ButtonVariantProps['size'];\n}\n\n/**\n * Button component with variants, loading state and composition support\n */\nfunction Button({\n className,\n variant,\n size = 'default',\n color,\n asChild = false,\n isLoading = false,\n children,\n disabled,\n type = 'button',\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n type={type}\n data-slot=\"button\"\n data-state={isLoading ? 'loading' : undefined}\n disabled={disabled}\n aria-disabled={disabled ? true : undefined}\n className={cn(\n buttonVariants({\n variant,\n size,\n color: color as ButtonVariantProps['color'],\n className,\n })\n )}\n {...props}\n >\n {isLoading && (\n <div className={buttonLoadingVariant({ variant, color })}>\n <Loader2Icon size={16} className=\"animate-spin\" />\n </div>\n )}\n <div className={cn(isLoading && 'invisible')}>{children}</div>\n </Comp>\n );\n}\n\nexport { Button };\n"],"mappings":"8NAmCA,SAAS,EAAO,CACd,YACA,UACA,OAAO,UACP,QACA,UAAU,GACV,YAAY,GACZ,WACA,WACA,OAAO,SACP,GAAG,GACW,CAGd,OACE,EAAA,EAAA,MAHW,EAAUA,EAAAA,EAAO,SAAA,CAIpB,OACN,YAAU,SACV,aAAY,EAAY,UAAY,IAAA,GAC1B,WACV,gBAAe,EAAW,GAAO,IAAA,GACjC,WAAA,EAAA,EAAA,IACEC,EAAAA,EAAe,CACb,UACA,OACO,QACP,YACD,CAAC,CACH,CACD,GAAI,YAEH,IACC,EAAA,EAAA,KAAC,MAAA,CAAI,UAAWC,EAAAA,EAAqB,CAAE,UAAS,QAAO,CAAC,WACtD,EAAA,EAAA,KAACC,EAAAA,YAAAA,CAAY,KAAM,GAAI,UAAU,gBAAiB,EAC9C,EAER,EAAA,EAAA,KAAC,MAAA,CAAI,WAAA,EAAA,EAAA,IAAc,GAAa,YAAY,CAAG,YAAe,CAAA,EACzD"}
1
+ {"version":3,"file":"button-CYw2AqT0.cjs","names":["Slot","buttonVariants","buttonLoadingVariant","Loader2Icon"],"sources":["../packages/components/ui/button.tsx"],"sourcesContent":["'use client';\n\nimport { Loader2Icon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport { type ButtonVariantProps, buttonLoadingVariant, buttonVariants } from './button.variants';\n\nexport interface ButtonProps extends Omit<React.ComponentProps<'button'>, 'color'> {\n /**\n * When true, the button will render its children without wrapping them\n */\n asChild?: boolean;\n /**\n * Shows a loading spinner when true\n */\n isLoading?: boolean;\n /**\n * Visual style variant\n */\n variant?: ButtonVariantProps['variant'];\n /**\n * Color theme of the button\n */\n color?: ButtonVariantProps['color'];\n /**\n * Size of the button\n */\n size?: ButtonVariantProps['size'];\n}\n\n/**\n * Button component with variants, loading state and composition support\n */\nfunction Button({\n className,\n variant,\n size = 'default',\n color,\n asChild = false,\n isLoading = false,\n children,\n disabled,\n type = 'button',\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n type={type}\n data-slot=\"button\"\n data-state={isLoading ? 'loading' : undefined}\n disabled={disabled}\n aria-disabled={disabled ? true : undefined}\n className={cn(\n buttonVariants({\n variant,\n size,\n color: color as ButtonVariantProps['color'],\n className,\n })\n )}\n {...props}\n >\n {isLoading && (\n <div className={buttonLoadingVariant({ variant, color })}>\n <Loader2Icon size={16} className=\"animate-spin\" />\n </div>\n )}\n <div className={cn('inline-flex items-center justify-center', isLoading && 'invisible')}>{children}</div>\n </Comp>\n );\n}\n\nexport { Button };\n"],"mappings":"8NAmCA,SAAS,EAAO,CACd,YACA,UACA,OAAO,UACP,QACA,UAAU,GACV,YAAY,GACZ,WACA,WACA,OAAO,SACP,GAAG,GACW,CAGd,OACE,EAAA,EAAA,MAHW,EAAUA,EAAAA,EAAO,SAAA,CAIpB,OACN,YAAU,SACV,aAAY,EAAY,UAAY,IAAA,GAC1B,WACV,gBAAe,EAAW,GAAO,IAAA,GACjC,WAAA,EAAA,EAAA,IACEC,EAAAA,EAAe,CACb,UACA,OACO,QACP,YACD,CAAC,CACH,CACD,GAAI,YAEH,IACC,EAAA,EAAA,KAAC,MAAA,CAAI,UAAWC,EAAAA,EAAqB,CAAE,UAAS,QAAO,CAAC,WACtD,EAAA,EAAA,KAACC,EAAAA,YAAAA,CAAY,KAAM,GAAI,UAAU,gBAAiB,EAC9C,EAER,EAAA,EAAA,KAAC,MAAA,CAAI,WAAA,EAAA,EAAA,IAAc,0CAA2C,GAAa,YAAY,CAAG,YAAe,CAAA,EACpG"}
@@ -1,6 +1,6 @@
1
1
  import { VariantProps } from "class-variance-authority";
2
- import * as react_jsx_runtime86 from "react/jsx-runtime";
3
- import * as class_variance_authority_types13 from "class-variance-authority/types";
2
+ import * as react_jsx_runtime32 from "react/jsx-runtime";
3
+ import * as class_variance_authority_types12 from "class-variance-authority/types";
4
4
 
5
5
  //#region packages/components/ui/button.variants.d.ts
6
6
 
@@ -9,9 +9,9 @@ import * as class_variance_authority_types13 from "class-variance-authority/type
9
9
  */
10
10
  declare const buttonVariants: (props?: ({
11
11
  variant?: "default" | "outline" | "link" | "ghost" | "soft" | "subtle" | null | undefined;
12
- color?: "muted" | "warning" | "success" | "info" | "primary" | "secondary" | "important" | "danger" | null | undefined;
12
+ color?: "muted" | "primary" | "secondary" | "success" | "important" | "info" | "warning" | "danger" | null | undefined;
13
13
  size?: "xs" | "sm" | "md" | "lg" | "xl" | "default" | "icon" | null | undefined;
14
- } & class_variance_authority_types13.ClassProp) | undefined) => string;
14
+ } & class_variance_authority_types12.ClassProp) | undefined) => string;
15
15
  type ButtonVariantProps = VariantProps<typeof buttonVariants>;
16
16
  //#endregion
17
17
  //#region packages/components/ui/button.d.ts
@@ -51,7 +51,7 @@ declare function Button({
51
51
  disabled,
52
52
  type,
53
53
  ...props
54
- }: ButtonProps): react_jsx_runtime86.JSX.Element;
54
+ }: ButtonProps): react_jsx_runtime32.JSX.Element;
55
55
  //#endregion
56
56
  export { ButtonProps as n, Button as t };
57
- //# sourceMappingURL=button-PV-Xnryv.d.mts.map
57
+ //# sourceMappingURL=button-IfNjnUO-.d.mts.map
@@ -1,2 +1,2 @@
1
- import{n as e}from"./button.variants-DuuH1O0_.mjs";import{t}from"./button-DXPSlb3I.mjs";import{cn as n}from"@customafk/react-toolkit/utils";import{useEffect as r,useRef as i}from"react";import{jsx as a}from"react/jsx-runtime";import{ChevronDownIcon as o,ChevronLeftIcon as s,ChevronRightIcon as c}from"lucide-react";import{DayPicker as l,getDefaultClassNames as u}from"react-day-picker";const d=({rootRef:e,className:t,...r})=>a(`div`,{"data-slot":`calendar`,ref:e,className:n(t),...r}),f=e=>e.orientation===`left`?a(s,{size:16,className:e.className,...e}):e.orientation===`right`?a(c,{size:16,className:e.className,...e}):a(o,{size:16,className:e.className,...e}),p=({className:e,day:o,modifiers:s,color:c,...l})=>{let d=u(),f=i(null);return r(()=>{s.focused&&f.current?.focus()},[s.focused]),a(t,{ref:f,variant:`ghost`,color:`muted`,"data-day":o.date.toLocaleDateString(),"data-selected-single":s.selected&&!s.range_start&&!s.range_end&&!s.range_middle,"data-range-start":s.range_start,"data-range-end":s.range_end,"data-range-middle":s.range_middle,className:n(`flex aspect-square size-9 flex-col rounded font-normal text-sm tabular-nums leading-none`,`data-[selected-single=true]:bg-primary`,`data-[selected-single=true]:text-white`,`data-[range-middle=true]:bg-muted-muted`,`data-[range-middle=true]:text-text-positive`,`data-[range-start=true]:bg-primary-muted`,`data-[range-start=true]:text-text-positive-strong`,`data-[range-end=true]:bg-primary`,`data-[range-end=true]:text-text-positive-strong`,`group-data-[focused=true]/day:border-primary-strong`,`group-data-[focused=true]/day:relative`,`group-data-[focused=true]/day:z-10`,`data-[range-end=true]:rounded`,`data-[range-end=true]:rounded-r`,`data-[range-middle=true]:rounded-none`,`data-[range-start=true]:rounded`,`data-[range-start=true]:rounded-l`,`[&>span]:text-xs [&>span]:opacity-70`,d.day,e),...l})},m=({children:e,...t})=>a(`td`,{...t,children:a(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e})});function h({className:t,classNames:r,showOutsideDays:i=!0,captionLayout:o=`label`,buttonVariant:s=`ghost`,formatters:c,components:h,...g}){let _=u();return a(l,{showOutsideDays:i,className:n(`group/calendar bg-background p-3`,`[--cell-size:--spacing(8)]`,`in-data-[slot=card-content]:bg-transparent`,`in-data-[slot=popover-content]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,t),captionLayout:o,formatters:{formatMonthDropdown:e=>e.toLocaleString(`default`,{month:`short`}),...c},classNames:{root:n(_.root),months:n(`flex gap-4 flex-col md:flex-row relative`,_.months),month:n(`flex flex-col w-full gap-4`,_.month),nav:n(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,_.nav),button_previous:n(e({variant:`outline`,color:`muted`}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,_.button_previous),button_next:n(e({variant:`outline`,color:`muted`}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,_.button_next),month_caption:n(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,_.month_caption),dropdowns:n(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,_.dropdowns),dropdown_root:n(`relative has-focus:border-primary-strong border border-border-weak shadow-xs has-focus:ring-primary-weak has-focus:ring-[3px] rounded`,_.dropdown_root),dropdown:n(`absolute inset-0 opacity-0`,_.dropdown),caption_label:n(`select-none font-medium`,o===`label`&&`text-sm`,o!==`label`&&`rounded shadow-xs px-2 flex items-center gap-0.5 text-sm h-8 [&>svg]:text-text-positive [&>svg]:size-3.5`,_.caption_label),table:`w-full border-collapse`,weekdays:n(`flex`,_.weekdays),weekday:n(`text-text-positive rounded flex-1 font-normal text-[0.8rem] select-none`,_.weekday),week:n(`flex w-full mt-2`,_.week),week_number_header:n(`select-none w-(--cell-size)`,_.week_number_header),week_number:n(`text-[0.8rem] select-none text-text-positive`,_.week_number),day:n(`relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l [&:last-child[data-selected=true]_button]:rounded-r group/day aspect-square select-none`,_.day),range_start:n(`rounded-l bg-muted-muted`,_.range_start),range_middle:n(`rounded-none`,_.range_middle),range_end:n(`rounded-r bg-muted-muted`,_.range_end),today:n(`bg-muted-muted text-text-positive rounded data-[selected=true]:rounded-none`,_.today),outside:n(`[&>button]:text-text-positive-muted aria-selected:text-text-positive`),disabled:n(`bg-muted-muted text-text-positive opacity-50`,_.disabled),hidden:n(`invisible`,_.hidden),...r},components:{Root:d,Chevron:f,DayButton:p,WeekNumber:m,...h},...g})}export{p as n,h as t};
2
- //# sourceMappingURL=calendar-CEF9LSd4.mjs.map
1
+ import{n as e}from"./button.variants-DuuH1O0_.mjs";import{t}from"./button-B2FJrOBP.mjs";import{cn as n}from"@customafk/react-toolkit/utils";import{useEffect as r,useRef as i}from"react";import{jsx as a}from"react/jsx-runtime";import{ChevronDownIcon as o,ChevronLeftIcon as s,ChevronRightIcon as c}from"lucide-react";import{DayPicker as l,getDefaultClassNames as u}from"react-day-picker";const d=({rootRef:e,className:t,...r})=>a(`div`,{"data-slot":`calendar`,ref:e,className:n(t),...r}),f=e=>e.orientation===`left`?a(s,{size:16,className:e.className,...e}):e.orientation===`right`?a(c,{size:16,className:e.className,...e}):a(o,{size:16,className:e.className,...e}),p=({className:e,day:o,modifiers:s,color:c,...l})=>{let d=u(),f=i(null);return r(()=>{s.focused&&f.current?.focus()},[s.focused]),a(t,{ref:f,variant:`ghost`,color:`muted`,"data-day":o.date.toLocaleDateString(),"data-selected-single":s.selected&&!s.range_start&&!s.range_end&&!s.range_middle,"data-range-start":s.range_start,"data-range-end":s.range_end,"data-range-middle":s.range_middle,className:n(`flex aspect-square size-9 flex-col rounded font-normal text-sm tabular-nums leading-none`,`data-[selected-single=true]:bg-primary`,`data-[selected-single=true]:text-white`,`data-[range-middle=true]:bg-muted-muted`,`data-[range-middle=true]:text-text-positive`,`data-[range-start=true]:bg-primary-muted`,`data-[range-start=true]:text-text-positive-strong`,`data-[range-end=true]:bg-primary`,`data-[range-end=true]:text-text-positive-strong`,`group-data-[focused=true]/day:border-primary-strong`,`group-data-[focused=true]/day:relative`,`group-data-[focused=true]/day:z-10`,`data-[range-end=true]:rounded`,`data-[range-end=true]:rounded-r`,`data-[range-middle=true]:rounded-none`,`data-[range-start=true]:rounded`,`data-[range-start=true]:rounded-l`,`[&>span]:text-xs [&>span]:opacity-70`,d.day,e),...l})},m=({children:e,...t})=>a(`td`,{...t,children:a(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e})});function h({className:t,classNames:r,showOutsideDays:i=!0,captionLayout:o=`label`,buttonVariant:s=`ghost`,formatters:c,components:h,...g}){let _=u();return a(l,{showOutsideDays:i,className:n(`group/calendar bg-background p-3`,`[--cell-size:--spacing(8)]`,`in-data-[slot=card-content]:bg-transparent`,`in-data-[slot=popover-content]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,t),captionLayout:o,formatters:{formatMonthDropdown:e=>e.toLocaleString(`default`,{month:`short`}),...c},classNames:{root:n(_.root),months:n(`flex gap-4 flex-col md:flex-row relative`,_.months),month:n(`flex flex-col w-full gap-4`,_.month),nav:n(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,_.nav),button_previous:n(e({variant:`outline`,color:`muted`}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,_.button_previous),button_next:n(e({variant:`outline`,color:`muted`}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,_.button_next),month_caption:n(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,_.month_caption),dropdowns:n(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,_.dropdowns),dropdown_root:n(`relative has-focus:border-primary-strong border border-border-weak shadow-xs has-focus:ring-primary-weak has-focus:ring-[3px] rounded`,_.dropdown_root),dropdown:n(`absolute inset-0 opacity-0`,_.dropdown),caption_label:n(`select-none font-medium`,o===`label`&&`text-sm`,o!==`label`&&`rounded shadow-xs px-2 flex items-center gap-0.5 text-sm h-8 [&>svg]:text-text-positive [&>svg]:size-3.5`,_.caption_label),table:`w-full border-collapse`,weekdays:n(`flex`,_.weekdays),weekday:n(`text-text-positive rounded flex-1 font-normal text-[0.8rem] select-none`,_.weekday),week:n(`flex w-full mt-2`,_.week),week_number_header:n(`select-none w-(--cell-size)`,_.week_number_header),week_number:n(`text-[0.8rem] select-none text-text-positive`,_.week_number),day:n(`relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l [&:last-child[data-selected=true]_button]:rounded-r group/day aspect-square select-none`,_.day),range_start:n(`rounded-l bg-muted-muted`,_.range_start),range_middle:n(`rounded-none`,_.range_middle),range_end:n(`rounded-r bg-muted-muted`,_.range_end),today:n(`bg-muted-muted text-text-positive rounded data-[selected=true]:rounded-none`,_.today),outside:n(`[&>button]:text-text-positive-muted aria-selected:text-text-positive`),disabled:n(`bg-muted-muted text-text-positive opacity-50`,_.disabled),hidden:n(`invisible`,_.hidden),...r},components:{Root:d,Chevron:f,DayButton:p,WeekNumber:m,...h},...g})}export{p as n,h as t};
2
+ //# sourceMappingURL=calendar-Bt6qXSZb.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-CEF9LSd4.mjs","names":[],"sources":["../packages/components/ui/calendar.tsx"],"sourcesContent":["'use client';\nimport { type HTMLAttributes, type ThHTMLAttributes, useEffect, useRef } from 'react';\n\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { buttonVariants } from '@/components/ui/button.variants';\n\nimport { type CalendarWeek, type CustomComponents, type DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nconst CalendarRoot = ({\n rootRef,\n className,\n ...props\n}: {\n rootRef?: React.Ref<HTMLDivElement>;\n} & HTMLAttributes<HTMLDivElement>) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n};\n\nconst CalendarChevron = (props: { className?: string; size?: number; disabled?: boolean; orientation?: 'up' | 'down' | 'left' | 'right' }) => {\n if (props.orientation === 'left') {\n return <ChevronLeftIcon size={16} className={props.className} {...props} />;\n }\n\n if (props.orientation === 'right') {\n return <ChevronRightIcon size={16} className={props.className} {...props} />;\n }\n\n return <ChevronDownIcon size={16} className={props.className} {...props} />;\n};\n\nconst CalendarDayButton = ({ className, day, modifiers, color: _, ...props }: React.ComponentProps<typeof DayButton>) => {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n color=\"muted\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle}\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'flex aspect-square size-9 flex-col rounded font-normal text-sm tabular-nums leading-none',\n 'data-[selected-single=true]:bg-primary',\n 'data-[selected-single=true]:text-white',\n 'data-[range-middle=true]:bg-muted-muted',\n 'data-[range-middle=true]:text-text-positive',\n 'data-[range-start=true]:bg-primary-muted',\n 'data-[range-start=true]:text-text-positive-strong',\n 'data-[range-end=true]:bg-primary',\n 'data-[range-end=true]:text-text-positive-strong',\n 'group-data-[focused=true]/day:border-primary-strong',\n 'group-data-[focused=true]/day:relative',\n 'group-data-[focused=true]/day:z-10',\n 'data-[range-end=true]:rounded',\n 'data-[range-end=true]:rounded-r',\n 'data-[range-middle=true]:rounded-none',\n 'data-[range-start=true]:rounded',\n 'data-[range-start=true]:rounded-l',\n '[&>span]:text-xs [&>span]:opacity-70',\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n );\n};\n\nconst CalendarWeekNumber = ({\n children,\n ...props\n}: {\n week: CalendarWeek;\n} & ThHTMLAttributes<HTMLTableCellElement>) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">{children}</div>\n </td>\n );\n};\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>['variant'];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'group/calendar bg-background p-3',\n '[--cell-size:--spacing(8)]',\n 'in-data-[slot=card-content]:bg-transparent',\n 'in-data-[slot=popover-content]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: date => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn(defaultClassNames.root),\n months: cn('flex gap-4 flex-col md:flex-row relative', defaultClassNames.months),\n month: cn('flex flex-col w-full gap-4', defaultClassNames.month),\n nav: cn('flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between', defaultClassNames.nav),\n button_previous: cn(\n buttonVariants({ variant: 'outline', color: 'muted' }),\n 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none',\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: 'outline', color: 'muted' }),\n 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none',\n defaultClassNames.button_next\n ),\n month_caption: cn('flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)', defaultClassNames.month_caption),\n dropdowns: cn('w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5', defaultClassNames.dropdowns),\n dropdown_root: cn(\n 'relative has-focus:border-primary-strong border border-border-weak shadow-xs has-focus:ring-primary-weak has-focus:ring-[3px] rounded',\n defaultClassNames.dropdown_root\n ),\n dropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'select-none font-medium',\n captionLayout === 'label' && 'text-sm',\n captionLayout !== 'label' && 'rounded shadow-xs px-2 flex items-center gap-0.5 text-sm h-8 [&>svg]:text-text-positive [&>svg]:size-3.5',\n defaultClassNames.caption_label\n ),\n table: 'w-full border-collapse',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn('text-text-positive rounded flex-1 font-normal text-[0.8rem] select-none', defaultClassNames.weekday),\n week: cn('flex w-full mt-2', defaultClassNames.week),\n week_number_header: cn('select-none w-(--cell-size)', defaultClassNames.week_number_header),\n week_number: cn('text-[0.8rem] select-none text-text-positive', defaultClassNames.week_number),\n day: cn(\n 'relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l [&:last-child[data-selected=true]_button]:rounded-r group/day aspect-square select-none',\n defaultClassNames.day\n ),\n range_start: cn('rounded-l bg-muted-muted', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('rounded-r bg-muted-muted', defaultClassNames.range_end),\n today: cn('bg-muted-muted text-text-positive rounded data-[selected=true]:rounded-none', defaultClassNames.today),\n outside: cn('[&>button]:text-text-positive-muted aria-selected:text-text-positive'),\n disabled: cn('bg-muted-muted text-text-positive opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: CalendarRoot as CustomComponents['Root'],\n Chevron: CalendarChevron as CustomComponents['Chevron'],\n DayButton: CalendarDayButton as CustomComponents['DayButton'],\n WeekNumber: CalendarWeekNumber as CustomComponents['WeekNumber'],\n ...components,\n }}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"],"mappings":"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"}
1
+ {"version":3,"file":"calendar-Bt6qXSZb.mjs","names":[],"sources":["../packages/components/ui/calendar.tsx"],"sourcesContent":["'use client';\nimport { type HTMLAttributes, type ThHTMLAttributes, useEffect, useRef } from 'react';\n\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { buttonVariants } from '@/components/ui/button.variants';\n\nimport { type CalendarWeek, type CustomComponents, type DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nconst CalendarRoot = ({\n rootRef,\n className,\n ...props\n}: {\n rootRef?: React.Ref<HTMLDivElement>;\n} & HTMLAttributes<HTMLDivElement>) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n};\n\nconst CalendarChevron = (props: { className?: string; size?: number; disabled?: boolean; orientation?: 'up' | 'down' | 'left' | 'right' }) => {\n if (props.orientation === 'left') {\n return <ChevronLeftIcon size={16} className={props.className} {...props} />;\n }\n\n if (props.orientation === 'right') {\n return <ChevronRightIcon size={16} className={props.className} {...props} />;\n }\n\n return <ChevronDownIcon size={16} className={props.className} {...props} />;\n};\n\nconst CalendarDayButton = ({ className, day, modifiers, color: _, ...props }: React.ComponentProps<typeof DayButton>) => {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n color=\"muted\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle}\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'flex aspect-square size-9 flex-col rounded font-normal text-sm tabular-nums leading-none',\n 'data-[selected-single=true]:bg-primary',\n 'data-[selected-single=true]:text-white',\n 'data-[range-middle=true]:bg-muted-muted',\n 'data-[range-middle=true]:text-text-positive',\n 'data-[range-start=true]:bg-primary-muted',\n 'data-[range-start=true]:text-text-positive-strong',\n 'data-[range-end=true]:bg-primary',\n 'data-[range-end=true]:text-text-positive-strong',\n 'group-data-[focused=true]/day:border-primary-strong',\n 'group-data-[focused=true]/day:relative',\n 'group-data-[focused=true]/day:z-10',\n 'data-[range-end=true]:rounded',\n 'data-[range-end=true]:rounded-r',\n 'data-[range-middle=true]:rounded-none',\n 'data-[range-start=true]:rounded',\n 'data-[range-start=true]:rounded-l',\n '[&>span]:text-xs [&>span]:opacity-70',\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n );\n};\n\nconst CalendarWeekNumber = ({\n children,\n ...props\n}: {\n week: CalendarWeek;\n} & ThHTMLAttributes<HTMLTableCellElement>) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">{children}</div>\n </td>\n );\n};\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>['variant'];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'group/calendar bg-background p-3',\n '[--cell-size:--spacing(8)]',\n 'in-data-[slot=card-content]:bg-transparent',\n 'in-data-[slot=popover-content]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: date => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn(defaultClassNames.root),\n months: cn('flex gap-4 flex-col md:flex-row relative', defaultClassNames.months),\n month: cn('flex flex-col w-full gap-4', defaultClassNames.month),\n nav: cn('flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between', defaultClassNames.nav),\n button_previous: cn(\n buttonVariants({ variant: 'outline', color: 'muted' }),\n 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none',\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: 'outline', color: 'muted' }),\n 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none',\n defaultClassNames.button_next\n ),\n month_caption: cn('flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)', defaultClassNames.month_caption),\n dropdowns: cn('w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5', defaultClassNames.dropdowns),\n dropdown_root: cn(\n 'relative has-focus:border-primary-strong border border-border-weak shadow-xs has-focus:ring-primary-weak has-focus:ring-[3px] rounded',\n defaultClassNames.dropdown_root\n ),\n dropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'select-none font-medium',\n captionLayout === 'label' && 'text-sm',\n captionLayout !== 'label' && 'rounded shadow-xs px-2 flex items-center gap-0.5 text-sm h-8 [&>svg]:text-text-positive [&>svg]:size-3.5',\n defaultClassNames.caption_label\n ),\n table: 'w-full border-collapse',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn('text-text-positive rounded flex-1 font-normal text-[0.8rem] select-none', defaultClassNames.weekday),\n week: cn('flex w-full mt-2', defaultClassNames.week),\n week_number_header: cn('select-none w-(--cell-size)', defaultClassNames.week_number_header),\n week_number: cn('text-[0.8rem] select-none text-text-positive', defaultClassNames.week_number),\n day: cn(\n 'relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l [&:last-child[data-selected=true]_button]:rounded-r group/day aspect-square select-none',\n defaultClassNames.day\n ),\n range_start: cn('rounded-l bg-muted-muted', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('rounded-r bg-muted-muted', defaultClassNames.range_end),\n today: cn('bg-muted-muted text-text-positive rounded data-[selected=true]:rounded-none', defaultClassNames.today),\n outside: cn('[&>button]:text-text-positive-muted aria-selected:text-text-positive'),\n disabled: cn('bg-muted-muted text-text-positive opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: CalendarRoot as CustomComponents['Root'],\n Chevron: CalendarChevron as CustomComponents['Chevron'],\n DayButton: CalendarDayButton as CustomComponents['DayButton'],\n WeekNumber: CalendarWeekNumber as CustomComponents['WeekNumber'],\n ...components,\n }}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const e=require(`./chunk-Bmb41Sf3.cjs`),t=require(`./button.variants-rdXrPUao.cjs`),n=require(`./button-C58TS8Pc.cjs`);let r=require(`@customafk/react-toolkit/utils`),i=require(`react`),a=require(`react/jsx-runtime`),o=require(`lucide-react`),s=require(`react-day-picker`);const c=({rootRef:e,className:t,...n})=>(0,a.jsx)(`div`,{"data-slot":`calendar`,ref:e,className:(0,r.cn)(t),...n}),l=e=>e.orientation===`left`?(0,a.jsx)(o.ChevronLeftIcon,{size:16,className:e.className,...e}):e.orientation===`right`?(0,a.jsx)(o.ChevronRightIcon,{size:16,className:e.className,...e}):(0,a.jsx)(o.ChevronDownIcon,{size:16,className:e.className,...e}),u=({className:e,day:t,modifiers:o,color:c,...l})=>{let u=(0,s.getDefaultClassNames)(),d=(0,i.useRef)(null);return(0,i.useEffect)(()=>{o.focused&&d.current?.focus()},[o.focused]),(0,a.jsx)(n.t,{ref:d,variant:`ghost`,color:`muted`,"data-day":t.date.toLocaleDateString(),"data-selected-single":o.selected&&!o.range_start&&!o.range_end&&!o.range_middle,"data-range-start":o.range_start,"data-range-end":o.range_end,"data-range-middle":o.range_middle,className:(0,r.cn)(`flex aspect-square size-9 flex-col rounded font-normal text-sm tabular-nums leading-none`,`data-[selected-single=true]:bg-primary`,`data-[selected-single=true]:text-white`,`data-[range-middle=true]:bg-muted-muted`,`data-[range-middle=true]:text-text-positive`,`data-[range-start=true]:bg-primary-muted`,`data-[range-start=true]:text-text-positive-strong`,`data-[range-end=true]:bg-primary`,`data-[range-end=true]:text-text-positive-strong`,`group-data-[focused=true]/day:border-primary-strong`,`group-data-[focused=true]/day:relative`,`group-data-[focused=true]/day:z-10`,`data-[range-end=true]:rounded`,`data-[range-end=true]:rounded-r`,`data-[range-middle=true]:rounded-none`,`data-[range-start=true]:rounded`,`data-[range-start=true]:rounded-l`,`[&>span]:text-xs [&>span]:opacity-70`,u.day,e),...l})},d=({children:e,...t})=>(0,a.jsx)(`td`,{...t,children:(0,a.jsx)(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e})});function f({className:e,classNames:n,showOutsideDays:i=!0,captionLayout:o=`label`,buttonVariant:f=`ghost`,formatters:p,components:m,...h}){let g=(0,s.getDefaultClassNames)();return(0,a.jsx)(s.DayPicker,{showOutsideDays:i,className:(0,r.cn)(`group/calendar bg-background p-3`,`[--cell-size:--spacing(8)]`,`in-data-[slot=card-content]:bg-transparent`,`in-data-[slot=popover-content]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:o,formatters:{formatMonthDropdown:e=>e.toLocaleString(`default`,{month:`short`}),...p},classNames:{root:(0,r.cn)(g.root),months:(0,r.cn)(`flex gap-4 flex-col md:flex-row relative`,g.months),month:(0,r.cn)(`flex flex-col w-full gap-4`,g.month),nav:(0,r.cn)(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,g.nav),button_previous:(0,r.cn)(t.n({variant:`outline`,color:`muted`}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,g.button_previous),button_next:(0,r.cn)(t.n({variant:`outline`,color:`muted`}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,g.button_next),month_caption:(0,r.cn)(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,g.month_caption),dropdowns:(0,r.cn)(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,g.dropdowns),dropdown_root:(0,r.cn)(`relative has-focus:border-primary-strong border border-border-weak shadow-xs has-focus:ring-primary-weak has-focus:ring-[3px] rounded`,g.dropdown_root),dropdown:(0,r.cn)(`absolute inset-0 opacity-0`,g.dropdown),caption_label:(0,r.cn)(`select-none font-medium`,o===`label`&&`text-sm`,o!==`label`&&`rounded shadow-xs px-2 flex items-center gap-0.5 text-sm h-8 [&>svg]:text-text-positive [&>svg]:size-3.5`,g.caption_label),table:`w-full border-collapse`,weekdays:(0,r.cn)(`flex`,g.weekdays),weekday:(0,r.cn)(`text-text-positive rounded flex-1 font-normal text-[0.8rem] select-none`,g.weekday),week:(0,r.cn)(`flex w-full mt-2`,g.week),week_number_header:(0,r.cn)(`select-none w-(--cell-size)`,g.week_number_header),week_number:(0,r.cn)(`text-[0.8rem] select-none text-text-positive`,g.week_number),day:(0,r.cn)(`relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l [&:last-child[data-selected=true]_button]:rounded-r group/day aspect-square select-none`,g.day),range_start:(0,r.cn)(`rounded-l bg-muted-muted`,g.range_start),range_middle:(0,r.cn)(`rounded-none`,g.range_middle),range_end:(0,r.cn)(`rounded-r bg-muted-muted`,g.range_end),today:(0,r.cn)(`bg-muted-muted text-text-positive rounded data-[selected=true]:rounded-none`,g.today),outside:(0,r.cn)(`[&>button]:text-text-positive-muted aria-selected:text-text-positive`),disabled:(0,r.cn)(`bg-muted-muted text-text-positive opacity-50`,g.disabled),hidden:(0,r.cn)(`invisible`,g.hidden),...n},components:{Root:c,Chevron:l,DayButton:u,WeekNumber:d,...m},...h})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
2
- //# sourceMappingURL=calendar-DT0NPRhB.cjs.map
1
+ const e=require(`./chunk-Bmb41Sf3.cjs`),t=require(`./button.variants-rdXrPUao.cjs`),n=require(`./button-CYw2AqT0.cjs`);let r=require(`@customafk/react-toolkit/utils`),i=require(`react`),a=require(`react/jsx-runtime`),o=require(`lucide-react`),s=require(`react-day-picker`);const c=({rootRef:e,className:t,...n})=>(0,a.jsx)(`div`,{"data-slot":`calendar`,ref:e,className:(0,r.cn)(t),...n}),l=e=>e.orientation===`left`?(0,a.jsx)(o.ChevronLeftIcon,{size:16,className:e.className,...e}):e.orientation===`right`?(0,a.jsx)(o.ChevronRightIcon,{size:16,className:e.className,...e}):(0,a.jsx)(o.ChevronDownIcon,{size:16,className:e.className,...e}),u=({className:e,day:t,modifiers:o,color:c,...l})=>{let u=(0,s.getDefaultClassNames)(),d=(0,i.useRef)(null);return(0,i.useEffect)(()=>{o.focused&&d.current?.focus()},[o.focused]),(0,a.jsx)(n.t,{ref:d,variant:`ghost`,color:`muted`,"data-day":t.date.toLocaleDateString(),"data-selected-single":o.selected&&!o.range_start&&!o.range_end&&!o.range_middle,"data-range-start":o.range_start,"data-range-end":o.range_end,"data-range-middle":o.range_middle,className:(0,r.cn)(`flex aspect-square size-9 flex-col rounded font-normal text-sm tabular-nums leading-none`,`data-[selected-single=true]:bg-primary`,`data-[selected-single=true]:text-white`,`data-[range-middle=true]:bg-muted-muted`,`data-[range-middle=true]:text-text-positive`,`data-[range-start=true]:bg-primary-muted`,`data-[range-start=true]:text-text-positive-strong`,`data-[range-end=true]:bg-primary`,`data-[range-end=true]:text-text-positive-strong`,`group-data-[focused=true]/day:border-primary-strong`,`group-data-[focused=true]/day:relative`,`group-data-[focused=true]/day:z-10`,`data-[range-end=true]:rounded`,`data-[range-end=true]:rounded-r`,`data-[range-middle=true]:rounded-none`,`data-[range-start=true]:rounded`,`data-[range-start=true]:rounded-l`,`[&>span]:text-xs [&>span]:opacity-70`,u.day,e),...l})},d=({children:e,...t})=>(0,a.jsx)(`td`,{...t,children:(0,a.jsx)(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e})});function f({className:e,classNames:n,showOutsideDays:i=!0,captionLayout:o=`label`,buttonVariant:f=`ghost`,formatters:p,components:m,...h}){let g=(0,s.getDefaultClassNames)();return(0,a.jsx)(s.DayPicker,{showOutsideDays:i,className:(0,r.cn)(`group/calendar bg-background p-3`,`[--cell-size:--spacing(8)]`,`in-data-[slot=card-content]:bg-transparent`,`in-data-[slot=popover-content]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:o,formatters:{formatMonthDropdown:e=>e.toLocaleString(`default`,{month:`short`}),...p},classNames:{root:(0,r.cn)(g.root),months:(0,r.cn)(`flex gap-4 flex-col md:flex-row relative`,g.months),month:(0,r.cn)(`flex flex-col w-full gap-4`,g.month),nav:(0,r.cn)(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,g.nav),button_previous:(0,r.cn)(t.n({variant:`outline`,color:`muted`}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,g.button_previous),button_next:(0,r.cn)(t.n({variant:`outline`,color:`muted`}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,g.button_next),month_caption:(0,r.cn)(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,g.month_caption),dropdowns:(0,r.cn)(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,g.dropdowns),dropdown_root:(0,r.cn)(`relative has-focus:border-primary-strong border border-border-weak shadow-xs has-focus:ring-primary-weak has-focus:ring-[3px] rounded`,g.dropdown_root),dropdown:(0,r.cn)(`absolute inset-0 opacity-0`,g.dropdown),caption_label:(0,r.cn)(`select-none font-medium`,o===`label`&&`text-sm`,o!==`label`&&`rounded shadow-xs px-2 flex items-center gap-0.5 text-sm h-8 [&>svg]:text-text-positive [&>svg]:size-3.5`,g.caption_label),table:`w-full border-collapse`,weekdays:(0,r.cn)(`flex`,g.weekdays),weekday:(0,r.cn)(`text-text-positive rounded flex-1 font-normal text-[0.8rem] select-none`,g.weekday),week:(0,r.cn)(`flex w-full mt-2`,g.week),week_number_header:(0,r.cn)(`select-none w-(--cell-size)`,g.week_number_header),week_number:(0,r.cn)(`text-[0.8rem] select-none text-text-positive`,g.week_number),day:(0,r.cn)(`relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l [&:last-child[data-selected=true]_button]:rounded-r group/day aspect-square select-none`,g.day),range_start:(0,r.cn)(`rounded-l bg-muted-muted`,g.range_start),range_middle:(0,r.cn)(`rounded-none`,g.range_middle),range_end:(0,r.cn)(`rounded-r bg-muted-muted`,g.range_end),today:(0,r.cn)(`bg-muted-muted text-text-positive rounded data-[selected=true]:rounded-none`,g.today),outside:(0,r.cn)(`[&>button]:text-text-positive-muted aria-selected:text-text-positive`),disabled:(0,r.cn)(`bg-muted-muted text-text-positive opacity-50`,g.disabled),hidden:(0,r.cn)(`invisible`,g.hidden),...n},components:{Root:c,Chevron:l,DayButton:u,WeekNumber:d,...m},...h})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
2
+ //# sourceMappingURL=calendar-BwWfk_Zk.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-DT0NPRhB.cjs","names":["ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","Button","DayPicker","buttonVariants"],"sources":["../packages/components/ui/calendar.tsx"],"sourcesContent":["'use client';\nimport { type HTMLAttributes, type ThHTMLAttributes, useEffect, useRef } from 'react';\n\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { buttonVariants } from '@/components/ui/button.variants';\n\nimport { type CalendarWeek, type CustomComponents, type DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nconst CalendarRoot = ({\n rootRef,\n className,\n ...props\n}: {\n rootRef?: React.Ref<HTMLDivElement>;\n} & HTMLAttributes<HTMLDivElement>) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n};\n\nconst CalendarChevron = (props: { className?: string; size?: number; disabled?: boolean; orientation?: 'up' | 'down' | 'left' | 'right' }) => {\n if (props.orientation === 'left') {\n return <ChevronLeftIcon size={16} className={props.className} {...props} />;\n }\n\n if (props.orientation === 'right') {\n return <ChevronRightIcon size={16} className={props.className} {...props} />;\n }\n\n return <ChevronDownIcon size={16} className={props.className} {...props} />;\n};\n\nconst CalendarDayButton = ({ className, day, modifiers, color: _, ...props }: React.ComponentProps<typeof DayButton>) => {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n color=\"muted\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle}\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'flex aspect-square size-9 flex-col rounded font-normal text-sm tabular-nums leading-none',\n 'data-[selected-single=true]:bg-primary',\n 'data-[selected-single=true]:text-white',\n 'data-[range-middle=true]:bg-muted-muted',\n 'data-[range-middle=true]:text-text-positive',\n 'data-[range-start=true]:bg-primary-muted',\n 'data-[range-start=true]:text-text-positive-strong',\n 'data-[range-end=true]:bg-primary',\n 'data-[range-end=true]:text-text-positive-strong',\n 'group-data-[focused=true]/day:border-primary-strong',\n 'group-data-[focused=true]/day:relative',\n 'group-data-[focused=true]/day:z-10',\n 'data-[range-end=true]:rounded',\n 'data-[range-end=true]:rounded-r',\n 'data-[range-middle=true]:rounded-none',\n 'data-[range-start=true]:rounded',\n 'data-[range-start=true]:rounded-l',\n '[&>span]:text-xs [&>span]:opacity-70',\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n );\n};\n\nconst CalendarWeekNumber = ({\n children,\n ...props\n}: {\n week: CalendarWeek;\n} & ThHTMLAttributes<HTMLTableCellElement>) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">{children}</div>\n </td>\n );\n};\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>['variant'];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'group/calendar bg-background p-3',\n '[--cell-size:--spacing(8)]',\n 'in-data-[slot=card-content]:bg-transparent',\n 'in-data-[slot=popover-content]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: date => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn(defaultClassNames.root),\n months: cn('flex gap-4 flex-col md:flex-row relative', defaultClassNames.months),\n month: cn('flex flex-col w-full gap-4', defaultClassNames.month),\n nav: cn('flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between', defaultClassNames.nav),\n button_previous: cn(\n buttonVariants({ variant: 'outline', color: 'muted' }),\n 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none',\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: 'outline', color: 'muted' }),\n 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none',\n defaultClassNames.button_next\n ),\n month_caption: cn('flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)', defaultClassNames.month_caption),\n dropdowns: cn('w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5', defaultClassNames.dropdowns),\n dropdown_root: cn(\n 'relative has-focus:border-primary-strong border border-border-weak shadow-xs has-focus:ring-primary-weak has-focus:ring-[3px] rounded',\n defaultClassNames.dropdown_root\n ),\n dropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'select-none font-medium',\n captionLayout === 'label' && 'text-sm',\n captionLayout !== 'label' && 'rounded shadow-xs px-2 flex items-center gap-0.5 text-sm h-8 [&>svg]:text-text-positive [&>svg]:size-3.5',\n defaultClassNames.caption_label\n ),\n table: 'w-full border-collapse',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn('text-text-positive rounded flex-1 font-normal text-[0.8rem] select-none', defaultClassNames.weekday),\n week: cn('flex w-full mt-2', defaultClassNames.week),\n week_number_header: cn('select-none w-(--cell-size)', defaultClassNames.week_number_header),\n week_number: cn('text-[0.8rem] select-none text-text-positive', defaultClassNames.week_number),\n day: cn(\n 'relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l [&:last-child[data-selected=true]_button]:rounded-r group/day aspect-square select-none',\n defaultClassNames.day\n ),\n range_start: cn('rounded-l bg-muted-muted', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('rounded-r bg-muted-muted', defaultClassNames.range_end),\n today: cn('bg-muted-muted text-text-positive rounded data-[selected=true]:rounded-none', defaultClassNames.today),\n outside: cn('[&>button]:text-text-positive-muted aria-selected:text-text-positive'),\n disabled: cn('bg-muted-muted text-text-positive opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: CalendarRoot as CustomComponents['Root'],\n Chevron: CalendarChevron as CustomComponents['Chevron'],\n DayButton: CalendarDayButton as CustomComponents['DayButton'],\n WeekNumber: CalendarWeekNumber as CustomComponents['WeekNumber'],\n ...components,\n }}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"],"mappings":"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"}
1
+ {"version":3,"file":"calendar-BwWfk_Zk.cjs","names":["ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","Button","DayPicker","buttonVariants"],"sources":["../packages/components/ui/calendar.tsx"],"sourcesContent":["'use client';\nimport { type HTMLAttributes, type ThHTMLAttributes, useEffect, useRef } from 'react';\n\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { buttonVariants } from '@/components/ui/button.variants';\n\nimport { type CalendarWeek, type CustomComponents, type DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nconst CalendarRoot = ({\n rootRef,\n className,\n ...props\n}: {\n rootRef?: React.Ref<HTMLDivElement>;\n} & HTMLAttributes<HTMLDivElement>) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n};\n\nconst CalendarChevron = (props: { className?: string; size?: number; disabled?: boolean; orientation?: 'up' | 'down' | 'left' | 'right' }) => {\n if (props.orientation === 'left') {\n return <ChevronLeftIcon size={16} className={props.className} {...props} />;\n }\n\n if (props.orientation === 'right') {\n return <ChevronRightIcon size={16} className={props.className} {...props} />;\n }\n\n return <ChevronDownIcon size={16} className={props.className} {...props} />;\n};\n\nconst CalendarDayButton = ({ className, day, modifiers, color: _, ...props }: React.ComponentProps<typeof DayButton>) => {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n color=\"muted\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle}\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'flex aspect-square size-9 flex-col rounded font-normal text-sm tabular-nums leading-none',\n 'data-[selected-single=true]:bg-primary',\n 'data-[selected-single=true]:text-white',\n 'data-[range-middle=true]:bg-muted-muted',\n 'data-[range-middle=true]:text-text-positive',\n 'data-[range-start=true]:bg-primary-muted',\n 'data-[range-start=true]:text-text-positive-strong',\n 'data-[range-end=true]:bg-primary',\n 'data-[range-end=true]:text-text-positive-strong',\n 'group-data-[focused=true]/day:border-primary-strong',\n 'group-data-[focused=true]/day:relative',\n 'group-data-[focused=true]/day:z-10',\n 'data-[range-end=true]:rounded',\n 'data-[range-end=true]:rounded-r',\n 'data-[range-middle=true]:rounded-none',\n 'data-[range-start=true]:rounded',\n 'data-[range-start=true]:rounded-l',\n '[&>span]:text-xs [&>span]:opacity-70',\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n );\n};\n\nconst CalendarWeekNumber = ({\n children,\n ...props\n}: {\n week: CalendarWeek;\n} & ThHTMLAttributes<HTMLTableCellElement>) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">{children}</div>\n </td>\n );\n};\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>['variant'];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'group/calendar bg-background p-3',\n '[--cell-size:--spacing(8)]',\n 'in-data-[slot=card-content]:bg-transparent',\n 'in-data-[slot=popover-content]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: date => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn(defaultClassNames.root),\n months: cn('flex gap-4 flex-col md:flex-row relative', defaultClassNames.months),\n month: cn('flex flex-col w-full gap-4', defaultClassNames.month),\n nav: cn('flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between', defaultClassNames.nav),\n button_previous: cn(\n buttonVariants({ variant: 'outline', color: 'muted' }),\n 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none',\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: 'outline', color: 'muted' }),\n 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none',\n defaultClassNames.button_next\n ),\n month_caption: cn('flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)', defaultClassNames.month_caption),\n dropdowns: cn('w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5', defaultClassNames.dropdowns),\n dropdown_root: cn(\n 'relative has-focus:border-primary-strong border border-border-weak shadow-xs has-focus:ring-primary-weak has-focus:ring-[3px] rounded',\n defaultClassNames.dropdown_root\n ),\n dropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'select-none font-medium',\n captionLayout === 'label' && 'text-sm',\n captionLayout !== 'label' && 'rounded shadow-xs px-2 flex items-center gap-0.5 text-sm h-8 [&>svg]:text-text-positive [&>svg]:size-3.5',\n defaultClassNames.caption_label\n ),\n table: 'w-full border-collapse',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn('text-text-positive rounded flex-1 font-normal text-[0.8rem] select-none', defaultClassNames.weekday),\n week: cn('flex w-full mt-2', defaultClassNames.week),\n week_number_header: cn('select-none w-(--cell-size)', defaultClassNames.week_number_header),\n week_number: cn('text-[0.8rem] select-none text-text-positive', defaultClassNames.week_number),\n day: cn(\n 'relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l [&:last-child[data-selected=true]_button]:rounded-r group/day aspect-square select-none',\n defaultClassNames.day\n ),\n range_start: cn('rounded-l bg-muted-muted', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('rounded-r bg-muted-muted', defaultClassNames.range_end),\n today: cn('bg-muted-muted text-text-positive rounded data-[selected=true]:rounded-none', defaultClassNames.today),\n outside: cn('[&>button]:text-text-positive-muted aria-selected:text-text-positive'),\n disabled: cn('bg-muted-muted text-text-positive opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: CalendarRoot as CustomComponents['Root'],\n Chevron: CalendarChevron as CustomComponents['Chevron'],\n DayButton: CalendarDayButton as CustomComponents['DayButton'],\n WeekNumber: CalendarWeekNumber as CustomComponents['WeekNumber'],\n ...components,\n }}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"],"mappings":"iRAYA,MAAM,GAAgB,CACpB,UACA,YACA,GAAG,MAII,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,WAAW,IAAK,EAAS,WAAA,EAAA,EAAA,IAAc,EAAU,CAAE,GAAI,GAAS,CAGlF,EAAmB,GACnB,EAAM,cAAgB,QACjB,EAAA,EAAA,KAACA,EAAAA,gBAAAA,CAAgB,KAAM,GAAI,UAAW,EAAM,UAAW,GAAI,GAAS,CAGzE,EAAM,cAAgB,SACjB,EAAA,EAAA,KAACC,EAAAA,iBAAAA,CAAiB,KAAM,GAAI,UAAW,EAAM,UAAW,GAAI,GAAS,EAGvE,EAAA,EAAA,KAACC,EAAAA,gBAAAA,CAAgB,KAAM,GAAI,UAAW,EAAM,UAAW,GAAI,GAAS,CAGvE,GAAqB,CAAE,YAAW,MAAK,YAAW,MAAO,EAAG,GAAG,KAAoD,CACvH,IAAM,GAAA,EAAA,EAAA,uBAA0C,CAE1C,GAAA,EAAA,EAAA,QAAgC,KAAK,CAK3C,OAJA,EAAA,EAAA,eAAgB,CACV,EAAU,SAAS,EAAI,SAAS,OAAO,EAC1C,CAAC,EAAU,QAAQ,CAAC,EAGrB,EAAA,EAAA,KAACC,EAAAA,EAAAA,CACM,MACL,QAAQ,QACR,MAAM,QACN,WAAU,EAAI,KAAK,oBAAoB,CACvC,uBAAsB,EAAU,UAAY,CAAC,EAAU,aAAe,CAAC,EAAU,WAAa,CAAC,EAAU,aACzG,mBAAkB,EAAU,YAC5B,iBAAgB,EAAU,UAC1B,oBAAmB,EAAU,aAC7B,WAAA,EAAA,EAAA,IACE,2FACA,yCACA,yCACA,0CACA,8CACA,2CACA,oDACA,mCACA,kDACA,sDACA,yCACA,qCACA,gCACA,kCACA,wCACA,kCACA,oCACA,uCACA,EAAkB,IAClB,EACD,CACD,GAAI,GACJ,EAIA,GAAsB,CAC1B,WACA,GAAG,MAKD,EAAA,EAAA,KAAC,KAAA,CAAG,GAAI,YACN,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,kEAAmE,YAAe,EAC9F,CAIT,SAAS,EAAS,CAChB,YACA,aACA,kBAAkB,GAClB,gBAAgB,QAChB,gBAAgB,QAChB,aACA,aACA,GAAG,GAGF,CACD,IAAM,GAAA,EAAA,EAAA,uBAA0C,CAEhD,OACE,EAAA,EAAA,KAACC,EAAAA,UAAAA,CACkB,kBACjB,WAAA,EAAA,EAAA,IACE,mCACA,6BACA,6CACA,gDACA,OAAO,GAAG,4CACV,OAAO,GAAG,gDACV,EACD,CACc,gBACf,WAAY,CACV,oBAAqB,GAAQ,EAAK,eAAe,UAAW,CAAE,MAAO,QAAS,CAAC,CAC/E,GAAG,EACJ,CACD,WAAY,CACV,MAAA,EAAA,EAAA,IAAS,EAAkB,KAAK,CAChC,QAAA,EAAA,EAAA,IAAW,2CAA4C,EAAkB,OAAO,CAChF,OAAA,EAAA,EAAA,IAAU,6BAA8B,EAAkB,MAAM,CAChE,KAAA,EAAA,EAAA,IAAQ,0EAA2E,EAAkB,IAAI,CACzG,iBAAA,EAAA,EAAA,IACEC,EAAAA,EAAe,CAAE,QAAS,UAAW,MAAO,QAAS,CAAC,CACtD,8DACA,EAAkB,gBACnB,CACD,aAAA,EAAA,EAAA,IACEA,EAAAA,EAAe,CAAE,QAAS,UAAW,MAAO,QAAS,CAAC,CACtD,8DACA,EAAkB,YACnB,CACD,eAAA,EAAA,EAAA,IAAkB,2EAA4E,EAAkB,cAAc,CAC9H,WAAA,EAAA,EAAA,IAAc,sFAAuF,EAAkB,UAAU,CACjI,eAAA,EAAA,EAAA,IACE,wIACA,EAAkB,cACnB,CACD,UAAA,EAAA,EAAA,IAAa,6BAA8B,EAAkB,SAAS,CACtE,eAAA,EAAA,EAAA,IACE,0BACA,IAAkB,SAAW,UAC7B,IAAkB,SAAW,2GAC7B,EAAkB,cACnB,CACD,MAAO,yBACP,UAAA,EAAA,EAAA,IAAa,OAAQ,EAAkB,SAAS,CAChD,SAAA,EAAA,EAAA,IAAY,0EAA2E,EAAkB,QAAQ,CACjH,MAAA,EAAA,EAAA,IAAS,mBAAoB,EAAkB,KAAK,CACpD,oBAAA,EAAA,EAAA,IAAuB,8BAA+B,EAAkB,mBAAmB,CAC3F,aAAA,EAAA,EAAA,IAAgB,+CAAgD,EAAkB,YAAY,CAC9F,KAAA,EAAA,EAAA,IACE,sLACA,EAAkB,IACnB,CACD,aAAA,EAAA,EAAA,IAAgB,2BAA4B,EAAkB,YAAY,CAC1E,cAAA,EAAA,EAAA,IAAiB,eAAgB,EAAkB,aAAa,CAChE,WAAA,EAAA,EAAA,IAAc,2BAA4B,EAAkB,UAAU,CACtE,OAAA,EAAA,EAAA,IAAU,8EAA+E,EAAkB,MAAM,CACjH,SAAA,EAAA,EAAA,IAAY,uEAAuE,CACnF,UAAA,EAAA,EAAA,IAAa,+CAAgD,EAAkB,SAAS,CACxF,QAAA,EAAA,EAAA,IAAW,YAAa,EAAkB,OAAO,CACjD,GAAG,EACJ,CACD,WAAY,CACV,KAAM,EACN,QAAS,EACT,UAAW,EACX,WAAY,EACZ,GAAG,EACJ,CACD,GAAI,GACJ"}
@@ -1,2 +1,2 @@
1
- const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../heading-BEm5CCSE.cjs`),require(`../paragraph-B72bHMf7.cjs`);const t=require(`../ui/card.cjs`);require(`../button.variants-rdXrPUao.cjs`);const n=require(`../button-C58TS8Pc.cjs`);require(`../skeleton-CHympz8k.cjs`);const r=require(`../image-DuFv8sPr.cjs`);let i=require(`react/jsx-runtime`),a=require(`lucide-react`);const o=({name:e,thumbnail:o,price:s})=>(0,i.jsxs)(t.Card,{className:`h-36 w-full flex-row gap-4 p-2 pr-4`,children:[(0,i.jsx)(r.t,{className:`aspect-square h-full flex-0`,src:o}),(0,i.jsxs)(`div`,{className:`flex flex-1 flex-col gap-y-1`,children:[(0,i.jsx)(`p`,{className:`line-clamp-2 h-10 font-semibold text-sm text-text-positive`,children:e}),(0,i.jsxs)(`p`,{className:`font-bold text-base text-success`,children:[s.toLocaleString(`vi-VN`),(0,i.jsx)(`small`,{className:`ml-0.5`,children:`VND`})]}),(0,i.jsxs)(`div`,{className:`mb-3 flex flex-1 items-end justify-end gap-x-1`,children:[(0,i.jsx)(n.t,{size:`icon`,variant:`outline`,color:`muted`,className:`size-9`,children:(0,i.jsx)(a.HeartIcon,{})}),(0,i.jsxs)(n.t,{className:`max-w-52 max-sm:size-9 sm:flex-1`,children:[(0,i.jsx)(a.ShoppingCartIcon,{}),(0,i.jsx)(`p`,{className:`sr-only sm:not-sr-only`,children:`Thêm vào giỏ`})]})]})]})]});exports.GridProductCard=o;
1
+ const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../heading-BEm5CCSE.cjs`),require(`../paragraph-B72bHMf7.cjs`);const t=require(`../ui/card.cjs`);require(`../button.variants-rdXrPUao.cjs`);const n=require(`../button-CYw2AqT0.cjs`);require(`../skeleton-CHympz8k.cjs`);const r=require(`../image-DuFv8sPr.cjs`);let i=require(`react/jsx-runtime`),a=require(`lucide-react`);const o=({name:e,thumbnail:o,price:s})=>(0,i.jsxs)(t.Card,{className:`h-36 w-full flex-row gap-4 p-2 pr-4`,children:[(0,i.jsx)(r.t,{className:`aspect-square h-full flex-0`,src:o}),(0,i.jsxs)(`div`,{className:`flex flex-1 flex-col gap-y-1`,children:[(0,i.jsx)(`p`,{className:`line-clamp-2 h-10 font-semibold text-sm text-text-positive`,children:e}),(0,i.jsxs)(`p`,{className:`font-bold text-base text-success`,children:[s.toLocaleString(`vi-VN`),(0,i.jsx)(`small`,{className:`ml-0.5`,children:`VND`})]}),(0,i.jsxs)(`div`,{className:`mb-3 flex flex-1 items-end justify-end gap-x-1`,children:[(0,i.jsx)(n.t,{size:`icon`,variant:`outline`,color:`muted`,className:`size-9`,children:(0,i.jsx)(a.HeartIcon,{})}),(0,i.jsxs)(n.t,{className:`max-w-52 max-sm:size-9 sm:flex-1`,children:[(0,i.jsx)(a.ShoppingCartIcon,{}),(0,i.jsx)(`p`,{className:`sr-only sm:not-sr-only`,children:`Thêm vào giỏ`})]})]})]})]});exports.GridProductCard=o;
2
2
  //# sourceMappingURL=grid-product-card.cjs.map
@@ -1,2 +1,2 @@
1
- import"../heading--VmdIi7C.mjs";import"../paragraph-moBSTPmT.mjs";import{Card as e}from"../ui/card.mjs";import"../button.variants-DuuH1O0_.mjs";import{t}from"../button-DXPSlb3I.mjs";import"../skeleton-Ba6koCVf.mjs";import{t as n}from"../image-CS_Q0WA7.mjs";import{jsx as r,jsxs as i}from"react/jsx-runtime";import{HeartIcon as a,ShoppingCartIcon as o}from"lucide-react";const s=({name:s,thumbnail:c,price:l})=>i(e,{className:`h-36 w-full flex-row gap-4 p-2 pr-4`,children:[r(n,{className:`aspect-square h-full flex-0`,src:c}),i(`div`,{className:`flex flex-1 flex-col gap-y-1`,children:[r(`p`,{className:`line-clamp-2 h-10 font-semibold text-sm text-text-positive`,children:s}),i(`p`,{className:`font-bold text-base text-success`,children:[l.toLocaleString(`vi-VN`),r(`small`,{className:`ml-0.5`,children:`VND`})]}),i(`div`,{className:`mb-3 flex flex-1 items-end justify-end gap-x-1`,children:[r(t,{size:`icon`,variant:`outline`,color:`muted`,className:`size-9`,children:r(a,{})}),i(t,{className:`max-w-52 max-sm:size-9 sm:flex-1`,children:[r(o,{}),r(`p`,{className:`sr-only sm:not-sr-only`,children:`Thêm vào giỏ`})]})]})]})]});export{s as GridProductCard};
1
+ import"../heading--VmdIi7C.mjs";import"../paragraph-moBSTPmT.mjs";import{Card as e}from"../ui/card.mjs";import"../button.variants-DuuH1O0_.mjs";import{t}from"../button-B2FJrOBP.mjs";import"../skeleton-Ba6koCVf.mjs";import{t as n}from"../image-CS_Q0WA7.mjs";import{jsx as r,jsxs as i}from"react/jsx-runtime";import{HeartIcon as a,ShoppingCartIcon as o}from"lucide-react";const s=({name:s,thumbnail:c,price:l})=>i(e,{className:`h-36 w-full flex-row gap-4 p-2 pr-4`,children:[r(n,{className:`aspect-square h-full flex-0`,src:c}),i(`div`,{className:`flex flex-1 flex-col gap-y-1`,children:[r(`p`,{className:`line-clamp-2 h-10 font-semibold text-sm text-text-positive`,children:s}),i(`p`,{className:`font-bold text-base text-success`,children:[l.toLocaleString(`vi-VN`),r(`small`,{className:`ml-0.5`,children:`VND`})]}),i(`div`,{className:`mb-3 flex flex-1 items-end justify-end gap-x-1`,children:[r(t,{size:`icon`,variant:`outline`,color:`muted`,className:`size-9`,children:r(a,{})}),i(t,{className:`max-w-52 max-sm:size-9 sm:flex-1`,children:[r(o,{}),r(`p`,{className:`sr-only sm:not-sr-only`,children:`Thêm vào giỏ`})]})]})]})]});export{s as GridProductCard};
2
2
  //# sourceMappingURL=grid-product-card.mjs.map
@@ -1,2 +1,2 @@
1
- const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../heading-BEm5CCSE.cjs`),require(`../paragraph-B72bHMf7.cjs`);const t=require(`../ui/card.cjs`);require(`../button.variants-rdXrPUao.cjs`);const n=require(`../button-C58TS8Pc.cjs`);require(`../skeleton-CHympz8k.cjs`);const r=require(`../image-DuFv8sPr.cjs`);let i=require(`react/jsx-runtime`),a=require(`lucide-react`);const o=({name:e,thumbnail:o,price:s})=>(0,i.jsxs)(t.Card,{className:`size-full gap-y-2 p-2 pb-4`,children:[(0,i.jsx)(r.t,{src:o,className:`aspect-square`}),(0,i.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,i.jsx)(`p`,{className:`line-clamp-2 h-10 text-sm font-semibold`,children:e}),(0,i.jsxs)(`p`,{className:`text-success text-base font-bold`,children:[s.toLocaleString(`vi-VN`),(0,i.jsx)(`small`,{className:`ml-0.5`,children:`VND`})]}),(0,i.jsxs)(`div`,{className:`mt-1 flex gap-x-1`,children:[(0,i.jsxs)(n.t,{className:`flex-1`,children:[(0,i.jsx)(a.ShoppingCartIcon,{}),`Thêm vào giỏ`]}),(0,i.jsx)(n.t,{size:`icon`,variant:`outline`,color:`muted`,className:`size-9`,children:(0,i.jsx)(a.HeartIcon,{})})]})]})]});exports.ProductCard=o;
1
+ const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../heading-BEm5CCSE.cjs`),require(`../paragraph-B72bHMf7.cjs`);const t=require(`../ui/card.cjs`);require(`../button.variants-rdXrPUao.cjs`);const n=require(`../button-CYw2AqT0.cjs`);require(`../skeleton-CHympz8k.cjs`);const r=require(`../image-DuFv8sPr.cjs`);let i=require(`react/jsx-runtime`),a=require(`lucide-react`);const o=({name:e,thumbnail:o,price:s})=>(0,i.jsxs)(t.Card,{className:`size-full gap-y-2 p-2 pb-4`,children:[(0,i.jsx)(r.t,{src:o,className:`aspect-square`}),(0,i.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,i.jsx)(`p`,{className:`line-clamp-2 h-10 text-sm font-semibold`,children:e}),(0,i.jsxs)(`p`,{className:`text-success text-base font-bold`,children:[s.toLocaleString(`vi-VN`),(0,i.jsx)(`small`,{className:`ml-0.5`,children:`VND`})]}),(0,i.jsxs)(`div`,{className:`mt-1 flex gap-x-1`,children:[(0,i.jsxs)(n.t,{className:`flex-1`,children:[(0,i.jsx)(a.ShoppingCartIcon,{}),`Thêm vào giỏ`]}),(0,i.jsx)(n.t,{size:`icon`,variant:`outline`,color:`muted`,className:`size-9`,children:(0,i.jsx)(a.HeartIcon,{})})]})]})]});exports.ProductCard=o;
2
2
  //# sourceMappingURL=product-card.cjs.map
@@ -1,2 +1,2 @@
1
- import"../heading--VmdIi7C.mjs";import"../paragraph-moBSTPmT.mjs";import{Card as e}from"../ui/card.mjs";import"../button.variants-DuuH1O0_.mjs";import{t}from"../button-DXPSlb3I.mjs";import"../skeleton-Ba6koCVf.mjs";import{t as n}from"../image-CS_Q0WA7.mjs";import{jsx as r,jsxs as i}from"react/jsx-runtime";import{HeartIcon as a,ShoppingCartIcon as o}from"lucide-react";const s=({name:s,thumbnail:c,price:l})=>i(e,{className:`size-full gap-y-2 p-2 pb-4`,children:[r(n,{src:c,className:`aspect-square`}),i(`div`,{className:`flex flex-col gap-y-1`,children:[r(`p`,{className:`line-clamp-2 h-10 text-sm font-semibold`,children:s}),i(`p`,{className:`text-success text-base font-bold`,children:[l.toLocaleString(`vi-VN`),r(`small`,{className:`ml-0.5`,children:`VND`})]}),i(`div`,{className:`mt-1 flex gap-x-1`,children:[i(t,{className:`flex-1`,children:[r(o,{}),`Thêm vào giỏ`]}),r(t,{size:`icon`,variant:`outline`,color:`muted`,className:`size-9`,children:r(a,{})})]})]})]});export{s as ProductCard};
1
+ import"../heading--VmdIi7C.mjs";import"../paragraph-moBSTPmT.mjs";import{Card as e}from"../ui/card.mjs";import"../button.variants-DuuH1O0_.mjs";import{t}from"../button-B2FJrOBP.mjs";import"../skeleton-Ba6koCVf.mjs";import{t as n}from"../image-CS_Q0WA7.mjs";import{jsx as r,jsxs as i}from"react/jsx-runtime";import{HeartIcon as a,ShoppingCartIcon as o}from"lucide-react";const s=({name:s,thumbnail:c,price:l})=>i(e,{className:`size-full gap-y-2 p-2 pb-4`,children:[r(n,{src:c,className:`aspect-square`}),i(`div`,{className:`flex flex-col gap-y-1`,children:[r(`p`,{className:`line-clamp-2 h-10 text-sm font-semibold`,children:s}),i(`p`,{className:`text-success text-base font-bold`,children:[l.toLocaleString(`vi-VN`),r(`small`,{className:`ml-0.5`,children:`VND`})]}),i(`div`,{className:`mt-1 flex gap-x-1`,children:[i(t,{className:`flex-1`,children:[r(o,{}),`Thêm vào giỏ`]}),r(t,{size:`icon`,variant:`outline`,color:`muted`,className:`size-9`,children:r(a,{})})]})]})]});export{s as ProductCard};
2
2
  //# sourceMappingURL=product-card.mjs.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime2 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime24 from "react/jsx-runtime";
2
2
  import * as react0 from "react";
3
3
 
4
4
  //#region packages/components/data-display/statistic.d.ts
@@ -23,7 +23,7 @@ declare const Statistic: react0.MemoExoticComponent<({
23
23
  showTrailingZeros,
24
24
  size,
25
25
  value
26
- }: Props) => react_jsx_runtime2.JSX.Element>;
26
+ }: Props) => react_jsx_runtime24.JSX.Element>;
27
27
  //#endregion
28
28
  export { Statistic };
29
29
  //# sourceMappingURL=statistic.d.cts.map
@@ -1,23 +1,23 @@
1
- import * as react_jsx_runtime103 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime68 from "react/jsx-runtime";
2
2
  import { Dialog } from "radix-ui";
3
3
 
4
4
  //#region packages/components/ui/dialog.d.ts
5
5
  declare function Dialog$1({
6
6
  ...props
7
- }: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime103.JSX.Element;
7
+ }: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime68.JSX.Element;
8
8
  declare function DialogTrigger({
9
9
  ...props
10
- }: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime103.JSX.Element;
10
+ }: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime68.JSX.Element;
11
11
  declare function DialogPortal({
12
12
  ...props
13
- }: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime103.JSX.Element;
13
+ }: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime68.JSX.Element;
14
14
  declare function DialogClose({
15
15
  ...props
16
- }: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime103.JSX.Element;
16
+ }: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime68.JSX.Element;
17
17
  declare function DialogOverlay({
18
18
  className,
19
19
  ...props
20
- }: React.ComponentProps<typeof Dialog.Overlay>): react_jsx_runtime103.JSX.Element;
20
+ }: React.ComponentProps<typeof Dialog.Overlay>): react_jsx_runtime68.JSX.Element;
21
21
  declare function DialogContent({
22
22
  className,
23
23
  children,
@@ -25,23 +25,23 @@ declare function DialogContent({
25
25
  ...props
26
26
  }: React.ComponentProps<typeof Dialog.Content> & {
27
27
  showCloseButton?: boolean;
28
- }): react_jsx_runtime103.JSX.Element;
28
+ }): react_jsx_runtime68.JSX.Element;
29
29
  declare function DialogHeader({
30
30
  className,
31
31
  ...props
32
- }: React.ComponentProps<'div'>): react_jsx_runtime103.JSX.Element;
32
+ }: React.ComponentProps<'div'>): react_jsx_runtime68.JSX.Element;
33
33
  declare function DialogFooter({
34
34
  className,
35
35
  ...props
36
- }: React.ComponentProps<'div'>): react_jsx_runtime103.JSX.Element;
36
+ }: React.ComponentProps<'div'>): react_jsx_runtime68.JSX.Element;
37
37
  declare function DialogTitle({
38
38
  className,
39
39
  ...props
40
- }: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime103.JSX.Element;
40
+ }: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime68.JSX.Element;
41
41
  declare function DialogDescription({
42
42
  className,
43
43
  ...props
44
- }: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime103.JSX.Element;
44
+ }: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime68.JSX.Element;
45
45
  //#endregion
46
46
  export { DialogFooter as a, DialogPortal as c, DialogDescription as i, DialogTitle as l, DialogClose as n, DialogHeader as o, DialogContent as r, DialogOverlay as s, Dialog$1 as t, DialogTrigger as u };
47
- //# sourceMappingURL=dialog-DKZ8BLxc.d.mts.map
47
+ //# sourceMappingURL=dialog-CyLgmqny.d.cts.map
@@ -1,23 +1,23 @@
1
- import * as react_jsx_runtime133 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime105 from "react/jsx-runtime";
2
2
  import { Dialog } from "radix-ui";
3
3
 
4
4
  //#region packages/components/ui/dialog.d.ts
5
5
  declare function Dialog$1({
6
6
  ...props
7
- }: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime133.JSX.Element;
7
+ }: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime105.JSX.Element;
8
8
  declare function DialogTrigger({
9
9
  ...props
10
- }: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime133.JSX.Element;
10
+ }: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime105.JSX.Element;
11
11
  declare function DialogPortal({
12
12
  ...props
13
- }: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime133.JSX.Element;
13
+ }: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime105.JSX.Element;
14
14
  declare function DialogClose({
15
15
  ...props
16
- }: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime133.JSX.Element;
16
+ }: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime105.JSX.Element;
17
17
  declare function DialogOverlay({
18
18
  className,
19
19
  ...props
20
- }: React.ComponentProps<typeof Dialog.Overlay>): react_jsx_runtime133.JSX.Element;
20
+ }: React.ComponentProps<typeof Dialog.Overlay>): react_jsx_runtime105.JSX.Element;
21
21
  declare function DialogContent({
22
22
  className,
23
23
  children,
@@ -25,23 +25,23 @@ declare function DialogContent({
25
25
  ...props
26
26
  }: React.ComponentProps<typeof Dialog.Content> & {
27
27
  showCloseButton?: boolean;
28
- }): react_jsx_runtime133.JSX.Element;
28
+ }): react_jsx_runtime105.JSX.Element;
29
29
  declare function DialogHeader({
30
30
  className,
31
31
  ...props
32
- }: React.ComponentProps<'div'>): react_jsx_runtime133.JSX.Element;
32
+ }: React.ComponentProps<'div'>): react_jsx_runtime105.JSX.Element;
33
33
  declare function DialogFooter({
34
34
  className,
35
35
  ...props
36
- }: React.ComponentProps<'div'>): react_jsx_runtime133.JSX.Element;
36
+ }: React.ComponentProps<'div'>): react_jsx_runtime105.JSX.Element;
37
37
  declare function DialogTitle({
38
38
  className,
39
39
  ...props
40
- }: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime133.JSX.Element;
40
+ }: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime105.JSX.Element;
41
41
  declare function DialogDescription({
42
42
  className,
43
43
  ...props
44
- }: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime133.JSX.Element;
44
+ }: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime105.JSX.Element;
45
45
  //#endregion
46
46
  export { DialogFooter as a, DialogPortal as c, DialogDescription as i, DialogTitle as l, DialogClose as n, DialogHeader as o, DialogContent as r, DialogOverlay as s, Dialog$1 as t, DialogTrigger as u };
47
- //# sourceMappingURL=dialog-7127ChM2.d.cts.map
47
+ //# sourceMappingURL=dialog-lFDfcYPP.d.mts.map
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../../../chunk-Bmb41Sf3.cjs`);require(`../../../button.variants-rdXrPUao.cjs`);const t=require(`../../../button-C58TS8Pc.cjs`),n=require(`../../../skeleton-CHympz8k.cjs`),r=require(`../../../tooltip-DC6i1A25.cjs`),i=require(`../../../separator-C3ip6sbh.cjs`),a=require(`../../../sheet-5MJRtrfG.cjs`);let o=require(`@customafk/react-toolkit/utils`),s=require(`class-variance-authority`),c=require(`react`),l=require(`react/jsx-runtime`),u=require(`lucide-react`),d=require(`radix-ui`),f=require(`@customafk/react-toolkit/hooks/useMobile`);const p=`detai_dialog_sidebar_state`,m=3600*24*7,h=`20rem`,g=`18rem`,_=`3rem`,v=`p`,y=(0,c.createContext)(null);function b(){let e=(0,c.use)(y);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function x({defaultOpen:e=!0,open:t,onOpenChange:n,className:i,style:a,children:s,...u}){let d=(0,f.useIsMobile)(),[p,m]=(0,c.useState)(!1),[h,g]=(0,c.useState)(e),_=t??h,v=(0,c.useCallback)(e=>{let t=typeof e==`function`?e(_):e;n?n(t):g(t),document.cookie=`detai_dialog_sidebar_state=${t}; path=/; max-age=604800`},[n,_]),b=(0,c.useCallback)(()=>d?m(e=>!e):v(e=>!e),[d,v]);(0,c.useEffect)(()=>{let e=e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),b())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[b]);let x=_?`expanded`:`collapsed`,S=(0,c.useMemo)(()=>({state:x,isMobile:d,toggleSidebar:b,open:_,setOpen:v,openMobile:p,setOpenMobile:m}),[x,d,_,v,p,b]);return(0,l.jsx)(y.Provider,{value:S,children:(0,l.jsx)(r.r,{delayDuration:0,children:(0,l.jsx)(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":`20rem`,"--sidebar-width-icon":`3rem`,...a},className:(0,o.cn)(`group/sidebar-wrapper flex h-full min-h-[85dvh] w-full items-start has-data-[variant=inset]:bg-sidebar`,i),...u,children:s})})})}function S({side:e=`left`,variant:t=`sidebar`,collapsible:n=`offcanvas`,className:r,children:i,...s}){let{state:c,isMobile:u,openMobile:d,setOpenMobile:f}=b();return n===`none`?(0,l.jsx)(`div`,{"data-slot":`sidebar`,className:(0,o.cn)(`flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground`,r),...s,children:i}):u?(0,l.jsx)(a.t,{open:d,onOpenChange:f,...s,children:(0,l.jsxs)(a.r,{"data-sidebar":`sidebar`,"data-slot":`sidebar`,"data-mobile":`true`,className:`z-20 hidden w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground shadow-nav md:flex [&>button]:hidden`,style:{"--sidebar-width":`18rem`},side:e,children:[(0,l.jsxs)(a.o,{className:`sr-only`,children:[(0,l.jsx)(a.s,{children:`Sidebar`}),(0,l.jsx)(a.i,{children:`Displays the mobile sidebar.`})]}),(0,l.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:i})]})}):(0,l.jsxs)(`div`,{className:`group peer hidden text-sidebar-foreground md:block`,"data-state":c,"data-collapsible":c===`collapsed`?n:``,"data-variant":t,"data-side":e,"data-slot":`sidebar`,children:[(0,l.jsx)(`div`,{"data-slot":`sidebar-gap`,className:(0,o.cn)(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,t===`floating`||t===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),(0,l.jsx)(`div`,{"data-slot":`sidebar-container`,className:(0,o.cn)(`absolute inset-y-0 z-20 hidden w-(--sidebar-width) shadow-nav transition-[left,right,width] duration-200 ease-linear md:flex`,e===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,t===`floating`||t===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`,r),...s,children:(0,l.jsx)(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:(0,o.cn)(`flex size-full flex-col shadow-nav`,`group-data-[variant=floating]:border-sidebar-border`,`group-data-[variant=floating]:rounded-lg`,`group-data-[variant=floating]:border`,`group-data-[variant=floating]:shadow-sm`),children:i})})]})}function C({className:e,onClick:n,...r}){let{toggleSidebar:i}=b();return(0,l.jsxs)(t.t,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`secondary`,size:`icon`,className:(0,o.cn)(`size-10 rounded-full [&_svg]:size-6!`,e),onClick:e=>{n?.(e),i()},...r,children:[(0,l.jsx)(u.MenuIcon,{}),(0,l.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function w({className:e,...t}){let{toggleSidebar:n}=b();return(0,l.jsx)(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:n,title:`Toggle Sidebar`,className:(0,o.cn)(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex`,`after:absolute`,`after:inset-y-0`,`after:left-1/2 after:w-0.5`,`hover:after:bg-sidebar-border`,`group-data-[side=left]:-right-4`,`group-data-[side=right]:left-0`,`in-data-[side=left]:cursor-w-resize`,`in-data-[side=right]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize`,`[[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`hover:group-data-[collapsible=offcanvas]:bg-sidebar`,`group-data-[collapsible=offcanvas]:translate-x-0`,`group-data-[collapsible=offcanvas]:after:left-full`,`[[data-side=left][data-collapsible=offcanvas]_&]:-right-2`,`[[data-side=right][data-collapsible=offcanvas]_&]:-left-2`,e),...t})}function T({className:e,...t}){return(0,l.jsx)(`main`,{"data-slot":`sidebar-inset`,className:(0,o.cn)(`relative flex w-full flex-1 flex-col bg-background`,`md:peer-data-[variant=inset]:m-2`,`md:peer-data-[variant=inset]:ml-0`,`md:peer-data-[variant=inset]:rounded-xl`,`md:peer-data-[variant=inset]:shadow-sm`,`md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2`,e),...t})}function E({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:(0,o.cn)(`flex flex-col gap-2 p-2`,e),...t})}function D({className:e,children:t,...n}){let{open:r}=b();return(0,l.jsx)(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:(0,o.cn)(`flex flex-col gap-2 p-2`,e),...n,children:(0,l.jsxs)(P,{children:[r&&(0,l.jsx)(F,{children:t}),(0,l.jsx)(F,{children:(0,l.jsx)(`p`,{className:`pt-2 text-center text-muted-foreground text-xs`,children:`Copyright © 2025, Lunas.`})})]})})}function O({className:e,...t}){return(0,l.jsx)(i.t,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:(0,o.cn)(`mx-2 w-auto bg-sidebar-border`,e),...t})}function k({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:(0,o.cn)(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto`,`group-data-[collapsible=icon]:overflow-hidden`,e),...t})}function A({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:(0,o.cn)(`relative flex w-full min-w-0 flex-col p-2`,e),...t})}function j({className:e,asChild:t=!1,...n}){return(0,l.jsx)(t?d.Slot.Slot:`div`,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:(0,o.cn)(`flex h-8 shrink-0 items-center rounded-md px-2 font-medium text-sidebar-foreground/70 text-xs outline-hidden ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`group-data-[collapsible=icon]:-mt-8`,`group-data-[collapsible=icon]:opacity-0`,e),...n})}function M({className:e,asChild:t=!1,...n}){return(0,l.jsx)(t?d.Slot.Slot:`button`,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:(0,o.cn)(`absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-transform`,`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute`,`after:-inset-2`,`md:after:hidden`,`group-data-[collapsible=icon]:hidden`,e),...n})}function N({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:(0,o.cn)(`w-full text-sm`,e),...t})}function P({className:e,...t}){return(0,l.jsx)(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:(0,o.cn)(`flex w-full min-w-0 flex-col gap-1`,e),...t})}function F({className:e,...t}){return(0,l.jsx)(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:(0,o.cn)(`group/menu-item relative`,e),...t})}const I=(0,s.cva)([`peer/menu-button`,`cursor-pointer`,`flex w-full items-center gap-2`,`overflow-hidden rounded-md p-2 outline-hidden`,`truncate text-left font-normal`,`transition-[color,width,height,padding]`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`active:bg-sidebar-accent`,`active:text-sidebar-accent-foreground`,`disabled:pointer-events-none`,`disabled:opacity-50`,`group-has-data-[sidebar=menu-action]/menu-item:pr-8`,`aria-disabled:pointer-events-none`,`aria-disabled:opacity-50`,`data-[active=true]:bg-sidebar-primary-muted`,`data-[active=true]:font-normal`,`data-[active=true]:text-sidebar-primary`,`data-[state=open]:hover:bg-sidebar-accent`,`data-[state=open]:hover:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:size-8!`,`group-data-[collapsible=icon]:p-2!`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`[&>span:last-child]:truncate`],{variants:{variant:{default:`hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground/80`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function L({asChild:e=!1,isActive:t=!1,variant:n=`default`,size:i=`default`,tooltip:a,className:s,...c}){let u=e?d.Slot.Slot:`button`,{state:f}=b(),p=(0,l.jsx)(u,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":i,"data-active":t,className:(0,o.cn)(I({variant:n,size:i}),s),...c});return a?(typeof a==`string`&&(a={children:a}),(0,l.jsxs)(r.t,{children:[(0,l.jsx)(r.i,{asChild:!0,children:p}),(0,l.jsx)(r.n,{side:`right`,align:`center`,hidden:f!==`collapsed`,...a})]})):p}function R({className:e,asChild:t=!1,showOnHover:n=!1,...r}){return(0,l.jsx)(t?d.Slot.Slot:`button`,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:(0,o.cn)(`text-sidebar-foreground ring-sidebar-ring`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform peer-hover/menu-button:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute after:-inset-2 md:after:hidden`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,n&&`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,n&&`$group-focus-within/menu-item:opacity-100`,n&&`group-hover/menu-item:opacity-100`,n&&`data-[state=open]:opacity-100 md:opacity-0`,e),...r})}function z({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:(0,o.cn)(`pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 font-medium text-sidebar-foreground text-xs tabular-nums`,`peer-hover/menu-button:text-sidebar-accent-foreground`,`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,e),...t})}function B({className:e,showIcon:t=!1,...r}){let i=(0,c.useMemo)(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return(0,l.jsxs)(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:(0,o.cn)(`flex h-8 items-center gap-2 rounded-md px-2`,e),...r,children:[t&&(0,l.jsx)(n.t,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),(0,l.jsx)(n.t,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})}function V({className:e,...t}){return(0,l.jsx)(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:(0,o.cn)(`mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-sidebar-border border-l px-2.5 py-0.5`,`group-data-[collapsible=icon]:hidden`,e),...t})}function H({className:e,...t}){return(0,l.jsx)(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:(0,o.cn)(`group/menu-sub-item relative`,e),...t})}function U({asChild:e=!1,size:t=`md`,isActive:n=!1,className:r,...i}){return(0,l.jsx)(e?d.Slot.Slot:`a`,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":t,"data-active":n,className:(0,o.cn)(`text-sidebar-foreground ring-sidebar-ring`,`flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`active:bg-sidebar-accent`,`active:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`disabled:pointer-events-none`,`disabled:opacity-50`,`aria-disabled:pointer-events-none`,`aria-disabled:opacity-50`,`[&>span:last-child]:truncate`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`[&>svg]:text-sidebar-accent-foreground`,`data-[active=true]:bg-sidebar-accent`,`data-[active=true]:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:hidden`,t===`sm`&&`text-xs`,t===`md`&&`text-sm`,r),...i})}exports.DetailDialogSidebarContent=k,exports.DetailDialogSidebarFooter=D,exports.DetailDialogSidebarGroup=A,exports.DetailDialogSidebarGroupAction=M,exports.DetailDialogSidebarGroupContent=N,exports.DetailDialogSidebarGroupLabel=j,exports.DetailDialogSidebarHeader=E,exports.DetailDialogSidebarMenu=P,exports.DetailDialogSidebarMenuAction=R,exports.DetailDialogSidebarMenuBadge=z,exports.DetailDialogSidebarMenuButton=L,exports.DetailDialogSidebarMenuItem=F,exports.DetailDialogSidebarMenuSkeleton=B,exports.DetailDialogSidebarMenuSub=V,exports.DetailDialogSidebarMenuSubButton=U,exports.DetailDialogSidebarMenuSubItem=H,exports.DetailDialogSidebarRail=w,exports.DetailDialogSidebarSeparator=O,exports.DetailDialogSidebarTrigger=C,exports.Sidebar=S,exports.SidebarInset=T,exports.SidebarProvider=x,exports.useSidebar=b;
1
+ "use client";const e=require(`../../../chunk-Bmb41Sf3.cjs`);require(`../../../button.variants-rdXrPUao.cjs`);const t=require(`../../../button-CYw2AqT0.cjs`),n=require(`../../../skeleton-CHympz8k.cjs`),r=require(`../../../tooltip-DC6i1A25.cjs`),i=require(`../../../separator-C3ip6sbh.cjs`),a=require(`../../../sheet-5MJRtrfG.cjs`);let o=require(`@customafk/react-toolkit/utils`),s=require(`class-variance-authority`),c=require(`react`),l=require(`react/jsx-runtime`),u=require(`lucide-react`),d=require(`radix-ui`),f=require(`@customafk/react-toolkit/hooks/useMobile`);const p=`detai_dialog_sidebar_state`,m=3600*24*7,h=`20rem`,g=`18rem`,_=`3rem`,v=`p`,y=(0,c.createContext)(null);function b(){let e=(0,c.use)(y);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function x({defaultOpen:e=!0,open:t,onOpenChange:n,className:i,style:a,children:s,...u}){let d=(0,f.useIsMobile)(),[p,m]=(0,c.useState)(!1),[h,g]=(0,c.useState)(e),_=t??h,v=(0,c.useCallback)(e=>{let t=typeof e==`function`?e(_):e;n?n(t):g(t),document.cookie=`detai_dialog_sidebar_state=${t}; path=/; max-age=604800`},[n,_]),b=(0,c.useCallback)(()=>d?m(e=>!e):v(e=>!e),[d,v]);(0,c.useEffect)(()=>{let e=e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),b())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[b]);let x=_?`expanded`:`collapsed`,S=(0,c.useMemo)(()=>({state:x,isMobile:d,toggleSidebar:b,open:_,setOpen:v,openMobile:p,setOpenMobile:m}),[x,d,_,v,p,b]);return(0,l.jsx)(y.Provider,{value:S,children:(0,l.jsx)(r.r,{delayDuration:0,children:(0,l.jsx)(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":`20rem`,"--sidebar-width-icon":`3rem`,...a},className:(0,o.cn)(`group/sidebar-wrapper flex h-full min-h-[85dvh] w-full items-start has-data-[variant=inset]:bg-sidebar`,i),...u,children:s})})})}function S({side:e=`left`,variant:t=`sidebar`,collapsible:n=`offcanvas`,className:r,children:i,...s}){let{state:c,isMobile:u,openMobile:d,setOpenMobile:f}=b();return n===`none`?(0,l.jsx)(`div`,{"data-slot":`sidebar`,className:(0,o.cn)(`flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground`,r),...s,children:i}):u?(0,l.jsx)(a.t,{open:d,onOpenChange:f,...s,children:(0,l.jsxs)(a.r,{"data-sidebar":`sidebar`,"data-slot":`sidebar`,"data-mobile":`true`,className:`z-20 hidden w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground shadow-nav md:flex [&>button]:hidden`,style:{"--sidebar-width":`18rem`},side:e,children:[(0,l.jsxs)(a.o,{className:`sr-only`,children:[(0,l.jsx)(a.s,{children:`Sidebar`}),(0,l.jsx)(a.i,{children:`Displays the mobile sidebar.`})]}),(0,l.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:i})]})}):(0,l.jsxs)(`div`,{className:`group peer hidden text-sidebar-foreground md:block`,"data-state":c,"data-collapsible":c===`collapsed`?n:``,"data-variant":t,"data-side":e,"data-slot":`sidebar`,children:[(0,l.jsx)(`div`,{"data-slot":`sidebar-gap`,className:(0,o.cn)(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,t===`floating`||t===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),(0,l.jsx)(`div`,{"data-slot":`sidebar-container`,className:(0,o.cn)(`absolute inset-y-0 z-20 hidden w-(--sidebar-width) shadow-nav transition-[left,right,width] duration-200 ease-linear md:flex`,e===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,t===`floating`||t===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`,r),...s,children:(0,l.jsx)(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:(0,o.cn)(`flex size-full flex-col shadow-nav`,`group-data-[variant=floating]:border-sidebar-border`,`group-data-[variant=floating]:rounded-lg`,`group-data-[variant=floating]:border`,`group-data-[variant=floating]:shadow-sm`),children:i})})]})}function C({className:e,onClick:n,...r}){let{toggleSidebar:i}=b();return(0,l.jsxs)(t.t,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`secondary`,size:`icon`,className:(0,o.cn)(`size-10 rounded-full [&_svg]:size-6!`,e),onClick:e=>{n?.(e),i()},...r,children:[(0,l.jsx)(u.MenuIcon,{}),(0,l.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function w({className:e,...t}){let{toggleSidebar:n}=b();return(0,l.jsx)(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:n,title:`Toggle Sidebar`,className:(0,o.cn)(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex`,`after:absolute`,`after:inset-y-0`,`after:left-1/2 after:w-0.5`,`hover:after:bg-sidebar-border`,`group-data-[side=left]:-right-4`,`group-data-[side=right]:left-0`,`in-data-[side=left]:cursor-w-resize`,`in-data-[side=right]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize`,`[[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`hover:group-data-[collapsible=offcanvas]:bg-sidebar`,`group-data-[collapsible=offcanvas]:translate-x-0`,`group-data-[collapsible=offcanvas]:after:left-full`,`[[data-side=left][data-collapsible=offcanvas]_&]:-right-2`,`[[data-side=right][data-collapsible=offcanvas]_&]:-left-2`,e),...t})}function T({className:e,...t}){return(0,l.jsx)(`main`,{"data-slot":`sidebar-inset`,className:(0,o.cn)(`relative flex w-full flex-1 flex-col bg-background`,`md:peer-data-[variant=inset]:m-2`,`md:peer-data-[variant=inset]:ml-0`,`md:peer-data-[variant=inset]:rounded-xl`,`md:peer-data-[variant=inset]:shadow-sm`,`md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2`,e),...t})}function E({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:(0,o.cn)(`flex flex-col gap-2 p-2`,e),...t})}function D({className:e,children:t,...n}){let{open:r}=b();return(0,l.jsx)(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:(0,o.cn)(`flex flex-col gap-2 p-2`,e),...n,children:(0,l.jsxs)(P,{children:[r&&(0,l.jsx)(F,{children:t}),(0,l.jsx)(F,{children:(0,l.jsx)(`p`,{className:`pt-2 text-center text-muted-foreground text-xs`,children:`Copyright © 2025, Lunas.`})})]})})}function O({className:e,...t}){return(0,l.jsx)(i.t,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:(0,o.cn)(`mx-2 w-auto bg-sidebar-border`,e),...t})}function k({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:(0,o.cn)(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto`,`group-data-[collapsible=icon]:overflow-hidden`,e),...t})}function A({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:(0,o.cn)(`relative flex w-full min-w-0 flex-col p-2`,e),...t})}function j({className:e,asChild:t=!1,...n}){return(0,l.jsx)(t?d.Slot.Slot:`div`,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:(0,o.cn)(`flex h-8 shrink-0 items-center rounded-md px-2 font-medium text-sidebar-foreground/70 text-xs outline-hidden ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`group-data-[collapsible=icon]:-mt-8`,`group-data-[collapsible=icon]:opacity-0`,e),...n})}function M({className:e,asChild:t=!1,...n}){return(0,l.jsx)(t?d.Slot.Slot:`button`,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:(0,o.cn)(`absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-transform`,`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute`,`after:-inset-2`,`md:after:hidden`,`group-data-[collapsible=icon]:hidden`,e),...n})}function N({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:(0,o.cn)(`w-full text-sm`,e),...t})}function P({className:e,...t}){return(0,l.jsx)(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:(0,o.cn)(`flex w-full min-w-0 flex-col gap-1`,e),...t})}function F({className:e,...t}){return(0,l.jsx)(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:(0,o.cn)(`group/menu-item relative`,e),...t})}const I=(0,s.cva)([`peer/menu-button`,`cursor-pointer`,`flex w-full items-center gap-2`,`overflow-hidden rounded-md p-2 outline-hidden`,`truncate text-left font-normal`,`transition-[color,width,height,padding]`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`active:bg-sidebar-accent`,`active:text-sidebar-accent-foreground`,`disabled:pointer-events-none`,`disabled:opacity-50`,`group-has-data-[sidebar=menu-action]/menu-item:pr-8`,`aria-disabled:pointer-events-none`,`aria-disabled:opacity-50`,`data-[active=true]:bg-sidebar-primary-muted`,`data-[active=true]:font-normal`,`data-[active=true]:text-sidebar-primary`,`data-[state=open]:hover:bg-sidebar-accent`,`data-[state=open]:hover:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:size-8!`,`group-data-[collapsible=icon]:p-2!`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`[&>span:last-child]:truncate`],{variants:{variant:{default:`hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground/80`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function L({asChild:e=!1,isActive:t=!1,variant:n=`default`,size:i=`default`,tooltip:a,className:s,...c}){let u=e?d.Slot.Slot:`button`,{state:f}=b(),p=(0,l.jsx)(u,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":i,"data-active":t,className:(0,o.cn)(I({variant:n,size:i}),s),...c});return a?(typeof a==`string`&&(a={children:a}),(0,l.jsxs)(r.t,{children:[(0,l.jsx)(r.i,{asChild:!0,children:p}),(0,l.jsx)(r.n,{side:`right`,align:`center`,hidden:f!==`collapsed`,...a})]})):p}function R({className:e,asChild:t=!1,showOnHover:n=!1,...r}){return(0,l.jsx)(t?d.Slot.Slot:`button`,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:(0,o.cn)(`text-sidebar-foreground ring-sidebar-ring`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform peer-hover/menu-button:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute after:-inset-2 md:after:hidden`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,n&&`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,n&&`$group-focus-within/menu-item:opacity-100`,n&&`group-hover/menu-item:opacity-100`,n&&`data-[state=open]:opacity-100 md:opacity-0`,e),...r})}function z({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:(0,o.cn)(`pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 font-medium text-sidebar-foreground text-xs tabular-nums`,`peer-hover/menu-button:text-sidebar-accent-foreground`,`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,e),...t})}function B({className:e,showIcon:t=!1,...r}){let i=(0,c.useMemo)(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return(0,l.jsxs)(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:(0,o.cn)(`flex h-8 items-center gap-2 rounded-md px-2`,e),...r,children:[t&&(0,l.jsx)(n.t,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),(0,l.jsx)(n.t,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})}function V({className:e,...t}){return(0,l.jsx)(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:(0,o.cn)(`mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-sidebar-border border-l px-2.5 py-0.5`,`group-data-[collapsible=icon]:hidden`,e),...t})}function H({className:e,...t}){return(0,l.jsx)(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:(0,o.cn)(`group/menu-sub-item relative`,e),...t})}function U({asChild:e=!1,size:t=`md`,isActive:n=!1,className:r,...i}){return(0,l.jsx)(e?d.Slot.Slot:`a`,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":t,"data-active":n,className:(0,o.cn)(`text-sidebar-foreground ring-sidebar-ring`,`flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`active:bg-sidebar-accent`,`active:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`disabled:pointer-events-none`,`disabled:opacity-50`,`aria-disabled:pointer-events-none`,`aria-disabled:opacity-50`,`[&>span:last-child]:truncate`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`[&>svg]:text-sidebar-accent-foreground`,`data-[active=true]:bg-sidebar-accent`,`data-[active=true]:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:hidden`,t===`sm`&&`text-xs`,t===`md`&&`text-sm`,r),...i})}exports.DetailDialogSidebarContent=k,exports.DetailDialogSidebarFooter=D,exports.DetailDialogSidebarGroup=A,exports.DetailDialogSidebarGroupAction=M,exports.DetailDialogSidebarGroupContent=N,exports.DetailDialogSidebarGroupLabel=j,exports.DetailDialogSidebarHeader=E,exports.DetailDialogSidebarMenu=P,exports.DetailDialogSidebarMenuAction=R,exports.DetailDialogSidebarMenuBadge=z,exports.DetailDialogSidebarMenuButton=L,exports.DetailDialogSidebarMenuItem=F,exports.DetailDialogSidebarMenuSkeleton=B,exports.DetailDialogSidebarMenuSub=V,exports.DetailDialogSidebarMenuSubButton=U,exports.DetailDialogSidebarMenuSubItem=H,exports.DetailDialogSidebarRail=w,exports.DetailDialogSidebarSeparator=O,exports.DetailDialogSidebarTrigger=C,exports.Sidebar=S,exports.SidebarInset=T,exports.SidebarProvider=x,exports.useSidebar=b;
2
2
  //# sourceMappingURL=sidebar.cjs.map