@kubetail/ui 3.0.0-rc1 → 3.0.0-rc2

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 (119) hide show
  1. package/dist/elements/alert.cjs +1 -1
  2. package/dist/elements/alert.cjs.map +1 -1
  3. package/dist/elements/alert.d.ts +2 -2
  4. package/dist/elements/alert.js +6 -12
  5. package/dist/elements/alert.js.map +1 -1
  6. package/dist/elements/button.cjs +1 -1
  7. package/dist/elements/button.cjs.map +1 -1
  8. package/dist/elements/button.d.ts +5 -14
  9. package/dist/elements/button.js +29 -26
  10. package/dist/elements/button.js.map +1 -1
  11. package/dist/elements/card.cjs +1 -1
  12. package/dist/elements/card.cjs.map +1 -1
  13. package/dist/elements/card.d.ts +3 -1
  14. package/dist/elements/card.js +9 -8
  15. package/dist/elements/card.js.map +1 -1
  16. package/dist/elements/checkbox.cjs +1 -1
  17. package/dist/elements/checkbox.cjs.map +1 -1
  18. package/dist/elements/checkbox.d.ts +1 -1
  19. package/dist/elements/checkbox.js +3 -3
  20. package/dist/elements/checkbox.js.map +1 -1
  21. package/dist/elements/context-menu.cjs +1 -1
  22. package/dist/elements/context-menu.cjs.map +1 -1
  23. package/dist/elements/context-menu.d.ts +15 -18
  24. package/dist/elements/context-menu.js +58 -45
  25. package/dist/elements/context-menu.js.map +1 -1
  26. package/dist/elements/dialog.cjs +1 -1
  27. package/dist/elements/dialog.cjs.map +1 -1
  28. package/dist/elements/dialog.d.ts +11 -10
  29. package/dist/elements/dialog.js +52 -38
  30. package/dist/elements/dialog.js.map +1 -1
  31. package/dist/elements/dropdown-menu.cjs +1 -1
  32. package/dist/elements/dropdown-menu.cjs.map +1 -1
  33. package/dist/elements/dropdown-menu.d.ts +19 -19
  34. package/dist/elements/dropdown-menu.js +89 -71
  35. package/dist/elements/dropdown-menu.js.map +1 -1
  36. package/dist/elements/field.cjs +2 -0
  37. package/dist/elements/field.cjs.map +1 -0
  38. package/dist/elements/field.d.ts +24 -0
  39. package/dist/elements/field.js +110 -0
  40. package/dist/elements/field.js.map +1 -0
  41. package/dist/elements/input-group.cjs +2 -0
  42. package/dist/elements/input-group.cjs.map +1 -0
  43. package/dist/elements/input-group.d.ts +18 -0
  44. package/dist/elements/input-group.js +80 -0
  45. package/dist/elements/input-group.js.map +1 -0
  46. package/dist/elements/input.cjs +1 -1
  47. package/dist/elements/input.cjs.map +1 -1
  48. package/dist/elements/input.js +7 -6
  49. package/dist/elements/input.js.map +1 -1
  50. package/dist/elements/label.cjs +1 -1
  51. package/dist/elements/label.cjs.map +1 -1
  52. package/dist/elements/label.d.ts +1 -0
  53. package/dist/elements/label.js +1 -0
  54. package/dist/elements/label.js.map +1 -1
  55. package/dist/elements/pagination.cjs +1 -1
  56. package/dist/elements/pagination.cjs.map +1 -1
  57. package/dist/elements/pagination.d.ts +8 -5
  58. package/dist/elements/pagination.js +32 -26
  59. package/dist/elements/pagination.js.map +1 -1
  60. package/dist/elements/search-box.cjs +1 -1
  61. package/dist/elements/search-box.cjs.map +1 -1
  62. package/dist/elements/search-box.js +5 -5
  63. package/dist/elements/select.cjs +1 -1
  64. package/dist/elements/select.cjs.map +1 -1
  65. package/dist/elements/select.d.ts +8 -13
  66. package/dist/elements/select.js +34 -31
  67. package/dist/elements/select.js.map +1 -1
  68. package/dist/elements/separator.cjs +1 -1
  69. package/dist/elements/separator.cjs.map +1 -1
  70. package/dist/elements/separator.d.ts +1 -1
  71. package/dist/elements/separator.js +3 -1
  72. package/dist/elements/separator.js.map +1 -1
  73. package/dist/elements/sheet.cjs +1 -1
  74. package/dist/elements/sheet.cjs.map +1 -1
  75. package/dist/elements/sheet.d.ts +7 -6
  76. package/dist/elements/sheet.js +50 -37
  77. package/dist/elements/sheet.js.map +1 -1
  78. package/dist/elements/sidebar.cjs +1 -1
  79. package/dist/elements/sidebar.cjs.map +1 -1
  80. package/dist/elements/sidebar.d.ts +10 -16
  81. package/dist/elements/sidebar.js +168 -173
  82. package/dist/elements/sidebar.js.map +1 -1
  83. package/dist/elements/skeleton.cjs +1 -1
  84. package/dist/elements/skeleton.cjs.map +1 -1
  85. package/dist/elements/skeleton.js +1 -1
  86. package/dist/elements/skeleton.js.map +1 -1
  87. package/dist/elements/spinner.cjs.map +1 -1
  88. package/dist/elements/spinner.js.map +1 -1
  89. package/dist/elements/switch.cjs +1 -1
  90. package/dist/elements/switch.cjs.map +1 -1
  91. package/dist/elements/switch.d.ts +1 -1
  92. package/dist/elements/switch.js +2 -2
  93. package/dist/elements/switch.js.map +1 -1
  94. package/dist/elements/table.cjs +1 -1
  95. package/dist/elements/table.cjs.map +1 -1
  96. package/dist/elements/table.d.ts +1 -1
  97. package/dist/elements/table.js +6 -5
  98. package/dist/elements/table.js.map +1 -1
  99. package/dist/elements/tabs.cjs +1 -1
  100. package/dist/elements/tabs.cjs.map +1 -1
  101. package/dist/elements/tabs.d.ts +9 -5
  102. package/dist/elements/tabs.js +28 -16
  103. package/dist/elements/tabs.js.map +1 -1
  104. package/dist/elements/textarea.cjs +2 -0
  105. package/dist/elements/textarea.cjs.map +1 -0
  106. package/dist/elements/textarea.d.ts +3 -0
  107. package/dist/elements/textarea.js +15 -0
  108. package/dist/elements/textarea.js.map +1 -0
  109. package/dist/elements/toggle.cjs +1 -1
  110. package/dist/elements/toggle.cjs.map +1 -1
  111. package/dist/elements/toggle.d.ts +1 -1
  112. package/dist/elements/toggle.js +6 -6
  113. package/dist/elements/toggle.js.map +1 -1
  114. package/dist/elements/tooltip.cjs +1 -1
  115. package/dist/elements/tooltip.cjs.map +1 -1
  116. package/dist/elements/tooltip.d.ts +4 -8
  117. package/dist/elements/tooltip.js +13 -7
  118. package/dist/elements/tooltip.js.map +1 -1
  119. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"context-menu.cjs","names":[],"sources":["../../src/elements/context-menu.tsx"],"sourcesContent":["'use client';\n\nimport { ContextMenu as ContextMenuPrimitive } from '@base-ui/react/context-menu';\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction ContextMenu({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {\n return <ContextMenuPrimitive.Root {...props} />;\n}\n\nfunction ContextMenuTrigger({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {\n return (\n <ContextMenuPrimitive.Trigger\n data-slot=\"context-menu-trigger\"\n className={cn('select-none', className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {\n return <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />;\n}\n\nfunction ContextMenuPortal({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {\n return <ContextMenuPrimitive.Portal {...props} />;\n}\n\nfunction ContextMenuSub({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.SubmenuRoot>) {\n return <ContextMenuPrimitive.SubmenuRoot {...props} />;\n}\n\nfunction ContextMenuRadioGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {\n return <ContextMenuPrimitive.RadioGroup data-slot=\"context-menu-radio-group\" {...props} />;\n}\n\nfunction ContextMenuContent({\n className,\n side,\n align,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Popup> & {\n side?: React.ComponentProps<typeof ContextMenuPrimitive.Positioner>['side'];\n align?: React.ComponentProps<typeof ContextMenuPrimitive.Positioner>['align'];\n}) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Positioner side={side} align={align}>\n <ContextMenuPrimitive.Popup\n data-slot=\"context-menu-content\"\n className={cn(\n 'z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-95 data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95',\n className,\n )}\n {...props}\n />\n </ContextMenuPrimitive.Positioner>\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 \"group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:data-[highlighted]:bg-destructive/10 data-[variant=destructive]:data-[highlighted]:text-destructive dark:data-[variant=destructive]:data-[highlighted]:bg-destructive/20 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[highlighted]:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubmenuTrigger> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.SubmenuTrigger\n data-slot=\"context-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[popup-open]:bg-accent data-[popup-open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"cn-rtl-flip ml-auto\" />\n </ContextMenuPrimitive.SubmenuTrigger>\n );\n}\n\nfunction ContextMenuSubContent({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Popup>) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Positioner>\n <ContextMenuPrimitive.Popup\n data-slot=\"context-menu-sub-content\"\n className={cn(\n 'z-50 min-w-32 origin-(--transform-origin) overflow-hidden rounded-lg border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-95 data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95',\n className,\n )}\n {...props}\n />\n </ContextMenuPrimitive.Positioner>\n </ContextMenuPrimitive.Portal>\n );\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot=\"context-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2\">\n <ContextMenuPrimitive.CheckboxItemIndicator>\n <CheckIcon />\n </ContextMenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot=\"context-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2\">\n <ContextMenuPrimitive.RadioItemIndicator>\n <CheckIcon />\n </ContextMenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n );\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<'div'> & {\n inset?: boolean;\n}) {\n return (\n <div\n data-slot=\"context-menu-label\"\n data-inset={inset}\n className={cn('px-1.5 py-1 text-xs font-medium text-muted-foreground data-[inset]:pl-7', className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuSeparator({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {\n return (\n <ContextMenuPrimitive.Separator\n data-slot=\"context-menu-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"context-menu-shortcut\"\n className={cn(\n 'ml-auto text-xs tracking-widest text-muted-foreground group-data-[highlighted]/context-menu-item:text-accent-foreground',\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"],"mappings":"uQAOA,SAAS,EAAY,CAAE,GAAG,GAAiE,CACzF,OAAO,EAAA,EAAA,KAAC,EAAA,YAAqB,KAAtB,CAA2B,GAAI,EAAS,CAAA,CAGjD,SAAS,EAAmB,CAAE,YAAW,GAAG,GAAoE,CAC9G,OACE,EAAA,EAAA,KAAC,EAAA,YAAqB,QAAtB,CACE,YAAU,uBACV,UAAW,EAAA,GAAG,cAAe,EAAU,CACvC,GAAI,EACJ,CAAA,CAIN,SAAS,EAAiB,CAAE,GAAG,GAAkE,CAC/F,OAAO,EAAA,EAAA,KAAC,EAAA,YAAqB,MAAtB,CAA4B,YAAU,qBAAqB,GAAI,EAAS,CAAA,CAGjF,SAAS,EAAkB,CAAE,GAAG,GAAmE,CACjG,OAAO,EAAA,EAAA,KAAC,EAAA,YAAqB,OAAtB,CAA6B,GAAI,EAAS,CAAA,CAGnD,SAAS,EAAe,CAAE,GAAG,GAAwE,CACnG,OAAO,EAAA,EAAA,KAAC,EAAA,YAAqB,YAAtB,CAAkC,GAAI,EAAS,CAAA,CAGxD,SAAS,EAAsB,CAAE,GAAG,GAAuE,CACzG,OAAO,EAAA,EAAA,KAAC,EAAA,YAAqB,WAAtB,CAAiC,YAAU,2BAA2B,GAAI,EAAS,CAAA,CAG5F,SAAS,EAAmB,CAC1B,YACA,OACA,QACA,GAAG,GAIF,CACD,OACE,EAAA,EAAA,KAAC,EAAA,YAAqB,OAAtB,CAAA,UACE,EAAA,EAAA,KAAC,EAAA,YAAqB,WAAtB,CAAuC,OAAa,kBAClD,EAAA,EAAA,KAAC,EAAA,YAAqB,MAAtB,CACE,YAAU,uBACV,UAAW,EAAA,GACT,yfACA,EACD,CACD,GAAI,EACJ,CAAA,CAC8B,CAAA,CACN,CAAA,CAIlC,SAAS,EAAgB,CACvB,YACA,QACA,UAAU,UACV,GAAG,GAIF,CACD,OACE,EAAA,EAAA,KAAC,EAAA,YAAqB,KAAtB,CACE,YAAU,oBACV,aAAY,EACZ,eAAc,EACd,UAAW,EAAA,GACT,ssBACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAsB,CAC7B,YACA,QACA,WACA,GAAG,GAGF,CACD,OACE,EAAA,EAAA,MAAC,EAAA,YAAqB,eAAtB,CACE,YAAU,2BACV,aAAY,EACZ,UAAW,EAAA,GACT,qVACA,EACD,CACD,GAAI,WAPN,CASG,GACD,EAAA,EAAA,KAAC,EAAA,iBAAD,CAAkB,UAAU,sBAAwB,CAAA,CAChB,GAI1C,SAAS,EAAsB,CAAE,YAAW,GAAG,GAAkE,CAC/G,OACE,EAAA,EAAA,KAAC,EAAA,YAAqB,OAAtB,CAAA,UACE,EAAA,EAAA,KAAC,EAAA,YAAqB,WAAtB,CAAA,UACE,EAAA,EAAA,KAAC,EAAA,YAAqB,MAAtB,CACE,YAAU,2BACV,UAAW,EAAA,GACT,ybACA,EACD,CACD,GAAI,EACJ,CAAA,CAC8B,CAAA,CACN,CAAA,CAIlC,SAAS,EAAwB,CAC/B,YACA,WACA,UACA,QACA,GAAG,GAGF,CACD,OACE,EAAA,EAAA,MAAC,EAAA,YAAqB,aAAtB,CACE,YAAU,6BACV,aAAY,EACZ,UAAW,EAAA,GACT,6VACA,EACD,CACQ,UACT,GAAI,WARN,EAUE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,iDACd,EAAA,EAAA,KAAC,EAAA,YAAqB,sBAAtB,CAAA,UACE,EAAA,EAAA,KAAC,EAAA,UAAD,EAAa,CAAA,CAC8B,CAAA,CACxC,CAAA,CACN,EACiC,GAIxC,SAAS,EAAqB,CAC5B,YACA,WACA,QACA,GAAG,GAGF,CACD,OACE,EAAA,EAAA,MAAC,EAAA,YAAqB,UAAtB,CACE,YAAU,0BACV,aAAY,EACZ,UAAW,EAAA,GACT,6VACA,EACD,CACD,GAAI,WAPN,EASE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,iDACd,EAAA,EAAA,KAAC,EAAA,YAAqB,mBAAtB,CAAA,UACE,EAAA,EAAA,KAAC,EAAA,UAAD,EAAa,CAAA,CAC2B,CAAA,CACrC,CAAA,CACN,EAC8B,GAIrC,SAAS,EAAiB,CACxB,YACA,QACA,GAAG,GAGF,CACD,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,qBACV,aAAY,EACZ,UAAW,EAAA,GAAG,0EAA2E,EAAU,CACnG,GAAI,EACJ,CAAA,CAIN,SAAS,EAAqB,CAAE,YAAW,GAAG,GAAsE,CAClH,OACE,EAAA,EAAA,KAAC,EAAA,YAAqB,UAAtB,CACE,YAAU,yBACV,UAAW,EAAA,GAAG,4BAA6B,EAAU,CACrD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAoB,CAAE,YAAW,GAAG,GAAuC,CAClF,OACE,EAAA,EAAA,KAAC,OAAD,CACE,YAAU,wBACV,UAAW,EAAA,GACT,0HACA,EACD,CACD,GAAI,EACJ,CAAA"}
