@acronis-platform/ui-react 4.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 (620) 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 -240
  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 -615
  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 +123 -162
  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 +63 -107
  49. package/dist/components/ui/chart/chart-palette.js.map +1 -1
  50. package/dist/components/ui/chart/chart.js +177 -305
  51. package/dist/components/ui/chart/chart.js.map +1 -1
  52. package/dist/components/ui/chart-state/chart-state-illustrations.js +400 -298
  53. package/dist/components/ui/chart-state/chart-state-illustrations.js.map +1 -1
  54. package/dist/components/ui/chart-state/chart-state.js +40 -56
  55. package/dist/components/ui/chart-state/chart-state.js.map +1 -1
  56. package/dist/components/ui/chart-widget/chart-widget.js +40 -87
  57. package/dist/components/ui/chart-widget/chart-widget.js.map +1 -1
  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 -434
  65. package/dist/components/ui/composed-chart/composed-chart.js.map +1 -1
  66. package/dist/components/ui/confidence-cone/confidence-cone.js +214 -332
  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 -274
  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 -141
  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 -5
  141. package/dist/components/ui/label/label.js.map +1 -1
  142. package/dist/components/ui/line-chart/line-chart.js +175 -277
  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 -89
  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 -268
  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 -225
  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 -399
  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 -217
  177. package/dist/components/ui/sankey-chart/sankey-chart.js.map +1 -1
  178. package/dist/components/ui/scatter-chart/scatter-chart.js +95 -140
  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 -163
  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 -116
  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 -213
  233. package/dist/components/ui/treemap/treemap.js.map +1 -1
  234. package/dist/components/ui/trend-indicator/trend-indicator.js +48 -62
  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 -59
  245. package/dist/components/ui/wizard/wizard.js.map +1 -1
  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 +57 -71
  253. package/dist/hooks/use-wizard.js.map +1 -1
  254. package/dist/index.js +125 -550
  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/input-num-picker.md +180 -0
  266. package/dist/llms.txt +2 -1
  267. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/date/index.js +58 -61
  268. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/date/index.js.map +1 -1
  269. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/date/mini.js +71 -85
  270. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/date/mini.js.map +1 -1
  271. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/index.js +6 -0
  272. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tz/index.js +1 -0
  273. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tzName/index.js +11 -11
  274. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tzName/index.js.map +1 -1
  275. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tzOffset/index.js +22 -21
  276. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tzOffset/index.js.map +1 -1
  277. 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
  278. 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
  279. package/dist/node_modules/.pnpm/@tanstack_table-core@8.21.3/node_modules/@tanstack/table-core/build/lib/index.js +1478 -1852
  280. package/dist/node_modules/.pnpm/@tanstack_table-core@8.21.3/node_modules/@tanstack/table-core/build/lib/index.js.map +1 -1
  281. package/dist/node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js +34 -35
  282. package/dist/node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js.map +1 -1
  283. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js +18 -15
  284. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js.map +1 -1
  285. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/addLeadingZeros.js +7 -7
  286. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -1
  287. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/defaultOptions.js +8 -7
  288. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/defaultOptions.js.map +1 -1
  289. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/formatters.js +387 -580
  290. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
  291. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/lightFormatters.js +44 -59
  292. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
  293. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/longFormatters.js +39 -52
  294. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -1
  295. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +9 -18
  296. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -1
  297. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/normalizeDates.js +9 -11
  298. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/normalizeDates.js.map +1 -1
  299. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/normalizeInterval.js +12 -8
  300. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/normalizeInterval.js.map +1 -1
  301. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/protectedTokens.js +21 -17
  302. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/_lib/protectedTokens.js.map +1 -1
  303. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addDays.js +10 -9
  304. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addDays.js.map +1 -1
  305. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addMonths.js +13 -19
  306. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addMonths.js.map +1 -1
  307. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addWeeks.js +8 -7
  308. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addWeeks.js.map +1 -1
  309. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addYears.js +8 -7
  310. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/addYears.js.map +1 -1
  311. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constants.js +12 -7
  312. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constants.js.map +1 -1
  313. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constructFrom.js +8 -7
  314. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/constructFrom.js.map +1 -1
  315. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/differenceInCalendarDays.js +12 -15
  316. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/differenceInCalendarDays.js.map +1 -1
  317. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/differenceInCalendarMonths.js +9 -12
  318. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/differenceInCalendarMonths.js.map +1 -1
  319. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/eachMonthOfInterval.js +16 -16
  320. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/eachMonthOfInterval.js.map +1 -1
  321. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/eachYearOfInterval.js +16 -16
  322. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/eachYearOfInterval.js.map +1 -1
  323. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfISOWeek.js +11 -7
  324. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfISOWeek.js.map +1 -1
  325. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfMonth.js +9 -8
  326. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfMonth.js.map +1 -1
  327. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfWeek.js +10 -10
  328. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfWeek.js.map +1 -1
  329. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfYear.js +9 -8
  330. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/endOfYear.js.map +1 -1
  331. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/format.js +59 -57
  332. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/format.js.map +1 -1
  333. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDayOfYear.js +11 -10
  334. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDayOfYear.js.map +1 -1
  335. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDaysInMonth.js +10 -9
  336. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getDaysInMonth.js.map +1 -1
  337. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISOWeek.js +12 -11
  338. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISOWeek.js.map +1 -1
  339. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISOWeekYear.js +15 -14
  340. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getISOWeekYear.js.map +1 -1
  341. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getMonth.js +8 -7
  342. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getMonth.js.map +1 -1
  343. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getWeek.js +12 -11
  344. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getWeek.js.map +1 -1
  345. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getWeekYear.js +16 -16
  346. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getWeekYear.js.map +1 -1
  347. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getYear.js +8 -7
  348. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/getYear.js.map +1 -1
  349. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isAfter.js +8 -7
  350. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isAfter.js.map +1 -1
  351. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isBefore.js +8 -7
  352. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isBefore.js.map +1 -1
  353. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isDate.js +7 -6
  354. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isDate.js.map +1 -1
  355. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameDay.js +10 -13
  356. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameDay.js.map +1 -1
  357. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameMonth.js +9 -12
  358. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameMonth.js.map +1 -1
  359. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameYear.js +9 -12
  360. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isSameYear.js.map +1 -1
  361. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isValid.js +9 -8
  362. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/isValid.js.map +1 -1
  363. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +10 -9
  364. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
  365. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +18 -18
  366. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
  367. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildMatchFn.js +21 -29
  368. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
  369. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +19 -15
  370. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
  371. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +70 -70
  372. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -1
  373. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js +33 -33
  374. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +1 -1
  375. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +13 -12
  376. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +1 -1
  377. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/localize.js +202 -154
  378. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -1
  379. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/match.js +125 -110
  380. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US/_lib/match.js.map +1 -1
  381. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US.js +20 -19
  382. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/locale/en-US.js.map +1 -1
  383. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/max.js +14 -13
  384. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/max.js.map +1 -1
  385. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/min.js +14 -13
  386. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/min.js.map +1 -1
  387. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setMonth.js +13 -12
  388. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setMonth.js.map +1 -1
  389. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setYear.js +10 -9
  390. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/setYear.js.map +1 -1
  391. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfDay.js +9 -8
  392. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfDay.js.map +1 -1
  393. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfISOWeek.js +11 -7
  394. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfISOWeek.js.map +1 -1
  395. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfISOWeekYear.js +11 -10
  396. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfISOWeekYear.js.map +1 -1
  397. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfMonth.js +9 -8
  398. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfMonth.js.map +1 -1
  399. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfWeek.js +10 -10
  400. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfWeek.js.map +1 -1
  401. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfWeekYear.js +12 -12
  402. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfWeekYear.js.map +1 -1
  403. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfYear.js +9 -8
  404. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/startOfYear.js.map +1 -1
  405. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/toDate.js +8 -7
  406. package/dist/node_modules/.pnpm/date-fns@4.3.0/node_modules/date-fns/toDate.js.map +1 -1
  407. 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
  408. 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
  409. 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
  410. 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
  411. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js +1016 -1202
  412. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js.map +1 -1
  413. package/dist/node_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
  414. package/dist/node_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
  415. package/dist/node_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
  416. package/dist/node_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
  417. package/dist/node_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
  418. package/dist/node_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
  419. package/dist/node_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
  420. package/dist/node_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
  421. package/dist/node_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
  422. package/dist/node_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
  423. package/dist/node_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
  424. package/dist/node_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
  425. package/dist/node_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
  426. package/dist/node_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
  427. package/dist/node_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
  428. package/dist/node_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
  429. package/dist/node_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
  430. package/dist/node_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
  431. package/dist/node_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
  432. package/dist/node_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
  433. package/dist/node_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
  434. package/dist/node_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
  435. package/dist/node_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
  436. package/dist/node_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
  437. package/dist/node_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
  438. package/dist/node_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
  439. package/dist/node_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
  440. package/dist/node_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
  441. package/dist/node_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
  442. package/dist/node_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
  443. package/dist/node_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
  444. package/dist/node_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
  445. package/dist/node_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
  446. package/dist/node_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
  447. package/dist/node_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
  448. package/dist/node_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
  449. package/dist/node_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
  450. package/dist/node_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
  451. package/dist/node_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
  452. package/dist/node_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
  453. package/dist/node_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
  454. package/dist/node_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
  455. package/dist/node_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
  456. package/dist/node_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
  457. package/dist/node_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
  458. package/dist/node_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
  459. package/dist/node_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
  460. package/dist/node_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
  461. package/dist/node_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
  462. package/dist/node_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
  463. package/dist/node_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
  464. package/dist/node_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
  465. package/dist/node_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
  466. package/dist/node_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
  467. package/dist/node_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
  468. package/dist/node_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
  469. package/dist/node_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
  470. package/dist/node_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
  471. package/dist/node_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
  472. package/dist/node_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
  473. package/dist/node_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
  474. package/dist/node_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
  475. package/dist/node_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
  476. package/dist/node_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
  477. package/dist/node_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
  478. package/dist/node_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
  479. package/dist/node_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
  480. package/dist/node_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
  481. package/dist/node_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
  482. package/dist/node_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
  483. package/dist/node_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
  484. package/dist/node_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
  485. package/dist/node_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
  486. package/dist/node_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
  487. package/dist/node_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
  488. package/dist/node_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
  489. package/dist/node_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
  490. package/dist/node_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
  491. package/dist/node_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
  492. package/dist/node_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
  493. package/dist/node_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
  494. package/dist/node_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
  495. package/dist/node_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
  496. package/dist/node_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
  497. package/dist/node_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
  498. package/dist/node_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
  499. package/dist/node_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
  500. package/dist/node_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
  501. package/dist/node_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
  502. package/dist/node_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
  503. package/dist/node_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
  504. package/dist/node_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
  505. package/dist/node_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
  506. package/dist/node_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
  507. package/dist/node_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
  508. package/dist/node_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
  509. package/dist/node_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
  510. package/dist/node_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
  511. package/dist/node_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
  512. package/dist/node_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
  513. package/dist/node_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
  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/helpers/getDisplayMonths.js.map +1 -1
  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/helpers/getFocusableDate.js +15 -15
  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/helpers/getFocusableDate.js.map +1 -1
  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/helpers/getFormatters.js +11 -10
  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/helpers/getFormatters.js.map +1 -1
  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/helpers/getInitialMonth.js +8 -13
  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/helpers/getInitialMonth.js.map +1 -1
  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/helpers/getLabels.js +35 -35
  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/helpers/getLabels.js.map +1 -1
  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/helpers/getMonthOptions.js +18 -13
  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/helpers/getMonthOptions.js.map +1 -1
  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/helpers/getMonths.js +25 -24
  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/helpers/getMonths.js.map +1 -1
  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/helpers/getNavMonth.js +8 -11
  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/helpers/getNavMonth.js.map +1 -1
  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/helpers/getNextFocus.js +12 -12
  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/helpers/getNextFocus.js.map +1 -1
  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/helpers/getNextMonth.js +9 -12
  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/helpers/getNextMonth.js.map +1 -1
  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/helpers/getPreviousMonth.js +9 -12
  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/helpers/getPreviousMonth.js.map +1 -1
  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/helpers/getStyleForModifiers.js +14 -13
  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/helpers/getStyleForModifiers.js.map +1 -1
  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/helpers/getWeekdays.js +12 -11
  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/helpers/getWeekdays.js.map +1 -1
  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/helpers/getWeeks.js +7 -7
  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/helpers/getWeeks.js.map +1 -1
  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/helpers/getYearOptions.js +19 -16
  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/helpers/getYearOptions.js.map +1 -1
  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/helpers/startOfBroadcastWeek.js +8 -7
  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/helpers/startOfBroadcastWeek.js.map +1 -1
  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/helpers/useControlledValue.js +9 -8
  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/helpers/useControlledValue.js.map +1 -1
  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/labels/index.js +30 -25
  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/labels/index.js.map +1 -1
  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/labels/labelDayButton.js +9 -8
  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/labels/labelDayButton.js.map +1 -1
  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/labels/labelGrid.js +7 -6
  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/labels/labelGrid.js.map +1 -1
  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/labels/labelGridcell.js +9 -8
  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/labels/labelGridcell.js.map +1 -1
  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/labels/labelMonthDropdown.js +7 -6
  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/labels/labelMonthDropdown.js.map +1 -1
  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/labels/labelNav.js +6 -5
  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/labels/labelNav.js.map +1 -1
  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/labels/labelNext.js +6 -7
  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/labels/labelNext.js.map +1 -1
  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/labels/labelPrevious.js +7 -6
  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/labels/labelPrevious.js.map +1 -1
  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/labels/labelWeekNumber.js +7 -6
  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/labels/labelWeekNumber.js.map +1 -1
  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/labels/labelWeekNumberHeader.js +7 -6
  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/labels/labelWeekNumberHeader.js.map +1 -1
  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/labels/labelWeekday.js +8 -7
  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/labels/labelWeekday.js.map +1 -1
  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/labels/labelYearDropdown.js +7 -6
  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/labels/labelYearDropdown.js.map +1 -1
  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/locale/en-US.js +50 -37
  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/locale/en-US.js.map +1 -1
  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/noonDateLib.js +101 -106
  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/noonDateLib.js.map +1 -1
  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/selection/useMulti.js +20 -21
  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/selection/useMulti.js.map +1 -1
  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/selection/useRange.js +29 -23
  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/selection/useRange.js.map +1 -1
  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/selection/useSingle.js +16 -15
  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/selection/useSingle.js.map +1 -1
  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/useAnimation.js +50 -56
  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/useAnimation.js.map +1 -1
  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/useCalendar.js +71 -76
  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/useCalendar.js.map +1 -1
  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/useDayPicker.js +11 -12
  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/useDayPicker.js.map +1 -1
  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/useFocus.js +23 -23
  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/useFocus.js.map +1 -1
  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/useSelection.js +16 -19
  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/useSelection.js.map +1 -1
  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/utils/addToRange.js +60 -32
  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/utils/addToRange.js.map +1 -1
  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/utils/convertMatchersToTimeZone.js +24 -24
  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/utils/convertMatchersToTimeZone.js.map +1 -1
  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/utils/dateMatchModifiers.js +22 -26
  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/utils/dateMatchModifiers.js.map +1 -1
  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/utils/rangeContainsDayOfWeek.js +13 -15
  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/utils/rangeContainsDayOfWeek.js.map +1 -1
  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/utils/rangeContainsModifiers.js +29 -28
  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/utils/rangeContainsModifiers.js.map +1 -1
  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/utils/rangeIncludesDate.js +9 -9
  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/utils/rangeIncludesDate.js.map +1 -1
  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/utils/rangeOverlaps.js +9 -8
  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/utils/rangeOverlaps.js.map +1 -1
  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/utils/toTimeZone.js +9 -8
  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/utils/toTimeZone.js.map +1 -1
  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/utils/typeguards.js +15 -19
  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/utils/typeguards.js.map +1 -1
  609. 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
  610. 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
  611. package/dist/node_modules/.pnpm/tailwind-merge@3.6.0/node_modules/tailwind-merge/dist/bundle-mjs.js +1716 -2996
  612. package/dist/node_modules/.pnpm/tailwind-merge@3.6.0/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
  613. package/dist/react.js +125 -550
  614. package/dist/src/components/ui/input-num-picker/index.d.ts +1 -0
  615. package/dist/src/components/ui/input-num-picker/input-num-picker.d.ts +14 -0
  616. package/dist/src/index.d.ts +1 -0
  617. package/dist/ui-react.css +2 -1
  618. package/package.json +7 -7
  619. package/dist/index.js.map +0 -1
  620. package/dist/react.js.map +0 -1
