@sth87/shadcn-design-system 0.1.4 → 0.1.6

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 (48) hide show
  1. package/dist/AI_CONTEXT.md +1 -0
  2. package/dist/cjs/components/Button/Button.cjs +1 -1
  3. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  4. package/dist/cjs/components/DatePicker/RangePicker.cjs +1 -1
  5. package/dist/cjs/components/DatePicker/RangePicker.cjs.map +1 -1
  6. package/dist/cjs/components/Input/Input.cjs +1 -1
  7. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  8. package/dist/cjs/components/Table/data-table.cjs +1 -1
  9. package/dist/cjs/components/Table/data-table.cjs.map +1 -1
  10. package/dist/cjs/packages/ui/src/components/alert-dialog.cjs +1 -1
  11. package/dist/cjs/packages/ui/src/components/alert-dialog.cjs.map +1 -1
  12. package/dist/cjs/packages/ui/src/components/calendar.cjs +1 -1
  13. package/dist/cjs/packages/ui/src/components/calendar.cjs.map +1 -1
  14. package/dist/cjs/packages/ui/src/components/combobox.cjs +1 -1
  15. package/dist/cjs/packages/ui/src/components/combobox.cjs.map +1 -1
  16. package/dist/cjs/packages/ui/src/components/context-menu.cjs +1 -1
  17. package/dist/cjs/packages/ui/src/components/context-menu.cjs.map +1 -1
  18. package/dist/cjs/packages/ui/src/components/popover.cjs +1 -1
  19. package/dist/cjs/packages/ui/src/components/popover.cjs.map +1 -1
  20. package/dist/cjs/packages/ui/src/components/sidebar.cjs +1 -1
  21. package/dist/cjs/packages/ui/src/components/sidebar.cjs.map +1 -1
  22. package/dist/cjs/styles/index.css +1 -1
  23. package/dist/esm/components/Button/Button.js +22 -24
  24. package/dist/esm/components/Button/Button.js.map +1 -1
  25. package/dist/esm/components/DatePicker/RangePicker.js +41 -41
  26. package/dist/esm/components/DatePicker/RangePicker.js.map +1 -1
  27. package/dist/esm/components/Input/Input.js +37 -36
  28. package/dist/esm/components/Input/Input.js.map +1 -1
  29. package/dist/esm/components/Table/data-table.js +22 -16
  30. package/dist/esm/components/Table/data-table.js.map +1 -1
  31. package/dist/esm/packages/ui/src/components/alert-dialog.js +7 -7
  32. package/dist/esm/packages/ui/src/components/alert-dialog.js.map +1 -1
  33. package/dist/esm/packages/ui/src/components/calendar.js +1 -1
  34. package/dist/esm/packages/ui/src/components/calendar.js.map +1 -1
  35. package/dist/esm/packages/ui/src/components/combobox.js +1 -1
  36. package/dist/esm/packages/ui/src/components/combobox.js.map +1 -1
  37. package/dist/esm/packages/ui/src/components/context-menu.js +1 -1
  38. package/dist/esm/packages/ui/src/components/context-menu.js.map +1 -1
  39. package/dist/esm/packages/ui/src/components/popover.js +1 -1
  40. package/dist/esm/packages/ui/src/components/popover.js.map +1 -1
  41. package/dist/esm/packages/ui/src/components/sidebar.js +2 -2
  42. package/dist/esm/packages/ui/src/components/sidebar.js.map +1 -1
  43. package/dist/esm/styles/index.css +1 -1
  44. package/dist/types/components/Button/Button.d.ts.map +1 -1
  45. package/dist/types/components/Input/Input.d.ts +1 -0
  46. package/dist/types/components/Input/Input.d.ts.map +1 -1
  47. package/dist/types/components/Table/data-table.d.ts.map +1 -1
  48. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),k=require("react"),p=require("lucide-react"),x=require("react-day-picker"),d=require("../lib/utils.cjs"),_=require("./button.cjs");function z(r){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(a,e,o.get?o:{enumerable:!0,get:()=>r[e]})}}return a.default=r,Object.freeze(a)}const v=z(k);function j({className:r,classNames:a,showOutsideDays:e=!0,captionLayout:o="label",buttonVariant:i="ghost",variant:u="default",color:f="primary",formatters:c,components:b,...y}){const s=x.getDefaultClassNames(),m=h(f);return n.jsx(x.DayPicker,{showOutsideDays:e,className:d.cn("ds:bg-background ds:group/calendar ds:p-3 ds:[--cell-size:--spacing(8)] ds:[[data-slot=card-content]_&]:bg-transparent ds:[[data-slot=popover-content]_&]:bg-transparent",String.raw`ds:rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`ds:rtl:**:[.rdp-button\_previous>svg]:rotate-180`,r),captionLayout:o,formatters:{formatMonthDropdown:t=>t.toLocaleString("default",{month:"short"}),...c},classNames:{root:d.cn("ds:w-fit",s.root),months:d.cn("ds:flex ds:gap-4 ds:flex-col ds:md:flex-row ds:relative",s.months),month:d.cn("ds:flex ds:flex-col ds:w-full ds:gap-4",s.month),nav:d.cn("ds:flex ds:items-center ds:gap-1 ds:w-full ds:absolute ds:top-0 ds:inset-x-0 ds:justify-between",s.nav),button_previous:d.cn(_.buttonVariants({variant:i}),"ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none",s.button_previous),button_next:d.cn(_.buttonVariants({variant:i}),"ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none",s.button_next),month_caption:d.cn("ds:flex ds:items-center ds:justify-center ds:h-(--cell-size) ds:w-full ds:px-(--cell-size)",s.month_caption),dropdowns:d.cn("ds:w-full ds:flex ds:items-center ds:text-sm ds:font-medium ds:justify-center ds:h-(--cell-size) ds:gap-1.5",s.dropdowns),dropdown_root:d.cn("ds:relative ds:has-focus:border-ring ds:border ds:border-input ds:shadow-xs ds:has-focus:ring-ring/50 ds:has-focus:ring-[3px] ds:rounded-md",s.dropdown_root),dropdown:d.cn("ds:absolute ds:bg-popover ds:inset-0 ds:opacity-0",s.dropdown),caption_label:d.cn("ds:select-none ds:font-medium",o==="label"?"ds:text-sm":"ds:rounded-md ds:pl-2 ds:pr-1 ds:flex ds:items-center ds:gap-1 ds:text-sm ds:h-8 ds:[&>svg]:text-muted-foreground ds:[&>svg]:size-3.5",s.caption_label),table:"ds:w-full ds:border-collapse",weekdays:d.cn("ds:flex",s.weekdays),weekday:d.cn("ds:text-muted-foreground ds:rounded-md ds:flex-1 ds:font-normal ds:text-[0.8rem] ds:select-none",s.weekday),week:d.cn("ds:flex ds:w-full ds:mt-2",s.week),week_number_header:d.cn("ds:select-none ds:w-(--cell-size)",s.week_number_header),week_number:d.cn("ds:text-[0.8rem] ds:select-none ds:text-muted-foreground",s.week_number),day:d.cn("ds:relative ds:w-full ds:h-full ds:p-0 ds:text-center ds:[&:last-child[data-selected=true]_button]:rounded-r-md ds:group/day ds:aspect-square ds:select-none",y.showWeekNumber?"ds:[&:nth-child(2)[data-selected=true]_button]:rounded-l-md":"ds:[&:first-child[data-selected=true]_button]:rounded-l-md",s.day),range_start:d.cn(u==="rounded"?`${m.rangeBg} ds:rounded-l-full`:"ds:rounded-l-md ds:bg-accent",s.range_start),range_middle:d.cn("ds:rounded-none",s.range_middle),range_end:d.cn(u==="rounded"?`${m.rangeBg} ds:rounded-r-full`:"ds:rounded-r-md ds:bg-accent",s.range_end),today:d.cn(u==="rounded"?`ds:rounded-full ds:bg-accent ds:data-[selected=true]:rounded-l-none ds:data-[selected=true]:${m.rangeBg} ds:[&_button[data-range-middle=true]]:bg-transparent`:"ds:bg-accent ds:text-accent-foreground ds:rounded-md ds:data-[selected=true]:rounded-none",s.today),outside:d.cn("ds:text-muted-foreground ds:aria-selected:text-muted-foreground",s.outside),disabled:d.cn("ds:text-muted-foreground ds:opacity-50",s.disabled),hidden:d.cn("ds:invisible",s.hidden),...a},components:{Root:({className:t,rootRef:g,...l})=>n.jsx("div",{"data-slot":"calendar",ref:g,className:d.cn(t),...l}),Chevron:({className:t,orientation:g,...l})=>g==="left"?n.jsx(p.ChevronLeftIcon,{className:d.cn("ds:size-4",t),...l}):g==="right"?n.jsx(p.ChevronRightIcon,{className:d.cn("ds:size-4",t),...l}):n.jsx(p.ChevronDownIcon,{className:d.cn("ds:size-4",t),...l}),DayButton:t=>n.jsx(w,{...t,variant:u,color:f}),WeekNumber:({children:t,...g})=>n.jsx("td",{...g,children:n.jsx("div",{className:"ds:flex ds:size-(--cell-size) ds:items-center ds:justify-center ds:text-center",children:t})}),...b},...y})}const h=(r="foreground")=>({primary:{selected:"ds:bg-primary ds:text-primary-foreground",selectedHover:"ds:hover:bg-primary/90",rangeBg:"ds:bg-primary/20 dark:ds:bg-primary/10",focusRing:"ds:ring-primary/20 dark:ds:ring-primary/40"},secondary:{selected:"ds:bg-secondary ds:text-secondary-foreground",selectedHover:"ds:hover:bg-secondary/90",rangeBg:"ds:bg-secondary/20 dark:ds:bg-secondary/10",focusRing:"ds:ring-secondary/20 dark:ds:ring-secondary/40"},accent:{selected:"ds:bg-accent ds:text-accent-foreground",selectedHover:"ds:hover:bg-accent/90",rangeBg:"ds:bg-accent/20 dark:ds:bg-accent/10",focusRing:"ds:ring-accent/20 dark:ds:ring-accent/40"},destructive:{selected:"ds:bg-destructive ds:text-destructive-foreground",selectedHover:"ds:hover:bg-destructive/90",rangeBg:"ds:bg-destructive/20 dark:ds:bg-destructive/10",focusRing:"ds:ring-destructive/20 dark:ds:ring-destructive/40"},muted:{selected:"ds:bg-muted ds:text-muted-foreground",selectedHover:"ds:hover:bg-muted/90",rangeBg:"ds:bg-muted/30 dark:ds:bg-muted/20",focusRing:"ds:ring-muted/20 dark:ds:ring-muted/40"},success:{selected:"ds:bg-success ds:text-success-foreground",selectedHover:"ds:hover:bg-success/90",rangeBg:"ds:bg-success/20 dark:ds:bg-success/10",focusRing:"ds:ring-success/20 dark:ds:ring-success/40"},error:{selected:"ds:bg-error ds:text-error-foreground",selectedHover:"ds:hover:bg-error/90",rangeBg:"ds:bg-error/20 dark:ds:bg-error/10",focusRing:"ds:ring-error/20 dark:ds:ring-error/40"},warning:{selected:"ds:bg-warning ds:text-warning-foreground",selectedHover:"ds:hover:bg-warning/90",rangeBg:"ds:bg-warning/20 dark:ds:bg-warning/10",focusRing:"ds:ring-warning/20 dark:ds:ring-warning/40"},foreground:{selected:"ds:bg-foreground ds:text-background",selectedHover:"ds:hover:bg-foreground/90",rangeBg:"ds:bg-foreground/10 dark:ds:bg-foreground/5",focusRing:"ds:ring-foreground/20 dark:ds:ring-foreground/40"}})[r];function w({className:r,day:a,modifiers:e,variant:o="default",color:i="foreground",...u}){const f=x.getDefaultClassNames(),c=h(i),b=v.useRef(null);return v.useEffect(()=>{e.focused&&b.current?.focus()},[e.focused]),n.jsx(_.Button,{ref:b,variant:"ghost",size:"icon","data-day":a.date.toLocaleDateString(),"data-selected-single":e.selected&&!e.range_start&&!e.range_end&&!e.range_middle,"data-range-start":e.range_start,"data-range-end":e.range_end,"data-range-middle":e.range_middle,className:d.cn("ds:flex ds:aspect-square ds:size-auto ds:w-full ds:min-w-(--cell-size) ds:flex-col ds:gap-1 ds:leading-none ds:font-normal","ds:group-data-[focused=true]/day:relative ds:group-data-[focused=true]/day:z-10 ds:group-data-[focused=true]/day:ring-[3px]","ds:group-data-[focused=true]/day:border-ring ds:group-data-[focused=true]/day:ring-ring/50","ds:[&>span]:text-xs ds:[&>span]:opacity-70",!e.selected&&!e.range_start&&!e.range_end&&!e.range_middle&&"ds:hover:bg-accent ds:hover:text-accent-foreground ds:dark:hover:text-accent-foreground",e.selected&&!e.range_start&&!e.range_end&&!e.range_middle&&c.selected,e.range_start&&c.selected,e.range_end&&c.selected,e.range_middle&&`${c.rangeBg} ds:text-accent-foreground`,o==="default"&&["ds:data-[range-end=true]:rounded-md ds:data-[range-end=true]:rounded-r-md","ds:data-[range-middle=true]:rounded-none","ds:data-[range-start=true]:rounded-md ds:data-[range-start=true]:rounded-l-md"],o==="rounded"&&["ds:data-[selected-single=true]:rounded-full","ds:data-[range-end=true]:rounded-full","ds:data-[range-start=true]:rounded-full",e.range_start&&`ds:group-data-[focused=true]/day:${c.focusRing}`,e.range_end&&`ds:group-data-[focused=true]/day:${c.focusRing}`,e.range_middle&&"ds:rounded-none",!e.selected&&!e.range_start&&!e.range_end&&!e.range_middle&&"ds:hover:rounded-full"],f.day,r),...u})}exports.Calendar=j;exports.CalendarDayButton=w;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),k=require("react"),p=require("lucide-react"),x=require("react-day-picker"),d=require("../lib/utils.cjs"),_=require("./button.cjs");function z(r){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(a,e,o.get?o:{enumerable:!0,get:()=>r[e]})}}return a.default=r,Object.freeze(a)}const v=z(k);function j({className:r,classNames:a,showOutsideDays:e=!0,captionLayout:o="label",buttonVariant:i="ghost",variant:u="default",color:f="primary",formatters:c,components:b,...y}){const s=x.getDefaultClassNames(),m=h(f);return n.jsx(x.DayPicker,{showOutsideDays:e,className:d.cn("ds:bg-background ds:group/calendar ds:p-3 ds:[--cell-size:--ds-spacing(8)] ds:[[data-slot=card-content]_&]:bg-transparent ds:[[data-slot=popover-content]_&]:bg-transparent",String.raw`ds:rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`ds:rtl:**:[.rdp-button\_previous>svg]:rotate-180`,r),captionLayout:o,formatters:{formatMonthDropdown:t=>t.toLocaleString("default",{month:"short"}),...c},classNames:{root:d.cn("ds:w-fit",s.root),months:d.cn("ds:flex ds:gap-4 ds:flex-col ds:md:flex-row ds:relative",s.months),month:d.cn("ds:flex ds:flex-col ds:w-full ds:gap-4",s.month),nav:d.cn("ds:flex ds:items-center ds:gap-1 ds:w-full ds:absolute ds:top-0 ds:inset-x-0 ds:justify-between",s.nav),button_previous:d.cn(_.buttonVariants({variant:i}),"ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none",s.button_previous),button_next:d.cn(_.buttonVariants({variant:i}),"ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none",s.button_next),month_caption:d.cn("ds:flex ds:items-center ds:justify-center ds:h-(--cell-size) ds:w-full ds:px-(--cell-size)",s.month_caption),dropdowns:d.cn("ds:w-full ds:flex ds:items-center ds:text-sm ds:font-medium ds:justify-center ds:h-(--cell-size) ds:gap-1.5",s.dropdowns),dropdown_root:d.cn("ds:relative ds:has-focus:border-ring ds:border ds:border-input ds:shadow-xs ds:has-focus:ring-ring/50 ds:has-focus:ring-[3px] ds:rounded-md",s.dropdown_root),dropdown:d.cn("ds:absolute ds:bg-popover ds:inset-0 ds:opacity-0",s.dropdown),caption_label:d.cn("ds:select-none ds:font-medium",o==="label"?"ds:text-sm":"ds:rounded-md ds:pl-2 ds:pr-1 ds:flex ds:items-center ds:gap-1 ds:text-sm ds:h-8 ds:[&>svg]:text-muted-foreground ds:[&>svg]:size-3.5",s.caption_label),table:"ds:w-full ds:border-collapse",weekdays:d.cn("ds:flex",s.weekdays),weekday:d.cn("ds:text-muted-foreground ds:rounded-md ds:flex-1 ds:font-normal ds:text-[0.8rem] ds:select-none",s.weekday),week:d.cn("ds:flex ds:w-full ds:mt-2",s.week),week_number_header:d.cn("ds:select-none ds:w-(--cell-size)",s.week_number_header),week_number:d.cn("ds:text-[0.8rem] ds:select-none ds:text-muted-foreground",s.week_number),day:d.cn("ds:relative ds:w-full ds:h-full ds:p-0 ds:text-center ds:[&:last-child[data-selected=true]_button]:rounded-r-md ds:group/day ds:aspect-square ds:select-none",y.showWeekNumber?"ds:[&:nth-child(2)[data-selected=true]_button]:rounded-l-md":"ds:[&:first-child[data-selected=true]_button]:rounded-l-md",s.day),range_start:d.cn(u==="rounded"?`${m.rangeBg} ds:rounded-l-full`:"ds:rounded-l-md ds:bg-accent",s.range_start),range_middle:d.cn("ds:rounded-none",s.range_middle),range_end:d.cn(u==="rounded"?`${m.rangeBg} ds:rounded-r-full`:"ds:rounded-r-md ds:bg-accent",s.range_end),today:d.cn(u==="rounded"?`ds:rounded-full ds:bg-accent ds:data-[selected=true]:rounded-l-none ds:data-[selected=true]:${m.rangeBg} ds:[&_button[data-range-middle=true]]:bg-transparent`:"ds:bg-accent ds:text-accent-foreground ds:rounded-md ds:data-[selected=true]:rounded-none",s.today),outside:d.cn("ds:text-muted-foreground ds:aria-selected:text-muted-foreground",s.outside),disabled:d.cn("ds:text-muted-foreground ds:opacity-50",s.disabled),hidden:d.cn("ds:invisible",s.hidden),...a},components:{Root:({className:t,rootRef:g,...l})=>n.jsx("div",{"data-slot":"calendar",ref:g,className:d.cn(t),...l}),Chevron:({className:t,orientation:g,...l})=>g==="left"?n.jsx(p.ChevronLeftIcon,{className:d.cn("ds:size-4",t),...l}):g==="right"?n.jsx(p.ChevronRightIcon,{className:d.cn("ds:size-4",t),...l}):n.jsx(p.ChevronDownIcon,{className:d.cn("ds:size-4",t),...l}),DayButton:t=>n.jsx(w,{...t,variant:u,color:f}),WeekNumber:({children:t,...g})=>n.jsx("td",{...g,children:n.jsx("div",{className:"ds:flex ds:size-(--cell-size) ds:items-center ds:justify-center ds:text-center",children:t})}),...b},...y})}const h=(r="foreground")=>({primary:{selected:"ds:bg-primary ds:text-primary-foreground",selectedHover:"ds:hover:bg-primary/90",rangeBg:"ds:bg-primary/20 dark:ds:bg-primary/10",focusRing:"ds:ring-primary/20 dark:ds:ring-primary/40"},secondary:{selected:"ds:bg-secondary ds:text-secondary-foreground",selectedHover:"ds:hover:bg-secondary/90",rangeBg:"ds:bg-secondary/20 dark:ds:bg-secondary/10",focusRing:"ds:ring-secondary/20 dark:ds:ring-secondary/40"},accent:{selected:"ds:bg-accent ds:text-accent-foreground",selectedHover:"ds:hover:bg-accent/90",rangeBg:"ds:bg-accent/20 dark:ds:bg-accent/10",focusRing:"ds:ring-accent/20 dark:ds:ring-accent/40"},destructive:{selected:"ds:bg-destructive ds:text-destructive-foreground",selectedHover:"ds:hover:bg-destructive/90",rangeBg:"ds:bg-destructive/20 dark:ds:bg-destructive/10",focusRing:"ds:ring-destructive/20 dark:ds:ring-destructive/40"},muted:{selected:"ds:bg-muted ds:text-muted-foreground",selectedHover:"ds:hover:bg-muted/90",rangeBg:"ds:bg-muted/30 dark:ds:bg-muted/20",focusRing:"ds:ring-muted/20 dark:ds:ring-muted/40"},success:{selected:"ds:bg-success ds:text-success-foreground",selectedHover:"ds:hover:bg-success/90",rangeBg:"ds:bg-success/20 dark:ds:bg-success/10",focusRing:"ds:ring-success/20 dark:ds:ring-success/40"},error:{selected:"ds:bg-error ds:text-error-foreground",selectedHover:"ds:hover:bg-error/90",rangeBg:"ds:bg-error/20 dark:ds:bg-error/10",focusRing:"ds:ring-error/20 dark:ds:ring-error/40"},warning:{selected:"ds:bg-warning ds:text-warning-foreground",selectedHover:"ds:hover:bg-warning/90",rangeBg:"ds:bg-warning/20 dark:ds:bg-warning/10",focusRing:"ds:ring-warning/20 dark:ds:ring-warning/40"},foreground:{selected:"ds:bg-foreground ds:text-background",selectedHover:"ds:hover:bg-foreground/90",rangeBg:"ds:bg-foreground/10 dark:ds:bg-foreground/5",focusRing:"ds:ring-foreground/20 dark:ds:ring-foreground/40"}})[r];function w({className:r,day:a,modifiers:e,variant:o="default",color:i="foreground",...u}){const f=x.getDefaultClassNames(),c=h(i),b=v.useRef(null);return v.useEffect(()=>{e.focused&&b.current?.focus()},[e.focused]),n.jsx(_.Button,{ref:b,variant:"ghost",size:"icon","data-day":a.date.toLocaleDateString(),"data-selected-single":e.selected&&!e.range_start&&!e.range_end&&!e.range_middle,"data-range-start":e.range_start,"data-range-end":e.range_end,"data-range-middle":e.range_middle,className:d.cn("ds:flex ds:aspect-square ds:size-auto ds:w-full ds:min-w-(--cell-size) ds:flex-col ds:gap-1 ds:leading-none ds:font-normal","ds:group-data-[focused=true]/day:relative ds:group-data-[focused=true]/day:z-10 ds:group-data-[focused=true]/day:ring-[3px]","ds:group-data-[focused=true]/day:border-ring ds:group-data-[focused=true]/day:ring-ring/50","ds:[&>span]:text-xs ds:[&>span]:opacity-70",!e.selected&&!e.range_start&&!e.range_end&&!e.range_middle&&"ds:hover:bg-accent ds:hover:text-accent-foreground ds:dark:hover:text-accent-foreground",e.selected&&!e.range_start&&!e.range_end&&!e.range_middle&&c.selected,e.range_start&&c.selected,e.range_end&&c.selected,e.range_middle&&`${c.rangeBg} ds:text-accent-foreground`,o==="default"&&["ds:data-[range-end=true]:rounded-md ds:data-[range-end=true]:rounded-r-md","ds:data-[range-middle=true]:rounded-none","ds:data-[range-start=true]:rounded-md ds:data-[range-start=true]:rounded-l-md"],o==="rounded"&&["ds:data-[selected-single=true]:rounded-full","ds:data-[range-end=true]:rounded-full","ds:data-[range-start=true]:rounded-full",e.range_start&&`ds:group-data-[focused=true]/day:${c.focusRing}`,e.range_end&&`ds:group-data-[focused=true]/day:${c.focusRing}`,e.range_middle&&"ds:rounded-none",!e.selected&&!e.range_start&&!e.range_end&&!e.range_middle&&"ds:hover:rounded-full"],f.day,r),...u})}exports.Calendar=j;exports.CalendarDayButton=w;
