@12-apps/ui 6.78.3 → 6.79.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 (1003) hide show
  1. package/dist/_internal/components/data-display/Alert/Alert.js +3 -3
  2. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +2 -1
  3. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +3 -3
  4. package/dist/_internal/components/data-display/Avatar/Avatar.js +4 -4
  5. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
  6. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +4 -4
  7. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +11 -10
  8. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +7 -6
  9. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +5 -2
  10. package/dist/_internal/components/data-display/Carousel/Carousel.js +7 -4
  11. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +4 -1
  12. package/dist/_internal/components/data-display/Chart/Chart.js +3 -3
  13. package/dist/_internal/components/data-display/Chart/SpecChart.js +6 -6
  14. package/dist/_internal/components/data-display/Chart/chart-renderers.js +2 -2
  15. package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
  16. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
  17. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +50 -49
  18. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +70 -69
  19. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +4 -3
  20. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +9 -8
  21. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +8 -7
  22. package/dist/_internal/components/data-display/DataViews/base-card.js +5 -5
  23. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +3 -3
  24. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +3 -3
  25. package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +3 -3
  26. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +2 -2
  27. package/dist/_internal/components/data-display/DataViews/base-list-card.js +10 -10
  28. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +15 -14
  29. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +21 -20
  30. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +6 -6
  31. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +45 -44
  32. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +22 -21
  33. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +19 -18
  34. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +20 -19
  35. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +3 -3
  36. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +2 -2
  37. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +9 -8
  38. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +22 -21
  39. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +8 -7
  40. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
  41. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +4 -4
  42. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +2 -2
  43. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +11 -8
  44. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +10 -7
  45. package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +1 -1
  46. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +15 -12
  47. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +2 -2
  48. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +2 -2
  49. package/dist/_internal/components/data-display/LazyImage/LazyImage.hooks.js +1 -1
  50. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +3 -2
  51. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +6 -6
  52. package/dist/_internal/components/data-display/MapPreview/MapControlBar.js +5 -1
  53. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +7 -3
  54. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +5 -1
  55. package/dist/_internal/components/data-display/MapPreview/MapPreview.helpers.js +6 -1
  56. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +9 -6
  57. package/dist/_internal/components/data-display/Progress/Progress.js +2 -2
  58. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +6 -4
  59. package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
  60. package/dist/_internal/components/data-display/Sheet/Sheet.js +4 -4
  61. package/dist/_internal/components/data-display/Stepper/Stepper.js +3 -1
  62. package/dist/_internal/components/data-display/Table/Table.helpers.js +1 -1
  63. package/dist/_internal/components/data-display/Table/Table.js +6 -4
  64. package/dist/_internal/components/data-display/Table/TableParts.hooks.js +4 -2
  65. package/dist/_internal/components/data-display/Table/TableParts.js +4 -2
  66. package/dist/_internal/components/data-display/Timeline/Timeline.js +4 -2
  67. package/dist/_internal/components/data-display/Timeline/TimelineRow.js +1 -1
  68. package/dist/_internal/components/data-display/index.js +69 -64
  69. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +4 -3
  70. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +3 -2
  71. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +5 -4
  72. package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +4 -3
  73. package/dist/_internal/components/feedback/Dialog/Dialog.js +3 -2
  74. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +4 -4
  75. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +12 -11
  76. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +6 -6
  77. package/dist/_internal/components/feedback/Sonner/Sonner.js +3 -2
  78. package/dist/_internal/components/feedback/Sonner/SonnerToast.js +1 -1
  79. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +7 -6
  80. package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +2 -1
  81. package/dist/_internal/components/feedback/Toast/Toast.js +2 -1
  82. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +3 -2
  83. package/dist/_internal/components/feedback/TutorialOverlay/TutorialStepBody.js +2 -1
  84. package/dist/_internal/components/feedback/index.js +33 -31
  85. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.helpers.js +3 -1
  86. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +8 -6
  87. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +12 -10
  88. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +4 -2
  89. package/dist/_internal/components/form/AddressAutocomplete/useAddressPredictions.js +4 -2
  90. package/dist/_internal/components/form/AddressAutocomplete/useAddressSelection.js +1 -1
  91. package/dist/_internal/components/form/AddressAutocomplete/useCurrentLocation.js +1 -1
  92. package/dist/_internal/components/form/AddressAutocomplete/useGoogleMapsAPI.js +1 -1
  93. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +2 -2
  94. package/dist/_internal/components/form/Calendar/Calendar.hooks.js +2 -2
  95. package/dist/_internal/components/form/Calendar/Calendar.js +6 -6
  96. package/dist/_internal/components/form/Calendar/CalendarDay.js +1 -1
  97. package/dist/_internal/components/form/Calendar/CalendarDayCell.js +2 -2
  98. package/dist/_internal/components/form/Calendar/CalendarMonth.js +3 -3
  99. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +5 -5
  100. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
  101. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
  102. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +9 -9
  103. package/dist/_internal/components/form/Checkbox/Checkbox.js +2 -2
  104. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +3 -3
  105. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +9 -9
  106. package/dist/_internal/components/form/InputOTP/InputOTP.js +2 -2
  107. package/dist/_internal/components/form/Menubar/Menubar.js +2 -2
  108. package/dist/_internal/components/form/PhoneInput/PhoneInput.hooks.js +2 -2
  109. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +3 -3
  110. package/dist/_internal/components/form/PhoneInput/countries.js +7 -3
  111. package/dist/_internal/components/form/PickerSheet/PickerSheet.js +4 -4
  112. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.dom.js +2 -1
  113. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.format.js +3 -2
  114. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.hooks.js +4 -3
  115. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +7 -5
  116. package/dist/_internal/components/form/RichTextEditor/RichTextEditorToolbar.js +1 -1
  117. package/dist/_internal/components/form/Switch/Switch.js +4 -4
  118. package/dist/_internal/components/form/Switch/Switch.parts.js +3 -3
  119. package/dist/_internal/components/form/Switch/Switch.styles.js +2 -2
  120. package/dist/_internal/components/form/Textarea/Textarea.js +1 -1
  121. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +4 -1
  122. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js.map +1 -1
  123. package/dist/_internal/components/form/UploadButton/UploadButton.hooks.js +2 -1
  124. package/dist/_internal/components/form/UploadButton/UploadButton.js +3 -2
  125. package/dist/_internal/components/form/index.js +48 -45
  126. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +10 -10
  127. package/dist/_internal/components/form/total-form/Fields/index.js +13 -13
  128. package/dist/_internal/components/form/total-form/FormErrorSnackbar.js +3 -2
  129. package/dist/_internal/components/index.js +196 -188
  130. package/dist/_internal/components/layout/Card/Card.js +2 -2
  131. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +2 -1
  132. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +2 -1
  133. package/dist/_internal/components/layout/Dashboard/Dashboard.js +2 -1
  134. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +3 -3
  135. package/dist/_internal/components/layout/SettingCard/SettingCard.js +4 -4
  136. package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +3 -3
  137. package/dist/_internal/components/layout/SettingCard/SettingGroup.js +10 -10
  138. package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +8 -8
  139. package/dist/_internal/components/layout/SettingCard/SettingToggle.js +10 -10
  140. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +6 -6
  141. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +3 -3
  142. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.js +2 -2
  143. package/dist/_internal/components/layout/index.js +34 -33
  144. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +8 -7
  145. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.helpers.js +2 -1
  146. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.hooks.js +3 -2
  147. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +6 -4
  148. package/dist/_internal/components/navigation/CommandPalette/CommandPaletteResults.js +3 -1
  149. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +4 -4
  150. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +7 -6
  151. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.shell.js +1 -1
  152. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
  153. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +5 -4
  154. package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
  155. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +2 -2
  156. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +4 -4
  157. package/dist/_internal/components/navigation/index.js +29 -26
  158. package/dist/_internal/components/typography/Code/Code.js +2 -1
  159. package/dist/_internal/components/typography/index.js +2 -1
  160. package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +2 -2
  161. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +7 -3
  162. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +6 -4
  163. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +4 -2
  164. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +5 -3
  165. package/dist/_internal/components/utility/index.js +8 -6
  166. package/dist/_internal/copy/labels.js +1 -0
  167. package/dist/_internal/en-US.data-display.js +1 -1
  168. package/dist/_internal/en-US.feedback.js +1 -1
  169. package/dist/_internal/en-US.form.js +1 -1
  170. package/dist/_internal/en-US.labels.js +8 -0
  171. package/dist/_internal/en-US.navigation.js +1 -1
  172. package/dist/_internal/en-US.utility.js +1 -1
  173. package/dist/_internal/pt-BR.data-display.js +1 -1
  174. package/dist/_internal/pt-BR.feedback.js +1 -1
  175. package/dist/_internal/pt-BR.form.js +1 -1
  176. package/dist/_internal/pt-BR.labels.js +8 -0
  177. package/dist/_internal/pt-BR.labels.js.map +1 -0
  178. package/dist/_internal/pt-BR.navigation.js +1 -1
  179. package/dist/_internal/pt-BR.utility.js +1 -1
  180. package/dist/_internal/social-login-button/social-login-button.js +4 -4
  181. package/dist/_internal/user-avatar/user-avatar.js +8 -7
  182. package/dist/_internal/utils/resolve-labels.js +8 -0
  183. package/dist/_internal/utils/resolve-labels.js.map +1 -0
  184. package/dist/charts.js +11 -11
  185. package/dist/{chunk-2ILXXBMG.js → chunk-25HBYY4O.js} +12 -6
  186. package/dist/chunk-25HBYY4O.js.map +1 -0
  187. package/dist/{chunk-OPP6USJC.js → chunk-2FQF4CNE.js} +2 -2
  188. package/dist/{chunk-BWFQEASG.js → chunk-2P5ZBBTL.js} +5 -5
  189. package/dist/{chunk-QVO4SIS7.js → chunk-3W2B7IZG.js} +2 -2
  190. package/dist/{chunk-PMRLFNBT.js → chunk-3XLSA3YB.js} +4 -4
  191. package/dist/{chunk-7P5PNRBT.js → chunk-3YCV4EP7.js} +6 -6
  192. package/dist/{chunk-AYP6ICAY.js → chunk-44FY2YZL.js} +11 -10
  193. package/dist/chunk-44FY2YZL.js.map +1 -0
  194. package/dist/chunk-47IAX6PI.js +119 -0
  195. package/dist/chunk-47IAX6PI.js.map +1 -0
  196. package/dist/{chunk-Q6PRGXR2.js → chunk-4HBCWKIX.js} +4 -4
  197. package/dist/{chunk-HN3PZTUK.js → chunk-4MKVGSHX.js} +5 -5
  198. package/dist/{chunk-EERUSI52.js → chunk-4N3I7ZHQ.js} +2 -2
  199. package/dist/{chunk-O6SAU5JA.js → chunk-4OTJ66ID.js} +4 -4
  200. package/dist/{chunk-LG52LMAM.js → chunk-556LO6KA.js} +3 -3
  201. package/dist/{chunk-LBZEPWYK.js → chunk-5GLOEGOM.js} +4 -4
  202. package/dist/{chunk-KZXOIRUP.js → chunk-5MAD6ZEI.js} +43 -12
  203. package/dist/chunk-5MAD6ZEI.js.map +1 -0
  204. package/dist/{chunk-XICRCPEQ.js → chunk-5U7LBO2V.js} +5 -4
  205. package/dist/chunk-5U7LBO2V.js.map +1 -0
  206. package/dist/{chunk-JE6RZ5L6.js → chunk-5ZOJLYD2.js} +4 -4
  207. package/dist/{chunk-GSXYXMCV.js → chunk-66BRUS2M.js} +2 -2
  208. package/dist/{chunk-ALREWFRX.js → chunk-6DGNMASB.js} +4 -4
  209. package/dist/{chunk-MA6SUE7F.js → chunk-6EZQLNPK.js} +5 -3
  210. package/dist/chunk-6EZQLNPK.js.map +1 -0
  211. package/dist/{chunk-VRPCZ3IE.js → chunk-6JKECOZ2.js} +7 -6
  212. package/dist/chunk-6JKECOZ2.js.map +1 -0
  213. package/dist/{chunk-XKSA4L2X.js → chunk-6MGYPTAL.js} +11 -3
  214. package/dist/chunk-6MGYPTAL.js.map +1 -0
  215. package/dist/{chunk-5752357K.js → chunk-6N2U67KF.js} +4 -4
  216. package/dist/{chunk-UZOG6HNN.js → chunk-6SFJIW54.js} +5 -4
  217. package/dist/chunk-6SFJIW54.js.map +1 -0
  218. package/dist/{chunk-VD72JGHA.js → chunk-73OYC22L.js} +2 -2
  219. package/dist/{chunk-6PU3JYVY.js → chunk-775LIZXS.js} +4 -4
  220. package/dist/{chunk-C5JCARNE.js → chunk-7HKXTRTK.js} +7 -4
  221. package/dist/chunk-7HKXTRTK.js.map +1 -0
  222. package/dist/{chunk-S4JXSC4D.js → chunk-7HZ6TJRH.js} +6 -6
  223. package/dist/{chunk-33LAPBYB.js → chunk-7S25RDE4.js} +9 -5
  224. package/dist/chunk-7S25RDE4.js.map +1 -0
  225. package/dist/{chunk-CSD6SWBZ.js → chunk-A3Z7ZXLM.js} +6 -6
  226. package/dist/{chunk-LI6XSM5D.js → chunk-A6V7KE45.js} +3 -3
  227. package/dist/{chunk-YJBWDDW7.js → chunk-AAWVAQI2.js} +12 -12
  228. package/dist/{chunk-44PBCQ7E.js → chunk-ABQZFK7M.js} +6 -6
  229. package/dist/{chunk-EIMFA7KP.js → chunk-ANUO67JQ.js} +2 -2
  230. package/dist/{chunk-PTQRJEPN.js → chunk-AOBQ3KYY.js} +2 -2
  231. package/dist/{chunk-LODYTVOO.js → chunk-B25SHVWP.js} +4 -4
  232. package/dist/{chunk-GTT5UKKO.js → chunk-BDJIP4HG.js} +4 -4
  233. package/dist/{chunk-RS576GOH.js → chunk-BIUT3K6A.js} +4 -4
  234. package/dist/{chunk-4NQXHPQR.js → chunk-BJ7NWZWO.js} +11 -2
  235. package/dist/chunk-BJ7NWZWO.js.map +1 -0
  236. package/dist/{chunk-A5NXBOWS.js → chunk-BLHSLB5D.js} +5 -5
  237. package/dist/{chunk-DYHOBKPU.js → chunk-BLZDSCIZ.js} +6 -6
  238. package/dist/{chunk-E53MMMDA.js → chunk-BX6CF2UG.js} +3 -3
  239. package/dist/{chunk-WVZBYTIK.js → chunk-C465AAD5.js} +29 -19
  240. package/dist/chunk-C465AAD5.js.map +1 -0
  241. package/dist/{chunk-7HA7UH7O.js → chunk-C4OETF7K.js} +4 -4
  242. package/dist/{chunk-64AOS2WA.js → chunk-CAHN7AMY.js} +5 -5
  243. package/dist/{chunk-Z24VOTA7.js → chunk-CCWE6DBC.js} +4 -2
  244. package/dist/{chunk-Z24VOTA7.js.map → chunk-CCWE6DBC.js.map} +1 -1
  245. package/dist/{chunk-YLSDFW5O.js → chunk-CN4JS57H.js} +35 -5
  246. package/dist/chunk-CN4JS57H.js.map +1 -0
  247. package/dist/{chunk-MSC43MCJ.js → chunk-CRFOAKQL.js} +5 -5
  248. package/dist/{chunk-IQ2U5MVO.js → chunk-CSQWPDQV.js} +9 -9
  249. package/dist/{chunk-B2JYQBO4.js → chunk-CXTRDTNM.js} +11 -6
  250. package/dist/chunk-CXTRDTNM.js.map +1 -0
  251. package/dist/{chunk-TTCVYY2B.js → chunk-CYKINZKO.js} +22 -7
  252. package/dist/chunk-CYKINZKO.js.map +1 -0
  253. package/dist/{chunk-FT6HBP5E.js → chunk-DE7E2GBP.js} +11 -8
  254. package/dist/chunk-DE7E2GBP.js.map +1 -0
  255. package/dist/{chunk-QWVETTIY.js → chunk-DJMVBIFD.js} +21 -12
  256. package/dist/chunk-DJMVBIFD.js.map +1 -0
  257. package/dist/{chunk-3HLKTBEO.js → chunk-DQ22UKMZ.js} +4 -2
  258. package/dist/{chunk-3HLKTBEO.js.map → chunk-DQ22UKMZ.js.map} +1 -1
  259. package/dist/{chunk-INGPH3YQ.js → chunk-DVRNW33K.js} +28 -5
  260. package/dist/chunk-DVRNW33K.js.map +1 -0
  261. package/dist/{chunk-VQYR64QB.js → chunk-DX5PLJKN.js} +8 -3
  262. package/dist/chunk-DX5PLJKN.js.map +1 -0
  263. package/dist/{chunk-7XSCEHGA.js → chunk-EOQ6EKTS.js} +7 -7
  264. package/dist/{chunk-UGH2DDST.js → chunk-ETSASQXI.js} +4 -2
  265. package/dist/chunk-ETSASQXI.js.map +1 -0
  266. package/dist/{chunk-3VXS7O3X.js → chunk-EVYLJ5JB.js} +17 -3
  267. package/dist/chunk-EVYLJ5JB.js.map +1 -0
  268. package/dist/chunk-FB4GLQQO.js +102 -0
  269. package/dist/chunk-FB4GLQQO.js.map +1 -0
  270. package/dist/{chunk-WC3W36AM.js → chunk-FKUVFPQZ.js} +26 -12
  271. package/dist/chunk-FKUVFPQZ.js.map +1 -0
  272. package/dist/{chunk-VEKTKCSB.js → chunk-FLJ3RIRP.js} +5 -5
  273. package/dist/{chunk-LH4VKUZC.js → chunk-FLTXJWOC.js} +13 -7
  274. package/dist/chunk-FLTXJWOC.js.map +1 -0
  275. package/dist/{chunk-2ARVNCVU.js → chunk-FZUAB2KS.js} +8 -6
  276. package/dist/chunk-FZUAB2KS.js.map +1 -0
  277. package/dist/{chunk-PY3RW5LC.js → chunk-G2IVONJD.js} +24 -10
  278. package/dist/chunk-G2IVONJD.js.map +1 -0
  279. package/dist/{chunk-Z5WUSI47.js → chunk-G3JFESKD.js} +6 -6
  280. package/dist/{chunk-XRDH24J7.js → chunk-G6ET2DRL.js} +2 -2
  281. package/dist/{chunk-KIL3OVLI.js → chunk-G76PIGF7.js} +6 -2
  282. package/dist/chunk-G76PIGF7.js.map +1 -0
  283. package/dist/{chunk-XQWUVQ2F.js → chunk-GHGZI7PK.js} +6 -2
  284. package/dist/chunk-GHGZI7PK.js.map +1 -0
  285. package/dist/{chunk-4MQ6XTIJ.js → chunk-GJMWQUAD.js} +24 -13
  286. package/dist/chunk-GJMWQUAD.js.map +1 -0
  287. package/dist/{chunk-U4G3KY6L.js → chunk-GMU5AA3R.js} +8 -7
  288. package/dist/chunk-GMU5AA3R.js.map +1 -0
  289. package/dist/{chunk-ZFBFQK2Y.js → chunk-GPPUKDA6.js} +11 -12
  290. package/dist/chunk-GPPUKDA6.js.map +1 -0
  291. package/dist/{chunk-O36MIQIO.js → chunk-GPQ22MPR.js} +2 -2
  292. package/dist/{chunk-GRMBCJS6.js → chunk-H6R2L7VI.js} +4 -4
  293. package/dist/{chunk-AMLHEKSV.js → chunk-HI7JPDD6.js} +5 -5
  294. package/dist/{chunk-H3AQQOTI.js → chunk-HKGKQKQT.js} +9 -2
  295. package/dist/chunk-HKGKQKQT.js.map +1 -0
  296. package/dist/{chunk-CW6Y32N2.js → chunk-I2CT4XIP.js} +6 -6
  297. package/dist/{chunk-N34AOGK3.js → chunk-I3OKAQ5L.js} +7 -7
  298. package/dist/{chunk-AEYLFBZT.js → chunk-I4NDZFTB.js} +2 -2
  299. package/dist/{chunk-5J7SA4CZ.js → chunk-IASPZGYB.js} +28 -10
  300. package/dist/chunk-IASPZGYB.js.map +1 -0
  301. package/dist/{chunk-2ZRZTGWP.js → chunk-ISW5K72V.js} +5 -5
  302. package/dist/{chunk-KARMRTTM.js → chunk-J2RUDZVJ.js} +7 -7
  303. package/dist/{chunk-FTPTPASD.js → chunk-JBYFBPI6.js} +2 -5
  304. package/dist/{chunk-FTPTPASD.js.map → chunk-JBYFBPI6.js.map} +1 -1
  305. package/dist/{chunk-4M5GEKPM.js → chunk-JL4I7OQE.js} +4 -4
  306. package/dist/chunk-JQLQOIB3.js +1 -0
  307. package/dist/chunk-JQLQOIB3.js.map +1 -0
  308. package/dist/{chunk-NBXG3SQ3.js → chunk-JSY234NY.js} +5 -5
  309. package/dist/{chunk-HQCZT6TO.js → chunk-JVOEVTCZ.js} +5 -5
  310. package/dist/{chunk-MBMZNSBP.js → chunk-JW7MN4DG.js} +3 -3
  311. package/dist/{chunk-ZPACE34U.js → chunk-K53XSVQO.js} +10 -10
  312. package/dist/{chunk-RUF7TOAZ.js → chunk-KE74C2SM.js} +3 -2
  313. package/dist/{chunk-RUF7TOAZ.js.map → chunk-KE74C2SM.js.map} +1 -1
  314. package/dist/{chunk-GBVNY2LG.js → chunk-KTXJQ4YJ.js} +6 -6
  315. package/dist/{chunk-FCVPVEAS.js → chunk-KYE7I6NT.js} +7 -7
  316. package/dist/{chunk-MM7BPTVV.js → chunk-KYT5G4K7.js} +2 -2
  317. package/dist/{chunk-4VRDFZ4G.js → chunk-KYTFGW4R.js} +7 -3
  318. package/dist/chunk-KYTFGW4R.js.map +1 -0
  319. package/dist/chunk-L35TCXFA.js +74 -0
  320. package/dist/chunk-L35TCXFA.js.map +1 -0
  321. package/dist/{chunk-3V3Z4EML.js → chunk-L4FWEI2P.js} +5 -5
  322. package/dist/{chunk-7VRCGWQL.js → chunk-L7N4AFZD.js} +6 -5
  323. package/dist/chunk-L7N4AFZD.js.map +1 -0
  324. package/dist/{chunk-2TSGRQ2J.js → chunk-LHJJZ462.js} +4 -2
  325. package/dist/chunk-LHJJZ462.js.map +1 -0
  326. package/dist/{chunk-SV6IQ2YO.js → chunk-LIWONEAU.js} +6 -4
  327. package/dist/chunk-LIWONEAU.js.map +1 -0
  328. package/dist/chunk-LL2BWQPM.js +11 -0
  329. package/dist/chunk-LL2BWQPM.js.map +1 -0
  330. package/dist/{chunk-XYFBJH6F.js → chunk-LR473BUT.js} +19 -9
  331. package/dist/chunk-LR473BUT.js.map +1 -0
  332. package/dist/{chunk-56JF5PZK.js → chunk-LYVTJLCF.js} +4 -4
  333. package/dist/{chunk-M3DSPEZ3.js → chunk-M3ZNQTS5.js} +5 -5
  334. package/dist/{chunk-AYJ44VTJ.js → chunk-MBY7DWGT.js} +15 -13
  335. package/dist/chunk-MBY7DWGT.js.map +1 -0
  336. package/dist/{chunk-GBKIGUNP.js → chunk-MGDCGNLC.js} +3 -3
  337. package/dist/{chunk-BGYLL467.js → chunk-N3W6FZOC.js} +4 -4
  338. package/dist/{chunk-BWFUZ4N2.js → chunk-NA3M7KDE.js} +4 -4
  339. package/dist/{chunk-MTGEJRE4.js → chunk-NNKIM73H.js} +17 -4
  340. package/dist/chunk-NNKIM73H.js.map +1 -0
  341. package/dist/{chunk-OHXAJUO5.js → chunk-NPPO7G2B.js} +5 -3
  342. package/dist/{chunk-OHXAJUO5.js.map → chunk-NPPO7G2B.js.map} +1 -1
  343. package/dist/{chunk-FIOBPQL2.js → chunk-NUUX4BBR.js} +10 -3
  344. package/dist/chunk-NUUX4BBR.js.map +1 -0
  345. package/dist/{chunk-7JOLSD2W.js → chunk-P3QFJJJY.js} +3 -3
  346. package/dist/{chunk-RCTHCXS6.js → chunk-PJNIJIE6.js} +2 -2
  347. package/dist/{chunk-DXFKPY2K.js → chunk-PU3FQG7T.js} +4 -4
  348. package/dist/{chunk-6ATXOJVQ.js → chunk-QADTI63U.js} +4 -4
  349. package/dist/{chunk-FRGNTTPA.js → chunk-QDRHIK2R.js} +15 -10
  350. package/dist/chunk-QDRHIK2R.js.map +1 -0
  351. package/dist/{chunk-SUZXPDUQ.js → chunk-QJLOWBFW.js} +12 -6
  352. package/dist/chunk-QJLOWBFW.js.map +1 -0
  353. package/dist/chunk-QNAB53N3.js +1 -0
  354. package/dist/chunk-QNAB53N3.js.map +1 -0
  355. package/dist/{chunk-7ZROYGUG.js → chunk-QOTMQLMW.js} +2 -2
  356. package/dist/{chunk-NQCTANF3.js → chunk-QVDEGBME.js} +7 -7
  357. package/dist/{chunk-HEBZ7Q7O.js → chunk-QVYBRD6U.js} +7 -6
  358. package/dist/chunk-QVYBRD6U.js.map +1 -0
  359. package/dist/{chunk-VNVV6Y2X.js → chunk-RECD3XOL.js} +4 -2
  360. package/dist/chunk-RECD3XOL.js.map +1 -0
  361. package/dist/{chunk-JJVIZR6C.js → chunk-RIPG3QIN.js} +24 -13
  362. package/dist/chunk-RIPG3QIN.js.map +1 -0
  363. package/dist/{chunk-T743IIER.js → chunk-RNQA7MDM.js} +8 -4
  364. package/dist/chunk-RNQA7MDM.js.map +1 -0
  365. package/dist/{chunk-YNDTLBOH.js → chunk-RQMYEPRR.js} +2 -2
  366. package/dist/{chunk-3JDP5OUR.js → chunk-RQY5ONSF.js} +6 -2
  367. package/dist/chunk-RQY5ONSF.js.map +1 -0
  368. package/dist/{chunk-Y7YJYUNV.js → chunk-RRSLH2FV.js} +10 -3
  369. package/dist/chunk-RRSLH2FV.js.map +1 -0
  370. package/dist/{chunk-3Z3WIQ5M.js → chunk-RZ3QMKM7.js} +5 -5
  371. package/dist/{chunk-WA6F4NOO.js → chunk-SMANO5OD.js} +4 -4
  372. package/dist/{chunk-5M2NWXN4.js → chunk-SRNBD6EV.js} +2 -2
  373. package/dist/{chunk-7SYYGXC7.js → chunk-SSCEX5NY.js} +6 -2
  374. package/dist/chunk-SSCEX5NY.js.map +1 -0
  375. package/dist/{chunk-PU3HEWSG.js → chunk-SYSR2K2M.js} +13 -4
  376. package/dist/chunk-SYSR2K2M.js.map +1 -0
  377. package/dist/{chunk-R53ZOW4B.js → chunk-TGMMUKOF.js} +3 -3
  378. package/dist/{chunk-SB2SEGR6.js → chunk-TIM4PXWN.js} +3 -3
  379. package/dist/{chunk-555TUQ7E.js → chunk-TPGFR24B.js} +5 -5
  380. package/dist/{chunk-MHLYX6QW.js → chunk-TRAMTVIO.js} +5 -5
  381. package/dist/{chunk-QO7UJXXO.js → chunk-TVMSXL3R.js} +2 -2
  382. package/dist/{chunk-OE3SQOZV.js → chunk-U6XXAVBO.js} +13 -7
  383. package/dist/chunk-U6XXAVBO.js.map +1 -0
  384. package/dist/{chunk-CZV6NVCA.js → chunk-UG4EMHMW.js} +10 -7
  385. package/dist/chunk-UG4EMHMW.js.map +1 -0
  386. package/dist/{chunk-VEBNL5MG.js → chunk-UGYBN6OO.js} +2 -2
  387. package/dist/{chunk-AG3DY5TH.js → chunk-UHQZ5XPW.js} +5 -4
  388. package/dist/chunk-UHQZ5XPW.js.map +1 -0
  389. package/dist/{chunk-2QO3BKUQ.js → chunk-UJT6AQHL.js} +4 -4
  390. package/dist/{chunk-FTDGFWB5.js → chunk-UK3DSFMK.js} +5 -5
  391. package/dist/{chunk-NYWAAXDX.js → chunk-URAXAKUI.js} +3 -3
  392. package/dist/{chunk-XODBYGTH.js → chunk-V37QIB7B.js} +2 -2
  393. package/dist/{chunk-7K23NEZO.js → chunk-V45JGJ3W.js} +8 -8
  394. package/dist/{chunk-RA6W37NZ.js → chunk-V64USPG3.js} +11 -8
  395. package/dist/chunk-V64USPG3.js.map +1 -0
  396. package/dist/{chunk-HZK4DRGF.js → chunk-V7INHV5V.js} +6 -4
  397. package/dist/chunk-V7INHV5V.js.map +1 -0
  398. package/dist/{chunk-RZCXYKY4.js → chunk-VFVATUC6.js} +6 -2
  399. package/dist/chunk-VFVATUC6.js.map +1 -0
  400. package/dist/{chunk-2MYSXWZQ.js → chunk-VKTF3GAP.js} +9 -9
  401. package/dist/{chunk-ICRVLGWD.js → chunk-VMU52I5D.js} +8 -2
  402. package/dist/chunk-VMU52I5D.js.map +1 -0
  403. package/dist/{chunk-KHIUYLKY.js → chunk-VQ6UB4MN.js} +8 -8
  404. package/dist/{chunk-LTTYUSJ2.js → chunk-VTDZUO2J.js} +4 -2
  405. package/dist/chunk-VTDZUO2J.js.map +1 -0
  406. package/dist/{chunk-4HUSG5MR.js → chunk-VZVAP2ZR.js} +2 -2
  407. package/dist/{chunk-4XBAEKQQ.js → chunk-W2RXXF7K.js} +4 -4
  408. package/dist/chunk-W5PRZHLU.js +74 -0
  409. package/dist/chunk-W5PRZHLU.js.map +1 -0
  410. package/dist/{chunk-A2YLFKQU.js → chunk-W5WYTVLS.js} +2 -2
  411. package/dist/{chunk-EUACQR6N.js → chunk-WE43PZ4P.js} +7 -5
  412. package/dist/chunk-WE43PZ4P.js.map +1 -0
  413. package/dist/{chunk-RHKQ2RSY.js → chunk-WUW6NDXC.js} +15 -15
  414. package/dist/{chunk-EBCEDBHX.js → chunk-XDDKRACZ.js} +3 -3
  415. package/dist/{chunk-SLSED46V.js → chunk-Y3DV7LGC.js} +2 -1
  416. package/dist/{chunk-SLSED46V.js.map → chunk-Y3DV7LGC.js.map} +1 -1
  417. package/dist/{chunk-ASZGMKB4.js → chunk-Y3TD7HOY.js} +2 -2
  418. package/dist/{chunk-HBHBRRSW.js → chunk-YBAK2WN5.js} +7 -7
  419. package/dist/{chunk-LOLYI6PS.js → chunk-YCZGYYUX.js} +11 -8
  420. package/dist/chunk-YCZGYYUX.js.map +1 -0
  421. package/dist/{chunk-KT3TF2LT.js → chunk-YJ6UQDA6.js} +7 -5
  422. package/dist/chunk-YJ6UQDA6.js.map +1 -0
  423. package/dist/{chunk-6RTE4UNO.js → chunk-YV4O7KDR.js} +1 -1
  424. package/dist/{chunk-Z5V5E3JW.js → chunk-ZIHSCBMN.js} +10 -10
  425. package/dist/data-display/Alert.js +3 -3
  426. package/dist/data-display/AlertDialog.js +2 -1
  427. package/dist/data-display/AsyncStateContainer.js +3 -3
  428. package/dist/data-display/Avatar.js +4 -4
  429. package/dist/data-display/CardKit.js +18 -17
  430. package/dist/data-display/Carousel.js +7 -4
  431. package/dist/data-display/Chart.js +11 -11
  432. package/dist/data-display/DataGrid.js +2 -2
  433. package/dist/data-display/DataViews.js +86 -85
  434. package/dist/data-display/EmptyState.js +2 -2
  435. package/dist/data-display/FleetMap.js +15 -12
  436. package/dist/data-display/HoverCard.js +2 -2
  437. package/dist/data-display/InteractiveTooltip.js +2 -2
  438. package/dist/data-display/LazyImage.js +3 -2
  439. package/dist/data-display/Lightbox.js +6 -6
  440. package/dist/data-display/MapPreview.js +9 -6
  441. package/dist/data-display/Progress.js +2 -2
  442. package/dist/data-display/SectionOnboarding.js +6 -4
  443. package/dist/data-display/Sheet.js +4 -4
  444. package/dist/data-display/Stepper.js +3 -1
  445. package/dist/data-display/Table.js +6 -4
  446. package/dist/data-display/Timeline.js +4 -2
  447. package/dist/en-US.js +16 -12
  448. package/dist/feedback/ConfirmAction.js +9 -8
  449. package/dist/feedback/Dialog.js +3 -2
  450. package/dist/feedback/NotificationStatusNotice.js +4 -4
  451. package/dist/feedback/SequenceResolver.js +12 -11
  452. package/dist/feedback/Sonner.js +3 -2
  453. package/dist/feedback/StackedModal.js +7 -6
  454. package/dist/feedback/Toast.js +2 -1
  455. package/dist/feedback/TutorialOverlay.js +3 -2
  456. package/dist/form/AddressAutocomplete.js +12 -10
  457. package/dist/form/Autocomplete.js +2 -2
  458. package/dist/form/Calendar.js +6 -6
  459. package/dist/form/CategorySelect.js +9 -9
  460. package/dist/form/Checkbox.js +2 -2
  461. package/dist/form/CodeEditor.js +3 -3
  462. package/dist/form/DateRangePicker.js +9 -9
  463. package/dist/form/InputOTP.js +2 -2
  464. package/dist/form/Menubar.js +2 -2
  465. package/dist/form/PhoneInput.js +3 -3
  466. package/dist/form/PickerSheet.js +4 -4
  467. package/dist/form/RichTextEditor.js +7 -5
  468. package/dist/form/Switch.js +4 -4
  469. package/dist/form/Textarea.js +1 -1
  470. package/dist/form/UploadButton.js +3 -2
  471. package/dist/form/total-form.js +18 -17
  472. package/dist/layout/Card.js +2 -2
  473. package/dist/layout/ContentToolbar.js +11 -10
  474. package/dist/layout/Dashboard.js +2 -1
  475. package/dist/layout/ScrollArea.js +3 -3
  476. package/dist/layout/SettingCard.js +17 -17
  477. package/dist/layout/SettingsLayout.js +6 -6
  478. package/dist/locales.js +36 -28
  479. package/dist/locales.js.map +1 -1
  480. package/dist/native/chunks/{chunk-BXNZHDXK.js → chunk-4SP3BDPZ.js} +12 -5
  481. package/dist/native/chunks/chunk-4SP3BDPZ.js.map +1 -0
  482. package/dist/native/chunks/{chunk-AVHGS66L.js → chunk-FGAX5BRS.js} +2 -2
  483. package/dist/native/chunks/chunk-SPK34J7Y.js +74 -0
  484. package/dist/native/chunks/chunk-SPK34J7Y.js.map +1 -0
  485. package/dist/native/data-display/Badge.js +9 -3
  486. package/dist/native/data-display/Badge.js.map +1 -1
  487. package/dist/native/data-display/Chip.js +9 -1
  488. package/dist/native/data-display/Chip.js.map +1 -1
  489. package/dist/native/data-display/EmptyState.js +3 -2
  490. package/dist/native/data-display/ErrorState.js +2 -1
  491. package/dist/native/data-display/ErrorState.js.map +1 -1
  492. package/dist/native/data-display/FleetMap.js +3 -2
  493. package/dist/native/data-display/FleetMap.js.map +1 -1
  494. package/dist/native/feedback/Dialog.js +20 -3
  495. package/dist/native/feedback/Dialog.js.map +1 -1
  496. package/dist/native/form/Button.js +2 -1
  497. package/dist/native/form/Checkbox.js +6 -1
  498. package/dist/native/form/Checkbox.js.map +1 -1
  499. package/dist/native/form/Input.js +11 -3
  500. package/dist/native/form/Input.js.map +1 -1
  501. package/dist/native/form/Switch.js +5 -1
  502. package/dist/native/form/Switch.js.map +1 -1
  503. package/dist/navigation/AppHeader.js +10 -9
  504. package/dist/navigation/CommandPalette.js +6 -4
  505. package/dist/navigation/NavigationMenu.js +7 -6
  506. package/dist/navigation/Pagination.js +2 -2
  507. package/dist/navigation/SectionNav.js +5 -5
  508. package/dist/pt-BR.js +10 -6
  509. package/dist/social-login-button.js +4 -4
  510. package/dist/types/components/data-display/AlertDialog/AlertDialog.d.ts.map +1 -1
  511. package/dist/types/components/data-display/AlertDialog/AlertDialog.types.d.ts +5 -0
  512. package/dist/types/components/data-display/AlertDialog/AlertDialog.types.d.ts.map +1 -1
  513. package/dist/types/components/data-display/Carousel/Carousel.chrome.d.ts.map +1 -1
  514. package/dist/types/components/data-display/Carousel/Carousel.parts.d.ts.map +1 -1
  515. package/dist/types/components/data-display/Carousel/Carousel.types.d.ts +2 -0
  516. package/dist/types/components/data-display/Carousel/Carousel.types.d.ts.map +1 -1
  517. package/dist/types/components/data-display/LazyImage/LazyImage.d.ts.map +1 -1
  518. package/dist/types/components/data-display/LazyImage/LazyImage.types.d.ts +10 -0
  519. package/dist/types/components/data-display/LazyImage/LazyImage.types.d.ts.map +1 -1
  520. package/dist/types/components/data-display/MapPreview/MapControlBar.d.ts.map +1 -1
  521. package/dist/types/components/data-display/MapPreview/MapLayers.d.ts +1 -1
  522. package/dist/types/components/data-display/MapPreview/MapLayers.d.ts.map +1 -1
  523. package/dist/types/components/data-display/MapPreview/MapMarkers.d.ts +2 -0
  524. package/dist/types/components/data-display/MapPreview/MapMarkers.d.ts.map +1 -1
  525. package/dist/types/components/data-display/MapPreview/MapPreview.d.ts.map +1 -1
  526. package/dist/types/components/data-display/MapPreview/MapPreview.helpers.d.ts +7 -1
  527. package/dist/types/components/data-display/MapPreview/MapPreview.helpers.d.ts.map +1 -1
  528. package/dist/types/components/data-display/Stepper/Stepper.d.ts.map +1 -1
  529. package/dist/types/components/data-display/Stepper/Stepper.types.d.ts +4 -0
  530. package/dist/types/components/data-display/Stepper/Stepper.types.d.ts.map +1 -1
  531. package/dist/types/components/data-display/Table/Table.d.ts.map +1 -1
  532. package/dist/types/components/data-display/Table/Table.helpers.d.ts.map +1 -1
  533. package/dist/types/components/data-display/Table/Table.types.d.ts +11 -0
  534. package/dist/types/components/data-display/Table/Table.types.d.ts.map +1 -1
  535. package/dist/types/components/data-display/Table/TableParts.d.ts +2 -1
  536. package/dist/types/components/data-display/Table/TableParts.d.ts.map +1 -1
  537. package/dist/types/components/data-display/Table/TableParts.hooks.d.ts +2 -2
  538. package/dist/types/components/data-display/Table/TableParts.hooks.d.ts.map +1 -1
  539. package/dist/types/components/data-display/Timeline/Timeline.d.ts.map +1 -1
  540. package/dist/types/components/data-display/Timeline/Timeline.types.d.ts +3 -0
  541. package/dist/types/components/data-display/Timeline/Timeline.types.d.ts.map +1 -1
  542. package/dist/types/components/data-display/Timeline/TimelineRow.d.ts +2 -0
  543. package/dist/types/components/data-display/Timeline/TimelineRow.d.ts.map +1 -1
  544. package/dist/types/components/feedback/Dialog/Dialog.base.d.ts +10 -0
  545. package/dist/types/components/feedback/Dialog/Dialog.base.d.ts.map +1 -1
  546. package/dist/types/components/feedback/Dialog/Dialog.d.ts.map +1 -1
  547. package/dist/types/components/feedback/Sonner/Sonner.d.ts +6 -0
  548. package/dist/types/components/feedback/Sonner/Sonner.d.ts.map +1 -1
  549. package/dist/types/components/feedback/Sonner/SonnerToast.d.ts.map +1 -1
  550. package/dist/types/components/feedback/StackedModal/StackedModal.d.ts.map +1 -1
  551. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts +2 -0
  552. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts.map +1 -1
  553. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts +5 -0
  554. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts.map +1 -1
  555. package/dist/types/components/feedback/Toast/Toast.d.ts.map +1 -1
  556. package/dist/types/components/feedback/Toast/Toast.types.d.ts +5 -0
  557. package/dist/types/components/feedback/Toast/Toast.types.d.ts.map +1 -1
  558. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.d.ts.map +1 -1
  559. package/dist/types/components/feedback/TutorialOverlay/TutorialStepBody.d.ts.map +1 -1
  560. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.d.ts.map +1 -1
  561. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.helpers.d.ts +1 -1
  562. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.helpers.d.ts.map +1 -1
  563. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.hooks.d.ts +3 -1
  564. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.hooks.d.ts.map +1 -1
  565. package/dist/types/components/form/AddressAutocomplete/AddressAutocompleteField.d.ts.map +1 -1
  566. package/dist/types/components/form/AddressAutocomplete/useAddressPredictions.d.ts +2 -1
  567. package/dist/types/components/form/AddressAutocomplete/useAddressPredictions.d.ts.map +1 -1
  568. package/dist/types/components/form/AddressAutocomplete/useAddressSelection.d.ts +3 -1
  569. package/dist/types/components/form/AddressAutocomplete/useAddressSelection.d.ts.map +1 -1
  570. package/dist/types/components/form/AddressAutocomplete/useCurrentLocation.d.ts +3 -1
  571. package/dist/types/components/form/AddressAutocomplete/useCurrentLocation.d.ts.map +1 -1
  572. package/dist/types/components/form/AddressAutocomplete/useGoogleMapsAPI.d.ts +4 -1
  573. package/dist/types/components/form/AddressAutocomplete/useGoogleMapsAPI.d.ts.map +1 -1
  574. package/dist/types/components/form/Button/Button.native.loading.d.ts +2 -1
  575. package/dist/types/components/form/Button/Button.native.loading.d.ts.map +1 -1
  576. package/dist/types/components/form/Calendar/CalendarDay.d.ts.map +1 -1
  577. package/dist/types/components/form/Calendar/CalendarMonth.d.ts.map +1 -1
  578. package/dist/types/components/form/PhoneInput/PhoneInput.d.ts.map +1 -1
  579. package/dist/types/components/form/PhoneInput/PhoneInput.types.d.ts +1 -0
  580. package/dist/types/components/form/PhoneInput/PhoneInput.types.d.ts.map +1 -1
  581. package/dist/types/components/form/PhoneInput/countries.d.ts +6 -0
  582. package/dist/types/components/form/PhoneInput/countries.d.ts.map +1 -1
  583. package/dist/types/components/form/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  584. package/dist/types/components/form/RichTextEditor/RichTextEditor.dom.d.ts +1 -1
  585. package/dist/types/components/form/RichTextEditor/RichTextEditor.dom.d.ts.map +1 -1
  586. package/dist/types/components/form/RichTextEditor/RichTextEditor.format.d.ts +2 -1
  587. package/dist/types/components/form/RichTextEditor/RichTextEditor.format.d.ts.map +1 -1
  588. package/dist/types/components/form/RichTextEditor/RichTextEditor.hooks.d.ts +2 -1
  589. package/dist/types/components/form/RichTextEditor/RichTextEditor.hooks.d.ts.map +1 -1
  590. package/dist/types/components/form/RichTextEditor/RichTextEditor.types.d.ts +7 -1
  591. package/dist/types/components/form/RichTextEditor/RichTextEditor.types.d.ts.map +1 -1
  592. package/dist/types/components/form/RichTextEditor/RichTextEditorToolbar.d.ts +2 -0
  593. package/dist/types/components/form/RichTextEditor/RichTextEditorToolbar.d.ts.map +1 -1
  594. package/dist/types/components/form/Textarea/TextareaRichEditor.d.ts.map +1 -1
  595. package/dist/types/components/form/UploadButton/UploadButton.hooks.d.ts.map +1 -1
  596. package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts +14 -0
  597. package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts.map +1 -1
  598. package/dist/types/components/layout/ContentToolbar/FilterTrigger.d.ts +1 -1
  599. package/dist/types/components/layout/ContentToolbar/FilterTrigger.d.ts.map +1 -1
  600. package/dist/types/components/layout/ContentToolbar/ViewSelector.d.ts +1 -1
  601. package/dist/types/components/layout/ContentToolbar/ViewSelector.d.ts.map +1 -1
  602. package/dist/types/components/layout/Dashboard/Dashboard.d.ts +1 -1
  603. package/dist/types/components/layout/Dashboard/Dashboard.d.ts.map +1 -1
  604. package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts +5 -0
  605. package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts.map +1 -1
  606. package/dist/types/components/navigation/CommandPalette/CommandPalette.d.ts.map +1 -1
  607. package/dist/types/components/navigation/CommandPalette/CommandPalette.helpers.d.ts +1 -1
  608. package/dist/types/components/navigation/CommandPalette/CommandPalette.helpers.d.ts.map +1 -1
  609. package/dist/types/components/navigation/CommandPalette/CommandPalette.hooks.d.ts +2 -1
  610. package/dist/types/components/navigation/CommandPalette/CommandPalette.hooks.d.ts.map +1 -1
  611. package/dist/types/components/navigation/CommandPalette/CommandPaletteResults.d.ts.map +1 -1
  612. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.d.ts.map +1 -1
  613. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts +1 -0
  614. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts.map +1 -1
  615. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.types.d.ts +11 -0
  616. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.types.d.ts.map +1 -1
  617. package/dist/types/components/navigation/NavigationMenu/NavigationMenuItem.d.ts.map +1 -1
  618. package/dist/types/components/navigation/NavigationMenu/NavigationStandardBody.d.ts +4 -0
  619. package/dist/types/components/navigation/NavigationMenu/NavigationStandardBody.d.ts.map +1 -1
  620. package/dist/types/components/typography/Code/Code.d.ts.map +1 -1
  621. package/dist/types/components/typography/Code/Code.types.d.ts +4 -0
  622. package/dist/types/components/typography/Code/Code.types.d.ts.map +1 -1
  623. package/dist/types/components/utility/WorkflowStep/WorkflowStep.d.ts.map +1 -1
  624. package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts +4 -1
  625. package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts.map +1 -1
  626. package/dist/types/components/utility/WorkflowStep/WorkflowStep.parts.d.ts.map +1 -1
  627. package/dist/types/components/utility/WorkflowStep/WorkflowStep.types.d.ts +9 -0
  628. package/dist/types/components/utility/WorkflowStep/WorkflowStep.types.d.ts.map +1 -1
  629. package/dist/types/components/utility/WorkflowStep/WorkflowStepRow.d.ts +1 -0
  630. package/dist/types/components/utility/WorkflowStep/WorkflowStepRow.d.ts.map +1 -1
  631. package/dist/types/copy/data-display.d.ts +24 -0
  632. package/dist/types/copy/data-display.d.ts.map +1 -1
  633. package/dist/types/copy/feedback.d.ts +4 -0
  634. package/dist/types/copy/feedback.d.ts.map +1 -1
  635. package/dist/types/copy/form.d.ts +58 -0
  636. package/dist/types/copy/form.d.ts.map +1 -1
  637. package/dist/types/copy/labels.d.ts +108 -0
  638. package/dist/types/copy/labels.d.ts.map +1 -0
  639. package/dist/types/copy/navigation.d.ts +12 -0
  640. package/dist/types/copy/navigation.d.ts.map +1 -1
  641. package/dist/types/copy/utility.d.ts +8 -1
  642. package/dist/types/copy/utility.d.ts.map +1 -1
  643. package/dist/types/copy.d.ts +1 -0
  644. package/dist/types/copy.d.ts.map +1 -1
  645. package/dist/types/en-US.d.ts +1 -0
  646. package/dist/types/en-US.d.ts.map +1 -1
  647. package/dist/types/en-US.data-display.d.ts +2 -2
  648. package/dist/types/en-US.data-display.d.ts.map +1 -1
  649. package/dist/types/en-US.feedback.d.ts +1 -1
  650. package/dist/types/en-US.feedback.d.ts.map +1 -1
  651. package/dist/types/en-US.form.d.ts +4 -4
  652. package/dist/types/en-US.form.d.ts.map +1 -1
  653. package/dist/types/en-US.labels.d.ts +9 -0
  654. package/dist/types/en-US.labels.d.ts.map +1 -0
  655. package/dist/types/en-US.navigation.d.ts +1 -1
  656. package/dist/types/en-US.navigation.d.ts.map +1 -1
  657. package/dist/types/en-US.utility.d.ts +1 -1
  658. package/dist/types/en-US.utility.d.ts.map +1 -1
  659. package/dist/types/locales.d.ts +2 -1
  660. package/dist/types/locales.d.ts.map +1 -1
  661. package/dist/types/pt-BR.d.ts +1 -0
  662. package/dist/types/pt-BR.d.ts.map +1 -1
  663. package/dist/types/pt-BR.data-display.d.ts +2 -2
  664. package/dist/types/pt-BR.data-display.d.ts.map +1 -1
  665. package/dist/types/pt-BR.feedback.d.ts +1 -1
  666. package/dist/types/pt-BR.feedback.d.ts.map +1 -1
  667. package/dist/types/pt-BR.form.d.ts +4 -4
  668. package/dist/types/pt-BR.form.d.ts.map +1 -1
  669. package/dist/types/pt-BR.labels.d.ts +8 -0
  670. package/dist/types/pt-BR.labels.d.ts.map +1 -0
  671. package/dist/types/pt-BR.navigation.d.ts +1 -1
  672. package/dist/types/pt-BR.navigation.d.ts.map +1 -1
  673. package/dist/types/pt-BR.utility.d.ts +1 -1
  674. package/dist/types/pt-BR.utility.d.ts.map +1 -1
  675. package/dist/types/user-avatar/user-avatar.d.ts +6 -1
  676. package/dist/types/user-avatar/user-avatar.d.ts.map +1 -1
  677. package/dist/types/utils/resolve-labels.d.ts +9 -0
  678. package/dist/types/utils/resolve-labels.d.ts.map +1 -0
  679. package/dist/types-native/components/data-display/Badge/Badge.native.d.ts +1 -0
  680. package/dist/types-native/components/data-display/Badge/Badge.native.d.ts.map +1 -1
  681. package/dist/types-native/components/data-display/Badge/Badge.types.native.d.ts +2 -0
  682. package/dist/types-native/components/data-display/Badge/Badge.types.native.d.ts.map +1 -1
  683. package/dist/types-native/components/data-display/Badge/BadgeContent.native.d.ts +2 -1
  684. package/dist/types-native/components/data-display/Badge/BadgeContent.native.d.ts.map +1 -1
  685. package/dist/types-native/components/data-display/Chip/Chip.native.d.ts +1 -0
  686. package/dist/types-native/components/data-display/Chip/Chip.native.d.ts.map +1 -1
  687. package/dist/types-native/components/data-display/Chip/Chip.types.native.d.ts +2 -0
  688. package/dist/types-native/components/data-display/Chip/Chip.types.native.d.ts.map +1 -1
  689. package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts +10 -0
  690. package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts.map +1 -1
  691. package/dist/types-native/components/feedback/Dialog/Dialog.native.d.ts.map +1 -1
  692. package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts +1 -1
  693. package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts.map +1 -1
  694. package/dist/types-native/components/form/Button/Button.native.d.ts +1 -0
  695. package/dist/types-native/components/form/Button/Button.native.d.ts.map +1 -1
  696. package/dist/types-native/components/form/Button/Button.native.loading.d.ts +2 -1
  697. package/dist/types-native/components/form/Button/Button.native.loading.d.ts.map +1 -1
  698. package/dist/types-native/components/form/Button/Button.types.native.d.ts +2 -0
  699. package/dist/types-native/components/form/Button/Button.types.native.d.ts.map +1 -1
  700. package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts +1 -0
  701. package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts.map +1 -1
  702. package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts +2 -0
  703. package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts.map +1 -1
  704. package/dist/types-native/components/form/Input/Input.native.d.ts +1 -0
  705. package/dist/types-native/components/form/Input/Input.native.d.ts.map +1 -1
  706. package/dist/types-native/components/form/Input/Input.types.native.d.ts +2 -0
  707. package/dist/types-native/components/form/Input/Input.types.native.d.ts.map +1 -1
  708. package/dist/types-native/components/form/Switch/Switch.native.d.ts +1 -0
  709. package/dist/types-native/components/form/Switch/Switch.native.d.ts.map +1 -1
  710. package/dist/types-native/components/form/Switch/Switch.types.native.d.ts +2 -0
  711. package/dist/types-native/components/form/Switch/Switch.types.native.d.ts.map +1 -1
  712. package/dist/types-native/copy/data-display.d.ts +119 -0
  713. package/dist/types-native/copy/data-display.d.ts.map +1 -0
  714. package/dist/types-native/copy/labels.d.ts +108 -0
  715. package/dist/types-native/copy/labels.d.ts.map +1 -0
  716. package/dist/types-native/en-US.labels.d.ts +9 -0
  717. package/dist/types-native/en-US.labels.d.ts.map +1 -0
  718. package/dist/typography/Code.js +2 -1
  719. package/dist/user-avatar.js +8 -7
  720. package/dist/utility/InstallPrompt.js +2 -2
  721. package/dist/utility/WorkflowStep.js +6 -4
  722. package/package.json +2 -2
  723. package/src/components/data-display/AlertDialog/AlertDialog.tsx +3 -1
  724. package/src/components/data-display/AlertDialog/AlertDialog.types.ts +6 -0
  725. package/src/components/data-display/Badge/Badge.native.tsx +2 -0
  726. package/src/components/data-display/Badge/Badge.types.native.ts +2 -0
  727. package/src/components/data-display/Badge/BadgeContent.native.tsx +4 -1
  728. package/src/components/data-display/Carousel/Carousel.chrome.tsx +1 -0
  729. package/src/components/data-display/Carousel/Carousel.parts.tsx +13 -9
  730. package/src/components/data-display/Carousel/Carousel.types.ts +2 -0
  731. package/src/components/data-display/Chip/Chip.native.tsx +9 -1
  732. package/src/components/data-display/Chip/Chip.types.native.ts +2 -0
  733. package/src/components/data-display/LazyImage/LazyImage.hooks.ts +1 -1
  734. package/src/components/data-display/LazyImage/LazyImage.tsx +4 -4
  735. package/src/components/data-display/LazyImage/LazyImage.types.ts +12 -0
  736. package/src/components/data-display/MapPreview/MapControlBar.tsx +7 -3
  737. package/src/components/data-display/MapPreview/MapLayers.tsx +2 -2
  738. package/src/components/data-display/MapPreview/MapMarkers.tsx +13 -4
  739. package/src/components/data-display/MapPreview/MapPreview.helpers.ts +13 -2
  740. package/src/components/data-display/MapPreview/MapPreview.tsx +7 -3
  741. package/src/components/data-display/Stepper/Stepper.tsx +41 -7
  742. package/src/components/data-display/Stepper/Stepper.types.ts +4 -0
  743. package/src/components/data-display/Table/Table.helpers.ts +1 -0
  744. package/src/components/data-display/Table/Table.tsx +4 -5
  745. package/src/components/data-display/Table/Table.types.ts +12 -0
  746. package/src/components/data-display/Table/TableParts.hooks.tsx +8 -1
  747. package/src/components/data-display/Table/TableParts.tsx +19 -5
  748. package/src/components/data-display/Timeline/Timeline.tsx +6 -1
  749. package/src/components/data-display/Timeline/Timeline.types.ts +3 -0
  750. package/src/components/data-display/Timeline/TimelineRow.tsx +11 -4
  751. package/src/components/feedback/Dialog/Dialog.base.ts +10 -0
  752. package/src/components/feedback/Dialog/Dialog.native.tsx +2 -0
  753. package/src/components/feedback/Dialog/Dialog.tsx +5 -1
  754. package/src/components/feedback/Dialog/DialogParts.native.tsx +17 -3
  755. package/src/components/feedback/Sonner/Sonner.tsx +16 -6
  756. package/src/components/feedback/Sonner/SonnerToast.tsx +4 -2
  757. package/src/components/feedback/StackedModal/StackedModal.parts.tsx +24 -3
  758. package/src/components/feedback/StackedModal/StackedModal.tsx +2 -1
  759. package/src/components/feedback/StackedModal/StackedModal.types.ts +5 -0
  760. package/src/components/feedback/Toast/Toast.tsx +5 -2
  761. package/src/components/feedback/Toast/Toast.types.ts +5 -0
  762. package/src/components/feedback/TutorialOverlay/TutorialOverlay.tsx +3 -1
  763. package/src/components/feedback/TutorialOverlay/TutorialStepBody.tsx +12 -3
  764. package/src/components/form/AddressAutocomplete/AddressAutocomplete.helpers.ts +12 -6
  765. package/src/components/form/AddressAutocomplete/AddressAutocomplete.hooks.ts +15 -2
  766. package/src/components/form/AddressAutocomplete/AddressAutocomplete.tsx +1 -0
  767. package/src/components/form/AddressAutocomplete/AddressAutocompleteField.tsx +9 -3
  768. package/src/components/form/AddressAutocomplete/useAddressPredictions.ts +6 -3
  769. package/src/components/form/AddressAutocomplete/useAddressSelection.ts +8 -4
  770. package/src/components/form/AddressAutocomplete/useCurrentLocation.ts +12 -8
  771. package/src/components/form/AddressAutocomplete/useGoogleMapsAPI.ts +8 -4
  772. package/src/components/form/Button/Button.native.loading.tsx +11 -2
  773. package/src/components/form/Button/Button.native.tsx +2 -2
  774. package/src/components/form/Button/Button.types.native.ts +2 -0
  775. package/src/components/form/Calendar/Calendar.md +7 -0
  776. package/src/components/form/Calendar/CalendarDay.tsx +13 -2
  777. package/src/components/form/Calendar/CalendarMonth.tsx +11 -2
  778. package/src/components/form/Checkbox/Checkbox.native.tsx +5 -2
  779. package/src/components/form/Checkbox/Checkbox.types.native.ts +2 -0
  780. package/src/components/form/Input/Input.native.tsx +13 -4
  781. package/src/components/form/Input/Input.types.native.ts +2 -0
  782. package/src/components/form/PhoneInput/PhoneInput.md +2 -2
  783. package/src/components/form/PhoneInput/PhoneInput.tsx +21 -10
  784. package/src/components/form/PhoneInput/PhoneInput.types.ts +1 -0
  785. package/src/components/form/PhoneInput/countries.ts +18 -1
  786. package/src/components/form/RichTextEditor/RichTextEditor.dom.ts +5 -3
  787. package/src/components/form/RichTextEditor/RichTextEditor.format.ts +3 -1
  788. package/src/components/form/RichTextEditor/RichTextEditor.hooks.ts +4 -1
  789. package/src/components/form/RichTextEditor/RichTextEditor.tsx +10 -4
  790. package/src/components/form/RichTextEditor/RichTextEditor.types.ts +7 -1
  791. package/src/components/form/RichTextEditor/RichTextEditorToolbar.tsx +29 -19
  792. package/src/components/form/Switch/Switch.native.tsx +4 -3
  793. package/src/components/form/Switch/Switch.types.native.ts +2 -0
  794. package/src/components/form/Textarea/TextareaRichEditor.tsx +2 -1
  795. package/src/components/form/UploadButton/UploadButton.hooks.ts +16 -6
  796. package/src/components/layout/ContentToolbar/ContentToolbar.types.ts +14 -0
  797. package/src/components/layout/ContentToolbar/FilterTrigger.tsx +10 -1
  798. package/src/components/layout/ContentToolbar/ViewSelector.tsx +15 -5
  799. package/src/components/layout/Dashboard/Dashboard.tsx +3 -1
  800. package/src/components/layout/Dashboard/Dashboard.types.ts +5 -0
  801. package/src/components/navigation/CommandPalette/CommandPalette.helpers.ts +6 -2
  802. package/src/components/navigation/CommandPalette/CommandPalette.hooks.ts +9 -1
  803. package/src/components/navigation/CommandPalette/CommandPalette.tsx +16 -6
  804. package/src/components/navigation/CommandPalette/CommandPaletteResults.tsx +3 -1
  805. package/src/components/navigation/NavigationMenu/NavigationMenu.shell.tsx +7 -4
  806. package/src/components/navigation/NavigationMenu/NavigationMenu.tsx +4 -0
  807. package/src/components/navigation/NavigationMenu/NavigationMenu.types.ts +13 -0
  808. package/src/components/navigation/NavigationMenu/NavigationMenuItem.tsx +2 -0
  809. package/src/components/navigation/NavigationMenu/NavigationStandardBody.tsx +24 -4
  810. package/src/components/typography/Code/Code.tsx +28 -6
  811. package/src/components/typography/Code/Code.types.ts +4 -0
  812. package/src/components/utility/WorkflowStep/WorkflowStep.helpers.ts +9 -1
  813. package/src/components/utility/WorkflowStep/WorkflowStep.parts.tsx +3 -2
  814. package/src/components/utility/WorkflowStep/WorkflowStep.tsx +3 -1
  815. package/src/components/utility/WorkflowStep/WorkflowStep.types.ts +10 -0
  816. package/src/components/utility/WorkflowStep/WorkflowStepRow.tsx +3 -0
  817. package/src/copy/data-display.ts +19 -0
  818. package/src/copy/feedback.ts +4 -0
  819. package/src/copy/form.ts +58 -0
  820. package/src/copy/labels.ts +120 -0
  821. package/src/copy/navigation.ts +12 -0
  822. package/src/copy/utility.ts +8 -1
  823. package/src/copy.ts +1 -0
  824. package/src/en-US.data-display.ts +9 -2
  825. package/src/en-US.feedback.ts +3 -1
  826. package/src/en-US.form.ts +27 -4
  827. package/src/en-US.labels.ts +76 -0
  828. package/src/en-US.navigation.ts +5 -1
  829. package/src/en-US.ts +1 -0
  830. package/src/en-US.utility.ts +3 -1
  831. package/src/locales.ts +4 -0
  832. package/src/pt-BR.data-display.ts +9 -2
  833. package/src/pt-BR.feedback.ts +3 -1
  834. package/src/pt-BR.form.ts +40 -4
  835. package/src/pt-BR.labels.ts +75 -0
  836. package/src/pt-BR.navigation.ts +5 -1
  837. package/src/pt-BR.ts +1 -0
  838. package/src/pt-BR.utility.ts +3 -1
  839. package/src/user-avatar/user-avatar.tsx +11 -2
  840. package/src/utils/resolve-labels.ts +12 -0
  841. package/dist/chunk-2ARVNCVU.js.map +0 -1
  842. package/dist/chunk-2ILXXBMG.js.map +0 -1
  843. package/dist/chunk-2TSGRQ2J.js.map +0 -1
  844. package/dist/chunk-33LAPBYB.js.map +0 -1
  845. package/dist/chunk-3JDP5OUR.js.map +0 -1
  846. package/dist/chunk-3VXS7O3X.js.map +0 -1
  847. package/dist/chunk-4MQ6XTIJ.js.map +0 -1
  848. package/dist/chunk-4NQXHPQR.js.map +0 -1
  849. package/dist/chunk-4VRDFZ4G.js.map +0 -1
  850. package/dist/chunk-5J7SA4CZ.js.map +0 -1
  851. package/dist/chunk-7QXEEZFO.js +0 -92
  852. package/dist/chunk-7QXEEZFO.js.map +0 -1
  853. package/dist/chunk-7SYYGXC7.js.map +0 -1
  854. package/dist/chunk-7VRCGWQL.js.map +0 -1
  855. package/dist/chunk-AG3DY5TH.js.map +0 -1
  856. package/dist/chunk-AYJ44VTJ.js.map +0 -1
  857. package/dist/chunk-AYP6ICAY.js.map +0 -1
  858. package/dist/chunk-B2JYQBO4.js.map +0 -1
  859. package/dist/chunk-BWZKLKDT.js +0 -1
  860. package/dist/chunk-C5JCARNE.js.map +0 -1
  861. package/dist/chunk-CZV6NVCA.js.map +0 -1
  862. package/dist/chunk-EUACQR6N.js.map +0 -1
  863. package/dist/chunk-FIOBPQL2.js.map +0 -1
  864. package/dist/chunk-FRGNTTPA.js.map +0 -1
  865. package/dist/chunk-FT6HBP5E.js.map +0 -1
  866. package/dist/chunk-H3AQQOTI.js.map +0 -1
  867. package/dist/chunk-HEBZ7Q7O.js.map +0 -1
  868. package/dist/chunk-HZK4DRGF.js.map +0 -1
  869. package/dist/chunk-ICRVLGWD.js.map +0 -1
  870. package/dist/chunk-INGPH3YQ.js.map +0 -1
  871. package/dist/chunk-JJVIZR6C.js.map +0 -1
  872. package/dist/chunk-KIL3OVLI.js.map +0 -1
  873. package/dist/chunk-KT3TF2LT.js.map +0 -1
  874. package/dist/chunk-KZXOIRUP.js.map +0 -1
  875. package/dist/chunk-LH4VKUZC.js.map +0 -1
  876. package/dist/chunk-LOLYI6PS.js.map +0 -1
  877. package/dist/chunk-LTTYUSJ2.js.map +0 -1
  878. package/dist/chunk-MA6SUE7F.js.map +0 -1
  879. package/dist/chunk-MTGEJRE4.js.map +0 -1
  880. package/dist/chunk-OE3SQOZV.js.map +0 -1
  881. package/dist/chunk-PU3HEWSG.js.map +0 -1
  882. package/dist/chunk-PY3RW5LC.js.map +0 -1
  883. package/dist/chunk-QWVETTIY.js.map +0 -1
  884. package/dist/chunk-RA6W37NZ.js.map +0 -1
  885. package/dist/chunk-RZCXYKY4.js.map +0 -1
  886. package/dist/chunk-SUZXPDUQ.js.map +0 -1
  887. package/dist/chunk-SV6IQ2YO.js.map +0 -1
  888. package/dist/chunk-T743IIER.js.map +0 -1
  889. package/dist/chunk-TTCVYY2B.js.map +0 -1
  890. package/dist/chunk-U4G3KY6L.js.map +0 -1
  891. package/dist/chunk-UGH2DDST.js.map +0 -1
  892. package/dist/chunk-UZOG6HNN.js.map +0 -1
  893. package/dist/chunk-VNOFFVRQ.js +0 -113
  894. package/dist/chunk-VNOFFVRQ.js.map +0 -1
  895. package/dist/chunk-VNVV6Y2X.js.map +0 -1
  896. package/dist/chunk-VQYR64QB.js.map +0 -1
  897. package/dist/chunk-VRPCZ3IE.js.map +0 -1
  898. package/dist/chunk-WC3W36AM.js.map +0 -1
  899. package/dist/chunk-WVZBYTIK.js.map +0 -1
  900. package/dist/chunk-XICRCPEQ.js.map +0 -1
  901. package/dist/chunk-XKSA4L2X.js.map +0 -1
  902. package/dist/chunk-XQWUVQ2F.js.map +0 -1
  903. package/dist/chunk-XYFBJH6F.js.map +0 -1
  904. package/dist/chunk-Y7YJYUNV.js.map +0 -1
  905. package/dist/chunk-YICNA5LG.js +0 -1
  906. package/dist/chunk-YLSDFW5O.js.map +0 -1
  907. package/dist/chunk-ZFBFQK2Y.js.map +0 -1
  908. package/dist/native/chunks/chunk-BXNZHDXK.js.map +0 -1
  909. /package/dist/{chunk-BWZKLKDT.js.map → _internal/copy/labels.js.map} +0 -0
  910. /package/dist/{chunk-YICNA5LG.js.map → _internal/en-US.labels.js.map} +0 -0
  911. /package/dist/{chunk-OPP6USJC.js.map → chunk-2FQF4CNE.js.map} +0 -0
  912. /package/dist/{chunk-BWFQEASG.js.map → chunk-2P5ZBBTL.js.map} +0 -0
  913. /package/dist/{chunk-QVO4SIS7.js.map → chunk-3W2B7IZG.js.map} +0 -0
  914. /package/dist/{chunk-PMRLFNBT.js.map → chunk-3XLSA3YB.js.map} +0 -0
  915. /package/dist/{chunk-7P5PNRBT.js.map → chunk-3YCV4EP7.js.map} +0 -0
  916. /package/dist/{chunk-Q6PRGXR2.js.map → chunk-4HBCWKIX.js.map} +0 -0
  917. /package/dist/{chunk-HN3PZTUK.js.map → chunk-4MKVGSHX.js.map} +0 -0
  918. /package/dist/{chunk-EERUSI52.js.map → chunk-4N3I7ZHQ.js.map} +0 -0
  919. /package/dist/{chunk-O6SAU5JA.js.map → chunk-4OTJ66ID.js.map} +0 -0
  920. /package/dist/{chunk-LG52LMAM.js.map → chunk-556LO6KA.js.map} +0 -0
  921. /package/dist/{chunk-LBZEPWYK.js.map → chunk-5GLOEGOM.js.map} +0 -0
  922. /package/dist/{chunk-JE6RZ5L6.js.map → chunk-5ZOJLYD2.js.map} +0 -0
  923. /package/dist/{chunk-GSXYXMCV.js.map → chunk-66BRUS2M.js.map} +0 -0
  924. /package/dist/{chunk-ALREWFRX.js.map → chunk-6DGNMASB.js.map} +0 -0
  925. /package/dist/{chunk-5752357K.js.map → chunk-6N2U67KF.js.map} +0 -0
  926. /package/dist/{chunk-VD72JGHA.js.map → chunk-73OYC22L.js.map} +0 -0
  927. /package/dist/{chunk-6PU3JYVY.js.map → chunk-775LIZXS.js.map} +0 -0
  928. /package/dist/{chunk-S4JXSC4D.js.map → chunk-7HZ6TJRH.js.map} +0 -0
  929. /package/dist/{chunk-CSD6SWBZ.js.map → chunk-A3Z7ZXLM.js.map} +0 -0
  930. /package/dist/{chunk-LI6XSM5D.js.map → chunk-A6V7KE45.js.map} +0 -0
  931. /package/dist/{chunk-YJBWDDW7.js.map → chunk-AAWVAQI2.js.map} +0 -0
  932. /package/dist/{chunk-44PBCQ7E.js.map → chunk-ABQZFK7M.js.map} +0 -0
  933. /package/dist/{chunk-EIMFA7KP.js.map → chunk-ANUO67JQ.js.map} +0 -0
  934. /package/dist/{chunk-PTQRJEPN.js.map → chunk-AOBQ3KYY.js.map} +0 -0
  935. /package/dist/{chunk-LODYTVOO.js.map → chunk-B25SHVWP.js.map} +0 -0
  936. /package/dist/{chunk-GTT5UKKO.js.map → chunk-BDJIP4HG.js.map} +0 -0
  937. /package/dist/{chunk-RS576GOH.js.map → chunk-BIUT3K6A.js.map} +0 -0
  938. /package/dist/{chunk-A5NXBOWS.js.map → chunk-BLHSLB5D.js.map} +0 -0
  939. /package/dist/{chunk-DYHOBKPU.js.map → chunk-BLZDSCIZ.js.map} +0 -0
  940. /package/dist/{chunk-E53MMMDA.js.map → chunk-BX6CF2UG.js.map} +0 -0
  941. /package/dist/{chunk-7HA7UH7O.js.map → chunk-C4OETF7K.js.map} +0 -0
  942. /package/dist/{chunk-64AOS2WA.js.map → chunk-CAHN7AMY.js.map} +0 -0
  943. /package/dist/{chunk-MSC43MCJ.js.map → chunk-CRFOAKQL.js.map} +0 -0
  944. /package/dist/{chunk-IQ2U5MVO.js.map → chunk-CSQWPDQV.js.map} +0 -0
  945. /package/dist/{chunk-7XSCEHGA.js.map → chunk-EOQ6EKTS.js.map} +0 -0
  946. /package/dist/{chunk-VEKTKCSB.js.map → chunk-FLJ3RIRP.js.map} +0 -0
  947. /package/dist/{chunk-Z5WUSI47.js.map → chunk-G3JFESKD.js.map} +0 -0
  948. /package/dist/{chunk-XRDH24J7.js.map → chunk-G6ET2DRL.js.map} +0 -0
  949. /package/dist/{chunk-O36MIQIO.js.map → chunk-GPQ22MPR.js.map} +0 -0
  950. /package/dist/{chunk-GRMBCJS6.js.map → chunk-H6R2L7VI.js.map} +0 -0
  951. /package/dist/{chunk-AMLHEKSV.js.map → chunk-HI7JPDD6.js.map} +0 -0
  952. /package/dist/{chunk-CW6Y32N2.js.map → chunk-I2CT4XIP.js.map} +0 -0
  953. /package/dist/{chunk-N34AOGK3.js.map → chunk-I3OKAQ5L.js.map} +0 -0
  954. /package/dist/{chunk-AEYLFBZT.js.map → chunk-I4NDZFTB.js.map} +0 -0
  955. /package/dist/{chunk-2ZRZTGWP.js.map → chunk-ISW5K72V.js.map} +0 -0
  956. /package/dist/{chunk-KARMRTTM.js.map → chunk-J2RUDZVJ.js.map} +0 -0
  957. /package/dist/{chunk-4M5GEKPM.js.map → chunk-JL4I7OQE.js.map} +0 -0
  958. /package/dist/{chunk-NBXG3SQ3.js.map → chunk-JSY234NY.js.map} +0 -0
  959. /package/dist/{chunk-HQCZT6TO.js.map → chunk-JVOEVTCZ.js.map} +0 -0
  960. /package/dist/{chunk-MBMZNSBP.js.map → chunk-JW7MN4DG.js.map} +0 -0
  961. /package/dist/{chunk-ZPACE34U.js.map → chunk-K53XSVQO.js.map} +0 -0
  962. /package/dist/{chunk-GBVNY2LG.js.map → chunk-KTXJQ4YJ.js.map} +0 -0
  963. /package/dist/{chunk-FCVPVEAS.js.map → chunk-KYE7I6NT.js.map} +0 -0
  964. /package/dist/{chunk-MM7BPTVV.js.map → chunk-KYT5G4K7.js.map} +0 -0
  965. /package/dist/{chunk-3V3Z4EML.js.map → chunk-L4FWEI2P.js.map} +0 -0
  966. /package/dist/{chunk-56JF5PZK.js.map → chunk-LYVTJLCF.js.map} +0 -0
  967. /package/dist/{chunk-M3DSPEZ3.js.map → chunk-M3ZNQTS5.js.map} +0 -0
  968. /package/dist/{chunk-GBKIGUNP.js.map → chunk-MGDCGNLC.js.map} +0 -0
  969. /package/dist/{chunk-BGYLL467.js.map → chunk-N3W6FZOC.js.map} +0 -0
  970. /package/dist/{chunk-BWFUZ4N2.js.map → chunk-NA3M7KDE.js.map} +0 -0
  971. /package/dist/{chunk-7JOLSD2W.js.map → chunk-P3QFJJJY.js.map} +0 -0
  972. /package/dist/{chunk-RCTHCXS6.js.map → chunk-PJNIJIE6.js.map} +0 -0
  973. /package/dist/{chunk-DXFKPY2K.js.map → chunk-PU3FQG7T.js.map} +0 -0
  974. /package/dist/{chunk-6ATXOJVQ.js.map → chunk-QADTI63U.js.map} +0 -0
  975. /package/dist/{chunk-7ZROYGUG.js.map → chunk-QOTMQLMW.js.map} +0 -0
  976. /package/dist/{chunk-NQCTANF3.js.map → chunk-QVDEGBME.js.map} +0 -0
  977. /package/dist/{chunk-YNDTLBOH.js.map → chunk-RQMYEPRR.js.map} +0 -0
  978. /package/dist/{chunk-3Z3WIQ5M.js.map → chunk-RZ3QMKM7.js.map} +0 -0
  979. /package/dist/{chunk-WA6F4NOO.js.map → chunk-SMANO5OD.js.map} +0 -0
  980. /package/dist/{chunk-5M2NWXN4.js.map → chunk-SRNBD6EV.js.map} +0 -0
  981. /package/dist/{chunk-R53ZOW4B.js.map → chunk-TGMMUKOF.js.map} +0 -0
  982. /package/dist/{chunk-SB2SEGR6.js.map → chunk-TIM4PXWN.js.map} +0 -0
  983. /package/dist/{chunk-555TUQ7E.js.map → chunk-TPGFR24B.js.map} +0 -0
  984. /package/dist/{chunk-MHLYX6QW.js.map → chunk-TRAMTVIO.js.map} +0 -0
  985. /package/dist/{chunk-QO7UJXXO.js.map → chunk-TVMSXL3R.js.map} +0 -0
  986. /package/dist/{chunk-VEBNL5MG.js.map → chunk-UGYBN6OO.js.map} +0 -0
  987. /package/dist/{chunk-2QO3BKUQ.js.map → chunk-UJT6AQHL.js.map} +0 -0
  988. /package/dist/{chunk-FTDGFWB5.js.map → chunk-UK3DSFMK.js.map} +0 -0
  989. /package/dist/{chunk-NYWAAXDX.js.map → chunk-URAXAKUI.js.map} +0 -0
  990. /package/dist/{chunk-XODBYGTH.js.map → chunk-V37QIB7B.js.map} +0 -0
  991. /package/dist/{chunk-7K23NEZO.js.map → chunk-V45JGJ3W.js.map} +0 -0
  992. /package/dist/{chunk-2MYSXWZQ.js.map → chunk-VKTF3GAP.js.map} +0 -0
  993. /package/dist/{chunk-KHIUYLKY.js.map → chunk-VQ6UB4MN.js.map} +0 -0
  994. /package/dist/{chunk-4HUSG5MR.js.map → chunk-VZVAP2ZR.js.map} +0 -0
  995. /package/dist/{chunk-4XBAEKQQ.js.map → chunk-W2RXXF7K.js.map} +0 -0
  996. /package/dist/{chunk-A2YLFKQU.js.map → chunk-W5WYTVLS.js.map} +0 -0
  997. /package/dist/{chunk-RHKQ2RSY.js.map → chunk-WUW6NDXC.js.map} +0 -0
  998. /package/dist/{chunk-EBCEDBHX.js.map → chunk-XDDKRACZ.js.map} +0 -0
  999. /package/dist/{chunk-ASZGMKB4.js.map → chunk-Y3TD7HOY.js.map} +0 -0
  1000. /package/dist/{chunk-HBHBRRSW.js.map → chunk-YBAK2WN5.js.map} +0 -0
  1001. /package/dist/{chunk-6RTE4UNO.js.map → chunk-YV4O7KDR.js.map} +0 -0
  1002. /package/dist/{chunk-Z5V5E3JW.js.map → chunk-ZIHSCBMN.js.map} +0 -0
  1003. /package/dist/native/chunks/{chunk-AVHGS66L.js.map → chunk-FGAX5BRS.js.map} +0 -0
