@12-apps/ui 6.43.0 → 6.44.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 (416) hide show
  1. package/NATIVE.md +1 -1
  2. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +3 -3
  3. package/dist/_internal/components/data-display/Badge/Badge.js +6 -5
  4. package/dist/_internal/components/data-display/Badge/Badge.styles.js +4 -3
  5. package/dist/_internal/components/data-display/Badge/BadgeContent.js +5 -4
  6. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +5 -5
  7. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +5 -5
  8. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +5 -4
  9. package/dist/_internal/components/data-display/Carousel/Carousel.js +8 -7
  10. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +4 -3
  11. package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +4 -3
  12. package/dist/_internal/components/data-display/Chart/Chart.js +7 -6
  13. package/dist/_internal/components/data-display/Chart/SpecChart.js +8 -7
  14. package/dist/_internal/components/data-display/Chart/chart-context.js +5 -4
  15. package/dist/_internal/components/data-display/Chart/chart-internals.js +4 -3
  16. package/dist/_internal/components/data-display/Chart/chart-renderers.js +6 -5
  17. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +4 -3
  18. package/dist/_internal/components/data-display/DataGrid/DataGrid.model.js +3 -2
  19. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +32 -31
  20. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +45 -44
  21. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +3 -3
  22. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +7 -7
  23. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +3 -3
  24. package/dist/_internal/components/data-display/DataViews/base-card.js +3 -3
  25. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +6 -5
  26. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +3 -3
  27. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +5 -4
  28. package/dist/_internal/components/data-display/DataViews/base-list-card.js +10 -9
  29. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +8 -8
  30. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +5 -4
  31. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +4 -3
  32. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +12 -12
  33. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +8 -7
  34. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +31 -30
  35. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +12 -12
  36. package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +3 -2
  37. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +9 -9
  38. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +10 -10
  39. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +4 -3
  40. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +8 -7
  41. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +10 -10
  42. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +7 -6
  43. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +4 -3
  44. package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
  45. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +2 -2
  46. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +5 -5
  47. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +4 -4
  48. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +13 -12
  49. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +2 -2
  50. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +2 -2
  51. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +2 -2
  52. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +3 -3
  53. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +3 -3
  54. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +3 -2
  55. package/dist/_internal/components/data-display/Sheet/Sheet.js +5 -4
  56. package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +4 -3
  57. package/dist/_internal/components/data-display/Table/Table.js +4 -3
  58. package/dist/_internal/components/data-display/index.js +38 -37
  59. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +2 -2
  60. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +3 -3
  61. package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +2 -2
  62. package/dist/_internal/components/feedback/Dialog/Dialog.js +2 -2
  63. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +6 -6
  64. package/dist/_internal/components/feedback/index.js +14 -14
  65. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +1 -1
  66. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +1 -1
  67. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +3 -3
  68. package/dist/_internal/components/form/Autocomplete/useAutocomplete.js +1 -1
  69. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +3 -3
  70. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +6 -6
  71. package/dist/_internal/components/form/Checkbox/Checkbox.js +2 -2
  72. package/dist/_internal/components/form/Command/Command.js +5 -4
  73. package/dist/_internal/components/form/Command/Command.styles.js +4 -3
  74. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +2 -2
  75. package/dist/_internal/components/form/Label/Label.js +5 -4
  76. package/dist/_internal/components/form/Label/Label.styles.js +4 -3
  77. package/dist/_internal/components/form/Menubar/Menubar.item.js +5 -4
  78. package/dist/_internal/components/form/Menubar/Menubar.js +7 -6
  79. package/dist/_internal/components/form/Menubar/Menubar.styles.js +4 -3
  80. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +6 -5
  81. package/dist/_internal/components/form/UploadButton/UploadButton.js +2 -2
  82. package/dist/_internal/components/form/index.js +21 -20
  83. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +7 -7
  84. package/dist/_internal/components/form/total-form/Fields/index.js +11 -11
  85. package/dist/_internal/components/index.js +100 -99
  86. package/dist/_internal/components/layout/Box/Box.js +6 -5
  87. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +2 -2
  88. package/dist/_internal/components/layout/SettingCard/SettingCard.js +8 -7
  89. package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +7 -6
  90. package/dist/_internal/components/layout/SettingCard/SettingGrid.js +8 -7
  91. package/dist/_internal/components/layout/SettingCard/SettingGroup.js +10 -9
  92. package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +9 -8
  93. package/dist/_internal/components/layout/SettingCard/SettingToggle.js +10 -9
  94. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +4 -4
  95. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +3 -3
  96. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.js +2 -2
  97. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.scroll.js +1 -1
  98. package/dist/_internal/components/layout/Stack/Stack.js +7 -6
  99. package/dist/_internal/components/layout/index.js +20 -19
  100. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +8 -7
  101. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +4 -3
  102. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +2 -2
  103. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +3 -3
  104. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +5 -5
  105. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
  106. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +3 -3
  107. package/dist/_internal/components/navigation/index.js +16 -15
  108. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.js +2 -2
  109. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +6 -3
  110. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +7 -6
  111. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +5 -4
  112. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +6 -5
  113. package/dist/_internal/components/utility/index.js +9 -8
  114. package/dist/_internal/icons/Icon.js +6 -5
  115. package/dist/_internal/provider/UiProvider.js +5 -4
  116. package/dist/_internal/provider/mui-bridge.js +4 -3
  117. package/dist/_internal/provider/use-ui-theme.js +5 -4
  118. package/dist/_internal/tokens/density-overrides.js +11 -0
  119. package/dist/_internal/tokens/density-overrides.js.map +1 -0
  120. package/dist/_internal/tokens/density.js +3 -1
  121. package/dist/charts.js +8 -7
  122. package/dist/{chunk-DJKVSUXH.js → chunk-2GG5W6LR.js} +10 -2
  123. package/dist/chunk-2GG5W6LR.js.map +1 -0
  124. package/dist/{chunk-442FSG7G.js → chunk-3I77A65F.js} +4 -4
  125. package/dist/{chunk-R2FUQV24.js → chunk-4MGUBSAL.js} +2 -2
  126. package/dist/{chunk-YIWVHEPW.js → chunk-4T5LD2NV.js} +2 -2
  127. package/dist/{chunk-4CHYMTBT.js → chunk-4WCDMCIS.js} +4 -4
  128. package/dist/chunk-532XOWZ5.js +59 -0
  129. package/dist/chunk-532XOWZ5.js.map +1 -0
  130. package/dist/{chunk-5KGABAQB.js → chunk-5752357K.js} +4 -4
  131. package/dist/{chunk-JSGVYOMN.js → chunk-5MW7OYBM.js} +2 -2
  132. package/dist/{chunk-RWRPF24F.js → chunk-5OS5AMC2.js} +2 -2
  133. package/dist/{chunk-I6MVJWUO.js → chunk-6B3QXFF5.js} +2 -2
  134. package/dist/{chunk-MLUUF7OZ.js → chunk-6B4UTB4O.js} +2 -2
  135. package/dist/{chunk-FBUCXTA4.js → chunk-6DMUVVON.js} +2 -2
  136. package/dist/{chunk-G7RYAWPZ.js → chunk-6HTCCWUM.js} +2 -2
  137. package/dist/{chunk-77BKKPCI.js → chunk-6KLDYVRY.js} +2 -2
  138. package/dist/{chunk-6Z6PUG4C.js → chunk-6LYRFS5S.js} +5 -5
  139. package/dist/{chunk-KJID4PRD.js → chunk-6S25ZCEW.js} +34 -45
  140. package/dist/chunk-6S25ZCEW.js.map +1 -0
  141. package/dist/{chunk-K4A3JDYQ.js → chunk-6ZWOVUNB.js} +2 -2
  142. package/dist/{chunk-3RUCLKAK.js → chunk-7HZTYK7U.js} +4 -4
  143. package/dist/{chunk-BKZERHNC.js → chunk-7XDET7PL.js} +3 -3
  144. package/dist/{chunk-OD3L6GX5.js → chunk-A7OQBAR7.js} +2 -2
  145. package/dist/{chunk-2MLS6KU4.js → chunk-AEKHSORY.js} +2 -2
  146. package/dist/{chunk-5DAVXZPY.js → chunk-B2WBDMHE.js} +2 -2
  147. package/dist/{chunk-GZT7MLLO.js → chunk-B2ZITMYG.js} +2 -2
  148. package/dist/{chunk-54HTXJJ2.js → chunk-BHE44AQE.js} +2 -2
  149. package/dist/{chunk-TBMGYQJF.js → chunk-BKBELIUR.js} +2 -2
  150. package/dist/{chunk-OOB3YWPX.js → chunk-BZFRBG2H.js} +4 -4
  151. package/dist/{chunk-PICOOZLX.js → chunk-C5RTSOXD.js} +3 -3
  152. package/dist/{chunk-GO6XDMBB.js → chunk-CEJTGG6J.js} +2 -2
  153. package/dist/{chunk-ZGWEFOW6.js → chunk-CKAVTWXP.js} +4 -4
  154. package/dist/{chunk-ANYOSBNA.js → chunk-CSXK7LH7.js} +2 -2
  155. package/dist/{chunk-U6DOF5CR.js → chunk-CU7ELD43.js} +2 -2
  156. package/dist/{chunk-XO4ZUHVH.js → chunk-CYPBF3BI.js} +2 -2
  157. package/dist/{chunk-EO5IEWFI.js → chunk-DE6A46AE.js} +6 -6
  158. package/dist/{chunk-JMEPGXJG.js → chunk-DHW5UMUG.js} +2 -2
  159. package/dist/{chunk-3EPA2A4M.js → chunk-DJIFXJ4C.js} +5 -5
  160. package/dist/{chunk-CM2Q7IH3.js → chunk-DTLKF4AX.js} +6 -6
  161. package/dist/{chunk-C6JUGWAU.js → chunk-DYCTIOER.js} +4 -4
  162. package/dist/{chunk-LCWGNDTH.js → chunk-EKBUM7HK.js} +4 -4
  163. package/dist/{chunk-NYT3UVOH.js → chunk-EOEYOPOS.js} +7 -7
  164. package/dist/{chunk-7LILFS72.js → chunk-EOKPFMJD.js} +2 -2
  165. package/dist/{chunk-ZSTSISM6.js → chunk-FHWXRHMA.js} +1 -1
  166. package/dist/{chunk-ZSTSISM6.js.map → chunk-FHWXRHMA.js.map} +1 -1
  167. package/dist/{chunk-4PRZLII7.js → chunk-FOM7OMJR.js} +5 -5
  168. package/dist/{chunk-QSNLIWEB.js → chunk-FTV5R2UZ.js} +2 -2
  169. package/dist/{chunk-NDHDBOUH.js → chunk-FWPFCK4D.js} +4 -4
  170. package/dist/{chunk-ON4TRXCM.js → chunk-GHJ2FIJO.js} +3 -3
  171. package/dist/{chunk-GANW7FXQ.js → chunk-GKNMKPR6.js} +2 -2
  172. package/dist/{chunk-LGCRL7DK.js → chunk-GP4BJI3F.js} +2 -2
  173. package/dist/{chunk-652PYSML.js → chunk-HDVEE4NQ.js} +14 -6
  174. package/dist/chunk-HDVEE4NQ.js.map +1 -0
  175. package/dist/{chunk-4MKVGSHX.js → chunk-HN3PZTUK.js} +5 -5
  176. package/dist/{chunk-HBP2OU4Q.js → chunk-HNFZLXZI.js} +5 -5
  177. package/dist/{chunk-5FHPZOYK.js → chunk-HOIHO2YQ.js} +2 -2
  178. package/dist/{chunk-3AOOI2NR.js → chunk-HR7YTBR7.js} +4 -4
  179. package/dist/{chunk-PGV2FLE3.js → chunk-IG26N6J2.js} +2 -2
  180. package/dist/{chunk-G2WERTWZ.js → chunk-IGGXKT5B.js} +2 -2
  181. package/dist/{chunk-XLXMJ6X2.js → chunk-IO2X6DVH.js} +3 -3
  182. package/dist/{chunk-3CLBGHTL.js → chunk-ITBUKGG3.js} +2 -2
  183. package/dist/{chunk-6IRJAIS4.js → chunk-IXWIJCS3.js} +2 -2
  184. package/dist/{chunk-TMW7RBW7.js → chunk-J6TIK47Z.js} +2 -2
  185. package/dist/{chunk-G4TKMUOL.js → chunk-JDEKR77O.js} +7 -7
  186. package/dist/{chunk-Y2C2S4R7.js → chunk-JHW62I7Z.js} +7 -5
  187. package/dist/chunk-JHW62I7Z.js.map +1 -0
  188. package/dist/{chunk-ITFFA3H2.js → chunk-JYLBVHG2.js} +3 -3
  189. package/dist/{chunk-G7XHJPLO.js → chunk-JZ7ZRZTF.js} +4 -4
  190. package/dist/{chunk-YTVXT5TD.js → chunk-K5CCQBNN.js} +6 -6
  191. package/dist/{chunk-AOFI3GDS.js → chunk-KMC6WP66.js} +5 -5
  192. package/dist/{chunk-K62RHTFB.js → chunk-KNAWZM7F.js} +2 -2
  193. package/dist/{chunk-4Z2HIHA5.js → chunk-KRA75CKC.js} +2 -2
  194. package/dist/{chunk-RHKT2XW2.js → chunk-KUKY5GEX.js} +3 -3
  195. package/dist/{chunk-HUAQQ5ZL.js → chunk-LHHV6NXO.js} +2 -2
  196. package/dist/{chunk-BJGUDLWZ.js → chunk-LRFXCZB4.js} +2 -2
  197. package/dist/{chunk-U6W2RY3Z.js → chunk-MLQYIJTO.js} +5 -5
  198. package/dist/{chunk-GPHURU2K.js → chunk-MSAAOQAD.js} +7 -7
  199. package/dist/{chunk-3MJHHPRW.js → chunk-MVR4GURP.js} +2 -2
  200. package/dist/{chunk-PRLYYKMG.js → chunk-MW7S7WZM.js} +2 -2
  201. package/dist/{chunk-ERY6D2OV.js → chunk-MWPXKZ7O.js} +4 -4
  202. package/dist/{chunk-ZUME25DS.js → chunk-NM2FLCPV.js} +3 -3
  203. package/dist/{chunk-UP7SSTCZ.js → chunk-OAVRXSAS.js} +7 -7
  204. package/dist/{chunk-VYA4QWQL.js → chunk-PJVZY2SA.js} +2 -2
  205. package/dist/{chunk-SDBBJ6FG.js → chunk-PUYJVQ7X.js} +2 -2
  206. package/dist/{chunk-IUD6N52Q.js → chunk-PXGURBIU.js} +4 -4
  207. package/dist/{chunk-PNDYAIKM.js → chunk-Q5J37WOE.js} +2 -2
  208. package/dist/{chunk-DCT2PKMQ.js → chunk-QGB3DOMV.js} +2 -2
  209. package/dist/{chunk-GT2RCOHM.js → chunk-QLAFJZDS.js} +31 -13
  210. package/dist/chunk-QLAFJZDS.js.map +1 -0
  211. package/dist/{chunk-YGYQC7MT.js → chunk-QOLIBVGS.js} +4 -4
  212. package/dist/{chunk-TDXEO2UI.js → chunk-RJ35IXFD.js} +2 -2
  213. package/dist/{chunk-P6Q2O3TU.js → chunk-RNVR3RGV.js} +2 -2
  214. package/dist/{chunk-SNW5MJ6I.js → chunk-RPKWTFJ2.js} +2 -2
  215. package/dist/{chunk-NPPJ3IJP.js → chunk-RRAWJQIO.js} +2 -2
  216. package/dist/{chunk-H3GYVR7S.js → chunk-SM4MT4YC.js} +3 -3
  217. package/dist/{chunk-5B7BTLN4.js → chunk-SOCZLOPJ.js} +2 -2
  218. package/dist/{chunk-RXNIOPOA.js → chunk-TM5QQJTF.js} +8 -2
  219. package/dist/{chunk-RXNIOPOA.js.map → chunk-TM5QQJTF.js.map} +1 -1
  220. package/dist/{chunk-Z4O3F6KU.js → chunk-U4QUDFPJ.js} +4 -4
  221. package/dist/{chunk-KWU62UPM.js → chunk-UHGQ74E3.js} +2 -2
  222. package/dist/{chunk-Z6LTEJ7F.js → chunk-VKFZQSQC.js} +4 -4
  223. package/dist/{chunk-MBNXCCRG.js → chunk-VQUPB7F7.js} +7 -7
  224. package/dist/{chunk-CNR5RFKC.js → chunk-VVFV4MXS.js} +2 -2
  225. package/dist/{chunk-ALOUJ3CE.js → chunk-WQ3KTELX.js} +5 -5
  226. package/dist/{chunk-FY6PONLA.js → chunk-WSYPM3SR.js} +2 -2
  227. package/dist/{chunk-QMELMQPA.js → chunk-X4VWYWFK.js} +2 -2
  228. package/dist/{chunk-5PJM772Y.js → chunk-XLQYOBHP.js} +4 -4
  229. package/dist/{chunk-TCMH3FXD.js → chunk-XTDJ2D5A.js} +2 -2
  230. package/dist/{chunk-F5GXWK6B.js → chunk-Y2CMWGIU.js} +3 -3
  231. package/dist/{chunk-SJGYMI6Y.js → chunk-Y4ET3NRC.js} +2 -2
  232. package/dist/{chunk-7OO3BELX.js → chunk-Y6RSQEOU.js} +3 -2
  233. package/dist/{chunk-7OO3BELX.js.map → chunk-Y6RSQEOU.js.map} +1 -1
  234. package/dist/{chunk-FIO55AKI.js → chunk-YCHOWWRE.js} +3 -3
  235. package/dist/{chunk-MM5XSAVE.js → chunk-YDIRPKYI.js} +2 -2
  236. package/dist/{chunk-44Z72DDM.js → chunk-YF3VD2KD.js} +2 -2
  237. package/dist/{chunk-BR2T72JI.js → chunk-YWJZPN5C.js} +11 -1
  238. package/dist/chunk-YWJZPN5C.js.map +1 -0
  239. package/dist/{chunk-Z4DKVLYG.js → chunk-Z3HSRNJT.js} +4 -4
  240. package/dist/{chunk-5PTCT3LF.js → chunk-ZQ7IESR7.js} +2 -2
  241. package/dist/data-display/AsyncStateContainer.js +3 -3
  242. package/dist/data-display/Badge.js +6 -5
  243. package/dist/data-display/CardKit.js +10 -10
  244. package/dist/data-display/Carousel.js +8 -7
  245. package/dist/data-display/Chart.js +8 -7
  246. package/dist/data-display/DataGrid.js +4 -3
  247. package/dist/data-display/DataViews.js +54 -53
  248. package/dist/data-display/EmptyState.js +2 -2
  249. package/dist/data-display/FleetMap.js +13 -12
  250. package/dist/data-display/InteractiveTooltip.js +2 -2
  251. package/dist/data-display/Lightbox.js +2 -2
  252. package/dist/data-display/MapPreview.js +3 -3
  253. package/dist/data-display/SectionOnboarding.js +3 -3
  254. package/dist/data-display/Sheet.js +5 -4
  255. package/dist/data-display/Table.js +4 -3
  256. package/dist/feedback/ConfirmAction.js +6 -6
  257. package/dist/feedback/Dialog.js +2 -2
  258. package/dist/feedback/StackedModal.js +6 -6
  259. package/dist/form/AddressAutocomplete.js +1 -1
  260. package/dist/form/Autocomplete.js +3 -3
  261. package/dist/form/CategorySelect.js +6 -6
  262. package/dist/form/Checkbox.js +2 -2
  263. package/dist/form/Command.js +5 -4
  264. package/dist/form/DateRangePicker.js +2 -2
  265. package/dist/form/Label.js +5 -4
  266. package/dist/form/Menubar.js +7 -6
  267. package/dist/form/UploadButton.js +2 -2
  268. package/dist/form/total-form.js +9 -9
  269. package/dist/icons.js +6 -5
  270. package/dist/layout/Box.js +6 -5
  271. package/dist/layout/ContentToolbar.js +3 -3
  272. package/dist/layout/ScrollArea.js +2 -2
  273. package/dist/layout/SettingCard.js +15 -14
  274. package/dist/layout/SettingsLayout.js +4 -4
  275. package/dist/layout/Stack.js +7 -6
  276. package/dist/navigation/AppHeader.js +9 -8
  277. package/dist/navigation/CommandPalette.js +2 -2
  278. package/dist/navigation/NavigationMenu.js +5 -5
  279. package/dist/provider.js +6 -5
  280. package/dist/tokens.js +8 -2
  281. package/dist/types/components/form/Autocomplete/useAutocomplete.d.ts.map +1 -1
  282. package/dist/types/components/layout/SettingsLayout/SettingsSectionChips.scroll.d.ts.map +1 -1
  283. package/dist/types/components/utility/WorkflowStep/WorkflowStep.d.ts.map +1 -1
  284. package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts +15 -0
  285. package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts.map +1 -1
  286. package/dist/types/components/utility/WorkflowStep/WorkflowStep.parts.d.ts +7 -1
  287. package/dist/types/components/utility/WorkflowStep/WorkflowStep.parts.d.ts.map +1 -1
  288. package/dist/types/components/utility/WorkflowStep/WorkflowStep.types.d.ts +10 -0
  289. package/dist/types/components/utility/WorkflowStep/WorkflowStep.types.d.ts.map +1 -1
  290. package/dist/types/components/utility/WorkflowStep/WorkflowStepRow.d.ts.map +1 -1
  291. package/dist/types/provider/mui-bridge.d.ts.map +1 -1
  292. package/dist/types/tokens/density-overrides.d.ts +6 -0
  293. package/dist/types/tokens/density-overrides.d.ts.map +1 -0
  294. package/dist/types/tokens/density.d.ts +9 -6
  295. package/dist/types/tokens/density.d.ts.map +1 -1
  296. package/dist/types/tokens/scales.d.ts +1 -0
  297. package/dist/types/tokens/scales.d.ts.map +1 -1
  298. package/dist/utility/InfiniteScroll.js +2 -2
  299. package/dist/utility/WorkflowStep.js +7 -6
  300. package/package.json +1 -1
  301. package/src/components/form/Autocomplete/useAutocomplete.ts +17 -0
  302. package/src/components/layout/SettingsLayout/SettingsSectionChips.scroll.ts +52 -16
  303. package/src/components/utility/WorkflowStep/WorkflowStep.helpers.ts +25 -0
  304. package/src/components/utility/WorkflowStep/WorkflowStep.parts.tsx +46 -49
  305. package/src/components/utility/WorkflowStep/WorkflowStep.tsx +5 -3
  306. package/src/components/utility/WorkflowStep/WorkflowStep.types.ts +10 -0
  307. package/src/components/utility/WorkflowStep/WorkflowStepRow.tsx +1 -0
  308. package/src/provider/mui-bridge.ts +9 -4
  309. package/src/tokens/density-overrides.ts +177 -0
  310. package/src/tokens/density.ts +15 -7
  311. package/src/tokens/scales.ts +4 -0
  312. package/dist/chunk-652PYSML.js.map +0 -1
  313. package/dist/chunk-BR2T72JI.js.map +0 -1
  314. package/dist/chunk-DJKVSUXH.js.map +0 -1
  315. package/dist/chunk-GT2RCOHM.js.map +0 -1
  316. package/dist/chunk-KJID4PRD.js.map +0 -1
  317. package/dist/chunk-Y2C2S4R7.js.map +0 -1
  318. /package/dist/{chunk-442FSG7G.js.map → chunk-3I77A65F.js.map} +0 -0
  319. /package/dist/{chunk-R2FUQV24.js.map → chunk-4MGUBSAL.js.map} +0 -0
  320. /package/dist/{chunk-YIWVHEPW.js.map → chunk-4T5LD2NV.js.map} +0 -0
  321. /package/dist/{chunk-4CHYMTBT.js.map → chunk-4WCDMCIS.js.map} +0 -0
  322. /package/dist/{chunk-5KGABAQB.js.map → chunk-5752357K.js.map} +0 -0
  323. /package/dist/{chunk-JSGVYOMN.js.map → chunk-5MW7OYBM.js.map} +0 -0
  324. /package/dist/{chunk-RWRPF24F.js.map → chunk-5OS5AMC2.js.map} +0 -0
  325. /package/dist/{chunk-I6MVJWUO.js.map → chunk-6B3QXFF5.js.map} +0 -0
  326. /package/dist/{chunk-MLUUF7OZ.js.map → chunk-6B4UTB4O.js.map} +0 -0
  327. /package/dist/{chunk-FBUCXTA4.js.map → chunk-6DMUVVON.js.map} +0 -0
  328. /package/dist/{chunk-G7RYAWPZ.js.map → chunk-6HTCCWUM.js.map} +0 -0
  329. /package/dist/{chunk-77BKKPCI.js.map → chunk-6KLDYVRY.js.map} +0 -0
  330. /package/dist/{chunk-6Z6PUG4C.js.map → chunk-6LYRFS5S.js.map} +0 -0
  331. /package/dist/{chunk-K4A3JDYQ.js.map → chunk-6ZWOVUNB.js.map} +0 -0
  332. /package/dist/{chunk-3RUCLKAK.js.map → chunk-7HZTYK7U.js.map} +0 -0
  333. /package/dist/{chunk-BKZERHNC.js.map → chunk-7XDET7PL.js.map} +0 -0
  334. /package/dist/{chunk-OD3L6GX5.js.map → chunk-A7OQBAR7.js.map} +0 -0
  335. /package/dist/{chunk-2MLS6KU4.js.map → chunk-AEKHSORY.js.map} +0 -0
  336. /package/dist/{chunk-5DAVXZPY.js.map → chunk-B2WBDMHE.js.map} +0 -0
  337. /package/dist/{chunk-GZT7MLLO.js.map → chunk-B2ZITMYG.js.map} +0 -0
  338. /package/dist/{chunk-54HTXJJ2.js.map → chunk-BHE44AQE.js.map} +0 -0
  339. /package/dist/{chunk-TBMGYQJF.js.map → chunk-BKBELIUR.js.map} +0 -0
  340. /package/dist/{chunk-OOB3YWPX.js.map → chunk-BZFRBG2H.js.map} +0 -0
  341. /package/dist/{chunk-PICOOZLX.js.map → chunk-C5RTSOXD.js.map} +0 -0
  342. /package/dist/{chunk-GO6XDMBB.js.map → chunk-CEJTGG6J.js.map} +0 -0
  343. /package/dist/{chunk-ZGWEFOW6.js.map → chunk-CKAVTWXP.js.map} +0 -0
  344. /package/dist/{chunk-ANYOSBNA.js.map → chunk-CSXK7LH7.js.map} +0 -0
  345. /package/dist/{chunk-U6DOF5CR.js.map → chunk-CU7ELD43.js.map} +0 -0
  346. /package/dist/{chunk-XO4ZUHVH.js.map → chunk-CYPBF3BI.js.map} +0 -0
  347. /package/dist/{chunk-EO5IEWFI.js.map → chunk-DE6A46AE.js.map} +0 -0
  348. /package/dist/{chunk-JMEPGXJG.js.map → chunk-DHW5UMUG.js.map} +0 -0
  349. /package/dist/{chunk-3EPA2A4M.js.map → chunk-DJIFXJ4C.js.map} +0 -0
  350. /package/dist/{chunk-CM2Q7IH3.js.map → chunk-DTLKF4AX.js.map} +0 -0
  351. /package/dist/{chunk-C6JUGWAU.js.map → chunk-DYCTIOER.js.map} +0 -0
  352. /package/dist/{chunk-LCWGNDTH.js.map → chunk-EKBUM7HK.js.map} +0 -0
  353. /package/dist/{chunk-NYT3UVOH.js.map → chunk-EOEYOPOS.js.map} +0 -0
  354. /package/dist/{chunk-7LILFS72.js.map → chunk-EOKPFMJD.js.map} +0 -0
  355. /package/dist/{chunk-4PRZLII7.js.map → chunk-FOM7OMJR.js.map} +0 -0
  356. /package/dist/{chunk-QSNLIWEB.js.map → chunk-FTV5R2UZ.js.map} +0 -0
  357. /package/dist/{chunk-NDHDBOUH.js.map → chunk-FWPFCK4D.js.map} +0 -0
  358. /package/dist/{chunk-ON4TRXCM.js.map → chunk-GHJ2FIJO.js.map} +0 -0
  359. /package/dist/{chunk-GANW7FXQ.js.map → chunk-GKNMKPR6.js.map} +0 -0
  360. /package/dist/{chunk-LGCRL7DK.js.map → chunk-GP4BJI3F.js.map} +0 -0
  361. /package/dist/{chunk-4MKVGSHX.js.map → chunk-HN3PZTUK.js.map} +0 -0
  362. /package/dist/{chunk-HBP2OU4Q.js.map → chunk-HNFZLXZI.js.map} +0 -0
  363. /package/dist/{chunk-5FHPZOYK.js.map → chunk-HOIHO2YQ.js.map} +0 -0
  364. /package/dist/{chunk-3AOOI2NR.js.map → chunk-HR7YTBR7.js.map} +0 -0
  365. /package/dist/{chunk-PGV2FLE3.js.map → chunk-IG26N6J2.js.map} +0 -0
  366. /package/dist/{chunk-G2WERTWZ.js.map → chunk-IGGXKT5B.js.map} +0 -0
  367. /package/dist/{chunk-XLXMJ6X2.js.map → chunk-IO2X6DVH.js.map} +0 -0
  368. /package/dist/{chunk-3CLBGHTL.js.map → chunk-ITBUKGG3.js.map} +0 -0
  369. /package/dist/{chunk-6IRJAIS4.js.map → chunk-IXWIJCS3.js.map} +0 -0
  370. /package/dist/{chunk-TMW7RBW7.js.map → chunk-J6TIK47Z.js.map} +0 -0
  371. /package/dist/{chunk-G4TKMUOL.js.map → chunk-JDEKR77O.js.map} +0 -0
  372. /package/dist/{chunk-ITFFA3H2.js.map → chunk-JYLBVHG2.js.map} +0 -0
  373. /package/dist/{chunk-G7XHJPLO.js.map → chunk-JZ7ZRZTF.js.map} +0 -0
  374. /package/dist/{chunk-YTVXT5TD.js.map → chunk-K5CCQBNN.js.map} +0 -0
  375. /package/dist/{chunk-AOFI3GDS.js.map → chunk-KMC6WP66.js.map} +0 -0
  376. /package/dist/{chunk-K62RHTFB.js.map → chunk-KNAWZM7F.js.map} +0 -0
  377. /package/dist/{chunk-4Z2HIHA5.js.map → chunk-KRA75CKC.js.map} +0 -0
  378. /package/dist/{chunk-RHKT2XW2.js.map → chunk-KUKY5GEX.js.map} +0 -0
  379. /package/dist/{chunk-HUAQQ5ZL.js.map → chunk-LHHV6NXO.js.map} +0 -0
  380. /package/dist/{chunk-BJGUDLWZ.js.map → chunk-LRFXCZB4.js.map} +0 -0
  381. /package/dist/{chunk-U6W2RY3Z.js.map → chunk-MLQYIJTO.js.map} +0 -0
  382. /package/dist/{chunk-GPHURU2K.js.map → chunk-MSAAOQAD.js.map} +0 -0
  383. /package/dist/{chunk-3MJHHPRW.js.map → chunk-MVR4GURP.js.map} +0 -0
  384. /package/dist/{chunk-PRLYYKMG.js.map → chunk-MW7S7WZM.js.map} +0 -0
  385. /package/dist/{chunk-ERY6D2OV.js.map → chunk-MWPXKZ7O.js.map} +0 -0
  386. /package/dist/{chunk-ZUME25DS.js.map → chunk-NM2FLCPV.js.map} +0 -0
  387. /package/dist/{chunk-UP7SSTCZ.js.map → chunk-OAVRXSAS.js.map} +0 -0
  388. /package/dist/{chunk-VYA4QWQL.js.map → chunk-PJVZY2SA.js.map} +0 -0
  389. /package/dist/{chunk-SDBBJ6FG.js.map → chunk-PUYJVQ7X.js.map} +0 -0
  390. /package/dist/{chunk-IUD6N52Q.js.map → chunk-PXGURBIU.js.map} +0 -0
  391. /package/dist/{chunk-PNDYAIKM.js.map → chunk-Q5J37WOE.js.map} +0 -0
  392. /package/dist/{chunk-DCT2PKMQ.js.map → chunk-QGB3DOMV.js.map} +0 -0
  393. /package/dist/{chunk-YGYQC7MT.js.map → chunk-QOLIBVGS.js.map} +0 -0
  394. /package/dist/{chunk-TDXEO2UI.js.map → chunk-RJ35IXFD.js.map} +0 -0
  395. /package/dist/{chunk-P6Q2O3TU.js.map → chunk-RNVR3RGV.js.map} +0 -0
  396. /package/dist/{chunk-SNW5MJ6I.js.map → chunk-RPKWTFJ2.js.map} +0 -0
  397. /package/dist/{chunk-NPPJ3IJP.js.map → chunk-RRAWJQIO.js.map} +0 -0
  398. /package/dist/{chunk-H3GYVR7S.js.map → chunk-SM4MT4YC.js.map} +0 -0
  399. /package/dist/{chunk-5B7BTLN4.js.map → chunk-SOCZLOPJ.js.map} +0 -0
  400. /package/dist/{chunk-Z4O3F6KU.js.map → chunk-U4QUDFPJ.js.map} +0 -0
  401. /package/dist/{chunk-KWU62UPM.js.map → chunk-UHGQ74E3.js.map} +0 -0
  402. /package/dist/{chunk-Z6LTEJ7F.js.map → chunk-VKFZQSQC.js.map} +0 -0
  403. /package/dist/{chunk-MBNXCCRG.js.map → chunk-VQUPB7F7.js.map} +0 -0
  404. /package/dist/{chunk-CNR5RFKC.js.map → chunk-VVFV4MXS.js.map} +0 -0
  405. /package/dist/{chunk-ALOUJ3CE.js.map → chunk-WQ3KTELX.js.map} +0 -0
  406. /package/dist/{chunk-FY6PONLA.js.map → chunk-WSYPM3SR.js.map} +0 -0
  407. /package/dist/{chunk-QMELMQPA.js.map → chunk-X4VWYWFK.js.map} +0 -0
  408. /package/dist/{chunk-5PJM772Y.js.map → chunk-XLQYOBHP.js.map} +0 -0
  409. /package/dist/{chunk-TCMH3FXD.js.map → chunk-XTDJ2D5A.js.map} +0 -0
  410. /package/dist/{chunk-F5GXWK6B.js.map → chunk-Y2CMWGIU.js.map} +0 -0
  411. /package/dist/{chunk-SJGYMI6Y.js.map → chunk-Y4ET3NRC.js.map} +0 -0
  412. /package/dist/{chunk-FIO55AKI.js.map → chunk-YCHOWWRE.js.map} +0 -0
  413. /package/dist/{chunk-MM5XSAVE.js.map → chunk-YDIRPKYI.js.map} +0 -0
  414. /package/dist/{chunk-44Z72DDM.js.map → chunk-YF3VD2KD.js.map} +0 -0
  415. /package/dist/{chunk-Z4DKVLYG.js.map → chunk-Z3HSRNJT.js.map} +0 -0
  416. /package/dist/{chunk-5PTCT3LF.js.map → chunk-ZQ7IESR7.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/utility/WorkflowStep/WorkflowStep.helpers.ts"],"sourcesContent":["import type { Theme } from '@mui/material/styles/index.js';\n\nimport type { WorkflowStepItem, WorkflowStepProps } from './WorkflowStep.types';\nimport { neutralTones } from '../../../tokens/ink';\nimport { paletteKey } from '../../../tokens/scales';\n\ntype StepColor = NonNullable<WorkflowStepProps['color']>;\ntype StepSize = NonNullable<WorkflowStepProps['size']>;\n\nconst INDICATOR_SIZE: Record<StepSize, number> = {\n xs: 20,\n sm: 24,\n md: 32,\n lg: 40,\n xl: 48,\n};\n\nexport const indicatorSizeFor = (size?: StepSize): number =>\n INDICATOR_SIZE[size as StepSize] ?? INDICATOR_SIZE.md;\n\ninterface StepPalette {\n main: string;\n contrastText: string;\n}\n\n/**\n * The step's colour pair, keyed through `paletteKey` so `danger` reads MUI's\n * `error` (the palette has no `danger`). `neutral` lands on `grey`, a ramp with\n * no `main`, so its pair is derived from the ramp — with the contrast computed,\n * not assumed.\n */\nexport const stepPalette = (theme: Theme, color?: StepColor): StepPalette => {\n const key = paletteKey(color || 'primary');\n if (key === 'grey') {\n const main = neutralTones(theme).emphasis;\n return {\n main,\n contrastText: theme.palette.getContrastText(main),\n };\n }\n\n return theme.palette[key];\n};\n\nexport interface StepColors {\n backgroundColor: string;\n borderColor: string;\n textColor: string;\n}\n\ninterface StepState {\n isActive: boolean;\n isCompleted: boolean;\n isError: boolean;\n variant?: WorkflowStepProps['variant'];\n}\n\n/**\n * An indicator is one of four things, in priority order: failed, done, the step\n * you are on, or still ahead. Only the active one respects `variant` — an active\n * outlined step stays hollow with a coloured rim.\n */\nexport const stepColors = (\n theme: Theme,\n palette: StepPalette,\n { isActive, isCompleted, isError, variant }: StepState,\n): StepColors => {\n if (isError) {\n return {\n backgroundColor: theme.palette.error.main,\n borderColor: theme.palette.error.main,\n textColor: theme.palette.error.contrastText,\n };\n }\n\n if (isCompleted) {\n return {\n backgroundColor: palette.main,\n borderColor: palette.main,\n textColor: palette.contrastText,\n };\n }\n\n if (isActive) {\n const filled = variant === 'filled';\n return {\n backgroundColor: filled ? palette.main : theme.palette.background.paper,\n borderColor: palette.main,\n textColor: filled ? palette.contrastText : palette.main,\n };\n }\n\n return {\n backgroundColor: neutralTones(theme).track,\n borderColor: neutralTones(theme).track,\n textColor: theme.palette.text.secondary,\n };\n};\n\n/**\n * A step that declares `error` keeps it; the rest are positioned against\n * `currentStep`, so a caller only has to move one number to advance the workflow.\n */\nexport const withDerivedStatus = (\n steps: WorkflowStepItem[],\n currentStep: number,\n): WorkflowStepItem[] =>\n steps.map((step, index) => {\n const derivable =\n step.status === 'pending' || step.status === 'current' || step.status === 'completed';\n\n if (!derivable) return { ...step, status: step.status };\n\n if (index < currentStep) return { ...step, status: 'completed' as const };\n if (index === currentStep) return { ...step, status: 'current' as const };\n return { ...step, status: 'pending' as const };\n });\n\ntype WorkflowDefaultedKeys =\n | 'currentStep'\n | 'variant'\n | 'orientation'\n | 'color'\n | 'size'\n | 'showProgress'\n | 'animated'\n | 'interactive'\n | 'showNumbers'\n | 'showIcons'\n | 'disabled';\n\ntype ResolvedWorkflowStepProps = WorkflowStepProps &\n Required<Pick<WorkflowStepProps, WorkflowDefaultedKeys>>;\n\nconst WORKFLOW_DEFAULTS: Pick<WorkflowStepProps, WorkflowDefaultedKeys> = {\n currentStep: 0,\n variant: 'default',\n orientation: 'horizontal',\n color: 'primary',\n size: 'md',\n showProgress: true,\n animated: true,\n interactive: false,\n showNumbers: true,\n showIcons: false,\n disabled: false,\n};\n\n// Strips explicitly-undefined props before the merge, so `size={undefined}` still\n// falls back to the default exactly as a destructuring default would.\nconst definedProps = (props: WorkflowStepProps): Partial<WorkflowStepProps> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<WorkflowStepProps>;\n\nexport const resolveWorkflowStepProps = (\n props: WorkflowStepProps,\n): ResolvedWorkflowStepProps =>\n ({ ...WORKFLOW_DEFAULTS, ...definedProps(props) }) as ResolvedWorkflowStepProps;\n\n/**\n * The progressbar's `aria-valuetext`: `Step N of M: <title>` while `currentStep`\n * names a step, and `Step N of M` when it does not (past the end, below zero, or\n * no steps at all), so a screen reader never reads a missing title as\n * \"undefined\". The index itself is not clamped (FUT-2671).\n */\nexport const progressValueText = (\n steps: readonly WorkflowStepItem[],\n currentStep: number,\n): string => {\n const position = `Step ${currentStep + 1} of ${steps.length}`;\n const step = steps[currentStep];\n return step === undefined ? position : `${position}: ${step.title}`;\n};\n"],"mappings":";;;;;;;;AASA,IAAM,iBAA2C;AAAA,EAC/C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEO,IAAM,mBAAmB,CAAC,SAC/B,eAAe,IAAgB,KAAK,eAAe;AAa9C,IAAM,cAAc,CAAC,OAAc,UAAmC;AAC3E,QAAM,MAAM,WAAW,SAAS,SAAS;AACzC,MAAI,QAAQ,QAAQ;AAClB,UAAM,OAAO,aAAa,KAAK,EAAE;AACjC,WAAO;AAAA,MACL;AAAA,MACA,cAAc,MAAM,QAAQ,gBAAgB,IAAI;AAAA,IAClD;AAAA,EACF;AAEA,SAAO,MAAM,QAAQ,GAAG;AAC1B;AAoBO,IAAM,aAAa,CACxB,OACA,SACA,EAAE,UAAU,aAAa,SAAS,QAAQ,MAC3B;AACf,MAAI,SAAS;AACX,WAAO;AAAA,MACL,iBAAiB,MAAM,QAAQ,MAAM;AAAA,MACrC,aAAa,MAAM,QAAQ,MAAM;AAAA,MACjC,WAAW,MAAM,QAAQ,MAAM;AAAA,IACjC;AAAA,EACF;AAEA,MAAI,aAAa;AACf,WAAO;AAAA,MACL,iBAAiB,QAAQ;AAAA,MACzB,aAAa,QAAQ;AAAA,MACrB,WAAW,QAAQ;AAAA,IACrB;AAAA,EACF;AAEA,MAAI,UAAU;AACZ,UAAM,SAAS,YAAY;AAC3B,WAAO;AAAA,MACL,iBAAiB,SAAS,QAAQ,OAAO,MAAM,QAAQ,WAAW;AAAA,MAClE,aAAa,QAAQ;AAAA,MACrB,WAAW,SAAS,QAAQ,eAAe,QAAQ;AAAA,IACrD;AAAA,EACF;AAEA,SAAO;AAAA,IACL,iBAAiB,aAAa,KAAK,EAAE;AAAA,IACrC,aAAa,aAAa,KAAK,EAAE;AAAA,IACjC,WAAW,MAAM,QAAQ,KAAK;AAAA,EAChC;AACF;AAMO,IAAM,oBAAoB,CAC/B,OACA,gBAEA,MAAM,IAAI,CAAC,MAAM,UAAU;AACzB,QAAM,YACJ,KAAK,WAAW,aAAa,KAAK,WAAW,aAAa,KAAK,WAAW;AAE5E,MAAI,CAAC,UAAW,QAAO,EAAE,GAAG,MAAM,QAAQ,KAAK,OAAO;AAEtD,MAAI,QAAQ,YAAa,QAAO,EAAE,GAAG,MAAM,QAAQ,YAAqB;AACxE,MAAI,UAAU,YAAa,QAAO,EAAE,GAAG,MAAM,QAAQ,UAAmB;AACxE,SAAO,EAAE,GAAG,MAAM,QAAQ,UAAmB;AAC/C,CAAC;AAkBH,IAAM,oBAAoE;AAAA,EACxE,aAAa;AAAA,EACb,SAAS;AAAA,EACT,aAAa;AAAA,EACb,OAAO;AAAA,EACP,MAAM;AAAA,EACN,cAAc;AAAA,EACd,UAAU;AAAA,EACV,aAAa;AAAA,EACb,aAAa;AAAA,EACb,WAAW;AAAA,EACX,UAAU;AACZ;AAIA,IAAM,eAAe,CAAC,UACpB,OAAO;AAAA,EACL,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,UAAU,MAAS;AACjE;AAEK,IAAM,2BAA2B,CACtC,WAEC,EAAE,GAAG,mBAAmB,GAAG,aAAa,KAAK,EAAE;AAQ3C,IAAM,oBAAoB,CAC/B,OACA,gBACW;AACX,QAAM,WAAW,QAAQ,cAAc,CAAC,OAAO,MAAM,MAAM;AAC3D,QAAM,OAAO,MAAM,WAAW;AAC9B,SAAO,SAAS,SAAY,WAAW,GAAG,QAAQ,KAAK,KAAK,KAAK;AACnE;","names":[]}
1
+ {"version":3,"sources":["../src/components/utility/WorkflowStep/WorkflowStep.helpers.ts"],"sourcesContent":["import type { Theme } from '@mui/material/styles/index.js';\n\nimport type { WorkflowStepItem, WorkflowStepProps } from './WorkflowStep.types';\nimport { neutralTones } from '../../../tokens/ink';\nimport { paletteKey } from '../../../tokens/scales';\n\ntype StepColor = NonNullable<WorkflowStepProps['color']>;\ntype StepSize = NonNullable<WorkflowStepProps['size']>;\n\nconst INDICATOR_SIZE: Record<StepSize, number> = {\n xs: 20,\n sm: 24,\n md: 32,\n lg: 40,\n xl: 48,\n};\n\nexport const indicatorSizeFor = (size?: StepSize): number =>\n INDICATOR_SIZE[size as StepSize] ?? INDICATOR_SIZE.md;\n\ninterface StepPalette {\n main: string;\n contrastText: string;\n}\n\n/**\n * The step's colour pair, keyed through `paletteKey` so `danger` reads MUI's\n * `error` (the palette has no `danger`). `neutral` lands on `grey`, a ramp with\n * no `main`, so its pair is derived from the ramp — with the contrast computed,\n * not assumed.\n */\nexport const stepPalette = (theme: Theme, color?: StepColor): StepPalette => {\n const key = paletteKey(color || 'primary');\n if (key === 'grey') {\n const main = neutralTones(theme).emphasis;\n return {\n main,\n contrastText: theme.palette.getContrastText(main),\n };\n }\n\n return theme.palette[key];\n};\n\nexport interface StepColors {\n backgroundColor: string;\n borderColor: string;\n textColor: string;\n}\n\ninterface StepState {\n isActive: boolean;\n isCompleted: boolean;\n isError: boolean;\n variant?: WorkflowStepProps['variant'];\n}\n\n/**\n * An indicator is one of four things, in priority order: failed, done, the step\n * you are on, or still ahead. Only the active one respects `variant` — an active\n * outlined step stays hollow with a coloured rim.\n */\nexport const stepColors = (\n theme: Theme,\n palette: StepPalette,\n { isActive, isCompleted, isError, variant }: StepState,\n): StepColors => {\n if (isError) {\n return {\n backgroundColor: theme.palette.error.main,\n borderColor: theme.palette.error.main,\n textColor: theme.palette.error.contrastText,\n };\n }\n\n if (isCompleted) {\n return {\n backgroundColor: palette.main,\n borderColor: palette.main,\n textColor: palette.contrastText,\n };\n }\n\n if (isActive) {\n const filled = variant === 'filled';\n return {\n backgroundColor: filled ? palette.main : theme.palette.background.paper,\n borderColor: palette.main,\n textColor: filled ? palette.contrastText : palette.main,\n };\n }\n\n return {\n backgroundColor: neutralTones(theme).track,\n borderColor: neutralTones(theme).track,\n textColor: theme.palette.text.secondary,\n };\n};\n\n/**\n * A step that declares `error` keeps it; the rest are positioned against\n * `currentStep`, so a caller only has to move one number to advance the workflow.\n */\nexport const withDerivedStatus = (\n steps: WorkflowStepItem[],\n currentStep: number,\n): WorkflowStepItem[] =>\n steps.map((step, index) => {\n const derivable =\n step.status === 'pending' || step.status === 'current' || step.status === 'completed';\n\n if (!derivable) return { ...step, status: step.status };\n\n if (index < currentStep) return { ...step, status: 'completed' as const };\n if (index === currentStep) return { ...step, status: 'current' as const };\n return { ...step, status: 'pending' as const };\n });\n\ntype WorkflowDefaultedKeys =\n | 'currentStep'\n | 'variant'\n | 'orientation'\n | 'color'\n | 'size'\n | 'showProgress'\n | 'animated'\n | 'interactive'\n | 'showNumbers'\n | 'showIcons'\n | 'disabled';\n\ntype ResolvedWorkflowStepProps = WorkflowStepProps &\n Required<Pick<WorkflowStepProps, WorkflowDefaultedKeys>>;\n\nconst WORKFLOW_DEFAULTS: Pick<WorkflowStepProps, WorkflowDefaultedKeys> = {\n currentStep: 0,\n variant: 'default',\n orientation: 'horizontal',\n color: 'primary',\n size: 'md',\n showProgress: true,\n animated: true,\n interactive: false,\n showNumbers: true,\n showIcons: false,\n disabled: false,\n};\n\n// Strips explicitly-undefined props before the merge, so `size={undefined}` still\n// falls back to the default exactly as a destructuring default would.\nconst definedProps = (props: WorkflowStepProps): Partial<WorkflowStepProps> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<WorkflowStepProps>;\n\nexport const resolveWorkflowStepProps = (\n props: WorkflowStepProps,\n): ResolvedWorkflowStepProps =>\n ({ ...WORKFLOW_DEFAULTS, ...definedProps(props) }) as ResolvedWorkflowStepProps;\n\n/**\n * The progressbar's `aria-valuetext`: `Step N of M: <title>` while `currentStep`\n * names a step, and `Step N of M` when it does not (past the end, below zero, or\n * no steps at all), so a screen reader never reads a missing title as\n * \"undefined\". The index itself is not clamped (FUT-2671).\n */\nexport const progressValueText = (\n steps: readonly WorkflowStepItem[],\n currentStep: number,\n): string => {\n const position = `Step ${currentStep + 1} of ${steps.length}`;\n const step = steps[currentStep];\n return step === undefined ? position : `${position}: ${step.title}`;\n};\n\nexport interface ProgressValueRange {\n max?: number;\n now?: number;\n}\n\n/**\n * The progressbar's `aria-valuemax`/`aria-valuenow` pair (FUT-2773). With no\n * steps at all there is no meaningful range to report — a `role=\"progressbar\"`\n * with zero steps has nothing to measure, and WAI-ARIA's own value attributes\n * are optional for exactly this case (an indeterminate progressbar omits\n * `aria-valuenow`) — so both are left out rather than asserting the invalid\n * range `aria-valuemax={-1}` with `aria-valuenow={0}`. Otherwise `currentStep`\n * is clamped to `[0, steps.length - 1]` so the reported value never falls\n * outside `[aria-valuemin, aria-valuemax]`, however far `currentStep` strays.\n */\nexport const progressValueRange = (\n steps: readonly WorkflowStepItem[],\n currentStep: number,\n): ProgressValueRange => {\n if (steps.length === 0) return {};\n\n const max = steps.length - 1;\n return { max, now: Math.min(Math.max(currentStep, 0), max) };\n};\n"],"mappings":"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","names":[]}
@@ -1,9 +1,9 @@
1
- import {
2
- useConfirmAction
3
- } from "./chunk-EMYESBIT.js";
4
1
  import {
5
2
  ConfirmActionDialog
6
3
  } from "./chunk-BJZOBG24.js";
4
+ import {
5
+ useConfirmAction
6
+ } from "./chunk-EMYESBIT.js";
7
7
 
8
8
  // src/components/data-display/CardKit/use-row-confirm.tsx
9
9
  import { useState } from "react";
@@ -43,4 +43,4 @@ function useRowConfirm({
43
43
  export {
44
44
  useRowConfirm
45
45
  };
46
- //# sourceMappingURL=chunk-Z4O3F6KU.js.map
46
+ //# sourceMappingURL=chunk-U4QUDFPJ.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-PL2AB5HJ.js";
4
4
  import {
5
5
  useDataViewsLayout
6
- } from "./chunk-HUAQQ5ZL.js";
6
+ } from "./chunk-LHHV6NXO.js";
7
7
 
8
8
  // src/components/data-display/DataViews/data-views-scope-tabs.tsx
9
9
  import { jsx } from "react/jsx-runtime";
@@ -34,4 +34,4 @@ function ScopeTabsSlot({
34
34
  export {
35
35
  ScopeTabsSlot
36
36
  };
37
- //# sourceMappingURL=chunk-KWU62UPM.js.map
37
+ //# sourceMappingURL=chunk-UHGQ74E3.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ useDataGridModel
3
+ } from "./chunk-CU7ELD43.js";
1
4
  import {
2
5
  GridBody,
3
6
  GridHeader
@@ -7,9 +10,6 @@ import {
7
10
  DataGridError,
8
11
  DataGridLoading
9
12
  } from "./chunk-EARWC6PD.js";
10
- import {
11
- useDataGridModel
12
- } from "./chunk-U6DOF5CR.js";
13
13
 
14
14
  // src/components/data-display/DataGrid/DataGrid.tsx
15
15
  import Paper from "@mui/material/Paper/index.js";
@@ -120,4 +120,4 @@ export {
120
120
  DataGrid,
121
121
  GRID_ONLY_PROPS
122
122
  };
123
- //# sourceMappingURL=chunk-Z6LTEJ7F.js.map
123
+ //# sourceMappingURL=chunk-VKFZQSQC.js.map
@@ -1,19 +1,19 @@
1
- import {
2
- DataViewsGrid
3
- } from "./chunk-MLUUF7OZ.js";
4
1
  import {
5
2
  DeleteViewDialog
6
- } from "./chunk-5FHPZOYK.js";
3
+ } from "./chunk-HOIHO2YQ.js";
4
+ import {
5
+ DataViewsGrid
6
+ } from "./chunk-6B4UTB4O.js";
7
7
  import {
8
8
  viewStateKey
9
9
  } from "./chunk-ZOLAYP2D.js";
10
10
  import {
11
11
  ViewDialogs,
12
12
  ViewMutationErrorAlert
13
- } from "./chunk-H3GYVR7S.js";
13
+ } from "./chunk-SM4MT4YC.js";
14
14
  import {
15
15
  useSavedViewsController
16
- } from "./chunk-3AOOI2NR.js";
16
+ } from "./chunk-HR7YTBR7.js";
17
17
 
18
18
  // src/components/data-display/DataViews/DataViewsTableBase.tsx
19
19
  import { useEffect, useMemo, useRef, useState } from "react";
@@ -178,4 +178,4 @@ function renderViewDialogs(ctl, fields, columns, views, testIdPrefix, onSaved) {
178
178
  export {
179
179
  DataViewsTableBase
180
180
  };
181
- //# sourceMappingURL=chunk-MBNXCCRG.js.map
181
+ //# sourceMappingURL=chunk-VQUPB7F7.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  accentFor
3
- } from "./chunk-ZSTSISM6.js";
3
+ } from "./chunk-FHWXRHMA.js";
4
4
  import {
5
5
  uiInk
6
6
  } from "./chunk-FQ6UW7IY.js";
