@sth87/shadcn-design-system 0.0.35 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/README.md +20 -2
  2. package/dist/AI_CONTEXT.md +212 -214
  3. package/dist/cjs/components/Accordion/Accordion.cjs +1 -1
  4. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  5. package/dist/cjs/components/Avatar/Avatar.cjs +1 -1
  6. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  7. package/dist/cjs/components/Badge/Badge.cjs +1 -1
  8. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  9. package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs +1 -1
  10. package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs.map +1 -1
  11. package/dist/cjs/components/Button/Button.cjs +1 -1
  12. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  13. package/dist/cjs/components/Calendar/Calendar.cjs +1 -1
  14. package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -1
  15. package/dist/cjs/components/Carousel/Carousel.cjs +1 -1
  16. package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
  17. package/dist/cjs/components/Checkbox/Checkbox.cjs +1 -1
  18. package/dist/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
  19. package/dist/cjs/components/Collapsible/Collapsible.cjs +1 -1
  20. package/dist/cjs/components/Collapsible/Collapsible.cjs.map +1 -1
  21. package/dist/cjs/components/Command/Command.cjs +1 -1
  22. package/dist/cjs/components/Command/Command.cjs.map +1 -1
  23. package/dist/cjs/components/ContextMenu/ContextMenu.cjs +1 -1
  24. package/dist/cjs/components/ContextMenu/ContextMenu.cjs.map +1 -1
  25. package/dist/cjs/components/Cropper/Cropper.cjs +1 -1
  26. package/dist/cjs/components/Cropper/Cropper.cjs.map +1 -1
  27. package/dist/cjs/components/DatePicker/DatePicker.cjs +1 -1
  28. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  29. package/dist/cjs/components/DatePicker/RangePicker.cjs +1 -1
  30. package/dist/cjs/components/DatePicker/RangePicker.cjs.map +1 -1
  31. package/dist/cjs/components/DatePicker/TimePicker.cjs +1 -1
  32. package/dist/cjs/components/DatePicker/TimePicker.cjs.map +1 -1
  33. package/dist/cjs/components/Dialog/Dialog.cjs +1 -1
  34. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  35. package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs +1 -1
  36. package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs.map +1 -1
  37. package/dist/cjs/components/FloatLabel.cjs +1 -1
  38. package/dist/cjs/components/FloatLabel.cjs.map +1 -1
  39. package/dist/cjs/components/Glass/Glass.cjs +1 -1
  40. package/dist/cjs/components/Glass/Glass.cjs.map +1 -1
  41. package/dist/cjs/components/ImageViewer/ImageViewer.cjs +1 -1
  42. package/dist/cjs/components/ImageViewer/ImageViewer.cjs.map +1 -1
  43. package/dist/cjs/components/Input/Input.cjs +1 -1
  44. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  45. package/dist/cjs/components/InputOTP/InputOTP.cjs +1 -1
  46. package/dist/cjs/components/InputOTP/InputOTP.cjs.map +1 -1
  47. package/dist/cjs/components/Interactive/CursorFollow.cjs +1 -1
  48. package/dist/cjs/components/Interactive/CursorFollow.cjs.map +1 -1
  49. package/dist/cjs/components/Marquee/Marquee.cjs +1 -1
  50. package/dist/cjs/components/Marquee/Marquee.cjs.map +1 -1
  51. package/dist/cjs/components/Pagination/Pagination.cjs +1 -1
  52. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  53. package/dist/cjs/components/QrCode/QrCode.cjs +1 -1
  54. package/dist/cjs/components/QrCode/QrCode.cjs.map +1 -1
  55. package/dist/cjs/components/Radio/Radio.cjs +1 -1
  56. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  57. package/dist/cjs/components/Rate/Rate.cjs +1 -1
  58. package/dist/cjs/components/Rate/Rate.cjs.map +1 -1
  59. package/dist/cjs/components/Resizable/Resizable.cjs +1 -1
  60. package/dist/cjs/components/Resizable/Resizable.cjs.map +1 -1
  61. package/dist/cjs/components/ScrollArea/ScrollArea.cjs +1 -1
  62. package/dist/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
  63. package/dist/cjs/components/Select/Select.cjs +1 -1
  64. package/dist/cjs/components/Select/Select.cjs.map +1 -1
  65. package/dist/cjs/components/Sheet/Sheet.cjs +2 -2
  66. package/dist/cjs/components/Sheet/Sheet.cjs.map +1 -1
  67. package/dist/cjs/components/Slider/Slider.cjs +1 -1
  68. package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
  69. package/dist/cjs/components/Stepper/Stepper.cjs +1 -1
  70. package/dist/cjs/components/Stepper/Stepper.cjs.map +1 -1
  71. package/dist/cjs/components/Stepper/StepperWrapper.cjs +1 -1
  72. package/dist/cjs/components/Stepper/StepperWrapper.cjs.map +1 -1
  73. package/dist/cjs/components/Switch/Switch.cjs +1 -1
  74. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  75. package/dist/cjs/components/Table/TableFilter/data-table-date-filter.cjs +1 -1
  76. package/dist/cjs/components/Table/TableFilter/data-table-date-filter.cjs.map +1 -1
  77. package/dist/cjs/components/Table/TableFilter/data-table-filter-popover.cjs +1 -1
  78. package/dist/cjs/components/Table/TableFilter/data-table-filter-popover.cjs.map +1 -1
  79. package/dist/cjs/components/Table/TableFilter/data-table-slider-filter.cjs +1 -1
  80. package/dist/cjs/components/Table/TableFilter/data-table-slider-filter.cjs.map +1 -1
  81. package/dist/cjs/components/Table/data-table-column-header.cjs +1 -1
  82. package/dist/cjs/components/Table/data-table-column-header.cjs.map +1 -1
  83. package/dist/cjs/components/Table/data-table-pagination.cjs +1 -1
  84. package/dist/cjs/components/Table/data-table-pagination.cjs.map +1 -1
  85. package/dist/cjs/components/Table/data-table.cjs +1 -1
  86. package/dist/cjs/components/Table/data-table.cjs.map +1 -1
  87. package/dist/cjs/components/Tabs/Tabs.cjs +1 -1
  88. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  89. package/dist/cjs/components/Tabs/classes.cjs +1 -1
  90. package/dist/cjs/components/Tabs/classes.cjs.map +1 -1
  91. package/dist/cjs/components/Textarea/Textarea.cjs +1 -1
  92. package/dist/cjs/components/Textarea/Textarea.cjs.map +1 -1
  93. package/dist/cjs/components/TimeGridView.cjs +1 -1
  94. package/dist/cjs/components/TimeGridView.cjs.map +1 -1
  95. package/dist/cjs/components/Toast/Toast.cjs +1 -1
  96. package/dist/cjs/components/Toast/Toast.cjs.map +1 -1
  97. package/dist/cjs/components/Tooltip/Tooltip.cjs +1 -1
  98. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  99. package/dist/cjs/components/Tour/Tour.cjs +1 -1
  100. package/dist/cjs/components/Tour/Tour.cjs.map +1 -1
  101. package/dist/cjs/components/Tour/TourWrapper.cjs +1 -1
  102. package/dist/cjs/components/Tour/TourWrapper.cjs.map +1 -1
  103. package/dist/cjs/components/Upload/Upload.cjs +3 -3
  104. package/dist/cjs/components/Upload/Upload.cjs.map +1 -1
  105. package/dist/cjs/components/WheelColumn.cjs +1 -1
  106. package/dist/cjs/components/WheelColumn.cjs.map +1 -1
  107. package/dist/cjs/lib/TextAnimation/BlurText.cjs +1 -1
  108. package/dist/cjs/lib/TextAnimation/BlurText.cjs.map +1 -1
  109. package/dist/cjs/lib/TextAnimation/CircularText.cjs +1 -1
  110. package/dist/cjs/lib/TextAnimation/CircularText.cjs.map +1 -1
  111. package/dist/cjs/lib/TextAnimation/FlipWords.cjs +1 -1
  112. package/dist/cjs/lib/TextAnimation/FlipWords.cjs.map +1 -1
  113. package/dist/cjs/lib/TextAnimation/GradientText.cjs +1 -1
  114. package/dist/cjs/lib/TextAnimation/GradientText.cjs.map +1 -1
  115. package/dist/cjs/lib/TextAnimation/RollingText.cjs +1 -1
  116. package/dist/cjs/lib/TextAnimation/RollingText.cjs.map +1 -1
  117. package/dist/cjs/lib/TextAnimation/RotatingText.cjs +1 -1
  118. package/dist/cjs/lib/TextAnimation/RotatingText.cjs.map +1 -1
  119. package/dist/cjs/lib/TextAnimation/ShimmeringText.cjs +1 -1
  120. package/dist/cjs/lib/TextAnimation/ShimmeringText.cjs.map +1 -1
  121. package/dist/cjs/lib/TextAnimation/TextGenerateEffect.cjs +1 -1
  122. package/dist/cjs/lib/TextAnimation/TextGenerateEffect.cjs.map +1 -1
  123. package/dist/cjs/lib/TextAnimation/TextHoverEffect.cjs +1 -1
  124. package/dist/cjs/lib/TextAnimation/TextHoverEffect.cjs.map +1 -1
  125. package/dist/cjs/lib/TextAnimation/TextPressureEffect.cjs +2 -2
  126. package/dist/cjs/lib/TextAnimation/TextPressureEffect.cjs.map +1 -1
  127. package/dist/cjs/lib/TextAnimation/TypingText.cjs +1 -1
  128. package/dist/cjs/lib/TextAnimation/TypingText.cjs.map +1 -1
  129. package/dist/cjs/lib/TextAnimation/WritingText.cjs +1 -1
  130. package/dist/cjs/lib/TextAnimation/WritingText.cjs.map +1 -1
  131. package/dist/cjs/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.cjs.map +1 -0
  132. package/dist/cjs/packages/ui/src/components/accordion.cjs +1 -1
  133. package/dist/cjs/packages/ui/src/components/accordion.cjs.map +1 -1
  134. package/dist/cjs/packages/ui/src/components/alert-dialog.cjs +1 -1
  135. package/dist/cjs/packages/ui/src/components/alert-dialog.cjs.map +1 -1
  136. package/dist/cjs/packages/ui/src/components/avatar.cjs +1 -1
  137. package/dist/cjs/packages/ui/src/components/avatar.cjs.map +1 -1
  138. package/dist/cjs/packages/ui/src/components/badge.cjs +1 -1
  139. package/dist/cjs/packages/ui/src/components/badge.cjs.map +1 -1
  140. package/dist/cjs/packages/ui/src/components/breadcrumb.cjs +1 -1
  141. package/dist/cjs/packages/ui/src/components/breadcrumb.cjs.map +1 -1
  142. package/dist/cjs/packages/ui/src/components/button-group.cjs +1 -1
  143. package/dist/cjs/packages/ui/src/components/button-group.cjs.map +1 -1
  144. package/dist/cjs/packages/ui/src/components/button.cjs +1 -1
  145. package/dist/cjs/packages/ui/src/components/button.cjs.map +1 -1
  146. package/dist/cjs/packages/ui/src/components/calendar.cjs +1 -1
  147. package/dist/cjs/packages/ui/src/components/calendar.cjs.map +1 -1
  148. package/dist/cjs/packages/ui/src/components/checkbox.cjs +1 -1
  149. package/dist/cjs/packages/ui/src/components/checkbox.cjs.map +1 -1
  150. package/dist/cjs/packages/ui/src/components/combobox.cjs +1 -1
  151. package/dist/cjs/packages/ui/src/components/combobox.cjs.map +1 -1
  152. package/dist/cjs/packages/ui/src/components/command.cjs +1 -1
  153. package/dist/cjs/packages/ui/src/components/command.cjs.map +1 -1
  154. package/dist/cjs/packages/ui/src/components/context-menu.cjs +1 -1
  155. package/dist/cjs/packages/ui/src/components/context-menu.cjs.map +1 -1
  156. package/dist/cjs/packages/ui/src/components/dialog.cjs +1 -1
  157. package/dist/cjs/packages/ui/src/components/dialog.cjs.map +1 -1
  158. package/dist/cjs/packages/ui/src/components/drawer.cjs +1 -1
  159. package/dist/cjs/packages/ui/src/components/drawer.cjs.map +1 -1
  160. package/dist/cjs/packages/ui/src/components/dropdown-menu.cjs +1 -1
  161. package/dist/cjs/packages/ui/src/components/dropdown-menu.cjs.map +1 -1
  162. package/dist/cjs/packages/ui/src/components/input-otp.cjs +1 -1
  163. package/dist/cjs/packages/ui/src/components/input-otp.cjs.map +1 -1
  164. package/dist/cjs/packages/ui/src/components/input.cjs +1 -1
  165. package/dist/cjs/packages/ui/src/components/input.cjs.map +1 -1
  166. package/dist/cjs/packages/ui/src/components/label.cjs +1 -1
  167. package/dist/cjs/packages/ui/src/components/label.cjs.map +1 -1
  168. package/dist/cjs/packages/ui/src/components/pagination.cjs +1 -1
  169. package/dist/cjs/packages/ui/src/components/pagination.cjs.map +1 -1
  170. package/dist/cjs/packages/ui/src/components/popover.cjs +1 -1
  171. package/dist/cjs/packages/ui/src/components/popover.cjs.map +1 -1
  172. package/dist/cjs/packages/ui/src/components/radio-group.cjs +1 -1
  173. package/dist/cjs/packages/ui/src/components/radio-group.cjs.map +1 -1
  174. package/dist/cjs/packages/ui/src/components/resizable.cjs +1 -1
  175. package/dist/cjs/packages/ui/src/components/resizable.cjs.map +1 -1
  176. package/dist/cjs/packages/ui/src/components/scroll-area.cjs +1 -1
  177. package/dist/cjs/packages/ui/src/components/scroll-area.cjs.map +1 -1
  178. package/dist/cjs/packages/ui/src/components/select.cjs +1 -1
  179. package/dist/cjs/packages/ui/src/components/select.cjs.map +1 -1
  180. package/dist/cjs/packages/ui/src/components/separator.cjs +1 -1
  181. package/dist/cjs/packages/ui/src/components/separator.cjs.map +1 -1
  182. package/dist/cjs/packages/ui/src/components/sheet.cjs +1 -1
  183. package/dist/cjs/packages/ui/src/components/sheet.cjs.map +1 -1
  184. package/dist/cjs/packages/ui/src/components/sidebar.cjs +1 -1
  185. package/dist/cjs/packages/ui/src/components/sidebar.cjs.map +1 -1
  186. package/dist/cjs/packages/ui/src/components/skeleton.cjs +1 -1
  187. package/dist/cjs/packages/ui/src/components/skeleton.cjs.map +1 -1
  188. package/dist/cjs/packages/ui/src/components/switch.cjs +1 -1
  189. package/dist/cjs/packages/ui/src/components/switch.cjs.map +1 -1
  190. package/dist/cjs/packages/ui/src/components/table.cjs +1 -1
  191. package/dist/cjs/packages/ui/src/components/table.cjs.map +1 -1
  192. package/dist/cjs/packages/ui/src/components/tabs.cjs +1 -1
  193. package/dist/cjs/packages/ui/src/components/tabs.cjs.map +1 -1
  194. package/dist/cjs/packages/ui/src/components/textarea.cjs +1 -1
  195. package/dist/cjs/packages/ui/src/components/textarea.cjs.map +1 -1
  196. package/dist/cjs/packages/ui/src/components/toggle.cjs +1 -1
  197. package/dist/cjs/packages/ui/src/components/toggle.cjs.map +1 -1
  198. package/dist/cjs/packages/ui/src/components/tooltip.cjs +1 -1
  199. package/dist/cjs/packages/ui/src/components/tooltip.cjs.map +1 -1
  200. package/dist/cjs/packages/ui/src/components/tree-view.cjs +1 -1
  201. package/dist/cjs/packages/ui/src/components/tree-view.cjs.map +1 -1
  202. package/dist/cjs/styles/index.css +1 -1
  203. package/dist/cjs/utils/animations.cjs +1 -1
  204. package/dist/cjs/utils/animations.cjs.map +1 -1
  205. package/dist/cjs/utils/css.cjs +1 -1
  206. package/dist/cjs/utils/css.cjs.map +1 -1
  207. package/dist/cjs/utils/parsers.cjs +1 -1
  208. package/dist/cjs/utils/parsers.cjs.map +1 -1
  209. package/dist/esm/components/Accordion/Accordion.js +60 -60
  210. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  211. package/dist/esm/components/Avatar/Avatar.js +40 -40
  212. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  213. package/dist/esm/components/Badge/Badge.js +1 -1
  214. package/dist/esm/components/Badge/Badge.js.map +1 -1
  215. package/dist/esm/components/Breadcrumb/Breadcrumb.js +36 -36
  216. package/dist/esm/components/Breadcrumb/Breadcrumb.js.map +1 -1
  217. package/dist/esm/components/Button/Button.js +9 -9
  218. package/dist/esm/components/Button/Button.js.map +1 -1
  219. package/dist/esm/components/Calendar/Calendar.js +4 -4
  220. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  221. package/dist/esm/components/Carousel/Carousel.js +165 -165
  222. package/dist/esm/components/Carousel/Carousel.js.map +1 -1
  223. package/dist/esm/components/Checkbox/Checkbox.js +26 -26
  224. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  225. package/dist/esm/components/Collapsible/Collapsible.js +43 -43
  226. package/dist/esm/components/Collapsible/Collapsible.js.map +1 -1
  227. package/dist/esm/components/Command/Command.js +28 -28
  228. package/dist/esm/components/Command/Command.js.map +1 -1
  229. package/dist/esm/components/ContextMenu/ContextMenu.js +11 -11
  230. package/dist/esm/components/ContextMenu/ContextMenu.js.map +1 -1
  231. package/dist/esm/components/Cropper/Cropper.js +132 -132
  232. package/dist/esm/components/Cropper/Cropper.js.map +1 -1
  233. package/dist/esm/components/DatePicker/DatePicker.js +75 -75
  234. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  235. package/dist/esm/components/DatePicker/RangePicker.js +136 -136
  236. package/dist/esm/components/DatePicker/RangePicker.js.map +1 -1
  237. package/dist/esm/components/DatePicker/TimePicker.js +150 -150
  238. package/dist/esm/components/DatePicker/TimePicker.js.map +1 -1
  239. package/dist/esm/components/Dialog/Dialog.js +114 -114
  240. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  241. package/dist/esm/components/DropdownMenu/DropdownMenu.js +13 -13
  242. package/dist/esm/components/DropdownMenu/DropdownMenu.js.map +1 -1
  243. package/dist/esm/components/FloatLabel.js +44 -44
  244. package/dist/esm/components/FloatLabel.js.map +1 -1
  245. package/dist/esm/components/Glass/Glass.js +15 -15
  246. package/dist/esm/components/Glass/Glass.js.map +1 -1
  247. package/dist/esm/components/ImageViewer/ImageViewer.js +53 -53
  248. package/dist/esm/components/ImageViewer/ImageViewer.js.map +1 -1
  249. package/dist/esm/components/Input/Input.js +104 -104
  250. package/dist/esm/components/Input/Input.js.map +1 -1
  251. package/dist/esm/components/InputOTP/InputOTP.js +16 -16
  252. package/dist/esm/components/InputOTP/InputOTP.js.map +1 -1
  253. package/dist/esm/components/Interactive/CursorFollow.js +49 -49
  254. package/dist/esm/components/Interactive/CursorFollow.js.map +1 -1
  255. package/dist/esm/components/Marquee/Marquee.js +130 -130
  256. package/dist/esm/components/Marquee/Marquee.js.map +1 -1
  257. package/dist/esm/components/Pagination/Pagination.js +68 -68
  258. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  259. package/dist/esm/components/QrCode/QrCode.js +37 -37
  260. package/dist/esm/components/QrCode/QrCode.js.map +1 -1
  261. package/dist/esm/components/Radio/Radio.js +16 -16
  262. package/dist/esm/components/Radio/Radio.js.map +1 -1
  263. package/dist/esm/components/Rate/Rate.js +62 -62
  264. package/dist/esm/components/Rate/Rate.js.map +1 -1
  265. package/dist/esm/components/Resizable/Resizable.js +6 -6
  266. package/dist/esm/components/Resizable/Resizable.js.map +1 -1
  267. package/dist/esm/components/ScrollArea/ScrollArea.js +10 -10
  268. package/dist/esm/components/ScrollArea/ScrollArea.js.map +1 -1
  269. package/dist/esm/components/Select/Select.js +64 -64
  270. package/dist/esm/components/Select/Select.js.map +1 -1
  271. package/dist/esm/components/Sheet/Sheet.js +21 -21
  272. package/dist/esm/components/Sheet/Sheet.js.map +1 -1
  273. package/dist/esm/components/Slider/Slider.js +54 -54
  274. package/dist/esm/components/Slider/Slider.js.map +1 -1
  275. package/dist/esm/components/Stepper/Stepper.js +198 -198
  276. package/dist/esm/components/Stepper/Stepper.js.map +1 -1
  277. package/dist/esm/components/Stepper/StepperWrapper.js +15 -15
  278. package/dist/esm/components/Stepper/StepperWrapper.js.map +1 -1
  279. package/dist/esm/components/Switch/Switch.js +38 -38
  280. package/dist/esm/components/Switch/Switch.js.map +1 -1
  281. package/dist/esm/components/Table/TableFilter/data-table-date-filter.js +37 -37
  282. package/dist/esm/components/Table/TableFilter/data-table-date-filter.js.map +1 -1
  283. package/dist/esm/components/Table/TableFilter/data-table-filter-popover.js +25 -25
  284. package/dist/esm/components/Table/TableFilter/data-table-filter-popover.js.map +1 -1
  285. package/dist/esm/components/Table/TableFilter/data-table-slider-filter.js +64 -64
  286. package/dist/esm/components/Table/TableFilter/data-table-slider-filter.js.map +1 -1
  287. package/dist/esm/components/Table/data-table-column-header.js +18 -18
  288. package/dist/esm/components/Table/data-table-column-header.js.map +1 -1
  289. package/dist/esm/components/Table/data-table-pagination.js +21 -21
  290. package/dist/esm/components/Table/data-table-pagination.js.map +1 -1
  291. package/dist/esm/components/Table/data-table.js +18 -18
  292. package/dist/esm/components/Table/data-table.js.map +1 -1
  293. package/dist/esm/components/Tabs/Tabs.js +242 -242
  294. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  295. package/dist/esm/components/Tabs/classes.js +51 -51
  296. package/dist/esm/components/Tabs/classes.js.map +1 -1
  297. package/dist/esm/components/Textarea/Textarea.js +49 -49
  298. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  299. package/dist/esm/components/TimeGridView.js +12 -12
  300. package/dist/esm/components/TimeGridView.js.map +1 -1
  301. package/dist/esm/components/Toast/Toast.js +45 -45
  302. package/dist/esm/components/Toast/Toast.js.map +1 -1
  303. package/dist/esm/components/Tooltip/Tooltip.js +19 -19
  304. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  305. package/dist/esm/components/Tour/Tour.js +11 -11
  306. package/dist/esm/components/Tour/Tour.js.map +1 -1
  307. package/dist/esm/components/Tour/TourWrapper.js +15 -15
  308. package/dist/esm/components/Tour/TourWrapper.js.map +1 -1
  309. package/dist/esm/components/Upload/Upload.js +405 -405
  310. package/dist/esm/components/Upload/Upload.js.map +1 -1
  311. package/dist/esm/components/WheelColumn.js +47 -47
  312. package/dist/esm/components/WheelColumn.js.map +1 -1
  313. package/dist/esm/lib/TextAnimation/BlurText.js +18 -18
  314. package/dist/esm/lib/TextAnimation/BlurText.js.map +1 -1
  315. package/dist/esm/lib/TextAnimation/CircularText.js +7 -7
  316. package/dist/esm/lib/TextAnimation/CircularText.js.map +1 -1
  317. package/dist/esm/lib/TextAnimation/FlipWords.js +21 -21
  318. package/dist/esm/lib/TextAnimation/FlipWords.js.map +1 -1
  319. package/dist/esm/lib/TextAnimation/GradientText.js +4 -4
  320. package/dist/esm/lib/TextAnimation/GradientText.js.map +1 -1
  321. package/dist/esm/lib/TextAnimation/RollingText.js +24 -24
  322. package/dist/esm/lib/TextAnimation/RollingText.js.map +1 -1
  323. package/dist/esm/lib/TextAnimation/RotatingText.js +6 -6
  324. package/dist/esm/lib/TextAnimation/RotatingText.js.map +1 -1
  325. package/dist/esm/lib/TextAnimation/ShimmeringText.js +9 -9
  326. package/dist/esm/lib/TextAnimation/ShimmeringText.js.map +1 -1
  327. package/dist/esm/lib/TextAnimation/TextGenerateEffect.js +14 -14
  328. package/dist/esm/lib/TextAnimation/TextGenerateEffect.js.map +1 -1
  329. package/dist/esm/lib/TextAnimation/TextHoverEffect.js +9 -9
  330. package/dist/esm/lib/TextAnimation/TextHoverEffect.js.map +1 -1
  331. package/dist/esm/lib/TextAnimation/TextPressureEffect.js +3 -3
  332. package/dist/esm/lib/TextAnimation/TextPressureEffect.js.map +1 -1
  333. package/dist/esm/lib/TextAnimation/TypingText.js +17 -17
  334. package/dist/esm/lib/TextAnimation/TypingText.js.map +1 -1
  335. package/dist/esm/lib/TextAnimation/WritingText.js +10 -10
  336. package/dist/esm/lib/TextAnimation/WritingText.js.map +1 -1
  337. package/dist/esm/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.js.map +1 -0
  338. package/dist/esm/packages/ui/src/components/accordion.js +31 -31
  339. package/dist/esm/packages/ui/src/components/accordion.js.map +1 -1
  340. package/dist/esm/packages/ui/src/components/alert-dialog.js +33 -33
  341. package/dist/esm/packages/ui/src/components/alert-dialog.js.map +1 -1
  342. package/dist/esm/packages/ui/src/components/avatar.js +20 -20
  343. package/dist/esm/packages/ui/src/components/avatar.js.map +1 -1
  344. package/dist/esm/packages/ui/src/components/badge.js +53 -53
  345. package/dist/esm/packages/ui/src/components/badge.js.map +1 -1
  346. package/dist/esm/packages/ui/src/components/breadcrumb.js +20 -20
  347. package/dist/esm/packages/ui/src/components/breadcrumb.js.map +1 -1
  348. package/dist/esm/packages/ui/src/components/button-group.js +31 -31
  349. package/dist/esm/packages/ui/src/components/button-group.js.map +1 -1
  350. package/dist/esm/packages/ui/src/components/button.js +90 -90
  351. package/dist/esm/packages/ui/src/components/button.js.map +1 -1
  352. package/dist/esm/packages/ui/src/components/calendar.js +94 -94
  353. package/dist/esm/packages/ui/src/components/calendar.js.map +1 -1
  354. package/dist/esm/packages/ui/src/components/checkbox.js +47 -47
  355. package/dist/esm/packages/ui/src/components/checkbox.js.map +1 -1
  356. package/dist/esm/packages/ui/src/components/combobox.js +64 -64
  357. package/dist/esm/packages/ui/src/components/combobox.js.map +1 -1
  358. package/dist/esm/packages/ui/src/components/command.js +77 -77
  359. package/dist/esm/packages/ui/src/components/command.js.map +1 -1
  360. package/dist/esm/packages/ui/src/components/context-menu.js +76 -76
  361. package/dist/esm/packages/ui/src/components/context-menu.js.map +1 -1
  362. package/dist/esm/packages/ui/src/components/dialog.js +54 -54
  363. package/dist/esm/packages/ui/src/components/dialog.js.map +1 -1
  364. package/dist/esm/packages/ui/src/components/drawer.js +39 -39
  365. package/dist/esm/packages/ui/src/components/drawer.js.map +1 -1
  366. package/dist/esm/packages/ui/src/components/dropdown-menu.js +109 -109
  367. package/dist/esm/packages/ui/src/components/dropdown-menu.js.map +1 -1
  368. package/dist/esm/packages/ui/src/components/input-otp.js +30 -30
  369. package/dist/esm/packages/ui/src/components/input-otp.js.map +1 -1
  370. package/dist/esm/packages/ui/src/components/input.js +19 -19
  371. package/dist/esm/packages/ui/src/components/input.js.map +1 -1
  372. package/dist/esm/packages/ui/src/components/label.js +9 -9
  373. package/dist/esm/packages/ui/src/components/label.js.map +1 -1
  374. package/dist/esm/packages/ui/src/components/pagination.js +26 -26
  375. package/dist/esm/packages/ui/src/components/pagination.js.map +1 -1
  376. package/dist/esm/packages/ui/src/components/popover.js +13 -13
  377. package/dist/esm/packages/ui/src/components/popover.js.map +1 -1
  378. package/dist/esm/packages/ui/src/components/radio-group.js +45 -45
  379. package/dist/esm/packages/ui/src/components/radio-group.js.map +1 -1
  380. package/dist/esm/packages/ui/src/components/resizable.js +18 -18
  381. package/dist/esm/packages/ui/src/components/resizable.js.map +1 -1
  382. package/dist/esm/packages/ui/src/components/scroll-area.js +31 -31
  383. package/dist/esm/packages/ui/src/components/scroll-area.js.map +1 -1
  384. package/dist/esm/packages/ui/src/components/select.js +119 -119
  385. package/dist/esm/packages/ui/src/components/select.js.map +1 -1
  386. package/dist/esm/packages/ui/src/components/separator.js +86 -86
  387. package/dist/esm/packages/ui/src/components/separator.js.map +1 -1
  388. package/dist/esm/packages/ui/src/components/sheet.js +50 -50
  389. package/dist/esm/packages/ui/src/components/sheet.js.map +1 -1
  390. package/dist/esm/packages/ui/src/components/sidebar.js +198 -198
  391. package/dist/esm/packages/ui/src/components/sidebar.js.map +1 -1
  392. package/dist/esm/packages/ui/src/components/skeleton.js +3 -3
  393. package/dist/esm/packages/ui/src/components/skeleton.js.map +1 -1
  394. package/dist/esm/packages/ui/src/components/switch.js +57 -57
  395. package/dist/esm/packages/ui/src/components/switch.js.map +1 -1
  396. package/dist/esm/packages/ui/src/components/table.js +17 -17
  397. package/dist/esm/packages/ui/src/components/table.js.map +1 -1
  398. package/dist/esm/packages/ui/src/components/tabs.js +33 -33
  399. package/dist/esm/packages/ui/src/components/tabs.js.map +1 -1
  400. package/dist/esm/packages/ui/src/components/textarea.js +17 -17
  401. package/dist/esm/packages/ui/src/components/textarea.js.map +1 -1
  402. package/dist/esm/packages/ui/src/components/toggle.js +36 -36
  403. package/dist/esm/packages/ui/src/components/toggle.js.map +1 -1
  404. package/dist/esm/packages/ui/src/components/tooltip.js +20 -20
  405. package/dist/esm/packages/ui/src/components/tooltip.js.map +1 -1
  406. package/dist/esm/packages/ui/src/components/tree-view.js +218 -218
  407. package/dist/esm/packages/ui/src/components/tree-view.js.map +1 -1
  408. package/dist/esm/styles/index.css +1 -1
  409. package/dist/esm/utils/animations.js +55 -55
  410. package/dist/esm/utils/animations.js.map +1 -1
  411. package/dist/esm/utils/css.js +7 -7
  412. package/dist/esm/utils/css.js.map +1 -1
  413. package/dist/esm/utils/parsers.js +1 -1
  414. package/dist/types/components/DatePicker/RangePicker.d.ts.map +1 -1
  415. package/dist/types/lib/TextAnimation/TextPressureEffect.d.ts.map +1 -1
  416. package/dist/types/lib/TextAnimation/TypingText.d.ts.map +1 -1
  417. package/package.json +1 -1
  418. package/dist/cjs/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.cjs.map +0 -1
  419. package/dist/esm/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.js.map +0 -1
  420. /package/dist/cjs/node_modules/.pnpm/{nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1 → nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1}/node_modules/nuqs/dist/server.cjs +0 -0
  421. /package/dist/esm/node_modules/.pnpm/{nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1 → nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1}/node_modules/nuqs/dist/server.js +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),a=require("react");require("@radix-ui/react-slot");require("../packages/ui/src/components/button.cjs");require("../packages/ui/src/components/button-group.cjs");require("../packages/ui/src/components/input.cjs");require("../packages/ui/src/components/textarea.cjs");require("@radix-ui/react-label");const w=require("../packages/ui/src/lib/utils.cjs");require("../packages/ui/src/components/select.cjs");require("../packages/ui/src/components/combobox.cjs");require("@radix-ui/react-tooltip");require("lucide-react");require("react-day-picker");require("../packages/ui/src/components/popover.cjs");require("@radix-ui/react-separator");require("../packages/ui/src/components/switch.cjs");require("vaul");require("@radix-ui/react-scroll-area");require("../packages/ui/src/components/tree-view.cjs");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-avatar");require("../packages/ui/src/components/badge.cjs");require("../packages/ui/src/components/checkbox.cjs");require("@radix-ui/react-collapsible");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-dropdown-menu");require("../packages/ui/src/components/input-otp.cjs");require("../packages/ui/src/components/radio-group.cjs");require("../packages/ui/src/components/sidebar.cjs");require("@radix-ui/react-slider");require("../packages/ui/src/components/tabs.cjs");require("../packages/ui/src/components/toggle.cjs");const O=require("./Button/Button.cjs");function S(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const n=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(o,i,n.get?n:{enumerable:!0,get:()=>e[i]})}}return o.default=e,Object.freeze(o)}const $=S(a),c=e=>String(e).padStart(2,"0"),h=(e="primary")=>({primary:{bg:"bg-primary",text:"text-primary-foreground"},secondary:{bg:"bg-secondary",text:"text-secondary-foreground"},accent:{bg:"bg-accent",text:"text-accent-foreground"},destructive:{bg:"bg-destructive",text:"text-destructive-foreground"},muted:{bg:"bg-muted",text:"text-muted-foreground"},success:{bg:"bg-success",text:"text-success-foreground"},error:{bg:"bg-error",text:"text-error-foreground"},warning:{bg:"bg-warning",text:"text-warning-foreground"},foreground:{bg:"bg-foreground",text:"text-background"}})[e],f=a.memo($.forwardRef(({HOURS:e,MINUTES:o,hours:i,minutes:n,disabled:q,isTimeDisabled:d,onTimeSelect:b,color:m="primary"},x)=>{const p=a.useMemo(()=>{const r=[];for(const t of e)for(const u of o)r.push({h:t,m:u,display:`${c(t)}:${c(u)}`});return r},[e,o]),y=i!==void 0&&n!==void 0?`${c(i)}:${c(n)}`:"",v=(r,t)=>{d(r,t,0)||b(r,t)};return s.jsx("div",{className:"flex flex-col gap-2",children:s.jsx("div",{ref:x,className:"flex flex-col gap-1 h-64 overflow-y-auto p-2 rounded-md",children:p.map(({h:r,m:t,display:u})=>{const j=d(r,t,0),g=u===y,l=h(m);return s.jsx(O.default,{type:"button",variant:"outline",onClick:()=>v(r,t),"data-selected":g||void 0,disabled:q||j,size:"sm",className:w.cn(g?`${l.bg} ${l.text} font-semibold`:"text-foreground"),children:u},u)})})})}));f.displayName="TimeGridView";exports.TimeGridView=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),d=require("react");require("@radix-ui/react-slot");require("../packages/ui/src/components/button.cjs");require("../packages/ui/src/components/button-group.cjs");require("../packages/ui/src/components/input.cjs");require("../packages/ui/src/components/textarea.cjs");require("@radix-ui/react-label");const w=require("../packages/ui/src/lib/utils.cjs");require("../packages/ui/src/components/select.cjs");require("../packages/ui/src/components/combobox.cjs");require("@radix-ui/react-tooltip");require("lucide-react");require("react-day-picker");require("../packages/ui/src/components/popover.cjs");require("@radix-ui/react-separator");require("../packages/ui/src/components/switch.cjs");require("vaul");require("@radix-ui/react-scroll-area");require("../packages/ui/src/components/tree-view.cjs");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-avatar");require("../packages/ui/src/components/badge.cjs");require("../packages/ui/src/components/checkbox.cjs");require("@radix-ui/react-collapsible");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-dropdown-menu");require("../packages/ui/src/components/input-otp.cjs");require("../packages/ui/src/components/radio-group.cjs");require("../packages/ui/src/components/sidebar.cjs");require("@radix-ui/react-slider");require("../packages/ui/src/components/tabs.cjs");require("../packages/ui/src/components/toggle.cjs");const O=require("./Button/Button.cjs");function S(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const n=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(o,i,n.get?n:{enumerable:!0,get:()=>e[i]})}}return o.default=e,Object.freeze(o)}const $=S(d),s=e=>String(e).padStart(2,"0"),h=(e="primary")=>({primary:{bg:"bg-primary",text:"text-primary-foreground"},secondary:{bg:"bg-secondary",text:"text-secondary-foreground"},accent:{bg:"bg-accent",text:"text-accent-foreground"},destructive:{bg:"bg-destructive",text:"text-destructive-foreground"},muted:{bg:"bg-muted",text:"text-muted-foreground"},success:{bg:"bg-success",text:"text-success-foreground"},error:{bg:"bg-error",text:"text-error-foreground"},warning:{bg:"bg-warning",text:"text-warning-foreground"},foreground:{bg:"bg-foreground",text:"text-background"}})[e],f=d.memo($.forwardRef(({HOURS:e,MINUTES:o,hours:i,minutes:n,disabled:q,isTimeDisabled:a,onTimeSelect:b,color:m="primary"},x)=>{const p=d.useMemo(()=>{const r=[];for(const t of e)for(const u of o)r.push({h:t,m:u,display:`${s(t)}:${s(u)}`});return r},[e,o]),y=i!==void 0&&n!==void 0?`${s(i)}:${s(n)}`:"",v=(r,t)=>{a(r,t,0)||b(r,t)};return c.jsx("div",{className:"ds:flex ds:flex-col ds:gap-2",children:c.jsx("div",{ref:x,className:"ds:flex ds:flex-col ds:gap-1 ds:h-64 ds:overflow-y-auto ds:p-2 ds:rounded-md",children:p.map(({h:r,m:t,display:u})=>{const j=a(r,t,0),g=u===y,l=h(m);return c.jsx(O.default,{type:"button",variant:"outline",onClick:()=>v(r,t),"data-selected":g||void 0,disabled:q||j,size:"sm",className:w.cn(g?`${l.bg} ${l.text} ds:font-semibold`:"ds:text-foreground"),children:u},u)})})})}));f.displayName="TimeGridView";exports.TimeGridView=f;
