@synertech/ui 0.43.0 → 0.45.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 (442) hide show
  1. package/.claude/skills/use-synertech-ui/SKILL.md +178 -5
  2. package/README.md +36 -8
  3. package/dist/components/accordion/Accordion.cjs +1 -0
  4. package/dist/components/accordion/Accordion.js +1 -0
  5. package/dist/components/accordion/index.cjs +1 -0
  6. package/dist/components/accordion/index.js +1 -0
  7. package/dist/components/advance-detachable/AdvanceDetachable.cjs +1 -0
  8. package/dist/components/advance-detachable/AdvanceDetachable.js +1 -0
  9. package/dist/components/advance-detachable/index.cjs +1 -0
  10. package/dist/components/advance-detachable/index.js +1 -0
  11. package/dist/components/area-chart/AreaChart.cjs +1 -0
  12. package/dist/components/area-chart/AreaChart.js +1 -0
  13. package/dist/components/area-chart/index.cjs +1 -0
  14. package/dist/components/area-chart/index.js +1 -0
  15. package/dist/components/avatar/Avatar.cjs +1 -0
  16. package/dist/components/avatar/Avatar.js +1 -0
  17. package/dist/components/avatar/index.cjs +1 -0
  18. package/dist/components/avatar/index.js +1 -0
  19. package/dist/components/badge/Badge.cjs +1 -0
  20. package/dist/components/badge/Badge.js +1 -0
  21. package/dist/components/badge/index.cjs +1 -0
  22. package/dist/components/badge/index.js +1 -0
  23. package/dist/components/banner/Banner.cjs +1 -0
  24. package/dist/components/banner/Banner.js +1 -0
  25. package/dist/components/banner/index.cjs +1 -0
  26. package/dist/components/banner/index.js +1 -0
  27. package/dist/components/bar-chart/BarChart.cjs +1 -0
  28. package/dist/components/bar-chart/BarChart.js +1 -0
  29. package/dist/components/bar-chart/index.cjs +1 -0
  30. package/dist/components/bar-chart/index.js +1 -0
  31. package/dist/components/box-plot/BoxPlot.cjs +1 -0
  32. package/dist/components/box-plot/BoxPlot.js +1 -0
  33. package/dist/components/box-plot/index.cjs +1 -0
  34. package/dist/components/box-plot/index.js +1 -0
  35. package/dist/components/breadcrumb/Breadcrumb.cjs +1 -0
  36. package/dist/components/breadcrumb/Breadcrumb.js +1 -0
  37. package/dist/components/breadcrumb/index.cjs +1 -0
  38. package/dist/components/breadcrumb/index.js +1 -0
  39. package/dist/components/bullet-chart/BulletChart.cjs +1 -0
  40. package/dist/components/bullet-chart/BulletChart.js +1 -0
  41. package/dist/components/bullet-chart/index.cjs +1 -0
  42. package/dist/components/bullet-chart/index.js +1 -0
  43. package/dist/components/button/Button.cjs +1 -0
  44. package/dist/components/button/Button.js +1 -0
  45. package/dist/components/button/index.cjs +1 -0
  46. package/dist/components/button/index.js +1 -0
  47. package/dist/components/button-group/ButtonGroup.cjs +1 -0
  48. package/dist/components/button-group/ButtonGroup.js +1 -0
  49. package/dist/components/button-group/index.cjs +1 -0
  50. package/dist/components/button-group/index.js +1 -0
  51. package/dist/components/calendar/Calendar.cjs +1 -0
  52. package/dist/components/calendar/Calendar.js +1 -0
  53. package/dist/components/calendar/index.cjs +1 -0
  54. package/dist/components/calendar/index.js +1 -0
  55. package/dist/components/candlestick-chart/CandlestickChart.cjs +1 -0
  56. package/dist/components/candlestick-chart/CandlestickChart.js +1 -0
  57. package/dist/components/candlestick-chart/index.cjs +1 -0
  58. package/dist/components/candlestick-chart/index.js +1 -0
  59. package/dist/components/card/Card.cjs +1 -0
  60. package/dist/components/card/Card.js +1 -0
  61. package/dist/components/card/CardBody.cjs +1 -0
  62. package/dist/components/card/CardBody.js +1 -0
  63. package/dist/components/card/CardDescription.cjs +1 -0
  64. package/dist/components/card/CardDescription.js +1 -0
  65. package/dist/components/card/CardFooter.cjs +1 -0
  66. package/dist/components/card/CardFooter.js +1 -0
  67. package/dist/components/card/CardHeader.cjs +1 -0
  68. package/dist/components/card/CardHeader.js +1 -0
  69. package/dist/components/card/CardImage.cjs +1 -0
  70. package/dist/components/card/CardImage.js +1 -0
  71. package/dist/components/card/CardTitle.cjs +1 -0
  72. package/dist/components/card/CardTitle.js +1 -0
  73. package/dist/components/card/index.cjs +1 -0
  74. package/dist/components/card/index.js +1 -0
  75. package/dist/components/chart/ChartAnnotations.cjs +1 -0
  76. package/dist/components/chart/ChartAnnotations.js +1 -0
  77. package/dist/components/chart/ChartAxis.cjs +1 -0
  78. package/dist/components/chart/ChartAxis.js +1 -0
  79. package/dist/components/chart/ChartBrush.cjs +1 -0
  80. package/dist/components/chart/ChartBrush.js +1 -0
  81. package/dist/components/chart/ChartContainer.cjs +1 -0
  82. package/dist/components/chart/ChartContainer.js +1 -0
  83. package/dist/components/chart/ChartExportButton.cjs +1 -0
  84. package/dist/components/chart/ChartExportButton.js +1 -0
  85. package/dist/components/chart/ChartFacets.cjs +1 -0
  86. package/dist/components/chart/ChartFacets.js +1 -0
  87. package/dist/components/chart/ChartFilterBar.cjs +1 -0
  88. package/dist/components/chart/ChartFilterBar.js +1 -0
  89. package/dist/components/chart/ChartGrid.cjs +1 -0
  90. package/dist/components/chart/ChartGrid.js +1 -0
  91. package/dist/components/chart/ChartLegend.cjs +1 -0
  92. package/dist/components/chart/ChartLegend.js +1 -0
  93. package/dist/components/chart/ChartPatterns.cjs +1 -0
  94. package/dist/components/chart/ChartPatterns.js +1 -0
  95. package/dist/components/chart/ChartPeriodPicker.cjs +1 -0
  96. package/dist/components/chart/ChartPeriodPicker.js +1 -0
  97. package/dist/components/chart/ChartScaleLegend.cjs +1 -0
  98. package/dist/components/chart/ChartScaleLegend.js +1 -0
  99. package/dist/components/chart/ChartSync.cjs +1 -0
  100. package/dist/components/chart/ChartSync.js +1 -0
  101. package/dist/components/chart/ChartTableView.cjs +1 -0
  102. package/dist/components/chart/ChartTableView.js +1 -0
  103. package/dist/components/chart/ChartTooltip.cjs +1 -0
  104. package/dist/components/chart/ChartTooltip.js +1 -0
  105. package/dist/components/chart/chart.types.cjs +1 -0
  106. package/dist/components/chart/chart.types.js +0 -0
  107. package/dist/components/chart/index.cjs +1 -0
  108. package/dist/components/chart/index.js +1 -0
  109. package/dist/components/chart/palette.cjs +1 -0
  110. package/dist/components/chart/palette.js +1 -0
  111. package/dist/components/chart/useChartSize.cjs +1 -0
  112. package/dist/components/chart/useChartSize.js +1 -0
  113. package/dist/components/chart/utils/bins.cjs +1 -0
  114. package/dist/components/chart/utils/bins.js +1 -0
  115. package/dist/components/chart/utils/cartesian.cjs +1 -0
  116. package/dist/components/chart/utils/cartesian.js +1 -0
  117. package/dist/components/chart/utils/data.cjs +1 -0
  118. package/dist/components/chart/utils/data.js +1 -0
  119. package/dist/components/chart/utils/decimate.cjs +1 -0
  120. package/dist/components/chart/utils/decimate.js +1 -0
  121. package/dist/components/chart/utils/export.cjs +2 -0
  122. package/dist/components/chart/utils/export.js +2 -0
  123. package/dist/components/chart/utils/format.cjs +1 -0
  124. package/dist/components/chart/utils/format.js +1 -0
  125. package/dist/components/chart/utils/path.cjs +1 -0
  126. package/dist/components/chart/utils/path.js +1 -0
  127. package/dist/components/chart/utils/period.cjs +1 -0
  128. package/dist/components/chart/utils/period.js +1 -0
  129. package/dist/components/chart/utils/quantile.cjs +1 -0
  130. package/dist/components/chart/utils/quantile.js +1 -0
  131. package/dist/components/chart/utils/scales.cjs +1 -0
  132. package/dist/components/chart/utils/scales.js +1 -0
  133. package/dist/components/chart/utils/stack.cjs +1 -0
  134. package/dist/components/chart/utils/stack.js +1 -0
  135. package/dist/components/chart/utils/text.cjs +1 -0
  136. package/dist/components/chart/utils/text.js +1 -0
  137. package/dist/components/chart/utils/ticks.cjs +1 -0
  138. package/dist/components/chart/utils/ticks.js +1 -0
  139. package/dist/components/chart/utils/time.cjs +1 -0
  140. package/dist/components/chart/utils/time.js +1 -0
  141. package/dist/components/checkbox/Checkbox.cjs +1 -0
  142. package/dist/components/checkbox/Checkbox.js +1 -0
  143. package/dist/components/checkbox/CheckboxGroup.cjs +1 -0
  144. package/dist/components/checkbox/CheckboxGroup.js +1 -0
  145. package/dist/components/checkbox/index.cjs +1 -0
  146. package/dist/components/checkbox/index.js +1 -0
  147. package/dist/components/chip/Chip.cjs +1 -0
  148. package/dist/components/chip/Chip.js +1 -0
  149. package/dist/components/chip/index.cjs +1 -0
  150. package/dist/components/chip/index.js +1 -0
  151. package/dist/components/circular-progress/CircularProgress.cjs +1 -0
  152. package/dist/components/circular-progress/CircularProgress.js +1 -0
  153. package/dist/components/circular-progress/index.cjs +1 -0
  154. package/dist/components/circular-progress/index.js +1 -0
  155. package/dist/components/datagrid/DataGrid.cjs +2 -0
  156. package/dist/components/datagrid/DataGrid.js +2 -0
  157. package/dist/components/datagrid/index.cjs +1 -0
  158. package/dist/components/datagrid/index.js +1 -0
  159. package/dist/components/detachable/Detachable.cjs +1 -0
  160. package/dist/components/detachable/Detachable.js +1 -0
  161. package/dist/components/detachable/index.cjs +1 -0
  162. package/dist/components/detachable/index.js +1 -0
  163. package/dist/components/device-mockup/DeviceMockup.cjs +1 -0
  164. package/dist/components/device-mockup/DeviceMockup.js +1 -0
  165. package/dist/components/device-mockup/index.cjs +1 -0
  166. package/dist/components/device-mockup/index.js +1 -0
  167. package/dist/components/divider/Divider.cjs +1 -0
  168. package/dist/components/divider/Divider.js +1 -0
  169. package/dist/components/divider/index.cjs +1 -0
  170. package/dist/components/divider/index.js +1 -0
  171. package/dist/components/drawer/Drawer.cjs +1 -0
  172. package/dist/components/drawer/Drawer.js +1 -0
  173. package/dist/components/drawer/index.cjs +1 -0
  174. package/dist/components/drawer/index.js +1 -0
  175. package/dist/components/dropdown/Dropdown.cjs +1 -0
  176. package/dist/components/dropdown/Dropdown.js +1 -0
  177. package/dist/components/dropdown/DropdownCheckboxItem.cjs +1 -0
  178. package/dist/components/dropdown/DropdownCheckboxItem.js +1 -0
  179. package/dist/components/dropdown/DropdownContent.cjs +1 -0
  180. package/dist/components/dropdown/DropdownContent.js +1 -0
  181. package/dist/components/dropdown/DropdownItem.cjs +1 -0
  182. package/dist/components/dropdown/DropdownItem.js +1 -0
  183. package/dist/components/dropdown/DropdownRadio.cjs +1 -0
  184. package/dist/components/dropdown/DropdownRadio.js +1 -0
  185. package/dist/components/dropdown/DropdownSeparator.cjs +1 -0
  186. package/dist/components/dropdown/DropdownSeparator.js +1 -0
  187. package/dist/components/dropdown/DropdownSubMenu.cjs +1 -0
  188. package/dist/components/dropdown/DropdownSubMenu.js +1 -0
  189. package/dist/components/dropdown/DropdownTrigger.cjs +1 -0
  190. package/dist/components/dropdown/DropdownTrigger.js +1 -0
  191. package/dist/components/dropdown/hooks/index.cjs +1 -0
  192. package/dist/components/dropdown/hooks/index.js +1 -0
  193. package/dist/components/dropdown/hooks/useClickOutside.cjs +1 -0
  194. package/dist/components/dropdown/hooks/useClickOutside.js +1 -0
  195. package/dist/components/dropdown/hooks/useKeyboardNavigation.cjs +1 -0
  196. package/dist/components/dropdown/hooks/useKeyboardNavigation.js +1 -0
  197. package/dist/components/dropdown/hooks/useLatest.cjs +1 -0
  198. package/dist/components/dropdown/hooks/useLatest.js +1 -0
  199. package/dist/components/dropdown/hooks/usePositioning.cjs +1 -0
  200. package/dist/components/dropdown/hooks/usePositioning.js +1 -0
  201. package/dist/components/dropdown/index.cjs +1 -0
  202. package/dist/components/dropdown/index.js +1 -0
  203. package/dist/components/dumbbell-chart/DumbbellChart.cjs +1 -0
  204. package/dist/components/dumbbell-chart/DumbbellChart.js +1 -0
  205. package/dist/components/dumbbell-chart/index.cjs +1 -0
  206. package/dist/components/dumbbell-chart/index.js +1 -0
  207. package/dist/components/file-selector/FileSelector.cjs +1 -0
  208. package/dist/components/file-selector/FileSelector.js +1 -0
  209. package/dist/components/file-selector/index.cjs +1 -0
  210. package/dist/components/file-selector/index.js +1 -0
  211. package/dist/components/footer/Footer.cjs +1 -0
  212. package/dist/components/footer/Footer.js +1 -0
  213. package/dist/components/footer/FooterBottom.cjs +1 -0
  214. package/dist/components/footer/FooterBottom.js +1 -0
  215. package/dist/components/footer/FooterColumn.cjs +1 -0
  216. package/dist/components/footer/FooterColumn.js +1 -0
  217. package/dist/components/footer/FooterLink.cjs +1 -0
  218. package/dist/components/footer/FooterLink.js +1 -0
  219. package/dist/components/footer/FooterSection.cjs +1 -0
  220. package/dist/components/footer/FooterSection.js +1 -0
  221. package/dist/components/footer/FooterSocial.cjs +1 -0
  222. package/dist/components/footer/FooterSocial.js +1 -0
  223. package/dist/components/footer/index.cjs +1 -0
  224. package/dist/components/footer/index.js +1 -0
  225. package/dist/components/form/index.cjs +1 -0
  226. package/dist/components/form/index.js +1 -0
  227. package/dist/components/form/input/Input.cjs +1 -0
  228. package/dist/components/form/input/Input.js +1 -0
  229. package/dist/components/form/input/index.cjs +1 -0
  230. package/dist/components/form/input/index.js +1 -0
  231. package/dist/components/form/mention-input/MentionInput.cjs +1 -0
  232. package/dist/components/form/mention-input/MentionInput.js +1 -0
  233. package/dist/components/form/mention-input/index.cjs +1 -0
  234. package/dist/components/form/mention-input/index.js +1 -0
  235. package/dist/components/form/number-input/NumberInput.cjs +1 -0
  236. package/dist/components/form/number-input/NumberInput.js +1 -0
  237. package/dist/components/form/number-input/index.cjs +1 -0
  238. package/dist/components/form/number-input/index.js +1 -0
  239. package/dist/components/form/shared/InputWrapper.cjs +1 -0
  240. package/dist/components/form/shared/InputWrapper.js +1 -0
  241. package/dist/components/form/shared/inputStyles.cjs +1 -0
  242. package/dist/components/form/shared/inputStyles.js +1 -0
  243. package/dist/components/form/types/mention.cjs +1 -0
  244. package/dist/components/form/types/mention.js +0 -0
  245. package/dist/components/funnel-chart/FunnelChart.cjs +1 -0
  246. package/dist/components/funnel-chart/FunnelChart.js +1 -0
  247. package/dist/components/funnel-chart/index.cjs +1 -0
  248. package/dist/components/funnel-chart/index.js +1 -0
  249. package/dist/components/gantt-chart/GanttChart.cjs +1 -0
  250. package/dist/components/gantt-chart/GanttChart.js +1 -0
  251. package/dist/components/gantt-chart/index.cjs +1 -0
  252. package/dist/components/gantt-chart/index.js +1 -0
  253. package/dist/components/header/Header.cjs +1 -0
  254. package/dist/components/header/Header.js +1 -0
  255. package/dist/components/header/index.cjs +1 -0
  256. package/dist/components/header/index.js +1 -0
  257. package/dist/components/heat-map/Heatmap.cjs +1 -0
  258. package/dist/components/heat-map/Heatmap.js +1 -0
  259. package/dist/components/heat-map/index.cjs +1 -0
  260. package/dist/components/heat-map/index.js +1 -0
  261. package/dist/components/help-button/HelpButton.cjs +22 -0
  262. package/dist/components/help-button/HelpButton.js +22 -0
  263. package/dist/components/help-button/MarkdownEditor.cjs +1 -0
  264. package/dist/components/help-button/MarkdownEditor.js +1 -0
  265. package/dist/components/help-button/index.cjs +1 -0
  266. package/dist/components/help-button/index.js +1 -0
  267. package/dist/components/help-button/types.cjs +1 -0
  268. package/dist/components/help-button/types.js +0 -0
  269. package/dist/components/image-uploader/ImageUploader.cjs +1 -0
  270. package/dist/components/image-uploader/ImageUploader.js +1 -0
  271. package/dist/components/image-uploader/index.cjs +1 -0
  272. package/dist/components/image-uploader/index.js +1 -0
  273. package/dist/components/index.cjs +1 -0
  274. package/dist/components/index.js +1 -0
  275. package/dist/components/indicator/Indicator.cjs +1 -0
  276. package/dist/components/indicator/Indicator.js +1 -0
  277. package/dist/components/indicator/index.cjs +1 -0
  278. package/dist/components/indicator/index.js +1 -0
  279. package/dist/components/label/Label.cjs +1 -0
  280. package/dist/components/label/Label.js +1 -0
  281. package/dist/components/label/index.cjs +1 -0
  282. package/dist/components/label/index.js +1 -0
  283. package/dist/components/line-chart/LineChart.cjs +1 -0
  284. package/dist/components/line-chart/LineChart.js +1 -0
  285. package/dist/components/line-chart/index.cjs +1 -0
  286. package/dist/components/line-chart/index.js +1 -0
  287. package/dist/components/modal/Modal.cjs +1 -0
  288. package/dist/components/modal/Modal.js +1 -0
  289. package/dist/components/modal/index.cjs +1 -0
  290. package/dist/components/modal/index.js +1 -0
  291. package/dist/components/pagination/Pagination.cjs +1 -0
  292. package/dist/components/pagination/Pagination.js +1 -0
  293. package/dist/components/pagination/index.cjs +1 -0
  294. package/dist/components/pagination/index.js +1 -0
  295. package/dist/components/pie-chart/PieChart.cjs +1 -0
  296. package/dist/components/pie-chart/PieChart.js +1 -0
  297. package/dist/components/pie-chart/index.cjs +1 -0
  298. package/dist/components/pie-chart/index.js +1 -0
  299. package/dist/components/progress-bar/ProgressBar.cjs +1 -0
  300. package/dist/components/progress-bar/ProgressBar.js +1 -0
  301. package/dist/components/progress-bar/index.cjs +1 -0
  302. package/dist/components/progress-bar/index.js +1 -0
  303. package/dist/components/radio-button/RadioButton.cjs +1 -0
  304. package/dist/components/radio-button/RadioButton.js +1 -0
  305. package/dist/components/radio-button/index.cjs +1 -0
  306. package/dist/components/radio-button/index.js +1 -0
  307. package/dist/components/scatter-chart/ScatterChart.cjs +1 -0
  308. package/dist/components/scatter-chart/ScatterChart.js +1 -0
  309. package/dist/components/scatter-chart/index.cjs +1 -0
  310. package/dist/components/scatter-chart/index.js +1 -0
  311. package/dist/components/schema-editor/SchemaEditor.cjs +1 -0
  312. package/dist/components/schema-editor/SchemaEditor.js +1 -0
  313. package/dist/components/schema-editor/SchemaEditor.types.cjs +1 -0
  314. package/dist/components/schema-editor/SchemaEditor.types.js +0 -0
  315. package/dist/components/schema-editor/canvas/GridLayer.cjs +1 -0
  316. package/dist/components/schema-editor/canvas/GridLayer.js +1 -0
  317. package/dist/components/schema-editor/index.cjs +1 -0
  318. package/dist/components/schema-editor/index.js +1 -0
  319. package/dist/components/schema-editor/legend/SchemaLegend.cjs +1 -0
  320. package/dist/components/schema-editor/legend/SchemaLegend.js +1 -0
  321. package/dist/components/schema-editor/minimap/SchemaMinimap.cjs +1 -0
  322. package/dist/components/schema-editor/minimap/SchemaMinimap.js +1 -0
  323. package/dist/components/schema-editor/relations/SchemaRelationRenderer.cjs +1 -0
  324. package/dist/components/schema-editor/relations/SchemaRelationRenderer.js +1 -0
  325. package/dist/components/schema-editor/tables/SchemaTableRenderer.cjs +1 -0
  326. package/dist/components/schema-editor/tables/SchemaTableRenderer.js +1 -0
  327. package/dist/components/schema-editor/toolbar/SchemaToolbar.cjs +1 -0
  328. package/dist/components/schema-editor/toolbar/SchemaToolbar.js +1 -0
  329. package/dist/components/schema-editor/utils/auto-layout.cjs +1 -0
  330. package/dist/components/schema-editor/utils/auto-layout.js +1 -0
  331. package/dist/components/schema-editor/utils/geometry.cjs +1 -0
  332. package/dist/components/schema-editor/utils/geometry.js +1 -0
  333. package/dist/components/schema-editor/utils/schema-helpers.cjs +1 -0
  334. package/dist/components/schema-editor/utils/schema-helpers.js +1 -0
  335. package/dist/components/schema-editor/utils/sql-export.cjs +9 -0
  336. package/dist/components/schema-editor/utils/sql-export.js +9 -0
  337. package/dist/components/select/Select.cjs +1 -0
  338. package/dist/components/select/Select.js +1 -0
  339. package/dist/components/select/index.cjs +1 -0
  340. package/dist/components/select/index.js +1 -0
  341. package/dist/components/sidebar/Sidebar.cjs +1 -0
  342. package/dist/components/sidebar/Sidebar.js +1 -0
  343. package/dist/components/sidebar/index.cjs +1 -0
  344. package/dist/components/sidebar/index.js +1 -0
  345. package/dist/components/skeleton/Skeleton.cjs +1 -0
  346. package/dist/components/skeleton/Skeleton.js +1 -0
  347. package/dist/components/skeleton/index.cjs +1 -0
  348. package/dist/components/skeleton/index.js +1 -0
  349. package/dist/components/slider/Slider.cjs +1 -0
  350. package/dist/components/slider/Slider.js +1 -0
  351. package/dist/components/slider/index.cjs +1 -0
  352. package/dist/components/slider/index.js +1 -0
  353. package/dist/components/sparkline/Sparkline.cjs +1 -0
  354. package/dist/components/sparkline/Sparkline.js +1 -0
  355. package/dist/components/sparkline/index.cjs +1 -0
  356. package/dist/components/sparkline/index.js +1 -0
  357. package/dist/components/stat-card/StatCard.cjs +1 -0
  358. package/dist/components/stat-card/StatCard.js +1 -0
  359. package/dist/components/stat-card/StatCardGroup.cjs +1 -0
  360. package/dist/components/stat-card/StatCardGroup.js +1 -0
  361. package/dist/components/stat-card/index.cjs +1 -0
  362. package/dist/components/stat-card/index.js +1 -0
  363. package/dist/components/table/Table.cjs +1 -0
  364. package/dist/components/table/Table.js +1 -0
  365. package/dist/components/table/TableBody.cjs +1 -0
  366. package/dist/components/table/TableBody.js +1 -0
  367. package/dist/components/table/TableCell.cjs +1 -0
  368. package/dist/components/table/TableCell.js +1 -0
  369. package/dist/components/table/TableHeader.cjs +1 -0
  370. package/dist/components/table/TableHeader.js +1 -0
  371. package/dist/components/table/TableHeaderCell.cjs +1 -0
  372. package/dist/components/table/TableHeaderCell.js +1 -0
  373. package/dist/components/table/TableRow.cjs +1 -0
  374. package/dist/components/table/TableRow.js +1 -0
  375. package/dist/components/table/index.cjs +1 -0
  376. package/dist/components/table/index.js +1 -0
  377. package/dist/components/tabs/Tabs.cjs +1 -0
  378. package/dist/components/tabs/Tabs.js +1 -0
  379. package/dist/components/tabs/TabsContent.cjs +1 -0
  380. package/dist/components/tabs/TabsContent.js +1 -0
  381. package/dist/components/tabs/TabsContext.cjs +1 -0
  382. package/dist/components/tabs/TabsContext.js +1 -0
  383. package/dist/components/tabs/TabsList.cjs +1 -0
  384. package/dist/components/tabs/TabsList.js +1 -0
  385. package/dist/components/tabs/TabsTrigger.cjs +1 -0
  386. package/dist/components/tabs/TabsTrigger.js +1 -0
  387. package/dist/components/tabs/index.cjs +1 -0
  388. package/dist/components/tabs/index.js +1 -0
  389. package/dist/components/toast/Toast.cjs +1 -0
  390. package/dist/components/toast/Toast.js +1 -0
  391. package/dist/components/toast/index.cjs +1 -0
  392. package/dist/components/toast/index.js +1 -0
  393. package/dist/components/tooltip/Tooltip.cjs +1 -0
  394. package/dist/components/tooltip/Tooltip.js +1 -0
  395. package/dist/components/tooltip/index.cjs +1 -0
  396. package/dist/components/tooltip/index.js +1 -0
  397. package/dist/components/waterfall-chart/WaterfallChart.cjs +1 -0
  398. package/dist/components/waterfall-chart/WaterfallChart.js +1 -0
  399. package/dist/components/waterfall-chart/index.cjs +1 -0
  400. package/dist/components/waterfall-chart/index.js +1 -0
  401. package/dist/components/wizard/Wizard.cjs +1 -0
  402. package/dist/components/wizard/Wizard.js +1 -0
  403. package/dist/components/wizard/index.cjs +1 -0
  404. package/dist/components/wizard/index.js +1 -0
  405. package/dist/components/workflow-editor/WorkflowEditor.cjs +1 -0
  406. package/dist/components/workflow-editor/WorkflowEditor.js +1 -0
  407. package/dist/components/workflow-editor/WorkflowEditor.types.cjs +1 -0
  408. package/dist/components/workflow-editor/WorkflowEditor.types.js +0 -0
  409. package/dist/components/workflow-editor/canvas/GridLayer.cjs +1 -0
  410. package/dist/components/workflow-editor/canvas/GridLayer.js +1 -0
  411. package/dist/components/workflow-editor/edges/WorkflowEdgeRenderer.cjs +1 -0
  412. package/dist/components/workflow-editor/edges/WorkflowEdgeRenderer.js +1 -0
  413. package/dist/components/workflow-editor/index.cjs +1 -0
  414. package/dist/components/workflow-editor/index.js +1 -0
  415. package/dist/components/workflow-editor/nodes/WorkflowNodeRenderer.cjs +1 -0
  416. package/dist/components/workflow-editor/nodes/WorkflowNodeRenderer.js +1 -0
  417. package/dist/components/workflow-editor/toolbar/WorkflowToolbar.cjs +1 -0
  418. package/dist/components/workflow-editor/toolbar/WorkflowToolbar.js +1 -0
  419. package/dist/components/workflow-editor/utils/geometry.cjs +1 -0
  420. package/dist/components/workflow-editor/utils/geometry.js +1 -0
  421. package/dist/hooks/index.cjs +1 -0
  422. package/dist/hooks/index.js +1 -0
  423. package/dist/hooks/useDialogA11y.cjs +1 -0
  424. package/dist/hooks/useDialogA11y.js +1 -0
  425. package/dist/index.cjs +1 -31
  426. package/dist/index.d.cts +778 -106
  427. package/dist/index.d.ts +778 -106
  428. package/dist/index.js +1 -31
  429. package/dist/lib/aria-hide.cjs +1 -0
  430. package/dist/lib/aria-hide.js +1 -0
  431. package/dist/lib/cn.cjs +1 -0
  432. package/dist/lib/cn.js +1 -0
  433. package/dist/lib/dialog-stack.cjs +1 -0
  434. package/dist/lib/dialog-stack.js +1 -0
  435. package/dist/lib/focus.cjs +1 -0
  436. package/dist/lib/focus.js +1 -0
  437. package/dist/lib/i18n.cjs +1 -0
  438. package/dist/lib/i18n.js +1 -0
  439. package/dist/markdown-editor.cjs +1 -1
  440. package/dist/markdown-editor.js +1 -1
  441. package/dist/styles.css +139 -0
  442. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ import{Dropdown as p,useDropdownContext as e}from"./Dropdown.js";import{DropdownTrigger as t}from"./DropdownTrigger.js";import{DropdownContent as w}from"./DropdownContent.js";import{DropdownItem as i}from"./DropdownItem.js";import{DropdownSeparator as s,DropdownLabel as u}from"./DropdownSeparator.js";import{DropdownCheckboxItem as a}from"./DropdownCheckboxItem.js";import{DropdownRadioGroup as g,DropdownRadioItem as P}from"./DropdownRadio.js";import{DropdownSubMenu as y,DropdownSubMenuTrigger as C,DropdownSubMenuContent as S}from"./DropdownSubMenu.js";import{useClickOutside as M,useKeyboardNavigation as c,useFocusItem as k,usePositioning as l}from"./hooks/index.js";export{p as Dropdown,a as DropdownCheckboxItem,w as DropdownContent,i as DropdownItem,u as DropdownLabel,g as DropdownRadioGroup,P as DropdownRadioItem,s as DropdownSeparator,y as DropdownSubMenu,S as DropdownSubMenuContent,C as DropdownSubMenuTrigger,t as DropdownTrigger,M as useClickOutside,e as useDropdownContext,k as useFocusItem,c as useKeyboardNavigation,l as usePositioning};