@@ -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-66BRUS2M.js";
8
8
  import {
9
9
  PillControl
10
- } from "./chunk-VD72JGHA.js";
11
- import {
12
- QuickChip
13
- } from "./chunk-MHFXJRLD.js";
10
+ } from "./chunk-73OYC22L.js";
14
11
  import {
15
12
  isQuickActive
16
13
  } from "./chunk-KYUEO2IO.js";
14
+ import {
15
+ RangePill
16
+ } from "./chunk-UJT6AQHL.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-CSQWPDQV.js.map
@@ -1,14 +1,15 @@
1
1
  import {
2
2
  MapCoordinates,
3
3
  MapMarkers
4
- } from "./chunk-AYJ44VTJ.js";
4
+ } from "./chunk-MBY7DWGT.js";
5
5
  import {
6
6
  MapLayers
7
- } from "./chunk-RA6W37NZ.js";
7
+ } from "./chunk-V64USPG3.js";
8
8
  import {
9
9
  glassStyles,
10
+ resolveMapCopy,
10
11
  resolveMapPreviewProps
11
- } from "./chunk-4NQXHPQR.js";
12
+ } from "./chunk-BJ7NWZWO.js";
12
13
  import {
13
14
  useMapPreview
14
15
  } from "./chunk-QSRZOXQI.js";