2
2
  //# sourceMappingURL=calendar.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.cjs","sources":["../../../../../../../../packages/ui/src/components/calendar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\";\nimport { DayButton, DayPicker, getDefaultClassNames } from \"react-day-picker\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { Button, buttonVariants } from \"@dsui/ui/components/button\";\n\ntype CalendarColor =\n | \"primary\"\n | \"secondary\"\n | \"accent\"\n | \"destructive\"\n | \"muted\"\n | \"success\"\n | \"error\"\n | \"warning\"\n | \"foreground\";\n\ntype CalendarProps = React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n variant?: \"default\" | \"rounded\";\n color?: CalendarColor;\n};\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n variant = \"default\",\n color = \"primary\",\n formatters,\n components,\n ...props\n}: CalendarProps) {\n const defaultClassNames = getDefaultClassNames();\n const colorClasses = getColorClasses(color);\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"ds:bg-background ds:group/calendar ds:p-3 ds:[--cell-size:--spacing(8)] ds:[[data-slot=card-content]_&]:bg-transparent ds:[[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`ds:rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`ds:rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"ds:w-fit\", defaultClassNames.root),\n months: cn(\n \"ds:flex ds:gap-4 ds:flex-col ds:md:flex-row ds:relative\",\n defaultClassNames.months\n ),\n month: cn(\"ds:flex ds:flex-col ds:w-full ds:gap-4\", defaultClassNames.month),\n nav: cn(\n \"ds:flex ds:items-center ds:gap-1 ds:w-full ds:absolute ds:top-0 ds:inset-x-0 ds:justify-between\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"ds:flex ds:items-center ds:justify-center ds:h-(--cell-size) ds:w-full ds:px-(--cell-size)\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"ds:w-full ds:flex ds:items-center ds:text-sm ds:font-medium ds:justify-center ds:h-(--cell-size) ds:gap-1.5\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"ds:relative ds:has-focus:border-ring ds:border ds:border-input ds:shadow-xs ds:has-focus:ring-ring/50 ds:has-focus:ring-[3px] ds:rounded-md\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n \"ds:absolute ds:bg-popover ds:inset-0 ds:opacity-0\",\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n \"ds:select-none ds:font-medium\",\n captionLayout === \"label\"\n ? \"ds:text-sm\"\n : \"ds:rounded-md ds:pl-2 ds:pr-1 ds:flex ds:items-center ds:gap-1 ds:text-sm ds:h-8 ds:[&>svg]:text-muted-foreground ds:[&>svg]:size-3.5\",\n defaultClassNames.caption_label\n ),\n table: \"ds:w-full ds:border-collapse\",\n weekdays: cn(\"ds:flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"ds:text-muted-foreground ds:rounded-md ds:flex-1 ds:font-normal ds:text-[0.8rem] ds:select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"ds:flex ds:w-full ds:mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"ds:select-none ds:w-(--cell-size)\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"ds:text-[0.8rem] ds:select-none ds:text-muted-foreground\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"ds:relative ds:w-full ds:h-full ds:p-0 ds:text-center ds:[&:last-child[data-selected=true]_button]:rounded-r-md ds:group/day ds:aspect-square ds:select-none\",\n props.showWeekNumber\n ? \"ds:[&:nth-child(2)[data-selected=true]_button]:rounded-l-md\"\n : \"ds:[&:first-child[data-selected=true]_button]:rounded-l-md\",\n defaultClassNames.day\n ),\n range_start: cn(\n variant === \"rounded\"\n ? `${colorClasses.rangeBg} ds:rounded-l-full`\n : \"ds:rounded-l-md ds:bg-accent\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\n variant === \"rounded\" ? \"ds:rounded-none\" : \"ds:rounded-none\",\n defaultClassNames.range_middle\n ),\n range_end: cn(\n variant === \"rounded\"\n ? `${colorClasses.rangeBg} ds:rounded-r-full`\n : \"ds:rounded-r-md ds:bg-accent\",\n defaultClassNames.range_end\n ),\n today: cn(\n variant === \"rounded\"\n ? `ds:rounded-full ds:bg-accent ds:data-[selected=true]:rounded-l-none ds:data-[selected=true]:${colorClasses.rangeBg} ds:[&_button[data-range-middle=true]]:bg-transparent`\n : \"ds:bg-accent ds:text-accent-foreground ds:rounded-md ds:data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"ds:text-muted-foreground ds:aria-selected:text-muted-foreground\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"ds:text-muted-foreground ds:opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"ds:invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n );\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"ds:size-4\", className)} {...props} />\n );\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"ds:size-4\", className)}\n {...props}\n />\n );\n }\n\n return (\n <ChevronDownIcon className={cn(\"ds:size-4\", className)} {...props} />\n );\n },\n DayButton: (props) => (\n <CalendarDayButton {...props} variant={variant} color={color} />\n ),\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"ds:flex ds:size-(--cell-size) ds:items-center ds:justify-center ds:text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\ntype CalendarDayButtonProps = Omit<\n React.ComponentProps<typeof DayButton>,\n \"color\"\n> & {\n variant?: \"default\" | \"rounded\";\n color?: CalendarColor;\n};\n\n// Color variants for calendar day buttons\nconst getColorClasses = (color: CalendarColor = \"foreground\") => {\n const colorMap = {\n primary: {\n selected: \"ds:bg-primary ds:text-primary-foreground\",\n selectedHover: \"ds:hover:bg-primary/90\",\n rangeBg: \"ds:bg-primary/20 dark:ds:bg-primary/10\",\n focusRing: \"ds:ring-primary/20 dark:ds:ring-primary/40\",\n },\n secondary: {\n selected: \"ds:bg-secondary ds:text-secondary-foreground\",\n selectedHover: \"ds:hover:bg-secondary/90\",\n rangeBg: \"ds:bg-secondary/20 dark:ds:bg-secondary/10\",\n focusRing: \"ds:ring-secondary/20 dark:ds:ring-secondary/40\",\n },\n accent: {\n selected: \"ds:bg-accent ds:text-accent-foreground\",\n selectedHover: \"ds:hover:bg-accent/90\",\n rangeBg: \"ds:bg-accent/20 dark:ds:bg-accent/10\",\n focusRing: \"ds:ring-accent/20 dark:ds:ring-accent/40\",\n },\n destructive: {\n selected: \"ds:bg-destructive ds:text-destructive-foreground\",\n selectedHover: \"ds:hover:bg-destructive/90\",\n rangeBg: \"ds:bg-destructive/20 dark:ds:bg-destructive/10\",\n focusRing: \"ds:ring-destructive/20 dark:ds:ring-destructive/40\",\n },\n muted: {\n selected: \"ds:bg-muted ds:text-muted-foreground\",\n selectedHover: \"ds:hover:bg-muted/90\",\n rangeBg: \"ds:bg-muted/30 dark:ds:bg-muted/20\",\n focusRing: \"ds:ring-muted/20 dark:ds:ring-muted/40\",\n },\n success: {\n selected: \"ds:bg-success ds:text-success-foreground\",\n selectedHover: \"ds:hover:bg-success/90\",\n rangeBg: \"ds:bg-success/20 dark:ds:bg-success/10\",\n focusRing: \"ds:ring-success/20 dark:ds:ring-success/40\",\n },\n error: {\n selected: \"ds:bg-error ds:text-error-foreground\",\n selectedHover: \"ds:hover:bg-error/90\",\n rangeBg: \"ds:bg-error/20 dark:ds:bg-error/10\",\n focusRing: \"ds:ring-error/20 dark:ds:ring-error/40\",\n },\n warning: {\n selected: \"ds:bg-warning ds:text-warning-foreground\",\n selectedHover: \"ds:hover:bg-warning/90\",\n rangeBg: \"ds:bg-warning/20 dark:ds:bg-warning/10\",\n focusRing: \"ds:ring-warning/20 dark:ds:ring-warning/40\",\n },\n foreground: {\n selected: \"ds:bg-foreground ds:text-background\",\n selectedHover: \"ds:hover:bg-foreground/90\",\n rangeBg: \"ds:bg-foreground/10 dark:ds:bg-foreground/5\",\n focusRing: \"ds:ring-foreground/20 dark:ds:ring-foreground/40\",\n },\n };\n\n return colorMap[color];\n};\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n variant = \"default\",\n color = \"foreground\",\n ...props\n}: CalendarDayButtonProps) {\n const defaultClassNames = getDefaultClassNames();\n const colorClasses = getColorClasses(color);\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\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 \"ds:flex ds:aspect-square ds:size-auto ds:w-full ds:min-w-(--cell-size) ds:flex-col ds:gap-1 ds:leading-none ds:font-normal\",\n \"ds:group-data-[focused=true]/day:relative ds:group-data-[focused=true]/day:z-10 ds:group-data-[focused=true]/day:ring-[3px]\",\n \"ds:group-data-[focused=true]/day:border-ring ds:group-data-[focused=true]/day:ring-ring/50\",\n \"ds:[&>span]:text-xs ds:[&>span]:opacity-70\",\n // Hover effect chỉ khi chưa selected\n !modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n \"ds:hover:bg-accent ds:hover:text-accent-foreground ds:dark:hover:text-accent-foreground\",\n // Selected single day - chỉ apply color khi selected\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n colorClasses.selected,\n // Range start/end - chỉ apply color khi là range start/end\n modifiers.range_start && colorClasses.selected,\n modifiers.range_end && colorClasses.selected,\n // Range middle - apply rangeBg nhưng giữ text color mặc định\n modifiers.range_middle &&\n `${colorClasses.rangeBg} ds:text-accent-foreground`,\n variant === \"default\" && [\n \"ds:data-[range-end=true]:rounded-md ds:data-[range-end=true]:rounded-r-md\",\n \"ds:data-[range-middle=true]:rounded-none\",\n \"ds:data-[range-start=true]:rounded-md ds:data-[range-start=true]:rounded-l-md\",\n ],\n variant === \"rounded\" && [\n \"ds:data-[selected-single=true]:rounded-full\",\n \"ds:data-[range-end=true]:rounded-full\",\n \"ds:data-[range-start=true]:rounded-full\",\n modifiers.range_start &&\n `ds:group-data-[focused=true]/day:${colorClasses.focusRing}`,\n modifiers.range_end &&\n `ds:group-data-[focused=true]/day:${colorClasses.focusRing}`,\n modifiers.range_middle && \"ds:rounded-none\",\n // Chỉ hover:rounded-full khi chưa selected\n !modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n \"ds:hover:rounded-full\",\n ],\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Calendar,\n CalendarDayButton,\n type CalendarProps,\n type CalendarDayButtonProps,\n type CalendarColor,\n};\n"],"names":["Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","variant","color","formatters","components","props","defaultClassNames","getDefaultClassNames","colorClasses","getColorClasses","jsx","DayPicker","cn","date","buttonVariants","rootRef","orientation","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","children","day","modifiers","ref","React","Button"],"mappings":"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"}