@@ -129,4 +129,4 @@ export {
129
129
  resolveSeries,
130
130
  getAxisStyles
131
131
  };
132
- //# sourceMappingURL=chunk-CNR5RFKC.js.map
132
+ //# sourceMappingURL=chunk-VVFV4MXS.js.map
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  CategoryPanel
3
- } from "./chunk-GPHURU2K.js";
3
+ } from "./chunk-MSAAOQAD.js";
4
4
  import {
5
5
  CategoryTrigger
6
6
  } from "./chunk-NCB4GBRL.js";
7
- import {
8
- CategoryPanelSurface
9
- } from "./chunk-QYY37ECA.js";
10
7
  import {
11
8
  METRICS
12
9
  } from "./chunk-Z6T5SXST.js";
10
+ import {
11
+ CategoryPanelSurface
12
+ } from "./chunk-QYY37ECA.js";
13
13
  import {
14
14
  useCategorySelect
15
15
  } from "./chunk-RZVUY2MO.js";
@@ -155,4 +155,4 @@ function CategorySelect(props) {
155
155
  export {
156
156
  CategorySelect
157
157
  };
158
- //# sourceMappingURL=chunk-ALOUJ3CE.js.map
158
+ //# sourceMappingURL=chunk-WQ3KTELX.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-L5RQIQIP.js";
4
4
  import {
5
5
  renderMenuItem
6
- } from "./chunk-ZGWEFOW6.js";
6
+ } from "./chunk-CKAVTWXP.js";
7
7
  import {
8
8
  slideIn
9
9
  } from "./chunk-3AIRFAI3.js";