2
2
  //# sourceMappingURL=TimeGridView.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimeGridView.cjs","sources":["../../../src/components/TimeGridView.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { memo, useMemo } from \"react\";\nimport { cn } from \"@dsui/ui/index\";\nimport Button from \"./Button/Button\";\nimport type { CalendarColor } from \"./Calendar/Calendar\";\n\nconst pad = (num: number): string => String(num).padStart(2, \"0\");\n\n// Color variants for time grid items\nconst getColorClasses = (color: CalendarColor = \"primary\") => {\n const colorMap = {\n primary: {\n bg: \"bg-primary\",\n text: \"text-primary-foreground\",\n },\n secondary: {\n bg: \"bg-secondary\",\n text: \"text-secondary-foreground\",\n },\n accent: {\n bg: \"bg-accent\",\n text: \"text-accent-foreground\",\n },\n destructive: {\n bg: \"bg-destructive\",\n text: \"text-destructive-foreground\",\n },\n muted: {\n bg: \"bg-muted\",\n text: \"text-muted-foreground\",\n },\n success: {\n bg: \"bg-success\",\n text: \"text-success-foreground\",\n },\n error: {\n bg: \"bg-error\",\n text: \"text-error-foreground\",\n },\n warning: {\n bg: \"bg-warning\",\n text: \"text-warning-foreground\",\n },\n foreground: {\n bg: \"bg-foreground\",\n text: \"text-background\",\n },\n };\n return colorMap[color];\n};\n\ntype TimeGridViewProps = {\n HOURS: number[];\n MINUTES: number[];\n hours: number | undefined;\n minutes: number | undefined;\n disabled: boolean;\n isTimeDisabled: (h: number, m: number, s: number) => boolean;\n onTimeSelect: (h: number, m: number) => void;\n color?: CalendarColor;\n};\n\nexport const TimeGridView = memo(\n React.forwardRef<HTMLDivElement, TimeGridViewProps>(\n (\n {\n HOURS,\n MINUTES,\n hours,\n minutes,\n disabled,\n isTimeDisabled,\n onTimeSelect,\n color = \"primary\",\n },\n ref\n ) => {\n // Generate all time combinations based on intervals (always HH:mm, never shows seconds)\n const timeOptions = useMemo(() => {\n const options: Array<{ h: number; m: number; display: string }> = [];\n\n for (const h of HOURS) {\n for (const m of MINUTES) {\n options.push({\n h,\n m,\n display: `${pad(h)}:${pad(m)}`,\n });\n }\n }\n\n return options;\n }, [HOURS, MINUTES]);\n\n const currentValue =\n hours !== undefined && minutes !== undefined\n ? `${pad(hours)}:${pad(minutes)}`\n : \"\";\n\n const handleTimeSelect = (h: number, m: number) => {\n // Always set seconds to 0 in grid mode\n if (!isTimeDisabled(h, m, 0)) {\n onTimeSelect(h, m);\n }\n };\n\n return (\n <div className=\"flex flex-col gap-2\">\n <div\n ref={ref}\n className=\"flex flex-col gap-1 h-64 overflow-y-auto p-2 rounded-md\"\n >\n {timeOptions.map(({ h, m, display }) => {\n const itemDisabled = isTimeDisabled(h, m, 0);\n const isSelected = display === currentValue;\n const colorClasses = getColorClasses(color);\n\n return (\n <Button\n key={display}\n type=\"button\"\n variant=\"outline\"\n onClick={() => handleTimeSelect(h, m)}\n data-selected={isSelected || undefined}\n disabled={disabled || itemDisabled}\n size=\"sm\"\n className={cn(\n isSelected\n ? `${colorClasses.bg} ${colorClasses.text} font-semibold`\n : \"text-foreground\"\n )}\n >\n {display}\n </Button>\n );\n })}\n </div>\n </div>\n );\n }\n )\n);\n\nTimeGridView.displayName = \"TimeGridView\";\n"],"names":["pad","num","getColorClasses","color","TimeGridView","memo","React","HOURS","MINUTES","hours","minutes","disabled","isTimeDisabled","onTimeSelect","ref","timeOptions","useMemo","options","h","m","currentValue","handleTimeSelect","jsx","display","itemDisabled","isSelected","colorClasses","Button","cn"],"mappings":"ozDAMMA,EAAOC,GAAwB,OAAOA,CAAG,EAAE,SAAS,EAAG,GAAG,EAG1DC,EAAkB,CAACC,EAAuB,aAC7B,CACf,QAAS,CACP,GAAI,aACJ,KAAM,yBAAA,EAER,UAAW,CACT,GAAI,eACJ,KAAM,2BAAA,EAER,OAAQ,CACN,GAAI,YACJ,KAAM,wBAAA,EAER,YAAa,CACX,GAAI,iBACJ,KAAM,6BAAA,EAER,MAAO,CACL,GAAI,WACJ,KAAM,uBAAA,EAER,QAAS,CACP,GAAI,aACJ,KAAM,yBAAA,EAER,MAAO,CACL,GAAI,WACJ,KAAM,uBAAA,EAER,QAAS,CACP,GAAI,aACJ,KAAM,yBAAA,EAER,WAAY,CACV,GAAI,gBACJ,KAAM,iBAAA,CACR,GAEcA,CAAK,EAcVC,EAAeC,EAAAA,KAC1BC,EAAM,WACJ,CACE,CACE,MAAAC,EACA,QAAAC,EACA,MAAAC,EACA,QAAAC,EACA,SAAAC,EACA,eAAAC,EACA,aAAAC,EACA,MAAAV,EAAQ,SAAA,EAEVW,IACG,CAEH,MAAMC,EAAcC,EAAAA,QAAQ,IAAM,CAChC,MAAMC,EAA4D,CAAA,EAElE,UAAWC,KAAKX,EACd,UAAWY,KAAKX,EACdS,EAAQ,KAAK,CACX,EAAAC,EACA,EAAAC,EACA,QAAS,GAAGnB,EAAIkB,CAAC,CAAC,IAAIlB,EAAImB,CAAC,CAAC,EAAA,CAC7B,EAIL,OAAOF,CACT,EAAG,CAACV,EAAOC,CAAO,CAAC,EAEbY,EACJX,IAAU,QAAaC,IAAY,OAC/B,GAAGV,EAAIS,CAAK,CAAC,IAAIT,EAAIU,CAAO,CAAC,GAC7B,GAEAW,EAAmB,CAACH,EAAWC,IAAc,CAE5CP,EAAeM,EAAGC,EAAG,CAAC,GACzBN,EAAaK,EAAGC,CAAC,CAErB,EAEA,OACEG,EAAAA,IAAC,MAAA,CAAI,UAAU,sBACb,SAAAA,EAAAA,IAAC,MAAA,CACC,IAAAR,EACA,UAAU,0DAET,WAAY,IAAI,CAAC,CAAE,EAAAI,EAAG,EAAAC,EAAG,QAAAI,KAAc,CACtC,MAAMC,EAAeZ,EAAeM,EAAGC,EAAG,CAAC,EACrCM,EAAaF,IAAYH,EACzBM,EAAexB,EAAgBC,CAAK,EAE1C,OACEmB,EAAAA,IAACK,EAAAA,QAAA,CAEC,KAAK,SACL,QAAQ,UACR,QAAS,IAAMN,EAAiBH,EAAGC,CAAC,EACpC,gBAAeM,GAAc,OAC7B,SAAUd,GAAYa,EACtB,KAAK,KACL,UAAWI,EAAAA,GACTH,EACI,GAAGC,EAAa,EAAE,IAAIA,EAAa,IAAI,iBACvC,iBAAA,EAGL,SAAAH,CAAA,EAbIA,CAAA,CAgBX,CAAC,CAAA,CAAA,EAEL,CAEJ,CAAA,CAEJ,EAEAnB,EAAa,YAAc"}