1
+ {"version":3,"file":"calendar.cjs","sources":["../../../../../../../../packages/ui/src/components/calendar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\";\nimport { DayButton, DayPicker, getDefaultClassNames } from \"react-day-picker\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { Button, buttonVariants } from \"@dsui/ui/components/button\";\n\ntype CalendarColor =\n | \"primary\"\n | \"secondary\"\n | \"accent\"\n | \"destructive\"\n | \"muted\"\n | \"success\"\n | \"error\"\n | \"warning\"\n | \"foreground\";\n\ntype CalendarProps = React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n variant?: \"default\" | \"rounded\";\n color?: CalendarColor;\n};\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n variant = \"default\",\n color = \"primary\",\n formatters,\n components,\n ...props\n}: CalendarProps) {\n const defaultClassNames = getDefaultClassNames();\n const colorClasses = getColorClasses(color);\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"ds:bg-background ds:group/calendar ds:p-3 ds:[--cell-size:--ds-spacing(8)] ds:[[data-slot=card-content]_&]:bg-transparent ds:[[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`ds:rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`ds:rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"ds:w-fit\", defaultClassNames.root),\n months: cn(\n \"ds:flex ds:gap-4 ds:flex-col ds:md:flex-row ds:relative\",\n defaultClassNames.months\n ),\n month: cn(\"ds:flex ds:flex-col ds:w-full ds:gap-4\", defaultClassNames.month),\n nav: cn(\n \"ds:flex ds:items-center ds:gap-1 ds:w-full ds:absolute ds:top-0 ds:inset-x-0 ds:justify-between\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"ds:flex ds:items-center ds:justify-center ds:h-(--cell-size) ds:w-full ds:px-(--cell-size)\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"ds:w-full ds:flex ds:items-center ds:text-sm ds:font-medium ds:justify-center ds:h-(--cell-size) ds:gap-1.5\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"ds:relative ds:has-focus:border-ring ds:border ds:border-input ds:shadow-xs ds:has-focus:ring-ring/50 ds:has-focus:ring-[3px] ds:rounded-md\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n \"ds:absolute ds:bg-popover ds:inset-0 ds:opacity-0\",\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n \"ds:select-none ds:font-medium\",\n captionLayout === \"label\"\n ? \"ds:text-sm\"\n : \"ds:rounded-md ds:pl-2 ds:pr-1 ds:flex ds:items-center ds:gap-1 ds:text-sm ds:h-8 ds:[&>svg]:text-muted-foreground ds:[&>svg]:size-3.5\",\n defaultClassNames.caption_label\n ),\n table: \"ds:w-full ds:border-collapse\",\n weekdays: cn(\"ds:flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"ds:text-muted-foreground ds:rounded-md ds:flex-1 ds:font-normal ds:text-[0.8rem] ds:select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"ds:flex ds:w-full ds:mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"ds:select-none ds:w-(--cell-size)\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"ds:text-[0.8rem] ds:select-none ds:text-muted-foreground\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"ds:relative ds:w-full ds:h-full ds:p-0 ds:text-center ds:[&:last-child[data-selected=true]_button]:rounded-r-md ds:group/day ds:aspect-square ds:select-none\",\n props.showWeekNumber\n ? \"ds:[&:nth-child(2)[data-selected=true]_button]:rounded-l-md\"\n : \"ds:[&:first-child[data-selected=true]_button]:rounded-l-md\",\n defaultClassNames.day\n ),\n range_start: cn(\n variant === \"rounded\"\n ? `${colorClasses.rangeBg} ds:rounded-l-full`\n : \"ds:rounded-l-md ds:bg-accent\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\n variant === \"rounded\" ? \"ds:rounded-none\" : \"ds:rounded-none\",\n defaultClassNames.range_middle\n ),\n range_end: cn(\n variant === \"rounded\"\n ? `${colorClasses.rangeBg} ds:rounded-r-full`\n : \"ds:rounded-r-md ds:bg-accent\",\n defaultClassNames.range_end\n ),\n today: cn(\n variant === \"rounded\"\n ? `ds:rounded-full ds:bg-accent ds:data-[selected=true]:rounded-l-none ds:data-[selected=true]:${colorClasses.rangeBg} ds:[&_button[data-range-middle=true]]:bg-transparent`\n : \"ds:bg-accent ds:text-accent-foreground ds:rounded-md ds:data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"ds:text-muted-foreground ds:aria-selected:text-muted-foreground\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"ds:text-muted-foreground ds:opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"ds:invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n );\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"ds:size-4\", className)} {...props} />\n );\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"ds:size-4\", className)}\n {...props}\n />\n );\n }\n\n return (\n <ChevronDownIcon className={cn(\"ds:size-4\", className)} {...props} />\n );\n },\n DayButton: (props) => (\n <CalendarDayButton {...props} variant={variant} color={color} />\n ),\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"ds:flex ds:size-(--cell-size) ds:items-center ds:justify-center ds:text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\ntype CalendarDayButtonProps = Omit<\n React.ComponentProps<typeof DayButton>,\n \"color\"\n> & {\n variant?: \"default\" | \"rounded\";\n color?: CalendarColor;\n};\n\n// Color variants for calendar day buttons\nconst getColorClasses = (color: CalendarColor = \"foreground\") => {\n const colorMap = {\n primary: {\n selected: \"ds:bg-primary ds:text-primary-foreground\",\n selectedHover: \"ds:hover:bg-primary/90\",\n rangeBg: \"ds:bg-primary/20 dark:ds:bg-primary/10\",\n focusRing: \"ds:ring-primary/20 dark:ds:ring-primary/40\",\n },\n secondary: {\n selected: \"ds:bg-secondary ds:text-secondary-foreground\",\n selectedHover: \"ds:hover:bg-secondary/90\",\n rangeBg: \"ds:bg-secondary/20 dark:ds:bg-secondary/10\",\n focusRing: \"ds:ring-secondary/20 dark:ds:ring-secondary/40\",\n },\n accent: {\n selected: \"ds:bg-accent ds:text-accent-foreground\",\n selectedHover: \"ds:hover:bg-accent/90\",\n rangeBg: \"ds:bg-accent/20 dark:ds:bg-accent/10\",\n focusRing: \"ds:ring-accent/20 dark:ds:ring-accent/40\",\n },\n destructive: {\n selected: \"ds:bg-destructive ds:text-destructive-foreground\",\n selectedHover: \"ds:hover:bg-destructive/90\",\n rangeBg: \"ds:bg-destructive/20 dark:ds:bg-destructive/10\",\n focusRing: \"ds:ring-destructive/20 dark:ds:ring-destructive/40\",\n },\n muted: {\n selected: \"ds:bg-muted ds:text-muted-foreground\",\n selectedHover: \"ds:hover:bg-muted/90\",\n rangeBg: \"ds:bg-muted/30 dark:ds:bg-muted/20\",\n focusRing: \"ds:ring-muted/20 dark:ds:ring-muted/40\",\n },\n success: {\n selected: \"ds:bg-success ds:text-success-foreground\",\n selectedHover: \"ds:hover:bg-success/90\",\n rangeBg: \"ds:bg-success/20 dark:ds:bg-success/10\",\n focusRing: \"ds:ring-success/20 dark:ds:ring-success/40\",\n },\n error: {\n selected: \"ds:bg-error ds:text-error-foreground\",\n selectedHover: \"ds:hover:bg-error/90\",\n rangeBg: \"ds:bg-error/20 dark:ds:bg-error/10\",\n focusRing: \"ds:ring-error/20 dark:ds:ring-error/40\",\n },\n warning: {\n selected: \"ds:bg-warning ds:text-warning-foreground\",\n selectedHover: \"ds:hover:bg-warning/90\",\n rangeBg: \"ds:bg-warning/20 dark:ds:bg-warning/10\",\n focusRing: \"ds:ring-warning/20 dark:ds:ring-warning/40\",\n },\n foreground: {\n selected: \"ds:bg-foreground ds:text-background\",\n selectedHover: \"ds:hover:bg-foreground/90\",\n rangeBg: \"ds:bg-foreground/10 dark:ds:bg-foreground/5\",\n focusRing: \"ds:ring-foreground/20 dark:ds:ring-foreground/40\",\n },\n };\n\n return colorMap[color];\n};\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n variant = \"default\",\n color = \"foreground\",\n ...props\n}: CalendarDayButtonProps) {\n const defaultClassNames = getDefaultClassNames();\n const colorClasses = getColorClasses(color);\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\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 \"ds:flex ds:aspect-square ds:size-auto ds:w-full ds:min-w-(--cell-size) ds:flex-col ds:gap-1 ds:leading-none ds:font-normal\",\n \"ds:group-data-[focused=true]/day:relative ds:group-data-[focused=true]/day:z-10 ds:group-data-[focused=true]/day:ring-[3px]\",\n \"ds:group-data-[focused=true]/day:border-ring ds:group-data-[focused=true]/day:ring-ring/50\",\n \"ds:[&>span]:text-xs ds:[&>span]:opacity-70\",\n // Hover effect chỉ khi chưa selected\n !modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n \"ds:hover:bg-accent ds:hover:text-accent-foreground ds:dark:hover:text-accent-foreground\",\n // Selected single day - chỉ apply color khi selected\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n colorClasses.selected,\n // Range start/end - chỉ apply color khi là range start/end\n modifiers.range_start && colorClasses.selected,\n modifiers.range_end && colorClasses.selected,\n // Range middle - apply rangeBg nhưng giữ text color mặc định\n modifiers.range_middle &&\n `${colorClasses.rangeBg} ds:text-accent-foreground`,\n variant === \"default\" && [\n \"ds:data-[range-end=true]:rounded-md ds:data-[range-end=true]:rounded-r-md\",\n \"ds:data-[range-middle=true]:rounded-none\",\n \"ds:data-[range-start=true]:rounded-md ds:data-[range-start=true]:rounded-l-md\",\n ],\n variant === \"rounded\" && [\n \"ds:data-[selected-single=true]:rounded-full\",\n \"ds:data-[range-end=true]:rounded-full\",\n \"ds:data-[range-start=true]:rounded-full\",\n modifiers.range_start &&\n `ds:group-data-[focused=true]/day:${colorClasses.focusRing}`,\n modifiers.range_end &&\n `ds:group-data-[focused=true]/day:${colorClasses.focusRing}`,\n modifiers.range_middle && \"ds:rounded-none\",\n // Chỉ hover:rounded-full khi chưa selected\n !modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n \"ds:hover:rounded-full\",\n ],\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Calendar,\n CalendarDayButton,\n type CalendarProps,\n type CalendarDayButtonProps,\n type CalendarColor,\n};\n"],"names":["Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","variant","color","formatters","components","props","defaultClassNames","getDefaultClassNames","colorClasses","getColorClasses","jsx","DayPicker","cn","date","buttonVariants","rootRef","orientation","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","children","day","modifiers","ref","React","Button"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),k=require("react"),o=require("lucide-react"),O=require("class-variance-authority"),i=require("./command.cjs"),u=require("./popover.cjs"),a=require("../lib/utils.cjs"),f=require("./label.cjs");function q(d){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const t in d)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(d,t);Object.defineProperty(n,t,c.get?c:{enumerable:!0,get:()=>d[t]})}}return n.default=d,Object.freeze(n)}const v=q(k),P=O.cva("ds:justify-between ds:relative ds:dark:bg-background ds:dark:hover:bg-input/50 ds:border-input ds:w-full ds:min-w-0 ds:rounded-md ds:border ds:bg-transparent ds:shadow-xs ds:transition-[color,box-shadow] ds:outline-none ds:file:inline-flex ds:file:h-7 ds:file:border-0 ds:file:bg-transparent ds:file:text-sm ds:file:font-medium ds:disabled:pointer-events-none ds:disabled:cursor-not-allowed ds:disabled:opacity-50 ds:focus-visible:border-ring ds:focus-visible:ring-ring/50 ds:focus-visible:ring-[3px] ds:aria-invalid:ring-destructive/20 ds:dark:aria-invalid:ring-destructive/40 ds:aria-invalid:border-destructive",{variants:{size:{xs:"ds:h-6 ds:text-xs ds:px-2 ds:py-0.5",sm:"ds:h-8 ds:text-sm ds:px-2.5 ds:py-1",normal:"ds:h-9 ds:px-3 ds:py-1",lg:"ds:h-11 ds:px-4 ds:py-2",xl:"ds:h-14 ds:px-5 ds:py-3"},state:{default:"",success:"ds:border-success ds:ring-success/30 ds:focus-visible:border-success ds:focus-visible:ring-success/50",error:"ds:border-destructive ds:ring-destructive/30 ds:focus-visible:border-destructive ds:focus-visible:ring-destructive/50",warning:"ds:border-warning ds:ring-warning/30 ds:focus-visible:border-warning ds:focus-visible:ring-warning/50"}},defaultVariants:{size:"normal",state:"default"}});function S({value:d,options:n,placeHolder:t,emptyText:c,onChange:m,clearable:b,className:h,dropdownClassName:g,children:j,size:r,state:y="default",searchable:w=!0,tagRender:p,...C}){const[l,x]=v.useState(!1),N=v.useCallback(s=>{x(s)},[]);return e.jsxs(u.Popover,{open:l,onOpenChange:N,modal:!0,children:[e.jsx(u.PopoverTrigger,{asChild:!0,...C,children:j??e.jsxs(f.Label,{className:a.cn(P({size:r,state:y}),h),children:[e.jsx("span",{className:a.cn("ds:truncate ds:w-full ds:inline-block ds:align-middle ds:text-left",{"ds:pr-8":b}),children:d?n?.find(s=>s.value===d)?.label:t}),l&&e.jsx(o.ChevronUp,{className:a.cn("ds:z-10 ds:opacity-50",{"ds:size-4 ds:min-w-4":r==="sm"||r==="xs","ds:size-5 ds:min-w-5":r==="lg"||r==="xl"},g)}),!l&&e.jsx(o.ChevronDown,{className:a.cn("ds:z-10 ds:opacity-50",{"ds:size-4 ds:min-w-4":r==="sm"||r==="xs","ds:size-5 ds:min-w-5":r==="lg"||r==="xl"},g)})]})}),b&&d&&e.jsx(f.Label,{onClick:s=>{s.stopPropagation(),m?.("")},className:"ds:absolute ds:right-11 ds:top-1/2 ds:-translate-y-1/2 ds:rounded-sm ds:p-1 ds:text-muted-foreground ds:hover:bg-accent ds:hover:text-accent-foreground ds:cursor-pointer ds:size-6 ds:opacity-50",children:e.jsx(o.X,{className:"ds:h-4 ds:w-4"})}),e.jsx(u.PopoverContent,{className:a.cn("ds:p-0 ds:w-(--radix-popover-trigger-width)"),onInteractOutside:s=>{s.target.closest('[data-slot="popover-trigger"]')&&s.preventDefault()},children:e.jsxs(i.Command,{children:[w&&e.jsx(i.CommandInput,{placeholder:t,className:"ds:h-9"}),e.jsxs(i.CommandList,{children:[e.jsx(i.CommandEmpty,{children:c||"Not found"}),e.jsx(i.CommandGroup,{children:n?.map(s=>e.jsxs(i.CommandItem,{value:String(s.label),onSelect:s?.disabled?void 0:()=>{m?.(s.value),x(!1)},className:a.cn(s?.disabled&&"ds:opacity-50 ds:cursor-not-allowed ds:grayscale",d===s.value&&"ds:bg-primary/10 ds:dark:bg-primary/20"),children:[p?p(s):e.jsxs(e.Fragment,{children:[s.icon&&e.jsx("span",{className:"ds:mr-2 ds:max-w-4 ds:max-h-4",children:s.icon}),s.label]}),e.jsx(o.Check,{className:a.cn("ds:ml-auto",d===s.value?"ds:opacity-100":"ds:opacity-0")})]},s.value))})]})]})})]})}exports.Combobox=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),k=require("react"),o=require("lucide-react"),O=require("class-variance-authority"),i=require("./command.cjs"),u=require("./popover.cjs"),a=require("../lib/utils.cjs"),f=require("./label.cjs");function q(d){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const t in d)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(d,t);Object.defineProperty(n,t,c.get?c:{enumerable:!0,get:()=>d[t]})}}return n.default=d,Object.freeze(n)}const v=q(k),P=O.cva("ds:justify-between ds:relative ds:dark:bg-background ds:dark:hover:bg-input/50 ds:border-input ds:w-full ds:min-w-0 ds:rounded-md ds:border ds:border-border ds:bg-transparent ds:shadow-xs ds:transition-[color,box-shadow] ds:outline-none ds:file:inline-flex ds:file:h-7 ds:file:border-0 ds:file:bg-transparent ds:file:text-sm ds:file:font-medium ds:disabled:pointer-events-none ds:disabled:cursor-not-allowed ds:disabled:opacity-50 ds:focus-visible:border-ring ds:focus-visible:ring-ring/50 ds:focus-visible:ring-[3px] ds:aria-invalid:ring-destructive/20 ds:dark:aria-invalid:ring-destructive/40 ds:aria-invalid:border-destructive",{variants:{size:{xs:"ds:h-6 ds:text-xs ds:px-2 ds:py-0.5",sm:"ds:h-8 ds:text-sm ds:px-2.5 ds:py-1",normal:"ds:h-9 ds:px-3 ds:py-1",lg:"ds:h-11 ds:px-4 ds:py-2",xl:"ds:h-14 ds:px-5 ds:py-3"},state:{default:"",success:"ds:border-success ds:ring-success/30 ds:focus-visible:border-success ds:focus-visible:ring-success/50",error:"ds:border-destructive ds:ring-destructive/30 ds:focus-visible:border-destructive ds:focus-visible:ring-destructive/50",warning:"ds:border-warning ds:ring-warning/30 ds:focus-visible:border-warning ds:focus-visible:ring-warning/50"}},defaultVariants:{size:"normal",state:"default"}});function S({value:d,options:n,placeHolder:t,emptyText:c,onChange:m,clearable:b,className:h,dropdownClassName:g,children:j,size:r,state:y="default",searchable:w=!0,tagRender:p,...C}){const[l,x]=v.useState(!1),N=v.useCallback(s=>{x(s)},[]);return e.jsxs(u.Popover,{open:l,onOpenChange:N,modal:!0,children:[e.jsx(u.PopoverTrigger,{asChild:!0,...C,children:j??e.jsxs(f.Label,{className:a.cn(P({size:r,state:y}),h),children:[e.jsx("span",{className:a.cn("ds:truncate ds:w-full ds:inline-block ds:align-middle ds:text-left",{"ds:pr-8":b}),children:d?n?.find(s=>s.value===d)?.label:t}),l&&e.jsx(o.ChevronUp,{className:a.cn("ds:z-10 ds:opacity-50",{"ds:size-4 ds:min-w-4":r==="sm"||r==="xs","ds:size-5 ds:min-w-5":r==="lg"||r==="xl"},g)}),!l&&e.jsx(o.ChevronDown,{className:a.cn("ds:z-10 ds:opacity-50",{"ds:size-4 ds:min-w-4":r==="sm"||r==="xs","ds:size-5 ds:min-w-5":r==="lg"||r==="xl"},g)})]})}),b&&d&&e.jsx(f.Label,{onClick:s=>{s.stopPropagation(),m?.("")},className:"ds:absolute ds:right-11 ds:top-1/2 ds:-translate-y-1/2 ds:rounded-sm ds:p-1 ds:text-muted-foreground ds:hover:bg-accent ds:hover:text-accent-foreground ds:cursor-pointer ds:size-6 ds:opacity-50",children:e.jsx(o.X,{className:"ds:h-4 ds:w-4"})}),e.jsx(u.PopoverContent,{className:a.cn("ds:p-0 ds:w-(--radix-popover-trigger-width)"),onInteractOutside:s=>{s.target.closest('[data-slot="popover-trigger"]')&&s.preventDefault()},children:e.jsxs(i.Command,{children:[w&&e.jsx(i.CommandInput,{placeholder:t,className:"ds:h-9"}),e.jsxs(i.CommandList,{children:[e.jsx(i.CommandEmpty,{children:c||"Not found"}),e.jsx(i.CommandGroup,{children:n?.map(s=>e.jsxs(i.CommandItem,{value:String(s.label),onSelect:s?.disabled?void 0:()=>{m?.(s.value),x(!1)},className:a.cn(s?.disabled&&"ds:opacity-50 ds:cursor-not-allowed ds:grayscale",d===s.value&&"ds:bg-primary/10 ds:dark:bg-primary/20"),children:[p?p(s):e.jsxs(e.Fragment,{children:[s.icon&&e.jsx("span",{className:"ds:mr-2 ds:max-w-4 ds:max-h-4",children:s.icon}),s.label]}),e.jsx(o.Check,{className:a.cn("ds:ml-auto",d===s.value?"ds:opacity-100":"ds:opacity-0")})]},s.value))})]})]})})]})}exports.Combobox=S;
2
2
  //# sourceMappingURL=combobox.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.cjs","sources":["../../../../../../../../packages/ui/src/components/combobox.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Check, ChevronDown, ChevronUp, X } from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"./command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover\";\nimport { cn } from \"../lib/utils\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { Label } from \"./label\";\n\nconst comboboxVariants = cva(\n \"ds:justify-between ds:relative ds:dark:bg-background ds:dark:hover:bg-input/50 ds:border-input ds:w-full ds:min-w-0 ds:rounded-md ds:border ds:bg-transparent ds:shadow-xs ds:transition-[color,box-shadow] ds:outline-none ds:file:inline-flex ds:file:h-7 ds:file:border-0 ds:file:bg-transparent ds:file:text-sm ds:file:font-medium ds:disabled:pointer-events-none ds:disabled:cursor-not-allowed ds:disabled:opacity-50 ds:focus-visible:border-ring ds:focus-visible:ring-ring/50 ds:focus-visible:ring-[3px] ds:aria-invalid:ring-destructive/20 ds:dark:aria-invalid:ring-destructive/40 ds:aria-invalid:border-destructive\",\n {\n variants: {\n size: {\n xs: \"ds:h-6 ds:text-xs ds:px-2 ds:py-0.5\",\n sm: \"ds:h-8 ds:text-sm ds:px-2.5 ds:py-1\",\n normal: \"ds:h-9 ds:px-3 ds:py-1\",\n lg: \"ds:h-11 ds:px-4 ds:py-2\",\n xl: \"ds:h-14 ds:px-5 ds:py-3\",\n },\n state: {\n default: \"\",\n success:\n \"ds:border-success ds:ring-success/30 ds:focus-visible:border-success ds:focus-visible:ring-success/50\",\n error:\n \"ds:border-destructive ds:ring-destructive/30 ds:focus-visible:border-destructive ds:focus-visible:ring-destructive/50\",\n warning:\n \"ds:border-warning ds:ring-warning/30 ds:focus-visible:border-warning ds:focus-visible:ring-warning/50\",\n },\n },\n defaultVariants: {\n size: \"normal\",\n state: \"default\",\n },\n }\n);\n\ntype SelectOption = {\n label: React.ReactNode;\n value: string;\n group?: string;\n icon?: React.ReactNode;\n disabled?: boolean;\n};\n\ntype ComboboxProps = Omit<\n React.ComponentProps<typeof PopoverPrimitive.Trigger>,\n \"onChange\"\n> & {\n value?: string;\n options?: SelectOption[];\n placeHolder?: string;\n onChange?: (value?: string | null) => void;\n clearable?: boolean;\n emptyText?: string;\n className?: string;\n dropdownClassName?: string;\n children?: React.ReactNode;\n size?: \"normal\" | \"sm\" | \"xs\" | \"lg\" | \"xl\";\n state?: \"default\" | \"success\" | \"error\" | \"warning\";\n searchable?: boolean;\n tagRender?: (\n option: SelectOption & { onClick?: () => void }\n ) => React.ReactNode;\n} & VariantProps<typeof comboboxVariants>;\n\nfunction Combobox({\n value,\n options,\n placeHolder,\n emptyText,\n onChange,\n clearable,\n className,\n dropdownClassName,\n children,\n size,\n state = \"default\",\n searchable = true,\n tagRender,\n ...props\n}: ComboboxProps) {\n const [open, setOpen] = React.useState(false);\n\n const handleOpenChange = React.useCallback((newOpen: boolean) => {\n setOpen(newOpen);\n }, []);\n\n return (\n <Popover open={open} onOpenChange={handleOpenChange} modal={true}>\n <PopoverTrigger asChild {...props}>\n {children ?? (\n <Label className={cn(comboboxVariants({ size, state }), className)}>\n <span\n className={cn(\n \"ds:truncate ds:w-full ds:inline-block ds:align-middle ds:text-left\",\n {\n \"ds:pr-8\": clearable,\n }\n )}\n >\n {value\n ? options?.find((option) => option.value === value)?.label\n : placeHolder}\n </span>\n {open && (\n <ChevronUp\n className={cn(\n \"ds:z-10 ds:opacity-50\",\n {\n \"ds:size-4 ds:min-w-4\": size === \"sm\" || size === \"xs\",\n \"ds:size-5 ds:min-w-5\": size === \"lg\" || size === \"xl\",\n },\n dropdownClassName\n )}\n />\n )}\n {!open && (\n <ChevronDown\n className={cn(\n \"ds:z-10 ds:opacity-50\",\n {\n \"ds:size-4 ds:min-w-4\": size === \"sm\" || size === \"xs\",\n \"ds:size-5 ds:min-w-5\": size === \"lg\" || size === \"xl\",\n },\n dropdownClassName\n )}\n />\n )}\n </Label>\n )}\n </PopoverTrigger>\n\n {clearable && value && (\n <Label\n onClick={(e) => {\n e.stopPropagation();\n onChange?.(\"\");\n }}\n className=\"ds:absolute ds:right-11 ds:top-1/2 ds:-translate-y-1/2 ds:rounded-sm ds:p-1 ds:text-muted-foreground ds:hover:bg-accent ds:hover:text-accent-foreground ds:cursor-pointer ds:size-6 ds:opacity-50\"\n >\n <X className=\"ds:h-4 ds:w-4\" />\n </Label>\n )}\n <PopoverContent\n className={cn(\"ds:p-0 ds:w-(--radix-popover-trigger-width)\")}\n onInteractOutside={(e) => {\n // Prevent closing when clicking the trigger\n const target = e.target as HTMLElement;\n if (target.closest('[data-slot=\"popover-trigger\"]')) {\n e.preventDefault();\n }\n }}\n >\n <Command>\n {searchable && (\n <CommandInput placeholder={placeHolder} className=\"ds:h-9\" />\n )}\n <CommandList>\n <CommandEmpty>{emptyText || \"Not found\"}</CommandEmpty>\n <CommandGroup>\n {options?.map((option) => (\n <CommandItem\n key={option.value}\n value={String(option.label)} // Để Command search theo label\n onSelect={\n option?.disabled\n ? undefined\n : () => {\n onChange?.(option.value); // Lưu value thực sự\n setOpen(false);\n }\n }\n className={cn(\n option?.disabled &&\n \"ds:opacity-50 ds:cursor-not-allowed ds:grayscale\",\n value === option.value && \"ds:bg-primary/10 ds:dark:bg-primary/20\"\n )}\n >\n {tagRender ? (\n tagRender(option)\n ) : (\n <>\n {option.icon && (\n <span className=\"ds:mr-2 ds:max-w-4 ds:max-h-4\">\n {option.icon}\n </span>\n )}\n {option.label}\n </>\n )}\n <Check\n className={cn(\n \"ds:ml-auto\",\n value === option.value ? \"ds:opacity-100\" : \"ds:opacity-0\" // So sánh theo value\n )}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n\nexport { Combobox, type ComboboxProps, type SelectOption };\n"],"names":["comboboxVariants","cva","Combobox","value","options","placeHolder","emptyText","onChange","clearable","className","dropdownClassName","children","size","state","searchable","tagRender","props","open","setOpen","React","handleOpenChange","newOpen","Popover","jsx","PopoverTrigger","jsxs","Label","cn","option","ChevronUp","ChevronDown","e","X","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","Fragment","Check"],"mappings":"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"}