@@ -54,7 +55,11 @@ var MapPreview = (componentProps) => {
54
55
  elevation: props.variant === "glass" ? 0 : 2,
55
56
  "data-testid": "map-preview-container",
56
57
  role: "img",
57
- "aria-label": `Map preview centered at ${view.markerPosition.lat.toFixed(4)}, ${view.markerPosition.lng.toFixed(4)} with zoom level ${view.zoom}`,
58
+ "aria-label": resolveMapCopy(props.copy).viewDescription(
59
+ view.markerPosition.lat.toFixed(4),
60
+ view.markerPosition.lng.toFixed(4),
61
+ view.zoom
62
+ ),
58
63
  tabIndex: 0,
59
64
  "aria-live": "polite",
60
65
  "aria-atomic": "true",
@@ -95,7 +100,7 @@ var MapPreview = (componentProps) => {
95
100
  controls
96
101
  }
97
102
  ),
98
- /* @__PURE__ */ jsx(MapCoordinates, { position: view.markerPosition, zoom: view.zoom })
103
+ /* @__PURE__ */ jsx(MapCoordinates, { position: view.markerPosition, zoom: view.zoom, copy: props.copy })
99
104
  ]
100
105
  }
101
106
  )
@@ -108,4 +113,4 @@ export {
108
113
  MapPreview,
109
114
  MapPreview_default
110
115
  };
