@acronis-platform/ui-react 3.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (772) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +11 -0
  2. package/dist/components/ui/accordion/accordion.js +40 -53
  3. package/dist/components/ui/accordion/accordion.js.map +1 -1
  4. package/dist/components/ui/accordion-container/accordion-container.js +93 -141
  5. package/dist/components/ui/accordion-container/accordion-container.js.map +1 -1
  6. package/dist/components/ui/alert/alert.js +95 -156
  7. package/dist/components/ui/alert/alert.js.map +1 -1
  8. package/dist/components/ui/app-shell-chat/app-shell-chat.js +233 -332
  9. package/dist/components/ui/app-shell-chat/app-shell-chat.js.map +1 -1
  10. package/dist/components/ui/area-chart/area-chart.js +155 -238
  11. package/dist/components/ui/area-chart/area-chart.js.map +1 -1
  12. package/dist/components/ui/avatar/avatar.js +47 -84
  13. package/dist/components/ui/avatar/avatar.js.map +1 -1
  14. package/dist/components/ui/bar-chart/bar-chart.js +405 -613
  15. package/dist/components/ui/bar-chart/bar-chart.js.map +1 -1
  16. package/dist/components/ui/breadcrumb/breadcrumb.js +68 -116
  17. package/dist/components/ui/breadcrumb/breadcrumb.js.map +1 -1
  18. package/dist/components/ui/button/button.js +31 -40
  19. package/dist/components/ui/button/button.js.map +1 -1
  20. package/dist/components/ui/button-group/button-group.js +33 -55
  21. package/dist/components/ui/button-group/button-group.js.map +1 -1
  22. package/dist/components/ui/button-icon/button-icon.js +26 -35
  23. package/dist/components/ui/button-icon/button-icon.js.map +1 -1
  24. package/dist/components/ui/button-icon-input/button-icon-input.js +28 -35
  25. package/dist/components/ui/button-icon-input/button-icon-input.js.map +1 -1
  26. package/dist/components/ui/button-icon-menu/button-icon-menu.js +22 -26
  27. package/dist/components/ui/button-icon-menu/button-icon-menu.js.map +1 -1
  28. package/dist/components/ui/button-menu/button-menu.js +36 -52
  29. package/dist/components/ui/button-menu/button-menu.js.map +1 -1
  30. package/dist/components/ui/calendar/calendar.js +103 -202
  31. package/dist/components/ui/calendar/calendar.js.map +1 -1
  32. package/dist/components/ui/calendar-panel/calendar-panel-utils.js +46 -57
  33. package/dist/components/ui/calendar-panel/calendar-panel-utils.js.map +1 -1
  34. package/dist/components/ui/calendar-panel/calendar-panel.js +136 -257
  35. package/dist/components/ui/calendar-panel/calendar-panel.js.map +1 -1
  36. package/dist/components/ui/card/card.js +104 -168
  37. package/dist/components/ui/card/card.js.map +1 -1
  38. package/dist/components/ui/card-filter/card-filter.js +49 -76
  39. package/dist/components/ui/card-filter/card-filter.js.map +1 -1
  40. package/dist/components/ui/card-section/card-section.js +81 -111
  41. package/dist/components/ui/card-section/card-section.js.map +1 -1
  42. package/dist/components/ui/carousel-dialog/carousel-dialog.js +49 -87
  43. package/dist/components/ui/carousel-dialog/carousel-dialog.js.map +1 -1
  44. package/dist/components/ui/category-bar/category-bar.js +122 -145
  45. package/dist/components/ui/category-bar/category-bar.js.map +1 -1
  46. package/dist/components/ui/chart/chart-format.js +117 -153
  47. package/dist/components/ui/chart/chart-format.js.map +1 -1
  48. package/dist/components/ui/chart/chart-palette.js +69 -0
  49. package/dist/components/ui/chart/chart-palette.js.map +1 -0
  50. package/dist/components/ui/chart/chart.js +178 -259
  51. package/dist/components/ui/chart/chart.js.map +1 -1
  52. package/dist/components/ui/chart-state/chart-state-illustrations.js +412 -0
  53. package/dist/components/ui/chart-state/chart-state-illustrations.js.map +1 -0
  54. package/dist/components/ui/chart-state/chart-state.js +40 -42
  55. package/dist/components/ui/chart-state/chart-state.js.map +1 -1
  56. package/dist/components/ui/chart-widget/chart-widget.js +40 -0
  57. package/dist/components/ui/chart-widget/chart-widget.js.map +1 -0
  58. package/dist/components/ui/checkbox/checkbox.js +56 -69
  59. package/dist/components/ui/checkbox/checkbox.js.map +1 -1
  60. package/dist/components/ui/chip/chip.js +51 -70
  61. package/dist/components/ui/chip/chip.js.map +1 -1
  62. package/dist/components/ui/combobox/combobox.js +88 -151
  63. package/dist/components/ui/combobox/combobox.js.map +1 -1
  64. package/dist/components/ui/composed-chart/composed-chart.js +297 -432
  65. package/dist/components/ui/composed-chart/composed-chart.js.map +1 -1
  66. package/dist/components/ui/confidence-cone/confidence-cone.js +214 -324
  67. package/dist/components/ui/confidence-cone/confidence-cone.js.map +1 -1
  68. package/dist/components/ui/data-table/data-table-bulk-actions-bar.js +32 -37
  69. package/dist/components/ui/data-table/data-table-bulk-actions-bar.js.map +1 -1
  70. package/dist/components/ui/data-table/data-table-column-header.js +23 -38
  71. package/dist/components/ui/data-table/data-table-column-header.js.map +1 -1
  72. package/dist/components/ui/data-table/data-table-expand-trigger.js +23 -46
  73. package/dist/components/ui/data-table/data-table-expand-trigger.js.map +1 -1
  74. package/dist/components/ui/data-table/data-table-pagination.js +84 -89
  75. package/dist/components/ui/data-table/data-table-pagination.js.map +1 -1
  76. package/dist/components/ui/data-table/data-table-selection.js +7 -6
  77. package/dist/components/ui/data-table/data-table-selection.js.map +1 -1
  78. package/dist/components/ui/data-table/data-table-toolbar.js +51 -76
  79. package/dist/components/ui/data-table/data-table-toolbar.js.map +1 -1
  80. package/dist/components/ui/data-table/data-table-view-options.js +21 -28
  81. package/dist/components/ui/data-table/data-table-view-options.js.map +1 -1
  82. package/dist/components/ui/data-table/data-table.js +304 -438
  83. package/dist/components/ui/data-table/data-table.js.map +1 -1
  84. package/dist/components/ui/date-range-picker/date-range-picker-utils.js +16 -14
  85. package/dist/components/ui/date-range-picker/date-range-picker-utils.js.map +1 -1
  86. package/dist/components/ui/date-range-picker/date-range-picker.js +77 -111
  87. package/dist/components/ui/date-range-picker/date-range-picker.js.map +1 -1
  88. package/dist/components/ui/description-list/description-list.js +44 -54
  89. package/dist/components/ui/description-list/description-list.js.map +1 -1
  90. package/dist/components/ui/dialog/dialog.js +229 -310
  91. package/dist/components/ui/dialog/dialog.js.map +1 -1
  92. package/dist/components/ui/dialog-footer-carousel/dialog-footer-carousel.js +33 -57
  93. package/dist/components/ui/dialog-footer-carousel/dialog-footer-carousel.js.map +1 -1
  94. package/dist/components/ui/dialog-footer-default/dialog-footer-default.js +21 -26
  95. package/dist/components/ui/dialog-footer-default/dialog-footer-default.js.map +1 -1
  96. package/dist/components/ui/dialog-welcome/dialog-welcome.js +221 -267
  97. package/dist/components/ui/dialog-welcome/dialog-welcome.js.map +1 -1
  98. package/dist/components/ui/dropdown-menu/dropdown-menu.js +101 -168
  99. package/dist/components/ui/dropdown-menu/dropdown-menu.js.map +1 -1
  100. package/dist/components/ui/empty/empty.js +49 -77
  101. package/dist/components/ui/empty/empty.js.map +1 -1
  102. package/dist/components/ui/empty-overlay/empty-overlay.js +43 -49
  103. package/dist/components/ui/empty-overlay/empty-overlay.js.map +1 -1
  104. package/dist/components/ui/field/field.js +95 -178
  105. package/dist/components/ui/field/field.js.map +1 -1
  106. package/dist/components/ui/filter-cards/filter-cards.js +16 -25
  107. package/dist/components/ui/filter-cards/filter-cards.js.map +1 -1
  108. package/dist/components/ui/filter-chips/filter-chips.js +36 -44
  109. package/dist/components/ui/filter-chips/filter-chips.js.map +1 -1
  110. package/dist/components/ui/filter-search/filter-search.js +139 -209
  111. package/dist/components/ui/filter-search/filter-search.js.map +1 -1
  112. package/dist/components/ui/fitted-actions/fitted-actions.js +87 -137
  113. package/dist/components/ui/fitted-actions/fitted-actions.js.map +1 -1
  114. package/dist/components/ui/form/form.js +14 -15
  115. package/dist/components/ui/form/form.js.map +1 -1
  116. package/dist/components/ui/funnel-chart/funnel-chart.js +190 -273
  117. package/dist/components/ui/funnel-chart/funnel-chart.js.map +1 -1
  118. package/dist/components/ui/grid/grid.js +61 -68
  119. package/dist/components/ui/grid/grid.js.map +1 -1
  120. package/dist/components/ui/histogram/histogram.js +107 -139
  121. package/dist/components/ui/histogram/histogram.js.map +1 -1
  122. package/dist/components/ui/input/input.js +14 -21
  123. package/dist/components/ui/input/input.js.map +1 -1
  124. package/dist/components/ui/input-date-picker/input-date-picker.js +70 -114
  125. package/dist/components/ui/input-date-picker/input-date-picker.js.map +1 -1
  126. package/dist/components/ui/input-num-picker/input-num-picker.js +48 -0
  127. package/dist/components/ui/input-num-picker/input-num-picker.js.map +1 -0
  128. package/dist/components/ui/input-otp/input-otp.js +75 -104
  129. package/dist/components/ui/input-otp/input-otp.js.map +1 -1
  130. package/dist/components/ui/input-password/input-password.js +71 -126
  131. package/dist/components/ui/input-password/input-password.js.map +1 -1
  132. package/dist/components/ui/input-search/input-search.js +32 -56
  133. package/dist/components/ui/input-search/input-search.js.map +1 -1
  134. package/dist/components/ui/input-select/input-select.js +225 -335
  135. package/dist/components/ui/input-select/input-select.js.map +1 -1
  136. package/dist/components/ui/input-text/input-text.js +54 -98
  137. package/dist/components/ui/input-text/input-text.js.map +1 -1
  138. package/dist/components/ui/input-text-area/input-text-area.js +41 -86
  139. package/dist/components/ui/input-text-area/input-text-area.js.map +1 -1
  140. package/dist/components/ui/label/label.js +6 -12
  141. package/dist/components/ui/label/label.js.map +1 -1
  142. package/dist/components/ui/line-chart/line-chart.js +175 -275
  143. package/dist/components/ui/line-chart/line-chart.js.map +1 -1
  144. package/dist/components/ui/link/link.js +34 -54
  145. package/dist/components/ui/link/link.js.map +1 -1
  146. package/dist/components/ui/loading/loading.js +51 -78
  147. package/dist/components/ui/loading/loading.js.map +1 -1
  148. package/dist/components/ui/meter/meter.js +79 -93
  149. package/dist/components/ui/meter/meter.js.map +1 -1
  150. package/dist/components/ui/metric/metric.js +83 -200
  151. package/dist/components/ui/metric/metric.js.map +1 -1
  152. package/dist/components/ui/number-field/number-field.js +36 -60
  153. package/dist/components/ui/number-field/number-field.js.map +1 -1
  154. package/dist/components/ui/page-content/page-content.js +15 -19
  155. package/dist/components/ui/page-content/page-content.js.map +1 -1
  156. package/dist/components/ui/page-header/page-header.js +120 -181
  157. package/dist/components/ui/page-header/page-header.js.map +1 -1
  158. package/dist/components/ui/pagination/pagination.js +58 -86
  159. package/dist/components/ui/pagination/pagination.js.map +1 -1
  160. package/dist/components/ui/pie-chart/pie-chart.js +189 -262
  161. package/dist/components/ui/pie-chart/pie-chart.js.map +1 -1
  162. package/dist/components/ui/popover/popover.js +51 -96
  163. package/dist/components/ui/popover/popover.js.map +1 -1
  164. package/dist/components/ui/progress/progress.js +23 -29
  165. package/dist/components/ui/progress/progress.js.map +1 -1
  166. package/dist/components/ui/progress-circle/progress-circle.js +97 -113
  167. package/dist/components/ui/progress-circle/progress-circle.js.map +1 -1
  168. package/dist/components/ui/radar-chart/radar-chart.js +127 -223
  169. package/dist/components/ui/radar-chart/radar-chart.js.map +1 -1
  170. package/dist/components/ui/radial-bar-chart/radial-bar-chart.js +267 -367
  171. package/dist/components/ui/radial-bar-chart/radial-bar-chart.js.map +1 -1
  172. package/dist/components/ui/radio/radio.js +22 -43
  173. package/dist/components/ui/radio/radio.js.map +1 -1
  174. package/dist/components/ui/resizable/resizable.js +20 -64
  175. package/dist/components/ui/resizable/resizable.js.map +1 -1
  176. package/dist/components/ui/sankey-chart/sankey-chart.js +155 -195
  177. package/dist/components/ui/sankey-chart/sankey-chart.js.map +1 -1
  178. package/dist/components/ui/scatter-chart/scatter-chart.js +95 -138
  179. package/dist/components/ui/scatter-chart/scatter-chart.js.map +1 -1
  180. package/dist/components/ui/scroll-area/scroll-area.js +43 -77
  181. package/dist/components/ui/scroll-area/scroll-area.js.map +1 -1
  182. package/dist/components/ui/search/search.js +58 -92
  183. package/dist/components/ui/search/search.js.map +1 -1
  184. package/dist/components/ui/section/section.js +125 -37
  185. package/dist/components/ui/section/section.js.map +1 -1
  186. package/dist/components/ui/separator/separator.js +16 -22
  187. package/dist/components/ui/separator/separator.js.map +1 -1
  188. package/dist/components/ui/sheet/sheet-details.js +55 -78
  189. package/dist/components/ui/sheet/sheet-details.js.map +1 -1
  190. package/dist/components/ui/sheet/sheet.js +80 -136
  191. package/dist/components/ui/sheet/sheet.js.map +1 -1
  192. package/dist/components/ui/sidebar-primary/sidebar-primary.js +220 -364
  193. package/dist/components/ui/sidebar-primary/sidebar-primary.js.map +1 -1
  194. package/dist/components/ui/sidebar-secondary/sidebar-secondary.js +459 -641
  195. package/dist/components/ui/sidebar-secondary/sidebar-secondary.js.map +1 -1
  196. package/dist/components/ui/skeleton/skeleton.js +14 -21
  197. package/dist/components/ui/skeleton/skeleton.js.map +1 -1
  198. package/dist/components/ui/slider/slider.js +28 -42
  199. package/dist/components/ui/slider/slider.js.map +1 -1
  200. package/dist/components/ui/spinner/spinner.js +28 -37
  201. package/dist/components/ui/spinner/spinner.js.map +1 -1
  202. package/dist/components/ui/stack/stack.js +59 -61
  203. package/dist/components/ui/stack/stack.js.map +1 -1
  204. package/dist/components/ui/stepper/stepper.js +52 -70
  205. package/dist/components/ui/stepper/stepper.js.map +1 -1
  206. package/dist/components/ui/stepper-item/stepper-item.js +85 -97
  207. package/dist/components/ui/stepper-item/stepper-item.js.map +1 -1
  208. package/dist/components/ui/switch/switch.js +26 -40
  209. package/dist/components/ui/switch/switch.js.map +1 -1
  210. package/dist/components/ui/table/table-pagination.js +91 -106
  211. package/dist/components/ui/table/table-pagination.js.map +1 -1
  212. package/dist/components/ui/table/table-view-options.js +37 -53
  213. package/dist/components/ui/table/table-view-options.js.map +1 -1
  214. package/dist/components/ui/table/table.js +90 -177
  215. package/dist/components/ui/table/table.js.map +1 -1
  216. package/dist/components/ui/tabs/tabs.js +26 -43
  217. package/dist/components/ui/tabs/tabs.js.map +1 -1
  218. package/dist/components/ui/tag/tag.js +42 -47
  219. package/dist/components/ui/tag/tag.js.map +1 -1
  220. package/dist/components/ui/timeline/timeline.js +161 -239
  221. package/dist/components/ui/timeline/timeline.js.map +1 -1
  222. package/dist/components/ui/timer/timer.js +24 -47
  223. package/dist/components/ui/timer/timer.js.map +1 -1
  224. package/dist/components/ui/toast/toast.js +134 -189
  225. package/dist/components/ui/toast/toast.js.map +1 -1
  226. package/dist/components/ui/toggle-group/toggle-group.js +28 -46
  227. package/dist/components/ui/toggle-group/toggle-group.js.map +1 -1
  228. package/dist/components/ui/toolbar/toolbar.js +128 -201
  229. package/dist/components/ui/toolbar/toolbar.js.map +1 -1
  230. package/dist/components/ui/tooltip/tooltip.js +35 -57
  231. package/dist/components/ui/tooltip/tooltip.js.map +1 -1
  232. package/dist/components/ui/treemap/treemap.js +135 -204
  233. package/dist/components/ui/treemap/treemap.js.map +1 -1
  234. package/dist/components/ui/trend-indicator/trend-indicator.js +48 -97
  235. package/dist/components/ui/trend-indicator/trend-indicator.js.map +1 -1
  236. package/dist/components/ui/truncate-text/middle-truncate.js +19 -19
  237. package/dist/components/ui/truncate-text/middle-truncate.js.map +1 -1
  238. package/dist/components/ui/truncate-text/text-width.js +11 -10
  239. package/dist/components/ui/truncate-text/text-width.js.map +1 -1
  240. package/dist/components/ui/truncate-text/truncate-text.js +92 -152
  241. package/dist/components/ui/truncate-text/truncate-text.js.map +1 -1
  242. package/dist/components/ui/widget-placeholder/widget-placeholder.js +63 -106
  243. package/dist/components/ui/widget-placeholder/widget-placeholder.js.map +1 -1
  244. package/dist/components/ui/wizard/wizard.js +36 -0
  245. package/dist/components/ui/wizard/wizard.js.map +1 -0
  246. package/dist/hooks/use-intersection-observer.js +27 -25
  247. package/dist/hooks/use-intersection-observer.js.map +1 -1
  248. package/dist/hooks/use-sort-state.js +43 -33
  249. package/dist/hooks/use-sort-state.js.map +1 -1
  250. package/dist/hooks/use-table-url-state.js +100 -109
  251. package/dist/hooks/use-table-url-state.js.map +1 -1
  252. package/dist/hooks/use-wizard.js +61 -0
  253. package/dist/hooks/use-wizard.js.map +1 -0
  254. package/dist/index.js +124 -544
  255. package/dist/lib/breakpoints.js +8 -13
  256. package/dist/lib/breakpoints.js.map +1 -1
  257. package/dist/lib/deep-equal.js +14 -22
  258. package/dist/lib/deep-equal.js.map +1 -1
  259. package/dist/lib/portal-container.js +16 -12
  260. package/dist/lib/portal-container.js.map +1 -1
  261. package/dist/lib/use-doc-dir.js +11 -10
  262. package/dist/lib/use-doc-dir.js.map +1 -1
  263. package/dist/lib/utils.js +8 -7
  264. package/dist/lib/utils.js.map +1 -1
  265. package/dist/llms/accordion-container.md +181 -0
  266. package/dist/llms/accordion.md +124 -0
  267. package/dist/llms/alert.md +225 -0
  268. package/dist/llms/app-shell-chat.md +415 -0
  269. package/dist/llms/area-chart.md +355 -0
  270. package/dist/llms/avatar.md +208 -0
  271. package/dist/llms/bar-chart.md +406 -0
  272. package/dist/llms/breadcrumb.md +326 -0
  273. package/dist/llms/button-group.md +298 -0
  274. package/dist/llms/button-icon-input.md +142 -0
  275. package/dist/llms/button-icon-menu.md +209 -0
  276. package/dist/llms/button-icon.md +128 -0
  277. package/dist/llms/button-menu.md +172 -0
  278. package/dist/llms/button.md +185 -0
  279. package/dist/llms/calendar-panel.md +733 -0
  280. package/dist/llms/calendar.md +188 -0
  281. package/dist/llms/card-filter.md +214 -0
  282. package/dist/llms/card-section.md +293 -0
  283. package/dist/llms/card.md +447 -0
  284. package/dist/llms/carousel-dialog.md +156 -0
  285. package/dist/llms/category-bar.md +193 -0
  286. package/dist/llms/chart-state.md +190 -0
  287. package/dist/llms/chart-widget.md +209 -0
  288. package/dist/llms/chart.md +182 -0
  289. package/dist/llms/checkbox.md +257 -0
  290. package/dist/llms/chip.md +195 -0
  291. package/dist/llms/combobox.md +164 -0
  292. package/dist/llms/composed-chart.md +508 -0
  293. package/dist/llms/confidence-cone.md +277 -0
  294. package/dist/llms/data-table.md +474 -0
  295. package/dist/llms/date-range-picker.md +272 -0
  296. package/dist/llms/description-list.md +131 -0
  297. package/dist/llms/dialog-footer-carousel.md +147 -0
  298. package/dist/llms/dialog-footer-default.md +142 -0
  299. package/dist/llms/dialog-root.md +246 -0
  300. package/dist/llms/dialog-welcome.md +223 -0
  301. package/dist/llms/dialog.md +403 -0
  302. package/dist/llms/dropdown-menu.md +193 -0
  303. package/dist/llms/empty-overlay.md +146 -0
  304. package/dist/llms/empty.md +156 -0
  305. package/dist/llms/field.md +185 -0
  306. package/dist/llms/filter-cards.md +157 -0
  307. package/dist/llms/filter-chips.md +323 -0
  308. package/dist/llms/filter-search.md +512 -0
  309. package/dist/llms/form.md +154 -0
  310. package/dist/llms/funnel-chart.md +333 -0
  311. package/dist/llms/grid.md +80 -0
  312. package/dist/llms/histogram.md +190 -0
  313. package/dist/llms/input-date-picker.md +203 -0
  314. package/dist/llms/input-num-picker.md +180 -0
  315. package/dist/llms/input-otp.md +173 -0
  316. package/dist/llms/input-password.md +197 -0
  317. package/dist/llms/input-search.md +170 -0
  318. package/dist/llms/input-select.md +278 -0
  319. package/dist/llms/input-text-area.md +271 -0
  320. package/dist/llms/input-text.md +192 -0
  321. package/dist/llms/line-chart.md +369 -0
  322. package/dist/llms/link.md +209 -0
  323. package/dist/llms/loading.md +130 -0
  324. package/dist/llms/meter.md +177 -0
  325. package/dist/llms/metric.md +204 -0
  326. package/dist/llms/number-field.md +122 -0
  327. package/dist/llms/page-content.md +69 -0
  328. package/dist/llms/page-header.md +182 -0
  329. package/dist/llms/pagination.md +133 -0
  330. package/dist/llms/pie-chart.md +307 -0
  331. package/dist/llms/popover.md +252 -0
  332. package/dist/llms/progress-circle.md +126 -0
  333. package/dist/llms/progress.md +111 -0
  334. package/dist/llms/radar-chart.md +316 -0
  335. package/dist/llms/radial-bar-chart.md +319 -0
  336. package/dist/llms/radio.md +255 -0
  337. package/dist/llms/resizable.md +195 -0
  338. package/dist/llms/sankey-chart.md +208 -0
  339. package/dist/llms/scatter-chart.md +239 -0
  340. package/dist/llms/scroll-area.md +183 -0
  341. package/dist/llms/section.md +401 -0
  342. package/dist/llms/select.md +210 -0
  343. package/dist/llms/separator.md +87 -0
  344. package/dist/llms/sheet.md +202 -0
  345. package/dist/llms/sidebar-primary.md +360 -0
  346. package/dist/llms/sidebar-secondary.md +417 -0
  347. package/dist/llms/skeleton.md +81 -0
  348. package/dist/llms/slider.md +97 -0
  349. package/dist/llms/spinner.md +100 -0
  350. package/dist/llms/stack.md +80 -0
  351. package/dist/llms/stepper-item.md +309 -0
  352. package/dist/llms/stepper.md +251 -0
  353. package/dist/llms/switch.md +140 -0
  354. package/dist/llms/table.md +436 -0
  355. package/dist/llms/tabs.md +197 -0
  356. package/dist/llms/tag.md +139 -0
  357. package/dist/llms/timeline.md +361 -0
  358. package/dist/llms/timer.md +259 -0
  359. package/dist/llms/toast.md +241 -0
  360. package/dist/llms/toggle-group.md +121 -0
  361. package/dist/llms/toolbar.md +453 -0
  362. package/dist/llms/tooltip.md +164 -0
  363. package/dist/llms/treemap.md +254 -0
  364. package/dist/llms/trend-indicator.md +132 -0
  365. package/dist/llms/widget-placeholder.md +169 -0
  366. package/dist/llms/wizard.md +412 -0
  367. package/dist/llms.txt +143 -0
  368. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/date/index.js +58 -61
  369. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/date/index.js.map +1 -1
  370. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/date/mini.js +71 -85
  371. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/date/mini.js.map +1 -1
  372. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/index.js +6 -0
  373. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tz/index.js +1 -0
  374. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tzName/index.js +11 -11
  375. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tzName/index.js.map +1 -1
  376. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tzOffset/index.js +22 -21
  377. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tzOffset/index.js.map +1 -1
  378. package/dist/node_modules/.pnpm/@tanstack_react-table@8.21.3_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@tanstack/react-table/build/lib/index.js +36 -99
  379. package/dist/node_modules/.pnpm/@tanstack_react-table@8.21.3_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@tanstack/react-table/build/lib/index.js.map +1 -1
  380. package/dist/node_modules/.pnpm/@tanstack_table-core@8.21.3/node_modules/@tanstack/table-core/build/lib/index.js +1478 -1852
  381. package/dist/node_modules/.pnpm/@tanstack_table-core@8.21.3/node_modules/@tanstack/table-core/build/lib/index.js.map +1 -1
  382. package/dist/node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js +34 -35
  383. package/dist/node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js.map +1 -1
  384. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js +18 -15
  385. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js.map +1 -1
  386. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/addLeadingZeros.js +7 -7
  387. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -1
  388. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/defaultOptions.js +8 -7
  389. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/defaultOptions.js.map +1 -1
  390. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/formatters.js +387 -580
  391. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
  392. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/lightFormatters.js +44 -59
  393. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
  394. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/longFormatters.js +39 -52
  395. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -1
  396. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +9 -18
  397. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -1
  398. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/normalizeDates.js +9 -11
  399. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/normalizeDates.js.map +1 -1
  400. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/normalizeInterval.js +12 -8
  401. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/normalizeInterval.js.map +1 -1
  402. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/protectedTokens.js +21 -17
  403. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/protectedTokens.js.map +1 -1
  404. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addDays.js +10 -9
  405. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addDays.js.map +1 -1
  406. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addMonths.js +13 -19
  407. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addMonths.js.map +1 -1
  408. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addWeeks.js +8 -7
  409. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addWeeks.js.map +1 -1
  410. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addYears.js +8 -7
  411. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addYears.js.map +1 -1
  412. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constants.js +12 -7
  413. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constants.js.map +1 -1
  414. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constructFrom.js +8 -7
  415. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constructFrom.js.map +1 -1
  416. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/differenceInCalendarDays.js +12 -15
  417. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/differenceInCalendarDays.js.map +1 -1
  418. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/differenceInCalendarMonths.js +9 -12
  419. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/differenceInCalendarMonths.js.map +1 -1
  420. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/eachMonthOfInterval.js +16 -16
  421. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/eachMonthOfInterval.js.map +1 -1
  422. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/eachYearOfInterval.js +16 -16
  423. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/eachYearOfInterval.js.map +1 -1
  424. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfISOWeek.js +11 -7
  425. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfISOWeek.js.map +1 -1
  426. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfMonth.js +9 -8
  427. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfMonth.js.map +1 -1
  428. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfWeek.js +10 -10
  429. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfWeek.js.map +1 -1
  430. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfYear.js +9 -8
  431. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfYear.js.map +1 -1
  432. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/format.js +59 -57
  433. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/format.js.map +1 -1
  434. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDayOfYear.js +11 -10
  435. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDayOfYear.js.map +1 -1
  436. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDaysInMonth.js +10 -9
  437. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDaysInMonth.js.map +1 -1
  438. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISOWeek.js +12 -11
  439. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISOWeek.js.map +1 -1
  440. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISOWeekYear.js +15 -14
  441. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISOWeekYear.js.map +1 -1
  442. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getMonth.js +8 -7
  443. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getMonth.js.map +1 -1
  444. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getWeek.js +12 -11
  445. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getWeek.js.map +1 -1
  446. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getWeekYear.js +16 -16
  447. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getWeekYear.js.map +1 -1
  448. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getYear.js +8 -7
  449. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getYear.js.map +1 -1
  450. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isAfter.js +8 -7
  451. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isAfter.js.map +1 -1
  452. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isBefore.js +8 -7
  453. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isBefore.js.map +1 -1
  454. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isDate.js +7 -6
  455. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isDate.js.map +1 -1
  456. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameDay.js +10 -13
  457. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameDay.js.map +1 -1
  458. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameMonth.js +9 -12
  459. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameMonth.js.map +1 -1
  460. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameYear.js +9 -12
  461. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameYear.js.map +1 -1
  462. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isValid.js +9 -8
  463. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isValid.js.map +1 -1
  464. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +10 -9
  465. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
  466. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +18 -18
  467. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
  468. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildMatchFn.js +21 -29
  469. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
  470. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +19 -15
  471. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
  472. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +70 -70
  473. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -1
  474. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js +33 -33
  475. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +1 -1
  476. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +13 -12
  477. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +1 -1
  478. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/localize.js +202 -154
  479. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -1
  480. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/match.js +125 -110
  481. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/match.js.map +1 -1
  482. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US.js +20 -19
  483. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US.js.map +1 -1
  484. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/max.js +14 -13
  485. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/max.js.map +1 -1
  486. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/min.js +14 -13
  487. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/min.js.map +1 -1
  488. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setMonth.js +13 -12
  489. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setMonth.js.map +1 -1
  490. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setYear.js +10 -9
  491. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setYear.js.map +1 -1
  492. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfDay.js +9 -8
  493. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfDay.js.map +1 -1
  494. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfISOWeek.js +11 -7
  495. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfISOWeek.js.map +1 -1
  496. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfISOWeekYear.js +11 -10
  497. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfISOWeekYear.js.map +1 -1
  498. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfMonth.js +9 -8
  499. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfMonth.js.map +1 -1
  500. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfWeek.js +10 -10
  501. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfWeek.js.map +1 -1
  502. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfWeekYear.js +12 -12
  503. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfWeekYear.js.map +1 -1
  504. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfYear.js +9 -8
  505. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfYear.js.map +1 -1
  506. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/toDate.js +8 -7
  507. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/toDate.js.map +1 -1
  508. package/dist/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.6/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js +25 -24
  509. package/dist/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.6/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js.map +1 -1
  510. package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js +26 -30
  511. package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js.map +1 -1
  512. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js +1016 -1202
  513. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js.map +1 -1
  514. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/DayPicker.js +398 -246
  515. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/DayPicker.js.map +1 -1
  516. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/UI.js +16 -18
  517. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/UI.js.map +1 -1
  518. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/CalendarDay.js +13 -19
  519. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/CalendarDay.js.map +1 -1
  520. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.js +9 -8
  521. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.js.map +1 -1
  522. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.js +9 -8
  523. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.js.map +1 -1
  524. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/DateLib.js +107 -257
  525. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/classes/DateLib.js.map +1 -1
  526. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/CaptionLabel.js +8 -7
  527. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/CaptionLabel.js.map +1 -1
  528. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Chevron.js +14 -14
  529. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Chevron.js.map +1 -1
  530. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Day.js +9 -8
  531. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Day.js.map +1 -1
  532. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/DayButton.js +13 -10
  533. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/DayButton.js.map +1 -1
  534. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Dropdown.js +30 -19
  535. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Dropdown.js.map +1 -1
  536. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/DropdownNav.js +8 -7
  537. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/DropdownNav.js.map +1 -1
  538. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Footer.js +8 -7
  539. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Footer.js.map +1 -1
  540. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Month.js +9 -8
  541. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Month.js.map +1 -1
  542. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/MonthCaption.js +9 -8
  543. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/MonthCaption.js.map +1 -1
  544. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/MonthGrid.js +7 -6
  545. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/MonthGrid.js.map +1 -1
  546. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Months.js +7 -6
  547. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Months.js.map +1 -1
  548. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js +10 -9
  549. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js.map +1 -1
  550. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Nav.js +41 -27
  551. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Nav.js.map +1 -1
  552. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/NextMonthButton.js +7 -6
  553. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/NextMonthButton.js.map +1 -1
  554. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Option.js +7 -6
  555. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Option.js.map +1 -1
  556. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.js +7 -6
  557. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.js.map +1 -1
  558. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Root.js +12 -8
  559. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Root.js.map +1 -1
  560. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Select.js +8 -7
  561. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Select.js.map +1 -1
  562. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Week.js +9 -8
  563. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Week.js.map +1 -1
  564. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/WeekNumber.js +9 -8
  565. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/WeekNumber.js.map +1 -1
  566. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.js +8 -7
  567. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.js.map +1 -1
  568. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Weekday.js +8 -7
  569. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Weekday.js.map +1 -1
  570. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Weekdays.js +7 -10
  571. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Weekdays.js.map +1 -1
  572. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Weeks.js +8 -7
  573. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/Weeks.js.map +1 -1
  574. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/YearsDropdown.js +10 -9
  575. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/YearsDropdown.js.map +1 -1
  576. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/custom-components.js +57 -52
  577. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/components/custom-components.js.map +1 -1
  578. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatCaption.js +8 -7
  579. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatCaption.js.map +1 -1
  580. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatDay.js +8 -7
  581. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatDay.js.map +1 -1
  582. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.js +8 -7
  583. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.js.map +1 -1
  584. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.js +8 -7
  585. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.js.map +1 -1
  586. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.js +6 -5
  587. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.js.map +1 -1
  588. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.js +8 -7
  589. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.js.map +1 -1
  590. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.js +8 -7
  591. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.js.map +1 -1
  592. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/index.js +22 -17
  593. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/formatters/index.js.map +1 -1
  594. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.js +18 -17
  595. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.js.map +1 -1
  596. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.js +36 -41
  597. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.js.map +1 -1
  598. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.js +10 -9
  599. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.js.map +1 -1
  600. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.js +7 -7
  601. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.js.map +1 -1
  602. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.js +8 -7
  603. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.js.map +1 -1
  604. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getComponents.js +11 -10
  605. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getComponents.js.map +1 -1
  606. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.js +17 -16
  607. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.js.map +1 -1
  608. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDates.js +20 -19
  609. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDates.js.map +1 -1
  610. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDays.js +11 -10
  611. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDays.js.map +1 -1
  612. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.js +12 -15
  613. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.js.map +1 -1
  614. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.js +13 -13
  615. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.js.map +1 -1
  616. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.js +15 -15
  617. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.js.map +1 -1
  618. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getFormatters.js +11 -10
  619. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getFormatters.js.map +1 -1
  620. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.js +8 -13
  621. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.js.map +1 -1
  622. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getLabels.js +35 -35
  623. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getLabels.js.map +1 -1
  624. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.js +18 -13
  625. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.js.map +1 -1
  626. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getMonths.js +25 -24
  627. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getMonths.js.map +1 -1
  628. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.js +8 -11
  629. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.js.map +1 -1
  630. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.js +12 -12
  631. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.js.map +1 -1
  632. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.js +9 -12
  633. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.js.map +1 -1
  634. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.js +9 -12
  635. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.js.map +1 -1
  636. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.js +14 -13
  637. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.js.map +1 -1
  638. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.js +12 -11
  639. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.js.map +1 -1
  640. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getWeeks.js +7 -7
  641. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getWeeks.js.map +1 -1
  642. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.js +19 -16
  643. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.js.map +1 -1
  644. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.js +8 -7
  645. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.js.map +1 -1
  646. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.js +9 -8
  647. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.js.map +1 -1
  648. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/index.js +30 -25
  649. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/index.js.map +1 -1
  650. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelDayButton.js +9 -8
  651. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelDayButton.js.map +1 -1
  652. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelGrid.js +7 -6
  653. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelGrid.js.map +1 -1
  654. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelGridcell.js +9 -8
  655. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelGridcell.js.map +1 -1
  656. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.js +7 -6
  657. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.js.map +1 -1
  658. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelNav.js +6 -5
  659. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelNav.js.map +1 -1
  660. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelNext.js +6 -7
  661. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelNext.js.map +1 -1
  662. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelPrevious.js +7 -6
  663. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelPrevious.js.map +1 -1
  664. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.js +7 -6
  665. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.js.map +1 -1
  666. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.js +7 -6
  667. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.js.map +1 -1
  668. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelWeekday.js +8 -7
  669. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelWeekday.js.map +1 -1
  670. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.js +7 -6
  671. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.js.map +1 -1
  672. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/locale/en-US.js +50 -37
  673. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/locale/en-US.js.map +1 -1
  674. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/noonDateLib.js +101 -106
  675. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/noonDateLib.js.map +1 -1
  676. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/selection/useMulti.js +20 -21
  677. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/selection/useMulti.js.map +1 -1
  678. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/selection/useRange.js +29 -23
  679. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/selection/useRange.js.map +1 -1
  680. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/selection/useSingle.js +16 -15
  681. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/selection/useSingle.js.map +1 -1
  682. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useAnimation.js +50 -56
  683. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useAnimation.js.map +1 -1
  684. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useCalendar.js +71 -76
  685. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useCalendar.js.map +1 -1
  686. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useDayPicker.js +11 -12
  687. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useDayPicker.js.map +1 -1
  688. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useFocus.js +23 -23
  689. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useFocus.js.map +1 -1
  690. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useSelection.js +16 -19
  691. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/useSelection.js.map +1 -1
  692. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/addToRange.js +60 -32
  693. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/addToRange.js.map +1 -1
  694. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.js +24 -24
  695. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.js.map +1 -1
  696. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.js +22 -26
  697. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.js.map +1 -1
  698. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.js +13 -15
  699. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.js.map +1 -1
  700. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.js +29 -28
  701. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.js.map +1 -1
  702. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.js +9 -9
  703. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.js.map +1 -1
  704. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.js +9 -8
  705. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.js.map +1 -1
  706. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/toTimeZone.js +9 -8
  707. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/toTimeZone.js.map +1 -1
  708. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/typeguards.js +15 -19
  709. package/dist/node_modules/.pnpm/react-day-picker@10.0.1_@types_react@19.2.15_react@19.2.6/node_modules/react-day-picker/dist/esm/utils/typeguards.js.map +1 -1
  710. package/dist/node_modules/.pnpm/react-resizable-panels@4.11.2_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/react-resizable-panels/dist/react-resizable-panels.js +1511 -2084
  711. package/dist/node_modules/.pnpm/react-resizable-panels@4.11.2_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/react-resizable-panels/dist/react-resizable-panels.js.map +1 -1
  712. package/dist/node_modules/.pnpm/tailwind-merge@3.6.0/node_modules/tailwind-merge/dist/bundle-mjs.js +1716 -2996
  713. package/dist/node_modules/.pnpm/tailwind-merge@3.6.0/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
  714. package/dist/react.js +124 -544
  715. package/dist/src/components/ui/area-chart/area-chart.d.ts +9 -4
  716. package/dist/src/components/ui/avatar/avatar.d.ts +1 -1
  717. package/dist/src/components/ui/bar-chart/bar-chart.d.ts +9 -4
  718. package/dist/src/components/ui/category-bar/category-bar.d.ts +10 -4
  719. package/dist/src/components/ui/chart/__stories__/palette-control.d.ts +48 -0
  720. package/dist/src/components/ui/chart/__tests__/chart-palette.test.d.ts +1 -0
  721. package/dist/src/components/ui/chart/chart-palette.d.ts +128 -0
  722. package/dist/src/components/ui/chart/chart.d.ts +66 -15
  723. package/dist/src/components/ui/chart/index.d.ts +4 -2
  724. package/dist/src/components/ui/chart-state/chart-state-illustrations.d.ts +6 -0
  725. package/dist/src/components/ui/chart-state/chart-state.d.ts +13 -2
  726. package/dist/src/components/ui/chart-state/index.d.ts +1 -0
  727. package/dist/src/components/ui/chart-widget/chart-widget.d.ts +64 -0
  728. package/dist/src/components/ui/chart-widget/index.d.ts +1 -0
  729. package/dist/src/components/ui/composed-chart/composed-chart.d.ts +12 -7
  730. package/dist/src/components/ui/confidence-cone/confidence-cone.d.ts +10 -5
  731. package/dist/src/components/ui/empty-overlay/empty-overlay.d.ts +1 -1
  732. package/dist/src/components/ui/funnel-chart/funnel-chart.d.ts +11 -5
  733. package/dist/src/components/ui/histogram/histogram.d.ts +10 -4
  734. package/dist/src/components/ui/input-num-picker/index.d.ts +1 -0
  735. package/dist/src/components/ui/input-num-picker/input-num-picker.d.ts +14 -0
  736. package/dist/src/components/ui/label/index.d.ts +1 -1
  737. package/dist/src/components/ui/label/label.d.ts +1 -5
  738. package/dist/src/components/ui/line-chart/line-chart.d.ts +9 -4
  739. package/dist/src/components/ui/metric/metric.d.ts +13 -14
  740. package/dist/src/components/ui/pie-chart/pie-chart.d.ts +17 -8
  741. package/dist/src/components/ui/radar-chart/radar-chart.d.ts +10 -5
  742. package/dist/src/components/ui/radial-bar-chart/radial-bar-chart.d.ts +17 -6
  743. package/dist/src/components/ui/sankey-chart/sankey-chart.d.ts +10 -5
  744. package/dist/src/components/ui/scatter-chart/scatter-chart.d.ts +10 -5
  745. package/dist/src/components/ui/section/index.d.ts +1 -1
  746. package/dist/src/components/ui/section/section.d.ts +75 -6
  747. package/dist/src/components/ui/stepper-item/stepper-item.d.ts +6 -5
  748. package/dist/src/components/ui/tag/tag.d.ts +1 -1
  749. package/dist/src/components/ui/treemap/treemap.d.ts +11 -5
  750. package/dist/src/components/ui/trend-indicator/trend-indicator.d.ts +3 -7
  751. package/dist/src/components/ui/wizard/index.d.ts +1 -0
  752. package/dist/src/components/ui/wizard/wizard.d.ts +6 -0
  753. package/dist/src/hooks/index.d.ts +1 -0
  754. package/dist/src/hooks/use-wizard.d.ts +80 -0
  755. package/dist/src/index.d.ts +3 -3
  756. package/dist/ui-react.css +2 -1
  757. package/package.json +14 -8
  758. package/dist/components/ui/app-shell/app-shell.js +0 -75
  759. package/dist/components/ui/app-shell/app-shell.js.map +0 -1
  760. package/dist/components/ui/auth-layout/auth-layout.js +0 -56
  761. package/dist/components/ui/auth-layout/auth-layout.js.map +0 -1
  762. package/dist/components/ui/collapsible/collapsible.js +0 -22
  763. package/dist/components/ui/collapsible/collapsible.js.map +0 -1
  764. package/dist/index.js.map +0 -1
  765. package/dist/react.js.map +0 -1
  766. package/dist/src/components/ui/app-shell/app-shell.d.ts +0 -8
  767. package/dist/src/components/ui/app-shell/index.d.ts +0 -1
  768. package/dist/src/components/ui/auth-layout/auth-layout.d.ts +0 -6
  769. package/dist/src/components/ui/auth-layout/index.d.ts +0 -1
  770. package/dist/src/components/ui/collapsible/collapsible.d.ts +0 -5
  771. package/dist/src/components/ui/collapsible/index.d.ts +0 -1
  772. package/dist/src/components/ui/label/label.docs.d.ts +0 -10