1
+ {"version":3,"file":"combobox.cjs","sources":["../../../../../../../../packages/ui/src/components/combobox.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Check, ChevronDown, ChevronUp, X } from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"./command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover\";\nimport { cn } from \"../lib/utils\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { Label } from \"./label\";\n\nconst comboboxVariants = cva(\n \"ds:justify-between ds:relative ds:dark:bg-background ds:dark:hover:bg-input/50 ds:border-input ds:w-full ds:min-w-0 ds:rounded-md ds:border ds:border-border ds:bg-transparent ds:shadow-xs ds:transition-[color,box-shadow] ds:outline-none ds:file:inline-flex ds:file:h-7 ds:file:border-0 ds:file:bg-transparent ds:file:text-sm ds:file:font-medium ds:disabled:pointer-events-none ds:disabled:cursor-not-allowed ds:disabled:opacity-50 ds:focus-visible:border-ring ds:focus-visible:ring-ring/50 ds:focus-visible:ring-[3px] ds:aria-invalid:ring-destructive/20 ds:dark:aria-invalid:ring-destructive/40 ds:aria-invalid:border-destructive\",\n {\n variants: {\n size: {\n xs: \"ds:h-6 ds:text-xs ds:px-2 ds:py-0.5\",\n sm: \"ds:h-8 ds:text-sm ds:px-2.5 ds:py-1\",\n normal: \"ds:h-9 ds:px-3 ds:py-1\",\n lg: \"ds:h-11 ds:px-4 ds:py-2\",\n xl: \"ds:h-14 ds:px-5 ds:py-3\",\n },\n state: {\n default: \"\",\n success:\n \"ds:border-success ds:ring-success/30 ds:focus-visible:border-success ds:focus-visible:ring-success/50\",\n error:\n \"ds:border-destructive ds:ring-destructive/30 ds:focus-visible:border-destructive ds:focus-visible:ring-destructive/50\",\n warning:\n \"ds:border-warning ds:ring-warning/30 ds:focus-visible:border-warning ds:focus-visible:ring-warning/50\",\n },\n },\n defaultVariants: {\n size: \"normal\",\n state: \"default\",\n },\n }\n);\n\ntype SelectOption = {\n label: React.ReactNode;\n value: string;\n group?: string;\n icon?: React.ReactNode;\n disabled?: boolean;\n};\n\ntype ComboboxProps = Omit<\n React.ComponentProps<typeof PopoverPrimitive.Trigger>,\n \"onChange\"\n> & {\n value?: string;\n options?: SelectOption[];\n placeHolder?: string;\n onChange?: (value?: string | null) => void;\n clearable?: boolean;\n emptyText?: string;\n className?: string;\n dropdownClassName?: string;\n children?: React.ReactNode;\n size?: \"normal\" | \"sm\" | \"xs\" | \"lg\" | \"xl\";\n state?: \"default\" | \"success\" | \"error\" | \"warning\";\n searchable?: boolean;\n tagRender?: (\n option: SelectOption & { onClick?: () => void }\n ) => React.ReactNode;\n} & VariantProps<typeof comboboxVariants>;\n\nfunction Combobox({\n value,\n options,\n placeHolder,\n emptyText,\n onChange,\n clearable,\n className,\n dropdownClassName,\n children,\n size,\n state = \"default\",\n searchable = true,\n tagRender,\n ...props\n}: ComboboxProps) {\n const [open, setOpen] = React.useState(false);\n\n const handleOpenChange = React.useCallback((newOpen: boolean) => {\n setOpen(newOpen);\n }, []);\n\n return (\n <Popover open={open} onOpenChange={handleOpenChange} modal={true}>\n <PopoverTrigger asChild {...props}>\n {children ?? (\n <Label className={cn(comboboxVariants({ size, state }), className)}>\n <span\n className={cn(\n \"ds:truncate ds:w-full ds:inline-block ds:align-middle ds:text-left\",\n {\n \"ds:pr-8\": clearable,\n }\n )}\n >\n {value\n ? options?.find((option) => option.value === value)?.label\n : placeHolder}\n </span>\n {open && (\n <ChevronUp\n className={cn(\n \"ds:z-10 ds:opacity-50\",\n {\n \"ds:size-4 ds:min-w-4\": size === \"sm\" || size === \"xs\",\n \"ds:size-5 ds:min-w-5\": size === \"lg\" || size === \"xl\",\n },\n dropdownClassName\n )}\n />\n )}\n {!open && (\n <ChevronDown\n className={cn(\n \"ds:z-10 ds:opacity-50\",\n {\n \"ds:size-4 ds:min-w-4\": size === \"sm\" || size === \"xs\",\n \"ds:size-5 ds:min-w-5\": size === \"lg\" || size === \"xl\",\n },\n dropdownClassName\n )}\n />\n )}\n </Label>\n )}\n </PopoverTrigger>\n\n {clearable && value && (\n <Label\n onClick={(e) => {\n e.stopPropagation();\n onChange?.(\"\");\n }}\n className=\"ds:absolute ds:right-11 ds:top-1/2 ds:-translate-y-1/2 ds:rounded-sm ds:p-1 ds:text-muted-foreground ds:hover:bg-accent ds:hover:text-accent-foreground ds:cursor-pointer ds:size-6 ds:opacity-50\"\n >\n <X className=\"ds:h-4 ds:w-4\" />\n </Label>\n )}\n <PopoverContent\n className={cn(\"ds:p-0 ds:w-(--radix-popover-trigger-width)\")}\n onInteractOutside={(e) => {\n // Prevent closing when clicking the trigger\n const target = e.target as HTMLElement;\n if (target.closest('[data-slot=\"popover-trigger\"]')) {\n e.preventDefault();\n }\n }}\n >\n <Command>\n {searchable && (\n <CommandInput placeholder={placeHolder} className=\"ds:h-9\" />\n )}\n <CommandList>\n <CommandEmpty>{emptyText || \"Not found\"}</CommandEmpty>\n <CommandGroup>\n {options?.map((option) => (\n <CommandItem\n key={option.value}\n value={String(option.label)} // Để Command search theo label\n onSelect={\n option?.disabled\n ? undefined\n : () => {\n onChange?.(option.value); // Lưu value thực sự\n setOpen(false);\n }\n }\n className={cn(\n option?.disabled &&\n \"ds:opacity-50 ds:cursor-not-allowed ds:grayscale\",\n value === option.value && \"ds:bg-primary/10 ds:dark:bg-primary/20\"\n )}\n >\n {tagRender ? (\n tagRender(option)\n ) : (\n <>\n {option.icon && (\n <span className=\"ds:mr-2 ds:max-w-4 ds:max-h-4\">\n {option.icon}\n </span>\n )}\n {option.label}\n </>\n )}\n <Check\n className={cn(\n \"ds:ml-auto\",\n value === option.value ? \"ds:opacity-100\" : \"ds:opacity-0\" // So sánh theo value\n )}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n\nexport { Combobox, type ComboboxProps, type SelectOption };\n"],"names":["comboboxVariants","cva","Combobox","value","options","placeHolder","emptyText","onChange","clearable","className","dropdownClassName","children","size","state","searchable","tagRender","props","open","setOpen","React","handleOpenChange","newOpen","Popover","jsx","PopoverTrigger","jsxs","Label","cn","option","ChevronUp","ChevronDown","e","X","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","Fragment","Check"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("@radix-ui/react-context-menu"),r=require("lucide-react"),o=require("../lib/utils.cjs");function u(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const d in t)if(d!=="default"){const a=Object.getOwnPropertyDescriptor(t,d);Object.defineProperty(s,d,a.get?a:{enumerable:!0,get:()=>t[d]})}}return s.default=t,Object.freeze(s)}const n=u(i);function c({...t}){return e.jsx(n.Root,{"data-slot":"context-menu",...t})}function l({...t}){return e.jsx(n.Trigger,{"data-slot":"context-menu-trigger",...t})}function x({...t}){return e.jsx(n.Group,{"data-slot":"context-menu-group",...t})}function m({...t}){return e.jsx(n.Portal,{"data-slot":"context-menu-portal",...t})}function f({...t}){return e.jsx(n.Sub,{"data-slot":"context-menu-sub",...t})}function g({...t}){return e.jsx(n.RadioGroup,{"data-slot":"context-menu-radio-group",...t})}function p({className:t,inset:s,children:d,...a}){return e.jsxs(n.SubTrigger,{"data-slot":"context-menu-sub-trigger","data-inset":s,className:o.cn("ds:focus:bg-accent ds:focus:text-accent-foreground ds:data-[state=open]:bg-accent ds:data-[state=open]:text-accent-foreground ds:[&_svg:not([class*='text-'])]:text-muted-foreground ds:flex ds:cursor-default ds:items-center ds:rounded-sm ds:px-2 ds:py-1.5 ds:text-sm ds:outline-hidden ds:select-none ds:data-[inset]:pl-8 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4 ds:gap-2",t),...a,children:[d,e.jsx(r.ChevronRightIcon,{className:"ds:ml-auto"})]})}function v({className:t,...s}){return e.jsx(n.SubContent,{"data-slot":"context-menu-sub-content",className:o.cn("ds:bg-popover ds:text-popover-foreground ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0 ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95 ds:data-[side=bottom]:slide-in-from-top-2 ds:data-[side=left]:slide-in-from-right-2 ds:data-[side=right]:slide-in-from-left-2 ds:data-[side=top]:slide-in-from-bottom-2 ds:z-50 ds:min-w-[8rem] ds:origin-(--radix-context-menu-content-transform-origin) ds:overflow-hidden ds:rounded-md ds:border ds:p-1 ds:shadow-lg",t),...s})}function b({className:t,...s}){return e.jsx(n.Portal,{children:e.jsx(n.Content,{"data-slot":"context-menu-content",updatePositionStrategy:"always",className:o.cn("ds:bg-popover ds:text-popover-foreground ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0 ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95 ds:data-[side=bottom]:slide-in-from-top-2 ds:data-[side=left]:slide-in-from-right-2 ds:data-[side=right]:slide-in-from-left-2 ds:data-[side=top]:slide-in-from-bottom-2 ds:z-50 ds:max-h-(--radix-context-menu-content-available-height) ds:min-w-[8rem] ds:origin-(--radix-context-menu-content-transform-origin) ds:overflow-x-hidden ds:overflow-y-auto ds:rounded-md ds:border ds:p-1 ds:shadow-md",t),...s})})}function C({className:t,inset:s,variant:d="default",...a}){return e.jsx(n.Item,{"data-slot":"context-menu-item","data-inset":s,"data-variant":d,className:o.cn("ds:focus:bg-accent ds:focus:text-accent-foreground ds:data-[variant=destructive]:text-destructive ds:data-[variant=destructive]:focus:bg-destructive/10 ds:dark:data-[variant=destructive]:focus:bg-destructive/20 ds:data-[variant=destructive]:focus:text-destructive ds:data-[variant=destructive]:*:[svg]:!text-destructive ds:[&_svg:not([class*='text-'])]:text-muted-foreground ds:relative ds:flex ds:cursor-default ds:items-center ds:gap-2 ds:rounded-sm ds:px-2 ds:py-1.5 ds:text-sm ds:outline-hidden ds:select-none ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50 ds:data-[inset]:pl-8 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4",t),...a})}function h({className:t,children:s,checked:d,...a}){return e.jsxs(n.CheckboxItem,{"data-slot":"context-menu-checkbox-item",className:o.cn("ds:focus:bg-accent ds:focus:text-accent-foreground ds:relative ds:flex ds:cursor-default ds:items-center ds:gap-2 ds:rounded-sm ds:py-1.5 ds:pr-2 ds:pl-8 ds:text-sm ds:outline-hidden ds:select-none ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4",t),checked:d,...a,children:[e.jsx("span",{className:"ds:pointer-events-none ds:absolute ds:left-2 ds:flex ds:size-3.5 ds:items-center ds:justify-center",children:e.jsx(n.ItemIndicator,{children:e.jsx(r.CheckIcon,{className:"ds:size-4"})})}),s]})}function M({className:t,children:s,...d}){return e.jsxs(n.RadioItem,{"data-slot":"context-menu-radio-item",className:o.cn("ds:focus:bg-accent ds:focus:text-accent-foreground ds:relative ds:flex ds:cursor-default ds:items-center ds:gap-2 ds:rounded-sm ds:py-1.5 ds:pr-2 ds:pl-8 ds:text-sm ds:outline-hidden ds:select-none ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4",t),...d,children:[e.jsx("span",{className:"ds:pointer-events-none ds:absolute ds:left-2 ds:flex ds:size-3.5 ds:items-center ds:justify-center",children:e.jsx(n.ItemIndicator,{children:e.jsx(r.CircleIcon,{className:"ds:size-2 ds:fill-current"})})}),s]})}function j({className:t,inset:s,...d}){return e.jsx(n.Label,{"data-slot":"context-menu-label","data-inset":s,className:o.cn("ds:text-foreground ds:px-2 ds:py-1.5 ds:text-sm ds:font-medium ds:data-[inset]:pl-8",t),...d})}function y({className:t,...s}){return e.jsx(n.Separator,{"data-slot":"context-menu-separator",className:o.cn("ds:bg-border ds:-mx-1 ds:my-1 ds:h-px",t),...s})}function z({className:t,...s}){return e.jsx("span",{"data-slot":"context-menu-shortcut",className:o.cn("ds:text-muted-foreground ds:ml-auto ds:text-xs ds:tracking-widest",t),...s})}exports.ContextMenu=c;exports.ContextMenuCheckboxItem=h;exports.ContextMenuContent=b;exports.ContextMenuGroup=x;exports.ContextMenuItem=C;exports.ContextMenuLabel=j;exports.ContextMenuPortal=m;exports.ContextMenuRadioGroup=g;exports.ContextMenuRadioItem=M;exports.ContextMenuSeparator=y;exports.ContextMenuShortcut=z;exports.ContextMenuSub=f;exports.ContextMenuSubContent=v;exports.ContextMenuSubTrigger=p;exports.ContextMenuTrigger=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("@radix-ui/react-context-menu"),r=require("lucide-react"),o=require("../lib/utils.cjs");function u(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const d in t)if(d!=="default"){const a=Object.getOwnPropertyDescriptor(t,d);Object.defineProperty(s,d,a.get?a:{enumerable:!0,get:()=>t[d]})}}return s.default=t,Object.freeze(s)}const n=u(i);function c({...t}){return e.jsx(n.Root,{"data-slot":"context-menu",...t})}function l({...t}){return e.jsx(n.Trigger,{"data-slot":"context-menu-trigger",...t})}function x({...t}){return e.jsx(n.Group,{"data-slot":"context-menu-group",...t})}function m({...t}){return e.jsx(n.Portal,{"data-slot":"context-menu-portal",...t})}function f({...t}){return e.jsx(n.Sub,{"data-slot":"context-menu-sub",...t})}function g({...t}){return e.jsx(n.RadioGroup,{"data-slot":"context-menu-radio-group",...t})}function p({className:t,inset:s,children:d,...a}){return e.jsxs(n.SubTrigger,{"data-slot":"context-menu-sub-trigger","data-inset":s,className:o.cn("ds:focus:bg-accent ds:focus:text-accent-foreground ds:data-[state=open]:bg-accent ds:data-[state=open]:text-accent-foreground ds:[&_svg:not([class*='text-'])]:text-muted-foreground ds:flex ds:cursor-default ds:items-center ds:rounded-sm ds:px-2 ds:py-1.5 ds:text-sm ds:outline-hidden ds:select-none ds:data-[inset]:pl-8 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4 ds:gap-2",t),...a,children:[d,e.jsx(r.ChevronRightIcon,{className:"ds:ml-auto"})]})}function b({className:t,...s}){return e.jsx(n.SubContent,{"data-slot":"context-menu-sub-content",className:o.cn("ds:bg-popover ds:text-popover-foreground ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0 ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95 ds:data-[side=bottom]:slide-in-from-top-2 ds:data-[side=left]:slide-in-from-right-2 ds:data-[side=right]:slide-in-from-left-2 ds:data-[side=top]:slide-in-from-bottom-2 ds:z-50 ds:min-w-[8rem] ds:origin-(--radix-context-menu-content-transform-origin) ds:overflow-hidden ds:rounded-md ds:border ds:border-border ds:p-1 ds:shadow-lg",t),...s})}function v({className:t,...s}){return e.jsx(n.Portal,{children:e.jsx(n.Content,{"data-slot":"context-menu-content",updatePositionStrategy:"always",className:o.cn("ds:bg-popover ds:text-popover-foreground ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0 ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95 ds:data-[side=bottom]:slide-in-from-top-2 ds:data-[side=left]:slide-in-from-right-2 ds:data-[side=right]:slide-in-from-left-2 ds:data-[side=top]:slide-in-from-bottom-2 ds:z-50 ds:max-h-(--radix-context-menu-content-available-height) ds:min-w-[8rem] ds:origin-(--radix-context-menu-content-transform-origin) ds:overflow-x-hidden ds:overflow-y-auto ds:rounded-md ds:border ds:p-1 ds:shadow-md",t),...s})})}function C({className:t,inset:s,variant:d="default",...a}){return e.jsx(n.Item,{"data-slot":"context-menu-item","data-inset":s,"data-variant":d,className:o.cn("ds:focus:bg-accent ds:focus:text-accent-foreground ds:data-[variant=destructive]:text-destructive ds:data-[variant=destructive]:focus:bg-destructive/10 ds:dark:data-[variant=destructive]:focus:bg-destructive/20 ds:data-[variant=destructive]:focus:text-destructive ds:data-[variant=destructive]:*:[svg]:!text-destructive ds:[&_svg:not([class*='text-'])]:text-muted-foreground ds:relative ds:flex ds:cursor-default ds:items-center ds:gap-2 ds:rounded-sm ds:px-2 ds:py-1.5 ds:text-sm ds:outline-hidden ds:select-none ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50 ds:data-[inset]:pl-8 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4",t),...a})}function h({className:t,children:s,checked:d,...a}){return e.jsxs(n.CheckboxItem,{"data-slot":"context-menu-checkbox-item",className:o.cn("ds:focus:bg-accent ds:focus:text-accent-foreground ds:relative ds:flex ds:cursor-default ds:items-center ds:gap-2 ds:rounded-sm ds:py-1.5 ds:pr-2 ds:pl-8 ds:text-sm ds:outline-hidden ds:select-none ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4",t),checked:d,...a,children:[e.jsx("span",{className:"ds:pointer-events-none ds:absolute ds:left-2 ds:flex ds:size-3.5 ds:items-center ds:justify-center",children:e.jsx(n.ItemIndicator,{children:e.jsx(r.CheckIcon,{className:"ds:size-4"})})}),s]})}function M({className:t,children:s,...d}){return e.jsxs(n.RadioItem,{"data-slot":"context-menu-radio-item",className:o.cn("ds:focus:bg-accent ds:focus:text-accent-foreground ds:relative ds:flex ds:cursor-default ds:items-center ds:gap-2 ds:rounded-sm ds:py-1.5 ds:pr-2 ds:pl-8 ds:text-sm ds:outline-hidden ds:select-none ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4",t),...d,children:[e.jsx("span",{className:"ds:pointer-events-none ds:absolute ds:left-2 ds:flex ds:size-3.5 ds:items-center ds:justify-center",children:e.jsx(n.ItemIndicator,{children:e.jsx(r.CircleIcon,{className:"ds:size-2 ds:fill-current"})})}),s]})}function j({className:t,inset:s,...d}){return e.jsx(n.Label,{"data-slot":"context-menu-label","data-inset":s,className:o.cn("ds:text-foreground ds:px-2 ds:py-1.5 ds:text-sm ds:font-medium ds:data-[inset]:pl-8",t),...d})}function y({className:t,...s}){return e.jsx(n.Separator,{"data-slot":"context-menu-separator",className:o.cn("ds:bg-border ds:-mx-1 ds:my-1 ds:h-px",t),...s})}function z({className:t,...s}){return e.jsx("span",{"data-slot":"context-menu-shortcut",className:o.cn("ds:text-muted-foreground ds:ml-auto ds:text-xs ds:tracking-widest",t),...s})}exports.ContextMenu=c;exports.ContextMenuCheckboxItem=h;exports.ContextMenuContent=v;exports.ContextMenuGroup=x;exports.ContextMenuItem=C;exports.ContextMenuLabel=j;exports.ContextMenuPortal=m;exports.ContextMenuRadioGroup=g;exports.ContextMenuRadioItem=M;exports.ContextMenuSeparator=y;exports.ContextMenuShortcut=z;exports.ContextMenuSub=f;exports.ContextMenuSubContent=b;exports.ContextMenuSubTrigger=p;exports.ContextMenuTrigger=l;
2
2
  //# sourceMappingURL=context-menu.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-menu.cjs","sources":["../../../../../../../../packages/ui/src/components/context-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\n\nfunction ContextMenu({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {\n return <ContextMenuPrimitive.Root data-slot=\"context-menu\" {...props} />;\n}\n\nfunction ContextMenuTrigger({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {\n return (\n <ContextMenuPrimitive.Trigger data-slot=\"context-menu-trigger\" {...props} />\n );\n}\n\nfunction ContextMenuGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {\n return (\n <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />\n );\n}\n\nfunction ContextMenuPortal({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {\n return (\n <ContextMenuPrimitive.Portal data-slot=\"context-menu-portal\" {...props} />\n );\n}\n\nfunction ContextMenuSub({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {\n return <ContextMenuPrimitive.Sub data-slot=\"context-menu-sub\" {...props} />;\n}\n\nfunction ContextMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {\n return (\n <ContextMenuPrimitive.RadioGroup\n data-slot=\"context-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.SubTrigger\n data-slot=\"context-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"ds:focus:bg-accent ds:focus:text-accent-foreground ds:data-[state=open]:bg-accent ds:data-[state=open]:text-accent-foreground ds:[&_svg:not([class*='text-'])]:text-muted-foreground ds:flex ds:cursor-default ds:items-center ds:rounded-sm ds:px-2 ds:py-1.5 ds:text-sm ds:outline-hidden ds:select-none ds:data-[inset]:pl-8 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4 ds:gap-2\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ds:ml-auto\" />\n </ContextMenuPrimitive.SubTrigger>\n );\n}\n\nfunction ContextMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>) {\n return (\n <ContextMenuPrimitive.SubContent\n data-slot=\"context-menu-sub-content\"\n className={cn(\n \"ds:bg-popover ds:text-popover-foreground ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0 ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95 ds:data-[side=bottom]:slide-in-from-top-2 ds:data-[side=left]:slide-in-from-right-2 ds:data-[side=right]:slide-in-from-left-2 ds:data-[side=top]:slide-in-from-bottom-2 ds:z-50 ds:min-w-[8rem] ds:origin-(--radix-context-menu-content-transform-origin) ds:overflow-hidden ds:rounded-md ds:border ds:p-1 ds:shadow-lg\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Content>) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n data-slot=\"context-menu-content\"\n updatePositionStrategy=\"always\"\n className={cn(\n \"ds:bg-popover ds:text-popover-foreground ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0 ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95 ds:data-[side=bottom]:slide-in-from-top-2 ds:data-[side=left]:slide-in-from-right-2 ds:data-[side=right]:slide-in-from-left-2 ds:data-[side=top]:slide-in-from-bottom-2 ds:z-50 ds:max-h-(--radix-context-menu-content-available-height) ds:min-w-[8rem] ds:origin-(--radix-context-menu-content-transform-origin) ds:overflow-x-hidden ds:overflow-y-auto ds:rounded-md ds:border ds:p-1 ds:shadow-md\",\n className\n )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n );\n}\n\nfunction ContextMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <ContextMenuPrimitive.Item\n data-slot=\"context-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"ds:focus:bg-accent ds:focus:text-accent-foreground ds:data-[variant=destructive]:text-destructive ds:data-[variant=destructive]:focus:bg-destructive/10 ds:dark:data-[variant=destructive]:focus:bg-destructive/20 ds:data-[variant=destructive]:focus:text-destructive ds:data-[variant=destructive]:*:[svg]:!text-destructive ds:[&_svg:not([class*='text-'])]:text-muted-foreground ds:relative ds:flex ds:cursor-default ds:items-center ds:gap-2 ds:rounded-sm ds:px-2 ds:py-1.5 ds:text-sm ds:outline-hidden ds:select-none ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50 ds:data-[inset]:pl-8 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot=\"context-menu-checkbox-item\"\n className={cn(\n \"ds:focus:bg-accent ds:focus:text-accent-foreground ds:relative ds:flex ds:cursor-default ds:items-center ds:gap-2 ds:rounded-sm ds:py-1.5 ds:pr-2 ds:pl-8 ds:text-sm ds:outline-hidden ds:select-none ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"ds:pointer-events-none ds:absolute ds:left-2 ds:flex ds:size-3.5 ds:items-center ds:justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"ds:size-4\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem>) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot=\"context-menu-radio-item\"\n className={cn(\n \"ds:focus:bg-accent ds:focus:text-accent-foreground ds:relative ds:flex ds:cursor-default ds:items-center ds:gap-2 ds:rounded-sm ds:py-1.5 ds:pr-2 ds:pl-8 ds:text-sm ds:outline-hidden ds:select-none ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"ds:pointer-events-none ds:absolute ds:left-2 ds:flex ds:size-3.5 ds:items-center ds:justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"ds:size-2 ds:fill-current\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n );\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.Label\n data-slot=\"context-menu-label\"\n data-inset={inset}\n className={cn(\n \"ds:text-foreground ds:px-2 ds:py-1.5 ds:text-sm ds:font-medium ds:data-[inset]:pl-8\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {\n return (\n <ContextMenuPrimitive.Separator\n data-slot=\"context-menu-separator\"\n className={cn(\"ds:bg-border ds:-mx-1 ds:my-1 ds:h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"context-menu-shortcut\"\n className={cn(\n \"ds:text-muted-foreground ds:ml-auto ds:text-xs ds:tracking-widest\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n};\n"],"names":["ContextMenu","props","ContextMenuPrimitive","ContextMenuTrigger","ContextMenuGroup","ContextMenuPortal","ContextMenuSub","ContextMenuRadioGroup","jsx","ContextMenuSubTrigger","className","inset","children","jsxs","cn","ChevronRightIcon","ContextMenuSubContent","ContextMenuContent","ContextMenuItem","variant","ContextMenuCheckboxItem","checked","CheckIcon","ContextMenuRadioItem","CircleIcon","ContextMenuLabel","ContextMenuSeparator","ContextMenuShortcut"],"mappings":"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"}