1
+ {"version":3,"file":"TimeGridView.cjs","sources":["../../../src/components/TimeGridView.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { memo, useMemo } from \"react\";\nimport { cn } from \"@dsui/ui/index\";\nimport Button from \"./Button/Button\";\nimport type { CalendarColor } from \"./Calendar/Calendar\";\n\nconst pad = (num: number): string => String(num).padStart(2, \"0\");\n\n// Color variants for time grid items\nconst getColorClasses = (color: CalendarColor = \"primary\") => {\n const colorMap = {\n primary: {\n bg: \"bg-primary\",\n text: \"text-primary-foreground\",\n },\n secondary: {\n bg: \"bg-secondary\",\n text: \"text-secondary-foreground\",\n },\n accent: {\n bg: \"bg-accent\",\n text: \"text-accent-foreground\",\n },\n destructive: {\n bg: \"bg-destructive\",\n text: \"text-destructive-foreground\",\n },\n muted: {\n bg: \"bg-muted\",\n text: \"text-muted-foreground\",\n },\n success: {\n bg: \"bg-success\",\n text: \"text-success-foreground\",\n },\n error: {\n bg: \"bg-error\",\n text: \"text-error-foreground\",\n },\n warning: {\n bg: \"bg-warning\",\n text: \"text-warning-foreground\",\n },\n foreground: {\n bg: \"bg-foreground\",\n text: \"text-background\",\n },\n };\n return colorMap[color];\n};\n\ntype TimeGridViewProps = {\n HOURS: number[];\n MINUTES: number[];\n hours: number | undefined;\n minutes: number | undefined;\n disabled: boolean;\n isTimeDisabled: (h: number, m: number, s: number) => boolean;\n onTimeSelect: (h: number, m: number) => void;\n color?: CalendarColor;\n};\n\nexport const TimeGridView = memo(\n React.forwardRef<HTMLDivElement, TimeGridViewProps>(\n (\n {\n HOURS,\n MINUTES,\n hours,\n minutes,\n disabled,\n isTimeDisabled,\n onTimeSelect,\n color = \"primary\",\n },\n ref\n ) => {\n // Generate all time combinations based on intervals (always HH:mm, never shows seconds)\n const timeOptions = useMemo(() => {\n const options: Array<{ h: number; m: number; display: string }> = [];\n\n for (const h of HOURS) {\n for (const m of MINUTES) {\n options.push({\n h,\n m,\n display: `${pad(h)}:${pad(m)}`,\n });\n }\n }\n\n return options;\n }, [HOURS, MINUTES]);\n\n const currentValue =\n hours !== undefined && minutes !== undefined\n ? `${pad(hours)}:${pad(minutes)}`\n : \"\";\n\n const handleTimeSelect = (h: number, m: number) => {\n // Always set seconds to 0 in grid mode\n if (!isTimeDisabled(h, m, 0)) {\n onTimeSelect(h, m);\n }\n };\n\n return (\n <div className=\"ds:flex ds:flex-col ds:gap-2\">\n <div\n ref={ref}\n className=\"ds:flex ds:flex-col ds:gap-1 ds:h-64 ds:overflow-y-auto ds:p-2 ds:rounded-md\"\n >\n {timeOptions.map(({ h, m, display }) => {\n const itemDisabled = isTimeDisabled(h, m, 0);\n const isSelected = display === currentValue;\n const colorClasses = getColorClasses(color);\n\n return (\n <Button\n key={display}\n type=\"button\"\n variant=\"outline\"\n onClick={() => handleTimeSelect(h, m)}\n data-selected={isSelected || undefined}\n disabled={disabled || itemDisabled}\n size=\"sm\"\n className={cn(\n isSelected\n ? `${colorClasses.bg} ${colorClasses.text} ds:font-semibold`\n : \"ds:text-foreground\"\n )}\n >\n {display}\n </Button>\n );\n })}\n </div>\n </div>\n );\n }\n )\n);\n\nTimeGridView.displayName = \"TimeGridView\";\n"],"names":["pad","num","getColorClasses","color","TimeGridView","memo","React","HOURS","MINUTES","hours","minutes","disabled","isTimeDisabled","onTimeSelect","ref","timeOptions","useMemo","options","h","m","currentValue","handleTimeSelect","jsx","display","itemDisabled","isSelected","colorClasses","Button","cn"],"mappings":"ozDAMMA,EAAOC,GAAwB,OAAOA,CAAG,EAAE,SAAS,EAAG,GAAG,EAG1DC,EAAkB,CAACC,EAAuB,aAC7B,CACf,QAAS,CACP,GAAI,aACJ,KAAM,yBAAA,EAER,UAAW,CACT,GAAI,eACJ,KAAM,2BAAA,EAER,OAAQ,CACN,GAAI,YACJ,KAAM,wBAAA,EAER,YAAa,CACX,GAAI,iBACJ,KAAM,6BAAA,EAER,MAAO,CACL,GAAI,WACJ,KAAM,uBAAA,EAER,QAAS,CACP,GAAI,aACJ,KAAM,yBAAA,EAER,MAAO,CACL,GAAI,WACJ,KAAM,uBAAA,EAER,QAAS,CACP,GAAI,aACJ,KAAM,yBAAA,EAER,WAAY,CACV,GAAI,gBACJ,KAAM,iBAAA,CACR,GAEcA,CAAK,EAcVC,EAAeC,EAAAA,KAC1BC,EAAM,WACJ,CACE,CACE,MAAAC,EACA,QAAAC,EACA,MAAAC,EACA,QAAAC,EACA,SAAAC,EACA,eAAAC,EACA,aAAAC,EACA,MAAAV,EAAQ,SAAA,EAEVW,IACG,CAEH,MAAMC,EAAcC,EAAAA,QAAQ,IAAM,CAChC,MAAMC,EAA4D,CAAA,EAElE,UAAWC,KAAKX,EACd,UAAWY,KAAKX,EACdS,EAAQ,KAAK,CACX,EAAAC,EACA,EAAAC,EACA,QAAS,GAAGnB,EAAIkB,CAAC,CAAC,IAAIlB,EAAImB,CAAC,CAAC,EAAA,CAC7B,EAIL,OAAOF,CACT,EAAG,CAACV,EAAOC,CAAO,CAAC,EAEbY,EACJX,IAAU,QAAaC,IAAY,OAC/B,GAAGV,EAAIS,CAAK,CAAC,IAAIT,EAAIU,CAAO,CAAC,GAC7B,GAEAW,EAAmB,CAACH,EAAWC,IAAc,CAE5CP,EAAeM,EAAGC,EAAG,CAAC,GACzBN,EAAaK,EAAGC,CAAC,CAErB,EAEA,OACEG,EAAAA,IAAC,MAAA,CAAI,UAAU,+BACb,SAAAA,EAAAA,IAAC,MAAA,CACC,IAAAR,EACA,UAAU,+EAET,WAAY,IAAI,CAAC,CAAE,EAAAI,EAAG,EAAAC,EAAG,QAAAI,KAAc,CACtC,MAAMC,EAAeZ,EAAeM,EAAGC,EAAG,CAAC,EACrCM,EAAaF,IAAYH,EACzBM,EAAexB,EAAgBC,CAAK,EAE1C,OACEmB,EAAAA,IAACK,EAAAA,QAAA,CAEC,KAAK,SACL,QAAQ,UACR,QAAS,IAAMN,EAAiBH,EAAGC,CAAC,EACpC,gBAAeM,GAAc,OAC7B,SAAUd,GAAYa,EACtB,KAAK,KACL,UAAWI,EAAAA,GACTH,EACI,GAAGC,EAAa,EAAE,IAAIA,EAAa,IAAI,oBACvC,oBAAA,EAGL,SAAAH,CAAA,EAbIA,CAAA,CAgBX,CAAC,CAAA,CAAA,EAEL,CAEJ,CAAA,CAEJ,EAEAnB,EAAa,YAAc"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),s=require("sonner"),i=require("lucide-react");require("@radix-ui/react-slot");require("../../packages/ui/src/components/button.cjs");require("../../packages/ui/src/components/button-group.cjs");require("../../packages/ui/src/components/input.cjs");require("../../packages/ui/src/components/textarea.cjs");require("@radix-ui/react-label");const m=require("../../packages/ui/src/lib/utils.cjs");require("../../packages/ui/src/components/select.cjs");require("../../packages/ui/src/components/combobox.cjs");require("@radix-ui/react-tooltip");require("react");require("react-day-picker");require("../../packages/ui/src/components/popover.cjs");require("@radix-ui/react-separator");require("../../packages/ui/src/components/switch.cjs");require("vaul");require("@radix-ui/react-scroll-area");require("../../packages/ui/src/components/tree-view.cjs");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-avatar");require("../../packages/ui/src/components/badge.cjs");require("../../packages/ui/src/components/checkbox.cjs");require("@radix-ui/react-collapsible");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-dropdown-menu");require("../../packages/ui/src/components/input-otp.cjs");require("../../packages/ui/src/components/radio-group.cjs");require("../../packages/ui/src/components/sidebar.cjs");require("@radix-ui/react-slider");require("../../packages/ui/src/components/tabs.cjs");require("../../packages/ui/src/components/toggle.cjs");const q={default:"bg-neutral-800 text-white border border-neutral-700",success:"bg-success text-white border border-success/20",error:"bg-error text-white border border-error/20",warning:"bg-warning text-black border border-warning/20",info:"bg-info text-foreground",primary:"bg-primary text-primary-foreground border border-primary/20",secondary:"bg-secondary text-secondary-foreground border border-secondary/20"},l={success:t.jsx(i.CheckCircle,{className:"w-4 h-4 shrink-0"}),error:t.jsx(i.XCircle,{className:"w-4 h-4 shrink-0"}),warning:t.jsx(i.AlertTriangle,{className:"w-4 h-4 shrink-0"}),info:t.jsx(i.Info,{className:"w-4 h-4 shrink-0"}),default:null,primary:t.jsx(i.Info,{className:"w-4 h-4 shrink-0"}),secondary:t.jsx(i.Info,{className:"w-4 h-4 shrink-0"})},o=(e,r)=>t.jsxs("div",{className:m.cn("flex items-center gap-2 rounded-md px-3 py-2 shadow-md text-sm font-medium",q[e]),children:[l[e],t.jsx("span",{children:r})]}),b=Object.assign((...e)=>{const[r]=e,n=typeof r=="function"?r():r??"Notification";return s.toast.custom(()=>o("default",n))},{success:(e,r)=>s.toast.custom(()=>o("success",e),r),error:(e,r)=>s.toast.custom(()=>o("error",e),r),warning:(e,r)=>s.toast.custom(()=>o("warning",e),r),info:(e,r)=>s.toast.custom(()=>o("info",e),r),primary:(e,r)=>s.toast.custom(()=>o("primary",e),r),secondary:(e,r)=>s.toast.custom(()=>o("secondary",e),r)});function f({position:e="top-right",richColors:r=!0,closeButton:n=!1,expand:a=!1,visibleToasts:u=3,duration:c=4e3,...d}){return t.jsx(s.Toaster,{...d,position:e,richColors:r,closeButton:n,expand:a,visibleToasts:u,toastOptions:{duration:c,classNames:{toast:"rounded-md shadow-md border-none text-sm font-medium backdrop-blur-sm text-black dark:text-white",description:"text-muted-foreground",actionButton:"bg-white/10"}}})}exports.Toaster=f;exports.toast=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),t=require("sonner"),o=require("lucide-react");require("@radix-ui/react-slot");require("../../packages/ui/src/components/button.cjs");require("../../packages/ui/src/components/button-group.cjs");require("../../packages/ui/src/components/input.cjs");require("../../packages/ui/src/components/textarea.cjs");require("@radix-ui/react-label");const m=require("../../packages/ui/src/lib/utils.cjs");require("../../packages/ui/src/components/select.cjs");require("../../packages/ui/src/components/combobox.cjs");require("@radix-ui/react-tooltip");require("react");require("react-day-picker");require("../../packages/ui/src/components/popover.cjs");require("@radix-ui/react-separator");require("../../packages/ui/src/components/switch.cjs");require("vaul");require("@radix-ui/react-scroll-area");require("../../packages/ui/src/components/tree-view.cjs");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-avatar");require("../../packages/ui/src/components/badge.cjs");require("../../packages/ui/src/components/checkbox.cjs");require("@radix-ui/react-collapsible");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-dropdown-menu");require("../../packages/ui/src/components/input-otp.cjs");require("../../packages/ui/src/components/radio-group.cjs");require("../../packages/ui/src/components/sidebar.cjs");require("@radix-ui/react-slider");require("../../packages/ui/src/components/tabs.cjs");require("../../packages/ui/src/components/toggle.cjs");const q={default:"ds:bg-neutral-800 ds:text-white ds:border ds:border-neutral-700",success:"ds:bg-success ds:text-white ds:border ds:border-success/20",error:"ds:bg-error ds:text-white ds:border ds:border-error/20",warning:"ds:bg-warning ds:text-black ds:border ds:border-warning/20",info:"ds:bg-info ds:text-foreground",primary:"ds:bg-primary ds:text-primary-foreground ds:border ds:border-primary/20",secondary:"ds:bg-secondary ds:text-secondary-foreground ds:border ds:border-secondary/20"},l={success:s.jsx(o.CheckCircle,{className:"ds:w-4 ds:h-4 ds:shrink-0"}),error:s.jsx(o.XCircle,{className:"ds:w-4 ds:h-4 ds:shrink-0"}),warning:s.jsx(o.AlertTriangle,{className:"ds:w-4 ds:h-4 ds:shrink-0"}),info:s.jsx(o.Info,{className:"ds:w-4 ds:h-4 ds:shrink-0"}),default:null,primary:s.jsx(o.Info,{className:"ds:w-4 ds:h-4 ds:shrink-0"}),secondary:s.jsx(o.Info,{className:"ds:w-4 ds:h-4 ds:shrink-0"})},d=(e,r)=>s.jsxs("div",{className:m.cn("ds:flex ds:items-center ds:gap-2 ds:rounded-md ds:px-3 ds:py-2 ds:shadow-md ds:text-sm ds:font-medium",q[e]),children:[l[e],s.jsx("span",{children:r})]}),b=Object.assign((...e)=>{const[r]=e,i=typeof r=="function"?r():r??"Notification";return t.toast.custom(()=>d("default",i))},{success:(e,r)=>t.toast.custom(()=>d("success",e),r),error:(e,r)=>t.toast.custom(()=>d("error",e),r),warning:(e,r)=>t.toast.custom(()=>d("warning",e),r),info:(e,r)=>t.toast.custom(()=>d("info",e),r),primary:(e,r)=>t.toast.custom(()=>d("primary",e),r),secondary:(e,r)=>t.toast.custom(()=>d("secondary",e),r)});function f({position:e="top-right",richColors:r=!0,closeButton:i=!1,expand:n=!1,visibleToasts:a=3,duration:u=4e3,...c}){return s.jsx(t.Toaster,{...c,position:e,richColors:r,closeButton:i,expand:n,visibleToasts:a,toastOptions:{duration:u,classNames:{toast:"rounded-md shadow-md border-none text-sm font-medium backdrop-blur-sm text-black dark:text-white",description:"text-muted-foreground",actionButton:"bg-white/10"}}})}exports.Toaster=f;exports.toast=b;
2
2
  //# sourceMappingURL=Toast.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.cjs","sources":["../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import {\n Toaster as SonnerToaster,\n toast as sonnerToast,\n type ToasterProps as SonnerToasterProps,\n} from \"sonner\";\nimport { CheckCircle, XCircle, Info, AlertTriangle } from \"lucide-react\";\nimport { cn } from \"@dsui/ui/index\";\n\nconst variantStyles = {\n default: \"bg-neutral-800 text-white border border-neutral-700\",\n success: \"bg-success text-white border border-success/20\",\n error: \"bg-error text-white border border-error/20\",\n warning: \"bg-warning text-black border border-warning/20\",\n info: \"bg-info text-foreground\",\n primary: \"bg-primary text-primary-foreground border border-primary/20\",\n secondary:\n \"bg-secondary text-secondary-foreground border border-secondary/20\",\n};\n\nconst variantIcons = {\n success: <CheckCircle className=\"w-4 h-4 shrink-0\" />,\n error: <XCircle className=\"w-4 h-4 shrink-0\" />,\n warning: <AlertTriangle className=\"w-4 h-4 shrink-0\" />,\n info: <Info className=\"w-4 h-4 shrink-0\" />,\n default: null,\n primary: <Info className=\"w-4 h-4 shrink-0\" />,\n secondary: <Info className=\"w-4 h-4 shrink-0\" />,\n};\n\ntype Variant = keyof typeof variantStyles;\n\nconst renderToastContent = (variant: Variant, message: React.ReactNode) => (\n <div\n className={cn(\n \"flex items-center gap-2 rounded-md px-3 py-2 shadow-md text-sm font-medium\",\n variantStyles[variant]\n )}\n >\n {variantIcons[variant]}\n <span>{message}</span>\n </div>\n);\n\nconst toast = Object.assign(\n (...args: Parameters<typeof sonnerToast>) => {\n const [message] = args;\n const content =\n typeof message === \"function\" ? message() : (message ?? \"Notification\");\n\n return sonnerToast.custom(() => renderToastContent(\"default\", content));\n },\n {\n success: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"success\", message), opts),\n\n error: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"error\", message), opts),\n\n warning: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"warning\", message), opts),\n\n info: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"info\", message), opts),\n\n primary: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"primary\", message), opts),\n\n secondary: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) =>\n sonnerToast.custom(() => renderToastContent(\"secondary\", message), opts),\n }\n) as any;\n\nfunction Toaster({\n position = \"top-right\",\n richColors = true,\n closeButton = false,\n expand = false,\n visibleToasts = 3,\n duration = 4000,\n ...props\n}: SonnerToasterProps) {\n return (\n <SonnerToaster\n {...props}\n position={position}\n richColors={richColors}\n closeButton={closeButton}\n expand={expand}\n visibleToasts={visibleToasts}\n toastOptions={{\n duration: duration,\n classNames: {\n toast:\n \"rounded-md shadow-md border-none text-sm font-medium backdrop-blur-sm text-black dark:text-white\",\n description: \"text-muted-foreground\",\n actionButton: \"bg-white/10\",\n },\n }}\n />\n );\n}\n\nexport { toast, Toaster };\n"],"names":["variantStyles","variantIcons","jsx","CheckCircle","XCircle","AlertTriangle","Info","renderToastContent","variant","message","jsxs","cn","toast","args","content","sonnerToast","opts","Toaster","position","richColors","closeButton","expand","visibleToasts","duration","props","SonnerToaster"],"mappings":"0jDAQA,MAAMA,EAAgB,CACpB,QAAS,sDACT,QAAS,iDACT,MAAO,6CACP,QAAS,iDACT,KAAM,0BACN,QAAS,8DACT,UACE,mEACJ,EAEMC,EAAe,CACnB,QAASC,EAAAA,IAACC,EAAAA,YAAA,CAAY,UAAU,kBAAA,CAAmB,EACnD,MAAOD,EAAAA,IAACE,EAAAA,QAAA,CAAQ,UAAU,kBAAA,CAAmB,EAC7C,QAASF,EAAAA,IAACG,EAAAA,cAAA,CAAc,UAAU,kBAAA,CAAmB,EACrD,KAAMH,EAAAA,IAACI,EAAAA,KAAA,CAAK,UAAU,kBAAA,CAAmB,EACzC,QAAS,KACT,QAASJ,EAAAA,IAACI,EAAAA,KAAA,CAAK,UAAU,kBAAA,CAAmB,EAC5C,UAAWJ,EAAAA,IAACI,EAAAA,KAAA,CAAK,UAAU,kBAAA,CAAmB,CAChD,EAIMC,EAAqB,CAACC,EAAkBC,IAC5CC,EAAAA,KAAC,MAAA,CACC,UAAWC,EAAAA,GACT,6EACAX,EAAcQ,CAAO,CAAA,EAGtB,SAAA,CAAAP,EAAaO,CAAO,EACrBN,EAAAA,IAAC,QAAM,SAAAO,CAAA,CAAQ,CAAA,CAAA,CACjB,EAGIG,EAAQ,OAAO,OACnB,IAAIC,IAAyC,CAC3C,KAAM,CAACJ,CAAO,EAAII,EACZC,EACJ,OAAOL,GAAY,WAAaA,EAAA,EAAaA,GAAW,eAE1D,OAAOM,EAAAA,MAAY,OAAO,IAAMR,EAAmB,UAAWO,CAAO,CAAC,CACxE,EACA,CACE,QAAS,CACPL,EACAO,IACGD,QAAY,OAAO,IAAMR,EAAmB,UAAWE,CAAO,EAAGO,CAAI,EAE1E,MAAO,CACLP,EACAO,IACGD,QAAY,OAAO,IAAMR,EAAmB,QAASE,CAAO,EAAGO,CAAI,EAExE,QAAS,CACPP,EACAO,IACGD,QAAY,OAAO,IAAMR,EAAmB,UAAWE,CAAO,EAAGO,CAAI,EAE1E,KAAM,CACJP,EACAO,IACGD,QAAY,OAAO,IAAMR,EAAmB,OAAQE,CAAO,EAAGO,CAAI,EAEvE,QAAS,CACPP,EACAO,IACGD,QAAY,OAAO,IAAMR,EAAmB,UAAWE,CAAO,EAAGO,CAAI,EAE1E,UAAW,CACTP,EACAO,IAEAD,EAAAA,MAAY,OAAO,IAAMR,EAAmB,YAAaE,CAAO,EAAGO,CAAI,CAAA,CAE7E,EAEA,SAASC,EAAQ,CACf,SAAAC,EAAW,YACX,WAAAC,EAAa,GACb,YAAAC,EAAc,GACd,OAAAC,EAAS,GACT,cAAAC,EAAgB,EAChB,SAAAC,EAAW,IACX,GAAGC,CACL,EAAuB,CACrB,OACEtB,EAAAA,IAACuB,EAAAA,QAAA,CACE,GAAGD,EACJ,SAAAN,EACA,WAAAC,EACA,YAAAC,EACA,OAAAC,EACA,cAAAC,EACA,aAAc,CACZ,SAAAC,EACA,WAAY,CACV,MACE,mGACF,YAAa,wBACb,aAAc,aAAA,CAChB,CACF,CAAA,CAGN"}