@@ -1,47 +1,29 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- import * as s from "react";
3
- import { Toggle as i } from "@base-ui/react/toggle";
4
- import { ToggleGroup as l } from "@base-ui/react/toggle-group";
5
- import { cn as a } from "../../../lib/utils.js";
6
- const n = a(
7
- "inline-flex h-9 select-none items-center justify-center gap-2 rounded-md border border-transparent bg-transparent px-3 text-sm font-medium text-[var(--ui-text-on-surface-primary)] transition-colors outline-none",
8
- "not-disabled:hover:bg-[var(--ui-background-surface-hover)]",
9
- "focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-primary)]",
10
- "data-pressed:bg-[var(--ui-background-surface-active)] data-pressed:text-[var(--ui-text-on-surface-primary)]",
11
- "disabled:pointer-events-none disabled:opacity-50"
12
- ), g = s.forwardRef(({ className: e, ...r }, o) => /* @__PURE__ */ t(
13
- i,
14
- {
15
- ref: o,
16
- className: a(n, e),
17
- ...r
18
- }
19
- ));
20
- g.displayName = "Toggle";
21
- const m = s.forwardRef(({ className: e, ...r }, o) => /* @__PURE__ */ t(
22
- l,
23
- {
24
- ref: o,
25
- className: a(
26
- "inline-flex items-center gap-1 data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch",
27
- e
28
- ),
29
- ...r
30
- }
31
- ));
32
- m.displayName = "ToggleGroup";
33
- const c = s.forwardRef(({ className: e, ...r }, o) => /* @__PURE__ */ t(
34
- i,
35
- {
36
- ref: o,
37
- className: a(n, e),
38
- ...r
39
- }
40
- ));
1
+ "use client";
2
+ import { cn as e } from "../../../lib/utils.js";
3
+ import * as t from "react";
4
+ import { jsx as n } from "react/jsx-runtime";
5
+ import { Toggle as r } from "@base-ui/react/toggle";
6
+ import { ToggleGroup as i } from "@base-ui/react/toggle-group";
7
+ //#region src/components/ui/toggle-group/toggle-group.tsx
8
+ var a = e("inline-flex h-9 select-none items-center justify-center gap-2 rounded-md border border-transparent bg-transparent px-3 text-sm font-medium text-[var(--ui-text-on-surface-primary)] transition-colors outline-none", "not-disabled:hover:bg-[var(--ui-background-surface-hover)]", "focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-primary)]", "data-pressed:bg-[var(--ui-background-surface-active)] data-pressed:text-[var(--ui-text-on-surface-primary)]", "disabled:pointer-events-none disabled:opacity-50"), o = t.forwardRef(({ className: t, ...i }, o) => /* @__PURE__ */ n(r, {
9
+ ref: o,
10
+ className: e(a, t),
11
+ ...i
12
+ }));
13
+ o.displayName = "Toggle";
14
+ var s = t.forwardRef(({ className: t, ...r }, a) => /* @__PURE__ */ n(i, {
15
+ ref: a,
16
+ className: e("inline-flex items-center gap-1 data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch", t),
17
+ ...r
18
+ }));
19
+ s.displayName = "ToggleGroup";
20
+ var c = t.forwardRef(({ className: t, ...i }, o) => /* @__PURE__ */ n(r, {
21
+ ref: o,
22
+ className: e(a, t),
23
+ ...i
24
+ }));
41
25
  c.displayName = "ToggleGroupItem";
