@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,47 +1,24 @@
1
- import { jsxs as d, jsx as e } from "react/jsx-runtime";
2
- import * as m from "react";
3
- import { cn as i } from "../../../lib/utils.js";
4
- import { ButtonGroup as c } from "../button-group/button-group.js";
5
- const u = m.forwardRef(
6
- ({ className: t, value: o, children: r, actionsLabel: n = "Timer actions", ...a }, l) => /* @__PURE__ */ d(
7
- "div",
8
- {
9
- ref: l,
10
- className: i(
11
- // `overflow-hidden` clips the trailing action's hover fill and inset
12
- // focus ring to the container's radius — the same reason ButtonGroup
13
- // needs it, one level up.
14
- "inline-flex h-[var(--ui-timer-container-height)] w-fit items-center overflow-hidden",
15
- "rounded-[var(--ui-timer-container-radius)] bg-[var(--ui-timer-container-color)]",
16
- "border-[length:var(--ui-timer-container-border-width)] border-[color:var(--ui-timer-container-border-color)] [border-style:var(--ui-timer-container-border-style)]",
17
- t
18
- ),
19
- ...a,
20
- children: [
21
- /* @__PURE__ */ e(
22
- "div",
23
- {
24
- role: "timer",
25
- className: i(
26
- "ui-timer-value-text-style flex h-full shrink-0 items-center whitespace-nowrap",
27
- "px-[var(--ui-timer-content-box-padding-x)] text-[var(--ui-timer-value-color)]",
28
- "[font-variant-numeric:var(--ui-timer-value-font-variant-numeric)]",
29
- // The divider is the readout's own inline-end border, as in Figma,
30
- // and is derived from the DOM rather than a prop: with no actions the
31
- // readout is the last child and the border is dropped. `border-e-*`
32
- // (not `border-r-*`) so it flips under `dir="rtl"`.
33
- "border-e-[length:var(--ui-timer-content-box-divider-width)] border-[color:var(--ui-timer-content-box-divider-color)] [border-inline-end-style:var(--ui-timer-content-box-divider-style)] last:border-e-0"
34
- ),
35
- children: o
36
- }
37
- ),
38
- r ? /* @__PURE__ */ e(c, { variant: "inlined", "aria-label": n, children: r }) : null
39
- ]
40
- }
41
- )
42
- );
43
- u.displayName = "Timer";
44
- export {
45
- u as Timer
46
- };
47
- //# sourceMappingURL=timer.js.map
1
+ import { cn as e } from "../../../lib/utils.js";
2
+ import { ButtonGroup as t } from "../button-group/button-group.js";
3
+ import * as n from "react";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ //#region src/components/ui/timer/timer.tsx
6
+ var a = n.forwardRef(({ className: n, value: a, children: o, actionsLabel: s = "Timer actions", ...c }, l) => /* @__PURE__ */ i("div", {
7
+ ref: l,
8
+ className: e("inline-flex h-[var(--ui-timer-container-height)] w-fit items-center overflow-hidden", "rounded-[var(--ui-timer-container-radius)] bg-[var(--ui-timer-container-color)]", "border-[length:var(--ui-timer-container-border-width)] border-[color:var(--ui-timer-container-border-color)] [border-style:var(--ui-timer-container-border-style)]", n),
9
+ ...c,
10
+ children: [/* @__PURE__ */ r("div", {
11
+ role: "timer",
12
+ className: e("ui-timer-value-text-style flex h-full shrink-0 items-center whitespace-nowrap", "px-[var(--ui-timer-content-box-padding-x)] text-[var(--ui-timer-value-color)]", "[font-variant-numeric:var(--ui-timer-value-font-variant-numeric)]", "border-e-[length:var(--ui-timer-content-box-divider-width)] border-[color:var(--ui-timer-content-box-divider-color)] [border-inline-end-style:var(--ui-timer-content-box-divider-style)] last:border-e-0"),
13
+ children: a
14
+ }), o ? /* @__PURE__ */ r(t, {
15
+ variant: "inlined",
16
+ "aria-label": s,
17
+ children: o
18
+ }) : null]
19
+ }));
20
+ a.displayName = "Timer";
21
+ //#endregion
22
+ export { a as Timer };
23
+
24
+ //# sourceMappingURL=timer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timer.js","sources":["../../../../src/components/ui/timer/timer.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { ButtonGroup } from '@/components/ui/button-group';\nimport { cn } from '@/lib/utils';\n\n// Mirrors the Figma \"Timer\" component (node 7987:25477): a bordered 32px pill\n// holding an elapsed-time readout, hairline-separated from a cluster of\n// icon-only actions.\n//\n// Figma models exactly two properties on it — `value` (TEXT) and the nested\n// ButtonGroup's `ListItem` slot — so that is the whole API: a required `value`\n// and variadic `children`. There is no variant axis and no design-defined\n// state, so no `cva` here.\n//\n// The action cluster is a real `ButtonGroup` with `variant=\"inlined\"` (the\n// design instantiates it exactly that way) because the Timer container already\n// draws the border and radius an `outlined` group would duplicate. Composing it\n// rather than re-implementing the item box keeps the separators, the roving\n// tabindex, and the hover/active/focus fills in one place — which is also why\n// the actions are plain `ButtonGroupItem` children rather than a Timer-specific\n// alias of it.\n//\n// The Timer does NOT tick: it renders whatever it is given. Formatting and the\n// interval belong to the consumer, who owns the clock the actions operate on.\n\nexport interface TimerProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'children'> {\n /**\n * The formatted time to display, e.g. `\"12:01:45\"`. Rendered with tabular\n * figures so the readout doesn't jitter as the digits change. The component\n * neither ticks nor formats — pass an already-formatted value.\n */\n value: React.ReactNode;\n /**\n * The actions, as `ButtonGroupItem` elements in visual order. Omit them for a\n * read-only readout — with no actions the divider is dropped too.\n */\n children?: React.ReactNode;\n /**\n * Accessible name for the action cluster's toolbar. Localize it; the default\n * is English.\n */\n actionsLabel?: string;\n}\n\n/**\n * An elapsed-time readout paired with a cluster of icon-only actions.\n *\n * The readout is a `role=\"timer\"` live region — implicitly `aria-live=\"off\"`,\n * so it is not announced on every tick. Each action needs its own accessible\n * name; the cluster as a whole is named by `actionsLabel`.\n */\nconst Timer = React.forwardRef<HTMLDivElement, TimerProps>(\n (\n { className, value, children, actionsLabel = 'Timer actions', ...props },\n ref\n ) => (\n <div\n ref={ref}\n className={cn(\n // `overflow-hidden` clips the trailing action's hover fill and inset\n // focus ring to the container's radius — the same reason ButtonGroup\n // needs it, one level up.\n 'inline-flex h-[var(--ui-timer-container-height)] w-fit items-center overflow-hidden',\n 'rounded-[var(--ui-timer-container-radius)] bg-[var(--ui-timer-container-color)]',\n 'border-[length:var(--ui-timer-container-border-width)] border-[color:var(--ui-timer-container-border-color)] [border-style:var(--ui-timer-container-border-style)]',\n className\n )}\n {...props}\n >\n <div\n role=\"timer\"\n className={cn(\n 'ui-timer-value-text-style flex h-full shrink-0 items-center whitespace-nowrap',\n 'px-[var(--ui-timer-content-box-padding-x)] text-[var(--ui-timer-value-color)]',\n '[font-variant-numeric:var(--ui-timer-value-font-variant-numeric)]',\n // The divider is the readout's own inline-end border, as in Figma,\n // and is derived from the DOM rather than a prop: with no actions the\n // readout is the last child and the border is dropped. `border-e-*`\n // (not `border-r-*`) so it flips under `dir=\"rtl\"`.\n 'border-e-[length:var(--ui-timer-content-box-divider-width)] border-[color:var(--ui-timer-content-box-divider-color)] [border-inline-end-style:var(--ui-timer-content-box-divider-style)] last:border-e-0'\n )}\n >\n {value}\n </div>\n {children ? (\n <ButtonGroup variant=\"inlined\" aria-label={actionsLabel}>\n {children}\n </ButtonGroup>\n ) : null}\n </div>\n )\n);\nTimer.displayName = 'Timer';\n\nexport { Timer };\n"],"names":["Timer","React","className","value","children","actionsLabel","props","ref","jsxs","cn","jsx","ButtonGroup"],"mappings":";;;;AAoDA,MAAMA,IAAQC,EAAM;AAAA,EAClB,CACE,EAAE,WAAAC,GAAW,OAAAC,GAAO,UAAAC,GAAU,cAAAC,IAAe,iBAAiB,GAAGC,KACjEC,MAEA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,WAAWE;AAAA;AAAA;AAAA;AAAA,QAIT;AAAA,QACA;AAAA,QACA;AAAA,QACAP;AAAA,MAAA;AAAA,MAED,GAAGI;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAI;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,WAAWD;AAAA,cACT;AAAA,cACA;AAAA,cACA;AAAA;AAAA;AAAA;AAAA;AAAA,cAKA;AAAA,YAAA;AAAA,YAGD,UAAAN;AAAA,UAAA;AAAA,QAAA;AAAA,QAEFC,sBACEO,GAAA,EAAY,SAAQ,WAAU,cAAYN,GACxC,UAAAD,GACH,IACE;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGV;AACAJ,EAAM,cAAc;"}
1
+ {"version":3,"file":"timer.js","names":[],"sources":["../../../../src/components/ui/timer/timer.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { ButtonGroup } from '@/components/ui/button-group';\nimport { cn } from '@/lib/utils';\n\n// Mirrors the Figma \"Timer\" component (node 7987:25477): a bordered 32px pill\n// holding an elapsed-time readout, hairline-separated from a cluster of\n// icon-only actions.\n//\n// Figma models exactly two properties on it — `value` (TEXT) and the nested\n// ButtonGroup's `ListItem` slot — so that is the whole API: a required `value`\n// and variadic `children`. There is no variant axis and no design-defined\n// state, so no `cva` here.\n//\n// The action cluster is a real `ButtonGroup` with `variant=\"inlined\"` (the\n// design instantiates it exactly that way) because the Timer container already\n// draws the border and radius an `outlined` group would duplicate. Composing it\n// rather than re-implementing the item box keeps the separators, the roving\n// tabindex, and the hover/active/focus fills in one place — which is also why\n// the actions are plain `ButtonGroupItem` children rather than a Timer-specific\n// alias of it.\n//\n// The Timer does NOT tick: it renders whatever it is given. Formatting and the\n// interval belong to the consumer, who owns the clock the actions operate on.\n\nexport interface TimerProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'children'> {\n /**\n * The formatted time to display, e.g. `\"12:01:45\"`. Rendered with tabular\n * figures so the readout doesn't jitter as the digits change. The component\n * neither ticks nor formats — pass an already-formatted value.\n */\n value: React.ReactNode;\n /**\n * The actions, as `ButtonGroupItem` elements in visual order. Omit them for a\n * read-only readout — with no actions the divider is dropped too.\n */\n children?: React.ReactNode;\n /**\n * Accessible name for the action cluster's toolbar. Localize it; the default\n * is English.\n */\n actionsLabel?: string;\n}\n\n/**\n * An elapsed-time readout paired with a cluster of icon-only actions.\n *\n * The readout is a `role=\"timer\"` live region — implicitly `aria-live=\"off\"`,\n * so it is not announced on every tick. Each action needs its own accessible\n * name; the cluster as a whole is named by `actionsLabel`.\n */\nconst Timer = React.forwardRef<HTMLDivElement, TimerProps>(\n (\n { className, value, children, actionsLabel = 'Timer actions', ...props },\n ref\n ) => (\n <div\n ref={ref}\n className={cn(\n // `overflow-hidden` clips the trailing action's hover fill and inset\n // focus ring to the container's radius — the same reason ButtonGroup\n // needs it, one level up.\n 'inline-flex h-[var(--ui-timer-container-height)] w-fit items-center overflow-hidden',\n 'rounded-[var(--ui-timer-container-radius)] bg-[var(--ui-timer-container-color)]',\n 'border-[length:var(--ui-timer-container-border-width)] border-[color:var(--ui-timer-container-border-color)] [border-style:var(--ui-timer-container-border-style)]',\n className\n )}\n {...props}\n >\n <div\n role=\"timer\"\n className={cn(\n 'ui-timer-value-text-style flex h-full shrink-0 items-center whitespace-nowrap',\n 'px-[var(--ui-timer-content-box-padding-x)] text-[var(--ui-timer-value-color)]',\n '[font-variant-numeric:var(--ui-timer-value-font-variant-numeric)]',\n // The divider is the readout's own inline-end border, as in Figma,\n // and is derived from the DOM rather than a prop: with no actions the\n // readout is the last child and the border is dropped. `border-e-*`\n // (not `border-r-*`) so it flips under `dir=\"rtl\"`.\n 'border-e-[length:var(--ui-timer-content-box-divider-width)] border-[color:var(--ui-timer-content-box-divider-color)] [border-inline-end-style:var(--ui-timer-content-box-divider-style)] last:border-e-0'\n )}\n >\n {value}\n </div>\n {children ? (\n <ButtonGroup variant=\"inlined\" aria-label={actionsLabel}>\n {children}\n </ButtonGroup>\n ) : null}\n </div>\n )\n);\nTimer.displayName = 'Timer';\n\nexport { Timer };\n"],"mappings":";;;;;AAoDA,IAAM,IAAQ,EAAM,YAEhB,EAAE,cAAW,UAAO,aAAU,kBAAe,iBAAiB,GAAG,KACjE,MAEA,kBAAC,OAAD;CACO;CACL,WAAW,EAIT,uFACA,mFACA,sKACA,CACF;CACA,GAAI;CAXN,UAAA,CAaE,kBAAC,OAAD;EACE,MAAK;EACL,WAAW,EACT,iFACA,iFACA,qEAKA,0MACF;EAEC,UAAA;CACE,CAAA,GACJ,IACC,kBAAC,GAAD;EAAa,SAAQ;EAAU,cAAY;EACxC;CACU,CAAA,IACX,IACD;AAET,CAAA,CAAA;AACA,EAAM,cAAc"}
@@ -1,192 +1,137 @@
1
- import { jsx as o, jsxs as u } from "react/jsx-runtime";
2
- import { Toast as r } from "@base-ui/react/toast";
3
- import { cva as v } from "../../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js";
4
- import { TimesIcon as m } from "@acronis-platform/icons-react/stroke-mono";
5
- import { DiamondWarningRedIcon as x, CircleWarningOrangeIcon as w, TriangleWarningYellowIcon as y, CircleCheckGreenIcon as h, CircleInfoBlueIcon as C } from "@acronis-platform/icons-react/stroke-multi";
6
- import { cn as N } from "../../../lib/utils.js";
7
- import { usePortalContainer as T } from "../../../lib/portal-container.js";
8
- import { Spinner as I } from "../spinner/spinner.js";
9
- import { Button as k } from "../button/button.js";
10
- import { ButtonIcon as z } from "../button-icon/button-icon.js";
11
- const _ = v(
12
- "relative flex w-full items-start overflow-clip [overflow-clip-margin:border-box] border-solid gap-[var(--ui-toast-global-container-gap)] px-[var(--ui-toast-global-container-padding-x)] py-[var(--ui-toast-global-container-padding-y)] rounded-[var(--ui-toast-global-container-border-radius)] border-[length:var(--ui-toast-global-container-border-width)] bg-[var(--ui-toast-global-container-background)] shadow-[var(--ui-toast-global-container-shadow)] before:absolute before:content-[''] before:-inset-y-px before:start-[-1px] before:w-[var(--ui-toast-global-container-status-width)]",
13
- {
14
- variants: {
15
- variant: {
16
- info: "border-[color:var(--ui-toast-info-border-color)] before:bg-[var(--ui-toast-info-left-line)]",
17
- success: "border-[color:var(--ui-toast-success-border-color)] before:bg-[var(--ui-toast-success-left-line)]",
18
- warning: "border-[color:var(--ui-toast-warning-border-color)] before:bg-[var(--ui-toast-warning-left-line)]",
19
- critical: "border-[color:var(--ui-toast-critical-border-color)] before:bg-[var(--ui-toast-critical-left-line)]",
20
- danger: "border-[color:var(--ui-toast-danger-border-color)] before:bg-[var(--ui-toast-danger-left-line)]"
21
- }
22
- },
23
- defaultVariants: {
24
- variant: "info"
25
- }
26
- }
27
- ), B = {
28
- info: C,
29
- success: h,
30
- warning: y,
31
- critical: w,
32
- danger: x
33
- }, P = {
34
- info: "info",
35
- success: "success",
36
- warning: "warning",
37
- critical: "critical",
38
- danger: "danger",
39
- error: "danger",
40
- loading: "info"
41
- }, d = r.createToastManager();
42
- function s(t, a, n = {}) {
43
- const { actions: i, dismissable: l, ...e } = n;
44
- return d.add({
45
- title: t,
46
- type: a,
47
- data: { actions: i, dismissable: l },
48
- ...e
49
- });
1
+ "use client";
2
+ import { cn as e } from "../../../lib/utils.js";
3
+ import { usePortalContainer as t } from "../../../lib/portal-container.js";
4
+ import { cva as n } from "../../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js";
5
+ import { ButtonIcon as r } from "../button-icon/button-icon.js";
6
+ import { Button as i } from "../button/button.js";
7
+ import { Spinner as a } from "../spinner/spinner.js";
8
+ import "react";
9
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
10
+ import { TimesIcon as c } from "@acronis-platform/icons-react/stroke-mono";
11
+ import { CircleCheckGreenIcon as l, CircleInfoBlueIcon as u, CircleWarningOrangeIcon as d, DiamondWarningRedIcon as f, TriangleWarningYellowIcon as p } from "@acronis-platform/icons-react/stroke-multi";
12
+ import { Toast as m } from "@base-ui/react/toast";
13
+ //#region src/components/ui/toast/toast.tsx
14
+ var h = n("relative flex w-full items-start overflow-clip [overflow-clip-margin:border-box] border-solid gap-[var(--ui-toast-global-container-gap)] px-[var(--ui-toast-global-container-padding-x)] py-[var(--ui-toast-global-container-padding-y)] rounded-[var(--ui-toast-global-container-border-radius)] border-[length:var(--ui-toast-global-container-border-width)] bg-[var(--ui-toast-global-container-background)] shadow-[var(--ui-toast-global-container-shadow)] before:absolute before:content-[''] before:-inset-y-px before:start-[-1px] before:w-[var(--ui-toast-global-container-status-width)]", {
15
+ variants: { variant: {
16
+ info: "border-[color:var(--ui-toast-info-border-color)] before:bg-[var(--ui-toast-info-left-line)]",
17
+ success: "border-[color:var(--ui-toast-success-border-color)] before:bg-[var(--ui-toast-success-left-line)]",
18
+ warning: "border-[color:var(--ui-toast-warning-border-color)] before:bg-[var(--ui-toast-warning-left-line)]",
19
+ critical: "border-[color:var(--ui-toast-critical-border-color)] before:bg-[var(--ui-toast-critical-left-line)]",
20
+ danger: "border-[color:var(--ui-toast-danger-border-color)] before:bg-[var(--ui-toast-danger-left-line)]"
21
+ } },
22
+ defaultVariants: { variant: "info" }
23
+ }), g = {
24
+ info: u,
25
+ success: l,
26
+ warning: p,
27
+ critical: d,
28
+ danger: f
29
+ }, _ = {
30
+ info: "info",
31
+ success: "success",
32
+ warning: "warning",
33
+ critical: "critical",
34
+ danger: "danger",
35
+ error: "danger",
36
+ loading: "info"
37
+ }, v = m.createToastManager();
38
+ function y(e, t, n = {}) {
39
+ let { actions: r, dismissable: i, ...a } = n;
40
+ return v.add({
41
+ title: e,
42
+ type: t,
43
+ data: {
44
+ actions: r,
45
+ dismissable: i
46
+ },
47
+ ...a
48
+ });
50
49
  }
51
- const G = Object.assign(
52
- (t, a) => s(t, void 0, a),
53
- {
54
- info: (t, a) => s(t, "info", a),
55
- success: (t, a) => s(t, "success", a),
56
- warning: (t, a) => s(t, "warning", a),
57
- critical: (t, a) => s(t, "critical", a),
58
- danger: (t, a) => s(t, "danger", a),
59
- loading: (t, a) => s(t, "loading", { timeout: 0, ...a }),
60
- dismiss: (t) => d.close(t),
61
- promise: d.promise
62
- }
63
- );
64
- function S({ closeAriaLabel: t }) {
65
- const { toasts: a } = r.useToastManager();
66
- return a.map((n) => {
67
- var b, p;
68
- const i = P[n.type ?? ""] ?? "info", l = B[i], e = (b = n.data) == null ? void 0 : b.actions, c = ((p = n.data) == null ? void 0 : p.dismissable) ?? !0;
69
- return /* @__PURE__ */ u(
70
- r.Root,
71
- {
72
- toast: n,
73
- "data-slot": "toast",
74
- "data-variant": i,
75
- swipeDirection: c ? void 0 : [],
76
- className: N(
77
- _({ variant: i }),
78
- "transition-all data-[ending-style]:opacity-0 data-[starting-style]:opacity-0",
79
- // The stack sits on the inline-end edge, so a toast slides in from the
80
- // right in LTR and from the left in RTL.
81
- "data-[ending-style]:translate-x-4 data-[starting-style]:translate-x-4",
82
- "rtl:data-[ending-style]:-translate-x-4 rtl:data-[starting-style]:-translate-x-4"
83
- ),
84
- children: [
85
- /* @__PURE__ */ o(
86
- "div",
87
- {
88
- "data-slot": "toast-icon",
89
- className: "flex shrink-0 items-start px-[var(--ui-toast-global-icon-padding-x)] py-[var(--ui-toast-global-icon-padding-y)] [&_svg]:size-[var(--ui-toast-global-icon-size)] [&_svg]:shrink-0",
90
- children: n.type === "loading" ? /* @__PURE__ */ o(
91
- I,
92
- {
93
- size: "sm",
94
- className: "size-[var(--ui-toast-global-icon-size)]"
95
- }
96
- ) : /* @__PURE__ */ o(l, { size: 16 })
97
- }
98
- ),
99
- /* @__PURE__ */ u(
100
- "div",
101
- {
102
- "data-slot": "toast-content",
103
- className: "flex min-w-0 flex-1 flex-col items-start gap-[var(--ui-toast-global-content-gap)] px-[var(--ui-toast-global-content-padding-x)] py-[var(--ui-toast-global-content-padding-y)]",
104
- children: [
105
- /* @__PURE__ */ u(
106
- "div",
107
- {
108
- "data-slot": "toast-text",
109
- className: "flex w-full shrink-0 flex-col items-start gap-[var(--ui-toast-global-content-text-container-gap)] px-[var(--ui-toast-global-content-text-container-padding-x)] py-[var(--ui-toast-global-content-text-container-padding-y)] [word-break:break-word]",
110
- children: [
111
- /* @__PURE__ */ o(
112
- r.Title,
113
- {
114
- "data-slot": "toast-title",
115
- render: /* @__PURE__ */ o("h5", {}),
116
- className: "ui-toast-global-content-text-container-title-text-style mb-0 w-full text-[var(--ui-toast-global-content-text-container-title-color)]"
117
- }
118
- ),
119
- n.description ? /* @__PURE__ */ o(
120
- r.Description,
121
- {
122
- "data-slot": "toast-description",
123
- className: "ui-toast-global-content-text-container-description-text-style line-clamp-3 w-full text-[var(--ui-toast-global-content-text-container-description-color)]"
124
- }
125
- ) : null
126
- ]
127
- }
128
- ),
129
- e != null && e.length ? /* @__PURE__ */ o(
130
- "div",
131
- {
132
- "data-slot": "toast-actions",
133
- className: "flex w-full shrink-0 flex-wrap content-start items-start gap-x-[var(--ui-toast-global-content-actions-container-gap-x)] gap-y-[var(--ui-toast-global-content-actions-container-gap-y)] px-[var(--ui-toast-global-content-actions-container-padding-x)] py-[var(--ui-toast-global-content-actions-container-padding-y)]",
134
- children: e.map((g, f) => /* @__PURE__ */ o(
135
- k,
136
- {
137
- variant: g.variant ?? (f === 0 ? "secondary" : "ghost"),
138
- onClick: g.onClick,
139
- children: g.label
140
- },
141
- f
142
- ))
143
- }
144
- ) : null
145
- ]
146
- }
147
- ),
148
- c ? /* @__PURE__ */ o(
149
- r.Close,
150
- {
151
- "aria-label": t,
152
- "data-slot": "toast-close",
153
- render: /* @__PURE__ */ o(z, { variant: "ghost", children: /* @__PURE__ */ o(m, {}) })
154
- }
155
- ) : null
156
- ]
157
- },
158
- n.id
159
- );
160
- });
50
+ var b = Object.assign((e, t) => y(e, void 0, t), {
51
+ info: (e, t) => y(e, "info", t),
52
+ success: (e, t) => y(e, "success", t),
53
+ warning: (e, t) => y(e, "warning", t),
54
+ critical: (e, t) => y(e, "critical", t),
55
+ danger: (e, t) => y(e, "danger", t),
56
+ loading: (e, t) => y(e, "loading", {
57
+ timeout: 0,
58
+ ...t
59
+ }),
60
+ dismiss: (e) => v.close(e),
61
+ promise: v.promise
62
+ });
63
+ function x({ closeAriaLabel: t }) {
64
+ let { toasts: n } = m.useToastManager();
65
+ return n.map((n) => {
66
+ let l = _[n.type ?? ""] ?? "info", u = g[l], d = n.data?.actions, f = n.data?.dismissable ?? !0;
67
+ return /* @__PURE__ */ s(m.Root, {
68
+ toast: n,
69
+ "data-slot": "toast",
70
+ "data-variant": l,
71
+ swipeDirection: f ? void 0 : [],
72
+ className: e(h({ variant: l }), "transition-all data-[ending-style]:opacity-0 data-[starting-style]:opacity-0", "data-[ending-style]:translate-x-4 data-[starting-style]:translate-x-4", "rtl:data-[ending-style]:-translate-x-4 rtl:data-[starting-style]:-translate-x-4"),
73
+ children: [
74
+ /* @__PURE__ */ o("div", {
75
+ "data-slot": "toast-icon",
76
+ className: "flex shrink-0 items-start px-[var(--ui-toast-global-icon-padding-x)] py-[var(--ui-toast-global-icon-padding-y)] [&_svg]:size-[var(--ui-toast-global-icon-size)] [&_svg]:shrink-0",
77
+ children: n.type === "loading" ? /* @__PURE__ */ o(a, {
78
+ size: "sm",
79
+ className: "size-[var(--ui-toast-global-icon-size)]"
80
+ }) : /* @__PURE__ */ o(u, { size: 16 })
81
+ }),
82
+ /* @__PURE__ */ s("div", {
83
+ "data-slot": "toast-content",
84
+ className: "flex min-w-0 flex-1 flex-col items-start gap-[var(--ui-toast-global-content-gap)] px-[var(--ui-toast-global-content-padding-x)] py-[var(--ui-toast-global-content-padding-y)]",
85
+ children: [/* @__PURE__ */ s("div", {
86
+ "data-slot": "toast-text",
87
+ className: "flex w-full shrink-0 flex-col items-start gap-[var(--ui-toast-global-content-text-container-gap)] px-[var(--ui-toast-global-content-text-container-padding-x)] py-[var(--ui-toast-global-content-text-container-padding-y)] [word-break:break-word]",
88
+ children: [/* @__PURE__ */ o(m.Title, {
89
+ "data-slot": "toast-title",
90
+ render: /* @__PURE__ */ o("h5", {}),
91
+ className: "ui-toast-global-content-text-container-title-text-style mb-0 w-full text-[var(--ui-toast-global-content-text-container-title-color)]"
92
+ }), n.description ? /* @__PURE__ */ o(m.Description, {
93
+ "data-slot": "toast-description",
94
+ className: "ui-toast-global-content-text-container-description-text-style line-clamp-3 w-full text-[var(--ui-toast-global-content-text-container-description-color)]"
95
+ }) : null]
96
+ }), d?.length ? /* @__PURE__ */ o("div", {
97
+ "data-slot": "toast-actions",
98
+ className: "flex w-full shrink-0 flex-wrap content-start items-start gap-x-[var(--ui-toast-global-content-actions-container-gap-x)] gap-y-[var(--ui-toast-global-content-actions-container-gap-y)] px-[var(--ui-toast-global-content-actions-container-padding-x)] py-[var(--ui-toast-global-content-actions-container-padding-y)]",
99
+ children: d.map((e, t) => /* @__PURE__ */ o(i, {
100
+ variant: e.variant ?? (t === 0 ? "secondary" : "ghost"),
101
+ onClick: e.onClick,
102
+ children: e.label
103
+ }, t))
104
+ }) : null]
105
+ }),
106
+ f ? /* @__PURE__ */ o(m.Close, {
107
+ "aria-label": t,
108
+ "data-slot": "toast-close",
109
+ render: /* @__PURE__ */ o(r, {
110
+ variant: "ghost",
111
+ children: /* @__PURE__ */ o(c, {})
112
+ })
113
+ }) : null
114
+ ]
115
+ }, n.id);
116
+ });
161
117
  }
162
- function L({
163
- timeout: t,
164
- limit: a,
165
- label: n = "Notifications",
166
- closeAriaLabel: i = "Close",
167
- portalContainer: l
168
- }) {
169
- const e = T(), c = l ?? e;
170
- return /* @__PURE__ */ o(
171
- r.Provider,
172
- {
173
- toastManager: d,
174
- timeout: t,
175
- limit: a,
176
- children: /* @__PURE__ */ o(r.Portal, { container: c, children: /* @__PURE__ */ o(
177
- r.Viewport,
178
- {
179
- "aria-label": n,
180
- className: "fixed bottom-4 end-4 z-[100] flex w-[var(--ui-toast-global-container-width-min)] max-w-[calc(100vw-2rem)] flex-col gap-3 outline-none",
181
- children: /* @__PURE__ */ o(S, { closeAriaLabel: i })
182
- }
183
- ) })
184
- }
185
- );
118
+ function S({ timeout: e, limit: n, label: r = "Notifications", closeAriaLabel: i = "Close", portalContainer: a }) {
119
+ let s = t(), c = a ?? s;
120
+ return /* @__PURE__ */ o(m.Provider, {
121
+ toastManager: v,
122
+ timeout: e,
123
+ limit: n,
124
+ children: /* @__PURE__ */ o(m.Portal, {
125
+ container: c,
126
+ children: /* @__PURE__ */ o(m.Viewport, {
127
+ "aria-label": r,
128
+ className: "fixed bottom-4 end-4 z-[100] flex w-[var(--ui-toast-global-container-width-min)] max-w-[calc(100vw-2rem)] flex-col gap-3 outline-none",
129
+ children: /* @__PURE__ */ o(x, { closeAriaLabel: i })
130
+ })
131
+ })
132
+ });
186
133
  }
187
- export {
188
- L as Toaster,
189
- G as toast,
190
- _ as toastVariants
191
- };
192
- //# sourceMappingURL=toast.js.map
134
+ //#endregion
135
+ export { S as Toaster, b as toast, h as toastVariants };
136
+
137
+ //# sourceMappingURL=toast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.js","sources":["../../../../src/components/ui/toast/toast.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Toast as ToastPrimitive } from '@base-ui/react/toast';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { TimesIcon } from '@acronis-platform/icons-react/stroke-mono';\nimport {\n CircleCheckGreenIcon,\n CircleInfoBlueIcon,\n CircleWarningOrangeIcon,\n DiamondWarningRedIcon,\n TriangleWarningYellowIcon,\n type IconProps,\n} from '@acronis-platform/icons-react/stroke-multi';\n\nimport { cn } from '@/lib/utils';\nimport { usePortalContainer } from '@/lib/portal-container';\nimport { Button } from '../button';\nimport { ButtonIcon } from '../button-icon';\nimport { Spinner } from '../spinner';\n\n// Mirrors the Figma \"Toast\" component set (node 7421:126262), which is the Alert\n// banner plus a drop shadow: a *neutral* surface — not a status tint — with the\n// severity carried by a 1px border in the status color and a 6px status line down\n// the leading edge. Geometry, colors, and spacing all come from the dedicated\n// `--ui-toast-*` tier (imported in `src/styles/index.css`).\n//\n// The delivery mechanism is unchanged from the Sonner-compatible port: a single\n// `<Toaster />` at the app root plus the imperative `toast(...)` API, built on the\n// Base UI toast manager (no Sonner dependency). Only the rendered surface and the\n// variant vocabulary changed.\n//\n// The Figma's `hasDescription` / `hasActions` / `dismissable` booleans map onto\n// per-toast options rather than props, since there is no per-toast component to\n// take them: omitting `description` or `actions` drops those parts, and\n// `dismissable: false` drops the close control. `dismissable` also has to switch\n// off Base UI's swipe-to-dismiss, which is on by default — see the `Root` below.\n//\n// The status line is a `::before` pseudo-element rather than a DOM node: it is\n// never optional and never a slot, so a real element would only add markup for\n// consumers to get wrong. It is bled 1px outwards on three sides so it paints\n// *over* the border it sits on (matching the Figma, where the line covers the\n// leading border), and the root's clip rounds its square corners to the\n// container radius. `start-` keeps it on the leading edge under `dir=\"rtl\"`.\n//\n// `overflow-clip-margin: border-box` is load-bearing, not decoration. `overflow:\n// clip` alone clips at the *padding* box, which is exactly where the bleed has to\n// reach — and an absolutely positioned pseudo-element's containing block is that\n// same padding box — so the outward 1px gets shaved off and the line renders 5px\n// wide starting *inside* the border. Since the border and the line are different\n// tokens, that reads as two adjacent stripes rather than one 6px line. Moving the\n// clip edge out to the border box lets the bleed survive while still rounding the\n// corners.\n//\n// Typography comes from the Toast tier's own emitted classes rather than\n// hand-written utilities: one for the title (Inter Regular 18 / 24 — the same\n// treatment Alert's title uses) and one for the description (Inter Regular\n// 14 / 24). The title previously borrowed the semantic\n// `ui-typography-headings-lead` because the tier emitted no title class; it does\n// now, and the two resolve identically today. Only the *colors* are separate\n// token references.\n//\n// One deliberate deviation from the Figma: `container/widthMin` (384px) is applied\n// to the viewport, not to the card. A fixed-position stack with a 384px\n// `min-width` overflows a narrow phone viewport (min-width always beats\n// max-width), so the viewport owns the width and clamps it with `max-w`, and the\n// card just fills it.\nconst toastVariants = cva(\n 'relative flex w-full items-start overflow-clip [overflow-clip-margin:border-box] border-solid ' +\n 'gap-[var(--ui-toast-global-container-gap)] ' +\n 'px-[var(--ui-toast-global-container-padding-x)] py-[var(--ui-toast-global-container-padding-y)] ' +\n 'rounded-[var(--ui-toast-global-container-border-radius)] ' +\n 'border-[length:var(--ui-toast-global-container-border-width)] ' +\n 'bg-[var(--ui-toast-global-container-background)] ' +\n 'shadow-[var(--ui-toast-global-container-shadow)] ' +\n \"before:absolute before:content-[''] before:-inset-y-px before:start-[-1px] \" +\n 'before:w-[var(--ui-toast-global-container-status-width)]',\n {\n variants: {\n variant: {\n info: 'border-[color:var(--ui-toast-info-border-color)] before:bg-[var(--ui-toast-info-left-line)]',\n success:\n 'border-[color:var(--ui-toast-success-border-color)] before:bg-[var(--ui-toast-success-left-line)]',\n warning:\n 'border-[color:var(--ui-toast-warning-border-color)] before:bg-[var(--ui-toast-warning-left-line)]',\n critical:\n 'border-[color:var(--ui-toast-critical-border-color)] before:bg-[var(--ui-toast-critical-left-line)]',\n danger:\n 'border-[color:var(--ui-toast-danger-border-color)] before:bg-[var(--ui-toast-danger-left-line)]',\n },\n },\n defaultVariants: {\n variant: 'info',\n },\n }\n);\n\nexport type ToastVariant = NonNullable<\n VariantProps<typeof toastVariants>['variant']\n>;\n\n/**\n * A toast's kind. The five severities match the Figma variants; `loading` has no\n * Figma variant — it is the spinner state `toast.promise` needs.\n */\nexport type ToastType = ToastVariant | 'loading';\n\n// The Figma binds exactly one icon to each variant, and they are multicolor\n// (`stroke-multi`) glyphs that carry their own fills — so nothing here tints them.\nconst STATUS_ICON: Record<ToastVariant, React.ComponentType<IconProps>> = {\n info: CircleInfoBlueIcon,\n success: CircleCheckGreenIcon,\n warning: TriangleWarningYellowIcon,\n critical: CircleWarningOrangeIcon,\n danger: DiamondWarningRedIcon,\n};\n\n// Base UI's `promise` helper hardcodes `type: 'loading' | 'success' | 'error'`\n// *after* spreading the caller's options, so `'error'` reaches us even though the\n// public API only offers `toast.danger` — it has to resolve to the danger chrome.\n// `loading` has no Figma variant, so its spinner borrows info's border and status\n// line. Anything else (including a bare `toast(...)`) falls back to info, the\n// Figma's default variant.\nconst VARIANT_BY_TYPE: Record<string, ToastVariant> = {\n info: 'info',\n success: 'success',\n warning: 'warning',\n critical: 'critical',\n danger: 'danger',\n error: 'danger',\n loading: 'info',\n};\n\nexport interface ToastAction {\n /** The button's label. */\n label: React.ReactNode;\n /** Invoked on click. The toast is not dismissed automatically. */\n onClick?: () => void;\n /**\n * Button style. Defaults to `secondary` for the first action and `ghost` for\n * the rest, matching the Figma's button pairing.\n */\n variant?: 'secondary' | 'ghost';\n}\n\n/** Custom per-toast payload carried through the Base UI manager. */\ninterface ToastData {\n actions?: ToastAction[];\n dismissable?: boolean;\n}\n\n// A module-level manager so `toast(...)` works outside React (like Sonner's\n// `toast`). `<Toaster />` subscribes this manager to its provider.\n//\n// Module-level means it is a *per-package-instance* singleton, which matters in a\n// micro-frontend host. Two copies of this package — an MFE bundling its own, or\n// module federation without `singleton: true` — get two independent managers, and\n// then `toast(...)` called through one copy is invisible to the `<Toaster />`\n// rendered by the other: the toast is queued and simply never appears. Two\n// `<Toaster />`s also both pin to `bottom-4 end-4`, so they overlap in the same\n// corner, and `timeout` / `limit` are per-region props that drift independently.\n//\n// So: share one ui-react instance across MFEs and mount exactly one `<Toaster />`\n// for the page (typically in the shell). See apps/docs `shadow-dom.mdx` for the\n// MFE integration contract, and use `PortalContainerProvider` when the single\n// region has to render inside a shadow root.\nconst toastManager = ToastPrimitive.createToastManager<ToastData>();\n\nexport interface ToastOptions {\n /** Secondary line under the title; clamped to three lines. */\n description?: React.ReactNode;\n /** Auto-dismiss delay in ms; `0` keeps the toast until dismissed. */\n timeout?: number;\n /** Action buttons rendered in a wrapping row under the text. */\n actions?: ToastAction[];\n /**\n * Whether the toast shows its dismiss control and can be swiped away.\n * Defaults to `true`. A non-dismissable toast with `timeout: 0` can only be\n * removed with `toast.dismiss(id)`.\n */\n dismissable?: boolean;\n /** Stable id — re-adding with the same id updates the toast in place. */\n id?: string;\n}\n\nfunction add(title: React.ReactNode, type?: ToastType, options: ToastOptions = {}) {\n const { actions, dismissable, ...rest } = options;\n return toastManager.add({\n title,\n type,\n data: { actions, dismissable },\n ...rest,\n });\n}\n\n/**\n * Imperative toast API. `toast(title, options)` shows an info toast;\n * `toast.info` / `success` / `warning` / `critical` / `danger` set the severity\n * and `toast.loading` shows a persistent spinner. `toast.dismiss(id?)` closes one\n * (or all) and `toast.promise` ties a toast to a promise's lifecycle.\n */\nconst toast = Object.assign(\n (title: React.ReactNode, options?: ToastOptions) => add(title, undefined, options),\n {\n info: (title: React.ReactNode, options?: ToastOptions) =>\n add(title, 'info', options),\n success: (title: React.ReactNode, options?: ToastOptions) =>\n add(title, 'success', options),\n warning: (title: React.ReactNode, options?: ToastOptions) =>\n add(title, 'warning', options),\n critical: (title: React.ReactNode, options?: ToastOptions) =>\n add(title, 'critical', options),\n danger: (title: React.ReactNode, options?: ToastOptions) =>\n add(title, 'danger', options),\n loading: (title: React.ReactNode, options?: ToastOptions) =>\n add(title, 'loading', { timeout: 0, ...options }),\n dismiss: (id?: string) => toastManager.close(id),\n promise: toastManager.promise,\n }\n);\n\nfunction ToastList({ closeAriaLabel }: { closeAriaLabel: string }) {\n const { toasts } = ToastPrimitive.useToastManager<ToastData>();\n return toasts.map((item) => {\n const variant = VARIANT_BY_TYPE[item.type ?? ''] ?? 'info';\n const StatusIcon = STATUS_ICON[variant];\n const actions = item.data?.actions;\n const dismissable = item.data?.dismissable ?? true;\n return (\n <ToastPrimitive.Root\n key={item.id}\n toast={item}\n data-slot=\"toast\"\n data-variant={variant}\n // Base UI enables swipe-to-dismiss by default (`['down', 'right']`), so\n // a non-dismissable toast has to opt out of it too — otherwise hiding\n // the close button would only hide the *control*, not the capability.\n swipeDirection={dismissable ? undefined : []}\n className={cn(\n toastVariants({ variant }),\n 'transition-all data-[ending-style]:opacity-0 data-[starting-style]:opacity-0',\n // The stack sits on the inline-end edge, so a toast slides in from the\n // right in LTR and from the left in RTL.\n 'data-[ending-style]:translate-x-4 data-[starting-style]:translate-x-4',\n 'rtl:data-[ending-style]:-translate-x-4 rtl:data-[starting-style]:-translate-x-4'\n )}\n >\n {/* The icon box's padding (4/8) is what optically aligns the 16px glyph\n with the first line of the title: glyph centre 8 + 8 = 16, title\n centre (the text block's 4px padding) 4 + 12 = 16. */}\n <div\n data-slot=\"toast-icon\"\n className=\"flex shrink-0 items-start px-[var(--ui-toast-global-icon-padding-x)] py-[var(--ui-toast-global-icon-padding-y)] [&_svg]:size-[var(--ui-toast-global-icon-size)] [&_svg]:shrink-0\"\n >\n {item.type === 'loading' ? (\n <Spinner\n size=\"sm\"\n className=\"size-[var(--ui-toast-global-icon-size)]\"\n />\n ) : (\n <StatusIcon size={16} />\n )}\n </div>\n <div\n data-slot=\"toast-content\"\n className=\"flex min-w-0 flex-1 flex-col items-start gap-[var(--ui-toast-global-content-gap)] px-[var(--ui-toast-global-content-padding-x)] py-[var(--ui-toast-global-content-padding-y)]\"\n >\n <div\n data-slot=\"toast-text\"\n className=\"flex w-full shrink-0 flex-col items-start gap-[var(--ui-toast-global-content-text-container-gap)] px-[var(--ui-toast-global-content-text-container-padding-x)] py-[var(--ui-toast-global-content-text-container-padding-y)] [word-break:break-word]\"\n >\n <ToastPrimitive.Title\n data-slot=\"toast-title\"\n // `h5` overrides Base UI's `h2` default to match Alert — a toast\n // is not a page-level heading.\n render={<h5 />}\n className=\"ui-toast-global-content-text-container-title-text-style mb-0 w-full text-[var(--ui-toast-global-content-text-container-title-color)]\"\n />\n {item.description ? (\n <ToastPrimitive.Description\n data-slot=\"toast-description\"\n className=\"ui-toast-global-content-text-container-description-text-style line-clamp-3 w-full text-[var(--ui-toast-global-content-text-container-description-color)]\"\n />\n ) : null}\n </div>\n {actions?.length ? (\n <div\n data-slot=\"toast-actions\"\n className=\"flex w-full shrink-0 flex-wrap content-start items-start gap-x-[var(--ui-toast-global-content-actions-container-gap-x)] gap-y-[var(--ui-toast-global-content-actions-container-gap-y)] px-[var(--ui-toast-global-content-actions-container-padding-x)] py-[var(--ui-toast-global-content-actions-container-padding-y)]\"\n >\n {actions.map((action, index) => (\n <Button\n key={index}\n variant={action.variant ?? (index === 0 ? 'secondary' : 'ghost')}\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n ))}\n </div>\n ) : null}\n </div>\n {dismissable ? (\n <ToastPrimitive.Close\n aria-label={closeAriaLabel}\n data-slot=\"toast-close\"\n render={\n <ButtonIcon variant=\"ghost\">\n <TimesIcon />\n </ButtonIcon>\n }\n />\n ) : null}\n </ToastPrimitive.Root>\n );\n });\n}\n\nexport interface ToasterProps {\n /** Default auto-dismiss delay in ms for toasts that don't set one. */\n timeout?: number;\n /** Max toasts shown at once; the oldest is dropped past the limit. */\n limit?: number;\n /** Accessible name for the toast region. */\n label?: string;\n /** Accessible name for each toast's dismiss control. */\n closeAriaLabel?: string;\n /**\n * Portal container for the toast stack. Pass a shadow-root mount for\n * isolated-style previews (the docs demos do this via `useShadowMount`).\n */\n portalContainer?: ToastPrimitive.Portal.Props['container'];\n}\n\n/**\n * The toast region. Render once near the app root; it portals a bottom-end stack\n * and renders every queued toast. Trigger toasts with the `toast` API.\n */\nfunction Toaster({\n timeout,\n limit,\n label = 'Notifications',\n closeAriaLabel = 'Close',\n portalContainer,\n}: ToasterProps) {\n const ctxContainer = usePortalContainer();\n const resolvedContainer = portalContainer ?? ctxContainer;\n\n return (\n <ToastPrimitive.Provider\n toastManager={toastManager}\n timeout={timeout}\n limit={limit}\n >\n <ToastPrimitive.Portal container={resolvedContainer}>\n <ToastPrimitive.Viewport\n aria-label={label}\n className=\"fixed bottom-4 end-4 z-[100] flex w-[var(--ui-toast-global-container-width-min)] max-w-[calc(100vw-2rem)] flex-col gap-3 outline-none\"\n >\n <ToastList closeAriaLabel={closeAriaLabel} />\n </ToastPrimitive.Viewport>\n </ToastPrimitive.Portal>\n </ToastPrimitive.Provider>\n );\n}\n\nexport { toast, Toaster, toastVariants };\n"],"names":["toastVariants","cva","STATUS_ICON","CircleInfoBlueIcon","CircleCheckGreenIcon","TriangleWarningYellowIcon","CircleWarningOrangeIcon","DiamondWarningRedIcon","VARIANT_BY_TYPE","toastManager","ToastPrimitive","add","title","type","options","actions","dismissable","rest","toast","id","ToastList","closeAriaLabel","toasts","item","variant","StatusIcon","_a","_b","jsxs","cn","jsx","Spinner","action","index","Button","ButtonIcon","TimesIcon","Toaster","timeout","limit","label","portalContainer","ctxContainer","usePortalContainer","resolvedContainer"],"mappings":"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"}
1
+ {"version":3,"file":"toast.js","names":[],"sources":["../../../../src/components/ui/toast/toast.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Toast as ToastPrimitive } from '@base-ui/react/toast';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { TimesIcon } from '@acronis-platform/icons-react/stroke-mono';\nimport {\n CircleCheckGreenIcon,\n CircleInfoBlueIcon,\n CircleWarningOrangeIcon,\n DiamondWarningRedIcon,\n TriangleWarningYellowIcon,\n type IconProps,\n} from '@acronis-platform/icons-react/stroke-multi';\n\nimport { cn } from '@/lib/utils';\nimport { usePortalContainer } from '@/lib/portal-container';\nimport { Button } from '../button';\nimport { ButtonIcon } from '../button-icon';\nimport { Spinner } from '../spinner';\n\n// Mirrors the Figma \"Toast\" component set (node 7421:126262), which is the Alert\n// banner plus a drop shadow: a *neutral* surface — not a status tint — with the\n// severity carried by a 1px border in the status color and a 6px status line down\n// the leading edge. Geometry, colors, and spacing all come from the dedicated\n// `--ui-toast-*` tier (imported in `src/styles/index.css`).\n//\n// The delivery mechanism is unchanged from the Sonner-compatible port: a single\n// `<Toaster />` at the app root plus the imperative `toast(...)` API, built on the\n// Base UI toast manager (no Sonner dependency). Only the rendered surface and the\n// variant vocabulary changed.\n//\n// The Figma's `hasDescription` / `hasActions` / `dismissable` booleans map onto\n// per-toast options rather than props, since there is no per-toast component to\n// take them: omitting `description` or `actions` drops those parts, and\n// `dismissable: false` drops the close control. `dismissable` also has to switch\n// off Base UI's swipe-to-dismiss, which is on by default — see the `Root` below.\n//\n// The status line is a `::before` pseudo-element rather than a DOM node: it is\n// never optional and never a slot, so a real element would only add markup for\n// consumers to get wrong. It is bled 1px outwards on three sides so it paints\n// *over* the border it sits on (matching the Figma, where the line covers the\n// leading border), and the root's clip rounds its square corners to the\n// container radius. `start-` keeps it on the leading edge under `dir=\"rtl\"`.\n//\n// `overflow-clip-margin: border-box` is load-bearing, not decoration. `overflow:\n// clip` alone clips at the *padding* box, which is exactly where the bleed has to\n// reach — and an absolutely positioned pseudo-element's containing block is that\n// same padding box — so the outward 1px gets shaved off and the line renders 5px\n// wide starting *inside* the border. Since the border and the line are different\n// tokens, that reads as two adjacent stripes rather than one 6px line. Moving the\n// clip edge out to the border box lets the bleed survive while still rounding the\n// corners.\n//\n// Typography comes from the Toast tier's own emitted classes rather than\n// hand-written utilities: one for the title (Inter Regular 18 / 24 — the same\n// treatment Alert's title uses) and one for the description (Inter Regular\n// 14 / 24). The title previously borrowed the semantic\n// `ui-typography-headings-lead` because the tier emitted no title class; it does\n// now, and the two resolve identically today. Only the *colors* are separate\n// token references.\n//\n// One deliberate deviation from the Figma: `container/widthMin` (384px) is applied\n// to the viewport, not to the card. A fixed-position stack with a 384px\n// `min-width` overflows a narrow phone viewport (min-width always beats\n// max-width), so the viewport owns the width and clamps it with `max-w`, and the\n// card just fills it.\nconst toastVariants = cva(\n 'relative flex w-full items-start overflow-clip [overflow-clip-margin:border-box] border-solid ' +\n 'gap-[var(--ui-toast-global-container-gap)] ' +\n 'px-[var(--ui-toast-global-container-padding-x)] py-[var(--ui-toast-global-container-padding-y)] ' +\n 'rounded-[var(--ui-toast-global-container-border-radius)] ' +\n 'border-[length:var(--ui-toast-global-container-border-width)] ' +\n 'bg-[var(--ui-toast-global-container-background)] ' +\n 'shadow-[var(--ui-toast-global-container-shadow)] ' +\n \"before:absolute before:content-[''] before:-inset-y-px before:start-[-1px] \" +\n 'before:w-[var(--ui-toast-global-container-status-width)]',\n {\n variants: {\n variant: {\n info: 'border-[color:var(--ui-toast-info-border-color)] before:bg-[var(--ui-toast-info-left-line)]',\n success:\n 'border-[color:var(--ui-toast-success-border-color)] before:bg-[var(--ui-toast-success-left-line)]',\n warning:\n 'border-[color:var(--ui-toast-warning-border-color)] before:bg-[var(--ui-toast-warning-left-line)]',\n critical:\n 'border-[color:var(--ui-toast-critical-border-color)] before:bg-[var(--ui-toast-critical-left-line)]',\n danger:\n 'border-[color:var(--ui-toast-danger-border-color)] before:bg-[var(--ui-toast-danger-left-line)]',\n },\n },\n defaultVariants: {\n variant: 'info',\n },\n }\n);\n\nexport type ToastVariant = NonNullable<\n VariantProps<typeof toastVariants>['variant']\n>;\n\n/**\n * A toast's kind. The five severities match the Figma variants; `loading` has no\n * Figma variant — it is the spinner state `toast.promise` needs.\n */\nexport type ToastType = ToastVariant | 'loading';\n\n// The Figma binds exactly one icon to each variant, and they are multicolor\n// (`stroke-multi`) glyphs that carry their own fills — so nothing here tints them.\nconst STATUS_ICON: Record<ToastVariant, React.ComponentType<IconProps>> = {\n info: CircleInfoBlueIcon,\n success: CircleCheckGreenIcon,\n warning: TriangleWarningYellowIcon,\n critical: CircleWarningOrangeIcon,\n danger: DiamondWarningRedIcon,\n};\n\n// Base UI's `promise` helper hardcodes `type: 'loading' | 'success' | 'error'`\n// *after* spreading the caller's options, so `'error'` reaches us even though the\n// public API only offers `toast.danger` — it has to resolve to the danger chrome.\n// `loading` has no Figma variant, so its spinner borrows info's border and status\n// line. Anything else (including a bare `toast(...)`) falls back to info, the\n// Figma's default variant.\nconst VARIANT_BY_TYPE: Record<string, ToastVariant> = {\n info: 'info',\n success: 'success',\n warning: 'warning',\n critical: 'critical',\n danger: 'danger',\n error: 'danger',\n loading: 'info',\n};\n\nexport interface ToastAction {\n /** The button's label. */\n label: React.ReactNode;\n /** Invoked on click. The toast is not dismissed automatically. */\n onClick?: () => void;\n /**\n * Button style. Defaults to `secondary` for the first action and `ghost` for\n * the rest, matching the Figma's button pairing.\n */\n variant?: 'secondary' | 'ghost';\n}\n\n/** Custom per-toast payload carried through the Base UI manager. */\ninterface ToastData {\n actions?: ToastAction[];\n dismissable?: boolean;\n}\n\n// A module-level manager so `toast(...)` works outside React (like Sonner's\n// `toast`). `<Toaster />` subscribes this manager to its provider.\n//\n// Module-level means it is a *per-package-instance* singleton, which matters in a\n// micro-frontend host. Two copies of this package — an MFE bundling its own, or\n// module federation without `singleton: true` — get two independent managers, and\n// then `toast(...)` called through one copy is invisible to the `<Toaster />`\n// rendered by the other: the toast is queued and simply never appears. Two\n// `<Toaster />`s also both pin to `bottom-4 end-4`, so they overlap in the same\n// corner, and `timeout` / `limit` are per-region props that drift independently.\n//\n// So: share one ui-react instance across MFEs and mount exactly one `<Toaster />`\n// for the page (typically in the shell). See apps/docs `shadow-dom.mdx` for the\n// MFE integration contract, and use `PortalContainerProvider` when the single\n// region has to render inside a shadow root.\nconst toastManager = ToastPrimitive.createToastManager<ToastData>();\n\nexport interface ToastOptions {\n /** Secondary line under the title; clamped to three lines. */\n description?: React.ReactNode;\n /** Auto-dismiss delay in ms; `0` keeps the toast until dismissed. */\n timeout?: number;\n /** Action buttons rendered in a wrapping row under the text. */\n actions?: ToastAction[];\n /**\n * Whether the toast shows its dismiss control and can be swiped away.\n * Defaults to `true`. A non-dismissable toast with `timeout: 0` can only be\n * removed with `toast.dismiss(id)`.\n */\n dismissable?: boolean;\n /** Stable id — re-adding with the same id updates the toast in place. */\n id?: string;\n}\n\nfunction add(title: React.ReactNode, type?: ToastType, options: ToastOptions = {}) {\n const { actions, dismissable, ...rest } = options;\n return toastManager.add({\n title,\n type,\n data: { actions, dismissable },\n ...rest,\n });\n}\n\n/**\n * Imperative toast API. `toast(title, options)` shows an info toast;\n * `toast.info` / `success` / `warning` / `critical` / `danger` set the severity\n * and `toast.loading` shows a persistent spinner. `toast.dismiss(id?)` closes one\n * (or all) and `toast.promise` ties a toast to a promise's lifecycle.\n */\nconst toast = Object.assign(\n (title: React.ReactNode, options?: ToastOptions) => add(title, undefined, options),\n {\n info: (title: React.ReactNode, options?: ToastOptions) =>\n add(title, 'info', options),\n success: (title: React.ReactNode, options?: ToastOptions) =>\n add(title, 'success', options),\n warning: (title: React.ReactNode, options?: ToastOptions) =>\n add(title, 'warning', options),\n critical: (title: React.ReactNode, options?: ToastOptions) =>\n add(title, 'critical', options),\n danger: (title: React.ReactNode, options?: ToastOptions) =>\n add(title, 'danger', options),\n loading: (title: React.ReactNode, options?: ToastOptions) =>\n add(title, 'loading', { timeout: 0, ...options }),\n dismiss: (id?: string) => toastManager.close(id),\n promise: toastManager.promise,\n }\n);\n\nfunction ToastList({ closeAriaLabel }: { closeAriaLabel: string }) {\n const { toasts } = ToastPrimitive.useToastManager<ToastData>();\n return toasts.map((item) => {\n const variant = VARIANT_BY_TYPE[item.type ?? ''] ?? 'info';\n const StatusIcon = STATUS_ICON[variant];\n const actions = item.data?.actions;\n const dismissable = item.data?.dismissable ?? true;\n return (\n <ToastPrimitive.Root\n key={item.id}\n toast={item}\n data-slot=\"toast\"\n data-variant={variant}\n // Base UI enables swipe-to-dismiss by default (`['down', 'right']`), so\n // a non-dismissable toast has to opt out of it too — otherwise hiding\n // the close button would only hide the *control*, not the capability.\n swipeDirection={dismissable ? undefined : []}\n className={cn(\n toastVariants({ variant }),\n 'transition-all data-[ending-style]:opacity-0 data-[starting-style]:opacity-0',\n // The stack sits on the inline-end edge, so a toast slides in from the\n // right in LTR and from the left in RTL.\n 'data-[ending-style]:translate-x-4 data-[starting-style]:translate-x-4',\n 'rtl:data-[ending-style]:-translate-x-4 rtl:data-[starting-style]:-translate-x-4'\n )}\n >\n {/* The icon box's padding (4/8) is what optically aligns the 16px glyph\n with the first line of the title: glyph centre 8 + 8 = 16, title\n centre (the text block's 4px padding) 4 + 12 = 16. */}\n <div\n data-slot=\"toast-icon\"\n className=\"flex shrink-0 items-start px-[var(--ui-toast-global-icon-padding-x)] py-[var(--ui-toast-global-icon-padding-y)] [&_svg]:size-[var(--ui-toast-global-icon-size)] [&_svg]:shrink-0\"\n >\n {item.type === 'loading' ? (\n <Spinner\n size=\"sm\"\n className=\"size-[var(--ui-toast-global-icon-size)]\"\n />\n ) : (\n <StatusIcon size={16} />\n )}\n </div>\n <div\n data-slot=\"toast-content\"\n className=\"flex min-w-0 flex-1 flex-col items-start gap-[var(--ui-toast-global-content-gap)] px-[var(--ui-toast-global-content-padding-x)] py-[var(--ui-toast-global-content-padding-y)]\"\n >\n <div\n data-slot=\"toast-text\"\n className=\"flex w-full shrink-0 flex-col items-start gap-[var(--ui-toast-global-content-text-container-gap)] px-[var(--ui-toast-global-content-text-container-padding-x)] py-[var(--ui-toast-global-content-text-container-padding-y)] [word-break:break-word]\"\n >\n <ToastPrimitive.Title\n data-slot=\"toast-title\"\n // `h5` overrides Base UI's `h2` default to match Alert — a toast\n // is not a page-level heading.\n render={<h5 />}\n className=\"ui-toast-global-content-text-container-title-text-style mb-0 w-full text-[var(--ui-toast-global-content-text-container-title-color)]\"\n />\n {item.description ? (\n <ToastPrimitive.Description\n data-slot=\"toast-description\"\n className=\"ui-toast-global-content-text-container-description-text-style line-clamp-3 w-full text-[var(--ui-toast-global-content-text-container-description-color)]\"\n />\n ) : null}\n </div>\n {actions?.length ? (\n <div\n data-slot=\"toast-actions\"\n className=\"flex w-full shrink-0 flex-wrap content-start items-start gap-x-[var(--ui-toast-global-content-actions-container-gap-x)] gap-y-[var(--ui-toast-global-content-actions-container-gap-y)] px-[var(--ui-toast-global-content-actions-container-padding-x)] py-[var(--ui-toast-global-content-actions-container-padding-y)]\"\n >\n {actions.map((action, index) => (\n <Button\n key={index}\n variant={action.variant ?? (index === 0 ? 'secondary' : 'ghost')}\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n ))}\n </div>\n ) : null}\n </div>\n {dismissable ? (\n <ToastPrimitive.Close\n aria-label={closeAriaLabel}\n data-slot=\"toast-close\"\n render={\n <ButtonIcon variant=\"ghost\">\n <TimesIcon />\n </ButtonIcon>\n }\n />\n ) : null}\n </ToastPrimitive.Root>\n );\n });\n}\n\nexport interface ToasterProps {\n /** Default auto-dismiss delay in ms for toasts that don't set one. */\n timeout?: number;\n /** Max toasts shown at once; the oldest is dropped past the limit. */\n limit?: number;\n /** Accessible name for the toast region. */\n label?: string;\n /** Accessible name for each toast's dismiss control. */\n closeAriaLabel?: string;\n /**\n * Portal container for the toast stack. Pass a shadow-root mount for\n * isolated-style previews (the docs demos do this via `useShadowMount`).\n */\n portalContainer?: ToastPrimitive.Portal.Props['container'];\n}\n\n/**\n * The toast region. Render once near the app root; it portals a bottom-end stack\n * and renders every queued toast. Trigger toasts with the `toast` API.\n */\nfunction Toaster({\n timeout,\n limit,\n label = 'Notifications',\n closeAriaLabel = 'Close',\n portalContainer,\n}: ToasterProps) {\n const ctxContainer = usePortalContainer();\n const resolvedContainer = portalContainer ?? ctxContainer;\n\n return (\n <ToastPrimitive.Provider\n toastManager={toastManager}\n timeout={timeout}\n limit={limit}\n >\n <ToastPrimitive.Portal container={resolvedContainer}>\n <ToastPrimitive.Viewport\n aria-label={label}\n className=\"fixed bottom-4 end-4 z-[100] flex w-[var(--ui-toast-global-container-width-min)] max-w-[calc(100vw-2rem)] flex-col gap-3 outline-none\"\n >\n <ToastList closeAriaLabel={closeAriaLabel} />\n </ToastPrimitive.Viewport>\n </ToastPrimitive.Portal>\n </ToastPrimitive.Provider>\n );\n}\n\nexport { toast, Toaster, toastVariants };\n"],"mappings":"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"}