@@ -59,4 +59,4 @@ var NavigationMegaSection = ({
59
59
  export {
60
60
  NavigationMegaSection
61
61
  };
62
- //# sourceMappingURL=chunk-FY6PONLA.js.map
62
+ //# sourceMappingURL=chunk-WSYPM3SR.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-RIRTW5EU.js";
5
5
  import {
6
6
  buildChartContext
7
- } from "./chunk-GANW7FXQ.js";
7
+ } from "./chunk-GKNMKPR6.js";
8
8
  import {
9
9
  uiInk
10
10
  } from "./chunk-FQ6UW7IY.js";
@@ -318,4 +318,4 @@ function renderChartByType(props, theme) {
318
318
  export {
319
319
  renderChartByType
320
320
  };
321
- //# sourceMappingURL=chunk-QMELMQPA.js.map
321
+ //# sourceMappingURL=chunk-X4VWYWFK.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  STACK_BREAK
3
- } from "./chunk-4Z2HIHA5.js";
3
+ } from "./chunk-KRA75CKC.js";
4
4
  import {
5
5
  CARD_RADIUS,
6
6
  cardSurfaceStyles,
@@ -16,10 +16,10 @@ import {
16
16
  RAIL_GAP,
17
17
  railsTemplateFor,
18
18
  useListRails
19
- } from "./chunk-TCMH3FXD.js";
19
+ } from "./chunk-XTDJ2D5A.js";
20
20
  import {
21
21
  DENSITY_ROW_PADDING
22
- } from "./chunk-HUAQQ5ZL.js";
22
+ } from "./chunk-LHHV6NXO.js";
23
23
  import {
24
24
  rem
25
25
  } from "./chunk-YKCAJ2TN.js";