@@ -0,0 +1 @@
1
+ "use strict";"use client";var te=Object.defineProperty;var xe=Object.getOwnPropertyDescriptor;var Re=Object.getOwnPropertyNames;var Se=Object.prototype.hasOwnProperty;var De=(u,o)=>{for(var h in o)te(u,h,{get:o[h],enumerable:!0})},Le=(u,o,h,t)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of Re(o))!Se.call(u,i)&&i!==h&&te(u,i,{get:()=>o[i],enumerable:!(t=xe(o,i))||t.enumerable});return u};var Pe=u=>Le(te({},"__esModule",{value:!0}),u);var Ee={};De(Ee,{DumbbellChart:()=>We,resetDumbbellWarnings:()=>Ve});module.exports=Pe(Ee);var s=require("react"),ce=require("../../lib/i18n.cjs"),ne=require("../chart/ChartAxis.cjs"),me=require("../chart/ChartContainer.cjs"),he=require("../chart/ChartGrid.cjs"),de=require("../chart/ChartLegend.cjs"),ge=require("../chart/ChartTableView.cjs"),Y=require("../chart/ChartTooltip.cjs"),C=require("../chart/palette.cjs"),be=require("../chart/utils/cartesian.cjs"),E=require("../chart/utils/data.cjs"),B=require("../chart/utils/format.cjs"),fe=require("../chart/utils/scales.cjs"),ye=require("../chart/utils/text.cjs"),pe=require("../chart/utils/ticks.cjs"),n=require("react/jsx-runtime"),we=5,Te=3,ue=10,re=!1;function Ve(){re=!1}var Ae=(0,s.memo)(function({rows:o,radius:h}){return(0,n.jsx)("g",{children:o.map(t=>(0,n.jsxs)("g",{children:[t.connector?(0,n.jsx)("line",{x1:t.connector.x1,y1:t.connector.y,x2:t.connector.x2,y2:t.connector.y,strokeWidth:Te,strokeLinecap:"round",className:"stroke-gray-300 dark:stroke-gray-600"}):null,t.dots.map(i=>(0,n.jsx)("circle",{cx:i.cx,cy:i.cy,r:h,fill:i.color,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"},i.key)),t.label?(0,n.jsx)("text",{x:t.label.x,y:t.label.y,dominantBaseline:"middle",className:"fill-gray-600 text-[10px] [font-variant-numeric:tabular-nums] dark:fill-gray-300",children:t.label.text}):null]},t.key))})});function Ne({width:u,height:o,data:h,rows:t,resolvedSeries:i,x:L,y:w,grid:$,size:G,showValues:_,dotSize:Z,referenceLines:z,margin:U,tooltip:b,plotLabel:j,formatValue:H,formatX:I,onRowClick:M}){let[c,T]=(0,s.useState)(null),e=(0,s.useMemo)(()=>{let k=i.filter(d=>!d.hidden).map(d=>d.key),m=(0,be.buildCartesianGeometry)({width:u,height:o,data:h,x:L,y:w,bounds:(0,pe.extent)((0,E.collectAllValues)(h,k)),margin:U,orientation:"horizontal",placement:"band",formatValue:H,formatX:I,defaultIncludeZero:!1}),{valueScale:f,bandwidth:X,categoryPositions:V,innerWidth:O,innerHeight:Q}=m;return{rendered:t.map((d,A)=>{let K=V[A]+X/2,x=d.points.map((l,R)=>({key:l.seriesKey,value:l.value,cx:l.value===null?Number.NaN:f(l.value),cy:K,color:l.color,order:R})).filter(l=>l.value!==null),N=d.from===null||d.to===null||x.length<2?null:{x1:f(d.from),x2:f(d.to),y:K},P=null;if(_&&d.to!==null){let l=H(d.to),R=f(d.to);(0,ye.estimateTextWidth)(l,10)<=O-R-ue&&(P={x:R+ue,y:K,text:l})}return{key:`${A}`,connector:N,dots:x.map(l=>({key:l.key,cx:l.cx,cy:l.cy,color:l.color})),label:P,top:V[A],height:X}}),categoryPositions:V,categoryCenters:m.categoryCenters,bandwidth:X,categoryTicks:m.categoryTicks,valueTicks:m.valueTicks,valueScale:f,innerWidth:O,innerHeight:Q,margin:m.margin}},[h,t,i,L,w,u,o,U,_,H,I]),q=(0,s.useCallback)(r=>{if(b===!1||t.length===0)return;let k=r.currentTarget.getBoundingClientRect(),m=r.clientY-k.top-e.margin.top;T((0,fe.nearestIndex)(e.categoryCenters,m))},[b,t.length,e.margin.top,e.categoryCenters]),F=(0,s.useCallback)(r=>{if(t.length===0)return;let k=t.length-1,m=c??0,f=r.key==="ArrowDown"?Math.min(k,m+1):r.key==="ArrowUp"?Math.max(0,m-1):r.key==="Home"?0:r.key==="End"?k:r.key==="Escape"?null:void 0;f!==void 0&&(r.preventDefault(),T(f))},[t.length,c]),J=(0,s.useCallback)(()=>{!M||c===null||M(t[c])},[M,c,t]),v=c===null?null:t[c];return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("svg",{width:u,height:o,role:"img","aria-label":j??i.map(r=>(0,C.getSeriesLabel)(r)).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:q,onPointerLeave:()=>T(null),onKeyDown:F,onBlur:()=>T(null),onClick:J,children:[(0,n.jsxs)("g",{transform:`translate(${e.margin.left}, ${e.margin.top})`,children:[(0,n.jsx)(he.ChartGrid,{width:e.innerWidth,height:e.innerHeight,vertical:$==="y"||$==="both"?e.valueTicks.map(r=>r.offset):void 0}),c!==null?(0,n.jsx)("rect",{x:0,y:e.categoryPositions[c],width:e.innerWidth,height:e.bandwidth,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,z?.map(r=>(0,n.jsxs)("g",{children:[(0,n.jsx)("line",{x1:e.valueScale(r.value),y1:0,x2:e.valueScale(r.value),y2:e.innerHeight,stroke:r.color??"var(--color-chart-muted)",strokeWidth:1,strokeDasharray:r.dashed===!1?void 0:"4 4"}),r.label?(0,n.jsx)("text",{x:e.valueScale(r.value)+4,y:8,className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:r.label}):null]},`${r.value}-${r.label??""}`)),(0,n.jsx)(Ae,{rows:e.rendered,radius:Z})]}),(0,n.jsx)("g",{transform:`translate(${e.margin.left}, ${e.margin.top+e.innerHeight})`,children:w?.hidden?null:(0,n.jsx)(ne.ChartAxis,{orientation:"bottom",ticks:e.valueTicks,length:e.innerWidth,label:w?.label,size:G})}),(0,n.jsx)("g",{transform:`translate(${e.margin.left}, ${e.margin.top})`,children:L.hidden?null:(0,n.jsx)(ne.ChartAxis,{orientation:"left",ticks:e.categoryTicks,length:e.innerHeight,showLine:!1,tickSize:0,label:L.label,size:G})})]}),v&&c!==null&&b!==!1?(0,n.jsx)(Y.ChartTooltip,{x:e.margin.left+(v.to===null?e.innerWidth/2:e.valueScale(v.to)),y:e.margin.top+e.categoryCenters[c],containerWidth:u,children:typeof b=="function"?b(v):(0,n.jsx)(Y.ChartTooltipContent,{title:v.label,points:v.points})}):null]})}function We({data:u,x:o,y:h,series:t,sort:i="none",sortBy:L,showValues:w=!1,dotSize:$=we,referenceLines:G,height:_,width:Z,size:z="md",grid:U="y",legend:b,legendToggle:j=!0,tooltip:H=!0,tableView:I=!1,showChange:M=!0,title:c,description:T,loading:e=!1,emptyState:q,error:F=!1,errorState:J,onRetry:v,actions:r,margin:k,locale:m,plotLabel:f,changeLabel:X,format:V,onRowClick:O,className:Q,...ae}){let d=(0,ce.useUILabels)(),[A,K]=(0,s.useState)(()=>new Set);t.length>C.CHART_ALL_PAIRS_LIMIT&&!re&&(re=!0,console.warn(`[@synertech/ui] A DumbbellChart was given ${t.length} series. Any two dots of a row can sit side by side, and only the first ${C.CHART_ALL_PAIRS_LIMIT} palette slots stay tellable apart under that test: facet the chart instead.`));let x=(0,s.useMemo)(()=>t.map((a,g)=>({...a,hidden:a.hidden||A.has(a.key),color:(0,C.resolveSeriesColor)(a,g)})),[t,A]),N=(0,s.useMemo)(()=>h?.format??V??(a=>(0,B.formatAuto)(a,m)),[h?.format,V,m]),P=(0,s.useMemo)(()=>o.format??(a=>(0,B.formatXValue)(a,m)),[o.format,m]),l=(0,s.useMemo)(()=>x.filter(a=>!a.hidden),[x]),R=(0,s.useMemo)(()=>u.map((a,g)=>{let y=(0,E.readXValue)(a,o.key,g),p=l.map(D=>{let ee=(0,E.readNumber)(a,D.key);return{seriesKey:D.key,seriesLabel:(0,C.getSeriesLabel)(D),color:D.color,value:ee,formattedValue:ee===null?"\u2014":N(ee),datum:a}}),S=p.map(D=>D.value).filter(D=>D!==null),ie=p[0]?.value??null,se=p[p.length-1]?.value??null;return{index:g,x:y,label:P(y,g),points:p,from:S.length>0?Math.min(...S):null,to:S.length>0?Math.max(...S):null,change:ie===null||se===null?null:se-ie,datum:a}}),[u,o.key,l,N,P]),W=(0,s.useMemo)(()=>{if(i==="none")return R;let a=L??l[l.length-1]?.key,g=p=>i==="gap"?Math.abs(p.change??0):p.points.find(S=>S.seriesKey===a)?.value??0,y=[...R].sort((p,S)=>g(p)-g(S));return i==="asc"?y:y.reverse()},[R,i,L,l]),Ce=(0,s.useCallback)(a=>{K(g=>{let y=new Set(g);return y.has(a)?y.delete(a):y.add(a),y})},[]),oe=_??Math.max(96,W.length*30+44),ve=(0,s.useMemo)(()=>W.map(a=>({...a.datum,__change:a.change})),[W]),ke=b===void 0?t.length>=2:b!==!1,le=typeof b=="string"?b:"bottom";return(0,n.jsx)(me.ChartContainer,{title:c,description:T,height:oe,width:Z,size:z,loading:e,empty:W.length===0||l.length===0,emptyState:q,error:F,errorState:J,onRetry:v,actions:r,tableView:I,legendPosition:le,legend:ke?(0,n.jsx)(de.ChartLegend,{items:(0,C.toLegendItems)(x),position:le,marker:"dot",size:z,onToggle:j?Ce:void 0}):void 0,table:I?(0,n.jsx)(ge.ChartTableView,{data:ve,series:[...x,...M?[{key:"__change",label:X??d.chartChange}]:[]],xKey:o.key,xLabel:o.label??o.key,formatX:P,formatValue:N,caption:typeof c=="string"?c:void 0}):void 0,className:Q,...ae,children:({width:a})=>(0,n.jsx)(Ne,{width:a,height:oe,data:W.map(g=>g.datum),rows:W,resolvedSeries:x,x:o,y:h,grid:U,size:z,showValues:w,dotSize:$,referenceLines:G,margin:k,tooltip:H,plotLabel:f,formatValue:N,formatX:P,onRowClick:O})})}0&&(module.exports={DumbbellChart,resetDumbbellWarnings});
@@ -0,0 +1 @@
1
+ "use client";import{memo as de,useCallback as O,useMemo as S,useState as se}from"react";import{useUILabels as ge}from"../../lib/i18n.js";import{ChartAxis as oe}from"../chart/ChartAxis.js";import{ChartContainer as be}from"../chart/ChartContainer.js";import{ChartGrid as fe}from"../chart/ChartGrid.js";import{ChartLegend as ye}from"../chart/ChartLegend.js";import{ChartTableView as pe}from"../chart/ChartTableView.js";import{ChartTooltip as Ce,ChartTooltipContent as ve}from"../chart/ChartTooltip.js";import{CHART_ALL_PAIRS_LIMIT as le,getSeriesLabel as ue,resolveSeriesColor as ke,toLegendItems as xe}from"../chart/palette.js";import{buildCartesianGeometry as Re}from"../chart/utils/cartesian.js";import{collectAllValues as Se,readNumber as De,readXValue as Le}from"../chart/utils/data.js";import{formatAuto as Pe,formatXValue as we}from"../chart/utils/format.js";import{nearestIndex as Te}from"../chart/utils/scales.js";import{estimateTextWidth as Ve}from"../chart/utils/text.js";import{extent as Ae}from"../chart/utils/ticks.js";import{Fragment as He,jsx as o,jsxs as X}from"react/jsx-runtime";var Ne=5,We=3,ie=10,Q=!1;function Je(){Q=!1}var Ee=de(function({rows:s,radius:f}){return o("g",{children:s.map(t=>X("g",{children:[t.connector?o("line",{x1:t.connector.x1,y1:t.connector.y,x2:t.connector.x2,y2:t.connector.y,strokeWidth:We,strokeLinecap:"round",className:"stroke-gray-300 dark:stroke-gray-600"}):null,t.dots.map(c=>o("circle",{cx:c.cx,cy:c.cy,r:f,fill:c.color,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"},c.key)),t.label?o("text",{x:t.label.x,y:t.label.y,dominantBaseline:"middle",className:"fill-gray-600 text-[10px] [font-variant-numeric:tabular-nums] dark:fill-gray-300",children:t.label.text}):null]},t.key))})});function ze({width:y,height:s,data:f,rows:t,resolvedSeries:c,x:D,y:P,grid:K,size:$,showValues:G,dotSize:Y,referenceLines:W,margin:_,tooltip:h,plotLabel:B,formatValue:E,formatX:z,onRowClick:H}){let[l,w]=se(null),e=S(()=>{let C=c.filter(u=>!u.hidden).map(u=>u.key),i=Re({width:y,height:s,data:f,x:D,y:P,bounds:Ae(Se(f,C)),margin:_,orientation:"horizontal",placement:"band",formatValue:E,formatX:z,defaultIncludeZero:!1}),{valueScale:d,bandwidth:I,categoryPositions:T,innerWidth:U,innerHeight:F}=i;return{rendered:t.map((u,V)=>{let M=T[V]+I/2,v=u.points.map((a,k)=>({key:a.seriesKey,value:a.value,cx:a.value===null?Number.NaN:d(a.value),cy:M,color:a.color,order:k})).filter(a=>a.value!==null),A=u.from===null||u.to===null||v.length<2?null:{x1:d(u.from),x2:d(u.to),y:M},L=null;if(G&&u.to!==null){let a=E(u.to),k=d(u.to);Ve(a,10)<=U-k-ie&&(L={x:k+ie,y:M,text:a})}return{key:`${V}`,connector:A,dots:v.map(a=>({key:a.key,cx:a.cx,cy:a.cy,color:a.color})),label:L,top:T[V],height:I}}),categoryPositions:T,categoryCenters:i.categoryCenters,bandwidth:I,categoryTicks:i.categoryTicks,valueTicks:i.valueTicks,valueScale:d,innerWidth:U,innerHeight:F,margin:i.margin}},[f,t,c,D,P,y,s,_,G,E,z]),Z=O(n=>{if(h===!1||t.length===0)return;let C=n.currentTarget.getBoundingClientRect(),i=n.clientY-C.top-e.margin.top;w(Te(e.categoryCenters,i))},[h,t.length,e.margin.top,e.categoryCenters]),j=O(n=>{if(t.length===0)return;let C=t.length-1,i=l??0,d=n.key==="ArrowDown"?Math.min(C,i+1):n.key==="ArrowUp"?Math.max(0,i-1):n.key==="Home"?0:n.key==="End"?C:n.key==="Escape"?null:void 0;d!==void 0&&(n.preventDefault(),w(d))},[t.length,l]),q=O(()=>{!H||l===null||H(t[l])},[H,l,t]),p=l===null?null:t[l];return X(He,{children:[X("svg",{width:y,height:s,role:"img","aria-label":B??c.map(n=>ue(n)).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:Z,onPointerLeave:()=>w(null),onKeyDown:j,onBlur:()=>w(null),onClick:q,children:[X("g",{transform:`translate(${e.margin.left}, ${e.margin.top})`,children:[o(fe,{width:e.innerWidth,height:e.innerHeight,vertical:K==="y"||K==="both"?e.valueTicks.map(n=>n.offset):void 0}),l!==null?o("rect",{x:0,y:e.categoryPositions[l],width:e.innerWidth,height:e.bandwidth,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,W?.map(n=>X("g",{children:[o("line",{x1:e.valueScale(n.value),y1:0,x2:e.valueScale(n.value),y2:e.innerHeight,stroke:n.color??"var(--color-chart-muted)",strokeWidth:1,strokeDasharray:n.dashed===!1?void 0:"4 4"}),n.label?o("text",{x:e.valueScale(n.value)+4,y:8,className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:n.label}):null]},`${n.value}-${n.label??""}`)),o(Ee,{rows:e.rendered,radius:Y})]}),o("g",{transform:`translate(${e.margin.left}, ${e.margin.top+e.innerHeight})`,children:P?.hidden?null:o(oe,{orientation:"bottom",ticks:e.valueTicks,length:e.innerWidth,label:P?.label,size:$})}),o("g",{transform:`translate(${e.margin.left}, ${e.margin.top})`,children:D.hidden?null:o(oe,{orientation:"left",ticks:e.categoryTicks,length:e.innerHeight,showLine:!1,tickSize:0,label:D.label,size:$})})]}),p&&l!==null&&h!==!1?o(Ce,{x:e.margin.left+(p.to===null?e.innerWidth/2:e.valueScale(p.to)),y:e.margin.top+e.categoryCenters[l],containerWidth:y,children:typeof h=="function"?h(p):o(ve,{title:p.label,points:p.points})}):null]})}function Qe({data:y,x:s,y:f,series:t,sort:c="none",sortBy:D,showValues:P=!1,dotSize:K=Ne,referenceLines:$,height:G,width:Y,size:W="md",grid:_="y",legend:h,legendToggle:B=!0,tooltip:E=!0,tableView:z=!1,showChange:H=!0,title:l,description:w,loading:e=!1,emptyState:Z,error:j=!1,errorState:q,onRetry:p,actions:n,margin:C,locale:i,plotLabel:d,changeLabel:I,format:T,onRowClick:U,className:F,...ee}){let u=ge(),[V,M]=se(()=>new Set);t.length>le&&!Q&&(Q=!0,console.warn(`[@synertech/ui] A DumbbellChart was given ${t.length} series. Any two dots of a row can sit side by side, and only the first ${le} palette slots stay tellable apart under that test: facet the chart instead.`));let v=S(()=>t.map((r,m)=>({...r,hidden:r.hidden||V.has(r.key),color:ke(r,m)})),[t,V]),A=S(()=>f?.format??T??(r=>Pe(r,i)),[f?.format,T,i]),L=S(()=>s.format??(r=>we(r,i)),[s.format,i]),a=S(()=>v.filter(r=>!r.hidden),[v]),k=S(()=>y.map((r,m)=>{let g=Le(r,s.key,m),b=a.map(R=>{let J=De(r,R.key);return{seriesKey:R.key,seriesLabel:ue(R),color:R.color,value:J,formattedValue:J===null?"\u2014":A(J),datum:r}}),x=b.map(R=>R.value).filter(R=>R!==null),re=b[0]?.value??null,ae=b[b.length-1]?.value??null;return{index:m,x:g,label:L(g,m),points:b,from:x.length>0?Math.min(...x):null,to:x.length>0?Math.max(...x):null,change:re===null||ae===null?null:ae-re,datum:r}}),[y,s.key,a,A,L]),N=S(()=>{if(c==="none")return k;let r=D??a[a.length-1]?.key,m=b=>c==="gap"?Math.abs(b.change??0):b.points.find(x=>x.seriesKey===r)?.value??0,g=[...k].sort((b,x)=>m(b)-m(x));return c==="asc"?g:g.reverse()},[k,c,D,a]),ce=O(r=>{M(m=>{let g=new Set(m);return g.has(r)?g.delete(r):g.add(r),g})},[]),te=G??Math.max(96,N.length*30+44),me=S(()=>N.map(r=>({...r.datum,__change:r.change})),[N]),he=h===void 0?t.length>=2:h!==!1,ne=typeof h=="string"?h:"bottom";return o(be,{title:l,description:w,height:te,width:Y,size:W,loading:e,empty:N.length===0||a.length===0,emptyState:Z,error:j,errorState:q,onRetry:p,actions:n,tableView:z,legendPosition:ne,legend:he?o(ye,{items:xe(v),position:ne,marker:"dot",size:W,onToggle:B?ce:void 0}):void 0,table:z?o(pe,{data:me,series:[...v,...H?[{key:"__change",label:I??u.chartChange}]:[]],xKey:s.key,xLabel:s.label??s.key,formatX:L,formatValue:A,caption:typeof l=="string"?l:void 0}):void 0,className:F,...ee,children:({width:r})=>o(ze,{width:r,height:te,data:N.map(m=>m.datum),rows:N,resolvedSeries:v,x:s,y:f,grid:_,size:W,showValues:P,dotSize:K,referenceLines:$,margin:C,tooltip:E,plotLabel:d,formatValue:A,formatX:L,onRowClick:U})})}export{Qe as DumbbellChart,Je as resetDumbbellWarnings};
@@ -0,0 +1 @@
1
+ "use strict";var t=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var p=(l,b)=>{for(var r in b)t(l,r,{get:b[r],enumerable:!0})},h=(l,b,r,o)=>{if(b&&typeof b=="object"||typeof b=="function")for(let e of D(b))!a.call(l,e)&&e!==r&&t(l,e,{get:()=>b[e],enumerable:!(o=u(b,e))||o.enumerable});return l};var s=l=>h(t({},"__esModule",{value:!0}),l);var C={};p(C,{DumbbellChart:()=>m.DumbbellChart,resetDumbbellWarnings:()=>m.resetDumbbellWarnings});module.exports=s(C);var m=require("./DumbbellChart.cjs");0&&(module.exports={DumbbellChart,resetDumbbellWarnings});
@@ -0,0 +1 @@
1
+ import{DumbbellChart as e,resetDumbbellWarnings as r}from"./DumbbellChart.js";export{e as DumbbellChart,r as resetDumbbellWarnings};
@@ -0,0 +1 @@
1
+ "use strict";"use client";var R=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var de=Object.getOwnPropertyNames;var pe=Object.prototype.hasOwnProperty;var ge=(l,i)=>{for(var c in i)R(l,c,{get:i[c],enumerable:!0})},xe=(l,i,c,u)=>{if(i&&typeof i=="object"||typeof i=="function")for(let x of de(i))!pe.call(l,x)&&x!==c&&R(l,x,{get:()=>i[x],enumerable:!(u=fe(i,x))||u.enumerable});return l};var he=l=>xe(R({},"__esModule",{value:!0}),l);var Ne={};ge(Ne,{FileSelector:()=>we});module.exports=he(Ne);var a=require("react"),p=require("../../lib/cn.cjs"),t=require("react/jsx-runtime"),be={sm:{dropzone:"py-4 px-3",text:"text-xs",subtext:"text-[10px]",icon:"w-6 h-6",button:"px-2.5 py-1.5 text-xs",fileItem:"py-1 px-2 text-xs",gap:"gap-1"},md:{dropzone:"py-6 px-4",text:"text-sm",subtext:"text-xs",icon:"w-8 h-8",button:"px-3 py-2 text-sm",fileItem:"py-1.5 px-3 text-sm",gap:"gap-1.5"},lg:{dropzone:"py-8 px-6",text:"text-base",subtext:"text-sm",icon:"w-10 h-10",button:"px-4 py-2.5 text-base",fileItem:"py-2 px-4 text-base",gap:"gap-2"}},X=l=>{if(l===0)return"0 B";let i=["B","KB","MB","GB"],c=Math.floor(Math.log(l)/Math.log(1024));return`${(l/Math.pow(1024,c)).toFixed(c===0?0:1)} ${i[c]}`},W=l=>l.webkitRelativePath||l.name,me=(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-full h-full",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5"})}),ye=(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-full h-full",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 9.776c.112-.017.227-.026.344-.026h15.812c.117 0 .232.009.344.026m-16.5 0a2.25 2.25 0 00-1.883 2.542l.857 6a2.25 2.25 0 002.227 1.932H19.05a2.25 2.25 0 002.227-1.932l.857-6a2.25 2.25 0 00-1.883-2.542m-16.5 0V6A2.25 2.25 0 016 3.75h3.879a1.5 1.5 0 011.06.44l2.122 2.12a1.5 1.5 0 001.06.44H18A2.25 2.25 0 0120.25 9v.776"})}),ve=0;async function ke(l){let i=[],c=async u=>{if(u.isFile){let x=await new Promise((b,r)=>u.file(b,r));i.push(x)}else if(u.isDirectory){let x=u.createReader(),b=()=>new Promise((D,B)=>x.readEntries(D,B)),r=await b();for(;r.length>0;){for(let D of r)await c(D);r=await b()}}};for(let u of l)await c(u);return i}function we({value:l,onChange:i,accept:c,multiple:u=!1,maxSize:x=10*1024*1024,maxFiles:b,mode:r="file",variant:D="dropzone",size:B="md",disabled:o=!1,readOnly:s=!1,label:H,helperText:M,error:v,showFileList:T=!0,placeholder:j,browseLabel:I,browseFolderLabel:U,icon:Y,onReject:V,className:Z}){let[O,z]=(0,a.useState)([]),[G,A]=(0,a.useState)(!1),y=(0,a.useRef)(null),L=(0,a.useRef)(null),w=(0,a.useId)(),k=l!==void 0,N=k?l.map((e,f)=>({file:e,id:`ctrl-${f}`})):O,g=be[B];(0,a.useEffect)(()=>{r==="directory"&&y.current&&y.current.setAttribute("webkitdirectory",""),r==="both"&&L.current&&L.current.setAttribute("webkitdirectory","")},[r]);let $=(0,a.useMemo)(()=>X(x),[x]),S=(0,a.useMemo)(()=>c?c.split(",").map(e=>e.trim()).map(e=>e.startsWith(".")?e.toUpperCase():e.endsWith("/*")?e.replace("/*","").toUpperCase():e).join(", "):"All files",[c]),K=r==="directory"?"Drag & drop a folder here, or":r==="both"?"Drag & drop files or folders here, or":u?"Drag & drop files here, or":"Drag & drop a file here, or",ee=r==="directory"?"Browse folder":"Browse",te="Browse folder",_=(0,a.useCallback)(e=>{if(e.size>x)return`File exceeds maximum size of ${$}`;if(c){let f=c.split(",").map(n=>n.trim()),d=`.${e.name.split(".").pop()?.toLowerCase()}`;if(!f.some(n=>n.startsWith(".")?d===n.toLowerCase():n.endsWith("/*")?e.type.startsWith(n.replace("/*","/")):e.type===n))return`File type not accepted. Expected: ${S}`}return null},[c,S,x,$]),C=(0,a.useCallback)(e=>{if(o||s)return;let f=Array.from(e),d=[];for(let h of f){let n=_(h);n?V?.(h,n):d.push(h)}if(d.length!==0)if(k)if(u){let n=[...l??[],...d],m=b?n.slice(0,b):n;i?.(m)}else i?.([d[0]]);else z(h=>{let n=d.map(m=>({file:m,id:`file-${++ve}`}));if(u){let m=[...h,...n],Q=b?m.slice(0,b):m,ce=Q.map(ue=>ue.file);return i?.(ce),Q}return i?.([d[0]]),[n[0]]})},[o,s,k,u,b,l,i,V,_]),re=(0,a.useCallback)(e=>{if(!(o||s)){if(k){let f=(l??[]).filter((d,h)=>h!==e);i?.(f)}else z(f=>{let d=f.filter((h,n)=>n!==e);return i?.(d.map(h=>h.file)),d});y.current&&(y.current.value="")}},[o,s,k,l,i]),oe=(0,a.useCallback)(()=>{o||s||(k?i?.([]):(z([]),i?.([])),y.current&&(y.current.value=""))},[o,s,k,i]),q=(0,a.useCallback)(e=>{e.target.files&&e.target.files.length>0&&C(e.target.files)},[C]),se=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),!o&&!s&&A(!0)},[o,s]),ne=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),A(!1)},[]),ie=(0,a.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),A(!1),o||s)return;let f=e.dataTransfer.items;if(f&&f.length>0&&(r==="directory"||r==="both")){let d=[];for(let n=0;n<f.length;n++){let m=f[n].webkitGetAsEntry?.();m&&d.push(m)}if(d.some(n=>n.isDirectory)){ke(d).then(n=>{n.length>0&&C(n)});return}}e.dataTransfer.files&&e.dataTransfer.files.length>0&&C(e.dataTransfer.files)},[o,s,r,C]),E=(0,a.useCallback)(()=>{!o&&!s&&y.current?.click()},[o,s]),J=(0,a.useCallback)(()=>{!o&&!s&&L.current?.click()},[o,s]),F=N.length>0,ae=Y||(r==="directory"?ye:me),le=T&&F&&(0,t.jsxs)("div",{className:(0,p.cn)("flex flex-col",g.gap),children:[N.map((e,f)=>(0,t.jsxs)("div",{className:(0,p.cn)("flex items-center justify-between rounded-md border border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800/50",g.fileItem),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-4 h-4 shrink-0 text-gray-400 dark:text-gray-500",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"})}),(0,t.jsx)("span",{className:"truncate text-gray-700 dark:text-gray-300",children:W(e.file)}),(0,t.jsxs)("span",{className:"shrink-0 text-gray-400 dark:text-gray-500",children:["(",X(e.file.size),")"]})]}),!o&&!s&&(0,t.jsx)("button",{type:"button",onClick:()=>re(f),className:"shrink-0 ml-2 text-gray-400 hover:text-red-500 dark:text-gray-500 dark:hover:text-red-400 transition-colors cursor-pointer","aria-label":`Remove ${W(e.file)}`,children:(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-4 h-4",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]},e.id)),u&&N.length>1&&!o&&!s&&(0,t.jsx)("button",{type:"button",onClick:oe,className:(0,p.cn)("self-start text-gray-400 hover:text-red-500 dark:text-gray-500 dark:hover:text-red-400 transition-colors cursor-pointer",g.subtext),children:"Remove all"})]}),P=(0,p.cn)("rounded-md border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 font-medium transition-colors","hover:bg-gray-50 dark:hover:bg-gray-700","disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1",g.button,v&&"border-red-300 dark:border-red-600");return(0,t.jsxs)("div",{className:(0,p.cn)("flex flex-col",g.gap,Z),children:[H&&(0,t.jsx)("label",{htmlFor:w,className:(0,p.cn)("block font-medium text-gray-700 dark:text-gray-300",g.text),children:H}),(0,t.jsx)("input",{ref:y,id:w,type:"file",accept:r!=="directory"?c:void 0,multiple:u,onChange:q,className:"sr-only",disabled:o||s,"aria-describedby":v?`${w}-error`:M?`${w}-helper`:void 0,"aria-invalid":!!v}),r==="both"&&(0,t.jsx)("input",{ref:L,type:"file",onChange:q,className:"sr-only",disabled:o||s,tabIndex:-1,"aria-hidden":"true"}),D==="dropzone"?(0,t.jsxs)("div",{role:r==="both"?"group":"button",tabIndex:r==="both"?void 0:o||s?-1:0,onClick:r==="both"?void 0:E,onKeyDown:r==="both"?void 0:e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),E())},onDragOver:se,onDragLeave:ne,onDrop:ie,className:(0,p.cn)("flex flex-col items-center justify-center rounded-lg border-2 border-dashed transition-colors",g.dropzone,G&&!o&&!s?"border-blue-500 bg-blue-50 dark:bg-blue-900/20":"border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800",!o&&!s&&"hover:border-blue-400 dark:hover:border-blue-500 hover:bg-gray-50 dark:hover:bg-gray-800/70",r!=="both"&&!o&&!s&&"cursor-pointer",o&&"opacity-50 cursor-not-allowed",s&&"cursor-default",v&&"border-red-300 dark:border-red-600"),"aria-label":r==="both"?"File and folder drop zone":j||K,children:[(0,t.jsx)("div",{className:(0,p.cn)("text-gray-400 dark:text-gray-500 mb-2",g.icon,G&&"text-blue-500 dark:text-blue-400"),children:ae}),(0,t.jsxs)("p",{className:(0,p.cn)("text-gray-600 dark:text-gray-400",g.text),children:[j||K," ",!o&&!s&&r!=="both"&&(0,t.jsx)("span",{className:"text-blue-600 dark:text-blue-400 font-medium",children:I||ee})]}),r==="both"&&!o&&!s&&(0,t.jsxs)("div",{className:(0,p.cn)("flex items-center gap-3 mt-1",g.text),children:[(0,t.jsx)("button",{type:"button",onClick:E,className:"text-blue-600 dark:text-blue-400 font-medium hover:underline cursor-pointer focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 rounded",children:I||"Browse files"}),(0,t.jsx)("span",{className:"text-gray-300 dark:text-gray-600",children:"\xB7"}),(0,t.jsx)("button",{type:"button",onClick:J,className:"text-blue-600 dark:text-blue-400 font-medium hover:underline cursor-pointer focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 rounded",children:U||te})]}),(0,t.jsxs)("p",{className:(0,p.cn)("text-gray-400 dark:text-gray-500 mt-1",g.subtext),children:[S," - Max ",$,u&&b&&` - Up to ${b} files`]})]}):(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[r==="both"?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{type:"button",onClick:E,disabled:o||s,className:P,children:I||(F?"Change files":"Choose files")}),(0,t.jsx)("button",{type:"button",onClick:J,disabled:o||s,className:P,children:U||"Choose folder"})]}):(0,t.jsx)("button",{type:"button",onClick:E,disabled:o||s,className:P,children:I||(r==="directory"?F?"Change folder":"Choose folder":F?"Change file":"Choose file")}),!F&&(0,t.jsx)("span",{className:(0,p.cn)("text-gray-400 dark:text-gray-500",g.text),children:r==="directory"?"No folder selected":r==="both"?"No file or folder selected":"No file selected"}),F&&!T&&(0,t.jsx)("span",{className:(0,p.cn)("text-gray-600 dark:text-gray-400 truncate",g.text),children:N.length===1?W(N[0].file):`${N.length} files selected`})]}),le,v&&(0,t.jsx)("p",{id:`${w}-error`,className:(0,p.cn)("text-red-600 dark:text-red-400",g.subtext),role:"alert",children:v}),M&&!v&&(0,t.jsx)("p",{id:`${w}-helper`,className:(0,p.cn)("text-gray-400 dark:text-gray-500",g.subtext),children:M})]})}0&&(module.exports={FileSelector});
@@ -0,0 +1 @@
1
+ "use client";import{useState as X,useRef as Y,useCallback as b,useEffect as ge,useMemo as Z,useId as xe}from"react";import{cn as d}from"../../lib/cn.js";import{Fragment as ke,jsx as n,jsxs as h}from"react/jsx-runtime";var he={sm:{dropzone:"py-4 px-3",text:"text-xs",subtext:"text-[10px]",icon:"w-6 h-6",button:"px-2.5 py-1.5 text-xs",fileItem:"py-1 px-2 text-xs",gap:"gap-1"},md:{dropzone:"py-6 px-4",text:"text-sm",subtext:"text-xs",icon:"w-8 h-8",button:"px-3 py-2 text-sm",fileItem:"py-1.5 px-3 text-sm",gap:"gap-1.5"},lg:{dropzone:"py-8 px-6",text:"text-base",subtext:"text-sm",icon:"w-10 h-10",button:"px-4 py-2.5 text-base",fileItem:"py-2 px-4 text-base",gap:"gap-2"}},O=c=>{if(c===0)return"0 B";let i=["B","KB","MB","GB"],p=Math.floor(Math.log(c)/Math.log(1024));return`${(c/Math.pow(1024,p)).toFixed(p===0?0:1)} ${i[p]}`},W=c=>c.webkitRelativePath||c.name,be=n("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-full h-full",children:n("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5"})}),me=n("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-full h-full",children:n("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 9.776c.112-.017.227-.026.344-.026h15.812c.117 0 .232.009.344.026m-16.5 0a2.25 2.25 0 00-1.883 2.542l.857 6a2.25 2.25 0 002.227 1.932H19.05a2.25 2.25 0 002.227-1.932l.857-6a2.25 2.25 0 00-1.883-2.542m-16.5 0V6A2.25 2.25 0 016 3.75h3.879a1.5 1.5 0 011.06.44l2.122 2.12a1.5 1.5 0 001.06.44H18A2.25 2.25 0 0120.25 9v.776"})}),ye=0;async function ve(c){let i=[],p=async u=>{if(u.isFile){let y=await new Promise((x,t)=>u.file(x,t));i.push(y)}else if(u.isDirectory){let y=u.createReader(),x=()=>new Promise((C,M)=>y.readEntries(C,M)),t=await x();for(;t.length>0;){for(let C of t)await p(C);t=await x()}}};for(let u of c)await p(u);return i}function Fe({value:c,onChange:i,accept:p,multiple:u=!1,maxSize:y=10*1024*1024,maxFiles:x,mode:t="file",variant:C="dropzone",size:M="md",disabled:r=!1,readOnly:o=!1,label:H,helperText:z,error:k,showFileList:T=!0,placeholder:j,browseLabel:L,browseFolderLabel:U,icon:ee,onReject:V,className:te}){let[re,A]=X([]),[G,$]=X(!1),v=Y(null),B=Y(null),N=xe(),w=c!==void 0,F=w?c.map((e,a)=>({file:e,id:`ctrl-${a}`})):re,f=he[M];ge(()=>{t==="directory"&&v.current&&v.current.setAttribute("webkitdirectory",""),t==="both"&&B.current&&B.current.setAttribute("webkitdirectory","")},[t]);let S=Z(()=>O(y),[y]),P=Z(()=>p?p.split(",").map(e=>e.trim()).map(e=>e.startsWith(".")?e.toUpperCase():e.endsWith("/*")?e.replace("/*","").toUpperCase():e).join(", "):"All files",[p]),K=t==="directory"?"Drag & drop a folder here, or":t==="both"?"Drag & drop files or folders here, or":u?"Drag & drop files here, or":"Drag & drop a file here, or",oe=t==="directory"?"Browse folder":"Browse",se="Browse folder",_=b(e=>{if(e.size>y)return`File exceeds maximum size of ${S}`;if(p){let a=p.split(",").map(s=>s.trim()),l=`.${e.name.split(".").pop()?.toLowerCase()}`;if(!a.some(s=>s.startsWith(".")?l===s.toLowerCase():s.endsWith("/*")?e.type.startsWith(s.replace("/*","/")):e.type===s))return`File type not accepted. Expected: ${P}`}return null},[p,P,y,S]),E=b(e=>{if(r||o)return;let a=Array.from(e),l=[];for(let g of a){let s=_(g);s?V?.(g,s):l.push(g)}if(l.length!==0)if(w)if(u){let s=[...c??[],...l],m=x?s.slice(0,x):s;i?.(m)}else i?.([l[0]]);else A(g=>{let s=l.map(m=>({file:m,id:`file-${++ye}`}));if(u){let m=[...g,...s],Q=x?m.slice(0,x):m,de=Q.map(pe=>pe.file);return i?.(de),Q}return i?.([l[0]]),[s[0]]})},[r,o,w,u,x,c,i,V,_]),ne=b(e=>{if(!(r||o)){if(w){let a=(c??[]).filter((l,g)=>g!==e);i?.(a)}else A(a=>{let l=a.filter((g,s)=>s!==e);return i?.(l.map(g=>g.file)),l});v.current&&(v.current.value="")}},[r,o,w,c,i]),ie=b(()=>{r||o||(w?i?.([]):(A([]),i?.([])),v.current&&(v.current.value=""))},[r,o,w,i]),q=b(e=>{e.target.files&&e.target.files.length>0&&E(e.target.files)},[E]),ae=b(e=>{e.preventDefault(),e.stopPropagation(),!r&&!o&&$(!0)},[r,o]),le=b(e=>{e.preventDefault(),e.stopPropagation(),$(!1)},[]),ce=b(e=>{if(e.preventDefault(),e.stopPropagation(),$(!1),r||o)return;let a=e.dataTransfer.items;if(a&&a.length>0&&(t==="directory"||t==="both")){let l=[];for(let s=0;s<a.length;s++){let m=a[s].webkitGetAsEntry?.();m&&l.push(m)}if(l.some(s=>s.isDirectory)){ve(l).then(s=>{s.length>0&&E(s)});return}}e.dataTransfer.files&&e.dataTransfer.files.length>0&&E(e.dataTransfer.files)},[r,o,t,E]),I=b(()=>{!r&&!o&&v.current?.click()},[r,o]),J=b(()=>{!r&&!o&&B.current?.click()},[r,o]),D=F.length>0,ue=ee||(t==="directory"?me:be),fe=T&&D&&h("div",{className:d("flex flex-col",f.gap),children:[F.map((e,a)=>h("div",{className:d("flex items-center justify-between rounded-md border border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800/50",f.fileItem),children:[h("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[n("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-4 h-4 shrink-0 text-gray-400 dark:text-gray-500",children:n("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"})}),n("span",{className:"truncate text-gray-700 dark:text-gray-300",children:W(e.file)}),h("span",{className:"shrink-0 text-gray-400 dark:text-gray-500",children:["(",O(e.file.size),")"]})]}),!r&&!o&&n("button",{type:"button",onClick:()=>ne(a),className:"shrink-0 ml-2 text-gray-400 hover:text-red-500 dark:text-gray-500 dark:hover:text-red-400 transition-colors cursor-pointer","aria-label":`Remove ${W(e.file)}`,children:n("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"w-4 h-4",children:n("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]},e.id)),u&&F.length>1&&!r&&!o&&n("button",{type:"button",onClick:ie,className:d("self-start text-gray-400 hover:text-red-500 dark:text-gray-500 dark:hover:text-red-400 transition-colors cursor-pointer",f.subtext),children:"Remove all"})]}),R=d("rounded-md border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 font-medium transition-colors","hover:bg-gray-50 dark:hover:bg-gray-700","disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1",f.button,k&&"border-red-300 dark:border-red-600");return h("div",{className:d("flex flex-col",f.gap,te),children:[H&&n("label",{htmlFor:N,className:d("block font-medium text-gray-700 dark:text-gray-300",f.text),children:H}),n("input",{ref:v,id:N,type:"file",accept:t!=="directory"?p:void 0,multiple:u,onChange:q,className:"sr-only",disabled:r||o,"aria-describedby":k?`${N}-error`:z?`${N}-helper`:void 0,"aria-invalid":!!k}),t==="both"&&n("input",{ref:B,type:"file",onChange:q,className:"sr-only",disabled:r||o,tabIndex:-1,"aria-hidden":"true"}),C==="dropzone"?h("div",{role:t==="both"?"group":"button",tabIndex:t==="both"?void 0:r||o?-1:0,onClick:t==="both"?void 0:I,onKeyDown:t==="both"?void 0:e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),I())},onDragOver:ae,onDragLeave:le,onDrop:ce,className:d("flex flex-col items-center justify-center rounded-lg border-2 border-dashed transition-colors",f.dropzone,G&&!r&&!o?"border-blue-500 bg-blue-50 dark:bg-blue-900/20":"border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800",!r&&!o&&"hover:border-blue-400 dark:hover:border-blue-500 hover:bg-gray-50 dark:hover:bg-gray-800/70",t!=="both"&&!r&&!o&&"cursor-pointer",r&&"opacity-50 cursor-not-allowed",o&&"cursor-default",k&&"border-red-300 dark:border-red-600"),"aria-label":t==="both"?"File and folder drop zone":j||K,children:[n("div",{className:d("text-gray-400 dark:text-gray-500 mb-2",f.icon,G&&"text-blue-500 dark:text-blue-400"),children:ue}),h("p",{className:d("text-gray-600 dark:text-gray-400",f.text),children:[j||K," ",!r&&!o&&t!=="both"&&n("span",{className:"text-blue-600 dark:text-blue-400 font-medium",children:L||oe})]}),t==="both"&&!r&&!o&&h("div",{className:d("flex items-center gap-3 mt-1",f.text),children:[n("button",{type:"button",onClick:I,className:"text-blue-600 dark:text-blue-400 font-medium hover:underline cursor-pointer focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 rounded",children:L||"Browse files"}),n("span",{className:"text-gray-300 dark:text-gray-600",children:"\xB7"}),n("button",{type:"button",onClick:J,className:"text-blue-600 dark:text-blue-400 font-medium hover:underline cursor-pointer focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 rounded",children:U||se})]}),h("p",{className:d("text-gray-400 dark:text-gray-500 mt-1",f.subtext),children:[P," - Max ",S,u&&x&&` - Up to ${x} files`]})]}):h("div",{className:"flex items-center gap-2",children:[t==="both"?h(ke,{children:[n("button",{type:"button",onClick:I,disabled:r||o,className:R,children:L||(D?"Change files":"Choose files")}),n("button",{type:"button",onClick:J,disabled:r||o,className:R,children:U||"Choose folder"})]}):n("button",{type:"button",onClick:I,disabled:r||o,className:R,children:L||(t==="directory"?D?"Change folder":"Choose folder":D?"Change file":"Choose file")}),!D&&n("span",{className:d("text-gray-400 dark:text-gray-500",f.text),children:t==="directory"?"No folder selected":t==="both"?"No file or folder selected":"No file selected"}),D&&!T&&n("span",{className:d("text-gray-600 dark:text-gray-400 truncate",f.text),children:F.length===1?W(F[0].file):`${F.length} files selected`})]}),fe,k&&n("p",{id:`${N}-error`,className:d("text-red-600 dark:text-red-400",f.subtext),role:"alert",children:k}),z&&!k&&n("p",{id:`${N}-helper`,className:d("text-gray-400 dark:text-gray-500",f.subtext),children:z})]})}export{Fe as FileSelector};
@@ -0,0 +1 @@
1
+ "use strict";var t=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var f=(l,e)=>{for(var r in e)t(l,r,{get:e[r],enumerable:!0})},m=(l,e,r,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of F(e))!S.call(l,o)&&o!==r&&t(l,o,{get:()=>e[o],enumerable:!(c=p(e,o))||c.enumerable});return l};var x=l=>m(t({},"__esModule",{value:!0}),l);var d={};f(d,{FileSelector:()=>i.FileSelector});module.exports=x(d);var i=require("./FileSelector.cjs");0&&(module.exports={FileSelector});
@@ -0,0 +1 @@
1
+ import{FileSelector as o}from"./FileSelector.js";export{o as FileSelector};
@@ -0,0 +1 @@
1
+ "use strict";var s=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var m=(r,e)=>{for(var a in e)s(r,a,{get:e[a],enumerable:!0})},u=(r,e,a,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of y(e))!p.call(r,t)&&t!==a&&s(r,t,{get:()=>e[t],enumerable:!(o=c(e,t))||o.enumerable});return r};var f=r=>u(s({},"__esModule",{value:!0}),r);var x={};m(x,{Footer:()=>i});module.exports=f(x);var d=require("../../lib/cn.cjs"),n=require("react/jsx-runtime");function l(r){switch(r){case"bordered":return"border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900 text-gray-700 dark:text-gray-300";case"minimal":return"bg-transparent text-gray-600 dark:text-gray-400";case"dark":return"bg-gray-900 text-gray-300";default:return"bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300"}}function b(r){switch(r){case"sm":return"py-6";case"lg":return"py-16";default:return"py-10"}}function i({variant:r="default",size:e="md",sticky:a=!1,className:o,children:t,...g}){return(0,n.jsx)("footer",{className:(0,d.cn)(l(r),b(e),a&&"sticky bottom-0 z-40",o),...g,children:(0,n.jsx)("div",{className:"container mx-auto px-4",children:t})})}i.displayName="Footer";0&&(module.exports={Footer});
@@ -0,0 +1 @@
1
+ import{cn as d}from"../../lib/cn.js";import{jsx as e}from"react/jsx-runtime";function i(r){switch(r){case"bordered":return"border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900 text-gray-700 dark:text-gray-300";case"minimal":return"bg-transparent text-gray-600 dark:text-gray-400";case"dark":return"bg-gray-900 text-gray-300";default:return"bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300"}}function g(r){switch(r){case"sm":return"py-6";case"lg":return"py-16";default:return"py-10"}}function c({variant:r="default",size:t="md",sticky:a=!1,className:o,children:s,...n}){return e("footer",{className:d(i(r),g(t),a&&"sticky bottom-0 z-40",o),...n,children:e("div",{className:"container mx-auto px-4",children:s})})}c.displayName="Footer";export{c as Footer};
@@ -0,0 +1 @@
1
+ "use strict";var p=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var f=(o,t)=>{for(var e in t)p(o,e,{get:t[e],enumerable:!0})},l=(o,t,e,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of n(t))!c.call(o,r)&&r!==e&&p(o,r,{get:()=>t[r],enumerable:!(a=i(t,r))||a.enumerable});return o};var x=o=>l(p({},"__esModule",{value:!0}),o);var y={};f(y,{FooterBottom:()=>d});module.exports=x(y);var s=require("../../lib/cn.cjs"),m=require("react/jsx-runtime");function d({copyright:o,className:t,children:e,...a}){return(0,m.jsxs)("div",{className:(0,s.cn)("mt-8 border-t border-gray-200 dark:border-gray-700 pt-6 flex flex-col sm:flex-row items-center justify-between gap-4",t),...a,children:[o&&(0,m.jsx)("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:o}),e]})}d.displayName="FooterBottom";0&&(module.exports={FooterBottom});
@@ -0,0 +1 @@
1
+ import{cn as a}from"../../lib/cn.js";import{jsx as p,jsxs as s}from"react/jsx-runtime";function m({copyright:t,className:o,children:e,...r}){return s("div",{className:a("mt-8 border-t border-gray-200 dark:border-gray-700 pt-6 flex flex-col sm:flex-row items-center justify-between gap-4",o),...r,children:[t&&p("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:t}),e]})}m.displayName="FooterBottom";export{m as FooterBottom};
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var d=(o,e)=>{for(var r in e)a(o,r,{get:e[r],enumerable:!0})},f=(o,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of l(e))!c.call(o,t)&&t!==r&&a(o,t,{get:()=>e[t],enumerable:!(n=p(e,t))||n.enumerable});return o};var u=o=>f(a({},"__esModule",{value:!0}),o);var x={};d(x,{FooterColumn:()=>m});module.exports=u(x);var s=require("../../lib/cn.cjs"),i=require("react/jsx-runtime");function m({title:o,titleClassName:e,className:r,children:n,...t}){return(0,i.jsxs)("div",{className:(0,s.cn)("flex flex-col gap-3",r),...t,children:[o&&(0,i.jsx)("h4",{className:(0,s.cn)("text-sm font-semibold uppercase tracking-wider text-gray-900 dark:text-white",e),children:o}),n]})}m.displayName="FooterColumn";0&&(module.exports={FooterColumn});
@@ -0,0 +1 @@
1
+ import{cn as o}from"../../lib/cn.js";import{jsx as s,jsxs as m}from"react/jsx-runtime";function a({title:e,titleClassName:t,className:r,children:n,...i}){return m("div",{className:o("flex flex-col gap-3",r),...i,children:[e&&s("h4",{className:o("text-sm font-semibold uppercase tracking-wider text-gray-900 dark:text-white",t),children:e}),n]})}a.displayName="FooterColumn";export{a as FooterColumn};
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var k=(o,e)=>{for(var t in e)a(o,t,{get:e[t],enumerable:!0})},l=(o,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of d(e))!m.call(o,r)&&r!==t&&a(o,r,{get:()=>e[r],enumerable:!(n=f(e,r))||n.enumerable});return o};var x=o=>l(a({},"__esModule",{value:!0}),o);var c={};k(c,{FooterLink:()=>p});module.exports=x(c);var i=require("../../lib/cn.cjs"),s=require("react/jsx-runtime");function p({external:o=!1,className:e,children:t,...n}){return(0,s.jsx)("a",{className:(0,i.cn)("text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white transition-colors",e),target:o?"_blank":void 0,rel:o?"noopener noreferrer":void 0,...n,children:t})}p.displayName="FooterLink";0&&(module.exports={FooterLink});
@@ -0,0 +1 @@
1
+ import{cn as n}from"../../lib/cn.js";import{jsx as i}from"react/jsx-runtime";function a({external:e=!1,className:o,children:t,...r}){return i("a",{className:n("text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white transition-colors",o),target:e?"_blank":void 0,rel:e?"noopener noreferrer":void 0,...r,children:t})}a.displayName="FooterLink";export{a as FooterLink};
@@ -0,0 +1 @@
1
+ "use strict";var c=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var p=(r,e)=>{for(var o in e)c(r,o,{get:e[o],enumerable:!0})},u=(r,e,o,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of a(e))!m.call(r,t)&&t!==o&&c(r,t,{get:()=>e[t],enumerable:!(s=g(e,t))||s.enumerable});return r};var f=r=>u(c({},"__esModule",{value:!0}),r);var N={};p(N,{FooterSection:()=>n});module.exports=f(N);var l=require("../../lib/cn.cjs"),i=require("react/jsx-runtime");function h(r){switch(r){case 1:return"grid-cols-1";case 2:return"grid-cols-1 sm:grid-cols-2";case 3:return"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3";case 4:return"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4";case 5:return"grid-cols-1 sm:grid-cols-2 lg:grid-cols-5";case 6:return"grid-cols-2 sm:grid-cols-3 lg:grid-cols-6";default:return""}}function n({title:r,titleClassName:e,columns:o,className:s,children:t,...d}){return(0,i.jsxs)("div",{className:(0,l.cn)(o&&"grid gap-8",h(o),s),...d,children:[r&&(0,i.jsx)("h3",{className:(0,l.cn)("text-sm font-semibold uppercase tracking-wider text-gray-900 dark:text-white",o&&"col-span-full",e),children:r}),t]})}n.displayName="FooterSection";0&&(module.exports={FooterSection});
@@ -0,0 +1 @@
1
+ import{cn as o}from"../../lib/cn.js";import{jsx as d,jsxs as g}from"react/jsx-runtime";function l(r){switch(r){case 1:return"grid-cols-1";case 2:return"grid-cols-1 sm:grid-cols-2";case 3:return"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3";case 4:return"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4";case 5:return"grid-cols-1 sm:grid-cols-2 lg:grid-cols-5";case 6:return"grid-cols-2 sm:grid-cols-3 lg:grid-cols-6";default:return""}}function n({title:r,titleClassName:t,columns:e,className:s,children:i,...c}){return g("div",{className:o(e&&"grid gap-8",l(e),s),...c,children:[r&&d("h3",{className:o("text-sm font-semibold uppercase tracking-wider text-gray-900 dark:text-white",e&&"col-span-full",t),children:r}),i]})}n.displayName="FooterSection";export{n as FooterSection};
@@ -0,0 +1 @@
1
+ "use strict";var i=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var m=(e,o)=>{for(var t in o)i(e,t,{get:o[t],enumerable:!0})},x=(e,o,t,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of d(o))!f.call(e,r)&&r!==t&&i(e,r,{get:()=>o[r],enumerable:!(a=s(o,r))||a.enumerable});return e};var F=e=>x(i({},"__esModule",{value:!0}),e);var S={};m(S,{FooterSocial:()=>l,FooterSocialLink:()=>p});module.exports=F(S);var n=require("../../lib/cn.cjs"),c=require("react/jsx-runtime");function l({className:e,children:o,...t}){return(0,c.jsx)("div",{className:(0,n.cn)("flex items-center gap-4",e),...t,children:o})}l.displayName="FooterSocial";function p({icon:e,label:o,className:t,...a}){return(0,c.jsx)("a",{className:(0,n.cn)("text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white transition-colors",t),target:"_blank",rel:"noopener noreferrer","aria-label":o,...a,children:e})}p.displayName="FooterSocialLink";0&&(module.exports={FooterSocial,FooterSocialLink});
@@ -0,0 +1 @@
1
+ import{cn as r}from"../../lib/cn.js";import{jsx as a}from"react/jsx-runtime";function n({className:o,children:e,...t}){return a("div",{className:r("flex items-center gap-4",o),...t,children:e})}n.displayName="FooterSocial";function c({icon:o,label:e,className:t,...i}){return a("a",{className:r("text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white transition-colors",t),target:"_blank",rel:"noopener noreferrer","aria-label":e,...i,children:o})}c.displayName="FooterSocialLink";export{n as FooterSocial,c as FooterSocialLink};
@@ -0,0 +1 @@
1
+ "use strict";var F=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var P=(r,o)=>{for(var e in o)F(r,e,{get:o[e],enumerable:!0})},y=(r,o,e,m)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of S(o))!s.call(r,t)&&t!==e&&F(r,t,{get:()=>o[t],enumerable:!(m=l(o,t))||m.enumerable});return r};var a=r=>y(F({},"__esModule",{value:!0}),r);var k={};P(k,{Footer:()=>i.Footer,FooterBottom:()=>c.FooterBottom,FooterColumn:()=>x.FooterColumn,FooterLink:()=>n.FooterLink,FooterSection:()=>f.FooterSection,FooterSocial:()=>p.FooterSocial,FooterSocialLink:()=>p.FooterSocialLink});module.exports=a(k);var i=require("./Footer.cjs"),f=require("./FooterSection.cjs"),x=require("./FooterColumn.cjs"),n=require("./FooterLink.cjs"),c=require("./FooterBottom.cjs"),p=require("./FooterSocial.cjs");0&&(module.exports={Footer,FooterBottom,FooterColumn,FooterLink,FooterSection,FooterSocial,FooterSocialLink});
@@ -0,0 +1 @@
1
+ import{Footer as t}from"./Footer.js";import{FooterSection as p}from"./FooterSection.js";import{FooterColumn as m}from"./FooterColumn.js";import{FooterLink as f}from"./FooterLink.js";import{FooterBottom as n}from"./FooterBottom.js";import{FooterSocial as l,FooterSocialLink as S}from"./FooterSocial.js";export{t as Footer,n as FooterBottom,m as FooterColumn,f as FooterLink,p as FooterSection,l as FooterSocial,S as FooterSocialLink};
@@ -0,0 +1 @@
1
+ "use strict";var e=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var s=(n,t)=>{for(var p in t)e(n,p,{get:t[p],enumerable:!0})},y=(n,t,p,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of x(t))!I.call(n,o)&&o!==p&&e(n,o,{get:()=>t[o],enumerable:!(r=f(t,o))||r.enumerable});return n};var M=n=>y(e({},"__esModule",{value:!0}),n);var a={};s(a,{Input:()=>u.Input,MentionInput:()=>m.MentionInput,NumberInput:()=>i.NumberInput});module.exports=M(a);var u=require("./input/index.cjs"),m=require("./mention-input/index.cjs"),i=require("./number-input/index.cjs");0&&(module.exports={Input,MentionInput,NumberInput});
@@ -0,0 +1 @@
1
+ import{Input as o}from"./input/index.js";import{MentionInput as e}from"./mention-input/index.js";import{NumberInput as u}from"./number-input/index.js";export{o as Input,e as MentionInput,u as NumberInput};
@@ -0,0 +1 @@
1
+ "use strict";"use client";var T=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var z=Object.prototype.hasOwnProperty;var j=(t,e)=>{for(var a in e)T(t,a,{get:e[a],enumerable:!0})},B=(t,e,a,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of w(e))!z.call(t,n)&&n!==a&&T(t,n,{get:()=>e[n],enumerable:!(p=v(e,n))||p.enumerable});return t};var F=t=>B(T({},"__esModule",{value:!0}),t);var O={};j(O,{Input:()=>g});module.exports=F(O);var s=require("react"),C=require("../../../lib/cn.cjs"),i=require("../shared/inputStyles.cjs"),P=require("../shared/InputWrapper.cjs"),l=require("react/jsx-runtime"),g=(0,s.forwardRef)(({label:t,inline:e=!1,size:a="md",labelColor:p,borderColor:n,textColor:f,disabled:r=!1,readOnly:o=!1,error:b=!1,helperText:W,hideLabel:y=!1,icon:m,iconPosition:R="left",multiline:L=!1,rows:A=3,focused:M=!1,className:S,...d},u)=>{let E=(0,s.useRef)(null),H=I=>{E.current=I,typeof u=="function"?u(I):u&&(u.current=I)};(0,s.useEffect)(()=>{M&&E.current?.focus()},[M]);let c=(0,s.useId)(),x=(0,C.cn)((0,i.getBaseInputClasses)({size:a,error:b,disabled:r,readOnly:o,icon:m,iconPosition:R}),L&&"resize-vertical",S),N={...n&&{borderColor:n},...f&&{color:f}},h=n||f?N:void 0;return(0,l.jsx)(P.InputWrapper,{label:t,hideLabel:y,labelColor:p,error:b,helperText:W,inline:e,htmlFor:c,children:(0,l.jsxs)("div",{className:"relative w-full",children:[m&&(0,l.jsx)("span",{className:(0,i.getIconClasses)(R),children:m}),L?(0,l.jsx)("textarea",{ref:H,id:c,disabled:r,readOnly:o,rows:A,tabIndex:o||r?-1:void 0,className:x,style:h,...d}):(0,l.jsx)("input",{ref:H,id:c,disabled:r,readOnly:o,tabIndex:o||r?-1:void 0,className:x,style:h,...d})]})})});g.displayName="Input";0&&(module.exports={Input});
@@ -0,0 +1 @@
1
+ "use client";import{forwardRef as g,useEffect as W,useId as y,useRef as A}from"react";import{cn as S}from"../../../lib/cn.js";import{getBaseInputClasses as N,getIconClasses as v}from"../shared/inputStyles.js";import{InputWrapper as w}from"../shared/InputWrapper.js";import{jsx as s,jsxs as j}from"react/jsx-runtime";var z=g(({label:L,inline:M=!1,size:d="md",labelColor:E,borderColor:l,textColor:a,disabled:e=!1,readOnly:t=!1,error:u=!1,helperText:H,hideLabel:x=!1,icon:r,iconPosition:i="left",multiline:f=!1,rows:h=3,focused:m=!1,className:C,...c},n)=>{let I=A(null),T=p=>{I.current=p,typeof n=="function"?n(p):n&&(n.current=p)};W(()=>{m&&I.current?.focus()},[m]);let o=y(),b=S(N({size:d,error:u,disabled:e,readOnly:t,icon:r,iconPosition:i}),f&&"resize-vertical",C),P={...l&&{borderColor:l},...a&&{color:a}},R=l||a?P:void 0;return s(w,{label:L,hideLabel:x,labelColor:E,error:u,helperText:H,inline:M,htmlFor:o,children:j("div",{className:"relative w-full",children:[r&&s("span",{className:v(i),children:r}),f?s("textarea",{ref:T,id:o,disabled:e,readOnly:t,rows:h,tabIndex:t||e?-1:void 0,className:b,style:R,...c}):s("input",{ref:T,id:o,disabled:e,readOnly:t,tabIndex:t||e?-1:void 0,className:b,style:R,...c})]})})});z.displayName="Input";export{z as Input};
@@ -0,0 +1 @@
1
+ "use strict";var e=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var x=(t,p)=>{for(var r in p)e(t,r,{get:p[r],enumerable:!0})},s=(t,p,r,n)=>{if(p&&typeof p=="object"||typeof p=="function")for(let o of f(p))!m.call(t,o)&&o!==r&&e(t,o,{get:()=>p[o],enumerable:!(n=I(p,o))||n.enumerable});return t};var y=t=>s(e({},"__esModule",{value:!0}),t);var P={};x(P,{Input:()=>u.Input});module.exports=y(P);var u=require("./Input.cjs");0&&(module.exports={Input});
@@ -0,0 +1 @@
1
+ import{Input as o}from"./Input.js";export{o as Input};
@@ -0,0 +1 @@
1
+ "use strict";"use client";var X=Object.defineProperty;var me=Object.getOwnPropertyDescriptor;var ge=Object.getOwnPropertyNames;var be=Object.prototype.hasOwnProperty;var xe=(l,d)=>{for(var m in d)X(l,m,{get:d[m],enumerable:!0})},he=(l,d,m,M)=>{if(d&&typeof d=="object"||typeof d=="function")for(let f of ge(d))!be.call(l,f)&&f!==m&&X(l,f,{get:()=>d[f],enumerable:!(M=me(d,f))||M.enumerable});return l};var ve=l=>he(X({},"__esModule",{value:!0}),l);var Ne={};xe(Ne,{MentionInput:()=>oe});module.exports=ve(Ne);var o=require("react"),te=require("react-dom/client"),R=require("../../../lib/cn.cjs"),L=require("../shared/inputStyles.cjs"),ne=require("../shared/InputWrapper.cjs"),re=require("../../chip/Chip.cjs"),c=require("react/jsx-runtime"),ye=l=>(0,c.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer",children:[l.avatar&&(0,c.jsx)("img",{src:l.avatar,alt:l.label,className:"w-6 h-6 rounded-full"}),(0,c.jsx)("span",{className:"text-sm text-gray-900 dark:text-white",children:l.label})]}),oe=(0,o.forwardRef)(({label:l,inline:d=!1,size:m="md",labelColor:M,borderColor:f,textColor:k,disabled:g=!1,readOnly:C=!1,error:$=!1,helperText:ae,hideLabel:ie=!1,icon:B,iconPosition:K="left",mentionTrigger:b="@",suggestions:T=[],onMentionSearch:W,onMentionSelect:F,onMentionRemove:Q,renderSuggestion:U,value:p,onChange:x,placeholder:H,loading:se=!1,maxSuggestions:O=10,chipVariant:j="soft",chipColor:G="primary",chipSize:J="sm"},I)=>{let Y=(0,o.useId)(),s=(0,o.useRef)(null),[_,w]=(0,o.useState)(!1),[D,V]=(0,o.useState)(0),[Ce,P]=(0,o.useState)(""),le=(0,R.cn)((0,L.getBaseInputClasses)({size:m,error:$,disabled:g,readOnly:C,icon:B,iconPosition:K}),"min-h-[42px]","whitespace-pre-wrap","break-words"),ce={...f&&{borderColor:f},...k&&{color:k}},de=f||k?ce:void 0,h=(0,o.useCallback)(()=>{if(!s.current)return{text:"",mentions:[]};let e="",n=[],t=0,a=r=>{if(r.nodeType===Node.TEXT_NODE)e+=r.textContent||"",t+=(r.textContent||"").length;else if(r.nodeType===Node.ELEMENT_NODE){let i=r;if(i.hasAttribute("data-mention-id")){let u=i.getAttribute("data-mention-id"),v=i.getAttribute("data-mention-label")||"",A=i.getAttribute("data-mention-avatar")||void 0,y=`@${v}`,S=t;n.push({trigger:b,suggestion:{id:u||"",label:v,avatar:A},startIndex:S,endIndex:S+y.length}),e+=y,t+=y.length}else i.childNodes.forEach(a)}};return s.current.childNodes.forEach(a),{text:e,mentions:n}},[b]),Z=(0,o.useCallback)((e,n)=>{let t=document.createElement("span");return t.contentEditable="false",t.setAttribute("data-mention-id",e.id),t.setAttribute("data-mention-label",e.label),e.avatar&&t.setAttribute("data-mention-avatar",e.avatar),t.className="inline-block align-middle mx-0.5",t.style.userSelect="none",(0,te.createRoot)(t).render((0,c.jsx)(re.Chip,{label:e.label,variant:j,color:G,size:J,closable:!g&&!C,onClose:n,disabled:g,avatar:e.avatar?(0,c.jsx)("img",{src:e.avatar,alt:e.label,className:"w-full h-full object-cover"}):void 0})),t},[j,G,J,g,C]),E=(0,o.useCallback)(e=>{if(!s.current)return;let n=s.current.querySelector(`[data-mention-id="${e}"]`);if(n){n.remove();let t=h();x?.(t);let a=p?.mentions.find(r=>r.suggestion.id===e)?.suggestion;a&&Q?.(a)}},[h,x,Q,p?.mentions]),ue=(0,o.useCallback)(()=>{if(!s.current)return;let e=window.getSelection();if(!e||e.rangeCount===0)return;let n=e.getRangeAt(0),t="";n.startContainer.nodeType===Node.TEXT_NODE&&(t=n.startContainer.textContent?.substring(0,n.startOffset)||"");let a=t.match(new RegExp(`${b}(\\w*)$`));if(a){let i=a[1];P(i),w(!0),V(0),W?.(i)}else w(!1),P("");let r=h();x?.(r)},[b,W,x,h]),q=(0,o.useCallback)(e=>{if(!s.current)return;let n=window.getSelection();if(!n||n.rangeCount===0)return;let t=n.getRangeAt(0);if(t.startContainer.nodeType===Node.TEXT_NODE){let r=t.startContainer,i=r.textContent||"",u=t.startOffset,A=i.substring(0,u).lastIndexOf(b);if(A!==-1){let y=i.substring(0,A),S=i.substring(u),N=Z(e,()=>{E(e.id)});if(y?(r.textContent=y,r.parentNode?.insertBefore(N,r.nextSibling)):(r.parentNode?.insertBefore(N,r),r.textContent="",r.textContent||r.remove()),S){let pe=document.createTextNode(S);N.parentNode?.insertBefore(pe,N.nextSibling)}let ee=document.createTextNode(" ");N.parentNode?.insertBefore(ee,N.nextSibling);let z=document.createRange();z.setStartAfter(ee),z.collapse(!0),n.removeAllRanges(),n.addRange(z)}}w(!1),P("");let a=h();x?.(a),F?.(e),s.current.focus()},[b,Z,E,h,x,F]),fe=(0,o.useCallback)(e=>{let n=T.slice(0,O);if(_&&n.length>0)switch(e.key){case"ArrowDown":e.preventDefault(),V(t=>t<n.length-1?t+1:0);return;case"ArrowUp":e.preventDefault(),V(t=>t>0?t-1:n.length-1);return;case"Enter":case"Tab":e.preventDefault(),n[D]&&q(n[D]);return;case"Escape":e.preventDefault(),w(!1);return}if(e.key==="Backspace"){let t=window.getSelection();if(!t||t.rangeCount===0)return;let a=t.getRangeAt(0);if(a.collapsed&&a.startOffset===0){let r=a.startContainer.previousSibling;if(r&&r.nodeType===Node.ELEMENT_NODE){let i=r;if(i.hasAttribute("data-mention-id")){e.preventDefault();let u=i.getAttribute("data-mention-id");u&&E(u);return}}}if(a.collapsed&&a.startContainer.nodeType===Node.TEXT_NODE){let r=a.startContainer;if(a.startOffset===0){let i=r.previousSibling;if(i&&i.nodeType===Node.ELEMENT_NODE){let u=i;if(u.hasAttribute("data-mention-id")){e.preventDefault();let v=u.getAttribute("data-mention-id");v&&E(v);return}}}}}},[_,T,D,O,q,E]);return(0,o.useEffect)(()=>{s.current&&(!(s.current.textContent||s.current.querySelector("[data-mention-id]"))&&H?s.current.setAttribute("data-placeholder",H):s.current.removeAttribute("data-placeholder"))},[H,p]),(0,o.useEffect)(()=>{s.current&&p?.text===""&&p?.mentions.length===0&&s.current.innerHTML.trim()&&(s.current.innerHTML="")},[p?.text,p?.mentions.length]),(0,c.jsx)(ne.InputWrapper,{label:l,hideLabel:ie,labelColor:M,error:$,helperText:ae,inline:d,htmlFor:Y,children:(0,c.jsxs)("div",{className:"relative w-full",children:[B&&(0,c.jsx)("span",{className:(0,L.getIconClasses)(K),children:B}),(0,c.jsx)("div",{ref:e=>{typeof I=="function"?I(e):I&&(I.current=e),s.current=e},id:Y,contentEditable:!g&&!C,suppressContentEditableWarning:!0,onInput:ue,onKeyDown:fe,className:(0,R.cn)(le,"empty:before:content-[attr(data-placeholder)] empty:before:text-gray-400 empty:before:dark:text-gray-500"),style:de,role:"textbox","aria-label":l,"aria-multiline":"true",tabIndex:C||g?-1:0}),_&&T.length>0&&(0,c.jsx)("div",{className:"absolute z-10 mt-1 w-full max-h-60 overflow-auto rounded-lg border border-gray-300 bg-white dark:bg-gray-700 dark:border-gray-600 shadow-lg",children:se?(0,c.jsx)("div",{className:"px-3 py-2 text-sm text-gray-500 dark:text-gray-400",children:"Loading..."}):T.slice(0,O).map((e,n)=>(0,c.jsx)("div",{onClick:()=>q(e),className:(0,R.cn)(n===D&&"bg-gray-100 dark:bg-gray-600"),children:U?U(e):ye(e)},e.id))})]})})});oe.displayName="MentionInput";0&&(module.exports={MentionInput});
@@ -0,0 +1 @@
1
+ "use client";import{forwardRef as ue,useCallback as h,useEffect as J,useId as fe,useRef as pe,useState as _}from"react";import{createRoot as me}from"react-dom/client";import{cn as V}from"../../../lib/cn.js";import{getBaseInputClasses as ge,getIconClasses as be}from"../shared/inputStyles.js";import{InputWrapper as xe}from"../shared/InputWrapper.js";import{Chip as he}from"../../chip/Chip.js";import{jsx as l,jsxs as Y}from"react/jsx-runtime";var ve=c=>Y("div",{className:"flex items-center gap-2 px-3 py-2 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer",children:[c.avatar&&l("img",{src:c.avatar,alt:c.label,className:"w-6 h-6 rounded-full"}),l("span",{className:"text-sm text-gray-900 dark:text-white",children:c.label})]}),ye=ue(({label:c,inline:Z=!1,size:ee="md",labelColor:te,borderColor:I,textColor:w,disabled:u=!1,readOnly:v=!1,error:P=!1,helperText:ne,hideLabel:re=!1,icon:D,iconPosition:q="left",mentionTrigger:f="@",suggestions:C=[],onMentionSearch:z,onMentionSelect:X,onMentionRemove:$,renderSuggestion:K,value:d,onChange:p,placeholder:A,loading:oe=!1,maxSuggestions:R=10,chipVariant:W="soft",chipColor:F="primary",chipSize:Q="sm"},E)=>{let U=fe(),i=pe(null),[L,S]=_(!1),[M,k]=_(0),[Ne,B]=_(""),ae=V(ge({size:ee,error:P,disabled:u,readOnly:v,icon:D,iconPosition:q}),"min-h-[42px]","whitespace-pre-wrap","break-words"),ie={...I&&{borderColor:I},...w&&{color:w}},se=I||w?ie:void 0,m=h(()=>{if(!i.current)return{text:"",mentions:[]};let e="",n=[],t=0,o=r=>{if(r.nodeType===Node.TEXT_NODE)e+=r.textContent||"",t+=(r.textContent||"").length;else if(r.nodeType===Node.ELEMENT_NODE){let a=r;if(a.hasAttribute("data-mention-id")){let s=a.getAttribute("data-mention-id"),g=a.getAttribute("data-mention-label")||"",T=a.getAttribute("data-mention-avatar")||void 0,b=`@${g}`,N=t;n.push({trigger:f,suggestion:{id:s||"",label:g,avatar:T},startIndex:N,endIndex:N+b.length}),e+=b,t+=b.length}else a.childNodes.forEach(o)}};return i.current.childNodes.forEach(o),{text:e,mentions:n}},[f]),j=h((e,n)=>{let t=document.createElement("span");return t.contentEditable="false",t.setAttribute("data-mention-id",e.id),t.setAttribute("data-mention-label",e.label),e.avatar&&t.setAttribute("data-mention-avatar",e.avatar),t.className="inline-block align-middle mx-0.5",t.style.userSelect="none",me(t).render(l(he,{label:e.label,variant:W,color:F,size:Q,closable:!u&&!v,onClose:n,disabled:u,avatar:e.avatar?l("img",{src:e.avatar,alt:e.label,className:"w-full h-full object-cover"}):void 0})),t},[W,F,Q,u,v]),y=h(e=>{if(!i.current)return;let n=i.current.querySelector(`[data-mention-id="${e}"]`);if(n){n.remove();let t=m();p?.(t);let o=d?.mentions.find(r=>r.suggestion.id===e)?.suggestion;o&&$?.(o)}},[m,p,$,d?.mentions]),le=h(()=>{if(!i.current)return;let e=window.getSelection();if(!e||e.rangeCount===0)return;let n=e.getRangeAt(0),t="";n.startContainer.nodeType===Node.TEXT_NODE&&(t=n.startContainer.textContent?.substring(0,n.startOffset)||"");let o=t.match(new RegExp(`${f}(\\w*)$`));if(o){let a=o[1];B(a),S(!0),k(0),z?.(a)}else S(!1),B("");let r=m();p?.(r)},[f,z,p,m]),H=h(e=>{if(!i.current)return;let n=window.getSelection();if(!n||n.rangeCount===0)return;let t=n.getRangeAt(0);if(t.startContainer.nodeType===Node.TEXT_NODE){let r=t.startContainer,a=r.textContent||"",s=t.startOffset,T=a.substring(0,s).lastIndexOf(f);if(T!==-1){let b=a.substring(0,T),N=a.substring(s),x=j(e,()=>{y(e.id)});if(b?(r.textContent=b,r.parentNode?.insertBefore(x,r.nextSibling)):(r.parentNode?.insertBefore(x,r),r.textContent="",r.textContent||r.remove()),N){let de=document.createTextNode(N);x.parentNode?.insertBefore(de,x.nextSibling)}let G=document.createTextNode(" ");x.parentNode?.insertBefore(G,x.nextSibling);let O=document.createRange();O.setStartAfter(G),O.collapse(!0),n.removeAllRanges(),n.addRange(O)}}S(!1),B("");let o=m();p?.(o),X?.(e),i.current.focus()},[f,j,y,m,p,X]),ce=h(e=>{let n=C.slice(0,R);if(L&&n.length>0)switch(e.key){case"ArrowDown":e.preventDefault(),k(t=>t<n.length-1?t+1:0);return;case"ArrowUp":e.preventDefault(),k(t=>t>0?t-1:n.length-1);return;case"Enter":case"Tab":e.preventDefault(),n[M]&&H(n[M]);return;case"Escape":e.preventDefault(),S(!1);return}if(e.key==="Backspace"){let t=window.getSelection();if(!t||t.rangeCount===0)return;let o=t.getRangeAt(0);if(o.collapsed&&o.startOffset===0){let r=o.startContainer.previousSibling;if(r&&r.nodeType===Node.ELEMENT_NODE){let a=r;if(a.hasAttribute("data-mention-id")){e.preventDefault();let s=a.getAttribute("data-mention-id");s&&y(s);return}}}if(o.collapsed&&o.startContainer.nodeType===Node.TEXT_NODE){let r=o.startContainer;if(o.startOffset===0){let a=r.previousSibling;if(a&&a.nodeType===Node.ELEMENT_NODE){let s=a;if(s.hasAttribute("data-mention-id")){e.preventDefault();let g=s.getAttribute("data-mention-id");g&&y(g);return}}}}}},[L,C,M,R,H,y]);return J(()=>{i.current&&(!(i.current.textContent||i.current.querySelector("[data-mention-id]"))&&A?i.current.setAttribute("data-placeholder",A):i.current.removeAttribute("data-placeholder"))},[A,d]),J(()=>{i.current&&d?.text===""&&d?.mentions.length===0&&i.current.innerHTML.trim()&&(i.current.innerHTML="")},[d?.text,d?.mentions.length]),l(xe,{label:c,hideLabel:re,labelColor:te,error:P,helperText:ne,inline:Z,htmlFor:U,children:Y("div",{className:"relative w-full",children:[D&&l("span",{className:be(q),children:D}),l("div",{ref:e=>{typeof E=="function"?E(e):E&&(E.current=e),i.current=e},id:U,contentEditable:!u&&!v,suppressContentEditableWarning:!0,onInput:le,onKeyDown:ce,className:V(ae,"empty:before:content-[attr(data-placeholder)] empty:before:text-gray-400 empty:before:dark:text-gray-500"),style:se,role:"textbox","aria-label":c,"aria-multiline":"true",tabIndex:v||u?-1:0}),L&&C.length>0&&l("div",{className:"absolute z-10 mt-1 w-full max-h-60 overflow-auto rounded-lg border border-gray-300 bg-white dark:bg-gray-700 dark:border-gray-600 shadow-lg",children:oe?l("div",{className:"px-3 py-2 text-sm text-gray-500 dark:text-gray-400",children:"Loading..."}):C.slice(0,R).map((e,n)=>l("div",{onClick:()=>H(e),className:V(n===M&&"bg-gray-100 dark:bg-gray-600"),children:K?K(e):ve(e)},e.id))})]})})});ye.displayName="MentionInput";export{ye as MentionInput};
@@ -0,0 +1 @@
1
+ "use strict";var e=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var f=(t,n)=>{for(var p in n)e(t,p,{get:n[p],enumerable:!0})},m=(t,n,p,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of I(n))!M.call(t,o)&&o!==p&&e(t,o,{get:()=>n[o],enumerable:!(r=u(n,o))||r.enumerable});return t};var x=t=>m(e({},"__esModule",{value:!0}),t);var s={};f(s,{MentionInput:()=>i.MentionInput});module.exports=x(s);var i=require("./MentionInput.cjs");0&&(module.exports={MentionInput});
@@ -0,0 +1 @@
1
+ import{MentionInput as o}from"./MentionInput.js";export{o as MentionInput};
@@ -0,0 +1 @@
1
+ "use strict";"use client";var N=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var ue=Object.prototype.hasOwnProperty;var ie=(s,t)=>{for(var c in t)N(s,c,{get:t[c],enumerable:!0})},ae=(s,t,c,h)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of le(t))!ue.call(s,l)&&l!==c&&N(s,l,{get:()=>t[l],enumerable:!(h=se(t,l))||h.enumerable});return s};var oe=s=>ae(N({},"__esModule",{value:!0}),s);var ce={};ie(ce,{NumberInput:()=>U});module.exports=oe(ce);var i=require("react"),B=require("../../../lib/cn.cjs"),y=require("../shared/inputStyles.cjs"),O=require("../shared/InputWrapper.cjs"),o=require("react/jsx-runtime"),U=(0,i.forwardRef)(({label:s,inline:t=!1,size:c="md",labelColor:h,borderColor:l,textColor:I,disabled:w=!1,readOnly:$=!1,error:C=!1,helperText:W,hideLabel:x=!1,icon:m,iconPosition:d="left",className:z,value:f,onChange:v,format:g="number",currency:M="USD",locale:u="en-US",decimals:a,min:E,max:F,step:pe=1,prefix:p,suffix:b,thousandSeparator:S=!0,allowNegative:K=!0,onBlur:L,onFocus:T,...G},P)=>{let H=(0,i.useId)(),[V,D]=(0,i.useState)(null),k=(0,i.useMemo)(()=>{let n=g==="currency"?{style:"currency",currency:M,minimumFractionDigits:a??2,maximumFractionDigits:a??2}:g==="percentage"?{minimumFractionDigits:a??0,maximumFractionDigits:a??2}:{minimumFractionDigits:a??0,maximumFractionDigits:a??(g==="decimal"?2:0),useGrouping:S};try{return new Intl.NumberFormat(u,n)}catch{return null}},[g,M,u,a,S]),_=n=>{if(n==null)return"";if(!k)return String(n);let e=k.format(n);return g==="percentage"?(e=p?`${p}${e}`:e,e=b||!e.includes("%")?`${e}%`:e,e):(p&&(e=`${p}${e}`),b&&(e=`${e}${b}`),e)},R=n=>{if(!n||n.trim()==="")return null;let e=n;if(p&&(e=e.replace(p,"")),b&&(e=e.replace(b,"")),e=e.replace(/[^\d.,-]/g,""),u.includes("fr")||u.includes("de")?e=e.replace(/\s/g,"").replace(",","."):e=e.replace(",",""),!e||e==="-"||e===".")return null;let r=parseFloat(e);return isNaN(r)?null:!K&&r<0?Math.abs(r):E!==void 0&&r<E?E:F!==void 0&&r>F?F:r},A=V??_(f??null),q=n=>{let e=u.includes("fr")||u.includes("de")?",":".";return new RegExp(`^-?[0-9${e===","?",":"\\."}]*$`).test(n)},J=n=>{let e=n.target.value;if(e===""||q(e)){D(e);let r=R(e);v&&v(r)}},Q=n=>{let e=u.includes("fr")||u.includes("de")?",":".",r=["Backspace","Delete","Tab","Escape","Enter","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"],ee=/^[0-9]$/.test(n.key),ne=n.key===e,te=n.key==="-"&&K&&A.indexOf("-")===-1,re=n.ctrlKey||n.metaKey;!ee&&!ne&&!te&&!r.includes(n.key)&&!re&&n.preventDefault()},X=n=>{let e=f!=null?String(f):"";D(e),T&&T(n)},Y=n=>{let e=R(V??"");v&&e!==f&&v(e),D(null),L&&L(n)},Z=(0,B.cn)((0,y.getBaseInputClasses)({size:c,error:C,disabled:w,readOnly:$,icon:m,iconPosition:d}),l&&`border-[${l}]`,I&&`text-[${I}]`,z),j=(0,o.jsxs)("div",{className:"relative",children:[m&&d==="left"&&(0,o.jsx)("div",{className:(0,y.getIconClasses)(d),children:m}),(0,o.jsx)("input",{ref:P,id:H,type:"text",inputMode:"decimal",className:Z,style:{borderColor:l,color:I},disabled:w,readOnly:$,value:A,onChange:J,onKeyDown:Q,onFocus:X,onBlur:Y,...G}),m&&d==="right"&&(0,o.jsx)("div",{className:(0,y.getIconClasses)(d),children:m})]});return(0,o.jsx)(O.InputWrapper,{label:s,hideLabel:x,labelColor:h,error:C,helperText:W,inline:t,htmlFor:H,children:j})});U.displayName="NumberInput";0&&(module.exports={NumberInput});
@@ -0,0 +1 @@
1
+ "use client";import{forwardRef as j,useId as ee,useState as ne,useMemo as te}from"react";import{cn as re}from"../../../lib/cn.js";import{getBaseInputClasses as se,getIconClasses as L}from"../shared/inputStyles.js";import{InputWrapper as le}from"../shared/InputWrapper.js";import{jsx as m,jsxs as ie}from"react/jsx-runtime";var ue=j(({label:T,inline:H=!1,size:V="md",labelColor:k,borderColor:d,textColor:f,disabled:h=!1,readOnly:v=!1,error:I=!1,helperText:R,hideLabel:A=!1,icon:u,iconPosition:i="left",className:B,value:a,onChange:p,format:o="number",currency:E="USD",locale:r="en-US",decimals:s,min:g,max:b,step:ae=1,prefix:l,suffix:c,thousandSeparator:F=!0,allowNegative:D=!0,onBlur:N,onFocus:w,...O},U)=>{let $=ee(),[C,y]=ne(null),M=te(()=>{let n=o==="currency"?{style:"currency",currency:E,minimumFractionDigits:s??2,maximumFractionDigits:s??2}:o==="percentage"?{minimumFractionDigits:s??0,maximumFractionDigits:s??2}:{minimumFractionDigits:s??0,maximumFractionDigits:s??(o==="decimal"?2:0),useGrouping:F};try{return new Intl.NumberFormat(r,n)}catch{return null}},[o,E,r,s,F]),W=n=>{if(n==null)return"";if(!M)return String(n);let e=M.format(n);return o==="percentage"?(e=l?`${l}${e}`:e,e=c||!e.includes("%")?`${e}%`:e,e):(l&&(e=`${l}${e}`),c&&(e=`${e}${c}`),e)},S=n=>{if(!n||n.trim()==="")return null;let e=n;if(l&&(e=e.replace(l,"")),c&&(e=e.replace(c,"")),e=e.replace(/[^\d.,-]/g,""),r.includes("fr")||r.includes("de")?e=e.replace(/\s/g,"").replace(",","."):e=e.replace(",",""),!e||e==="-"||e===".")return null;let t=parseFloat(e);return isNaN(t)?null:!D&&t<0?Math.abs(t):g!==void 0&&t<g?g:b!==void 0&&t>b?b:t},K=C??W(a??null),x=n=>{let e=r.includes("fr")||r.includes("de")?",":".";return new RegExp(`^-?[0-9${e===","?",":"\\."}]*$`).test(n)},z=n=>{let e=n.target.value;if(e===""||x(e)){y(e);let t=S(e);p&&p(t)}},G=n=>{let e=r.includes("fr")||r.includes("de")?",":".",t=["Backspace","Delete","Tab","Escape","Enter","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"],Q=/^[0-9]$/.test(n.key),X=n.key===e,Y=n.key==="-"&&D&&K.indexOf("-")===-1,Z=n.ctrlKey||n.metaKey;!Q&&!X&&!Y&&!t.includes(n.key)&&!Z&&n.preventDefault()},P=n=>{let e=a!=null?String(a):"";y(e),w&&w(n)},_=n=>{let e=S(C??"");p&&e!==a&&p(e),y(null),N&&N(n)},q=re(se({size:V,error:I,disabled:h,readOnly:v,icon:u,iconPosition:i}),d&&`border-[${d}]`,f&&`text-[${f}]`,B),J=ie("div",{className:"relative",children:[u&&i==="left"&&m("div",{className:L(i),children:u}),m("input",{ref:U,id:$,type:"text",inputMode:"decimal",className:q,style:{borderColor:d,color:f},disabled:h,readOnly:v,value:K,onChange:z,onKeyDown:G,onFocus:P,onBlur:_,...O}),u&&i==="right"&&m("div",{className:L(i),children:u})]});return m(le,{label:T,hideLabel:A,labelColor:k,error:I,helperText:R,inline:H,htmlFor:$,children:J})});ue.displayName="NumberInput";export{ue as NumberInput};
@@ -0,0 +1 @@
1
+ "use strict";var u=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var N=(p,r)=>{for(var t in r)u(p,t,{get:r[t],enumerable:!0})},f=(p,r,t,m)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of n(r))!I.call(p,e)&&e!==t&&u(p,e,{get:()=>r[e],enumerable:!(m=b(r,e))||m.enumerable});return p};var x=p=>f(u({},"__esModule",{value:!0}),p);var s={};N(s,{NumberInput:()=>o.NumberInput});module.exports=x(s);var o=require("./NumberInput.cjs");0&&(module.exports={NumberInput});
@@ -0,0 +1 @@
1
+ import{NumberInput as e}from"./NumberInput.js";export{e as NumberInput};
@@ -0,0 +1 @@
1
+ "use strict";var m=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var b=(r,e)=>{for(var l in e)m(r,l,{get:e[l],enumerable:!0})},x=(r,e,l,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of d(e))!g.call(r,a)&&a!==l&&m(r,a,{get:()=>e[a],enumerable:!(s=i(e,a))||s.enumerable});return r};var N=r=>x(m({},"__esModule",{value:!0}),r);var h={};b(h,{InputWrapper:()=>u});module.exports=N(h);var n=require("../../../lib/cn.cjs"),p=require("./inputStyles.cjs"),o=require("react/jsx-runtime"),u=({label:r,hideLabel:e,labelColor:l,error:s,helperText:a,inline:t,children:c,htmlFor:f})=>(0,o.jsxs)("div",{className:t?"flex items-center gap-4":"flex flex-col",children:[r&&!e&&(0,o.jsx)("label",{htmlFor:f,className:(0,p.getLabelClasses)(t||!1,l),style:l?{color:l}:void 0,children:r}),(0,o.jsx)("div",{className:t?"flex-1":"w-full",children:c}),a&&(0,o.jsx)("p",{className:(0,n.cn)((0,p.getHelperTextClasses)(s),t&&"ml-34"),children:a})]});0&&(module.exports={InputWrapper});
@@ -0,0 +1 @@
1
+ import{cn as n}from"../../../lib/cn.js";import{getLabelClasses as c,getHelperTextClasses as f}from"./inputStyles.js";import{jsx as l,jsxs as i}from"react/jsx-runtime";var b=({label:a,hideLabel:s,labelColor:r,error:t,helperText:o,inline:e,children:p,htmlFor:m})=>i("div",{className:e?"flex items-center gap-4":"flex flex-col",children:[a&&!s&&l("label",{htmlFor:m,className:c(e||!1,r),style:r?{color:r}:void 0,children:a}),l("div",{className:e?"flex-1":"w-full",children:p}),o&&l("p",{className:n(f(t),e&&"ml-34"),children:o})]});export{b as InputWrapper};
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var p=(e,t)=>{for(var o in t)a(e,o,{get:t[o],enumerable:!0})},b=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of d(t))!i.call(e,r)&&r!==o&&a(e,r,{get:()=>t[r],enumerable:!(n=g(t,r))||n.enumerable});return e};var x=e=>b(a({},"__esModule",{value:!0}),e);var k={};p(k,{getBaseInputClasses:()=>m,getHelperTextClasses:()=>y,getIconClasses:()=>f,getLabelClasses:()=>u});module.exports=x(k);var s=require("../../../lib/cn.cjs"),c=(e="md")=>({sm:"text-xs p-1.5",md:"text-sm p-2.5",lg:"text-base p-3.5"})[e],m=({size:e="md",error:t,disabled:o,readOnly:n,icon:r,iconPosition:l})=>(0,s.cn)("bg-gray-50 rounded-lg block w-full","border focus:outline-none focus:ring-0","dark:bg-gray-700 dark:placeholder-gray-400",c(e),r&&l==="left"?"pl-9":"",r&&l==="right"?"pr-9":"",o?"opacity-50 cursor-not-allowed":"",n?"bg-gray-100 dark:bg-gray-600 cursor-default":"",t?"border-red-500 dark:border-red-500":"border-gray-300 dark:border-gray-600"),u=(e,t)=>(0,s.cn)("text-sm font-medium",e?"min-w-[120px]":"block mb-2",!t&&"text-gray-900 dark:text-white"),y=e=>(0,s.cn)("mt-1 text-xs",e?"text-red-500 dark:text-red-400":"text-gray-500 dark:text-gray-400"),f=e=>(0,s.cn)("absolute inset-y-0 flex items-center pointer-events-none",e==="left"?"left-2.5":"right-2.5");0&&(module.exports={getBaseInputClasses,getHelperTextClasses,getIconClasses,getLabelClasses});
@@ -0,0 +1 @@
1
+ import{cn as r}from"../../../lib/cn.js";var l=(e="md")=>({sm:"text-xs p-1.5",md:"text-sm p-2.5",lg:"text-base p-3.5"})[e],d=({size:e="md",error:t,disabled:n,readOnly:a,icon:o,iconPosition:s})=>r("bg-gray-50 rounded-lg block w-full","border focus:outline-none focus:ring-0","dark:bg-gray-700 dark:placeholder-gray-400",l(e),o&&s==="left"?"pl-9":"",o&&s==="right"?"pr-9":"",n?"opacity-50 cursor-not-allowed":"",a?"bg-gray-100 dark:bg-gray-600 cursor-default":"",t?"border-red-500 dark:border-red-500":"border-gray-300 dark:border-gray-600"),i=(e,t)=>r("text-sm font-medium",e?"min-w-[120px]":"block mb-2",!t&&"text-gray-900 dark:text-white"),p=e=>r("mt-1 text-xs",e?"text-red-500 dark:text-red-400":"text-gray-500 dark:text-gray-400"),b=e=>r("absolute inset-y-0 flex items-center pointer-events-none",e==="left"?"left-2.5":"right-2.5");export{d as getBaseInputClasses,p as getHelperTextClasses,b as getIconClasses,i as getLabelClasses};
@@ -0,0 +1 @@
1
+ "use strict";var r=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var u=(t,n,a,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let e of o(n))!s.call(t,e)&&e!==a&&r(t,e,{get:()=>n[e],enumerable:!(i=g(n,e))||i.enumerable});return t};var d=t=>u(r({},"__esModule",{value:!0}),t);var x={};module.exports=d(x);
File without changes
@@ -0,0 +1 @@
1
+ "use strict";"use client";var J=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var ue=Object.getOwnPropertyNames;var me=Object.prototype.hasOwnProperty;var ce=(o,n)=>{for(var t in n)J(o,t,{get:n[t],enumerable:!0})},de=(o,n,t,b)=>{if(n&&typeof n=="object"||typeof n=="function")for(let g of ue(n))!me.call(o,g)&&g!==t&&J(o,g,{get:()=>n[g],enumerable:!(b=se(n,g))||b.enumerable});return o};var fe=o=>de(J({},"__esModule",{value:!0}),o);var xe={};ce(xe,{FunnelChart:()=>ye});module.exports=fe(xe);var c=require("react"),Z=require("../../lib/i18n.cjs"),ee=require("../chart/ChartAxis.cjs"),te=require("../chart/ChartContainer.cjs"),ne=require("../chart/ChartTooltip.cjs"),P=require("../chart/palette.cjs"),F=require("../chart/utils/data.cjs"),x=require("../chart/utils/format.cjs"),re=require("../chart/utils/path.cjs"),A=require("../chart/utils/scales.cjs"),W=require("../chart/utils/text.cjs"),ae=require("../table/Table.cjs"),le=require("../table/TableBody.cjs"),z=require("../table/TableCell.cjs"),oe=require("../table/TableHeader.cjs"),B=require("../table/TableHeaderCell.cjs"),ie=require("../table/TableRow.cjs"),e=require("react/jsx-runtime"),he=8,pe=12,be=44,Q="text-right [font-variant-numeric:tabular-nums]",ge=(0,c.memo)(function({stages:n}){return(0,e.jsx)("g",{children:n.map(t=>(0,e.jsxs)("g",{children:[(0,e.jsx)("path",{d:t.d,fill:t.color}),t.value?(0,e.jsx)("text",{x:t.value.x,y:t.value.y,textAnchor:t.value.anchor,dominantBaseline:"middle",className:t.value.inside?t.value.onDark?"fill-gray-50 text-[11px] font-semibold [font-variant-numeric:tabular-nums] dark:fill-gray-900":"fill-gray-900 text-[11px] font-semibold [font-variant-numeric:tabular-nums] dark:fill-gray-50":"fill-gray-700 text-[11px] font-semibold [font-variant-numeric:tabular-nums] dark:fill-gray-200",children:t.value.text}):null,t.conversion?(0,e.jsx)("text",{x:t.conversion.x,y:t.conversion.y,textAnchor:"middle",dominantBaseline:"middle",className:"fill-gray-500 text-[10px] [font-variant-numeric:tabular-nums] dark:fill-gray-400",children:t.conversion.text}):null]},t.key))})});function ve({width:o,height:n,stages:t,x:b,size:g,align:E,showConversion:H,showValues:w,stageSize:I,ramp:M,tooltip:C,plotLabel:G,locale:k,onStageClick:S}){let[s,L]=(0,c.useState)(null),K=(0,Z.useUILabels)(),r=(0,c.useMemo)(()=>{let m=t.map(i=>i.label),d={top:6,right:12,bottom:6,left:b.hidden?8:b.height??(0,W.widestLabel)(m)+pe},h=Math.max(0,o-d.left-d.right),T=Math.max(0,n-d.top-d.bottom),f=(0,A.createBandScale)(t.map((i,l)=>l),[0,T],{paddingInner:H?.45:.28}),N=Math.min(I??be,f.bandwidth),Y=Math.max(0,...t.map(i=>i.value??0)),j=(0,A.createLinearScale)([0,Y],[0,h]),O=t.map((i,l)=>{let R=i.value===null?0:Math.max(0,j(i.value)),V=E==="center"?(h-R)/2:0,a=f(l)+(f.bandwidth-N)/2,D=a+N/2,v=null;if(w&&i.value!==null){let y=i.formattedValue;v=(0,W.estimateTextWidth)(y,11)+16<=R?{x:V+R/2,y:D,anchor:"middle",text:y,inside:!0,onDark:M.onDark(l)}:{x:V+R+he,y:D,anchor:"start",text:y,inside:!1,onDark:!1}}let X=f(l-1)+(f.bandwidth-N)/2+N,p=H&&i.conversion!==null&&l>0?{x:h/2,y:(X+a)/2,text:(0,x.formatPercent)(i.conversion,{locale:k,maximumFractionDigits:0})}:null;return{key:`${l}`,d:(0,re.buildBarPath)({x:V,y:a,width:R,height:N,radius:4,round:E==="center"?"none":"right"}),color:M(l),value:v,conversion:p,top:f(l),height:f.bandwidth}}),_=b.hidden?[]:t.map((i,l)=>({value:i.x,offset:f.center(l),label:i.label}));return{margin:d,innerWidth:h,innerHeight:T,rendered:O,stageTicks:_,centers:t.map((i,l)=>f.center(l))}},[t,b,o,n,E,H,w,I,M,k]),U=(0,c.useCallback)(m=>{if(C===!1||t.length===0)return;let d=m.currentTarget.getBoundingClientRect(),h=m.clientY-d.top-r.margin.top;L((0,A.nearestIndex)(r.centers,h))},[C,t.length,r.margin.top,r.centers]),$=(0,c.useCallback)(m=>{if(t.length===0)return;let d=t.length-1,h=s??0,T=m.key==="ArrowDown"?Math.min(d,h+1):m.key==="ArrowUp"?Math.max(0,h-1):m.key==="Home"?0:m.key==="End"?d:m.key==="Escape"?null:void 0;T!==void 0&&(m.preventDefault(),L(T))},[t.length,s]),q=(0,c.useCallback)(()=>{!S||s===null||S(t[s])},[S,s,t]),u=s===null?null:t[s];return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("svg",{width:o,height:n,role:"img","aria-label":G??t.map(m=>m.label).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:U,onPointerLeave:()=>L(null),onKeyDown:$,onBlur:()=>L(null),onClick:q,children:[(0,e.jsxs)("g",{transform:`translate(${r.margin.left}, ${r.margin.top})`,children:[s!==null&&r.rendered[s]?(0,e.jsx)("rect",{x:-4,y:r.rendered[s].top,width:r.innerWidth+8,height:r.rendered[s].height,rx:4,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,(0,e.jsx)(ge,{stages:r.rendered})]}),(0,e.jsx)("g",{transform:`translate(${r.margin.left}, ${r.margin.top})`,children:b.hidden?null:(0,e.jsx)(ee.ChartAxis,{orientation:"left",ticks:r.stageTicks,length:r.innerHeight,showLine:!1,tickSize:0,size:g})})]}),u&&s!==null&&C!==!1?(0,e.jsx)(ne.ChartTooltip,{x:r.margin.left+r.innerWidth/2,y:r.margin.top+r.centers[s],containerWidth:o,children:typeof C=="function"?C(u):(0,e.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,e.jsx)("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:u.label}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("span",{className:"h-2.5 w-2.5 shrink-0 rounded-sm",style:{backgroundColor:r.rendered[s]?.color},"aria-hidden":"true"}),(0,e.jsx)("span",{className:"font-semibold text-gray-900 [font-variant-numeric:tabular-nums] dark:text-gray-100",children:u.formattedValue})]}),u.conversion!==null?(0,e.jsxs)("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[(0,e.jsx)("span",{children:K.chartConversion}),(0,e.jsx)("span",{className:"[font-variant-numeric:tabular-nums]",children:(0,x.formatPercent)(u.conversion,{locale:k,maximumFractionDigits:1})})]}):null,u.overall!==null?(0,e.jsxs)("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[(0,e.jsx)("span",{children:t[0]?.label}),(0,e.jsx)("span",{className:"[font-variant-numeric:tabular-nums]",children:(0,x.formatPercent)(u.overall,{locale:k,maximumFractionDigits:1})})]}):null]})}):null]})}function ye({data:o,x:n,value:t,align:b="center",showConversion:g=!0,showValues:E=!0,stageSize:H,colors:w,height:I,width:M,size:C="md",tooltip:G=!0,tableView:k=!1,title:S,description:s,loading:L=!1,emptyState:K,error:r=!1,errorState:U,onRetry:$,actions:q,locale:u,plotLabel:m,valueLabel:d,conversionLabel:h,dropOffLabel:T,format:f,onStageClick:N,className:Y,...j}){let O=(0,Z.useUILabels)(),_=(0,c.useMemo)(()=>f??(a=>(0,x.formatAuto)(a,u)),[f,u]),i=(0,c.useMemo)(()=>n.format??(a=>(0,x.formatXValue)(a,u)),[n.format,u]),l=(0,c.useMemo)(()=>{let a=(0,F.readNumber)(o[0]??{},t);return o.map((D,v)=>{let X=(0,F.readXValue)(D,n.key,v),p=(0,F.readNumber)(D,t),y=v===0?null:(0,F.readNumber)(o[v-1],t);return{index:v,x:X,label:i(X,v),value:p,overall:v===0||a===null||a===0||p===null?null:p/a,conversion:y===null||y===0||p===null?null:p/y,dropOff:y===null||p===null?null:y-p,formattedValue:p===null?"\u2014":_(p),datum:D}})},[o,n.key,t,_,i]),R=(0,c.useMemo)(()=>(0,P.createSequentialScale)([0,Math.max(1,l.length-1)],{colors:w??P.CHART_ORDINAL_COLORS,...w?{}:{darkStops:P.CHART_ORDINAL_DARK_STOPS}}),[l.length,w]),V=I??Math.max(96,l.length*(g?56:44)+12);return(0,e.jsx)(te.ChartContainer,{title:S,description:s,height:V,width:M,size:C,loading:L,empty:l.length===0,emptyState:K,error:r,errorState:U,onRetry:$,actions:q,tableView:k,table:k?(0,e.jsx)("div",{className:"w-full overflow-x-auto",children:(0,e.jsxs)(ae.Table,{children:[typeof S=="string"?(0,e.jsx)("caption",{className:"sr-only",children:S}):null,(0,e.jsxs)(oe.TableHeader,{children:[(0,e.jsx)(B.TableHeaderCell,{children:n.label??n.key}),(0,e.jsx)(B.TableHeaderCell,{className:"text-right",children:d??O.chartValue}),(0,e.jsx)(B.TableHeaderCell,{className:"text-right",children:h??O.chartConversion}),(0,e.jsx)(B.TableHeaderCell,{className:"text-right",children:T??O.chartDropOff})]}),(0,e.jsx)(le.TableBody,{children:l.map(a=>(0,e.jsxs)(ie.TableRow,{clickable:!1,children:[(0,e.jsx)(z.TableCell,{className:"font-medium text-gray-900 dark:text-gray-100",children:a.label}),(0,e.jsx)(z.TableCell,{className:Q,children:a.formattedValue}),(0,e.jsx)(z.TableCell,{className:Q,children:a.conversion===null?"\u2014":(0,x.formatPercent)(a.conversion,{locale:u,maximumFractionDigits:1})}),(0,e.jsx)(z.TableCell,{className:Q,children:a.dropOff===null?"\u2014":_(a.dropOff)})]},a.index))})]})}):void 0,className:Y,...j,children:({width:a})=>(0,e.jsx)(ve,{width:a,height:V,stages:l,x:n,size:C,align:b,showConversion:g,showValues:E,stageSize:H,ramp:R,tooltip:G,plotLabel:m,locale:u,onStageClick:N})})}0&&(module.exports={FunnelChart});
@@ -0,0 +1 @@
1
+ "use client";import{memo as Q,useCallback as q,useMemo as E,useState as Z}from"react";import{useUILabels as J}from"../../lib/i18n.js";import{ChartAxis as ee}from"../chart/ChartAxis.js";import{ChartContainer as te}from"../chart/ChartContainer.js";import{ChartTooltip as ne}from"../chart/ChartTooltip.js";import{CHART_ORDINAL_COLORS as re,CHART_ORDINAL_DARK_STOPS as ae,createSequentialScale as le}from"../chart/palette.js";import{readNumber as Y,readXValue as oe}from"../chart/utils/data.js";import{formatAuto as ie,formatPercent as B,formatXValue as se}from"../chart/utils/format.js";import{buildBarPath as ue}from"../chart/utils/path.js";import{createBandScale as me,createLinearScale as ce,nearestIndex as de}from"../chart/utils/scales.js";import{estimateTextWidth as fe,widestLabel as he}from"../chart/utils/text.js";import{Table as pe}from"../table/Table.js";import{TableBody as be}from"../table/TableBody.js";import{TableCell as _}from"../table/TableCell.js";import{TableHeader as ge}from"../table/TableHeader.js";import{TableHeaderCell as z}from"../table/TableHeaderCell.js";import{TableRow as ve}from"../table/TableRow.js";import{Fragment as Te,jsx as t,jsxs as h}from"react/jsx-runtime";var ye=8,xe=12,Ce=44,j="text-right [font-variant-numeric:tabular-nums]",ke=Q(function({stages:u}){return t("g",{children:u.map(e=>h("g",{children:[t("path",{d:e.d,fill:e.color}),e.value?t("text",{x:e.value.x,y:e.value.y,textAnchor:e.value.anchor,dominantBaseline:"middle",className:e.value.inside?e.value.onDark?"fill-gray-50 text-[11px] font-semibold [font-variant-numeric:tabular-nums] dark:fill-gray-900":"fill-gray-900 text-[11px] font-semibold [font-variant-numeric:tabular-nums] dark:fill-gray-50":"fill-gray-700 text-[11px] font-semibold [font-variant-numeric:tabular-nums] dark:fill-gray-200",children:e.value.text}):null,e.conversion?t("text",{x:e.conversion.x,y:e.conversion.y,textAnchor:"middle",dominantBaseline:"middle",className:"fill-gray-500 text-[10px] [font-variant-numeric:tabular-nums] dark:fill-gray-400",children:e.conversion.text}):null]},e.key))})});function Se({width:p,height:u,stages:e,x:y,size:H,align:V,showConversion:D,showValues:N,stageSize:M,ramp:F,tooltip:v,plotLabel:I,locale:x,onStageClick:C}){let[o,R]=Z(null),X=J(),n=E(()=>{let s=e.map(l=>l.label),m={top:6,right:12,bottom:6,left:y.hidden?8:y.height??he(s)+xe},d=Math.max(0,p-m.left-m.right),k=Math.max(0,u-m.top-m.bottom),c=me(e.map((l,a)=>a),[0,k],{paddingInner:D?.45:.28}),S=Math.min(M??Ce,c.bandwidth),U=Math.max(0,...e.map(l=>l.value??0)),$=ce([0,U],[0,d]),P=e.map((l,a)=>{let T=l.value===null?0:Math.max(0,$(l.value)),w=V==="center"?(d-T)/2:0,r=c(a)+(c.bandwidth-S)/2,L=r+S/2,b=null;if(N&&l.value!==null){let g=l.formattedValue;b=fe(g,11)+16<=T?{x:w+T/2,y:L,anchor:"middle",text:g,inside:!0,onDark:F.onDark(a)}:{x:w+T+ye,y:L,anchor:"start",text:g,inside:!1,onDark:!1}}let O=c(a-1)+(c.bandwidth-S)/2+S,f=D&&l.conversion!==null&&a>0?{x:d/2,y:(O+r)/2,text:B(l.conversion,{locale:x,maximumFractionDigits:0})}:null;return{key:`${a}`,d:ue({x:w,y:r,width:T,height:S,radius:4,round:V==="center"?"none":"right"}),color:F(a),value:b,conversion:f,top:c(a),height:c.bandwidth}}),A=y.hidden?[]:e.map((l,a)=>({value:l.x,offset:c.center(a),label:l.label}));return{margin:m,innerWidth:d,innerHeight:k,rendered:P,stageTicks:A,centers:e.map((l,a)=>c.center(a))}},[e,y,p,u,V,D,N,M,F,x]),W=q(s=>{if(v===!1||e.length===0)return;let m=s.currentTarget.getBoundingClientRect(),d=s.clientY-m.top-n.margin.top;R(de(n.centers,d))},[v,e.length,n.margin.top,n.centers]),G=q(s=>{if(e.length===0)return;let m=e.length-1,d=o??0,k=s.key==="ArrowDown"?Math.min(m,d+1):s.key==="ArrowUp"?Math.max(0,d-1):s.key==="Home"?0:s.key==="End"?m:s.key==="Escape"?null:void 0;k!==void 0&&(s.preventDefault(),R(k))},[e.length,o]),K=q(()=>{!C||o===null||C(e[o])},[C,o,e]),i=o===null?null:e[o];return h(Te,{children:[h("svg",{width:p,height:u,role:"img","aria-label":I??e.map(s=>s.label).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:W,onPointerLeave:()=>R(null),onKeyDown:G,onBlur:()=>R(null),onClick:K,children:[h("g",{transform:`translate(${n.margin.left}, ${n.margin.top})`,children:[o!==null&&n.rendered[o]?t("rect",{x:-4,y:n.rendered[o].top,width:n.innerWidth+8,height:n.rendered[o].height,rx:4,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,t(ke,{stages:n.rendered})]}),t("g",{transform:`translate(${n.margin.left}, ${n.margin.top})`,children:y.hidden?null:t(ee,{orientation:"left",ticks:n.stageTicks,length:n.innerHeight,showLine:!1,tickSize:0,size:H})})]}),i&&o!==null&&v!==!1?t(ne,{x:n.margin.left+n.innerWidth/2,y:n.margin.top+n.centers[o],containerWidth:p,children:typeof v=="function"?v(i):h("div",{className:"flex flex-col gap-1",children:[t("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:i.label}),h("div",{className:"flex items-center gap-2",children:[t("span",{className:"h-2.5 w-2.5 shrink-0 rounded-sm",style:{backgroundColor:n.rendered[o]?.color},"aria-hidden":"true"}),t("span",{className:"font-semibold text-gray-900 [font-variant-numeric:tabular-nums] dark:text-gray-100",children:i.formattedValue})]}),i.conversion!==null?h("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[t("span",{children:X.chartConversion}),t("span",{className:"[font-variant-numeric:tabular-nums]",children:B(i.conversion,{locale:x,maximumFractionDigits:1})})]}):null,i.overall!==null?h("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[t("span",{children:e[0]?.label}),t("span",{className:"[font-variant-numeric:tabular-nums]",children:B(i.overall,{locale:x,maximumFractionDigits:1})})]}):null]})}):null]})}function Ge({data:p,x:u,value:e,align:y="center",showConversion:H=!0,showValues:V=!0,stageSize:D,colors:N,height:M,width:F,size:v="md",tooltip:I=!0,tableView:x=!1,title:C,description:o,loading:R=!1,emptyState:X,error:n=!1,errorState:W,onRetry:G,actions:K,locale:i,plotLabel:s,valueLabel:m,conversionLabel:d,dropOffLabel:k,format:c,onStageClick:S,className:U,...$}){let P=J(),A=E(()=>c??(r=>ie(r,i)),[c,i]),l=E(()=>u.format??(r=>se(r,i)),[u.format,i]),a=E(()=>{let r=Y(p[0]??{},e);return p.map((L,b)=>{let O=oe(L,u.key,b),f=Y(L,e),g=b===0?null:Y(p[b-1],e);return{index:b,x:O,label:l(O,b),value:f,overall:b===0||r===null||r===0||f===null?null:f/r,conversion:g===null||g===0||f===null?null:f/g,dropOff:g===null||f===null?null:g-f,formattedValue:f===null?"\u2014":A(f),datum:L}})},[p,u.key,e,A,l]),T=E(()=>le([0,Math.max(1,a.length-1)],{colors:N??re,...N?{}:{darkStops:ae}}),[a.length,N]),w=M??Math.max(96,a.length*(H?56:44)+12);return t(te,{title:C,description:o,height:w,width:F,size:v,loading:R,empty:a.length===0,emptyState:X,error:n,errorState:W,onRetry:G,actions:K,tableView:x,table:x?t("div",{className:"w-full overflow-x-auto",children:h(pe,{children:[typeof C=="string"?t("caption",{className:"sr-only",children:C}):null,h(ge,{children:[t(z,{children:u.label??u.key}),t(z,{className:"text-right",children:m??P.chartValue}),t(z,{className:"text-right",children:d??P.chartConversion}),t(z,{className:"text-right",children:k??P.chartDropOff})]}),t(be,{children:a.map(r=>h(ve,{clickable:!1,children:[t(_,{className:"font-medium text-gray-900 dark:text-gray-100",children:r.label}),t(_,{className:j,children:r.formattedValue}),t(_,{className:j,children:r.conversion===null?"\u2014":B(r.conversion,{locale:i,maximumFractionDigits:1})}),t(_,{className:j,children:r.dropOff===null?"\u2014":A(r.dropOff)})]},r.index))})]})}):void 0,className:U,...$,children:({width:r})=>t(Se,{width:r,height:w,stages:a,x:u,size:v,align:y,showConversion:H,showValues:V,stageSize:D,ramp:T,tooltip:I,plotLabel:s,locale:i,onStageClick:S})})}export{Ge as FunnelChart};
@@ -0,0 +1 @@
1
+ "use strict";var o=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var h=(n,e)=>{for(var t in e)o(n,t,{get:e[t],enumerable:!0})},C=(n,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of u(e))!F.call(n,r)&&r!==t&&o(n,r,{get:()=>e[r],enumerable:!(a=p(e,r))||a.enumerable});return n};var f=n=>C(o({},"__esModule",{value:!0}),n);var m={};h(m,{FunnelChart:()=>l.FunnelChart});module.exports=f(m);var l=require("./FunnelChart.cjs");0&&(module.exports={FunnelChart});
@@ -0,0 +1 @@
1
+ import{FunnelChart as r}from"./FunnelChart.js";export{r as FunnelChart};
@@ -0,0 +1 @@
1
+ "use strict";"use client";var ut=Object.defineProperty;var Et=Object.getOwnPropertyDescriptor;var Ot=Object.getOwnPropertyNames;var It=Object.prototype.hasOwnProperty;var Ht=(m,o)=>{for(var y in o)ut(m,y,{get:o[y],enumerable:!0})},Wt=(m,o,y,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let g of Ot(o))!It.call(m,g)&&g!==y&&ut(m,g,{get:()=>o[g],enumerable:!(r=Et(o,g))||r.enumerable});return m};var Xt=m=>Wt(ut({},"__esModule",{value:!0}),m);var Ut={};Ht(Ut,{GanttChart:()=>Kt});module.exports=Xt(Ut);var c=require("react"),pt=require("../../lib/i18n.cjs"),dt=require("../chart/ChartAxis.cjs"),vt=require("../chart/ChartContainer.cjs"),wt=require("../chart/ChartGrid.cjs"),Nt=require("../chart/ChartLegend.cjs"),St=require("../chart/ChartTooltip.cjs"),tt=require("../chart/palette.cjs"),$t=require("../chart/utils/cartesian.cjs"),et=require("../chart/utils/data.cjs"),U=require("../chart/utils/format.cjs"),ht=require("../chart/utils/path.cjs"),Lt=require("../chart/utils/scales.cjs"),x=require("../chart/utils/time.cjs"),Pt=require("../table/Table.cjs"),Rt=require("../table/TableBody.cjs"),B=require("../table/TableCell.cjs"),Mt=require("../table/TableHeader.cjs"),K=require("../table/TableHeaderCell.cjs"),Gt=require("../table/TableRow.cjs"),t=require("react/jsx-runtime"),Vt=18,kt=.5,zt=.3,Q=7,Tt=10,xt=.02,gt="text-right [font-variant-numeric:tabular-nums]",_t=(0,c.memo)(function({tasks:o,arrows:y}){return(0,t.jsxs)("g",{children:[(0,t.jsx)("g",{className:"fill-gray-400 stroke-gray-400 dark:fill-gray-500 dark:stroke-gray-500",children:y.map(r=>(0,t.jsxs)("g",{children:[(0,t.jsx)("path",{d:r.d,fill:"none",strokeWidth:1}),(0,t.jsx)("path",{d:r.head,strokeWidth:0})]},r.key))}),o.map(r=>(0,t.jsxs)("g",{children:[r.track?(0,t.jsx)("path",{d:r.track,fill:r.color,fillOpacity:r.trackOpacity}):null,r.progress?(0,t.jsx)("path",{d:r.progress,fill:r.color}):null,r.milestone?(0,t.jsx)("path",{d:r.milestone,fill:r.color,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"}):null]},r.key))]})});function Bt({width:m,height:o,data:y,tasks:r,x:g,domain:w,unit:G,timeTicks:E,today:L,grid:O,size:I,barSize:W,colorOf:Y,margin:F,tooltip:P,plotLabel:rt,todayLabel:nt,locale:R,formatDate:Z,formatX:D,onTaskClick:X}){let[d,M]=(0,c.useState)(null),V=(0,pt.useUILabels)(),n=(0,c.useMemo)(()=>{let l=(0,$t.buildCartesianGeometry)({width:m,height:o,data:y,x:g,y:{domain:w},bounds:w,margin:F,orientation:"horizontal",placement:"band",formatValue:a=>(0,x.formatTimeTick)(a,G,R),formatX:D}),{valueScale:f,bandwidth:i,categoryPositions:C,innerWidth:it,innerHeight:st}=l,A=Math.min(W??Vt,i),ct=new Map(r.map((a,u)=>[a.id,u])),j=r.map((a,u)=>{let N=C[u]+(i-A)/2,s=N+A/2,b=Y(a);if(a.start===null)return{key:`${u}`,color:b,track:null,trackOpacity:1,progress:null,milestone:null,top:C[u],height:i};let k=f(a.start);if(a.milestone)return{key:`${u}`,color:b,track:null,trackOpacity:1,progress:null,milestone:`M${k},${s-Q} L${k+Q},${s} L${k},${s+Q} L${k-Q},${s} Z`,top:C[u],height:i};let S=f(a.end??a.start),T=Math.max(2,S-k);return{key:`${u}`,color:b,track:(0,ht.buildBarPath)({x:k,y:N,width:T,height:A,radius:3}),trackOpacity:a.progress===null?1:zt,progress:a.progress===null?null:(0,ht.buildBarPath)({x:k,y:s-A*kt/2,width:Math.max(0,T*Math.min(1,Math.max(0,a.progress))),height:A*kt,radius:2,round:"right"}),milestone:null,top:C[u],height:i}}),q=[];r.forEach((a,u)=>{if(a.start!==null)for(let N of a.dependsOn){let s=ct.get(N);if(s===void 0||s===u)continue;let b=r[s];if(b.start===null)continue;let k=f(b.end??b.start),S=C[s]+i/2,T=f(a.start),$=C[u]+i/2,J=Math.max(k+Tt,T-Tt);q.push({key:`${N}-${a.id}`,d:`M${k},${S} L${J},${S} L${J},${$} L${T-5},${$}`,head:`M${T},${$} L${T-5},${$-3.5} L${T-5},${$+3.5} Z`})}});let mt=E.map(a=>({value:a,offset:f(a),label:(0,x.formatTimeTick)(a,G,R)}));return{rendered:j,arrows:q,categoryPositions:C,categoryCenters:l.categoryCenters,bandwidth:i,categoryTicks:l.categoryTicks,valueTicks:mt,valueScale:f,innerWidth:it,innerHeight:st,margin:l.margin}},[r,y,g,w,G,E,m,o,F,W,Y,R,D]),at=(0,c.useCallback)(l=>{if(P===!1||r.length===0)return;let f=l.currentTarget.getBoundingClientRect(),i=l.clientY-f.top-n.margin.top;M((0,Lt.nearestIndex)(n.categoryCenters,i))},[P,r.length,n.margin.top,n.categoryCenters]),ot=(0,c.useCallback)(l=>{if(r.length===0)return;let f=r.length-1,i=d??0,C=l.key==="ArrowDown"?Math.min(f,i+1):l.key==="ArrowUp"?Math.max(0,i-1):l.key==="Home"?0:l.key==="End"?f:l.key==="Escape"?null:void 0;C!==void 0&&(l.preventDefault(),M(C))},[r.length,d]),lt=(0,c.useCallback)(()=>{!X||d===null||X(r[d])},[X,d,r]),h=d===null?null:r[d];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("svg",{width:m,height:o,role:"img","aria-label":rt??r.map(l=>l.label).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:at,onPointerLeave:()=>M(null),onKeyDown:ot,onBlur:()=>M(null),onClick:lt,children:[(0,t.jsxs)("g",{transform:`translate(${n.margin.left}, ${n.margin.top})`,children:[(0,t.jsx)(wt.ChartGrid,{width:n.innerWidth,height:n.innerHeight,vertical:O?n.valueTicks.map(l=>l.offset):void 0}),d!==null?(0,t.jsx)("rect",{x:0,y:n.categoryPositions[d],width:n.innerWidth,height:n.bandwidth,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,(0,t.jsx)(_t,{tasks:n.rendered,arrows:n.arrows}),L!==null?(0,t.jsxs)("g",{children:[(0,t.jsx)("line",{x1:n.valueScale(L),y1:0,x2:n.valueScale(L),y2:n.innerHeight,className:"stroke-gray-900 dark:stroke-white",strokeWidth:1,strokeDasharray:"4 4"}),(0,t.jsx)("text",{x:n.valueScale(L)+4,y:8,className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:nt})]}):null]}),(0,t.jsx)("g",{transform:`translate(${n.margin.left}, ${n.margin.top+n.innerHeight})`,children:(0,t.jsx)(dt.ChartAxis,{orientation:"bottom",ticks:n.valueTicks,length:n.innerWidth,size:I})}),(0,t.jsx)("g",{transform:`translate(${n.margin.left}, ${n.margin.top})`,children:g.hidden?null:(0,t.jsx)(dt.ChartAxis,{orientation:"left",ticks:n.categoryTicks,length:n.innerHeight,showLine:!1,tickSize:0,label:g.label,size:I})})]}),h&&d!==null&&P!==!1?(0,t.jsx)(St.ChartTooltip,{x:n.margin.left+(h.start===null?n.innerWidth/2:n.valueScale(h.start)),y:n.margin.top+n.categoryCenters[d],containerWidth:m,children:typeof P=="function"?P(h):(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:h.label}),(0,t.jsxs)("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[(0,t.jsx)("span",{children:V.chartStart}),(0,t.jsx)("span",{className:"[font-variant-numeric:tabular-nums] text-gray-900 dark:text-gray-100",children:h.start===null?"\u2014":Z(h.start)})]}),h.milestone?null:(0,t.jsxs)("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[(0,t.jsx)("span",{children:V.chartEnd}),(0,t.jsx)("span",{className:"[font-variant-numeric:tabular-nums] text-gray-900 dark:text-gray-100",children:h.end===null?"\u2014":Z(h.end)})]}),h.progress===null?null:(0,t.jsxs)("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[(0,t.jsx)("span",{children:V.chartProgress}),(0,t.jsx)("span",{className:"[font-variant-numeric:tabular-nums] text-gray-900 dark:text-gray-100",children:(0,U.formatPercent)(h.progress,{locale:R,maximumFractionDigits:0})})]})]})}):null]})}function Kt({data:m,x:o,start:y,end:r,id:g,progress:w,milestone:G,dependencies:E,group:L,domain:O,today:I,ticks:W=6,barSize:Y,rowSize:F=30,color:P,height:rt,width:nt,size:R="md",grid:Z=!0,legend:D,tooltip:X=!0,tableView:d=!1,title:M,description:V,loading:n=!1,emptyState:at,error:ot=!1,errorState:lt,onRetry:h,actions:l,margin:f,locale:i,plotLabel:C,startLabel:it,endLabel:st,progressLabel:A,todayLabel:ct,formatDate:j,onTaskClick:q,className:mt,...a}){let u=(0,pt.useUILabels)(),N=(0,c.useMemo)(()=>o.format??(e=>(0,U.formatXValue)(e,i)),[o.format,i]),s=(0,c.useMemo)(()=>m.map((e,p)=>{let z=(0,et.readXValue)(e,o.key,p),H=(0,x.toTimestamp)(e[y]),v=r?(0,x.toTimestamp)(e[r]):null,_=G?!!e[G]:v===null,Ct=E?e[E]:void 0;return{index:p,id:String(g?e[g]??p:p),x:z,label:N(z,p),start:H,end:_?H:v??H,progress:w?(0,et.readNumber)(e,w):null,milestone:_,dependsOn:Array.isArray(Ct)?Ct.map(At=>String(At)):[],group:L?e[L]??null:null,datum:e}}),[m,o.key,y,r,g,w,G,E,L,N]),b=(0,c.useMemo)(()=>{let e=[];for(let p of s)p.group!==null&&!e.includes(p.group)&&e.push(p.group);return e},[s]),k=(0,c.useCallback)(e=>e.group===null?P??(0,tt.getSeriesColor)(0):(0,tt.getSeriesColor)(b.indexOf(e.group)),[b,P]),S=(0,c.useMemo)(()=>{if(O){let v=(0,x.toTimestamp)(O[0]),_=(0,x.toTimestamp)(O[1]);if(v!==null&&_!==null)return[v,_]}let e=s.flatMap(v=>v.start===null?[]:[v.start,v.end??v.start]);if(e.length===0)return[0,1];let p=Math.min(...e),z=Math.max(...e),H=z-p||864e5;return[p-H*xt,z+H*xt]},[O,s]),T=(0,c.useMemo)(()=>(0,x.niceTimeTicks)(S[0],S[1],W),[S,W]),$=(0,c.useMemo)(()=>j??(e=>new Intl.DateTimeFormat(i,{day:"numeric",month:"short",year:"numeric"}).format(new Date(e))),[j,i]),J=(0,c.useMemo)(()=>I===!1?null:(0,x.toTimestamp)(I??Date.now()),[I]),ft=(0,c.useMemo)(()=>b.map((e,p)=>({key:e,label:e,color:(0,tt.getSeriesColor)(p),marker:"rect"})),[b]),bt=rt??Math.max(120,s.length*F+48),Dt=D===void 0?b.length>=2:D!==!1,yt=typeof D=="string"?D:"bottom";return(0,t.jsx)(vt.ChartContainer,{title:M,description:V,height:bt,width:nt,size:R,loading:n,empty:s.length===0,emptyState:at,error:ot,errorState:lt,onRetry:h,actions:l,tableView:d,legendPosition:yt,legend:Dt&&ft.length>0?(0,t.jsx)(Nt.ChartLegend,{items:ft,position:yt,marker:"rect",size:R}):void 0,table:d?(0,t.jsx)("div",{className:"w-full overflow-x-auto",children:(0,t.jsxs)(Pt.Table,{children:[typeof M=="string"?(0,t.jsx)("caption",{className:"sr-only",children:M}):null,(0,t.jsxs)(Mt.TableHeader,{children:[(0,t.jsx)(K.TableHeaderCell,{children:o.label??o.key}),(0,t.jsx)(K.TableHeaderCell,{className:"text-right",children:it??u.chartStart}),(0,t.jsx)(K.TableHeaderCell,{className:"text-right",children:st??u.chartEnd}),w?(0,t.jsx)(K.TableHeaderCell,{className:"text-right",children:A??u.chartProgress}):null]}),(0,t.jsx)(Rt.TableBody,{children:s.map(e=>(0,t.jsxs)(Gt.TableRow,{clickable:!1,children:[(0,t.jsx)(B.TableCell,{className:"font-medium text-gray-900 dark:text-gray-100",children:e.label}),(0,t.jsx)(B.TableCell,{className:gt,children:e.start===null?"\u2014":$(e.start)}),(0,t.jsx)(B.TableCell,{className:gt,children:e.milestone||e.end===null?"\u2014":$(e.end)}),w?(0,t.jsx)(B.TableCell,{className:gt,children:e.progress===null?"\u2014":(0,U.formatPercent)(e.progress,{locale:i,maximumFractionDigits:0})}):null]},e.index))})]})}):void 0,className:mt,...a,children:({width:e})=>(0,t.jsx)(Bt,{width:e,height:bt,data:m,tasks:s,x:o,domain:S,unit:T.unit,timeTicks:T.values,today:J,grid:Z,size:R,barSize:Y,colorOf:k,margin:f,tooltip:X,plotLabel:C,todayLabel:ct??u.chartToday,locale:i,formatDate:$,formatX:N,onTaskClick:q})})}0&&(module.exports={GanttChart});
@@ -0,0 +1 @@
1
+ "use client";import{memo as St,useCallback as tt,useMemo as N,useState as $t}from"react";import{useUILabels as xt}from"../../lib/i18n.js";import{ChartAxis as ft}from"../chart/ChartAxis.js";import{ChartContainer as Lt}from"../chart/ChartContainer.js";import{ChartGrid as Pt}from"../chart/ChartGrid.js";import{ChartLegend as Rt}from"../chart/ChartLegend.js";import{ChartTooltip as Mt}from"../chart/ChartTooltip.js";import{getSeriesColor as mt}from"../chart/palette.js";import{buildCartesianGeometry as Gt}from"../chart/utils/cartesian.js";import{readNumber as Dt,readXValue as At}from"../chart/utils/data.js";import{formatPercent as vt,formatXValue as Et}from"../chart/utils/format.js";import{buildBarPath as bt}from"../chart/utils/path.js";import{nearestIndex as Ot}from"../chart/utils/scales.js";import{formatTimeTick as yt,niceTimeTicks as It,toTimestamp as B}from"../chart/utils/time.js";import{Table as Ht}from"../table/Table.js";import{TableBody as Wt}from"../table/TableBody.js";import{TableCell as q}from"../table/TableCell.js";import{TableHeader as Xt}from"../table/TableHeader.js";import{TableHeaderCell as J}from"../table/TableHeaderCell.js";import{TableRow as Vt}from"../table/TableRow.js";import{Fragment as Ut,jsx as e,jsxs as g}from"react/jsx-runtime";var zt=18,Ct=.5,_t=.3,Q=7,kt=10,Tt=.02,ut="text-right [font-variant-numeric:tabular-nums]",Bt=St(function({tasks:d,arrows:M}){return g("g",{children:[e("g",{className:"fill-gray-400 stroke-gray-400 dark:fill-gray-500 dark:stroke-gray-500",children:M.map(r=>g("g",{children:[e("path",{d:r.d,fill:"none",strokeWidth:1}),e("path",{d:r.head,strokeWidth:0})]},r.key))}),d.map(r=>g("g",{children:[r.track?e("path",{d:r.track,fill:r.color,fillOpacity:r.trackOpacity}):null,r.progress?e("path",{d:r.progress,fill:r.color}):null,r.milestone?e("path",{d:r.milestone,fill:r.color,strokeWidth:2,className:"stroke-white dark:stroke-gray-800"}):null]},r.key))]})});function Kt({width:k,height:d,data:M,tasks:r,x:S,domain:T,unit:G,timeTicks:E,today:$,grid:O,size:I,barSize:W,colorOf:K,margin:U,tooltip:L,plotLabel:et,todayLabel:rt,locale:P,formatDate:Y,formatX:D,onTaskClick:X}){let[c,R]=$t(null),V=xt(),n=N(()=>{let o=Gt({width:k,height:d,data:M,x:S,y:{domain:T},bounds:T,margin:U,orientation:"horizontal",placement:"band",formatValue:a=>yt(a,G,P),formatX:D}),{valueScale:h,bandwidth:l,categoryPositions:f,innerWidth:lt,innerHeight:it}=o,A=Math.min(W??zt,l),st=new Map(r.map((a,s)=>[a.id,s])),F=r.map((a,s)=>{let x=f[s]+(l-A)/2,i=x+A/2,p=K(a);if(a.start===null)return{key:`${s}`,color:p,track:null,trackOpacity:1,progress:null,milestone:null,top:f[s],height:l};let b=h(a.start);if(a.milestone)return{key:`${s}`,color:p,track:null,trackOpacity:1,progress:null,milestone:`M${b},${i-Q} L${b+Q},${i} L${b},${i+Q} L${b-Q},${i} Z`,top:f[s],height:l};let v=h(a.end??a.start),y=Math.max(2,v-b);return{key:`${s}`,color:p,track:bt({x:b,y:x,width:y,height:A,radius:3}),trackOpacity:a.progress===null?1:_t,progress:a.progress===null?null:bt({x:b,y:i-A*Ct/2,width:Math.max(0,y*Math.min(1,Math.max(0,a.progress))),height:A*Ct,radius:2,round:"right"}),milestone:null,top:f[s],height:l}}),Z=[];r.forEach((a,s)=>{if(a.start!==null)for(let x of a.dependsOn){let i=st.get(x);if(i===void 0||i===s)continue;let p=r[i];if(p.start===null)continue;let b=h(p.end??p.start),v=f[i]+l/2,y=h(a.start),w=f[s]+l/2,j=Math.max(b+kt,y-kt);Z.push({key:`${x}-${a.id}`,d:`M${b},${v} L${j},${v} L${j},${w} L${y-5},${w}`,head:`M${y},${w} L${y-5},${w-3.5} L${y-5},${w+3.5} Z`})}});let ct=E.map(a=>({value:a,offset:h(a),label:yt(a,G,P)}));return{rendered:F,arrows:Z,categoryPositions:f,categoryCenters:o.categoryCenters,bandwidth:l,categoryTicks:o.categoryTicks,valueTicks:ct,valueScale:h,innerWidth:lt,innerHeight:it,margin:o.margin}},[r,M,S,T,G,E,k,d,U,W,K,P,D]),nt=tt(o=>{if(L===!1||r.length===0)return;let h=o.currentTarget.getBoundingClientRect(),l=o.clientY-h.top-n.margin.top;R(Ot(n.categoryCenters,l))},[L,r.length,n.margin.top,n.categoryCenters]),at=tt(o=>{if(r.length===0)return;let h=r.length-1,l=c??0,f=o.key==="ArrowDown"?Math.min(h,l+1):o.key==="ArrowUp"?Math.max(0,l-1):o.key==="Home"?0:o.key==="End"?h:o.key==="Escape"?null:void 0;f!==void 0&&(o.preventDefault(),R(f))},[r.length,c]),ot=tt(()=>{!X||c===null||X(r[c])},[X,c,r]),m=c===null?null:r[c];return g(Ut,{children:[g("svg",{width:k,height:d,role:"img","aria-label":et??r.map(o=>o.label).join(", "),tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:nt,onPointerLeave:()=>R(null),onKeyDown:at,onBlur:()=>R(null),onClick:ot,children:[g("g",{transform:`translate(${n.margin.left}, ${n.margin.top})`,children:[e(Pt,{width:n.innerWidth,height:n.innerHeight,vertical:O?n.valueTicks.map(o=>o.offset):void 0}),c!==null?e("rect",{x:0,y:n.categoryPositions[c],width:n.innerWidth,height:n.bandwidth,className:"fill-gray-400 dark:fill-gray-500",opacity:.12,"aria-hidden":"true"}):null,e(Bt,{tasks:n.rendered,arrows:n.arrows}),$!==null?g("g",{children:[e("line",{x1:n.valueScale($),y1:0,x2:n.valueScale($),y2:n.innerHeight,className:"stroke-gray-900 dark:stroke-white",strokeWidth:1,strokeDasharray:"4 4"}),e("text",{x:n.valueScale($)+4,y:8,className:"fill-gray-500 text-[10px] dark:fill-gray-400",children:rt})]}):null]}),e("g",{transform:`translate(${n.margin.left}, ${n.margin.top+n.innerHeight})`,children:e(ft,{orientation:"bottom",ticks:n.valueTicks,length:n.innerWidth,size:I})}),e("g",{transform:`translate(${n.margin.left}, ${n.margin.top})`,children:S.hidden?null:e(ft,{orientation:"left",ticks:n.categoryTicks,length:n.innerHeight,showLine:!1,tickSize:0,label:S.label,size:I})})]}),m&&c!==null&&L!==!1?e(Mt,{x:n.margin.left+(m.start===null?n.innerWidth/2:n.valueScale(m.start)),y:n.margin.top+n.categoryCenters[c],containerWidth:k,children:typeof L=="function"?L(m):g("div",{className:"flex flex-col gap-1",children:[e("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:m.label}),g("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[e("span",{children:V.chartStart}),e("span",{className:"[font-variant-numeric:tabular-nums] text-gray-900 dark:text-gray-100",children:m.start===null?"\u2014":Y(m.start)})]}),m.milestone?null:g("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[e("span",{children:V.chartEnd}),e("span",{className:"[font-variant-numeric:tabular-nums] text-gray-900 dark:text-gray-100",children:m.end===null?"\u2014":Y(m.end)})]}),m.progress===null?null:g("div",{className:"flex items-center gap-2 text-gray-500 dark:text-gray-400",children:[e("span",{children:V.chartProgress}),e("span",{className:"[font-variant-numeric:tabular-nums] text-gray-900 dark:text-gray-100",children:vt(m.progress,{locale:P,maximumFractionDigits:0})})]})]})}):null]})}function de({data:k,x:d,start:M,end:r,id:S,progress:T,milestone:G,dependencies:E,group:$,domain:O,today:I,ticks:W=6,barSize:K,rowSize:U=30,color:L,height:et,width:rt,size:P="md",grid:Y=!0,legend:D,tooltip:X=!0,tableView:c=!1,title:R,description:V,loading:n=!1,emptyState:nt,error:at=!1,errorState:ot,onRetry:m,actions:o,margin:h,locale:l,plotLabel:f,startLabel:lt,endLabel:it,progressLabel:A,todayLabel:st,formatDate:F,onTaskClick:Z,className:ct,...a}){let s=xt(),x=N(()=>d.format??(t=>Et(t,l)),[d.format,l]),i=N(()=>k.map((t,u)=>{let z=At(t,d.key,u),H=B(t[M]),C=r?B(t[r]):null,_=G?!!t[G]:C===null,pt=E?t[E]:void 0;return{index:u,id:String(S?t[S]??u:u),x:z,label:x(z,u),start:H,end:_?H:C??H,progress:T?Dt(t,T):null,milestone:_,dependsOn:Array.isArray(pt)?pt.map(Nt=>String(Nt)):[],group:$?t[$]??null:null,datum:t}}),[k,d.key,M,r,S,T,G,E,$,x]),p=N(()=>{let t=[];for(let u of i)u.group!==null&&!t.includes(u.group)&&t.push(u.group);return t},[i]),b=tt(t=>t.group===null?L??mt(0):mt(p.indexOf(t.group)),[p,L]),v=N(()=>{if(O){let C=B(O[0]),_=B(O[1]);if(C!==null&&_!==null)return[C,_]}let t=i.flatMap(C=>C.start===null?[]:[C.start,C.end??C.start]);if(t.length===0)return[0,1];let u=Math.min(...t),z=Math.max(...t),H=z-u||864e5;return[u-H*Tt,z+H*Tt]},[O,i]),y=N(()=>It(v[0],v[1],W),[v,W]),w=N(()=>F??(t=>new Intl.DateTimeFormat(l,{day:"numeric",month:"short",year:"numeric"}).format(new Date(t))),[F,l]),j=N(()=>I===!1?null:B(I??Date.now()),[I]),gt=N(()=>p.map((t,u)=>({key:t,label:t,color:mt(u),marker:"rect"})),[p]),dt=et??Math.max(120,i.length*U+48),wt=D===void 0?p.length>=2:D!==!1,ht=typeof D=="string"?D:"bottom";return e(Lt,{title:R,description:V,height:dt,width:rt,size:P,loading:n,empty:i.length===0,emptyState:nt,error:at,errorState:ot,onRetry:m,actions:o,tableView:c,legendPosition:ht,legend:wt&&gt.length>0?e(Rt,{items:gt,position:ht,marker:"rect",size:P}):void 0,table:c?e("div",{className:"w-full overflow-x-auto",children:g(Ht,{children:[typeof R=="string"?e("caption",{className:"sr-only",children:R}):null,g(Xt,{children:[e(J,{children:d.label??d.key}),e(J,{className:"text-right",children:lt??s.chartStart}),e(J,{className:"text-right",children:it??s.chartEnd}),T?e(J,{className:"text-right",children:A??s.chartProgress}):null]}),e(Wt,{children:i.map(t=>g(Vt,{clickable:!1,children:[e(q,{className:"font-medium text-gray-900 dark:text-gray-100",children:t.label}),e(q,{className:ut,children:t.start===null?"\u2014":w(t.start)}),e(q,{className:ut,children:t.milestone||t.end===null?"\u2014":w(t.end)}),T?e(q,{className:ut,children:t.progress===null?"\u2014":vt(t.progress,{locale:l,maximumFractionDigits:0})}):null]},t.index))})]})}):void 0,className:ct,...a,children:({width:t})=>e(Kt,{width:t,height:dt,data:k,tasks:i,x:d,domain:v,unit:y.unit,timeTicks:y.values,today:j,grid:Y,size:P,barSize:K,colorOf:b,margin:h,tooltip:X,plotLabel:f,todayLabel:st??s.chartToday,locale:l,formatDate:w,formatX:x,onTaskClick:Z})})}export{de as GanttChart};
@@ -0,0 +1 @@
1
+ "use strict";var n=Object.defineProperty;var e=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var f=(a,t)=>{for(var o in t)n(a,o,{get:t[o],enumerable:!0})},m=(a,t,o,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of h(t))!C.call(a,r)&&r!==o&&n(a,r,{get:()=>t[r],enumerable:!(p=e(t,r))||p.enumerable});return a};var s=a=>m(n({},"__esModule",{value:!0}),a);var x={};f(x,{GanttChart:()=>G.GanttChart});module.exports=s(x);var G=require("./GanttChart.cjs");0&&(module.exports={GanttChart});
@@ -0,0 +1 @@
1
+ import{GanttChart as r}from"./GanttChart.js";export{r as GanttChart};
@@ -0,0 +1 @@
1
+ "use strict";"use client";var y=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var Z=Object.getOwnPropertyNames;var $=Object.prototype.hasOwnProperty;var ee=(o,a)=>{for(var i in a)y(o,i,{get:a[i],enumerable:!0})},re=(o,a,i,d)=>{if(a&&typeof a=="object"||typeof a=="function")for(let l of Z(a))!$.call(o,l)&&l!==i&&y(o,l,{get:()=>a[l],enumerable:!(d=Y(a,l))||d.enumerable});return o};var ae=o=>re(y({},"__esModule",{value:!0}),o);var ne={};ee(ne,{Header:()=>te});module.exports=ae(ne);var f=require("react"),s=require("../../lib/cn.cjs"),e=require("react/jsx-runtime");function te({logo:o,logoHref:a="/",onLogoClick:i,navItems:d=[],actions:l,rightContent:p,variant:t="default",size:b="md",backgroundColor:g,textColor:S,hoverColor:B,navItemTextColor:R,navItemHoverColor:j,navItemBgHover:D,navItemActiveColor:O,sticky:T=!1,fixed:W=!1,showSearch:k=!1,onSearch:N,searchPlaceholder:u="Search...",className:z,containerClassName:Q}){let[x,_]=(0,f.useState)(!1),[w,q]=(0,f.useState)(null),[m,C]=(0,f.useState)(""),A=()=>{_(!x)},E=r=>{q(w===r?null:r)},L=r=>{r.preventDefault(),N&&N(m)},F=(0,s.cn)(T&&"sticky top-0 z-50",W&&"fixed top-0 left-0 right-0 z-50"),G=(0,s.cn)(t==="default"&&!g&&"bg-neutral text-white",t==="transparent"&&!g&&"bg-transparent",t==="bordered"&&!g&&"bg-white border-b border-gray-200 text-gray-900 dark:bg-gray-900 dark:border-gray-800 dark:text-gray-100",t==="shadow"&&!g&&"bg-white shadow-md text-gray-900 dark:bg-gray-900 dark:text-gray-100"),J=(0,s.cn)(b==="sm"&&"py-2",b==="md"&&"py-4",b==="lg"&&"py-6"),K=g||"",P=S||"",U=B||"",V=(0,s.cn)(F,G,J,K,P,z),M=(r,c,h=!1)=>{let X=r.children&&r.children.length>0,H=w===c,v=(0,s.cn)("px-4 py-2 transition-colors flex items-center gap-2",h?"block w-full text-left":"inline-flex",r.active&&"font-semibold border-b-2",r.active&&(O||"border-current"),R||(t==="default"||t==="transparent"?"text-gray-300":"text-gray-600 dark:text-gray-300"),j||U||(t==="default"||t==="transparent"?"hover:text-white":"hover:text-blue-600 dark:hover:text-blue-400"),D||"");if(X)return(0,e.jsxs)("div",{className:h?"w-full":"relative",children:[(0,e.jsxs)("button",{type:"button",onClick:()=>E(c),className:v,children:[r.icon&&(0,e.jsx)("span",{className:"w-5 h-5",children:r.icon}),(0,e.jsx)("span",{children:r.label}),r.badge&&(0,e.jsx)("span",{className:"bg-red-500 text-white text-xs px-2 py-0.5 rounded-full",children:r.badge}),(0,e.jsx)("svg",{className:(0,s.cn)("w-4 h-4 transition-transform",H&&"rotate-180"),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,e.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),H&&(0,e.jsx)("div",{className:(0,s.cn)("bg-white shadow-lg rounded-lg overflow-hidden dark:bg-gray-800 dark:shadow-black/40",h?"mt-2 mb-2":"absolute top-full left-0 mt-1 min-w-[200px]"),children:r.children?.map(n=>(0,e.jsx)("a",{href:n.href,onClick:n.onClick,target:n.external?"_blank":void 0,rel:n.external?"noopener noreferrer":void 0,className:"block px-4 py-2 text-gray-700 hover:bg-gray-100 transition-colors dark:text-gray-200 dark:hover:bg-gray-700",children:(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[n.icon&&(0,e.jsx)("span",{className:"w-5 h-5",children:n.icon}),(0,e.jsx)("span",{children:n.label}),n.badge&&(0,e.jsx)("span",{className:"bg-red-500 text-white text-xs px-2 py-0.5 rounded-full ml-auto",children:n.badge}),n.external&&(0,e.jsx)("svg",{className:"w-4 h-4 ml-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,e.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})},n.href??n.label))})]},r.href??r.label);let I=(0,e.jsxs)(e.Fragment,{children:[r.icon&&(0,e.jsx)("span",{className:"w-5 h-5",children:r.icon}),(0,e.jsx)("span",{children:r.label}),r.badge&&(0,e.jsx)("span",{className:"bg-red-500 text-white text-xs px-2 py-0.5 rounded-full",children:r.badge}),r.external&&(0,e.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,e.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]});return r.onClick?(0,e.jsx)("button",{type:"button",onClick:r.onClick,className:v,children:I},r.href??r.label):(0,e.jsx)("a",{href:r.href,target:r.external?"_blank":void 0,rel:r.external?"noopener noreferrer":void 0,className:v,children:I},r.href??r.label)};return(0,e.jsxs)("header",{className:V,children:[(0,e.jsxs)("nav",{className:(0,s.cn)("container mx-auto flex items-center justify-between px-4",Q),children:[o&&(0,e.jsx)("div",{className:"flex items-center",children:a?(0,e.jsx)("a",{href:a,onClick:i,className:"flex items-center hover:opacity-80 transition-opacity",children:o}):(0,e.jsx)("div",{className:"flex items-center",children:o})}),k&&(0,e.jsx)("form",{onSubmit:L,className:"hidden md:flex flex-1 max-w-md mx-8",children:(0,e.jsx)("input",{type:"search","aria-label":u,value:m,onChange:r=>C(r.target.value),placeholder:u,className:"w-full px-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500 text-gray-900 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-100 dark:placeholder-gray-500"})}),(0,e.jsx)("div",{className:"hidden md:flex items-center gap-2",children:d.map((r,c)=>M(r,c,!1))}),(l||p)&&(0,e.jsxs)("div",{className:"hidden md:flex items-center gap-2 ml-4",children:[l,p]}),d.length>0&&(0,e.jsx)("div",{className:"md:hidden",children:(0,e.jsx)("button",{type:"button",className:(0,s.cn)("inline-flex rounded-lg border-2 p-2 w-10 h-10 justify-center transition-colors focus:outline-none",t==="default"||t==="transparent"?"text-gray-300 hover:text-white":"text-gray-600 hover:text-gray-900 dark:text-gray-300 dark:hover:text-gray-100"),onClick:A,"aria-label":"Toggle menu","aria-expanded":x,children:(0,e.jsx)("svg",{className:"w-5 h-5","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 14",children:(0,e.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M1 1h15M1 7h15M1 13h15"})})})})]}),x&&d.length>0&&(0,e.jsx)("div",{className:(0,s.cn)("md:hidden border-t animate-in slide-in-from-top duration-300",t==="default"||t==="transparent"?"border-gray-700":"border-gray-200 dark:border-gray-800"),children:(0,e.jsxs)("div",{className:"flex flex-col py-2 px-4",children:[k&&(0,e.jsx)("form",{onSubmit:L,className:"mb-4",children:(0,e.jsx)("input",{type:"search","aria-label":u,value:m,onChange:r=>C(r.target.value),placeholder:u,className:"w-full px-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500 text-gray-900 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-100 dark:placeholder-gray-500"})}),d.map((r,c)=>M(r,c,!0)),(l||p)&&(0,e.jsxs)("div",{className:"flex flex-col gap-2 mt-4 pt-4 border-t border-gray-700",children:[l,p]})]})})]})}0&&(module.exports={Header});
@@ -0,0 +1 @@
1
+ "use client";import{useState as h}from"react";import{cn as n}from"../../lib/cn.js";import{Fragment as Y,jsx as r,jsxs as o}from"react/jsx-runtime";function ee({logo:p,logoHref:v="/",onLogoClick:I,navItems:d=[],actions:i,rightContent:c,variant:a="default",size:u="md",backgroundColor:l,textColor:S,hoverColor:B,navItemTextColor:R,navItemHoverColor:j,navItemBgHover:D,navItemActiveColor:O,sticky:T=!1,fixed:W=!1,showSearch:y=!1,onSearch:k,searchPlaceholder:g="Search...",className:z,containerClassName:Q}){let[f,_]=h(!1),[N,q]=h(null),[b,w]=h(""),A=()=>{_(!f)},E=e=>{q(N===e?null:e)},C=e=>{e.preventDefault(),k&&k(b)},F=n(T&&"sticky top-0 z-50",W&&"fixed top-0 left-0 right-0 z-50"),G=n(a==="default"&&!l&&"bg-neutral text-white",a==="transparent"&&!l&&"bg-transparent",a==="bordered"&&!l&&"bg-white border-b border-gray-200 text-gray-900 dark:bg-gray-900 dark:border-gray-800 dark:text-gray-100",a==="shadow"&&!l&&"bg-white shadow-md text-gray-900 dark:bg-gray-900 dark:text-gray-100"),J=n(u==="sm"&&"py-2",u==="md"&&"py-4",u==="lg"&&"py-6"),K=l||"",P=S||"",U=B||"",V=n(F,G,J,K,P,z),L=(e,s,x=!1)=>{let X=e.children&&e.children.length>0,M=N===s,m=n("px-4 py-2 transition-colors flex items-center gap-2",x?"block w-full text-left":"inline-flex",e.active&&"font-semibold border-b-2",e.active&&(O||"border-current"),R||(a==="default"||a==="transparent"?"text-gray-300":"text-gray-600 dark:text-gray-300"),j||U||(a==="default"||a==="transparent"?"hover:text-white":"hover:text-blue-600 dark:hover:text-blue-400"),D||"");if(X)return o("div",{className:x?"w-full":"relative",children:[o("button",{type:"button",onClick:()=>E(s),className:m,children:[e.icon&&r("span",{className:"w-5 h-5",children:e.icon}),r("span",{children:e.label}),e.badge&&r("span",{className:"bg-red-500 text-white text-xs px-2 py-0.5 rounded-full",children:e.badge}),r("svg",{className:n("w-4 h-4 transition-transform",M&&"rotate-180"),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),M&&r("div",{className:n("bg-white shadow-lg rounded-lg overflow-hidden dark:bg-gray-800 dark:shadow-black/40",x?"mt-2 mb-2":"absolute top-full left-0 mt-1 min-w-[200px]"),children:e.children?.map(t=>r("a",{href:t.href,onClick:t.onClick,target:t.external?"_blank":void 0,rel:t.external?"noopener noreferrer":void 0,className:"block px-4 py-2 text-gray-700 hover:bg-gray-100 transition-colors dark:text-gray-200 dark:hover:bg-gray-700",children:o("div",{className:"flex items-center gap-2",children:[t.icon&&r("span",{className:"w-5 h-5",children:t.icon}),r("span",{children:t.label}),t.badge&&r("span",{className:"bg-red-500 text-white text-xs px-2 py-0.5 rounded-full ml-auto",children:t.badge}),t.external&&r("svg",{className:"w-4 h-4 ml-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})},t.href??t.label))})]},e.href??e.label);let H=o(Y,{children:[e.icon&&r("span",{className:"w-5 h-5",children:e.icon}),r("span",{children:e.label}),e.badge&&r("span",{className:"bg-red-500 text-white text-xs px-2 py-0.5 rounded-full",children:e.badge}),e.external&&r("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]});return e.onClick?r("button",{type:"button",onClick:e.onClick,className:m,children:H},e.href??e.label):r("a",{href:e.href,target:e.external?"_blank":void 0,rel:e.external?"noopener noreferrer":void 0,className:m,children:H},e.href??e.label)};return o("header",{className:V,children:[o("nav",{className:n("container mx-auto flex items-center justify-between px-4",Q),children:[p&&r("div",{className:"flex items-center",children:v?r("a",{href:v,onClick:I,className:"flex items-center hover:opacity-80 transition-opacity",children:p}):r("div",{className:"flex items-center",children:p})}),y&&r("form",{onSubmit:C,className:"hidden md:flex flex-1 max-w-md mx-8",children:r("input",{type:"search","aria-label":g,value:b,onChange:e=>w(e.target.value),placeholder:g,className:"w-full px-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500 text-gray-900 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-100 dark:placeholder-gray-500"})}),r("div",{className:"hidden md:flex items-center gap-2",children:d.map((e,s)=>L(e,s,!1))}),(i||c)&&o("div",{className:"hidden md:flex items-center gap-2 ml-4",children:[i,c]}),d.length>0&&r("div",{className:"md:hidden",children:r("button",{type:"button",className:n("inline-flex rounded-lg border-2 p-2 w-10 h-10 justify-center transition-colors focus:outline-none",a==="default"||a==="transparent"?"text-gray-300 hover:text-white":"text-gray-600 hover:text-gray-900 dark:text-gray-300 dark:hover:text-gray-100"),onClick:A,"aria-label":"Toggle menu","aria-expanded":f,children:r("svg",{className:"w-5 h-5","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 14",children:r("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M1 1h15M1 7h15M1 13h15"})})})})]}),f&&d.length>0&&r("div",{className:n("md:hidden border-t animate-in slide-in-from-top duration-300",a==="default"||a==="transparent"?"border-gray-700":"border-gray-200 dark:border-gray-800"),children:o("div",{className:"flex flex-col py-2 px-4",children:[y&&r("form",{onSubmit:C,className:"mb-4",children:r("input",{type:"search","aria-label":g,value:b,onChange:e=>w(e.target.value),placeholder:g,className:"w-full px-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500 text-gray-900 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-100 dark:placeholder-gray-500"})}),d.map((e,s)=>L(e,s,!0)),(i||c)&&o("div",{className:"flex flex-col gap-2 mt-4 pt-4 border-t border-gray-700",children:[i,c]})]})})]})}export{ee as Header};
@@ -0,0 +1 @@
1
+ "use strict";var p=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var x=(r,e)=>{for(var a in e)p(r,a,{get:e[a],enumerable:!0})},s=(r,e,a,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of H(e))!f.call(r,o)&&o!==a&&p(r,o,{get:()=>e[o],enumerable:!(t=m(e,o))||t.enumerable});return r};var v=r=>s(p({},"__esModule",{value:!0}),r);var y={};x(y,{Header:()=>d.Header});module.exports=v(y);var d=require("./Header.cjs");0&&(module.exports={Header});
@@ -0,0 +1 @@
1
+ import{Header as o}from"./Header.js";export{o as Header};
@@ -0,0 +1 @@
1
+ "use strict";"use client";var te=Object.defineProperty;var be=Object.getOwnPropertyDescriptor;var pe=Object.getOwnPropertyNames;var Ce=Object.prototype.hasOwnProperty;var ke=(i,r)=>{for(var t in r)te(i,t,{get:r[t],enumerable:!0})},ye=(i,r,t,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let f of pe(r))!Ce.call(i,f)&&f!==t&&te(i,f,{get:()=>r[f],enumerable:!(e=be(r,f))||e.enumerable});return i};var we=i=>ye(te({},"__esModule",{value:!0}),i);var Re={};ke(Re,{Heatmap:()=>He,resetHeatmapWarnings:()=>Xe});module.exports=we(Re);var c=require("react"),se=require("../../lib/cn.cjs"),ae=require("../chart/ChartAxis.cjs"),ue=require("../chart/ChartContainer.cjs"),ce=require("../chart/ChartScaleLegend.cjs"),me=require("../chart/ChartTableView.cjs"),he=require("../chart/ChartTooltip.cjs"),M=require("../chart/palette.cjs"),z=require("../chart/utils/data.cjs"),G=require("../chart/utils/format.cjs"),k=require("../chart/utils/scales.cjs"),L=require("../chart/utils/text.cjs"),de=require("../chart/utils/ticks.cjs"),n=require("react/jsx-runtime"),ve=2,Se=2,xe=12,Le=16,oe="cell:",ne=!1,Ve=(0,c.memo)(function({cells:r,radius:t}){return(0,n.jsx)("g",{children:r.map(e=>(0,n.jsxs)("g",{children:[(0,n.jsx)("rect",{x:e.x,y:e.y,width:e.width,height:e.height,rx:t,fill:e.missing?void 0:e.color,className:e.missing?"fill-gray-100 dark:fill-gray-800":void 0}),e.label?(0,n.jsx)("text",{x:e.x+e.width/2,y:e.y+e.height/2,textAnchor:"middle",dominantBaseline:"central",className:(0,se.cn)("text-[10px] [font-variant-numeric:tabular-nums]",e.onDark?"fill-gray-50 dark:fill-gray-900":"fill-gray-900 dark:fill-gray-50"),children:e.label}):null]},e.key))})});function Ee({width:i,height:r,columns:t,rows:e,lookup:f,colorScale:S,x:b,y:p,size:V,cellGap:w,cellRadius:W,showValues:I,tooltip:$,plotLabel:J,formatValue:N,formatX:A,formatY:T,onCellClick:P}){let[m,D]=(0,c.useState)(null),a=(0,c.useMemo)(()=>{let C=t.map((g,o)=>A(g,o)),s=e.map((g,o)=>T(g,o)),l={top:8,right:8,bottom:b.hidden?8:b.height??24+(b.label?16:0),left:p.hidden?8:p.height??(0,L.widestLabel)(s)+xe+(p.label?16:0)},v=Math.max(0,i-l.left-l.right),h=Math.max(0,r-l.top-l.bottom),d=(0,k.createBandScale)(t.map((g,o)=>o),[0,v],{paddingInner:0,paddingOuter:0}),x=(0,k.createBandScale)(e.map((g,o)=>o),[0,h],{paddingInner:0,paddingOuter:0}),Y=Math.max(0,d.bandwidth-w),Z=Math.max(0,x.bandwidth-w),X=[];e.forEach((g,o)=>{t.forEach((ee,q)=>{let E=f.get(`${(0,k.toKey)(ee)}|${(0,k.toKey)(g)}`)?.value??null,u=null;if(I&&E!==null&&Z>=Le){let y=N(E);(0,L.estimateTextWidth)(y,10)+6<=Y&&(u=y)}X.push({key:`${q}-${o}`,column:q,row:o,x:d(q)+w/2,y:x(o)+w/2,width:Y,height:Z,color:E===null?"transparent":S(E),label:u,onDark:E!==null&&S.onDark(E),missing:E===null})})});let B=(0,L.labelStride)(C.length,v,(0,L.widestLabel)(C)),R=(0,L.labelStride)(s.length,h,L.AXIS_FONT_SIZE+4),O=b.hidden?[]:C.map((g,o)=>({value:t[o],offset:d.center(o),label:g})).filter((g,o)=>o%B===0),U=p.hidden?[]:s.map((g,o)=>({value:e[o],offset:x.center(o),label:g})).filter((g,o)=>o%R===0);return{margin:l,innerWidth:v,innerHeight:h,columnScale:d,rowScale:x,cells:X,columnTicks:O,rowTicks:U}},[t,e,f,S,b,p,i,r,w,I,N,A,T]),_=(0,c.useCallback)((C,s)=>{let l=t[C],v=e[s],h=f.get(`${(0,k.toKey)(l)}|${(0,k.toKey)(v)}`),d=h?.value??null;return{x:l,y:v,xLabel:A(l,C),yLabel:T(v,s),value:d,formattedValue:d===null?"\u2014":N(d),color:d===null?"transparent":S(d),datum:h?.datum}},[t,e,f,S,N,A,T]),K=(0,c.useCallback)(C=>{if($===!1||t.length===0||e.length===0)return;let s=C.currentTarget.getBoundingClientRect(),l=C.clientX-s.left-a.margin.left,v=C.clientY-s.top-a.margin.top,h=Math.floor(l/(a.columnScale.step||1)),d=Math.floor(v/(a.rowScale.step||1));if(h<0||h>=t.length||d<0||d>=e.length){D(null);return}D(x=>x?.column===h&&x.row===d?x:{column:h,row:d})},[$,t.length,e.length,a.margin,a.columnScale,a.rowScale]),Q=(0,c.useCallback)(C=>{if(t.length===0||e.length===0)return;let s=m??{column:0,row:0},l;switch(C.key){case"ArrowRight":l={...s,column:Math.min(t.length-1,s.column+1)};break;case"ArrowLeft":l={...s,column:Math.max(0,s.column-1)};break;case"ArrowDown":l={...s,row:Math.min(e.length-1,s.row+1)};break;case"ArrowUp":l={...s,row:Math.max(0,s.row-1)};break;case"Home":l={...s,column:0};break;case"End":l={...s,column:t.length-1};break;case"Escape":l=null;break;default:l=void 0}l!==void 0&&(C.preventDefault(),D(l))},[t.length,e.length,m]),j=(0,c.useCallback)(()=>{!P||!m||P(_(m.column,m.row))},[P,m,_]),H=m?_(m.column,m.row):null;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("svg",{width:i,height:r,role:"img","aria-label":J??`${b.label??b.key} / ${p.label??p.key}`,tabIndex:0,className:"touch-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",onPointerMove:K,onPointerLeave:()=>D(null),onKeyDown:Q,onBlur:()=>D(null),onClick:j,children:[(0,n.jsxs)("g",{transform:`translate(${a.margin.left}, ${a.margin.top})`,children:[(0,n.jsx)(Ve,{cells:a.cells,radius:W}),m?(0,n.jsx)("rect",{x:a.columnScale(m.column)+w/2,y:a.rowScale(m.row)+w/2,width:Math.max(0,a.columnScale.bandwidth-w),height:Math.max(0,a.rowScale.bandwidth-w),rx:W,fill:"none",strokeWidth:2,className:"stroke-gray-900 dark:stroke-white","aria-hidden":"true"}):null]}),(0,n.jsx)("g",{transform:`translate(${a.margin.left}, ${a.margin.top+a.innerHeight})`,children:b.hidden?null:(0,n.jsx)(ae.ChartAxis,{orientation:"bottom",ticks:a.columnTicks,length:a.innerWidth,showLine:!1,tickSize:0,label:b.label,size:V})}),(0,n.jsx)("g",{transform:`translate(${a.margin.left}, ${a.margin.top})`,children:p.hidden?null:(0,n.jsx)(ae.ChartAxis,{orientation:"left",ticks:a.rowTicks,length:a.innerHeight,showLine:!1,tickSize:0,label:p.label,size:V})})]}),m&&H&&$!==!1?(0,n.jsx)(he.ChartTooltip,{x:a.margin.left+a.columnScale.center(m.column),y:a.margin.top+a.rowScale.center(m.row),containerWidth:i,children:typeof $=="function"?$(H):(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsxs)("div",{className:"font-medium text-gray-900 dark:text-gray-100",children:[H.yLabel," \xB7 ",H.xLabel]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"h-2.5 w-2.5 shrink-0 rounded-sm",style:{backgroundColor:H.color},"aria-hidden":"true"}),(0,n.jsx)("span",{className:"font-semibold text-gray-900 [font-variant-numeric:tabular-nums] dark:text-gray-100",children:H.formattedValue})]})]})}):null]})}function ie(i,r,t){if(t)return t;let e=new Map;return i.forEach((f,S)=>{let b=(0,z.readXValue)(f,r,S),p=(0,k.toKey)(b);e.has(p)||e.set(p,b)}),[...e.values()]}function He({data:i,x:r,y:t,value:e,format:f,domain:S,scale:b="sequential",center:p=0,steps:V,colors:w,xDomain:W,yDomain:I,cellGap:$=ve,cellRadius:J=Se,showValues:N=!1,height:A=280,width:T,size:P="md",legend:m=!0,legendLabel:D,tooltip:a=!0,tableView:_=!1,title:K,description:Q,loading:j=!1,emptyState:H,error:C=!1,errorState:s,onRetry:l,actions:v,locale:h,plotLabel:d,onCellClick:x,className:Y,...Z}){V!==void 0&&V>M.CHART_MAX_COLOR_CLASSES&&!ne&&(ne=!0,console.warn(`[@synertech/ui] A Heatmap was cut into ${V} colour classes. Past ${M.CHART_MAX_COLOR_CLASSES} two neighbouring cells stop being tellable apart: leave \`steps\` unset and let the ramp stay continuous.`));let X=(0,c.useMemo)(()=>ie(i,r.key,W),[i,r.key,W]),B=(0,c.useMemo)(()=>ie(i,t.key,I),[i,t.key,I]),R=(0,c.useMemo)(()=>{let u=new Map;return i.forEach((y,F)=>{let le=(0,z.readNumber)(y,e);if(le===null)return;let ge=(0,z.readXValue)(y,r.key,F),fe=(0,z.readXValue)(y,t.key,F);u.set(`${(0,k.toKey)(ge)}|${(0,k.toKey)(fe)}`,{value:le,datum:y})}),u},[i,r.key,t.key,e]),O=(0,c.useMemo)(()=>f??(u=>(0,G.formatAuto)(u,h)),[f,h]),U=(0,c.useMemo)(()=>r.format??(u=>(0,G.formatXValue)(u,h)),[r.format,h]),g=(0,c.useMemo)(()=>t.format??(u=>(0,G.formatXValue)(u,h)),[t.format,h]),o=(0,c.useMemo)(()=>{let u=S??(0,de.extent)([...R.values()].map(y=>y.value))??[0,1];return b==="diverging"?(0,M.createDivergingScale)(u,{center:p,steps:V,colors:w}):(0,M.createSequentialScale)(u,{steps:V,colors:w})},[S,R,b,p,V,w]),ee=(0,c.useMemo)(()=>B.map(u=>{let y={[t.key]:u};return X.forEach(F=>{y[`${oe}${(0,k.toKey)(F)}`]=R.get(`${(0,k.toKey)(F)}|${(0,k.toKey)(u)}`)?.value??null}),y}),[B,X,R,t.key]),q=(0,c.useMemo)(()=>X.map((u,y)=>({key:`${oe}${(0,k.toKey)(u)}`,label:U(u,y)})),[X,U]),re=m!==!1,E=typeof m=="string"?m:"bottom";return(0,n.jsx)(ue.ChartContainer,{title:K,description:Q,height:A,width:T,size:P,loading:j,empty:R.size===0,emptyState:H,error:C,errorState:s,onRetry:l,actions:v,tableView:_,legendPosition:E,legend:re?(0,n.jsx)(ce.ChartScaleLegend,{scale:o,label:D,format:O,size:P,locale:h}):void 0,table:_?(0,n.jsx)(me.ChartTableView,{data:ee,series:q,xKey:t.key,xLabel:t.label??t.key,formatX:g,formatValue:O,caption:typeof K=="string"?K:void 0}):void 0,className:Y,...Z,children:({width:u})=>(0,n.jsx)(Ee,{width:u,height:A,columns:X,rows:B,lookup:R,colorScale:o,x:r,y:t,size:P,cellGap:$,cellRadius:J,showValues:N,tooltip:a,plotLabel:d,formatValue:O,formatX:U,formatY:g,onCellClick:x})})}function Xe(){ne=!1}0&&(module.exports={Heatmap,resetHeatmapWarnings});