1
+ {"version":3,"file":"context-menu.cjs","sources":["../../../../../../../../packages/ui/src/components/context-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\n\nfunction ContextMenu({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {\n return <ContextMenuPrimitive.Root data-slot=\"context-menu\" {...props} />;\n}\n\nfunction ContextMenuTrigger({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {\n return (\n <ContextMenuPrimitive.Trigger data-slot=\"context-menu-trigger\" {...props} />\n );\n}\n\nfunction ContextMenuGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {\n return (\n <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />\n );\n}\n\nfunction ContextMenuPortal({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {\n return (\n <ContextMenuPrimitive.Portal data-slot=\"context-menu-portal\" {...props} />\n );\n}\n\nfunction ContextMenuSub({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {\n return <ContextMenuPrimitive.Sub data-slot=\"context-menu-sub\" {...props} />;\n}\n\nfunction ContextMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {\n return (\n <ContextMenuPrimitive.RadioGroup\n data-slot=\"context-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.SubTrigger\n data-slot=\"context-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"ds:focus:bg-accent ds:focus:text-accent-foreground ds:data-[state=open]:bg-accent ds:data-[state=open]:text-accent-foreground ds:[&_svg:not([class*='text-'])]:text-muted-foreground ds:flex ds:cursor-default ds:items-center ds:rounded-sm ds:px-2 ds:py-1.5 ds:text-sm ds:outline-hidden ds:select-none ds:data-[inset]:pl-8 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4 ds:gap-2\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ds:ml-auto\" />\n </ContextMenuPrimitive.SubTrigger>\n );\n}\n\nfunction ContextMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>) {\n return (\n <ContextMenuPrimitive.SubContent\n data-slot=\"context-menu-sub-content\"\n className={cn(\n \"ds:bg-popover ds:text-popover-foreground ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0 ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95 ds:data-[side=bottom]:slide-in-from-top-2 ds:data-[side=left]:slide-in-from-right-2 ds:data-[side=right]:slide-in-from-left-2 ds:data-[side=top]:slide-in-from-bottom-2 ds:z-50 ds:min-w-[8rem] ds:origin-(--radix-context-menu-content-transform-origin) ds:overflow-hidden ds:rounded-md ds:border ds:border-border ds:p-1 ds:shadow-lg\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Content>) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n data-slot=\"context-menu-content\"\n updatePositionStrategy=\"always\"\n className={cn(\n \"ds:bg-popover ds:text-popover-foreground ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0 ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95 ds:data-[side=bottom]:slide-in-from-top-2 ds:data-[side=left]:slide-in-from-right-2 ds:data-[side=right]:slide-in-from-left-2 ds:data-[side=top]:slide-in-from-bottom-2 ds:z-50 ds:max-h-(--radix-context-menu-content-available-height) ds:min-w-[8rem] ds:origin-(--radix-context-menu-content-transform-origin) ds:overflow-x-hidden ds:overflow-y-auto ds:rounded-md ds:border ds:p-1 ds:shadow-md\",\n className\n )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n );\n}\n\nfunction ContextMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <ContextMenuPrimitive.Item\n data-slot=\"context-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"ds:focus:bg-accent ds:focus:text-accent-foreground ds:data-[variant=destructive]:text-destructive ds:data-[variant=destructive]:focus:bg-destructive/10 ds:dark:data-[variant=destructive]:focus:bg-destructive/20 ds:data-[variant=destructive]:focus:text-destructive ds:data-[variant=destructive]:*:[svg]:!text-destructive ds:[&_svg:not([class*='text-'])]:text-muted-foreground ds:relative ds:flex ds:cursor-default ds:items-center ds:gap-2 ds:rounded-sm ds:px-2 ds:py-1.5 ds:text-sm ds:outline-hidden ds:select-none ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50 ds:data-[inset]:pl-8 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot=\"context-menu-checkbox-item\"\n className={cn(\n \"ds:focus:bg-accent ds:focus:text-accent-foreground ds:relative ds:flex ds:cursor-default ds:items-center ds:gap-2 ds:rounded-sm ds:py-1.5 ds:pr-2 ds:pl-8 ds:text-sm ds:outline-hidden ds:select-none ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"ds:pointer-events-none ds:absolute ds:left-2 ds:flex ds:size-3.5 ds:items-center ds:justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"ds:size-4\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem>) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot=\"context-menu-radio-item\"\n className={cn(\n \"ds:focus:bg-accent ds:focus:text-accent-foreground ds:relative ds:flex ds:cursor-default ds:items-center ds:gap-2 ds:rounded-sm ds:py-1.5 ds:pr-2 ds:pl-8 ds:text-sm ds:outline-hidden ds:select-none ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0 ds:[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"ds:pointer-events-none ds:absolute ds:left-2 ds:flex ds:size-3.5 ds:items-center ds:justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"ds:size-2 ds:fill-current\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n );\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.Label\n data-slot=\"context-menu-label\"\n data-inset={inset}\n className={cn(\n \"ds:text-foreground ds:px-2 ds:py-1.5 ds:text-sm ds:font-medium ds:data-[inset]:pl-8\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {\n return (\n <ContextMenuPrimitive.Separator\n data-slot=\"context-menu-separator\"\n className={cn(\"ds:bg-border ds:-mx-1 ds:my-1 ds:h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"context-menu-shortcut\"\n className={cn(\n \"ds:text-muted-foreground ds:ml-auto ds:text-xs ds:tracking-widest\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n};\n"],"names":["ContextMenu","props","ContextMenuPrimitive","ContextMenuTrigger","ContextMenuGroup","ContextMenuPortal","ContextMenuSub","ContextMenuRadioGroup","jsx","ContextMenuSubTrigger","className","inset","children","jsxs","cn","ChevronRightIcon","ContextMenuSubContent","ContextMenuContent","ContextMenuItem","variant","ContextMenuCheckboxItem","checked","CheckIcon","ContextMenuRadioItem","CircleIcon","ContextMenuLabel","ContextMenuSeparator","ContextMenuShortcut"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),c=require("react"),p=require("@radix-ui/react-popover"),l=require("../lib/utils.cjs");function a(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,s.get?s:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const u=a(c),n=a(p);function f({modal:e,...o}){return r.jsx(n.Root,{"data-slot":"popover",modal:e,...o})}function m({...e}){return r.jsx(n.Trigger,{"data-slot":"popover-trigger",...e})}function v({className:e,align:o="center",sideOffset:t=4,modal:s=!1,...i}){return r.jsx(n.Portal,{children:r.jsx(n.Content,{"data-slot":"popover-content",align:o,sideOffset:t,className:l.cn("ds:bg-popover ds:text-popover-foreground ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0 ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95 ds:data-[side=bottom]:slide-in-from-top-2 ds:data-[side=left]:slide-in-from-right-2 ds:data-[side=right]:slide-in-from-left-2 ds:data-[side=top]:slide-in-from-bottom-2 ds:origin-(--radix-popover-content-transform-origin) ds:rounded-md ds:border ds:p-4 ds:shadow-md ds:outline-hidden",s?"ds:z-[100]":"ds:z-50",e),...i})})}const d=u.forwardRef(({...e},o)=>r.jsx(n.Anchor,{ref:o,"data-slot":"popover-anchor",...e}));d.displayName="PopoverAnchor";exports.Popover=f;exports.PopoverAnchor=d;exports.PopoverContent=v;exports.PopoverTrigger=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),c=require("react"),p=require("@radix-ui/react-popover"),l=require("../lib/utils.cjs");function d(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,s.get?s:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const u=d(c),n=d(p);function f({modal:e,...o}){return r.jsx(n.Root,{"data-slot":"popover",modal:e,...o})}function m({...e}){return r.jsx(n.Trigger,{"data-slot":"popover-trigger",...e})}function v({className:e,align:o="center",sideOffset:t=4,modal:s=!1,...i}){return r.jsx(n.Portal,{children:r.jsx(n.Content,{"data-slot":"popover-content",align:o,sideOffset:t,className:l.cn("ds:bg-popover ds:text-popover-foreground ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0 ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95 ds:data-[side=bottom]:slide-in-from-top-2 ds:data-[side=left]:slide-in-from-right-2 ds:data-[side=right]:slide-in-from-left-2 ds:data-[side=top]:slide-in-from-bottom-2 ds:origin-(--radix-popover-content-transform-origin) ds:rounded-md ds:border ds:border-border ds:p-4 ds:shadow-md ds:outline-hidden",s?"ds:z-[100]":"ds:z-50",e),...i})})}const a=u.forwardRef(({...e},o)=>r.jsx(n.Anchor,{ref:o,"data-slot":"popover-anchor",...e}));a.displayName="PopoverAnchor";exports.Popover=f;exports.PopoverAnchor=a;exports.PopoverContent=v;exports.PopoverTrigger=m;
2
2
  //# sourceMappingURL=popover.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover.cjs","sources":["../../../../../../../../packages/ui/src/components/popover.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\n\ntype PopoverProps = React.ComponentProps<typeof PopoverPrimitive.Root>;\nfunction Popover({ modal, ...props }: PopoverProps) {\n return <PopoverPrimitive.Root data-slot=\"popover\" modal={modal} {...props} />;\n}\n\ntype PopoverTriggerProps = React.ComponentProps<\n typeof PopoverPrimitive.Trigger\n>;\nfunction PopoverTrigger({ ...props }: PopoverTriggerProps) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\ntype PopoverContentProps = React.ComponentProps<\n typeof PopoverPrimitive.Content\n> & {\n /** Increase z-index for use in modals/dialogs */\n modal?: boolean;\n};\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n modal = false,\n ...props\n}: PopoverContentProps) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"ds:bg-popover ds:text-popover-foreground ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0 ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95 ds:data-[side=bottom]:slide-in-from-top-2 ds:data-[side=left]:slide-in-from-right-2 ds:data-[side=right]:slide-in-from-left-2 ds:data-[side=top]:slide-in-from-bottom-2 ds:origin-(--radix-popover-content-transform-origin) ds:rounded-md ds:border ds:p-4 ds:shadow-md ds:outline-hidden\",\n modal ? \"ds:z-[100]\" : \"ds:z-50\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\ntype PopoverAnchorProps = React.ComponentProps<typeof PopoverPrimitive.Anchor>;\nconst PopoverAnchor = React.forwardRef<HTMLDivElement, PopoverAnchorProps>(\n ({ ...props }, ref) => {\n return (\n <PopoverPrimitive.Anchor\n ref={ref}\n data-slot=\"popover-anchor\"\n {...props}\n />\n );\n }\n);\n\nPopoverAnchor.displayName = \"PopoverAnchor\";\n\nexport {\n Popover,\n PopoverTrigger,\n PopoverContent,\n PopoverAnchor,\n type PopoverProps,\n type PopoverTriggerProps,\n type PopoverAnchorProps,\n type PopoverContentProps,\n};\n"],"names":["Popover","modal","props","jsx","PopoverPrimitive","PopoverTrigger","PopoverContent","className","align","sideOffset","cn","PopoverAnchor","React","ref"],"mappings":"4eAQA,SAASA,EAAQ,CAAE,MAAAC,EAAO,GAAGC,GAAuB,CAClD,OAAOC,EAAAA,IAACC,EAAiB,KAAjB,CAAsB,YAAU,UAAU,MAAAH,EAAe,GAAGC,EAAO,CAC7E,CAKA,SAASG,EAAe,CAAE,GAAGH,GAA8B,CACzD,aAAQE,EAAiB,QAAjB,CAAyB,YAAU,kBAAmB,GAAGF,EAAO,CAC1E,CAQA,SAASI,EAAe,CACtB,UAAAC,EACA,MAAAC,EAAQ,SACR,WAAAC,EAAa,EACb,MAAAR,EAAQ,GACR,GAAGC,CACL,EAAwB,CACtB,OACEC,EAAAA,IAACC,EAAiB,OAAjB,CACC,SAAAD,EAAAA,IAACC,EAAiB,QAAjB,CACC,YAAU,kBACV,MAAAI,EACA,WAAAC,EACA,UAAWC,EAAAA,GACT,6gBACAT,EAAQ,aAAe,UACvBM,CAAA,EAED,GAAGL,CAAA,CAAA,EAER,CAEJ,CAGA,MAAMS,EAAgBC,EAAM,WAC1B,CAAC,CAAE,GAAGV,CAAA,EAASW,IAEXV,EAAAA,IAACC,EAAiB,OAAjB,CACC,IAAAS,EACA,YAAU,iBACT,GAAGX,CAAA,CAAA,CAIZ,EAEAS,EAAc,YAAc"}
1
+ {"version":3,"file":"popover.cjs","sources":["../../../../../../../../packages/ui/src/components/popover.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\n\ntype PopoverProps = React.ComponentProps<typeof PopoverPrimitive.Root>;\nfunction Popover({ modal, ...props }: PopoverProps) {\n return <PopoverPrimitive.Root data-slot=\"popover\" modal={modal} {...props} />;\n}\n\ntype PopoverTriggerProps = React.ComponentProps<\n typeof PopoverPrimitive.Trigger\n>;\nfunction PopoverTrigger({ ...props }: PopoverTriggerProps) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\ntype PopoverContentProps = React.ComponentProps<\n typeof PopoverPrimitive.Content\n> & {\n /** Increase z-index for use in modals/dialogs */\n modal?: boolean;\n};\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n modal = false,\n ...props\n}: PopoverContentProps) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"ds:bg-popover ds:text-popover-foreground ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0 ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95 ds:data-[side=bottom]:slide-in-from-top-2 ds:data-[side=left]:slide-in-from-right-2 ds:data-[side=right]:slide-in-from-left-2 ds:data-[side=top]:slide-in-from-bottom-2 ds:origin-(--radix-popover-content-transform-origin) ds:rounded-md ds:border ds:border-border ds:p-4 ds:shadow-md ds:outline-hidden\",\n modal ? \"ds:z-[100]\" : \"ds:z-50\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\ntype PopoverAnchorProps = React.ComponentProps<typeof PopoverPrimitive.Anchor>;\nconst PopoverAnchor = React.forwardRef<HTMLDivElement, PopoverAnchorProps>(\n ({ ...props }, ref) => {\n return (\n <PopoverPrimitive.Anchor\n ref={ref}\n data-slot=\"popover-anchor\"\n {...props}\n />\n );\n }\n);\n\nPopoverAnchor.displayName = \"PopoverAnchor\";\n\nexport {\n Popover,\n PopoverTrigger,\n PopoverContent,\n PopoverAnchor,\n type PopoverProps,\n type PopoverTriggerProps,\n type PopoverAnchorProps,\n type PopoverContentProps,\n};\n"],"names":["Popover","modal","props","jsx","PopoverPrimitive","PopoverTrigger","PopoverContent","className","align","sideOffset","cn","PopoverAnchor","React","ref"],"mappings":"4eAQA,SAASA,EAAQ,CAAE,MAAAC,EAAO,GAAGC,GAAuB,CAClD,OAAOC,EAAAA,IAACC,EAAiB,KAAjB,CAAsB,YAAU,UAAU,MAAAH,EAAe,GAAGC,EAAO,CAC7E,CAKA,SAASG,EAAe,CAAE,GAAGH,GAA8B,CACzD,aAAQE,EAAiB,QAAjB,CAAyB,YAAU,kBAAmB,GAAGF,EAAO,CAC1E,CAQA,SAASI,EAAe,CACtB,UAAAC,EACA,MAAAC,EAAQ,SACR,WAAAC,EAAa,EACb,MAAAR,EAAQ,GACR,GAAGC,CACL,EAAwB,CACtB,OACEC,EAAAA,IAACC,EAAiB,OAAjB,CACC,SAAAD,EAAAA,IAACC,EAAiB,QAAjB,CACC,YAAU,kBACV,MAAAI,EACA,WAAAC,EACA,UAAWC,EAAAA,GACT,8hBACAT,EAAQ,aAAe,UACvBM,CAAA,EAED,GAAGL,CAAA,CAAA,EAER,CAEJ,CAGA,MAAMS,EAAgBC,EAAM,WAC1B,CAAC,CAAE,GAAGV,CAAA,EAASW,IAEXV,EAAAA,IAACC,EAAiB,OAAjB,CACC,IAAAS,EACA,YAAU,iBACT,GAAGX,CAAA,CAAA,CAIZ,EAEAS,EAAc,YAAc"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),C=require("react"),v=require("@radix-ui/react-slot"),I=require("class-variance-authority"),z=require("lucide-react"),O=require("../hooks/use-mobile.cjs"),r=require("../lib/utils.cjs"),T=require("./button.cjs"),D=require("./input.cjs"),E=require("./separator.cjs"),h=require("./sheet.cjs"),M=require("./skeleton.cjs"),j=require("./tooltip.cjs");function q(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,s.get?s:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const l=q(C),A="sidebar_state",B=3600*24*7,R="16rem",G="18rem",H="3rem",P="b",k=l.createContext(null);function m(){const e=l.useContext(k);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function K({defaultOpen:e=!0,open:a,onOpenChange:t,className:s,style:i,children:o,...p}){const n=O.useIsMobile(),[f,u]=l.useState(!1),[x,N]=l.useState(e),g=a??x,S=l.useCallback(c=>{const b=typeof c=="function"?c(g):c;t?t(b):N(b),document.cookie=`${A}=${b}; path=/; max-age=${B}`},[t,g]),w=l.useCallback(()=>n?u(c=>!c):S(c=>!c),[n,S,u]);l.useEffect(()=>{const c=b=>{b.key===P&&(b.metaKey||b.ctrlKey)&&(b.preventDefault(),w())};return window.addEventListener("keydown",c),()=>window.removeEventListener("keydown",c)},[w]);const y=g?"expanded":"collapsed",_=l.useMemo(()=>({state:y,open:g,setOpen:S,isMobile:n,openMobile:f,setOpenMobile:u,toggleSidebar:w}),[y,g,S,n,f,u,w]);return d.jsx(k.Provider,{value:_,children:d.jsx(j.TooltipProvider,{delayDuration:0,children:d.jsx("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":R,"--sidebar-width-icon":H,...i},className:r.cn("ds:group/sidebar-wrapper ds:has-data-[variant=inset]:bg-sidebar ds:flex ds:min-h-svh ds:w-full","ds:has-data-[variant=tilt]:[perspective:1000px] ds:has-data-[variant=tilt]:bg-black/20","ds:has-data-[variant=depth]:[perspective:1000px] ds:has-data-[variant=depth]:bg-black/20",s),...p,children:o})})})}function L({side:e="left",variant:a="sidebar",collapsible:t="offcanvas",className:s,children:i,...o}){const{isMobile:p,state:n,openMobile:f,setOpenMobile:u}=m();return t==="none"?d.jsx("div",{"data-slot":"sidebar",className:r.cn("ds:bg-sidebar ds:text-sidebar-foreground ds:flex ds:h-full ds:w-(--sidebar-width) ds:flex-col",s),...o,children:i}):p?d.jsx(h.Sheet,{open:f,onOpenChange:u,...o,children:d.jsxs(h.SheetContent,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"ds:bg-sidebar ds:text-sidebar-foreground ds:w-(--sidebar-width) ds:p-0 ds:[&>button]:hidden",style:{"--sidebar-width":G},side:e,children:[d.jsxs(h.SheetHeader,{className:"ds:sr-only",children:[d.jsx(h.SheetTitle,{children:"Sidebar"}),d.jsx(h.SheetDescription,{children:"Displays the mobile sidebar."})]}),d.jsx("div",{className:"ds:flex ds:h-full ds:w-full ds:flex-col",children:i})]})}):d.jsxs("div",{className:"ds:group ds:peer ds:text-sidebar-foreground ds:hidden ds:md:block","data-state":n,"data-collapsible":n==="collapsed"?t:"","data-variant":a,"data-side":e,"data-slot":"sidebar",children:[d.jsx("div",{"data-slot":"sidebar-gap",className:r.cn("ds:relative ds:w-(--sidebar-width) ds:bg-transparent ds:transition-[width] ds:duration-200 ds:ease-linear","ds:group-data-[collapsible=offcanvas]:w-0","ds:group-data-[side=right]:rotate-180","ds:group-data-[side=right]:hidden",a==="floating"||a==="inset"?"ds:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"ds:group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),d.jsx("div",{"data-slot":"sidebar-container",className:r.cn("ds:fixed ds:inset-y-0 ds:z-10 ds:hidden ds:h-svh ds:w-(--sidebar-width) ds:transition-[left,right,width] ds:duration-200 ds:ease-linear ds:md:flex",e==="left"?"ds:left-0 ds:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"ds:right-0 ds:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",a==="floating"||a==="inset"?"ds:p-2 ds:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"ds:group-data-[collapsible=icon]:w-(--sidebar-width-icon) ds:group-data-[side=left]:border-r ds:group-data-[side=right]:border-l",s),...o,children:d.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"ds:bg-sidebar ds:group-data-[variant=floating]:border-sidebar-border ds:flex ds:h-full ds:w-full ds:flex-col ds:group-data-[variant=floating]:rounded-lg ds:group-data-[variant=floating]:border ds:group-data-[variant=floating]:shadow-sm",children:i})})]})}function V({className:e,onClick:a,...t}){const{toggleSidebar:s}=m();return d.jsxs(T.Button,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:r.cn("ds:size-7",e),onClick:i=>{a?.(i),s()},...t,children:[d.jsx(z.PanelLeftIcon,{}),d.jsx("span",{className:"ds:sr-only",children:"Toggle Sidebar"})]})}function W({className:e,...a}){const{toggleSidebar:t}=m();return d.jsx("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:t,title:"Toggle Sidebar",className:r.cn("ds:hover:after:bg-sidebar-border ds:absolute ds:inset-y-0 ds:z-20 ds:hidden ds:w-4 ds:-translate-x-1/2 ds:transition-all ds:ease-linear ds:group-data-[side=left]:-right-4 ds:group-data-[side=right]:left-0 ds:after:absolute ds:after:inset-y-0 ds:after:left-1/2 ds:after:w-[2px] ds:sm:flex","ds:in-data-[side=left]:cursor-w-resize ds:in-data-[side=right]:cursor-e-resize","ds:[[data-side=left][data-state=collapsed]_&]:cursor-e-resize ds:[[data-side=right][data-state=collapsed]_&]:cursor-w-resize","ds:hover:group-data-[collapsible=offcanvas]:bg-sidebar ds:group-data-[collapsible=offcanvas]:translate-x-0 ds:group-data-[collapsible=offcanvas]:after:left-full","ds:[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","ds:[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...a})}function F({className:e,...a}){const{setOpen:t,state:s}=m(),i=l.useRef(null),o=l.useCallback(()=>{if(i.current){const n=i.current.parentElement?.querySelector('[data-slot="sidebar"]')?.getAttribute("data-variant");(n==="tilt"||n==="depth")&&s==="expanded"&&t(!1)}},[t,s]);return d.jsx("main",{ref:i,"data-slot":"sidebar-inset",onClick:o,className:r.cn("ds:bg-background ds:relative ds:flex ds:w-full ds:flex-1 ds:flex-col","ds:md:peer-data-[variant=inset]:m-2 ds:md:peer-data-[variant=inset]:ml-0 ds:md:peer-data-[variant=inset]:rounded-xl ds:md:peer-data-[variant=inset]:shadow-sm ds:md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2","ds:md:peer-data-[variant=sidebar]:peer-data-[side=left]:peer-data-[state=collapsed]:peer-data-[collapsible=icon]:ml-(--sidebar-width-icon) ds:md:peer-data-[variant=sidebar]:peer-data-[side=right]:peer-data-[state=collapsed]:peer-data-[collapsible=icon]:mr-(--sidebar-width-icon)","ds:md:peer-data-[variant=sidebar]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:ml-0 ds:md:peer-data-[variant=sidebar]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:mr-0","ds:md:peer-data-[variant=sidebar]:peer-data-[side=right]:mr-(--sidebar-width)","ds:md:peer-data-[variant=inset]:peer-data-[side=left]:peer-data-[state=collapsed]:peer-data-[collapsible=icon]:ml-(--sidebar-width-icon) ds:md:peer-data-[variant=inset]:peer-data-[side=right]:peer-data-[state=collapsed]:peer-data-[collapsible=icon]:mr-(--sidebar-width-icon)","ds:md:peer-data-[variant=inset]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:ml-0 ds:md:peer-data-[variant=inset]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:mr-0","ds:md:peer-data-[variant=inset]:peer-data-[side=right]:mr-(--sidebar-width)","ds:md:peer-data-[variant=tilt]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:ml-0 ds:md:peer-data-[variant=tilt]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:mr-0","ds:md:peer-data-[variant=tilt]:peer-data-[side=right]:mr-(--sidebar-width)","ds:md:peer-data-[variant=tilt]:transition-transform ds:md:peer-data-[variant=tilt]:duration-200 ds:md:peer-data-[variant=tilt]:ease-linear","ds:md:peer-data-[variant=tilt]:peer-data-[side=left]:origin-right ds:md:peer-data-[variant=tilt]:peer-data-[side=left]:peer-data-[state=expanded]:[transform:rotate3d(0,1,0,-25deg)]","ds:md:peer-data-[variant=tilt]:peer-data-[side=right]:origin-left ds:md:peer-data-[variant=tilt]:peer-data-[side=right]:peer-data-[state=expanded]:[transform:rotate3d(0,1,0,25deg)]","ds:md:peer-data-[variant=tilt]:peer-data-[state=expanded]:blur-[2px]","ds:md:peer-data-[variant=depth]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:ml-0 ds:md:peer-data-[variant=depth]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:mr-0","ds:md:peer-data-[variant=depth]:peer-data-[side=right]:mr-(--sidebar-width)","ds:md:peer-data-[variant=depth]:transition-transform ds:md:peer-data-[variant=depth]:duration-200 ds:md:peer-data-[variant=depth]:ease-linear","ds:md:peer-data-[variant=depth]:peer-data-[state=expanded]:[transform:scale(0.95)_translateZ(-50px)]","ds:md:peer-data-[variant=depth]:peer-data-[state=expanded]:backdrop-blur-[1px]","ds:md:peer-data-[variant=depth]:peer-data-[state=expanded]:blur-[2px]",e),...a})}function U({className:e,...a}){return d.jsx(D.Input,{"data-slot":"sidebar-input","data-sidebar":"input",className:r.cn("ds:bg-background ds:h-8 ds:w-full ds:shadow-none",e),...a})}function X({className:e,...a}){return d.jsx("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:r.cn("ds:flex ds:flex-col ds:gap-2 ds:p-2",e),...a})}function Y({className:e,...a}){return d.jsx("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:r.cn("ds:flex ds:flex-col ds:gap-2 ds:p-2",e),...a})}function Z({className:e,...a}){return d.jsx(E.Separator,{"data-slot":"sidebar-separator","data-sidebar":"separator",className:r.cn("ds:bg-sidebar-border ds:mx-2 ds:w-auto",e),...a})}function J({className:e,...a}){return d.jsx("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:r.cn("ds:flex ds:min-h-0 ds:flex-1 ds:flex-col ds:gap-2 ds:overflow-auto ds:group-data-[collapsible=icon]:overflow-hidden",e),...a})}function Q({className:e,...a}){return d.jsx("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:r.cn("ds:relative ds:flex ds:w-full ds:min-w-0 ds:flex-col ds:p-2",e),...a})}function $({className:e,asChild:a=!1,...t}){const s=a?v.Slot:"div";return d.jsx(s,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:r.cn("ds:text-sidebar-foreground/70 ds:ring-sidebar-ring ds:flex ds:h-8 ds:shrink-0 ds:items-center ds:rounded-md ds:px-2 ds:text-xs ds:font-medium ds:outline-hidden ds:transition-[margin,opacity] ds:duration-200 ds:ease-linear ds:focus-visible:ring-2 ds:[&>svg]:size-4 ds:[&>svg]:shrink-0","ds:group-data-[collapsible=icon]:-mt-8 ds:group-data-[collapsible=icon]:opacity-0",e),...t})}function ee({className:e,asChild:a=!1,...t}){const s=a?v.Slot:"button";return d.jsx(s,{"data-slot":"sidebar-group-action","data-sidebar":"group-action",className:r.cn("ds:text-sidebar-foreground ds:ring-sidebar-ring ds:hover:bg-sidebar-accent ds:hover:text-sidebar-accent-foreground ds:absolute ds:top-3.5 ds:right-3 ds:flex ds:aspect-square ds:w-5 ds:items-center ds:justify-center ds:rounded-md ds:p-0 ds:outline-hidden ds:transition-transform ds:focus-visible:ring-2 ds:[&>svg]:size-4 ds:[&>svg]:shrink-0","ds:after:absolute ds:after:-inset-2 ds:md:after:hidden","ds:group-data-[collapsible=icon]:hidden",e),...t})}function ae({className:e,...a}){return d.jsx("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:r.cn("ds:w-full ds:text-sm",e),...a})}function de({className:e,...a}){return d.jsx("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:r.cn("ds:flex ds:w-full ds:min-w-0 ds:flex-col ds:gap-1",e),...a})}function te({className:e,...a}){return d.jsx("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:r.cn("ds:group/menu-item ds:relative",e),...a})}const se=I.cva("ds:peer/menu-button ds:flex ds:w-full ds:items-center ds:gap-2 ds:overflow-hidden ds:rounded-md ds:p-2 ds:text-left ds:text-sm ds:outline-hidden ds:ring-sidebar-ring ds:transition-[width,height,padding] ds:hover:bg-sidebar-accent ds:hover:text-sidebar-accent-foreground ds:focus-visible:ring-2 ds:active:bg-sidebar-accent ds:active:text-sidebar-accent-foreground ds:disabled:pointer-events-none ds:disabled:opacity-50 ds:group-has-data-[sidebar=menu-action]/menu-item:pr-8 ds:aria-disabled:pointer-events-none ds:aria-disabled:opacity-50 ds:data-[active=true]:bg-sidebar-accent ds:data-[active=true]:font-medium ds:data-[active=true]:text-sidebar-accent-foreground ds:data-[state=open]:hover:bg-sidebar-accent ds:data-[state=open]:hover:text-sidebar-accent-foreground ds:group-data-[collapsible=icon]:size-8! ds:group-data-[collapsible=icon]:p-2! ds:[&>span:last-child]:truncate ds:[&>svg]:size-4 ds:[&>svg]:shrink-0",{variants:{variant:{default:"ds:hover:bg-sidebar-accent ds:hover:text-sidebar-accent-foreground",outline:"ds:bg-background ds:shadow-[0_0_0_1px_hsl(var(--sidebar-border))] ds:hover:bg-sidebar-accent ds:hover:text-sidebar-accent-foreground ds:hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"ds:h-8 ds:text-sm",sm:"ds:h-7 ds:text-xs",lg:"ds:h-12 ds:text-sm ds:group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function re({asChild:e=!1,isActive:a=!1,variant:t="default",size:s="default",tooltip:i,className:o,...p}){const n=e?v.Slot:"button",{isMobile:f,state:u}=m(),x=d.jsx(n,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":s,"data-active":a,className:r.cn(se({variant:t,size:s}),o),...p});return i?(typeof i=="string"&&(i={children:i}),d.jsxs(j.Tooltip,{children:[d.jsx(j.TooltipTrigger,{asChild:!0,children:x}),d.jsx(j.TooltipContent,{side:"right",align:"center",hidden:u!=="collapsed"||f,...i})]})):x}function ie({className:e,asChild:a=!1,showOnHover:t=!1,...s}){const i=a?v.Slot:"button";return d.jsx(i,{"data-slot":"sidebar-menu-action","data-sidebar":"menu-action",className:r.cn("ds:text-sidebar-foreground ds:ring-sidebar-ring ds:hover:bg-sidebar-accent ds:hover:text-sidebar-accent-foreground ds:peer-hover/menu-button:text-sidebar-accent-foreground ds:absolute ds:top-1.5 ds:right-1 ds:flex ds:aspect-square ds:w-5 ds:items-center ds:justify-center ds:rounded-md ds:p-0 ds:outline-hidden ds:transition-transform ds:focus-visible:ring-2 ds:[&>svg]:size-4 ds:[&>svg]:shrink-0","ds:after:absolute ds:after:-inset-2 ds:md:after:hidden","ds:peer-data-[size=sm]/menu-button:top-1","ds:peer-data-[size=default]/menu-button:top-1.5","ds:peer-data-[size=lg]/menu-button:top-2.5","ds:group-data-[collapsible=icon]:hidden",t&&"ds:peer-data-[active=true]/menu-button:text-sidebar-accent-foreground ds:group-focus-within/menu-item:opacity-100 ds:group-hover/menu-item:opacity-100 ds:data-[state=open]:opacity-100 ds:md:opacity-0",e),...s})}function ne({className:e,...a}){return d.jsx("div",{"data-slot":"sidebar-menu-badge","data-sidebar":"menu-badge",className:r.cn("ds:text-sidebar-foreground ds:pointer-events-none ds:absolute ds:right-1 ds:flex ds:h-5 ds:min-w-5 ds:items-center ds:justify-center ds:rounded-md ds:px-1 ds:text-xs ds:font-medium ds:tabular-nums ds:select-none","ds:peer-hover/menu-button:text-sidebar-accent-foreground ds:peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","ds:peer-data-[size=sm]/menu-button:top-1","ds:peer-data-[size=default]/menu-button:top-1.5","ds:peer-data-[size=lg]/menu-button:top-2.5","ds:group-data-[collapsible=icon]:hidden",e),...a})}function oe({className:e,showIcon:a=!1,...t}){const s=l.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return d.jsxs("div",{"data-slot":"sidebar-menu-skeleton","data-sidebar":"menu-skeleton",className:r.cn("ds:flex ds:h-8 ds:items-center ds:gap-2 ds:rounded-md ds:px-2",e),...t,children:[a&&d.jsx(M.Skeleton,{className:"ds:size-4 ds:rounded-md","data-sidebar":"menu-skeleton-icon"}),d.jsx(M.Skeleton,{className:"ds:h-4 ds:max-w-(--skeleton-width) ds:flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":s}})]})}function le({className:e,...a}){return d.jsx("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:r.cn("ds:border-sidebar-border ds:mx-3.5 ds:flex ds:min-w-0 ds:translate-x-px ds:flex-col ds:gap-1 ds:border-l ds:px-2.5 ds:py-0.5","ds:group-data-[collapsible=icon]:hidden",e),...a})}function ce({className:e,...a}){return d.jsx("li",{"data-slot":"sidebar-menu-sub-item","data-sidebar":"menu-sub-item",className:r.cn("ds:group/menu-sub-item ds:relative",e),...a})}function ue({asChild:e=!1,size:a="md",isActive:t=!1,className:s,...i}){const o=e?v.Slot:"a";return d.jsx(o,{"data-slot":"sidebar-menu-sub-button","data-sidebar":"menu-sub-button","data-size":a,"data-active":t,className:r.cn("ds:text-sidebar-foreground ds:ring-sidebar-ring ds:hover:bg-sidebar-accent ds:hover:text-sidebar-accent-foreground ds:active:bg-sidebar-accent ds:active:text-sidebar-accent-foreground ds:[&>svg]:text-sidebar-accent-foreground ds:flex ds:h-7 ds:min-w-0 ds:-translate-x-px ds:items-center ds:gap-2 ds:overflow-hidden ds:rounded-md ds:px-2 ds:outline-hidden ds:focus-visible:ring-2 ds:disabled:pointer-events-none ds:disabled:opacity-50 ds:aria-disabled:pointer-events-none ds:aria-disabled:opacity-50 ds:[&>span:last-child]:truncate ds:[&>svg]:size-4 ds:[&>svg]:shrink-0","ds:data-[active=true]:bg-sidebar-accent ds:data-[active=true]:text-sidebar-accent-foreground",a==="sm"&&"ds:text-xs",a==="md"&&"ds:text-sm","ds:group-data-[collapsible=icon]:hidden",s),...i})}exports.Sidebar=L;exports.SidebarContent=J;exports.SidebarFooter=Y;exports.SidebarGroup=Q;exports.SidebarGroupAction=ee;exports.SidebarGroupContent=ae;exports.SidebarGroupLabel=$;exports.SidebarHeader=X;exports.SidebarInput=U;exports.SidebarInset=F;exports.SidebarMenu=de;exports.SidebarMenuAction=ie;exports.SidebarMenuBadge=ne;exports.SidebarMenuButton=re;exports.SidebarMenuItem=te;exports.SidebarMenuSkeleton=oe;exports.SidebarMenuSub=le;exports.SidebarMenuSubButton=ue;exports.SidebarMenuSubItem=ce;exports.SidebarProvider=K;exports.SidebarRail=W;exports.SidebarSeparator=Z;exports.SidebarTrigger=V;exports.useSidebar=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),C=require("react"),v=require("@radix-ui/react-slot"),I=require("class-variance-authority"),z=require("lucide-react"),O=require("../hooks/use-mobile.cjs"),r=require("../lib/utils.cjs"),T=require("./button.cjs"),D=require("./input.cjs"),E=require("./separator.cjs"),h=require("./sheet.cjs"),M=require("./skeleton.cjs"),j=require("./tooltip.cjs");function q(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,s.get?s:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const l=q(C),A="sidebar_state",B=3600*24*7,R="16rem",G="18rem",H="3rem",P="b",k=l.createContext(null);function m(){const e=l.useContext(k);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function K({defaultOpen:e=!0,open:a,onOpenChange:t,className:s,style:i,children:o,...p}){const n=O.useIsMobile(),[f,u]=l.useState(!1),[x,N]=l.useState(e),g=a??x,S=l.useCallback(c=>{const b=typeof c=="function"?c(g):c;t?t(b):N(b),document.cookie=`${A}=${b}; path=/; max-age=${B}`},[t,g]),w=l.useCallback(()=>n?u(c=>!c):S(c=>!c),[n,S,u]);l.useEffect(()=>{const c=b=>{b.key===P&&(b.metaKey||b.ctrlKey)&&(b.preventDefault(),w())};return window.addEventListener("keydown",c),()=>window.removeEventListener("keydown",c)},[w]);const y=g?"expanded":"collapsed",_=l.useMemo(()=>({state:y,open:g,setOpen:S,isMobile:n,openMobile:f,setOpenMobile:u,toggleSidebar:w}),[y,g,S,n,f,u,w]);return d.jsx(k.Provider,{value:_,children:d.jsx(j.TooltipProvider,{delayDuration:0,children:d.jsx("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":R,"--sidebar-width-icon":H,...i},className:r.cn("ds:group/sidebar-wrapper ds:has-data-[variant=inset]:bg-sidebar ds:flex ds:min-h-svh ds:w-full","ds:has-data-[variant=tilt]:[perspective:1000px] ds:has-data-[variant=tilt]:bg-black/20","ds:has-data-[variant=depth]:[perspective:1000px] ds:has-data-[variant=depth]:bg-black/20",s),...p,children:o})})})}function L({side:e="left",variant:a="sidebar",collapsible:t="offcanvas",className:s,children:i,...o}){const{isMobile:p,state:n,openMobile:f,setOpenMobile:u}=m();return t==="none"?d.jsx("div",{"data-slot":"sidebar",className:r.cn("ds:bg-sidebar ds:text-sidebar-foreground ds:flex ds:h-full ds:w-(--sidebar-width) ds:flex-col",s),...o,children:i}):p?d.jsx(h.Sheet,{open:f,onOpenChange:u,...o,children:d.jsxs(h.SheetContent,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"ds:bg-sidebar ds:text-sidebar-foreground ds:w-(--sidebar-width) ds:p-0 ds:[&>button]:hidden",style:{"--sidebar-width":G},side:e,children:[d.jsxs(h.SheetHeader,{className:"ds:sr-only",children:[d.jsx(h.SheetTitle,{children:"Sidebar"}),d.jsx(h.SheetDescription,{children:"Displays the mobile sidebar."})]}),d.jsx("div",{className:"ds:flex ds:h-full ds:w-full ds:flex-col",children:i})]})}):d.jsxs("div",{className:"ds:group ds:peer ds:text-sidebar-foreground ds:hidden ds:md:block","data-state":n,"data-collapsible":n==="collapsed"?t:"","data-variant":a,"data-side":e,"data-slot":"sidebar",children:[d.jsx("div",{"data-slot":"sidebar-gap",className:r.cn("ds:relative ds:w-(--sidebar-width) ds:bg-transparent ds:transition-[width] ds:duration-200 ds:ease-linear","ds:group-data-[collapsible=offcanvas]:w-0","ds:group-data-[side=right]:rotate-180","ds:group-data-[side=right]:hidden",a==="floating"||a==="inset"?"ds:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--ds-spacing(4)))]":"ds:group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),d.jsx("div",{"data-slot":"sidebar-container",className:r.cn("ds:fixed ds:inset-y-0 ds:z-10 ds:hidden ds:h-svh ds:w-(--sidebar-width) ds:transition-[left,right,width] ds:duration-200 ds:ease-linear ds:md:flex",e==="left"?"ds:left-0 ds:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"ds:right-0 ds:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",a==="floating"||a==="inset"?"ds:p-2 ds:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--ds-spacing(4))+2px)]":"ds:group-data-[collapsible=icon]:w-(--sidebar-width-icon) ds:group-data-[side=left]:border-r ds:group-data-[side=right]:border-l",s),...o,children:d.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"ds:bg-sidebar ds:group-data-[variant=floating]:border-sidebar-border ds:flex ds:h-full ds:w-full ds:flex-col ds:group-data-[variant=floating]:rounded-lg ds:group-data-[variant=floating]:border ds:group-data-[variant=floating]:shadow-sm",children:i})})]})}function V({className:e,onClick:a,...t}){const{toggleSidebar:s}=m();return d.jsxs(T.Button,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:r.cn("ds:size-7",e),onClick:i=>{a?.(i),s()},...t,children:[d.jsx(z.PanelLeftIcon,{}),d.jsx("span",{className:"ds:sr-only",children:"Toggle Sidebar"})]})}function W({className:e,...a}){const{toggleSidebar:t}=m();return d.jsx("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:t,title:"Toggle Sidebar",className:r.cn("ds:hover:after:bg-sidebar-border ds:absolute ds:inset-y-0 ds:z-20 ds:hidden ds:w-4 ds:-translate-x-1/2 ds:transition-all ds:ease-linear ds:group-data-[side=left]:-right-4 ds:group-data-[side=right]:left-0 ds:after:absolute ds:after:inset-y-0 ds:after:left-1/2 ds:after:w-[2px] ds:sm:flex","ds:in-data-[side=left]:cursor-w-resize ds:in-data-[side=right]:cursor-e-resize","ds:[[data-side=left][data-state=collapsed]_&]:cursor-e-resize ds:[[data-side=right][data-state=collapsed]_&]:cursor-w-resize","ds:hover:group-data-[collapsible=offcanvas]:bg-sidebar ds:group-data-[collapsible=offcanvas]:translate-x-0 ds:group-data-[collapsible=offcanvas]:after:left-full","ds:[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","ds:[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...a})}function F({className:e,...a}){const{setOpen:t,state:s}=m(),i=l.useRef(null),o=l.useCallback(()=>{if(i.current){const n=i.current.parentElement?.querySelector('[data-slot="sidebar"]')?.getAttribute("data-variant");(n==="tilt"||n==="depth")&&s==="expanded"&&t(!1)}},[t,s]);return d.jsx("main",{ref:i,"data-slot":"sidebar-inset",onClick:o,className:r.cn("ds:bg-background ds:relative ds:flex ds:w-full ds:flex-1 ds:flex-col","ds:md:peer-data-[variant=inset]:m-2 ds:md:peer-data-[variant=inset]:ml-0 ds:md:peer-data-[variant=inset]:rounded-xl ds:md:peer-data-[variant=inset]:shadow-sm ds:md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2","ds:md:peer-data-[variant=sidebar]:peer-data-[side=left]:peer-data-[state=collapsed]:peer-data-[collapsible=icon]:ml-(--sidebar-width-icon) ds:md:peer-data-[variant=sidebar]:peer-data-[side=right]:peer-data-[state=collapsed]:peer-data-[collapsible=icon]:mr-(--sidebar-width-icon)","ds:md:peer-data-[variant=sidebar]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:ml-0 ds:md:peer-data-[variant=sidebar]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:mr-0","ds:md:peer-data-[variant=sidebar]:peer-data-[side=right]:mr-(--sidebar-width)","ds:md:peer-data-[variant=inset]:peer-data-[side=left]:peer-data-[state=collapsed]:peer-data-[collapsible=icon]:ml-(--sidebar-width-icon) ds:md:peer-data-[variant=inset]:peer-data-[side=right]:peer-data-[state=collapsed]:peer-data-[collapsible=icon]:mr-(--sidebar-width-icon)","ds:md:peer-data-[variant=inset]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:ml-0 ds:md:peer-data-[variant=inset]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:mr-0","ds:md:peer-data-[variant=inset]:peer-data-[side=right]:mr-(--sidebar-width)","ds:md:peer-data-[variant=tilt]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:ml-0 ds:md:peer-data-[variant=tilt]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:mr-0","ds:md:peer-data-[variant=tilt]:peer-data-[side=right]:mr-(--sidebar-width)","ds:md:peer-data-[variant=tilt]:transition-transform ds:md:peer-data-[variant=tilt]:duration-200 ds:md:peer-data-[variant=tilt]:ease-linear","ds:md:peer-data-[variant=tilt]:peer-data-[side=left]:origin-right ds:md:peer-data-[variant=tilt]:peer-data-[side=left]:peer-data-[state=expanded]:[transform:rotate3d(0,1,0,-25deg)]","ds:md:peer-data-[variant=tilt]:peer-data-[side=right]:origin-left ds:md:peer-data-[variant=tilt]:peer-data-[side=right]:peer-data-[state=expanded]:[transform:rotate3d(0,1,0,25deg)]","ds:md:peer-data-[variant=tilt]:peer-data-[state=expanded]:blur-[2px]","ds:md:peer-data-[variant=depth]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:ml-0 ds:md:peer-data-[variant=depth]:peer-data-[state=collapsed]:peer-data-[collapsible=offcanvas]:mr-0","ds:md:peer-data-[variant=depth]:peer-data-[side=right]:mr-(--sidebar-width)","ds:md:peer-data-[variant=depth]:transition-transform ds:md:peer-data-[variant=depth]:duration-200 ds:md:peer-data-[variant=depth]:ease-linear","ds:md:peer-data-[variant=depth]:peer-data-[state=expanded]:[transform:scale(0.95)_translateZ(-50px)]","ds:md:peer-data-[variant=depth]:peer-data-[state=expanded]:backdrop-blur-[1px]","ds:md:peer-data-[variant=depth]:peer-data-[state=expanded]:blur-[2px]",e),...a})}function U({className:e,...a}){return d.jsx(D.Input,{"data-slot":"sidebar-input","data-sidebar":"input",className:r.cn("ds:bg-background ds:h-8 ds:w-full ds:shadow-none",e),...a})}function X({className:e,...a}){return d.jsx("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:r.cn("ds:flex ds:flex-col ds:gap-2 ds:p-2",e),...a})}function Y({className:e,...a}){return d.jsx("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:r.cn("ds:flex ds:flex-col ds:gap-2 ds:p-2",e),...a})}function Z({className:e,...a}){return d.jsx(E.Separator,{"data-slot":"sidebar-separator","data-sidebar":"separator",className:r.cn("ds:bg-sidebar-border ds:mx-2 ds:w-auto",e),...a})}function J({className:e,...a}){return d.jsx("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:r.cn("ds:flex ds:min-h-0 ds:flex-1 ds:flex-col ds:gap-2 ds:overflow-auto ds:group-data-[collapsible=icon]:overflow-hidden",e),...a})}function Q({className:e,...a}){return d.jsx("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:r.cn("ds:relative ds:flex ds:w-full ds:min-w-0 ds:flex-col ds:p-2",e),...a})}function $({className:e,asChild:a=!1,...t}){const s=a?v.Slot:"div";return d.jsx(s,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:r.cn("ds:text-sidebar-foreground/70 ds:ring-sidebar-ring ds:flex ds:h-8 ds:shrink-0 ds:items-center ds:rounded-md ds:px-2 ds:text-xs ds:font-medium ds:outline-hidden ds:transition-[margin,opacity] ds:duration-200 ds:ease-linear ds:focus-visible:ring-2 ds:[&>svg]:size-4 ds:[&>svg]:shrink-0","ds:group-data-[collapsible=icon]:-mt-8 ds:group-data-[collapsible=icon]:opacity-0",e),...t})}function ee({className:e,asChild:a=!1,...t}){const s=a?v.Slot:"button";return d.jsx(s,{"data-slot":"sidebar-group-action","data-sidebar":"group-action",className:r.cn("ds:text-sidebar-foreground ds:ring-sidebar-ring ds:hover:bg-sidebar-accent ds:hover:text-sidebar-accent-foreground ds:absolute ds:top-3.5 ds:right-3 ds:flex ds:aspect-square ds:w-5 ds:items-center ds:justify-center ds:rounded-md ds:p-0 ds:outline-hidden ds:transition-transform ds:focus-visible:ring-2 ds:[&>svg]:size-4 ds:[&>svg]:shrink-0","ds:after:absolute ds:after:-inset-2 ds:md:after:hidden","ds:group-data-[collapsible=icon]:hidden",e),...t})}function ae({className:e,...a}){return d.jsx("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:r.cn("ds:w-full ds:text-sm",e),...a})}function de({className:e,...a}){return d.jsx("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:r.cn("ds:flex ds:w-full ds:min-w-0 ds:flex-col ds:gap-1",e),...a})}function te({className:e,...a}){return d.jsx("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:r.cn("ds:group/menu-item ds:relative",e),...a})}const se=I.cva("ds:peer/menu-button ds:flex ds:w-full ds:items-center ds:gap-2 ds:overflow-hidden ds:rounded-md ds:p-2 ds:text-left ds:text-sm ds:outline-hidden ds:ring-sidebar-ring ds:transition-[width,height,padding] ds:hover:bg-sidebar-accent ds:hover:text-sidebar-accent-foreground ds:focus-visible:ring-2 ds:active:bg-sidebar-accent ds:active:text-sidebar-accent-foreground ds:disabled:pointer-events-none ds:disabled:opacity-50 ds:group-has-data-[sidebar=menu-action]/menu-item:pr-8 ds:aria-disabled:pointer-events-none ds:aria-disabled:opacity-50 ds:data-[active=true]:bg-sidebar-accent ds:data-[active=true]:font-medium ds:data-[active=true]:text-sidebar-accent-foreground ds:data-[state=open]:hover:bg-sidebar-accent ds:data-[state=open]:hover:text-sidebar-accent-foreground ds:group-data-[collapsible=icon]:size-8! ds:group-data-[collapsible=icon]:p-2! ds:[&>span:last-child]:truncate ds:[&>svg]:size-4 ds:[&>svg]:shrink-0",{variants:{variant:{default:"ds:hover:bg-sidebar-accent ds:hover:text-sidebar-accent-foreground",outline:"ds:bg-background ds:shadow-[0_0_0_1px_hsl(var(--sidebar-border))] ds:hover:bg-sidebar-accent ds:hover:text-sidebar-accent-foreground ds:hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"ds:h-8 ds:text-sm",sm:"ds:h-7 ds:text-xs",lg:"ds:h-12 ds:text-sm ds:group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function re({asChild:e=!1,isActive:a=!1,variant:t="default",size:s="default",tooltip:i,className:o,...p}){const n=e?v.Slot:"button",{isMobile:f,state:u}=m(),x=d.jsx(n,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":s,"data-active":a,className:r.cn(se({variant:t,size:s}),o),...p});return i?(typeof i=="string"&&(i={children:i}),d.jsxs(j.Tooltip,{children:[d.jsx(j.TooltipTrigger,{asChild:!0,children:x}),d.jsx(j.TooltipContent,{side:"right",align:"center",hidden:u!=="collapsed"||f,...i})]})):x}function ie({className:e,asChild:a=!1,showOnHover:t=!1,...s}){const i=a?v.Slot:"button";return d.jsx(i,{"data-slot":"sidebar-menu-action","data-sidebar":"menu-action",className:r.cn("ds:text-sidebar-foreground ds:ring-sidebar-ring ds:hover:bg-sidebar-accent ds:hover:text-sidebar-accent-foreground ds:peer-hover/menu-button:text-sidebar-accent-foreground ds:absolute ds:top-1.5 ds:right-1 ds:flex ds:aspect-square ds:w-5 ds:items-center ds:justify-center ds:rounded-md ds:p-0 ds:outline-hidden ds:transition-transform ds:focus-visible:ring-2 ds:[&>svg]:size-4 ds:[&>svg]:shrink-0","ds:after:absolute ds:after:-inset-2 ds:md:after:hidden","ds:peer-data-[size=sm]/menu-button:top-1","ds:peer-data-[size=default]/menu-button:top-1.5","ds:peer-data-[size=lg]/menu-button:top-2.5","ds:group-data-[collapsible=icon]:hidden",t&&"ds:peer-data-[active=true]/menu-button:text-sidebar-accent-foreground ds:group-focus-within/menu-item:opacity-100 ds:group-hover/menu-item:opacity-100 ds:data-[state=open]:opacity-100 ds:md:opacity-0",e),...s})}function ne({className:e,...a}){return d.jsx("div",{"data-slot":"sidebar-menu-badge","data-sidebar":"menu-badge",className:r.cn("ds:text-sidebar-foreground ds:pointer-events-none ds:absolute ds:right-1 ds:flex ds:h-5 ds:min-w-5 ds:items-center ds:justify-center ds:rounded-md ds:px-1 ds:text-xs ds:font-medium ds:tabular-nums ds:select-none","ds:peer-hover/menu-button:text-sidebar-accent-foreground ds:peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","ds:peer-data-[size=sm]/menu-button:top-1","ds:peer-data-[size=default]/menu-button:top-1.5","ds:peer-data-[size=lg]/menu-button:top-2.5","ds:group-data-[collapsible=icon]:hidden",e),...a})}function oe({className:e,showIcon:a=!1,...t}){const s=l.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return d.jsxs("div",{"data-slot":"sidebar-menu-skeleton","data-sidebar":"menu-skeleton",className:r.cn("ds:flex ds:h-8 ds:items-center ds:gap-2 ds:rounded-md ds:px-2",e),...t,children:[a&&d.jsx(M.Skeleton,{className:"ds:size-4 ds:rounded-md","data-sidebar":"menu-skeleton-icon"}),d.jsx(M.Skeleton,{className:"ds:h-4 ds:max-w-(--skeleton-width) ds:flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":s}})]})}function le({className:e,...a}){return d.jsx("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:r.cn("ds:border-sidebar-border ds:mx-3.5 ds:flex ds:min-w-0 ds:translate-x-px ds:flex-col ds:gap-1 ds:border-l ds:px-2.5 ds:py-0.5","ds:group-data-[collapsible=icon]:hidden",e),...a})}function ce({className:e,...a}){return d.jsx("li",{"data-slot":"sidebar-menu-sub-item","data-sidebar":"menu-sub-item",className:r.cn("ds:group/menu-sub-item ds:relative",e),...a})}function ue({asChild:e=!1,size:a="md",isActive:t=!1,className:s,...i}){const o=e?v.Slot:"a";return d.jsx(o,{"data-slot":"sidebar-menu-sub-button","data-sidebar":"menu-sub-button","data-size":a,"data-active":t,className:r.cn("ds:text-sidebar-foreground ds:ring-sidebar-ring ds:hover:bg-sidebar-accent ds:hover:text-sidebar-accent-foreground ds:active:bg-sidebar-accent ds:active:text-sidebar-accent-foreground ds:[&>svg]:text-sidebar-accent-foreground ds:flex ds:h-7 ds:min-w-0 ds:-translate-x-px ds:items-center ds:gap-2 ds:overflow-hidden ds:rounded-md ds:px-2 ds:outline-hidden ds:focus-visible:ring-2 ds:disabled:pointer-events-none ds:disabled:opacity-50 ds:aria-disabled:pointer-events-none ds:aria-disabled:opacity-50 ds:[&>span:last-child]:truncate ds:[&>svg]:size-4 ds:[&>svg]:shrink-0","ds:data-[active=true]:bg-sidebar-accent ds:data-[active=true]:text-sidebar-accent-foreground",a==="sm"&&"ds:text-xs",a==="md"&&"ds:text-sm","ds:group-data-[collapsible=icon]:hidden",s),...i})}exports.Sidebar=L;exports.SidebarContent=J;exports.SidebarFooter=Y;exports.SidebarGroup=Q;exports.SidebarGroupAction=ee;exports.SidebarGroupContent=ae;exports.SidebarGroupLabel=$;exports.SidebarHeader=X;exports.SidebarInput=U;exports.SidebarInset=F;exports.SidebarMenu=de;exports.SidebarMenuAction=ie;exports.SidebarMenuBadge=ne;exports.SidebarMenuButton=re;exports.SidebarMenuItem=te;exports.SidebarMenuSkeleton=oe;exports.SidebarMenuSub=le;exports.SidebarMenuSubButton=ue;exports.SidebarMenuSubItem=ce;exports.SidebarProvider=K;exports.SidebarRail=W;exports.SidebarSeparator=Z;exports.SidebarTrigger=V;exports.useSidebar=m;
2
2
  //# sourceMappingURL=sidebar.cjs.map