@@ -189,4 +189,4 @@ export {
189
189
  actionProps,
190
190
  rowStyles
191
191
  };
192
- //# sourceMappingURL=chunk-5PJM772Y.js.map
192
+ //# sourceMappingURL=chunk-XLQYOBHP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DENSITY_ROW_PADDING
3
- } from "./chunk-HUAQQ5ZL.js";
3
+ } from "./chunk-LHHV6NXO.js";
4
4
  import {
5
5
  CellConfigProvider,
6
6
  cellTracks
@@ -129,4 +129,4 @@ export {
129
129
  cellRailCount,
130
130
  ListCardGroup
131
131
  };
132
- //# sourceMappingURL=chunk-TCMH3FXD.js.map
132
+ //# sourceMappingURL=chunk-XTDJ2D5A.js.map
@@ -3,7 +3,7 @@ import {
3
3
  SaveError,
4
4
  SettingHeader,
5
5
  partTestId
6
- } from "./chunk-6IRJAIS4.js";
6
+ } from "./chunk-IXWIJCS3.js";
7
7
  import {
8
8
  descriptionStyles
9
9
  } from "./chunk-3DO5AJCG.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-ZGCPDA3F.js";
13
13
  import {
14
14
  SR_ONLY_SX
15
- } from "./chunk-ANYOSBNA.js";
15
+ } from "./chunk-CSXK7LH7.js";
16
16
 
