@12-apps/ui 6.78.4 → 6.80.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 (1203) hide show
  1. package/dist/_internal/components/data-display/Alert/Alert.js +3 -3
  2. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +3 -2
  3. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.parts.js +2 -1
  4. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +7 -5
  5. package/dist/_internal/components/data-display/Avatar/Avatar.js +5 -4
  6. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
  7. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +4 -4
  8. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +12 -11
  9. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +8 -7
  10. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +5 -2
  11. package/dist/_internal/components/data-display/Carousel/Carousel.js +7 -4
  12. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +4 -1
  13. package/dist/_internal/components/data-display/Chart/Chart.js +3 -3
  14. package/dist/_internal/components/data-display/Chart/SpecChart.js +6 -6
  15. package/dist/_internal/components/data-display/Chart/chart-renderers.js +2 -2
  16. package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
  17. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
  18. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +55 -53
  19. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +76 -74
  20. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +4 -3
  21. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +10 -9
  22. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +8 -7
  23. package/dist/_internal/components/data-display/DataViews/base-card.js +5 -5
  24. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +3 -3
  25. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +3 -3
  26. package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +3 -3
  27. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +2 -2
  28. package/dist/_internal/components/data-display/DataViews/base-list-card.js +10 -10
  29. package/dist/_internal/components/data-display/DataViews/data-views-card-body.js +2 -2
  30. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +17 -15
  31. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +2 -2
  32. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +2 -2
  33. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +24 -22
  34. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +8 -8
  35. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +1 -1
  36. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +50 -48
  37. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +25 -23
  38. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +22 -20
  39. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +23 -21
  40. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +3 -3
  41. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +4 -3
  42. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +13 -11
  43. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +25 -23
  44. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +12 -10
  45. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +1 -1
  46. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
  47. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +5 -5
  48. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +3 -2
  49. package/dist/_internal/components/data-display/ErrorState/ErrorState.js +2 -1
  50. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +11 -8
  51. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +10 -7
  52. package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +1 -1
  53. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +16 -12
  54. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +2 -2
  55. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +2 -2
  56. package/dist/_internal/components/data-display/LazyImage/LazyImage.hooks.js +1 -1
  57. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +3 -2
  58. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +6 -6
  59. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +3 -1
  60. package/dist/_internal/components/data-display/MapPreview/MapControlBar.js +5 -1
  61. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +7 -3
  62. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +5 -1
  63. package/dist/_internal/components/data-display/MapPreview/MapPreview.helpers.js +6 -1
  64. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +9 -6
  65. package/dist/_internal/components/data-display/Progress/Progress.js +2 -2
  66. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +6 -4
  67. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +3 -2
  68. package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
  69. package/dist/_internal/components/data-display/Sheet/Sheet.js +6 -5
  70. package/dist/_internal/components/data-display/Sheet/Sheet.parts.js +2 -1
  71. package/dist/_internal/components/data-display/Stepper/Stepper.js +3 -1
  72. package/dist/_internal/components/data-display/Table/Table.helpers.js +1 -1
  73. package/dist/_internal/components/data-display/Table/Table.js +6 -4
  74. package/dist/_internal/components/data-display/Table/TableParts.hooks.js +4 -2
  75. package/dist/_internal/components/data-display/Table/TableParts.js +4 -2
  76. package/dist/_internal/components/data-display/Timeline/Timeline.js +4 -2
  77. package/dist/_internal/components/data-display/Timeline/TimelineRow.js +1 -1
  78. package/dist/_internal/components/data-display/index.js +73 -68
  79. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +5 -4
  80. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +4 -3
  81. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +6 -5
  82. package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +5 -4
  83. package/dist/_internal/components/feedback/Dialog/Dialog.js +3 -2
  84. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +4 -4
  85. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +12 -11
  86. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +6 -6
  87. package/dist/_internal/components/feedback/Sonner/Sonner.js +3 -2
  88. package/dist/_internal/components/feedback/Sonner/SonnerToast.js +1 -1
  89. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +7 -6
  90. package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +2 -1
  91. package/dist/_internal/components/feedback/Toast/Toast.js +2 -1
  92. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +3 -2
  93. package/dist/_internal/components/feedback/TutorialOverlay/TutorialStepBody.js +2 -1
  94. package/dist/_internal/components/feedback/index.js +34 -32
  95. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.helpers.js +3 -1
  96. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +8 -6
  97. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +12 -10
  98. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +4 -2
  99. package/dist/_internal/components/form/AddressAutocomplete/useAddressPredictions.js +4 -2
  100. package/dist/_internal/components/form/AddressAutocomplete/useAddressSelection.js +1 -1
  101. package/dist/_internal/components/form/AddressAutocomplete/useCurrentLocation.js +1 -1
  102. package/dist/_internal/components/form/AddressAutocomplete/useGoogleMapsAPI.js +1 -1
  103. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +2 -2
  104. package/dist/_internal/components/form/Calendar/Calendar.hooks.js +2 -2
  105. package/dist/_internal/components/form/Calendar/Calendar.js +6 -6
  106. package/dist/_internal/components/form/Calendar/CalendarDayCell.js +2 -2
  107. package/dist/_internal/components/form/Calendar/CalendarMonth.js +3 -3
  108. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +5 -5
  109. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
  110. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
  111. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +9 -9
  112. package/dist/_internal/components/form/Checkbox/Checkbox.js +2 -2
  113. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +3 -3
  114. package/dist/_internal/components/form/Command/Command.hooks.js +2 -1
  115. package/dist/_internal/components/form/Command/Command.js +4 -3
  116. package/dist/_internal/components/form/Command/Command.parts.js +2 -1
  117. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +3 -2
  118. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +12 -11
  119. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +2 -1
  120. package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +3 -2
  121. package/dist/_internal/components/form/InputOTP/InputOTP.js +2 -2
  122. package/dist/_internal/components/form/Menubar/Menubar.js +2 -2
  123. package/dist/_internal/components/form/PhoneInput/PhoneInput.hooks.js +2 -2
  124. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +4 -3
  125. package/dist/_internal/components/form/PhoneInput/countries.js +7 -3
  126. package/dist/_internal/components/form/PickerSheet/PickerSheet.js +4 -4
  127. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.dom.js +2 -1
  128. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.format.js +3 -2
  129. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.hooks.js +4 -3
  130. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +7 -5
  131. package/dist/_internal/components/form/RichTextEditor/RichTextEditorToolbar.js +1 -1
  132. package/dist/_internal/components/form/Switch/Switch.js +4 -4
  133. package/dist/_internal/components/form/Switch/Switch.parts.js +3 -3
  134. package/dist/_internal/components/form/Switch/Switch.styles.js +2 -2
  135. package/dist/_internal/components/form/Textarea/Textarea.js +1 -1
  136. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +4 -1
  137. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js.map +1 -1
  138. package/dist/_internal/components/form/UploadButton/UploadButton.hooks.js +2 -1
  139. package/dist/_internal/components/form/UploadButton/UploadButton.js +3 -2
  140. package/dist/_internal/components/form/index.js +53 -50
  141. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +10 -10
  142. package/dist/_internal/components/form/total-form/Fields/index.js +13 -13
  143. package/dist/_internal/components/form/total-form/FormErrorSnackbar.js +3 -2
  144. package/dist/_internal/components/index.js +214 -205
  145. package/dist/_internal/components/layout/Card/Card.js +2 -2
  146. package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +2 -1
  147. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +3 -1
  148. package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +2 -1
  149. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +2 -1
  150. package/dist/_internal/components/layout/Dashboard/Dashboard.js +2 -1
  151. package/dist/_internal/components/layout/Drawer/Drawer.js +2 -1
  152. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +3 -3
  153. package/dist/_internal/components/layout/SettingCard/SettingCard.js +4 -4
  154. package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +3 -3
  155. package/dist/_internal/components/layout/SettingCard/SettingGroup.js +10 -10
  156. package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +8 -8
  157. package/dist/_internal/components/layout/SettingCard/SettingToggle.js +10 -10
  158. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +7 -6
  159. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.rail.js +1 -1
  160. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +3 -3
  161. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.js +2 -2
  162. package/dist/_internal/components/layout/TableFilter/TableFilter.js +2 -1
  163. package/dist/_internal/components/layout/index.js +38 -36
  164. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +9 -8
  165. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +2 -1
  166. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +2 -1
  167. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.helpers.js +2 -1
  168. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.hooks.js +3 -2
  169. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +6 -4
  170. package/dist/_internal/components/navigation/CommandPalette/CommandPaletteResults.js +3 -1
  171. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +4 -4
  172. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +7 -6
  173. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.shell.js +1 -1
  174. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
  175. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +5 -4
  176. package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
  177. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +4 -3
  178. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +6 -5
  179. package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +3 -2
  180. package/dist/_internal/components/navigation/index.js +34 -30
  181. package/dist/_internal/components/typography/Code/Code.js +2 -1
  182. package/dist/_internal/components/typography/index.js +2 -1
  183. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +2 -1
  184. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.js +3 -2
  185. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.parts.js +2 -1
  186. package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +2 -2
  187. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +7 -3
  188. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +6 -4
  189. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +4 -2
  190. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +5 -3
  191. package/dist/_internal/components/utility/index.js +11 -9
  192. package/dist/_internal/copy/labels.js +1 -0
  193. package/dist/_internal/en-US.data-display.js +1 -1
  194. package/dist/_internal/en-US.feedback.js +1 -1
  195. package/dist/_internal/en-US.form.js +1 -1
  196. package/dist/_internal/en-US.labels.js +8 -0
  197. package/dist/_internal/en-US.navigation.js +1 -1
  198. package/dist/_internal/en-US.utility.js +1 -1
  199. package/dist/_internal/pt-BR.data-display.js +1 -1
  200. package/dist/_internal/pt-BR.feedback.js +1 -1
  201. package/dist/_internal/pt-BR.form.js +1 -1
  202. package/dist/_internal/pt-BR.labels.js +8 -0
  203. package/dist/_internal/pt-BR.labels.js.map +1 -0
  204. package/dist/_internal/pt-BR.navigation.js +1 -1
  205. package/dist/_internal/pt-BR.utility.js +1 -1
  206. package/dist/_internal/social-login-button/social-login-button.js +5 -4
  207. package/dist/_internal/user-avatar/user-avatar.js +9 -7
  208. package/dist/_internal/utils/resolve-labels.js +8 -0
  209. package/dist/_internal/utils/resolve-labels.js.map +1 -0
  210. package/dist/charts.js +11 -11
  211. package/dist/{chunk-OPP6USJC.js → chunk-2FQF4CNE.js} +2 -2
  212. package/dist/{chunk-BWFQEASG.js → chunk-2P5ZBBTL.js} +5 -5
  213. package/dist/{chunk-SV6IQ2YO.js → chunk-3B7EJIG7.js} +6 -4
  214. package/dist/chunk-3B7EJIG7.js.map +1 -0
  215. package/dist/{chunk-GHXW6O5T.js → chunk-3LQLLL2J.js} +4 -4
  216. package/dist/chunk-3LQLLL2J.js.map +1 -0
  217. package/dist/{chunk-4MQ6XTIJ.js → chunk-3OWFUFZL.js} +27 -13
  218. package/dist/chunk-3OWFUFZL.js.map +1 -0
  219. package/dist/{chunk-QVO4SIS7.js → chunk-3W2B7IZG.js} +2 -2
  220. package/dist/{chunk-AYP6ICAY.js → chunk-44FY2YZL.js} +11 -10
  221. package/dist/chunk-44FY2YZL.js.map +1 -0
  222. package/dist/{chunk-Q6PRGXR2.js → chunk-4HBCWKIX.js} +4 -4
  223. package/dist/{chunk-RA6W37NZ.js → chunk-4JV46KXS.js} +11 -8
  224. package/dist/chunk-4JV46KXS.js.map +1 -0
  225. package/dist/{chunk-2QO3BKUQ.js → chunk-4NVEUJXK.js} +5 -5
  226. package/dist/{chunk-O6SAU5JA.js → chunk-4OTJ66ID.js} +4 -4
  227. package/dist/{chunk-PBMCRDZI.js → chunk-4PREA2R5.js} +5 -2
  228. package/dist/chunk-4PREA2R5.js.map +1 -0
  229. package/dist/{chunk-YZX4DVRS.js → chunk-52UVUVYQ.js} +6 -3
  230. package/dist/chunk-52UVUVYQ.js.map +1 -0
  231. package/dist/{chunk-PIP7XII2.js → chunk-5JDY5W7O.js} +3 -3
  232. package/dist/{chunk-XICRCPEQ.js → chunk-5U7LBO2V.js} +5 -4
  233. package/dist/chunk-5U7LBO2V.js.map +1 -0
  234. package/dist/{chunk-JE6RZ5L6.js → chunk-5ZOJLYD2.js} +4 -4
  235. package/dist/{chunk-KT3TF2LT.js → chunk-634Z7HGN.js} +10 -5
  236. package/dist/chunk-634Z7HGN.js.map +1 -0
  237. package/dist/{chunk-LG52LMAM.js → chunk-6B7VZFAO.js} +3 -3
  238. package/dist/{chunk-ALREWFRX.js → chunk-6DGNMASB.js} +4 -4
  239. package/dist/{chunk-LH4VKUZC.js → chunk-6EERXU6R.js} +13 -7
  240. package/dist/chunk-6EERXU6R.js.map +1 -0
  241. package/dist/{chunk-MA6SUE7F.js → chunk-6EZQLNPK.js} +5 -3
  242. package/dist/chunk-6EZQLNPK.js.map +1 -0
  243. package/dist/{chunk-555TUQ7E.js → chunk-6IVR5HFI.js} +6 -6
  244. package/dist/{chunk-VRPCZ3IE.js → chunk-6JKECOZ2.js} +7 -6
  245. package/dist/chunk-6JKECOZ2.js.map +1 -0
  246. package/dist/{chunk-J26ZWYQI.js → chunk-6KCJNERH.js} +2 -2
  247. package/dist/{chunk-5752357K.js → chunk-6N2U67KF.js} +4 -4
  248. package/dist/{chunk-AXZCCX7O.js → chunk-6S7CFH6V.js} +2 -2
  249. package/dist/{chunk-PMRLFNBT.js → chunk-763AHWKU.js} +4 -4
  250. package/dist/{chunk-6DAIC2MG.js → chunk-775LIZXS.js} +4 -4
  251. package/dist/{chunk-XKSA4L2X.js → chunk-7DODMQRK.js} +11 -3
  252. package/dist/chunk-7DODMQRK.js.map +1 -0
  253. package/dist/{chunk-7HA7UH7O.js → chunk-7H5BIZ33.js} +4 -4
  254. package/dist/{chunk-VEBNL5MG.js → chunk-7HYLXERK.js} +4 -4
  255. package/dist/{chunk-M3DSPEZ3.js → chunk-7S3NG2AO.js} +6 -6
  256. package/dist/{chunk-EUACQR6N.js → chunk-7UDQJOZZ.js} +7 -5
  257. package/dist/chunk-7UDQJOZZ.js.map +1 -0
  258. package/dist/{chunk-CSD6SWBZ.js → chunk-A3Z7ZXLM.js} +6 -6
  259. package/dist/{chunk-3ZWCKCZC.js → chunk-A7LBWRRW.js} +5 -2
  260. package/dist/chunk-A7LBWRRW.js.map +1 -0
  261. package/dist/{chunk-LBZEPWYK.js → chunk-ABJOW7EK.js} +4 -4
  262. package/dist/{chunk-44PBCQ7E.js → chunk-ABQZFK7M.js} +6 -6
  263. package/dist/{chunk-ZFBFQK2Y.js → chunk-AFSXC5FU.js} +11 -12
  264. package/dist/chunk-AFSXC5FU.js.map +1 -0
  265. package/dist/{chunk-PY3RW5LC.js → chunk-AISCD6W6.js} +24 -10
  266. package/dist/chunk-AISCD6W6.js.map +1 -0
  267. package/dist/{chunk-EIMFA7KP.js → chunk-ANUO67JQ.js} +2 -2
  268. package/dist/{chunk-PTQRJEPN.js → chunk-AOBQ3KYY.js} +2 -2
  269. package/dist/{chunk-LODYTVOO.js → chunk-B25SHVWP.js} +4 -4
  270. package/dist/{chunk-ZYKDUKAH.js → chunk-B2RNNJRO.js} +7 -4
  271. package/dist/chunk-B2RNNJRO.js.map +1 -0
  272. package/dist/{chunk-HPEBSLYP.js → chunk-B67KUCWU.js} +2 -2
  273. package/dist/{chunk-GTT5UKKO.js → chunk-BDJIP4HG.js} +4 -4
  274. package/dist/{chunk-TTCVYY2B.js → chunk-BFBCTF2Y.js} +22 -7
  275. package/dist/chunk-BFBCTF2Y.js.map +1 -0
  276. package/dist/{chunk-RS576GOH.js → chunk-BIUT3K6A.js} +4 -4
  277. package/dist/{chunk-A5NXBOWS.js → chunk-BLHSLB5D.js} +5 -5
  278. package/dist/{chunk-RHKQ2RSY.js → chunk-BLVFHVDM.js} +17 -17
  279. package/dist/{chunk-DYHOBKPU.js → chunk-BLZDSCIZ.js} +6 -6
  280. package/dist/{chunk-XQWUVQ2F.js → chunk-BMVLTTTC.js} +10 -3
  281. package/dist/chunk-BMVLTTTC.js.map +1 -0
  282. package/dist/{chunk-CZV6NVCA.js → chunk-BTDY2NYV.js} +10 -7
  283. package/dist/chunk-BTDY2NYV.js.map +1 -0
  284. package/dist/{chunk-E53MMMDA.js → chunk-BX6CF2UG.js} +3 -3
  285. package/dist/{chunk-RUF7TOAZ.js → chunk-C2I7NQC4.js} +3 -2
  286. package/dist/{chunk-RUF7TOAZ.js.map → chunk-C2I7NQC4.js.map} +1 -1
  287. package/dist/{chunk-WVZBYTIK.js → chunk-C465AAD5.js} +29 -19
  288. package/dist/chunk-C465AAD5.js.map +1 -0
  289. package/dist/{chunk-XYFBJH6F.js → chunk-C7LHIDVB.js} +19 -9
  290. package/dist/chunk-C7LHIDVB.js.map +1 -0
  291. package/dist/{chunk-Z24VOTA7.js → chunk-CCWE6DBC.js} +4 -2
  292. package/dist/{chunk-Z24VOTA7.js.map → chunk-CCWE6DBC.js.map} +1 -1
  293. package/dist/{chunk-7K23NEZO.js → chunk-CFDYQSN6.js} +8 -8
  294. package/dist/{chunk-YLSDFW5O.js → chunk-CN4JS57H.js} +35 -5
  295. package/dist/chunk-CN4JS57H.js.map +1 -0
  296. package/dist/{chunk-4NQXHPQR.js → chunk-D4LMRSY7.js} +11 -2
  297. package/dist/chunk-D4LMRSY7.js.map +1 -0
  298. package/dist/{chunk-O36MIQIO.js → chunk-DB7OJM6X.js} +2 -2
  299. package/dist/{chunk-GSXYXMCV.js → chunk-DD3VFDB2.js} +2 -2
  300. package/dist/{chunk-KARMRTTM.js → chunk-DE2GWZ6X.js} +10 -7
  301. package/dist/chunk-DE2GWZ6X.js.map +1 -0
  302. package/dist/{chunk-FT6HBP5E.js → chunk-DE7E2GBP.js} +11 -8
  303. package/dist/chunk-DE7E2GBP.js.map +1 -0
  304. package/dist/{chunk-QWVETTIY.js → chunk-DJMVBIFD.js} +21 -12
  305. package/dist/chunk-DJMVBIFD.js.map +1 -0
  306. package/dist/{chunk-JKNKGGOG.js → chunk-DKRMOIX2.js} +7 -1
  307. package/dist/chunk-DKRMOIX2.js.map +1 -0
  308. package/dist/{chunk-3HLKTBEO.js → chunk-DQ22UKMZ.js} +4 -2
  309. package/dist/{chunk-3HLKTBEO.js.map → chunk-DQ22UKMZ.js.map} +1 -1
  310. package/dist/{chunk-IQ2U5MVO.js → chunk-DT22MDC3.js} +9 -9
  311. package/dist/{chunk-INGPH3YQ.js → chunk-DVRNW33K.js} +28 -5
  312. package/dist/chunk-DVRNW33K.js.map +1 -0
  313. package/dist/{chunk-C5JCARNE.js → chunk-DWCH6GH5.js} +7 -4
  314. package/dist/chunk-DWCH6GH5.js.map +1 -0
  315. package/dist/{chunk-NTO5DALI.js → chunk-DWLSYFQW.js} +5 -2
  316. package/dist/chunk-DWLSYFQW.js.map +1 -0
  317. package/dist/{chunk-7XSCEHGA.js → chunk-EOQ6EKTS.js} +7 -7
  318. package/dist/{chunk-UGH2DDST.js → chunk-ETSASQXI.js} +4 -2
  319. package/dist/chunk-ETSASQXI.js.map +1 -0
  320. package/dist/{chunk-F742IMLQ.js → chunk-EXKK73UN.js} +5 -2
  321. package/dist/chunk-EXKK73UN.js.map +1 -0
  322. package/dist/{chunk-HN3PZTUK.js → chunk-F5SUBK42.js} +9 -6
  323. package/dist/chunk-F5SUBK42.js.map +1 -0
  324. package/dist/chunk-FB4GLQQO.js +102 -0
  325. package/dist/chunk-FB4GLQQO.js.map +1 -0
  326. package/dist/{chunk-5KNDAC24.js → chunk-FCCOUOP7.js} +8 -2
  327. package/dist/chunk-FCCOUOP7.js.map +1 -0
  328. package/dist/{chunk-WC3W36AM.js → chunk-FKUVFPQZ.js} +26 -12
  329. package/dist/chunk-FKUVFPQZ.js.map +1 -0
  330. package/dist/{chunk-VEKTKCSB.js → chunk-FLJ3RIRP.js} +5 -5
  331. package/dist/{chunk-2ARVNCVU.js → chunk-FZUAB2KS.js} +8 -6
  332. package/dist/chunk-FZUAB2KS.js.map +1 -0
  333. package/dist/{chunk-Z5WUSI47.js → chunk-G3JFESKD.js} +6 -6
  334. package/dist/{chunk-KZXOIRUP.js → chunk-G3SWMBZS.js} +43 -12
  335. package/dist/chunk-G3SWMBZS.js.map +1 -0
  336. package/dist/{chunk-XRDH24J7.js → chunk-G6ET2DRL.js} +2 -2
  337. package/dist/{chunk-KIL3OVLI.js → chunk-G76PIGF7.js} +6 -2
  338. package/dist/chunk-G76PIGF7.js.map +1 -0
  339. package/dist/{chunk-7JOLSD2W.js → chunk-GHTVBYFA.js} +3 -3
  340. package/dist/{chunk-Y7YJYUNV.js → chunk-GLAAX5JJ.js} +16 -4
  341. package/dist/chunk-GLAAX5JJ.js.map +1 -0
  342. package/dist/{chunk-U4G3KY6L.js → chunk-GMU5AA3R.js} +8 -7
  343. package/dist/chunk-GMU5AA3R.js.map +1 -0
  344. package/dist/{chunk-XLTHZI5W.js → chunk-GX2LIB4T.js} +6 -3
  345. package/dist/chunk-GX2LIB4T.js.map +1 -0
  346. package/dist/{chunk-RKVS5AA6.js → chunk-H3NXDKFH.js} +7 -4
  347. package/dist/chunk-H3NXDKFH.js.map +1 -0
  348. package/dist/{chunk-47VRDPR2.js → chunk-HFZE2PGM.js} +5 -2
  349. package/dist/chunk-HFZE2PGM.js.map +1 -0
  350. package/dist/{chunk-AMLHEKSV.js → chunk-HI7JPDD6.js} +5 -5
  351. package/dist/{chunk-5MMAV7XK.js → chunk-HWKBCLKD.js} +4 -2
  352. package/dist/chunk-HWKBCLKD.js.map +1 -0
  353. package/dist/{chunk-5J7SA4CZ.js → chunk-HWUFOII2.js} +28 -10
  354. package/dist/chunk-HWUFOII2.js.map +1 -0
  355. package/dist/{chunk-N34AOGK3.js → chunk-I3OKAQ5L.js} +7 -7
  356. package/dist/{chunk-AEYLFBZT.js → chunk-I4NDZFTB.js} +2 -2
  357. package/dist/{chunk-2ZRZTGWP.js → chunk-ISW5K72V.js} +5 -5
  358. package/dist/{chunk-ICRVLGWD.js → chunk-J7CIRTWQ.js} +14 -3
  359. package/dist/chunk-J7CIRTWQ.js.map +1 -0
  360. package/dist/{chunk-FTPTPASD.js → chunk-JBYFBPI6.js} +2 -5
  361. package/dist/{chunk-FTPTPASD.js.map → chunk-JBYFBPI6.js.map} +1 -1
  362. package/dist/{chunk-AYJ44VTJ.js → chunk-JJNY5MZL.js} +15 -13
  363. package/dist/chunk-JJNY5MZL.js.map +1 -0
  364. package/dist/{chunk-4M5GEKPM.js → chunk-JL4I7OQE.js} +4 -4
  365. package/dist/{chunk-EF4DVYD2.js → chunk-JMUZ5JZA.js} +2 -2
  366. package/dist/chunk-JQLQOIB3.js +1 -0
  367. package/dist/chunk-JQLQOIB3.js.map +1 -0
  368. package/dist/{chunk-FIOBPQL2.js → chunk-JQSF3CUR.js} +16 -4
  369. package/dist/chunk-JQSF3CUR.js.map +1 -0
  370. package/dist/{chunk-HQCZT6TO.js → chunk-JVOEVTCZ.js} +5 -5
  371. package/dist/{chunk-MBMZNSBP.js → chunk-JW7MN4DG.js} +3 -3
  372. package/dist/{chunk-FCVPVEAS.js → chunk-KSOIFQJ6.js} +7 -7
  373. package/dist/{chunk-GBVNY2LG.js → chunk-KTXJQ4YJ.js} +6 -6
  374. package/dist/{chunk-NBXG3SQ3.js → chunk-KW2KCPZF.js} +6 -6
  375. package/dist/{chunk-4VRDFZ4G.js → chunk-KYTFGW4R.js} +7 -3
  376. package/dist/chunk-KYTFGW4R.js.map +1 -0
  377. package/dist/{chunk-3V3Z4EML.js → chunk-L4FWEI2P.js} +5 -5
  378. package/dist/{chunk-7VRCGWQL.js → chunk-L7N4AFZD.js} +6 -5
  379. package/dist/chunk-L7N4AFZD.js.map +1 -0
  380. package/dist/{chunk-T743IIER.js → chunk-LDPN55AA.js} +8 -4
  381. package/dist/chunk-LDPN55AA.js.map +1 -0
  382. package/dist/{chunk-2TSGRQ2J.js → chunk-LHJJZ462.js} +4 -2
  383. package/dist/chunk-LHJJZ462.js.map +1 -0
  384. package/dist/{chunk-OE3SQOZV.js → chunk-LHRAHDJF.js} +13 -7
  385. package/dist/chunk-LHRAHDJF.js.map +1 -0
  386. package/dist/chunk-LL2BWQPM.js +11 -0
  387. package/dist/chunk-LL2BWQPM.js.map +1 -0
  388. package/dist/{chunk-56JF5PZK.js → chunk-LYVTJLCF.js} +4 -4
  389. package/dist/{chunk-MNZ6MCOK.js → chunk-MKRJUT5O.js} +9 -9
  390. package/dist/{chunk-BGYLL467.js → chunk-N3W6FZOC.js} +4 -4
  391. package/dist/{chunk-B2JYQBO4.js → chunk-NF5TATKP.js} +11 -6
  392. package/dist/chunk-NF5TATKP.js.map +1 -0
  393. package/dist/{chunk-BWFUZ4N2.js → chunk-NGXDOWUP.js} +4 -4
  394. package/dist/{chunk-MTGEJRE4.js → chunk-NNKIM73H.js} +17 -4
  395. package/dist/chunk-NNKIM73H.js.map +1 -0
  396. package/dist/{chunk-OHXAJUO5.js → chunk-NPPO7G2B.js} +5 -3
  397. package/dist/{chunk-OHXAJUO5.js.map → chunk-NPPO7G2B.js.map} +1 -1
  398. package/dist/{chunk-3VXS7O3X.js → chunk-NSS3X7FK.js} +17 -3
  399. package/dist/chunk-NSS3X7FK.js.map +1 -0
  400. package/dist/{chunk-VNVV6Y2X.js → chunk-NWNHSASQ.js} +4 -2
  401. package/dist/chunk-NWNHSASQ.js.map +1 -0
  402. package/dist/chunk-O2RXSXSF.js +145 -0
  403. package/dist/chunk-O2RXSXSF.js.map +1 -0
  404. package/dist/{chunk-VMN6KG2U.js → chunk-OCLEKMBP.js} +3 -3
  405. package/dist/chunk-OCLEKMBP.js.map +1 -0
  406. package/dist/{chunk-HBP2OU4Q.js → chunk-OOCD2QR3.js} +4 -3
  407. package/dist/chunk-OOCD2QR3.js.map +1 -0
  408. package/dist/{chunk-NYWAAXDX.js → chunk-OT4HIG7S.js} +3 -3
  409. package/dist/{chunk-ZPACE34U.js → chunk-OTION43A.js} +16 -12
  410. package/dist/chunk-OTION43A.js.map +1 -0
  411. package/dist/{chunk-GRMBCJS6.js → chunk-PAKLYZ6G.js} +4 -4
  412. package/dist/{chunk-PU3HEWSG.js → chunk-PF2A2IM7.js} +13 -4
  413. package/dist/chunk-PF2A2IM7.js.map +1 -0
  414. package/dist/{chunk-5M2NWXN4.js → chunk-PGBIUO2A.js} +2 -2
  415. package/dist/{chunk-RCTHCXS6.js → chunk-PJNIJIE6.js} +2 -2
  416. package/dist/{chunk-6ATXOJVQ.js → chunk-QADTI63U.js} +4 -4
  417. package/dist/{chunk-SUZXPDUQ.js → chunk-QJLOWBFW.js} +12 -6
  418. package/dist/chunk-QJLOWBFW.js.map +1 -0
  419. package/dist/{chunk-FRGNTTPA.js → chunk-QK3XXPBA.js} +15 -10
  420. package/dist/chunk-QK3XXPBA.js.map +1 -0
  421. package/dist/chunk-QNAB53N3.js +1 -0
  422. package/dist/chunk-QNAB53N3.js.map +1 -0
  423. package/dist/{chunk-7ZROYGUG.js → chunk-QOTMQLMW.js} +2 -2
  424. package/dist/{chunk-NQCTANF3.js → chunk-QVDEGBME.js} +7 -7
  425. package/dist/{chunk-LI6XSM5D.js → chunk-QVEJGFRP.js} +3 -3
  426. package/dist/{chunk-HEBZ7Q7O.js → chunk-QVYBRD6U.js} +7 -6
  427. package/dist/chunk-QVYBRD6U.js.map +1 -0
  428. package/dist/{chunk-JJVIZR6C.js → chunk-RIPG3QIN.js} +24 -13
  429. package/dist/chunk-RIPG3QIN.js.map +1 -0
  430. package/dist/{chunk-VD72JGHA.js → chunk-RMZQHJEP.js} +3 -3
  431. package/dist/{chunk-VBGC7G4F.js → chunk-RQ3IS5NQ.js} +2 -2
  432. package/dist/{chunk-3JDP5OUR.js → chunk-RQY5ONSF.js} +6 -2
  433. package/dist/chunk-RQY5ONSF.js.map +1 -0
  434. package/dist/{chunk-33LAPBYB.js → chunk-SCQARHMU.js} +9 -5
  435. package/dist/chunk-SCQARHMU.js.map +1 -0
  436. package/dist/chunk-SEUJNFOD.js +119 -0
  437. package/dist/chunk-SEUJNFOD.js.map +1 -0
  438. package/dist/{chunk-YNDTLBOH.js → chunk-SM2O6D5F.js} +2 -2
  439. package/dist/{chunk-WA6F4NOO.js → chunk-SMANO5OD.js} +4 -4
  440. package/dist/{chunk-7SYYGXC7.js → chunk-SSCEX5NY.js} +6 -2
  441. package/dist/chunk-SSCEX5NY.js.map +1 -0
  442. package/dist/{chunk-YJBWDDW7.js → chunk-SXNGH56D.js} +12 -12
  443. package/dist/{chunk-HZK4DRGF.js → chunk-SYZVXWEQ.js} +6 -4
  444. package/dist/chunk-SYZVXWEQ.js.map +1 -0
  445. package/dist/{chunk-VQYR64QB.js → chunk-TAR5LSGT.js} +8 -3
  446. package/dist/chunk-TAR5LSGT.js.map +1 -0
  447. package/dist/{chunk-NDGA7ZE6.js → chunk-TGMMUKOF.js} +3 -3
  448. package/dist/{chunk-RZCXYKY4.js → chunk-TGZ6GPYQ.js} +7 -3
  449. package/dist/chunk-TGZ6GPYQ.js.map +1 -0
  450. package/dist/{chunk-SB2SEGR6.js → chunk-TIM4PXWN.js} +3 -3
  451. package/dist/{chunk-2ILXXBMG.js → chunk-TLVKJBPM.js} +12 -6
  452. package/dist/chunk-TLVKJBPM.js.map +1 -0
  453. package/dist/{chunk-BGTG7G54.js → chunk-TLZR6UPJ.js} +6 -3
  454. package/dist/chunk-TLZR6UPJ.js.map +1 -0
  455. package/dist/{chunk-MHLYX6QW.js → chunk-TRAMTVIO.js} +5 -5
  456. package/dist/{chunk-QO7UJXXO.js → chunk-TVMSXL3R.js} +2 -2
  457. package/dist/{chunk-XLCVMRSO.js → chunk-U67CX4FL.js} +12 -4
  458. package/dist/chunk-U67CX4FL.js.map +1 -0
  459. package/dist/{chunk-DXFKPY2K.js → chunk-UCQRJTCI.js} +4 -4
  460. package/dist/{chunk-CW6Y32N2.js → chunk-UF4JFRLE.js} +6 -6
  461. package/dist/{chunk-HHPJXK4Z.js → chunk-UHQZ5XPW.js} +2 -2
  462. package/dist/{chunk-FTDGFWB5.js → chunk-UK3DSFMK.js} +5 -5
  463. package/dist/{chunk-EERUSI52.js → chunk-URAX2JPM.js} +6 -3
  464. package/dist/chunk-URAX2JPM.js.map +1 -0
  465. package/dist/{chunk-GBKIGUNP.js → chunk-UYNJ3FYE.js} +3 -3
  466. package/dist/{chunk-UZOG6HNN.js → chunk-V65YK5DC.js} +5 -4
  467. package/dist/chunk-V65YK5DC.js.map +1 -0
  468. package/dist/{chunk-4HUSG5MR.js → chunk-V6DMNSW6.js} +4 -4
  469. package/dist/chunk-V6DMNSW6.js.map +1 -0
  470. package/dist/{chunk-MSC43MCJ.js → chunk-VAGGIRLA.js} +10 -7
  471. package/dist/chunk-VAGGIRLA.js.map +1 -0
  472. package/dist/{chunk-2MYSXWZQ.js → chunk-VKTF3GAP.js} +9 -9
  473. package/dist/chunk-VRKNVZZQ.js +145 -0
  474. package/dist/chunk-VRKNVZZQ.js.map +1 -0
  475. package/dist/{chunk-LTTYUSJ2.js → chunk-VTDZUO2J.js} +4 -2
  476. package/dist/chunk-VTDZUO2J.js.map +1 -0
  477. package/dist/{chunk-4XBAEKQQ.js → chunk-W2RXXF7K.js} +4 -4
  478. package/dist/{chunk-3Z3WIQ5M.js → chunk-W3EVATBS.js} +5 -5
  479. package/dist/{chunk-A2YLFKQU.js → chunk-W5WYTVLS.js} +2 -2
  480. package/dist/{chunk-64AOS2WA.js → chunk-WWIYYXY3.js} +17 -10
  481. package/dist/chunk-WWIYYXY3.js.map +1 -0
  482. package/dist/{chunk-EBCEDBHX.js → chunk-XDDKRACZ.js} +3 -3
  483. package/dist/{chunk-WOXWLJYR.js → chunk-XF47LPCF.js} +5 -2
  484. package/dist/chunk-XF47LPCF.js.map +1 -0
  485. package/dist/{chunk-SLSED46V.js → chunk-Y3DV7LGC.js} +2 -1
  486. package/dist/{chunk-SLSED46V.js.map → chunk-Y3DV7LGC.js.map} +1 -1
  487. package/dist/{chunk-ASZGMKB4.js → chunk-Y3TD7HOY.js} +2 -2
  488. package/dist/{chunk-3YLRR4JM.js → chunk-Y3YZBB74.js} +2 -2
  489. package/dist/{chunk-HBHBRRSW.js → chunk-YBAK2WN5.js} +7 -7
  490. package/dist/{chunk-LOLYI6PS.js → chunk-YCZGYYUX.js} +11 -8
  491. package/dist/chunk-YCZGYYUX.js.map +1 -0
  492. package/dist/{chunk-XODBYGTH.js → chunk-YMKSPW4T.js} +2 -2
  493. package/dist/{chunk-YOKUDQIJ.js → chunk-YOQAK2RN.js} +7 -3
  494. package/dist/chunk-YOQAK2RN.js.map +1 -0
  495. package/dist/{chunk-6RTE4UNO.js → chunk-YV4O7KDR.js} +1 -1
  496. package/dist/{chunk-MM7BPTVV.js → chunk-Z52W7FEU.js} +2 -2
  497. package/dist/{chunk-7P5PNRBT.js → chunk-ZDBG7QG2.js} +6 -6
  498. package/dist/{chunk-Z5V5E3JW.js → chunk-ZIHSCBMN.js} +10 -10
  499. package/dist/{chunk-S4JXSC4D.js → chunk-ZT73ACK3.js} +6 -6
  500. package/dist/{chunk-TJO4CBYT.js → chunk-ZX3QMCYO.js} +6 -3
  501. package/dist/chunk-ZX3QMCYO.js.map +1 -0
  502. package/dist/data-display/Alert.js +3 -3
  503. package/dist/data-display/AlertDialog.js +3 -2
  504. package/dist/data-display/AsyncStateContainer.js +7 -5
  505. package/dist/data-display/Avatar.js +5 -4
  506. package/dist/data-display/CardKit.js +19 -18
  507. package/dist/data-display/Carousel.js +7 -4
  508. package/dist/data-display/Chart.js +11 -11
  509. package/dist/data-display/DataGrid.js +2 -2
  510. package/dist/data-display/DataViews.js +94 -92
  511. package/dist/data-display/EmptyState.js +3 -2
  512. package/dist/data-display/ErrorState.js +2 -1
  513. package/dist/data-display/FleetMap.js +16 -12
  514. package/dist/data-display/HoverCard.js +2 -2
  515. package/dist/data-display/InteractiveTooltip.js +2 -2
  516. package/dist/data-display/LazyImage.js +3 -2
  517. package/dist/data-display/Lightbox.js +6 -6
  518. package/dist/data-display/LoadingState.js +3 -1
  519. package/dist/data-display/MapPreview.js +9 -6
  520. package/dist/data-display/Progress.js +2 -2
  521. package/dist/data-display/SectionOnboarding.js +6 -4
  522. package/dist/data-display/Sheet.js +6 -5
  523. package/dist/data-display/Stepper.js +3 -1
  524. package/dist/data-display/Table.js +6 -4
  525. package/dist/data-display/Timeline.js +4 -2
  526. package/dist/en-US.js +17 -13
  527. package/dist/feedback/ConfirmAction.js +10 -9
  528. package/dist/feedback/Dialog.js +3 -2
  529. package/dist/feedback/NotificationStatusNotice.js +4 -4
  530. package/dist/feedback/SequenceResolver.js +12 -11
  531. package/dist/feedback/Sonner.js +3 -2
  532. package/dist/feedback/StackedModal.js +7 -6
  533. package/dist/feedback/Toast.js +2 -1
  534. package/dist/feedback/TutorialOverlay.js +3 -2
  535. package/dist/form/AddressAutocomplete.js +12 -10
  536. package/dist/form/Autocomplete.js +2 -2
  537. package/dist/form/Calendar.js +6 -6
  538. package/dist/form/CategorySelect.js +9 -9
  539. package/dist/form/Checkbox.js +2 -2
  540. package/dist/form/CodeEditor.js +3 -3
  541. package/dist/form/Command.js +4 -3
  542. package/dist/form/DateRangePicker.js +12 -11
  543. package/dist/form/InputOTP.js +2 -2
  544. package/dist/form/Menubar.js +2 -2
  545. package/dist/form/PhoneInput.js +4 -3
  546. package/dist/form/PickerSheet.js +4 -4
  547. package/dist/form/RichTextEditor.js +7 -5
  548. package/dist/form/Switch.js +4 -4
  549. package/dist/form/Textarea.js +1 -1
  550. package/dist/form/UploadButton.js +3 -2
  551. package/dist/form/total-form.js +18 -17
  552. package/dist/layout/Card.js +2 -2
  553. package/dist/layout/ContentToolbar.js +13 -11
  554. package/dist/layout/Dashboard.js +2 -1
  555. package/dist/layout/Drawer.js +2 -1
  556. package/dist/layout/ScrollArea.js +3 -3
  557. package/dist/layout/SettingCard.js +17 -17
  558. package/dist/layout/SettingsLayout.js +7 -6
  559. package/dist/layout/TableFilter.js +2 -1
  560. package/dist/locales.js +37 -29
  561. package/dist/locales.js.map +1 -1
  562. package/dist/native/chunks/{chunk-BXNZHDXK.js → chunk-67CYDCHZ.js} +12 -5
  563. package/dist/native/chunks/chunk-67CYDCHZ.js.map +1 -0
  564. package/dist/native/chunks/{chunk-AVHGS66L.js → chunk-7AVFQB6A.js} +7 -4
  565. package/dist/native/chunks/chunk-7AVFQB6A.js.map +1 -0
  566. package/dist/native/chunks/chunk-DUELD4HY.js +145 -0
  567. package/dist/native/chunks/chunk-DUELD4HY.js.map +1 -0
  568. package/dist/native/data-display/Avatar.js +4 -1
  569. package/dist/native/data-display/Avatar.js.map +1 -1
  570. package/dist/native/data-display/Badge.js +9 -3
  571. package/dist/native/data-display/Badge.js.map +1 -1
  572. package/dist/native/data-display/Chip.js +9 -1
  573. package/dist/native/data-display/Chip.js.map +1 -1
  574. package/dist/native/data-display/EmptyState.js +3 -2
  575. package/dist/native/data-display/ErrorState.js +5 -2
  576. package/dist/native/data-display/ErrorState.js.map +1 -1
  577. package/dist/native/data-display/FleetMap.js +3 -2
  578. package/dist/native/data-display/FleetMap.js.map +1 -1
  579. package/dist/native/data-display/LoadingState.js +16 -5
  580. package/dist/native/data-display/LoadingState.js.map +1 -1
  581. package/dist/native/feedback/Dialog.js +20 -3
  582. package/dist/native/feedback/Dialog.js.map +1 -1
  583. package/dist/native/form/Button.js +2 -1
  584. package/dist/native/form/Checkbox.js +6 -1
  585. package/dist/native/form/Checkbox.js.map +1 -1
  586. package/dist/native/form/Input.js +11 -3
  587. package/dist/native/form/Input.js.map +1 -1
  588. package/dist/native/form/Switch.js +5 -1
  589. package/dist/native/form/Switch.js.map +1 -1
  590. package/dist/navigation/AppHeader.js +13 -11
  591. package/dist/navigation/Breadcrumbs.js +2 -1
  592. package/dist/navigation/CommandPalette.js +6 -4
  593. package/dist/navigation/NavigationMenu.js +7 -6
  594. package/dist/navigation/Pagination.js +2 -2
  595. package/dist/navigation/SectionNav.js +7 -6
  596. package/dist/pt-BR.js +10 -6
  597. package/dist/social-login-button.js +5 -4
  598. package/dist/types/components/data-display/AlertDialog/AlertDialog.d.ts.map +1 -1
  599. package/dist/types/components/data-display/AlertDialog/AlertDialog.parts.d.ts.map +1 -1
  600. package/dist/types/components/data-display/AlertDialog/AlertDialog.types.d.ts +5 -0
  601. package/dist/types/components/data-display/AlertDialog/AlertDialog.types.d.ts.map +1 -1
  602. package/dist/types/components/data-display/Avatar/Avatar.d.ts.map +1 -1
  603. package/dist/types/components/data-display/Carousel/Carousel.chrome.d.ts.map +1 -1
  604. package/dist/types/components/data-display/Carousel/Carousel.parts.d.ts.map +1 -1
  605. package/dist/types/components/data-display/Carousel/Carousel.types.d.ts +2 -0
  606. package/dist/types/components/data-display/Carousel/Carousel.types.d.ts.map +1 -1
  607. package/dist/types/components/data-display/DataViews/DeleteViewDialog.d.ts.map +1 -1
  608. package/dist/types/components/data-display/DataViews/data-views-copy.d.ts +11 -0
  609. package/dist/types/components/data-display/DataViews/data-views-copy.d.ts.map +1 -1
  610. package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts +6 -2
  611. package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts.map +1 -1
  612. package/dist/types/components/data-display/DataViews/use-data-views-state.d.ts.map +1 -1
  613. package/dist/types/components/data-display/EmptyState/EmptyState.d.ts.map +1 -1
  614. package/dist/types/components/data-display/ErrorState/ErrorState.d.ts.map +1 -1
  615. package/dist/types/components/data-display/LazyImage/LazyImage.d.ts.map +1 -1
  616. package/dist/types/components/data-display/LazyImage/LazyImage.types.d.ts +10 -0
  617. package/dist/types/components/data-display/LazyImage/LazyImage.types.d.ts.map +1 -1
  618. package/dist/types/components/data-display/LoadingState/LoadingState.base.d.ts +7 -0
  619. package/dist/types/components/data-display/LoadingState/LoadingState.base.d.ts.map +1 -1
  620. package/dist/types/components/data-display/LoadingState/LoadingState.d.ts.map +1 -1
  621. package/dist/types/components/data-display/MapPreview/MapControlBar.d.ts.map +1 -1
  622. package/dist/types/components/data-display/MapPreview/MapLayers.d.ts +1 -1
  623. package/dist/types/components/data-display/MapPreview/MapLayers.d.ts.map +1 -1
  624. package/dist/types/components/data-display/MapPreview/MapMarkers.d.ts +2 -0
  625. package/dist/types/components/data-display/MapPreview/MapMarkers.d.ts.map +1 -1
  626. package/dist/types/components/data-display/MapPreview/MapPreview.d.ts.map +1 -1
  627. package/dist/types/components/data-display/MapPreview/MapPreview.helpers.d.ts +7 -1
  628. package/dist/types/components/data-display/MapPreview/MapPreview.helpers.d.ts.map +1 -1
  629. package/dist/types/components/data-display/Sheet/Sheet.body.d.ts +1 -1
  630. package/dist/types/components/data-display/Sheet/Sheet.body.d.ts.map +1 -1
  631. package/dist/types/components/data-display/Sheet/Sheet.parts.d.ts.map +1 -1
  632. package/dist/types/components/data-display/Sheet/Sheet.types.d.ts +10 -0
  633. package/dist/types/components/data-display/Sheet/Sheet.types.d.ts.map +1 -1
  634. package/dist/types/components/data-display/Stepper/Stepper.d.ts.map +1 -1
  635. package/dist/types/components/data-display/Stepper/Stepper.types.d.ts +4 -0
  636. package/dist/types/components/data-display/Stepper/Stepper.types.d.ts.map +1 -1
  637. package/dist/types/components/data-display/Table/Table.d.ts.map +1 -1
  638. package/dist/types/components/data-display/Table/Table.helpers.d.ts.map +1 -1
  639. package/dist/types/components/data-display/Table/Table.types.d.ts +11 -0
  640. package/dist/types/components/data-display/Table/Table.types.d.ts.map +1 -1
  641. package/dist/types/components/data-display/Table/TableParts.d.ts +2 -1
  642. package/dist/types/components/data-display/Table/TableParts.d.ts.map +1 -1
  643. package/dist/types/components/data-display/Table/TableParts.hooks.d.ts +2 -2
  644. package/dist/types/components/data-display/Table/TableParts.hooks.d.ts.map +1 -1
  645. package/dist/types/components/data-display/Timeline/Timeline.d.ts.map +1 -1
  646. package/dist/types/components/data-display/Timeline/Timeline.types.d.ts +3 -0
  647. package/dist/types/components/data-display/Timeline/Timeline.types.d.ts.map +1 -1
  648. package/dist/types/components/data-display/Timeline/TimelineRow.d.ts +2 -0
  649. package/dist/types/components/data-display/Timeline/TimelineRow.d.ts.map +1 -1
  650. package/dist/types/components/feedback/Dialog/Dialog.base.d.ts +10 -0
  651. package/dist/types/components/feedback/Dialog/Dialog.base.d.ts.map +1 -1
  652. package/dist/types/components/feedback/Dialog/Dialog.d.ts.map +1 -1
  653. package/dist/types/components/feedback/Sonner/Sonner.d.ts +6 -0
  654. package/dist/types/components/feedback/Sonner/Sonner.d.ts.map +1 -1
  655. package/dist/types/components/feedback/Sonner/SonnerToast.d.ts.map +1 -1
  656. package/dist/types/components/feedback/StackedModal/StackedModal.d.ts.map +1 -1
  657. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts +2 -0
  658. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts.map +1 -1
  659. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts +5 -0
  660. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts.map +1 -1
  661. package/dist/types/components/feedback/Toast/Toast.d.ts.map +1 -1
  662. package/dist/types/components/feedback/Toast/Toast.types.d.ts +5 -0
  663. package/dist/types/components/feedback/Toast/Toast.types.d.ts.map +1 -1
  664. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.d.ts.map +1 -1
  665. package/dist/types/components/feedback/TutorialOverlay/TutorialStepBody.d.ts.map +1 -1
  666. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.d.ts.map +1 -1
  667. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.helpers.d.ts +1 -1
  668. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.helpers.d.ts.map +1 -1
  669. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.hooks.d.ts +3 -1
  670. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.hooks.d.ts.map +1 -1
  671. package/dist/types/components/form/AddressAutocomplete/AddressAutocompleteField.d.ts.map +1 -1
  672. package/dist/types/components/form/AddressAutocomplete/useAddressPredictions.d.ts +2 -1
  673. package/dist/types/components/form/AddressAutocomplete/useAddressPredictions.d.ts.map +1 -1
  674. package/dist/types/components/form/AddressAutocomplete/useAddressSelection.d.ts +3 -1
  675. package/dist/types/components/form/AddressAutocomplete/useAddressSelection.d.ts.map +1 -1
  676. package/dist/types/components/form/AddressAutocomplete/useCurrentLocation.d.ts +3 -1
  677. package/dist/types/components/form/AddressAutocomplete/useCurrentLocation.d.ts.map +1 -1
  678. package/dist/types/components/form/AddressAutocomplete/useGoogleMapsAPI.d.ts +4 -1
  679. package/dist/types/components/form/AddressAutocomplete/useGoogleMapsAPI.d.ts.map +1 -1
  680. package/dist/types/components/form/Button/Button.native.loading.d.ts +2 -1
  681. package/dist/types/components/form/Button/Button.native.loading.d.ts.map +1 -1
  682. package/dist/types/components/form/Command/Command.hooks.d.ts.map +1 -1
  683. package/dist/types/components/form/Command/Command.parts.d.ts.map +1 -1
  684. package/dist/types/components/form/DateRangePicker/DateRangePicker.range.d.ts.map +1 -1
  685. package/dist/types/components/form/PhoneInput/PhoneInput.d.ts.map +1 -1
  686. package/dist/types/components/form/PhoneInput/PhoneInput.types.d.ts +1 -0
  687. package/dist/types/components/form/PhoneInput/PhoneInput.types.d.ts.map +1 -1
  688. package/dist/types/components/form/PhoneInput/countries.d.ts +6 -0
  689. package/dist/types/components/form/PhoneInput/countries.d.ts.map +1 -1
  690. package/dist/types/components/form/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  691. package/dist/types/components/form/RichTextEditor/RichTextEditor.dom.d.ts +1 -1
  692. package/dist/types/components/form/RichTextEditor/RichTextEditor.dom.d.ts.map +1 -1
  693. package/dist/types/components/form/RichTextEditor/RichTextEditor.format.d.ts +2 -1
  694. package/dist/types/components/form/RichTextEditor/RichTextEditor.format.d.ts.map +1 -1
  695. package/dist/types/components/form/RichTextEditor/RichTextEditor.hooks.d.ts +2 -1
  696. package/dist/types/components/form/RichTextEditor/RichTextEditor.hooks.d.ts.map +1 -1
  697. package/dist/types/components/form/RichTextEditor/RichTextEditor.types.d.ts +7 -1
  698. package/dist/types/components/form/RichTextEditor/RichTextEditor.types.d.ts.map +1 -1
  699. package/dist/types/components/form/RichTextEditor/RichTextEditorToolbar.d.ts +2 -0
  700. package/dist/types/components/form/RichTextEditor/RichTextEditorToolbar.d.ts.map +1 -1
  701. package/dist/types/components/form/Textarea/TextareaRichEditor.d.ts.map +1 -1
  702. package/dist/types/components/form/UploadButton/UploadButton.hooks.d.ts.map +1 -1
  703. package/dist/types/components/form/total-form/FormErrorSnackbar.d.ts.map +1 -1
  704. package/dist/types/components/layout/ContentToolbar/ColumnsMenu.d.ts.map +1 -1
  705. package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts +14 -0
  706. package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts.map +1 -1
  707. package/dist/types/components/layout/ContentToolbar/FilterTrigger.d.ts +1 -1
  708. package/dist/types/components/layout/ContentToolbar/FilterTrigger.d.ts.map +1 -1
  709. package/dist/types/components/layout/ContentToolbar/MultiSelectDropdown.d.ts.map +1 -1
  710. package/dist/types/components/layout/ContentToolbar/ViewSelector.d.ts +1 -1
  711. package/dist/types/components/layout/ContentToolbar/ViewSelector.d.ts.map +1 -1
  712. package/dist/types/components/layout/Dashboard/Dashboard.d.ts +2 -2
  713. package/dist/types/components/layout/Dashboard/Dashboard.d.ts.map +1 -1
  714. package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts +5 -0
  715. package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts.map +1 -1
  716. package/dist/types/components/layout/Drawer/Drawer.d.ts.map +1 -1
  717. package/dist/types/components/layout/SettingsLayout/SettingsLayout.d.ts.map +1 -1
  718. package/dist/types/components/layout/SettingsLayout/SettingsLayout.rail.d.ts +3 -1
  719. package/dist/types/components/layout/SettingsLayout/SettingsLayout.rail.d.ts.map +1 -1
  720. package/dist/types/components/layout/SettingsLayout/SettingsLayout.types.d.ts +6 -0
  721. package/dist/types/components/layout/SettingsLayout/SettingsLayout.types.d.ts.map +1 -1
  722. package/dist/types/components/layout/TableFilter/TableFilter.d.ts.map +1 -1
  723. package/dist/types/components/navigation/AppHeader/AppHeader.identity.d.ts.map +1 -1
  724. package/dist/types/components/navigation/AppHeader/AppHeader.types.d.ts +5 -1
  725. package/dist/types/components/navigation/AppHeader/AppHeader.types.d.ts.map +1 -1
  726. package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  727. package/dist/types/components/navigation/CommandPalette/CommandPalette.d.ts.map +1 -1
  728. package/dist/types/components/navigation/CommandPalette/CommandPalette.helpers.d.ts +1 -1
  729. package/dist/types/components/navigation/CommandPalette/CommandPalette.helpers.d.ts.map +1 -1
  730. package/dist/types/components/navigation/CommandPalette/CommandPalette.hooks.d.ts +2 -1
  731. package/dist/types/components/navigation/CommandPalette/CommandPalette.hooks.d.ts.map +1 -1
  732. package/dist/types/components/navigation/CommandPalette/CommandPaletteResults.d.ts.map +1 -1
  733. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.d.ts.map +1 -1
  734. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts +1 -0
  735. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts.map +1 -1
  736. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.types.d.ts +11 -0
  737. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.types.d.ts.map +1 -1
  738. package/dist/types/components/navigation/NavigationMenu/NavigationMenuItem.d.ts.map +1 -1
  739. package/dist/types/components/navigation/NavigationMenu/NavigationStandardBody.d.ts +4 -0
  740. package/dist/types/components/navigation/NavigationMenu/NavigationStandardBody.d.ts.map +1 -1
  741. package/dist/types/components/typography/Code/Code.d.ts.map +1 -1
  742. package/dist/types/components/typography/Code/Code.types.d.ts +4 -0
  743. package/dist/types/components/typography/Code/Code.types.d.ts.map +1 -1
  744. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.d.ts.map +1 -1
  745. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.d.ts.map +1 -1
  746. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.parts.d.ts +1 -0
  747. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.parts.d.ts.map +1 -1
  748. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.types.d.ts +6 -0
  749. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.types.d.ts.map +1 -1
  750. package/dist/types/components/utility/WorkflowStep/WorkflowStep.d.ts.map +1 -1
  751. package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts +4 -1
  752. package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts.map +1 -1
  753. package/dist/types/components/utility/WorkflowStep/WorkflowStep.parts.d.ts.map +1 -1
  754. package/dist/types/components/utility/WorkflowStep/WorkflowStep.types.d.ts +9 -0
  755. package/dist/types/components/utility/WorkflowStep/WorkflowStep.types.d.ts.map +1 -1
  756. package/dist/types/components/utility/WorkflowStep/WorkflowStepRow.d.ts +1 -0
  757. package/dist/types/components/utility/WorkflowStep/WorkflowStepRow.d.ts.map +1 -1
  758. package/dist/types/copy/data-display.d.ts +24 -0
  759. package/dist/types/copy/data-display.d.ts.map +1 -1
  760. package/dist/types/copy/feedback.d.ts +4 -0
  761. package/dist/types/copy/feedback.d.ts.map +1 -1
  762. package/dist/types/copy/form.d.ts +58 -0
  763. package/dist/types/copy/form.d.ts.map +1 -1
  764. package/dist/types/copy/labels.d.ts +219 -0
  765. package/dist/types/copy/labels.d.ts.map +1 -0
  766. package/dist/types/copy/navigation.d.ts +12 -0
  767. package/dist/types/copy/navigation.d.ts.map +1 -1
  768. package/dist/types/copy/utility.d.ts +8 -1
  769. package/dist/types/copy/utility.d.ts.map +1 -1
  770. package/dist/types/copy.d.ts +1 -0
  771. package/dist/types/copy.d.ts.map +1 -1
  772. package/dist/types/en-US.d.ts +1 -0
  773. package/dist/types/en-US.d.ts.map +1 -1
  774. package/dist/types/en-US.data-display.d.ts +2 -2
  775. package/dist/types/en-US.data-display.d.ts.map +1 -1
  776. package/dist/types/en-US.feedback.d.ts +1 -1
  777. package/dist/types/en-US.feedback.d.ts.map +1 -1
  778. package/dist/types/en-US.form.d.ts +4 -4
  779. package/dist/types/en-US.form.d.ts.map +1 -1
  780. package/dist/types/en-US.labels.d.ts +9 -0
  781. package/dist/types/en-US.labels.d.ts.map +1 -0
  782. package/dist/types/en-US.navigation.d.ts +1 -1
  783. package/dist/types/en-US.navigation.d.ts.map +1 -1
  784. package/dist/types/en-US.utility.d.ts +1 -1
  785. package/dist/types/en-US.utility.d.ts.map +1 -1
  786. package/dist/types/locales.d.ts +2 -1
  787. package/dist/types/locales.d.ts.map +1 -1
  788. package/dist/types/pt-BR.d.ts +1 -0
  789. package/dist/types/pt-BR.d.ts.map +1 -1
  790. package/dist/types/pt-BR.data-display.d.ts +2 -2
  791. package/dist/types/pt-BR.data-display.d.ts.map +1 -1
  792. package/dist/types/pt-BR.feedback.d.ts +1 -1
  793. package/dist/types/pt-BR.feedback.d.ts.map +1 -1
  794. package/dist/types/pt-BR.form.d.ts +4 -4
  795. package/dist/types/pt-BR.form.d.ts.map +1 -1
  796. package/dist/types/pt-BR.labels.d.ts +8 -0
  797. package/dist/types/pt-BR.labels.d.ts.map +1 -0
  798. package/dist/types/pt-BR.navigation.d.ts +1 -1
  799. package/dist/types/pt-BR.navigation.d.ts.map +1 -1
  800. package/dist/types/pt-BR.utility.d.ts +1 -1
  801. package/dist/types/pt-BR.utility.d.ts.map +1 -1
  802. package/dist/types/social-login-button/social-login-button.d.ts.map +1 -1
  803. package/dist/types/user-avatar/user-avatar.d.ts +6 -1
  804. package/dist/types/user-avatar/user-avatar.d.ts.map +1 -1
  805. package/dist/types/utils/resolve-labels.d.ts +9 -0
  806. package/dist/types/utils/resolve-labels.d.ts.map +1 -0
  807. package/dist/types-native/components/data-display/Avatar/Avatar.native.d.ts.map +1 -1
  808. package/dist/types-native/components/data-display/Badge/Badge.native.d.ts +1 -0
  809. package/dist/types-native/components/data-display/Badge/Badge.native.d.ts.map +1 -1
  810. package/dist/types-native/components/data-display/Badge/Badge.types.native.d.ts +2 -0
  811. package/dist/types-native/components/data-display/Badge/Badge.types.native.d.ts.map +1 -1
  812. package/dist/types-native/components/data-display/Badge/BadgeContent.native.d.ts +2 -1
  813. package/dist/types-native/components/data-display/Badge/BadgeContent.native.d.ts.map +1 -1
  814. package/dist/types-native/components/data-display/Chip/Chip.native.d.ts +1 -0
  815. package/dist/types-native/components/data-display/Chip/Chip.native.d.ts.map +1 -1
  816. package/dist/types-native/components/data-display/Chip/Chip.types.native.d.ts +2 -0
  817. package/dist/types-native/components/data-display/Chip/Chip.types.native.d.ts.map +1 -1
  818. package/dist/types-native/components/data-display/EmptyState/EmptyState.native.d.ts.map +1 -1
  819. package/dist/types-native/components/data-display/ErrorState/ErrorState.native.d.ts.map +1 -1
  820. package/dist/types-native/components/data-display/LoadingState/LoadingState.base.d.ts +7 -0
  821. package/dist/types-native/components/data-display/LoadingState/LoadingState.base.d.ts.map +1 -1
  822. package/dist/types-native/components/data-display/LoadingState/LoadingState.native.d.ts.map +1 -1
  823. package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts +10 -0
  824. package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts.map +1 -1
  825. package/dist/types-native/components/feedback/Dialog/Dialog.native.d.ts.map +1 -1
  826. package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts +1 -1
  827. package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts.map +1 -1
  828. package/dist/types-native/components/form/Button/Button.native.d.ts +1 -0
  829. package/dist/types-native/components/form/Button/Button.native.d.ts.map +1 -1
  830. package/dist/types-native/components/form/Button/Button.native.loading.d.ts +2 -1
  831. package/dist/types-native/components/form/Button/Button.native.loading.d.ts.map +1 -1
  832. package/dist/types-native/components/form/Button/Button.types.native.d.ts +2 -0
  833. package/dist/types-native/components/form/Button/Button.types.native.d.ts.map +1 -1
  834. package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts +1 -0
  835. package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts.map +1 -1
  836. package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts +2 -0
  837. package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts.map +1 -1
  838. package/dist/types-native/components/form/Input/Input.native.d.ts +1 -0
  839. package/dist/types-native/components/form/Input/Input.native.d.ts.map +1 -1
  840. package/dist/types-native/components/form/Input/Input.types.native.d.ts +2 -0
  841. package/dist/types-native/components/form/Input/Input.types.native.d.ts.map +1 -1
  842. package/dist/types-native/components/form/Switch/Switch.native.d.ts +1 -0
  843. package/dist/types-native/components/form/Switch/Switch.native.d.ts.map +1 -1
  844. package/dist/types-native/components/form/Switch/Switch.types.native.d.ts +2 -0
  845. package/dist/types-native/components/form/Switch/Switch.types.native.d.ts.map +1 -1
  846. package/dist/types-native/copy/data-display.d.ts +119 -0
  847. package/dist/types-native/copy/data-display.d.ts.map +1 -0
  848. package/dist/types-native/copy/labels.d.ts +219 -0
  849. package/dist/types-native/copy/labels.d.ts.map +1 -0
  850. package/dist/types-native/en-US.labels.d.ts +9 -0
  851. package/dist/types-native/en-US.labels.d.ts.map +1 -0
  852. package/dist/types-native/utils/resolve-labels.d.ts +9 -0
  853. package/dist/types-native/utils/resolve-labels.d.ts.map +1 -0
  854. package/dist/typography/Code.js +2 -1
  855. package/dist/user-avatar.js +9 -7
  856. package/dist/utility/AnimatedIcon.js +2 -1
  857. package/dist/utility/InfiniteScroll.js +3 -2
  858. package/dist/utility/InstallPrompt.js +2 -2
  859. package/dist/utility/WorkflowStep.js +6 -4
  860. package/package.json +2 -2
  861. package/src/components/data-display/AlertDialog/AlertDialog.parts.tsx +3 -2
  862. package/src/components/data-display/AlertDialog/AlertDialog.tsx +3 -1
  863. package/src/components/data-display/AlertDialog/AlertDialog.types.ts +6 -0
  864. package/src/components/data-display/Avatar/Avatar.native.tsx +2 -1
  865. package/src/components/data-display/Avatar/Avatar.tsx +2 -1
  866. package/src/components/data-display/Badge/Badge.native.tsx +2 -0
  867. package/src/components/data-display/Badge/Badge.types.native.ts +2 -0
  868. package/src/components/data-display/Badge/BadgeContent.native.tsx +4 -1
  869. package/src/components/data-display/Carousel/Carousel.chrome.tsx +1 -0
  870. package/src/components/data-display/Carousel/Carousel.parts.tsx +13 -9
  871. package/src/components/data-display/Carousel/Carousel.types.ts +2 -0
  872. package/src/components/data-display/Chip/Chip.native.tsx +9 -1
  873. package/src/components/data-display/Chip/Chip.types.native.ts +2 -0
  874. package/src/components/data-display/DataViews/DeleteViewDialog.tsx +2 -2
  875. package/src/components/data-display/DataViews/data-views-copy.ts +11 -0
  876. package/src/components/data-display/DataViews/data-views-grid-helpers.tsx +8 -3
  877. package/src/components/data-display/DataViews/data-views-view-nav.tsx +2 -2
  878. package/src/components/data-display/DataViews/use-data-views-state.ts +3 -1
  879. package/src/components/data-display/EmptyState/EmptyState.native.tsx +3 -2
  880. package/src/components/data-display/EmptyState/EmptyState.tsx +3 -2
  881. package/src/components/data-display/ErrorState/ErrorState.native.tsx +2 -1
  882. package/src/components/data-display/ErrorState/ErrorState.tsx +2 -1
  883. package/src/components/data-display/LazyImage/LazyImage.hooks.ts +1 -1
  884. package/src/components/data-display/LazyImage/LazyImage.tsx +4 -4
  885. package/src/components/data-display/LazyImage/LazyImage.types.ts +12 -0
  886. package/src/components/data-display/LoadingState/LoadingState.base.ts +8 -0
  887. package/src/components/data-display/LoadingState/LoadingState.native.tsx +10 -5
  888. package/src/components/data-display/LoadingState/LoadingState.tsx +9 -3
  889. package/src/components/data-display/MapPreview/MapControlBar.tsx +7 -3
  890. package/src/components/data-display/MapPreview/MapLayers.tsx +2 -2
  891. package/src/components/data-display/MapPreview/MapMarkers.tsx +13 -4
  892. package/src/components/data-display/MapPreview/MapPreview.helpers.ts +13 -2
  893. package/src/components/data-display/MapPreview/MapPreview.tsx +7 -3
  894. package/src/components/data-display/Sheet/Sheet.body.tsx +3 -0
  895. package/src/components/data-display/Sheet/Sheet.md +1 -0
  896. package/src/components/data-display/Sheet/Sheet.parts.tsx +4 -0
  897. package/src/components/data-display/Sheet/Sheet.types.ts +10 -0
  898. package/src/components/data-display/Stepper/Stepper.tsx +41 -7
  899. package/src/components/data-display/Stepper/Stepper.types.ts +4 -0
  900. package/src/components/data-display/Table/Table.helpers.ts +1 -0
  901. package/src/components/data-display/Table/Table.tsx +4 -5
  902. package/src/components/data-display/Table/Table.types.ts +12 -0
  903. package/src/components/data-display/Table/TableParts.hooks.tsx +8 -1
  904. package/src/components/data-display/Table/TableParts.tsx +19 -5
  905. package/src/components/data-display/Timeline/Timeline.tsx +6 -1
  906. package/src/components/data-display/Timeline/Timeline.types.ts +3 -0
  907. package/src/components/data-display/Timeline/TimelineRow.tsx +11 -4
  908. package/src/components/feedback/Dialog/Dialog.base.ts +10 -0
  909. package/src/components/feedback/Dialog/Dialog.native.tsx +2 -0
  910. package/src/components/feedback/Dialog/Dialog.tsx +5 -1
  911. package/src/components/feedback/Dialog/DialogParts.native.tsx +17 -3
  912. package/src/components/feedback/Sonner/Sonner.tsx +16 -6
  913. package/src/components/feedback/Sonner/SonnerToast.tsx +4 -2
  914. package/src/components/feedback/StackedModal/StackedModal.parts.tsx +24 -3
  915. package/src/components/feedback/StackedModal/StackedModal.tsx +4 -2
  916. package/src/components/feedback/StackedModal/StackedModal.types.ts +5 -0
  917. package/src/components/feedback/Toast/Toast.tsx +5 -2
  918. package/src/components/feedback/Toast/Toast.types.ts +5 -0
  919. package/src/components/feedback/TutorialOverlay/TutorialOverlay.tsx +3 -1
  920. package/src/components/feedback/TutorialOverlay/TutorialStepBody.tsx +12 -3
  921. package/src/components/form/AddressAutocomplete/AddressAutocomplete.helpers.ts +12 -6
  922. package/src/components/form/AddressAutocomplete/AddressAutocomplete.hooks.ts +15 -2
  923. package/src/components/form/AddressAutocomplete/AddressAutocomplete.tsx +1 -0
  924. package/src/components/form/AddressAutocomplete/AddressAutocompleteField.tsx +9 -3
  925. package/src/components/form/AddressAutocomplete/useAddressPredictions.ts +6 -3
  926. package/src/components/form/AddressAutocomplete/useAddressSelection.ts +8 -4
  927. package/src/components/form/AddressAutocomplete/useCurrentLocation.ts +12 -8
  928. package/src/components/form/AddressAutocomplete/useGoogleMapsAPI.ts +8 -4
  929. package/src/components/form/Button/Button.native.loading.tsx +11 -2
  930. package/src/components/form/Button/Button.native.tsx +2 -2
  931. package/src/components/form/Button/Button.types.native.ts +2 -0
  932. package/src/components/form/Checkbox/Checkbox.native.tsx +5 -2
  933. package/src/components/form/Checkbox/Checkbox.types.native.ts +2 -0
  934. package/src/components/form/Command/Command.hooks.ts +3 -2
  935. package/src/components/form/Command/Command.parts.tsx +3 -2
  936. package/src/components/form/DateRangePicker/DateRangePicker.range.ts +2 -1
  937. package/src/components/form/Input/Input.native.tsx +13 -4
  938. package/src/components/form/Input/Input.types.native.ts +2 -0
  939. package/src/components/form/PhoneInput/PhoneInput.md +2 -2
  940. package/src/components/form/PhoneInput/PhoneInput.tsx +22 -10
  941. package/src/components/form/PhoneInput/PhoneInput.types.ts +1 -0
  942. package/src/components/form/PhoneInput/countries.ts +18 -1
  943. package/src/components/form/RichTextEditor/RichTextEditor.dom.ts +5 -3
  944. package/src/components/form/RichTextEditor/RichTextEditor.format.ts +3 -1
  945. package/src/components/form/RichTextEditor/RichTextEditor.hooks.ts +4 -1
  946. package/src/components/form/RichTextEditor/RichTextEditor.tsx +10 -4
  947. package/src/components/form/RichTextEditor/RichTextEditor.types.ts +7 -1
  948. package/src/components/form/RichTextEditor/RichTextEditorToolbar.tsx +29 -19
  949. package/src/components/form/Switch/Switch.native.tsx +4 -3
  950. package/src/components/form/Switch/Switch.types.native.ts +2 -0
  951. package/src/components/form/Textarea/TextareaRichEditor.tsx +2 -1
  952. package/src/components/form/UploadButton/UploadButton.hooks.ts +16 -6
  953. package/src/components/form/total-form/FormErrorSnackbar.tsx +2 -1
  954. package/src/components/layout/ContentToolbar/ColumnsMenu.tsx +3 -2
  955. package/src/components/layout/ContentToolbar/ContentToolbar.types.ts +14 -0
  956. package/src/components/layout/ContentToolbar/FilterTrigger.tsx +14 -2
  957. package/src/components/layout/ContentToolbar/MultiSelectDropdown.tsx +4 -3
  958. package/src/components/layout/ContentToolbar/ViewSelector.tsx +15 -5
  959. package/src/components/layout/Dashboard/Dashboard.tsx +7 -2
  960. package/src/components/layout/Dashboard/Dashboard.types.ts +5 -0
  961. package/src/components/layout/Drawer/Drawer.tsx +2 -1
  962. package/src/components/layout/SettingsLayout/SettingsLayout.md +1 -0
  963. package/src/components/layout/SettingsLayout/SettingsLayout.rail.tsx +9 -2
  964. package/src/components/layout/SettingsLayout/SettingsLayout.tsx +16 -5
  965. package/src/components/layout/SettingsLayout/SettingsLayout.types.ts +6 -0
  966. package/src/components/layout/TableFilter/TableFilter.tsx +4 -3
  967. package/src/components/navigation/AppHeader/AppHeader.identity.tsx +2 -1
  968. package/src/components/navigation/AppHeader/AppHeader.types.ts +5 -1
  969. package/src/components/navigation/Breadcrumbs/Breadcrumbs.tsx +2 -1
  970. package/src/components/navigation/CommandPalette/CommandPalette.helpers.ts +6 -2
  971. package/src/components/navigation/CommandPalette/CommandPalette.hooks.ts +9 -1
  972. package/src/components/navigation/CommandPalette/CommandPalette.tsx +16 -6
  973. package/src/components/navigation/CommandPalette/CommandPaletteResults.tsx +3 -1
  974. package/src/components/navigation/NavigationMenu/NavigationMenu.shell.tsx +7 -4
  975. package/src/components/navigation/NavigationMenu/NavigationMenu.tsx +4 -0
  976. package/src/components/navigation/NavigationMenu/NavigationMenu.types.ts +13 -0
  977. package/src/components/navigation/NavigationMenu/NavigationMenuItem.tsx +2 -0
  978. package/src/components/navigation/NavigationMenu/NavigationStandardBody.tsx +24 -4
  979. package/src/components/typography/Code/Code.tsx +28 -6
  980. package/src/components/typography/Code/Code.types.ts +4 -0
  981. package/src/components/utility/AnimatedIcon/AnimatedIcon.tsx +2 -1
  982. package/src/components/utility/InfiniteScroll/InfiniteScroll.parts.tsx +6 -2
  983. package/src/components/utility/InfiniteScroll/InfiniteScroll.tsx +2 -1
  984. package/src/components/utility/InfiniteScroll/InfiniteScroll.types.ts +6 -0
  985. package/src/components/utility/WorkflowStep/WorkflowStep.helpers.ts +9 -1
  986. package/src/components/utility/WorkflowStep/WorkflowStep.parts.tsx +3 -2
  987. package/src/components/utility/WorkflowStep/WorkflowStep.tsx +3 -1
  988. package/src/components/utility/WorkflowStep/WorkflowStep.types.ts +10 -0
  989. package/src/components/utility/WorkflowStep/WorkflowStepRow.tsx +3 -0
  990. package/src/copy/data-display.ts +19 -0
  991. package/src/copy/feedback.ts +4 -0
  992. package/src/copy/form.ts +58 -0
  993. package/src/copy/labels.ts +249 -0
  994. package/src/copy/navigation.ts +12 -0
  995. package/src/copy/utility.ts +8 -1
  996. package/src/copy.ts +1 -0
  997. package/src/en-US.data-display.ts +14 -2
  998. package/src/en-US.feedback.ts +3 -1
  999. package/src/en-US.form.ts +27 -4
  1000. package/src/en-US.labels.ts +147 -0
  1001. package/src/en-US.navigation.ts +5 -1
  1002. package/src/en-US.ts +1 -0
  1003. package/src/en-US.utility.ts +3 -1
  1004. package/src/locales.ts +4 -0
  1005. package/src/pt-BR.data-display.ts +14 -2
  1006. package/src/pt-BR.feedback.ts +3 -1
  1007. package/src/pt-BR.form.ts +40 -4
  1008. package/src/pt-BR.labels.ts +146 -0
  1009. package/src/pt-BR.navigation.ts +5 -1
  1010. package/src/pt-BR.ts +1 -0
  1011. package/src/pt-BR.utility.ts +3 -1
  1012. package/src/social-login-button/social-login-button.tsx +3 -2
  1013. package/src/user-avatar/user-avatar.tsx +11 -2
  1014. package/src/utils/resolve-labels.ts +12 -0
  1015. package/dist/chunk-2ARVNCVU.js.map +0 -1
  1016. package/dist/chunk-2ILXXBMG.js.map +0 -1
  1017. package/dist/chunk-2TSGRQ2J.js.map +0 -1
  1018. package/dist/chunk-33LAPBYB.js.map +0 -1
  1019. package/dist/chunk-3JDP5OUR.js.map +0 -1
  1020. package/dist/chunk-3VXS7O3X.js.map +0 -1
  1021. package/dist/chunk-3ZWCKCZC.js.map +0 -1
  1022. package/dist/chunk-47VRDPR2.js.map +0 -1
  1023. package/dist/chunk-4HUSG5MR.js.map +0 -1
  1024. package/dist/chunk-4MQ6XTIJ.js.map +0 -1
  1025. package/dist/chunk-4NQXHPQR.js.map +0 -1
  1026. package/dist/chunk-4VRDFZ4G.js.map +0 -1
  1027. package/dist/chunk-5J7SA4CZ.js.map +0 -1
  1028. package/dist/chunk-5KNDAC24.js.map +0 -1
  1029. package/dist/chunk-5MMAV7XK.js.map +0 -1
  1030. package/dist/chunk-64AOS2WA.js.map +0 -1
  1031. package/dist/chunk-7QXEEZFO.js +0 -92
  1032. package/dist/chunk-7QXEEZFO.js.map +0 -1
  1033. package/dist/chunk-7SYYGXC7.js.map +0 -1
  1034. package/dist/chunk-7VRCGWQL.js.map +0 -1
  1035. package/dist/chunk-AYJ44VTJ.js.map +0 -1
  1036. package/dist/chunk-AYP6ICAY.js.map +0 -1
  1037. package/dist/chunk-B2JYQBO4.js.map +0 -1
  1038. package/dist/chunk-BGTG7G54.js.map +0 -1
  1039. package/dist/chunk-BWZKLKDT.js +0 -1
  1040. package/dist/chunk-C5JCARNE.js.map +0 -1
  1041. package/dist/chunk-CZV6NVCA.js.map +0 -1
  1042. package/dist/chunk-EERUSI52.js.map +0 -1
  1043. package/dist/chunk-EUACQR6N.js.map +0 -1
  1044. package/dist/chunk-F742IMLQ.js.map +0 -1
  1045. package/dist/chunk-FIOBPQL2.js.map +0 -1
  1046. package/dist/chunk-FRGNTTPA.js.map +0 -1
  1047. package/dist/chunk-FT6HBP5E.js.map +0 -1
  1048. package/dist/chunk-GHXW6O5T.js.map +0 -1
  1049. package/dist/chunk-HBP2OU4Q.js.map +0 -1
  1050. package/dist/chunk-HEBZ7Q7O.js.map +0 -1
  1051. package/dist/chunk-HN3PZTUK.js.map +0 -1
  1052. package/dist/chunk-HZK4DRGF.js.map +0 -1
  1053. package/dist/chunk-ICRVLGWD.js.map +0 -1
  1054. package/dist/chunk-INGPH3YQ.js.map +0 -1
  1055. package/dist/chunk-JJVIZR6C.js.map +0 -1
  1056. package/dist/chunk-JKNKGGOG.js.map +0 -1
  1057. package/dist/chunk-KARMRTTM.js.map +0 -1
  1058. package/dist/chunk-KIL3OVLI.js.map +0 -1
  1059. package/dist/chunk-KT3TF2LT.js.map +0 -1
  1060. package/dist/chunk-KZXOIRUP.js.map +0 -1
  1061. package/dist/chunk-LH4VKUZC.js.map +0 -1
  1062. package/dist/chunk-LOLYI6PS.js.map +0 -1
  1063. package/dist/chunk-LTTYUSJ2.js.map +0 -1
  1064. package/dist/chunk-MA6SUE7F.js.map +0 -1
  1065. package/dist/chunk-MSC43MCJ.js.map +0 -1
  1066. package/dist/chunk-MTGEJRE4.js.map +0 -1
  1067. package/dist/chunk-NTO5DALI.js.map +0 -1
  1068. package/dist/chunk-OE3SQOZV.js.map +0 -1
  1069. package/dist/chunk-PBMCRDZI.js.map +0 -1
  1070. package/dist/chunk-PU3HEWSG.js.map +0 -1
  1071. package/dist/chunk-PY3RW5LC.js.map +0 -1
  1072. package/dist/chunk-QWVETTIY.js.map +0 -1
  1073. package/dist/chunk-RA6W37NZ.js.map +0 -1
  1074. package/dist/chunk-RKVS5AA6.js.map +0 -1
  1075. package/dist/chunk-RZCXYKY4.js.map +0 -1
  1076. package/dist/chunk-SUZXPDUQ.js.map +0 -1
  1077. package/dist/chunk-SV6IQ2YO.js.map +0 -1
  1078. package/dist/chunk-T743IIER.js.map +0 -1
  1079. package/dist/chunk-TJO4CBYT.js.map +0 -1
  1080. package/dist/chunk-TTCVYY2B.js.map +0 -1
  1081. package/dist/chunk-U4G3KY6L.js.map +0 -1
  1082. package/dist/chunk-UGH2DDST.js.map +0 -1
  1083. package/dist/chunk-UZOG6HNN.js.map +0 -1
  1084. package/dist/chunk-VMN6KG2U.js.map +0 -1
  1085. package/dist/chunk-VNOFFVRQ.js +0 -113
  1086. package/dist/chunk-VNOFFVRQ.js.map +0 -1
  1087. package/dist/chunk-VNVV6Y2X.js.map +0 -1
  1088. package/dist/chunk-VQYR64QB.js.map +0 -1
  1089. package/dist/chunk-VRPCZ3IE.js.map +0 -1
  1090. package/dist/chunk-WC3W36AM.js.map +0 -1
  1091. package/dist/chunk-WOXWLJYR.js.map +0 -1
  1092. package/dist/chunk-WVZBYTIK.js.map +0 -1
  1093. package/dist/chunk-XICRCPEQ.js.map +0 -1
  1094. package/dist/chunk-XKSA4L2X.js.map +0 -1
  1095. package/dist/chunk-XLCVMRSO.js.map +0 -1
  1096. package/dist/chunk-XLTHZI5W.js.map +0 -1
  1097. package/dist/chunk-XQWUVQ2F.js.map +0 -1
  1098. package/dist/chunk-XYFBJH6F.js.map +0 -1
  1099. package/dist/chunk-Y7YJYUNV.js.map +0 -1
  1100. package/dist/chunk-YICNA5LG.js +0 -1
  1101. package/dist/chunk-YLSDFW5O.js.map +0 -1
  1102. package/dist/chunk-YOKUDQIJ.js.map +0 -1
  1103. package/dist/chunk-YZX4DVRS.js.map +0 -1
  1104. package/dist/chunk-ZFBFQK2Y.js.map +0 -1
  1105. package/dist/chunk-ZPACE34U.js.map +0 -1
  1106. package/dist/chunk-ZYKDUKAH.js.map +0 -1
  1107. package/dist/native/chunks/chunk-AVHGS66L.js.map +0 -1
  1108. package/dist/native/chunks/chunk-BXNZHDXK.js.map +0 -1
  1109. /package/dist/{chunk-BWZKLKDT.js.map → _internal/copy/labels.js.map} +0 -0
  1110. /package/dist/{chunk-YICNA5LG.js.map → _internal/en-US.labels.js.map} +0 -0
  1111. /package/dist/{chunk-OPP6USJC.js.map → chunk-2FQF4CNE.js.map} +0 -0
  1112. /package/dist/{chunk-BWFQEASG.js.map → chunk-2P5ZBBTL.js.map} +0 -0
  1113. /package/dist/{chunk-QVO4SIS7.js.map → chunk-3W2B7IZG.js.map} +0 -0
  1114. /package/dist/{chunk-Q6PRGXR2.js.map → chunk-4HBCWKIX.js.map} +0 -0
  1115. /package/dist/{chunk-2QO3BKUQ.js.map → chunk-4NVEUJXK.js.map} +0 -0
  1116. /package/dist/{chunk-O6SAU5JA.js.map → chunk-4OTJ66ID.js.map} +0 -0
  1117. /package/dist/{chunk-PIP7XII2.js.map → chunk-5JDY5W7O.js.map} +0 -0
  1118. /package/dist/{chunk-JE6RZ5L6.js.map → chunk-5ZOJLYD2.js.map} +0 -0
  1119. /package/dist/{chunk-LG52LMAM.js.map → chunk-6B7VZFAO.js.map} +0 -0
  1120. /package/dist/{chunk-ALREWFRX.js.map → chunk-6DGNMASB.js.map} +0 -0
  1121. /package/dist/{chunk-555TUQ7E.js.map → chunk-6IVR5HFI.js.map} +0 -0
  1122. /package/dist/{chunk-J26ZWYQI.js.map → chunk-6KCJNERH.js.map} +0 -0
  1123. /package/dist/{chunk-5752357K.js.map → chunk-6N2U67KF.js.map} +0 -0
  1124. /package/dist/{chunk-AXZCCX7O.js.map → chunk-6S7CFH6V.js.map} +0 -0
  1125. /package/dist/{chunk-PMRLFNBT.js.map → chunk-763AHWKU.js.map} +0 -0
  1126. /package/dist/{chunk-6DAIC2MG.js.map → chunk-775LIZXS.js.map} +0 -0
  1127. /package/dist/{chunk-7HA7UH7O.js.map → chunk-7H5BIZ33.js.map} +0 -0
  1128. /package/dist/{chunk-VEBNL5MG.js.map → chunk-7HYLXERK.js.map} +0 -0
  1129. /package/dist/{chunk-M3DSPEZ3.js.map → chunk-7S3NG2AO.js.map} +0 -0
  1130. /package/dist/{chunk-CSD6SWBZ.js.map → chunk-A3Z7ZXLM.js.map} +0 -0
  1131. /package/dist/{chunk-LBZEPWYK.js.map → chunk-ABJOW7EK.js.map} +0 -0
  1132. /package/dist/{chunk-44PBCQ7E.js.map → chunk-ABQZFK7M.js.map} +0 -0
  1133. /package/dist/{chunk-EIMFA7KP.js.map → chunk-ANUO67JQ.js.map} +0 -0
  1134. /package/dist/{chunk-PTQRJEPN.js.map → chunk-AOBQ3KYY.js.map} +0 -0
  1135. /package/dist/{chunk-LODYTVOO.js.map → chunk-B25SHVWP.js.map} +0 -0
  1136. /package/dist/{chunk-HPEBSLYP.js.map → chunk-B67KUCWU.js.map} +0 -0
  1137. /package/dist/{chunk-GTT5UKKO.js.map → chunk-BDJIP4HG.js.map} +0 -0
  1138. /package/dist/{chunk-RS576GOH.js.map → chunk-BIUT3K6A.js.map} +0 -0
  1139. /package/dist/{chunk-A5NXBOWS.js.map → chunk-BLHSLB5D.js.map} +0 -0
  1140. /package/dist/{chunk-RHKQ2RSY.js.map → chunk-BLVFHVDM.js.map} +0 -0
  1141. /package/dist/{chunk-DYHOBKPU.js.map → chunk-BLZDSCIZ.js.map} +0 -0
  1142. /package/dist/{chunk-E53MMMDA.js.map → chunk-BX6CF2UG.js.map} +0 -0
  1143. /package/dist/{chunk-7K23NEZO.js.map → chunk-CFDYQSN6.js.map} +0 -0
  1144. /package/dist/{chunk-O36MIQIO.js.map → chunk-DB7OJM6X.js.map} +0 -0
  1145. /package/dist/{chunk-GSXYXMCV.js.map → chunk-DD3VFDB2.js.map} +0 -0
  1146. /package/dist/{chunk-IQ2U5MVO.js.map → chunk-DT22MDC3.js.map} +0 -0
  1147. /package/dist/{chunk-7XSCEHGA.js.map → chunk-EOQ6EKTS.js.map} +0 -0
  1148. /package/dist/{chunk-VEKTKCSB.js.map → chunk-FLJ3RIRP.js.map} +0 -0
  1149. /package/dist/{chunk-Z5WUSI47.js.map → chunk-G3JFESKD.js.map} +0 -0
  1150. /package/dist/{chunk-XRDH24J7.js.map → chunk-G6ET2DRL.js.map} +0 -0
  1151. /package/dist/{chunk-7JOLSD2W.js.map → chunk-GHTVBYFA.js.map} +0 -0
  1152. /package/dist/{chunk-AMLHEKSV.js.map → chunk-HI7JPDD6.js.map} +0 -0
  1153. /package/dist/{chunk-N34AOGK3.js.map → chunk-I3OKAQ5L.js.map} +0 -0
  1154. /package/dist/{chunk-AEYLFBZT.js.map → chunk-I4NDZFTB.js.map} +0 -0
  1155. /package/dist/{chunk-2ZRZTGWP.js.map → chunk-ISW5K72V.js.map} +0 -0
  1156. /package/dist/{chunk-4M5GEKPM.js.map → chunk-JL4I7OQE.js.map} +0 -0
  1157. /package/dist/{chunk-EF4DVYD2.js.map → chunk-JMUZ5JZA.js.map} +0 -0
  1158. /package/dist/{chunk-HQCZT6TO.js.map → chunk-JVOEVTCZ.js.map} +0 -0
  1159. /package/dist/{chunk-MBMZNSBP.js.map → chunk-JW7MN4DG.js.map} +0 -0
  1160. /package/dist/{chunk-FCVPVEAS.js.map → chunk-KSOIFQJ6.js.map} +0 -0
  1161. /package/dist/{chunk-GBVNY2LG.js.map → chunk-KTXJQ4YJ.js.map} +0 -0
  1162. /package/dist/{chunk-NBXG3SQ3.js.map → chunk-KW2KCPZF.js.map} +0 -0
  1163. /package/dist/{chunk-3V3Z4EML.js.map → chunk-L4FWEI2P.js.map} +0 -0
  1164. /package/dist/{chunk-56JF5PZK.js.map → chunk-LYVTJLCF.js.map} +0 -0
  1165. /package/dist/{chunk-MNZ6MCOK.js.map → chunk-MKRJUT5O.js.map} +0 -0
  1166. /package/dist/{chunk-BGYLL467.js.map → chunk-N3W6FZOC.js.map} +0 -0
  1167. /package/dist/{chunk-BWFUZ4N2.js.map → chunk-NGXDOWUP.js.map} +0 -0
  1168. /package/dist/{chunk-NYWAAXDX.js.map → chunk-OT4HIG7S.js.map} +0 -0
  1169. /package/dist/{chunk-GRMBCJS6.js.map → chunk-PAKLYZ6G.js.map} +0 -0
  1170. /package/dist/{chunk-5M2NWXN4.js.map → chunk-PGBIUO2A.js.map} +0 -0
  1171. /package/dist/{chunk-RCTHCXS6.js.map → chunk-PJNIJIE6.js.map} +0 -0
  1172. /package/dist/{chunk-6ATXOJVQ.js.map → chunk-QADTI63U.js.map} +0 -0
  1173. /package/dist/{chunk-7ZROYGUG.js.map → chunk-QOTMQLMW.js.map} +0 -0
  1174. /package/dist/{chunk-NQCTANF3.js.map → chunk-QVDEGBME.js.map} +0 -0
  1175. /package/dist/{chunk-LI6XSM5D.js.map → chunk-QVEJGFRP.js.map} +0 -0
  1176. /package/dist/{chunk-VD72JGHA.js.map → chunk-RMZQHJEP.js.map} +0 -0
  1177. /package/dist/{chunk-VBGC7G4F.js.map → chunk-RQ3IS5NQ.js.map} +0 -0
  1178. /package/dist/{chunk-YNDTLBOH.js.map → chunk-SM2O6D5F.js.map} +0 -0
  1179. /package/dist/{chunk-WA6F4NOO.js.map → chunk-SMANO5OD.js.map} +0 -0
  1180. /package/dist/{chunk-YJBWDDW7.js.map → chunk-SXNGH56D.js.map} +0 -0
  1181. /package/dist/{chunk-NDGA7ZE6.js.map → chunk-TGMMUKOF.js.map} +0 -0
  1182. /package/dist/{chunk-SB2SEGR6.js.map → chunk-TIM4PXWN.js.map} +0 -0
  1183. /package/dist/{chunk-MHLYX6QW.js.map → chunk-TRAMTVIO.js.map} +0 -0
  1184. /package/dist/{chunk-QO7UJXXO.js.map → chunk-TVMSXL3R.js.map} +0 -0
  1185. /package/dist/{chunk-DXFKPY2K.js.map → chunk-UCQRJTCI.js.map} +0 -0
  1186. /package/dist/{chunk-CW6Y32N2.js.map → chunk-UF4JFRLE.js.map} +0 -0
  1187. /package/dist/{chunk-HHPJXK4Z.js.map → chunk-UHQZ5XPW.js.map} +0 -0
  1188. /package/dist/{chunk-FTDGFWB5.js.map → chunk-UK3DSFMK.js.map} +0 -0
  1189. /package/dist/{chunk-GBKIGUNP.js.map → chunk-UYNJ3FYE.js.map} +0 -0
  1190. /package/dist/{chunk-2MYSXWZQ.js.map → chunk-VKTF3GAP.js.map} +0 -0
  1191. /package/dist/{chunk-4XBAEKQQ.js.map → chunk-W2RXXF7K.js.map} +0 -0
  1192. /package/dist/{chunk-3Z3WIQ5M.js.map → chunk-W3EVATBS.js.map} +0 -0
  1193. /package/dist/{chunk-A2YLFKQU.js.map → chunk-W5WYTVLS.js.map} +0 -0
  1194. /package/dist/{chunk-EBCEDBHX.js.map → chunk-XDDKRACZ.js.map} +0 -0
  1195. /package/dist/{chunk-ASZGMKB4.js.map → chunk-Y3TD7HOY.js.map} +0 -0
  1196. /package/dist/{chunk-3YLRR4JM.js.map → chunk-Y3YZBB74.js.map} +0 -0
  1197. /package/dist/{chunk-HBHBRRSW.js.map → chunk-YBAK2WN5.js.map} +0 -0
  1198. /package/dist/{chunk-XODBYGTH.js.map → chunk-YMKSPW4T.js.map} +0 -0
  1199. /package/dist/{chunk-6RTE4UNO.js.map → chunk-YV4O7KDR.js.map} +0 -0
  1200. /package/dist/{chunk-MM7BPTVV.js.map → chunk-Z52W7FEU.js.map} +0 -0
  1201. /package/dist/{chunk-7P5PNRBT.js.map → chunk-ZDBG7QG2.js.map} +0 -0
  1202. /package/dist/{chunk-Z5V5E3JW.js.map → chunk-ZIHSCBMN.js.map} +0 -0
  1203. /package/dist/{chunk-S4JXSC4D.js.map → chunk-ZT73ACK3.js.map} +0 -0