1
+ {"version":3,"file":"Toast.cjs","sources":["../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import {\n Toaster as SonnerToaster,\n toast as sonnerToast,\n type ToasterProps as SonnerToasterProps,\n} from \"sonner\";\nimport { CheckCircle, XCircle, Info, AlertTriangle } from \"lucide-react\";\nimport { cn } from \"@dsui/ui/index\";\n\nconst variantStyles = {\n default: \"ds:bg-neutral-800 ds:text-white ds:border ds:border-neutral-700\",\n success: \"ds:bg-success ds:text-white ds:border ds:border-success/20\",\n error: \"ds:bg-error ds:text-white ds:border ds:border-error/20\",\n warning: \"ds:bg-warning ds:text-black ds:border ds:border-warning/20\",\n info: \"ds:bg-info ds:text-foreground\",\n primary: \"ds:bg-primary ds:text-primary-foreground ds:border ds:border-primary/20\",\n secondary:\n \"ds:bg-secondary ds:text-secondary-foreground ds:border ds:border-secondary/20\",\n};\n\nconst variantIcons = {\n success: <CheckCircle className=\"ds:w-4 ds:h-4 ds:shrink-0\" />,\n error: <XCircle className=\"ds:w-4 ds:h-4 ds:shrink-0\" />,\n warning: <AlertTriangle className=\"ds:w-4 ds:h-4 ds:shrink-0\" />,\n info: <Info className=\"ds:w-4 ds:h-4 ds:shrink-0\" />,\n default: null,\n primary: <Info className=\"ds:w-4 ds:h-4 ds:shrink-0\" />,\n secondary: <Info className=\"ds:w-4 ds:h-4 ds:shrink-0\" />,\n};\n\ntype Variant = keyof typeof variantStyles;\n\nconst renderToastContent = (variant: Variant, message: React.ReactNode) => (\n <div\n className={cn(\n \"ds:flex ds:items-center ds:gap-2 ds:rounded-md ds:px-3 ds:py-2 ds:shadow-md ds:text-sm ds:font-medium\",\n variantStyles[variant]\n )}\n >\n {variantIcons[variant]}\n <span>{message}</span>\n </div>\n);\n\nconst toast = Object.assign(\n (...args: Parameters<typeof sonnerToast>) => {\n const [message] = args;\n const content =\n typeof message === \"function\" ? message() : (message ?? \"Notification\");\n\n return sonnerToast.custom(() => renderToastContent(\"default\", content));\n },\n {\n success: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"success\", message), opts),\n\n error: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"error\", message), opts),\n\n warning: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"warning\", message), opts),\n\n info: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"info\", message), opts),\n\n primary: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"primary\", message), opts),\n\n secondary: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) =>\n sonnerToast.custom(() => renderToastContent(\"secondary\", message), opts),\n }\n) as any;\n\nfunction Toaster({\n position = \"top-right\",\n richColors = true,\n closeButton = false,\n expand = false,\n visibleToasts = 3,\n duration = 4000,\n ...props\n}: SonnerToasterProps) {\n return (\n <SonnerToaster\n {...props}\n position={position}\n richColors={richColors}\n closeButton={closeButton}\n expand={expand}\n visibleToasts={visibleToasts}\n toastOptions={{\n duration: duration,\n classNames: {\n toast:\n \"rounded-md shadow-md border-none text-sm font-medium backdrop-blur-sm text-black dark:text-white\",\n description: \"text-muted-foreground\",\n actionButton: \"bg-white/10\",\n },\n }}\n />\n );\n}\n\nexport { toast, Toaster };\n"],"names":["variantStyles","variantIcons","jsx","CheckCircle","XCircle","AlertTriangle","Info","renderToastContent","variant","message","jsxs","cn","toast","args","content","sonnerToast","opts","Toaster","position","richColors","closeButton","expand","visibleToasts","duration","props","SonnerToaster"],"mappings":"0jDAQA,MAAMA,EAAgB,CACpB,QAAS,kEACT,QAAS,6DACT,MAAO,yDACP,QAAS,6DACT,KAAM,gCACN,QAAS,0EACT,UACE,+EACJ,EAEMC,EAAe,CACnB,QAASC,EAAAA,IAACC,EAAAA,YAAA,CAAY,UAAU,2BAAA,CAA4B,EAC5D,MAAOD,EAAAA,IAACE,EAAAA,QAAA,CAAQ,UAAU,2BAAA,CAA4B,EACtD,QAASF,EAAAA,IAACG,EAAAA,cAAA,CAAc,UAAU,2BAAA,CAA4B,EAC9D,KAAMH,EAAAA,IAACI,EAAAA,KAAA,CAAK,UAAU,2BAAA,CAA4B,EAClD,QAAS,KACT,QAASJ,EAAAA,IAACI,EAAAA,KAAA,CAAK,UAAU,2BAAA,CAA4B,EACrD,UAAWJ,EAAAA,IAACI,EAAAA,KAAA,CAAK,UAAU,2BAAA,CAA4B,CACzD,EAIMC,EAAqB,CAACC,EAAkBC,IAC5CC,EAAAA,KAAC,MAAA,CACC,UAAWC,EAAAA,GACT,wGACAX,EAAcQ,CAAO,CAAA,EAGtB,SAAA,CAAAP,EAAaO,CAAO,EACrBN,EAAAA,IAAC,QAAM,SAAAO,CAAA,CAAQ,CAAA,CAAA,CACjB,EAGIG,EAAQ,OAAO,OACnB,IAAIC,IAAyC,CAC3C,KAAM,CAACJ,CAAO,EAAII,EACZC,EACJ,OAAOL,GAAY,WAAaA,EAAA,EAAaA,GAAW,eAE1D,OAAOM,EAAAA,MAAY,OAAO,IAAMR,EAAmB,UAAWO,CAAO,CAAC,CACxE,EACA,CACE,QAAS,CACPL,EACAO,IACGD,QAAY,OAAO,IAAMR,EAAmB,UAAWE,CAAO,EAAGO,CAAI,EAE1E,MAAO,CACLP,EACAO,IACGD,QAAY,OAAO,IAAMR,EAAmB,QAASE,CAAO,EAAGO,CAAI,EAExE,QAAS,CACPP,EACAO,IACGD,QAAY,OAAO,IAAMR,EAAmB,UAAWE,CAAO,EAAGO,CAAI,EAE1E,KAAM,CACJP,EACAO,IACGD,QAAY,OAAO,IAAMR,EAAmB,OAAQE,CAAO,EAAGO,CAAI,EAEvE,QAAS,CACPP,EACAO,IACGD,QAAY,OAAO,IAAMR,EAAmB,UAAWE,CAAO,EAAGO,CAAI,EAE1E,UAAW,CACTP,EACAO,IAEAD,EAAAA,MAAY,OAAO,IAAMR,EAAmB,YAAaE,CAAO,EAAGO,CAAI,CAAA,CAE7E,EAEA,SAASC,EAAQ,CACf,SAAAC,EAAW,YACX,WAAAC,EAAa,GACb,YAAAC,EAAc,GACd,OAAAC,EAAS,GACT,cAAAC,EAAgB,EAChB,SAAAC,EAAW,IACX,GAAGC,CACL,EAAuB,CACrB,OACEtB,EAAAA,IAACuB,EAAAA,QAAA,CACE,GAAGD,EACJ,SAAAN,EACA,WAAAC,EACA,YAAAC,EACA,OAAAC,EACA,cAAAC,EACA,aAAc,CACZ,SAAAC,EACA,WAAY,CACV,MACE,mGACF,YAAa,wBACb,aAAc,aAAA,CAChB,CACF,CAAA,CAGN"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("react"),a=require("../../packages/ui/src/components/tooltip.cjs");require("@radix-ui/react-slot");require("../../packages/ui/src/components/button.cjs");require("../../packages/ui/src/components/button-group.cjs");require("../../packages/ui/src/components/input.cjs");require("../../packages/ui/src/components/textarea.cjs");require("@radix-ui/react-label");const u=require("../../packages/ui/src/lib/utils.cjs");require("../../packages/ui/src/components/select.cjs");require("../../packages/ui/src/components/combobox.cjs");require("lucide-react");require("react-day-picker");require("../../packages/ui/src/components/popover.cjs");require("@radix-ui/react-separator");require("../../packages/ui/src/components/switch.cjs");require("vaul");require("@radix-ui/react-scroll-area");require("../../packages/ui/src/components/tree-view.cjs");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-avatar");require("../../packages/ui/src/components/badge.cjs");require("../../packages/ui/src/components/checkbox.cjs");require("@radix-ui/react-collapsible");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-dropdown-menu");require("../../packages/ui/src/components/input-otp.cjs");require("../../packages/ui/src/components/radio-group.cjs");require("../../packages/ui/src/components/sidebar.cjs");require("@radix-ui/react-slider");require("../../packages/ui/src/components/tabs.cjs");require("../../packages/ui/src/components/toggle.cjs");const t=require("motion/react"),C=require("../../utils/animations.cjs");function O(i){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const r in i)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(i,r);Object.defineProperty(s,r,n.get?n:{enumerable:!0,get:()=>i[r]})}}return s.default=i,Object.freeze(s)}const b=O(l),S=b.memo(function({content:s,children:r,sideOffset:n=4,delayDuration:q=0,className:c,childClassName:v,position:x="top",noArrow:h=!1,animation:d,...g}){const f={stiffness:100,damping:5},y=l.useMemo(()=>C.animationClass(d,c),[d,c]),p=l.useMemo(()=>{switch(g.color){case"primary":return"bg-primary text-primary-foreground [&>span>svg]:bg-primary [&>span>svg]:fill-primary";case"secondary":return"bg-secondary text-secondary-foreground [&>span>svg]:bg-secondary [&>span>svg]:fill-secondary";case"dark":return"";case"light":return"bg-neutral-200 text-neutral-950 [&_svg]:bg-neutral-200 [&_svg]:fill-neutral-200";case"inverted":return"dark:bg-white dark:text-black dark:[&_svg]:bg-white dark:[&_svg]:fill-white";case"success":return"bg-success text-success-foreground [&>span>svg]:bg-success [&>span>svg]:fill-success";case"warning":return"bg-warning text-warning-foreground [&>span>svg]:bg-warning [&>span>svg]:fill-warning";case"error":return"bg-error text-error-foreground [&>span>svg]:bg-error [&>span>svg]:fill-error";case"glass":return"bg-white/15 text-foreground backdrop-blur-sm shadow-lg [&>span>svg]:bg-white/15 [&>span>svg]:fill-white/15";default:return"bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance"}},[g?.color]),o=t.useMotionValue(0),w=t.useSpring(t.useTransform(o,[-100,100],[-45,45]),f),j=t.useSpring(t.useTransform(o,[-100,100],[-50,50]),f),k=l.useCallback(m=>{const M=m.target.offsetWidth/2;o.set(m.nativeEvent.offsetX-M)},[o]),T=b.memo(()=>r?e.jsx("span",{onMouseMove:k,className:u.cn("inline-block",v),children:r}):e.jsx(e.Fragment,{}));return d==="spec"?e.jsxs(t.motion.div,{className:u.cn("relative -me-2.5 inline-block",c),whileHover:"hover",initial:"initial",children:[e.jsx(t.motion.div,{variants:{initial:{opacity:0,y:20,scale:0},hover:{opacity:1,y:-5,scale:1,transition:{type:"tween",duration:.2,ease:"easeOut"}}},style:{translateX:j,rotate:w,whiteSpace:"nowrap"},className:u.cn("absolute -top-2 left-1/2 z-50 flex -translate-x-1/2 -translate-y-full flex-col items-center justify-center rounded-md px-4 py-2 text-xs shadow-xl",p),children:e.jsx("div",{className:"relative z-1",children:s})}),e.jsx(T,{})]}):e.jsx(a.TooltipProvider,{delayDuration:q,children:e.jsxs(a.Tooltip,{children:[e.jsx(a.TooltipTrigger,{asChild:!0,children:r}),e.jsx(a.TooltipContent,{...g,side:x,sideOffset:n,className:u.cn(y?.className,p,{"[&>span>svg]:invisible":h}),children:s})]})})});exports.Tooltip=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("react"),a=require("../../packages/ui/src/components/tooltip.cjs");require("@radix-ui/react-slot");require("../../packages/ui/src/components/button.cjs");require("../../packages/ui/src/components/button-group.cjs");require("../../packages/ui/src/components/input.cjs");require("../../packages/ui/src/components/textarea.cjs");require("@radix-ui/react-label");const u=require("../../packages/ui/src/lib/utils.cjs");require("../../packages/ui/src/components/select.cjs");require("../../packages/ui/src/components/combobox.cjs");require("lucide-react");require("react-day-picker");require("../../packages/ui/src/components/popover.cjs");require("@radix-ui/react-separator");require("../../packages/ui/src/components/switch.cjs");require("vaul");require("@radix-ui/react-scroll-area");require("../../packages/ui/src/components/tree-view.cjs");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-avatar");require("../../packages/ui/src/components/badge.cjs");require("../../packages/ui/src/components/checkbox.cjs");require("@radix-ui/react-collapsible");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-dropdown-menu");require("../../packages/ui/src/components/input-otp.cjs");require("../../packages/ui/src/components/radio-group.cjs");require("../../packages/ui/src/components/sidebar.cjs");require("@radix-ui/react-slider");require("../../packages/ui/src/components/tabs.cjs");require("../../packages/ui/src/components/toggle.cjs");const t=require("motion/react"),C=require("../../utils/animations.cjs");function O(s){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const r in s)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(s,r);Object.defineProperty(i,r,n.get?n:{enumerable:!0,get:()=>s[r]})}}return i.default=s,Object.freeze(i)}const b=O(l),S=b.memo(function({content:i,children:r,sideOffset:n=4,delayDuration:q=0,className:d,childClassName:v,position:x="top",noArrow:h=!1,animation:c,...g}){const f={stiffness:100,damping:5},y=l.useMemo(()=>C.animationClass(c,d),[c,d]),p=l.useMemo(()=>{switch(g.color){case"primary":return"bg-primary text-primary-foreground [&>span>svg]:bg-primary [&>span>svg]:fill-primary";case"secondary":return"bg-secondary text-secondary-foreground [&>span>svg]:bg-secondary [&>span>svg]:fill-secondary";case"dark":return"";case"light":return"bg-neutral-200 text-neutral-950 [&_svg]:bg-neutral-200 [&_svg]:fill-neutral-200";case"inverted":return"dark:bg-white dark:text-black dark:[&_svg]:bg-white dark:[&_svg]:fill-white";case"success":return"bg-success text-success-foreground [&>span>svg]:bg-success [&>span>svg]:fill-success";case"warning":return"bg-warning text-warning-foreground [&>span>svg]:bg-warning [&>span>svg]:fill-warning";case"error":return"bg-error text-error-foreground [&>span>svg]:bg-error [&>span>svg]:fill-error";case"glass":return"bg-white/15 text-foreground backdrop-blur-sm shadow-lg [&>span>svg]:bg-white/15 [&>span>svg]:fill-white/15";default:return"bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance"}},[g?.color]),o=t.useMotionValue(0),w=t.useSpring(t.useTransform(o,[-100,100],[-45,45]),f),j=t.useSpring(t.useTransform(o,[-100,100],[-50,50]),f),k=l.useCallback(m=>{const M=m.target.offsetWidth/2;o.set(m.nativeEvent.offsetX-M)},[o]),T=b.memo(()=>r?e.jsx("span",{onMouseMove:k,className:u.cn("ds:inline-block",v),children:r}):e.jsx(e.Fragment,{}));return c==="spec"?e.jsxs(t.motion.div,{className:u.cn("ds:relative ds:-me-2.5 ds:inline-block",d),whileHover:"hover",initial:"initial",children:[e.jsx(t.motion.div,{variants:{initial:{opacity:0,y:20,scale:0},hover:{opacity:1,y:-5,scale:1,transition:{type:"tween",duration:.2,ease:"easeOut"}}},style:{translateX:j,rotate:w,whiteSpace:"nowrap"},className:u.cn("ds:absolute ds:-top-2 ds:left-1/2 ds:z-50 ds:flex ds:-translate-x-1/2 ds:-translate-y-full ds:flex-col ds:items-center ds:justify-center ds:rounded-md ds:px-4 ds:py-2 ds:text-xs ds:shadow-xl",p),children:e.jsx("div",{className:"ds:relative ds:z-1",children:i})}),e.jsx(T,{})]}):e.jsx(a.TooltipProvider,{delayDuration:q,children:e.jsxs(a.Tooltip,{children:[e.jsx(a.TooltipTrigger,{asChild:!0,children:r}),e.jsx(a.TooltipContent,{...g,side:x,sideOffset:n,className:u.cn(y?.className,p,{"ds:[&>span>svg]:invisible":h}),children:i})]})})});exports.Tooltip=S;
2
2
  //# sourceMappingURL=Tooltip.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.cjs","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {\n Tooltip as DsTooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n type TooltipContentProps,\n} from \"@dsui/ui/components/tooltip\";\nimport { cn } from \"@dsui/ui/index\";\nimport { motion, useMotionValue, useSpring, useTransform } from \"motion/react\";\nimport type { BasicAnimation, BasicColor } from \"@/types/variables\";\nimport { useMemo, useCallback } from \"react\";\nimport { animationClass } from \"@/utils/animations\";\n\ntype Color = BasicColor | \"dark\" | \"light\" | \"inverted\";\n\nexport type TooltipProps = TooltipContentProps & {\n content: React.ReactNode;\n children: React.ReactNode;\n sideOffset?: number;\n delayDuration?: number;\n position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n className?: string;\n childClassName?: string;\n noArrow?: boolean;\n animation?: BasicAnimation;\n color?: Color;\n};\n\nexport const Tooltip = React.memo(function Tooltip({\n content,\n children,\n sideOffset = 4,\n delayDuration = 0,\n className,\n childClassName,\n position = \"top\",\n noArrow = false,\n animation,\n ...props\n}: TooltipProps) {\n const springConfig = { stiffness: 100, damping: 5 };\n\n const tooltipAnimation = useMemo<{ className?: string } | null>(() => {\n return animationClass(animation, className);\n }, [animation, className]);\n\n const tooltipColor = useMemo<string>(() => {\n switch (props.color) {\n case \"primary\":\n return \"bg-primary text-primary-foreground [&>span>svg]:bg-primary [&>span>svg]:fill-primary\";\n case \"secondary\":\n return \"bg-secondary text-secondary-foreground [&>span>svg]:bg-secondary [&>span>svg]:fill-secondary\";\n case \"dark\":\n return \"\";\n case \"light\":\n return \"bg-neutral-200 text-neutral-950 [&_svg]:bg-neutral-200 [&_svg]:fill-neutral-200\";\n case \"inverted\":\n return \"dark:bg-white dark:text-black dark:[&_svg]:bg-white dark:[&_svg]:fill-white\";\n case \"success\":\n return \"bg-success text-success-foreground [&>span>svg]:bg-success [&>span>svg]:fill-success\";\n case \"warning\":\n return \"bg-warning text-warning-foreground [&>span>svg]:bg-warning [&>span>svg]:fill-warning\";\n case \"error\":\n return \"bg-error text-error-foreground [&>span>svg]:bg-error [&>span>svg]:fill-error\";\n case \"glass\":\n return \"bg-white/15 text-foreground backdrop-blur-sm shadow-lg [&>span>svg]:bg-white/15 [&>span>svg]:fill-white/15\";\n default:\n return \"bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance\";\n }\n }, [props?.color]);\n\n // on mouse move\n const x = useMotionValue(0);\n // rotate the tooltip\n const rotate = useSpring(\n useTransform(x, [-100, 100], [-45, 45]),\n springConfig\n );\n // translate the tooltip\n const translateX = useSpring(\n useTransform(x, [-100, 100], [-50, 50]),\n springConfig\n );\n\n const handleMouseMove = useCallback(\n (event: React.MouseEvent) => {\n const halfWidth = (event.target as HTMLElement).offsetWidth / 2;\n x.set(event.nativeEvent.offsetX - halfWidth);\n },\n [x]\n );\n\n const ChildComp = React.memo(() => {\n if (!children) return <></>;\n\n return (\n <span\n onMouseMove={handleMouseMove}\n className={cn(\"inline-block\", childClassName)}\n >\n {children}\n </span>\n );\n });\n\n if (animation === \"spec\") {\n return (\n <motion.div\n className={cn(\"relative -me-2.5 inline-block\", className)}\n whileHover=\"hover\"\n initial=\"initial\"\n >\n <motion.div\n variants={{\n initial: { opacity: 0, y: 20, scale: 0 },\n hover: {\n opacity: 1,\n y: -5,\n scale: 1,\n transition: {\n type: \"tween\",\n duration: 0.2,\n ease: \"easeOut\",\n },\n },\n }}\n style={{\n translateX: translateX,\n rotate: rotate,\n whiteSpace: \"nowrap\",\n }}\n className={cn(\n \"absolute -top-2 left-1/2 z-50 flex -translate-x-1/2 -translate-y-full flex-col items-center justify-center rounded-md px-4 py-2 text-xs shadow-xl\",\n tooltipColor\n )}\n >\n <div className=\"relative z-1\">{content}</div>\n </motion.div>\n\n <ChildComp />\n </motion.div>\n );\n }\n\n return (\n <TooltipProvider delayDuration={delayDuration}>\n <DsTooltip>\n <TooltipTrigger asChild>{children}</TooltipTrigger>\n <TooltipContent\n {...props}\n side={position}\n sideOffset={sideOffset}\n className={cn(tooltipAnimation?.className, tooltipColor, {\n \"[&>span>svg]:invisible\": noArrow,\n })}\n >\n {content}\n </TooltipContent>\n </DsTooltip>\n </TooltipProvider>\n );\n});\n"],"names":["Tooltip","React","content","children","sideOffset","delayDuration","className","childClassName","position","noArrow","animation","props","springConfig","tooltipAnimation","useMemo","animationClass","tooltipColor","x","useMotionValue","rotate","useSpring","useTransform","translateX","handleMouseMove","useCallback","event","halfWidth","ChildComp","jsx","cn","Fragment","jsxs","motion","TooltipProvider","DsTooltip","TooltipTrigger","TooltipContent"],"mappings":"+5DA6BaA,EAAUC,EAAM,KAAK,SAAiB,CACjD,QAAAC,EACA,SAAAC,EACA,WAAAC,EAAa,EACb,cAAAC,EAAgB,EAChB,UAAAC,EACA,eAAAC,EACA,SAAAC,EAAW,MACX,QAAAC,EAAU,GACV,UAAAC,EACA,GAAGC,CACL,EAAiB,CACf,MAAMC,EAAe,CAAE,UAAW,IAAK,QAAS,CAAA,EAE1CC,EAAmBC,EAAAA,QAAuC,IACvDC,EAAAA,eAAeL,EAAWJ,CAAS,EACzC,CAACI,EAAWJ,CAAS,CAAC,EAEnBU,EAAeF,EAAAA,QAAgB,IAAM,CACzC,OAAQH,EAAM,MAAA,CACZ,IAAK,UACH,MAAO,uFACT,IAAK,YACH,MAAO,+FACT,IAAK,OACH,MAAO,GACT,IAAK,QACH,MAAO,kFACT,IAAK,WACH,MAAO,8EACT,IAAK,UACH,MAAO,uFACT,IAAK,UACH,MAAO,uFACT,IAAK,QACH,MAAO,+EACT,IAAK,QACH,MAAO,6GACT,QACE,MAAO,maAAA,CAEb,EAAG,CAACA,GAAO,KAAK,CAAC,EAGXM,EAAIC,EAAAA,eAAe,CAAC,EAEpBC,EAASC,EAAAA,UACbC,EAAAA,aAAaJ,EAAG,CAAC,KAAM,GAAG,EAAG,CAAC,IAAK,EAAE,CAAC,EACtCL,CAAA,EAGIU,EAAaF,EAAAA,UACjBC,EAAAA,aAAaJ,EAAG,CAAC,KAAM,GAAG,EAAG,CAAC,IAAK,EAAE,CAAC,EACtCL,CAAA,EAGIW,EAAkBC,EAAAA,YACrBC,GAA4B,CAC3B,MAAMC,EAAaD,EAAM,OAAuB,YAAc,EAC9DR,EAAE,IAAIQ,EAAM,YAAY,QAAUC,CAAS,CAC7C,EACA,CAACT,CAAC,CAAA,EAGEU,EAAY1B,EAAM,KAAK,IACtBE,EAGHyB,EAAAA,IAAC,OAAA,CACC,YAAaL,EACb,UAAWM,EAAAA,GAAG,eAAgBtB,CAAc,EAE3C,SAAAJ,CAAA,CAAA,EAPiByB,MAAAE,EAAAA,SAAA,CAAA,CAAE,CAUzB,EAED,OAAIpB,IAAc,OAEdqB,EAAAA,KAACC,EAAAA,OAAO,IAAP,CACC,UAAWH,EAAAA,GAAG,gCAAiCvB,CAAS,EACxD,WAAW,QACX,QAAQ,UAER,SAAA,CAAAsB,EAAAA,IAACI,EAAAA,OAAO,IAAP,CACC,SAAU,CACR,QAAS,CAAE,QAAS,EAAG,EAAG,GAAI,MAAO,CAAA,EACrC,MAAO,CACL,QAAS,EACT,EAAG,GACH,MAAO,EACP,WAAY,CACV,KAAM,QACN,SAAU,GACV,KAAM,SAAA,CACR,CACF,EAEF,MAAO,CACL,WAAAV,EACA,OAAAH,EACA,WAAY,QAAA,EAEd,UAAWU,EAAAA,GACT,oJACAb,CAAA,EAGF,SAAAY,EAAAA,IAAC,MAAA,CAAI,UAAU,eAAgB,SAAA1B,CAAA,CAAQ,CAAA,CAAA,QAGxCyB,EAAA,CAAA,CAAU,CAAA,CAAA,CAAA,EAMfC,EAAAA,IAACK,EAAAA,gBAAA,CAAgB,cAAA5B,EACf,SAAA0B,OAACG,EAAAA,QAAA,CACC,SAAA,CAAAN,EAAAA,IAACO,EAAAA,eAAA,CAAe,QAAO,GAAE,SAAAhC,CAAA,CAAS,EAClCyB,EAAAA,IAACQ,EAAAA,eAAA,CACE,GAAGzB,EACJ,KAAMH,EACN,WAAAJ,EACA,UAAWyB,EAAAA,GAAGhB,GAAkB,UAAWG,EAAc,CACvD,yBAA0BP,CAAA,CAC3B,EAEA,SAAAP,CAAA,CAAA,CACH,CAAA,CACF,CAAA,CACF,CAEJ,CAAC"}