17
17
  // src/components/layout/SettingCard/SettingSwitch.tsx
18
18
  import Box from "@mui/material/Box/index.js";
@@ -71,4 +71,4 @@ export {
71
71
  useSettingSwitchIds,
72
72
  SettingSwitchBlock
73
73
  };
74
- //# sourceMappingURL=chunk-F5GXWK6B.js.map
74
+ //# sourceMappingURL=chunk-Y2CMWGIU.js.map
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-YLGY3D52.js";
9
9
  import {
10
10
  useDataViewsLayout
11
- } from "./chunk-HUAQQ5ZL.js";
11
+ } from "./chunk-LHHV6NXO.js";
12
12
  import {
13
13
  useDataViewsCopy
14
14
  } from "./chunk-KHG57NAE.js";
@@ -246,4 +246,4 @@ export {
246
246
  SortTab,
247
247
  DisplayTab
248
248
  };
249
- //# sourceMappingURL=chunk-SJGYMI6Y.js.map
249
+ //# sourceMappingURL=chunk-Y4ET3NRC.js.map
@@ -3,7 +3,7 @@ import {
3
3
  StepContentComponent,
4
4
  StepIndicatorComponent,
5
5
  StepItemRow
6
- } from "./chunk-KJID4PRD.js";
6
+ } from "./chunk-6S25ZCEW.js";
7
7
 