@@ -1,199 +1,159 @@
1
- import { jsxs as b, jsx as o } from "react/jsx-runtime";
2
- import * as f from "react";
3
- import { Sankey as R, Rectangle as T } from "recharts";
4
- import { cn as j } from "../../../lib/utils.js";
5
- import { ChartStyle as A, ChartContainer as q, ChartTooltip as B } from "../chart/chart.js";
6
- function F(s, n, e) {
7
- return function({
8
- x: l,
9
- y: m,
10
- width: d,
11
- height: t,
12
- index: c,
13
- payload: a
14
- }) {
15
- var i;
16
- const r = String(a.name), h = ((i = s[r]) == null ? void 0 : i.label) ?? r, x = n.has(c);
17
- return /* @__PURE__ */ b("g", { children: [
18
- /* @__PURE__ */ o(
19
- T,
20
- {
21
- x: l,
22
- y: m,
23
- width: d,
24
- height: t,
25
- fill: `var(--color-${r})`,
26
- radius: 2
27
- }
28
- ),
29
- e && /* @__PURE__ */ o(
30
- "text",
31
- {
32
- x: x ? l + d + 6 : l - 6,
33
- y: m + t / 2,
34
- textAnchor: x ? "start" : "end",
35
- dominantBaseline: "middle",
36
- className: "fill-foreground text-xs",
37
- children: h
38
- }
39
- )
40
- ] });
41
- };
1
+ "use client";
2
+ import { cn as e } from "../../../lib/utils.js";
3
+ import { CHART_DEFAULT_PALETTE as t } from "../chart/chart-palette.js";
4
+ import { ChartContainer as n, ChartStyle as r, ChartTooltip as i, resolveChartColors as a } from "../chart/chart.js";
5
+ import * as o from "react";
6
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
7
+ import { Rectangle as l, Sankey as u } from "recharts";
8
+ //#region src/components/ui/sankey-chart/sankey-chart.tsx
9
+ function d(e, t, n) {
10
+ return function({ x: r, y: i, width: a, height: o, index: u, payload: d }) {
11
+ let f = String(d.name), p = e[f]?.label ?? f, m = t.has(u);
12
+ return /* @__PURE__ */ c("g", { children: [/* @__PURE__ */ s(l, {
13
+ x: r,
14
+ y: i,
15
+ width: a,
16
+ height: o,
17
+ fill: `var(--color-${f})`,
18
+ radius: 2
19
+ }), n && /* @__PURE__ */ s("text", {
20
+ x: m ? r + a + 6 : r - 6,
21
+ y: i + o / 2,
22
+ textAnchor: m ? "start" : "end",
23
+ dominantBaseline: "middle",
24
+ className: "fill-foreground text-xs",
25
+ children: p
26
+ })] });
27
+ };
42
28
  }
43
- function L({
44
- sourceX: s,
45
- targetX: n,
46
- sourceY: e,
47
- targetY: g,
48
- sourceControlX: l,
49
- targetControlX: m,
50
- linkWidth: d,
51
- payload: t
52
- }) {
53
- const c = String(t.target.name), a = t.color ?? `var(--color-${c})`;
54
- return /* @__PURE__ */ o(
55
- "path",
56
- {
57
- d: `M${s},${e}C${l},${e} ${m},${g} ${n},${g}`,
58
- fill: "none",
59
- stroke: a,
60
- strokeWidth: Math.max(1, d),
61
- strokeOpacity: t.color ? 1 : 0.35
62
- }
63
- );
29
+ function f({ sourceX: e, targetX: t, sourceY: n, targetY: r, sourceControlX: i, targetControlX: a, linkWidth: o, payload: c }) {
30
+ let l = String(c.target.name), u = c.color ?? `var(--color-${l})`;
31
+ return /* @__PURE__ */ s("path", {
32
+ d: `M${e},${n}C${i},${n} ${a},${r} ${t},${r}`,
33
+ fill: "none",
34
+ stroke: u,
35
+ strokeWidth: Math.max(1, o),
36
+ strokeOpacity: c.color ? 1 : .35
37
+ });
64
38
  }
65
- function O(s, n, e) {
66
- var m, d;
67
- const g = (t) => {
68
- var c;
69
- return ((c = s[t]) == null ? void 0 : c.label) ?? t;
70
- }, l = /* @__PURE__ */ new Map();
71
- for (const t of n) {
72
- const c = ((m = e[t.source]) == null ? void 0 : m.name) ?? "", a = ((d = e[t.target]) == null ? void 0 : d.name) ?? "";
73
- l.set(c + " - " + a, {
74
- color: t.color ?? `var(--color-${a})`,
75
- opacity: t.color ? 1 : 0.35
76
- });
77
- }
78
- return function({
79
- active: c,
80
- payload: a
81
- }) {
82
- if (!c || !(a != null && a.length)) return null;
83
- const r = a[0], h = String((r == null ? void 0 : r.name) ?? "").split(" - "), x = h[h.length - 1], i = l.get(String((r == null ? void 0 : r.name) ?? "")), v = (i == null ? void 0 : i.color) ?? `var(--color-${x})`, y = (i == null ? void 0 : i.opacity) ?? 1, C = r == null ? void 0 : r.value;
84
- return /* @__PURE__ */ b("div", { className: "flex items-center gap-2 rounded-[var(--ui-tooltip-container-border-radius)] border border-border bg-background px-[var(--ui-tooltip-container-padding-x)] py-[var(--ui-tooltip-container-padding-y)] text-xs text-foreground shadow-md", children: [
85
- /* @__PURE__ */ o(
86
- "span",
87
- {
88
- className: "h-2.5 w-2.5 shrink-0 rounded-[2px]",
89
- style: { backgroundColor: v, opacity: y }
90
- }
91
- ),
92
- /* @__PURE__ */ o("span", { className: "text-muted-foreground", children: h.map((M, w) => /* @__PURE__ */ b(f.Fragment, { children: [
93
- w > 0 && " → ",
94
- g(M)
95
- ] }, `${M}-${w}`)) }),
96
- C != null && /* @__PURE__ */ o("span", { className: "ms-2 font-medium tabular-nums", children: I(C) })
97
- ] });
98
- };
39
+ function p(e, t, n) {
40
+ let r = (t) => e[t]?.label ?? t, i = /* @__PURE__ */ new Map();
41
+ for (let e of t) {
42
+ let t = n[e.source]?.name ?? "", r = n[e.target]?.name ?? "";
43
+ i.set(t + " - " + r, {
44
+ color: e.color ?? `var(--color-${r})`,
45
+ opacity: e.color ? 1 : .35
46
+ });
47
+ }
48
+ return function({ active: e, payload: t }) {
49
+ if (!e || !t?.length) return null;
50
+ let n = t[0], a = String(n?.name ?? "").split(" - "), l = a[a.length - 1], u = i.get(String(n?.name ?? "")), d = u?.color ?? `var(--color-${l})`, f = u?.opacity ?? 1, p = n?.value;
51
+ return /* @__PURE__ */ c("div", {
52
+ className: "flex items-center gap-2 rounded-[var(--ui-tooltip-container-border-radius)] border border-border bg-background px-[var(--ui-tooltip-container-padding-x)] py-[var(--ui-tooltip-container-padding-y)] text-xs text-foreground shadow-md",
53
+ children: [
54
+ /* @__PURE__ */ s("span", {
55
+ className: "h-2.5 w-2.5 shrink-0 rounded-[2px]",
56
+ style: {
57
+ backgroundColor: d,
58
+ opacity: f
59
+ }
60
+ }),
61
+ /* @__PURE__ */ s("span", {
62
+ className: "text-muted-foreground",
63
+ children: a.map((e, t) => /* @__PURE__ */ c(o.Fragment, { children: [t > 0 && " → ", r(e)] }, `${e}-${t}`))
64
+ }),
65
+ p != null && /* @__PURE__ */ s("span", {
66
+ className: "ms-2 font-medium tabular-nums",
67
+ children: m(p)
68
+ })
69
+ ]
70
+ });
71
+ };
99
72
  }
100
- function I(s) {
101
- return Array.isArray(s) ? s.map((n) => I(n)).join(" – ") : typeof s == "number" ? s.toLocaleString() : String(s);
73
+ function m(e) {
74
+ return Array.isArray(e) ? e.map((e) => m(e)).join(" – ") : typeof e == "number" ? e.toLocaleString() : String(e);
102
75
  }
103
- const z = f.forwardRef(
104
- ({
105
- className: s,
106
- config: n,
107
- data: e,
108
- nodePadding: g = 24,
109
- nodeWidth: l = 12,
110
- linkCurvature: m = 0.5,
111
- sort: d = !1,
112
- showLabels: t = !0,
113
- showLegend: c = !1,
114
- showTooltip: a = !0,
115
- tooltipContent: r,
116
- ...h
117
- }, x) => {
118
- const v = `chart-${f.useId().replace(/:/g, "")}`, y = f.useMemo(
119
- () => new Set(e.links.map((u) => u.source)),
120
- [e.links]
121
- ), C = f.useMemo(
122
- () => F(n, y, t),
123
- [n, y, t]
124
- ), M = f.useMemo(
125
- () => O(n, e.links, e.nodes),
126
- [n, e.links, e.nodes]
127
- ), w = f.useMemo(() => {
128
- const u = /* @__PURE__ */ new Map(), N = /* @__PURE__ */ new Map();
129
- for (const p of e.links)
130
- N.set(p.source, (N.get(p.source) ?? 0) + p.value), u.set(p.target, (u.get(p.target) ?? 0) + p.value);
131
- const k = e.nodes.map(
132
- (p, $) => u.get($) ?? N.get($) ?? 0
133
- ), S = k.length ? Math.max(...k) : 0;
134
- return e.nodes.map((p, $) => ({
135
- name: p.name,
136
- value: k[$],
137
- pct: S > 0 ? Math.round(k[$] / S * 100) : 0
138
- }));
139
- }, [e]);
140
- return /* @__PURE__ */ b(
141
- "div",
142
- {
143
- ref: x,
144
- "data-chart": v,
145
- className: j("flex flex-col", s),
146
- ...h,
147
- children: [
148
- /* @__PURE__ */ o(A, { id: v, config: n }),
149
- /* @__PURE__ */ o(q, { config: n, className: "min-h-0 flex-1", children: /* @__PURE__ */ o(
150
- R,
151
- {
152
- data: e,
153
- node: C,
154
- link: L,
155
- nodePadding: g,
156
- nodeWidth: l,
157
- linkCurvature: m,
158
- sort: d,
159
- align: "left",
160
- margin: { top: 8, right: 24, bottom: 8, left: 24 },
161
- children: a && /* @__PURE__ */ o(B, { content: r ?? M })
162
- }
163
- ) }),
164
- c && /* @__PURE__ */ o(
165
- "div",
166
- {
167
- "data-slot": "sankey-chart-legend",
168
- className: "mt-3 grid grid-cols-2 gap-x-6 gap-y-1.5 text-xs",
169
- children: w.map(({ name: u, value: N, pct: k }) => {
170
- var S;
171
- return /* @__PURE__ */ b("div", { className: "flex items-center gap-2", children: [
172
- /* @__PURE__ */ o(
173
- "span",
174
- {
175
- className: "size-2.5 shrink-0 rounded-sm",
176
- style: { backgroundColor: `var(--color-${u})` }
177
- }
178
- ),
179
- /* @__PURE__ */ o("span", { className: "truncate text-muted-foreground", children: ((S = n[u]) == null ? void 0 : S.label) ?? u }),
180
- /* @__PURE__ */ o("span", { className: "ms-auto font-semibold tabular-nums", children: N.toLocaleString() }),
181
- /* @__PURE__ */ b("span", { className: "w-9 shrink-0 text-end tabular-nums text-muted-foreground", children: [
182
- k,
183
- "%"
184
- ] })
185
- ] }, u);
186
- })
187
- }
188
- )
189
- ]
190
- }
191
- );
192
- }
193
- );
194
- z.displayName = "SankeyChart";
195
- export {
196
- z as SankeyChart,
197
- O as makeSankeyTooltip
198
- };
199
- //# sourceMappingURL=sankey-chart.js.map
76
+ var h = o.forwardRef(({ className: l, config: m, palette: h, data: g, nodePadding: _ = 24, nodeWidth: v = 12, linkCurvature: y = .5, sort: b = !1, showLabels: x = !0, showLegend: S = !1, showTooltip: C = !0, tooltipContent: w, ...T }, E) => {
77
+ let D = `chart-${o.useId().replace(/:/g, "")}`, O = o.useMemo(() => new Set(g.links.map((e) => e.source)), [g.links]), k = o.useMemo(() => d(m, O, x), [
78
+ m,
79
+ O,
80
+ x
81
+ ]), A = o.useMemo(() => p(m, g.links, g.nodes), [
82
+ m,
83
+ g.links,
84
+ g.nodes
85
+ ]), j = o.useMemo(() => {
86
+ let e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map();
87
+ for (let n of g.links) t.set(n.source, (t.get(n.source) ?? 0) + n.value), e.set(n.target, (e.get(n.target) ?? 0) + n.value);
88
+ let n = g.nodes.map((n, r) => e.get(r) ?? t.get(r) ?? 0), r = n.length ? Math.max(...n) : 0;
89
+ return g.nodes.map((e, t) => ({
90
+ name: e.name,
91
+ value: n[t],
92
+ pct: r > 0 ? Math.round(n[t] / r * 100) : 0
93
+ }));
94
+ }, [g]);
95
+ return /* @__PURE__ */ c("div", {
96
+ ref: E,
97
+ "data-chart": D,
98
+ className: e("flex flex-col", l),
99
+ ...T,
100
+ children: [
101
+ /* @__PURE__ */ s(r, {
102
+ id: D,
103
+ config: a(m, h ?? t)
104
+ }),
105
+ /* @__PURE__ */ s(n, {
106
+ config: m,
107
+ palette: h,
108
+ className: "min-h-0 flex-1",
109
+ children: /* @__PURE__ */ s(u, {
110
+ data: g,
111
+ node: k,
112
+ link: f,
113
+ nodePadding: _,
114
+ nodeWidth: v,
115
+ linkCurvature: y,
116
+ sort: b,
117
+ align: "left",
118
+ margin: {
119
+ top: 8,
120
+ right: 24,
121
+ bottom: 8,
122
+ left: 24
123
+ },
124
+ children: C && /* @__PURE__ */ s(i, { content: w ?? A })
125
+ })
126
+ }),
127
+ S && /* @__PURE__ */ s("div", {
128
+ "data-slot": "sankey-chart-legend",
129
+ className: "mt-3 grid grid-cols-2 gap-x-6 gap-y-1.5 text-xs",
130
+ children: j.map(({ name: e, value: t, pct: n }) => /* @__PURE__ */ c("div", {
131
+ className: "flex items-center gap-2",
132
+ children: [
133
+ /* @__PURE__ */ s("span", {
134
+ className: "size-2.5 shrink-0 rounded-sm",
135
+ style: { backgroundColor: `var(--color-${e})` }
136
+ }),
137
+ /* @__PURE__ */ s("span", {
138
+ className: "truncate text-muted-foreground",
139
+ children: m[e]?.label ?? e
140
+ }),
141
+ /* @__PURE__ */ s("span", {
142
+ className: "ms-auto font-semibold tabular-nums",
143
+ children: t.toLocaleString()
144
+ }),
145
+ /* @__PURE__ */ c("span", {
146
+ className: "w-9 shrink-0 text-end tabular-nums text-muted-foreground",
147
+ children: [n, "%"]
148
+ })
149
+ ]
150
+ }, e))
151
+ })
152
+ ]
153
+ });
154
+ });
155
+ h.displayName = "SankeyChart";
156
+ //#endregion
157
+ export { h as SankeyChart, p as makeSankeyTooltip };
158
+
159
+ //# sourceMappingURL=sankey-chart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sankey-chart.js","sources":["../../../../src/components/ui/sankey-chart/sankey-chart.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Sankey as RechartsSankey, Rectangle } from 'recharts';\n\nimport { cn } from '@/lib/utils';\nimport {\n ChartContainer,\n ChartStyle,\n ChartTooltip,\n type ChartConfig,\n} from '../chart';\n\n// A typed recharts composition over the shared `Chart` primitives — a flow\n// diagram where link width is proportional to the value flowing between nodes.\n// Like Treemap/Funnel it's a single recharts element (`<Sankey>`) themed through\n// custom `node` / `link` renderers (recharts' defaults paint one flat grey and\n// carry no token hooks). No CVA variant: a Sankey's expressiveness is the\n// nodes/links graph + geometry (plain props), not a visual \"mode\".\n//\n// Node `name`s are the color keys: each must match a `config` entry, so they\n// must be CSS-safe (they become part of a `--color-<name>` custom property).\n// The human-readable text comes from `config[name].label`.\n\n/** A node in the flow — `name` is its color/config key (CSS-safe, unique). */\nexport interface SankeyChartNode {\n name: string;\n}\n\n/** A directed flow between two nodes, referenced by their index in `nodes`. */\nexport interface SankeyChartLink {\n /** Index of the source node in `data.nodes`. */\n source: number;\n /** Index of the target node in `data.nodes`. */\n target: number;\n /** Flow magnitude — drives the link's width. */\n value: number;\n /**\n * Ribbon color (any CSS color, e.g. a `var(--ui-*)` token), rendered at **full\n * opacity** so it matches its node bar. Omit to use the target node's color at\n * 35% (the default tinted ribbon).\n */\n color?: string;\n}\n\nexport interface SankeyChartProps\n extends Omit<React.ComponentProps<'div'>, 'children'> {\n /** The graph: `nodes` (color keys) + `links` (source/target indices + value). */\n data: {\n nodes: ReadonlyArray<SankeyChartNode>;\n links: ReadonlyArray<SankeyChartLink>;\n };\n /**\n * Per-node map of `label` / `color`, keyed by the node's `name` (imported from\n * the shared `Chart` primitives). Turned into `--color-<name>` custom\n * properties. Colors are caller-supplied — reference an existing semantic\n * `--ui-*` token; there is no chart palette tier yet.\n */\n config: ChartConfig;\n /** Vertical gap between nodes in the same column. */\n nodePadding?: number;\n /** Thickness of each node bar. */\n nodeWidth?: number;\n /** Curviness of the links (0 = straight, 1 = fully curved). */\n linkCurvature?: number;\n /**\n * Sort nodes vertically to minimize link crossings (recharts' relaxation).\n * Defaults to `false` — nodes render in the order given by `data.nodes` within\n * each column, which keeps curated flows tidy; set `true` to auto-order.\n */\n sort?: boolean;\n /** Render each node's label (from `config[name].label`) beside its bar. */\n showLabels?: boolean;\n /** Render a legend (color dot + label + value + % per node) below the chart. */\n showLegend?: boolean;\n /** Show a hover tooltip on nodes and links (dot + `source → target` + value). */\n showTooltip?: boolean;\n /**\n * Replace the default tooltip. Pass a configured `ChartTooltipContent`\n * (imported from this library) — e.g. with a `formatter` / `labelFormatter` —\n * to customize formatting without composing recharts yourself. Ignored when\n * `showTooltip` is false.\n */\n tooltipContent?: React.ComponentProps<typeof ChartTooltip>['content'];\n}\n\n// recharts injects these into the `node` / `link` render functions but doesn't\n// export their prop types from the package root, so we type the fields we use\n// (structurally compatible with recharts' internal NodeProps / LinkProps).\ninterface SankeyNodeShapeProps {\n x: number;\n y: number;\n width: number;\n height: number;\n index: number;\n payload: { name: string; value: number };\n}\n\ninterface SankeyLinkShapeProps {\n sourceX: number;\n targetX: number;\n sourceY: number;\n targetY: number;\n sourceControlX: number;\n targetControlX: number;\n linkWidth: number;\n // recharts spreads the original link onto `payload` (then overrides\n // source/target with node objects), so a custom `color` survives here.\n payload: {\n source: { name: string };\n target: { name: string };\n value: number;\n color?: string;\n };\n}\n\n// Node bar: a rect filled from `--color-<name>`, with the config label placed on\n// whichever side keeps it inside the plot — to the right for nodes that have\n// outgoing links (sources), to the left for terminal nodes (sinks).\nfunction makeNodeRenderer(\n config: ChartConfig,\n sourceIndices: ReadonlySet<number>,\n showLabels: boolean\n) {\n return function SankeyNodeShape({\n x,\n y,\n width,\n height,\n index,\n payload,\n }: SankeyNodeShapeProps) {\n const name = String(payload.name);\n const label = config[name]?.label ?? name;\n const isSource = sourceIndices.has(index);\n return (\n <g>\n <Rectangle\n x={x}\n y={y}\n width={width}\n height={height}\n fill={`var(--color-${name})`}\n radius={2}\n />\n {showLabels && (\n <text\n x={isSource ? x + width + 6 : x - 6}\n y={y + height / 2}\n textAnchor={isSource ? 'start' : 'end'}\n dominantBaseline=\"middle\"\n className=\"fill-foreground text-xs\"\n >\n {label}\n </text>\n )}\n </g>\n );\n };\n}\n\n// Link ribbon: a bezier stroked at 35% opacity in the link's own `color` if\n// given (recharts preserves custom link fields on the render `payload`), else\n// the **target** node's color (so a flow reads as \"where it goes\"). Drawn as a\n// stroke, not a fill, so the ribbon width comes from `linkWidth`.\nfunction SankeyLinkShape({\n sourceX,\n targetX,\n sourceY,\n targetY,\n sourceControlX,\n targetControlX,\n linkWidth,\n payload,\n}: SankeyLinkShapeProps) {\n const targetName = String(payload.target.name);\n const stroke = payload.color ?? `var(--color-${targetName})`;\n return (\n <path\n d={`M${sourceX},${sourceY}C${sourceControlX},${sourceY} ${targetControlX},${targetY} ${targetX},${targetY}`}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={Math.max(1, linkWidth)}\n // An explicit per-link color is the caller's exact choice — render it at\n // full opacity (so it matches its node bar); the default target-tint is\n // dimmed to 35% so ribbons don't overwhelm the nodes.\n strokeOpacity={payload.color ? 1 : 0.35}\n />\n );\n}\n\n// Default tooltip: recharts' Sankey payload carries no config color, and labels\n// a hovered link \"source - target\" using the node keys (a node is a single key).\n// Parse that name to a color dot (the target node's color) + the mapped config\n// labels joined with an arrow + the value — driven by `config`, so it's reliable\n// where the shared ChartTooltipContent can't resolve the Sankey payload.\n//\n// Exported (module-only, not from the package barrel) so its branches can be\n// unit-tested directly: recharts can't lay out a Sankey in happy-dom, and its\n// hover tooltip has no statically-open form the component exposes, so rendering\n// `<SankeyChart>` never reaches this code.\nexport function makeSankeyTooltip(\n config: ChartConfig,\n links: ReadonlyArray<SankeyChartLink>,\n nodes: ReadonlyArray<SankeyChartNode>\n) {\n const labelFor = (key: string): React.ReactNode => config[key]?.label ?? key;\n // Resolve each link's dot color by its \"source - target\" name (which is the\n // tooltip item's name): the link's own color if set, else the target's, via\n // the `--color-<name>` bridge so a per-theme config resolves too.\n const styleByName = new Map<string, { color: string; opacity: number }>();\n for (const link of links) {\n const source = nodes[link.source]?.name ?? '';\n const target = nodes[link.target]?.name ?? '';\n // Mirror the ribbon: an explicit color renders full-opacity; the default\n // target tint renders at 35%.\n styleByName.set(source + ' - ' + target, {\n color: link.color ?? `var(--color-${target})`,\n opacity: link.color ? 1 : 0.35,\n });\n }\n\n return function SankeyTooltipContent({\n active,\n payload,\n }: {\n active?: boolean;\n payload?: ReadonlyArray<{\n name?: string | number;\n value?: number | string | ReadonlyArray<number | string>;\n }>;\n }) {\n if (!active || !payload?.length) return null;\n const item = payload[0];\n const parts = String(item?.name ?? '').split(' - ');\n const targetKey = parts[parts.length - 1];\n const linkStyle = styleByName.get(String(item?.name ?? ''));\n const dotColor = linkStyle?.color ?? `var(--color-${targetKey})`;\n const dotOpacity = linkStyle?.opacity ?? 1;\n const value = item?.value;\n return (\n <div className=\"flex items-center gap-2 rounded-[var(--ui-tooltip-container-border-radius)] border border-border bg-background px-[var(--ui-tooltip-container-padding-x)] py-[var(--ui-tooltip-container-padding-y)] text-xs text-foreground shadow-md\">\n <span\n className=\"h-2.5 w-2.5 shrink-0 rounded-[2px]\"\n style={{ backgroundColor: dotColor, opacity: dotOpacity }}\n />\n <span className=\"text-muted-foreground\">\n {/* A config label can be any ReactNode, so the arrow-joined label is\n built as nodes rather than stringified. */}\n {parts.map((key, index) => (\n <React.Fragment key={`${key}-${index}`}>\n {index > 0 && ' → '}\n {labelFor(key)}\n </React.Fragment>\n ))}\n </span>\n {value != null && (\n <span className=\"ms-2 font-medium tabular-nums\">\n {formatTooltipValue(value)}\n </span>\n )}\n </div>\n );\n };\n}\n\n// recharts types a tooltip item's value as a scalar *or* a range tuple; a plain\n// `String()` would print \"1,2\" for the tuple, so format each part and join.\nfunction formatTooltipValue(\n value: number | string | ReadonlyArray<number | string>\n): string {\n if (Array.isArray(value)) {\n return value.map((part) => formatTooltipValue(part)).join(' – ');\n }\n return typeof value === 'number'\n ? value.toLocaleString()\n : String(value as string);\n}\n\nconst SankeyChart = React.forwardRef<HTMLDivElement, SankeyChartProps>(\n (\n {\n className,\n config,\n data,\n nodePadding = 24,\n nodeWidth = 12,\n linkCurvature = 0.5,\n sort = false,\n showLabels = true,\n showLegend = false,\n showTooltip = true,\n tooltipContent,\n ...props\n },\n ref\n ) => {\n const uniqueId = React.useId();\n const chartId = `chart-${uniqueId.replace(/:/g, '')}`;\n\n // Node indices that appear as a link `source` have outgoing flow — used by\n // the node renderer to place the label on the readable side.\n const sourceIndices = React.useMemo(\n () => new Set(data.links.map((link) => link.source)),\n [data.links]\n );\n\n const nodeRenderer = React.useMemo(\n () => makeNodeRenderer(config, sourceIndices, showLabels),\n [config, sourceIndices, showLabels]\n );\n\n const defaultTooltip = React.useMemo(\n () => makeSankeyTooltip(config, data.links, data.nodes),\n [config, data.links, data.nodes]\n );\n\n // Per-node value (incoming flow, or outgoing for a source with no incoming)\n // and its share of the largest node — drives the legend's count + %.\n const nodeStats = React.useMemo(() => {\n const incoming = new Map<number, number>();\n const outgoing = new Map<number, number>();\n for (const link of data.links) {\n outgoing.set(link.source, (outgoing.get(link.source) ?? 0) + link.value);\n incoming.set(link.target, (incoming.get(link.target) ?? 0) + link.value);\n }\n const values = data.nodes.map(\n (_, i) => incoming.get(i) ?? outgoing.get(i) ?? 0\n );\n const total = values.length ? Math.max(...values) : 0;\n return data.nodes.map((node, i) => ({\n name: node.name,\n value: values[i],\n pct: total > 0 ? Math.round((values[i] / total) * 100) : 0,\n }));\n }, [data]);\n\n return (\n <div\n ref={ref}\n // The legend sits outside `ChartContainer`, so the root carries its own\n // `--color-<name>` scope for it (the plot and the recharts-portaled\n // tooltip resolve theirs from ChartContainer's).\n data-chart={chartId}\n className={cn('flex flex-col', className)}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <ChartContainer config={config} className=\"min-h-0 flex-1\">\n <RechartsSankey\n data={data as { nodes: SankeyChartNode[]; links: SankeyChartLink[] }}\n node={nodeRenderer}\n link={SankeyLinkShape}\n nodePadding={nodePadding}\n nodeWidth={nodeWidth}\n linkCurvature={linkCurvature}\n sort={sort}\n // recharts defaults to `justify`, which right-aligns sink nodes to\n // the last column — so a terminal node like \"No certification\" would\n // jump to the far right instead of staying at its real depth. `left`\n // positions every node by its distance from the source, keeping the\n // flow's columns intact.\n align=\"left\"\n // Node labels never extend past the plot's right edge: a node in the\n // last column has no outgoing links, so its label is drawn to the\n // LEFT of its bar (see the node renderer). Only a small gutter is\n // needed here — a wide reserve would just shrink the diagram.\n margin={{ top: 8, right: 24, bottom: 8, left: 24 }}\n >\n {showTooltip && (\n <ChartTooltip content={tooltipContent ?? defaultTooltip} />\n )}\n </RechartsSankey>\n </ChartContainer>\n {showLegend && (\n <div\n data-slot=\"sankey-chart-legend\"\n className=\"mt-3 grid grid-cols-2 gap-x-6 gap-y-1.5 text-xs\"\n >\n {nodeStats.map(({ name, value, pct }) => (\n <div key={name} className=\"flex items-center gap-2\">\n <span\n className=\"size-2.5 shrink-0 rounded-sm\"\n style={{ backgroundColor: `var(--color-${name})` }}\n />\n <span className=\"truncate text-muted-foreground\">\n {config[name]?.label ?? name}\n </span>\n <span className=\"ms-auto font-semibold tabular-nums\">\n {value.toLocaleString()}\n </span>\n <span className=\"w-9 shrink-0 text-end tabular-nums text-muted-foreground\">\n {pct}%\n </span>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n }\n);\nSankeyChart.displayName = 'SankeyChart';\n\nexport { SankeyChart };\n"],"names":["makeNodeRenderer","config","sourceIndices","showLabels","x","y","width","height","index","payload","name","label","_a","isSource","jsx","Rectangle","SankeyLinkShape","sourceX","targetX","sourceY","targetY","sourceControlX","targetControlX","linkWidth","targetName","stroke","makeSankeyTooltip","links","nodes","labelFor","key","styleByName","link","source","target","_b","active","item","parts","targetKey","linkStyle","dotColor","dotOpacity","value","jsxs","React","formatTooltipValue","part","SankeyChart","className","data","nodePadding","nodeWidth","linkCurvature","sort","showLegend","showTooltip","tooltipContent","props","ref","chartId","nodeRenderer","defaultTooltip","nodeStats","incoming","outgoing","values","_","i","total","node","cn","ChartStyle","ChartContainer","RechartsSankey","ChartTooltip","pct"],"mappings":";;;;;AAuHA,SAASA,EACPC,GACAC,GACAC,GACA;AACA,SAAO,SAAyB;AAAA,IAC9B,GAAAC;AAAA,IACA,GAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,GACuB;;AACvB,UAAMC,IAAO,OAAOD,EAAQ,IAAI,GAC1BE,MAAQC,IAAAX,EAAOS,CAAI,MAAX,gBAAAE,EAAc,UAASF,GAC/BG,IAAWX,EAAc,IAAIM,CAAK;AACxC,6BACG,KAAA,EACC,UAAA;AAAA,MAAA,gBAAAM;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,GAAAX;AAAA,UACA,GAAAC;AAAA,UACA,OAAAC;AAAA,UACA,QAAAC;AAAA,UACA,MAAM,eAAeG,CAAI;AAAA,UACzB,QAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,MAETP,KACC,gBAAAW;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAGD,IAAWT,IAAIE,IAAQ,IAAIF,IAAI;AAAA,UAClC,GAAGC,IAAIE,IAAS;AAAA,UAChB,YAAYM,IAAW,UAAU;AAAA,UACjC,kBAAiB;AAAA,UACjB,WAAU;AAAA,UAET,UAAAF;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,GAEJ;AAAA,EAEJ;AACF;AAMA,SAASK,EAAgB;AAAA,EACvB,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAd;AACF,GAAyB;AACvB,QAAMe,IAAa,OAAOf,EAAQ,OAAO,IAAI,GACvCgB,IAAShB,EAAQ,SAAS,eAAee,CAAU;AACzD,SACE,gBAAAV;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAG,IAAIG,CAAO,IAAIE,CAAO,IAAIE,CAAc,IAAIF,CAAO,IAAIG,CAAc,IAAIF,CAAO,IAAIF,CAAO,IAAIE,CAAO;AAAA,MACzG,MAAK;AAAA,MACL,QAAAK;AAAA,MACA,aAAa,KAAK,IAAI,GAAGF,CAAS;AAAA,MAIlC,eAAed,EAAQ,QAAQ,IAAI;AAAA,IAAA;AAAA,EAAA;AAGzC;AAYO,SAASiB,EACdzB,GACA0B,GACAC,GACA;;AACA,QAAMC,IAAW,CAACC,MAAA;;AAAiC,aAAAlB,IAAAX,EAAO6B,CAAG,MAAV,gBAAAlB,EAAa,UAASkB;AAAA,KAInEC,wBAAkB,IAAA;AACxB,aAAWC,KAAQL,GAAO;AACxB,UAAMM,MAASrB,IAAAgB,EAAMI,EAAK,MAAM,MAAjB,gBAAApB,EAAoB,SAAQ,IACrCsB,MAASC,IAAAP,EAAMI,EAAK,MAAM,MAAjB,gBAAAG,EAAoB,SAAQ;AAG3C,IAAAJ,EAAY,IAAIE,IAAS,QAAQC,GAAQ;AAAA,MACvC,OAAOF,EAAK,SAAS,eAAeE,CAAM;AAAA,MAC1C,SAASF,EAAK,QAAQ,IAAI;AAAA,IAAA,CAC3B;AAAA,EACH;AAEA,SAAO,SAA8B;AAAA,IACnC,QAAAI;AAAA,IACA,SAAA3B;AAAA,EAAA,GAOC;AACD,QAAI,CAAC2B,KAAU,EAAC3B,KAAA,QAAAA,EAAS,QAAQ,QAAO;AACxC,UAAM4B,IAAO5B,EAAQ,CAAC,GAChB6B,IAAQ,QAAOD,KAAA,gBAAAA,EAAM,SAAQ,EAAE,EAAE,MAAM,KAAK,GAC5CE,IAAYD,EAAMA,EAAM,SAAS,CAAC,GAClCE,IAAYT,EAAY,IAAI,QAAOM,KAAA,gBAAAA,EAAM,SAAQ,EAAE,CAAC,GACpDI,KAAWD,KAAA,gBAAAA,EAAW,UAAS,eAAeD,CAAS,KACvDG,KAAaF,KAAA,gBAAAA,EAAW,YAAW,GACnCG,IAAQN,KAAA,gBAAAA,EAAM;AACpB,WACE,gBAAAO,EAAC,OAAA,EAAI,WAAU,0OACb,UAAA;AAAA,MAAA,gBAAA9B;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,OAAO,EAAE,iBAAiB2B,GAAU,SAASC,EAAA;AAAA,QAAW;AAAA,MAAA;AAAA,MAE1D,gBAAA5B,EAAC,QAAA,EAAK,WAAU,yBAGb,UAAAwB,EAAM,IAAI,CAACR,GAAKtB,MACf,gBAAAoC,EAACC,EAAM,UAAN,EACE,UAAA;AAAA,QAAArC,IAAQ,KAAK;AAAA,QACbqB,EAASC,CAAG;AAAA,MAAA,EAAA,GAFM,GAAGA,CAAG,IAAItB,CAAK,EAGpC,CACD,GACH;AAAA,MACCmC,KAAS,QACR,gBAAA7B,EAAC,QAAA,EAAK,WAAU,iCACb,UAAAgC,EAAmBH,CAAK,EAAA,CAC3B;AAAA,IAAA,GAEJ;AAAA,EAEJ;AACF;AAIA,SAASG,EACPH,GACQ;AACR,SAAI,MAAM,QAAQA,CAAK,IACdA,EAAM,IAAI,CAACI,MAASD,EAAmBC,CAAI,CAAC,EAAE,KAAK,KAAK,IAE1D,OAAOJ,KAAU,WACpBA,EAAM,eAAA,IACN,OAAOA,CAAe;AAC5B;AAEA,MAAMK,IAAcH,EAAM;AAAA,EACxB,CACE;AAAA,IACE,WAAAI;AAAA,IACA,QAAAhD;AAAA,IACA,MAAAiD;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,WAAAC,IAAY;AAAA,IACZ,eAAAC,IAAgB;AAAA,IAChB,MAAAC,IAAO;AAAA,IACP,YAAAnD,IAAa;AAAA,IACb,YAAAoD,IAAa;AAAA,IACb,aAAAC,IAAc;AAAA,IACd,gBAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AAEH,UAAMC,IAAU,SADCf,EAAM,MAAA,EACW,QAAQ,MAAM,EAAE,CAAC,IAI7C3C,IAAgB2C,EAAM;AAAA,MAC1B,MAAM,IAAI,IAAIK,EAAK,MAAM,IAAI,CAAClB,MAASA,EAAK,MAAM,CAAC;AAAA,MACnD,CAACkB,EAAK,KAAK;AAAA,IAAA,GAGPW,IAAehB,EAAM;AAAA,MACzB,MAAM7C,EAAiBC,GAAQC,GAAeC,CAAU;AAAA,MACxD,CAACF,GAAQC,GAAeC,CAAU;AAAA,IAAA,GAG9B2D,IAAiBjB,EAAM;AAAA,MAC3B,MAAMnB,EAAkBzB,GAAQiD,EAAK,OAAOA,EAAK,KAAK;AAAA,MACtD,CAACjD,GAAQiD,EAAK,OAAOA,EAAK,KAAK;AAAA,IAAA,GAK3Ba,IAAYlB,EAAM,QAAQ,MAAM;AACpC,YAAMmB,wBAAe,IAAA,GACfC,wBAAe,IAAA;AACrB,iBAAWjC,KAAQkB,EAAK;AACtB,QAAAe,EAAS,IAAIjC,EAAK,SAASiC,EAAS,IAAIjC,EAAK,MAAM,KAAK,KAAKA,EAAK,KAAK,GACvEgC,EAAS,IAAIhC,EAAK,SAASgC,EAAS,IAAIhC,EAAK,MAAM,KAAK,KAAKA,EAAK,KAAK;AAEzE,YAAMkC,IAAShB,EAAK,MAAM;AAAA,QACxB,CAACiB,GAAGC,MAAMJ,EAAS,IAAII,CAAC,KAAKH,EAAS,IAAIG,CAAC,KAAK;AAAA,MAAA,GAE5CC,IAAQH,EAAO,SAAS,KAAK,IAAI,GAAGA,CAAM,IAAI;AACpD,aAAOhB,EAAK,MAAM,IAAI,CAACoB,GAAMF,OAAO;AAAA,QAClC,MAAME,EAAK;AAAA,QACX,OAAOJ,EAAOE,CAAC;AAAA,QACf,KAAKC,IAAQ,IAAI,KAAK,MAAOH,EAAOE,CAAC,IAAIC,IAAS,GAAG,IAAI;AAAA,MAAA,EACzD;AAAA,IACJ,GAAG,CAACnB,CAAI,CAAC;AAET,WACE,gBAAAN;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAe;AAAA,QAIA,cAAYC;AAAA,QACZ,WAAWW,EAAG,iBAAiBtB,CAAS;AAAA,QACvC,GAAGS;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAA5C,EAAC0D,GAAA,EAAW,IAAIZ,GAAS,QAAA3D,EAAA,CAAgB;AAAA,UACzC,gBAAAa,EAAC2D,GAAA,EAAe,QAAAxE,GAAgB,WAAU,kBACxC,UAAA,gBAAAa;AAAA,YAAC4D;AAAAA,YAAA;AAAA,cACC,MAAAxB;AAAA,cACA,MAAMW;AAAA,cACN,MAAM7C;AAAA,cACN,aAAAmC;AAAA,cACA,WAAAC;AAAA,cACA,eAAAC;AAAA,cACA,MAAAC;AAAA,cAMA,OAAM;AAAA,cAKN,QAAQ,EAAE,KAAK,GAAG,OAAO,IAAI,QAAQ,GAAG,MAAM,GAAA;AAAA,cAE7C,UAAAE,KACC,gBAAA1C,EAAC6D,GAAA,EAAa,SAASlB,KAAkBK,EAAA,CAAgB;AAAA,YAAA;AAAA,UAAA,GAG/D;AAAA,UACCP,KACC,gBAAAzC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,aAAU;AAAA,cACV,WAAU;AAAA,cAET,UAAAiD,EAAU,IAAI,CAAC,EAAE,MAAArD,GAAM,OAAAiC,GAAO,KAAAiC,EAAA,MAAI;;AACjC,uCAAAhC,EAAC,OAAA,EAAe,WAAU,2BACxB,UAAA;AAAA,kBAAA,gBAAA9B;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,OAAO,EAAE,iBAAiB,eAAeJ,CAAI,IAAA;AAAA,oBAAI;AAAA,kBAAA;AAAA,kBAEnD,gBAAAI,EAAC,UAAK,WAAU,kCACb,kBAAOJ,CAAI,wBAAG,UAASA,GAC1B;AAAA,oCACC,QAAA,EAAK,WAAU,sCACb,UAAAiC,EAAM,kBACT;AAAA,kBACA,gBAAAC,EAAC,QAAA,EAAK,WAAU,4DACb,UAAA;AAAA,oBAAAgC;AAAA,oBAAI;AAAA,kBAAA,EAAA,CACP;AAAA,gBAAA,EAAA,GAbQlE,CAcV;AAAA,eACD;AAAA,YAAA;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AACAsC,EAAY,cAAc;"}
1
+ {"version":3,"file":"sankey-chart.js","names":[],"sources":["../../../../src/components/ui/sankey-chart/sankey-chart.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Sankey as RechartsSankey, Rectangle } from 'recharts';\n\nimport { cn } from '@/lib/utils';\nimport {\n ChartContainer,\n ChartStyle,\n resolveChartColors,\n CHART_DEFAULT_PALETTE,\n ChartTooltip,\n type ChartConfig,\n type ChartPalette,\n} from '../chart';\n\n// A typed recharts composition over the shared `Chart` primitives — a flow\n// diagram where link width is proportional to the value flowing between nodes.\n// Like Treemap/Funnel it's a single recharts element (`<Sankey>`) themed through\n// custom `node` / `link` renderers (recharts' defaults paint one flat grey and\n// carry no token hooks). No CVA variant: a Sankey's expressiveness is the\n// nodes/links graph + geometry (plain props), not a visual \"mode\".\n//\n// Node `name`s are the color keys: each must match a `config` entry, so they\n// must be CSS-safe (they become part of a `--color-<name>` custom property).\n// The human-readable text comes from `config[name].label`.\n\n/** A node in the flow — `name` is its color/config key (CSS-safe, unique). */\nexport interface SankeyChartNode {\n name: string;\n}\n\n/** A directed flow between two nodes, referenced by their index in `nodes`. */\nexport interface SankeyChartLink {\n /** Index of the source node in `data.nodes`. */\n source: number;\n /** Index of the target node in `data.nodes`. */\n target: number;\n /** Flow magnitude — drives the link's width. */\n value: number;\n /**\n * Ribbon color (any CSS color, e.g. a `var(--ui-*)` token), rendered at **full\n * opacity** so it matches its node bar. Omit to use the target node's color at\n * 35% (the default tinted ribbon).\n */\n color?: string;\n}\n\nexport interface SankeyChartProps extends Omit<\n React.ComponentProps<'div'>,\n 'children'\n> {\n /**\n * The dataviz palette this chart's series are painted from. Series that\n * state no `color` of their own take a stop of it. See `ChartPalette`.\n */\n palette?: ChartPalette;\n /** The graph: `nodes` (color keys) + `links` (source/target indices + value). */\n data: {\n nodes: ReadonlyArray<SankeyChartNode>;\n links: ReadonlyArray<SankeyChartLink>;\n };\n /**\n * Per-node map of `label` / `icon` / `tone`, keyed by the node's `name`\n * (imported from the shared `Chart` primitives). Turned into `--color-<name>`\n * custom properties. Series take their colour from the container's `palette`;\n * each entry maps a key to a `label` and an optional `tone`.\n */\n config: ChartConfig;\n /** Vertical gap between nodes in the same column. */\n nodePadding?: number;\n /** Thickness of each node bar. */\n nodeWidth?: number;\n /** Curviness of the links (0 = straight, 1 = fully curved). */\n linkCurvature?: number;\n /**\n * Sort nodes vertically to minimize link crossings (recharts' relaxation).\n * Defaults to `false` — nodes render in the order given by `data.nodes` within\n * each column, which keeps curated flows tidy; set `true` to auto-order.\n */\n sort?: boolean;\n /** Render each node's label (from `config[name].label`) beside its bar. */\n showLabels?: boolean;\n /** Render a legend (color dot + label + value + % per node) below the chart. */\n showLegend?: boolean;\n /** Show a hover tooltip on nodes and links (dot + `source → target` + value). */\n showTooltip?: boolean;\n /**\n * Replace the default tooltip. Pass a configured `ChartTooltipContent`\n * (imported from this library) — e.g. with a `formatter` / `labelFormatter` —\n * to customize formatting without composing recharts yourself. Ignored when\n * `showTooltip` is false.\n */\n tooltipContent?: React.ComponentProps<typeof ChartTooltip>['content'];\n}\n\n// recharts injects these into the `node` / `link` render functions but doesn't\n// export their prop types from the package root, so we type the fields we use\n// (structurally compatible with recharts' internal NodeProps / LinkProps).\ninterface SankeyNodeShapeProps {\n x: number;\n y: number;\n width: number;\n height: number;\n index: number;\n payload: { name: string; value: number };\n}\n\ninterface SankeyLinkShapeProps {\n sourceX: number;\n targetX: number;\n sourceY: number;\n targetY: number;\n sourceControlX: number;\n targetControlX: number;\n linkWidth: number;\n // recharts spreads the original link onto `payload` (then overrides\n // source/target with node objects), so a custom `color` survives here.\n payload: {\n source: { name: string };\n target: { name: string };\n value: number;\n color?: string;\n };\n}\n\n// Node bar: a rect filled from `--color-<name>`, with the config label placed on\n// whichever side keeps it inside the plot — to the right for nodes that have\n// outgoing links (sources), to the left for terminal nodes (sinks).\nfunction makeNodeRenderer(\n config: ChartConfig,\n sourceIndices: ReadonlySet<number>,\n showLabels: boolean\n) {\n return function SankeyNodeShape({\n x,\n y,\n width,\n height,\n index,\n payload,\n }: SankeyNodeShapeProps) {\n const name = String(payload.name);\n const label = config[name]?.label ?? name;\n const isSource = sourceIndices.has(index);\n return (\n <g>\n <Rectangle\n x={x}\n y={y}\n width={width}\n height={height}\n fill={`var(--color-${name})`}\n radius={2}\n />\n {showLabels && (\n <text\n x={isSource ? x + width + 6 : x - 6}\n y={y + height / 2}\n textAnchor={isSource ? 'start' : 'end'}\n dominantBaseline=\"middle\"\n className=\"fill-foreground text-xs\"\n >\n {label}\n </text>\n )}\n </g>\n );\n };\n}\n\n// Link ribbon: a bezier stroked at 35% opacity in the link's own `color` if\n// given (recharts preserves custom link fields on the render `payload`), else\n// the **target** node's color (so a flow reads as \"where it goes\"). Drawn as a\n// stroke, not a fill, so the ribbon width comes from `linkWidth`.\nfunction SankeyLinkShape({\n sourceX,\n targetX,\n sourceY,\n targetY,\n sourceControlX,\n targetControlX,\n linkWidth,\n payload,\n}: SankeyLinkShapeProps) {\n const targetName = String(payload.target.name);\n const stroke = payload.color ?? `var(--color-${targetName})`;\n return (\n <path\n d={`M${sourceX},${sourceY}C${sourceControlX},${sourceY} ${targetControlX},${targetY} ${targetX},${targetY}`}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={Math.max(1, linkWidth)}\n // An explicit per-link color is the caller's exact choice — render it at\n // full opacity (so it matches its node bar); the default target-tint is\n // dimmed to 35% so ribbons don't overwhelm the nodes.\n strokeOpacity={payload.color ? 1 : 0.35}\n />\n );\n}\n\n// Default tooltip: recharts' Sankey payload carries no config color, and labels\n// a hovered link \"source - target\" using the node keys (a node is a single key).\n// Parse that name to a color dot (the target node's color) + the mapped config\n// labels joined with an arrow + the value — driven by `config`, so it's reliable\n// where the shared ChartTooltipContent can't resolve the Sankey payload.\n//\n// Exported (module-only, not from the package barrel) so its branches can be\n// unit-tested directly: recharts can't lay out a Sankey in happy-dom, and its\n// hover tooltip has no statically-open form the component exposes, so rendering\n// `<SankeyChart>` never reaches this code.\nexport function makeSankeyTooltip(\n config: ChartConfig,\n links: ReadonlyArray<SankeyChartLink>,\n nodes: ReadonlyArray<SankeyChartNode>\n) {\n const labelFor = (key: string): React.ReactNode => config[key]?.label ?? key;\n // Resolve each link's dot color by its \"source - target\" name (which is the\n // tooltip item's name): the link's own color if set, else the target's, via\n // the `--color-<name>` bridge.\n const styleByName = new Map<string, { color: string; opacity: number }>();\n for (const link of links) {\n const source = nodes[link.source]?.name ?? '';\n const target = nodes[link.target]?.name ?? '';\n // Mirror the ribbon: an explicit color renders full-opacity; the default\n // target tint renders at 35%.\n styleByName.set(source + ' - ' + target, {\n color: link.color ?? `var(--color-${target})`,\n opacity: link.color ? 1 : 0.35,\n });\n }\n\n return function SankeyTooltipContent({\n active,\n payload,\n }: {\n active?: boolean;\n payload?: ReadonlyArray<{\n name?: string | number;\n value?: number | string | ReadonlyArray<number | string>;\n }>;\n }) {\n if (!active || !payload?.length) return null;\n const item = payload[0];\n const parts = String(item?.name ?? '').split(' - ');\n const targetKey = parts[parts.length - 1];\n const linkStyle = styleByName.get(String(item?.name ?? ''));\n const dotColor = linkStyle?.color ?? `var(--color-${targetKey})`;\n const dotOpacity = linkStyle?.opacity ?? 1;\n const value = item?.value;\n return (\n <div className=\"flex items-center gap-2 rounded-[var(--ui-tooltip-container-border-radius)] border border-border bg-background px-[var(--ui-tooltip-container-padding-x)] py-[var(--ui-tooltip-container-padding-y)] text-xs text-foreground shadow-md\">\n <span\n className=\"h-2.5 w-2.5 shrink-0 rounded-[2px]\"\n style={{ backgroundColor: dotColor, opacity: dotOpacity }}\n />\n <span className=\"text-muted-foreground\">\n {/* A config label can be any ReactNode, so the arrow-joined label is\n built as nodes rather than stringified. */}\n {parts.map((key, index) => (\n <React.Fragment key={`${key}-${index}`}>\n {index > 0 && ' → '}\n {labelFor(key)}\n </React.Fragment>\n ))}\n </span>\n {value != null && (\n <span className=\"ms-2 font-medium tabular-nums\">\n {formatTooltipValue(value)}\n </span>\n )}\n </div>\n );\n };\n}\n\n// recharts types a tooltip item's value as a scalar *or* a range tuple; a plain\n// `String()` would print \"1,2\" for the tuple, so format each part and join.\nfunction formatTooltipValue(\n value: number | string | ReadonlyArray<number | string>\n): string {\n if (Array.isArray(value)) {\n return value.map((part) => formatTooltipValue(part)).join(' – ');\n }\n return typeof value === 'number'\n ? value.toLocaleString()\n : String(value as string);\n}\n\nconst SankeyChart = React.forwardRef<HTMLDivElement, SankeyChartProps>(\n (\n {\n className,\n config,\n palette,\n data,\n nodePadding = 24,\n nodeWidth = 12,\n linkCurvature = 0.5,\n sort = false,\n showLabels = true,\n showLegend = false,\n showTooltip = true,\n tooltipContent,\n ...props\n },\n ref\n ) => {\n const uniqueId = React.useId();\n const chartId = `chart-${uniqueId.replace(/:/g, '')}`;\n\n // Node indices that appear as a link `source` have outgoing flow — used by\n // the node renderer to place the label on the readable side.\n const sourceIndices = React.useMemo(\n () => new Set(data.links.map((link) => link.source)),\n [data.links]\n );\n\n const nodeRenderer = React.useMemo(\n () => makeNodeRenderer(config, sourceIndices, showLabels),\n [config, sourceIndices, showLabels]\n );\n\n const defaultTooltip = React.useMemo(\n () => makeSankeyTooltip(config, data.links, data.nodes),\n [config, data.links, data.nodes]\n );\n\n // Per-node value (incoming flow, or outgoing for a source with no incoming)\n // and its share of the largest node — drives the legend's count + %.\n const nodeStats = React.useMemo(() => {\n const incoming = new Map<number, number>();\n const outgoing = new Map<number, number>();\n for (const link of data.links) {\n outgoing.set(\n link.source,\n (outgoing.get(link.source) ?? 0) + link.value\n );\n incoming.set(\n link.target,\n (incoming.get(link.target) ?? 0) + link.value\n );\n }\n const values = data.nodes.map(\n (_, i) => incoming.get(i) ?? outgoing.get(i) ?? 0\n );\n const total = values.length ? Math.max(...values) : 0;\n return data.nodes.map((node, i) => ({\n name: node.name,\n value: values[i],\n pct: total > 0 ? Math.round((values[i] / total) * 100) : 0,\n }));\n }, [data]);\n\n return (\n <div\n ref={ref}\n // The legend sits outside `ChartContainer`, so the root carries its own\n // `--color-<name>` scope for it (the plot and the recharts-portaled\n // tooltip resolve theirs from ChartContainer's).\n data-chart={chartId}\n className={cn('flex flex-col', className)}\n {...props}\n >\n <ChartStyle\n id={chartId}\n config={resolveChartColors(config, palette ?? CHART_DEFAULT_PALETTE)}\n />\n <ChartContainer\n config={config}\n palette={palette}\n className=\"min-h-0 flex-1\"\n >\n <RechartsSankey\n data={\n data as { nodes: SankeyChartNode[]; links: SankeyChartLink[] }\n }\n node={nodeRenderer}\n link={SankeyLinkShape}\n nodePadding={nodePadding}\n nodeWidth={nodeWidth}\n linkCurvature={linkCurvature}\n sort={sort}\n // recharts defaults to `justify`, which right-aligns sink nodes to\n // the last column — so a terminal node like \"No certification\" would\n // jump to the far right instead of staying at its real depth. `left`\n // positions every node by its distance from the source, keeping the\n // flow's columns intact.\n align=\"left\"\n // Node labels never extend past the plot's right edge: a node in the\n // last column has no outgoing links, so its label is drawn to the\n // LEFT of its bar (see the node renderer). Only a small gutter is\n // needed here — a wide reserve would just shrink the diagram.\n margin={{ top: 8, right: 24, bottom: 8, left: 24 }}\n >\n {showTooltip && (\n <ChartTooltip content={tooltipContent ?? defaultTooltip} />\n )}\n </RechartsSankey>\n </ChartContainer>\n {showLegend && (\n <div\n data-slot=\"sankey-chart-legend\"\n className=\"mt-3 grid grid-cols-2 gap-x-6 gap-y-1.5 text-xs\"\n >\n {nodeStats.map(({ name, value, pct }) => (\n <div key={name} className=\"flex items-center gap-2\">\n <span\n className=\"size-2.5 shrink-0 rounded-sm\"\n style={{ backgroundColor: `var(--color-${name})` }}\n />\n <span className=\"truncate text-muted-foreground\">\n {config[name]?.label ?? name}\n </span>\n <span className=\"ms-auto font-semibold tabular-nums\">\n {value.toLocaleString()}\n </span>\n <span className=\"w-9 shrink-0 text-end tabular-nums text-muted-foreground\">\n {pct}%\n </span>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n }\n);\nSankeyChart.displayName = 'SankeyChart';\n\nexport { SankeyChart };\n"],"mappings":"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"}