@12-apps/ui 6.97.1 → 6.98.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 (604) hide show
  1. package/components-catalog.md +1 -1
  2. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +3 -3
  3. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.parts.js +2 -2
  4. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +5 -5
  5. package/dist/_internal/components/data-display/Avatar/Avatar.js +5 -5
  6. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
  7. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +8 -8
  8. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +8 -8
  9. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +4 -4
  10. package/dist/_internal/components/data-display/Carousel/Carousel.js +6 -6
  11. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +3 -3
  12. package/dist/_internal/components/data-display/Chart/Chart.js +3 -3
  13. package/dist/_internal/components/data-display/Chart/SpecChart.js +7 -7
  14. package/dist/_internal/components/data-display/Chart/chart-renderers.js +2 -2
  15. package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
  16. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
  17. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +51 -51
  18. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +66 -66
  19. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +3 -3
  20. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +9 -9
  21. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +3 -3
  22. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +2 -2
  23. package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +2 -2
  24. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +2 -2
  25. package/dist/_internal/components/data-display/DataViews/base-list-card.js +4 -4
  26. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +11 -11
  27. package/dist/_internal/components/data-display/DataViews/data-views-day-input.js +1 -1
  28. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +1 -1
  29. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +32 -32
  30. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +6 -6
  31. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +48 -48
  32. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +31 -31
  33. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +29 -29
  34. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +30 -30
  35. package/dist/_internal/components/data-display/DataViews/data-views-preset-chips.js +3 -3
  36. package/dist/_internal/components/data-display/DataViews/data-views-range-bounds.js +15 -15
  37. package/dist/_internal/components/data-display/DataViews/data-views-range-calendar.js +12 -12
  38. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +18 -18
  39. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +10 -10
  40. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +16 -16
  41. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +9 -9
  42. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
  43. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +2 -2
  44. package/dist/_internal/components/data-display/DayRuler/DayRuler.js +7 -7
  45. package/dist/_internal/components/data-display/DayRuler/DayRuler.parts.js +2 -2
  46. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +2 -2
  47. package/dist/_internal/components/data-display/ErrorState/ErrorState.js +2 -2
  48. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +10 -10
  49. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +9 -9
  50. package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +2 -2
  51. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +12 -12
  52. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +3 -3
  53. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +2 -2
  54. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +3 -3
  55. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +2 -2
  56. package/dist/_internal/components/data-display/MapPreview/MapControlBar.js +4 -4
  57. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +6 -6
  58. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +4 -4
  59. package/dist/_internal/components/data-display/MapPreview/MapPreview.helpers.js +3 -3
  60. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +8 -8
  61. package/dist/_internal/components/data-display/RegionMap/RegionMap.js +5 -5
  62. package/dist/_internal/components/data-display/RegionMap/RegionMapDrawing.js +2 -2
  63. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.js +6 -6
  64. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.labels.js +2 -2
  65. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +4 -4
  66. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +3 -3
  67. package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
  68. package/dist/_internal/components/data-display/Sheet/Sheet.js +6 -6
  69. package/dist/_internal/components/data-display/Sheet/Sheet.parts.js +2 -2
  70. package/dist/_internal/components/data-display/Stepper/Stepper.js +2 -2
  71. package/dist/_internal/components/data-display/Table/Table.js +4 -4
  72. package/dist/_internal/components/data-display/Table/TableParts.hooks.js +2 -2
  73. package/dist/_internal/components/data-display/Table/TableParts.js +2 -2
  74. package/dist/_internal/components/data-display/Timeline/Timeline.js +2 -2
  75. package/dist/_internal/components/data-display/index.js +86 -86
  76. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +5 -5
  77. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +4 -4
  78. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +6 -6
  79. package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +5 -5
  80. package/dist/_internal/components/feedback/Dialog/Dialog.js +2 -2
  81. package/dist/_internal/components/feedback/Modal/Modal.js +2 -2
  82. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.frame.js +3 -3
  83. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +4 -4
  84. package/dist/_internal/components/feedback/Sonner/Sonner.js +2 -2
  85. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +4 -4
  86. package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +2 -2
  87. package/dist/_internal/components/feedback/Toast/Toast.js +2 -2
  88. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +2 -2
  89. package/dist/_internal/components/feedback/UsableModal/UsableModal.js +1 -1
  90. package/dist/_internal/components/feedback/UsableModal/UsableModal.modal.js +4 -4
  91. package/dist/_internal/components/feedback/UsableModal/UsableModal.sheet.js +6 -6
  92. package/dist/_internal/components/feedback/index.js +21 -21
  93. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +4 -4
  94. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +7 -7
  95. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +2 -2
  96. package/dist/_internal/components/form/Calendar/Calendar.band.js +1 -1
  97. package/dist/_internal/components/form/Calendar/Calendar.helpers.js +1 -1
  98. package/dist/_internal/components/form/Calendar/Calendar.hooks.js +1 -1
  99. package/dist/_internal/components/form/Calendar/Calendar.js +10 -10
  100. package/dist/_internal/components/form/Calendar/CalendarDay.js +2 -2
  101. package/dist/_internal/components/form/Calendar/CalendarDayCell.js +3 -3
  102. package/dist/_internal/components/form/Calendar/CalendarMonth.js +10 -6
  103. package/dist/_internal/components/form/Calendar/CalendarSelectorsMonth.js +6 -6
  104. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +2 -2
  105. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +4 -4
  106. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +3 -3
  107. package/dist/_internal/components/form/Command/Command.hooks.js +2 -2
  108. package/dist/_internal/components/form/Command/Command.js +4 -4
  109. package/dist/_internal/components/form/Command/Command.parts.js +2 -2
  110. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.frame.js +22 -0
  111. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.frame.js.map +1 -0
  112. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +4 -4
  113. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +20 -15
  114. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.layout.js +13 -0
  115. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.layout.js.map +1 -0
  116. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +3 -3
  117. package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +4 -4
  118. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.dom.js +2 -2
  119. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.format.js +3 -3
  120. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.hooks.js +4 -4
  121. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +5 -5
  122. package/dist/_internal/components/form/index.js +37 -34
  123. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +5 -5
  124. package/dist/_internal/components/form/total-form/Fields/index.js +6 -6
  125. package/dist/_internal/components/form/total-form/FormErrorSnackbar.js +3 -3
  126. package/dist/_internal/components/index.js +164 -162
  127. package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +2 -2
  128. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +3 -3
  129. package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +2 -2
  130. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +2 -2
  131. package/dist/_internal/components/layout/Dashboard/Dashboard.js +2 -2
  132. package/dist/_internal/components/layout/Drawer/Drawer.js +2 -2
  133. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +2 -2
  134. package/dist/_internal/components/layout/TableFilter/TableFilter.js +2 -2
  135. package/dist/_internal/components/layout/index.js +9 -9
  136. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +8 -8
  137. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +2 -2
  138. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +2 -2
  139. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +3 -3
  140. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +2 -2
  141. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +4 -4
  142. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +5 -5
  143. package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +3 -3
  144. package/dist/_internal/components/navigation/Tabs/Tabs.js +1 -1
  145. package/dist/_internal/components/navigation/index.js +18 -18
  146. package/dist/_internal/components/typography/Code/Code.js +2 -2
  147. package/dist/_internal/components/typography/index.js +2 -2
  148. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +2 -2
  149. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.js +3 -3
  150. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.parts.js +2 -2
  151. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +2 -2
  152. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +5 -5
  153. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +3 -3
  154. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +4 -4
  155. package/dist/_internal/components/utility/index.js +8 -8
  156. package/dist/_internal/en-US.data-display.js +2 -2
  157. package/dist/_internal/en-US.labels.js +1 -1
  158. package/dist/_internal/pt-BR.data-display.js +2 -2
  159. package/dist/_internal/pt-BR.labels.js +1 -1
  160. package/dist/_internal/social-login-button/social-login-button.js +2 -2
  161. package/dist/_internal/user-avatar/user-avatar.js +6 -6
  162. package/dist/charts.js +17 -17
  163. package/dist/{chunk-UBVKMM3V.js → chunk-2A5GHOL3.js} +2 -2
  164. package/dist/{chunk-YGLAGY74.js → chunk-332KWE5H.js} +2 -2
  165. package/dist/{chunk-HNEZWVDR.js → chunk-364NT46L.js} +3 -3
  166. package/dist/{chunk-RLTGD5WJ.js → chunk-3AKQHYTM.js} +4 -4
  167. package/dist/{chunk-5I75WRXT.js → chunk-3CXRHRGE.js} +7 -7
  168. package/dist/{chunk-G6NMSBSQ.js → chunk-3LD42RNV.js} +2 -2
  169. package/dist/{chunk-3BMG6VMB.js → chunk-3N2HWNKT.js} +2 -2
  170. package/dist/{chunk-MSJP2AEN.js → chunk-3N3W4TID.js} +2 -2
  171. package/dist/{chunk-H2UUMZQR.js → chunk-3PWDVJWD.js} +2 -1
  172. package/dist/chunk-3PWDVJWD.js.map +1 -0
  173. package/dist/{chunk-YNVTUQ5B.js → chunk-3V7OTBUZ.js} +2 -2
  174. package/dist/{chunk-LZNUBQ5I.js → chunk-4A454JZN.js} +2 -2
  175. package/dist/{chunk-TPMT3J32.js → chunk-4I2SDWSF.js} +2 -1
  176. package/dist/chunk-4I2SDWSF.js.map +1 -0
  177. package/dist/{chunk-SW7JCF4Z.js → chunk-4P63RSSY.js} +2 -2
  178. package/dist/{chunk-7QKFMMWK.js → chunk-4W4C4Q46.js} +2 -2
  179. package/dist/{chunk-B32XH7NK.js → chunk-4WVUX7IU.js} +3 -3
  180. package/dist/{chunk-Z6QFIRD7.js → chunk-4X2TOMK6.js} +7 -7
  181. package/dist/{chunk-MYTV353T.js → chunk-4Y3QLISA.js} +2 -2
  182. package/dist/{chunk-IMYKJTVX.js → chunk-5J6LN2O7.js} +2 -2
  183. package/dist/{chunk-QWI7IPYJ.js → chunk-5V7IZBRY.js} +4 -4
  184. package/dist/{chunk-ZBUMGMWP.js → chunk-64LNNC54.js} +4 -4
  185. package/dist/{chunk-T77OVQEO.js → chunk-6D7CASMK.js} +2 -2
  186. package/dist/{chunk-YVDNCV2D.js → chunk-6RYSSNOO.js} +3 -3
  187. package/dist/{chunk-CPQJFHNZ.js → chunk-74IH3ZGD.js} +2 -2
  188. package/dist/{chunk-UQ5GJPVZ.js → chunk-76GAXLNC.js} +3 -3
  189. package/dist/{chunk-X4J576GR.js → chunk-7LFST3PW.js} +2 -2
  190. package/dist/{chunk-XCUHGPPZ.js → chunk-7MLT66DE.js} +2 -2
  191. package/dist/{chunk-EOIRU62W.js → chunk-7P544IWT.js} +3 -3
  192. package/dist/{chunk-XTYBJAZG.js → chunk-7TENMQNQ.js} +7 -7
  193. package/dist/{chunk-EB25XITI.js → chunk-A27J4CIZ.js} +10 -10
  194. package/dist/{chunk-2KSFBZ2H.js → chunk-ABZJNKR6.js} +2 -2
  195. package/dist/{chunk-6LOWZCH7.js → chunk-AHXQN4VL.js} +2 -2
  196. package/dist/{chunk-Y7BOP7VZ.js → chunk-AP7GEUJS.js} +2 -2
  197. package/dist/{chunk-U2SAW6DH.js → chunk-B4OZU7J4.js} +7 -7
  198. package/dist/{chunk-DDGYTY4E.js → chunk-BIHZXB5P.js} +4 -4
  199. package/dist/{chunk-4QGMUHAU.js → chunk-BWNZVMBT.js} +2 -2
  200. package/dist/{chunk-CY4XIZNW.js → chunk-CAH5XNHT.js} +2 -2
  201. package/dist/{chunk-KILA7LCC.js → chunk-CFDWKQZT.js} +4 -4
  202. package/dist/{chunk-EWFBDAB7.js → chunk-CKGRSCRT.js} +2 -2
  203. package/dist/{chunk-YOLLISEY.js → chunk-CRD2WCU7.js} +9 -9
  204. package/dist/{chunk-L5KPBMMF.js → chunk-CXL3TT3K.js} +2 -2
  205. package/dist/{chunk-KOGJBAFI.js → chunk-D3KLIC5N.js} +2 -2
  206. package/dist/{chunk-2SBQ47RI.js → chunk-D4JL5725.js} +3 -3
  207. package/dist/{chunk-NI3MC742.js → chunk-DBJLYURK.js} +2 -2
  208. package/dist/{chunk-75GAQL2Q.js → chunk-DKPELKGL.js} +12 -12
  209. package/dist/{chunk-NGXL4R54.js → chunk-E4MJA52O.js} +4 -4
  210. package/dist/{chunk-QSOCOXVL.js → chunk-EASEJDBQ.js} +13 -8
  211. package/dist/chunk-EASEJDBQ.js.map +1 -0
  212. package/dist/{chunk-5HXVXW22.js → chunk-EGBQR5GH.js} +5 -5
  213. package/dist/{chunk-FTYOCFTV.js → chunk-EGYJUJMR.js} +2 -2
  214. package/dist/{chunk-7XSCEHGA.js → chunk-EOQ6EKTS.js} +7 -7
  215. package/dist/{chunk-6AKDAQSS.js → chunk-ERAMSYPR.js} +2 -2
  216. package/dist/{chunk-WYRH6OSN.js → chunk-F5EH5BJN.js} +2 -2
  217. package/dist/{chunk-HBRBIPNF.js → chunk-F7JRQ2EI.js} +6 -6
  218. package/dist/chunk-F7JRQ2EI.js.map +1 -0
  219. package/dist/{chunk-QCYQL3ST.js → chunk-FJLPVPRG.js} +2 -2
  220. package/dist/{chunk-MAHY7PK3.js → chunk-FQMLTCXT.js} +4 -4
  221. package/dist/{chunk-TMINUTQQ.js → chunk-FRQGZIYU.js} +2 -2
  222. package/dist/{chunk-LV6AD6XC.js → chunk-FT3LJZWZ.js} +2 -2
  223. package/dist/{chunk-IS3L67TF.js → chunk-FW5GTAUY.js} +6 -6
  224. package/dist/{chunk-VMTOLAZ5.js → chunk-FZZMNKVF.js} +5 -5
  225. package/dist/{chunk-FGZIEZEP.js → chunk-G6TKWNF2.js} +4 -4
  226. package/dist/{chunk-I6IFUFLW.js → chunk-G7MHDZTL.js} +2 -2
  227. package/dist/{chunk-KES3HNSU.js → chunk-GB2DQOZ7.js} +2 -2
  228. package/dist/{chunk-W3IFJA35.js → chunk-GFYDOH7D.js} +3 -3
  229. package/dist/{chunk-M2M4IDFU.js → chunk-GXYOBTOY.js} +2 -2
  230. package/dist/{chunk-OLHAUGVQ.js → chunk-GZQQSTKR.js} +2 -2
  231. package/dist/{chunk-N2J24TJ3.js → chunk-HAWOS4SF.js} +2 -2
  232. package/dist/{chunk-S2VZUBM7.js → chunk-HCTHY66U.js} +6 -6
  233. package/dist/{chunk-ABVIMFSD.js → chunk-HG52QQ2L.js} +2 -2
  234. package/dist/{chunk-AMLHEKSV.js → chunk-HI7JPDD6.js} +5 -5
  235. package/dist/{chunk-F5OERPU4.js → chunk-HOWAMSUY.js} +6 -6
  236. package/dist/{chunk-3TZUZXY5.js → chunk-HTXYBKLK.js} +2 -2
  237. package/dist/{chunk-WW3F7DCX.js → chunk-IFOHCY4O.js} +2 -2
  238. package/dist/{chunk-S46LGAQ2.js → chunk-IJVBLU25.js} +2 -2
  239. package/dist/{chunk-ARGVUTTL.js → chunk-IPVGWENM.js} +2 -2
  240. package/dist/{chunk-MPWA55CF.js → chunk-IXXB7CTR.js} +9 -5
  241. package/dist/chunk-IXXB7CTR.js.map +1 -0
  242. package/dist/{chunk-MWXZXCVX.js → chunk-J43PARXM.js} +6 -6
  243. package/dist/{chunk-UYKIUUWP.js → chunk-JJTJ7DCV.js} +2 -2
  244. package/dist/{chunk-HQCZT6TO.js → chunk-JVOEVTCZ.js} +5 -5
  245. package/dist/{chunk-RZ3P4X2I.js → chunk-K62L5JFC.js} +25 -4
  246. package/dist/chunk-K62L5JFC.js.map +1 -0
  247. package/dist/{chunk-2365CQJU.js → chunk-KAQDWEG6.js} +2 -2
  248. package/dist/{chunk-TB5CRHTF.js → chunk-KEPLO2AB.js} +2 -2
  249. package/dist/chunk-KNW63H63.js +263 -0
  250. package/dist/chunk-KNW63H63.js.map +1 -0
  251. package/dist/{chunk-PVIQDBUN.js → chunk-KUQ4XHVV.js} +2 -2
  252. package/dist/{chunk-DAFFZED3.js → chunk-KWBMM6MJ.js} +2 -2
  253. package/dist/{chunk-QPCHABOZ.js → chunk-L5YGVLPH.js} +8 -4
  254. package/dist/chunk-L5YGVLPH.js.map +1 -0
  255. package/dist/{chunk-JJYECKEL.js → chunk-LFECE4R7.js} +2 -2
  256. package/dist/{chunk-LXIPBHNJ.js → chunk-LKTJ26ST.js} +2 -2
  257. package/dist/{chunk-56JF5PZK.js → chunk-LYVTJLCF.js} +4 -4
  258. package/dist/{chunk-EYFDIUVR.js → chunk-M4G4LRQK.js} +2 -2
  259. package/dist/{chunk-TJUWSQYQ.js → chunk-MDU5Q2HW.js} +3 -2
  260. package/dist/{chunk-TJUWSQYQ.js.map → chunk-MDU5Q2HW.js.map} +1 -1
  261. package/dist/{chunk-KMMFN24G.js → chunk-MKHNLRVX.js} +4 -4
  262. package/dist/{chunk-4IG73U2X.js → chunk-MSPLIRBH.js} +2 -2
  263. package/dist/{chunk-55MYYWOV.js → chunk-O4UXH7BM.js} +7 -7
  264. package/dist/{chunk-DYHOBKPU.js → chunk-OA6T2ME3.js} +5 -5
  265. package/dist/{chunk-VNMD6BA4.js → chunk-OFRQMFWD.js} +3 -3
  266. package/dist/{chunk-LTJC7TGB.js → chunk-OHA2PAAA.js} +2 -2
  267. package/dist/{chunk-ZANWHTXH.js → chunk-OVJV2ZN7.js} +2 -2
  268. package/dist/{chunk-SKQPUAMK.js → chunk-PDWQJFMK.js} +6 -6
  269. package/dist/{chunk-6EZQLNPK.js → chunk-PGJIWCQR.js} +4 -4
  270. package/dist/{chunk-FRAFGRRD.js → chunk-PIELY4BJ.js} +1 -1
  271. package/dist/{chunk-3Z6JX7UN.js → chunk-PZJEF232.js} +2 -2
  272. package/dist/{chunk-6ATXOJVQ.js → chunk-QADTI63U.js} +4 -4
  273. package/dist/chunk-QAF76E6U.js +43 -0
  274. package/dist/chunk-QAF76E6U.js.map +1 -0
  275. package/dist/{chunk-4RF4BALN.js → chunk-R775ISK6.js} +4 -4
  276. package/dist/{chunk-YBAK2WN5.js → chunk-RFMQBIE6.js} +4 -4
  277. package/dist/{chunk-43EFQ3DU.js → chunk-RVBLOR32.js} +2 -2
  278. package/dist/{chunk-XNAI7QGU.js → chunk-SA3KLZDZ.js} +5 -5
  279. package/dist/{chunk-CAOL4AIB.js → chunk-SARK3GHS.js} +2 -2
  280. package/dist/chunk-SIY64A6O.js +60 -0
  281. package/dist/chunk-SIY64A6O.js.map +1 -0
  282. package/dist/{chunk-CQOJUYTT.js → chunk-SOXO2VN3.js} +3 -3
  283. package/dist/{chunk-6PU5P7QT.js → chunk-TDXEWGY2.js} +2 -2
  284. package/dist/{chunk-SB2SEGR6.js → chunk-TIM4PXWN.js} +3 -3
  285. package/dist/{chunk-OGSTMHT6.js → chunk-TTBLQZVT.js} +3 -3
  286. package/dist/{chunk-GTE4TW3W.js → chunk-U4PV2ZKK.js} +6 -6
  287. package/dist/{chunk-VHE7UEG5.js → chunk-UC7DLGMP.js} +2 -2
  288. package/dist/{chunk-TI4FGQYV.js → chunk-UHLGJHTD.js} +2 -2
  289. package/dist/{chunk-TAHO2LCU.js → chunk-UIZIEU4X.js} +3 -3
  290. package/dist/{chunk-F7LBTMCA.js → chunk-ULC4SCFC.js} +2 -2
  291. package/dist/{chunk-FORQEHRQ.js → chunk-UXVWGNPG.js} +2 -2
  292. package/dist/{chunk-3ZRK3BRN.js → chunk-UXYCBPCE.js} +12 -6
  293. package/dist/chunk-UXYCBPCE.js.map +1 -0
  294. package/dist/{chunk-L6YTVXGN.js → chunk-VCYYL23C.js} +4 -2
  295. package/dist/{chunk-L6YTVXGN.js.map → chunk-VCYYL23C.js.map} +1 -1
  296. package/dist/{chunk-KF3Q3C3P.js → chunk-VGIBWJ72.js} +2 -2
  297. package/dist/{chunk-I54YFYBS.js → chunk-VMACQT3T.js} +3 -3
  298. package/dist/{chunk-XOXXG7Q5.js → chunk-VWKMN3ZZ.js} +3 -2
  299. package/dist/{chunk-XOXXG7Q5.js.map → chunk-VWKMN3ZZ.js.map} +1 -1
  300. package/dist/{chunk-EXEBN5ZP.js → chunk-W56KN53D.js} +8 -8
  301. package/dist/{chunk-KURE5R7Z.js → chunk-WGK7VNCO.js} +2 -2
  302. package/dist/{chunk-UIS3E72B.js → chunk-WK577LQL.js} +3 -3
  303. package/dist/{chunk-G3WG77QY.js → chunk-WN6LR4HX.js} +21 -6
  304. package/dist/chunk-WN6LR4HX.js.map +1 -0
  305. package/dist/{chunk-LLPPIO3K.js → chunk-WNTXHLVJ.js} +2 -2
  306. package/dist/{chunk-PEVBSNCD.js → chunk-WPRQPKLV.js} +2 -2
  307. package/dist/{chunk-C347NNZJ.js → chunk-WVCHMTPG.js} +2 -2
  308. package/dist/{chunk-CSD6SWBZ.js → chunk-WYNGH2WL.js} +6 -6
  309. package/dist/{chunk-4L54KUZV.js → chunk-X5GCAXZS.js} +38 -16
  310. package/dist/chunk-X5GCAXZS.js.map +1 -0
  311. package/dist/{chunk-PJDAZG65.js → chunk-XA5ES25V.js} +3 -3
  312. package/dist/{chunk-FWTVIRZZ.js → chunk-YLZXIR6B.js} +4 -4
  313. package/dist/{chunk-STOZ6JB5.js → chunk-YQMJJ7AL.js} +33 -16
  314. package/dist/chunk-YQMJJ7AL.js.map +1 -0
  315. package/dist/{chunk-JOQGKXR5.js → chunk-Z2J4MRTF.js} +4 -4
  316. package/dist/{chunk-I4K5JMS4.js → chunk-ZDLC4BN4.js} +4 -2
  317. package/dist/chunk-ZDLC4BN4.js.map +1 -0
  318. package/dist/{chunk-USHVG4UQ.js → chunk-ZKVSFVIA.js} +3 -3
  319. package/dist/{chunk-TE6HAWDM.js → chunk-ZP2GPRNQ.js} +2 -2
  320. package/dist/{chunk-3PQL2EN5.js → chunk-ZW7Q3IRL.js} +6 -6
  321. package/dist/{chunk-M5Y42AZ4.js → chunk-ZX4ORMBC.js} +2 -2
  322. package/dist/data-display/AlertDialog.js +3 -3
  323. package/dist/data-display/AsyncStateContainer.js +5 -5
  324. package/dist/data-display/Avatar.js +5 -5
  325. package/dist/data-display/CardKit.js +12 -12
  326. package/dist/data-display/Carousel.js +6 -6
  327. package/dist/data-display/Chart.js +17 -17
  328. package/dist/data-display/DataGrid.js +2 -2
  329. package/dist/data-display/DataViews.js +72 -72
  330. package/dist/data-display/DayRuler.js +11 -11
  331. package/dist/data-display/EmptyState.js +2 -2
  332. package/dist/data-display/ErrorState.js +2 -2
  333. package/dist/data-display/FleetMap.js +12 -12
  334. package/dist/data-display/HoverCard.js +3 -3
  335. package/dist/data-display/LazyImage.js +2 -2
  336. package/dist/data-display/Lightbox.js +3 -3
  337. package/dist/data-display/LoadingState.js +2 -2
  338. package/dist/data-display/MapPreview.js +8 -8
  339. package/dist/data-display/RegionMap.js +5 -5
  340. package/dist/data-display/ScheduleGrid.js +10 -10
  341. package/dist/data-display/SectionOnboarding.js +4 -4
  342. package/dist/data-display/Sheet.js +6 -6
  343. package/dist/data-display/Stepper.js +2 -2
  344. package/dist/data-display/Table.js +4 -4
  345. package/dist/data-display/Timeline.js +2 -2
  346. package/dist/en-US.js +2 -2
  347. package/dist/feedback/ConfirmAction.js +9 -9
  348. package/dist/feedback/Dialog.js +2 -2
  349. package/dist/feedback/Modal.js +2 -2
  350. package/dist/feedback/SequenceResolver.js +4 -4
  351. package/dist/feedback/Sonner.js +2 -2
  352. package/dist/feedback/StackedModal.js +4 -4
  353. package/dist/feedback/Toast.js +2 -2
  354. package/dist/feedback/TutorialOverlay.js +2 -2
  355. package/dist/feedback/UsableModal.js +1 -1
  356. package/dist/form/AddressAutocomplete.js +7 -7
  357. package/dist/form/Autocomplete.js +2 -2
  358. package/dist/form/Calendar.js +10 -10
  359. package/dist/form/CategorySelect.js +4 -4
  360. package/dist/form/CodeEditor.js +3 -3
  361. package/dist/form/Command.js +4 -4
  362. package/dist/form/DateRangePicker.js +20 -15
  363. package/dist/form/RichTextEditor.js +5 -5
  364. package/dist/form/total-form.js +9 -9
  365. package/dist/layout/ContentToolbar.js +6 -6
  366. package/dist/layout/Dashboard.js +2 -2
  367. package/dist/layout/Drawer.js +2 -2
  368. package/dist/layout/SettingsLayout.js +2 -2
  369. package/dist/layout/TableFilter.js +2 -2
  370. package/dist/locales.js +4 -4
  371. package/dist/native/chunks/{chunk-QHW7JEPZ.js → chunk-O76COY56.js} +3 -2
  372. package/dist/native/chunks/{chunk-QHW7JEPZ.js.map → chunk-O76COY56.js.map} +1 -1
  373. package/dist/native/chunks/{chunk-FXA5DLKR.js → chunk-UQ272RI2.js} +3 -3
  374. package/dist/native/chunks/{chunk-IN3XZ7EK.js → chunk-X65TVC3B.js} +2 -2
  375. package/dist/native/data-display/Avatar.js +1 -1
  376. package/dist/native/data-display/Badge.js +1 -1
  377. package/dist/native/data-display/Chip.js +1 -1
  378. package/dist/native/data-display/EmptyState.js +3 -3
  379. package/dist/native/data-display/ErrorState.js +2 -2
  380. package/dist/native/data-display/FleetMap.js +3 -3
  381. package/dist/native/data-display/LoadingState.js +1 -1
  382. package/dist/native/feedback/Dialog.js +1 -1
  383. package/dist/native/form/Button.js +2 -2
  384. package/dist/native/form/Checkbox.js +1 -1
  385. package/dist/native/form/Input.js +1 -1
  386. package/dist/native/form/Switch.js +1 -1
  387. package/dist/navigation/AppHeader.js +10 -10
  388. package/dist/navigation/Breadcrumbs.js +2 -2
  389. package/dist/navigation/NavigationMenu.js +3 -3
  390. package/dist/navigation/SectionNav.js +5 -5
  391. package/dist/navigation/Tabs.js +1 -1
  392. package/dist/pt-BR.js +2 -2
  393. package/dist/social-login-button.js +2 -2
  394. package/dist/types/components/data-display/DataViews/data-views-day-input.d.ts +3 -1
  395. package/dist/types/components/data-display/DataViews/data-views-day-input.d.ts.map +1 -1
  396. package/dist/types/components/form/Calendar/Calendar.band.d.ts.map +1 -1
  397. package/dist/types/components/form/Calendar/Calendar.d.ts.map +1 -1
  398. package/dist/types/components/form/Calendar/Calendar.helpers.d.ts.map +1 -1
  399. package/dist/types/components/form/Calendar/Calendar.hooks.d.ts.map +1 -1
  400. package/dist/types/components/form/Calendar/Calendar.types.d.ts +24 -1
  401. package/dist/types/components/form/Calendar/Calendar.types.d.ts.map +1 -1
  402. package/dist/types/components/form/Calendar/CalendarDay.d.ts +6 -0
  403. package/dist/types/components/form/Calendar/CalendarDay.d.ts.map +1 -1
  404. package/dist/types/components/form/Calendar/CalendarDayCell.d.ts +11 -1
  405. package/dist/types/components/form/Calendar/CalendarDayCell.d.ts.map +1 -1
  406. package/dist/types/components/form/Calendar/CalendarMonth.d.ts +22 -0
  407. package/dist/types/components/form/Calendar/CalendarMonth.d.ts.map +1 -1
  408. package/dist/types/components/form/Calendar/index.d.ts +1 -1
  409. package/dist/types/components/form/Calendar/index.d.ts.map +1 -1
  410. package/dist/types/components/form/DateRangePicker/DateRangePicker.d.ts +1 -1
  411. package/dist/types/components/form/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  412. package/dist/types/components/form/DateRangePicker/DateRangePicker.frame.d.ts +93 -0
  413. package/dist/types/components/form/DateRangePicker/DateRangePicker.frame.d.ts.map +1 -0
  414. package/dist/types/components/form/DateRangePicker/DateRangePicker.hooks.d.ts +1 -1
  415. package/dist/types/components/form/DateRangePicker/DateRangePicker.hooks.d.ts.map +1 -1
  416. package/dist/types/components/form/DateRangePicker/DateRangePicker.layout.d.ts +27 -0
  417. package/dist/types/components/form/DateRangePicker/DateRangePicker.layout.d.ts.map +1 -0
  418. package/dist/types/components/form/DateRangePicker/DateRangePicker.range.d.ts +8 -2
  419. package/dist/types/components/form/DateRangePicker/DateRangePicker.range.d.ts.map +1 -1
  420. package/dist/types/components/form/DateRangePicker/DateRangePicker.types.d.ts +90 -1
  421. package/dist/types/components/form/DateRangePicker/DateRangePicker.types.d.ts.map +1 -1
  422. package/dist/types/components/form/DateRangePicker/DateRangePickerFields.d.ts +7 -1
  423. package/dist/types/components/form/DateRangePicker/DateRangePickerFields.d.ts.map +1 -1
  424. package/dist/types/components/navigation/Tabs/Tabs.d.ts.map +1 -1
  425. package/dist/types/components/navigation/Tabs/Tabs.types.d.ts +18 -3
  426. package/dist/types/components/navigation/Tabs/Tabs.types.d.ts.map +1 -1
  427. package/dist/types/copy/labels.d.ts +6 -0
  428. package/dist/types/copy/labels.d.ts.map +1 -1
  429. package/dist/types/en-US.labels.d.ts.map +1 -1
  430. package/dist/types/pt-BR.labels.d.ts.map +1 -1
  431. package/dist/types-native/copy/labels.d.ts +6 -0
  432. package/dist/types-native/copy/labels.d.ts.map +1 -1
  433. package/dist/types-native/en-US.labels.d.ts.map +1 -1
  434. package/dist/typography/Code.js +2 -2
  435. package/dist/user-avatar.js +6 -6
  436. package/dist/utility/AnimatedIcon.js +2 -2
  437. package/dist/utility/InfiniteScroll.js +3 -3
  438. package/dist/utility/WorkflowStep.js +5 -5
  439. package/package.json +1 -1
  440. package/src/components/data-display/DataViews/data-views-day-input.tsx +4 -0
  441. package/src/components/form/Calendar/Calendar.band.ts +3 -0
  442. package/src/components/form/Calendar/Calendar.helpers.ts +2 -0
  443. package/src/components/form/Calendar/Calendar.hooks.ts +4 -2
  444. package/src/components/form/Calendar/Calendar.md +12 -1
  445. package/src/components/form/Calendar/Calendar.tsx +30 -10
  446. package/src/components/form/Calendar/Calendar.types.ts +27 -1
  447. package/src/components/form/Calendar/CalendarDay.tsx +85 -13
  448. package/src/components/form/Calendar/CalendarDayCell.tsx +17 -1
  449. package/src/components/form/Calendar/CalendarMonth.tsx +40 -4
  450. package/src/components/form/Calendar/CalendarSelectorsMonth.tsx +2 -2
  451. package/src/components/form/Calendar/index.ts +1 -0
  452. package/src/components/form/DateRangePicker/DateRangePicker.frame.ts +92 -0
  453. package/src/components/form/DateRangePicker/DateRangePicker.hooks.ts +43 -1
  454. package/src/components/form/DateRangePicker/DateRangePicker.layout.ts +69 -0
  455. package/src/components/form/DateRangePicker/DateRangePicker.md +77 -2
  456. package/src/components/form/DateRangePicker/DateRangePicker.range.ts +10 -2
  457. package/src/components/form/DateRangePicker/DateRangePicker.tsx +177 -57
  458. package/src/components/form/DateRangePicker/DateRangePicker.types.ts +88 -1
  459. package/src/components/form/DateRangePicker/DateRangePickerFields.tsx +13 -2
  460. package/src/components/navigation/Tabs/Tabs.md +22 -1
  461. package/src/components/navigation/Tabs/Tabs.tsx +25 -9
  462. package/src/components/navigation/Tabs/Tabs.types.ts +18 -2
  463. package/src/copy/labels.ts +6 -0
  464. package/src/en-US.labels.ts +1 -0
  465. package/src/pt-BR.labels.ts +1 -0
  466. package/dist/chunk-3CSKB57B.js +0 -184
  467. package/dist/chunk-3CSKB57B.js.map +0 -1
  468. package/dist/chunk-3ZRK3BRN.js.map +0 -1
  469. package/dist/chunk-4L54KUZV.js.map +0 -1
  470. package/dist/chunk-G3WG77QY.js.map +0 -1
  471. package/dist/chunk-H2UUMZQR.js.map +0 -1
  472. package/dist/chunk-HBRBIPNF.js.map +0 -1
  473. package/dist/chunk-I4K5JMS4.js.map +0 -1
  474. package/dist/chunk-MPWA55CF.js.map +0 -1
  475. package/dist/chunk-QPCHABOZ.js.map +0 -1
  476. package/dist/chunk-QSOCOXVL.js.map +0 -1
  477. package/dist/chunk-RZ3P4X2I.js.map +0 -1
  478. package/dist/chunk-STOZ6JB5.js.map +0 -1
  479. package/dist/chunk-TPMT3J32.js.map +0 -1
  480. /package/dist/{chunk-UBVKMM3V.js.map → chunk-2A5GHOL3.js.map} +0 -0
  481. /package/dist/{chunk-YGLAGY74.js.map → chunk-332KWE5H.js.map} +0 -0
  482. /package/dist/{chunk-HNEZWVDR.js.map → chunk-364NT46L.js.map} +0 -0
  483. /package/dist/{chunk-RLTGD5WJ.js.map → chunk-3AKQHYTM.js.map} +0 -0
  484. /package/dist/{chunk-5I75WRXT.js.map → chunk-3CXRHRGE.js.map} +0 -0
  485. /package/dist/{chunk-G6NMSBSQ.js.map → chunk-3LD42RNV.js.map} +0 -0
  486. /package/dist/{chunk-3BMG6VMB.js.map → chunk-3N2HWNKT.js.map} +0 -0
  487. /package/dist/{chunk-MSJP2AEN.js.map → chunk-3N3W4TID.js.map} +0 -0
  488. /package/dist/{chunk-YNVTUQ5B.js.map → chunk-3V7OTBUZ.js.map} +0 -0
  489. /package/dist/{chunk-LZNUBQ5I.js.map → chunk-4A454JZN.js.map} +0 -0
  490. /package/dist/{chunk-SW7JCF4Z.js.map → chunk-4P63RSSY.js.map} +0 -0
  491. /package/dist/{chunk-7QKFMMWK.js.map → chunk-4W4C4Q46.js.map} +0 -0
  492. /package/dist/{chunk-B32XH7NK.js.map → chunk-4WVUX7IU.js.map} +0 -0
  493. /package/dist/{chunk-Z6QFIRD7.js.map → chunk-4X2TOMK6.js.map} +0 -0
  494. /package/dist/{chunk-MYTV353T.js.map → chunk-4Y3QLISA.js.map} +0 -0
  495. /package/dist/{chunk-IMYKJTVX.js.map → chunk-5J6LN2O7.js.map} +0 -0
  496. /package/dist/{chunk-QWI7IPYJ.js.map → chunk-5V7IZBRY.js.map} +0 -0
  497. /package/dist/{chunk-ZBUMGMWP.js.map → chunk-64LNNC54.js.map} +0 -0
  498. /package/dist/{chunk-T77OVQEO.js.map → chunk-6D7CASMK.js.map} +0 -0
  499. /package/dist/{chunk-YVDNCV2D.js.map → chunk-6RYSSNOO.js.map} +0 -0
  500. /package/dist/{chunk-CPQJFHNZ.js.map → chunk-74IH3ZGD.js.map} +0 -0
  501. /package/dist/{chunk-UQ5GJPVZ.js.map → chunk-76GAXLNC.js.map} +0 -0
  502. /package/dist/{chunk-X4J576GR.js.map → chunk-7LFST3PW.js.map} +0 -0
  503. /package/dist/{chunk-XCUHGPPZ.js.map → chunk-7MLT66DE.js.map} +0 -0
  504. /package/dist/{chunk-EOIRU62W.js.map → chunk-7P544IWT.js.map} +0 -0
  505. /package/dist/{chunk-XTYBJAZG.js.map → chunk-7TENMQNQ.js.map} +0 -0
  506. /package/dist/{chunk-EB25XITI.js.map → chunk-A27J4CIZ.js.map} +0 -0
  507. /package/dist/{chunk-2KSFBZ2H.js.map → chunk-ABZJNKR6.js.map} +0 -0
  508. /package/dist/{chunk-6LOWZCH7.js.map → chunk-AHXQN4VL.js.map} +0 -0
  509. /package/dist/{chunk-Y7BOP7VZ.js.map → chunk-AP7GEUJS.js.map} +0 -0
  510. /package/dist/{chunk-U2SAW6DH.js.map → chunk-B4OZU7J4.js.map} +0 -0
  511. /package/dist/{chunk-DDGYTY4E.js.map → chunk-BIHZXB5P.js.map} +0 -0
  512. /package/dist/{chunk-4QGMUHAU.js.map → chunk-BWNZVMBT.js.map} +0 -0
  513. /package/dist/{chunk-CY4XIZNW.js.map → chunk-CAH5XNHT.js.map} +0 -0
  514. /package/dist/{chunk-KILA7LCC.js.map → chunk-CFDWKQZT.js.map} +0 -0
  515. /package/dist/{chunk-EWFBDAB7.js.map → chunk-CKGRSCRT.js.map} +0 -0
  516. /package/dist/{chunk-YOLLISEY.js.map → chunk-CRD2WCU7.js.map} +0 -0
  517. /package/dist/{chunk-L5KPBMMF.js.map → chunk-CXL3TT3K.js.map} +0 -0
  518. /package/dist/{chunk-KOGJBAFI.js.map → chunk-D3KLIC5N.js.map} +0 -0
  519. /package/dist/{chunk-2SBQ47RI.js.map → chunk-D4JL5725.js.map} +0 -0
  520. /package/dist/{chunk-NI3MC742.js.map → chunk-DBJLYURK.js.map} +0 -0
  521. /package/dist/{chunk-75GAQL2Q.js.map → chunk-DKPELKGL.js.map} +0 -0
  522. /package/dist/{chunk-NGXL4R54.js.map → chunk-E4MJA52O.js.map} +0 -0
  523. /package/dist/{chunk-5HXVXW22.js.map → chunk-EGBQR5GH.js.map} +0 -0
  524. /package/dist/{chunk-FTYOCFTV.js.map → chunk-EGYJUJMR.js.map} +0 -0
  525. /package/dist/{chunk-7XSCEHGA.js.map → chunk-EOQ6EKTS.js.map} +0 -0
  526. /package/dist/{chunk-6AKDAQSS.js.map → chunk-ERAMSYPR.js.map} +0 -0
  527. /package/dist/{chunk-WYRH6OSN.js.map → chunk-F5EH5BJN.js.map} +0 -0
  528. /package/dist/{chunk-QCYQL3ST.js.map → chunk-FJLPVPRG.js.map} +0 -0
  529. /package/dist/{chunk-MAHY7PK3.js.map → chunk-FQMLTCXT.js.map} +0 -0
  530. /package/dist/{chunk-TMINUTQQ.js.map → chunk-FRQGZIYU.js.map} +0 -0
  531. /package/dist/{chunk-LV6AD6XC.js.map → chunk-FT3LJZWZ.js.map} +0 -0
  532. /package/dist/{chunk-IS3L67TF.js.map → chunk-FW5GTAUY.js.map} +0 -0
  533. /package/dist/{chunk-VMTOLAZ5.js.map → chunk-FZZMNKVF.js.map} +0 -0
  534. /package/dist/{chunk-FGZIEZEP.js.map → chunk-G6TKWNF2.js.map} +0 -0
  535. /package/dist/{chunk-I6IFUFLW.js.map → chunk-G7MHDZTL.js.map} +0 -0
  536. /package/dist/{chunk-KES3HNSU.js.map → chunk-GB2DQOZ7.js.map} +0 -0
  537. /package/dist/{chunk-W3IFJA35.js.map → chunk-GFYDOH7D.js.map} +0 -0
  538. /package/dist/{chunk-M2M4IDFU.js.map → chunk-GXYOBTOY.js.map} +0 -0
  539. /package/dist/{chunk-OLHAUGVQ.js.map → chunk-GZQQSTKR.js.map} +0 -0
  540. /package/dist/{chunk-N2J24TJ3.js.map → chunk-HAWOS4SF.js.map} +0 -0
  541. /package/dist/{chunk-S2VZUBM7.js.map → chunk-HCTHY66U.js.map} +0 -0
  542. /package/dist/{chunk-ABVIMFSD.js.map → chunk-HG52QQ2L.js.map} +0 -0
  543. /package/dist/{chunk-AMLHEKSV.js.map → chunk-HI7JPDD6.js.map} +0 -0
  544. /package/dist/{chunk-F5OERPU4.js.map → chunk-HOWAMSUY.js.map} +0 -0
  545. /package/dist/{chunk-3TZUZXY5.js.map → chunk-HTXYBKLK.js.map} +0 -0
  546. /package/dist/{chunk-WW3F7DCX.js.map → chunk-IFOHCY4O.js.map} +0 -0
  547. /package/dist/{chunk-S46LGAQ2.js.map → chunk-IJVBLU25.js.map} +0 -0
  548. /package/dist/{chunk-ARGVUTTL.js.map → chunk-IPVGWENM.js.map} +0 -0
  549. /package/dist/{chunk-MWXZXCVX.js.map → chunk-J43PARXM.js.map} +0 -0
  550. /package/dist/{chunk-UYKIUUWP.js.map → chunk-JJTJ7DCV.js.map} +0 -0
  551. /package/dist/{chunk-HQCZT6TO.js.map → chunk-JVOEVTCZ.js.map} +0 -0
  552. /package/dist/{chunk-2365CQJU.js.map → chunk-KAQDWEG6.js.map} +0 -0
  553. /package/dist/{chunk-TB5CRHTF.js.map → chunk-KEPLO2AB.js.map} +0 -0
  554. /package/dist/{chunk-PVIQDBUN.js.map → chunk-KUQ4XHVV.js.map} +0 -0
  555. /package/dist/{chunk-DAFFZED3.js.map → chunk-KWBMM6MJ.js.map} +0 -0
  556. /package/dist/{chunk-JJYECKEL.js.map → chunk-LFECE4R7.js.map} +0 -0
  557. /package/dist/{chunk-LXIPBHNJ.js.map → chunk-LKTJ26ST.js.map} +0 -0
  558. /package/dist/{chunk-56JF5PZK.js.map → chunk-LYVTJLCF.js.map} +0 -0
  559. /package/dist/{chunk-EYFDIUVR.js.map → chunk-M4G4LRQK.js.map} +0 -0
  560. /package/dist/{chunk-KMMFN24G.js.map → chunk-MKHNLRVX.js.map} +0 -0
  561. /package/dist/{chunk-4IG73U2X.js.map → chunk-MSPLIRBH.js.map} +0 -0
  562. /package/dist/{chunk-55MYYWOV.js.map → chunk-O4UXH7BM.js.map} +0 -0
  563. /package/dist/{chunk-DYHOBKPU.js.map → chunk-OA6T2ME3.js.map} +0 -0
  564. /package/dist/{chunk-VNMD6BA4.js.map → chunk-OFRQMFWD.js.map} +0 -0
  565. /package/dist/{chunk-LTJC7TGB.js.map → chunk-OHA2PAAA.js.map} +0 -0
  566. /package/dist/{chunk-ZANWHTXH.js.map → chunk-OVJV2ZN7.js.map} +0 -0
  567. /package/dist/{chunk-SKQPUAMK.js.map → chunk-PDWQJFMK.js.map} +0 -0
  568. /package/dist/{chunk-6EZQLNPK.js.map → chunk-PGJIWCQR.js.map} +0 -0
  569. /package/dist/{chunk-FRAFGRRD.js.map → chunk-PIELY4BJ.js.map} +0 -0
  570. /package/dist/{chunk-3Z6JX7UN.js.map → chunk-PZJEF232.js.map} +0 -0
  571. /package/dist/{chunk-6ATXOJVQ.js.map → chunk-QADTI63U.js.map} +0 -0
  572. /package/dist/{chunk-4RF4BALN.js.map → chunk-R775ISK6.js.map} +0 -0
  573. /package/dist/{chunk-YBAK2WN5.js.map → chunk-RFMQBIE6.js.map} +0 -0
  574. /package/dist/{chunk-43EFQ3DU.js.map → chunk-RVBLOR32.js.map} +0 -0
  575. /package/dist/{chunk-XNAI7QGU.js.map → chunk-SA3KLZDZ.js.map} +0 -0
  576. /package/dist/{chunk-CAOL4AIB.js.map → chunk-SARK3GHS.js.map} +0 -0
  577. /package/dist/{chunk-CQOJUYTT.js.map → chunk-SOXO2VN3.js.map} +0 -0
  578. /package/dist/{chunk-6PU5P7QT.js.map → chunk-TDXEWGY2.js.map} +0 -0
  579. /package/dist/{chunk-SB2SEGR6.js.map → chunk-TIM4PXWN.js.map} +0 -0
  580. /package/dist/{chunk-OGSTMHT6.js.map → chunk-TTBLQZVT.js.map} +0 -0
  581. /package/dist/{chunk-GTE4TW3W.js.map → chunk-U4PV2ZKK.js.map} +0 -0
  582. /package/dist/{chunk-VHE7UEG5.js.map → chunk-UC7DLGMP.js.map} +0 -0
  583. /package/dist/{chunk-TI4FGQYV.js.map → chunk-UHLGJHTD.js.map} +0 -0
  584. /package/dist/{chunk-TAHO2LCU.js.map → chunk-UIZIEU4X.js.map} +0 -0
  585. /package/dist/{chunk-F7LBTMCA.js.map → chunk-ULC4SCFC.js.map} +0 -0
  586. /package/dist/{chunk-FORQEHRQ.js.map → chunk-UXVWGNPG.js.map} +0 -0
  587. /package/dist/{chunk-KF3Q3C3P.js.map → chunk-VGIBWJ72.js.map} +0 -0
  588. /package/dist/{chunk-I54YFYBS.js.map → chunk-VMACQT3T.js.map} +0 -0
  589. /package/dist/{chunk-EXEBN5ZP.js.map → chunk-W56KN53D.js.map} +0 -0
  590. /package/dist/{chunk-KURE5R7Z.js.map → chunk-WGK7VNCO.js.map} +0 -0
  591. /package/dist/{chunk-UIS3E72B.js.map → chunk-WK577LQL.js.map} +0 -0
  592. /package/dist/{chunk-LLPPIO3K.js.map → chunk-WNTXHLVJ.js.map} +0 -0
  593. /package/dist/{chunk-PEVBSNCD.js.map → chunk-WPRQPKLV.js.map} +0 -0
  594. /package/dist/{chunk-C347NNZJ.js.map → chunk-WVCHMTPG.js.map} +0 -0
  595. /package/dist/{chunk-CSD6SWBZ.js.map → chunk-WYNGH2WL.js.map} +0 -0
  596. /package/dist/{chunk-PJDAZG65.js.map → chunk-XA5ES25V.js.map} +0 -0
  597. /package/dist/{chunk-FWTVIRZZ.js.map → chunk-YLZXIR6B.js.map} +0 -0
  598. /package/dist/{chunk-JOQGKXR5.js.map → chunk-Z2J4MRTF.js.map} +0 -0
  599. /package/dist/{chunk-USHVG4UQ.js.map → chunk-ZKVSFVIA.js.map} +0 -0
  600. /package/dist/{chunk-TE6HAWDM.js.map → chunk-ZP2GPRNQ.js.map} +0 -0
  601. /package/dist/{chunk-3PQL2EN5.js.map → chunk-ZW7Q3IRL.js.map} +0 -0
  602. /package/dist/{chunk-M5Y42AZ4.js.map → chunk-ZX4ORMBC.js.map} +0 -0
  603. /package/dist/native/chunks/{chunk-FXA5DLKR.js.map → chunk-UQ272RI2.js.map} +0 -0
  604. /package/dist/native/chunks/{chunk-IN3XZ7EK.js.map → chunk-X65TVC3B.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/DateRangePicker/DateRangePicker.range.ts"],"sourcesContent":["/**\n * Judging a draft, and saying so in words.\n *\n * The picker never repairs what it is given. A reversed pair is not silently\n * swapped and an over-long one is not clipped to the cap: both are reported,\n * because a control that returns a different range from the one on screen is\n * indistinguishable from one that ignored you. The caller reads\n * {@link DateRangeStatus} and keeps its own confirm button shut.\n */\nimport { isoToMasked } from '../../data-display/DataViews/data-views-day-input';\nimport { EN_US_UI_LABELS } from '../../../en-US.labels';\n\nimport { dayCount, isAfterDay } from './DateRangePicker.dates';\nimport type {\n DateRangePickerMessages,\n DateRangeDraft,\n DateRangeStatus,\n QuickRange,\n QuickRangeContext,\n ResolvedQuickRange,\n} from './DateRangePicker.types';\n\n/**\n * Whether a draft is a window this picker will hand over.\n *\n * Exported because the caller needs the same verdict the picker shows: a dialog\n * disabling its \"Apply\" button must not re-derive \"is this legal\" from the two\n * strings, or the two answers drift and the button ends up enabled over a\n * message saying the range is impossible.\n */\nexport function resolveDayRange(\n draft: DateRangeDraft,\n maxRangeDays?: number,\n): DateRangeStatus {\n const { from, to } = draft;\n if (!from || !to) return { ok: false, problem: 'incomplete', days: 0 };\n if (isAfterDay(from, to)) return { ok: false, problem: 'reversed', days: 0 };\n\n const days = dayCount(from, to);\n if (maxRangeDays !== undefined && days > maxRangeDays) {\n return { ok: false, problem: 'over-max', days };\n }\n return { ok: true, window: { from, to }, days };\n}\n\n/**\n * The English defaults.\n *\n * The summary prints the days in the SAME `dd/mm/aaaa` the two fields are\n * masked to, rather than in the host locale's order. One control cannot show\n * the same date two ways: an `en-US` host formatting the summary as `08/05`\n * over a field reading `05/08` leaves the reader to work out which of the two\n * is lying. A host that wants its own order replaces `messages.summary`, which\n * moves both halves of the decision to the same place.\n */\nexport function defaultMessages(): DateRangePickerMessages {\n // ONE mask, read by both the fields and the summary below. They are the same\n // date in the same control, so a summary formatted in a different order from\n // the boxes it summarises is a control arguing with itself — which is what\n // two independent literals eventually become.\n const dayMask = 'dd/mm/yyyy';\n return {\n from: 'Start date',\n to: 'End date',\n quickRanges: 'Quick ranges',\n incomplete: 'Choose both dates.',\n reversed: 'The end date must be on or after the start date.',\n overMax: ({ maxRangeDays }) => `Choose a range of at most ${maxRangeDays} days.`,\n summary: ({ from, to }) => `${isoToMasked(from, dayMask)} – ${isoToMasked(to, dayMask)}`,\n calendarLabel: EN_US_UI_LABELS.dateRangePicker.calendar,\n dayMask,\n };\n}\n\n/** The line under the fields: the chosen window, or why there isn't one. */\nexport function statusMessage(\n status: DateRangeStatus,\n messages: DateRangePickerMessages,\n maxRangeDays: number | undefined,\n): string {\n if (status.ok) return messages.summary(status.window);\n if (status.problem === 'incomplete') return messages.incomplete;\n if (status.problem === 'reversed') return messages.reversed;\n return messages.overMax({ maxRangeDays: maxRangeDays ?? status.days, days: status.days });\n}\n\n/** Every quick range with its window, its length, and whether it is over cap. */\nexport function resolveQuickRanges(\n quickRanges: QuickRange[],\n context: QuickRangeContext,\n maxRangeDays: number | undefined,\n): ResolvedQuickRange[] {\n return quickRanges.map((quickRange) => {\n const window = quickRange.resolve(context);\n const days = dayCount(window.from, window.to);\n return {\n ...quickRange,\n window,\n days,\n overMax: maxRangeDays !== undefined && days > maxRangeDays,\n };\n });\n}\n\n/** The quick range the draft currently IS, if it is exactly one of them. */\nexport function activeQuickRangeId(\n options: ResolvedQuickRange[],\n draft: DateRangeDraft,\n): string | undefined {\n return options.find(\n (option) => option.window.from === draft.from && option.window.to === draft.to,\n )?.id;\n}\n"],"mappings":";;;;;;;;;;;;AA8BO,SAAS,gBACd,OACA,cACiB;AACjB,QAAM,EAAE,MAAM,GAAG,IAAI;AACrB,MAAI,CAAC,QAAQ,CAAC,GAAI,QAAO,EAAE,IAAI,OAAO,SAAS,cAAc,MAAM,EAAE;AACrE,MAAI,WAAW,MAAM,EAAE,EAAG,QAAO,EAAE,IAAI,OAAO,SAAS,YAAY,MAAM,EAAE;AAE3E,QAAM,OAAO,SAAS,MAAM,EAAE;AAC9B,MAAI,iBAAiB,UAAa,OAAO,cAAc;AACrD,WAAO,EAAE,IAAI,OAAO,SAAS,YAAY,KAAK;AAAA,EAChD;AACA,SAAO,EAAE,IAAI,MAAM,QAAQ,EAAE,MAAM,GAAG,GAAG,KAAK;AAChD;AAYO,SAAS,kBAA2C;AAKzD,QAAM,UAAU;AAChB,SAAO;AAAA,IACL,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,SAAS,CAAC,EAAE,aAAa,MAAM,6BAA6B,YAAY;AAAA,IACxE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,MAAM,OAAO,CAAC,WAAM,YAAY,IAAI,OAAO,CAAC;AAAA,IACtF,eAAe,gBAAgB,gBAAgB;AAAA,IAC/C;AAAA,EACF;AACF;AAGO,SAAS,cACd,QACA,UACA,cACQ;AACR,MAAI,OAAO,GAAI,QAAO,SAAS,QAAQ,OAAO,MAAM;AACpD,MAAI,OAAO,YAAY,aAAc,QAAO,SAAS;AACrD,MAAI,OAAO,YAAY,WAAY,QAAO,SAAS;AACnD,SAAO,SAAS,QAAQ,EAAE,cAAc,gBAAgB,OAAO,MAAM,MAAM,OAAO,KAAK,CAAC;AAC1F;AAGO,SAAS,mBACd,aACA,SACA,cACsB;AACtB,SAAO,YAAY,IAAI,CAAC,eAAe;AACrC,UAAM,SAAS,WAAW,QAAQ,OAAO;AACzC,UAAM,OAAO,SAAS,OAAO,MAAM,OAAO,EAAE;AAC5C,WAAO;AAAA,MACL,GAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA,SAAS,iBAAiB,UAAa,OAAO;AAAA,IAChD;AAAA,EACF,CAAC;AACH;AAGO,SAAS,mBACd,SACA,OACoB;AACpB,SAAO,QAAQ;AAAA,IACb,CAAC,WAAW,OAAO,OAAO,SAAS,MAAM,QAAQ,OAAO,OAAO,OAAO,MAAM;AAAA,EAC9E,GAAG;AACL;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/navigation/Tabs/Tabs.tsx"],"sourcesContent":["import Close from '@mui/icons-material/Close';\nimport Badge from '@mui/material/Badge/index.js';\nimport Box from '@mui/material/Box/index.js';\nimport Divider from '@mui/material/Divider/index.js';\nimport MuiTab from '@mui/material/Tab/index.js';\nimport MuiTabs from '@mui/material/Tabs/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { CustomTabPanel } from './TabsPanel';\nimport { tabsRootStyles } from './Tabs.styles';\nimport type { TabCount, TabItem, TabsProps } from './Tabs.types';\nimport { rem, sxRem } from '../../../tokens/relative';\n\nconst StyledTabs = styled(MuiTabs, {\n shouldForwardProp: (prop) => !['customVariant', 'size', 'showDividers'].includes(prop as string) })<{ customVariant?: string; size?: string; showDividers?: boolean }>(\n ({ theme, customVariant, size, showDividers }) => ({\n ...tabsRootStyles({ theme, customVariant, size, showDividers }) }),\n);\n\nconst CloseButton = styled(Box)(({ theme }) => ({\n marginLeft: theme.spacing(0.5),\n padding: theme.spacing(0.25),\n width: rem(theme, 20),\n height: rem(theme, 20),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n borderRadius: '50%',\n color: theme.palette.action.active,\n '&:hover': {\n backgroundColor: alpha(theme.palette.error.main, 0.1),\n color: theme.palette.error.main } }));\n\nconst BadgeWrapper = styled(Badge)(({ theme }) => ({\n '& .MuiBadge-badge': {\n right: rem(theme, -6),\n top: rem(theme, 4),\n fontSize: rem(theme, 12),\n minWidth: rem(theme, 16),\n height: rem(theme, 16),\n padding: 0 } }));\n\n/** A tab's inline count pill, toned by what it asks for. */\nconst CountPill = styled('span', {\n shouldForwardProp: (prop) => prop !== 'tone',\n})<{ tone: NonNullable<TabCount['tone']> }>(({ theme, tone }) => {\n const look = {\n neutral: { backgroundColor: theme.palette.action.selected, color: theme.palette.text.secondary },\n warning: { backgroundColor: alpha(theme.palette.warning.main, 0.16), color: theme.palette.warning.dark },\n danger: { backgroundColor: theme.palette.error.main, color: theme.palette.error.contrastText },\n }[tone];\n return {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: rem(theme, 20),\n minWidth: rem(theme, 20),\n padding: theme.spacing(0, 0.875),\n borderRadius: rem(theme, 999),\n fontSize: rem(theme, 11.5),\n fontWeight: 600,\n lineHeight: 1,\n ...look,\n };\n});\n\nconst TABS_DEFAULTS: Partial<TabsProps> = {\n variant: 'default',\n size: 'md',\n color: 'primary',\n fullWidth: false,\n orientation: 'horizontal',\n showDividers: false,\n centered: false,\n scrollable: false,\n scrollButtons: 'auto',\n sticky: false,\n stickyOffset: 0,\n animateContent: false,\n animationDuration: 300,\n persistContent: false,\n disabled: false,\n loading: false };\n\n/**\n * The props this component OWNS and MUI's `Tabs` does not understand (12-86).\n *\n * `rest` below is spread onto the DOM node, so anything left in it that React\n * cannot place on an element is reported — five `does not recognize the … prop`\n * warnings and three `Received false for a non-boolean attribute`, on every\n * render, in the browser console and in every host's jsdom output.\n *\n * An explicit list rather than `Object.keys(TABS_DEFAULTS)`, because the two\n * sets differ in both directions: `items`, `closeTabLabel`, `tabPanelProps` and\n * `loadingComponent` have no default and still must not reach the DOM, while\n * `orientation`, `centered` and `indicatorColor` are real MUI props that must.\n * An omission rather than more destructuring, so a prop added to `TabsProps`\n * costs a line here instead of an unused `_name` binding.\n *\n * Deliberately NOT here: `onFocus` and `onBlur`. They are ordinary DOM handlers\n * that reach the element through `rest` and nowhere else, so listing them would\n * silently stop them working.\n */\nconst OWN_PROPS = new Set<string>([\n 'items',\n 'closeTabLabel',\n 'color',\n 'size',\n 'fullWidth',\n 'scrollable',\n 'scrollButtons',\n 'sticky',\n 'stickyOffset',\n 'animateContent',\n 'animationDuration',\n 'persistContent',\n 'tabPanelProps',\n 'loading',\n 'loadingComponent',\n]);\n\n/** `props` with every {@link OWN_PROPS} key dropped — what is left is passthrough. */\nconst domPassthrough = (props: Record<string, unknown>): Record<string, unknown> =>\n Object.fromEntries(Object.entries(props).filter(([key]) => !OWN_PROPS.has(key)));\n\n// Strips explicitly-undefined props before the merge, so `prop={undefined}`\n// still falls back to the default as a destructuring default would.\nconst definedProps = (props: TabsProps): Partial<TabsProps> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<TabsProps>;\n\n// Once the row is scrollable every accepted scrollButtons value ends up as\n// MUI's 'auto'. That is exactly what the previous nested ternary did — it mapped\n// 'on'/'off'/'desktop' to 'auto', and its remaining branch could only ever be\n// 'auto' anyway — so the behaviour is preserved here rather than quietly\n// changed. Worth knowing that scrollButtons=\"off\" therefore still shows buttons.\nconst resolveScrollButtons = (scrollable?: boolean): 'auto' | false =>\n scrollable ? 'auto' : false;\n\nconst buildTabsSx = ({\n fullWidth,\n sticky,\n stickyOffset,\n indicatorColor,\n disabled }: {\n fullWidth?: boolean;\n sticky?: boolean;\n /** The pinned list's `top`, already through the theme (the prop is design px). */\n stickyOffset: (theme: Theme) => string;\n indicatorColor?: string;\n disabled?: boolean;\n}) => ({\n ...(fullWidth && { width: '100%' }),\n // Pin the tab list while panels scroll beneath it. Opaque background + bottom\n // divider so scrolled content does not show through.\n ...(sticky && {\n position: 'sticky',\n top: stickyOffset,\n zIndex: 2,\n backgroundColor: 'background.default',\n borderBottom: 1,\n borderColor: 'divider' }),\n ...(indicatorColor && {\n '& .MuiTabs-indicator': { backgroundColor: indicatorColor } }),\n ...(disabled && { opacity: 0.6, pointerEvents: 'none' }) });\n\n// A tab's label: icon, text, optional close affordance, optionally badged.\nconst TabLabel: React.FC<{\n item: TabItem;\n closeTabLabel: string;\n onClose: (event: React.MouseEvent | React.KeyboardEvent, tabId: string) => void;\n}> = ({ item, closeTabLabel, onClose }) => {\n const content = (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n {item.icon}\n <span>{item.label}</span>\n {item.count !== undefined && (\n <CountPill tone={item.count.tone ?? 'neutral'} data-tone={item.count.tone ?? 'neutral'}>\n {item.count.value}\n </CountPill>\n )}\n {item.closable && (\n <CloseButton\n onClick={(e) => onClose(e, item.id)}\n role=\"button\"\n tabIndex={0}\n aria-label={closeTabLabel}\n onKeyDown={(e) => {\n if (e.key !== 'Enter' && e.key !== ' ') return;\n onClose(e, item.id);\n }}\n >\n <Close fontSize=\"inherit\" />\n </CloseButton>\n )}\n </Box>\n );\n\n if (item.badge === undefined) return content;\n\n return (\n <BadgeWrapper badgeContent={item.badge} color=\"error\">\n {content}\n </BadgeWrapper>\n );\n};\n\ntype ResolvedTabs = TabsProps;\n\n// The tab strip. Kept in this file because StyledTabs cannot cross a module\n// boundary (TS2742).\nconst TabsBar: React.FC<\n ResolvedTabs & {\n rest: Record<string, unknown>;\n onChange: (event: React.SyntheticEvent, newValue: string) => void;\n onCloseTab: (event: React.MouseEvent | React.KeyboardEvent, tabId: string) => void;\n }\n> = ({ rest, items, value, onChange, onCloseTab, dataTestId, ...p }) => (\n <StyledTabs\n {...rest}\n value={value}\n onChange={onChange}\n customVariant={p.variant}\n size={p.size}\n showDividers={p.showDividers}\n orientation={p.orientation}\n centered={p.centered}\n // MUI only scrolls when its own `variant` is `scrollable`; map our\n // `scrollable` flag onto it so overflowing tab rows actually scroll.\n variant={p.scrollable ? 'scrollable' : 'standard'}\n data-testid={dataTestId ? `${dataTestId}-list` : 'tabs-list'}\n scrollButtons={resolveScrollButtons(p.scrollable)}\n allowScrollButtonsMobile={p.scrollable}\n textColor={p.color}\n indicatorColor={p.color}\n sx={buildTabsSx({\n fullWidth: p.fullWidth,\n sticky: p.sticky,\n stickyOffset: sxRem(p.stickyOffset ?? 0),\n indicatorColor: p.indicatorColor,\n disabled: p.disabled })}\n >\n {items.map((item, index) => (\n <MuiTab\n key={item.id}\n value={item.id}\n label={<TabLabel closeTabLabel={p.closeTabLabel} item={item} onClose={onCloseTab} />}\n disabled={item.disabled || p.disabled}\n className={item.className}\n id={`tab-${item.id}`}\n aria-controls={`tabpanel-${item.id}`}\n aria-disabled={item.disabled || p.disabled}\n data-testid={dataTestId ? `${dataTestId}-tab-${index}` : `tabs-tab-${index}`}\n />\n ))}\n </StyledTabs>\n);\n\nconst TabsPanels: React.FC<ResolvedTabs> = ({\n items,\n value,\n variant,\n animateContent,\n animationDuration,\n persistContent,\n loading,\n loadingComponent,\n tabPanelProps,\n dataTestId }) => (\n <Box sx={{ mt: variant === 'enclosed' ? 0 : 2 }}>\n {items.map((item, index) => (\n <CustomTabPanel\n key={item.id}\n id={item.id}\n value={value}\n animate={animateContent}\n animationDuration={animationDuration}\n persist={persistContent}\n loading={loading}\n loadingComponent={loadingComponent}\n className={tabPanelProps?.className}\n dataTestId={dataTestId}\n index={index}\n >\n {item.content}\n </CustomTabPanel>\n ))}\n </Box>\n);\n\nexport const Tabs = React.forwardRef<HTMLDivElement, TabsProps>(\n (tabsProps, ref) => {\n const resolved = { ...TABS_DEFAULTS, ...definedProps(tabsProps) } as TabsProps;\n const {\n // Destructured only to keep it OUT of `rest`, which is spread onto the\n // DOM node — `{...resolved}` below is what actually carries it to\n // `TabsBar`. Same reason as `value` on the next line.\n closeTabLabel: _closeTabLabel,\n value: _value,\n onChange,\n onTabClose,\n className,\n disabled,\n showDividers,\n variant,\n dataTestId,\n ...rest\n } = resolved;\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n if (!disabled) onChange(event, newValue);\n };\n\n const handleTabClose = (event: React.MouseEvent | React.KeyboardEvent, tabId: string) => {\n event.stopPropagation();\n onTabClose?.(tabId);\n };\n\n return (\n <Box className={className} ref={ref} data-testid={dataTestId || 'tabs'}>\n <TabsBar\n {...resolved}\n // The destructuring above drops the props this component USES;\n // `domPassthrough` drops the ones it merely OWNS. Both have to go:\n // `rest` is spread onto the DOM node, and the second group is where\n // 12-86's warnings came from.\n rest={domPassthrough(rest as unknown as Record<string, unknown>)}\n onChange={handleChange}\n onCloseTab={handleTabClose}\n />\n\n {showDividers && variant !== 'enclosed' && <Divider />}\n\n <TabsPanels {...resolved} />\n </Box>\n );\n },\n);\n\nTabs.displayName = 'Tabs';\n"],"mappings":";;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,WAAW;AAClB,OAAO,SAAS;AAChB,OAAO,aAAa;AACpB,OAAO,YAAY;AACnB,OAAO,aAAa;AACpB,SAAS,OAAO,cAAc;AAE9B,OAAO,WAAW;AAyKd,SAEE,KAFF;AAlKJ,IAAM,aAAa,OAAO,SAAS;AAAA,EACjC,mBAAmB,CAAC,SAAS,CAAC,CAAC,iBAAiB,QAAQ,cAAc,EAAE,SAAS,IAAc;AAAE,CAAC;AAAA,EAClG,CAAC,EAAE,OAAO,eAAe,MAAM,aAAa,OAAO;AAAA,IACjD,GAAG,eAAe,EAAE,OAAO,eAAe,MAAM,aAAa,CAAC;AAAA,EAAE;AACpE;AAEA,IAAM,cAAc,OAAO,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EAC9C,YAAY,MAAM,QAAQ,GAAG;AAAA,EAC7B,SAAS,MAAM,QAAQ,IAAI;AAAA,EAC3B,OAAO,IAAI,OAAO,EAAE;AAAA,EACpB,QAAQ,IAAI,OAAO,EAAE;AAAA,EACrB,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,OAAO,MAAM,QAAQ,OAAO;AAAA,EAC5B,WAAW;AAAA,IACT,iBAAiB,MAAM,MAAM,QAAQ,MAAM,MAAM,GAAG;AAAA,IACpD,OAAO,MAAM,QAAQ,MAAM;AAAA,EAAK;AAAE,EAAE;AAExC,IAAM,eAAe,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EACjD,qBAAqB;AAAA,IACnB,OAAO,IAAI,OAAO,EAAE;AAAA,IACpB,KAAK,IAAI,OAAO,CAAC;AAAA,IACjB,UAAU,IAAI,OAAO,EAAE;AAAA,IACvB,UAAU,IAAI,OAAO,EAAE;AAAA,IACvB,QAAQ,IAAI,OAAO,EAAE;AAAA,IACrB,SAAS;AAAA,EAAE;AAAE,EAAE;AAGnB,IAAM,YAAY,OAAO,QAAQ;AAAA,EAC/B,mBAAmB,CAAC,SAAS,SAAS;AACxC,CAAC,EAA2C,CAAC,EAAE,OAAO,KAAK,MAAM;AAC/D,QAAM,OAAO;AAAA,IACX,SAAS,EAAE,iBAAiB,MAAM,QAAQ,OAAO,UAAU,OAAO,MAAM,QAAQ,KAAK,UAAU;AAAA,IAC/F,SAAS,EAAE,iBAAiB,MAAM,MAAM,QAAQ,QAAQ,MAAM,IAAI,GAAG,OAAO,MAAM,QAAQ,QAAQ,KAAK;AAAA,IACvG,QAAQ,EAAE,iBAAiB,MAAM,QAAQ,MAAM,MAAM,OAAO,MAAM,QAAQ,MAAM,aAAa;AAAA,EAC/F,EAAE,IAAI;AACN,SAAO;AAAA,IACL,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,QAAQ,IAAI,OAAO,EAAE;AAAA,IACrB,UAAU,IAAI,OAAO,EAAE;AAAA,IACvB,SAAS,MAAM,QAAQ,GAAG,KAAK;AAAA,IAC/B,cAAc,IAAI,OAAO,GAAG;AAAA,IAC5B,UAAU,IAAI,OAAO,IAAI;AAAA,IACzB,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,GAAG;AAAA,EACL;AACF,CAAC;AAED,IAAM,gBAAoC;AAAA,EACxC,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,WAAW;AAAA,EACX,aAAa;AAAA,EACb,cAAc;AAAA,EACd,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,SAAS;AAAM;AAqBjB,IAAM,YAAY,oBAAI,IAAY;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGD,IAAM,iBAAiB,CAAC,UACtB,OAAO,YAAY,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;AAIjF,IAAM,eAAe,CAAC,UACpB,OAAO;AAAA,EACL,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,UAAU,MAAS;AACjE;AAOF,IAAM,uBAAuB,CAAC,eAC5B,aAAa,SAAS;AAExB,IAAM,cAAc,CAAC;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAS,OAOJ;AAAA,EACL,GAAI,aAAa,EAAE,OAAO,OAAO;AAAA;AAAA;AAAA,EAGjC,GAAI,UAAU;AAAA,IACZ,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,cAAc;AAAA,IACd,aAAa;AAAA,EAAU;AAAA,EACzB,GAAI,kBAAkB;AAAA,IACpB,wBAAwB,EAAE,iBAAiB,eAAe;AAAA,EAAE;AAAA,EAC9D,GAAI,YAAY,EAAE,SAAS,KAAK,eAAe,OAAO;AAAG;AAG3D,IAAM,WAID,CAAC,EAAE,MAAM,eAAe,QAAQ,MAAM;AACzC,QAAM,UACJ,qBAAC,OAAI,IAAI,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,EAAE,GACtD;AAAA,SAAK;AAAA,IACN,oBAAC,UAAM,eAAK,OAAM;AAAA,IACjB,KAAK,UAAU,UACd,oBAAC,aAAU,MAAM,KAAK,MAAM,QAAQ,WAAW,aAAW,KAAK,MAAM,QAAQ,WAC1E,eAAK,MAAM,OACd;AAAA,IAED,KAAK,YACJ;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE;AAAA,QAClC,MAAK;AAAA,QACL,UAAU;AAAA,QACV,cAAY;AAAA,QACZ,WAAW,CAAC,MAAM;AAChB,cAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,IAAK;AACxC,kBAAQ,GAAG,KAAK,EAAE;AAAA,QACpB;AAAA,QAEA,8BAAC,SAAM,UAAS,WAAU;AAAA;AAAA,IAC5B;AAAA,KAEJ;AAGF,MAAI,KAAK,UAAU,OAAW,QAAO;AAErC,SACE,oBAAC,gBAAa,cAAc,KAAK,OAAO,OAAM,SAC3C,mBACH;AAEJ;AAMA,IAAM,UAMF,CAAC,EAAE,MAAM,OAAO,OAAO,UAAU,YAAY,YAAY,GAAG,EAAE,MAChE;AAAA,EAAC;AAAA;AAAA,IACE,GAAG;AAAA,IACJ;AAAA,IACA;AAAA,IACA,eAAe,EAAE;AAAA,IACjB,MAAM,EAAE;AAAA,IACR,cAAc,EAAE;AAAA,IAChB,aAAa,EAAE;AAAA,IACf,UAAU,EAAE;AAAA,IAGZ,SAAS,EAAE,aAAa,eAAe;AAAA,IACvC,eAAa,aAAa,GAAG,UAAU,UAAU;AAAA,IACjD,eAAe,qBAAqB,EAAE,UAAU;AAAA,IAChD,0BAA0B,EAAE;AAAA,IAC5B,WAAW,EAAE;AAAA,IACb,gBAAgB,EAAE;AAAA,IAClB,IAAI,YAAY;AAAA,MACd,WAAW,EAAE;AAAA,MACb,QAAQ,EAAE;AAAA,MACV,cAAc,MAAM,EAAE,gBAAgB,CAAC;AAAA,MACvC,gBAAgB,EAAE;AAAA,MAClB,UAAU,EAAE;AAAA,IAAS,CAAC;AAAA,IAEvB,gBAAM,IAAI,CAAC,MAAM,UAChB;AAAA,MAAC;AAAA;AAAA,QAEC,OAAO,KAAK;AAAA,QACZ,OAAO,oBAAC,YAAS,eAAe,EAAE,eAAe,MAAY,SAAS,YAAY;AAAA,QAClF,UAAU,KAAK,YAAY,EAAE;AAAA,QAC7B,WAAW,KAAK;AAAA,QAChB,IAAI,OAAO,KAAK,EAAE;AAAA,QAClB,iBAAe,YAAY,KAAK,EAAE;AAAA,QAClC,iBAAe,KAAK,YAAY,EAAE;AAAA,QAClC,eAAa,aAAa,GAAG,UAAU,QAAQ,KAAK,KAAK,YAAY,KAAK;AAAA;AAAA,MARrE,KAAK;AAAA,IASZ,CACD;AAAA;AACH;AAGF,IAAM,aAAqC,CAAC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAW,MACX,oBAAC,OAAI,IAAI,EAAE,IAAI,YAAY,aAAa,IAAI,EAAE,GAC3C,gBAAM,IAAI,CAAC,MAAM,UAChB;AAAA,EAAC;AAAA;AAAA,IAEC,IAAI,KAAK;AAAA,IACT;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,WAAW,eAAe;AAAA,IAC1B;AAAA,IACA;AAAA,IAEC,eAAK;AAAA;AAAA,EAZD,KAAK;AAaZ,CACD,GACH;AAGK,IAAM,OAAO,MAAM;AAAA,EACxB,CAAC,WAAW,QAAQ;AAClB,UAAM,WAAW,EAAE,GAAG,eAAe,GAAG,aAAa,SAAS,EAAE;AAChE,UAAM;AAAA;AAAA;AAAA;AAAA,MAIJ,eAAe;AAAA,MACf,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI;AAEJ,UAAM,eAAe,CAAC,OAA6B,aAAqB;AACtE,UAAI,CAAC,SAAU,UAAS,OAAO,QAAQ;AAAA,IACzC;AAEA,UAAM,iBAAiB,CAAC,OAA+C,UAAkB;AACvF,YAAM,gBAAgB;AACtB,mBAAa,KAAK;AAAA,IACpB;AAEA,WACE,qBAAC,OAAI,WAAsB,KAAU,eAAa,cAAc,QAC9D;AAAA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UAKJ,MAAM,eAAe,IAA0C;AAAA,UAC/D,UAAU;AAAA,UACV,YAAY;AAAA;AAAA,MACd;AAAA,MAEC,gBAAgB,YAAY,cAAc,oBAAC,WAAQ;AAAA,MAEpD,oBAAC,cAAY,GAAG,UAAU;AAAA,OAC5B;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/DateRangePicker/DateRangePickerFields.tsx"],"sourcesContent":["/**\n * The two typed ends, and the one line that says what the picker currently has.\n *\n * WHEN A TYPED DATE COMMITS: the moment it is a WHOLE, REAL day — eight digits\n * that name a date that exists. Not on every keystroke (`2026` passes through\n * `0002`, `0020` and `0202`, each a legal year, and committing those makes the\n * calendar jump to the year 20 while you are still typing) and not only on blur\n * (a reader who types a date and looks at the calendar to check it would see\n * the old month until they clicked somewhere else). Half-typed text stays in\n * the field and changes nothing; leaving the field discards it and shows what\n * the range actually is. Enter needs no special case — by the time it can be\n * pressed the date has already committed.\n *\n * The field itself is `DayBoundInput`, the masked `dd/mm/aaaa` control the data\n * views already use. Same package, imported rather than re-implemented: a\n * second masked date field is a second set of rules for what backspace does.\n */\nimport Box from '@mui/material/Box/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport React from 'react';\n\nimport { DayBoundInput } from '../../data-display/DataViews/data-views-day-input';\n\nimport { statusMessage } from './DateRangePicker.range';\nimport type {\n DateRangePickerMessages,\n DateRangeDraft,\n DateRangeStatus,\n DayString,\n} from './DateRangePicker.types';\n\nexport interface DateRangeFieldsProps {\n value: DateRangeDraft;\n status: DateRangeStatus;\n messages: DateRangePickerMessages;\n maxRangeDays: number | undefined;\n onEdit: (which: 'from' | 'to', bound: DayString | null) => void;\n /** Id of the status line, so both fields can point at it. */\n statusId: string;\n dataTestId: string;\n}\n\nexport function DateRangeFields({\n value,\n status,\n messages,\n maxRangeDays,\n onEdit,\n statusId,\n dataTestId,\n}: DateRangeFieldsProps): React.JSX.Element {\n // \"Incomplete\" is not an error — it is a range that is not finished yet, and\n // painting it red would make the first click on a two-click control look like\n // a mistake. The pair being impossible is what gets marked.\n const rejected = !status.ok && status.problem !== 'incomplete';\n\n return (\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1 }}>\n <Box sx={{ display: 'flex', flexWrap: 'wrap', gap: 2 }}>\n <DayBoundInput\n mask={messages.dayMask}\n label={messages.from}\n value={value.from ?? undefined}\n onChange={(bound) => onEdit('from', bound ?? null)}\n testId={`${dataTestId}-from`}\n error={rejected}\n describedBy={statusId}\n />\n <DayBoundInput\n mask={messages.dayMask}\n label={messages.to}\n value={value.to ?? undefined}\n onChange={(bound) => onEdit('to', bound ?? null)}\n testId={`${dataTestId}-to`}\n error={rejected}\n describedBy={statusId}\n />\n </Box>\n <Typography\n id={statusId}\n // A live region, so the reason a range was refused is spoken when it\n // appears rather than only being found by someone who goes looking.\n role=\"status\"\n aria-live=\"polite\"\n variant=\"body2\"\n color={rejected ? 'error.main' : 'text.secondary'}\n data-testid={`${dataTestId}-status`}\n >\n {statusMessage(status, messages, maxRangeDays)}\n </Typography>\n </Box>\n );\n}\n"],"mappings":";;;;;;;;AAiBA,OAAO,SAAS;AAChB,OAAO,gBAAgB;AAwCjB,SACE,KADF;AAhBC,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA4C;AAI1C,QAAM,WAAW,CAAC,OAAO,MAAM,OAAO,YAAY;AAElD,SACE,qBAAC,OAAI,IAAI,EAAE,SAAS,QAAQ,eAAe,UAAU,KAAK,EAAE,GAC1D;AAAA,yBAAC,OAAI,IAAI,EAAE,SAAS,QAAQ,UAAU,QAAQ,KAAK,EAAE,GACnD;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAM,SAAS;AAAA,UACf,OAAO,SAAS;AAAA,UAChB,OAAO,MAAM,QAAQ;AAAA,UACrB,UAAU,CAAC,UAAU,OAAO,QAAQ,SAAS,IAAI;AAAA,UACjD,QAAQ,GAAG,UAAU;AAAA,UACrB,OAAO;AAAA,UACP,aAAa;AAAA;AAAA,MACf;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,MAAM,SAAS;AAAA,UACf,OAAO,SAAS;AAAA,UAChB,OAAO,MAAM,MAAM;AAAA,UACnB,UAAU,CAAC,UAAU,OAAO,MAAM,SAAS,IAAI;AAAA,UAC/C,QAAQ,GAAG,UAAU;AAAA,UACrB,OAAO;AAAA,UACP,aAAa;AAAA;AAAA,MACf;AAAA,OACF;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QAGJ,MAAK;AAAA,QACL,aAAU;AAAA,QACV,SAAQ;AAAA,QACR,OAAO,WAAW,eAAe;AAAA,QACjC,eAAa,GAAG,UAAU;AAAA,QAEzB,wBAAc,QAAQ,UAAU,YAAY;AAAA;AAAA,IAC/C;AAAA,KACF;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/DateRangePicker/DateRangePicker.hooks.ts"],"sourcesContent":["/**\n * Everything the picker derives and every way its range can move, kept out of\n * the component so that file is a layout and this one is the behaviour — the\n * same split `Calendar.hooks.ts` uses next door.\n */\nimport { useId, useMemo, useState } from 'react';\n\nimport { toDayString, todayIn } from './DateRangePicker.dates';\nimport {\n activeQuickRangeId,\n defaultMessages,\n resolveDayRange,\n resolveQuickRanges,\n} from './DateRangePicker.range';\nimport type {\n DateRangeChangeMeta,\n DateRangeDraft,\n DateRangePickerState,\n UseDateRangePickerArgs,\n} from './DateRangePicker.types';\n\nexport function useDateRangePicker({\n value,\n onChange,\n timeZone,\n now,\n maxRangeDays,\n weekStartsOn,\n quickRanges,\n messages,\n}: UseDateRangePickerArgs): DateRangePickerState {\n const statusId = useId();\n // `Calendar` reads which month to open on from the range it is handed, and\n // only when it MOUNTS. Bumping this key remounts it, which is how the other\n // two views move it. It changes for a quick pick and for a typed date and\n // NEVER for a click inside the grid — a calendar that jumped under the\n // pointer picking in it would be unusable.\n const [viewNonce, setViewNonce] = useState(0);\n\n const copy = useMemo(() => ({ ...defaultMessages(), ...messages }), [messages]);\n const today = useMemo(() => todayIn(timeZone, now ?? new Date()), [timeZone, now]);\n const options = useMemo(\n () => resolveQuickRanges(quickRanges, { today, weekStartsOn }, maxRangeDays),\n [quickRanges, today, weekStartsOn, maxRangeDays],\n );\n const status = useMemo(() => resolveDayRange(value, maxRangeDays), [value, maxRangeDays]);\n\n const emit = (\n next: DateRangeDraft,\n source: DateRangeChangeMeta['source'],\n quickRangeId?: string,\n ): void => {\n onChange(next, {\n source,\n ...(quickRangeId ? { quickRangeId } : {}),\n // Judged here, once. A caller left to re-derive \"is this usable\" is a\n // second opinion able to disagree with the message on screen.\n status: resolveDayRange(next, maxRangeDays),\n });\n };\n\n return {\n copy,\n options,\n activeId: activeQuickRangeId(options, value),\n status,\n statusId,\n viewNonce,\n pickQuick: (option) => {\n setViewNonce((nonce) => nonce + 1);\n emit({ from: option.window.from, to: option.window.to }, 'quick', option.id);\n },\n editBound: (which, bound) => {\n setViewNonce((nonce) => nonce + 1);\n emit({ ...value, [which]: bound }, which);\n },\n pickOnCalendar: (range) => {\n emit(\n {\n from: range.start ? toDayString(range.start) : null,\n to: range.end ? toDayString(range.end) : null,\n },\n 'calendar',\n );\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;AAKA,SAAS,OAAO,SAAS,gBAAgB;AAgBlC,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAiD;AAC/C,QAAM,WAAW,MAAM;AAMvB,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,CAAC;AAE5C,QAAM,OAAO,QAAQ,OAAO,EAAE,GAAG,gBAAgB,GAAG,GAAG,SAAS,IAAI,CAAC,QAAQ,CAAC;AAC9E,QAAM,QAAQ,QAAQ,MAAM,QAAQ,UAAU,OAAO,oBAAI,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC;AACjF,QAAM,UAAU;AAAA,IACd,MAAM,mBAAmB,aAAa,EAAE,OAAO,aAAa,GAAG,YAAY;AAAA,IAC3E,CAAC,aAAa,OAAO,cAAc,YAAY;AAAA,EACjD;AACA,QAAM,SAAS,QAAQ,MAAM,gBAAgB,OAAO,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC;AAExF,QAAM,OAAO,CACX,MACA,QACA,iBACS;AACT,aAAS,MAAM;AAAA,MACb;AAAA,MACA,GAAI,eAAe,EAAE,aAAa,IAAI,CAAC;AAAA;AAAA;AAAA,MAGvC,QAAQ,gBAAgB,MAAM,YAAY;AAAA,IAC5C,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,UAAU,mBAAmB,SAAS,KAAK;AAAA,IAC3C;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,CAAC,WAAW;AACrB,mBAAa,CAAC,UAAU,QAAQ,CAAC;AACjC,WAAK,EAAE,MAAM,OAAO,OAAO,MAAM,IAAI,OAAO,OAAO,GAAG,GAAG,SAAS,OAAO,EAAE;AAAA,IAC7E;AAAA,IACA,WAAW,CAAC,OAAO,UAAU;AAC3B,mBAAa,CAAC,UAAU,QAAQ,CAAC;AACjC,WAAK,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,MAAM,GAAG,KAAK;AAAA,IAC1C;AAAA,IACA,gBAAgB,CAAC,UAAU;AACzB;AAAA,QACE;AAAA,UACE,MAAM,MAAM,QAAQ,YAAY,MAAM,KAAK,IAAI;AAAA,UAC/C,IAAI,MAAM,MAAM,YAAY,MAAM,GAAG,IAAI;AAAA,QAC3C;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Calendar/Calendar.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material/styles/index.js';\nimport Box from '@mui/material/Box/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport React, { useCallback, useEffect, useRef } from 'react';\n\nimport { EN_US_UI_LABELS } from '../../../en-US.labels';\nimport { rem, sxRem } from '../../../tokens/relative';\nimport { resolveLabels } from '../../../utils/resolve-labels';\n\nimport { resolveCalendarProps } from './Calendar.helpers';\nimport { useCalendar } from './Calendar.hooks';\nimport { navigateFocus } from './Calendar.keyboard';\nimport { useCalendarPicker } from './Calendar.picker';\nimport type { CalendarProps, ResolvedCalendarProps } from './Calendar.types';\nimport type { DayCellContext } from './CalendarDayCell';\nimport { CalendarMonth } from './CalendarMonth';\nimport { CalendarSelectorsMonth } from './CalendarSelectorsMonth';\n\nconst containerSx = (monthsToShow: number): SxProps<Theme> => ({\n p: 3,\n display: 'flex',\n flexDirection: monthsToShow > 1 ? 'row' : 'column',\n gap: 3,\n outline: 'none',\n '&:focus-within': {\n outline: (theme: Theme) => `${rem(theme, 2)} solid`,\n outlineColor: 'primary.main',\n outlineOffset: sxRem(2),\n },\n});\n\ntype CalendarState = ReturnType<typeof useCalendar>;\n\nconst buildDayContext = (props: ResolvedCalendarProps, calendar: CalendarState): DayCellContext => ({\n selectionMode: props.selectionMode,\n locale: props.locale,\n value: props.value,\n range: props.range,\n showOutsideDays: props.showOutsideDays,\n renderDay: props.renderDay,\n dayClassName: props.dayClassName,\n hoveredDate: calendar.hoveredDate,\n focusedDate: calendar.focusedDate,\n today: calendar.today,\n isDisabled: calendar.isDisabled,\n onSelect: calendar.handleDateClick,\n onHover: calendar.handleDateMouseEnter,\n onHoverEnd: calendar.handleDateMouseLeave,\n});\n\n// The container is the forwarded ref's AND the picker's: focus falls back to it.\nconst useRootRef = (forwarded: React.ForwardedRef<HTMLDivElement>) => {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const setRoot = useCallback(\n (node: HTMLDivElement | null) => {\n rootRef.current = node;\n if (typeof forwarded === 'function') forwarded(node);\n else if (forwarded) forwarded.current = node;\n },\n [forwarded],\n );\n return { rootRef, setRoot };\n};\n\n/** The tab stop as a day of its OWN month — side by side, an outside copy of it comes first in the DOM. */\nconst OWN_MONTH_STOP = '[role=\"gridcell\"][tabindex=\"0\"][data-in-month=\"true\"]';\nconst ANY_STOP = '[role=\"gridcell\"][tabindex=\"0\"]';\n\n/**\n * Keeps the keyboard's place visible when it is on a DAY.\n *\n * The arrows move the grid's one tab stop (`focusedDate`), and that is enough\n * while the container holds focus. But a reader who tabbed onto a day, or\n * clicked one, has focus on that day's button: the tab stop moved and focus\n * stayed behind on a cell that is no longer it, so the ring sat on the old day\n * and a month change unmounted it under the reader.\n *\n * So a NAVIGATION key pressed on a day notes where the tab stop was, and once\n * it has moved, focus follows it to the day in its own month. Any other key —\n * Enter, Tab, Escape — clears the note: Enter re-sets the same day and must\n * leave focus alone, and a stale note would pull focus into the grid on the\n * next mouse pick.\n */\nconst useFollowDayFocus = (\n rootRef: React.RefObject<HTMLDivElement | null>,\n focusedDate: Date,\n firstDayOfWeek: number,\n) => {\n const movedFrom = useRef<number | null>(null);\n useEffect(() => {\n const from = movedFrom.current;\n movedFrom.current = null;\n if (from === null || from === focusedDate.getTime()) return;\n const root = rootRef.current;\n (root?.querySelector<HTMLElement>(OWN_MONTH_STOP) ?? root?.querySelector<HTMLElement>(ANY_STOP))?.focus();\n }, [rootRef, focusedDate]);\n return (event: React.KeyboardEvent) => {\n const onDay = (event.target as HTMLElement).getAttribute('role') === 'gridcell';\n const moves = navigateFocus(event.key, focusedDate, { firstDayOfWeek, shiftKey: event.shiftKey }) !== null;\n movedFrom.current = onDay && moves ? focusedDate.getTime() : null;\n };\n};\n\nexport const Calendar = React.forwardRef<HTMLDivElement, CalendarProps>((componentProps, ref) => {\n const props = resolveCalendarProps(componentProps);\n const { monthsToShow, locale, renderHeader, renderFooter, className, ariaLabel } = props;\n\n const calendar = useCalendar(props);\n const { rootRef, setRoot } = useRootRef(ref);\n const bounds = { minDate: props.minDate, maxDate: props.maxDate };\n const picker = useCalendarPicker({ rootRef, bounds, ...calendar });\n const dayContext = buildDayContext(props, calendar);\n const noteKeyTarget = useFollowDayFocus(rootRef, calendar.focusedDate, props.firstDayOfWeek);\n const labels = resolveLabels(EN_US_UI_LABELS.calendar, props.labels);\n // The selectors caption always resolves to one month (see the helpers).\n const firstMonth = calendar.monthMatrices[0];\n\n return (\n <Paper\n ref={setRoot}\n className={className}\n role=\"application\"\n aria-label={ariaLabel}\n tabIndex={0}\n // The day keys belong to the days: with a month or year grid open there\n // is no focused day on screen to move.\n onKeyDown={\n picker.view === 'days'\n ? (event) => {\n noteKeyTarget(event);\n calendar.handleKeyDown(event);\n }\n : undefined\n }\n data-testid=\"calendar-container\"\n sx={containerSx(monthsToShow)}\n >\n <Box ref={calendar.gridRef} sx={{ display: 'flex', gap: 3, flexWrap: 'wrap' }}>\n {props.captionLayout === 'selectors' && firstMonth ? (\n <CalendarSelectorsMonth\n matrix={firstMonth}\n locale={locale}\n weekdayNames={calendar.weekdayNames}\n dayContext={dayContext}\n bounds={bounds}\n labels={labels}\n picker={picker}\n onPreviousMonth={() => {\n picker.showDays();\n calendar.goToPreviousMonth();\n }}\n onNextMonth={() => {\n picker.showDays();\n calendar.goToNextMonth();\n }}\n />\n ) : (\n calendar.monthMatrices.map((matrix, index) => (\n <CalendarMonth\n key={`month-${matrix.year}-${matrix.month}`}\n matrix={matrix}\n monthIndex={index}\n monthsToShow={monthsToShow}\n locale={locale}\n weekdayNames={calendar.weekdayNames}\n renderHeader={renderHeader}\n // Only a host that passed `labels` gets named arrows: without\n // them the arrows caption stays exactly as it always was.\n labels={props.labels ? labels : undefined}\n onPreviousMonth={calendar.goToPreviousMonth}\n onNextMonth={calendar.goToNextMonth}\n dayContext={dayContext}\n />\n ))\n )}\n </Box>\n\n {renderFooter && (\n <Box sx={{ mt: 2, pt: 2, borderTop: 1, borderColor: 'divider' }}>{renderFooter}</Box>\n )}\n </Paper>\n );\n});\n\nCalendar.displayName = 'Calendar';\n\nexport default Calendar;\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Calendar/Calendar.hooks.ts"],"sourcesContent":["import type React from 'react';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { addMonths, generateMonthMatrix, getWeekdayNames, normalizeDate } from './Calendar.dates';\nimport { ACTIVATION_KEYS, navigateFocus } from './Calendar.keyboard';\nimport { isDateDisabledBy, nextRangeStep } from './Calendar.selection';\nimport type { MonthMatrix, ResolvedCalendarProps } from './Calendar.types';\n\nconst startOfMonth = (date: Date): Date => new Date(date.getFullYear(), date.getMonth(), 1);\n\n// Which day the calendar opens on: whatever is already chosen, else the first\n// of `defaultMonth`, else today.\nconst initialFocus = (props: ResolvedCalendarProps, today: Date): Date => {\n if (props.selectionMode === 'single' && props.value) return normalizeDate(props.value);\n if (props.selectionMode === 'range' && props.range.start) return normalizeDate(props.range.start);\n if (props.defaultMonth) return normalizeDate(startOfMonth(props.defaultMonth));\n return today;\n};\n\nconst useCalendarState = (props: ResolvedCalendarProps, today: Date) => {\n const [focusedDate, setFocusedDate] = useState<Date>(() => initialFocus(props, today));\n const [hoveredDate, setHoveredDate] = useState<Date | null>(null);\n const [currentMonth, setCurrentMonth] = useState<Date>(() => startOfMonth(focusedDate));\n\n return {\n focusedDate,\n setFocusedDate,\n hoveredDate,\n setHoveredDate,\n currentMonth,\n setCurrentMonth,\n };\n};\n\nconst useAutoFocusGrid = (autoFocus: boolean) => {\n const gridRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (autoFocus && gridRef.current) gridRef.current.focus();\n }, [autoFocus]);\n\n return gridRef;\n};\n\nconst useVisibleMonths = ({\n currentMonth,\n monthsToShow,\n firstDayOfWeek,\n fixedWeeks,\n}: {\n currentMonth: Date;\n monthsToShow: number;\n firstDayOfWeek: number;\n fixedWeeks: boolean;\n}): MonthMatrix[] =>\n useMemo(() => {\n const matrices: MonthMatrix[] = [];\n let cursor = currentMonth;\n\n for (let i = 0; i < monthsToShow; i++) {\n matrices.push(generateMonthMatrix(cursor.getMonth(), cursor.getFullYear(), firstDayOfWeek, fixedWeeks));\n cursor = addMonths(cursor, 1);\n }\n\n return matrices;\n }, [currentMonth, monthsToShow, firstDayOfWeek, fixedWeeks]);\n\n// A click either sets a single date or advances the range by one step; the range\n// rules themselves live in nextRangeStep.\nconst useDateClick = ({\n props,\n isDisabled,\n setFocusedDate,\n}: {\n props: ResolvedCalendarProps;\n isDisabled: (date: Date) => boolean;\n setFocusedDate: (date: Date) => void;\n}) => {\n const {\n selectionMode,\n range,\n onChange,\n onRangeChange,\n onIntermediateRangeChange,\n allowSameDayRange,\n minRangeLength,\n maxRangeLength,\n } = props;\n\n return useCallback(\n (date: Date) => {\n if (isDisabled(date)) return;\n\n const candidate = normalizeDate(date);\n setFocusedDate(candidate);\n\n if (selectionMode === 'single') {\n onChange?.(candidate);\n return;\n }\n\n const step = nextRangeStep({\n start: range.start,\n end: range.end,\n candidate,\n allowSameDayRange,\n minRangeLength,\n maxRangeLength,\n });\n\n if (step.kind === 'rejected') return;\n\n if (step.kind === 'complete') onRangeChange?.(step.range);\n onIntermediateRangeChange?.(step.range);\n },\n [\n selectionMode,\n range,\n onChange,\n onRangeChange,\n onIntermediateRangeChange,\n isDisabled,\n allowSameDayRange,\n minRangeLength,\n maxRangeLength,\n setFocusedDate,\n ],\n );\n};\n\n// Hovering only means something while a range is half-chosen.\nconst useHoverHandlers = ({\n selectionMode,\n range,\n isDisabled,\n setHoveredDate,\n}: {\n selectionMode: ResolvedCalendarProps['selectionMode'];\n range: ResolvedCalendarProps['range'];\n isDisabled: (date: Date) => boolean;\n setHoveredDate: (date: Date | null) => void;\n}) => {\n const handleDateMouseEnter = useCallback(\n (date: Date) => {\n if (selectionMode === 'range' && range.start && !range.end && !isDisabled(date)) {\n setHoveredDate(normalizeDate(date));\n }\n },\n [selectionMode, range, isDisabled, setHoveredDate],\n );\n\n const handleDateMouseLeave = useCallback(() => setHoveredDate(null), [setHoveredDate]);\n\n return { handleDateMouseEnter, handleDateMouseLeave };\n};\n\nconst useKeyboardHandler = ({\n focusedDate,\n firstDayOfWeek,\n currentMonth,\n handleDateClick,\n setFocusedDate,\n setCurrentMonth,\n setHoveredDate,\n}: {\n focusedDate: Date;\n firstDayOfWeek: number;\n currentMonth: Date;\n handleDateClick: (date: Date) => void;\n setFocusedDate: (date: Date) => void;\n setCurrentMonth: (date: Date) => void;\n setHoveredDate: (date: Date | null) => void;\n}) =>\n useCallback(\n (event: React.KeyboardEvent) => {\n const { key } = event;\n const moved = navigateFocus(key, focusedDate, { firstDayOfWeek, shiftKey: event.shiftKey });\n\n if (moved) {\n event.preventDefault();\n setFocusedDate(normalizeDate(moved));\n\n // Follow focus into a month that is not on screen.\n const month = startOfMonth(moved);\n if (month.getTime() !== currentMonth.getTime()) setCurrentMonth(month);\n return;\n }\n\n if (ACTIVATION_KEYS.includes(key)) {\n event.preventDefault();\n handleDateClick(focusedDate);\n return;\n }\n\n if (key === 'Escape') {\n event.preventDefault();\n setHoveredDate(null);\n }\n },\n [\n focusedDate,\n firstDayOfWeek,\n currentMonth,\n handleDateClick,\n setFocusedDate,\n setCurrentMonth,\n setHoveredDate,\n ],\n );\n\nexport const useCalendar = (props: ResolvedCalendarProps) => {\n const { monthsToShow, firstDayOfWeek, locale, minDate, maxDate, isDateDisabled } = props;\n\n const today = useMemo(() => normalizeDate(new Date()), []);\n const state = useCalendarState(props, today);\n const gridRef = useAutoFocusGrid(props.autoFocus);\n\n const monthMatrices = useVisibleMonths({\n currentMonth: state.currentMonth,\n monthsToShow,\n firstDayOfWeek,\n // The selectors caption steps month by month under the thumb; six weeks\n // every time keep it, and a sheet anchored below, where they are.\n fixedWeeks: props.captionLayout === 'selectors',\n });\n\n const weekdayNames = useMemo(\n () => getWeekdayNames(locale, firstDayOfWeek),\n [locale, firstDayOfWeek],\n );\n\n const isDisabled = useCallback(\n (date: Date) => isDateDisabledBy({ date, minDate, maxDate, isDateDisabled }),\n [minDate, maxDate, isDateDisabled],\n );\n\n const { setCurrentMonth } = state;\n const goToPreviousMonth = useCallback(\n () => setCurrentMonth((prev) => addMonths(prev, -1)),\n [setCurrentMonth],\n );\n const goToNextMonth = useCallback(\n () => setCurrentMonth((prev) => addMonths(prev, 1)),\n [setCurrentMonth],\n );\n\n const handleDateClick = useDateClick({\n props,\n isDisabled,\n setFocusedDate: state.setFocusedDate,\n });\n\n const { handleDateMouseEnter, handleDateMouseLeave } = useHoverHandlers({\n selectionMode: props.selectionMode,\n range: props.range,\n isDisabled,\n setHoveredDate: state.setHoveredDate,\n });\n\n const handleKeyDown = useKeyboardHandler({\n focusedDate: state.focusedDate,\n firstDayOfWeek,\n currentMonth: state.currentMonth,\n handleDateClick,\n setFocusedDate: state.setFocusedDate,\n setCurrentMonth: state.setCurrentMonth,\n setHoveredDate: state.setHoveredDate,\n });\n\n return {\n gridRef,\n today,\n focusedDate: state.focusedDate,\n setFocusedDate: state.setFocusedDate,\n currentMonth: state.currentMonth,\n setCurrentMonth: state.setCurrentMonth,\n hoveredDate: state.hoveredDate,\n monthMatrices,\n weekdayNames,\n isDisabled,\n goToPreviousMonth,\n goToNextMonth,\n handleDateClick,\n handleDateMouseEnter,\n handleDateMouseLeave,\n handleKeyDown,\n };\n};\n"],"mappings":"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","names":[]}