1
+ {"version":3,"file":"context-menu.cjs","names":[],"sources":["../../src/elements/context-menu.tsx"],"sourcesContent":["'use client';\n\nimport { ContextMenu as ContextMenuPrimitive } from '@base-ui/react/context-menu';\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction ContextMenu({ ...props }: ContextMenuPrimitive.Root.Props) {\n return <ContextMenuPrimitive.Root data-slot=\"context-menu\" {...props} />;\n}\n\nfunction ContextMenuPortal({ ...props }: ContextMenuPrimitive.Portal.Props) {\n return <ContextMenuPrimitive.Portal data-slot=\"context-menu-portal\" {...props} />;\n}\n\nfunction ContextMenuTrigger({ className, ...props }: ContextMenuPrimitive.Trigger.Props) {\n return (\n <ContextMenuPrimitive.Trigger\n data-slot=\"context-menu-trigger\"\n className={cn('select-none', className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuContent({\n className,\n align = 'start',\n alignOffset = 4,\n side = 'right',\n sideOffset = 0,\n ...props\n}: ContextMenuPrimitive.Popup.Props &\n Pick<ContextMenuPrimitive.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'>) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Positioner\n className=\"isolate z-50 outline-none\"\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <ContextMenuPrimitive.Popup\n data-slot=\"context-menu-content\"\n className={cn(\n 'z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n className,\n )}\n {...props}\n />\n </ContextMenuPrimitive.Positioner>\n </ContextMenuPrimitive.Portal>\n );\n}\n\nfunction ContextMenuGroup({ ...props }: ContextMenuPrimitive.Group.Props) {\n return <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />;\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: ContextMenuPrimitive.GroupLabel.Props & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.GroupLabel\n data-slot=\"context-menu-label\"\n data-inset={inset}\n className={cn('px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7', className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: ContextMenuPrimitive.Item.Props & {\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 \"group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuSub({ ...props }: ContextMenuPrimitive.SubmenuRoot.Props) {\n return <ContextMenuPrimitive.SubmenuRoot data-slot=\"context-menu-sub\" {...props} />;\n}\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: ContextMenuPrimitive.SubmenuTrigger.Props & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.SubmenuTrigger\n data-slot=\"context-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"cn-rtl-flip ml-auto\" />\n </ContextMenuPrimitive.SubmenuTrigger>\n );\n}\n\nfunction ContextMenuSubContent({ ...props }: React.ComponentProps<typeof ContextMenuContent>) {\n return <ContextMenuContent data-slot=\"context-menu-sub-content\" className=\"shadow-lg\" side=\"right\" {...props} />;\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: ContextMenuPrimitive.CheckboxItem.Props & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot=\"context-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2\">\n <ContextMenuPrimitive.CheckboxItemIndicator>\n <CheckIcon />\n </ContextMenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction ContextMenuRadioGroup({ ...props }: ContextMenuPrimitive.RadioGroup.Props) {\n return <ContextMenuPrimitive.RadioGroup data-slot=\"context-menu-radio-group\" {...props} />;\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: ContextMenuPrimitive.RadioItem.Props & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot=\"context-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2\">\n <ContextMenuPrimitive.RadioItemIndicator>\n <CheckIcon />\n </ContextMenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n );\n}\n\nfunction ContextMenuSeparator({ className, ...props }: ContextMenuPrimitive.Separator.Props) {\n return (\n <ContextMenuPrimitive.Separator\n data-slot=\"context-menu-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"context-menu-shortcut\"\n className={cn(\n 'ml-auto text-xs tracking-widest text-muted-foreground group-focus/context-menu-item:text-accent-foreground',\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"],"mappings":"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"}
@@ -1,31 +1,28 @@
1
1
  import { ContextMenu as ContextMenuPrimitive } from '@base-ui/react/context-menu';