@@ -1,113 +0,0 @@
1
- import {
2
- MAX_ZOOM,
3
- MIN_ZOOM
4
- } from "./chunk-H2J2MTRE.js";
5
- import {
6
- rem
7
- } from "./chunk-YKCAJ2TN.js";
8
-
9
- // src/components/data-display/MapPreview/MapControlBar.tsx
10
- import FullscreenIcon from "@mui/icons-material/Fullscreen";
11
- import LayersIcon from "@mui/icons-material/Layers";
12
- import CenterIcon from "@mui/icons-material/MyLocation";
13
- import ZoomInIcon from "@mui/icons-material/ZoomIn";
14
- import ZoomOutIcon from "@mui/icons-material/ZoomOut";
15
- import Box from "@mui/material/Box/index.js";
16
- import IconButton from "@mui/material/IconButton/index.js";
17
- import Tooltip from "@mui/material/Tooltip/index.js";
18
- import { alpha, styled } from "@mui/material/styles/index.js";
19
- import { jsx, jsxs } from "react/jsx-runtime";
20
- var MapControls = styled(Box)(({ theme }) => ({
21
- position: "absolute",
22
- top: theme.spacing(2),
23
- right: theme.spacing(2),
24
- zIndex: 1,
25
- display: "flex",
26
- flexDirection: "column",
27
- gap: theme.spacing(1)
28
- }));
29
- var ControlButton = styled(IconButton)(({ theme }) => ({
30
- background: alpha(theme.palette.background.paper, 0.95),
31
- backdropFilter: `blur(${rem(theme, 10)})`,
32
- WebkitBackdropFilter: `blur(${rem(theme, 10)})`,
33
- border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,
34
- boxShadow: theme.shadows[2],
35
- // Kept clickable while disabled so hover tooltips still work at the limits.
36
- pointerEvents: "auto",
37
- "&:hover": {
38
- background: theme.palette.background.paper,
39
- transform: "scale(1.05)"
40
- },
41
- "&:disabled": {
42
- opacity: 0.5,
43
- pointerEvents: "auto"
44
- }
45
- }));
46
- var MapControlBar = ({
47
- copy,
48
- zoom,
49
- mapType,
50
- onZoomIn,
51
- onZoomOut,
52
- onCenter,
53
- onToggleMapType,
54
- onToggleFullscreen
55
- }) => /* @__PURE__ */ jsxs(MapControls, { "data-testid": "map-controls", children: [
56
- /* @__PURE__ */ jsx(Tooltip, { title: copy.zoomIn, placement: "left", children: /* @__PURE__ */ jsx(
57
- ControlButton,
58
- {
59
- size: "small",
60
- onClick: onZoomIn,
61
- "aria-label": copy.zoomIn,
62
- "data-testid": "zoom-in-button",
63
- disabled: zoom >= MAX_ZOOM,
64
- children: /* @__PURE__ */ jsx(ZoomInIcon, { fontSize: "small" })
65
- }
66
- ) }),
67
- /* @__PURE__ */ jsx(Tooltip, { title: copy.zoomOut, placement: "left", children: /* @__PURE__ */ jsx(
68
- ControlButton,
69
- {
70
- size: "small",
71
- onClick: onZoomOut,
72
- "aria-label": copy.zoomOut,
73
- "data-testid": "zoom-out-button",
74
- disabled: zoom <= MIN_ZOOM,
75
- children: /* @__PURE__ */ jsx(ZoomOutIcon, { fontSize: "small" })
76
- }
77
- ) }),
78
- /* @__PURE__ */ jsx(Tooltip, { title: copy.center, placement: "left", children: /* @__PURE__ */ jsx(
79
- ControlButton,
80
- {
81
- size: "small",
82
- onClick: onCenter,
83
- "aria-label": copy.center,
84
- "data-testid": "center-button",
85
- children: /* @__PURE__ */ jsx(CenterIcon, { fontSize: "small" })
86
- }
87
- ) }),
88
- /* @__PURE__ */ jsx(Tooltip, { title: `Map type: ${mapType}`, placement: "left", children: /* @__PURE__ */ jsx(
89
- ControlButton,
90
- {
91
- size: "small",
92
- onClick: onToggleMapType,
93
- "aria-label": copy.mapType,
94
- "data-testid": "map-type-button",
95
- children: /* @__PURE__ */ jsx(LayersIcon, { fontSize: "small" })
96
- }
97
- ) }),
98
- /* @__PURE__ */ jsx(Tooltip, { title: copy.fullscreen, placement: "left", children: /* @__PURE__ */ jsx(
99
- ControlButton,
100
- {
101
- size: "small",
102
- onClick: onToggleFullscreen,
103
- "aria-label": copy.fullscreen,
104
- "data-testid": "fullscreen-button",
105
- children: /* @__PURE__ */ jsx(FullscreenIcon, { fontSize: "small" })
106
- }
107
- ) })
108
- ] });
109
-
110
- export {
111
- MapControlBar
112
- };
113
- //# sourceMappingURL=chunk-VNOFFVRQ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/MapPreview/MapControlBar.tsx"],"sourcesContent":["import FullscreenIcon from '@mui/icons-material/Fullscreen';\nimport LayersIcon from '@mui/icons-material/Layers';\nimport CenterIcon from '@mui/icons-material/MyLocation';\nimport ZoomInIcon from '@mui/icons-material/ZoomIn';\nimport ZoomOutIcon from '@mui/icons-material/ZoomOut';\nimport Box from '@mui/material/Box/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Tooltip from '@mui/material/Tooltip/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport { MAX_ZOOM, MIN_ZOOM } from './MapPreview.constants';\nimport type { MapType } from './MapPreview.types';\nimport type { MapPreviewCopy } from '../../../copy';\nimport { rem } from '../../../tokens/relative';\n\n// Kept module-local: the inferred type of a styled() component cannot be named\n// across a module boundary here (TS2742).\nconst MapControls = styled(Box)(({ theme }) => ({\n position: 'absolute',\n top: theme.spacing(2),\n right: theme.spacing(2),\n zIndex: 1,\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(1),\n}));\n\nconst ControlButton = styled(IconButton)(({ theme }) => ({\n background: alpha(theme.palette.background.paper, 0.95),\n backdropFilter: `blur(${rem(theme, 10)})`,\n WebkitBackdropFilter: `blur(${rem(theme, 10)})`,\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n boxShadow: theme.shadows[2],\n // Kept clickable while disabled so hover tooltips still work at the limits.\n pointerEvents: 'auto',\n '&:hover': {\n background: theme.palette.background.paper,\n transform: 'scale(1.05)',\n },\n '&:disabled': {\n opacity: 0.5,\n pointerEvents: 'auto',\n },\n}));\n\nexport interface MapControlBarProps {\n /**\n * The six controls' names. Every one is a glyph with a `title` AND an\n * `aria-label`, so this object is both the tooltip and what a screen reader\n * reads — REQUIRED, because a default is one language for every adopter.\n */\n copy: MapPreviewCopy;\n zoom: number;\n mapType: MapType;\n onZoomIn: () => void;\n onZoomOut: () => void;\n onCenter: () => void;\n onToggleMapType: () => void;\n onToggleFullscreen: () => void;\n}\n\nexport const MapControlBar: FC<MapControlBarProps> = ({\n copy,\n zoom,\n mapType,\n onZoomIn,\n onZoomOut,\n onCenter,\n onToggleMapType,\n onToggleFullscreen,\n}) => (\n <MapControls data-testid=\"map-controls\">\n <Tooltip title={copy.zoomIn} placement=\"left\">\n <ControlButton\n size=\"small\"\n onClick={onZoomIn}\n aria-label={copy.zoomIn}\n data-testid=\"zoom-in-button\"\n disabled={zoom >= MAX_ZOOM}\n >\n <ZoomInIcon fontSize=\"small\" />\n </ControlButton>\n </Tooltip>\n <Tooltip title={copy.zoomOut} placement=\"left\">\n <ControlButton\n size=\"small\"\n onClick={onZoomOut}\n aria-label={copy.zoomOut}\n data-testid=\"zoom-out-button\"\n disabled={zoom <= MIN_ZOOM}\n >\n <ZoomOutIcon fontSize=\"small\" />\n </ControlButton>\n </Tooltip>\n <Tooltip title={copy.center} placement=\"left\">\n <ControlButton\n size=\"small\"\n onClick={onCenter}\n aria-label={copy.center}\n data-testid=\"center-button\"\n >\n <CenterIcon fontSize=\"small\" />\n </ControlButton>\n </Tooltip>\n <Tooltip title={`Map type: ${mapType}`} placement=\"left\">\n <ControlButton\n size=\"small\"\n onClick={onToggleMapType}\n aria-label={copy.mapType}\n data-testid=\"map-type-button\"\n >\n <LayersIcon fontSize=\"small\" />\n </ControlButton>\n </Tooltip>\n <Tooltip title={copy.fullscreen} placement=\"left\">\n <ControlButton\n size=\"small\"\n onClick={onToggleFullscreen}\n aria-label={copy.fullscreen}\n data-testid=\"fullscreen-button\"\n >\n <FullscreenIcon fontSize=\"small\" />\n </ControlButton>\n </Tooltip>\n </MapControls>\n);\n"],"mappings":";;;;;;;;;AAAA,OAAO,oBAAoB;AAC3B,OAAO,gBAAgB;AACvB,OAAO,gBAAgB;AACvB,OAAO,gBAAgB;AACvB,OAAO,iBAAiB;AACxB,OAAO,SAAS;AAChB,OAAO,gBAAgB;AACvB,OAAO,aAAa;AACpB,SAAS,OAAO,cAAc;AAiE5B,SASM,KATN;AAtDF,IAAM,cAAc,OAAO,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EAC9C,UAAU;AAAA,EACV,KAAK,MAAM,QAAQ,CAAC;AAAA,EACpB,OAAO,MAAM,QAAQ,CAAC;AAAA,EACtB,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,eAAe;AAAA,EACf,KAAK,MAAM,QAAQ,CAAC;AACtB,EAAE;AAEF,IAAM,gBAAgB,OAAO,UAAU,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EACvD,YAAY,MAAM,MAAM,QAAQ,WAAW,OAAO,IAAI;AAAA,EACtD,gBAAgB,QAAQ,IAAI,OAAO,EAAE,CAAC;AAAA,EACtC,sBAAsB,QAAQ,IAAI,OAAO,EAAE,CAAC;AAAA,EAC5C,QAAQ,aAAa,MAAM,MAAM,QAAQ,SAAS,GAAG,CAAC;AAAA,EACtD,WAAW,MAAM,QAAQ,CAAC;AAAA;AAAA,EAE1B,eAAe;AAAA,EACf,WAAW;AAAA,IACT,YAAY,MAAM,QAAQ,WAAW;AAAA,IACrC,WAAW;AAAA,EACb;AAAA,EACA,cAAc;AAAA,IACZ,SAAS;AAAA,IACT,eAAe;AAAA,EACjB;AACF,EAAE;AAkBK,IAAM,gBAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE,qBAAC,eAAY,eAAY,gBACvB;AAAA,sBAAC,WAAQ,OAAO,KAAK,QAAQ,WAAU,QACrC;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS;AAAA,MACT,cAAY,KAAK;AAAA,MACjB,eAAY;AAAA,MACZ,UAAU,QAAQ;AAAA,MAElB,8BAAC,cAAW,UAAS,SAAQ;AAAA;AAAA,EAC/B,GACF;AAAA,EACA,oBAAC,WAAQ,OAAO,KAAK,SAAS,WAAU,QACtC;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS;AAAA,MACT,cAAY,KAAK;AAAA,MACjB,eAAY;AAAA,MACZ,UAAU,QAAQ;AAAA,MAElB,8BAAC,eAAY,UAAS,SAAQ;AAAA;AAAA,EAChC,GACF;AAAA,EACA,oBAAC,WAAQ,OAAO,KAAK,QAAQ,WAAU,QACrC;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS;AAAA,MACT,cAAY,KAAK;AAAA,MACjB,eAAY;AAAA,MAEZ,8BAAC,cAAW,UAAS,SAAQ;AAAA;AAAA,EAC/B,GACF;AAAA,EACA,oBAAC,WAAQ,OAAO,aAAa,OAAO,IAAI,WAAU,QAChD;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS;AAAA,MACT,cAAY,KAAK;AAAA,MACjB,eAAY;AAAA,MAEZ,8BAAC,cAAW,UAAS,SAAQ;AAAA;AAAA,EAC/B,GACF;AAAA,EACA,oBAAC,WAAQ,OAAO,KAAK,YAAY,WAAU,QACzC;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS;AAAA,MACT,cAAY,KAAK;AAAA,MACjB,eAAY;AAAA,MAEZ,8BAAC,kBAAe,UAAS,SAAQ;AAAA;AAAA,EACnC,GACF;AAAA,GACF;","names":[]}
@@ -1 +0,0 @@
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 +0,0 @@
1
- {"version":3,"sources":["../src/components/feedback/Toast/Toast.tsx"],"sourcesContent":["import SuccessIcon from '@mui/icons-material/CheckCircle';\nimport CloseIcon from '@mui/icons-material/Close';\nimport ErrorIcon from '@mui/icons-material/Error';\nimport InfoIcon from '@mui/icons-material/Info';\nimport WarningIcon from '@mui/icons-material/Warning';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport Alert from '@mui/material/Alert/index.js';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Portal from '@mui/material/Portal/index.js';\nimport Slide from '@mui/material/Slide/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, useTheme } from '@mui/material/styles/index.js';\nimport React, { createContext, useCallback,useContext, useState } from 'react';\n\nimport { rem } from '../../../tokens/relative';\n\nimport type { ToastContainerProps, ToastContextType, ToastItem,ToastProps } from './Toast.types';\n\nconst ToastContext = createContext<ToastContextType | null>(null);\n\ntype PromiseToastOptions<T> = {\n loading: string;\n success: string | ((data: T) => string);\n error: string | ((error: unknown) => string);\n};\n\n// success/error may be a literal or a formatter over the settled value.\nconst resolveToastMessage = <T,>(message: string | ((value: T) => string), value: T): string =>\n typeof message === 'function' ? message(value) : message;\n\n// Shows a persistent \"loading\" toast for the life of a promise, then swaps it\n// for a success or error one. Lives outside the provider so the provider body\n// stays readable; it takes add/remove rather than reaching for context.\nconst trackPromiseWithToasts = async <T,>(\n promiseToResolve: Promise<T>,\n options: PromiseToastOptions<T>,\n addToast: (toast: Omit<ToastProps, 'id'>) => string,\n removeToast: (id: string) => void,\n): Promise<T> => {\n const toastId = addToast({\n message: options.loading,\n variant: 'promise',\n persistent: true,\n });\n\n try {\n const data = await promiseToResolve;\n\n removeToast(toastId);\n addToast({ message: resolveToastMessage(options.success, data), variant: 'success' });\n\n return data;\n } catch (error) {\n removeToast(toastId);\n addToast({ message: resolveToastMessage(options.error, error), variant: 'error' });\n\n throw error;\n }\n};\n\nexport const ToastProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [toasts, setToasts] = useState<ToastItem[]>([]);\n\n const removeToast = useCallback((id: string) => {\n setToasts((prev) => prev.filter((toast) => toast.id !== id));\n }, []);\n\n const addToast = useCallback(\n (toast: Omit<ToastProps, 'id'>): string => {\n const id = `toast-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n const newToast: ToastItem = {\n ...toast,\n id,\n timestamp: Date.now(),\n };\n\n setToasts((prev) => [...prev, newToast]);\n\n if (!toast.persistent && toast.duration !== 0) {\n const duration = toast.duration ?? 5000;\n window.setTimeout(() => {\n removeToast(id);\n }, duration);\n }\n\n return id;\n },\n [removeToast],\n );\n\n const clearAllToasts = useCallback(() => {\n setToasts([]);\n }, []);\n\n const promise = useCallback(\n <T,>(promiseToResolve: Promise<T>, options: PromiseToastOptions<T>): Promise<T> =>\n trackPromiseWithToasts(promiseToResolve, options, addToast, removeToast),\n [addToast, removeToast],\n );\n\n const contextValue: ToastContextType = {\n toasts,\n addToast,\n removeToast,\n clearAllToasts,\n promise,\n };\n\n return <ToastContext.Provider value={contextValue}>{children}</ToastContext.Provider>;\n};\n\nexport const useToast = (): ToastContextType => {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error('useToast must be used within a ToastProvider');\n }\n return context;\n};\n\nconst renderVariantIcon = (theme: Theme, variant: ToastProps['variant']) => {\n switch (variant) {\n case 'success':\n return <SuccessIcon />;\n case 'error':\n return <ErrorIcon />;\n case 'warning':\n return <WarningIcon />;\n case 'info':\n return <InfoIcon />;\n case 'promise':\n return <CircularProgress size={rem(theme, 20)} />;\n default:\n return null;\n }\n};\n\n// 'default' and 'promise' have no MUI severity of their own; both read as info.\nconst toAlertSeverity = (variant: ToastProps['variant']) =>\n variant === 'default' || variant === 'promise' ? 'info' : variant;\n\nconst buildToastStyles = (theme: Theme, glass: boolean) => {\n const baseStyles = {\n borderRadius: theme.spacing(1.5),\n transition: theme.transitions.create(['background-color', 'backdrop-filter'], {\n duration: theme.transitions.duration.standard,\n }),\n };\n\n if (glass) {\n return {\n ...baseStyles,\n backgroundColor: alpha(theme.palette.background.paper, 0.1),\n backdropFilter: `blur(${rem(theme, 20)})`,\n border: `1px solid ${alpha(theme.palette.primary.main, 0.2)}`,\n };\n }\n\n return baseStyles;\n};\n\nexport const Toast: React.FC<ToastProps> = ({\n id = '',\n message,\n variant = 'default',\n closable = true,\n action,\n glass = false,\n onClose,\n dataTestId = 'toast',\n}) => {\n const theme = useTheme();\n\n const handleClose = () => {\n if (onClose && id) {\n onClose(id);\n }\n };\n\n return (\n <Alert\n data-testid={dataTestId}\n icon={renderVariantIcon(theme, variant)}\n severity={toAlertSeverity(variant)}\n onClose={closable ? handleClose : undefined}\n action={\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n {action && (\n <Button\n data-testid={`${dataTestId}-action`}\n color=\"inherit\"\n size=\"small\"\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n )}\n {closable && (\n <IconButton\n data-testid={`${dataTestId}-close`}\n aria-label=\"close\"\n color=\"inherit\"\n size=\"small\"\n onClick={handleClose}\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n )}\n </Box>\n }\n sx={buildToastStyles(theme, glass)}\n >\n <Typography data-testid={`${dataTestId}-message`} variant=\"body2\">{message}</Typography>\n </Alert>\n );\n};\n\nexport const ToastContainer: React.FC<ToastContainerProps> = ({\n position = 'top-right',\n maxToasts = 5,\n gap,\n className,\n dataTestId = 'toast-container',\n}) => {\n const theme = useTheme();\n const context = useContext(ToastContext);\n \n if (!context) {\n throw new Error('ToastContainer must be used within a ToastProvider');\n }\n\n const { toasts, removeToast } = context;\n\n const getPositionStyles = (): React.CSSProperties => {\n const baseStyles: React.CSSProperties = {\n position: 'fixed',\n zIndex: 9999,\n display: 'flex',\n flexDirection: 'column',\n // `gap` is design px (default 8), read through the type scale.\n gap: rem(theme, gap ?? 8),\n padding: rem(theme, 16),\n pointerEvents: 'none',\n };\n\n switch (position) {\n case 'top-left':\n return { ...baseStyles, top: 0, left: 0 };\n case 'top-center':\n return { ...baseStyles, top: 0, left: '50%', transform: 'translateX(-50%)' };\n case 'top-right':\n return { ...baseStyles, top: 0, right: 0 };\n case 'bottom-left':\n return { ...baseStyles, bottom: 0, left: 0, flexDirection: 'column-reverse' };\n case 'bottom-center':\n return {\n ...baseStyles,\n bottom: 0,\n left: '50%',\n transform: 'translateX(-50%)',\n flexDirection: 'column-reverse',\n };\n case 'bottom-right':\n return { ...baseStyles, bottom: 0, right: 0, flexDirection: 'column-reverse' };\n default:\n return { ...baseStyles, top: 0, right: 0 };\n }\n };\n\n return (\n <Portal>\n <Box data-testid={dataTestId} className={className} sx={getPositionStyles()}>\n {toasts.slice(0, maxToasts).map((toast, index) => (\n <Slide\n key={toast.id}\n direction={position.includes('left') ? 'right' : 'left'}\n in={true}\n timeout={300}\n style={{ pointerEvents: 'auto' }}\n >\n <Box data-testid={`${dataTestId}-item-${index}`}>\n <Toast {...toast} onClose={removeToast} dataTestId={toast.dataTestId || `toast-${index}`} />\n </Box>\n </Slide>\n ))}\n </Box>\n </Portal>\n );\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/AddressAutocomplete/useAddressSelection.ts"],"sourcesContent":["import type React from 'react';\nimport { useCallback } from 'react';\n\nimport { coordinatesOf, freeSoloAddress, toAddressDetails } from './AddressAutocomplete.mapper';\nimport type {\n AddressDetails,\n AddressOptionValue,\n AddressPrediction,\n} from './AddressAutocomplete.types';\nimport { MOCK_PLACE_DETAILS } from './mockPlaces';\nimport type { GoogleMapsService } from './useGoogleMapsAPI';\n\nconst MOCK_DETAILS_DELAY_MS = 50;\n\nconst PLACE_DETAIL_FIELDS = ['formatted_address', 'address_components', 'geometry'];\n\ninterface SelectionSink {\n setLoading: (loading: boolean) => void;\n setApiError: (message: string | null) => void;\n applyAddress: (address: AddressDetails) => void;\n}\n\nconst resolveMockPlace = (value: AddressPrediction, sink: SelectionSink) => {\n window.setTimeout(() => {\n sink.setLoading(false);\n\n const place = MOCK_PLACE_DETAILS[value.place_id];\n if (!place) {\n sink.setApiError('Address details not found');\n return;\n }\n\n sink.applyAddress(\n toAddressDetails({\n components: place.address_components,\n formatted: place.formatted_address || value.description,\n coordinates: coordinatesOf(place.geometry),\n }),\n );\n }, MOCK_DETAILS_DELAY_MS);\n};\n\nconst resolveLivePlace = (\n service: google.maps.places.PlacesService,\n value: AddressPrediction,\n sink: SelectionSink,\n) => {\n const request: google.maps.places.PlaceDetailsRequest = {\n placeId: value.place_id,\n fields: PLACE_DETAIL_FIELDS,\n };\n\n service.getDetails(request, (place, status) => {\n sink.setLoading(false);\n\n if (status !== google.maps.places.PlacesServiceStatus.OK || !place) {\n sink.setApiError('Failed to get address details');\n return;\n }\n\n sink.applyAddress(\n toAddressDetails({\n components: place.address_components ?? [],\n formatted: place.formatted_address || value.description,\n coordinates: coordinatesOf(place.geometry),\n }),\n );\n });\n};\n\nexport const useAddressSelection = ({\n services,\n useMockData,\n setLoading,\n setApiError,\n onSelect,\n applyAddress,\n}: {\n services: GoogleMapsService;\n useMockData: boolean;\n setLoading: (loading: boolean) => void;\n setApiError: (message: string | null) => void;\n onSelect: (address: AddressDetails) => void;\n applyAddress: (address: AddressDetails) => void;\n}) =>\n useCallback(\n (_event: React.SyntheticEvent, value: AddressOptionValue | null) => {\n // freeSolo text is reported as typed; there is no place to look up, and the\n // input already holds it.\n if (typeof value === 'string') {\n onSelect(freeSoloAddress(value));\n return;\n }\n\n if (!value) return;\n\n setLoading(true);\n const sink: SelectionSink = { setLoading, setApiError, applyAddress };\n\n if (useMockData && 'place_id' in value) {\n resolveMockPlace(value, sink);\n return;\n }\n\n if (!services.placesService) {\n setLoading(false);\n return;\n }\n\n resolveLivePlace(services.placesService, value, sink);\n },\n [services, useMockData, setLoading, setApiError, onSelect, applyAddress],\n );\n"],"mappings":";;;;;;;;;;AACA,SAAS,mBAAmB;AAW5B,IAAM,wBAAwB;AAE9B,IAAM,sBAAsB,CAAC,qBAAqB,sBAAsB,UAAU;AAQlF,IAAM,mBAAmB,CAAC,OAA0B,SAAwB;AAC1E,SAAO,WAAW,MAAM;AACtB,SAAK,WAAW,KAAK;AAErB,UAAM,QAAQ,mBAAmB,MAAM,QAAQ;AAC/C,QAAI,CAAC,OAAO;AACV,WAAK,YAAY,2BAA2B;AAC5C;AAAA,IACF;AAEA,SAAK;AAAA,MACH,iBAAiB;AAAA,QACf,YAAY,MAAM;AAAA,QAClB,WAAW,MAAM,qBAAqB,MAAM;AAAA,QAC5C,aAAa,cAAc,MAAM,QAAQ;AAAA,MAC3C,CAAC;AAAA,IACH;AAAA,EACF,GAAG,qBAAqB;AAC1B;AAEA,IAAM,mBAAmB,CACvB,SACA,OACA,SACG;AACH,QAAM,UAAkD;AAAA,IACtD,SAAS,MAAM;AAAA,IACf,QAAQ;AAAA,EACV;AAEA,UAAQ,WAAW,SAAS,CAAC,OAAO,WAAW;AAC7C,SAAK,WAAW,KAAK;AAErB,QAAI,WAAW,OAAO,KAAK,OAAO,oBAAoB,MAAM,CAAC,OAAO;AAClE,WAAK,YAAY,+BAA+B;AAChD;AAAA,IACF;AAEA,SAAK;AAAA,MACH,iBAAiB;AAAA,QACf,YAAY,MAAM,sBAAsB,CAAC;AAAA,QACzC,WAAW,MAAM,qBAAqB,MAAM;AAAA,QAC5C,aAAa,cAAc,MAAM,QAAQ;AAAA,MAC3C,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAEO,IAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAQE;AAAA,EACE,CAAC,QAA8B,UAAqC;AAGlE,QAAI,OAAO,UAAU,UAAU;AAC7B,eAAS,gBAAgB,KAAK,CAAC;AAC/B;AAAA,IACF;AAEA,QAAI,CAAC,MAAO;AAEZ,eAAW,IAAI;AACf,UAAM,OAAsB,EAAE,YAAY,aAAa,aAAa;AAEpE,QAAI,eAAe,cAAc,OAAO;AACtC,uBAAiB,OAAO,IAAI;AAC5B;AAAA,IACF;AAEA,QAAI,CAAC,SAAS,eAAe;AAC3B,iBAAW,KAAK;AAChB;AAAA,IACF;AAEA,qBAAiB,SAAS,eAAe,OAAO,IAAI;AAAA,EACtD;AAAA,EACA,CAAC,UAAU,aAAa,YAAY,aAAa,UAAU,YAAY;AACzE;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/AddressAutocomplete/AddressAutocomplete.hooks.ts"],"sourcesContent":["import type React from 'react';\nimport { useCallback, useState } from 'react';\n\nimport type {\n AddressAutocompleteProps,\n AddressDetails,\n AddressOptionValue,\n} from './AddressAutocomplete.types';\nimport { useAddressPredictions } from './useAddressPredictions';\nimport { useAddressSelection } from './useAddressSelection';\nimport { useCurrentLocation } from './useCurrentLocation';\nimport { useGoogleMapsAPI } from './useGoogleMapsAPI';\n\nexport interface AddressAutocompleteState {\n inputValue: string;\n options: AddressOptionValue[];\n loading: boolean;\n apiError: string | null;\n mapsError: string | null;\n isLoaded: boolean;\n handleInputChange: (event: React.SyntheticEvent, value: string) => void;\n handleSelect: (event: React.SyntheticEvent, value: AddressOptionValue | null) => void;\n handleGetCurrentLocation: () => void;\n}\n\n// Owns the state the three Places concerns share — the field's text, whether a\n// request is in flight, and the last error — then hands each concern the slice it\n// writes to.\nexport const useAddressAutocomplete = ({\n defaultValue,\n googleMapsApiKey,\n restrictions,\n onSelect,\n}: {\n defaultValue: string;\n googleMapsApiKey: string;\n restrictions: AddressAutocompleteProps['restrictions'];\n onSelect: (address: AddressDetails) => void;\n}): AddressAutocompleteState => {\n const [inputValue, setInputValue] = useState(defaultValue);\n const [loading, setLoading] = useState(false);\n const [apiError, setApiError] = useState<string | null>(null);\n\n const { isLoaded, error: mapsError, services, useMockData } = useGoogleMapsAPI(googleMapsApiKey);\n\n // A resolved address both notifies the caller and becomes the field's text.\n const applyAddress = useCallback(\n (address: AddressDetails) => {\n onSelect(address);\n setInputValue(address.formatted);\n },\n [onSelect],\n );\n\n const { options, handleInputChange } = useAddressPredictions({\n isLoaded,\n services,\n restrictions,\n useMockData,\n setInputValue,\n setLoading,\n setApiError,\n });\n\n const handleSelect = useAddressSelection({\n services,\n useMockData,\n setLoading,\n setApiError,\n onSelect,\n applyAddress,\n });\n\n const handleGetCurrentLocation = useCurrentLocation({\n services,\n useMockData,\n setLoading,\n setApiError,\n applyAddress,\n });\n\n return {\n inputValue,\n options,\n loading,\n apiError,\n mapsError,\n isLoaded,\n handleInputChange,\n handleSelect,\n handleGetCurrentLocation,\n };\n};\n"],"mappings":";;;;;;;;;;;;;;AACA,SAAS,aAAa,gBAAgB;AA2B/B,IAAM,yBAAyB,CAAC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAKgC;AAC9B,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,YAAY;AACzD,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAC5C,QAAM,CAAC,UAAU,WAAW,IAAI,SAAwB,IAAI;AAE5D,QAAM,EAAE,UAAU,OAAO,WAAW,UAAU,YAAY,IAAI,iBAAiB,gBAAgB;AAG/F,QAAM,eAAe;AAAA,IACnB,CAAC,YAA4B;AAC3B,eAAS,OAAO;AAChB,oBAAc,QAAQ,SAAS;AAAA,IACjC;AAAA,IACA,CAAC,QAAQ;AAAA,EACX;AAEA,QAAM,EAAE,SAAS,kBAAkB,IAAI,sBAAsB;AAAA,IAC3D;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,eAAe,oBAAoB;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,2BAA2B,mBAAmB;AAAA,IAClD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/utility/AnimatedIcon/AnimatedIcon.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport { styled } from '@mui/material/styles/index.js';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport { withDefaults } from '../../../utils/withDefaults';\n\nimport { iconSx, sizeConfigs } from './AnimatedIcon.styles';\nimport type { IconStyleFlags } from './AnimatedIcon.styles';\nimport type { AnimatedIconProps } from './AnimatedIcon.types';\n\nconst AnimationContainer = styled(Box)<IconStyleFlags>(({ theme, ...flags }) => ({\n ...iconSx(theme, flags),\n}));\n\nconst DEFAULTS = {\n variant: 'none',\n size: 'md',\n duration: 2,\n delay: 0,\n loop: true,\n glow: false,\n glass: false,\n metallic: false,\n gradient: false,\n shadow: 'none',\n ripple: false,\n neon: false,\n holographic: false,\n} satisfies Partial<AnimatedIconProps>;\n\ntype ResolvedProps = AnimatedIconProps & Required<Pick<AnimatedIconProps, keyof typeof DEFAULTS>>;\n\nexport const AnimatedIcon: FC<AnimatedIconProps> = (props) => {\n const {\n children, variant, size, color, duration, delay, loop, glow, glass, glowColor,\n metallic, gradient, shadow, ripple, neon, holographic, className, style,\n 'aria-label': ariaLabel, onClick, tabIndex, onFocus, onBlur, dataTestId,\n } = withDefaults(props, DEFAULTS) as ResolvedProps;\n\n const config = sizeConfigs[size] ?? sizeConfigs.md;\n\n return (\n <AnimationContainer\n $size={config.ring}\n $fontSize={config.glyph}\n $animationVariant={variant}\n $duration={duration}\n $delay={delay}\n $loop={loop}\n $glow={glow}\n $glass={glass}\n $glowColor={glowColor}\n $customColor={color}\n $metallic={metallic}\n $gradient={gradient}\n $shadow={shadow}\n $ripple={ripple}\n $neon={neon}\n $holographic={holographic}\n className={className}\n style={style}\n role=\"img\"\n aria-label={ariaLabel || `Animated ${variant} icon`}\n onClick={onClick}\n tabIndex={tabIndex}\n onFocus={onFocus}\n onBlur={onBlur}\n data-testid={dataTestId}\n >\n {children}\n </AnimationContainer>\n );\n};\n\nexport default AnimatedIcon;\n"],"mappings":";;;;;;;;;AAAA,OAAO,SAAS;AAChB,SAAS,cAAc;AA0CnB;AAhCJ,IAAM,qBAAqB,OAAO,GAAG,EAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,OAAO;AAAA,EAC/E,GAAG,OAAO,OAAO,KAAK;AACxB,EAAE;AAEF,IAAM,WAAW;AAAA,EACf,SAAS;AAAA,EACT,MAAM;AAAA,EACN,UAAU;AAAA,EACV,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,aAAa;AACf;AAIO,IAAM,eAAsC,CAAC,UAAU;AAC5D,QAAM;AAAA,IACJ;AAAA,IAAU;AAAA,IAAS;AAAA,IAAM;AAAA,IAAO;AAAA,IAAU;AAAA,IAAO;AAAA,IAAM;AAAA,IAAM;AAAA,IAAO;AAAA,IACpE;AAAA,IAAU;AAAA,IAAU;AAAA,IAAQ;AAAA,IAAQ;AAAA,IAAM;AAAA,IAAa;AAAA,IAAW;AAAA,IAClE,cAAc;AAAA,IAAW;AAAA,IAAS;AAAA,IAAU;AAAA,IAAS;AAAA,IAAQ;AAAA,EAC/D,IAAI,aAAa,OAAO,QAAQ;AAEhC,QAAM,SAAS,YAAY,IAAI,KAAK,YAAY;AAEhD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,OAAO;AAAA,MACd,WAAW,OAAO;AAAA,MAClB,mBAAmB;AAAA,MACnB,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MACL,cAAY,aAAa,YAAY,OAAO;AAAA,MAC5C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAa;AAAA,MAEZ;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,uBAAQ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/RichTextEditor/RichTextEditorToolbar.tsx"],"sourcesContent":["import Code from '@mui/icons-material/Code';\nimport FormatBold from '@mui/icons-material/FormatBold';\nimport FormatItalic from '@mui/icons-material/FormatItalic';\nimport FormatListBulleted from '@mui/icons-material/FormatListBulleted';\nimport FormatListNumbered from '@mui/icons-material/FormatListNumbered';\nimport FormatQuote from '@mui/icons-material/FormatQuote';\nimport FormatStrikethrough from '@mui/icons-material/FormatStrikethrough';\nimport FormatUnderlined from '@mui/icons-material/FormatUnderlined';\nimport Image from '@mui/icons-material/Image';\nimport Link from '@mui/icons-material/Link';\nimport Box from '@mui/material/Box/index.js';\nimport Divider from '@mui/material/Divider/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Toolbar from '@mui/material/Toolbar/index.js';\nimport Tooltip from '@mui/material/Tooltip/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha } from '@mui/material/styles/index.js';\nimport type { FC, ReactElement } from 'react';\nimport React from 'react';\n\nimport type { ToolbarConfig } from './RichTextEditor.types';\n\nimport { sxRem } from '../../../tokens/relative';\n\ntype ResolvedToolbar = Required<Omit<ToolbarConfig, 'customItems'>> &\n Pick<ToolbarConfig, 'customItems'>;\n\n// The button groups, in render order. A separator is drawn between two groups\n// only when both actually have something switched on.\nconst GROUPS: Array<Array<{ key: keyof ResolvedToolbar; icon: ReactElement; tooltip: string; command: string; commandValue?: string }>> = [\n [\n { key: 'bold', icon: <FormatBold />, tooltip: 'Bold', command: 'bold' },\n { key: 'italic', icon: <FormatItalic />, tooltip: 'Italic', command: 'italic' },\n { key: 'underline', icon: <FormatUnderlined />, tooltip: 'Underline', command: 'underline' },\n {\n key: 'strikethrough',\n icon: <FormatStrikethrough />,\n tooltip: 'Strikethrough',\n command: 'strikethrough',\n },\n ],\n [\n {\n key: 'orderedList',\n icon: <FormatListNumbered />,\n tooltip: 'Numbered List',\n command: 'insertOrderedList',\n },\n {\n key: 'unorderedList',\n icon: <FormatListBulleted />,\n tooltip: 'Bulleted List',\n command: 'insertUnorderedList',\n },\n ],\n [\n { key: 'link', icon: <Link />, tooltip: 'Insert Link', command: 'createLink' },\n { key: 'image', icon: <Image />, tooltip: 'Insert Image', command: 'insertImage' },\n {\n key: 'codeBlock',\n icon: <Code />,\n tooltip: 'Code Block',\n command: 'formatBlock',\n commandValue: 'pre',\n },\n {\n key: 'quote',\n icon: <FormatQuote />,\n tooltip: 'Quote',\n command: 'formatBlock',\n commandValue: 'blockquote',\n },\n ],\n];\n\n// Link and image need a target before they can run.\nconst PROMPTS: Record<string, { message: string; initial?: string }> = {\n createLink: { message: 'Enter URL:', initial: 'https://' },\n insertImage: { message: 'Enter image URL:' },\n};\n\nconst Separator: FC = () => <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />;\n\nexport interface RichTextEditorToolbarProps {\n config: ResolvedToolbar;\n disabled: boolean;\n readOnly: boolean;\n maxLength?: number;\n characterCount: number;\n editorRef: React.RefObject<HTMLDivElement | null>;\n onFormat: (command: string, value?: string) => void;\n}\n\nconst ToolbarGroups: FC<{\n config: ResolvedToolbar;\n disabled: boolean;\n readOnly: boolean;\n onRun: (command: string, commandValue?: string) => void;\n}> = ({ config, disabled, readOnly, onRun }) => {\n const groupIsActive = (group: (typeof GROUPS)[number]) => group.some((item) => config[item.key]);\n\n return (\n <>\n {GROUPS.map((group, groupIndex) => (\n <React.Fragment key={group[0]?.key ?? groupIndex}>\n {groupIsActive(group) && GROUPS.slice(0, groupIndex).some(groupIsActive) && <Separator />}\n {group\n .filter((item) => config[item.key])\n .map((item) => (\n <Tooltip key={item.key} title={item.tooltip}>\n <IconButton\n size=\"small\"\n onClick={() => onRun(item.command, item.commandValue)}\n disabled={disabled || readOnly}\n aria-label={item.tooltip}\n data-testid={`toolbar-${item.key}`}\n >\n {item.icon}\n </IconButton>\n </Tooltip>\n ))}\n </React.Fragment>\n ))}\n </>\n );\n};\n\nexport const RichTextEditorToolbar: FC<RichTextEditorToolbarProps> = ({\n config,\n disabled,\n readOnly,\n maxLength,\n characterCount,\n editorRef,\n onFormat,\n}) => {\n const run = (command: string, commandValue?: string) => {\n const prompt = PROMPTS[command];\n if (!prompt) {\n onFormat(command, commandValue);\n return;\n }\n\n const answer = window.prompt(prompt.message, prompt.initial);\n if (answer) onFormat(command, answer);\n };\n\n return (\n <Toolbar\n variant=\"dense\"\n data-testid=\"editor-toolbar\"\n sx={{\n minHeight: sxRem(48),\n px: 1,\n borderBottom: (theme) => `1px solid ${theme.palette.divider}`,\n backgroundColor: (theme) => alpha(theme.palette.background.paper, 0.8),\n }}\n >\n <ToolbarGroups config={config} disabled={disabled} readOnly={readOnly} onRun={run} />\n\n {config.customItems && config.customItems.length > 0 && (\n <>\n <Separator />\n {config.customItems.map((item) => (\n <Tooltip key={item.id} title={item.label}>\n <IconButton\n size=\"small\"\n onClick={() => item.action(editorRef.current)}\n disabled={item.disabled || disabled || readOnly}\n aria-label={item.label}\n data-testid={`toolbar-custom-${item.id}`}\n >\n {item.icon}\n </IconButton>\n </Tooltip>\n ))}\n </>\n )}\n\n <Box sx={{ flexGrow: 1 }} />\n\n {maxLength && (\n <Typography\n variant=\"caption\"\n // Turns red in the last fifth of the allowance.\n color={characterCount > maxLength * 0.8 ? 'error' : 'text.secondary'}\n sx={{ mr: 1 }}\n data-testid=\"editor-counter\"\n >\n {characterCount}/{maxLength}\n </Typography>\n )}\n </Toolbar>\n );\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/navigation/NavigationMenu/NavigationMenuItem.tsx"],"sourcesContent":["import ChevronRight from '@mui/icons-material/ChevronRight';\nimport ExpandMore from '@mui/icons-material/ExpandMore';\nimport Box from '@mui/material/Box/index.js';\nimport Collapse from '@mui/material/Collapse/index.js';\nimport Fade from '@mui/material/Fade/index.js';\nimport Grow from '@mui/material/Grow/index.js';\nimport List from '@mui/material/List/index.js';\nimport ListItem from '@mui/material/ListItem/index.js';\nimport ListItemButton from '@mui/material/ListItemButton/index.js';\nimport ListItemIcon from '@mui/material/ListItemIcon/index.js';\nimport ListItemText from '@mui/material/ListItemText/index.js';\nimport Popover from '@mui/material/Popover/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport React, { } from 'react';\n\nimport { useMenuItemState } from './NavigationMenuItem.hooks';\nimport { navItemButtonStyles, pulseGlow } from './NavigationMenu.styles';\nimport type { NavigationMenuItem } from './NavigationMenu.types';\nimport { onMedia, shadowInk, uiInk } from '../../../tokens/ink';\nimport { rem, rems, sxRem } from '../../../tokens/relative';\n\n// A numeric or empty-string zero is treated the way the package's own Badge\n// treats a zero count by default (`Badge.helpers.ts`'s `showZero: false`):\n// hidden. `badge && …` prints a bare \"0\" text node for `badge: 0`, because\n// `0 && …` evaluates to the falsy `0` itself rather than `false`. A caller\n// who wants a visible zero passes the string `'0'`, which is truthy here.\nconst hasBadge = (badge: NavigationMenuItem['badge']): boolean =>\n badge !== undefined && badge !== null && badge !== '' && badge !== 0;\n\nconst StyledListItem = styled(ListItem, {\n shouldForwardProp: (prop) => !['variant', 'active', 'size', 'level'].includes(prop as string) })<{ variant?: string; active?: boolean; size?: string; level?: number }>(\n ({ theme, variant, level = 0 }) => ({\n padding: 0,\n ...(variant === 'horizontal' && {\n width: 'auto' }),\n ...(level > 0 && {\n paddingLeft: theme.spacing(2 * level) }) }),\n);\n\nconst StyledListItemButton = styled(ListItemButton, {\n shouldForwardProp: (prop) => !['variant', 'active', 'size', 'collapsed', 'minimal'].includes(prop as string) })<{ variant?: string; active?: boolean; size?: string; collapsed?: boolean; minimal?: boolean }>(\n ({ theme, variant, active, size, collapsed, minimal }) => ({\n ...navItemButtonStyles({ theme, variant, active, size, collapsed, minimal }) }),\n);\n\ninterface MenuItemRendererProps {\n item: NavigationMenuItem;\n variant: string;\n size: string;\n collapsed: boolean;\n minimal: boolean;\n level: number;\n onItemClick?: (item: NavigationMenuItem) => void;\n}\n\n// Hover intent and open/anchor state live in NavigationMenuItem.hooks.\n\n// The flyout a horizontal menu opens on hover.\nconst MenuItemPopover: React.FC<{\n anchorEl: HTMLElement | null;\n item: NavigationMenuItem;\n size?: string;\n minimal?: boolean;\n onClose: () => void;\n onMouseEnter: () => void;\n onMouseLeave: () => void;\n onItemClick?: (item: NavigationMenuItem) => void;\n}> = ({ anchorEl, item, size, minimal, onClose, onMouseEnter, onMouseLeave, onItemClick }) => (\n <Popover\n open={Boolean(anchorEl)}\n anchorEl={anchorEl}\n onClose={onClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left' }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left' }}\n disableRestoreFocus\n sx={{\n pointerEvents: 'none' }}\n slotProps={{\n paper: {\n onMouseEnter,\n onMouseLeave,\n sx: {\n pointerEvents: 'auto',\n mt: 0.5,\n borderRadius: 2,\n boxShadow: (theme) => `0 ${rems(theme, 12, 40)} ${shadowInk(theme, 0.15)}`,\n border: (theme) => `1px solid ${alpha(theme.palette.divider, 0.1)}`,\n background: (theme) =>\n `linear-gradient(145deg, ${theme.palette.background.paper} 0%, ${alpha(theme.palette.background.default, 0.95)} 100%)`,\n backdropFilter: (theme) => `blur(${rem(theme, 10)})`,\n minWidth: sxRem(200) } } }}\n >\n <List sx={{ p: 1 }}>\n {item.children?.map((child) => {\n const childHasChildren = child.children && child.children.length > 0;\n\n // Only close popover when clicking leaf nodes (items without children)\n if (childHasChildren) {\n return renderMenuItem(child, 'vertical', size, false, minimal, 0, onItemClick);\n }\n\n // For leaf nodes, wrap with onClick to close the popover\n return (\n <Box\n key={child.id}\n onClick={onClose}\n >\n {renderMenuItem(child, 'vertical', size, false, minimal, 0, onItemClick)}\n </Box>\n );\n })}\n </List>\n </Popover>\n);\n\n// Label, badge/chip and the expand chevron, faded out when the rail collapses.\nconst MenuItemLabel: React.FC<{\n item: NavigationMenuItem;\n collapsed?: boolean;\n minimal?: boolean;\n open: boolean;\n hasChildren?: boolean;\n size?: string;\n variant?: string;\n}> = ({ item, collapsed, open, hasChildren, size, variant }) => (\n <Fade in={!collapsed} timeout={400}>\n <Box sx={{ display: 'flex', alignItems: 'center', width: '100%', gap: 1 }}>\n <ListItemText\n primary={item.label}\n secondary={item.description}\n sx={{\n flex: 1,\n minWidth: 0, // Allows text truncation if needed\n }}\n slotProps={{\n primary: {\n variant: size === 'sm' ? 'body2' : size === 'lg' ? 'h6' : 'body1',\n sx: {\n fontWeight: item.active ? 600 : 400,\n transition: 'all 0.3s ease' } },\n secondary: {\n sx: {\n opacity: 0.7,\n transition: 'all 0.3s ease' } } }}\n />\n {hasBadge(item.badge) && (\n <Box\n component=\"span\"\n data-testid={`navigation-menu-badge-${item.id}`}\n sx={{\n flexShrink: 0,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: sxRem(20),\n height: sxRem(20),\n px: 0.75,\n borderRadius: sxRem(10),\n fontSize: sxRem(12),\n fontWeight: 600,\n color: (theme) => onMedia(theme),\n background: (theme) =>\n `linear-gradient(135deg, ${uiInk(theme).attention.from} 0%, ${uiInk(theme).attention.to} 100%)`,\n boxShadow: (theme) => `0 ${rems(theme, 2, 8)} ${alpha(uiInk(theme).attention.glow, 0.4)}`,\n animation: (theme) =>\n typeof item.badge === 'number' && item.badge > 0\n ? `${pulseGlow(theme)} 2s infinite`\n : 'none' }}\n >\n {item.badge}\n </Box>\n )}\n {hasChildren && (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n flexShrink: 0, // Prevents expand icon from shrinking\n transition: 'transform 0.3s ease',\n transform: open ? 'rotate(180deg)' : 'rotate(0deg)' }}\n >\n {variant === 'horizontal' ? <ChevronRight fontSize=\"small\" /> : <ExpandMore />}\n </Box>\n )}\n </Box>\n </Fade>\n);\n\n// The row itself: icon, label, badge and the expand chevron.\nconst MenuItemContent: React.FC<{\n item: NavigationMenuItem;\n variant?: string;\n size?: string;\n active?: boolean;\n collapsed?: boolean;\n minimal?: boolean;\n level: number;\n open: boolean;\n hasChildren?: boolean;\n onClick: (event: React.MouseEvent<HTMLElement>) => void;\n onMouseEnter: (event: React.MouseEvent<HTMLElement>) => void;\n onMouseLeave: () => void;\n}> = ({\n item,\n variant,\n size,\n active: _active,\n collapsed,\n minimal,\n level,\n open,\n hasChildren,\n onClick,\n onMouseEnter,\n onMouseLeave }) => (\n<StyledListItem key={item.id} variant={variant} active={item.active} size={size} level={level}>\n <StyledListItemButton\n variant={variant}\n active={item.active}\n size={size}\n collapsed={collapsed}\n minimal={minimal}\n disabled={item.disabled}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n {...(item.href && !hasChildren\n ? {\n component: 'a' as React.ElementType,\n href: item.href,\n target: item.target }\n : {})}\n >\n {item.icon && (\n <ListItemIcon\n sx={{\n minWidth: collapsed ? 0 : sxRem(40),\n justifyContent: 'center',\n transition: 'all 0.3s ease',\n '& svg': {\n filter: (theme) => (item.active ? `drop-shadow(0 ${rems(theme, 2, 8)} ${shadowInk(theme, 0.15)})` : 'none'),\n transition: 'all 0.3s ease' } }}\n >\n <Grow in={true} timeout={600}>\n <Box>{item.icon}</Box>\n </Grow>\n </ListItemIcon>\n )}\n {!collapsed && (\n <MenuItemLabel\n item={item}\n collapsed={collapsed}\n minimal={minimal}\n open={open}\n hasChildren={hasChildren}\n size={size}\n variant={variant}\n />\n )}\n </StyledListItemButton>\n </StyledListItem>\n);\n\nconst MenuItemRenderer: React.FC<MenuItemRendererProps> = ({\n item,\n variant,\n size,\n collapsed,\n minimal,\n level,\n onItemClick }) => {\n const {\n open,\n anchorEl,\n hasChildren,\n handleClick,\n handleMouseEnter,\n handleMouseLeave,\n handlePopoverMouseEnter,\n handlePopoverMouseLeave,\n closePopover } = useMenuItemState({ item, variant, onItemClick });\n\n const itemContent = (\n <MenuItemContent\n item={item}\n variant={variant}\n size={size}\n active={item.active}\n collapsed={collapsed}\n minimal={minimal}\n level={level}\n open={open}\n hasChildren={hasChildren}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n />\n );\n\n // Horizontal variant with children - use Popover\n if (hasChildren && variant === 'horizontal') {\n return (\n <React.Fragment key={item.id}>\n {itemContent}\n <MenuItemPopover\n anchorEl={anchorEl}\n item={item}\n size={size}\n minimal={minimal}\n onClose={closePopover}\n onMouseEnter={handlePopoverMouseEnter}\n onMouseLeave={handlePopoverMouseLeave}\n onItemClick={onItemClick}\n />\n </React.Fragment>\n );\n }\n\n // Vertical variant with children - use Collapse\n if (hasChildren && variant !== 'horizontal') {\n return (\n <React.Fragment key={item.id}>\n {itemContent}\n {!collapsed && (\n <Collapse in={open} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n {item.children?.map((child) =>\n renderMenuItem(child, variant, size, collapsed, minimal, level + 1, onItemClick),\n )}\n </List>\n </Collapse>\n )}\n </React.Fragment>\n );\n }\n\n return itemContent;\n};\n\nexport const renderMenuItem = (\n item: NavigationMenuItem,\n variant: string = 'vertical',\n size: string = 'md',\n collapsed: boolean = false,\n minimal: boolean = false,\n level: number = 0,\n onItemClick?: (item: NavigationMenuItem) => void,\n): React.ReactNode => (\n <MenuItemRenderer\n key={item.id}\n item={item}\n variant={variant}\n size={size}\n collapsed={collapsed}\n minimal={minimal}\n level={level}\n onItemClick={onItemClick}\n />\n );\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
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 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/LoadingState/LoadingState.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport Stack from '@mui/material/Stack/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { useTheme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { Skeleton } from '../../layout/Skeleton/Skeleton';\n\nimport {\n makeTestIds,\n resolveLoadingStateProps,\n SIZE_MAP,\n SKELETON_ROW_HEIGHT,\n} from './LoadingState.helpers';\nimport {\n SKELETON_FULL_ROW_WIDTH,\n SKELETON_LAST_ROW_WIDTH,\n SKELETON_MESSAGE_MARGIN_TOP_UNITS,\n SKELETON_PADDING_UNITS,\n SKELETON_RADIUS,\n SKELETON_ROW_GAP_UNITS,\n SPINNER_GAP_UNITS,\n SPINNER_MIN_HEIGHT,\n SPINNER_PADDING_UNITS,\n} from './LoadingState.metrics';\nimport type { LoadingStateProps, LoadingStateSize } from './LoadingState.types';\nimport { resolveTestId } from '../../../platform/test-id';\nimport { rem } from '../../../tokens/relative';\n\ninterface ViewProps {\n message?: string;\n size: LoadingStateSize;\n skeletonRows: number;\n className?: string;\n testIds: ReturnType<typeof makeTestIds>;\n}\n\nconst LoadingMessage: React.FC<{\n message?: string;\n size: LoadingStateSize;\n testIds: ViewProps['testIds'];\n sx?: object;\n}> = ({ message, size, testIds, sx }) =>\n message ? (\n <Typography\n variant={SIZE_MAP[size].text}\n color=\"text.secondary\"\n sx={sx}\n data-testid={testIds.named('message')}\n >\n {message}\n </Typography>\n ) : null;\n\nconst SkeletonView: React.FC<ViewProps> = ({\n message,\n size,\n skeletonRows,\n className,\n testIds,\n}) => {\n const theme = useTheme();\n\n return (\n <Box\n role=\"status\"\n aria-busy=\"true\"\n aria-label={message || 'Loading content'}\n className={className}\n data-testid={testIds.base}\n sx={{\n width: '100%',\n padding: theme.spacing(SKELETON_PADDING_UNITS),\n }}\n >\n <Stack spacing={SKELETON_ROW_GAP_UNITS}>\n {Array.from({ length: skeletonRows }).map((_, index) => (\n <Skeleton\n key={`skeleton-row-${index}`}\n variant=\"rectangular\"\n animation=\"wave\"\n height={rem(theme, SKELETON_ROW_HEIGHT[size])}\n // The last row is short, so the block reads as a paragraph of text.\n width={index === skeletonRows - 1 ? SKELETON_LAST_ROW_WIDTH : SKELETON_FULL_ROW_WIDTH}\n borderRadius={SKELETON_RADIUS}\n data-testid={testIds.optional(`skeleton-${index}`)}\n />\n ))}\n </Stack>\n <LoadingMessage\n message={message}\n size={size}\n testIds={testIds}\n sx={{ mt: SKELETON_MESSAGE_MARGIN_TOP_UNITS, textAlign: 'center' }}\n />\n </Box>\n );\n};\n\nconst SpinnerView: React.FC<ViewProps> = ({ message, size, className, testIds }) => {\n const theme = useTheme();\n\n return (\n <Box\n role=\"status\"\n aria-busy=\"true\"\n aria-label={message || 'Loading'}\n className={className}\n data-testid={testIds.base}\n sx={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n padding: theme.spacing(SPINNER_PADDING_UNITS),\n minHeight: rem(theme, SPINNER_MIN_HEIGHT),\n gap: theme.spacing(SPINNER_GAP_UNITS),\n }}\n >\n <CircularProgress\n size={rem(theme, SIZE_MAP[size].spinner)}\n data-testid={testIds.named('spinner')}\n />\n <LoadingMessage message={message} size={size} testIds={testIds} />\n </Box>\n );\n};\n\nexport const LoadingState: React.FC<LoadingStateProps> = React.memo((rawProps) => {\n const resolved = resolveLoadingStateProps(rawProps);\n const { variant, message, size, skeletonRows, className } = resolved;\n const viewProps: ViewProps = {\n message,\n size,\n skeletonRows,\n className,\n // `dataTestId` is the documented spelling; `testID`, the shared contract's\n // other one, resolves to the same id.\n testIds: makeTestIds(resolveTestId(resolved)),\n };\n\n return variant === 'skeleton' ? (\n <SkeletonView {...viewProps} />\n ) : (\n <SpinnerView {...viewProps} />\n );\n});\n\nLoadingState.displayName = 'LoadingState';\n\nexport default LoadingState;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,SAAS;AAChB,OAAO,sBAAsB;AAC7B,OAAO,WAAW;AAClB,OAAO,gBAAgB;AACvB,SAAS,gBAAgB;AACzB,OAAO,WAAW;AAwCd,cAoBA,YApBA;AAPJ,IAAM,iBAKD,CAAC,EAAE,SAAS,MAAM,SAAS,GAAG,MACjC,UACE;AAAA,EAAC;AAAA;AAAA,IACC,SAAS,SAAS,IAAI,EAAE;AAAA,IACxB,OAAM;AAAA,IACN;AAAA,IACA,eAAa,QAAQ,MAAM,SAAS;AAAA,IAEnC;AAAA;AACH,IACE;AAEN,IAAM,eAAoC,CAAC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AAEvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,aAAU;AAAA,MACV,cAAY,WAAW;AAAA,MACvB;AAAA,MACA,eAAa,QAAQ;AAAA,MACrB,IAAI;AAAA,QACF,OAAO;AAAA,QACP,SAAS,MAAM,QAAQ,sBAAsB;AAAA,MAC/C;AAAA,MAEA;AAAA,4BAAC,SAAM,SAAS,wBACb,gBAAM,KAAK,EAAE,QAAQ,aAAa,CAAC,EAAE,IAAI,CAAC,GAAG,UAC5C;AAAA,UAAC;AAAA;AAAA,YAEC,SAAQ;AAAA,YACR,WAAU;AAAA,YACV,QAAQ,IAAI,OAAO,oBAAoB,IAAI,CAAC;AAAA,YAE5C,OAAO,UAAU,eAAe,IAAI,0BAA0B;AAAA,YAC9D,cAAc;AAAA,YACd,eAAa,QAAQ,SAAS,YAAY,KAAK,EAAE;AAAA;AAAA,UAP5C,gBAAgB,KAAK;AAAA,QAQ5B,CACD,GACH;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA,IAAI,EAAE,IAAI,mCAAmC,WAAW,SAAS;AAAA;AAAA,QACnE;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,IAAM,cAAmC,CAAC,EAAE,SAAS,MAAM,WAAW,QAAQ,MAAM;AAClF,QAAM,QAAQ,SAAS;AAEvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,aAAU;AAAA,MACV,cAAY,WAAW;AAAA,MACvB;AAAA,MACA,eAAa,QAAQ;AAAA,MACrB,IAAI;AAAA,QACF,SAAS;AAAA,QACT,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,SAAS,MAAM,QAAQ,qBAAqB;AAAA,QAC5C,WAAW,IAAI,OAAO,kBAAkB;AAAA,QACxC,KAAK,MAAM,QAAQ,iBAAiB;AAAA,MACtC;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,IAAI,OAAO,SAAS,IAAI,EAAE,OAAO;AAAA,YACvC,eAAa,QAAQ,MAAM,SAAS;AAAA;AAAA,QACtC;AAAA,QACA,oBAAC,kBAAe,SAAkB,MAAY,SAAkB;AAAA;AAAA;AAAA,EAClE;AAEJ;AAEO,IAAM,eAA4C,MAAM,KAAK,CAAC,aAAa;AAChF,QAAM,WAAW,yBAAyB,QAAQ;AAClD,QAAM,EAAE,SAAS,SAAS,MAAM,cAAc,UAAU,IAAI;AAC5D,QAAM,YAAuB;AAAA,IAC3B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA;AAAA,IAGA,SAAS,YAAY,cAAc,QAAQ,CAAC;AAAA,EAC9C;AAEA,SAAO,YAAY,aACjB,oBAAC,gBAAc,GAAG,WAAW,IAE7B,oBAAC,eAAa,GAAG,WAAW;AAEhC,CAAC;AAED,aAAa,cAAc;AAE3B,IAAO,uBAAQ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Command/Command.parts.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport Divider from '@mui/material/Divider/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { useTheme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport type {\n CommandEmptyProps,\n CommandLoadingProps,\n CommandSeparatorProps,\n} from './Command.types';\nimport { rem } from '../../../tokens/relative';\n\nexport const CommandEmpty: React.FC<CommandEmptyProps> = ({\n message = 'No results found',\n className,\n style,\n dataTestId,\n}) => (\n <Box\n className={className}\n data-testid={dataTestId}\n sx={{\n p: 4,\n textAlign: 'center',\n color: 'text.secondary',\n ...style,\n }}\n >\n <Typography variant=\"body2\">{message}</Typography>\n </Box>\n );\n\nexport const CommandLoading: React.FC<CommandLoadingProps> = ({\n message = 'Loading...',\n className,\n style,\n dataTestId,\n}) => {\n const theme = useTheme();\n return (\n <Box\n className={className}\n data-testid={dataTestId}\n sx={{\n p: 4,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: 2,\n ...style,\n }}\n >\n <CircularProgress size={rem(theme, 24)} />\n <Typography variant=\"body2\" color=\"text.secondary\">\n {message}\n </Typography>\n </Box>\n );\n};\n\nexport const CommandSeparator: React.FC<CommandSeparatorProps> = ({\n className,\n style,\n}) => <Divider className={className} sx={{ my: 1, ...style }} />;"],"mappings":";;;;;AAAA,OAAO,SAAS;AAChB,OAAO,sBAAsB;AAC7B,OAAO,aAAa;AACpB,OAAO,gBAAgB;AACvB,SAAS,gBAAgB;AA0BnB,cAYF,YAZE;AAhBC,IAAM,eAA4C,CAAC;AAAA,EACxD,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AACF,MACI;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,eAAa;AAAA,IACb,IAAI;AAAA,MACF,GAAG;AAAA,MACH,WAAW;AAAA,MACX,OAAO;AAAA,MACP,GAAG;AAAA,IACL;AAAA,IAEA,8BAAC,cAAW,SAAQ,SAAS,mBAAQ;AAAA;AACvC;AAGG,IAAM,iBAAgD,CAAC;AAAA,EAC5D,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AACvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa;AAAA,MACb,IAAI;AAAA,QACF,GAAG;AAAA,QACH,SAAS;AAAA,QACT,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,KAAK;AAAA,QACL,GAAG;AAAA,MACL;AAAA,MAEA;AAAA,4BAAC,oBAAiB,MAAM,IAAI,OAAO,EAAE,GAAG;AAAA,QACxC,oBAAC,cAAW,SAAQ,SAAQ,OAAM,kBAC/B,mBACH;AAAA;AAAA;AAAA,EACF;AAEJ;AAEO,IAAM,mBAAoD,CAAC;AAAA,EAChE;AAAA,EACA;AACF,MAAM,oBAAC,WAAQ,WAAsB,IAAI,EAAE,IAAI,GAAG,GAAG,MAAM,GAAG;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/Dashboard/Dashboard.tsx"],"sourcesContent":["'use client';\n\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport FilterIcon from '@mui/icons-material/FilterListRounded';\nimport NavigateNextIcon from '@mui/icons-material/NavigateNext';\nimport Box from '@mui/material/Box/index.js';\nimport MuiBreadcrumbs from '@mui/material/Breadcrumbs/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport Collapse from '@mui/material/Collapse/index.js';\nimport MuiLink from '@mui/material/Link/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { styled } from '@mui/material/styles/index.js';\nimport React, { useMemo, useState } from 'react';\n\nimport { DashboardContext, useDashboardContext } from './DashboardContext';\nimport {\n DashboardAction,\n DashboardActions,\n DashboardExport,\n DashboardFilterToggle,\n DashboardInfo,\n DashboardSettings,\n DashboardSpacer,\n} from './DashboardParts';\nimport type {\n DashboardBodyProps,\n DashboardBreadcrumbProps,\n DashboardFiltersProps,\n DashboardHeaderProps,\n DashboardMoreFiltersProps,\n DashboardProps,\n} from './Dashboard.types';\nimport { sxRem } from '../../../tokens/relative';\n\n/**\n * Ordered slot keys. The root reorders composed children into this sequence so\n * authoring order in JSX never matters — a `<Dashboard.Filters>` placed above\n * a `<Dashboard.Header>` still renders below it.\n */\nconst SLOT_ORDER = ['breadcrumb', 'header', 'filters', 'body'] as const;\n/** A slot a component can occupy in the canonical Dashboard order. */\nexport type DashboardSlot = (typeof SLOT_ORDER)[number];\n\n/** Marker attached to each sub-component so the root can rank it by slot. */\ntype SlottedComponent = { dashboardSlot?: DashboardSlot };\n\n/**\n * Tag a component with the Dashboard slot it occupies so the root ranks it in\n * canonical order. The root inspects only its DIRECT children's `type`, so a\n * page that wraps a `<Dashboard.Header>` (or any part) in its own component MUST\n * mark that wrapper — otherwise it counts as an unrecognised child and sinks\n * below the body. Returns the component for convenient inline use.\n *\n * @example\n * ```tsx\n * function ProductsHeader(props) {\n * return <Dashboard.Header title=\"Products\">{/* … *\\/}</Dashboard.Header>;\n * }\n * markDashboardSlot(ProductsHeader, 'header');\n * ```\n */\nexport function markDashboardSlot<T>(component: T, slot: DashboardSlot): T {\n (component as SlottedComponent).dashboardSlot = slot;\n return component;\n}\n\nconst Root = styled(Box)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(2),\n width: '100%',\n}));\n\nfunction slotRank(node: React.ReactNode): number {\n if (React.isValidElement(node)) {\n const slot = (node.type as SlottedComponent).dashboardSlot;\n if (slot) {\n const rank = SLOT_ORDER.indexOf(slot);\n if (rank >= 0) {\n return rank;\n }\n }\n }\n // Unknown / arbitrary children keep their relative position after the\n // recognised slots.\n return SLOT_ORDER.length;\n}\n\n/**\n * Composable page shell. `<Dashboard>` provides shared state through context\n * and renders whichever sub-components you compose — nothing is implied. Drop\n * in only the parts you need; omit `<Dashboard.Filters>` and there is simply no\n * filter UI.\n *\n * @example\n * ```tsx\n * <Dashboard activeFilterCount={2}>\n * <Dashboard.Breadcrumb items={[{ label: 'Admin', href: '/admin' }, { label: 'Products' }]} />\n * <Dashboard.Header title=\"Products\">\n * <Dashboard.Info>What this page does…</Dashboard.Info>\n * <Dashboard.FilterToggle />\n * <Dashboard.Settings>In development</Dashboard.Settings>\n * <Dashboard.Spacer />\n * <Dashboard.Export onExport={handleExport} />\n * <Dashboard.Action><Button variant=\"contained\">New product</Button></Dashboard.Action>\n * </Dashboard.Header>\n * <Dashboard.Filters>{/* search + pills *\\/}</Dashboard.Filters>\n * <Dashboard.Body>{table}</Dashboard.Body>\n * </Dashboard>\n * ```\n */\nexport const Dashboard = ({\n children,\n defaultFiltersVisible = true,\n activeFilterCount = 0,\n testIdPrefix = 'dashboard',\n className,\n}: DashboardProps): React.JSX.Element => {\n const [filtersVisible, setFiltersVisible] = useState(defaultFiltersVisible);\n const [moreFiltersOpen, setMoreFiltersOpen] = useState(false);\n\n const value = useMemo(\n () => ({\n filtersVisible,\n toggleFilters: () => setFiltersVisible((v) => !v),\n moreFiltersOpen,\n toggleMoreFilters: () => setMoreFiltersOpen((v) => !v),\n activeFilterCount,\n testIdPrefix,\n }),\n [filtersVisible, moreFiltersOpen, activeFilterCount, testIdPrefix],\n );\n\n // Stable sort recognised slots into canonical order, preserving the original\n // order of anything unrecognised.\n const ordered = useMemo(() => {\n const arr = React.Children.toArray(children);\n return arr\n .map((node, index) => ({ node, index, rank: slotRank(node) }))\n .sort((a, b) => (a.rank === b.rank ? a.index - b.index : a.rank - b.rank))\n .map((entry) => entry.node);\n }, [children]);\n\n return (\n <DashboardContext.Provider value={value}>\n <Root className={className} data-testid={testIdPrefix}>\n {ordered}\n </Root>\n </DashboardContext.Provider>\n );\n};\n\nDashboard.displayName = 'Dashboard';\n\n/* -------------------------------------------------------------------------- */\n/* Breadcrumb */\n/* -------------------------------------------------------------------------- */\n\nconst DashboardBreadcrumb = ({\n items,\n renderLink,\n className,\n}: DashboardBreadcrumbProps): React.JSX.Element => {\n const { testIdPrefix } = useDashboardContext();\n return (\n <MuiBreadcrumbs\n separator={<NavigateNextIcon fontSize=\"small\" />}\n className={className}\n aria-label=\"breadcrumb\"\n data-testid={`${testIdPrefix}-breadcrumb`}\n sx={{ fontSize: sxRem(14), color: 'text.secondary' }}\n >\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n if (isLast || !item.href) {\n return (\n <Typography\n key={`${item.label}-${index}`}\n component=\"span\"\n sx={{ fontSize: sxRem(14), color: isLast ? 'text.primary' : 'text.secondary' }}\n aria-current={isLast ? 'page' : undefined}\n >\n {item.label}\n </Typography>\n );\n }\n const linkContent = item.label;\n if (renderLink) {\n return <React.Fragment key={`${item.label}-${index}`}>{renderLink(item, linkContent)}</React.Fragment>;\n }\n return (\n <MuiLink\n key={`${item.label}-${index}`}\n href={item.href}\n underline=\"hover\"\n color=\"inherit\"\n sx={{ fontSize: sxRem(14) }}\n >\n {linkContent}\n </MuiLink>\n );\n })}\n </MuiBreadcrumbs>\n );\n};\nDashboardBreadcrumb.displayName = 'Dashboard.Breadcrumb';\n(DashboardBreadcrumb as SlottedComponent).dashboardSlot = 'breadcrumb';\n\n/* -------------------------------------------------------------------------- */\n/* Header + action parts */\n/* -------------------------------------------------------------------------- */\n\nconst DashboardHeader = ({ title, children, className }: DashboardHeaderProps): React.JSX.Element => {\n const { testIdPrefix } = useDashboardContext();\n return (\n <Box\n className={className}\n data-testid={`${testIdPrefix}-header`}\n sx={{ display: 'flex', alignItems: 'center', gap: 1, flexWrap: 'wrap', minHeight: sxRem(40) }}\n >\n <Typography variant=\"h5\" component=\"h1\" sx={{ fontWeight: 600, mr: 0.5 }}>\n {title}\n </Typography>\n {children}\n </Box>\n );\n};\nDashboardHeader.displayName = 'Dashboard.Header';\n(DashboardHeader as SlottedComponent).dashboardSlot = 'header';\n\n/** Flexible spacer — everything composed after it is pushed to the right. */\n/* -------------------------------------------------------------------------- */\n/* Filters */\n/* -------------------------------------------------------------------------- */\n\nconst DashboardFilters = ({ children, className }: DashboardFiltersProps): React.JSX.Element => {\n const { filtersVisible, testIdPrefix } = useDashboardContext();\n return (\n <Collapse in={filtersVisible} unmountOnExit data-testid={`${testIdPrefix}-filters`}>\n <Box\n className={className}\n sx={{\n display: 'flex',\n flexDirection: 'column',\n gap: 1.5,\n p: 2,\n borderRadius: 1,\n border: 1,\n borderColor: 'divider',\n bgcolor: 'action.hover',\n }}\n >\n {children}\n </Box>\n </Collapse>\n );\n};\nDashboardFilters.displayName = 'Dashboard.Filters';\n(DashboardFilters as SlottedComponent).dashboardSlot = 'filters';\n\nconst DashboardMoreFilters = ({ children, label = 'More filters' }: DashboardMoreFiltersProps): React.JSX.Element => {\n const { moreFiltersOpen, toggleMoreFilters, testIdPrefix } = useDashboardContext();\n return (\n <Box>\n <Button\n variant=\"text\"\n size=\"small\"\n startIcon={<FilterIcon fontSize=\"small\" />}\n endIcon={moreFiltersOpen ? <ExpandLessIcon fontSize=\"small\" /> : <ExpandMoreIcon fontSize=\"small\" />}\n onClick={toggleMoreFilters}\n aria-expanded={moreFiltersOpen}\n data-testid={`${testIdPrefix}-more-filters-toggle`}\n >\n {label}\n </Button>\n <Collapse in={moreFiltersOpen} unmountOnExit data-testid={`${testIdPrefix}-more-filters-panel`}>\n <Box sx={{ mt: 1.5, p: 2, borderRadius: 1, border: 1, borderColor: 'divider', bgcolor: 'background.paper' }}>\n {children}\n </Box>\n </Collapse>\n </Box>\n );\n};\nDashboardMoreFilters.displayName = 'Dashboard.MoreFilters';\n\n/* -------------------------------------------------------------------------- */\n/* Body */\n/* -------------------------------------------------------------------------- */\n\nconst DashboardBody = ({ children, className }: DashboardBodyProps): React.JSX.Element => {\n const { testIdPrefix } = useDashboardContext();\n return (\n <Box className={className} data-testid={`${testIdPrefix}-body`}>\n {children}\n </Box>\n );\n};\nDashboardBody.displayName = 'Dashboard.Body';\n(DashboardBody as SlottedComponent).dashboardSlot = 'body';\n\n/* -------------------------------------------------------------------------- */\n/* Attach sub-components as dot-notation parts */\n/* -------------------------------------------------------------------------- */\n\nDashboard.Breadcrumb = DashboardBreadcrumb;\nDashboard.Header = DashboardHeader;\nDashboard.Spacer = DashboardSpacer;\nDashboard.Info = DashboardInfo;\nDashboard.FilterToggle = DashboardFilterToggle;\nDashboard.Settings = DashboardSettings;\nDashboard.Export = DashboardExport;\nDashboard.Action = DashboardAction;\nDashboard.Actions = DashboardActions;\nDashboard.Filters = DashboardFilters;\nDashboard.MoreFilters = DashboardMoreFilters;\nDashboard.Body = DashboardBody;\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/RichTextEditor/RichTextEditor.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport { alpha, useTheme } from '@mui/material/styles/index.js';\nimport React, { forwardRef } from 'react';\n\nimport type { Theme } from '@mui/material/styles/index.js';\nimport { useRichTextEditor } from './RichTextEditor.hooks';\nimport type { RichTextEditorProps, ToolbarConfig } from './RichTextEditor.types';\nimport { RichTextEditorToolbar } from './RichTextEditorToolbar';\n\nimport { fieldEdge } from '../../../tokens/field-edge';\nimport { fieldRadiusPx } from '../../../tokens/field-radius';\nimport { rem } from '../../../tokens/relative';\n\nconst DEFAULT_TOOLBAR: Required<Omit<ToolbarConfig, 'customItems'>> & Pick<ToolbarConfig, 'customItems'> = {\n bold: true,\n italic: true,\n underline: true,\n strikethrough: false,\n orderedList: true,\n unorderedList: true,\n link: true,\n image: false,\n codeBlock: false,\n quote: false,\n customItems: [] };\n\nconst RICH_TEXT_DEFAULTS: Partial<RichTextEditorProps> = {\n value: '',\n placeholder: 'Start typing...',\n disabled: false,\n readOnly: false,\n toolbar: {} };\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: RichTextEditorProps): Partial<RichTextEditorProps> =>\n Object.fromEntries(\n Object.entries(props).filter(([, v]) => v !== undefined),\n ) as Partial<RichTextEditorProps>;\n\n// Simple inline formats are a tag swap; lists and the value-carrying formats\n// need their own handling. This was one nine-case switch.\nconst editorContentSx = (theme: Theme, disabled: boolean, placeholder?: string, height?: string | number) => ({\n // A number is design px, converted here where it is read (300 when the\n // caller gives none); a string is any CSS length, used as-is.\n minHeight: typeof height === 'string' ? height : rem(theme, height ?? 300),\n p: 2,\n outline: 'none',\n cursor: disabled ? 'not-allowed' : 'text',\n '&:empty::before': {\n content: `\"${placeholder}\"`,\n color: theme.palette.text.disabled,\n pointerEvents: 'none' },\n '& p': {\n margin: `${rem(theme, 8)} 0`,\n '&:first-of-type': { marginTop: 0 },\n '&:last-of-type': { marginBottom: 0 } },\n '& ul, & ol': { marginLeft: theme.spacing(2) },\n '& blockquote': {\n borderLeft: `${rem(theme, 4)} solid ${theme.palette.primary.main}`,\n paddingLeft: theme.spacing(2),\n margin: `${theme.spacing(1)} 0`,\n fontStyle: 'italic',\n backgroundColor: alpha(theme.palette.primary.main, 0.05) },\n '& pre': {\n backgroundColor: alpha(theme.palette.text.primary, 0.08),\n padding: theme.spacing(1),\n borderRadius: 1,\n fontFamily: 'Monaco, Menlo, \"Ubuntu Mono\", monospace',\n fontSize: rem(theme, 14),\n overflow: 'auto' },\n '& a': { color: theme.palette.primary.main, textDecoration: 'underline' } });\n\nconst shellSx = (theme: Theme, isFocused: boolean, disabled: boolean) => ({\n border: `1px solid ${fieldEdge(theme)}`,\n borderRadius: fieldRadiusPx(theme),\n overflow: 'hidden',\n transition: 'border-color 0.2s ease-in-out',\n ...(isFocused && {\n borderColor: theme.palette.primary.main,\n boxShadow: `0 0 0 ${rem(theme, 2)} ${alpha(theme.palette.primary.main, 0.2)}` }),\n ...(disabled && {\n backgroundColor: theme.palette.action.disabledBackground,\n color: theme.palette.text.disabled }) });\n\nexport const RichTextEditor = forwardRef<HTMLDivElement, RichTextEditorProps>(\n (editorProps, ref) => {\n const {\n value,\n onChange,\n placeholder,\n disabled,\n readOnly,\n toolbar,\n height,\n maxLength,\n onFocus,\n onBlur,\n className,\n 'data-testid': testId,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n ...props\n } = { ...RICH_TEXT_DEFAULTS, ...definedProps(editorProps) } as RichTextEditorProps;\n\n const theme = useTheme();\n const toolbarConfig = { ...DEFAULT_TOOLBAR, ...toolbar };\n const editor = useRichTextEditor({\n value,\n onChange,\n onFocus,\n onBlur,\n disabled,\n readOnly,\n maxLength });\n\n return (\n <Paper\n ref={ref}\n className={className}\n data-testid={testId || 'rich-text-editor'}\n elevation={1}\n sx={shellSx(theme, editor.isFocused, Boolean(disabled))}\n {...props}\n >\n <RichTextEditorToolbar\n config={toolbarConfig}\n disabled={Boolean(disabled)}\n readOnly={Boolean(readOnly)}\n maxLength={maxLength}\n characterCount={editor.characterCount}\n editorRef={editor.editorRef}\n onFormat={editor.applyFormat}\n />\n\n <Box\n ref={editor.editorRef}\n contentEditable={!disabled && !readOnly}\n onInput={editor.handleContentChange}\n onFocus={editor.handleFocus}\n onBlur={editor.handleBlur}\n role=\"textbox\"\n aria-label={ariaLabel || 'Rich text editor'}\n aria-describedby={ariaDescribedBy}\n aria-multiline=\"true\"\n tabIndex={disabled ? -1 : 0}\n data-testid=\"editor-content\"\n suppressContentEditableWarning\n sx={editorContentSx(theme, Boolean(disabled), placeholder, height)}\n />\n </Paper>\n );\n },\n);\n\nRichTextEditor.displayName = 'RichTextEditor';\n\nexport default RichTextEditor;"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/en-US.data-display.ts"],"sourcesContent":["/**\n * The en-US pack for the data-display family. Split the same way\n * `pt-BR.data-display.ts` is — see `en-US.ts` for why.\n */\nimport type { DataViewsCopy } from \"./components/data-display/DataViews/data-views-copy\";\nimport type {\n CarouselCopy,\n DataGridCopy,\n DataStateCopy,\n LightboxCopy,\n MapPreviewCopy,\n TimingDiagramCopy,\n} from './copy';\nimport { EN_US_TABLE_FILTER_COPY } from './en-US.layout';\nimport {\n EN_US_CATEGORY_SELECT_COPY,\n EN_US_CONFIRM_ACTION_COPY,\n EN_US_SAVED_VIEWS_LABELS,\n} from './en-US.shared';\n\nexport const EN_US_LIGHTBOX_COPY: LightboxCopy = {\n close: \"Close\",\n previous: \"Previous\",\n next: \"Next\",\n zoomIn: \"Zoom in\",\n zoomOut: \"Zoom out\",\n resetZoom: \"Reset zoom\",\n play: \"Start the slideshow\",\n pause: \"Pause the slideshow\",\n dialogLabel: \"Lightbox\",\n itemPosition: (index, total) => `Item ${index} of ${total}`,\n videoFallback: (index, total) => `Video ${index} of ${total}`,\n imageFallback: (index, total) => `Image ${index} of ${total}`,\n thumbnailFallback: (index) => `Thumbnail ${index}`,\n};\n\nexport const EN_US_DATA_GRID_COPY: DataGridCopy = {\n sortBy: (header) => `Sort by ${header}`,\n selectRow: (rowNumber) => `Select row ${rowNumber}`,\n selectAllRows: \"Select all rows\",\n expandRow: \"Expand row\",\n collapseRow: \"Collapse row\",\n gridLabel: \"Data grid\",\n};\n\nexport const EN_US_MAP_PREVIEW_COPY: MapPreviewCopy = {\n zoomIn: \"Zoom in\",\n zoomOut: \"Zoom out\",\n center: \"Centre the map\",\n mapType: \"Change the map type\",\n fullscreen: \"Full screen\",\n search: \"Search for an address\",\n};\n\nexport const EN_US_CAROUSEL_COPY: CarouselCopy = {\n previous: \"Previous\",\n next: \"Next\",\n};\n\nexport const EN_US_TIMING_DIAGRAM_COPY: TimingDiagramCopy = {\n regionLabel: \"Timing diagram\",\n heading: \"Request timing\",\n dns: \"DNS Lookup\",\n connect: \"Connection\",\n ssl: \"SSL/TLS\",\n request: \"Request\",\n response: \"Response\",\n total: (formatted) => `Total: ${formatted}`,\n totalTime: (formatted) => `Total Time: ${formatted}`,\n};\n\nexport const EN_US_DATA_STATE_COPY: DataStateCopy = {\n empty: \"Nothing here\",\n loading: \"Loading…\",\n endOfList: \"No more items to load\",\n dismissAlert: \"Dismiss\",\n dismissBanner: \"Dismiss this banner\",\n};\n\nexport const EN_US_DATA_VIEWS_COPY: DataViewsCopy = {\n savedViewsMenu: EN_US_SAVED_VIEWS_LABELS,\n confirmAction: EN_US_CONFIRM_ACTION_COPY,\n categorySelect: EN_US_CATEGORY_SELECT_COPY,\n board: {\n countOnPage: (label, count) => `${label}: ${count} on this page`,\n onThisPage: (count) => `${count} on this page`,\n pageSum: (sum) => `This page totals ${sum}`,\n emptyColumn: \"Nothing at this stage\",\n pageScopeNote: \"The counts and totals below cover only the items on this page.\",\n },\n deleteView: {\n title: \"Delete view\",\n target: (viewName) => `Delete \"${viewName}\"?`,\n sharedWarning: \"This view is shared — the team will lose access to it.\",\n // `entityLabel` is the HOST's word for what the rows are, so the sentence is\n // built around it rather than naming a noun of its own.\n rowsUnaffected: (entityLabel) =>\n `${entityLabel} are not affected; only the saved slice is removed.`,\n confirm: \"Delete view\",\n cancel: \"Cancel\",\n },\n manageViews: {\n title: \"Manage views\",\n empty: \"No saved views.\",\n edit: \"Edit\",\n defaultTag: \"Default\",\n otherUserTag: \"Another user's\",\n deleteTitle: \"Delete this saved view?\",\n deleteBody: \"The filters and columns it holds are lost. This cannot be undone.\",\n deleteConfirm: \"Delete\",\n },\n saveView: {\n sharedDescription: \"Anyone in the store will be able to open and use this view.\",\n setDefaultTitle: \"Set as default\",\n setDefaultDescription: \"This screen opens on this view instead of the Main view.\",\n previewHeading: \"What this view holds\",\n previewUnchanged: \"Nothing has changed — this view will match the Main view.\",\n sortRowLabel: \"Sorting\",\n saveFailed: \"Could not save the view.\",\n titleEditing: \"Edit view\",\n titleCreating: \"Save view\",\n descriptionLabel: \"Description — optional\",\n descriptionPlaceholder: \"What this view is for\",\n submitEditing: \"Save changes\",\n submitCreating: \"Save view\",\n nameLabel: \"Name\",\n cancel: \"Cancel\",\n pinnedTitle: \"Pin to the sidebar\",\n pinnedDescription: \"Appears as a shortcut in the menu, under this screen.\",\n sharedTitle: \"Share with the team\",\n namePlaceholder: \"e.g. Declined card payments this week\",\n previewFilters: \"Filters\",\n previewHiddenColumns: \"Hidden columns\",\n },\n columns: {\n visibleCount: (visible, total) => `${visible} of ${total} visible`,\n reset: \"Default\",\n showAll: \"Show all\",\n dragHint: \"Drag to reorder the columns.\",\n moveUp: (columnLabel) => `Move ${columnLabel} up`,\n moveDown: (columnLabel) => `Move ${columnLabel} down`,\n },\n display: {\n sortTab: \"Sort\",\n columnsTab: \"Columns\",\n panelTab: \"Display\",\n direction: \"Direction\",\n layoutHints: {\n table: \"Comparable columns, good for scanning numbers.\",\n list: \"One row per item, with the key fields.\",\n cards: \"Larger blocks, good for a handful of items.\",\n board: \"A column per stage, for tracking what is where.\",\n },\n densityHeadings: {\n table: \"Row height\",\n list: \"Row height\",\n cards: \"Cards per row\",\n board: \"Column width\",\n },\n densityLabels: {\n table: { compact: \"Low\", cozy: \"Medium\", comfortable: \"High\" },\n list: { compact: \"Low\", cozy: \"Medium\", comfortable: \"High\" },\n cards: { compact: \"Many\", cozy: \"Some\", comfortable: \"Few\" },\n board: { compact: \"Narrow\", cozy: \"Medium\", comfortable: \"Wide\" },\n },\n boardUnavailable: \"This screen declares no stages, so it offers no board.\",\n densityUnavailableNarrow:\n \"One card per row at this width — density returns on larger screens.\",\n trigger: \"Display\",\n fieldHeading: \"Field\",\n formatHeading: \"Format\",\n cardZoom: \"Card size\",\n },\n export: {\n formats: {\n // The extension is the file's, not a word: it stays as it is written on\n // disk in every language.\n json: { label: \"JSON (.json)\", hint: \"For integrations\" },\n },\n scopeLine: (selectedCount, totalCount) =>\n selectedCount > 0\n ? `Exporting ${selectedCount} selected ${selectedCount === 1 ? \"item\" : \"items\"}`\n : `Exporting ${totalCount} filtered ${totalCount === 1 ? \"item\" : \"items\"}`,\n visibleColumns: (columnCount) => `${columnCount} visible columns, in their current order`,\n trigger: \"Export\",\n triggerLabel: \"Export\",\n },\n tableFilter: EN_US_TABLE_FILTER_COPY,\n grid: {\n ...EN_US_DATA_GRID_COPY,\n rowActions: \"Actions\",\n bulkActions: (selectedCount) => `Actions (${selectedCount}) ▾`,\n emptyFilteredTitle: \"No results for these filters\",\n emptyFilteredHint: \"Adjust or remove the filters.\",\n emptyFilteredAction: \"Clear filters\",\n },\n filters: {\n moreFilters: (count) => `More filters: ${count} did not fit in the bar`,\n moreFiltersApplied: (count, appliedCount) =>\n `More filters: ${count} did not fit in the bar, ${appliedCount} applied`,\n moreTriggerLabel: \"More\",\n moreHeading: \"More filters\",\n overflowNote: \"did not fit in the bar\",\n rangeEnd: \"To\",\n rangeInvalid: \"The start must be earlier than the end.\",\n rangeInclusiveNote: \"Both dates are included in the result.\",\n rangeStart: \"From\",\n // The mask is what the reader TYPES, so it follows their own date order\n // rather than being carried over. A translated label above an unchanged\n // mask is the shape that gets a date entered backwards.\n dayMask: \"mm/dd/yyyy\",\n clearAllFilters: \"Clear all filters\",\n // The KEYS are the package's own preset ids and stay as they are — the\n // surface matches on them. Only the labels beside them are words.\n rangePresets: {\n hoje: \"Today\",\n ontem: \"Yesterday\",\n semana: \"This week\",\n mes: \"This month\",\n ano: \"This year\",\n },\n scopesLabel: \"Status\",\n panelTitle: \"Filters\",\n clear: \"Clear\",\n clearAll: \"Clear filters\",\n clearRange: (label) => `Clear ${label}`,\n allOption: \"All\",\n optionSearchPlaceholder: \"Search…\",\n optionsEmpty: \"No results\",\n optionsHeading: \"Options\",\n },\n selection: {\n selectAllOnPage: \"Select all on this page\",\n clearSelection: \"Clear selection\",\n selectAll: \"Select all\",\n onThisPage: (count) => `${count} on this page`,\n selectedCount: (count) => `${count} ${count === 1 ? \"item selected\" : \"items selected\"}`,\n selectRow: \"Select\",\n expandRow: \"Expand details\",\n collapseRow: \"Collapse details\",\n },\n nav: {\n mainView: \"Main view\",\n defaultTag: \"Default\",\n viewOptions: (viewName) => `${viewName} options`,\n emptyHint: \"No saved views. Adjust filters, columns or sorting and save below.\",\n setDefault: \"Set as default\",\n deleteView: \"Delete view\",\n unsavedChanges: \"Unsaved changes\",\n label: \"View\",\n update: \"Update view\",\n save: \"Save view\",\n saveAs: \"Save as new\",\n reset: \"Reset\",\n updateFailed: \"Could not update the view\",\n dismissError: \"Dismiss\",\n goBack: \"Back\",\n pageSize: \"Show:\",\n saveFailed: \"Could not save the change to the view.\",\n editView: \"Rename and edit\",\n pinToSidebar: \"Pin to the sidebar\",\n shareWithTeam: \"Share with the team\",\n },\n search: {\n placeholder: \"Search…\",\n allColumnsLabel: \"Search every column\",\n keywordPlaceholder: \"Press Enter to filter\",\n open: \"Search\",\n close: \"Close search\",\n clear: \"Clear search\",\n },\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-YICNA5LG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/pt-BR.form.ts"],"sourcesContent":["/**\n * The pt-BR pack for the form family. Split out of `pt-BR.ts`, which is a\n * barrel over this folder — see that file for why.\n */\nimport type {\n AddressAutocompleteCopy,\n AutocompleteCopy,\n CodeEditorCopy,\n PasswordStrengthCopy,\n PhoneInputCopy,\n RichEditorToolbarCopy,\n SocialLoginCopy,\n UploadButtonCopy,\n} from './copy';\n\nexport const PT_BR_ADDRESS_AUTOCOMPLETE_COPY: AddressAutocompleteCopy = {\n loadingMaps: \"Carregando o Google Maps…\",\n mapsLoadFailed:\n \"Não foi possível carregar a API do Google Maps. Verifique a chave da API e a conexão com a internet.\",\n useCurrentLocation: \"Usar a localização atual\",\n};\n\nexport const PT_BR_AUTOCOMPLETE_COPY: AutocompleteCopy = {\n loading: \"Carregando…\",\n noResults: \"Nenhum resultado encontrado\",\n placeholder: \"Digite para buscar…\",\n};\n\nexport const PT_BR_CODE_EDITOR_COPY: CodeEditorCopy = {\n loading: \"Carregando o editor…\",\n readOnly: \"Somente leitura\",\n formatCode: \"Formatar o código (Ctrl+Shift+F)\",\n enableWrap: \"Quebrar as linhas\",\n disableWrap: \"Não quebrar as linhas\",\n copyToClipboard: \"Copiar para a área de transferência\",\n copied: \"Copiado!\",\n enterFullscreen: \"Tela cheia\",\n exitFullscreen: \"Sair da tela cheia\",\n};\n\nexport const PT_BR_PASSWORD_STRENGTH_COPY: PasswordStrengthCopy = {\n strengthHeading: \"Força da senha\",\n requirementsHeading: \"Requisitos:\",\n suggestionsHeading: \"Sugestões:\",\n bands: {\n veryWeak: \"Muito fraca\",\n weak: \"Fraca\",\n fair: \"Razoável\",\n good: \"Boa\",\n strong: \"Forte\",\n },\n requirements: {\n minLength: (count) => `Pelo menos ${count} caracteres`,\n uppercase: \"Uma letra maiúscula\",\n lowercase: \"Uma letra minúscula\",\n numbers: \"Um número\",\n special: \"Um caractere especial\",\n },\n suggestions: {\n minLength: (count) => `Use pelo menos ${count} caracteres`,\n uppercase: \"Adicione letras maiúsculas\",\n lowercase: \"Adicione letras minúsculas\",\n numbers: \"Inclua números\",\n special: \"Adicione caracteres especiais\",\n },\n};\n\nexport const PT_BR_RICH_EDITOR_TOOLBAR_COPY: RichEditorToolbarCopy = {\n bold: \"Negrito\",\n italic: \"Itálico\",\n underline: \"Sublinhado\",\n bulletList: \"Lista com marcadores\",\n numberedList: \"Lista numerada\",\n quote: \"Citação\",\n code: \"Código\",\n insertLink: \"Inserir link\",\n textColor: \"Cor do texto\",\n backgroundColor: \"Cor de fundo\",\n linkPrompt: \"Informe a URL:\",\n};\n\nexport const PT_BR_PHONE_INPUT_COPY: PhoneInputCopy = {\n selectCountry: \"Selecionar o país\",\n invalidNumber: (countryName) => `Telefone inválido para ${countryName}`,\n unknownCountry: \"o país selecionado\",\n};\n\nexport const PT_BR_UPLOAD_BUTTON_COPY: UploadButtonCopy = {\n buttonLabel: \"Enviar arquivo\",\n dropzoneHint: \"Solte o arquivo aqui ou clique para escolher\",\n dropzoneRole: (label) => `Área de upload de arquivo. ${label}`,\n uploading: \"Enviando…\",\n dropReady: \"Arquivo pronto para soltar\",\n percentUploaded: (percent) => `${percent}% enviado`,\n uploadInProgress: (percent) => `Envio em andamento: ${percent}%`,\n errorAnnouncement: (message) => `Erro: ${message}`,\n};\n\nexport const PT_BR_SOCIAL_LOGIN_COPY: SocialLoginCopy = {\n google: \"Continuar com o Google\",\n facebook: \"Continuar com o Facebook\",\n apple: \"Continuar com a Apple\",\n};\n"],"mappings":";AAeO,IAAM,kCAA2D;AAAA,EACtE,aAAa;AAAA,EACb,gBACE;AAAA,EACF,oBAAoB;AACtB;AAEO,IAAM,0BAA4C;AAAA,EACvD,SAAS;AAAA,EACT,WAAW;AAAA,EACX,aAAa;AACf;AAEO,IAAM,yBAAyC;AAAA,EACpD,SAAS;AAAA,EACT,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,gBAAgB;AAClB;AAEO,IAAM,+BAAqD;AAAA,EAChE,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,OAAO;AAAA,IACL,UAAU;AAAA,IACV,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA,cAAc;AAAA,IACZ,WAAW,CAAC,UAAU,cAAc,KAAK;AAAA,IACzC,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA,aAAa;AAAA,IACX,WAAW,CAAC,UAAU,kBAAkB,KAAK;AAAA,IAC7C,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AACF;AAEO,IAAM,iCAAwD;AAAA,EACnE,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,OAAO;AAAA,EACP,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,YAAY;AACd;AAEO,IAAM,yBAAyC;AAAA,EACpD,eAAe;AAAA,EACf,eAAe,CAAC,gBAAgB,6BAA0B,WAAW;AAAA,EACrE,gBAAgB;AAClB;AAEO,IAAM,2BAA6C;AAAA,EACxD,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc,CAAC,UAAU,iCAA8B,KAAK;AAAA,EAC5D,WAAW;AAAA,EACX,WAAW;AAAA,EACX,iBAAiB,CAAC,YAAY,GAAG,OAAO;AAAA,EACxC,kBAAkB,CAAC,YAAY,uBAAuB,OAAO;AAAA,EAC7D,mBAAmB,CAAC,YAAY,SAAS,OAAO;AAClD;AAEO,IAAM,0BAA2C;AAAA,EACtD,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AACT;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Command/Command.hooks.ts"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { CommandItem, CommandProps } from './Command.types';\n\ntype CommandDefaultedKeys =\n | 'open'\n | 'items'\n | 'placeholder'\n | 'value'\n | 'variant'\n | 'size'\n | 'color'\n | 'glow'\n | 'pulse'\n | 'loading'\n | 'disabled'\n | 'emptyMessage'\n | 'showCategories'\n | 'showShortcuts'\n | 'showDescriptions'\n | 'autoFocus'\n | 'closeOnSelect';\n\ntype ResolvedCommandProps = CommandProps &\n Required<Pick<CommandProps, CommandDefaultedKeys>>;\n\nconst COMMAND_DEFAULTS: Pick<CommandProps, CommandDefaultedKeys> = {\n open: false,\n items: [],\n placeholder: 'Type a command or search...',\n value: '',\n variant: 'default',\n size: 'md',\n color: 'primary',\n glow: false,\n pulse: false,\n loading: false,\n disabled: false,\n emptyMessage: 'No results found',\n showCategories: true,\n showShortcuts: true,\n showDescriptions: true,\n autoFocus: true,\n closeOnSelect: true,\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: CommandProps): Partial<CommandProps> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<CommandProps>;\n\nexport const resolveCommandProps = (props: CommandProps): ResolvedCommandProps =>\n ({ ...COMMAND_DEFAULTS, ...definedProps(props) }) as ResolvedCommandProps;\n\n/** An item matches on its label, its description, or any of its keywords. */\nconst matches = (item: CommandItem, search: string): boolean => {\n const searchTargets = [\n item.label.toLowerCase(),\n item.description?.toLowerCase(),\n ...(item.keywords || []).map((k) => k.toLowerCase()),\n ];\n return searchTargets.some((target) => target?.includes(search));\n};\n\nconst useFilteredItems = (\n items: CommandItem[],\n search: string,\n customFilter: CommandProps['customFilter'],\n) =>\n useMemo(() => {\n if (!search) return items;\n\n if (customFilter) {\n return items.filter((item) => customFilter(item, search));\n }\n\n const searchLower = search.toLowerCase();\n return items.filter((item) => matches(item, searchLower));\n }, [items, search, customFilter]);\n\n/**\n * Kept as it was: the ref is never attached to an element, so this focus call has\n * always been a no-op. The input does get focus — CommandInput passes `autoFocus`\n * straight to its TextField — so removing it is a behaviour question, not a\n * cleanup, and is left alone here.\n */\nconst useAutoFocus = (open: boolean, autoFocus: boolean) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (open && autoFocus) {\n window.setTimeout(() => inputRef.current?.focus(), 100);\n }\n }, [open, autoFocus]);\n};\n\ninterface NavigationArgs {\n items: CommandItem[];\n selectedIndex: number;\n setSelectedIndex: React.Dispatch<React.SetStateAction<number>>;\n onSelect: (item: CommandItem) => void;\n onClose: () => void;\n}\n\n/** Arrows wrap around the list; Enter takes the highlighted item, Escape closes. */\nconst useKeyboardNavigation = ({\n items,\n selectedIndex,\n setSelectedIndex,\n onSelect,\n onClose,\n}: NavigationArgs) =>\n useCallback(\n (e: React.KeyboardEvent) => {\n const step = (delta: number) => {\n e.preventDefault();\n setSelectedIndex((prev) => (prev + delta + items.length) % items.length);\n };\n\n switch (e.key) {\n case 'ArrowDown':\n return step(1);\n case 'ArrowUp':\n return step(-1);\n case 'Enter':\n e.preventDefault();\n if (items[selectedIndex]) {\n onSelect(items[selectedIndex]);\n }\n return;\n case 'Escape':\n e.preventDefault();\n onClose();\n return;\n default:\n return;\n }\n },\n [items, selectedIndex, setSelectedIndex, onSelect, onClose],\n );\n\nexport const useCommandPalette = (props: ResolvedCommandProps) => {\n const { open, items, value, autoFocus, customFilter } = props;\n const { onValueChange, onSelect, onOpenChange, closeOnSelect } = props;\n\n const [internalValue, setInternalValue] = useState(value);\n const [selectedIndex, setSelectedIndex] = useState(0);\n useAutoFocus(open, autoFocus);\n\n useEffect(() => {\n setInternalValue(value);\n }, [value]);\n\n const handleValueChange = useCallback(\n (newValue: string) => {\n setInternalValue(newValue);\n onValueChange?.(newValue);\n setSelectedIndex(0);\n },\n [onValueChange],\n );\n\n const filteredItems = useFilteredItems(items, internalValue, customFilter);\n\n // Arrow keys and Enter address the enabled items only, so a disabled row never\n // becomes the highlighted one.\n const selectableItems = useMemo(\n () => filteredItems.filter((item) => !item.disabled),\n [filteredItems],\n );\n\n const handleSelect = useCallback(\n (item: CommandItem) => {\n if (item.disabled) return;\n\n item.action?.();\n onSelect?.(item);\n\n if (closeOnSelect) {\n onOpenChange?.(false);\n setInternalValue('');\n }\n },\n [onSelect, onOpenChange, closeOnSelect],\n );\n\n const handleKeyDown = useKeyboardNavigation({\n items: selectableItems,\n selectedIndex,\n setSelectedIndex,\n onSelect: handleSelect,\n onClose: () => onOpenChange?.(false),\n });\n\n return {\n internalValue,\n filteredItems,\n highlightedId: selectableItems[selectedIndex]?.id,\n handleValueChange,\n handleSelect,\n handleKeyDown,\n };\n};\n"],"mappings":";AAAA,SAAgB,aAAa,WAAW,SAAS,QAAQ,gBAAgB;AA0BzE,IAAM,mBAA6D;AAAA,EACjE,MAAM;AAAA,EACN,OAAO,CAAC;AAAA,EACR,aAAa;AAAA,EACb,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,SAAS;AAAA,EACT,UAAU;AAAA,EACV,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,eAAe;AACjB;AAIA,IAAM,eAAe,CAAC,UACpB,OAAO;AAAA,EACL,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,UAAU,MAAS;AACjE;AAEK,IAAM,sBAAsB,CAAC,WACjC,EAAE,GAAG,kBAAkB,GAAG,aAAa,KAAK,EAAE;AAGjD,IAAM,UAAU,CAAC,MAAmB,WAA4B;AAC9D,QAAM,gBAAgB;AAAA,IACpB,KAAK,MAAM,YAAY;AAAA,IACvB,KAAK,aAAa,YAAY;AAAA,IAC9B,IAAI,KAAK,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;AAAA,EACrD;AACA,SAAO,cAAc,KAAK,CAAC,WAAW,QAAQ,SAAS,MAAM,CAAC;AAChE;AAEA,IAAM,mBAAmB,CACvB,OACA,QACA,iBAEA,QAAQ,MAAM;AACZ,MAAI,CAAC,OAAQ,QAAO;AAEpB,MAAI,cAAc;AAChB,WAAO,MAAM,OAAO,CAAC,SAAS,aAAa,MAAM,MAAM,CAAC;AAAA,EAC1D;AAEA,QAAM,cAAc,OAAO,YAAY;AACvC,SAAO,MAAM,OAAO,CAAC,SAAS,QAAQ,MAAM,WAAW,CAAC;AAC1D,GAAG,CAAC,OAAO,QAAQ,YAAY,CAAC;AAQlC,IAAM,eAAe,CAAC,MAAe,cAAuB;AAC1D,QAAM,WAAW,OAAyB,IAAI;AAE9C,YAAU,MAAM;AACd,QAAI,QAAQ,WAAW;AACrB,aAAO,WAAW,MAAM,SAAS,SAAS,MAAM,GAAG,GAAG;AAAA,IACxD;AAAA,EACF,GAAG,CAAC,MAAM,SAAS,CAAC;AACtB;AAWA,IAAM,wBAAwB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE;AAAA,EACE,CAAC,MAA2B;AAC1B,UAAM,OAAO,CAAC,UAAkB;AAC9B,QAAE,eAAe;AACjB,uBAAiB,CAAC,UAAU,OAAO,QAAQ,MAAM,UAAU,MAAM,MAAM;AAAA,IACzE;AAEA,YAAQ,EAAE,KAAK;AAAA,MACb,KAAK;AACH,eAAO,KAAK,CAAC;AAAA,MACf,KAAK;AACH,eAAO,KAAK,EAAE;AAAA,MAChB,KAAK;AACH,UAAE,eAAe;AACjB,YAAI,MAAM,aAAa,GAAG;AACxB,mBAAS,MAAM,aAAa,CAAC;AAAA,QAC/B;AACA;AAAA,MACF,KAAK;AACH,UAAE,eAAe;AACjB,gBAAQ;AACR;AAAA,MACF;AACE;AAAA,IACJ;AAAA,EACF;AAAA,EACA,CAAC,OAAO,eAAe,kBAAkB,UAAU,OAAO;AAC5D;AAEK,IAAM,oBAAoB,CAAC,UAAgC;AAChE,QAAM,EAAE,MAAM,OAAO,OAAO,WAAW,aAAa,IAAI;AACxD,QAAM,EAAE,eAAe,UAAU,cAAc,cAAc,IAAI;AAEjE,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,KAAK;AACxD,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,CAAC;AACpD,eAAa,MAAM,SAAS;AAE5B,YAAU,MAAM;AACd,qBAAiB,KAAK;AAAA,EACxB,GAAG,CAAC,KAAK,CAAC;AAEV,QAAM,oBAAoB;AAAA,IACxB,CAAC,aAAqB;AACpB,uBAAiB,QAAQ;AACzB,sBAAgB,QAAQ;AACxB,uBAAiB,CAAC;AAAA,IACpB;AAAA,IACA,CAAC,aAAa;AAAA,EAChB;AAEA,QAAM,gBAAgB,iBAAiB,OAAO,eAAe,YAAY;AAIzE,QAAM,kBAAkB;AAAA,IACtB,MAAM,cAAc,OAAO,CAAC,SAAS,CAAC,KAAK,QAAQ;AAAA,IACnD,CAAC,aAAa;AAAA,EAChB;AAEA,QAAM,eAAe;AAAA,IACnB,CAAC,SAAsB;AACrB,UAAI,KAAK,SAAU;AAEnB,WAAK,SAAS;AACd,iBAAW,IAAI;AAEf,UAAI,eAAe;AACjB,uBAAe,KAAK;AACpB,yBAAiB,EAAE;AAAA,MACrB;AAAA,IACF;AAAA,IACA,CAAC,UAAU,cAAc,aAAa;AAAA,EACxC;AAEA,QAAM,gBAAgB,sBAAsB;AAAA,IAC1C,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,SAAS,MAAM,eAAe,KAAK;AAAA,EACrC,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,eAAe,gBAAgB,aAAa,GAAG;AAAA,IAC/C;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/ContentToolbar/ColumnsMenu.tsx"],"sourcesContent":["'use client';\n\nimport ColumnsIcon from '@mui/icons-material/ViewColumnRounded';\nimport Box from '@mui/material/Box/index.js';\nimport Checkbox from '@mui/material/Checkbox/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport ListSubheader from '@mui/material/ListSubheader/index.js';\nimport Menu from '@mui/material/Menu/index.js';\nimport MenuItem from '@mui/material/MenuItem/index.js';\nimport React, { useState } from 'react';\n\nimport type { ColumnVisibilityOption, ColumnsMenuProps } from './ContentToolbar.types';\nimport { fieldRadiusPx } from '../../../tokens/field-radius';\nimport { fieldHeight } from '../../../tokens/field-height';\nimport { sxRem } from '../../../tokens/relative';\n\n/** One column checkbox row; toggling never closes the menu. */\nfunction ColumnRow({\n option,\n onToggle,\n testId,\n}: {\n option: ColumnVisibilityOption;\n onToggle: (id: string, visible: boolean) => void;\n testId?: string;\n}): React.JSX.Element {\n return (\n <MenuItem\n data-testid={testId}\n onClick={() => onToggle(option.id, !option.visible)}\n disabled={option.locked}\n sx={{ gap: 1 }}\n >\n <Checkbox\n checked={option.visible}\n size=\"small\"\n disableRipple\n sx={{ p: 0, pointerEvents: 'none' }}\n tabIndex={-1}\n />\n <Box component=\"span\" sx={{ flex: 1, minWidth: 0, textAlign: 'left' }}>\n {option.label}\n </Box>\n </MenuItem>\n );\n}\n\n/**\n * Stateless column-visibility selector: a neutral icon button (matching\n * {@link FilterTrigger}/{@link SortByDropdown}) opening a checkbox list of the\n * hideable columns. Purely presentational — the caller owns the visibility state\n * and is notified via `onToggle`. The menu stays open while toggling so several\n * columns can be flipped at once.\n */\nexport function ColumnsMenu({\n columns,\n onToggle,\n title = 'Columns',\n ariaLabel = 'Toggle columns',\n 'data-testid': testId,\n}: ColumnsMenuProps): React.JSX.Element {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const open = Boolean(anchorEl);\n const close = (): void => setAnchorEl(null);\n\n return (\n <>\n <IconButton\n size=\"small\"\n data-testid={testId}\n aria-label={ariaLabel}\n aria-haspopup=\"menu\"\n aria-expanded={open}\n onClick={(event) => setAnchorEl(event.currentTarget)}\n sx={{\n width: fieldHeight,\n height: fieldHeight,\n borderRadius: fieldRadiusPx,\n color: 'text.secondary',\n bgcolor: open ? 'action.selected' : 'transparent',\n }}\n >\n <ColumnsIcon sx={{ fontSize: sxRem(16) }} />\n </IconButton>\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={close}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\n slotProps={{ paper: { sx: { minWidth: sxRem(200) } } }}\n >\n <ListSubheader sx={{ px: 1.5, py: 0.75, fontSize: sxRem(12), fontWeight: 600, color: 'text.primary', lineHeight: 1.5 }}>\n {title}\n </ListSubheader>\n {columns.map((option) => (\n <ColumnRow\n key={option.id}\n option={option}\n onToggle={onToggle}\n testId={testId ? `${testId}-${option.id}` : undefined}\n />\n ))}\n </Menu>\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;AAEA,OAAO,iBAAiB;AACxB,OAAO,SAAS;AAChB,OAAO,cAAc;AACrB,OAAO,gBAAgB;AACvB,OAAO,mBAAmB;AAC1B,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,SAAgB,gBAAgB;AAkB5B,SAuCA,UAjCE,KANF;AAVJ,SAAS,UAAU;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AACF,GAIsB;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa;AAAA,MACb,SAAS,MAAM,SAAS,OAAO,IAAI,CAAC,OAAO,OAAO;AAAA,MAClD,UAAU,OAAO;AAAA,MACjB,IAAI,EAAE,KAAK,EAAE;AAAA,MAEb;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,SAAS,OAAO;AAAA,YAChB,MAAK;AAAA,YACL,eAAa;AAAA,YACb,IAAI,EAAE,GAAG,GAAG,eAAe,OAAO;AAAA,YAClC,UAAU;AAAA;AAAA,QACZ;AAAA,QACA,oBAAC,OAAI,WAAU,QAAO,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,OAAO,GACjE,iBAAO,OACV;AAAA;AAAA;AAAA,EACF;AAEJ;AASO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,eAAe;AACjB,GAAwC;AACtC,QAAM,CAAC,UAAU,WAAW,IAAI,SAA6B,IAAI;AACjE,QAAM,OAAO,QAAQ,QAAQ;AAC7B,QAAM,QAAQ,MAAY,YAAY,IAAI;AAE1C,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,eAAa;AAAA,QACb,cAAY;AAAA,QACZ,iBAAc;AAAA,QACd,iBAAe;AAAA,QACf,SAAS,CAAC,UAAU,YAAY,MAAM,aAAa;AAAA,QACnD,IAAI;AAAA,UACF,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,OAAO;AAAA,UACP,SAAS,OAAO,oBAAoB;AAAA,QACtC;AAAA,QAEA,8BAAC,eAAY,IAAI,EAAE,UAAU,MAAM,EAAE,EAAE,GAAG;AAAA;AAAA,IAC5C;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,cAAc,EAAE,UAAU,UAAU,YAAY,QAAQ;AAAA,QACxD,iBAAiB,EAAE,UAAU,OAAO,YAAY,QAAQ;AAAA,QACxD,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,MAAM,GAAG,EAAE,EAAE,EAAE;AAAA,QAErD;AAAA,8BAAC,iBAAc,IAAI,EAAE,IAAI,KAAK,IAAI,MAAM,UAAU,MAAM,EAAE,GAAG,YAAY,KAAK,OAAO,gBAAgB,YAAY,IAAI,GAClH,iBACH;AAAA,UACC,QAAQ,IAAI,CAAC,WACZ;AAAA,YAAC;AAAA;AAAA,cAEC;AAAA,cACA;AAAA,cACA,QAAQ,SAAS,GAAG,MAAM,IAAI,OAAO,EAAE,KAAK;AAAA;AAAA,YAHvC,OAAO;AAAA,UAId,CACD;AAAA;AAAA;AAAA,IACH;AAAA,KACF;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/feedback/Sonner/Sonner.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport Portal from '@mui/material/Portal/index.js';\nimport React, { createContext, useCallback, useContext, useRef,useState, useMemo } from 'react';\n\nimport { rem, sxRem } from '../../../tokens/relative';\n\nimport type { SonnerContextType, SonnerItem,SonnerProps } from './Sonner.types';\n\nconst SonnerContext = createContext<SonnerContextType | null>(null);\n\nconst DEFAULT_DURATION_MS = 4000;\n\nconst buildToastItem = (\n toast: Omit<SonnerProps, 'id'>,\n id: string,\n type?: SonnerProps['type'],\n): SonnerItem => ({\n ...toast,\n id,\n type: type || toast.type || 'default',\n createdAt: Date.now(),\n visible: true });\n\n// Persistent toasts and `duration: 0` stay until dismissed explicitly.\nconst scheduleAutoDismiss = (\n toast: Omit<SonnerProps, 'id'>,\n id: string,\n dismiss: (id?: string) => void,\n) => {\n if (toast.persistent || toast.duration === 0) return;\n\n window.setTimeout(() => dismiss(id), toast.duration ?? DEFAULT_DURATION_MS);\n};\n\nconst EXIT_TRANSITION_MS = 300;\n\ntype SonnerPromiseOptions<T> = {\n loading: React.ReactNode;\n success: React.ReactNode | ((data: T) => React.ReactNode);\n error: React.ReactNode | ((error: Error) => React.ReactNode);\n};\n\nconst resolveMessage = <T,>(\n message: React.ReactNode | ((value: T) => React.ReactNode),\n value: T,\n): React.ReactNode => (typeof message === 'function' ? message(value) : message);\n\n// Shows a pinned loading toast for the life of a promise, then swaps it for a\n// success or error one. Takes the shortcuts it needs rather than reaching for\n// context, so it is testable on its own.\nconst trackPromiseWithToasts = async <T,>(\n promiseToResolve: Promise<T>,\n options: SonnerPromiseOptions<T>,\n toasts: {\n loading: (message: React.ReactNode) => string;\n success: (message: React.ReactNode) => string;\n error: (message: React.ReactNode) => string;\n dismiss: (id?: string) => void;\n },\n): Promise<T> => {\n const toastId = toasts.loading(options.loading);\n\n try {\n const data = await promiseToResolve;\n toasts.dismiss(toastId);\n toasts.success(resolveMessage(options.success, data));\n return data;\n } catch (err) {\n toasts.dismiss(toastId);\n toasts.error(resolveMessage(options.error, err instanceof Error ? err : new Error(String(err))));\n throw err;\n }\n};\n\nexport const SonnerProvider: React.FC<{\n children: React.ReactNode;\n /**\n * The dismiss button's accessible name, for every toast this provider\n * raises. REQUIRED and mounted ONCE — the shortcut helpers\n * (`sonner.success(…)`) take a message and nothing else by design, so the\n * word cannot be a per-call argument without changing what they are for.\n */\n dismissLabel: string;\n}> = ({ children, dismissLabel }) => {\n const [toasts, setToasts] = useState<SonnerItem[]>([]);\n const toastCounter = useRef(0);\n\n // Hide first, then drop after the exit transition. Passing no id targets every\n // toast; the two branches only differ in which toasts they match, so that is\n // the only thing that varies here.\n const dismiss = useCallback((id?: string) => {\n const matches = (toast: SonnerItem) => id === undefined || toast.id === id;\n\n setToasts((prev) =>\n prev.map((toast) => (matches(toast) ? { ...toast, visible: false } : toast)),\n );\n\n window.setTimeout(() => {\n setToasts((prev) => prev.filter((toast) => !matches(toast)));\n }, EXIT_TRANSITION_MS);\n }, []);\n\n const addToast = useCallback(\n (toast: Omit<SonnerProps, 'id'>, type?: SonnerProps['type']): string => {\n const id = `sonner-${++toastCounter.current}`;\n setToasts((prev) => [...prev, buildToastItem(toast, id, type)]);\n scheduleAutoDismiss(toast, id, dismiss);\n return id;\n },\n [dismiss],\n );\n\n // The six shortcuts differ only by the type they tag and, for loading, by\n // pinning persistent. Built from one factory rather than six near-identical\n // useCallback blocks.\n const makeShortcut = useCallback(\n (type: SonnerProps['type'], extra?: Partial<SonnerProps>) =>\n (message: React.ReactNode, options?: Partial<SonnerProps>) =>\n addToast({ dismissLabel, ...options, ...extra, title: message }, type),\n [addToast],\n );\n\n const toast = useMemo(() => makeShortcut('default'), [makeShortcut]);\n const success = useMemo(() => makeShortcut('success'), [makeShortcut]);\n const error = useMemo(() => makeShortcut('error'), [makeShortcut]);\n const warning = useMemo(() => makeShortcut('warning'), [makeShortcut]);\n const info = useMemo(() => makeShortcut('info'), [makeShortcut]);\n const loading = useMemo(\n () => makeShortcut('loading', { persistent: true }),\n [makeShortcut],\n );\n\n const promise = useCallback(\n <T,>(promiseToResolve: Promise<T>, options: SonnerPromiseOptions<T>): Promise<T> =>\n trackPromiseWithToasts(promiseToResolve, options, { loading, success, error, dismiss }),\n [loading, success, error, dismiss],\n );\n\n const contextValue: SonnerContextType = {\n toast,\n success,\n error,\n warning,\n info,\n loading,\n dismiss,\n promise };\n\n // Register this context globally for imperative API\n useRegisterGlobalToast(contextValue);\n\n return (\n <SonnerContext.Provider value={contextValue}>\n {children}\n <SonnerToaster toasts={toasts} onDismiss={dismiss} />\n </SonnerContext.Provider>\n );\n};\n\nexport const useSonner = (): SonnerContextType => {\n const context = useContext(SonnerContext);\n if (!context) {\n throw new Error('useSonner must be used within a SonnerProvider');\n }\n return context;\n};\n\n// A caller-supplied icon always wins; otherwise the type picks one.\nimport { SonnerToast } from './SonnerToast';\n\nconst SonnerToaster: React.FC<{\n toasts: SonnerItem[];\n onDismiss: (id: string) => void;\n}> = ({ toasts, onDismiss }) => {\n // Limit visible toasts to prevent overflow\n const MAX_VISIBLE_TOASTS = 5;\n const visibleToasts = toasts.slice(-MAX_VISIBLE_TOASTS);\n const hiddenCount = Math.max(0, toasts.length - MAX_VISIBLE_TOASTS);\n\n return (\n <Portal>\n <Box\n sx={{\n position: 'fixed',\n top: sxRem(16),\n right: sxRem(16),\n zIndex: 9999,\n display: 'flex',\n flexDirection: 'column',\n pointerEvents: 'none',\n maxHeight: (theme) => `calc(100vh - ${rem(theme, 32)})`,\n overflowY: 'auto',\n overflowX: 'hidden' }}\n >\n {hiddenCount > 0 && (\n <Box\n sx={{\n p: 1,\n mb: 0.5,\n textAlign: 'center',\n fontSize: sxRem(12),\n color: 'text.secondary',\n pointerEvents: 'none' }}\n >\n +{hiddenCount} more\n </Box>\n )}\n {visibleToasts.map((toast) => (\n <Box key={toast.id} sx={{ pointerEvents: 'auto' }}>\n <SonnerToast {...toast} onDismiss={onDismiss} />\n </Box>\n ))}\n </Box>\n </Portal>\n );\n};\n\n// Global toast instance for imperative API\nlet globalToastContext: SonnerContextType | null = null;\n\n// Hook to register the global context (used internally by SonnerProvider)\nexport const useRegisterGlobalToast = (context: SonnerContextType) => {\n React.useEffect(() => {\n globalToastContext = context;\n return () => {\n globalToastContext = null;\n };\n }, [context]);\n};\n\n// Create a production-ready toast instance for imperative usage\nconst createToastInstance = (): SonnerContextType => {\n const warnNoProvider = () => {\n // Use a more React-appropriate warning mechanism\n if (typeof window !== 'undefined' && window.console && window.console.warn) {\n window.console.warn('Sonner: No SonnerProvider found. Please wrap your app with SonnerProvider.');\n }\n };\n\n const methods: SonnerContextType = {\n toast: (message: React.ReactNode, options?: Partial<SonnerProps>) => {\n if (!globalToastContext) {\n warnNoProvider();\n return 'no-provider';\n }\n return globalToastContext.toast(message, options);\n },\n success: (message: React.ReactNode, options?: Partial<SonnerProps>) => {\n if (!globalToastContext) {\n warnNoProvider();\n return 'no-provider';\n }\n return globalToastContext.success(message, options);\n },\n error: (message: React.ReactNode, options?: Partial<SonnerProps>) => {\n if (!globalToastContext) {\n warnNoProvider();\n return 'no-provider';\n }\n return globalToastContext.error(message, options);\n },\n warning: (message: React.ReactNode, options?: Partial<SonnerProps>) => {\n if (!globalToastContext) {\n warnNoProvider();\n return 'no-provider';\n }\n return globalToastContext.warning(message, options);\n },\n info: (message: React.ReactNode, options?: Partial<SonnerProps>) => {\n if (!globalToastContext) {\n warnNoProvider();\n return 'no-provider';\n }\n return globalToastContext.info(message, options);\n },\n loading: (message: React.ReactNode, options?: Partial<SonnerProps>) => {\n if (!globalToastContext) {\n warnNoProvider();\n return 'no-provider';\n }\n return globalToastContext.loading(message, options);\n },\n dismiss: (id?: string) => {\n if (!globalToastContext) {\n warnNoProvider();\n return;\n }\n globalToastContext.dismiss(id);\n },\n promise: async <T,>(\n promiseToResolve: Promise<T>,\n options: {\n loading: React.ReactNode;\n success: React.ReactNode | ((data: T) => React.ReactNode);\n error: React.ReactNode | ((error: Error) => React.ReactNode);\n },\n ): Promise<T> => {\n if (!globalToastContext) {\n warnNoProvider();\n throw new Error('No SonnerProvider found');\n }\n return globalToastContext.promise(promiseToResolve, options);\n } };\n\n return methods;\n};\n\n// Export toast instance for imperative API usage\nexport const toast = createToastInstance();\n\n// Export Toaster as alias for SonnerProvider for stories compatibility\nexport const Toaster: React.FC<{\n children?: React.ReactNode;\n position?: string;\n theme?: string;\n expand?: boolean;\n richColors?: boolean;\n closeButton?: boolean;\n dismissLabel: string;\n}> = ({ children, dismissLabel }) => (\n <SonnerProvider dismissLabel={dismissLabel}>{children}</SonnerProvider>\n);\n"],"mappings":"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","names":["toast"]}