42
- export {
43
- g as Toggle,
44
- m as ToggleGroup,
45
- c as ToggleGroupItem
46
- };
47
- //# sourceMappingURL=toggle-group.js.map
26
+ //#endregion
27
+ export { o as Toggle, s as ToggleGroup, c as ToggleGroupItem };
28
+
29
+ //# sourceMappingURL=toggle-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-group.js","sources":["../../../../src/components/ui/toggle-group/toggle-group.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Toggle as TogglePrimitive } from '@base-ui/react/toggle';\nimport { ToggleGroup as ToggleGroupPrimitive } from '@base-ui/react/toggle-group';\n\nimport { cn } from '@/lib/utils';\n\n// Ported from `@acronis-platform`'s `toggle-group`, on Base UI's Toggle /\n// ToggleGroup. No `--ui-toggle-*` tier — semantic tokens. The shared item style is\n// transparent when idle, the hover surface on hover, and the active surface +\n// foreground when pressed (legacy's `bg-muted` hover is near-white in ui-react, so\n// hover uses the visible surface-hover and the pressed state uses surface-active so\n// it reads as selected, distinct from hover).\nconst toggleItemClassName = cn(\n 'inline-flex h-9 select-none items-center justify-center gap-2 rounded-md border border-transparent bg-transparent px-3 text-sm font-medium text-[var(--ui-text-on-surface-primary)] transition-colors outline-none',\n 'not-disabled:hover:bg-[var(--ui-background-surface-hover)]',\n 'focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-primary)]',\n 'data-pressed:bg-[var(--ui-background-surface-active)] data-pressed:text-[var(--ui-text-on-surface-primary)]',\n 'disabled:pointer-events-none disabled:opacity-50'\n);\n\nconst Toggle = React.forwardRef<\n HTMLButtonElement,\n React.ComponentPropsWithoutRef<typeof TogglePrimitive>\n>(({ className, ...props }, ref) => (\n <TogglePrimitive\n ref={ref}\n className={cn(toggleItemClassName, className)}\n {...props}\n />\n));\nToggle.displayName = 'Toggle';\n\nconst ToggleGroup = React.forwardRef<\n React.ComponentRef<typeof ToggleGroupPrimitive>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive>\n>(({ className, ...props }, ref) => (\n <ToggleGroupPrimitive\n ref={ref}\n className={cn(\n 'inline-flex items-center gap-1 data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch',\n className\n )}\n {...props}\n />\n));\nToggleGroup.displayName = 'ToggleGroup';\n\nconst ToggleGroupItem = React.forwardRef<\n HTMLButtonElement,\n React.ComponentPropsWithoutRef<typeof TogglePrimitive>\n>(({ className, ...props }, ref) => (\n <TogglePrimitive\n ref={ref}\n className={cn(toggleItemClassName, className)}\n {...props}\n />\n));\nToggleGroupItem.displayName = 'ToggleGroupItem';\n\nexport { Toggle, ToggleGroup, ToggleGroupItem };\n"],"names":["toggleItemClassName","cn","Toggle","React","className","props","ref","jsx","TogglePrimitive","ToggleGroup","ToggleGroupPrimitive","ToggleGroupItem"],"mappings":";;;;;AAcA,MAAMA,IAAsBC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEMC,IAASC,EAAM,WAGnB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAACC;AAAAA,EAAA;AAAA,IACC,KAAAF;AAAA,IACA,WAAWL,EAAGD,GAAqBI,CAAS;AAAA,IAC3C,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAO,cAAc;AAErB,MAAMO,IAAcN,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAACG;AAAAA,EAAA;AAAA,IACC,KAAAJ;AAAA,IACA,WAAWL;AAAA,MACT;AAAA,MACAG;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDI,EAAY,cAAc;AAE1B,MAAME,IAAkBR,EAAM,WAG5B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAACC;AAAAA,EAAA;AAAA,IACC,KAAAF;AAAA,IACA,WAAWL,EAAGD,GAAqBI,CAAS;AAAA,IAC3C,GAAGC;AAAA,EAAA;AACN,CACD;AACDM,EAAgB,cAAc;"}
1
+ {"version":3,"file":"toggle-group.js","names":[],"sources":["../../../../src/components/ui/toggle-group/toggle-group.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Toggle as TogglePrimitive } from '@base-ui/react/toggle';\nimport { ToggleGroup as ToggleGroupPrimitive } from '@base-ui/react/toggle-group';\n\nimport { cn } from '@/lib/utils';\n\n// Ported from `@acronis-platform`'s `toggle-group`, on Base UI's Toggle /\n// ToggleGroup. No `--ui-toggle-*` tier — semantic tokens. The shared item style is\n// transparent when idle, the hover surface on hover, and the active surface +\n// foreground when pressed (legacy's `bg-muted` hover is near-white in ui-react, so\n// hover uses the visible surface-hover and the pressed state uses surface-active so\n// it reads as selected, distinct from hover).\nconst toggleItemClassName = cn(\n 'inline-flex h-9 select-none items-center justify-center gap-2 rounded-md border border-transparent bg-transparent px-3 text-sm font-medium text-[var(--ui-text-on-surface-primary)] transition-colors outline-none',\n 'not-disabled:hover:bg-[var(--ui-background-surface-hover)]',\n 'focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-primary)]',\n 'data-pressed:bg-[var(--ui-background-surface-active)] data-pressed:text-[var(--ui-text-on-surface-primary)]',\n 'disabled:pointer-events-none disabled:opacity-50'\n);\n\nconst Toggle = React.forwardRef<\n HTMLButtonElement,\n React.ComponentPropsWithoutRef<typeof TogglePrimitive>\n>(({ className, ...props }, ref) => (\n <TogglePrimitive\n ref={ref}\n className={cn(toggleItemClassName, className)}\n {...props}\n />\n));\nToggle.displayName = 'Toggle';\n\nconst ToggleGroup = React.forwardRef<\n React.ComponentRef<typeof ToggleGroupPrimitive>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive>\n>(({ className, ...props }, ref) => (\n <ToggleGroupPrimitive\n ref={ref}\n className={cn(\n 'inline-flex items-center gap-1 data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch',\n className\n )}\n {...props}\n />\n));\nToggleGroup.displayName = 'ToggleGroup';\n\nconst ToggleGroupItem = React.forwardRef<\n HTMLButtonElement,\n React.ComponentPropsWithoutRef<typeof TogglePrimitive>\n>(({ className, ...props }, ref) => (\n <TogglePrimitive\n ref={ref}\n className={cn(toggleItemClassName, className)}\n {...props}\n />\n));\nToggleGroupItem.displayName = 'ToggleGroupItem';\n\nexport { Toggle, ToggleGroup, ToggleGroupItem };\n"],"mappings":";;;;;;;AAcA,IAAM,IAAsB,EAC1B,sNACA,8DACA,qEACA,+GACA,kDACF,GAEM,IAAS,EAAM,YAGlB,EAAE,cAAW,GAAG,KAAS,MAC1B,kBAAC,GAAD;CACO;CACL,WAAW,EAAG,GAAqB,CAAS;CAC5C,GAAI;AACL,CAAA,CACF;AACD,EAAO,cAAc;AAErB,IAAM,IAAc,EAAM,YAGvB,EAAE,cAAW,GAAG,KAAS,MAC1B,kBAAC,GAAD;CACO;CACL,WAAW,EACT,iHACA,CACF;CACA,GAAI;AACL,CAAA,CACF;AACD,EAAY,cAAc;AAE1B,IAAM,IAAkB,EAAM,YAG3B,EAAE,cAAW,GAAG,KAAS,MAC1B,kBAAC,GAAD;CACO;CACL,WAAW,EAAG,GAAqB,CAAS;CAC5C,GAAI;AACL,CAAA,CACF;AACD,EAAgB,cAAc"}
@@ -1,204 +1,131 @@
1
- import { jsx as l, jsxs as C } from "react/jsx-runtime";
2
- import * as i from "react";
3
- import { Toolbar as R } from "@base-ui/react/toolbar";
4
- import { cn as T } from "../../../lib/utils.js";
5
- import { Button as E } from "../button/button.js";
6
- import { DropdownMenu as _, DropdownMenuTrigger as F, DropdownMenuContent as I, DropdownMenuItem as P } from "../dropdown-menu/dropdown-menu.js";
7
- import { ButtonMenu as A } from "../button-menu/button-menu.js";
8
- const k = i.createContext(!1), j = i.forwardRef(
9
- ({ className: r, disabled: t, ...n }, c) => /* @__PURE__ */ l(k.Provider, { value: !!t, children: /* @__PURE__ */ l(
10
- "fieldset",
11
- {
12
- ref: c,
13
- className: T(
14
- "m-0 flex min-w-0 items-center gap-4 border-0 p-0",
15
- r
16
- ),
17
- disabled: t,
18
- ...n
19
- }
20
- ) })
21
- );
22
- j.displayName = "Toolbar";
23
- const X = i.forwardRef(
24
- ({ className: r, ...t }, n) => /* @__PURE__ */ l(
25
- "div",
26
- {
27
- ref: n,
28
- className: T(
29
- "flex grow shrink-0 items-center justify-end gap-2 whitespace-nowrap",
30
- r
31
- ),
32
- ...t
33
- }
34
- )
35
- );
36
- X.displayName = "ToolbarActions";
37
- const M = 16;
38
- function G(r, t, n, c) {
39
- const d = r.length;
40
- if (d === 0) return 0;
41
- if (r.reduce((u, p) => u + p, 0) + n * (d - 1) <= c) return d;
42
- let o = t, s = 0;
43
- for (let u = 0; u < d; u++) {
44
- const p = o + r[u] + n;
45
- if (p > c) break;
46
- o = p, s++;
47
- }
48
- return s;
1
+ import { cn as e } from "../../../lib/utils.js";
2
+ import { Button as t } from "../button/button.js";
3
+ import { ButtonMenu as n } from "../button-menu/button-menu.js";
4
+ import { DropdownMenu as r, DropdownMenuContent as i, DropdownMenuItem as a, DropdownMenuTrigger as o } from "../dropdown-menu/dropdown-menu.js";
5
+ import * as s from "react";
6
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
7
+ import { Toolbar as u } from "@base-ui/react/toolbar";
8
+ //#region src/components/ui/toolbar/toolbar.tsx
9
+ var d = s.createContext(!1), f = s.forwardRef(({ className: t, disabled: n, ...r }, i) => /* @__PURE__ */ c(d.Provider, {
10
+ value: !!n,
11
+ children: /* @__PURE__ */ c("fieldset", {
12
+ ref: i,
13
+ className: e("m-0 flex min-w-0 items-center gap-4 border-0 p-0", t),
14
+ disabled: n,
15
+ ...r
16
+ })
17
+ }));
18
+ f.displayName = "Toolbar";
19
+ var p = s.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ c("div", {
20
+ ref: r,
21
+ className: e("flex grow shrink-0 items-center justify-end gap-2 whitespace-nowrap", t),
22
+ ...n
23
+ }));
24
+ p.displayName = "ToolbarActions";
25
+ var m = 16;
26
+ function h(e, t, n, r) {
27
+ let i = e.length;
28
+ if (i === 0) return 0;
29
+ if (e.reduce((e, t) => e + t, 0) + n * (i - 1) <= r) return i;
30
+ let a = t, o = 0;
31
+ for (let t = 0; t < i; t++) {
32
+ let i = a + e[t] + n;
33
+ if (i > r) break;
34
+ a = i, o++;
35
+ }
36
+ return o;
49
37
  }