1
+ {"version":3,"file":"Tooltip.cjs","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {\n Tooltip as DsTooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n type TooltipContentProps,\n} from \"@dsui/ui/components/tooltip\";\nimport { cn } from \"@dsui/ui/index\";\nimport { motion, useMotionValue, useSpring, useTransform } from \"motion/react\";\nimport type { BasicAnimation, BasicColor } from \"@/types/variables\";\nimport { useMemo, useCallback } from \"react\";\nimport { animationClass } from \"@/utils/animations\";\n\ntype Color = BasicColor | \"dark\" | \"light\" | \"inverted\";\n\nexport type TooltipProps = TooltipContentProps & {\n content: React.ReactNode;\n children: React.ReactNode;\n sideOffset?: number;\n delayDuration?: number;\n position?: \"top\" | \"right\" | \"bottom\" | \"left\";\n className?: string;\n childClassName?: string;\n noArrow?: boolean;\n animation?: BasicAnimation;\n color?: Color;\n};\n\nexport const Tooltip = React.memo(function Tooltip({\n content,\n children,\n sideOffset = 4,\n delayDuration = 0,\n className,\n childClassName,\n position = \"top\",\n noArrow = false,\n animation,\n ...props\n}: TooltipProps) {\n const springConfig = { stiffness: 100, damping: 5 };\n\n const tooltipAnimation = useMemo<{ className?: string } | null>(() => {\n return animationClass(animation, className);\n }, [animation, className]);\n\n const tooltipColor = useMemo<string>(() => {\n switch (props.color) {\n case \"primary\":\n return \"bg-primary text-primary-foreground [&>span>svg]:bg-primary [&>span>svg]:fill-primary\";\n case \"secondary\":\n return \"bg-secondary text-secondary-foreground [&>span>svg]:bg-secondary [&>span>svg]:fill-secondary\";\n case \"dark\":\n return \"\";\n case \"light\":\n return \"bg-neutral-200 text-neutral-950 [&_svg]:bg-neutral-200 [&_svg]:fill-neutral-200\";\n case \"inverted\":\n return \"dark:bg-white dark:text-black dark:[&_svg]:bg-white dark:[&_svg]:fill-white\";\n case \"success\":\n return \"bg-success text-success-foreground [&>span>svg]:bg-success [&>span>svg]:fill-success\";\n case \"warning\":\n return \"bg-warning text-warning-foreground [&>span>svg]:bg-warning [&>span>svg]:fill-warning\";\n case \"error\":\n return \"bg-error text-error-foreground [&>span>svg]:bg-error [&>span>svg]:fill-error\";\n case \"glass\":\n return \"bg-white/15 text-foreground backdrop-blur-sm shadow-lg [&>span>svg]:bg-white/15 [&>span>svg]:fill-white/15\";\n default:\n return \"bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance\";\n }\n }, [props?.color]);\n\n // on mouse move\n const x = useMotionValue(0);\n // rotate the tooltip\n const rotate = useSpring(\n useTransform(x, [-100, 100], [-45, 45]),\n springConfig\n );\n // translate the tooltip\n const translateX = useSpring(\n useTransform(x, [-100, 100], [-50, 50]),\n springConfig\n );\n\n const handleMouseMove = useCallback(\n (event: React.MouseEvent) => {\n const halfWidth = (event.target as HTMLElement).offsetWidth / 2;\n x.set(event.nativeEvent.offsetX - halfWidth);\n },\n [x]\n );\n\n const ChildComp = React.memo(() => {\n if (!children) return <></>;\n\n return (\n <span\n onMouseMove={handleMouseMove}\n className={cn(\"ds:inline-block\", childClassName)}\n >\n {children}\n </span>\n );\n });\n\n if (animation === \"spec\") {\n return (\n <motion.div\n className={cn(\"ds:relative ds:-me-2.5 ds:inline-block\", className)}\n whileHover=\"hover\"\n initial=\"initial\"\n >\n <motion.div\n variants={{\n initial: { opacity: 0, y: 20, scale: 0 },\n hover: {\n opacity: 1,\n y: -5,\n scale: 1,\n transition: {\n type: \"tween\",\n duration: 0.2,\n ease: \"easeOut\",\n },\n },\n }}\n style={{\n translateX: translateX,\n rotate: rotate,\n whiteSpace: \"nowrap\",\n }}\n className={cn(\n \"ds:absolute ds:-top-2 ds:left-1/2 ds:z-50 ds:flex ds:-translate-x-1/2 ds:-translate-y-full ds:flex-col ds:items-center ds:justify-center ds:rounded-md ds:px-4 ds:py-2 ds:text-xs ds:shadow-xl\",\n tooltipColor\n )}\n >\n <div className=\"ds:relative ds:z-1\">{content}</div>\n </motion.div>\n\n <ChildComp />\n </motion.div>\n );\n }\n\n return (\n <TooltipProvider delayDuration={delayDuration}>\n <DsTooltip>\n <TooltipTrigger asChild>{children}</TooltipTrigger>\n <TooltipContent\n {...props}\n side={position}\n sideOffset={sideOffset}\n className={cn(tooltipAnimation?.className, tooltipColor, {\n \"ds:[&>span>svg]:invisible\": noArrow,\n })}\n >\n {content}\n </TooltipContent>\n </DsTooltip>\n </TooltipProvider>\n );\n});\n"],"names":["Tooltip","React","content","children","sideOffset","delayDuration","className","childClassName","position","noArrow","animation","props","springConfig","tooltipAnimation","useMemo","animationClass","tooltipColor","x","useMotionValue","rotate","useSpring","useTransform","translateX","handleMouseMove","useCallback","event","halfWidth","ChildComp","jsx","cn","Fragment","jsxs","motion","TooltipProvider","DsTooltip","TooltipTrigger","TooltipContent"],"mappings":"+5DA6BaA,EAAUC,EAAM,KAAK,SAAiB,CACjD,QAAAC,EACA,SAAAC,EACA,WAAAC,EAAa,EACb,cAAAC,EAAgB,EAChB,UAAAC,EACA,eAAAC,EACA,SAAAC,EAAW,MACX,QAAAC,EAAU,GACV,UAAAC,EACA,GAAGC,CACL,EAAiB,CACf,MAAMC,EAAe,CAAE,UAAW,IAAK,QAAS,CAAA,EAE1CC,EAAmBC,EAAAA,QAAuC,IACvDC,EAAAA,eAAeL,EAAWJ,CAAS,EACzC,CAACI,EAAWJ,CAAS,CAAC,EAEnBU,EAAeF,EAAAA,QAAgB,IAAM,CACzC,OAAQH,EAAM,MAAA,CACZ,IAAK,UACH,MAAO,uFACT,IAAK,YACH,MAAO,+FACT,IAAK,OACH,MAAO,GACT,IAAK,QACH,MAAO,kFACT,IAAK,WACH,MAAO,8EACT,IAAK,UACH,MAAO,uFACT,IAAK,UACH,MAAO,uFACT,IAAK,QACH,MAAO,+EACT,IAAK,QACH,MAAO,6GACT,QACE,MAAO,maAAA,CAEb,EAAG,CAACA,GAAO,KAAK,CAAC,EAGXM,EAAIC,EAAAA,eAAe,CAAC,EAEpBC,EAASC,EAAAA,UACbC,EAAAA,aAAaJ,EAAG,CAAC,KAAM,GAAG,EAAG,CAAC,IAAK,EAAE,CAAC,EACtCL,CAAA,EAGIU,EAAaF,EAAAA,UACjBC,EAAAA,aAAaJ,EAAG,CAAC,KAAM,GAAG,EAAG,CAAC,IAAK,EAAE,CAAC,EACtCL,CAAA,EAGIW,EAAkBC,EAAAA,YACrBC,GAA4B,CAC3B,MAAMC,EAAaD,EAAM,OAAuB,YAAc,EAC9DR,EAAE,IAAIQ,EAAM,YAAY,QAAUC,CAAS,CAC7C,EACA,CAACT,CAAC,CAAA,EAGEU,EAAY1B,EAAM,KAAK,IACtBE,EAGHyB,EAAAA,IAAC,OAAA,CACC,YAAaL,EACb,UAAWM,EAAAA,GAAG,kBAAmBtB,CAAc,EAE9C,SAAAJ,CAAA,CAAA,EAPiByB,MAAAE,EAAAA,SAAA,CAAA,CAAE,CAUzB,EAED,OAAIpB,IAAc,OAEdqB,EAAAA,KAACC,EAAAA,OAAO,IAAP,CACC,UAAWH,EAAAA,GAAG,yCAA0CvB,CAAS,EACjE,WAAW,QACX,QAAQ,UAER,SAAA,CAAAsB,EAAAA,IAACI,EAAAA,OAAO,IAAP,CACC,SAAU,CACR,QAAS,CAAE,QAAS,EAAG,EAAG,GAAI,MAAO,CAAA,EACrC,MAAO,CACL,QAAS,EACT,EAAG,GACH,MAAO,EACP,WAAY,CACV,KAAM,QACN,SAAU,GACV,KAAM,SAAA,CACR,CACF,EAEF,MAAO,CACL,WAAAV,EACA,OAAAH,EACA,WAAY,QAAA,EAEd,UAAWU,EAAAA,GACT,iMACAb,CAAA,EAGF,SAAAY,EAAAA,IAAC,MAAA,CAAI,UAAU,qBAAsB,SAAA1B,CAAA,CAAQ,CAAA,CAAA,QAG9CyB,EAAA,CAAA,CAAU,CAAA,CAAA,CAAA,EAMfC,EAAAA,IAACK,EAAAA,gBAAA,CAAgB,cAAA5B,EACf,SAAA0B,OAACG,EAAAA,QAAA,CACC,SAAA,CAAAN,EAAAA,IAACO,EAAAA,eAAA,CAAe,QAAO,GAAE,SAAAhC,CAAA,CAAS,EAClCyB,EAAAA,IAACQ,EAAAA,eAAA,CACE,GAAGzB,EACJ,KAAMH,EACN,WAAAJ,EACA,UAAWyB,EAAAA,GAAGhB,GAAkB,UAAWG,EAAc,CACvD,4BAA6BP,CAAA,CAC9B,EAEA,SAAAP,CAAA,CAAA,CACH,CAAA,CACF,CAAA,CACF,CAEJ,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),I=require("@radix-ui/react-slot");require("../../packages/ui/src/components/button.cjs");require("../../packages/ui/src/components/button-group.cjs");require("../../packages/ui/src/components/input.cjs");require("../../packages/ui/src/components/textarea.cjs");require("@radix-ui/react-label");const L=require("../../packages/ui/src/lib/utils.cjs");require("../../packages/ui/src/components/select.cjs");require("../../packages/ui/src/components/combobox.cjs");require("@radix-ui/react-tooltip");const dt=require("react"),fe=require("lucide-react");require("react-day-picker");require("../../packages/ui/src/components/popover.cjs");require("@radix-ui/react-separator");require("../../packages/ui/src/components/switch.cjs");require("vaul");require("@radix-ui/react-scroll-area");require("../../packages/ui/src/components/tree-view.cjs");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-avatar");require("../../packages/ui/src/components/badge.cjs");require("../../packages/ui/src/components/checkbox.cjs");require("@radix-ui/react-collapsible");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-dropdown-menu");require("../../packages/ui/src/components/input-otp.cjs");require("../../packages/ui/src/components/radio-group.cjs");require("../../packages/ui/src/components/sidebar.cjs");require("@radix-ui/react-slider");require("../../packages/ui/src/components/tabs.cjs");require("../../packages/ui/src/components/toggle.cjs");const ye=require("../../packages/ui/src/lib/compose-refs.cjs"),H=require("@floating-ui/react-dom"),ft=require("react-dom"),pe=require("../Button/Button.cjs");function Re(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const u=Re(dt),pt=Re(ft),me="Tour",mt="TourPortal",de="TourStep",gt="TourArrow",ht="TourHeader",vt="TourTitle",Et="TourDescription",xt="TourClose",Ct="TourPrev",wt="TourNext",St="TourSkip",Se="TourFooter",Pt="tour.pointerDownOutside",Pe="tour.interactOutside",Te="tour.openAutoFocus",Z="tour.closeAutoFocus",G={bubbles:!1,cancelable:!0},Tt=0,bt=16,Oe=4,yt={top:"bottom",right:"left",bottom:"top",left:"right"},Y=typeof window>"u"?u.useEffect:u.useLayoutEffect;function X(e){const t=u.useRef(e);return Y(()=>{t.current=e}),t}function se(e){const t=u.useRef(null);return t.current===null&&(t.current=e()),t}let le=0;function be(){const e=document.createElement("span");return e.setAttribute("data-tour-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}function Rt(){u.useEffect(()=>{const e=document.querySelectorAll("[data-tour-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??be()),document.body.insertAdjacentElement("beforeend",e[1]??be()),le++,()=>{if(le===1){const t=document.querySelectorAll("[data-tour-focus-guard]");for(const n of t)n.remove()}le--}},[])}function Ot(e,t,n,r,s){const c=u.useRef(null),l=X(r),o=X(s),f=X(n);u.useEffect(()=>{if(!t)return;const i=e.current;if(!i)return;const S=document.activeElement;function F(){if(!i)return[];const a=[],d=document.createTreeWalker(i,NodeFilter.SHOW_ELEMENT,{acceptNode:E=>{const g=E,h=g.tagName==="INPUT"&&g.type==="hidden";return g.hidden||h?NodeFilter.FILTER_SKIP:g.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;d.nextNode();)a.push(d.currentNode);return a}function q(){const a=F(),d=a[0],E=a[a.length-1];return[d,E]}function v(a){if(!i)return;const d=a.target;i.contains(d)?c.current=d:(c.current??F()[0])?.focus({preventScroll:!0})}function N(a){if(a.key!=="Tab"||a.altKey||a.ctrlKey||a.metaKey)return;const[d,E]=q();if(!(d&&E)){document.activeElement===i&&a.preventDefault();return}!a.shiftKey&&document.activeElement===E?(a.preventDefault(),d?.focus({preventScroll:!0})):a.shiftKey&&document.activeElement===d&&(a.preventDefault(),E?.focus({preventScroll:!0}))}const P=new CustomEvent(Te,G);if(l.current&&i.addEventListener(Te,l.current,{once:!0}),i.dispatchEvent(P),!P.defaultPrevented){const a=F();a.length>0?a[0]?.focus({preventScroll:!0}):i.focus({preventScroll:!0})}return document.addEventListener("focusin",v),i.addEventListener("keydown",N),()=>{document.removeEventListener("focusin",v),i.removeEventListener("keydown",N),f.current||setTimeout(()=>{const a=new CustomEvent(Z,G);o.current&&i.addEventListener(Z,o.current,{once:!0}),i.dispatchEvent(a),a.defaultPrevented||S&&document.body.contains(S)&&S.focus({preventScroll:!0}),o.current&&i.removeEventListener(Z,o.current)},0)}},[e,t,l,o,f])}const At=u.createContext(void 0);function Ft(e){const t=u.useContext(At);return e??t??"ltr"}function Ae(e){return e?"open":"closed"}function A(e){const t=V("useStore"),n=u.useCallback(()=>e(t.getState()),[t,e]);return u.useSyncExternalStore(t.subscribe,n,n)}function Fe(e){return typeof e=="string"?document.querySelector(e):e&&"current"in e?e.current:e instanceof HTMLElement?e:null}function Ne(){return typeof window>"u"?"smooth":window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":"smooth"}function Nt(e,t=Ne(),n){const r={top:100,bottom:100,left:0,right:0,...n},s=e.getBoundingClientRect(),c=window.innerHeight,l=window.innerWidth;if(!(s.top>=r.top&&s.bottom<=c-r.bottom&&s.left>=r.left&&s.right<=l-r.right)){const i=s.top+window.scrollY-r.top;window.scrollTo({top:Math.max(0,i),behavior:t})}}function kt(e){const[t,n="center"]=e.split("-");return[t,n]}function Dt(e,t){return t==="center"?e:`${e}-${t}`}function ae(e,t,n=Oe){const r=t.getBoundingClientRect(),s=window.innerWidth,c=window.innerHeight,l=Math.max(0,r.left-n),o=Math.max(0,r.top-n),f=Math.min(s-l,r.width+n*2),i=Math.min(c-o,r.height+n*2),S=`polygon(0% 0%, 0% 100%, ${l}px 100%, ${l}px ${o}px, ${l+f}px ${o}px, ${l+f}px ${o+i}px, ${l}px ${o+i}px, ${l}px 100%, 100% 100%, 100% 0%)`;e.setState("maskPath",S),e.setState("spotlightRect",{x:l,y:o,width:f,height:i})}const ke=u.createContext(null);function V(e){const t=u.useContext(ke);if(!t)throw new Error(`\`${e}\` must be used within \`${me}\``);return t}const De=u.createContext(null);function ee(e){const t=u.useContext(De);if(!t)throw new Error(`\`${e}\` must be used within \`${me}\``);return t}const Ie=u.createContext(null);function Le(e){const t=u.useContext(Ie);if(!t)throw new Error(`\`${e}\` must be used within \`${de}\``);return t}const qe=u.createContext(!1),_e=u.createContext(null);function It(e){const t=u.useContext(_e);if(!t)throw new Error(`\`${e}\` must be used within \`${me}\``);return t}function Lt(e){u.useEffect(()=>{if(!e)return;const t=window.getComputedStyle(document.body).overflow,n=window.innerWidth-document.documentElement.clientWidth;return document.body.style.overflow="hidden",n>0&&(document.body.style.paddingRight=`${n}px`),()=>{document.body.style.overflow=t,document.body.style.paddingRight=""}},[e])}function je(e){const{open:t,defaultOpen:n=!1,onOpenChange:r,value:s,defaultValue:c=0,onValueChange:l,onComplete:o,onSkip:f,autoScroll:i=!0,scrollBehavior:S=Ne(),scrollOffset:F,...q}=e,v=se(()=>({open:t??n,value:s??c,steps:[],maskPath:"",spotlightRect:null})),N=se(()=>new Set),P=se(()=>new Map),a=se(()=>({current:0})),d=X({valueProp:s,onOpenChange:r,onValueChange:l,onComplete:o,onSkip:f,autoScroll:i,scrollBehavior:S,scrollOffset:F}),E=u.useMemo(()=>({subscribe:g=>(N.current.add(g),()=>N.current.delete(g)),getState:()=>v.current,setState:(g,h)=>{if(!Object.is(v.current[g],h)){if(v.current[g]=h,g==="open"&&typeof h=="boolean")d.current.onOpenChange?.(h),h?v.current.steps.length>0&&v.current.value>=v.current.steps.length&&E.setState("value",0):v.current.value<(v.current.steps.length||0)-1&&d.current.onSkip?.();else if(g==="value"&&typeof h=="number"){const R=v.current.steps[v.current.value],T=v.current.steps[h];if(R?.onStepLeave?.(),T?.onStepEnter?.(),h>=v.current.steps.length){d.current.onComplete?.(),d.current.valueProp!==void 0&&d.current.onValueChange?.(h),E.setState("open",!1);return}if(d.current.valueProp!==void 0){d.current.onValueChange?.(h);return}if(d.current.onValueChange?.(h),T&&d.current.autoScroll){const W=Fe(T.target);W&&Nt(W,d.current.scrollBehavior,d.current.scrollOffset)}}E.notify()}},notify:()=>{N.current.forEach(g=>{g()})},addStep:g=>{const h=`step-${a.current.current++}`,R=v.current.steps.length;return P.current.set(h,R),v.current.steps=[...v.current.steps,g],E.notify(),{id:h,index:R}},removeStep:g=>{const h=P.current.get(g);if(h!==void 0){v.current.steps=v.current.steps.filter((R,T)=>T!==h),P.current.delete(g);for(const[R,T]of P.current.entries())T>h&&P.current.set(R,T-1);E.notify()}}}),[v,N,P,a,d]);return Y(()=>{t!==void 0&&E.setState("open",t)},[t,E]),Y(()=>{s!==void 0&&E.setState("value",s)},[s,E]),p.jsx(ke.Provider,{value:E,children:p.jsx(qt,{...q})})}function qt(e){const{onEscapeKeyDown:t,onPointerDownOutside:n,onInteractOutside:r,onOpenAutoFocus:s,onCloseAutoFocus:c,dir:l,alignOffset:o=Tt,sideOffset:f=bt,spotlightPadding:i=Oe,dismissible:S=!0,modal:F=!0,stepFooter:q,asChild:v,...N}=e,P=V("TourRootImpl"),a=Ft(l),[d,E]=u.useState(null),g=u.useRef(null),h=X(t),R=X(c);u.useEffect(()=>{function _(j){if(P.getState().open&&j.key==="Escape"){if(h.current&&(h.current(j),j.defaultPrevented))return;P.setState("open",!1)}}return document.addEventListener("keydown",_),()=>document.removeEventListener("keydown",_)},[P,h]);const T=A(_=>_.open),W=u.useRef(void 0);Y(()=>{const _=W.current;T&&!_?g.current=document.activeElement:!T&&_&&setTimeout(()=>{const j=d??document.body,K=new CustomEvent(Z,G);if(R.current&&j.addEventListener(Z,R.current,{once:!0}),j.dispatchEvent(K),!K.defaultPrevented){const z=g.current;z&&document.body.contains(z)&&z.focus({preventScroll:!0})}g.current=null},0),W.current=T},[T,d,R]);const O=u.useMemo(()=>({dir:a,alignOffset:o,sideOffset:f,spotlightPadding:i,dismissible:S,modal:F,stepFooter:q,onPointerDownOutside:n,onInteractOutside:r,onOpenAutoFocus:s,onCloseAutoFocus:c}),[a,o,f,i,S,F,q,n,r,s,c]),J=u.useMemo(()=>({portal:d,onPortalChange:E}),[d]);Lt(T&&F);const ie=v?I.Slot:"div";return p.jsx(De.Provider,{value:O,children:p.jsx(_e.Provider,{value:J,children:p.jsx(ie,{"data-slot":"tour",dir:a,...N})})})}function Me(e){const{target:t,side:n="bottom",sideOffset:r,align:s="center",alignOffset:c,collisionBoundary:l=[],collisionPadding:o=0,arrowPadding:f=0,sticky:i="partial",hideWhenDetached:S=!1,avoidCollisions:F=!0,required:q=!1,forceMount:v=!1,onStepEnter:N,onStepLeave:P,onPointerDownCapture:a,onFocusCapture:d,onBlurCapture:E,children:g,className:h,style:R,asChild:T,...W}=e,O=V(de),[J,ie]=u.useState(null),[_,j]=u.useState(null),K=u.useRef(null),z=u.useRef(""),ge=u.useRef(-1),te=u.useRef(!1),Q=u.useRef(!1),k=A(m=>m.open),he=A(m=>m.value),Ze=A(m=>m.steps),w=ee(de),ne=r??w.sideOffset,oe=c??w.alignOffset;Y(()=>{const{id:m,index:y}=O.addStep({target:t,align:s,alignOffset:oe,side:n,sideOffset:ne,collisionBoundary:l,collisionPadding:o,arrowPadding:f,sticky:i,hideWhenDetached:S,avoidCollisions:F,onStepEnter:N,onStepLeave:P,required:q});return z.current=m,ge.current=y,()=>{O.removeStep(z.current)}},[t,n,ne,s,oe,o,f,i,S,F,q,N,P,O]);const x=Ze[he],C=x?Fe(x.target):null,D=ge.current===he,et=u.useMemo(()=>{if(!x)return[];const m=x.sideOffset??ne,y=x.alignOffset??oe,b=typeof x.collisionPadding=="number"?x.collisionPadding:{top:x.collisionPadding?.top??0,right:x.collisionPadding?.right??0,bottom:x.collisionPadding?.bottom??0,left:x.collisionPadding?.left??0},M=Array.isArray(x.collisionBoundary)?x.collisionBoundary:x.collisionBoundary?[x.collisionBoundary]:[],$=M.length>0,B={padding:b,boundary:M.filter(U=>U!==null),altBoundary:$};return[H.offset({mainAxis:m,alignmentAxis:y}),x.avoidCollisions&&H.shift({mainAxis:!0,crossAxis:!1,limiter:x.sticky==="partial"?H.limitShift():void 0,...B}),x.avoidCollisions&&H.flip({...B}),J&&H.arrow({element:J,padding:x.arrowPadding}),x.hideWhenDetached&&H.hide({strategy:"referenceHidden",...B})].filter(Boolean)},[x,ne,oe,J]),tt=Dt(x?.side??n,x?.align??s),{refs:nt,floatingStyles:ot,placement:rt,middlewareData:re}=H.useFloating({placement:tt,middleware:et,strategy:"fixed",whileElementsMounted:H.autoUpdate,elements:{reference:C}}),st=ye.useComposedRefs(nt.setFloating,K),[ue,ce]=kt(rt),ve=re.arrow?.x,Ee=re.arrow?.y,xe=re.arrow?.centerOffset!==0,Ce=S&&re.hide?.referenceHidden,it=u.useMemo(()=>({arrowX:ve,arrowY:Ee,placedAlign:ce,placedSide:ue,shouldHideArrow:xe,onArrowChange:ie,onFooterChange:j}),[ve,Ee,ue,ce,xe]);u.useEffect(()=>{if(k&&C&&D){let m=function(){C&&ae(O,C,w.spotlightPadding)},y=function(){b===null&&(b=requestAnimationFrame(()=>{C&&ae(O,C,w.spotlightPadding),b=null}))};ae(O,C,w.spotlightPadding);let b=null;return window.addEventListener("resize",m),window.addEventListener("scroll",y,{passive:!0}),()=>{window.removeEventListener("resize",m),window.removeEventListener("scroll",y),b!==null&&cancelAnimationFrame(b)}}},[k,C,D,O,w.spotlightPadding]),u.useEffect(()=>{if(!k||!D)return;const m=K.current;if(!m)return;const y=m.ownerDocument;function b($){if($.target&&!te.current){const B=new CustomEvent(Pt,{...G,detail:{originalEvent:$}});w.onPointerDownOutside?.(B);const U=new CustomEvent(Pe,{...G,detail:{originalEvent:$}});w.onInteractOutside?.(U),!B.defaultPrevented&&!U.defaultPrevented&&w.dismissible&&O.setState("open",!1)}te.current=!1}const M=window.setTimeout(()=>{y.addEventListener("pointerdown",b)},0);return()=>{window.clearTimeout(M),y.removeEventListener("pointerdown",b)}},[k,D,O,w]),u.useEffect(()=>{if(!k||!D)return;const m=K.current;if(!m)return;const y=m.ownerDocument;function b(M){const $=M.target,B=m?.contains($),U=C?.contains($);if(M.target&&!Q.current&&!B&&!U){const we=new CustomEvent(Pe,{...G,detail:{originalEvent:M}});w.onInteractOutside?.(we),!we.defaultPrevented&&w.dismissible&&O.setState("open",!1)}}return y.addEventListener("focusin",b),()=>{y.removeEventListener("focusin",b)}},[k,D,O,w,C]);const ut=u.useCallback(m=>{a?.(m),te.current=!0},[a]),ct=u.useCallback(m=>{d?.(m),Q.current=!0},[d]),lt=u.useCallback(m=>{E?.(m),Q.current=!1},[E]);if(u.useEffect(()=>{if(!k||!D||!C)return;function m(){te.current=!0}function y(){Q.current=!0}function b(){Q.current=!1}return C.addEventListener("pointerdown",m,!0),C.addEventListener("focus",y,!0),C.addEventListener("blur",b,!0),()=>{C.removeEventListener("pointerdown",m,!0),C.removeEventListener("focus",y,!0),C.removeEventListener("blur",b,!0)}},[k,D,C]),Rt(),Ot(K,k&&D,k,w.onOpenAutoFocus,w.onCloseAutoFocus),!k||!x||!C&&!v||!D)return null;const at=T?I.Slot:"div";return p.jsx(Ie.Provider,{value:it,children:p.jsxs(at,{ref:st,"data-slot":"tour-step","data-side":ue,"data-align":ce,dir:w.dir,tabIndex:-1,...W,onPointerDownCapture:ut,onFocusCapture:ct,onBlurCapture:lt,className:L.cn("fixed z-50 flex w-80 flex-col gap-4 rounded-lg border bg-popover p-4 text-popover-foreground shadow-md outline-none",h),style:{...R,...ot,visibility:Ce?"hidden":void 0,pointerEvents:Ce?"none":void 0},children:[g,!_&&p.jsx(qe.Provider,{value:!0,children:w.stepFooter})]})})}function $e(e){const{asChild:t,className:n,style:r,forceMount:s=!1,...c}=e,l=A(i=>i.open),o=A(i=>i.maskPath);if(!l&&!s)return null;const f=t?I.Slot:"div";return p.jsx(f,{"data-slot":"tour-spotlight","data-state":Ae(l),...c,className:L.cn("data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-40 bg-black/80 data-[state=closed]:animate-out data-[state=open]:animate-in",n),style:{clipPath:o,...r}})}function Be(e){const{asChild:t,className:n,style:r,forceMount:s=!1,...c}=e,l=A(i=>i.open),o=A(i=>i.spotlightRect);if(!l&&!s||!o)return null;const f=t?I.Slot:"div";return p.jsx(f,{"data-slot":"tour-spotlight-ring","data-state":Ae(l),...c,className:L.cn("pointer-events-none fixed z-40 border-ring ring-[3px] ring-ring/50",n),style:{left:o.x,top:o.y,width:o.width,height:o.height,...r}})}function He(e){const{children:t,container:n}=e,r=It(mt),[s,c]=u.useState(!1);if(Y(()=>{c(!0);const o=n??document.body;return r?.onPortalChange(o),()=>{r?.onPortalChange(null)}},[n,r]),!s)return null;const l=n??r?.portal??document.body;return pt.createPortal(t,l)}function We(e){const{width:t=10,height:n=5,className:r,children:s,asChild:c,...l}=e,o=Le(gt),f=yt[o.placedSide];return p.jsx("span",{ref:o.onArrowChange,"data-slot":"tour-arrow",style:{position:"absolute",left:o.arrowX!=null?`${o.arrowX}px`:void 0,top:o.arrowY!=null?`${o.arrowY}px`:void 0,[f]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[o.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[o.placedSide],visibility:o.shouldHideArrow?"hidden":void 0},children:p.jsx("svg",{viewBox:"0 0 30 10",preserveAspectRatio:"none",width:t,height:n,...l,className:L.cn("block fill-popover stroke-border",r),children:c?s:p.jsx("polygon",{points:"0,0 30,0 15,10"})})})}function Ke(e){const{asChild:t,className:n,...r}=e,s=ee(ht),c=t?I.Slot:"div";return p.jsx(c,{"data-slot":"tour-header",dir:s.dir,...r,className:L.cn("flex flex-col gap-1.5 text-center sm:text-left",n)})}function Ve(e){const{asChild:t,className:n,...r}=e,s=ee(vt),c=t?I.Slot:"div";return p.jsx(c,{"data-slot":"tour-title",dir:s.dir,...r,className:L.cn("font-semibold text-lg leading-none tracking-tight",n)})}function ze(e){const{asChild:t,className:n,...r}=e,s=ee(Et),c=t?I.Slot:"div";return p.jsx(c,{"data-slot":"tour-description",dir:s.dir,...r,className:L.cn("text-muted-foreground text-sm",n)})}function Ue(e){const{asChild:t,className:n,onClick:r,...s}=e,c=V(xt),l=u.useCallback(f=>{r?.(f),!f.defaultPrevented&&c.setState("open",!1)},[c,r]),o=t?I.Slot:"button";return p.jsx(o,{type:"button","aria-label":"Close tour",className:L.cn("absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",n),onClick:l,...s,children:p.jsx(fe.X,{className:"size-4"})})}function Ge(e){const{children:t,onClick:n,...r}=e,s=V(Ct),c=A(o=>o.value),l=u.useCallback(o=>{n?.(o),!o.defaultPrevented&&c>0&&s.setState("value",c-1)},[c,s,n]);return p.jsx(pe.default,{type:"button","aria-label":"Previous step","data-slot":"tour-prev",variant:"outline",...r,onClick:l,disabled:c===0,children:t??p.jsxs(p.Fragment,{children:[p.jsx(fe.ChevronLeft,{}),"Previous"]})})}function Xe(e){const{children:t,onClick:n,...r}=e,s=V(wt),c=A(i=>i.value),l=A(i=>i.steps),o=c===l.length-1,f=u.useCallback(i=>{n?.(i),!i.defaultPrevented&&s.setState("value",c+1)},[c,s,n]);return p.jsx(pe.default,{type:"button","aria-label":"Next step","data-slot":"tour-next",...r,onClick:f,children:t??p.jsxs(p.Fragment,{children:[o?"Finish":"Next",!o&&p.jsx(fe.ChevronRight,{})]})})}function Ye(e){const{children:t,onClick:n,...r}=e,s=V(St),c=u.useCallback(l=>{n?.(l),!l.defaultPrevented&&s.setState("open",!1)},[s,n]);return p.jsx(pe.default,{type:"button","aria-label":"Skip tour","data-slot":"tour-skip",variant:"outline",...r,onClick:c,children:t??"Skip"})}function Je(e){const{format:t=(i,S)=>`${i} / ${S}`,asChild:n,className:r,children:s,...c}=e,l=A(i=>i.value),o=A(i=>i.steps),f=n?I.Slot:"div";return p.jsx(f,{"data-slot":"tour-step-counter",...c,className:L.cn("text-muted-foreground text-sm",r),children:s??t(l+1,o.length)})}function Qe(e){const{asChild:t,className:n,ref:r,...s}=e,c=Le(Se),l=u.useContext(qe),o=ee(Se),f=ye.useComposedRefs(r,l?void 0:c.onFooterChange),i=t?I.Slot:"div";return p.jsx(i,{"data-slot":"tour-footer",dir:o.dir,...s,ref:f,className:L.cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",n)})}exports.Arrow=We;exports.Close=Ue;exports.Description=ze;exports.Footer=Qe;exports.Header=Ke;exports.Next=Xe;exports.Portal=He;exports.Prev=Ge;exports.Root=je;exports.Skip=Ye;exports.Spotlight=$e;exports.SpotlightRing=Be;exports.Step=Me;exports.StepCounter=Je;exports.Title=Ve;exports.Tour=je;exports.TourArrow=We;exports.TourClose=Ue;exports.TourDescription=ze;exports.TourFooter=Qe;exports.TourHeader=Ke;exports.TourNext=Xe;exports.TourPortal=He;exports.TourPrev=Ge;exports.TourSkip=Ye;exports.TourSpotlight=$e;exports.TourSpotlightRing=Be;exports.TourStep=Me;exports.TourStepCounter=Je;exports.TourTitle=Ve;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),I=require("@radix-ui/react-slot");require("../../packages/ui/src/components/button.cjs");require("../../packages/ui/src/components/button-group.cjs");require("../../packages/ui/src/components/input.cjs");require("../../packages/ui/src/components/textarea.cjs");require("@radix-ui/react-label");const L=require("../../packages/ui/src/lib/utils.cjs");require("../../packages/ui/src/components/select.cjs");require("../../packages/ui/src/components/combobox.cjs");require("@radix-ui/react-tooltip");const dt=require("react"),fe=require("lucide-react");require("react-day-picker");require("../../packages/ui/src/components/popover.cjs");require("@radix-ui/react-separator");require("../../packages/ui/src/components/switch.cjs");require("vaul");require("@radix-ui/react-scroll-area");require("../../packages/ui/src/components/tree-view.cjs");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-avatar");require("../../packages/ui/src/components/badge.cjs");require("../../packages/ui/src/components/checkbox.cjs");require("@radix-ui/react-collapsible");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-dropdown-menu");require("../../packages/ui/src/components/input-otp.cjs");require("../../packages/ui/src/components/radio-group.cjs");require("../../packages/ui/src/components/sidebar.cjs");require("@radix-ui/react-slider");require("../../packages/ui/src/components/tabs.cjs");require("../../packages/ui/src/components/toggle.cjs");const ye=require("../../packages/ui/src/lib/compose-refs.cjs"),H=require("@floating-ui/react-dom"),ft=require("react-dom"),pe=require("../Button/Button.cjs");function Re(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const u=Re(dt),pt=Re(ft),me="Tour",mt="TourPortal",de="TourStep",gt="TourArrow",ht="TourHeader",vt="TourTitle",Et="TourDescription",xt="TourClose",Ct="TourPrev",wt="TourNext",St="TourSkip",Se="TourFooter",Pt="tour.pointerDownOutside",Pe="tour.interactOutside",Te="tour.openAutoFocus",Z="tour.closeAutoFocus",G={bubbles:!1,cancelable:!0},Tt=0,bt=16,Oe=4,yt={top:"bottom",right:"left",bottom:"top",left:"right"},Y=typeof window>"u"?u.useEffect:u.useLayoutEffect;function X(e){const t=u.useRef(e);return Y(()=>{t.current=e}),t}function se(e){const t=u.useRef(null);return t.current===null&&(t.current=e()),t}let le=0;function be(){const e=document.createElement("span");return e.setAttribute("data-tour-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}function Rt(){u.useEffect(()=>{const e=document.querySelectorAll("[data-tour-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??be()),document.body.insertAdjacentElement("beforeend",e[1]??be()),le++,()=>{if(le===1){const t=document.querySelectorAll("[data-tour-focus-guard]");for(const n of t)n.remove()}le--}},[])}function Ot(e,t,n,r,s){const c=u.useRef(null),l=X(r),o=X(s),f=X(n);u.useEffect(()=>{if(!t)return;const i=e.current;if(!i)return;const S=document.activeElement;function F(){if(!i)return[];const a=[],d=document.createTreeWalker(i,NodeFilter.SHOW_ELEMENT,{acceptNode:E=>{const g=E,h=g.tagName==="INPUT"&&g.type==="hidden";return g.hidden||h?NodeFilter.FILTER_SKIP:g.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;d.nextNode();)a.push(d.currentNode);return a}function q(){const a=F(),d=a[0],E=a[a.length-1];return[d,E]}function v(a){if(!i)return;const d=a.target;i.contains(d)?c.current=d:(c.current??F()[0])?.focus({preventScroll:!0})}function N(a){if(a.key!=="Tab"||a.altKey||a.ctrlKey||a.metaKey)return;const[d,E]=q();if(!(d&&E)){document.activeElement===i&&a.preventDefault();return}!a.shiftKey&&document.activeElement===E?(a.preventDefault(),d?.focus({preventScroll:!0})):a.shiftKey&&document.activeElement===d&&(a.preventDefault(),E?.focus({preventScroll:!0}))}const P=new CustomEvent(Te,G);if(l.current&&i.addEventListener(Te,l.current,{once:!0}),i.dispatchEvent(P),!P.defaultPrevented){const a=F();a.length>0?a[0]?.focus({preventScroll:!0}):i.focus({preventScroll:!0})}return document.addEventListener("focusin",v),i.addEventListener("keydown",N),()=>{document.removeEventListener("focusin",v),i.removeEventListener("keydown",N),f.current||setTimeout(()=>{const a=new CustomEvent(Z,G);o.current&&i.addEventListener(Z,o.current,{once:!0}),i.dispatchEvent(a),a.defaultPrevented||S&&document.body.contains(S)&&S.focus({preventScroll:!0}),o.current&&i.removeEventListener(Z,o.current)},0)}},[e,t,l,o,f])}const At=u.createContext(void 0);function Ft(e){const t=u.useContext(At);return e??t??"ltr"}function Ae(e){return e?"open":"closed"}function A(e){const t=V("useStore"),n=u.useCallback(()=>e(t.getState()),[t,e]);return u.useSyncExternalStore(t.subscribe,n,n)}function Fe(e){return typeof e=="string"?document.querySelector(e):e&&"current"in e?e.current:e instanceof HTMLElement?e:null}function Ne(){return typeof window>"u"?"smooth":window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":"smooth"}function Nt(e,t=Ne(),n){const r={top:100,bottom:100,left:0,right:0,...n},s=e.getBoundingClientRect(),c=window.innerHeight,l=window.innerWidth;if(!(s.top>=r.top&&s.bottom<=c-r.bottom&&s.left>=r.left&&s.right<=l-r.right)){const i=s.top+window.scrollY-r.top;window.scrollTo({top:Math.max(0,i),behavior:t})}}function kt(e){const[t,n="center"]=e.split("-");return[t,n]}function Dt(e,t){return t==="center"?e:`${e}-${t}`}function ae(e,t,n=Oe){const r=t.getBoundingClientRect(),s=window.innerWidth,c=window.innerHeight,l=Math.max(0,r.left-n),o=Math.max(0,r.top-n),f=Math.min(s-l,r.width+n*2),i=Math.min(c-o,r.height+n*2),S=`polygon(0% 0%, 0% 100%, ${l}px 100%, ${l}px ${o}px, ${l+f}px ${o}px, ${l+f}px ${o+i}px, ${l}px ${o+i}px, ${l}px 100%, 100% 100%, 100% 0%)`;e.setState("maskPath",S),e.setState("spotlightRect",{x:l,y:o,width:f,height:i})}const ke=u.createContext(null);function V(e){const t=u.useContext(ke);if(!t)throw new Error(`\`${e}\` must be used within \`${me}\``);return t}const De=u.createContext(null);function ee(e){const t=u.useContext(De);if(!t)throw new Error(`\`${e}\` must be used within \`${me}\``);return t}const Ie=u.createContext(null);function Le(e){const t=u.useContext(Ie);if(!t)throw new Error(`\`${e}\` must be used within \`${de}\``);return t}const qe=u.createContext(!1),_e=u.createContext(null);function It(e){const t=u.useContext(_e);if(!t)throw new Error(`\`${e}\` must be used within \`${me}\``);return t}function Lt(e){u.useEffect(()=>{if(!e)return;const t=window.getComputedStyle(document.body).overflow,n=window.innerWidth-document.documentElement.clientWidth;return document.body.style.overflow="hidden",n>0&&(document.body.style.paddingRight=`${n}px`),()=>{document.body.style.overflow=t,document.body.style.paddingRight=""}},[e])}function je(e){const{open:t,defaultOpen:n=!1,onOpenChange:r,value:s,defaultValue:c=0,onValueChange:l,onComplete:o,onSkip:f,autoScroll:i=!0,scrollBehavior:S=Ne(),scrollOffset:F,...q}=e,v=se(()=>({open:t??n,value:s??c,steps:[],maskPath:"",spotlightRect:null})),N=se(()=>new Set),P=se(()=>new Map),a=se(()=>({current:0})),d=X({valueProp:s,onOpenChange:r,onValueChange:l,onComplete:o,onSkip:f,autoScroll:i,scrollBehavior:S,scrollOffset:F}),E=u.useMemo(()=>({subscribe:g=>(N.current.add(g),()=>N.current.delete(g)),getState:()=>v.current,setState:(g,h)=>{if(!Object.is(v.current[g],h)){if(v.current[g]=h,g==="open"&&typeof h=="boolean")d.current.onOpenChange?.(h),h?v.current.steps.length>0&&v.current.value>=v.current.steps.length&&E.setState("value",0):v.current.value<(v.current.steps.length||0)-1&&d.current.onSkip?.();else if(g==="value"&&typeof h=="number"){const R=v.current.steps[v.current.value],T=v.current.steps[h];if(R?.onStepLeave?.(),T?.onStepEnter?.(),h>=v.current.steps.length){d.current.onComplete?.(),d.current.valueProp!==void 0&&d.current.onValueChange?.(h),E.setState("open",!1);return}if(d.current.valueProp!==void 0){d.current.onValueChange?.(h);return}if(d.current.onValueChange?.(h),T&&d.current.autoScroll){const W=Fe(T.target);W&&Nt(W,d.current.scrollBehavior,d.current.scrollOffset)}}E.notify()}},notify:()=>{N.current.forEach(g=>{g()})},addStep:g=>{const h=`step-${a.current.current++}`,R=v.current.steps.length;return P.current.set(h,R),v.current.steps=[...v.current.steps,g],E.notify(),{id:h,index:R}},removeStep:g=>{const h=P.current.get(g);if(h!==void 0){v.current.steps=v.current.steps.filter((R,T)=>T!==h),P.current.delete(g);for(const[R,T]of P.current.entries())T>h&&P.current.set(R,T-1);E.notify()}}}),[v,N,P,a,d]);return Y(()=>{t!==void 0&&E.setState("open",t)},[t,E]),Y(()=>{s!==void 0&&E.setState("value",s)},[s,E]),p.jsx(ke.Provider,{value:E,children:p.jsx(qt,{...q})})}function qt(e){const{onEscapeKeyDown:t,onPointerDownOutside:n,onInteractOutside:r,onOpenAutoFocus:s,onCloseAutoFocus:c,dir:l,alignOffset:o=Tt,sideOffset:f=bt,spotlightPadding:i=Oe,dismissible:S=!0,modal:F=!0,stepFooter:q,asChild:v,...N}=e,P=V("TourRootImpl"),a=Ft(l),[d,E]=u.useState(null),g=u.useRef(null),h=X(t),R=X(c);u.useEffect(()=>{function _(j){if(P.getState().open&&j.key==="Escape"){if(h.current&&(h.current(j),j.defaultPrevented))return;P.setState("open",!1)}}return document.addEventListener("keydown",_),()=>document.removeEventListener("keydown",_)},[P,h]);const T=A(_=>_.open),W=u.useRef(void 0);Y(()=>{const _=W.current;T&&!_?g.current=document.activeElement:!T&&_&&setTimeout(()=>{const j=d??document.body,K=new CustomEvent(Z,G);if(R.current&&j.addEventListener(Z,R.current,{once:!0}),j.dispatchEvent(K),!K.defaultPrevented){const z=g.current;z&&document.body.contains(z)&&z.focus({preventScroll:!0})}g.current=null},0),W.current=T},[T,d,R]);const O=u.useMemo(()=>({dir:a,alignOffset:o,sideOffset:f,spotlightPadding:i,dismissible:S,modal:F,stepFooter:q,onPointerDownOutside:n,onInteractOutside:r,onOpenAutoFocus:s,onCloseAutoFocus:c}),[a,o,f,i,S,F,q,n,r,s,c]),J=u.useMemo(()=>({portal:d,onPortalChange:E}),[d]);Lt(T&&F);const ie=v?I.Slot:"div";return p.jsx(De.Provider,{value:O,children:p.jsx(_e.Provider,{value:J,children:p.jsx(ie,{"data-slot":"tour",dir:a,...N})})})}function Me(e){const{target:t,side:n="bottom",sideOffset:r,align:s="center",alignOffset:c,collisionBoundary:l=[],collisionPadding:o=0,arrowPadding:f=0,sticky:i="partial",hideWhenDetached:S=!1,avoidCollisions:F=!0,required:q=!1,forceMount:v=!1,onStepEnter:N,onStepLeave:P,onPointerDownCapture:a,onFocusCapture:d,onBlurCapture:E,children:g,className:h,style:R,asChild:T,...W}=e,O=V(de),[J,ie]=u.useState(null),[_,j]=u.useState(null),K=u.useRef(null),z=u.useRef(""),ge=u.useRef(-1),te=u.useRef(!1),Q=u.useRef(!1),k=A(m=>m.open),he=A(m=>m.value),Ze=A(m=>m.steps),w=ee(de),ne=r??w.sideOffset,oe=c??w.alignOffset;Y(()=>{const{id:m,index:y}=O.addStep({target:t,align:s,alignOffset:oe,side:n,sideOffset:ne,collisionBoundary:l,collisionPadding:o,arrowPadding:f,sticky:i,hideWhenDetached:S,avoidCollisions:F,onStepEnter:N,onStepLeave:P,required:q});return z.current=m,ge.current=y,()=>{O.removeStep(z.current)}},[t,n,ne,s,oe,o,f,i,S,F,q,N,P,O]);const x=Ze[he],C=x?Fe(x.target):null,D=ge.current===he,et=u.useMemo(()=>{if(!x)return[];const m=x.sideOffset??ne,y=x.alignOffset??oe,b=typeof x.collisionPadding=="number"?x.collisionPadding:{top:x.collisionPadding?.top??0,right:x.collisionPadding?.right??0,bottom:x.collisionPadding?.bottom??0,left:x.collisionPadding?.left??0},M=Array.isArray(x.collisionBoundary)?x.collisionBoundary:x.collisionBoundary?[x.collisionBoundary]:[],$=M.length>0,B={padding:b,boundary:M.filter(U=>U!==null),altBoundary:$};return[H.offset({mainAxis:m,alignmentAxis:y}),x.avoidCollisions&&H.shift({mainAxis:!0,crossAxis:!1,limiter:x.sticky==="partial"?H.limitShift():void 0,...B}),x.avoidCollisions&&H.flip({...B}),J&&H.arrow({element:J,padding:x.arrowPadding}),x.hideWhenDetached&&H.hide({strategy:"referenceHidden",...B})].filter(Boolean)},[x,ne,oe,J]),tt=Dt(x?.side??n,x?.align??s),{refs:nt,floatingStyles:ot,placement:rt,middlewareData:re}=H.useFloating({placement:tt,middleware:et,strategy:"fixed",whileElementsMounted:H.autoUpdate,elements:{reference:C}}),st=ye.useComposedRefs(nt.setFloating,K),[ue,ce]=kt(rt),ve=re.arrow?.x,Ee=re.arrow?.y,xe=re.arrow?.centerOffset!==0,Ce=S&&re.hide?.referenceHidden,it=u.useMemo(()=>({arrowX:ve,arrowY:Ee,placedAlign:ce,placedSide:ue,shouldHideArrow:xe,onArrowChange:ie,onFooterChange:j}),[ve,Ee,ue,ce,xe]);u.useEffect(()=>{if(k&&C&&D){let m=function(){C&&ae(O,C,w.spotlightPadding)},y=function(){b===null&&(b=requestAnimationFrame(()=>{C&&ae(O,C,w.spotlightPadding),b=null}))};ae(O,C,w.spotlightPadding);let b=null;return window.addEventListener("resize",m),window.addEventListener("scroll",y,{passive:!0}),()=>{window.removeEventListener("resize",m),window.removeEventListener("scroll",y),b!==null&&cancelAnimationFrame(b)}}},[k,C,D,O,w.spotlightPadding]),u.useEffect(()=>{if(!k||!D)return;const m=K.current;if(!m)return;const y=m.ownerDocument;function b($){if($.target&&!te.current){const B=new CustomEvent(Pt,{...G,detail:{originalEvent:$}});w.onPointerDownOutside?.(B);const U=new CustomEvent(Pe,{...G,detail:{originalEvent:$}});w.onInteractOutside?.(U),!B.defaultPrevented&&!U.defaultPrevented&&w.dismissible&&O.setState("open",!1)}te.current=!1}const M=window.setTimeout(()=>{y.addEventListener("pointerdown",b)},0);return()=>{window.clearTimeout(M),y.removeEventListener("pointerdown",b)}},[k,D,O,w]),u.useEffect(()=>{if(!k||!D)return;const m=K.current;if(!m)return;const y=m.ownerDocument;function b(M){const $=M.target,B=m?.contains($),U=C?.contains($);if(M.target&&!Q.current&&!B&&!U){const we=new CustomEvent(Pe,{...G,detail:{originalEvent:M}});w.onInteractOutside?.(we),!we.defaultPrevented&&w.dismissible&&O.setState("open",!1)}}return y.addEventListener("focusin",b),()=>{y.removeEventListener("focusin",b)}},[k,D,O,w,C]);const ut=u.useCallback(m=>{a?.(m),te.current=!0},[a]),ct=u.useCallback(m=>{d?.(m),Q.current=!0},[d]),lt=u.useCallback(m=>{E?.(m),Q.current=!1},[E]);if(u.useEffect(()=>{if(!k||!D||!C)return;function m(){te.current=!0}function y(){Q.current=!0}function b(){Q.current=!1}return C.addEventListener("pointerdown",m,!0),C.addEventListener("focus",y,!0),C.addEventListener("blur",b,!0),()=>{C.removeEventListener("pointerdown",m,!0),C.removeEventListener("focus",y,!0),C.removeEventListener("blur",b,!0)}},[k,D,C]),Rt(),Ot(K,k&&D,k,w.onOpenAutoFocus,w.onCloseAutoFocus),!k||!x||!C&&!v||!D)return null;const at=T?I.Slot:"div";return p.jsx(Ie.Provider,{value:it,children:p.jsxs(at,{ref:st,"data-slot":"tour-step","data-side":ue,"data-align":ce,dir:w.dir,tabIndex:-1,...W,onPointerDownCapture:ut,onFocusCapture:ct,onBlurCapture:lt,className:L.cn("ds:fixed ds:z-50 ds:flex ds:w-80 ds:flex-col ds:gap-4 ds:rounded-lg ds:border ds:bg-popover ds:p-4 ds:text-popover-foreground ds:shadow-md ds:outline-none",h),style:{...R,...ot,visibility:Ce?"hidden":void 0,pointerEvents:Ce?"none":void 0},children:[g,!_&&p.jsx(qe.Provider,{value:!0,children:w.stepFooter})]})})}function $e(e){const{asChild:t,className:n,style:r,forceMount:s=!1,...c}=e,l=A(i=>i.open),o=A(i=>i.maskPath);if(!l&&!s)return null;const f=t?I.Slot:"div";return p.jsx(f,{"data-slot":"tour-spotlight","data-state":Ae(l),...c,className:L.cn("ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0 ds:fixed ds:inset-0 ds:z-40 ds:bg-black/80 ds:data-[state=closed]:animate-out ds:data-[state=open]:animate-in",n),style:{clipPath:o,...r}})}function Be(e){const{asChild:t,className:n,style:r,forceMount:s=!1,...c}=e,l=A(i=>i.open),o=A(i=>i.spotlightRect);if(!l&&!s||!o)return null;const f=t?I.Slot:"div";return p.jsx(f,{"data-slot":"tour-spotlight-ring","data-state":Ae(l),...c,className:L.cn("ds:pointer-events-none ds:fixed ds:z-40 ds:border-ring ds:ring-[3px] ds:ring-ring/50",n),style:{left:o.x,top:o.y,width:o.width,height:o.height,...r}})}function He(e){const{children:t,container:n}=e,r=It(mt),[s,c]=u.useState(!1);if(Y(()=>{c(!0);const o=n??document.body;return r?.onPortalChange(o),()=>{r?.onPortalChange(null)}},[n,r]),!s)return null;const l=n??r?.portal??document.body;return pt.createPortal(t,l)}function We(e){const{width:t=10,height:n=5,className:r,children:s,asChild:c,...l}=e,o=Le(gt),f=yt[o.placedSide];return p.jsx("span",{ref:o.onArrowChange,"data-slot":"tour-arrow",style:{position:"absolute",left:o.arrowX!=null?`${o.arrowX}px`:void 0,top:o.arrowY!=null?`${o.arrowY}px`:void 0,[f]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[o.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[o.placedSide],visibility:o.shouldHideArrow?"hidden":void 0},children:p.jsx("svg",{viewBox:"0 0 30 10",preserveAspectRatio:"none",width:t,height:n,...l,className:L.cn("ds:block ds:fill-popover ds:stroke-border",r),children:c?s:p.jsx("polygon",{points:"0,0 30,0 15,10"})})})}function Ke(e){const{asChild:t,className:n,...r}=e,s=ee(ht),c=t?I.Slot:"div";return p.jsx(c,{"data-slot":"tour-header",dir:s.dir,...r,className:L.cn("ds:flex ds:flex-col ds:gap-1.5 ds:text-center ds:sm:text-left",n)})}function Ve(e){const{asChild:t,className:n,...r}=e,s=ee(vt),c=t?I.Slot:"div";return p.jsx(c,{"data-slot":"tour-title",dir:s.dir,...r,className:L.cn("ds:font-semibold ds:text-lg ds:leading-none ds:tracking-tight",n)})}function ze(e){const{asChild:t,className:n,...r}=e,s=ee(Et),c=t?I.Slot:"div";return p.jsx(c,{"data-slot":"tour-description",dir:s.dir,...r,className:L.cn("ds:text-muted-foreground ds:text-sm",n)})}function Ue(e){const{asChild:t,className:n,onClick:r,...s}=e,c=V(xt),l=u.useCallback(f=>{r?.(f),!f.defaultPrevented&&c.setState("open",!1)},[c,r]),o=t?I.Slot:"button";return p.jsx(o,{type:"button","aria-label":"Close tour",className:L.cn("ds:absolute ds:top-4 ds:right-4 ds:rounded-xs ds:opacity-70 ds:ring-offset-background ds:transition-opacity ds:hover:opacity-100 ds:focus:outline-hidden ds:focus:ring-2 ds:focus:ring-ring ds:focus:ring-offset-2 ds:disabled:pointer-events-none ds:[&_svg:not([class*='size-'])]:size-4 ds:[&_svg]:pointer-events-none ds:[&_svg]:shrink-0",n),onClick:l,...s,children:p.jsx(fe.X,{className:"ds:size-4"})})}function Ge(e){const{children:t,onClick:n,...r}=e,s=V(Ct),c=A(o=>o.value),l=u.useCallback(o=>{n?.(o),!o.defaultPrevented&&c>0&&s.setState("value",c-1)},[c,s,n]);return p.jsx(pe.default,{type:"button","aria-label":"Previous step","data-slot":"tour-prev",variant:"outline",...r,onClick:l,disabled:c===0,children:t??p.jsxs(p.Fragment,{children:[p.jsx(fe.ChevronLeft,{}),"Previous"]})})}function Xe(e){const{children:t,onClick:n,...r}=e,s=V(wt),c=A(i=>i.value),l=A(i=>i.steps),o=c===l.length-1,f=u.useCallback(i=>{n?.(i),!i.defaultPrevented&&s.setState("value",c+1)},[c,s,n]);return p.jsx(pe.default,{type:"button","aria-label":"Next step","data-slot":"tour-next",...r,onClick:f,children:t??p.jsxs(p.Fragment,{children:[o?"Finish":"Next",!o&&p.jsx(fe.ChevronRight,{})]})})}function Ye(e){const{children:t,onClick:n,...r}=e,s=V(St),c=u.useCallback(l=>{n?.(l),!l.defaultPrevented&&s.setState("open",!1)},[s,n]);return p.jsx(pe.default,{type:"button","aria-label":"Skip tour","data-slot":"tour-skip",variant:"outline",...r,onClick:c,children:t??"Skip"})}function Je(e){const{format:t=(i,S)=>`${i} / ${S}`,asChild:n,className:r,children:s,...c}=e,l=A(i=>i.value),o=A(i=>i.steps),f=n?I.Slot:"div";return p.jsx(f,{"data-slot":"tour-step-counter",...c,className:L.cn("ds:text-muted-foreground ds:text-sm",r),children:s??t(l+1,o.length)})}function Qe(e){const{asChild:t,className:n,ref:r,...s}=e,c=Le(Se),l=u.useContext(qe),o=ee(Se),f=ye.useComposedRefs(r,l?void 0:c.onFooterChange),i=t?I.Slot:"div";return p.jsx(i,{"data-slot":"tour-footer",dir:o.dir,...s,ref:f,className:L.cn("ds:flex ds:flex-col-reverse ds:gap-2 ds:sm:flex-row ds:sm:justify-end",n)})}exports.Arrow=We;exports.Close=Ue;exports.Description=ze;exports.Footer=Qe;exports.Header=Ke;exports.Next=Xe;exports.Portal=He;exports.Prev=Ge;exports.Root=je;exports.Skip=Ye;exports.Spotlight=$e;exports.SpotlightRing=Be;exports.Step=Me;exports.StepCounter=Je;exports.Title=Ve;exports.Tour=je;exports.TourArrow=We;exports.TourClose=Ue;exports.TourDescription=ze;exports.TourFooter=Qe;exports.TourHeader=Ke;exports.TourNext=Xe;exports.TourPortal=He;exports.TourPrev=Ge;exports.TourSkip=Ye;exports.TourSpotlight=$e;exports.TourSpotlightRing=Be;exports.TourStep=Me;exports.TourStepCounter=Je;exports.TourTitle=Ve;
2
2
  //# sourceMappingURL=Tour.cjs.map