@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
@@ -2,7 +2,7 @@ import {
2
2
  MoreGroup,
3
3
  MoreQuick,
4
4
  fieldClearing
5
- } from "./chunk-7P5PNRBT.js";
5
+ } from "./chunk-ZDBG7QG2.js";
6
6
  import {
7
7
  useDataViewsCopy
8
8
  } from "./chunk-KHG57NAE.js";
@@ -193,4 +193,4 @@ function MoreFilters({
193
193
  export {
194
194
  MoreFilters
195
195
  };
196
- //# sourceMappingURL=chunk-GSXYXMCV.js.map
196
+ //# sourceMappingURL=chunk-DD3VFDB2.js.map
@@ -1,6 +1,11 @@
1
+ import {
2
+ AVATAR_DEFAULTS,
3
+ contentTypeOf,
4
+ pickAvatarContent
5
+ } from "./chunk-3ZVUNSFF.js";
1
6
  import {
2
7
  AvatarView
3
- } from "./chunk-7XSCEHGA.js";
8
+ } from "./chunk-EOQ6EKTS.js";
4
9
  import {
5
10
  BORDER_WIDTH,
6
11
  GROUP_HOVER,
@@ -8,10 +13,8 @@ import {
8
13
  GROUP_OVERLAP
9
14
  } from "./chunk-6ZZGK5DT.js";
10
15
  import {
11
- AVATAR_DEFAULTS,
12
- contentTypeOf,
13
- pickAvatarContent
14
- } from "./chunk-3ZVUNSFF.js";
16
+ EN_US_UI_LABELS
17
+ } from "./chunk-O2RXSXSF.js";
15
18
  import {
16
19
  rem
17
20
  } from "./chunk-YKCAJ2TN.js";
@@ -119,7 +122,7 @@ function useAvatarModel(raw, ref) {
119
122
  clickable: interactive || !!onClick,
120
123
  imgSrc: imageError ? void 0 : src,
121
124
  alt,
122
- ariaLabel: rest["aria-label"] || alt || "Avatar",
125
+ ariaLabel: rest["aria-label"] || alt || EN_US_UI_LABELS.avatar.name,
123
126
  content,
124
127
  contentType,
125
128
  className,
@@ -175,4 +178,4 @@ export {
175
178
  Avatar,
176
179
  AvatarGroup
177
180
  };
178
- //# sourceMappingURL=chunk-KARMRTTM.js.map
181
+ //# sourceMappingURL=chunk-DE2GWZ6X.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/Avatar/Avatar.tsx"],"sourcesContent":["import BrokenImage from '@mui/icons-material/BrokenImage';\nimport Person from '@mui/icons-material/Person';\nimport { styled } from '@mui/material/styles/index.js';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport {\n AVATAR_DEFAULTS,\n contentTypeOf,\n pickAvatarContent,\n type AvatarContentPick,\n} from './Avatar.helpers';\nimport { GROUP_MAX, GROUP_OVERLAP, GROUP_HOVER, BORDER_WIDTH } from './Avatar.metrics';\nimport type { AvatarProps, ContentType } from './Avatar.types';\nimport { rem } from '../../../tokens/relative';\nimport { AvatarView, type AvatarViewProps } from './Avatar.view';\nimport { EN_US_UI_LABELS } from '../../../en-US.labels';\n\n/** The node behind the winning content slot; the pick itself is shared. */\nfunction resolveContent(args: {\n children?: React.ReactNode;\n fallback?: React.ReactNode;\n icon?: React.ReactNode;\n imageError: boolean;\n showFallbackOnError: boolean;\n}): { content: React.ReactNode; contentType: ContentType } {\n const { children, fallback, icon, imageError, showFallbackOnError } = args;\n const pick = pickAvatarContent({\n hasChildren: Boolean(children),\n hasFallback: Boolean(fallback),\n hasIcon: Boolean(icon),\n imageError,\n showFallbackOnError,\n });\n const NODES: Record<AvatarContentPick, React.ReactNode> = {\n children,\n fallback,\n icon,\n broken: <BrokenImage />,\n default: <Person />,\n };\n return { content: NODES[pick], contentType: contentTypeOf(pick) };\n}\n\n/** Fades the avatar in after `animationDelay`ms. */\nfunction useMountedFade(animationDelay: number): boolean {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n const timer = window.setTimeout(() => setMounted(true), animationDelay);\n return () => window.clearTimeout(timer);\n }, [animationDelay]);\n return mounted;\n}\n\ninterface ImageState {\n imageError: boolean;\n imageLoading: boolean;\n handleImageError: React.ReactEventHandler;\n handleImageLoad: () => void;\n}\n\n/**\n * Tracks the `<img>` load lifecycle. `imageLoading` starts true whenever there is\n * a `src` and clears on load/error — the handlers must be wired to the actual img\n * (via `slotProps.img` in the view), since load/error don't bubble to the root.\n */\nfunction useImageState(src: string | undefined, onError?: React.ReactEventHandler): ImageState {\n const [imageError, setImageError] = useState(false);\n const [imageLoading, setImageLoading] = useState(!!src);\n\n useEffect(() => {\n setImageError(false);\n setImageLoading(!!src);\n }, [src]);\n\n const handleImageError = useCallback<React.ReactEventHandler>(\n (event) => {\n setImageError(true);\n setImageLoading(false);\n onError?.(event);\n },\n [onError],\n );\n\n const handleImageLoad = useCallback(() => setImageLoading(false), []);\n\n return { imageError, imageLoading, handleImageError, handleImageLoad };\n}\n\n/** Normalizes props (defaults + rest passthrough) and derives everything the view needs. */\nfunction useAvatarModel(raw: AvatarProps, ref: React.Ref<HTMLDivElement>): AvatarViewProps {\n const {\n variant,\n size,\n glow,\n pulse,\n status,\n fallback,\n icon,\n bordered,\n color,\n src,\n alt,\n children,\n loading,\n onError,\n onClick,\n interactive,\n showFallbackOnError,\n animationDelay,\n className,\n dataTestId,\n // React Native's spelling of the same id; it names the component on both\n // sides and must not reach the DOM as an attribute.\n testID,\n ...rest\n } = { ...AVATAR_DEFAULTS, ...raw };\n\n const mounted = useMountedFade(animationDelay);\n const { imageError, imageLoading, handleImageError, handleImageLoad } = useImageState(src, onError);\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => onClick?.(event),\n [onClick],\n );\n const { content, contentType } = resolveContent({\n children,\n fallback,\n icon,\n imageError,\n showFallbackOnError,\n });\n\n return {\n mounted,\n variant,\n size,\n color,\n glow,\n pulse,\n bordered,\n showSpinner: loading || imageLoading,\n imageError,\n clickable: interactive || !!onClick,\n imgSrc: imageError ? undefined : src,\n alt,\n ariaLabel: (rest['aria-label'] as string) || alt || EN_US_UI_LABELS.avatar.name,\n content,\n contentType,\n className,\n dataTestId: testID ?? dataTestId,\n status,\n forwardedRef: ref,\n onClick: handleClick,\n handleImageError,\n handleImageLoad,\n rest,\n };\n}\n\nexport const Avatar = React.forwardRef<HTMLDivElement, AvatarProps>((props, ref) => (\n <AvatarView {...useAvatarModel(props, ref)} />\n));\n\nAvatar.displayName = 'Avatar';\n\nconst AvatarGroupContainer = styled('div')<{ overlap?: number }>(({ theme, overlap = GROUP_OVERLAP }) => ({\n display: 'flex',\n alignItems: 'center',\n '& > *': {\n marginLeft: rem(theme, -overlap),\n transition: 'all 0.3s ease',\n position: 'relative',\n border: `${rem(theme, BORDER_WIDTH)} solid ${theme.palette.background.paper}`,\n '&:hover': {\n zIndex: 100,\n transform: `scale(${GROUP_HOVER.scale}) translateY(${rem(theme, -GROUP_HOVER.lift)})`,\n },\n '&:first-of-type': {\n marginLeft: 0,\n },\n },\n}));\n\n// Export AvatarGroup for grouped avatars\nexport const AvatarGroup: React.FC<{\n children: React.ReactNode;\n max?: number;\n overlap?: number;\n className?: string;\n dataTestId?: string;\n}> = ({ children, max = GROUP_MAX, overlap = GROUP_OVERLAP, className, dataTestId }) => {\n const childrenArray = React.Children.toArray(children);\n const visibleChildren = max ? childrenArray.slice(0, max) : childrenArray;\n const remainingCount = childrenArray.length - visibleChildren.length;\n\n return (\n <AvatarGroupContainer overlap={overlap} className={className} data-testid={dataTestId}>\n {visibleChildren}\n {remainingCount > 0 && (\n <Avatar\n size={(visibleChildren[0] as React.ReactElement<AvatarProps>)?.props?.size || 'md'}\n color=\"neutral\"\n fallback={`+${remainingCount}`}\n bordered\n dataTestId={dataTestId ? `${dataTestId}-overflow` : undefined}\n />\n )}\n </AvatarGroupContainer>\n );\n};\n\nAvatarGroup.displayName = 'AvatarGroup';\n"],"mappings":"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","names":[]}
@@ -1,3 +1,6 @@
1
+ import {
2
+ EN_US_TUTORIAL_COPY
3
+ } from "./chunk-ETSASQXI.js";
1
4
  import {
2
5
  onMedia,
3
6
  uiInk
@@ -53,7 +56,9 @@ var TutorialStepNav = ({
53
56
  {
54
57
  direction: "row",
55
58
  spacing: 1,
59
+ useFlexGap: true,
56
60
  justifyContent: "space-between",
61
+ sx: (theme) => ({ flexWrap: "wrap", [theme.breakpoints.up("sm")]: { flexWrap: "nowrap" } }),
57
62
  "data-testid": "tutorial-navigation",
58
63
  children: [
59
64
  /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, children: [
@@ -69,7 +74,7 @@ var TutorialStepNav = ({
69
74
  }
70
75
  )
71
76
  ] }),
72
- /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, children: [
77
+ /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, sx: { ml: "auto" }, children: [
73
78
  stepCount > 1 && currentStep > 0 && /* @__PURE__ */ jsx(
74
79
  Button,
75
80
  {
@@ -124,7 +129,7 @@ var StepDots = ({
124
129
  },
125
130
  index
126
131
  )) });
127
- var TutorialStepHeader = ({ title, currentStep, allowSkip, onSkip }) => /* @__PURE__ */ jsxs(
132
+ var TutorialStepHeader = ({ title, currentStep, allowSkip, closeLabel, onSkip }) => /* @__PURE__ */ jsxs(
128
133
  Box,
129
134
  {
130
135
  sx: { display: "flex", justifyContent: "space-between", alignItems: "flex-start" },
@@ -146,6 +151,7 @@ var TutorialStepHeader = ({ title, currentStep, allowSkip, onSkip }) => /* @__PU
146
151
  size: "small",
147
152
  onClick: onSkip,
148
153
  sx: { ml: 1, mt: -1, mr: -1 },
154
+ "aria-label": closeLabel,
149
155
  "data-testid": "tutorial-close-button",
150
156
  children: /* @__PURE__ */ jsx(CloseIcon, { fontSize: "small" })
151
157
  }
@@ -174,6 +180,7 @@ var TutorialStepBody = ({
174
180
  title: step.title,
175
181
  currentStep,
176
182
  allowSkip,
183
+ closeLabel: copy.close ?? EN_US_TUTORIAL_COPY.close,
177
184
  onSkip
178
185
  }
179
186
  ),
@@ -187,11 +194,7 @@ var TutorialStepBody = ({
187
194
  children: step.content
188
195
  }
189
196
  ),
190
- showProgress && /* @__PURE__ */ jsxs(Typography, { variant: "caption", color: "text.secondary", align: "center", children: [
191
- currentStep + 1,
192
- " of ",
193
- stepCount
194
- ] }),
197
+ showProgress && /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "text.secondary", align: "center", children: (copy.progress ?? EN_US_TUTORIAL_COPY.progress)(currentStep + 1, stepCount) }),
195
198
  step.action && /* @__PURE__ */ jsx(
196
199
  Button,
197
200
  {
@@ -226,4 +229,4 @@ var TutorialStepBody = ({
226
229
  export {
227
230
  TutorialStepBody
228
231
  };
229
- //# sourceMappingURL=chunk-FT6HBP5E.js.map
232
+ //# sourceMappingURL=chunk-DE7E2GBP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/feedback/TutorialOverlay/TutorialStepBody.tsx"],"sourcesContent":["import { EN_US_TUTORIAL_COPY } from '../../../en-US.feedback';\nimport CompleteIcon from '@mui/icons-material/CheckCircle';\nimport CloseIcon from '@mui/icons-material/Close';\nimport PrevIcon from '@mui/icons-material/NavigateBefore';\nimport NextIcon from '@mui/icons-material/NavigateNext';\nimport RestartIcon from '@mui/icons-material/Refresh';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Stack from '@mui/material/Stack/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport React, { } from 'react';\n\nimport { onMedia, uiInk } from '../../../tokens/ink';\nimport { rem } from '../../../tokens/relative';\n\nimport type { TutorialOverlayProps } from './TutorialOverlay.types';\nimport type { TutorialCopy } from '../../../copy';\n\n// Animation keyframes\n\nconst StepIndicator = styled(Box)(({ theme }) => ({\n display: 'flex',\n gap: theme.spacing(1),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2) }));\n\n\nconst StepDot = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'active' && prop !== 'completed' })<{ active?: boolean; completed?: boolean }>(({ theme, active, completed }) => ({\n width: rem(theme, 8),\n height: rem(theme, 8),\n borderRadius: '50%',\n background: completed\n ? theme.palette.success.main\n : active\n ? theme.palette.primary.main\n : alpha(theme.palette.text.primary, 0.3),\n transition: 'all 0.3s ease',\n ...(active && {\n transform: 'scale(1.5)' }) }));\n\n// Title, body copy, the step dots and the navigation row.\n\n// The step's controls: skip/restart on the left, previous/next on the right.\n// On a phone the row wraps rather than widening the card past the screen, and\n// the second group keeps to the right edge when it drops to its own line. From\n// `sm` up it stays one row, as it always was.\nconst TutorialStepNav: React.FC<{\n copy: TutorialCopy;\n currentStep: number;\n stepCount: number;\n isLastStep: boolean;\n allowSkip: boolean;\n requiresActionBeforeNext?: boolean;\n onNext: () => void;\n onPrev: () => void;\n onSkip: () => void;\n onRestart: () => void;\n}> = ({\n copy,\n currentStep,\n stepCount,\n isLastStep,\n allowSkip,\n requiresActionBeforeNext,\n onNext,\n onPrev,\n onSkip,\n onRestart }) => (\n <Stack\n direction=\"row\"\n spacing={1}\n useFlexGap\n justifyContent=\"space-between\"\n sx={(theme) => ({ flexWrap: 'wrap', [theme.breakpoints.up('sm')]: { flexWrap: 'nowrap' } })}\n data-testid=\"tutorial-navigation\"\n >\n <Stack direction=\"row\" spacing={1}>\n {allowSkip && (\n <Button size=\"small\" onClick={onSkip} variant=\"text\">\n {copy.skip}\n </Button>\n )}\n {stepCount > 1 && (\n <IconButton\n size=\"small\"\n onClick={onRestart}\n disabled={currentStep === 0}\n title={copy.restart}\n >\n <RestartIcon fontSize=\"small\" />\n </IconButton>\n )}\n </Stack>\n\n <Stack direction=\"row\" spacing={1} sx={{ ml: 'auto' }}>\n {stepCount > 1 && currentStep > 0 && (\n <Button\n size=\"small\"\n startIcon={<PrevIcon />}\n onClick={onPrev}\n disabled={currentStep === 0}\n data-testid=\"tutorial-prev-button\"\n >\n {copy.previous}\n </Button>\n )}\n\n {!isLastStep ? (\n <Button\n variant=\"contained\"\n size=\"small\"\n endIcon={<NextIcon />}\n onClick={onNext}\n disabled={requiresActionBeforeNext}\n title={requiresActionBeforeNext ? copy.requiresAction : ''}\n data-testid=\"tutorial-next-button\"\n >\n {copy.next}\n </Button>\n ) : (\n <Button\n variant=\"contained\"\n size=\"small\"\n endIcon={<CompleteIcon />}\n onClick={onNext}\n sx={(theme) => {\n const [from, to] = uiInk(theme).celebration.mint;\n return { background: `linear-gradient(135deg, ${from} 0%, ${to} 100%)` };\n }}\n data-testid=\"tutorial-finish-button\"\n >\n {stepCount === 1 ? copy.complete : copy.finish}\n </Button>\n )}\n </Stack>\n </Stack>\n);\n\nconst StepDots: React.FC<{ currentStep: number; stepCount: number }> = ({\n currentStep,\n stepCount }) => (\n <StepIndicator data-testid=\"tutorial-step-indicators\">\n {Array.from({ length: stepCount }).map((_, index) => (\n <StepDot\n key={index}\n active={index === currentStep}\n completed={index < currentStep}\n data-testid={`tutorial-indicator-${index}`}\n />\n ))}\n </StepIndicator>\n);\n\n// Title, and the close button when skipping is allowed.\nconst TutorialStepHeader: React.FC<{\n title: React.ReactNode;\n currentStep: number;\n allowSkip: boolean;\n closeLabel: string;\n onSkip: () => void;\n}> = ({ title, currentStep, allowSkip, closeLabel, onSkip }) => (\n <Box\n sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start' }}\n >\n <Typography\n id={`tutorial-title-${currentStep}`}\n variant=\"h6\"\n fontWeight=\"bold\"\n sx={{ flex: 1 }}\n data-testid=\"tutorial-step-title\"\n >\n {title}\n </Typography>\n {allowSkip && (\n <IconButton\n size=\"small\"\n onClick={onSkip}\n sx={{ ml: 1, mt: -1, mr: -1 }}\n aria-label={closeLabel}\n data-testid=\"tutorial-close-button\"\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n )}\n </Box>\n);\n\nexport const TutorialStepBody: React.FC<{\n copy: TutorialCopy;\n step: TutorialOverlayProps['steps'][number];\n currentStep: number;\n stepCount: number;\n progress: number;\n isLastStep: boolean;\n allowSkip: boolean;\n showProgress: boolean;\n requiresActionBeforeNext?: boolean;\n onNext: () => void;\n onPrev: () => void;\n onSkip: () => void;\n onRestart: () => void;\n}> = ({\n copy,\n step,\n currentStep,\n stepCount,\n progress: _progress,\n isLastStep,\n allowSkip,\n showProgress,\n requiresActionBeforeNext,\n onNext,\n onPrev,\n onSkip,\n onRestart }) => (\n <Stack spacing={2}>\n <TutorialStepHeader\n title={step.title}\n currentStep={currentStep}\n allowSkip={allowSkip}\n closeLabel={copy.close ?? EN_US_TUTORIAL_COPY.close}\n onSkip={onSkip}\n />\n\n <Typography\n id={`tutorial-content-${currentStep}`}\n variant=\"body2\"\n color=\"text.secondary\"\n data-testid=\"tutorial-step-content\"\n >\n {step.content}\n </Typography>\n\n {showProgress && (\n <Typography variant=\"caption\" color=\"text.secondary\" align=\"center\">\n {(copy.progress ?? EN_US_TUTORIAL_COPY.progress)(currentStep + 1, stepCount)}\n </Typography>\n )}\n\n {step.action && (\n <Button\n variant=\"contained\"\n size=\"small\"\n onClick={step.action.onClick}\n sx={(theme) => {\n const [from, to] = uiInk(theme).celebration.violet;\n return { background: `linear-gradient(135deg, ${from} 0%, ${to} 100%)`, color: onMedia(theme) };\n }}\n >\n {step.action.label}\n </Button>\n )}\n\n <StepDots currentStep={currentStep} stepCount={stepCount} />\n\n <TutorialStepNav\n copy={copy}\n currentStep={currentStep}\n stepCount={stepCount}\n isLastStep={isLastStep}\n allowSkip={allowSkip}\n requiresActionBeforeNext={requiresActionBeforeNext}\n onNext={onNext}\n onPrev={onPrev}\n onSkip={onSkip}\n onRestart={onRestart}\n />\n </Stack>\n);\n\n// Main component\n"],"mappings":"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","names":[]}
@@ -1,3 +1,7 @@
1
+ import {
2
+ EN_US_UPLOAD_BUTTON_COPY
3
+ } from "./chunk-DVRNW33K.js";
4
+
1
5
  // src/components/form/UploadButton/UploadButton.hooks.ts
2
6
  import { useCallback, useId, useMemo, useRef, useState } from "react";
3
7
  var SIMULATED_PROGRESS_CEILING = 90;
@@ -11,18 +15,18 @@ var INITIAL_STATE = {
11
15
  uploadProgress: 0,
12
16
  error: null
13
17
  };
14
- function useFileValidator(maxSizeMB, validate) {
18
+ function useFileValidator(maxSizeMB, validate, fileTooLarge) {
15
19
  return useCallback(
16
20
  (file) => {
17
21
  if (maxSizeMB && file.size > maxSizeMB * BYTES_PER_MB) {
18
- return `File size must be less than ${maxSizeMB}MB`;
22
+ return fileTooLarge(maxSizeMB);
19
23
  }
20
24
  return validate ? validate(file) : null;
21
25
  },
22
- [maxSizeMB, validate]
26
+ [maxSizeMB, validate, fileTooLarge]
23
27
  );
24
28
  }
25
- function useUploadRunner(onUpload, externalUploading, setState) {
29
+ function useUploadRunner(onUpload, externalUploading, setState, uploadFailed) {
26
30
  return useCallback(
27
31
  async (file) => {
28
32
  if (!onUpload || externalUploading) return;
@@ -48,11 +52,11 @@ function useUploadRunner(onUpload, externalUploading, setState) {
48
52
  ...prev,
49
53
  isUploading: false,
50
54
  uploadProgress: 0,
51
- error: error instanceof Error ? error.message : "Upload failed"
55
+ error: error instanceof Error ? error.message : uploadFailed
52
56
  }));
53
57
  }
54
58
  },
55
- [onUpload, externalUploading, setState]
59
+ [onUpload, externalUploading, setState, uploadFailed]
56
60
  );
57
61
  }
58
62
  function useUploadSelection({
@@ -61,10 +65,11 @@ function useUploadSelection({
61
65
  onSelectMany,
62
66
  onUpload,
63
67
  externalUploading,
64
- validateFile
68
+ validateFile,
69
+ uploadFailed
65
70
  }) {
66
71
  const [state, setState] = useState(INITIAL_STATE);
67
- const runUpload = useUploadRunner(onUpload, externalUploading, setState);
72
+ const runUpload = useUploadRunner(onUpload, externalUploading, setState, uploadFailed);
68
73
  const selectOne = useCallback(
69
74
  (file) => {
70
75
  const error = validateFile(file);
@@ -140,18 +145,22 @@ function useUploadButton(props) {
140
145
  validate,
141
146
  helperText,
142
147
  errorText,
143
- disabled = false
148
+ disabled = false,
149
+ copy
144
150
  } = props;
145
151
  const inputRef = useRef(null);
146
152
  const inputId = `upload-button-${useId()}`;
147
- const validateFile = useFileValidator(maxSizeMB, validate);
153
+ const fileTooLarge = copy.fileTooLarge ?? EN_US_UPLOAD_BUTTON_COPY.fileTooLarge;
154
+ const uploadFailed = copy.uploadFailed ?? EN_US_UPLOAD_BUTTON_COPY.uploadFailed;
155
+ const validateFile = useFileValidator(maxSizeMB, validate, fileTooLarge);
148
156
  const { state, setDragOver, handleFiles } = useUploadSelection({
149
157
  onSelect,
150
158
  multiple,
151
159
  onSelectMany,
152
160
  onUpload,
153
161
  externalUploading,
154
- validateFile
162
+ validateFile,
163
+ uploadFailed
155
164
  });
156
165
  const drag = useDragHandlers(disabled, setDragOver, handleFiles);
157
166
  const derived = useDerivedUploadState({
@@ -196,4 +205,4 @@ function useDerivedUploadState({
196
205
  export {
197
206
  useUploadButton
198
207
  };
199
- //# sourceMappingURL=chunk-QWVETTIY.js.map
208
+ //# sourceMappingURL=chunk-DJMVBIFD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/UploadButton/UploadButton.hooks.ts"],"sourcesContent":["import { useCallback, useId, useMemo, useRef, useState } from 'react';\nimport type React from 'react';\n\nimport type { UploadButtonProps, UploadButtonState } from './UploadButton.types';\nimport { EN_US_UPLOAD_BUTTON_COPY } from '../../../en-US.form';\n\n/** The props {@link useUploadButton} reads — the component's own props. */\ntype UploadButtonHookProps = UploadButtonProps;\n\n/** Percent the simulated progress creeps to while waiting on `onUpload`. */\nconst SIMULATED_PROGRESS_CEILING = 90;\nconst SIMULATED_PROGRESS_STEP = 10;\nconst SIMULATED_PROGRESS_INTERVAL_MS = 100;\nconst PROGRESS_RESET_DELAY_MS = 1000;\nconst BYTES_PER_MB = 1024 * 1024;\n\nconst INITIAL_STATE: UploadButtonState = {\n isDragOver: false,\n isUploading: false,\n uploadProgress: 0,\n error: null,\n};\n\n/** Narrowed `setState` for the pieces below. */\ntype SetState = React.Dispatch<React.SetStateAction<UploadButtonState>>;\n\n/** The size/custom validation applied to every file, in both modes. */\nfunction useFileValidator(\n maxSizeMB: number | undefined,\n validate: ((file: globalThis.File) => string | null) | undefined,\n fileTooLarge: (maxSizeMB: number) => string,\n): (file: globalThis.File) => string | null {\n return useCallback(\n (file: globalThis.File): string | null => {\n if (maxSizeMB && file.size > maxSizeMB * BYTES_PER_MB) {\n return fileTooLarge(maxSizeMB);\n }\n return validate ? validate(file) : null;\n },\n [maxSizeMB, validate, fileTooLarge],\n );\n}\n\n/**\n * The built-in upload path, reachable from BOTH selection modes.\n *\n * Kept apart from selection because it is the only asynchronous part: left\n * inline it was single-file only, which made `onUpload` a silent no-op for a\n * multi-file caller — the worst kind of contract, since nothing fails.\n */\nfunction useUploadRunner(\n onUpload: ((file: globalThis.File) => Promise<void>) | undefined,\n externalUploading: boolean,\n setState: SetState,\n uploadFailed: string,\n): (file: globalThis.File) => Promise<void> {\n return useCallback(\n async (file: globalThis.File) => {\n if (!onUpload || externalUploading) return;\n try {\n setState((prev) => ({ ...prev, isUploading: true, uploadProgress: 0 }));\n // The real percentage is unknowable through a bare promise, so the bar\n // creeps to a ceiling and only completes when the promise does.\n const timer = globalThis.setInterval(() => {\n setState((prev) => {\n if (prev.uploadProgress >= SIMULATED_PROGRESS_CEILING) {\n globalThis.clearInterval(timer);\n return prev;\n }\n return { ...prev, uploadProgress: prev.uploadProgress + SIMULATED_PROGRESS_STEP };\n });\n }, SIMULATED_PROGRESS_INTERVAL_MS);\n\n await onUpload(file);\n\n globalThis.clearInterval(timer);\n setState((prev) => ({ ...prev, isUploading: false, uploadProgress: 100 }));\n globalThis.setTimeout(() => {\n setState((prev) => ({ ...prev, uploadProgress: 0 }));\n }, PROGRESS_RESET_DELAY_MS);\n } catch (error) {\n setState((prev) => ({\n ...prev,\n isUploading: false,\n uploadProgress: 0,\n error: error instanceof Error ? error.message : uploadFailed,\n }));\n }\n },\n [onUpload, externalUploading, setState, uploadFailed],\n );\n}\n\n/**\n * What {@link useUploadSelection} hands back. Module-private: the published\n * surface is {@link useUploadButton}, not the shape of its internals.\n */\ninterface UploadSelection {\n state: UploadButtonState;\n setDragOver: (isDragOver: boolean) => void;\n /** Route a picked/dropped selection through validation and the callbacks. */\n handleFiles: (files: globalThis.File[]) => void;\n}\n\ninterface UploadSelectionOptions {\n onSelect: (file: globalThis.File) => void;\n multiple: boolean;\n onSelectMany?: (files: globalThis.File[]) => void;\n onUpload?: (file: globalThis.File) => Promise<void>;\n externalUploading: boolean;\n validateFile: (file: globalThis.File) => string | null;\n uploadFailed: string;\n}\n\n/**\n * Selection, validation and the optional built-in upload.\n *\n * The rendering layer only reads `state` and calls `handleFiles`; every rule\n * about what a selection means lives here.\n */\nfunction useUploadSelection({\n onSelect,\n multiple,\n onSelectMany,\n onUpload,\n externalUploading,\n validateFile,\n uploadFailed,\n}: UploadSelectionOptions): UploadSelection {\n const [state, setState] = useState<UploadButtonState>(INITIAL_STATE);\n const runUpload = useUploadRunner(onUpload, externalUploading, setState, uploadFailed);\n\n const selectOne = useCallback(\n (file: globalThis.File) => {\n const error = validateFile(file);\n setState((prev) => ({ ...prev, error }));\n if (error) return;\n onSelect(file);\n void runUpload(file);\n },\n [onSelect, runUpload, validateFile],\n );\n\n /**\n * Multi-file mode is deliberately forgiving: the valid files are handed over\n * and the first rejection is reported alongside them, so dropping a folder\n * that also contains a PDF imports the rest instead of refusing the lot.\n */\n const selectMany = useCallback(\n (files: globalThis.File[], accept: (files: globalThis.File[]) => void) => {\n const accepted: globalThis.File[] = [];\n let rejection: string | null = null;\n for (const file of files) {\n const error = validateFile(file);\n if (error) rejection ??= error;\n else accepted.push(file);\n }\n setState((prev) => ({ ...prev, error: rejection }));\n if (accepted.length === 0) return;\n accept(accepted);\n // `onUpload` applies here too, one file after another, so the prop means\n // the same thing in both modes. Sequential because the progress bar is a\n // single indicator — overlapping uploads would report nonsense.\n void (async () => {\n for (const file of accepted) await runUpload(file);\n })();\n },\n [runUpload, validateFile],\n );\n\n const handleFiles = useCallback(\n (files: globalThis.File[]) => {\n if (files.length === 0) return;\n if (multiple && onSelectMany) selectMany(files, onSelectMany);\n else selectOne(files[0] as globalThis.File);\n },\n [multiple, onSelectMany, selectMany, selectOne],\n );\n\n const setDragOver = useCallback((isDragOver: boolean) => {\n setState((prev) => ({ ...prev, isDragOver }));\n }, []);\n\n return useMemo(() => ({ state, setDragOver, handleFiles }), [state, setDragOver, handleFiles]);\n}\n\n/** Drag-and-drop wiring for the dropzone variant. */\nexport interface DragHandlers {\n onDragEnter: (event: React.DragEvent) => void;\n onDragLeave: (event: React.DragEvent) => void;\n onDragOver: (event: React.DragEvent) => void;\n onDrop: (event: React.DragEvent) => void;\n}\n\nconst swallow = (event: React.DragEvent): void => {\n event.preventDefault();\n event.stopPropagation();\n};\n\nfunction useDragHandlers(\n disabled: boolean,\n setDragOver: (isDragOver: boolean) => void,\n handleFiles: (files: globalThis.File[]) => void,\n): DragHandlers {\n return {\n onDragEnter: (event) => {\n swallow(event);\n if (!disabled) setDragOver(true);\n },\n onDragLeave: (event) => {\n swallow(event);\n setDragOver(false);\n },\n onDragOver: swallow,\n onDrop: (event) => {\n swallow(event);\n setDragOver(false);\n if (!disabled) handleFiles(Array.from(event.dataTransfer.files));\n },\n };\n}\n\n/** Everything the component needs, assembled from its props in one call. */\ninterface UploadButtonKit {\n inputRef: React.RefObject<HTMLInputElement | null>;\n inputId: string;\n state: UploadButtonState;\n drag: DragHandlers;\n derived: DerivedUploadState;\n openPicker: () => void;\n handleInputChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\n/**\n * The component's whole behaviour in one hook, so the render body stays a thin\n * piece of wiring rather than a place where rules accumulate.\n */\nexport function useUploadButton(props: UploadButtonHookProps): UploadButtonKit {\n const {\n onSelect,\n multiple = false,\n onSelectMany,\n onUpload,\n uploading: externalUploading = false,\n progress: externalProgress = 0,\n maxSizeMB,\n validate,\n helperText,\n errorText,\n disabled = false,\n copy,\n } = props;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputId = `upload-button-${useId()}`;\n // The two errors the control raises itself: the host's pack, else English.\n const fileTooLarge = copy.fileTooLarge ?? EN_US_UPLOAD_BUTTON_COPY.fileTooLarge;\n const uploadFailed = copy.uploadFailed ?? EN_US_UPLOAD_BUTTON_COPY.uploadFailed;\n const validateFile = useFileValidator(maxSizeMB, validate, fileTooLarge);\n const { state, setDragOver, handleFiles } = useUploadSelection({\n onSelect,\n multiple,\n onSelectMany,\n onUpload,\n externalUploading,\n validateFile,\n uploadFailed,\n });\n const drag = useDragHandlers(disabled, setDragOver, handleFiles);\n const derived = useDerivedUploadState({\n state,\n inputId,\n externalUploading,\n externalProgress,\n errorText,\n helperText,\n });\n\n const openPicker = useCallback(() => inputRef.current?.click(), []);\n const handleInputChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n handleFiles(Array.from(event.target.files ?? []));\n // Let the same file be picked twice in a row — without this the input\n // holds the old value and re-selecting it fires no change event.\n event.target.value = '';\n },\n [handleFiles],\n );\n\n return { inputRef, inputId, state, drag, derived, openPicker, handleInputChange };\n}\n\n/** The values the render derives from props + internal state. */\ninterface DerivedUploadState {\n isUploading: boolean;\n progress: number;\n error: string | null;\n helperId?: string;\n errorId?: string;\n describedBy?: string;\n}\n\n/**\n * Fold props and internal state into what the render actually shows. External\n * state wins whenever the caller drives it.\n */\nfunction useDerivedUploadState({\n state,\n inputId,\n externalUploading,\n externalProgress,\n errorText,\n helperText,\n}: {\n state: UploadButtonState;\n inputId: string;\n externalUploading: boolean;\n externalProgress: number;\n errorText?: string;\n helperText?: string;\n}): DerivedUploadState {\n const error = errorText || state.error;\n const helperId = helperText ? `${inputId}-helper` : undefined;\n const errorId = error ? `${inputId}-error` : undefined;\n return {\n isUploading: externalUploading || state.isUploading,\n progress: externalUploading ? externalProgress : state.uploadProgress,\n error,\n helperId,\n errorId,\n describedBy: [helperId, errorId].filter(Boolean).join(' ') || undefined,\n };\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  shimmerAnimation
3
3
  } from "./chunk-IM4DMKH4.js";
4
+ import {
5
+ EN_US_UI_LABELS
6
+ } from "./chunk-O2RXSXSF.js";
4
7
  import {
5
8
  withDefaults
6
9
  } from "./chunk-HPK33ACY.js";
@@ -78,6 +81,7 @@ var SheetHandle = ({ isDraggable }) => {
78
81
  );
79
82
  };
80
83
  var HEADER_DEFAULTS = {
84
+ closeLabel: EN_US_UI_LABELS.common.close,
81
85
  isDraggable: false,
82
86
  dataTestId: "sheet-header"
83
87
  };
@@ -86,6 +90,7 @@ var SheetHeader = (props) => {
86
90
  title,
87
91
  description,
88
92
  showCloseButton,
93
+ closeLabel,
89
94
  onClose,
90
95
  showHandle,
91
96
  isDraggable,
@@ -121,6 +126,7 @@ var SheetHeader = (props) => {
121
126
  IconButton,
122
127
  {
123
128
  onClick: onClose,
129
+ "aria-label": closeLabel,
124
130
  size: "small",
125
131
  sx: { ml: 1, mt: -0.5 },
126
132
  "data-testid": `${dataTestId}-close-button`,
@@ -214,4 +220,4 @@ export {
214
220
  SheetFooter,
215
221
  SheetOverlay
216
222
  };
217
- //# sourceMappingURL=chunk-JKNKGGOG.js.map
223
+ //# sourceMappingURL=chunk-DKRMOIX2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/Sheet/Sheet.parts.tsx"],"sourcesContent":["import CloseIcon from '@mui/icons-material/Close';\nimport Backdrop from '@mui/material/Backdrop/index.js';\nimport Box from '@mui/material/Box/index.js';\nimport Divider from '@mui/material/Divider/index.js';\nimport Fade from '@mui/material/Fade/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, useTheme } from '@mui/material/styles/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { EN_US_UI_LABELS } from '../../../en-US.labels';\nimport { scrim, sheen } from '../../../tokens/ink';\nimport { rem, rems } from '../../../tokens/relative';\nimport { withDefaults } from '../../../utils/withDefaults';\n\nimport { shimmerAnimation } from './Sheet.animations';\nimport type {\n SheetContentProps,\n SheetFooterProps,\n SheetHeaderProps,\n SheetOverlayProps,\n} from './Sheet.types';\n\n/**\n * The grab handle's own styling. A draggable handle is deliberately larger and\n * tinted, so the affordance reads as draggable before the user tries it; a\n * decorative one stays a neutral bar.\n */\nconst handleSx = (theme: Theme, isDraggable: boolean) => ({\n width: rem(theme, isDraggable ? 48 : 32),\n height: rem(theme, isDraggable ? 6 : 4),\n backgroundColor: alpha(theme.palette.text.primary, 0.3),\n borderRadius: 3,\n transition: theme.transitions.create(['all'], {\n duration: theme.transitions.duration.short,\n easing: theme.transitions.easing.easeInOut,\n }),\n position: 'relative',\n overflow: 'hidden',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: '-100%',\n width: '100%',\n height: '100%',\n background: `linear-gradient(\n 90deg,\n transparent,\n ${sheen(theme, 0.3)},\n transparent\n )`,\n animation: isDraggable ? `${shimmerAnimation(theme)} 2s infinite` : 'none',\n },\n ...(isDraggable && {\n backgroundColor: alpha(theme.palette.primary.main, 0.4),\n boxShadow: `${rems(theme, 0, 2, 4)} ${alpha(theme.palette.primary.main, 0.2)}`,\n '&:hover': {\n backgroundColor: theme.palette.primary.main,\n transform: 'scaleX(1.15) scaleY(1.2)',\n boxShadow: `${rems(theme, 0, 3, 6)} ${alpha(theme.palette.primary.main, 0.3)}`,\n },\n }),\n});\n\nconst SheetHandle: React.FC<{ isDraggable: boolean }> = ({ isDraggable }) => {\n const theme = useTheme();\n\n return (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n mb: 1,\n // The handle is decoration on a draggable header: the drag listeners sit\n // on the header itself, so letting the bar swallow the press would open\n // a dead zone in the middle of the grab target.\n pointerEvents: isDraggable ? 'none' : 'auto',\n }}\n >\n <Box sx={handleSx(theme, isDraggable)} />\n </Box>\n );\n};\n\nconst HEADER_DEFAULTS: Partial<SheetHeaderProps> = {\n closeLabel: EN_US_UI_LABELS.common.close,\n isDraggable: false,\n dataTestId: 'sheet-header',\n};\n\nexport const SheetHeader: React.FC<SheetHeaderProps> = (props) => {\n const {\n title,\n description,\n showCloseButton,\n closeLabel,\n onClose,\n showHandle,\n isDraggable,\n onDragStart,\n className,\n style,\n children,\n dataTestId,\n } = withDefaults(props, HEADER_DEFAULTS);\n\n return (\n <Box\n className={className}\n data-testid={dataTestId}\n sx={{\n p: 2,\n pb: showHandle ? 1 : 2,\n cursor: isDraggable ? 'grab' : 'auto',\n '&:active': isDraggable ? { cursor: 'grabbing' } : {},\n ...style,\n }}\n onMouseDown={isDraggable ? onDragStart : undefined}\n onTouchStart={isDraggable ? onDragStart : undefined}\n >\n {showHandle && <SheetHandle isDraggable={Boolean(isDraggable)} />}\n\n <Box sx={{ display: 'flex', alignItems: 'flex-start', justifyContent: 'space-between' }}>\n <Box sx={{ flex: 1 }}>\n {title && (\n <Typography variant=\"h6\" sx={{ fontWeight: 600 }} data-testid={`${dataTestId}-title`}>\n {title}\n </Typography>\n )}\n {description && (\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ mt: 0.5 }}>\n {description}\n </Typography>\n )}\n {children}\n </Box>\n\n {showCloseButton && (\n <IconButton\n onClick={onClose}\n aria-label={closeLabel}\n size=\"small\"\n sx={{ ml: 1, mt: -0.5 }}\n data-testid={`${dataTestId}-close-button`}\n >\n <CloseIcon data-testid={`${dataTestId}-close-icon`} />\n </IconButton>\n )}\n </Box>\n </Box>\n );\n};\n\nconst CONTENT_DEFAULTS: Partial<SheetContentProps> = {\n padded: true,\n dataTestId: 'sheet-content',\n};\n\nexport const SheetContent: React.FC<SheetContentProps> = (props) => {\n const { children, className, style, padded, dataTestId } = withDefaults(props, CONTENT_DEFAULTS);\n\n return (\n <Box\n className={className}\n data-testid={dataTestId}\n // No `minHeight: 0` here, deliberately: a flex item's automatic minimum\n // size only applies while its main-axis `overflow` is `visible`, and this\n // one is `auto`, so it already shrinks. `SheetBody` above is the item that\n // needs it stated.\n sx={{ flex: 1, overflow: 'auto', p: padded ? 2 : 0, ...style }}\n >\n {children}\n </Box>\n );\n};\n\nconst FOOTER_DEFAULTS: Partial<SheetFooterProps> = {\n sticky: false,\n divider: false,\n dataTestId: 'sheet-footer',\n};\n\nexport const SheetFooter: React.FC<SheetFooterProps> = (props) => {\n const { children, className, style, sticky, divider, dataTestId } = withDefaults(\n props,\n FOOTER_DEFAULTS,\n );\n\n return (\n <>\n {divider && <Divider />}\n <Box\n className={className}\n data-testid={dataTestId}\n sx={{\n p: 2,\n position: sticky ? 'sticky' : 'relative',\n bottom: sticky ? 0 : 'auto',\n backgroundColor: 'background.paper',\n borderTop: sticky ? '1px solid' : 'none',\n borderColor: 'divider',\n ...style,\n }}\n >\n {children}\n </Box>\n </>\n );\n};\n\nconst OVERLAY_DEFAULTS: Partial<SheetOverlayProps> = {\n open: false,\n blur: false,\n};\n\nexport const SheetOverlay: React.FC<SheetOverlayProps> = (props) => {\n const { open, onClick, className, style, blur, animated } = withDefaults(props, OVERLAY_DEFAULTS);\n const theme = useTheme();\n const timeout = animated === false ? 0 : 300;\n\n return (\n <Fade in={open} timeout={timeout}>\n <Backdrop\n open={Boolean(open)}\n transitionDuration={timeout}\n onClick={onClick}\n className={className}\n sx={{\n // One below the drawer, under the panel. Inside a Sheet this veil is\n // VISUAL only: the drawer's invisible backdrop above it catches the\n // tap (`ClickCatcher` in Sheet.tsx). The onClick keeps it usable alone.\n zIndex: theme.zIndex.drawer - 1,\n backgroundColor: scrim(theme, blur ? 0.6 : 0.5),\n backdropFilter: blur ? `blur(${rem(theme, 8)}) saturate(180%)` : 'none',\n WebkitBackdropFilter: blur ? `blur(${rem(theme, 8)}) saturate(180%)` : 'none',\n ...style,\n }}\n />\n </Fade>\n );\n};\n"],"mappings":"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","names":[]}
@@ -11,11 +11,13 @@ var EN_US_INSTALL_PROMPT_COPY = {
11
11
  shareLabel: "Share"
12
12
  };
13
13
  var EN_US_USER_AVATAR_COPY = {
14
- signOut: "Sign out"
14
+ signOut: "Sign out",
15
+ avatarAlt: "User avatar",
16
+ unnamedUser: "User"
15
17
  };
16
18
 
17
19
  export {
18
20
  EN_US_INSTALL_PROMPT_COPY,
19
21
  EN_US_USER_AVATAR_COPY
20
22
  };
21
- //# sourceMappingURL=chunk-3HLKTBEO.js.map
23
+ //# sourceMappingURL=chunk-DQ22UKMZ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/en-US.utility.ts"],"sourcesContent":["/**\n * The en-US pack for the utility family. Split the same way\n * `pt-BR.utility.ts` is — see `en-US.ts` for why.\n */\nimport type {\n InstallPromptCopy,\n UserAvatarCopy,\n} from './copy';\n\nexport const EN_US_INSTALL_PROMPT_COPY: InstallPromptCopy = {\n title: \"Install this app\",\n installLabel: \"Install\",\n dismissLabel: \"Dismiss the install prompt\",\n // The two halves wrap the platform's share glyph, which the component renders\n // between them. Splitting the sentence is what lets the icon sit inline, so\n // the translation has to keep the same seam rather than one whole sentence.\n iosTapBefore: \"Tap\",\n iosTapAfter: 'and then \"Add to Home Screen\"',\n shareLabel: \"Share\",\n};\n\nexport const EN_US_USER_AVATAR_COPY: UserAvatarCopy = {\n signOut: \"Sign out\",\n};\n"],"mappings":";AASO,IAAM,4BAA+C;AAAA,EAC1D,OAAO;AAAA,EACP,cAAc;AAAA,EACd,cAAc;AAAA;AAAA;AAAA;AAAA,EAId,cAAc;AAAA,EACd,aAAa;AAAA,EACb,YAAY;AACd;AAEO,IAAM,yBAAyC;AAAA,EACpD,SAAS;AACX;","names":[]}
1
+ {"version":3,"sources":["../src/en-US.utility.ts"],"sourcesContent":["/**\n * The en-US pack for the utility family. Split the same way\n * `pt-BR.utility.ts` is — see `en-US.ts` for why.\n */\nimport type {\n InstallPromptCopy,\n UserAvatarCopy,\n} from './copy';\n\nexport const EN_US_INSTALL_PROMPT_COPY: InstallPromptCopy = {\n title: \"Install this app\",\n installLabel: \"Install\",\n dismissLabel: \"Dismiss the install prompt\",\n // The two halves wrap the platform's share glyph, which the component renders\n // between them. Splitting the sentence is what lets the icon sit inline, so\n // the translation has to keep the same seam rather than one whole sentence.\n iosTapBefore: \"Tap\",\n iosTapAfter: 'and then \"Add to Home Screen\"',\n shareLabel: \"Share\",\n};\n\nexport const EN_US_USER_AVATAR_COPY: Required<UserAvatarCopy> = {\n signOut: \"Sign out\",\n avatarAlt: \"User avatar\",\n unnamedUser: \"User\",\n};\n"],"mappings":";AASO,IAAM,4BAA+C;AAAA,EAC1D,OAAO;AAAA,EACP,cAAc;AAAA,EACd,cAAc;AAAA;AAAA;AAAA;AAAA,EAId,cAAc;AAAA,EACd,aAAa;AAAA,EACb,YAAY;AACd;AAEO,IAAM,yBAAmD;AAAA,EAC9D,SAAS;AAAA,EACT,WAAW;AAAA,EACX,aAAa;AACf;","names":[]}
@@ -4,23 +4,23 @@ import {
4
4
  } from "./chunk-YH7G44WL.js";
5
5
  import {
6
6
  MoreFilters
7
- } from "./chunk-GSXYXMCV.js";
7
+ } from "./chunk-DD3VFDB2.js";
8
8
  import {
9
9
  PillControl
10
- } from "./chunk-VD72JGHA.js";
11
- import {
12
- QuickChip
13
- } from "./chunk-MHFXJRLD.js";
10
+ } from "./chunk-RMZQHJEP.js";
14
11
  import {
15
12
  isQuickActive
16
13
  } from "./chunk-KYUEO2IO.js";
14
+ import {
15
+ RangePill
16
+ } from "./chunk-4NVEUJXK.js";
17
+ import {
18
+ QuickChip
19
+ } from "./chunk-MHFXJRLD.js";
17
20
  import {
18
21
  CollapsedSearch,
19
22
  InlineKeyword
20
23
  } from "./chunk-M74YHHJE.js";
21
- import {
22
- RangePill
23
- } from "./chunk-2QO3BKUQ.js";
24
24
 
25
25
  // src/components/data-display/DataViews/data-views-inline-bar.tsx
26
26
  import Box from "@mui/material/Box/index.js";
@@ -244,4 +244,4 @@ function FilterSlots({
244
244
  export {
245
245
  InlineFilterControls
246
246
  };
247
- //# sourceMappingURL=chunk-IQ2U5MVO.js.map
247
+ //# sourceMappingURL=chunk-DT22MDC3.js.map
@@ -2,7 +2,24 @@
2
2
  var EN_US_ADDRESS_AUTOCOMPLETE_COPY = {
3
3
  loadingMaps: "Loading Google Maps\u2026",
4
4
  mapsLoadFailed: "Could not load the Google Maps API. Check the API key and the internet connection.",
5
- useCurrentLocation: "Use my current location"
5
+ useCurrentLocation: "Use my current location",
6
+ label: "Address",
7
+ placeholder: "Enter an address",
8
+ typeToSearch: "Type at least 3 characters",
9
+ noAddressesFound: "No addresses found",
10
+ // MUI's own words for the row, which the field showed before it had a key.
11
+ loadingSuggestions: "Loading\u2026",
12
+ mapsApiLoadFailed: "Failed to load Google Maps API",
13
+ mapsServicesInitFailed: "Failed to initialize Google Maps services",
14
+ fetchSuggestionsFailed: "Failed to fetch address suggestions",
15
+ addressDetailsNotFound: "Address details not found",
16
+ addressDetailsFailed: "Failed to get address details",
17
+ noMockLocation: "No mock location available",
18
+ mockLocationNotFound: "Mock location details not found",
19
+ locationAddressFailed: "Unable to retrieve address for current location",
20
+ geolocationUnsupported: "Geolocation is not supported by this browser",
21
+ geocoderUnavailable: "Geocoding service not available",
22
+ locationFailed: "Unable to retrieve your location"
6
23
  };
7
24
  var EN_US_AUTOCOMPLETE_COPY = {
8
25
  loading: "Loading\u2026",
@@ -62,14 +79,18 @@ var EN_US_RICH_EDITOR_TOOLBAR_COPY = {
62
79
  insertLink: "Insert link",
63
80
  textColor: "Text colour",
64
81
  backgroundColor: "Background colour",
65
- linkPrompt: "Enter the URL:"
82
+ linkPrompt: "Enter the URL:",
83
+ editorLabel: "Rich text editor"
66
84
  };
67
85
  var EN_US_PHONE_INPUT_COPY = {
68
86
  selectCountry: "Select country",
69
87
  invalidNumber: (countryName) => `Not a valid phone number for ${countryName}`,
70
88
  // Substituted into the sentence above when no country is chosen, so it has to
71
89
  // read as a noun phrase inside it rather than as a sentence of its own.
72
- unknownCountry: "the selected country"
90
+ unknownCountry: "the selected country",
91
+ countryName: (_code, englishName) => englishName,
92
+ label: "Phone Number",
93
+ placeholder: "Enter phone number"
73
94
  };
74
95
  var EN_US_UPLOAD_BUTTON_COPY = {
75
96
  buttonLabel: "Upload a file",
@@ -79,7 +100,9 @@ var EN_US_UPLOAD_BUTTON_COPY = {
79
100
  dropReady: "File ready to drop",
80
101
  percentUploaded: (percent) => `${percent}% uploaded`,
81
102
  uploadInProgress: (percent) => `Upload in progress: ${percent}%`,
82
- errorAnnouncement: (message) => `Error: ${message}`
103
+ errorAnnouncement: (message) => `Error: ${message}`,
104
+ fileTooLarge: (maxSizeMB) => `File size must be less than ${maxSizeMB}MB`,
105
+ uploadFailed: "Upload failed"
83
106
  };
84
107
  var EN_US_SOCIAL_LOGIN_COPY = {
85
108
  google: "Continue with Google",
@@ -97,4 +120,4 @@ export {
97
120
  EN_US_UPLOAD_BUTTON_COPY,
98
121
  EN_US_SOCIAL_LOGIN_COPY
99
122
  };
100
- //# sourceMappingURL=chunk-INGPH3YQ.js.map
123
+ //# sourceMappingURL=chunk-DVRNW33K.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/en-US.form.ts"],"sourcesContent":["/**\n * The en-US pack for the form family. Split the same way `pt-BR.form.ts` is —\n * see `en-US.ts` 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 EN_US_ADDRESS_AUTOCOMPLETE_COPY: Required<AddressAutocompleteCopy> = {\n loadingMaps: \"Loading Google Maps…\",\n mapsLoadFailed:\n \"Could not load the Google Maps API. Check the API key and the internet connection.\",\n useCurrentLocation: \"Use my current location\",\n label: \"Address\",\n placeholder: \"Enter an address\",\n typeToSearch: \"Type at least 3 characters\",\n noAddressesFound: \"No addresses found\",\n // MUI's own words for the row, which the field showed before it had a key.\n loadingSuggestions: \"Loading…\",\n mapsApiLoadFailed: \"Failed to load Google Maps API\",\n mapsServicesInitFailed: \"Failed to initialize Google Maps services\",\n fetchSuggestionsFailed: \"Failed to fetch address suggestions\",\n addressDetailsNotFound: \"Address details not found\",\n addressDetailsFailed: \"Failed to get address details\",\n noMockLocation: \"No mock location available\",\n mockLocationNotFound: \"Mock location details not found\",\n locationAddressFailed: \"Unable to retrieve address for current location\",\n geolocationUnsupported: \"Geolocation is not supported by this browser\",\n geocoderUnavailable: \"Geocoding service not available\",\n locationFailed: \"Unable to retrieve your location\",\n};\n\nexport const EN_US_AUTOCOMPLETE_COPY: AutocompleteCopy = {\n loading: \"Loading…\",\n noResults: \"No results found\",\n placeholder: \"Type to search…\",\n};\n\nexport const EN_US_CODE_EDITOR_COPY: CodeEditorCopy = {\n loading: \"Loading the editor…\",\n readOnly: \"Read only\",\n // The shortcut is the editor's own binding and is not translated — it is what\n // the reader must press, not something they read.\n formatCode: \"Format code (Ctrl+Shift+F)\",\n enableWrap: \"Wrap lines\",\n disableWrap: \"Do not wrap lines\",\n copyToClipboard: \"Copy to clipboard\",\n copied: \"Copied!\",\n enterFullscreen: \"Full screen\",\n exitFullscreen: \"Leave full screen\",\n};\n\nexport const EN_US_PASSWORD_STRENGTH_COPY: PasswordStrengthCopy = {\n strengthHeading: \"Password strength\",\n requirementsHeading: \"Requirements:\",\n suggestionsHeading: \"Suggestions:\",\n bands: {\n veryWeak: \"Very weak\",\n weak: \"Weak\",\n fair: \"Fair\",\n good: \"Good\",\n strong: \"Strong\",\n },\n requirements: {\n // The count is the HOST's configured minimum, interpolated rather than\n // written out: a host raising it must not end up with a requirement naming\n // the old number.\n minLength: (count) => `At least ${count} characters`,\n uppercase: \"One uppercase letter\",\n lowercase: \"One lowercase letter\",\n numbers: \"One number\",\n special: \"One special character\",\n },\n suggestions: {\n minLength: (count) => `Use at least ${count} characters`,\n uppercase: \"Add uppercase letters\",\n lowercase: \"Add lowercase letters\",\n numbers: \"Include numbers\",\n special: \"Add special characters\",\n },\n};\n\nexport const EN_US_RICH_EDITOR_TOOLBAR_COPY: Required<RichEditorToolbarCopy> = {\n bold: \"Bold\",\n italic: \"Italic\",\n underline: \"Underline\",\n bulletList: \"Bulleted list\",\n numberedList: \"Numbered list\",\n quote: \"Quote\",\n code: \"Code\",\n insertLink: \"Insert link\",\n textColor: \"Text colour\",\n backgroundColor: \"Background colour\",\n linkPrompt: \"Enter the URL:\",\n editorLabel: \"Rich text editor\",\n};\n\nexport const EN_US_PHONE_INPUT_COPY: Required<PhoneInputCopy> = {\n selectCountry: \"Select country\",\n invalidNumber: (countryName) => `Not a valid phone number for ${countryName}`,\n // Substituted into the sentence above when no country is chosen, so it has to\n // read as a noun phrase inside it rather than as a sentence of its own.\n unknownCountry: \"the selected country\",\n countryName: (_code, englishName) => englishName,\n label: \"Phone Number\",\n placeholder: \"Enter phone number\",\n};\n\nexport const EN_US_UPLOAD_BUTTON_COPY: Required<UploadButtonCopy> = {\n buttonLabel: \"Upload a file\",\n dropzoneHint: \"Drop the file here, or click to choose one\",\n dropzoneRole: (label) => `File upload area. ${label}`,\n uploading: \"Uploading…\",\n dropReady: \"File ready to drop\",\n percentUploaded: (percent) => `${percent}% uploaded`,\n uploadInProgress: (percent) => `Upload in progress: ${percent}%`,\n errorAnnouncement: (message) => `Error: ${message}`,\n fileTooLarge: (maxSizeMB) => `File size must be less than ${maxSizeMB}MB`,\n uploadFailed: \"Upload failed\",\n};\n\nexport const EN_US_SOCIAL_LOGIN_COPY: SocialLoginCopy = {\n google: \"Continue with Google\",\n facebook: \"Continue with Facebook\",\n apple: \"Continue with Apple\",\n};\n"],"mappings":";AAeO,IAAM,kCAAqE;AAAA,EAChF,aAAa;AAAA,EACb,gBACE;AAAA,EACF,oBAAoB;AAAA,EACpB,OAAO;AAAA,EACP,aAAa;AAAA,EACb,cAAc;AAAA,EACd,kBAAkB;AAAA;AAAA,EAElB,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,wBAAwB;AAAA,EACxB,qBAAqB;AAAA,EACrB,gBAAgB;AAClB;AAEO,IAAM,0BAA4C;AAAA,EACvD,SAAS;AAAA,EACT,WAAW;AAAA,EACX,aAAa;AACf;AAEO,IAAM,yBAAyC;AAAA,EACpD,SAAS;AAAA,EACT,UAAU;AAAA;AAAA;AAAA,EAGV,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;AAAA;AAAA;AAAA,IAIZ,WAAW,CAAC,UAAU,YAAY,KAAK;AAAA,IACvC,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA,aAAa;AAAA,IACX,WAAW,CAAC,UAAU,gBAAgB,KAAK;AAAA,IAC3C,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AACF;AAEO,IAAM,iCAAkE;AAAA,EAC7E,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;AAAA,EACZ,aAAa;AACf;AAEO,IAAM,yBAAmD;AAAA,EAC9D,eAAe;AAAA,EACf,eAAe,CAAC,gBAAgB,gCAAgC,WAAW;AAAA;AAAA;AAAA,EAG3E,gBAAgB;AAAA,EAChB,aAAa,CAAC,OAAO,gBAAgB;AAAA,EACrC,OAAO;AAAA,EACP,aAAa;AACf;AAEO,IAAM,2BAAuD;AAAA,EAClE,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc,CAAC,UAAU,qBAAqB,KAAK;AAAA,EACnD,WAAW;AAAA,EACX,WAAW;AAAA,EACX,iBAAiB,CAAC,YAAY,GAAG,OAAO;AAAA,EACxC,kBAAkB,CAAC,YAAY,uBAAuB,OAAO;AAAA,EAC7D,mBAAmB,CAAC,YAAY,UAAU,OAAO;AAAA,EACjD,cAAc,CAAC,cAAc,+BAA+B,SAAS;AAAA,EACrE,cAAc;AAChB;AAEO,IAAM,0BAA2C;AAAA,EACtD,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AACT;","names":[]}
@@ -2,10 +2,13 @@ import {
2
2
  imgPassThrough,
3
3
  resolveLazyImageProps,
4
4
  useLazyImage
5
- } from "./chunk-2TSGRQ2J.js";
5
+ } from "./chunk-LHJJZ462.js";
6
6
  import {
7
7
  Skeleton
8
8
  } from "./chunk-62SXUU5U.js";
9
+ import {
10
+ EN_US_UI_LABELS
11
+ } from "./chunk-O2RXSXSF.js";
9
12
  import {
10
13
  fieldHeight
11
14
  } from "./chunk-QQHZBJMU.js";
@@ -130,7 +133,7 @@ var PlaceholderIndicator = ({
130
133
  StyledImage,
131
134
  {
132
135
  src: props.placeholder,
133
- alt: `${props.alt} (loading)`,
136
+ alt: props.placeholderAlt ?? EN_US_UI_LABELS.lazyImage.loadingAlt(props.alt),
134
137
  style: metrics,
135
138
  decoding: props.decoding,
136
139
  loading: props.lazy ? "lazy" : props.loading,
@@ -167,7 +170,7 @@ var ErrorFallback = ({ props, metrics }) => {
167
170
  StyledImage,
168
171
  {
169
172
  src: fallback,
170
- alt: `${alt} (fallback)`,
173
+ alt: props.fallbackAlt ?? EN_US_UI_LABELS.lazyImage.fallbackAlt(alt),
171
174
  style: metrics,
172
175
  fadeIn: false,
173
176
  isLoaded: true,
@@ -275,4 +278,4 @@ LazyImage.displayName = "LazyImage";
275
278
  export {
276
279
  LazyImage
277
280
  };
278
- //# sourceMappingURL=chunk-C5JCARNE.js.map
281
+ //# sourceMappingURL=chunk-DWCH6GH5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/LazyImage/LazyImage.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport { styled, useTheme, type Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\nimport { Skeleton } from '../../layout/Skeleton';\nimport { imgPassThrough, resolveLazyImageProps, useLazyImage, type ResolvedLazyImageProps } from './LazyImage.hooks';\nimport type { LazyImageProps } from './LazyImage.types';\nimport { EN_US_UI_LABELS } from '../../../en-US.labels';\nimport { sheen } from '../../../tokens/ink';\nimport { rem } from '../../../tokens/relative';\nimport { fieldHeight } from '../../../tokens/field-height';\n\nconst ImageContainer = styled(Box)(() => ({\n position: 'relative',\n display: 'inline-block',\n overflow: 'hidden',\n}));\n\nconst StyledImage = styled('img')<{\n fadeIn?: boolean;\n fadeInDuration?: number;\n isLoaded?: boolean;\n}>(({ fadeIn, fadeInDuration = 300, isLoaded }) => ({\n display: 'block',\n maxWidth: '100%',\n height: 'auto',\n opacity: fadeIn ? (isLoaded ? 1 : 0) : 1,\n transition: fadeIn ? `opacity ${fadeInDuration}ms ease-in-out` : 'none',\n}));\n\nconst SpinnerOverlay = styled(Box)(({ theme }) => ({\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: sheen(theme, 0.8),\n borderRadius: '50%',\n padding: theme.spacing(1),\n}));\n\nconst FallbackContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.action.disabledBackground,\n color: theme.palette.text.secondary,\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n}));\n\ntype Length = number | string | undefined;\n\n/** A length prop as React `style` and MUI's `Skeleton` read it: a number is design px. */\nconst styleLength = (theme: Theme, value: Length): string | undefined =>\n typeof value === 'number' ? rem(theme, value) : value;\n\n/**\n * A width or height above 0 and up to 1 is a fraction of the container's parent, as in `sx`.\n * A negative number is no fraction: it stays a (negative, so invalid) length.\n */\nconst isFraction = (value: Length): value is number =>\n typeof value === 'number' && value > 0 && value <= 1;\n\n/**\n * A length prop as `sx` reads it on a width or height: a number of 1 or less is\n * a fraction of the parent, and that stays so; any other number is design px.\n */\nconst sxLength = (theme: Theme, value: Length): string | undefined =>\n isFraction(value) ? `${value * 100}%` : styleLength(theme, value);\n\n/**\n * A width or height for what is drawn inside the container. The container alone\n * takes a fraction, so everything in it fills it: a percentage here is measured\n * against the container and would stack (FUT-2666). Otherwise the same as `styleLength`.\n */\nconst innerLength = (theme: Theme, value: Length): string | undefined =>\n isFraction(value) ? '100%' : styleLength(theme, value);\n\n/**\n * A width or height with its default. Only an unset or empty size takes it: `0`\n * is a size, which `||` read as unset (FUT-2669), and `sx` reads `''` as `0%`.\n */\nconst orDefault = (value: Length, fallback: number | string): number | string =>\n value === undefined || value === '' ? fallback : value;\n\n/**\n * A width/height as `metrics` and the `ReactNode` `ErrorFallback` read it\n * (FUT-2774 #4): an explicit empty string is normalized to \"as if unset\"\n * rather than mapped to a component-wide default. Unlike `SkeletonIndicator`\n * (a content-less box with nothing else to size by, hence its own deliberate\n * `'100%'`/`'auto'` fallback), these draw the real image or a `ReactNode`\n * fallback — both have their own intrinsic size, so leaving an unset width\n * unset lets it size naturally (`brand-link.tsx`'s logo relies on exactly\n * this: an unset width capped by its own `sx.maxWidth`).\n */\nconst emptyToUnset = (value: Length): Length => (value === '' ? undefined : value);\n\n/** A length, already resolved to CSS — {@link innerLength} or {@link sxLength}. */\ntype LengthResolver = (theme: Theme, value: Length) => string | undefined;\n\n// A number + `%`, a (small/large/dynamic) viewport unit, or a container-query\n// unit, anywhere in a string, even nested in `calc()`/`min()`/`max()`/`clamp()`.\nconst RELATIVE_LENGTH_UNIT = /[\\d.]+(?:%|[dsl]?v(?:w|h|i|b|min|max)|cq(?:w|h|i|b|min|max))(?![a-zA-Z])/;\n// RELATIVE: {@link isFraction}, or that unit anywhere — borrowing it onto the\n// OTHER axis re-creates this collapse (all these units square, `LazyImage.md`).\nconst isRelativeLength = (value: Length): boolean =>\n isFraction(value) || (typeof value === 'string' && RELATIVE_LENGTH_UNIT.test(value));\n\n/** A resolved axis pair; `aspectRatio` is set when the OTHER axis comes from CSS, not a length. */\ntype AxisPair = { width: string | undefined; height: string | undefined; aspectRatio?: string };\n\n/**\n * The unset-axis DEFAULT for a PLACEHOLDER only (skeleton, `ReactNode`\n * fallback) — never the real image/`metrics` (an unset width sizes it\n * naturally; `brand-link.tsx`'s logo relies on that). Decision (FUT-2805): an\n * unset axis borrows the set one (a square); neither set, both take the\n * theme's field height; both set stays unchanged. `resolve` is `innerLength`\n * (skeleton) or `sxLength` (the container). A RELATIVE single axis\n * ({@link isRelativeLength}) cannot borrow the same way: it keeps its value\n * and squares up via `aspectRatio: '1 / 1'`, the other axis explicitly\n * `'auto'` (never `undefined` — `Skeleton`'s own default, a fixed `40`,\n * would silently win otherwise).\n */\nconst placeholderAxis = (theme: Theme, width: Length, height: Length, resolve: LengthResolver): AxisPair => {\n const w = emptyToUnset(width);\n // `height` always arrives defaulted to the literal `'auto'` when unset\n // (`LAZY_IMAGE_DEFAULTS`) — indistinguishable from an explicit `\"auto\"`,\n // and no distinction is needed: both mean \"no fixed height requested\".\n const h = height === 'auto' ? undefined : emptyToUnset(height);\n\n if (w === undefined && h === undefined) {\n const field = fieldHeight(theme);\n return { width: field, height: field };\n }\n if (h === undefined) {\n if (isRelativeLength(w)) return { width: resolve(theme, w), height: 'auto', aspectRatio: '1 / 1' };\n const resolved = resolve(theme, w);\n return { width: resolved, height: resolved };\n }\n if (w === undefined) {\n if (isRelativeLength(h)) return { width: 'auto', height: resolve(theme, h), aspectRatio: '1 / 1' };\n const resolved = resolve(theme, h);\n return { width: resolved, height: resolved };\n }\n return { width: resolve(theme, w), height: resolve(theme, h) };\n};\n\n/**\n * `ImageContainer`'s own axis: the ordinary `orDefault(...,'auto')` in every\n * state, except a ReactNode `fallback` while showing — the one case where\n * the container is the only thing that CAN fix its own collapse\n * (`FallbackContainer` is `position: absolute`, never feeding shrink-to-fit).\n */\nconst containerAxisFor = (theme: Theme, props: ResolvedLazyImageProps, hasError: boolean): AxisPair => {\n const { width, height, fallback } = props;\n const needsPlaceholderSize = hasError && Boolean(fallback) && typeof fallback !== 'string';\n return needsPlaceholderSize\n ? placeholderAxis(theme, width, height, sxLength)\n : { width: sxLength(theme, orDefault(width, 'auto')), height: sxLength(theme, orDefault(height, 'auto')) };\n};\n\n/** The box the image occupies, as CSS, shared by the real image and every stand-in for it. */\ninterface BoxMetrics {\n width?: string;\n height?: string;\n objectFit: NonNullable<LazyImageProps['objectFit']>;\n objectPosition: string;\n borderRadius?: string;\n}\n\ninterface IndicatorProps {\n props: ResolvedLazyImageProps;\n metrics: BoxMetrics;\n}\n\nconst SkeletonIndicator: React.FC<IndicatorProps> = ({ props }) => {\n const theme = useTheme();\n // FUT-2805: replaces the old literal `'100%'`/`'auto'` fallbacks, which\n // collapsed to 0 in a shrink-to-fit `ImageContainer` with nothing to\n // resolve against.\n const { width, height, aspectRatio } = placeholderAxis(theme, props.width, props.height, innerLength);\n return (\n <Skeleton\n // FUT-2774 #5: `skeletonProps.variant` was typed but never read — the\n // variant was hard-coded regardless of what a caller passed.\n variant={props.skeletonProps.variant ?? 'rectangular'}\n width={width}\n height={height}\n style={aspectRatio ? { aspectRatio } : undefined}\n // FUT-2774 #5: `||` reads a caller's `false` the same as \"unset\", so\n // `skeletonProps.animation={false}` could never turn the animation off.\n animation={props.skeletonProps.animation ?? 'pulse'}\n intensity={props.skeletonProps.intensity}\n borderRadius={styleLength(theme, props.borderRadius)}\n data-testid={`${props['data-testid']}-skeleton`}\n />\n );\n};\n\nconst SpinnerIndicator: React.FC<IndicatorProps> = ({ props }) => {\n const theme = useTheme();\n const { spinnerProps } = props;\n\n return (\n <SpinnerOverlay>\n <CircularProgress\n // FUT-2774 #5: `||` read `spinnerProps.size`/`thickness` of `0` the\n // same as unset — the same class of bug FUT-2669 fixed for\n // `width`/`height`, missed here.\n size={styleLength(theme, spinnerProps.size ?? 40)}\n thickness={spinnerProps.thickness ?? 4}\n sx={{ color: spinnerProps.color || theme.palette.primary.main }}\n data-testid={`${props['data-testid']}-spinner`}\n />\n </SpinnerOverlay>\n );\n};\n\n/**\n * The placeholder sits in the box's flow and gives the box its size: the box's\n * own when one is set, the placeholder's when not. The real image is drawn over\n * it (`OVER_PLACEHOLDER`) until it has faded in. Its load and error are not the\n * image's, so neither reaches the caller; a failing one just retires.\n */\nconst PlaceholderIndicator: React.FC<IndicatorProps & { onError: () => void }> = ({\n props,\n metrics,\n onError,\n}) => {\n if (!props.placeholder) return null;\n\n return (\n <StyledImage\n src={props.placeholder}\n alt={props.placeholderAlt ?? EN_US_UI_LABELS.lazyImage.loadingAlt(props.alt)}\n style={metrics}\n decoding={props.decoding}\n loading={props.lazy ? 'lazy' : props.loading}\n onError={onError}\n data-testid={`${props['data-testid']}-placeholder`}\n />\n );\n};\n\nconst LoadingIndicator: React.FC<\n IndicatorProps & { kind: NonNullable<LazyImageProps['loadingState']>; onPlaceholderError: () => void }\n> = ({ kind, onPlaceholderError, ...rest }) => {\n switch (kind) {\n case 'skeleton':\n return <SkeletonIndicator {...rest} />;\n case 'spinner':\n return <SpinnerIndicator {...rest} />;\n case 'placeholder':\n return <PlaceholderIndicator {...rest} onError={onPlaceholderError} />;\n default:\n return null;\n }\n};\n\n/**\n * The real image while the placeholder is up: laid over it and cropped by\n * `objectFit`, so the box never grows to hold both. It takes the flow back\n * when the placeholder goes.\n */\nconst OVER_PLACEHOLDER: React.CSSProperties = {\n position: 'absolute',\n inset: 0,\n width: '100%',\n height: '100%',\n};\n\nconst ErrorFallback: React.FC<IndicatorProps> = ({ props, metrics }) => {\n const theme = useTheme();\n const { alt, fallback, width, height, borderRadius } = props;\n const testId = props['data-testid'];\n\n if (!fallback) return null;\n\n if (typeof fallback === 'string') {\n return (\n <StyledImage\n src={fallback}\n alt={props.fallbackAlt ?? EN_US_UI_LABELS.lazyImage.fallbackAlt(alt)}\n style={metrics}\n fadeIn={false}\n isLoaded={true}\n data-testid={`${testId}-fallback`}\n />\n );\n }\n\n return (\n <FallbackContainer\n sx={{\n // FUT-2774 #4 (see `emptyToUnset`); the collapse is fixed by\n // `LazyImage` giving `ImageContainer` ITSELF a size now\n // (`containerAxisFor`) — this `position: absolute` box just fills it.\n width: innerLength(theme, emptyToUnset(width)),\n height: innerLength(theme, orDefault(height, 'auto')),\n borderRadius: styleLength(theme, borderRadius),\n }}\n data-testid={`${testId}-fallback`}\n >\n {fallback}\n </FallbackContainer>\n );\n};\n\n/**\n * LazyImage component with enhanced features for optimized image loading\n * Supports lazy loading, placeholders, error handling, and various loading states\n */\nexport const LazyImage = React.memo<LazyImageProps>(function LazyImage(rawProps) {\n const props = resolveLazyImageProps(rawProps);\n const theme = useTheme();\n const {\n state,\n containerRef,\n effectiveLoadingState,\n handleImageLoad,\n handleImageError,\n handlePlaceholderError,\n showImage,\n showLoading,\n showPlaceholder,\n } = useLazyImage(props);\n\n const { width, height, borderRadius, alt } = props;\n const testId = props['data-testid'];\n const metrics: BoxMetrics = {\n // FUT-2774 #4 (see `emptyToUnset`): `metrics` also sizes the REAL `<img>`,\n // where an unset width means \"the image's own intrinsic size\" —\n // `brand-link.tsx`'s logo relies on exactly that. `height`'s `'auto'`\n // fallback has no such live case to protect: a percentage height against\n // an auto-height containing block computes to `auto` regardless, so\n // sharing `SkeletonIndicator`'s fallback changes nothing observable.\n width: innerLength(theme, emptyToUnset(width)),\n height: innerLength(theme, orDefault(height, 'auto')),\n objectFit: props.objectFit,\n objectPosition: props.objectPosition,\n borderRadius: styleLength(theme, borderRadius),\n };\n\n const containerAxis = containerAxisFor(theme, props, state.hasError);\n\n return (\n <ImageContainer\n ref={containerRef}\n className={props.className}\n sx={{\n width: containerAxis.width,\n height: containerAxis.height,\n aspectRatio: containerAxis.aspectRatio,\n // The same px length the image gets (`metrics`): in `sx` a bare number\n // would be a multiple of `shape.borderRadius`, and this box clips (FUT-2656).\n borderRadius: metrics.borderRadius,\n }}\n data-testid={testId}\n >\n {showLoading && (\n <LoadingIndicator\n kind={effectiveLoadingState}\n props={props}\n metrics={metrics}\n onPlaceholderError={handlePlaceholderError}\n />\n )}\n\n {showImage && (\n <StyledImage\n src={state.currentSrc || undefined}\n alt={alt}\n onLoad={handleImageLoad}\n onError={handleImageError}\n fadeIn={props.fadeIn}\n fadeInDuration={props.fadeInDuration}\n isLoaded={!state.isLoading}\n decoding={props.decoding}\n loading={props.lazy ? 'lazy' : props.loading}\n style={{ ...metrics, ...props.sx, ...(showPlaceholder && OVER_PLACEHOLDER) }}\n aria-label={props['aria-label'] || alt}\n aria-describedby={props['aria-describedby']}\n role={props.role}\n data-testid={`${testId}-img`}\n {...imgPassThrough(props)}\n />\n )}\n\n {state.hasError && <ErrorFallback props={props} metrics={metrics} />}\n </ImageContainer>\n );\n});\n\nLazyImage.displayName = 'LazyImage';\n"],"mappings":"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","names":["LazyImage"]}