50
- function V(r) {
51
- const t = Array.from(r.childNodes).filter(
52
- (o) => {
53
- var s;
54
- return o.nodeType === Node.ELEMENT_NODE || o.nodeType === Node.TEXT_NODE && !!((s = o.textContent) != null && s.trim());
55
- }
56
- );
57
- if (t.length === 0) return r.getBoundingClientRect().width;
58
- const n = getComputedStyle(r), c = parseFloat(n.columnGap) || 0, d = (parseFloat(n.paddingLeft) || 0) + (parseFloat(n.paddingRight) || 0) + (parseFloat(n.borderLeftWidth) || 0) + (parseFloat(n.borderRightWidth) || 0);
59
- return t.map((o) => {
60
- if (o.nodeType === Node.TEXT_NODE) {
61
- const s = document.createRange();
62
- return s.selectNodeContents(o), s.getBoundingClientRect().width;
63
- }
64
- return o.getBoundingClientRect().width;
65
- }).reduce((o, s) => o + s, 0) + c * (t.length - 1) + d;
38
+ function g(e) {
39
+ let t = Array.from(e.childNodes).filter((e) => e.nodeType === Node.ELEMENT_NODE || e.nodeType === Node.TEXT_NODE && !!e.textContent?.trim());
40
+ if (t.length === 0) return e.getBoundingClientRect().width;
41
+ let n = getComputedStyle(e), r = parseFloat(n.columnGap) || 0, i = (parseFloat(n.paddingLeft) || 0) + (parseFloat(n.paddingRight) || 0) + (parseFloat(n.borderLeftWidth) || 0) + (parseFloat(n.borderRightWidth) || 0);
42
+ return t.map((e) => {
43
+ if (e.nodeType === Node.TEXT_NODE) {
44
+ let t = document.createRange();
45
+ return t.selectNodeContents(e), t.getBoundingClientRect().width;
46
+ }
47
+ return e.getBoundingClientRect().width;
48
+ }).reduce((e, t) => e + t, 0) + r * (t.length - 1) + i;
66
49
  }
67
- function z(...r) {
68
- return (t) => {
69
- for (const n of r)
70
- n && (typeof n == "function" ? n(t) : n.current = t);
71
- };
50
+ function _(...e) {
51
+ return (t) => {
52
+ for (let n of e) n && (typeof n == "function" ? n(t) : n.current = t);
53
+ };
72
54
  }
73
- const $ = i.forwardRef(
74
- ({ className: r, actions: t, moreActionsLabel: n = "More actions", ...c }, d) => {
75
- const f = i.useRef(null), o = i.useRef(
76
- /* @__PURE__ */ new Map()
77
- ), s = i.useRef(null), [u, p] = i.useState(t.length), [B, v] = i.useState(!1), m = i.useContext(k), D = B && !m;
78
- i.useEffect(() => {
79
- m && v(!1);
80
- }, [m]);
81
- const y = i.useCallback(() => {
82
- var x;
83
- const e = f.current, a = e == null ? void 0 : e.parentElement;
84
- if (!e || !a) return;
85
- const g = Array.from(a.children).filter((h) => h !== e).reduce((h, w) => h + V(w), 0), b = Math.max(a.children.length - 1, 0), W = a.clientWidth - g - M * b, L = t.map(
86
- (h) => {
87
- var w;
88
- return ((w = o.current.get(h.key)) == null ? void 0 : w.getBoundingClientRect().width) ?? 0;
89
- }
90
- ), S = ((x = s.current) == null ? void 0 : x.getBoundingClientRect().width) ?? 0;
91
- p(
92
- G(
93
- L,
94
- S,
95
- M,
96
- W
97
- )
98
- );
99
- }, [t]);
100
- i.useLayoutEffect(() => {
101
- var g;
102
- y();
103
- const e = (g = f.current) == null ? void 0 : g.parentElement;
104
- if (!e) return;
105
- const a = new ResizeObserver(y);
106
- return a.observe(e), Array.from(e.children).forEach((b) => {
107
- b !== f.current && a.observe(b);
108
- }), () => a.disconnect();
109
- }, [y, t]);
110
- const O = t.slice(0, u), N = t.slice(u);
111
- return /* @__PURE__ */ C(
112
- R.Root,
113
- {
114
- ref: z(f, d),
115
- className: T(
116
- // `overflow-hidden` clips the invisible measurement clone below —
117
- // it's `position: absolute` + `visibility: hidden`, which keeps
118
- // contributing to this element's scrollable overflow (and thus a
119
- // real horizontal scrollbar on a narrow container/page) unless
120
- // something in the ancestor chain clips it. Visible content is
121
- // already sized to fit `availableWidth` by the collapse math, so
122
- // clipping never affects anything actually shown.
123
- "relative flex min-w-0 flex-nowrap items-center gap-4 overflow-hidden",
124
- r
125
- ),
126
- ...c,
127
- children: [
128
- O.map((e) => /* @__PURE__ */ l(
129
- R.Button,
130
- {
131
- disabled: e.disabled,
132
- focusableWhenDisabled: !e.disabled,
133
- onClick: e.onSelect,
134
- render: /* @__PURE__ */ l(E, { variant: "ghost", children: e.label })
135
- },
136
- e.key
137
- )),
138
- N.length > 0 && /* @__PURE__ */ C(
139
- _,
140
- {
141
- open: D,
142
- onOpenChange: v,
143
- disabled: m,
144
- children: [
145
- /* @__PURE__ */ l(
146
- R.Button,
147
- {
148
- render: /* @__PURE__ */ l(
149
- F,
150
- {
151
- render: /* @__PURE__ */ l(A, { variant: "secondary", children: n })
152
- }
153
- )
154
- }
155
- ),
156
- /* @__PURE__ */ l(I, { align: "start", children: N.map((e) => /* @__PURE__ */ l(
157
- P,
158
- {
159
- disabled: e.disabled || m,
160
- onClick: e.onSelect,
161
- children: e.label
162
- },
163
- e.key
164
- )) })
165
- ]
166
- }
167
- ),
168
- /* @__PURE__ */ C(
169
- "div",
170
- {
171
- "aria-hidden": !0,
172
- inert: !0,
173
- className: "pointer-events-none invisible absolute start-0 top-0 flex items-center gap-4",
174
- children: [
175
- t.map((e) => /* @__PURE__ */ l(
176
- E,
177
- {
178
- ref: (a) => {
179
- o.current.set(e.key, a);
180
- },
181
- variant: "ghost",
182
- tabIndex: -1,
183
- children: e.label
184
- },
185
- e.key
186
- )),
187
- /* @__PURE__ */ l(A, { ref: s, variant: "secondary", tabIndex: -1, children: n })
188
- ]
189
- }
190
- )
191
- ]
192
- }
193
- );
194
- }
195
- );
196
- $.displayName = "ToolbarActionList";
197
- export {
198
- j as Toolbar,
199
- $ as ToolbarActionList,
200
- X as ToolbarActions,
201
- G as computeVisibleActionCount,
202
- V as measureNaturalWidth
203
- };
204
- //# sourceMappingURL=toolbar.js.map
55
+ var v = s.forwardRef(({ className: f, actions: p, moreActionsLabel: v = "More actions", ...y }, b) => {
56
+ let x = s.useRef(null), S = s.useRef(/* @__PURE__ */ new Map()), C = s.useRef(null), [w, T] = s.useState(p.length), [E, D] = s.useState(!1), O = s.useContext(d), k = E && !O;
57
+ s.useEffect(() => {
58
+ O && D(!1);
59
+ }, [O]);
60
+ let A = s.useCallback(() => {
61
+ let e = x.current, t = e?.parentElement;
62
+ if (!e || !t) return;
63
+ let n = Array.from(t.children).filter((t) => t !== e).reduce((e, t) => e + g(t), 0), r = Math.max(t.children.length - 1, 0), i = t.clientWidth - n - m * r, a = p.map((e) => S.current.get(e.key)?.getBoundingClientRect().width ?? 0), o = C.current?.getBoundingClientRect().width ?? 0;
64
+ T(h(a, o, m, i));
65
+ }, [p]);
66
+ s.useLayoutEffect(() => {
67
+ A();
68
+ let e = x.current?.parentElement;
69
+ if (!e) return;
70
+ let t = new ResizeObserver(A);
71
+ return t.observe(e), Array.from(e.children).forEach((e) => {
72
+ e !== x.current && t.observe(e);
73
+ }), () => t.disconnect();
74
+ }, [A, p]);
75
+ let j = p.slice(0, w), M = p.slice(w);
76
+ return /* @__PURE__ */ l(u.Root, {
77
+ ref: _(x, b),
78
+ className: e("relative flex min-w-0 flex-nowrap items-center gap-4 overflow-hidden", f),
79
+ ...y,
80
+ children: [
81
+ j.map((e) => /* @__PURE__ */ c(u.Button, {
82
+ disabled: e.disabled,
83
+ focusableWhenDisabled: !e.disabled,
84
+ onClick: e.onSelect,
85
+ render: /* @__PURE__ */ c(t, {
86
+ variant: "ghost",
87
+ children: e.label
88
+ })
89
+ }, e.key)),
90
+ M.length > 0 && /* @__PURE__ */ l(r, {
91
+ open: k,
92
+ onOpenChange: D,
93
+ disabled: O,
94
+ children: [/* @__PURE__ */ c(u.Button, { render: /* @__PURE__ */ c(o, { render: /* @__PURE__ */ c(n, {
95
+ variant: "secondary",
96
+ children: v
97
+ }) }) }), /* @__PURE__ */ c(i, {
98
+ align: "start",
99
+ children: M.map((e) => /* @__PURE__ */ c(a, {
100
+ disabled: e.disabled || O,
101
+ onClick: e.onSelect,
102
+ children: e.label
103
+ }, e.key))
104
+ })]
105
+ }),
106
+ /* @__PURE__ */ l("div", {
107
+ "aria-hidden": !0,
108
+ inert: !0,
109
+ className: "pointer-events-none invisible absolute start-0 top-0 flex items-center gap-4",
110
+ children: [p.map((e) => /* @__PURE__ */ c(t, {
111
+ ref: (t) => {
112
+ S.current.set(e.key, t);
113
+ },
114
+ variant: "ghost",
115
+ tabIndex: -1,
116
+ children: e.label
117
+ }, e.key)), /* @__PURE__ */ c(n, {
118
+ ref: C,
119
+ variant: "secondary",
120
+ tabIndex: -1,
121
+ children: v
122
+ })]
123
+ })
124
+ ]
125
+ });
126
+ });
127
+ v.displayName = "ToolbarActionList";
128
+ //#endregion
129
+ export { f as Toolbar, v as ToolbarActionList, p as ToolbarActions, h as computeVisibleActionCount, g as measureNaturalWidth };
130
+
131
+ //# sourceMappingURL=toolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar.js","sources":["../../../../src/components/ui/toolbar/toolbar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Toolbar as ToolbarPrimitive } from '@base-ui/react/toolbar';\n\nimport { cn } from '@/lib/utils';\nimport { Button } from '../button';\nimport { ButtonMenu } from '../button-menu';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '../dropdown-menu';\n\n// Mirrors the Figma \"Toolbar\" component (node 3897:7199): a horizontal action\n// row — list actions, an optional overflow control (e.g. a `ButtonMenu`), and\n// an optional trailing area (`ToolbarActions`: a status text or a selection\n// counter + action) — typically shown above/below a list or table when rows\n// are selected or bulk actions are available. Every action is an existing\n// `Button`/`ButtonMenu` instance in Figma, so this component only lays them\n// out and carries no dedicated `--ui-toolbar-*` token tier; the 16px\n// inter-item gap is the Figma `gap/gap-16` semantic token, left un-tokenized —\n// same precedent as `FilterSearch`'s identical gap.\n//\n// The Figma `state: active | disabled` variant is the native `disabled`\n// attribute here: the root renders as a `<fieldset>` (reset to look like a\n// flex row) so every nested `Button`/`ButtonMenu` disables via the platform's\n// own fieldset-disables-descendants behavior — no prop-drilling into\n// arbitrary children required.\n//\n// `min-w-0` is required, not cosmetic: browsers give `<fieldset>` an\n// intrinsic `min-width: min-content` that Tailwind's reset doesn't touch, so\n// without it the fieldset refuses to shrink below its content's natural\n// width. `ToolbarActionList`'s collapse math reads this fieldset's own\n// `clientWidth` as \"available space\" — without `min-w-0` the fieldset\n// balloons to fit every action before that measurement ever runs, so it\n// always measures \"everything fits\" and the row never collapses.\n\n// The fieldset cascade only reaches descendants, so anything a nested part\n// renders in a portal (see `ToolbarActionList`'s overflow menu) has to learn\n// the disabled state another way. This carries it in React, deliberately\n// rather than reading the fieldset's `disabled` attribute back out of the DOM:\n// an out-of-React side channel (a MutationObserver on the attribute) resolves\n// one render *after* the fact, so the portal renders enabled for a beat, and\n// its `setState` lands outside React's own scheduling — which under React 19's\n// act environment is intermittently never flushed at all, leaving the portal\n// enabled forever.\nconst ToolbarDisabledContext = React.createContext(false);\n\nexport type ToolbarProps = React.ComponentPropsWithoutRef<'fieldset'>;\n\nconst Toolbar = React.forwardRef<HTMLFieldSetElement, ToolbarProps>(\n ({ className, disabled, ...props }, ref) => (\n <ToolbarDisabledContext.Provider value={!!disabled}>\n <fieldset\n ref={ref}\n className={cn(\n 'm-0 flex min-w-0 items-center gap-4 border-0 p-0',\n className\n )}\n disabled={disabled}\n {...props}\n />\n </ToolbarDisabledContext.Provider>\n )\n);\nToolbar.displayName = 'Toolbar';\n\n// Trailing, right-aligned area — a status text (e.g. \"25 of 1250 items\n// loaded\") or a selection counter + action (e.g. \"6 items selected: Deselect\").\n// 8px inter-child gap matches the Figma Counter part's own gap. `whitespace-nowrap`\n// is required, not cosmetic: the Figma \"Counter\" part is always single-line, but a\n// plain-text child (e.g. a `<span>`) defaults to `white-space: normal` — without\n// this, the text wraps mid-phrase once the row shrinks below its content's natural\n// width (`white-space` is inherited, so it cascades to children without them\n// needing their own override).\n//\n// `grow shrink-0` (not `flex-1`, which also shrinks): this area must grow to fill\n// leftover space so `justify-end` can right-align it, but must never shrink below\n// its own content's natural width. `ToolbarActionList`'s auto-collapse math reads\n// this element's *rendered* width as the space it needs to reserve — if it could\n// shrink, that measurement would be a moving target (less room reserved than the\n// content actually needs), so the actions row would under-collapse and this area's\n// (nowrap, unshrinkable) content would overflow past its own box instead.\nexport type ToolbarActionsProps = React.ComponentPropsWithoutRef<'div'>;\n\nconst ToolbarActions = React.forwardRef<HTMLDivElement, ToolbarActionsProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex grow shrink-0 items-center justify-end gap-2 whitespace-nowrap',\n className\n )}\n {...props}\n />\n )\n);\nToolbarActions.displayName = 'ToolbarActions';\n\n// Matches the `gap-4` utility used on both this component's row and\n// Toolbar's own root — keep in sync if either class changes.\nconst ACTION_LIST_GAP_PX = 16;\n\n// Pure so the collapse math is unit-testable without mocking layout/ResizeObserver.\n// Greedily fits as many leading items as possible into `availableWidth`; the\n// instant not everything fits, reserves `moreWidth` (+ one gap) for the\n// overflow trigger before fitting items.\nexport function computeVisibleActionCount(\n itemWidths: number[],\n moreWidth: number,\n gap: number,\n availableWidth: number\n): number {\n const total = itemWidths.length;\n if (total === 0) return 0;\n\n const fullWidth =\n itemWidths.reduce((sum, width) => sum + width, 0) + gap * (total - 1);\n if (fullWidth <= availableWidth) return total;\n\n let used = moreWidth;\n let count = 0;\n for (let i = 0; i < total; i++) {\n const next = used + itemWidths[i] + gap;\n if (next > availableWidth) break;\n used = next;\n count++;\n }\n return count;\n}\n\n// A grown sibling's own `getBoundingClientRect()` reflects its flex-grown\n// box, not the space its content actually needs — reading that would make\n// `measure()`'s \"available space\" calculation self-referential (see below),\n// so this reads the sibling's *content nodes* instead: normal (non-growing)\n// flex children report their natural width regardless of how large the\n// parent's box has grown to fill leftover row space. Bare text (e.g.\n// `<ToolbarActions>25 selected</ToolbarActions>` with no wrapping element)\n// renders as a `Text` node rather than an `Element`, so `children` alone\n// would miss it and fall through to the self-referential branch this\n// function exists to avoid — a `Range` measures that text's own rendered\n// width the same way `getBoundingClientRect()` does for an element.\n//\n// The sibling's own padding/border don't grow with flex-grow (only the free\n// space between content and box edge does), so they're safe to add back on\n// top of the content sum — unlike the box's own `getBoundingClientRect()`,\n// which is self-referential.\n//\n// Exported (like `computeVisibleActionCount`) so this is unit-testable\n// without mocking layout/ResizeObserver.\nexport function measureNaturalWidth(el: Element): number {\n const nodes = Array.from(el.childNodes).filter(\n (node): node is ChildNode =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && !!node.textContent?.trim())\n );\n if (nodes.length === 0) return el.getBoundingClientRect().width;\n\n const style = getComputedStyle(el);\n const gap = parseFloat(style.columnGap) || 0;\n const ownPaddingAndBorder =\n (parseFloat(style.paddingLeft) || 0) +\n (parseFloat(style.paddingRight) || 0) +\n (parseFloat(style.borderLeftWidth) || 0) +\n (parseFloat(style.borderRightWidth) || 0);\n const widths = nodes.map((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n const range = document.createRange();\n range.selectNodeContents(node);\n return range.getBoundingClientRect().width;\n }\n return (node as Element).getBoundingClientRect().width;\n });\n\n return (\n widths.reduce((sum, width) => sum + width, 0) +\n gap * (nodes.length - 1) +\n ownPaddingAndBorder\n );\n}\n\nfunction mergeRefs<T>(\n ...refs: Array<React.Ref<T> | undefined>\n): React.RefCallback<T> {\n return (node) => {\n for (const ref of refs) {\n if (!ref) continue;\n if (typeof ref === 'function') ref(node);\n else (ref as React.RefObject<T | null>).current = node;\n }\n };\n}\n\nexport interface ToolbarActionListItem {\n /** Stable identity — used as the React key in both the row and the overflow menu. */\n key: string;\n /** Rendered as the visible ghost Button's label, and the overflow menu item's label. */\n label: React.ReactNode;\n onSelect?: () => void;\n disabled?: boolean;\n}\n\nexport interface ToolbarActionListProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'children'> {\n /** Ordered list of actions; trailing ones collapse into \"More actions\" first. */\n actions: ToolbarActionListItem[];\n /** Label for the overflow trigger. */\n moreActionsLabel?: React.ReactNode;\n}\n\n// Mirrors the Figma \"ListActions\" part, but drives its `hasMoreActions`\n// overflow menu from measured available width instead of a static boolean —\n// the breakpoints spec (node 6262:28276) requires that \"if there is no space\n// for all Toolbar actions, then last actions must be hidden under More\n// actions.\" Renders every action as a ghost Button until they no longer fit\n// the row, then moves the trailing ones into a ButtonMenu + DropdownMenu\n// (same trigger Figma's `hasMoreActions` variant shows). An invisible clone\n// of every action + the trigger is kept mounted purely to measure natural\n// widths, since a hidden item can't report its own size.\n//\n// The root and each visible action/trigger are Base UI's `Toolbar.Root`/\n// `Toolbar.Button` (`@base-ui/react/toolbar`), giving the row the WAI-ARIA\n// toolbar pattern for free: one Tab stop, arrow-key roving-tabindex between\n// actions and into the overflow trigger. Base UI's `Toolbar.Root` does not\n// forward `enableHomeAndEndKeys` to its underlying composite, so Home/End\n// are not supported here — this is a Base UI limitation, not a choice made\n// in this component. `Toolbar.Button` composes\n// via `render` the same way `DropdownMenuTrigger`/`ButtonMenu` already do\n// below — it merges its own composite/keydown/disabled props onto whatever\n// element you pass. `focusableWhenDisabled={!action.disabled}` opts a\n// disabled action out of Base UI's default APG toolbar treatment (disabled\n// items normally stay focusable via `aria-disabled`, skippable with Tab) so\n// it matches every other disabled `Button` in this library: a real native\n// `disabled` button, unreachable via Tab or arrow keys. This MUST stay\n// conditional on `action.disabled` — `Toolbar.Root` builds its\n// `disabledIndices` list from `focusableWhenDisabled` alone, regardless of\n// the item's actual disabled state, so passing a bare `false` here disables\n// every index and silently breaks arrow-key navigation for the whole row.\n//\n// The invisible measurement clones stay plain `Button`/`ButtonMenu` (not\n// `Toolbar.Button`): registering them too would double-count hidden items in\n// the roving-tabindex list. This is scoped to the action list only —\n// `Toolbar`'s own `<fieldset>` disabled-cascade (see above) is\n// intentionally untouched; Base UI's `Fieldset.Root` strips the native\n// `disabled` attribute in favor of a context other Base UI Field-aware\n// components consume, which `Button`/`ButtonMenu` don't, so it would silently\n// break the \"disabling the toolbar disables every nested control\" guarantee.\nconst ToolbarActionList = React.forwardRef<\n HTMLDivElement,\n ToolbarActionListProps\n>(\n (\n { className, actions, moreActionsLabel = 'More actions', ...props },\n forwardedRef\n ) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n const itemRefs = React.useRef<Map<string, HTMLButtonElement | null>>(\n new Map()\n );\n const moreRef = React.useRef<HTMLButtonElement>(null);\n const [visibleCount, setVisibleCount] = React.useState(actions.length);\n const [moreMenuOpen, setMoreMenuOpen] = React.useState(false);\n // The overflow menu renders in a portal, outside the ancestor\n // `<fieldset>`'s DOM subtree, so the native disabled-cascade (see\n // `Toolbar` above) never reaches its items — they read the state off\n // context instead, so a menu already open when the toolbar becomes\n // disabled gets closed, and its items stay disabled even if forced open\n // again (e.g. via a ref).\n const ancestorDisabled = React.useContext(ToolbarDisabledContext);\n\n // Gating the `open` prop (rather than only resetting the state below)\n // closes the menu in the very commit the toolbar becomes disabled — an\n // effect would leave it open for one frame.\n const menuOpen = moreMenuOpen && !ancestorDisabled;\n\n // Still clear the stored state, or re-enabling the toolbar would pop the\n // menu back open on its own.\n React.useEffect(() => {\n if (ancestorDisabled) setMoreMenuOpen(false);\n }, [ancestorDisabled]);\n\n const measure = React.useCallback(() => {\n const container = containerRef.current;\n const parent = container?.parentElement;\n if (!container || !parent) return;\n\n const siblingsWidth = Array.from(parent.children)\n .filter((child) => child !== container)\n .reduce((sum, el) => sum + measureNaturalWidth(el), 0);\n const gapCount = Math.max(parent.children.length - 1, 0);\n const available =\n parent.clientWidth - siblingsWidth - ACTION_LIST_GAP_PX * gapCount;\n\n // Keyed by `action.key`, not index — an index-keyed array would keep\n // stale entries (and a stale length) when `actions` shrinks, since\n // React only nulls out the removed clones' refs without truncating it.\n const itemWidths = actions.map(\n (action) =>\n itemRefs.current.get(action.key)?.getBoundingClientRect().width ?? 0\n );\n const moreWidth = moreRef.current?.getBoundingClientRect().width ?? 0;\n\n setVisibleCount(\n computeVisibleActionCount(\n itemWidths,\n moreWidth,\n ACTION_LIST_GAP_PX,\n available\n )\n );\n }, [actions]);\n\n React.useLayoutEffect(() => {\n measure();\n const parent = containerRef.current?.parentElement;\n if (!parent) return;\n const observer = new ResizeObserver(measure);\n observer.observe(parent);\n // A sibling like `ToolbarActions` is `shrink-0`, so its own border-box\n // grows with its content (e.g. a \"6 items selected\" counter ticking\n // up) even while `parent`'s box stays fixed — a ResizeObserver bound\n // only to `parent` never fires for that case, so `measure()` goes\n // stale and the row silently overflows instead of collapsing further.\n // Observing every sibling directly catches that box-size change too.\n Array.from(parent.children).forEach((sibling) => {\n if (sibling !== containerRef.current) observer.observe(sibling);\n });\n return () => observer.disconnect();\n }, [measure, actions]);\n\n const visibleActions = actions.slice(0, visibleCount);\n const hiddenActions = actions.slice(visibleCount);\n\n return (\n <ToolbarPrimitive.Root\n ref={mergeRefs(containerRef, forwardedRef)}\n className={cn(\n // `overflow-hidden` clips the invisible measurement clone below —\n // it's `position: absolute` + `visibility: hidden`, which keeps\n // contributing to this element's scrollable overflow (and thus a\n // real horizontal scrollbar on a narrow container/page) unless\n // something in the ancestor chain clips it. Visible content is\n // already sized to fit `availableWidth` by the collapse math, so\n // clipping never affects anything actually shown.\n 'relative flex min-w-0 flex-nowrap items-center gap-4 overflow-hidden',\n className\n )}\n {...props}\n >\n {visibleActions.map((action) => (\n <ToolbarPrimitive.Button\n key={action.key}\n disabled={action.disabled}\n focusableWhenDisabled={!action.disabled}\n onClick={action.onSelect}\n render={<Button variant=\"ghost\">{action.label}</Button>}\n />\n ))}\n {hiddenActions.length > 0 && (\n <DropdownMenu\n open={menuOpen}\n onOpenChange={setMoreMenuOpen}\n disabled={ancestorDisabled}\n >\n <ToolbarPrimitive.Button\n render={\n <DropdownMenuTrigger\n render={\n <ButtonMenu variant=\"secondary\">\n {moreActionsLabel}\n </ButtonMenu>\n }\n />\n }\n />\n <DropdownMenuContent align=\"start\">\n {hiddenActions.map((action) => (\n <DropdownMenuItem\n key={action.key}\n disabled={action.disabled || ancestorDisabled}\n onClick={action.onSelect}\n >\n {action.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n )}\n <div\n aria-hidden\n inert\n className=\"pointer-events-none invisible absolute start-0 top-0 flex items-center gap-4\"\n >\n {actions.map((action) => (\n <Button\n key={action.key}\n ref={(el) => {\n itemRefs.current.set(action.key, el);\n }}\n variant=\"ghost\"\n tabIndex={-1}\n >\n {action.label}\n </Button>\n ))}\n <ButtonMenu ref={moreRef} variant=\"secondary\" tabIndex={-1}>\n {moreActionsLabel}\n </ButtonMenu>\n </div>\n </ToolbarPrimitive.Root>\n );\n }\n);\nToolbarActionList.displayName = 'ToolbarActionList';\n\nexport { Toolbar, ToolbarActions, ToolbarActionList };\n"],"names":["ToolbarDisabledContext","React","Toolbar","className","disabled","props","ref","jsx","cn","ToolbarActions","ACTION_LIST_GAP_PX","computeVisibleActionCount","itemWidths","moreWidth","gap","availableWidth","total","sum","width","used","count","i","next","measureNaturalWidth","el","nodes","node","_a","style","ownPaddingAndBorder","range","mergeRefs","refs","ToolbarActionList","actions","moreActionsLabel","forwardedRef","containerRef","itemRefs","moreRef","visibleCount","setVisibleCount","moreMenuOpen","setMoreMenuOpen","ancestorDisabled","menuOpen","measure","container","parent","siblingsWidth","child","gapCount","available","action","observer","sibling","visibleActions","hiddenActions","jsxs","ToolbarPrimitive","Button","DropdownMenu","DropdownMenuTrigger","ButtonMenu","DropdownMenuContent","DropdownMenuItem"],"mappings":"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"}
1
+ {"version":3,"file":"toolbar.js","names":[],"sources":["../../../../src/components/ui/toolbar/toolbar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Toolbar as ToolbarPrimitive } from '@base-ui/react/toolbar';\n\nimport { cn } from '@/lib/utils';\nimport { Button } from '../button';\nimport { ButtonMenu } from '../button-menu';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '../dropdown-menu';\n\n// Mirrors the Figma \"Toolbar\" component (node 3897:7199): a horizontal action\n// row — list actions, an optional overflow control (e.g. a `ButtonMenu`), and\n// an optional trailing area (`ToolbarActions`: a status text or a selection\n// counter + action) — typically shown above/below a list or table when rows\n// are selected or bulk actions are available. Every action is an existing\n// `Button`/`ButtonMenu` instance in Figma, so this component only lays them\n// out and carries no dedicated `--ui-toolbar-*` token tier; the 16px\n// inter-item gap is the Figma `gap/gap-16` semantic token, left un-tokenized —\n// same precedent as `FilterSearch`'s identical gap.\n//\n// The Figma `state: active | disabled` variant is the native `disabled`\n// attribute here: the root renders as a `<fieldset>` (reset to look like a\n// flex row) so every nested `Button`/`ButtonMenu` disables via the platform's\n// own fieldset-disables-descendants behavior — no prop-drilling into\n// arbitrary children required.\n//\n// `min-w-0` is required, not cosmetic: browsers give `<fieldset>` an\n// intrinsic `min-width: min-content` that Tailwind's reset doesn't touch, so\n// without it the fieldset refuses to shrink below its content's natural\n// width. `ToolbarActionList`'s collapse math reads this fieldset's own\n// `clientWidth` as \"available space\" — without `min-w-0` the fieldset\n// balloons to fit every action before that measurement ever runs, so it\n// always measures \"everything fits\" and the row never collapses.\n\n// The fieldset cascade only reaches descendants, so anything a nested part\n// renders in a portal (see `ToolbarActionList`'s overflow menu) has to learn\n// the disabled state another way. This carries it in React, deliberately\n// rather than reading the fieldset's `disabled` attribute back out of the DOM:\n// an out-of-React side channel (a MutationObserver on the attribute) resolves\n// one render *after* the fact, so the portal renders enabled for a beat, and\n// its `setState` lands outside React's own scheduling — which under React 19's\n// act environment is intermittently never flushed at all, leaving the portal\n// enabled forever.\nconst ToolbarDisabledContext = React.createContext(false);\n\nexport type ToolbarProps = React.ComponentPropsWithoutRef<'fieldset'>;\n\nconst Toolbar = React.forwardRef<HTMLFieldSetElement, ToolbarProps>(\n ({ className, disabled, ...props }, ref) => (\n <ToolbarDisabledContext.Provider value={!!disabled}>\n <fieldset\n ref={ref}\n className={cn(\n 'm-0 flex min-w-0 items-center gap-4 border-0 p-0',\n className\n )}\n disabled={disabled}\n {...props}\n />\n </ToolbarDisabledContext.Provider>\n )\n);\nToolbar.displayName = 'Toolbar';\n\n// Trailing, right-aligned area — a status text (e.g. \"25 of 1250 items\n// loaded\") or a selection counter + action (e.g. \"6 items selected: Deselect\").\n// 8px inter-child gap matches the Figma Counter part's own gap. `whitespace-nowrap`\n// is required, not cosmetic: the Figma \"Counter\" part is always single-line, but a\n// plain-text child (e.g. a `<span>`) defaults to `white-space: normal` — without\n// this, the text wraps mid-phrase once the row shrinks below its content's natural\n// width (`white-space` is inherited, so it cascades to children without them\n// needing their own override).\n//\n// `grow shrink-0` (not `flex-1`, which also shrinks): this area must grow to fill\n// leftover space so `justify-end` can right-align it, but must never shrink below\n// its own content's natural width. `ToolbarActionList`'s auto-collapse math reads\n// this element's *rendered* width as the space it needs to reserve — if it could\n// shrink, that measurement would be a moving target (less room reserved than the\n// content actually needs), so the actions row would under-collapse and this area's\n// (nowrap, unshrinkable) content would overflow past its own box instead.\nexport type ToolbarActionsProps = React.ComponentPropsWithoutRef<'div'>;\n\nconst ToolbarActions = React.forwardRef<HTMLDivElement, ToolbarActionsProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex grow shrink-0 items-center justify-end gap-2 whitespace-nowrap',\n className\n )}\n {...props}\n />\n )\n);\nToolbarActions.displayName = 'ToolbarActions';\n\n// Matches the `gap-4` utility used on both this component's row and\n// Toolbar's own root — keep in sync if either class changes.\nconst ACTION_LIST_GAP_PX = 16;\n\n// Pure so the collapse math is unit-testable without mocking layout/ResizeObserver.\n// Greedily fits as many leading items as possible into `availableWidth`; the\n// instant not everything fits, reserves `moreWidth` (+ one gap) for the\n// overflow trigger before fitting items.\nexport function computeVisibleActionCount(\n itemWidths: number[],\n moreWidth: number,\n gap: number,\n availableWidth: number\n): number {\n const total = itemWidths.length;\n if (total === 0) return 0;\n\n const fullWidth =\n itemWidths.reduce((sum, width) => sum + width, 0) + gap * (total - 1);\n if (fullWidth <= availableWidth) return total;\n\n let used = moreWidth;\n let count = 0;\n for (let i = 0; i < total; i++) {\n const next = used + itemWidths[i] + gap;\n if (next > availableWidth) break;\n used = next;\n count++;\n }\n return count;\n}\n\n// A grown sibling's own `getBoundingClientRect()` reflects its flex-grown\n// box, not the space its content actually needs — reading that would make\n// `measure()`'s \"available space\" calculation self-referential (see below),\n// so this reads the sibling's *content nodes* instead: normal (non-growing)\n// flex children report their natural width regardless of how large the\n// parent's box has grown to fill leftover row space. Bare text (e.g.\n// `<ToolbarActions>25 selected</ToolbarActions>` with no wrapping element)\n// renders as a `Text` node rather than an `Element`, so `children` alone\n// would miss it and fall through to the self-referential branch this\n// function exists to avoid — a `Range` measures that text's own rendered\n// width the same way `getBoundingClientRect()` does for an element.\n//\n// The sibling's own padding/border don't grow with flex-grow (only the free\n// space between content and box edge does), so they're safe to add back on\n// top of the content sum — unlike the box's own `getBoundingClientRect()`,\n// which is self-referential.\n//\n// Exported (like `computeVisibleActionCount`) so this is unit-testable\n// without mocking layout/ResizeObserver.\nexport function measureNaturalWidth(el: Element): number {\n const nodes = Array.from(el.childNodes).filter(\n (node): node is ChildNode =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && !!node.textContent?.trim())\n );\n if (nodes.length === 0) return el.getBoundingClientRect().width;\n\n const style = getComputedStyle(el);\n const gap = parseFloat(style.columnGap) || 0;\n const ownPaddingAndBorder =\n (parseFloat(style.paddingLeft) || 0) +\n (parseFloat(style.paddingRight) || 0) +\n (parseFloat(style.borderLeftWidth) || 0) +\n (parseFloat(style.borderRightWidth) || 0);\n const widths = nodes.map((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n const range = document.createRange();\n range.selectNodeContents(node);\n return range.getBoundingClientRect().width;\n }\n return (node as Element).getBoundingClientRect().width;\n });\n\n return (\n widths.reduce((sum, width) => sum + width, 0) +\n gap * (nodes.length - 1) +\n ownPaddingAndBorder\n );\n}\n\nfunction mergeRefs<T>(\n ...refs: Array<React.Ref<T> | undefined>\n): React.RefCallback<T> {\n return (node) => {\n for (const ref of refs) {\n if (!ref) continue;\n if (typeof ref === 'function') ref(node);\n else (ref as React.RefObject<T | null>).current = node;\n }\n };\n}\n\nexport interface ToolbarActionListItem {\n /** Stable identity — used as the React key in both the row and the overflow menu. */\n key: string;\n /** Rendered as the visible ghost Button's label, and the overflow menu item's label. */\n label: React.ReactNode;\n onSelect?: () => void;\n disabled?: boolean;\n}\n\nexport interface ToolbarActionListProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'children'> {\n /** Ordered list of actions; trailing ones collapse into \"More actions\" first. */\n actions: ToolbarActionListItem[];\n /** Label for the overflow trigger. */\n moreActionsLabel?: React.ReactNode;\n}\n\n// Mirrors the Figma \"ListActions\" part, but drives its `hasMoreActions`\n// overflow menu from measured available width instead of a static boolean —\n// the breakpoints spec (node 6262:28276) requires that \"if there is no space\n// for all Toolbar actions, then last actions must be hidden under More\n// actions.\" Renders every action as a ghost Button until they no longer fit\n// the row, then moves the trailing ones into a ButtonMenu + DropdownMenu\n// (same trigger Figma's `hasMoreActions` variant shows). An invisible clone\n// of every action + the trigger is kept mounted purely to measure natural\n// widths, since a hidden item can't report its own size.\n//\n// The root and each visible action/trigger are Base UI's `Toolbar.Root`/\n// `Toolbar.Button` (`@base-ui/react/toolbar`), giving the row the WAI-ARIA\n// toolbar pattern for free: one Tab stop, arrow-key roving-tabindex between\n// actions and into the overflow trigger. Base UI's `Toolbar.Root` does not\n// forward `enableHomeAndEndKeys` to its underlying composite, so Home/End\n// are not supported here — this is a Base UI limitation, not a choice made\n// in this component. `Toolbar.Button` composes\n// via `render` the same way `DropdownMenuTrigger`/`ButtonMenu` already do\n// below — it merges its own composite/keydown/disabled props onto whatever\n// element you pass. `focusableWhenDisabled={!action.disabled}` opts a\n// disabled action out of Base UI's default APG toolbar treatment (disabled\n// items normally stay focusable via `aria-disabled`, skippable with Tab) so\n// it matches every other disabled `Button` in this library: a real native\n// `disabled` button, unreachable via Tab or arrow keys. This MUST stay\n// conditional on `action.disabled` — `Toolbar.Root` builds its\n// `disabledIndices` list from `focusableWhenDisabled` alone, regardless of\n// the item's actual disabled state, so passing a bare `false` here disables\n// every index and silently breaks arrow-key navigation for the whole row.\n//\n// The invisible measurement clones stay plain `Button`/`ButtonMenu` (not\n// `Toolbar.Button`): registering them too would double-count hidden items in\n// the roving-tabindex list. This is scoped to the action list only —\n// `Toolbar`'s own `<fieldset>` disabled-cascade (see above) is\n// intentionally untouched; Base UI's `Fieldset.Root` strips the native\n// `disabled` attribute in favor of a context other Base UI Field-aware\n// components consume, which `Button`/`ButtonMenu` don't, so it would silently\n// break the \"disabling the toolbar disables every nested control\" guarantee.\nconst ToolbarActionList = React.forwardRef<\n HTMLDivElement,\n ToolbarActionListProps\n>(\n (\n { className, actions, moreActionsLabel = 'More actions', ...props },\n forwardedRef\n ) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n const itemRefs = React.useRef<Map<string, HTMLButtonElement | null>>(\n new Map()\n );\n const moreRef = React.useRef<HTMLButtonElement>(null);\n const [visibleCount, setVisibleCount] = React.useState(actions.length);\n const [moreMenuOpen, setMoreMenuOpen] = React.useState(false);\n // The overflow menu renders in a portal, outside the ancestor\n // `<fieldset>`'s DOM subtree, so the native disabled-cascade (see\n // `Toolbar` above) never reaches its items — they read the state off\n // context instead, so a menu already open when the toolbar becomes\n // disabled gets closed, and its items stay disabled even if forced open\n // again (e.g. via a ref).\n const ancestorDisabled = React.useContext(ToolbarDisabledContext);\n\n // Gating the `open` prop (rather than only resetting the state below)\n // closes the menu in the very commit the toolbar becomes disabled — an\n // effect would leave it open for one frame.\n const menuOpen = moreMenuOpen && !ancestorDisabled;\n\n // Still clear the stored state, or re-enabling the toolbar would pop the\n // menu back open on its own.\n React.useEffect(() => {\n if (ancestorDisabled) setMoreMenuOpen(false);\n }, [ancestorDisabled]);\n\n const measure = React.useCallback(() => {\n const container = containerRef.current;\n const parent = container?.parentElement;\n if (!container || !parent) return;\n\n const siblingsWidth = Array.from(parent.children)\n .filter((child) => child !== container)\n .reduce((sum, el) => sum + measureNaturalWidth(el), 0);\n const gapCount = Math.max(parent.children.length - 1, 0);\n const available =\n parent.clientWidth - siblingsWidth - ACTION_LIST_GAP_PX * gapCount;\n\n // Keyed by `action.key`, not index — an index-keyed array would keep\n // stale entries (and a stale length) when `actions` shrinks, since\n // React only nulls out the removed clones' refs without truncating it.\n const itemWidths = actions.map(\n (action) =>\n itemRefs.current.get(action.key)?.getBoundingClientRect().width ?? 0\n );\n const moreWidth = moreRef.current?.getBoundingClientRect().width ?? 0;\n\n setVisibleCount(\n computeVisibleActionCount(\n itemWidths,\n moreWidth,\n ACTION_LIST_GAP_PX,\n available\n )\n );\n }, [actions]);\n\n React.useLayoutEffect(() => {\n measure();\n const parent = containerRef.current?.parentElement;\n if (!parent) return;\n const observer = new ResizeObserver(measure);\n observer.observe(parent);\n // A sibling like `ToolbarActions` is `shrink-0`, so its own border-box\n // grows with its content (e.g. a \"6 items selected\" counter ticking\n // up) even while `parent`'s box stays fixed — a ResizeObserver bound\n // only to `parent` never fires for that case, so `measure()` goes\n // stale and the row silently overflows instead of collapsing further.\n // Observing every sibling directly catches that box-size change too.\n Array.from(parent.children).forEach((sibling) => {\n if (sibling !== containerRef.current) observer.observe(sibling);\n });\n return () => observer.disconnect();\n }, [measure, actions]);\n\n const visibleActions = actions.slice(0, visibleCount);\n const hiddenActions = actions.slice(visibleCount);\n\n return (\n <ToolbarPrimitive.Root\n ref={mergeRefs(containerRef, forwardedRef)}\n className={cn(\n // `overflow-hidden` clips the invisible measurement clone below —\n // it's `position: absolute` + `visibility: hidden`, which keeps\n // contributing to this element's scrollable overflow (and thus a\n // real horizontal scrollbar on a narrow container/page) unless\n // something in the ancestor chain clips it. Visible content is\n // already sized to fit `availableWidth` by the collapse math, so\n // clipping never affects anything actually shown.\n 'relative flex min-w-0 flex-nowrap items-center gap-4 overflow-hidden',\n className\n )}\n {...props}\n >\n {visibleActions.map((action) => (\n <ToolbarPrimitive.Button\n key={action.key}\n disabled={action.disabled}\n focusableWhenDisabled={!action.disabled}\n onClick={action.onSelect}\n render={<Button variant=\"ghost\">{action.label}</Button>}\n />\n ))}\n {hiddenActions.length > 0 && (\n <DropdownMenu\n open={menuOpen}\n onOpenChange={setMoreMenuOpen}\n disabled={ancestorDisabled}\n >\n <ToolbarPrimitive.Button\n render={\n <DropdownMenuTrigger\n render={\n <ButtonMenu variant=\"secondary\">\n {moreActionsLabel}\n </ButtonMenu>\n }\n />\n }\n />\n <DropdownMenuContent align=\"start\">\n {hiddenActions.map((action) => (\n <DropdownMenuItem\n key={action.key}\n disabled={action.disabled || ancestorDisabled}\n onClick={action.onSelect}\n >\n {action.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n )}\n <div\n aria-hidden\n inert\n className=\"pointer-events-none invisible absolute start-0 top-0 flex items-center gap-4\"\n >\n {actions.map((action) => (\n <Button\n key={action.key}\n ref={(el) => {\n itemRefs.current.set(action.key, el);\n }}\n variant=\"ghost\"\n tabIndex={-1}\n >\n {action.label}\n </Button>\n ))}\n <ButtonMenu ref={moreRef} variant=\"secondary\" tabIndex={-1}>\n {moreActionsLabel}\n </ButtonMenu>\n </div>\n </ToolbarPrimitive.Root>\n );\n }\n);\nToolbarActionList.displayName = 'ToolbarActionList';\n\nexport { Toolbar, ToolbarActions, ToolbarActionList };\n"],"mappings":"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"}