111
- //# sourceMappingURL=chunk-B2JYQBO4.js.map
116
+ //# sourceMappingURL=chunk-CXTRDTNM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/MapPreview/MapPreview.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport { alpha, styled, useTheme } from '@mui/material/styles/index.js';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport { glassStyles, resolveMapCopy, resolveMapPreviewProps } from './MapPreview.helpers';\nimport type { MapPreviewProps } from './MapPreview.types';\nimport { MapLayers } from './MapLayers';\nimport { MapCoordinates, MapMarkers } from './MapMarkers';\nimport { StaticMapView } from './StaticMapView';\nimport { useMapPreview } from './useMapPreview';\nimport { rem } from '../../../tokens/relative';\n\n// Kept module-local: styled() components cannot be exported across a module\n// boundary here without tripping TS2742.\nconst MapContainer = styled(Paper)(({ theme }) => ({\n position: 'relative',\n width: '100%',\n borderRadius: theme.shape.borderRadius * 2,\n overflow: 'hidden',\n background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.9)} 0%, ${alpha(theme.palette.background.paper, 0.8)} 100%)`,\n border: `1px solid ${alpha(theme.palette.divider, 0.18)}`,\n}));\n\nconst MapWrapper = styled(Box)<{ height: string }>(({ height }) => ({\n width: '100%',\n height,\n position: 'relative',\n}));\n\nconst cursorFor = (grabbing: boolean, interactive: boolean): string => {\n if (grabbing) return 'grabbing';\n return interactive ? 'grab' : 'default';\n};\n\nexport const MapPreview: FC<MapPreviewProps> = (componentProps) => {\n const props = resolveMapPreviewProps(componentProps);\n const theme = useTheme();\n const { containerRef, view, controls, pointer, search, handleMapClick } = useMapPreview(props);\n\n // The map's own default height is 400 design px, through the theme's type scale.\n const height = controls.isFullscreen ? '100vh' : (props.height ?? rem(theme, 400));\n const grabbing = pointer.isDragging || pointer.isPanning;\n\n return (\n <MapContainer\n ref={containerRef}\n elevation={props.variant === 'glass' ? 0 : 2}\n data-testid=\"map-preview-container\"\n role=\"img\"\n aria-label={resolveMapCopy(props.copy).viewDescription(\n view.markerPosition.lat.toFixed(4),\n view.markerPosition.lng.toFixed(4),\n view.zoom,\n )}\n tabIndex={0}\n aria-live=\"polite\"\n aria-atomic=\"true\"\n sx={glassStyles(props.variant, theme)}\n >\n <MapWrapper\n height={height}\n onClick={handleMapClick}\n onMouseDown={pointer.handleMouseDown}\n onMouseMove={pointer.handleMouseMove}\n onMouseUp={pointer.handleMouseUp}\n onMouseLeave={pointer.handleMouseUp}\n style={{\n cursor: cursorFor(grabbing, props.interactive),\n transition: props.animated ? 'all 0.3s ease' : 'none',\n }}\n >\n <StaticMapView\n height={height}\n zoom={view.zoom}\n mapType={view.mapType}\n // The built-in centre marker steps aside for an explicit marker list.\n marker={props.marker && props.markers.length === 0}\n markerPosition={view.markerPosition}\n panOffset={view.panOffset}\n />\n\n <MapMarkers markers={props.markers} centre={view.markerPosition} animated={props.animated} />\n\n <MapLayers\n settings={props}\n zoom={view.zoom}\n mapType={view.mapType}\n search={search}\n controls={controls}\n />\n\n <MapCoordinates position={view.markerPosition} zoom={view.zoom} copy={props.copy} />\n </MapWrapper>\n </MapContainer>\n );\n};\n\nexport default MapPreview;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,SAAS;AAChB,OAAO,WAAW;AAClB,SAAS,OAAO,QAAQ,gBAAgB;AA2DlC,SAYE,KAZF;AA7CN,IAAM,eAAe,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EACjD,UAAU;AAAA,EACV,OAAO;AAAA,EACP,cAAc,MAAM,MAAM,eAAe;AAAA,EACzC,UAAU;AAAA,EACV,YAAY,2BAA2B,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG,CAAC,QAAQ,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG,CAAC;AAAA,EACnI,QAAQ,aAAa,MAAM,MAAM,QAAQ,SAAS,IAAI,CAAC;AACzD,EAAE;AAEF,IAAM,aAAa,OAAO,GAAG,EAAsB,CAAC,EAAE,OAAO,OAAO;AAAA,EAClE,OAAO;AAAA,EACP;AAAA,EACA,UAAU;AACZ,EAAE;AAEF,IAAM,YAAY,CAAC,UAAmB,gBAAiC;AACrE,MAAI,SAAU,QAAO;AACrB,SAAO,cAAc,SAAS;AAChC;AAEO,IAAM,aAAkC,CAAC,mBAAmB;AACjE,QAAM,QAAQ,uBAAuB,cAAc;AACnD,QAAM,QAAQ,SAAS;AACvB,QAAM,EAAE,cAAc,MAAM,UAAU,SAAS,QAAQ,eAAe,IAAI,cAAc,KAAK;AAG7F,QAAM,SAAS,SAAS,eAAe,UAAW,MAAM,UAAU,IAAI,OAAO,GAAG;AAChF,QAAM,WAAW,QAAQ,cAAc,QAAQ;AAE/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,WAAW,MAAM,YAAY,UAAU,IAAI;AAAA,MAC3C,eAAY;AAAA,MACZ,MAAK;AAAA,MACL,cAAY,eAAe,MAAM,IAAI,EAAE;AAAA,QACrC,KAAK,eAAe,IAAI,QAAQ,CAAC;AAAA,QACjC,KAAK,eAAe,IAAI,QAAQ,CAAC;AAAA,QACjC,KAAK;AAAA,MACP;AAAA,MACA,UAAU;AAAA,MACV,aAAU;AAAA,MACV,eAAY;AAAA,MACZ,IAAI,YAAY,MAAM,SAAS,KAAK;AAAA,MAEpC;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,SAAS;AAAA,UACT,aAAa,QAAQ;AAAA,UACrB,aAAa,QAAQ;AAAA,UACrB,WAAW,QAAQ;AAAA,UACnB,cAAc,QAAQ;AAAA,UACtB,OAAO;AAAA,YACL,QAAQ,UAAU,UAAU,MAAM,WAAW;AAAA,YAC7C,YAAY,MAAM,WAAW,kBAAkB;AAAA,UACjD;AAAA,UAEA;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC;AAAA,gBACA,MAAM,KAAK;AAAA,gBACX,SAAS,KAAK;AAAA,gBAEd,QAAQ,MAAM,UAAU,MAAM,QAAQ,WAAW;AAAA,gBACjD,gBAAgB,KAAK;AAAA,gBACrB,WAAW,KAAK;AAAA;AAAA,YAClB;AAAA,YAEA,oBAAC,cAAW,SAAS,MAAM,SAAS,QAAQ,KAAK,gBAAgB,UAAU,MAAM,UAAU;AAAA,YAE3F;AAAA,cAAC;AAAA;AAAA,gBACC,UAAU;AAAA,gBACV,MAAM,KAAK;AAAA,gBACX,SAAS,KAAK;AAAA,gBACd;AAAA,gBACA;AAAA;AAAA,YACF;AAAA,YAEA,oBAAC,kBAAe,UAAU,KAAK,gBAAgB,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM;AAAA;AAAA;AAAA,MACpF;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,qBAAQ;","names":[]}
@@ -1,3 +1,6 @@
1
+ import {
2
+ EN_US_UI_LABELS
3
+ } from "./chunk-W5PRZHLU.js";
1
4
  import {
2
5
  modeInk,
3
6
  neutralTones
@@ -16,9 +19,10 @@ import Tooltip from "@mui/material/Tooltip/index.js";
16
19
  import { alpha, styled } from "@mui/material/styles/index.js";
17
20
  import React, { useState } from "react";
18
21
  import { jsx, jsxs } from "react/jsx-runtime";
22
+ var languageClearance = (theme) => `calc(${theme.spacing(2)} + ${rem(theme, 12 * 1.5 + 4 + 2)})`;
19
23
  var StyledCodeContainer = styled(Box, {
20
- shouldForwardProp: (prop) => !["customVariant", "customSize", "copyable"].includes(prop)
21
- })(({ theme, customVariant = "inline", customSize = "md", copyable }) => {
24
+ shouldForwardProp: (prop) => !["customVariant", "customSize", "copyable", "labelled"].includes(prop)
25
+ })(({ theme, customVariant = "inline", customSize = "md", copyable, labelled }) => {
22
26
  const sizeMap = {
23
27
  xs: { fontSize: rem(theme, 12), padding: rems(theme, 2, 4) },
24
28
  sm: { fontSize: rem(theme, 13), padding: rems(theme, 3, 6) },
@@ -77,7 +81,11 @@ var StyledCodeContainer = styled(Box, {
77
81
  }
78
82
  }
79
83
  };
80
- return variantStyles[customVariant] || variantStyles.inline;
84
+ return {
85
+ ...variantStyles[customVariant] || variantStyles.inline,
86
+ // The first line starts below the language badge rather than under it.
87
+ ...labelled && { paddingTop: languageClearance(theme) }
88
+ };
81
89
  });
82
90
  var StyledCode = styled("code")({
83
91
  margin: 0,
@@ -149,7 +157,11 @@ var resolveCodeFlags = (variant, copyable, language) => {
149
157
  showLanguage: Boolean(language) && isBlock
150
158
  };
151
159
  };
152
- var CodeCopyButton = ({ source }) => {
160
+ var CodeCopyButton = ({
161
+ source,
162
+ copyLabel,
163
+ copiedLabel
164
+ }) => {
153
165
  const [copied, setCopied] = useState(false);
154
166
  const handleCopy = async () => {
155
167
  if (typeof source !== "string") return;
@@ -160,13 +172,15 @@ var CodeCopyButton = ({ source }) => {
160
172
  } catch {
161
173
  }
162
174
  };
163
- return /* @__PURE__ */ jsx(Tooltip, { title: copied ? "Copied!" : "Copy code", children: /* @__PURE__ */ jsx(CopyButton, { onClick: handleCopy, size: "small", color: copied ? "success" : "default", children: copied ? /* @__PURE__ */ jsx(Check, {}) : /* @__PURE__ */ jsx(ContentCopy, {}) }) });
175
+ return /* @__PURE__ */ jsx(Tooltip, { title: copied ? copiedLabel : copyLabel, children: /* @__PURE__ */ jsx(CopyButton, { onClick: handleCopy, size: "small", color: copied ? "success" : "default", children: copied ? /* @__PURE__ */ jsx(Check, {}) : /* @__PURE__ */ jsx(ContentCopy, {}) }) });
164
176
  };
165
177
  var Code = React.forwardRef(
166
178
  ({
167
179
  variant = "inline",
168
180
  language,
169
181
  copyable = false,
182
+ copyLabel = EN_US_UI_LABELS.code.copy,
183
+ copiedLabel = EN_US_UI_LABELS.code.copied,
170
184
  lineNumbers = false,
171
185
  size = "md",
172
186
  children,
@@ -187,11 +201,12 @@ var Code = React.forwardRef(
187
201
  customVariant: variant,
188
202
  customSize: size,
189
203
  copyable: showCopy,
204
+ labelled: showLanguage,
190
205
  ...props,
191
206
  children: [
192
207
  showLanguage && /* @__PURE__ */ jsx(LanguageLabel, { children: language }),
193
208
  /* @__PURE__ */ jsx(StyledCode, { children: processedChildren }),
194
- showCopy && /* @__PURE__ */ jsx(CodeCopyButton, { source: children })
209
+ showCopy && /* @__PURE__ */ jsx(CodeCopyButton, { source: children, copyLabel, copiedLabel })
195
210
  ]
196
211
  }
197
212
  );
@@ -202,4 +217,4 @@ Code.displayName = "Code";
202
217
  export {
203
218
  Code
204
219
  };
205
- //# sourceMappingURL=chunk-TTCVYY2B.js.map
220
+ //# sourceMappingURL=chunk-CYKINZKO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/typography/Code/Code.tsx"],"sourcesContent":["import Check from '@mui/icons-material/Check';\nimport ContentCopy from '@mui/icons-material/ContentCopy';\nimport Box from '@mui/material/Box/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Tooltip from '@mui/material/Tooltip/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport { EN_US_UI_LABELS } from '../../../en-US.labels';\nimport React, { useState } from 'react';\n\nimport type { CodeProps } from './Code.types';\nimport { modeInk, neutralTones } from '../../../tokens/ink';\nimport { rem, rems } from '../../../tokens/relative';\n\n/**\n * The badge's inset, its own height (12px type at the block's 1.5 line height,\n * 2px padding and a 1px border, each twice) and a gap of the same inset again.\n */\nconst languageClearance = (theme: Theme): string =>\n `calc(${theme.spacing(2)} + ${rem(theme, 12 * 1.5 + 4 + 2)})`;\n\nconst StyledCodeContainer = styled(Box, {\n shouldForwardProp: (prop) =>\n !['customVariant', 'customSize', 'copyable', 'labelled'].includes(prop as string),\n})<{\n customVariant?: string;\n customSize?: string;\n copyable?: boolean;\n /** A language badge sits in the top-left corner. */\n labelled?: boolean;\n component?: React.ElementType;\n}>(({ theme, customVariant = 'inline', customSize = 'md', copyable, labelled }) => {\n // Size mapping\n const sizeMap = {\n xs: { fontSize: rem(theme, 12), padding: rems(theme, 2, 4) },\n sm: { fontSize: rem(theme, 13), padding: rems(theme, 3, 6) },\n md: { fontSize: rem(theme, 14), padding: rems(theme, 4, 8) },\n lg: { fontSize: rem(theme, 16), padding: rems(theme, 6, 12) },\n };\n\n const blockSizeMap = {\n xs: { fontSize: rem(theme, 12), padding: rems(theme, 8, 12) },\n sm: { fontSize: rem(theme, 13), padding: rems(theme, 12, 16) },\n md: { fontSize: rem(theme, 14), padding: rems(theme, 16, 20) },\n lg: { fontSize: rem(theme, 16), padding: rems(theme, 20, 24) },\n };\n\n const baseStyles = {\n fontFamily: 'Monaco, Menlo, \"Ubuntu Mono\", \"Courier New\", monospace',\n lineHeight: 1.5,\n borderRadius: theme.shape.borderRadius,\n transition: 'all 0.2s ease',\n position: 'relative' as const,\n };\n\n // Variant-specific styles\n const variantStyles = {\n inline: {\n ...baseStyles,\n display: 'inline',\n backgroundColor: alpha(theme.palette.primary.main, 0.08),\n color: theme.palette.primary.main,\n border: `1px solid ${alpha(theme.palette.primary.main, 0.12)}`,\n ...sizeMap[customSize as keyof typeof sizeMap],\n },\n block: {\n ...baseStyles,\n display: 'block',\n backgroundColor:\n theme.palette.mode === 'dark'\n ? alpha(neutralTones(theme).inverseSurface, 0.95)\n : alpha(neutralTones(theme).surface, 0.95),\n color:\n theme.palette.mode === 'dark' ? modeInk(theme) : theme.palette.text.primary,\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n overflow: 'auto',\n whiteSpace: 'pre' as const,\n ...blockSizeMap[customSize as keyof typeof blockSizeMap],\n ...(copyable && {\n paddingTop: blockSizeMap[customSize as keyof typeof blockSizeMap].padding.split(' ')[0],\n paddingRight: rem(theme, 60),\n }),\n },\n highlight: {\n ...baseStyles,\n display: 'block',\n background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0.1)} 0%, ${alpha(theme.palette.secondary.main, 0.1)} 100%)`,\n color: theme.palette.text.primary,\n border: `1px solid ${alpha(theme.palette.primary.main, 0.2)}`,\n borderLeft: `${rem(theme, 4)} solid ${theme.palette.primary.main}`,\n overflow: 'auto',\n whiteSpace: 'pre' as const,\n ...blockSizeMap[customSize as keyof typeof blockSizeMap],\n ...(copyable && {\n paddingTop: blockSizeMap[customSize as keyof typeof blockSizeMap].padding.split(' ')[0],\n paddingRight: rem(theme, 60),\n }),\n },\n };\n\n return {\n ...(variantStyles[customVariant as keyof typeof variantStyles] || variantStyles.inline),\n // The first line starts below the language badge rather than under it.\n ...(labelled && { paddingTop: languageClearance(theme) }),\n };\n});\n\nconst StyledCode = styled('code')({\n margin: 0,\n padding: 0,\n backgroundColor: 'transparent',\n border: 'none',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n color: 'inherit',\n});\n\nconst CopyButton = styled(IconButton)(({ theme }) => ({\n position: 'absolute',\n top: theme.spacing(1),\n right: theme.spacing(1),\n width: rem(theme, 32),\n height: rem(theme, 32),\n backgroundColor:\n theme.palette.mode === 'dark'\n ? alpha(theme.palette.background.paper, 0.8)\n : theme.palette.background.paper,\n backdropFilter: theme.palette.mode === 'dark' ? `blur(${rem(theme, 8)})` : 'none',\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n boxShadow: theme.palette.mode === 'light' ? theme.shadows[1] : 'none',\n '&:hover': {\n backgroundColor:\n theme.palette.mode === 'dark'\n ? alpha(theme.palette.background.paper, 0.9)\n : neutralTones(theme).surface,\n transform: 'scale(1.05)',\n },\n '& .MuiSvgIcon-root': {\n fontSize: rem(theme, 16),\n },\n}));\n\nconst LanguageLabel = styled(Box)(({ theme }) => ({\n position: 'absolute',\n top: theme.spacing(1),\n left: theme.spacing(2),\n fontSize: rem(theme, 12),\n fontWeight: 500,\n color: alpha(theme.palette.text.primary, 0.6),\n backgroundColor:\n theme.palette.mode === 'dark'\n ? alpha(theme.palette.background.paper, 0.8)\n : theme.palette.background.paper,\n padding: rems(theme, 2, 8),\n borderRadius: theme.shape.borderRadius / 2,\n backdropFilter: theme.palette.mode === 'dark' ? `blur(${rem(theme, 8)})` : 'none',\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n boxShadow: theme.palette.mode === 'light' ? theme.shadows[1] : 'none',\n}));\n\n// Renders each source line beside a gutter number. Keys combine the line number\n// with a slice of the content and its length, so editing one line in place does\n// not reshuffle the keys of the lines around it.\nconst renderNumberedLines = (source: string) =>\n source.split('\\n').map((line, index) => {\n const stableKey = `line-${index + 1}-${line.slice(0, 10).replace(/\\s+/g, '')}-${line.length}`;\n\n return (\n <div key={stableKey} style={{ display: 'flex' }}>\n <span\n style={{\n display: 'inline-block',\n minWidth: '3em',\n opacity: 0.5,\n userSelect: 'none',\n marginRight: '1em',\n textAlign: 'right',\n }}\n >\n {index + 1}\n </span>\n <span>{line}</span>\n </div>\n );\n });\n\n// Only block-ish variants get a language label or a copy affordance.\nconst resolveCodeFlags = (\n variant: CodeProps['variant'],\n copyable: boolean,\n language: CodeProps['language'],\n) => {\n const isBlock = variant === 'block' || variant === 'highlight';\n return {\n isBlock,\n showCopy: copyable && isBlock,\n showLanguage: Boolean(language) && isBlock,\n };\n};\n\n// Owns its own \"just copied\" flash. Keeping it here rather than inline in Code\n// means the copied/not-copied branches do not count against the main render, and\n// the flash re-renders only the button. Non-string children are still a no-op on\n// click, exactly as before.\nconst CodeCopyButton: React.FC<{ source: React.ReactNode; copyLabel: string; copiedLabel: string }> = ({\n source,\n copyLabel,\n copiedLabel,\n}) => {\n const [copied, setCopied] = useState(false);\n\n const handleCopy = async () => {\n if (typeof source !== 'string') return;\n try {\n await navigator.clipboard.writeText(source);\n setCopied(true);\n window.setTimeout(() => setCopied(false), 2000);\n } catch {\n // Silently fail if clipboard access is denied\n }\n };\n\n return (\n <Tooltip title={copied ? copiedLabel : copyLabel}>\n <CopyButton onClick={handleCopy} size=\"small\" color={copied ? 'success' : 'default'}>\n {copied ? <Check /> : <ContentCopy />}\n </CopyButton>\n </Tooltip>\n );\n};\n\nexport const Code = React.forwardRef<HTMLElement, CodeProps>(\n (\n {\n variant = 'inline',\n language,\n copyable = false,\n copyLabel = EN_US_UI_LABELS.code.copy,\n copiedLabel = EN_US_UI_LABELS.code.copied,\n lineNumbers = false,\n size = 'md',\n children,\n ...props\n },\n ref,\n ) => {\n const { isBlock, showCopy, showLanguage } = resolveCodeFlags(variant, copyable, language);\n\n // Process children for line numbers if needed\n const processedChildren = React.useMemo(() => {\n if (!lineNumbers || !isBlock || typeof children !== 'string') {\n return children;\n }\n\n return renderNumberedLines(children);\n }, [children, lineNumbers, isBlock]);\n\n return (\n <StyledCodeContainer\n ref={ref}\n component={variant === 'inline' ? 'span' : 'div'}\n customVariant={variant}\n customSize={size}\n copyable={showCopy}\n labelled={showLanguage}\n {...props}\n >\n {showLanguage && <LanguageLabel>{language}</LanguageLabel>}\n\n <StyledCode>{processedChildren}</StyledCode>\n\n {showCopy && <CodeCopyButton source={children} copyLabel={copyLabel} copiedLabel={copiedLabel} />}\n </StyledCodeContainer>\n );\n },\n);\n\nCode.displayName = 'Code';"],"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":[]}
@@ -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":[]}
@@ -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":[]}
@@ -1,3 +1,6 @@
1
+ import {
2
+ EN_US_UI_LABELS
3
+ } from "./chunk-W5PRZHLU.js";
1
4
  import {
2
5
  rem
3
6
  } from "./chunk-YKCAJ2TN.js";
@@ -124,6 +127,7 @@ var Toast = ({
124
127
  message,
125
128
  variant = "default",
126
129
  closable = true,
130
+ closeLabel = EN_US_UI_LABELS.common.close,
127
131
  action,
128
132
  glass = false,
129
133
  onClose,
@@ -157,7 +161,7 @@ var Toast = ({
157
161
  IconButton,
158
162
  {
159
163
  "data-testid": `${dataTestId}-close`,
160
- "aria-label": "close",
164
+ "aria-label": closeLabel,
161
165
  color: "inherit",
162
166
  size: "small",
163
167
  onClick: handleClose,
@@ -171,6 +175,7 @@ var Toast = ({
171
175
  );
172
176
  };
173
177
  var ToastContainer = ({
178
+ closeLabel,
174
179
  position = "top-right",
175
180
  maxToasts = 5,
176
181
  gap,
@@ -224,7 +229,7 @@ var ToastContainer = ({
224
229
  in: true,
225
230
  timeout: 300,
226
231
  style: { pointerEvents: "auto" },
227
- children: /* @__PURE__ */ jsx(Box, { "data-testid": `${dataTestId}-item-${index}`, children: /* @__PURE__ */ jsx(Toast, { ...toast, onClose: removeToast, dataTestId: toast.dataTestId || `toast-${index}` }) })
232
+ children: /* @__PURE__ */ jsx(Box, { "data-testid": `${dataTestId}-item-${index}`, children: /* @__PURE__ */ jsx(Toast, { closeLabel, ...toast, onClose: removeToast, dataTestId: toast.dataTestId || `toast-${index}` }) })
228
233
  },
229
234
  toast.id
230
235
  )) }) });
@@ -236,4 +241,4 @@ export {
236
241
  Toast,
237
242
  ToastContainer
238
243
  };
239
- //# sourceMappingURL=chunk-VQYR64QB.js.map
244
+ //# sourceMappingURL=chunk-DX5PLJKN.js.map