8
8
  // src/components/utility/WorkflowStep/WorkflowStepRow.tsx
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -69,6 +69,7 @@ var StepRow = ({
69
69
  orientation,
70
70
  variant,
71
71
  color,
72
+ animated,
72
73
  "data-testid": `${dataTestId}-connector-${index}`
73
74
  }
74
75
  )
@@ -78,4 +79,4 @@ var StepRow = ({
78
79
  export {
79
80
  StepRow
80
81
  };
81
- //# sourceMappingURL=chunk-7OO3BELX.js.map
82
+ //# sourceMappingURL=chunk-Y6RSQEOU.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/utility/WorkflowStep/WorkflowStepRow.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n StepConnectorComponent,\n StepContentComponent,\n StepIndicatorComponent,\n StepItemRow,\n} from './WorkflowStep.parts';\nimport type { WorkflowStepItem, WorkflowStepProps } from './WorkflowStep.types';\n\ninterface StepRowProps {\n step: WorkflowStepItem;\n index: number;\n isLast: boolean;\n orientation: NonNullable<WorkflowStepProps['orientation']>;\n variant: NonNullable<WorkflowStepProps['variant']>;\n color: NonNullable<WorkflowStepProps['color']>;\n size: NonNullable<WorkflowStepProps['size']>;\n showNumbers: boolean;\n showIcons: boolean;\n showProgress: boolean;\n completedIcon?: React.ReactNode;\n errorIcon?: React.ReactNode;\n interactive: boolean;\n animated: boolean;\n disabled: boolean;\n onClick: (index: number, step: WorkflowStepItem) => void;\n dataTestId?: string;\n}\n\n/** One row of the workflow: its indicator, its text, and the rule leading to the next. */\nexport const StepRow: React.FC<StepRowProps> = ({\n step,\n index,\n isLast,\n orientation,\n variant,\n color,\n size,\n showNumbers,\n showIcons,\n showProgress,\n completedIcon,\n errorIcon,\n interactive,\n animated,\n disabled,\n onClick,\n dataTestId,\n}) => {\n const isCompleted = step.status === 'completed';\n\n return (\n <StepItemRow orientation={orientation} isLast={isLast}>\n <StepIndicatorComponent\n step={step}\n index={index}\n isActive={step.status === 'current'}\n isCompleted={isCompleted}\n isError={step.status === 'error'}\n variant={variant}\n color={color}\n size={size}\n showNumbers={showNumbers}\n showIcons={showIcons}\n completedIcon={completedIcon}\n errorIcon={errorIcon}\n interactive={interactive}\n animated={animated}\n disabled={disabled}\n onClick={onClick}\n data-testid={`${dataTestId}-indicator-${index}`}\n />\n\n <StepContentComponent\n step={step}\n index={index}\n orientation={orientation}\n interactive={interactive}\n disabled={disabled}\n onClick={onClick}\n data-testid={`${dataTestId}-content-${index}`}\n />\n\n {showProgress && !isLast && (\n <StepConnectorComponent\n isCompleted={isCompleted}\n orientation={orientation}\n variant={variant}\n color={color}\n data-testid={`${dataTestId}-connector-${index}`}\n />\n )}\n </StepItemRow>\n );\n};\n"],"mappings":";;;;;;;;AAqDI,SACE,KADF;AAtBG,IAAM,UAAkC,CAAC;AAAA,EAC9C;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;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,cAAc,KAAK,WAAW;AAEpC,SACE,qBAAC,eAAY,aAA0B,QACrC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,UAAU,KAAK,WAAW;AAAA,QAC1B;AAAA,QACA,SAAS,KAAK,WAAW;AAAA,QACzB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAa,GAAG,UAAU,cAAc,KAAK;AAAA;AAAA,IAC/C;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAa,GAAG,UAAU,YAAY,KAAK;AAAA;AAAA,IAC7C;AAAA,IAEC,gBAAgB,CAAC,UAChB;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAa,GAAG,UAAU,cAAc,KAAK;AAAA;AAAA,IAC/C;AAAA,KAEJ;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../src/components/utility/WorkflowStep/WorkflowStepRow.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n StepConnectorComponent,\n StepContentComponent,\n StepIndicatorComponent,\n StepItemRow,\n} from './WorkflowStep.parts';\nimport type { WorkflowStepItem, WorkflowStepProps } from './WorkflowStep.types';\n\ninterface StepRowProps {\n step: WorkflowStepItem;\n index: number;\n isLast: boolean;\n orientation: NonNullable<WorkflowStepProps['orientation']>;\n variant: NonNullable<WorkflowStepProps['variant']>;\n color: NonNullable<WorkflowStepProps['color']>;\n size: NonNullable<WorkflowStepProps['size']>;\n showNumbers: boolean;\n showIcons: boolean;\n showProgress: boolean;\n completedIcon?: React.ReactNode;\n errorIcon?: React.ReactNode;\n interactive: boolean;\n animated: boolean;\n disabled: boolean;\n onClick: (index: number, step: WorkflowStepItem) => void;\n dataTestId?: string;\n}\n\n/** One row of the workflow: its indicator, its text, and the rule leading to the next. */\nexport const StepRow: React.FC<StepRowProps> = ({\n step,\n index,\n isLast,\n orientation,\n variant,\n color,\n size,\n showNumbers,\n showIcons,\n showProgress,\n completedIcon,\n errorIcon,\n interactive,\n animated,\n disabled,\n onClick,\n dataTestId,\n}) => {\n const isCompleted = step.status === 'completed';\n\n return (\n <StepItemRow orientation={orientation} isLast={isLast}>\n <StepIndicatorComponent\n step={step}\n index={index}\n isActive={step.status === 'current'}\n isCompleted={isCompleted}\n isError={step.status === 'error'}\n variant={variant}\n color={color}\n size={size}\n showNumbers={showNumbers}\n showIcons={showIcons}\n completedIcon={completedIcon}\n errorIcon={errorIcon}\n interactive={interactive}\n animated={animated}\n disabled={disabled}\n onClick={onClick}\n data-testid={`${dataTestId}-indicator-${index}`}\n />\n\n <StepContentComponent\n step={step}\n index={index}\n orientation={orientation}\n interactive={interactive}\n disabled={disabled}\n onClick={onClick}\n data-testid={`${dataTestId}-content-${index}`}\n />\n\n {showProgress && !isLast && (\n <StepConnectorComponent\n isCompleted={isCompleted}\n orientation={orientation}\n variant={variant}\n color={color}\n animated={animated}\n data-testid={`${dataTestId}-connector-${index}`}\n />\n )}\n </StepItemRow>\n );\n};\n"],"mappings":";;;;;;;;AAqDI,SACE,KADF;AAtBG,IAAM,UAAkC,CAAC;AAAA,EAC9C;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;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,cAAc,KAAK,WAAW;AAEpC,SACE,qBAAC,eAAY,aAA0B,QACrC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,UAAU,KAAK,WAAW;AAAA,QAC1B;AAAA,QACA,SAAS,KAAK,WAAW;AAAA,QACzB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAa,GAAG,UAAU,cAAc,KAAK;AAAA;AAAA,IAC/C;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAa,GAAG,UAAU,YAAY,KAAK;AAAA;AAAA,IAC7C;AAAA,IAEC,gBAAgB,CAAC,UAChB;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAa,GAAG,UAAU,cAAc,KAAK;AAAA;AAAA,IAC/C;AAAA,KAEJ;AAEJ;","names":[]}
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  Chart
3
- } from "./chunk-PICOOZLX.js";
3
+ } from "./chunk-C5RTSOXD.js";
4
4
  import {
5
5
  CHART_SEMANTIC_COLORS,
6
6
  specToChartProps
7
7
  } from "./chunk-R6SBP5M5.js";
8
8
  import {
9
9
  accentFor
10
- } from "./chunk-ZSTSISM6.js";
10
+ } from "./chunk-FHWXRHMA.js";
11
11
 
12
12
  // src/components/data-display/Chart/SpecChart.tsx
13
13
  import { useTheme } from "@mui/material/styles/index.js";