2
- declare function ContextMenu({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
3
- declare function ContextMenuTrigger({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
4
- declare function ContextMenuGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
5
- declare function ContextMenuPortal({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
6
- declare function ContextMenuSub({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.SubmenuRoot>): import("react/jsx-runtime").JSX.Element;
7
- declare function ContextMenuRadioGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>): import("react/jsx-runtime").JSX.Element;
8
- declare function ContextMenuContent({ className, side, align, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Popup> & {
9
- side?: React.ComponentProps<typeof ContextMenuPrimitive.Positioner>['side'];
10
- align?: React.ComponentProps<typeof ContextMenuPrimitive.Positioner>['align'];
11
- }): import("react/jsx-runtime").JSX.Element;
12
- declare function ContextMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Item> & {
2
+ declare function ContextMenu({ ...props }: ContextMenuPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
3
+ declare function ContextMenuPortal({ ...props }: ContextMenuPrimitive.Portal.Props): import("react/jsx-runtime").JSX.Element;
4
+ declare function ContextMenuTrigger({ className, ...props }: ContextMenuPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
5
+ declare function ContextMenuContent({ className, align, alignOffset, side, sideOffset, ...props }: ContextMenuPrimitive.Popup.Props & Pick<ContextMenuPrimitive.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'>): import("react/jsx-runtime").JSX.Element;
6
+ declare function ContextMenuGroup({ ...props }: ContextMenuPrimitive.Group.Props): import("react/jsx-runtime").JSX.Element;
7
+ declare function ContextMenuLabel({ className, inset, ...props }: ContextMenuPrimitive.GroupLabel.Props & {
13
8
  inset?: boolean;
14
- variant?: 'default' | 'destructive';
15
9
  }): import("react/jsx-runtime").JSX.Element;
16
- declare function ContextMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.SubmenuTrigger> & {
10
+ declare function ContextMenuItem({ className, inset, variant, ...props }: ContextMenuPrimitive.Item.Props & {
17
11
  inset?: boolean;
12
+ variant?: 'default' | 'destructive';
18
13
  }): import("react/jsx-runtime").JSX.Element;
19
- declare function ContextMenuSubContent({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Popup>): import("react/jsx-runtime").JSX.Element;
20
- declare function ContextMenuCheckboxItem({ className, children, checked, inset, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem> & {
14
+ declare function ContextMenuSub({ ...props }: ContextMenuPrimitive.SubmenuRoot.Props): import("react/jsx-runtime").JSX.Element;
15
+ declare function ContextMenuSubTrigger({ className, inset, children, ...props }: ContextMenuPrimitive.SubmenuTrigger.Props & {
21
16
  inset?: boolean;
22
17
  }): import("react/jsx-runtime").JSX.Element;
23
- declare function ContextMenuRadioItem({ className, children, inset, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem> & {
18
+ declare function ContextMenuSubContent({ ...props }: React.ComponentProps<typeof ContextMenuContent>): import("react/jsx-runtime").JSX.Element;
19
+ declare function ContextMenuCheckboxItem({ className, children, checked, inset, ...props }: ContextMenuPrimitive.CheckboxItem.Props & {
24
20
  inset?: boolean;
25
21
  }): import("react/jsx-runtime").JSX.Element;
26
- declare function ContextMenuLabel({ className, inset, ...props }: React.ComponentProps<'div'> & {
22
+ declare function ContextMenuRadioGroup({ ...props }: ContextMenuPrimitive.RadioGroup.Props): import("react/jsx-runtime").JSX.Element;
23
+ declare function ContextMenuRadioItem({ className, children, inset, ...props }: ContextMenuPrimitive.RadioItem.Props & {
27
24
  inset?: boolean;
28
25
  }): import("react/jsx-runtime").JSX.Element;
29
- declare function ContextMenuSeparator({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
26
+ declare function ContextMenuSeparator({ className, ...props }: ContextMenuPrimitive.Separator.Props): import("react/jsx-runtime").JSX.Element;
30
27
  declare function ContextMenuShortcut({ className, ...props }: React.ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
31
28
  export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuCheckboxItem, ContextMenuRadioItem, ContextMenuLabel, ContextMenuSeparator, ContextMenuShortcut, ContextMenuGroup, ContextMenuPortal, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuRadioGroup, };
@@ -5,74 +5,89 @@ import { CheckIcon as r, ChevronRightIcon as i } from "lucide-react";
5
5
  import { ContextMenu as a } from "@base-ui/react/context-menu";
6
6
  //#region src/elements/context-menu.tsx
7
7
  function o({ ...e }) {
8
- return /* @__PURE__ */ t(a.Root, { ...e });
8
+ return /* @__PURE__ */ t(a.Root, {
9
+ "data-slot": "context-menu",
10
+ ...e
11
+ });
12
+ }
13
+ function s({ ...e }) {
14
+ return /* @__PURE__ */ t(a.Portal, {
15
+ "data-slot": "context-menu-portal",
16
+ ...e
17
+ });
9
18
  }
10
- function s({ className: n, ...r }) {
19
+ function c({ className: n, ...r }) {
11
20
  return /* @__PURE__ */ t(a.Trigger, {
12
21
  "data-slot": "context-menu-trigger",
13
22
  className: e("select-none", n),
14
23
  ...r
15
24
  });
16
25
  }
17
- function c({ ...e }) {
26
+ function l({ className: n, align: r = "start", alignOffset: i = 4, side: o = "right", sideOffset: s = 0, ...c }) {
27
+ return /* @__PURE__ */ t(a.Portal, { children: /* @__PURE__ */ t(a.Positioner, {
28
+ className: "isolate z-50 outline-none",
29
+ align: r,
30
+ alignOffset: i,
31
+ side: o,
32
+ sideOffset: s,
33
+ children: /* @__PURE__ */ t(a.Popup, {
34
+ "data-slot": "context-menu-content",
35
+ className: e("z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", n),
36
+ ...c
37
+ })
38
+ }) });
39
+ }
40
+ function u({ ...e }) {
18
41
  return /* @__PURE__ */ t(a.Group, {
19
42
  "data-slot": "context-menu-group",
20
43
  ...e
21
44
  });
22
45
  }
23
- function l({ ...e }) {
24
- return /* @__PURE__ */ t(a.Portal, { ...e });
25
- }
26
- function u({ ...e }) {
27
- return /* @__PURE__ */ t(a.SubmenuRoot, { ...e });
28
- }
29
- function d({ ...e }) {
30
- return /* @__PURE__ */ t(a.RadioGroup, {
31
- "data-slot": "context-menu-radio-group",
32
- ...e
46
+ function d({ className: n, inset: r, ...i }) {
47
+ return /* @__PURE__ */ t(a.GroupLabel, {
48
+ "data-slot": "context-menu-label",
49
+ "data-inset": r,
50
+ className: e("px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7", n),
51
+ ...i
33
52
  });
34
53
  }
35
- function f({ className: n, side: r, align: i, ...o }) {
36
- return /* @__PURE__ */ t(a.Portal, { children: /* @__PURE__ */ t(a.Positioner, {
37
- side: r,
38
- align: i,
39
- children: /* @__PURE__ */ t(a.Popup, {
40
- "data-slot": "context-menu-content",
41
- className: e("z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-95 data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95", n),
42
- ...o
43
- })
44
- }) });
45
- }
46
- function p({ className: n, inset: r, variant: i = "default", ...o }) {
54
+ function f({ className: n, inset: r, variant: i = "default", ...o }) {
47
55
  return /* @__PURE__ */ t(a.Item, {
48
56
  "data-slot": "context-menu-item",
49
57
  "data-inset": r,
50
58
  "data-variant": i,
51
- className: e("group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:data-[highlighted]:bg-destructive/10 data-[variant=destructive]:data-[highlighted]:text-destructive dark:data-[variant=destructive]:data-[highlighted]:bg-destructive/20 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[highlighted]:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive", n),
59
+ className: e("group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive", n),
52
60
  ...o
53
61
  });
54
62
  }
63
+ function p({ ...e }) {
64
+ return /* @__PURE__ */ t(a.SubmenuRoot, {
65
+ "data-slot": "context-menu-sub",
66
+ ...e
67
+ });
68
+ }
55
69
  function m({ className: r, inset: o, children: s, ...c }) {
56
70
  return /* @__PURE__ */ n(a.SubmenuTrigger, {
57
71
  "data-slot": "context-menu-sub-trigger",
58
72
  "data-inset": o,
59
- className: e("flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[popup-open]:bg-accent data-[popup-open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", r),
73
+ className: e("flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", r),
60
74
  ...c,
61
75
  children: [s, /* @__PURE__ */ t(i, { className: "cn-rtl-flip ml-auto" })]
62
76
  });
63
77
  }
64
- function h({ className: n, ...r }) {
65
- return /* @__PURE__ */ t(a.Portal, { children: /* @__PURE__ */ t(a.Positioner, { children: /* @__PURE__ */ t(a.Popup, {
78
+ function h({ ...e }) {
79
+ return /* @__PURE__ */ t(l, {
66
80
  "data-slot": "context-menu-sub-content",
67
- className: e("z-50 min-w-32 origin-(--transform-origin) overflow-hidden rounded-lg border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-95 data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95", n),
68
- ...r
69
- }) }) });
81
+ className: "shadow-lg",
82
+ side: "right",
83
+ ...e
84
+ });
70
85
  }
71
86
  function g({ className: i, children: o, checked: s, inset: c, ...l }) {
72
87
  return /* @__PURE__ */ n(a.CheckboxItem, {
73
88
  "data-slot": "context-menu-checkbox-item",
74
89
  "data-inset": c,
75
- className: e("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", i),
90
+ className: e("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", i),
76
91
  checked: s,
77
92
  ...l,
78
93
  children: [/* @__PURE__ */ t("span", {
@@ -81,11 +96,17 @@ function g({ className: i, children: o, checked: s, inset: c, ...l }) {
81
96
  }), o]
82
97
  });
83
98
  }
84
- function _({ className: i, children: o, inset: s, ...c }) {
99
+ function _({ ...e }) {
100
+ return /* @__PURE__ */ t(a.RadioGroup, {
101
+ "data-slot": "context-menu-radio-group",
102
+ ...e
103
+ });
104
+ }
105
+ function v({ className: i, children: o, inset: s, ...c }) {
85
106
  return /* @__PURE__ */ n(a.RadioItem, {
86
107
  "data-slot": "context-menu-radio-item",
87
108
  "data-inset": s,
88
- className: e("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", i),
109
+ className: e("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", i),
89
110
  ...c,
90
111
  children: [/* @__PURE__ */ t("span", {
91
112
  className: "pointer-events-none absolute right-2",
@@ -93,14 +114,6 @@ function _({ className: i, children: o, inset: s, ...c }) {
93
114
  }), o]
94
115
  });
95
116
  }
96
- function v({ className: n, inset: r, ...i }) {
97
- return /* @__PURE__ */ t("div", {
98
- "data-slot": "context-menu-label",
99
- "data-inset": r,
100
- className: e("px-1.5 py-1 text-xs font-medium text-muted-foreground data-[inset]:pl-7", n),
101
- ...i
102
- });
103
- }
104
117
  function y({ className: n, ...r }) {
105
118
  return /* @__PURE__ */ t(a.Separator, {
106
119
  "data-slot": "context-menu-separator",
@@ -111,11 +124,11 @@ function y({ className: n, ...r }) {
111
124
  function b({ className: n, ...r }) {
112
125
  return /* @__PURE__ */ t("span", {
113
126
  "data-slot": "context-menu-shortcut",
114
- className: e("ml-auto text-xs tracking-widest text-muted-foreground group-data-[highlighted]/context-menu-item:text-accent-foreground", n),
127
+ className: e("ml-auto text-xs tracking-widest text-muted-foreground group-focus/context-menu-item:text-accent-foreground", n),
115
128
  ...r
116
129
  });
117
130
  }
118
131
  //#endregion
119
- export { o as ContextMenu, g as ContextMenuCheckboxItem, f as ContextMenuContent, c as ContextMenuGroup, p as ContextMenuItem, v as ContextMenuLabel, l as ContextMenuPortal, d as ContextMenuRadioGroup, _ as ContextMenuRadioItem, y as ContextMenuSeparator, b as ContextMenuShortcut, u as ContextMenuSub, h as ContextMenuSubContent, m as ContextMenuSubTrigger, s as ContextMenuTrigger };
132
+ export { o as ContextMenu, g as ContextMenuCheckboxItem, l as ContextMenuContent, u as ContextMenuGroup, f as ContextMenuItem, d as ContextMenuLabel, s as ContextMenuPortal, _ as ContextMenuRadioGroup, v as ContextMenuRadioItem, y as ContextMenuSeparator, b as ContextMenuShortcut, p as ContextMenuSub, h as ContextMenuSubContent, m as ContextMenuSubTrigger, c as ContextMenuTrigger };
120
133
 
121
134
  //# sourceMappingURL=context-menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-menu.js","names":[],"sources":["../../src/elements/context-menu.tsx"],"sourcesContent":["'use client';\n\nimport { ContextMenu as ContextMenuPrimitive } from '@base-ui/react/context-menu';\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction ContextMenu({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {\n return <ContextMenuPrimitive.Root {...props} />;\n}\n\nfunction ContextMenuTrigger({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {\n return (\n <ContextMenuPrimitive.Trigger\n data-slot=\"context-menu-trigger\"\n className={cn('select-none', className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {\n return <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />;\n}\n\nfunction ContextMenuPortal({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {\n return <ContextMenuPrimitive.Portal {...props} />;\n}\n\nfunction ContextMenuSub({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.SubmenuRoot>) {\n return <ContextMenuPrimitive.SubmenuRoot {...props} />;\n}\n\nfunction ContextMenuRadioGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {\n return <ContextMenuPrimitive.RadioGroup data-slot=\"context-menu-radio-group\" {...props} />;\n}\n\nfunction ContextMenuContent({\n className,\n side,\n align,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Popup> & {\n side?: React.ComponentProps<typeof ContextMenuPrimitive.Positioner>['side'];\n align?: React.ComponentProps<typeof ContextMenuPrimitive.Positioner>['align'];\n}) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Positioner side={side} align={align}>\n <ContextMenuPrimitive.Popup\n data-slot=\"context-menu-content\"\n className={cn(\n 'z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-95 data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95',\n className,\n )}\n {...props}\n />\n </ContextMenuPrimitive.Positioner>\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 \"group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:data-[highlighted]:bg-destructive/10 data-[variant=destructive]:data-[highlighted]:text-destructive dark:data-[variant=destructive]:data-[highlighted]:bg-destructive/20 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[highlighted]:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubmenuTrigger> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.SubmenuTrigger\n data-slot=\"context-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[popup-open]:bg-accent data-[popup-open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"cn-rtl-flip ml-auto\" />\n </ContextMenuPrimitive.SubmenuTrigger>\n );\n}\n\nfunction ContextMenuSubContent({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Popup>) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Positioner>\n <ContextMenuPrimitive.Popup\n data-slot=\"context-menu-sub-content\"\n className={cn(\n 'z-50 min-w-32 origin-(--transform-origin) overflow-hidden rounded-lg border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-95 data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95',\n className,\n )}\n {...props}\n />\n </ContextMenuPrimitive.Positioner>\n </ContextMenuPrimitive.Portal>\n );\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot=\"context-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2\">\n <ContextMenuPrimitive.CheckboxItemIndicator>\n <CheckIcon />\n </ContextMenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot=\"context-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2\">\n <ContextMenuPrimitive.RadioItemIndicator>\n <CheckIcon />\n </ContextMenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n );\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<'div'> & {\n inset?: boolean;\n}) {\n return (\n <div\n data-slot=\"context-menu-label\"\n data-inset={inset}\n className={cn('px-1.5 py-1 text-xs font-medium text-muted-foreground data-[inset]:pl-7', className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuSeparator({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {\n return (\n <ContextMenuPrimitive.Separator\n data-slot=\"context-menu-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"context-menu-shortcut\"\n className={cn(\n 'ml-auto text-xs tracking-widest text-muted-foreground group-data-[highlighted]/context-menu-item:text-accent-foreground',\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"],"mappings":"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"}
1
+ {"version":3,"file":"context-menu.js","names":[],"sources":["../../src/elements/context-menu.tsx"],"sourcesContent":["'use client';\n\nimport { ContextMenu as ContextMenuPrimitive } from '@base-ui/react/context-menu';\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction ContextMenu({ ...props }: ContextMenuPrimitive.Root.Props) {\n return <ContextMenuPrimitive.Root data-slot=\"context-menu\" {...props} />;\n}\n\nfunction ContextMenuPortal({ ...props }: ContextMenuPrimitive.Portal.Props) {\n return <ContextMenuPrimitive.Portal data-slot=\"context-menu-portal\" {...props} />;\n}\n\nfunction ContextMenuTrigger({ className, ...props }: ContextMenuPrimitive.Trigger.Props) {\n return (\n <ContextMenuPrimitive.Trigger\n data-slot=\"context-menu-trigger\"\n className={cn('select-none', className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuContent({\n className,\n align = 'start',\n alignOffset = 4,\n side = 'right',\n sideOffset = 0,\n ...props\n}: ContextMenuPrimitive.Popup.Props &\n Pick<ContextMenuPrimitive.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'>) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Positioner\n className=\"isolate z-50 outline-none\"\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <ContextMenuPrimitive.Popup\n data-slot=\"context-menu-content\"\n className={cn(\n 'z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n className,\n )}\n {...props}\n />\n </ContextMenuPrimitive.Positioner>\n </ContextMenuPrimitive.Portal>\n );\n}\n\nfunction ContextMenuGroup({ ...props }: ContextMenuPrimitive.Group.Props) {\n return <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />;\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: ContextMenuPrimitive.GroupLabel.Props & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.GroupLabel\n data-slot=\"context-menu-label\"\n data-inset={inset}\n className={cn('px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7', className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: ContextMenuPrimitive.Item.Props & {\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 \"group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuSub({ ...props }: ContextMenuPrimitive.SubmenuRoot.Props) {\n return <ContextMenuPrimitive.SubmenuRoot data-slot=\"context-menu-sub\" {...props} />;\n}\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: ContextMenuPrimitive.SubmenuTrigger.Props & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.SubmenuTrigger\n data-slot=\"context-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"cn-rtl-flip ml-auto\" />\n </ContextMenuPrimitive.SubmenuTrigger>\n );\n}\n\nfunction ContextMenuSubContent({ ...props }: React.ComponentProps<typeof ContextMenuContent>) {\n return <ContextMenuContent data-slot=\"context-menu-sub-content\" className=\"shadow-lg\" side=\"right\" {...props} />;\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: ContextMenuPrimitive.CheckboxItem.Props & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot=\"context-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2\">\n <ContextMenuPrimitive.CheckboxItemIndicator>\n <CheckIcon />\n </ContextMenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction ContextMenuRadioGroup({ ...props }: ContextMenuPrimitive.RadioGroup.Props) {\n return <ContextMenuPrimitive.RadioGroup data-slot=\"context-menu-radio-group\" {...props} />;\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: ContextMenuPrimitive.RadioItem.Props & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot=\"context-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2\">\n <ContextMenuPrimitive.RadioItemIndicator>\n <CheckIcon />\n </ContextMenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n );\n}\n\nfunction ContextMenuSeparator({ className, ...props }: ContextMenuPrimitive.Separator.Props) {\n return (\n <ContextMenuPrimitive.Separator\n data-slot=\"context-menu-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"context-menu-shortcut\"\n className={cn(\n 'ml-auto text-xs tracking-widest text-muted-foreground group-focus/context-menu-item:text-accent-foreground',\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"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../lib/utils.cjs`);let n=require(`react/jsx-runtime`),r=require(`lucide-react`),i=require(`react`);i=e.__toESM(i,1);let a=require(`@base-ui/react/dialog`);function o({...e}){return(0,n.jsx)(a.Dialog.Root,{...e})}function s({...e}){return(0,n.jsx)(a.Dialog.Trigger,{"data-slot":`dialog-trigger`,...e})}function c({...e}){return(0,n.jsx)(a.Dialog.Portal,{...e})}function l({...e}){return(0,n.jsx)(a.Dialog.Close,{"data-slot":`dialog-close`,...e})}function u({className:e,...r}){return(0,n.jsx)(a.Dialog.Backdrop,{"data-slot":`dialog-overlay`,className:t.cn(`data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 fixed inset-0 z-50 bg-black/50`,e),...r})}function d({className:e,children:i,showCloseButton:o=!0,...s}){return(0,n.jsxs)(c,{children:[(0,n.jsx)(u,{}),(0,n.jsxs)(a.Dialog.Popup,{"data-slot":`dialog-content`,className:t.cn(`bg-background data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 data-[closed]:zoom-out-95 data-[open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,e),...s,children:[i,o&&(0,n.jsxs)(a.Dialog.Close,{"data-slot":`dialog-close`,className:`ring-offset-background focus:ring-ring data-[open]:bg-accent data-[open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[(0,n.jsx)(r.XIcon,{}),(0,n.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function f({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`dialog-header`,className:t.cn(`flex flex-col gap-2 text-center sm:text-left`,e),...r})}function p({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`dialog-footer`,className:t.cn(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...r})}function m({className:e,...r}){return(0,n.jsx)(a.Dialog.Title,{"data-slot":`dialog-title`,className:t.cn(`text-lg leading-none font-semibold`,e),...r})}function h({className:e,...r}){return(0,n.jsx)(a.Dialog.Description,{"data-slot":`dialog-description`,className:t.cn(`text-muted-foreground text-sm`,e),...r})}exports.Dialog=o,exports.DialogClose=l,exports.DialogContent=d,exports.DialogDescription=h,exports.DialogFooter=p,exports.DialogHeader=f,exports.DialogOverlay=u,exports.DialogPortal=c,exports.DialogTitle=m,exports.DialogTrigger=s;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../lib/utils.cjs`),t=require(`./button.cjs`);let n=require(`react/jsx-runtime`),r=require(`lucide-react`),i=require(`@base-ui/react/dialog`);function a({...e}){return(0,n.jsx)(i.Dialog.Root,{"data-slot":`dialog`,...e})}function o({...e}){return(0,n.jsx)(i.Dialog.Trigger,{"data-slot":`dialog-trigger`,...e})}function s({...e}){return(0,n.jsx)(i.Dialog.Portal,{"data-slot":`dialog-portal`,...e})}function c({...e}){return(0,n.jsx)(i.Dialog.Close,{"data-slot":`dialog-close`,...e})}function l({className:t,...r}){return(0,n.jsx)(i.Dialog.Backdrop,{"data-slot":`dialog-overlay`,className:e.cn(`fixed inset-0 isolate z-50 bg-black/50 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,t),...r})}function u({className:a,children:o,showCloseButton:c=!0,...u}){return(0,n.jsxs)(s,{children:[(0,n.jsx)(l,{}),(0,n.jsxs)(i.Dialog.Popup,{"data-slot":`dialog-content`,className:e.cn(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,a),...u,children:[o,c&&(0,n.jsx)(i.Dialog.Close,{"data-slot":`dialog-close`,render:(0,n.jsxs)(t.Button,{variant:`ghost`,className:`absolute top-2 right-2`,size:`icon-sm`,children:[(0,n.jsx)(r.XIcon,{}),(0,n.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function d({className:t,...r}){return(0,n.jsx)(`div`,{"data-slot":`dialog-header`,className:e.cn(`flex flex-col gap-2`,t),...r})}function f({className:r,showCloseButton:a=!1,children:o,...s}){return(0,n.jsxs)(`div`,{"data-slot":`dialog-footer`,className:e.cn(`-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end`,r),...s,children:[o,a&&(0,n.jsx)(i.Dialog.Close,{render:(0,n.jsx)(t.Button,{variant:`outline`,children:`Close`})})]})}function p({className:t,...r}){return(0,n.jsx)(i.Dialog.Title,{"data-slot":`dialog-title`,className:e.cn(`cn-font-heading text-base leading-none font-medium`,t),...r})}function m({className:t,...r}){return(0,n.jsx)(i.Dialog.Description,{"data-slot":`dialog-description`,className:e.cn(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,t),...r})}exports.Dialog=a,exports.DialogClose=c,exports.DialogContent=u,exports.DialogDescription=m,exports.DialogFooter=f,exports.DialogHeader=d,exports.DialogOverlay=l,exports.DialogPortal=s,exports.DialogTitle=p,exports.DialogTrigger=o;
2
2
  //# sourceMappingURL=dialog.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.cjs","names":[],"sources":["../../src/elements/dialog.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Dialog as DialogPrimitive } from '@base-ui/react/dialog';\nimport { XIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root {...props} />;\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal {...props} />;\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Backdrop>) {\n return (\n <DialogPrimitive.Backdrop\n data-slot=\"dialog-overlay\"\n className={cn(\n 'data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Popup> & {\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Popup\n data-slot=\"dialog-content\"\n className={cn(\n 'bg-background data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 data-[closed]:zoom-out-95 data-[open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg',\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"ring-offset-background focus:ring-ring data-[open]:bg-accent data-[open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n >\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Popup>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn('flex flex-col gap-2 text-center sm:text-left', className)}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className)}\n {...props}\n />\n );\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('text-lg leading-none font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"mappings":"2SAQA,SAAS,EAAO,CAAE,GAAG,GAA4D,CAC/E,OAAO,EAAA,EAAA,KAAC,EAAA,OAAgB,KAAjB,CAAsB,GAAI,EAAS,CAAA,CAG5C,SAAS,EAAc,CAAE,GAAG,GAA+D,CACzF,OAAO,EAAA,EAAA,KAAC,EAAA,OAAgB,QAAjB,CAAyB,YAAU,iBAAiB,GAAI,EAAS,CAAA,CAG1E,SAAS,EAAa,CAAE,GAAG,GAA8D,CACvF,OAAO,EAAA,EAAA,KAAC,EAAA,OAAgB,OAAjB,CAAwB,GAAI,EAAS,CAAA,CAG9C,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAAA,EAAA,KAAC,EAAA,OAAgB,MAAjB,CAAuB,YAAU,eAAe,GAAI,EAAS,CAAA,CAGtE,SAAS,EAAc,CAAE,YAAW,GAAG,GAAgE,CACrG,OACE,EAAA,EAAA,KAAC,EAAA,OAAgB,SAAjB,CACE,YAAU,iBACV,UAAW,EAAA,GACT,iIACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAc,CACrB,YACA,WACA,kBAAkB,GAClB,GAAG,GAGF,CACD,OACE,EAAA,EAAA,MAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,KAAC,EAAD,EAAiB,CAAA,EACjB,EAAA,EAAA,MAAC,EAAA,OAAgB,MAAjB,CACE,YAAU,iBACV,UAAW,EAAA,GACT,0UACA,EACD,CACD,GAAI,WANN,CAQG,EACA,IACC,EAAA,EAAA,MAAC,EAAA,OAAgB,MAAjB,CACE,YAAU,eACV,UAAU,iWAFZ,EAIE,EAAA,EAAA,KAAC,EAAA,MAAD,EAAS,CAAA,EACT,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mBAAU,QAAY,CAAA,CAChB,GAEJ,GACX,CAAA,CAAA,CAInB,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,gBACV,UAAW,EAAA,GAAG,+CAAgD,EAAU,CACxE,GAAI,EACJ,CAAA,CAIN,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,gBACV,UAAW,EAAA,GAAG,yDAA0D,EAAU,CAClF,GAAI,EACJ,CAAA,CAIN,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OACE,EAAA,EAAA,KAAC,EAAA,OAAgB,MAAjB,CACE,YAAU,eACV,UAAW,EAAA,GAAG,qCAAsC,EAAU,CAC9D,GAAI,EACJ,CAAA,CAIN,SAAS,EAAkB,CAAE,YAAW,GAAG,GAAmE,CAC5G,OACE,EAAA,EAAA,KAAC,EAAA,OAAgB,YAAjB,CACE,YAAU,qBACV,UAAW,EAAA,GAAG,gCAAiC,EAAU,CACzD,GAAI,EACJ,CAAA"}
1
+ {"version":3,"file":"dialog.cjs","names":[],"sources":["../../src/elements/dialog.tsx"],"sourcesContent":["'use client';\n\nimport { Dialog as DialogPrimitive } from '@base-ui/react/dialog';\nimport { XIcon } from 'lucide-react';\n\nimport { Button } from '@/elements/button';\nimport { cn } from '@/lib/utils';\n\nfunction Dialog({ ...props }: DialogPrimitive.Root.Props) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({ ...props }: DialogPrimitive.Trigger.Props) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({ ...props }: DialogPrimitive.Portal.Props) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({ ...props }: DialogPrimitive.Close.Props) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({ className, ...props }: DialogPrimitive.Backdrop.Props) {\n return (\n <DialogPrimitive.Backdrop\n data-slot=\"dialog-overlay\"\n className={cn(\n 'fixed inset-0 isolate z-50 bg-black/50 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: DialogPrimitive.Popup.Props & {\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Popup\n data-slot=\"dialog-content\"\n className={cn(\n 'fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n render={\n <Button variant=\"ghost\" className=\"absolute top-2 right-2\" size=\"icon-sm\">\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </Button>\n }\n />\n )}\n </DialogPrimitive.Popup>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"dialog-header\" className={cn('flex flex-col gap-2', className)} {...props} />;\n}\n\nfunction DialogFooter({\n className,\n showCloseButton = false,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n showCloseButton?: boolean;\n}) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n '-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && <DialogPrimitive.Close render={<Button variant=\"outline\">Close</Button>} />}\n </div>\n );\n}\n\nfunction DialogTitle({ className, ...props }: DialogPrimitive.Title.Props) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('cn-font-heading text-base leading-none font-medium', className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({ className, ...props }: DialogPrimitive.Description.Props) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\n 'text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"mappings":"2RAQA,SAAS,EAAO,CAAE,GAAG,GAAqC,CACxD,OAAO,EAAA,EAAA,KAAC,EAAA,OAAgB,KAAjB,CAAsB,YAAU,SAAS,GAAI,EAAS,CAAA,CAG/D,SAAS,EAAc,CAAE,GAAG,GAAwC,CAClE,OAAO,EAAA,EAAA,KAAC,EAAA,OAAgB,QAAjB,CAAyB,YAAU,iBAAiB,GAAI,EAAS,CAAA,CAG1E,SAAS,EAAa,CAAE,GAAG,GAAuC,CAChE,OAAO,EAAA,EAAA,KAAC,EAAA,OAAgB,OAAjB,CAAwB,YAAU,gBAAgB,GAAI,EAAS,CAAA,CAGxE,SAAS,EAAY,CAAE,GAAG,GAAsC,CAC9D,OAAO,EAAA,EAAA,KAAC,EAAA,OAAgB,MAAjB,CAAuB,YAAU,eAAe,GAAI,EAAS,CAAA,CAGtE,SAAS,EAAc,CAAE,YAAW,GAAG,GAAyC,CAC9E,OACE,EAAA,EAAA,KAAC,EAAA,OAAgB,SAAjB,CACE,YAAU,iBACV,UAAW,EAAA,GACT,8IACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAc,CACrB,YACA,WACA,kBAAkB,GAClB,GAAG,GAGF,CACD,OACE,EAAA,EAAA,MAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,KAAC,EAAD,EAAiB,CAAA,EACjB,EAAA,EAAA,MAAC,EAAA,OAAgB,MAAjB,CACE,YAAU,iBACV,UAAW,EAAA,GACT,yWACA,EACD,CACD,GAAI,WANN,CAQG,EACA,IACC,EAAA,EAAA,KAAC,EAAA,OAAgB,MAAjB,CACE,YAAU,eACV,QACE,EAAA,EAAA,MAAC,EAAA,OAAD,CAAQ,QAAQ,QAAQ,UAAU,yBAAyB,KAAK,mBAAhE,EACE,EAAA,EAAA,KAAC,EAAA,MAAD,EAAS,CAAA,EACT,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mBAAU,QAAY,CAAA,CAC/B,GAEX,CAAA,CAEkB,GACX,CAAA,CAAA,CAInB,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,YAAU,gBAAgB,UAAW,EAAA,GAAG,sBAAuB,EAAU,CAAE,GAAI,EAAS,CAAA,CAGtG,SAAS,EAAa,CACpB,YACA,kBAAkB,GAClB,WACA,GAAG,GAGF,CACD,OACE,EAAA,EAAA,MAAC,MAAD,CACE,YAAU,gBACV,UAAW,EAAA,GACT,2GACA,EACD,CACD,GAAI,WANN,CAQG,EACA,IAAmB,EAAA,EAAA,KAAC,EAAA,OAAgB,MAAjB,CAAuB,QAAQ,EAAA,EAAA,KAAC,EAAA,OAAD,CAAQ,QAAQ,mBAAU,QAAc,CAAA,CAAI,CAAA,CAC3F,GAIV,SAAS,EAAY,CAAE,YAAW,GAAG,GAAsC,CACzE,OACE,EAAA,EAAA,KAAC,EAAA,OAAgB,MAAjB,CACE,YAAU,eACV,UAAW,EAAA,GAAG,qDAAsD,EAAU,CAC9E,GAAI,EACJ,CAAA,CAIN,SAAS,EAAkB,CAAE,YAAW,GAAG,GAA4C,CACrF,OACE,EAAA,EAAA,KAAC,EAAA,OAAgB,YAAjB,CACE,YAAU,qBACV,UAAW,EAAA,GACT,qGACA,EACD,CACD,GAAI,EACJ,CAAA"}
@@ -1,15 +1,16 @@
1
- import * as React from 'react';
2
1
  import { Dialog as DialogPrimitive } from '@base-ui/react/dialog';
3
- declare function Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
- declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
- declare function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
6
- declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
7
- declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Backdrop>): import("react/jsx-runtime").JSX.Element;
8
- declare function DialogContent({ className, children, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Popup> & {
2
+ declare function Dialog({ ...props }: DialogPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
3
+ declare function DialogTrigger({ ...props }: DialogPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
4
+ declare function DialogPortal({ ...props }: DialogPrimitive.Portal.Props): import("react/jsx-runtime").JSX.Element;
5
+ declare function DialogClose({ ...props }: DialogPrimitive.Close.Props): import("react/jsx-runtime").JSX.Element;
6
+ declare function DialogOverlay({ className, ...props }: DialogPrimitive.Backdrop.Props): import("react/jsx-runtime").JSX.Element;
7
+ declare function DialogContent({ className, children, showCloseButton, ...props }: DialogPrimitive.Popup.Props & {
9
8
  showCloseButton?: boolean;
10
9
  }): import("react/jsx-runtime").JSX.Element;
11
10
  declare function DialogHeader({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
12
- declare function DialogFooter({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
13
- declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
14
- declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
11
+ declare function DialogFooter({ className, showCloseButton, children, ...props }: React.ComponentProps<'div'> & {
12
+ showCloseButton?: boolean;
13
+ }): import("react/jsx-runtime").JSX.Element;
14
+ declare function DialogTitle({ className, ...props }: DialogPrimitive.Title.Props): import("react/jsx-runtime").JSX.Element;
15
+ declare function DialogDescription({ className, ...props }: DialogPrimitive.Description.Props): import("react/jsx-runtime").JSX.Element;
15
16
  export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
@@ -1,79 +1,93 @@
1
1
  "use client";
2
2
  import { cn as e } from "../lib/utils.js";
3
- import { jsx as t, jsxs as n } from "react/jsx-runtime";
4
- import { XIcon as r } from "lucide-react";
5
- import "react";
6
- import { Dialog as i } from "@base-ui/react/dialog";
3
+ import { Button as t } from "./button.js";
4
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
+ import { XIcon as i } from "lucide-react";
6
+ import { Dialog as a } from "@base-ui/react/dialog";
7
7
  //#region src/elements/dialog.tsx
8
- function a({ ...e }) {
9
- return /* @__PURE__ */ t(i.Root, { ...e });
10
- }
11
8
  function o({ ...e }) {
12
- return /* @__PURE__ */ t(i.Trigger, {
13
- "data-slot": "dialog-trigger",
9
+ return /* @__PURE__ */ n(a.Root, {
10
+ "data-slot": "dialog",
14
11
  ...e
15
12
  });
16
13
  }
17
14
  function s({ ...e }) {
18
- return /* @__PURE__ */ t(i.Portal, { ...e });
15
+ return /* @__PURE__ */ n(a.Trigger, {
16
+ "data-slot": "dialog-trigger",
17
+ ...e
18
+ });
19
19
  }
20
20
  function c({ ...e }) {
21
- return /* @__PURE__ */ t(i.Close, {
21
+ return /* @__PURE__ */ n(a.Portal, {
22
+ "data-slot": "dialog-portal",
23
+ ...e
24
+ });
25
+ }
26
+ function l({ ...e }) {
27
+ return /* @__PURE__ */ n(a.Close, {
22
28
  "data-slot": "dialog-close",
23
29
  ...e
24
30
  });
25
31
  }
26
- function l({ className: n, ...r }) {
27
- return /* @__PURE__ */ t(i.Backdrop, {
32
+ function u({ className: t, ...r }) {
33
+ return /* @__PURE__ */ n(a.Backdrop, {
28
34
  "data-slot": "dialog-overlay",
29
- className: e("data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 fixed inset-0 z-50 bg-black/50", n),
35
+ className: e("fixed inset-0 isolate z-50 bg-black/50 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", t),
30
36
  ...r
31
37
  });
32
38
  }
33
- function u({ className: a, children: o, showCloseButton: c = !0, ...u }) {
34
- return /* @__PURE__ */ n(s, { children: [/* @__PURE__ */ t(l, {}), /* @__PURE__ */ n(i.Popup, {
39
+ function d({ className: o, children: s, showCloseButton: l = !0, ...d }) {
40
+ return /* @__PURE__ */ r(c, { children: [/* @__PURE__ */ n(u, {}), /* @__PURE__ */ r(a.Popup, {
35
41
  "data-slot": "dialog-content",
36
- className: e("bg-background data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 data-[closed]:zoom-out-95 data-[open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg", a),
37
- ...u,
38
- children: [o, c && /* @__PURE__ */ n(i.Close, {
42
+ className: e("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", o),
43
+ ...d,
44
+ children: [s, l && /* @__PURE__ */ n(a.Close, {
39
45
  "data-slot": "dialog-close",
40
- className: "ring-offset-background focus:ring-ring data-[open]:bg-accent data-[open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
41
- children: [/* @__PURE__ */ t(r, {}), /* @__PURE__ */ t("span", {
42
- className: "sr-only",
43
- children: "Close"
44
- })]
46
+ render: /* @__PURE__ */ r(t, {
47
+ variant: "ghost",
48
+ className: "absolute top-2 right-2",
49
+ size: "icon-sm",
50
+ children: [/* @__PURE__ */ n(i, {}), /* @__PURE__ */ n("span", {
51
+ className: "sr-only",
52
+ children: "Close"
53
+ })]
54
+ })
45
55
  })]
46
56
  })] });
47
57
  }
48
- function d({ className: n, ...r }) {
49
- return /* @__PURE__ */ t("div", {
58
+ function f({ className: t, ...r }) {
59
+ return /* @__PURE__ */ n("div", {
50
60
  "data-slot": "dialog-header",
51
- className: e("flex flex-col gap-2 text-center sm:text-left", n),
61
+ className: e("flex flex-col gap-2", t),
52
62
  ...r
53
63
  });
54
64
  }
55
- function f({ className: n, ...r }) {
56
- return /* @__PURE__ */ t("div", {
65
+ function p({ className: i, showCloseButton: o = !1, children: s, ...c }) {
66
+ return /* @__PURE__ */ r("div", {
57
67
  "data-slot": "dialog-footer",
58
- className: e("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", n),
59
- ...r
68
+ className: e("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end", i),
69
+ ...c,
70
+ children: [s, o && /* @__PURE__ */ n(a.Close, { render: /* @__PURE__ */ n(t, {
71
+ variant: "outline",
72
+ children: "Close"
73
+ }) })]
60
74
  });
61
75
  }
62
- function p({ className: n, ...r }) {
63
- return /* @__PURE__ */ t(i.Title, {
76
+ function m({ className: t, ...r }) {
77
+ return /* @__PURE__ */ n(a.Title, {
64
78
  "data-slot": "dialog-title",
65
- className: e("text-lg leading-none font-semibold", n),
79
+ className: e("cn-font-heading text-base leading-none font-medium", t),
66
80
  ...r
67
81
  });
68
82
  }
69
- function m({ className: n, ...r }) {
70
- return /* @__PURE__ */ t(i.Description, {
83
+ function h({ className: t, ...r }) {
84
+ return /* @__PURE__ */ n(a.Description, {
71
85
  "data-slot": "dialog-description",
72
- className: e("text-muted-foreground text-sm", n),
86
+ className: e("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", t),
73
87
  ...r
74
88
  });
75
89
  }
76
90
  //#endregion
77
- export { a as Dialog, c as DialogClose, u as DialogContent, m as DialogDescription, f as DialogFooter, d as DialogHeader, l as DialogOverlay, s as DialogPortal, p as DialogTitle, o as DialogTrigger };
91
+ export { o as Dialog, l as DialogClose, d as DialogContent, h as DialogDescription, p as DialogFooter, f as DialogHeader, u as DialogOverlay, c as DialogPortal, m as DialogTitle, s as DialogTrigger };
78
92
 
79
93
  //# sourceMappingURL=dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","names":[],"sources":["../../src/elements/dialog.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Dialog as DialogPrimitive } from '@base-ui/react/dialog';\nimport { XIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root {...props} />;\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal {...props} />;\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Backdrop>) {\n return (\n <DialogPrimitive.Backdrop\n data-slot=\"dialog-overlay\"\n className={cn(\n 'data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Popup> & {\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Popup\n data-slot=\"dialog-content\"\n className={cn(\n 'bg-background data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 data-[closed]:zoom-out-95 data-[open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg',\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"ring-offset-background focus:ring-ring data-[open]:bg-accent data-[open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n >\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Popup>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn('flex flex-col gap-2 text-center sm:text-left', className)}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className)}\n {...props}\n />\n );\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('text-lg leading-none font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"mappings":";;;;;;;AAQA,SAAS,EAAO,EAAE,GAAG,KAA4D;AAC/E,QAAO,kBAAC,EAAgB,MAAjB,EAAsB,GAAI,GAAS,CAAA;;AAG5C,SAAS,EAAc,EAAE,GAAG,KAA+D;AACzF,QAAO,kBAAC,EAAgB,SAAjB;EAAyB,aAAU;EAAiB,GAAI;EAAS,CAAA;;AAG1E,SAAS,EAAa,EAAE,GAAG,KAA8D;AACvF,QAAO,kBAAC,EAAgB,QAAjB,EAAwB,GAAI,GAAS,CAAA;;AAG9C,SAAS,EAAY,EAAE,GAAG,KAA6D;AACrF,QAAO,kBAAC,EAAgB,OAAjB;EAAuB,aAAU;EAAe,GAAI;EAAS,CAAA;;AAGtE,SAAS,EAAc,EAAE,cAAW,GAAG,KAAgE;AACrG,QACE,kBAAC,EAAgB,UAAjB;EACE,aAAU;EACV,WAAW,EACT,kIACA,EACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAc,EACrB,cACA,aACA,qBAAkB,IAClB,GAAG,KAGF;AACD,QACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAiB,CAAA,EACjB,kBAAC,EAAgB,OAAjB;EACE,aAAU;EACV,WAAW,EACT,2UACA,EACD;EACD,GAAI;YANN,CAQG,GACA,KACC,kBAAC,EAAgB,OAAjB;GACE,aAAU;GACV,WAAU;aAFZ,CAIE,kBAAC,GAAD,EAAS,CAAA,EACT,kBAAC,QAAD;IAAM,WAAU;cAAU;IAAY,CAAA,CAChB;KAEJ;IACX,EAAA,CAAA;;AAInB,SAAS,EAAa,EAAE,cAAW,GAAG,KAAsC;AAC1E,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EAAG,gDAAgD,EAAU;EACxE,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAa,EAAE,cAAW,GAAG,KAAsC;AAC1E,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EAAG,0DAA0D,EAAU;EAClF,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAY,EAAE,cAAW,GAAG,KAA6D;AAChG,QACE,kBAAC,EAAgB,OAAjB;EACE,aAAU;EACV,WAAW,EAAG,sCAAsC,EAAU;EAC9D,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAkB,EAAE,cAAW,GAAG,KAAmE;AAC5G,QACE,kBAAC,EAAgB,aAAjB;EACE,aAAU;EACV,WAAW,EAAG,iCAAiC,EAAU;EACzD,GAAI;EACJ,CAAA"}
1
+ {"version":3,"file":"dialog.js","names":[],"sources":["../../src/elements/dialog.tsx"],"sourcesContent":["'use client';\n\nimport { Dialog as DialogPrimitive } from '@base-ui/react/dialog';\nimport { XIcon } from 'lucide-react';\n\nimport { Button } from '@/elements/button';\nimport { cn } from '@/lib/utils';\n\nfunction Dialog({ ...props }: DialogPrimitive.Root.Props) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({ ...props }: DialogPrimitive.Trigger.Props) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({ ...props }: DialogPrimitive.Portal.Props) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({ ...props }: DialogPrimitive.Close.Props) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({ className, ...props }: DialogPrimitive.Backdrop.Props) {\n return (\n <DialogPrimitive.Backdrop\n data-slot=\"dialog-overlay\"\n className={cn(\n 'fixed inset-0 isolate z-50 bg-black/50 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: DialogPrimitive.Popup.Props & {\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Popup\n data-slot=\"dialog-content\"\n className={cn(\n 'fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n render={\n <Button variant=\"ghost\" className=\"absolute top-2 right-2\" size=\"icon-sm\">\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </Button>\n }\n />\n )}\n </DialogPrimitive.Popup>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"dialog-header\" className={cn('flex flex-col gap-2', className)} {...props} />;\n}\n\nfunction DialogFooter({\n className,\n showCloseButton = false,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n showCloseButton?: boolean;\n}) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n '-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && <DialogPrimitive.Close render={<Button variant=\"outline\">Close</Button>} />}\n </div>\n );\n}\n\nfunction DialogTitle({ className, ...props }: DialogPrimitive.Title.Props) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('cn-font-heading text-base leading-none font-medium', className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({ className, ...props }: DialogPrimitive.Description.Props) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\n 'text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"mappings":";;;;;;;AAQA,SAAS,EAAO,EAAE,GAAG,KAAqC;AACxD,QAAO,kBAAC,EAAgB,MAAjB;EAAsB,aAAU;EAAS,GAAI;EAAS,CAAA;;AAG/D,SAAS,EAAc,EAAE,GAAG,KAAwC;AAClE,QAAO,kBAAC,EAAgB,SAAjB;EAAyB,aAAU;EAAiB,GAAI;EAAS,CAAA;;AAG1E,SAAS,EAAa,EAAE,GAAG,KAAuC;AAChE,QAAO,kBAAC,EAAgB,QAAjB;EAAwB,aAAU;EAAgB,GAAI;EAAS,CAAA;;AAGxE,SAAS,EAAY,EAAE,GAAG,KAAsC;AAC9D,QAAO,kBAAC,EAAgB,OAAjB;EAAuB,aAAU;EAAe,GAAI;EAAS,CAAA;;AAGtE,SAAS,EAAc,EAAE,cAAW,GAAG,KAAyC;AAC9E,QACE,kBAAC,EAAgB,UAAjB;EACE,aAAU;EACV,WAAW,EACT,+IACA,EACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAc,EACrB,cACA,aACA,qBAAkB,IAClB,GAAG,KAGF;AACD,QACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAiB,CAAA,EACjB,kBAAC,EAAgB,OAAjB;EACE,aAAU;EACV,WAAW,EACT,0WACA,EACD;EACD,GAAI;YANN,CAQG,GACA,KACC,kBAAC,EAAgB,OAAjB;GACE,aAAU;GACV,QACE,kBAAC,GAAD;IAAQ,SAAQ;IAAQ,WAAU;IAAyB,MAAK;cAAhE,CACE,kBAAC,GAAD,EAAS,CAAA,EACT,kBAAC,QAAD;KAAM,WAAU;eAAU;KAAY,CAAA,CAC/B;;GAEX,CAAA,CAEkB;IACX,EAAA,CAAA;;AAInB,SAAS,EAAa,EAAE,cAAW,GAAG,KAAsC;AAC1E,QAAO,kBAAC,OAAD;EAAK,aAAU;EAAgB,WAAW,EAAG,uBAAuB,EAAU;EAAE,GAAI;EAAS,CAAA;;AAGtG,SAAS,EAAa,EACpB,cACA,qBAAkB,IAClB,aACA,GAAG,KAGF;AACD,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,4GACA,EACD;EACD,GAAI;YANN,CAQG,GACA,KAAmB,kBAAC,EAAgB,OAAjB,EAAuB,QAAQ,kBAAC,GAAD;GAAQ,SAAQ;aAAU;GAAc,CAAA,EAAI,CAAA,CAC3F;;;AAIV,SAAS,EAAY,EAAE,cAAW,GAAG,KAAsC;AACzE,QACE,kBAAC,EAAgB,OAAjB;EACE,aAAU;EACV,WAAW,EAAG,sDAAsD,EAAU;EAC9E,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAkB,EAAE,cAAW,GAAG,KAA4C;AACrF,QACE,kBAAC,EAAgB,aAAjB;EACE,aAAU;EACV,WAAW,EACT,sGACA,EACD;EACD,GAAI;EACJ,CAAA"}