@@ -46,4 +46,4 @@ var SpecChart = ({
46
46
  export {
47
47
  SpecChart
48
48
  };
49
- //# sourceMappingURL=chunk-FIO55AKI.js.map
49
+ //# sourceMappingURL=chunk-YCHOWWRE.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getSizeStyles
3
- } from "./chunk-7LILFS72.js";
3
+ } from "./chunk-EOKPFMJD.js";
4
4
  import {
5
5
  BADGE_CONTENT_GAP,
6
6
  BADGE_SIZES
@@ -94,4 +94,4 @@ var buildBadgeContent = ({
94
94
  export {
95
95
  buildBadgeContent
96
96
  };
97
- //# sourceMappingURL=chunk-MM5XSAVE.js.map
97
+ //# sourceMappingURL=chunk-YDIRPKYI.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-YMGHTZA6.js";
4
4
  import {
5
5
  MenubarItemView
6
- } from "./chunk-SNW5MJ6I.js";
6
+ } from "./chunk-RPKWTFJ2.js";
7
7
  import {
8
8
  rem
9
9
  } from "./chunk-YKCAJ2TN.js";
@@ -87,4 +87,4 @@ var MenubarToolbar = ({
87
87
  export {
88
88
  MenubarToolbar
89
89
  };
90
- //# sourceMappingURL=chunk-44Z72DDM.js.map
90
+ //# sourceMappingURL=chunk-YF3VD2KD.js.map
@@ -177,6 +177,7 @@ function runSelectItem(item, p, s, onChange) {
177
177
  const url = (p.getUrl ?? defaultGetUrl)(item);
178
178
  const isLink = (p.getSuggestionType ?? defaultGetSuggestionType)(item) === "link" && Boolean(url);
179
179
  const isSingleSelectPick = isLink || !p.multiple;
180
+ if (s.debounceRef.current) window.clearTimeout(s.debounceRef.current);
180
181
  commitPick(item, isLink ? url : null, p, s, onChange);
181
182
  s.setOpen(false);
182
183
  s.setActiveIndex(-1);
@@ -253,6 +254,15 @@ function useAutocomplete(p) {
253
254
  if (!s.open || s.filteredSuggestions.length === 0) s.setActiveIndex(-1);
254
255
  setDeliberateClose(s, false);
255
256
  },
257
+ // Unconditionally reopens on a non-empty input, unguarded by
258
+ // `userClosedDropdownRef` — plausible on a touch device that blurs the
259
+ // input on `touchstart` before a tap's own `click`/`mousedown` reaches the
260
+ // option (FUT-2779 #2). Checked under Playwright touch emulation
261
+ // (`hasTouch`/`isMobile` context, both the `.tap()` API and raw CDP
262
+ // `Input.dispatchTouchEvent` at the option's coordinates) against this
263
+ // Chromium build: `document.activeElement` never left the input across
264
+ // the touch, so the reopen never happened — not reproduced, left
265
+ // unguarded per the ticket's decision rather than fixed blind.
256
266
  onFocus: () => {
257
267
  s.setIsInputFocused(true);
258
268
  setDeliberateClose(s, false);
@@ -274,4 +284,4 @@ function useAutocomplete(p) {
274
284
  export {
275
285
  useAutocomplete
276
286
  };
277
- //# sourceMappingURL=chunk-BR2T72JI.js.map
287
+ //# sourceMappingURL=chunk-YWJZPN5C.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/Autocomplete/useAutocomplete.ts"],"sourcesContent":["import { useEffect, useId, useRef, useState } from 'react';\n\nimport {\n defaultGetKey,\n defaultGetLabel,\n defaultGetSuggestionType,\n defaultGetUrl,\n defaultOpenLink,\n filterSuggestions,\n firstGhostSuggestion,\n type MatchMode,\n} from './Autocomplete.helpers';\nimport { handleAutocompleteKey, type KeyContext } from './Autocomplete.keys';\nimport type { AutocompleteProps } from './Autocomplete.types';\n\ntype Setter<V> = React.Dispatch<React.SetStateAction<V>>;\n\n/** All mutable state + refs for one Autocomplete instance. */\ninterface AutocompleteState<T> {\n open: boolean;\n setOpen: Setter<boolean>;\n activeIndex: number;\n setActiveIndex: Setter<number>;\n ghost: string;\n setGhost: Setter<string>;\n inputValue: string;\n setInputValue: Setter<string>;\n composition: boolean;\n setComposition: Setter<boolean>;\n filteredSuggestions: T[];\n setFilteredSuggestions: Setter<T[]>;\n isInputFocused: boolean;\n setIsInputFocused: Setter<boolean>;\n justCompletedGhost: boolean;\n setJustCompletedGhost: Setter<boolean>;\n userClosedDropdown: boolean;\n setUserClosedDropdown: Setter<boolean>;\n /**\n * Mirrors `userClosedDropdown`, set synchronously wherever the state is\n * (see {@link setDeliberateClose}). An effect scheduled by one render and\n * flushed after a LATER render has already changed this flag reads a\n * stale, closed-over `userClosedDropdown` — but `.current` on a ref is\n * dereferenced live, so it always reflects the latest write regardless of\n * which render's closure is doing the reading (FUT-2780).\n */\n userClosedDropdownRef: React.RefObject<boolean>;\n inputRef: React.RefObject<HTMLInputElement | null>;\n listRef: React.RefObject<HTMLUListElement | null>;\n debounceRef: React.RefObject<number | undefined>;\n}\n\nfunction useAutocompleteState<T>(value: string, suggestions: T[]): AutocompleteState<T> {\n const [open, setOpen] = useState(false);\n const [activeIndex, setActiveIndex] = useState(-1);\n const [ghost, setGhost] = useState('');\n const [inputValue, setInputValue] = useState(value);\n const [composition, setComposition] = useState(false);\n const [filteredSuggestions, setFilteredSuggestions] = useState<T[]>(suggestions);\n const [isInputFocused, setIsInputFocused] = useState(false);\n const [justCompletedGhost, setJustCompletedGhost] = useState(false);\n const [userClosedDropdown, setUserClosedDropdown] = useState(false);\n const userClosedDropdownRef = useRef(false);\n const inputRef = useRef<HTMLInputElement>(null);\n const listRef = useRef<HTMLUListElement | null>(null);\n const debounceRef = useRef<number | undefined>(undefined);\n return {\n open, setOpen, activeIndex, setActiveIndex, ghost, setGhost, inputValue, setInputValue,\n composition, setComposition, filteredSuggestions, setFilteredSuggestions, isInputFocused,\n setIsInputFocused, justCompletedGhost, setJustCompletedGhost, userClosedDropdown,\n setUserClosedDropdown, userClosedDropdownRef, inputRef, listRef, debounceRef,\n };\n}\n\n/**\n * Set the \"this close was deliberate\" flag in both the ref effects read\n * synchronously (live, even from a stale closure) and the state the rest of\n * the component reads for render — every call site that touches\n * `userClosedDropdown` goes through this so the two never drift (FUT-2780).\n */\nfunction setDeliberateClose<T>(s: AutocompleteState<T>, closed: boolean): void {\n s.userClosedDropdownRef.current = closed;\n s.setUserClosedDropdown(closed);\n}\n\n// ---- effects (one tiny hook each; explicit params keep deps complete) --------\n\nfunction useValueSync(value: string, setInputValue: Setter<string>): void {\n useEffect(() => setInputValue(value), [value, setInputValue]);\n}\n\nfunction useDebounceCleanup(debounceRef: React.RefObject<number | undefined>): void {\n useEffect(\n () => () => {\n if (debounceRef.current) window.clearTimeout(debounceRef.current);\n },\n [debounceRef],\n );\n}\n\nfunction useScrollActiveIntoView(\n activeIndex: number,\n optionIdPrefix: string,\n listRef: React.RefObject<HTMLUListElement | null>,\n): void {\n useEffect(() => {\n if (activeIndex < 0 || !listRef.current) return;\n document\n .getElementById(`${optionIdPrefix}-${activeIndex}`)\n ?.scrollIntoView({ block: 'nearest' });\n }, [activeIndex, optionIdPrefix, listRef]);\n}\n\nfunction useGhostFlagReset(justCompletedGhost: boolean, setJustCompletedGhost: Setter<boolean>): void {\n useEffect(() => {\n if (!justCompletedGhost) return;\n const timer = setTimeout(() => setJustCompletedGhost(false), 50);\n return () => clearTimeout(timer);\n }, [justCompletedGhost, setJustCompletedGhost]);\n}\n\nfunction useLoadingOpen(\n isLoading: boolean,\n inputValue: string,\n disabled: boolean,\n userClosedDropdownRef: React.RefObject<boolean>,\n setOpen: Setter<boolean>,\n setActiveIndex: Setter<number>,\n): void {\n useEffect(() => {\n if (isLoading && inputValue.trim().length > 0 && !disabled && !userClosedDropdownRef.current) setOpen(true);\n if (disabled) {\n setOpen(false);\n setActiveIndex(-1);\n }\n }, [isLoading, inputValue, disabled, userClosedDropdownRef, setOpen, setActiveIndex]);\n}\n\n/** Inputs to the auto-open check, all primitive/stable so effect deps stay complete. */\ninterface AutoOpenArgs {\n inputValue: string;\n isInputFocused: boolean;\n composition: boolean;\n justCompletedGhost: boolean;\n userClosedDropdownRef: React.RefObject<boolean>;\n activeIndex: number;\n setOpen: Setter<boolean>;\n setActiveIndex: Setter<number>;\n}\n\n/** Auto-open the dropdown once local filtering has a fresh result set. */\nfunction maybeAutoOpen(a: AutoOpenArgs, hasResults: boolean): void {\n const canAutoOpen =\n a.inputValue.trim() &&\n a.isInputFocused &&\n !a.composition &&\n !a.justCompletedGhost &&\n !a.userClosedDropdownRef.current;\n if (!canAutoOpen) return;\n a.setOpen(true);\n if (hasResults && a.activeIndex === -1) a.setActiveIndex(0);\n}\n\nfunction useLocalFilter<T>(p: AutocompleteProps<T>, s: AutocompleteState<T>): void {\n const propSuggestions = p.suggestions;\n const getLabel = p.getLabel ?? defaultGetLabel;\n const matchMode: MatchMode = p.matchMode ?? 'contains';\n const async = Boolean(p.async);\n const {\n inputValue, isInputFocused, composition, justCompletedGhost, userClosedDropdown, activeIndex,\n setFilteredSuggestions, setOpen, setActiveIndex, userClosedDropdownRef,\n } = s;\n useEffect(() => {\n const suggestions = propSuggestions ?? [];\n if (async || !inputValue) {\n setFilteredSuggestions(suggestions);\n return;\n }\n const filtered = filterSuggestions(suggestions, inputValue, matchMode, getLabel);\n setFilteredSuggestions(filtered);\n maybeAutoOpen(\n { inputValue, isInputFocused, composition, justCompletedGhost, userClosedDropdownRef, activeIndex, setOpen, setActiveIndex },\n filtered.length > 0,\n );\n // `userClosedDropdown` (state) stays a dependency so this effect still\n // reruns on every change of it, same as before — only the VALUE read\n // inside `maybeAutoOpen` moved to the ref (see `userClosedDropdownRef`'s\n // doc comment).\n }, [\n propSuggestions, inputValue, async, getLabel, matchMode, isInputFocused, composition,\n justCompletedGhost, userClosedDropdown, activeIndex, setFilteredSuggestions, setOpen, setActiveIndex,\n userClosedDropdownRef,\n ]);\n}\n\nfunction useGhostText<T>(p: AutocompleteProps<T>, s: AutocompleteState<T>): void {\n const getLabel = p.getLabel ?? defaultGetLabel;\n const getType = p.getSuggestionType ?? defaultGetSuggestionType;\n const showGhost = p.showGhostText ?? true;\n const { inputValue, filteredSuggestions, isInputFocused, composition, setGhost } = s;\n useEffect(() => {\n if (!inputValue || !isInputFocused || composition || !showGhost) {\n setGhost('');\n return;\n }\n const first = firstGhostSuggestion(filteredSuggestions, inputValue, getLabel, getType);\n setGhost(first ? getLabel(first).slice(inputValue.length) : '');\n }, [inputValue, filteredSuggestions, isInputFocused, composition, showGhost, getLabel, getType, setGhost]);\n}\n\n// ---- selection (split by mode to keep each function under the complexity bar) -\n\nfunction commitMultiSelect<T>(item: T, p: AutocompleteProps<T>, s: AutocompleteState<T>, onChange: (v: string) => void): void {\n const getKey = p.getKey ?? defaultGetKey;\n const current = p.selectedItems ?? [];\n if (!current.some((sel) => getKey(sel) === getKey(item))) p.onSelectedItemsChange?.([...current, item]);\n s.setInputValue('');\n onChange('');\n setDeliberateClose(s, false);\n}\n\nfunction commitSingleSelect<T>(item: T, p: AutocompleteProps<T>, s: AutocompleteState<T>, onChange: (v: string) => void): void {\n const label = (p.getLabel ?? defaultGetLabel)(item);\n s.setInputValue(label);\n onChange(label);\n}\n\n/** Apply a pick: open a link suggestion, or commit a search one to the input. */\nfunction commitPick<T>(\n item: T,\n linkUrl: string | null,\n p: AutocompleteProps<T>,\n s: AutocompleteState<T>,\n onChange: (v: string) => void,\n): void {\n if (linkUrl !== null) (p.openLink ?? defaultOpenLink)(linkUrl, item);\n else if (p.multiple) commitMultiSelect(item, p, s, onChange);\n else commitSingleSelect(item, p, s, onChange);\n}\n\nfunction runSelectItem<T>(item: T, p: AutocompleteProps<T>, s: AutocompleteState<T>, onChange: (v: string) => void): void {\n const url = (p.getUrl ?? defaultGetUrl)(item);\n const isLink = (p.getSuggestionType ?? defaultGetSuggestionType)(item) === 'link' && Boolean(url);\n // A single-select pick (search or link) ends the current search: the list\n // stays closed until the user types again. `multiple` mode is unchanged —\n // commitMultiSelect already clears inputValue and resets the flag itself,\n // so the empty-input branch of the filter effect keeps the list closed.\n const isSingleSelectPick = isLink || !p.multiple;\n // Cancel a still-pending keystroke debounce BEFORE dispatching the pick, so\n // no branch below — including `openLink`, which never touches `onChange`\n // at all — can leave it armed to fire the STALE pre-pick text later\n // (FUT-2779 #1). `commitSingleSelect`/`commitMultiSelect` already clear it\n // as a side effect of calling the same `debouncedOnChange`; this makes it\n // unconditional so a `link` pick (which skips `onChange` entirely) is\n // covered too.\n if (s.debounceRef.current) window.clearTimeout(s.debounceRef.current);\n commitPick(item, isLink ? (url as string) : null, p, s, onChange);\n s.setOpen(false);\n s.setActiveIndex(-1);\n p.onSelect?.(item);\n s.inputRef.current?.focus();\n // Set LAST so a re-fired `onFocus` cannot clear the flag. The close itself\n // relies on the input never blurring during a pick (the option's\n // `onMouseDown` preventDefault, and Enter keeps focus): `onFocus` reopens a\n // non-empty input directly, without reading this flag. The REF half is set\n // in the same synchronous tick as the pick, so an effect scheduled by an\n // earlier keystroke — and still pending when this runs — reads the\n // up-to-date value instead of the one it closed over (FUT-2780).\n if (isSingleSelectPick) setDeliberateClose(s, true);\n}\n\nfunction buildKeyContext<T>(\n p: AutocompleteProps<T>,\n s: AutocompleteState<T>,\n selectItem: (item: T) => void,\n onChange: (v: string) => void,\n): KeyContext<T> {\n return {\n open: s.open, activeIndex: s.activeIndex, filteredSuggestions: s.filteredSuggestions,\n maxVisibleItems: p.maxVisibleItems ?? 10, allowFreeText: p.allowFreeText ?? true,\n inputValue: s.inputValue, ghost: s.ghost, isInputFocused: s.isInputFocused,\n multiple: Boolean(p.multiple), selectedItems: p.selectedItems ?? [],\n getLabel: p.getLabel ?? defaultGetLabel,\n getSuggestionType: p.getSuggestionType ?? defaultGetSuggestionType,\n setOpen: s.setOpen, setActiveIndex: s.setActiveIndex,\n setUserClosedDropdown: (closed: boolean) => setDeliberateClose(s, closed),\n setInputValue: s.setInputValue, setGhost: s.setGhost, setJustCompletedGhost: s.setJustCompletedGhost,\n debouncedOnChange: onChange, selectItem, onSelectedItemsChange: p.onSelectedItemsChange,\n };\n}\n\n/** The full view-model the presentational component renders. */\nexport interface AutocompleteView<T> {\n id: string;\n listId: string;\n optionIdPrefix: string;\n state: AutocompleteState<T>;\n visibleSuggestions: T[];\n activeDescendant: string | undefined;\n selectItem: (item: T) => void;\n removeSelectedItem: (item: T) => void;\n onKeyDown: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n onInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onFocus: () => void;\n onBlur: () => void;\n onClickAway: () => void;\n}\n\n/** Wire state, effects, and (plain, per-render) handlers for the Autocomplete component. */\nexport function useAutocomplete<T>(p: AutocompleteProps<T>): AutocompleteView<T> {\n const componentId = useId();\n const id = p.id || componentId;\n const optionIdPrefix = `${id}-option`;\n const s = useAutocompleteState<T>(p.value, p.suggestions ?? []);\n\n const debouncedOnChange = (val: string): void => {\n if (s.debounceRef.current) window.clearTimeout(s.debounceRef.current);\n s.debounceRef.current = window.setTimeout(() => p.onChange(val), p.debounceMs ?? 150);\n };\n\n useValueSync(p.value, s.setInputValue);\n useDebounceCleanup(s.debounceRef);\n useScrollActiveIntoView(s.activeIndex, optionIdPrefix, s.listRef);\n useGhostFlagReset(s.justCompletedGhost, s.setJustCompletedGhost);\n useLoadingOpen(\n Boolean(p.isLoading),\n s.inputValue,\n Boolean(p.disabled),\n s.userClosedDropdownRef,\n s.setOpen,\n s.setActiveIndex,\n );\n useLocalFilter(p, s);\n useGhostText(p, s);\n\n const selectItem = (item: T): void => runSelectItem(item, p, s, debouncedOnChange);\n\n return {\n id,\n listId: `${id}-listbox`,\n optionIdPrefix,\n state: s,\n visibleSuggestions: s.filteredSuggestions.slice(0, p.maxVisibleItems ?? 10),\n activeDescendant: s.activeIndex >= 0 ? `${optionIdPrefix}-${s.activeIndex}` : undefined,\n selectItem,\n removeSelectedItem: (item: T): void => {\n const getKey = p.getKey ?? defaultGetKey;\n p.onSelectedItemsChange?.((p.selectedItems ?? []).filter((sel) => getKey(sel) !== getKey(item)));\n s.inputRef.current?.focus();\n },\n onKeyDown: (e: React.KeyboardEvent<HTMLInputElement>): void =>\n handleAutocompleteKey(e, s.composition, buildKeyContext(p, s, selectItem, debouncedOnChange)),\n onInputChange: (e: React.ChangeEvent<HTMLInputElement>): void => {\n s.setInputValue(e.target.value);\n debouncedOnChange(e.target.value);\n if (!s.open || s.filteredSuggestions.length === 0) s.setActiveIndex(-1);\n setDeliberateClose(s, false);\n },\n // Unconditionally reopens on a non-empty input, unguarded by\n // `userClosedDropdownRef` — plausible on a touch device that blurs the\n // input on `touchstart` before a tap's own `click`/`mousedown` reaches the\n // option (FUT-2779 #2). Checked under Playwright touch emulation\n // (`hasTouch`/`isMobile` context, both the `.tap()` API and raw CDP\n // `Input.dispatchTouchEvent` at the option's coordinates) against this\n // Chromium build: `document.activeElement` never left the input across\n // the touch, so the reopen never happened — not reproduced, left\n // unguarded per the ticket's decision rather than fixed blind.\n onFocus: (): void => {\n s.setIsInputFocused(true);\n setDeliberateClose(s, false);\n if (!s.inputValue.trim()) return;\n s.setOpen(true);\n if (s.filteredSuggestions.length > 0 && s.activeIndex === -1) s.setActiveIndex(0);\n },\n onBlur: (): void => {\n window.setTimeout(() => s.setIsInputFocused(false), 150);\n },\n onClickAway: (): void => {\n s.setOpen(false);\n s.setActiveIndex(-1);\n setDeliberateClose(s, true);\n },\n };\n}\n"],"mappings":"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","names":[]}
@@ -1,3 +1,6 @@
1
+ import {
2
+ DateRangeQuickList
3
+ } from "./chunk-6KKQHJE7.js";
1
4
  import {
2
5
  DateRangeFields
3
6
  } from "./chunk-K7MQP2KT.js";
@@ -10,9 +13,6 @@ import {
10
13
  import {
11
14
  toLocalDay
12
15
  } from "./chunk-FRAVVI4A.js";
13
- import {
14
- DateRangeQuickList
15
- } from "./chunk-6KKQHJE7.js";
16
16
  import {
17
17
  Calendar
18
18
  } from "./chunk-XP522FFM.js";
@@ -181,4 +181,4 @@ export {
181
181
  DateRangePicker,
182
182
  DateRangePicker_default
183
183
  };
184
- //# sourceMappingURL=chunk-Z4DKVLYG.js.map
184
+ //# sourceMappingURL=chunk-Z3HSRNJT.js.map
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  SettingSwitchBlock,
9
9
  useSettingSwitchIds
10
- } from "./chunk-F5GXWK6B.js";
10
+ } from "./chunk-Y2CMWGIU.js";
11
11
  import {
12
12
  flatStyles,
13
13
  surfaceStyles,
@@ -44,4 +44,4 @@ SettingToggle.displayName = "SettingToggle";
44
44
  export {
45
45
  SettingToggle
46
46
  };
47
- //# sourceMappingURL=chunk-5PTCT3LF.js.map
47
+ //# sourceMappingURL=chunk-ZQ7IESR7.js.map
@@ -1,7 +1,7 @@
1
1
  import "../chunk-SX3E6UC2.js";
2
2
  import {
3
3
  AsyncStateContainer
4
- } from "../chunk-JSGVYOMN.js";
4
+ } from "../chunk-5MW7OYBM.js";
5
5
  import "../chunk-PBMCRDZI.js";
6
6
  import "../chunk-TLGGVE56.js";
7
7
  import "../chunk-OL2BEJZR.js";
@@ -11,9 +11,9 @@ import "../chunk-BEGTLELZ.js";
11
11
  import "../chunk-E2QIKJX2.js";
12
12
  import "../chunk-EMPVMZAB.js";
13
13
  import "../chunk-7WDPC46N.js";
14
- import "../chunk-4MKVGSHX.js";
15
- import "../chunk-MWFSIB6K.js";
14
+ import "../chunk-HN3PZTUK.js";
16
15
  import "../chunk-KLPTOVIX.js";
16
+ import "../chunk-MWFSIB6K.js";
17
17
  import "../chunk-TYJR4GOF.js";
18
18
  import "../chunk-7ZPUN7TV.js";
19
19
  import "../chunk-FZXKH2ZT.js";
@@ -1,16 +1,17 @@
1
1
  import {
2
2
  Badge
3
- } from "../chunk-ITFFA3H2.js";
3
+ } from "../chunk-JYLBVHG2.js";
4
4
  import "../chunk-6C5D6O3D.js";
5
- import "../chunk-MM5XSAVE.js";
6
- import "../chunk-7LILFS72.js";
5
+ import "../chunk-YDIRPKYI.js";
6
+ import "../chunk-EOKPFMJD.js";
7
7
  import "../chunk-M5ZXL52T.js";
8
8
  import "../chunk-3UIDKLML.js";
9
9
  import "../chunk-PYC4CWCQ.js";
10
10
  import "../chunk-TYJR4GOF.js";
11
- import "../chunk-ZSTSISM6.js";
11
+ import "../chunk-FHWXRHMA.js";
12
12
  import "../chunk-7ZPUN7TV.js";
13
- import "../chunk-DJKVSUXH.js";
13
+ import "../chunk-2GG5W6LR.js";
14
+ import "../chunk-532XOWZ5.js";
14
15
  import "../chunk-PT6TCWIW.js";
15
16
  import "../chunk-M47ZOUGF.js";
16
17
  import "../chunk-7FDU3FIN.js";
@@ -3,10 +3,14 @@ import {
3
3
  } from "../chunk-NRSVI23L.js";
4
4
  import {
5
5
  useRowConfirm
6
- } from "../chunk-Z4O3F6KU.js";
6
+ } from "../chunk-U4QUDFPJ.js";
7
7
  import {
8
8
  useRemoveConfirm
9
- } from "../chunk-YGYQC7MT.js";
9
+ } from "../chunk-QOLIBVGS.js";
10
+ import {
11
+ CardActionsProvider,
12
+ useCardActions
13
+ } from "../chunk-NSKQANRY.js";
10
14
  import {
11
15
  rowActionsToMenuItems
12
16
  } from "../chunk-ZBXG6RVJ.js";
@@ -17,18 +21,14 @@ import {
17
21
  Ledger,
18
22
  TagList
19
23
  } from "../chunk-JOKWTRWL.js";
20
- import {
21
- CardActionsProvider,
22
- useCardActions
23
- } from "../chunk-NSKQANRY.js";
24
24
  import "../chunk-WVML3ENZ.js";
25
25
  import "../chunk-U3DBQXPI.js";
26
26
  import "../chunk-XCBQXSTR.js";
27
- import "../chunk-77BKKPCI.js";
28
- import "../chunk-4CHYMTBT.js";
29
- import "../chunk-NDHDBOUH.js";
30
- import "../chunk-EMYESBIT.js";
27
+ import "../chunk-6KLDYVRY.js";
28
+ import "../chunk-4WCDMCIS.js";
29
+ import "../chunk-FWPFCK4D.js";
31
30
  import "../chunk-BJZOBG24.js";
31
+ import "../chunk-EMYESBIT.js";
32
32
  import "../chunk-NUGT7LMR.js";
33
33
  import "../chunk-AUHYR7ID.js";
34
34
  import "../chunk-MO47Y26B.js";
@@ -1,20 +1,21 @@
1
1
  import "../chunk-62FET2BM.js";
2
2
  import {
3
3
  Carousel
4
- } from "../chunk-EO5IEWFI.js";
4
+ } from "../chunk-DE6A46AE.js";
5
+ import "../chunk-TRHWA74K.js";
5
6
  import "../chunk-RUIV5TVA.js";
6
- import "../chunk-K4A3JDYQ.js";
7
+ import "../chunk-6ZWOVUNB.js";
7
8
  import {
8
9
  CarouselArrows,
9
10
  CarouselIndicators,
10
11
  CarouselThumbnails
11
- } from "../chunk-PNDYAIKM.js";
12
- import "../chunk-5B7BTLN4.js";
13
- import "../chunk-TRHWA74K.js";
12
+ } from "../chunk-Q5J37WOE.js";
13
+ import "../chunk-SOCZLOPJ.js";
14
14
  import "../chunk-HPK33ACY.js";
15
- import "../chunk-ZSTSISM6.js";
15
+ import "../chunk-FHWXRHMA.js";
16
16
  import "../chunk-7ZPUN7TV.js";
17
- import "../chunk-DJKVSUXH.js";
17
+ import "../chunk-2GG5W6LR.js";
18
+ import "../chunk-532XOWZ5.js";
18
19
  import "../chunk-PT6TCWIW.js";
19
20
  import "../chunk-M47ZOUGF.js";
20
21
  import "../chunk-7FDU3FIN.js";