@12-apps/ui 6.78.4 → 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 (993) 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/CalendarDayCell.js +2 -2
  97. package/dist/_internal/components/form/Calendar/CalendarMonth.js +3 -3
  98. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +5 -5
  99. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
  100. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
  101. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +9 -9
  102. package/dist/_internal/components/form/Checkbox/Checkbox.js +2 -2
  103. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +3 -3
  104. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +9 -9
  105. package/dist/_internal/components/form/InputOTP/InputOTP.js +2 -2
  106. package/dist/_internal/components/form/Menubar/Menubar.js +2 -2
  107. package/dist/_internal/components/form/PhoneInput/PhoneInput.hooks.js +2 -2
  108. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +3 -3
  109. package/dist/_internal/components/form/PhoneInput/countries.js +7 -3
  110. package/dist/_internal/components/form/PickerSheet/PickerSheet.js +4 -4
  111. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.dom.js +2 -1
  112. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.format.js +3 -2
  113. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.hooks.js +4 -3
  114. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +7 -5
  115. package/dist/_internal/components/form/RichTextEditor/RichTextEditorToolbar.js +1 -1
  116. package/dist/_internal/components/form/Switch/Switch.js +4 -4
  117. package/dist/_internal/components/form/Switch/Switch.parts.js +3 -3
  118. package/dist/_internal/components/form/Switch/Switch.styles.js +2 -2
  119. package/dist/_internal/components/form/Textarea/Textarea.js +1 -1
  120. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +4 -1
  121. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js.map +1 -1
  122. package/dist/_internal/components/form/UploadButton/UploadButton.hooks.js +2 -1
  123. package/dist/_internal/components/form/UploadButton/UploadButton.js +3 -2
  124. package/dist/_internal/components/form/index.js +48 -45
  125. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +10 -10
  126. package/dist/_internal/components/form/total-form/Fields/index.js +13 -13
  127. package/dist/_internal/components/form/total-form/FormErrorSnackbar.js +3 -2
  128. package/dist/_internal/components/index.js +196 -188
  129. package/dist/_internal/components/layout/Card/Card.js +2 -2
  130. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +2 -1
  131. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +2 -1
  132. package/dist/_internal/components/layout/Dashboard/Dashboard.js +2 -1
  133. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +3 -3
  134. package/dist/_internal/components/layout/SettingCard/SettingCard.js +4 -4
  135. package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +3 -3
  136. package/dist/_internal/components/layout/SettingCard/SettingGroup.js +10 -10
  137. package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +8 -8
  138. package/dist/_internal/components/layout/SettingCard/SettingToggle.js +10 -10
  139. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +6 -6
  140. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +3 -3
  141. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.js +2 -2
  142. package/dist/_internal/components/layout/index.js +34 -33
  143. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +8 -7
  144. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.helpers.js +2 -1
  145. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.hooks.js +3 -2
  146. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +6 -4
  147. package/dist/_internal/components/navigation/CommandPalette/CommandPaletteResults.js +3 -1
  148. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +4 -4
  149. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +7 -6
  150. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.shell.js +1 -1
  151. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
  152. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +5 -4
  153. package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
  154. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +2 -2
  155. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +4 -4
  156. package/dist/_internal/components/navigation/index.js +29 -26
  157. package/dist/_internal/components/typography/Code/Code.js +2 -1
  158. package/dist/_internal/components/typography/index.js +2 -1
  159. package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +2 -2
  160. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +7 -3
  161. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +6 -4
  162. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +4 -2
  163. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +5 -3
  164. package/dist/_internal/components/utility/index.js +8 -6
  165. package/dist/_internal/copy/labels.js +1 -0
  166. package/dist/_internal/en-US.data-display.js +1 -1
  167. package/dist/_internal/en-US.feedback.js +1 -1
  168. package/dist/_internal/en-US.form.js +1 -1
  169. package/dist/_internal/en-US.labels.js +8 -0
  170. package/dist/_internal/en-US.navigation.js +1 -1
  171. package/dist/_internal/en-US.utility.js +1 -1
  172. package/dist/_internal/pt-BR.data-display.js +1 -1
  173. package/dist/_internal/pt-BR.feedback.js +1 -1
  174. package/dist/_internal/pt-BR.form.js +1 -1
  175. package/dist/_internal/pt-BR.labels.js +8 -0
  176. package/dist/_internal/pt-BR.labels.js.map +1 -0
  177. package/dist/_internal/pt-BR.navigation.js +1 -1
  178. package/dist/_internal/pt-BR.utility.js +1 -1
  179. package/dist/_internal/social-login-button/social-login-button.js +4 -4
  180. package/dist/_internal/user-avatar/user-avatar.js +8 -7
  181. package/dist/_internal/utils/resolve-labels.js +8 -0
  182. package/dist/_internal/utils/resolve-labels.js.map +1 -0
  183. package/dist/charts.js +11 -11
  184. package/dist/{chunk-2ILXXBMG.js → chunk-25HBYY4O.js} +12 -6
  185. package/dist/chunk-25HBYY4O.js.map +1 -0
  186. package/dist/{chunk-OPP6USJC.js → chunk-2FQF4CNE.js} +2 -2
  187. package/dist/{chunk-BWFQEASG.js → chunk-2P5ZBBTL.js} +5 -5
  188. package/dist/{chunk-QVO4SIS7.js → chunk-3W2B7IZG.js} +2 -2
  189. package/dist/{chunk-PMRLFNBT.js → chunk-3XLSA3YB.js} +4 -4
  190. package/dist/{chunk-7P5PNRBT.js → chunk-3YCV4EP7.js} +6 -6
  191. package/dist/{chunk-AYP6ICAY.js → chunk-44FY2YZL.js} +11 -10
  192. package/dist/chunk-44FY2YZL.js.map +1 -0
  193. package/dist/chunk-47IAX6PI.js +119 -0
  194. package/dist/chunk-47IAX6PI.js.map +1 -0
  195. package/dist/{chunk-Q6PRGXR2.js → chunk-4HBCWKIX.js} +4 -4
  196. package/dist/{chunk-HN3PZTUK.js → chunk-4MKVGSHX.js} +5 -5
  197. package/dist/{chunk-EERUSI52.js → chunk-4N3I7ZHQ.js} +2 -2
  198. package/dist/{chunk-O6SAU5JA.js → chunk-4OTJ66ID.js} +4 -4
  199. package/dist/{chunk-LG52LMAM.js → chunk-556LO6KA.js} +3 -3
  200. package/dist/{chunk-LBZEPWYK.js → chunk-5GLOEGOM.js} +4 -4
  201. package/dist/{chunk-KZXOIRUP.js → chunk-5MAD6ZEI.js} +43 -12
  202. package/dist/chunk-5MAD6ZEI.js.map +1 -0
  203. package/dist/{chunk-XICRCPEQ.js → chunk-5U7LBO2V.js} +5 -4
  204. package/dist/chunk-5U7LBO2V.js.map +1 -0
  205. package/dist/{chunk-JE6RZ5L6.js → chunk-5ZOJLYD2.js} +4 -4
  206. package/dist/{chunk-GSXYXMCV.js → chunk-66BRUS2M.js} +2 -2
  207. package/dist/{chunk-ALREWFRX.js → chunk-6DGNMASB.js} +4 -4
  208. package/dist/{chunk-MA6SUE7F.js → chunk-6EZQLNPK.js} +5 -3
  209. package/dist/chunk-6EZQLNPK.js.map +1 -0
  210. package/dist/{chunk-VRPCZ3IE.js → chunk-6JKECOZ2.js} +7 -6
  211. package/dist/chunk-6JKECOZ2.js.map +1 -0
  212. package/dist/{chunk-XKSA4L2X.js → chunk-6MGYPTAL.js} +11 -3
  213. package/dist/chunk-6MGYPTAL.js.map +1 -0
  214. package/dist/{chunk-5752357K.js → chunk-6N2U67KF.js} +4 -4
  215. package/dist/{chunk-UZOG6HNN.js → chunk-6SFJIW54.js} +5 -4
  216. package/dist/chunk-6SFJIW54.js.map +1 -0
  217. package/dist/{chunk-VD72JGHA.js → chunk-73OYC22L.js} +2 -2
  218. package/dist/{chunk-6DAIC2MG.js → chunk-775LIZXS.js} +4 -4
  219. package/dist/{chunk-C5JCARNE.js → chunk-7HKXTRTK.js} +7 -4
  220. package/dist/chunk-7HKXTRTK.js.map +1 -0
  221. package/dist/{chunk-S4JXSC4D.js → chunk-7HZ6TJRH.js} +6 -6
  222. package/dist/{chunk-33LAPBYB.js → chunk-7S25RDE4.js} +9 -5
  223. package/dist/chunk-7S25RDE4.js.map +1 -0
  224. package/dist/{chunk-CSD6SWBZ.js → chunk-A3Z7ZXLM.js} +6 -6
  225. package/dist/{chunk-LI6XSM5D.js → chunk-A6V7KE45.js} +3 -3
  226. package/dist/{chunk-YJBWDDW7.js → chunk-AAWVAQI2.js} +12 -12
  227. package/dist/{chunk-44PBCQ7E.js → chunk-ABQZFK7M.js} +6 -6
  228. package/dist/{chunk-EIMFA7KP.js → chunk-ANUO67JQ.js} +2 -2
  229. package/dist/{chunk-PTQRJEPN.js → chunk-AOBQ3KYY.js} +2 -2
  230. package/dist/{chunk-LODYTVOO.js → chunk-B25SHVWP.js} +4 -4
  231. package/dist/{chunk-GTT5UKKO.js → chunk-BDJIP4HG.js} +4 -4
  232. package/dist/{chunk-RS576GOH.js → chunk-BIUT3K6A.js} +4 -4
  233. package/dist/{chunk-4NQXHPQR.js → chunk-BJ7NWZWO.js} +11 -2
  234. package/dist/chunk-BJ7NWZWO.js.map +1 -0
  235. package/dist/{chunk-A5NXBOWS.js → chunk-BLHSLB5D.js} +5 -5
  236. package/dist/{chunk-DYHOBKPU.js → chunk-BLZDSCIZ.js} +6 -6
  237. package/dist/{chunk-E53MMMDA.js → chunk-BX6CF2UG.js} +3 -3
  238. package/dist/{chunk-WVZBYTIK.js → chunk-C465AAD5.js} +29 -19
  239. package/dist/chunk-C465AAD5.js.map +1 -0
  240. package/dist/{chunk-7HA7UH7O.js → chunk-C4OETF7K.js} +4 -4
  241. package/dist/{chunk-64AOS2WA.js → chunk-CAHN7AMY.js} +5 -5
  242. package/dist/{chunk-Z24VOTA7.js → chunk-CCWE6DBC.js} +4 -2
  243. package/dist/{chunk-Z24VOTA7.js.map → chunk-CCWE6DBC.js.map} +1 -1
  244. package/dist/{chunk-YLSDFW5O.js → chunk-CN4JS57H.js} +35 -5
  245. package/dist/chunk-CN4JS57H.js.map +1 -0
  246. package/dist/{chunk-MSC43MCJ.js → chunk-CRFOAKQL.js} +5 -5
  247. package/dist/{chunk-IQ2U5MVO.js → chunk-CSQWPDQV.js} +9 -9
  248. package/dist/{chunk-B2JYQBO4.js → chunk-CXTRDTNM.js} +11 -6
  249. package/dist/chunk-CXTRDTNM.js.map +1 -0
  250. package/dist/{chunk-TTCVYY2B.js → chunk-CYKINZKO.js} +22 -7
  251. package/dist/chunk-CYKINZKO.js.map +1 -0
  252. package/dist/{chunk-FT6HBP5E.js → chunk-DE7E2GBP.js} +11 -8
  253. package/dist/chunk-DE7E2GBP.js.map +1 -0
  254. package/dist/{chunk-QWVETTIY.js → chunk-DJMVBIFD.js} +21 -12
  255. package/dist/chunk-DJMVBIFD.js.map +1 -0
  256. package/dist/{chunk-3HLKTBEO.js → chunk-DQ22UKMZ.js} +4 -2
  257. package/dist/{chunk-3HLKTBEO.js.map → chunk-DQ22UKMZ.js.map} +1 -1
  258. package/dist/{chunk-INGPH3YQ.js → chunk-DVRNW33K.js} +28 -5
  259. package/dist/chunk-DVRNW33K.js.map +1 -0
  260. package/dist/{chunk-VQYR64QB.js → chunk-DX5PLJKN.js} +8 -3
  261. package/dist/chunk-DX5PLJKN.js.map +1 -0
  262. package/dist/{chunk-7XSCEHGA.js → chunk-EOQ6EKTS.js} +7 -7
  263. package/dist/{chunk-UGH2DDST.js → chunk-ETSASQXI.js} +4 -2
  264. package/dist/chunk-ETSASQXI.js.map +1 -0
  265. package/dist/{chunk-3VXS7O3X.js → chunk-EVYLJ5JB.js} +17 -3
  266. package/dist/chunk-EVYLJ5JB.js.map +1 -0
  267. package/dist/chunk-FB4GLQQO.js +102 -0
  268. package/dist/chunk-FB4GLQQO.js.map +1 -0
  269. package/dist/{chunk-WC3W36AM.js → chunk-FKUVFPQZ.js} +26 -12
  270. package/dist/chunk-FKUVFPQZ.js.map +1 -0
  271. package/dist/{chunk-VEKTKCSB.js → chunk-FLJ3RIRP.js} +5 -5
  272. package/dist/{chunk-LH4VKUZC.js → chunk-FLTXJWOC.js} +13 -7
  273. package/dist/chunk-FLTXJWOC.js.map +1 -0
  274. package/dist/{chunk-2ARVNCVU.js → chunk-FZUAB2KS.js} +8 -6
  275. package/dist/chunk-FZUAB2KS.js.map +1 -0
  276. package/dist/{chunk-PY3RW5LC.js → chunk-G2IVONJD.js} +24 -10
  277. package/dist/chunk-G2IVONJD.js.map +1 -0
  278. package/dist/{chunk-Z5WUSI47.js → chunk-G3JFESKD.js} +6 -6
  279. package/dist/{chunk-XRDH24J7.js → chunk-G6ET2DRL.js} +2 -2
  280. package/dist/{chunk-KIL3OVLI.js → chunk-G76PIGF7.js} +6 -2
  281. package/dist/chunk-G76PIGF7.js.map +1 -0
  282. package/dist/{chunk-XQWUVQ2F.js → chunk-GHGZI7PK.js} +6 -2
  283. package/dist/chunk-GHGZI7PK.js.map +1 -0
  284. package/dist/{chunk-4MQ6XTIJ.js → chunk-GJMWQUAD.js} +24 -13
  285. package/dist/chunk-GJMWQUAD.js.map +1 -0
  286. package/dist/{chunk-U4G3KY6L.js → chunk-GMU5AA3R.js} +8 -7
  287. package/dist/chunk-GMU5AA3R.js.map +1 -0
  288. package/dist/{chunk-ZFBFQK2Y.js → chunk-GPPUKDA6.js} +11 -12
  289. package/dist/chunk-GPPUKDA6.js.map +1 -0
  290. package/dist/{chunk-O36MIQIO.js → chunk-GPQ22MPR.js} +2 -2
  291. package/dist/{chunk-GRMBCJS6.js → chunk-H6R2L7VI.js} +4 -4
  292. package/dist/{chunk-AMLHEKSV.js → chunk-HI7JPDD6.js} +5 -5
  293. package/dist/{chunk-CW6Y32N2.js → chunk-I2CT4XIP.js} +6 -6
  294. package/dist/{chunk-N34AOGK3.js → chunk-I3OKAQ5L.js} +7 -7
  295. package/dist/{chunk-AEYLFBZT.js → chunk-I4NDZFTB.js} +2 -2
  296. package/dist/{chunk-5J7SA4CZ.js → chunk-IASPZGYB.js} +28 -10
  297. package/dist/chunk-IASPZGYB.js.map +1 -0
  298. package/dist/{chunk-2ZRZTGWP.js → chunk-ISW5K72V.js} +5 -5
  299. package/dist/{chunk-KARMRTTM.js → chunk-J2RUDZVJ.js} +7 -7
  300. package/dist/{chunk-FTPTPASD.js → chunk-JBYFBPI6.js} +2 -5
  301. package/dist/{chunk-FTPTPASD.js.map → chunk-JBYFBPI6.js.map} +1 -1
  302. package/dist/{chunk-4M5GEKPM.js → chunk-JL4I7OQE.js} +4 -4
  303. package/dist/chunk-JQLQOIB3.js +1 -0
  304. package/dist/chunk-JQLQOIB3.js.map +1 -0
  305. package/dist/{chunk-NBXG3SQ3.js → chunk-JSY234NY.js} +5 -5
  306. package/dist/{chunk-HQCZT6TO.js → chunk-JVOEVTCZ.js} +5 -5
  307. package/dist/{chunk-MBMZNSBP.js → chunk-JW7MN4DG.js} +3 -3
  308. package/dist/{chunk-ZPACE34U.js → chunk-K53XSVQO.js} +10 -10
  309. package/dist/{chunk-RUF7TOAZ.js → chunk-KE74C2SM.js} +3 -2
  310. package/dist/{chunk-RUF7TOAZ.js.map → chunk-KE74C2SM.js.map} +1 -1
  311. package/dist/{chunk-GBVNY2LG.js → chunk-KTXJQ4YJ.js} +6 -6
  312. package/dist/{chunk-FCVPVEAS.js → chunk-KYE7I6NT.js} +7 -7
  313. package/dist/{chunk-MM7BPTVV.js → chunk-KYT5G4K7.js} +2 -2
  314. package/dist/{chunk-4VRDFZ4G.js → chunk-KYTFGW4R.js} +7 -3
  315. package/dist/chunk-KYTFGW4R.js.map +1 -0
  316. package/dist/chunk-L35TCXFA.js +74 -0
  317. package/dist/chunk-L35TCXFA.js.map +1 -0
  318. package/dist/{chunk-3V3Z4EML.js → chunk-L4FWEI2P.js} +5 -5
  319. package/dist/{chunk-7VRCGWQL.js → chunk-L7N4AFZD.js} +6 -5
  320. package/dist/chunk-L7N4AFZD.js.map +1 -0
  321. package/dist/{chunk-2TSGRQ2J.js → chunk-LHJJZ462.js} +4 -2
  322. package/dist/chunk-LHJJZ462.js.map +1 -0
  323. package/dist/{chunk-SV6IQ2YO.js → chunk-LIWONEAU.js} +6 -4
  324. package/dist/chunk-LIWONEAU.js.map +1 -0
  325. package/dist/chunk-LL2BWQPM.js +11 -0
  326. package/dist/chunk-LL2BWQPM.js.map +1 -0
  327. package/dist/{chunk-XYFBJH6F.js → chunk-LR473BUT.js} +19 -9
  328. package/dist/chunk-LR473BUT.js.map +1 -0
  329. package/dist/{chunk-56JF5PZK.js → chunk-LYVTJLCF.js} +4 -4
  330. package/dist/{chunk-M3DSPEZ3.js → chunk-M3ZNQTS5.js} +5 -5
  331. package/dist/{chunk-AYJ44VTJ.js → chunk-MBY7DWGT.js} +15 -13
  332. package/dist/chunk-MBY7DWGT.js.map +1 -0
  333. package/dist/{chunk-GBKIGUNP.js → chunk-MGDCGNLC.js} +3 -3
  334. package/dist/{chunk-BGYLL467.js → chunk-N3W6FZOC.js} +4 -4
  335. package/dist/{chunk-BWFUZ4N2.js → chunk-NA3M7KDE.js} +4 -4
  336. package/dist/{chunk-MTGEJRE4.js → chunk-NNKIM73H.js} +17 -4
  337. package/dist/chunk-NNKIM73H.js.map +1 -0
  338. package/dist/{chunk-OHXAJUO5.js → chunk-NPPO7G2B.js} +5 -3
  339. package/dist/{chunk-OHXAJUO5.js.map → chunk-NPPO7G2B.js.map} +1 -1
  340. package/dist/{chunk-FIOBPQL2.js → chunk-NUUX4BBR.js} +10 -3
  341. package/dist/chunk-NUUX4BBR.js.map +1 -0
  342. package/dist/{chunk-7JOLSD2W.js → chunk-P3QFJJJY.js} +3 -3
  343. package/dist/{chunk-RCTHCXS6.js → chunk-PJNIJIE6.js} +2 -2
  344. package/dist/{chunk-DXFKPY2K.js → chunk-PU3FQG7T.js} +4 -4
  345. package/dist/{chunk-6ATXOJVQ.js → chunk-QADTI63U.js} +4 -4
  346. package/dist/{chunk-FRGNTTPA.js → chunk-QDRHIK2R.js} +15 -10
  347. package/dist/chunk-QDRHIK2R.js.map +1 -0
  348. package/dist/{chunk-SUZXPDUQ.js → chunk-QJLOWBFW.js} +12 -6
  349. package/dist/chunk-QJLOWBFW.js.map +1 -0
  350. package/dist/chunk-QNAB53N3.js +1 -0
  351. package/dist/chunk-QNAB53N3.js.map +1 -0
  352. package/dist/{chunk-7ZROYGUG.js → chunk-QOTMQLMW.js} +2 -2
  353. package/dist/{chunk-NQCTANF3.js → chunk-QVDEGBME.js} +7 -7
  354. package/dist/{chunk-HEBZ7Q7O.js → chunk-QVYBRD6U.js} +7 -6
  355. package/dist/chunk-QVYBRD6U.js.map +1 -0
  356. package/dist/{chunk-VNVV6Y2X.js → chunk-RECD3XOL.js} +4 -2
  357. package/dist/chunk-RECD3XOL.js.map +1 -0
  358. package/dist/{chunk-JJVIZR6C.js → chunk-RIPG3QIN.js} +24 -13
  359. package/dist/chunk-RIPG3QIN.js.map +1 -0
  360. package/dist/{chunk-T743IIER.js → chunk-RNQA7MDM.js} +8 -4
  361. package/dist/chunk-RNQA7MDM.js.map +1 -0
  362. package/dist/{chunk-YNDTLBOH.js → chunk-RQMYEPRR.js} +2 -2
  363. package/dist/{chunk-3JDP5OUR.js → chunk-RQY5ONSF.js} +6 -2
  364. package/dist/chunk-RQY5ONSF.js.map +1 -0
  365. package/dist/{chunk-Y7YJYUNV.js → chunk-RRSLH2FV.js} +10 -3
  366. package/dist/chunk-RRSLH2FV.js.map +1 -0
  367. package/dist/{chunk-3Z3WIQ5M.js → chunk-RZ3QMKM7.js} +5 -5
  368. package/dist/{chunk-WA6F4NOO.js → chunk-SMANO5OD.js} +4 -4
  369. package/dist/{chunk-5M2NWXN4.js → chunk-SRNBD6EV.js} +2 -2
  370. package/dist/{chunk-7SYYGXC7.js → chunk-SSCEX5NY.js} +6 -2
  371. package/dist/chunk-SSCEX5NY.js.map +1 -0
  372. package/dist/{chunk-PU3HEWSG.js → chunk-SYSR2K2M.js} +13 -4
  373. package/dist/chunk-SYSR2K2M.js.map +1 -0
  374. package/dist/{chunk-NDGA7ZE6.js → chunk-TGMMUKOF.js} +3 -3
  375. package/dist/{chunk-SB2SEGR6.js → chunk-TIM4PXWN.js} +3 -3
  376. package/dist/{chunk-555TUQ7E.js → chunk-TPGFR24B.js} +5 -5
  377. package/dist/{chunk-MHLYX6QW.js → chunk-TRAMTVIO.js} +5 -5
  378. package/dist/{chunk-QO7UJXXO.js → chunk-TVMSXL3R.js} +2 -2
  379. package/dist/{chunk-OE3SQOZV.js → chunk-U6XXAVBO.js} +13 -7
  380. package/dist/chunk-U6XXAVBO.js.map +1 -0
  381. package/dist/{chunk-CZV6NVCA.js → chunk-UG4EMHMW.js} +10 -7
  382. package/dist/chunk-UG4EMHMW.js.map +1 -0
  383. package/dist/{chunk-VEBNL5MG.js → chunk-UGYBN6OO.js} +2 -2
  384. package/dist/{chunk-HHPJXK4Z.js → chunk-UHQZ5XPW.js} +2 -2
  385. package/dist/{chunk-2QO3BKUQ.js → chunk-UJT6AQHL.js} +4 -4
  386. package/dist/{chunk-FTDGFWB5.js → chunk-UK3DSFMK.js} +5 -5
  387. package/dist/{chunk-NYWAAXDX.js → chunk-URAXAKUI.js} +3 -3
  388. package/dist/{chunk-XODBYGTH.js → chunk-V37QIB7B.js} +2 -2
  389. package/dist/{chunk-7K23NEZO.js → chunk-V45JGJ3W.js} +8 -8
  390. package/dist/{chunk-RA6W37NZ.js → chunk-V64USPG3.js} +11 -8
  391. package/dist/chunk-V64USPG3.js.map +1 -0
  392. package/dist/{chunk-HZK4DRGF.js → chunk-V7INHV5V.js} +6 -4
  393. package/dist/chunk-V7INHV5V.js.map +1 -0
  394. package/dist/{chunk-RZCXYKY4.js → chunk-VFVATUC6.js} +6 -2
  395. package/dist/chunk-VFVATUC6.js.map +1 -0
  396. package/dist/{chunk-2MYSXWZQ.js → chunk-VKTF3GAP.js} +9 -9
  397. package/dist/{chunk-ICRVLGWD.js → chunk-VMU52I5D.js} +8 -2
  398. package/dist/chunk-VMU52I5D.js.map +1 -0
  399. package/dist/{chunk-MNZ6MCOK.js → chunk-VQ6UB4MN.js} +8 -8
  400. package/dist/{chunk-LTTYUSJ2.js → chunk-VTDZUO2J.js} +4 -2
  401. package/dist/chunk-VTDZUO2J.js.map +1 -0
  402. package/dist/{chunk-4HUSG5MR.js → chunk-VZVAP2ZR.js} +2 -2
  403. package/dist/{chunk-4XBAEKQQ.js → chunk-W2RXXF7K.js} +4 -4
  404. package/dist/chunk-W5PRZHLU.js +74 -0
  405. package/dist/chunk-W5PRZHLU.js.map +1 -0
  406. package/dist/{chunk-A2YLFKQU.js → chunk-W5WYTVLS.js} +2 -2
  407. package/dist/{chunk-EUACQR6N.js → chunk-WE43PZ4P.js} +7 -5
  408. package/dist/chunk-WE43PZ4P.js.map +1 -0
  409. package/dist/{chunk-RHKQ2RSY.js → chunk-WUW6NDXC.js} +15 -15
  410. package/dist/{chunk-EBCEDBHX.js → chunk-XDDKRACZ.js} +3 -3
  411. package/dist/{chunk-SLSED46V.js → chunk-Y3DV7LGC.js} +2 -1
  412. package/dist/{chunk-SLSED46V.js.map → chunk-Y3DV7LGC.js.map} +1 -1
  413. package/dist/{chunk-ASZGMKB4.js → chunk-Y3TD7HOY.js} +2 -2
  414. package/dist/{chunk-HBHBRRSW.js → chunk-YBAK2WN5.js} +7 -7
  415. package/dist/{chunk-LOLYI6PS.js → chunk-YCZGYYUX.js} +11 -8
  416. package/dist/chunk-YCZGYYUX.js.map +1 -0
  417. package/dist/{chunk-KT3TF2LT.js → chunk-YJ6UQDA6.js} +7 -5
  418. package/dist/chunk-YJ6UQDA6.js.map +1 -0
  419. package/dist/{chunk-6RTE4UNO.js → chunk-YV4O7KDR.js} +1 -1
  420. package/dist/{chunk-Z5V5E3JW.js → chunk-ZIHSCBMN.js} +10 -10
  421. package/dist/data-display/Alert.js +3 -3
  422. package/dist/data-display/AlertDialog.js +2 -1
  423. package/dist/data-display/AsyncStateContainer.js +3 -3
  424. package/dist/data-display/Avatar.js +4 -4
  425. package/dist/data-display/CardKit.js +18 -17
  426. package/dist/data-display/Carousel.js +7 -4
  427. package/dist/data-display/Chart.js +11 -11
  428. package/dist/data-display/DataGrid.js +2 -2
  429. package/dist/data-display/DataViews.js +86 -85
  430. package/dist/data-display/EmptyState.js +2 -2
  431. package/dist/data-display/FleetMap.js +15 -12
  432. package/dist/data-display/HoverCard.js +2 -2
  433. package/dist/data-display/InteractiveTooltip.js +2 -2
  434. package/dist/data-display/LazyImage.js +3 -2
  435. package/dist/data-display/Lightbox.js +6 -6
  436. package/dist/data-display/MapPreview.js +9 -6
  437. package/dist/data-display/Progress.js +2 -2
  438. package/dist/data-display/SectionOnboarding.js +6 -4
  439. package/dist/data-display/Sheet.js +4 -4
  440. package/dist/data-display/Stepper.js +3 -1
  441. package/dist/data-display/Table.js +6 -4
  442. package/dist/data-display/Timeline.js +4 -2
  443. package/dist/en-US.js +16 -12
  444. package/dist/feedback/ConfirmAction.js +9 -8
  445. package/dist/feedback/Dialog.js +3 -2
  446. package/dist/feedback/NotificationStatusNotice.js +4 -4
  447. package/dist/feedback/SequenceResolver.js +12 -11
  448. package/dist/feedback/Sonner.js +3 -2
  449. package/dist/feedback/StackedModal.js +7 -6
  450. package/dist/feedback/Toast.js +2 -1
  451. package/dist/feedback/TutorialOverlay.js +3 -2
  452. package/dist/form/AddressAutocomplete.js +12 -10
  453. package/dist/form/Autocomplete.js +2 -2
  454. package/dist/form/Calendar.js +6 -6
  455. package/dist/form/CategorySelect.js +9 -9
  456. package/dist/form/Checkbox.js +2 -2
  457. package/dist/form/CodeEditor.js +3 -3
  458. package/dist/form/DateRangePicker.js +9 -9
  459. package/dist/form/InputOTP.js +2 -2
  460. package/dist/form/Menubar.js +2 -2
  461. package/dist/form/PhoneInput.js +3 -3
  462. package/dist/form/PickerSheet.js +4 -4
  463. package/dist/form/RichTextEditor.js +7 -5
  464. package/dist/form/Switch.js +4 -4
  465. package/dist/form/Textarea.js +1 -1
  466. package/dist/form/UploadButton.js +3 -2
  467. package/dist/form/total-form.js +18 -17
  468. package/dist/layout/Card.js +2 -2
  469. package/dist/layout/ContentToolbar.js +11 -10
  470. package/dist/layout/Dashboard.js +2 -1
  471. package/dist/layout/ScrollArea.js +3 -3
  472. package/dist/layout/SettingCard.js +17 -17
  473. package/dist/layout/SettingsLayout.js +6 -6
  474. package/dist/locales.js +36 -28
  475. package/dist/locales.js.map +1 -1
  476. package/dist/native/chunks/{chunk-BXNZHDXK.js → chunk-4SP3BDPZ.js} +12 -5
  477. package/dist/native/chunks/chunk-4SP3BDPZ.js.map +1 -0
  478. package/dist/native/chunks/{chunk-AVHGS66L.js → chunk-FGAX5BRS.js} +2 -2
  479. package/dist/native/chunks/chunk-SPK34J7Y.js +74 -0
  480. package/dist/native/chunks/chunk-SPK34J7Y.js.map +1 -0
  481. package/dist/native/data-display/Badge.js +9 -3
  482. package/dist/native/data-display/Badge.js.map +1 -1
  483. package/dist/native/data-display/Chip.js +9 -1
  484. package/dist/native/data-display/Chip.js.map +1 -1
  485. package/dist/native/data-display/EmptyState.js +3 -2
  486. package/dist/native/data-display/ErrorState.js +2 -1
  487. package/dist/native/data-display/ErrorState.js.map +1 -1
  488. package/dist/native/data-display/FleetMap.js +3 -2
  489. package/dist/native/data-display/FleetMap.js.map +1 -1
  490. package/dist/native/feedback/Dialog.js +20 -3
  491. package/dist/native/feedback/Dialog.js.map +1 -1
  492. package/dist/native/form/Button.js +2 -1
  493. package/dist/native/form/Checkbox.js +6 -1
  494. package/dist/native/form/Checkbox.js.map +1 -1
  495. package/dist/native/form/Input.js +11 -3
  496. package/dist/native/form/Input.js.map +1 -1
  497. package/dist/native/form/Switch.js +5 -1
  498. package/dist/native/form/Switch.js.map +1 -1
  499. package/dist/navigation/AppHeader.js +10 -9
  500. package/dist/navigation/CommandPalette.js +6 -4
  501. package/dist/navigation/NavigationMenu.js +7 -6
  502. package/dist/navigation/Pagination.js +2 -2
  503. package/dist/navigation/SectionNav.js +5 -5
  504. package/dist/pt-BR.js +10 -6
  505. package/dist/social-login-button.js +4 -4
  506. package/dist/types/components/data-display/AlertDialog/AlertDialog.d.ts.map +1 -1
  507. package/dist/types/components/data-display/AlertDialog/AlertDialog.types.d.ts +5 -0
  508. package/dist/types/components/data-display/AlertDialog/AlertDialog.types.d.ts.map +1 -1
  509. package/dist/types/components/data-display/Carousel/Carousel.chrome.d.ts.map +1 -1
  510. package/dist/types/components/data-display/Carousel/Carousel.parts.d.ts.map +1 -1
  511. package/dist/types/components/data-display/Carousel/Carousel.types.d.ts +2 -0
  512. package/dist/types/components/data-display/Carousel/Carousel.types.d.ts.map +1 -1
  513. package/dist/types/components/data-display/LazyImage/LazyImage.d.ts.map +1 -1
  514. package/dist/types/components/data-display/LazyImage/LazyImage.types.d.ts +10 -0
  515. package/dist/types/components/data-display/LazyImage/LazyImage.types.d.ts.map +1 -1
  516. package/dist/types/components/data-display/MapPreview/MapControlBar.d.ts.map +1 -1
  517. package/dist/types/components/data-display/MapPreview/MapLayers.d.ts +1 -1
  518. package/dist/types/components/data-display/MapPreview/MapLayers.d.ts.map +1 -1
  519. package/dist/types/components/data-display/MapPreview/MapMarkers.d.ts +2 -0
  520. package/dist/types/components/data-display/MapPreview/MapMarkers.d.ts.map +1 -1
  521. package/dist/types/components/data-display/MapPreview/MapPreview.d.ts.map +1 -1
  522. package/dist/types/components/data-display/MapPreview/MapPreview.helpers.d.ts +7 -1
  523. package/dist/types/components/data-display/MapPreview/MapPreview.helpers.d.ts.map +1 -1
  524. package/dist/types/components/data-display/Stepper/Stepper.d.ts.map +1 -1
  525. package/dist/types/components/data-display/Stepper/Stepper.types.d.ts +4 -0
  526. package/dist/types/components/data-display/Stepper/Stepper.types.d.ts.map +1 -1
  527. package/dist/types/components/data-display/Table/Table.d.ts.map +1 -1
  528. package/dist/types/components/data-display/Table/Table.helpers.d.ts.map +1 -1
  529. package/dist/types/components/data-display/Table/Table.types.d.ts +11 -0
  530. package/dist/types/components/data-display/Table/Table.types.d.ts.map +1 -1
  531. package/dist/types/components/data-display/Table/TableParts.d.ts +2 -1
  532. package/dist/types/components/data-display/Table/TableParts.d.ts.map +1 -1
  533. package/dist/types/components/data-display/Table/TableParts.hooks.d.ts +2 -2
  534. package/dist/types/components/data-display/Table/TableParts.hooks.d.ts.map +1 -1
  535. package/dist/types/components/data-display/Timeline/Timeline.d.ts.map +1 -1
  536. package/dist/types/components/data-display/Timeline/Timeline.types.d.ts +3 -0
  537. package/dist/types/components/data-display/Timeline/Timeline.types.d.ts.map +1 -1
  538. package/dist/types/components/data-display/Timeline/TimelineRow.d.ts +2 -0
  539. package/dist/types/components/data-display/Timeline/TimelineRow.d.ts.map +1 -1
  540. package/dist/types/components/feedback/Dialog/Dialog.base.d.ts +10 -0
  541. package/dist/types/components/feedback/Dialog/Dialog.base.d.ts.map +1 -1
  542. package/dist/types/components/feedback/Dialog/Dialog.d.ts.map +1 -1
  543. package/dist/types/components/feedback/Sonner/Sonner.d.ts +6 -0
  544. package/dist/types/components/feedback/Sonner/Sonner.d.ts.map +1 -1
  545. package/dist/types/components/feedback/Sonner/SonnerToast.d.ts.map +1 -1
  546. package/dist/types/components/feedback/StackedModal/StackedModal.d.ts.map +1 -1
  547. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts +2 -0
  548. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts.map +1 -1
  549. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts +5 -0
  550. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts.map +1 -1
  551. package/dist/types/components/feedback/Toast/Toast.d.ts.map +1 -1
  552. package/dist/types/components/feedback/Toast/Toast.types.d.ts +5 -0
  553. package/dist/types/components/feedback/Toast/Toast.types.d.ts.map +1 -1
  554. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.d.ts.map +1 -1
  555. package/dist/types/components/feedback/TutorialOverlay/TutorialStepBody.d.ts.map +1 -1
  556. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.d.ts.map +1 -1
  557. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.helpers.d.ts +1 -1
  558. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.helpers.d.ts.map +1 -1
  559. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.hooks.d.ts +3 -1
  560. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.hooks.d.ts.map +1 -1
  561. package/dist/types/components/form/AddressAutocomplete/AddressAutocompleteField.d.ts.map +1 -1
  562. package/dist/types/components/form/AddressAutocomplete/useAddressPredictions.d.ts +2 -1
  563. package/dist/types/components/form/AddressAutocomplete/useAddressPredictions.d.ts.map +1 -1
  564. package/dist/types/components/form/AddressAutocomplete/useAddressSelection.d.ts +3 -1
  565. package/dist/types/components/form/AddressAutocomplete/useAddressSelection.d.ts.map +1 -1
  566. package/dist/types/components/form/AddressAutocomplete/useCurrentLocation.d.ts +3 -1
  567. package/dist/types/components/form/AddressAutocomplete/useCurrentLocation.d.ts.map +1 -1
  568. package/dist/types/components/form/AddressAutocomplete/useGoogleMapsAPI.d.ts +4 -1
  569. package/dist/types/components/form/AddressAutocomplete/useGoogleMapsAPI.d.ts.map +1 -1
  570. package/dist/types/components/form/Button/Button.native.loading.d.ts +2 -1
  571. package/dist/types/components/form/Button/Button.native.loading.d.ts.map +1 -1
  572. package/dist/types/components/form/PhoneInput/PhoneInput.d.ts.map +1 -1
  573. package/dist/types/components/form/PhoneInput/PhoneInput.types.d.ts +1 -0
  574. package/dist/types/components/form/PhoneInput/PhoneInput.types.d.ts.map +1 -1
  575. package/dist/types/components/form/PhoneInput/countries.d.ts +6 -0
  576. package/dist/types/components/form/PhoneInput/countries.d.ts.map +1 -1
  577. package/dist/types/components/form/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  578. package/dist/types/components/form/RichTextEditor/RichTextEditor.dom.d.ts +1 -1
  579. package/dist/types/components/form/RichTextEditor/RichTextEditor.dom.d.ts.map +1 -1
  580. package/dist/types/components/form/RichTextEditor/RichTextEditor.format.d.ts +2 -1
  581. package/dist/types/components/form/RichTextEditor/RichTextEditor.format.d.ts.map +1 -1
  582. package/dist/types/components/form/RichTextEditor/RichTextEditor.hooks.d.ts +2 -1
  583. package/dist/types/components/form/RichTextEditor/RichTextEditor.hooks.d.ts.map +1 -1
  584. package/dist/types/components/form/RichTextEditor/RichTextEditor.types.d.ts +7 -1
  585. package/dist/types/components/form/RichTextEditor/RichTextEditor.types.d.ts.map +1 -1
  586. package/dist/types/components/form/RichTextEditor/RichTextEditorToolbar.d.ts +2 -0
  587. package/dist/types/components/form/RichTextEditor/RichTextEditorToolbar.d.ts.map +1 -1
  588. package/dist/types/components/form/Textarea/TextareaRichEditor.d.ts.map +1 -1
  589. package/dist/types/components/form/UploadButton/UploadButton.hooks.d.ts.map +1 -1
  590. package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts +14 -0
  591. package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts.map +1 -1
  592. package/dist/types/components/layout/ContentToolbar/FilterTrigger.d.ts +1 -1
  593. package/dist/types/components/layout/ContentToolbar/FilterTrigger.d.ts.map +1 -1
  594. package/dist/types/components/layout/ContentToolbar/ViewSelector.d.ts +1 -1
  595. package/dist/types/components/layout/ContentToolbar/ViewSelector.d.ts.map +1 -1
  596. package/dist/types/components/layout/Dashboard/Dashboard.d.ts +1 -1
  597. package/dist/types/components/layout/Dashboard/Dashboard.d.ts.map +1 -1
  598. package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts +5 -0
  599. package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts.map +1 -1
  600. package/dist/types/components/navigation/CommandPalette/CommandPalette.d.ts.map +1 -1
  601. package/dist/types/components/navigation/CommandPalette/CommandPalette.helpers.d.ts +1 -1
  602. package/dist/types/components/navigation/CommandPalette/CommandPalette.helpers.d.ts.map +1 -1
  603. package/dist/types/components/navigation/CommandPalette/CommandPalette.hooks.d.ts +2 -1
  604. package/dist/types/components/navigation/CommandPalette/CommandPalette.hooks.d.ts.map +1 -1
  605. package/dist/types/components/navigation/CommandPalette/CommandPaletteResults.d.ts.map +1 -1
  606. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.d.ts.map +1 -1
  607. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts +1 -0
  608. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts.map +1 -1
  609. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.types.d.ts +11 -0
  610. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.types.d.ts.map +1 -1
  611. package/dist/types/components/navigation/NavigationMenu/NavigationMenuItem.d.ts.map +1 -1
  612. package/dist/types/components/navigation/NavigationMenu/NavigationStandardBody.d.ts +4 -0
  613. package/dist/types/components/navigation/NavigationMenu/NavigationStandardBody.d.ts.map +1 -1
  614. package/dist/types/components/typography/Code/Code.d.ts.map +1 -1
  615. package/dist/types/components/typography/Code/Code.types.d.ts +4 -0
  616. package/dist/types/components/typography/Code/Code.types.d.ts.map +1 -1
  617. package/dist/types/components/utility/WorkflowStep/WorkflowStep.d.ts.map +1 -1
  618. package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts +4 -1
  619. package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts.map +1 -1
  620. package/dist/types/components/utility/WorkflowStep/WorkflowStep.parts.d.ts.map +1 -1
  621. package/dist/types/components/utility/WorkflowStep/WorkflowStep.types.d.ts +9 -0
  622. package/dist/types/components/utility/WorkflowStep/WorkflowStep.types.d.ts.map +1 -1
  623. package/dist/types/components/utility/WorkflowStep/WorkflowStepRow.d.ts +1 -0
  624. package/dist/types/components/utility/WorkflowStep/WorkflowStepRow.d.ts.map +1 -1
  625. package/dist/types/copy/data-display.d.ts +24 -0
  626. package/dist/types/copy/data-display.d.ts.map +1 -1
  627. package/dist/types/copy/feedback.d.ts +4 -0
  628. package/dist/types/copy/feedback.d.ts.map +1 -1
  629. package/dist/types/copy/form.d.ts +58 -0
  630. package/dist/types/copy/form.d.ts.map +1 -1
  631. package/dist/types/copy/labels.d.ts +108 -0
  632. package/dist/types/copy/labels.d.ts.map +1 -0
  633. package/dist/types/copy/navigation.d.ts +12 -0
  634. package/dist/types/copy/navigation.d.ts.map +1 -1
  635. package/dist/types/copy/utility.d.ts +8 -1
  636. package/dist/types/copy/utility.d.ts.map +1 -1
  637. package/dist/types/copy.d.ts +1 -0
  638. package/dist/types/copy.d.ts.map +1 -1
  639. package/dist/types/en-US.d.ts +1 -0
  640. package/dist/types/en-US.d.ts.map +1 -1
  641. package/dist/types/en-US.data-display.d.ts +2 -2
  642. package/dist/types/en-US.data-display.d.ts.map +1 -1
  643. package/dist/types/en-US.feedback.d.ts +1 -1
  644. package/dist/types/en-US.feedback.d.ts.map +1 -1
  645. package/dist/types/en-US.form.d.ts +4 -4
  646. package/dist/types/en-US.form.d.ts.map +1 -1
  647. package/dist/types/en-US.labels.d.ts +9 -0
  648. package/dist/types/en-US.labels.d.ts.map +1 -0
  649. package/dist/types/en-US.navigation.d.ts +1 -1
  650. package/dist/types/en-US.navigation.d.ts.map +1 -1
  651. package/dist/types/en-US.utility.d.ts +1 -1
  652. package/dist/types/en-US.utility.d.ts.map +1 -1
  653. package/dist/types/locales.d.ts +2 -1
  654. package/dist/types/locales.d.ts.map +1 -1
  655. package/dist/types/pt-BR.d.ts +1 -0
  656. package/dist/types/pt-BR.d.ts.map +1 -1
  657. package/dist/types/pt-BR.data-display.d.ts +2 -2
  658. package/dist/types/pt-BR.data-display.d.ts.map +1 -1
  659. package/dist/types/pt-BR.feedback.d.ts +1 -1
  660. package/dist/types/pt-BR.feedback.d.ts.map +1 -1
  661. package/dist/types/pt-BR.form.d.ts +4 -4
  662. package/dist/types/pt-BR.form.d.ts.map +1 -1
  663. package/dist/types/pt-BR.labels.d.ts +8 -0
  664. package/dist/types/pt-BR.labels.d.ts.map +1 -0
  665. package/dist/types/pt-BR.navigation.d.ts +1 -1
  666. package/dist/types/pt-BR.navigation.d.ts.map +1 -1
  667. package/dist/types/pt-BR.utility.d.ts +1 -1
  668. package/dist/types/pt-BR.utility.d.ts.map +1 -1
  669. package/dist/types/user-avatar/user-avatar.d.ts +6 -1
  670. package/dist/types/user-avatar/user-avatar.d.ts.map +1 -1
  671. package/dist/types/utils/resolve-labels.d.ts +9 -0
  672. package/dist/types/utils/resolve-labels.d.ts.map +1 -0
  673. package/dist/types-native/components/data-display/Badge/Badge.native.d.ts +1 -0
  674. package/dist/types-native/components/data-display/Badge/Badge.native.d.ts.map +1 -1
  675. package/dist/types-native/components/data-display/Badge/Badge.types.native.d.ts +2 -0
  676. package/dist/types-native/components/data-display/Badge/Badge.types.native.d.ts.map +1 -1
  677. package/dist/types-native/components/data-display/Badge/BadgeContent.native.d.ts +2 -1
  678. package/dist/types-native/components/data-display/Badge/BadgeContent.native.d.ts.map +1 -1
  679. package/dist/types-native/components/data-display/Chip/Chip.native.d.ts +1 -0
  680. package/dist/types-native/components/data-display/Chip/Chip.native.d.ts.map +1 -1
  681. package/dist/types-native/components/data-display/Chip/Chip.types.native.d.ts +2 -0
  682. package/dist/types-native/components/data-display/Chip/Chip.types.native.d.ts.map +1 -1
  683. package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts +10 -0
  684. package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts.map +1 -1
  685. package/dist/types-native/components/feedback/Dialog/Dialog.native.d.ts.map +1 -1
  686. package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts +1 -1
  687. package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts.map +1 -1
  688. package/dist/types-native/components/form/Button/Button.native.d.ts +1 -0
  689. package/dist/types-native/components/form/Button/Button.native.d.ts.map +1 -1
  690. package/dist/types-native/components/form/Button/Button.native.loading.d.ts +2 -1
  691. package/dist/types-native/components/form/Button/Button.native.loading.d.ts.map +1 -1
  692. package/dist/types-native/components/form/Button/Button.types.native.d.ts +2 -0
  693. package/dist/types-native/components/form/Button/Button.types.native.d.ts.map +1 -1
  694. package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts +1 -0
  695. package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts.map +1 -1
  696. package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts +2 -0
  697. package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts.map +1 -1
  698. package/dist/types-native/components/form/Input/Input.native.d.ts +1 -0
  699. package/dist/types-native/components/form/Input/Input.native.d.ts.map +1 -1
  700. package/dist/types-native/components/form/Input/Input.types.native.d.ts +2 -0
  701. package/dist/types-native/components/form/Input/Input.types.native.d.ts.map +1 -1
  702. package/dist/types-native/components/form/Switch/Switch.native.d.ts +1 -0
  703. package/dist/types-native/components/form/Switch/Switch.native.d.ts.map +1 -1
  704. package/dist/types-native/components/form/Switch/Switch.types.native.d.ts +2 -0
  705. package/dist/types-native/components/form/Switch/Switch.types.native.d.ts.map +1 -1
  706. package/dist/types-native/copy/data-display.d.ts +119 -0
  707. package/dist/types-native/copy/data-display.d.ts.map +1 -0
  708. package/dist/types-native/copy/labels.d.ts +108 -0
  709. package/dist/types-native/copy/labels.d.ts.map +1 -0
  710. package/dist/types-native/en-US.labels.d.ts +9 -0
  711. package/dist/types-native/en-US.labels.d.ts.map +1 -0
  712. package/dist/typography/Code.js +2 -1
  713. package/dist/user-avatar.js +8 -7
  714. package/dist/utility/InstallPrompt.js +2 -2
  715. package/dist/utility/WorkflowStep.js +6 -4
  716. package/package.json +2 -2
  717. package/src/components/data-display/AlertDialog/AlertDialog.tsx +3 -1
  718. package/src/components/data-display/AlertDialog/AlertDialog.types.ts +6 -0
  719. package/src/components/data-display/Badge/Badge.native.tsx +2 -0
  720. package/src/components/data-display/Badge/Badge.types.native.ts +2 -0
  721. package/src/components/data-display/Badge/BadgeContent.native.tsx +4 -1
  722. package/src/components/data-display/Carousel/Carousel.chrome.tsx +1 -0
  723. package/src/components/data-display/Carousel/Carousel.parts.tsx +13 -9
  724. package/src/components/data-display/Carousel/Carousel.types.ts +2 -0
  725. package/src/components/data-display/Chip/Chip.native.tsx +9 -1
  726. package/src/components/data-display/Chip/Chip.types.native.ts +2 -0
  727. package/src/components/data-display/LazyImage/LazyImage.hooks.ts +1 -1
  728. package/src/components/data-display/LazyImage/LazyImage.tsx +4 -4
  729. package/src/components/data-display/LazyImage/LazyImage.types.ts +12 -0
  730. package/src/components/data-display/MapPreview/MapControlBar.tsx +7 -3
  731. package/src/components/data-display/MapPreview/MapLayers.tsx +2 -2
  732. package/src/components/data-display/MapPreview/MapMarkers.tsx +13 -4
  733. package/src/components/data-display/MapPreview/MapPreview.helpers.ts +13 -2
  734. package/src/components/data-display/MapPreview/MapPreview.tsx +7 -3
  735. package/src/components/data-display/Stepper/Stepper.tsx +41 -7
  736. package/src/components/data-display/Stepper/Stepper.types.ts +4 -0
  737. package/src/components/data-display/Table/Table.helpers.ts +1 -0
  738. package/src/components/data-display/Table/Table.tsx +4 -5
  739. package/src/components/data-display/Table/Table.types.ts +12 -0
  740. package/src/components/data-display/Table/TableParts.hooks.tsx +8 -1
  741. package/src/components/data-display/Table/TableParts.tsx +19 -5
  742. package/src/components/data-display/Timeline/Timeline.tsx +6 -1
  743. package/src/components/data-display/Timeline/Timeline.types.ts +3 -0
  744. package/src/components/data-display/Timeline/TimelineRow.tsx +11 -4
  745. package/src/components/feedback/Dialog/Dialog.base.ts +10 -0
  746. package/src/components/feedback/Dialog/Dialog.native.tsx +2 -0
  747. package/src/components/feedback/Dialog/Dialog.tsx +5 -1
  748. package/src/components/feedback/Dialog/DialogParts.native.tsx +17 -3
  749. package/src/components/feedback/Sonner/Sonner.tsx +16 -6
  750. package/src/components/feedback/Sonner/SonnerToast.tsx +4 -2
  751. package/src/components/feedback/StackedModal/StackedModal.parts.tsx +24 -3
  752. package/src/components/feedback/StackedModal/StackedModal.tsx +2 -1
  753. package/src/components/feedback/StackedModal/StackedModal.types.ts +5 -0
  754. package/src/components/feedback/Toast/Toast.tsx +5 -2
  755. package/src/components/feedback/Toast/Toast.types.ts +5 -0
  756. package/src/components/feedback/TutorialOverlay/TutorialOverlay.tsx +3 -1
  757. package/src/components/feedback/TutorialOverlay/TutorialStepBody.tsx +12 -3
  758. package/src/components/form/AddressAutocomplete/AddressAutocomplete.helpers.ts +12 -6
  759. package/src/components/form/AddressAutocomplete/AddressAutocomplete.hooks.ts +15 -2
  760. package/src/components/form/AddressAutocomplete/AddressAutocomplete.tsx +1 -0
  761. package/src/components/form/AddressAutocomplete/AddressAutocompleteField.tsx +9 -3
  762. package/src/components/form/AddressAutocomplete/useAddressPredictions.ts +6 -3
  763. package/src/components/form/AddressAutocomplete/useAddressSelection.ts +8 -4
  764. package/src/components/form/AddressAutocomplete/useCurrentLocation.ts +12 -8
  765. package/src/components/form/AddressAutocomplete/useGoogleMapsAPI.ts +8 -4
  766. package/src/components/form/Button/Button.native.loading.tsx +11 -2
  767. package/src/components/form/Button/Button.native.tsx +2 -2
  768. package/src/components/form/Button/Button.types.native.ts +2 -0
  769. package/src/components/form/Checkbox/Checkbox.native.tsx +5 -2
  770. package/src/components/form/Checkbox/Checkbox.types.native.ts +2 -0
  771. package/src/components/form/Input/Input.native.tsx +13 -4
  772. package/src/components/form/Input/Input.types.native.ts +2 -0
  773. package/src/components/form/PhoneInput/PhoneInput.md +2 -2
  774. package/src/components/form/PhoneInput/PhoneInput.tsx +21 -10
  775. package/src/components/form/PhoneInput/PhoneInput.types.ts +1 -0
  776. package/src/components/form/PhoneInput/countries.ts +18 -1
  777. package/src/components/form/RichTextEditor/RichTextEditor.dom.ts +5 -3
  778. package/src/components/form/RichTextEditor/RichTextEditor.format.ts +3 -1
  779. package/src/components/form/RichTextEditor/RichTextEditor.hooks.ts +4 -1
  780. package/src/components/form/RichTextEditor/RichTextEditor.tsx +10 -4
  781. package/src/components/form/RichTextEditor/RichTextEditor.types.ts +7 -1
  782. package/src/components/form/RichTextEditor/RichTextEditorToolbar.tsx +29 -19
  783. package/src/components/form/Switch/Switch.native.tsx +4 -3
  784. package/src/components/form/Switch/Switch.types.native.ts +2 -0
  785. package/src/components/form/Textarea/TextareaRichEditor.tsx +2 -1
  786. package/src/components/form/UploadButton/UploadButton.hooks.ts +16 -6
  787. package/src/components/layout/ContentToolbar/ContentToolbar.types.ts +14 -0
  788. package/src/components/layout/ContentToolbar/FilterTrigger.tsx +10 -1
  789. package/src/components/layout/ContentToolbar/ViewSelector.tsx +15 -5
  790. package/src/components/layout/Dashboard/Dashboard.tsx +3 -1
  791. package/src/components/layout/Dashboard/Dashboard.types.ts +5 -0
  792. package/src/components/navigation/CommandPalette/CommandPalette.helpers.ts +6 -2
  793. package/src/components/navigation/CommandPalette/CommandPalette.hooks.ts +9 -1
  794. package/src/components/navigation/CommandPalette/CommandPalette.tsx +16 -6
  795. package/src/components/navigation/CommandPalette/CommandPaletteResults.tsx +3 -1
  796. package/src/components/navigation/NavigationMenu/NavigationMenu.shell.tsx +7 -4
  797. package/src/components/navigation/NavigationMenu/NavigationMenu.tsx +4 -0
  798. package/src/components/navigation/NavigationMenu/NavigationMenu.types.ts +13 -0
  799. package/src/components/navigation/NavigationMenu/NavigationMenuItem.tsx +2 -0
  800. package/src/components/navigation/NavigationMenu/NavigationStandardBody.tsx +24 -4
  801. package/src/components/typography/Code/Code.tsx +28 -6
  802. package/src/components/typography/Code/Code.types.ts +4 -0
  803. package/src/components/utility/WorkflowStep/WorkflowStep.helpers.ts +9 -1
  804. package/src/components/utility/WorkflowStep/WorkflowStep.parts.tsx +3 -2
  805. package/src/components/utility/WorkflowStep/WorkflowStep.tsx +3 -1
  806. package/src/components/utility/WorkflowStep/WorkflowStep.types.ts +10 -0
  807. package/src/components/utility/WorkflowStep/WorkflowStepRow.tsx +3 -0
  808. package/src/copy/data-display.ts +19 -0
  809. package/src/copy/feedback.ts +4 -0
  810. package/src/copy/form.ts +58 -0
  811. package/src/copy/labels.ts +120 -0
  812. package/src/copy/navigation.ts +12 -0
  813. package/src/copy/utility.ts +8 -1
  814. package/src/copy.ts +1 -0
  815. package/src/en-US.data-display.ts +9 -2
  816. package/src/en-US.feedback.ts +3 -1
  817. package/src/en-US.form.ts +27 -4
  818. package/src/en-US.labels.ts +76 -0
  819. package/src/en-US.navigation.ts +5 -1
  820. package/src/en-US.ts +1 -0
  821. package/src/en-US.utility.ts +3 -1
  822. package/src/locales.ts +4 -0
  823. package/src/pt-BR.data-display.ts +9 -2
  824. package/src/pt-BR.feedback.ts +3 -1
  825. package/src/pt-BR.form.ts +40 -4
  826. package/src/pt-BR.labels.ts +75 -0
  827. package/src/pt-BR.navigation.ts +5 -1
  828. package/src/pt-BR.ts +1 -0
  829. package/src/pt-BR.utility.ts +3 -1
  830. package/src/user-avatar/user-avatar.tsx +11 -2
  831. package/src/utils/resolve-labels.ts +12 -0
  832. package/dist/chunk-2ARVNCVU.js.map +0 -1
  833. package/dist/chunk-2ILXXBMG.js.map +0 -1
  834. package/dist/chunk-2TSGRQ2J.js.map +0 -1
  835. package/dist/chunk-33LAPBYB.js.map +0 -1
  836. package/dist/chunk-3JDP5OUR.js.map +0 -1
  837. package/dist/chunk-3VXS7O3X.js.map +0 -1
  838. package/dist/chunk-4MQ6XTIJ.js.map +0 -1
  839. package/dist/chunk-4NQXHPQR.js.map +0 -1
  840. package/dist/chunk-4VRDFZ4G.js.map +0 -1
  841. package/dist/chunk-5J7SA4CZ.js.map +0 -1
  842. package/dist/chunk-7QXEEZFO.js +0 -92
  843. package/dist/chunk-7QXEEZFO.js.map +0 -1
  844. package/dist/chunk-7SYYGXC7.js.map +0 -1
  845. package/dist/chunk-7VRCGWQL.js.map +0 -1
  846. package/dist/chunk-AYJ44VTJ.js.map +0 -1
  847. package/dist/chunk-AYP6ICAY.js.map +0 -1
  848. package/dist/chunk-B2JYQBO4.js.map +0 -1
  849. package/dist/chunk-BWZKLKDT.js +0 -1
  850. package/dist/chunk-C5JCARNE.js.map +0 -1
  851. package/dist/chunk-CZV6NVCA.js.map +0 -1
  852. package/dist/chunk-EUACQR6N.js.map +0 -1
  853. package/dist/chunk-FIOBPQL2.js.map +0 -1
  854. package/dist/chunk-FRGNTTPA.js.map +0 -1
  855. package/dist/chunk-FT6HBP5E.js.map +0 -1
  856. package/dist/chunk-HEBZ7Q7O.js.map +0 -1
  857. package/dist/chunk-HZK4DRGF.js.map +0 -1
  858. package/dist/chunk-ICRVLGWD.js.map +0 -1
  859. package/dist/chunk-INGPH3YQ.js.map +0 -1
  860. package/dist/chunk-JJVIZR6C.js.map +0 -1
  861. package/dist/chunk-KIL3OVLI.js.map +0 -1
  862. package/dist/chunk-KT3TF2LT.js.map +0 -1
  863. package/dist/chunk-KZXOIRUP.js.map +0 -1
  864. package/dist/chunk-LH4VKUZC.js.map +0 -1
  865. package/dist/chunk-LOLYI6PS.js.map +0 -1
  866. package/dist/chunk-LTTYUSJ2.js.map +0 -1
  867. package/dist/chunk-MA6SUE7F.js.map +0 -1
  868. package/dist/chunk-MTGEJRE4.js.map +0 -1
  869. package/dist/chunk-OE3SQOZV.js.map +0 -1
  870. package/dist/chunk-PU3HEWSG.js.map +0 -1
  871. package/dist/chunk-PY3RW5LC.js.map +0 -1
  872. package/dist/chunk-QWVETTIY.js.map +0 -1
  873. package/dist/chunk-RA6W37NZ.js.map +0 -1
  874. package/dist/chunk-RZCXYKY4.js.map +0 -1
  875. package/dist/chunk-SUZXPDUQ.js.map +0 -1
  876. package/dist/chunk-SV6IQ2YO.js.map +0 -1
  877. package/dist/chunk-T743IIER.js.map +0 -1
  878. package/dist/chunk-TTCVYY2B.js.map +0 -1
  879. package/dist/chunk-U4G3KY6L.js.map +0 -1
  880. package/dist/chunk-UGH2DDST.js.map +0 -1
  881. package/dist/chunk-UZOG6HNN.js.map +0 -1
  882. package/dist/chunk-VNOFFVRQ.js +0 -113
  883. package/dist/chunk-VNOFFVRQ.js.map +0 -1
  884. package/dist/chunk-VNVV6Y2X.js.map +0 -1
  885. package/dist/chunk-VQYR64QB.js.map +0 -1
  886. package/dist/chunk-VRPCZ3IE.js.map +0 -1
  887. package/dist/chunk-WC3W36AM.js.map +0 -1
  888. package/dist/chunk-WVZBYTIK.js.map +0 -1
  889. package/dist/chunk-XICRCPEQ.js.map +0 -1
  890. package/dist/chunk-XKSA4L2X.js.map +0 -1
  891. package/dist/chunk-XQWUVQ2F.js.map +0 -1
  892. package/dist/chunk-XYFBJH6F.js.map +0 -1
  893. package/dist/chunk-Y7YJYUNV.js.map +0 -1
  894. package/dist/chunk-YICNA5LG.js +0 -1
  895. package/dist/chunk-YLSDFW5O.js.map +0 -1
  896. package/dist/chunk-ZFBFQK2Y.js.map +0 -1
  897. package/dist/native/chunks/chunk-BXNZHDXK.js.map +0 -1
  898. /package/dist/{chunk-BWZKLKDT.js.map → _internal/copy/labels.js.map} +0 -0
  899. /package/dist/{chunk-YICNA5LG.js.map → _internal/en-US.labels.js.map} +0 -0
  900. /package/dist/{chunk-OPP6USJC.js.map → chunk-2FQF4CNE.js.map} +0 -0
  901. /package/dist/{chunk-BWFQEASG.js.map → chunk-2P5ZBBTL.js.map} +0 -0
  902. /package/dist/{chunk-QVO4SIS7.js.map → chunk-3W2B7IZG.js.map} +0 -0
  903. /package/dist/{chunk-PMRLFNBT.js.map → chunk-3XLSA3YB.js.map} +0 -0
  904. /package/dist/{chunk-7P5PNRBT.js.map → chunk-3YCV4EP7.js.map} +0 -0
  905. /package/dist/{chunk-Q6PRGXR2.js.map → chunk-4HBCWKIX.js.map} +0 -0
  906. /package/dist/{chunk-HN3PZTUK.js.map → chunk-4MKVGSHX.js.map} +0 -0
  907. /package/dist/{chunk-EERUSI52.js.map → chunk-4N3I7ZHQ.js.map} +0 -0
  908. /package/dist/{chunk-O6SAU5JA.js.map → chunk-4OTJ66ID.js.map} +0 -0
  909. /package/dist/{chunk-LG52LMAM.js.map → chunk-556LO6KA.js.map} +0 -0
  910. /package/dist/{chunk-LBZEPWYK.js.map → chunk-5GLOEGOM.js.map} +0 -0
  911. /package/dist/{chunk-JE6RZ5L6.js.map → chunk-5ZOJLYD2.js.map} +0 -0
  912. /package/dist/{chunk-GSXYXMCV.js.map → chunk-66BRUS2M.js.map} +0 -0
  913. /package/dist/{chunk-ALREWFRX.js.map → chunk-6DGNMASB.js.map} +0 -0
  914. /package/dist/{chunk-5752357K.js.map → chunk-6N2U67KF.js.map} +0 -0
  915. /package/dist/{chunk-VD72JGHA.js.map → chunk-73OYC22L.js.map} +0 -0
  916. /package/dist/{chunk-6DAIC2MG.js.map → chunk-775LIZXS.js.map} +0 -0
  917. /package/dist/{chunk-S4JXSC4D.js.map → chunk-7HZ6TJRH.js.map} +0 -0
  918. /package/dist/{chunk-CSD6SWBZ.js.map → chunk-A3Z7ZXLM.js.map} +0 -0
  919. /package/dist/{chunk-LI6XSM5D.js.map → chunk-A6V7KE45.js.map} +0 -0
  920. /package/dist/{chunk-YJBWDDW7.js.map → chunk-AAWVAQI2.js.map} +0 -0
  921. /package/dist/{chunk-44PBCQ7E.js.map → chunk-ABQZFK7M.js.map} +0 -0
  922. /package/dist/{chunk-EIMFA7KP.js.map → chunk-ANUO67JQ.js.map} +0 -0
  923. /package/dist/{chunk-PTQRJEPN.js.map → chunk-AOBQ3KYY.js.map} +0 -0
  924. /package/dist/{chunk-LODYTVOO.js.map → chunk-B25SHVWP.js.map} +0 -0
  925. /package/dist/{chunk-GTT5UKKO.js.map → chunk-BDJIP4HG.js.map} +0 -0
  926. /package/dist/{chunk-RS576GOH.js.map → chunk-BIUT3K6A.js.map} +0 -0
  927. /package/dist/{chunk-A5NXBOWS.js.map → chunk-BLHSLB5D.js.map} +0 -0
  928. /package/dist/{chunk-DYHOBKPU.js.map → chunk-BLZDSCIZ.js.map} +0 -0
  929. /package/dist/{chunk-E53MMMDA.js.map → chunk-BX6CF2UG.js.map} +0 -0
  930. /package/dist/{chunk-7HA7UH7O.js.map → chunk-C4OETF7K.js.map} +0 -0
  931. /package/dist/{chunk-64AOS2WA.js.map → chunk-CAHN7AMY.js.map} +0 -0
  932. /package/dist/{chunk-MSC43MCJ.js.map → chunk-CRFOAKQL.js.map} +0 -0
  933. /package/dist/{chunk-IQ2U5MVO.js.map → chunk-CSQWPDQV.js.map} +0 -0
  934. /package/dist/{chunk-7XSCEHGA.js.map → chunk-EOQ6EKTS.js.map} +0 -0
  935. /package/dist/{chunk-VEKTKCSB.js.map → chunk-FLJ3RIRP.js.map} +0 -0
  936. /package/dist/{chunk-Z5WUSI47.js.map → chunk-G3JFESKD.js.map} +0 -0
  937. /package/dist/{chunk-XRDH24J7.js.map → chunk-G6ET2DRL.js.map} +0 -0
  938. /package/dist/{chunk-O36MIQIO.js.map → chunk-GPQ22MPR.js.map} +0 -0
  939. /package/dist/{chunk-GRMBCJS6.js.map → chunk-H6R2L7VI.js.map} +0 -0
  940. /package/dist/{chunk-AMLHEKSV.js.map → chunk-HI7JPDD6.js.map} +0 -0
  941. /package/dist/{chunk-CW6Y32N2.js.map → chunk-I2CT4XIP.js.map} +0 -0
  942. /package/dist/{chunk-N34AOGK3.js.map → chunk-I3OKAQ5L.js.map} +0 -0
  943. /package/dist/{chunk-AEYLFBZT.js.map → chunk-I4NDZFTB.js.map} +0 -0
  944. /package/dist/{chunk-2ZRZTGWP.js.map → chunk-ISW5K72V.js.map} +0 -0
  945. /package/dist/{chunk-KARMRTTM.js.map → chunk-J2RUDZVJ.js.map} +0 -0
  946. /package/dist/{chunk-4M5GEKPM.js.map → chunk-JL4I7OQE.js.map} +0 -0
  947. /package/dist/{chunk-NBXG3SQ3.js.map → chunk-JSY234NY.js.map} +0 -0
  948. /package/dist/{chunk-HQCZT6TO.js.map → chunk-JVOEVTCZ.js.map} +0 -0
  949. /package/dist/{chunk-MBMZNSBP.js.map → chunk-JW7MN4DG.js.map} +0 -0
  950. /package/dist/{chunk-ZPACE34U.js.map → chunk-K53XSVQO.js.map} +0 -0
  951. /package/dist/{chunk-GBVNY2LG.js.map → chunk-KTXJQ4YJ.js.map} +0 -0
  952. /package/dist/{chunk-FCVPVEAS.js.map → chunk-KYE7I6NT.js.map} +0 -0
  953. /package/dist/{chunk-MM7BPTVV.js.map → chunk-KYT5G4K7.js.map} +0 -0
  954. /package/dist/{chunk-3V3Z4EML.js.map → chunk-L4FWEI2P.js.map} +0 -0
  955. /package/dist/{chunk-56JF5PZK.js.map → chunk-LYVTJLCF.js.map} +0 -0
  956. /package/dist/{chunk-M3DSPEZ3.js.map → chunk-M3ZNQTS5.js.map} +0 -0
  957. /package/dist/{chunk-GBKIGUNP.js.map → chunk-MGDCGNLC.js.map} +0 -0
  958. /package/dist/{chunk-BGYLL467.js.map → chunk-N3W6FZOC.js.map} +0 -0
  959. /package/dist/{chunk-BWFUZ4N2.js.map → chunk-NA3M7KDE.js.map} +0 -0
  960. /package/dist/{chunk-7JOLSD2W.js.map → chunk-P3QFJJJY.js.map} +0 -0
  961. /package/dist/{chunk-RCTHCXS6.js.map → chunk-PJNIJIE6.js.map} +0 -0
  962. /package/dist/{chunk-DXFKPY2K.js.map → chunk-PU3FQG7T.js.map} +0 -0
  963. /package/dist/{chunk-6ATXOJVQ.js.map → chunk-QADTI63U.js.map} +0 -0
  964. /package/dist/{chunk-7ZROYGUG.js.map → chunk-QOTMQLMW.js.map} +0 -0
  965. /package/dist/{chunk-NQCTANF3.js.map → chunk-QVDEGBME.js.map} +0 -0
  966. /package/dist/{chunk-YNDTLBOH.js.map → chunk-RQMYEPRR.js.map} +0 -0
  967. /package/dist/{chunk-3Z3WIQ5M.js.map → chunk-RZ3QMKM7.js.map} +0 -0
  968. /package/dist/{chunk-WA6F4NOO.js.map → chunk-SMANO5OD.js.map} +0 -0
  969. /package/dist/{chunk-5M2NWXN4.js.map → chunk-SRNBD6EV.js.map} +0 -0
  970. /package/dist/{chunk-NDGA7ZE6.js.map → chunk-TGMMUKOF.js.map} +0 -0
  971. /package/dist/{chunk-SB2SEGR6.js.map → chunk-TIM4PXWN.js.map} +0 -0
  972. /package/dist/{chunk-555TUQ7E.js.map → chunk-TPGFR24B.js.map} +0 -0
  973. /package/dist/{chunk-MHLYX6QW.js.map → chunk-TRAMTVIO.js.map} +0 -0
  974. /package/dist/{chunk-QO7UJXXO.js.map → chunk-TVMSXL3R.js.map} +0 -0
  975. /package/dist/{chunk-VEBNL5MG.js.map → chunk-UGYBN6OO.js.map} +0 -0
  976. /package/dist/{chunk-HHPJXK4Z.js.map → chunk-UHQZ5XPW.js.map} +0 -0
  977. /package/dist/{chunk-2QO3BKUQ.js.map → chunk-UJT6AQHL.js.map} +0 -0
  978. /package/dist/{chunk-FTDGFWB5.js.map → chunk-UK3DSFMK.js.map} +0 -0
  979. /package/dist/{chunk-NYWAAXDX.js.map → chunk-URAXAKUI.js.map} +0 -0
  980. /package/dist/{chunk-XODBYGTH.js.map → chunk-V37QIB7B.js.map} +0 -0
  981. /package/dist/{chunk-7K23NEZO.js.map → chunk-V45JGJ3W.js.map} +0 -0
  982. /package/dist/{chunk-2MYSXWZQ.js.map → chunk-VKTF3GAP.js.map} +0 -0
  983. /package/dist/{chunk-MNZ6MCOK.js.map → chunk-VQ6UB4MN.js.map} +0 -0
  984. /package/dist/{chunk-4HUSG5MR.js.map → chunk-VZVAP2ZR.js.map} +0 -0
  985. /package/dist/{chunk-4XBAEKQQ.js.map → chunk-W2RXXF7K.js.map} +0 -0
  986. /package/dist/{chunk-A2YLFKQU.js.map → chunk-W5WYTVLS.js.map} +0 -0
  987. /package/dist/{chunk-RHKQ2RSY.js.map → chunk-WUW6NDXC.js.map} +0 -0
  988. /package/dist/{chunk-EBCEDBHX.js.map → chunk-XDDKRACZ.js.map} +0 -0
  989. /package/dist/{chunk-ASZGMKB4.js.map → chunk-Y3TD7HOY.js.map} +0 -0
  990. /package/dist/{chunk-HBHBRRSW.js.map → chunk-YBAK2WN5.js.map} +0 -0
  991. /package/dist/{chunk-6RTE4UNO.js.map → chunk-YV4O7KDR.js.map} +0 -0
  992. /package/dist/{chunk-Z5V5E3JW.js.map → chunk-ZIHSCBMN.js.map} +0 -0
  993. /package/dist/native/chunks/{chunk-AVHGS66L.js.map → chunk-FGAX5BRS.js.map} +0 -0
@@ -1,10 +1,10 @@
1
- import {
2
- useMenuItemState
3
- } from "./chunk-3L5OZCGA.js";
4
1
  import {
5
2
  navItemButtonStyles,
6
3
  pulseGlow
7
4
  } from "./chunk-3AIRFAI3.js";
5
+ import {
6
+ useMenuItemState
7
+ } from "./chunk-3L5OZCGA.js";
8
8
  import {
9
9
  onMedia,
10
10
  shadowInk,
@@ -192,6 +192,7 @@ var MenuItemContent = ({
192
192
  collapsed,
193
193
  minimal,
194
194
  disabled: item.disabled,
195
+ "aria-label": collapsed ? item.label : void 0,
195
196
  onClick,
196
197
  onMouseEnter,
197
198
  onMouseLeave,
@@ -313,4 +314,4 @@ var renderMenuItem = (item, variant = "vertical", size = "md", collapsed = false
313
314
  export {
314
315
  renderMenuItem
315
316
  };
316
- //# sourceMappingURL=chunk-XICRCPEQ.js.map
317
+ //# sourceMappingURL=chunk-5U7LBO2V.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/navigation/NavigationMenu/NavigationMenuItem.tsx"],"sourcesContent":["import ChevronRight from '@mui/icons-material/ChevronRight';\nimport ExpandMore from '@mui/icons-material/ExpandMore';\nimport Box from '@mui/material/Box/index.js';\nimport Collapse from '@mui/material/Collapse/index.js';\nimport Fade from '@mui/material/Fade/index.js';\nimport Grow from '@mui/material/Grow/index.js';\nimport List from '@mui/material/List/index.js';\nimport ListItem from '@mui/material/ListItem/index.js';\nimport ListItemButton from '@mui/material/ListItemButton/index.js';\nimport ListItemIcon from '@mui/material/ListItemIcon/index.js';\nimport ListItemText from '@mui/material/ListItemText/index.js';\nimport Popover from '@mui/material/Popover/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport React, { } from 'react';\n\nimport { useMenuItemState } from './NavigationMenuItem.hooks';\nimport { navItemButtonStyles, pulseGlow } from './NavigationMenu.styles';\nimport type { NavigationMenuItem } from './NavigationMenu.types';\nimport { onMedia, shadowInk, uiInk } from '../../../tokens/ink';\nimport { rem, rems, sxRem } from '../../../tokens/relative';\n\n// A numeric or empty-string zero is treated the way the package's own Badge\n// treats a zero count by default (`Badge.helpers.ts`'s `showZero: false`):\n// hidden. `badge && …` prints a bare \"0\" text node for `badge: 0`, because\n// `0 && …` evaluates to the falsy `0` itself rather than `false`. A caller\n// who wants a visible zero passes the string `'0'`, which is truthy here.\nconst hasBadge = (badge: NavigationMenuItem['badge']): boolean =>\n badge !== undefined && badge !== null && badge !== '' && badge !== 0;\n\nconst StyledListItem = styled(ListItem, {\n shouldForwardProp: (prop) => !['variant', 'active', 'size', 'level'].includes(prop as string) })<{ variant?: string; active?: boolean; size?: string; level?: number }>(\n ({ theme, variant, level = 0 }) => ({\n padding: 0,\n ...(variant === 'horizontal' && {\n width: 'auto' }),\n ...(level > 0 && {\n paddingLeft: theme.spacing(2 * level) }) }),\n);\n\nconst StyledListItemButton = styled(ListItemButton, {\n shouldForwardProp: (prop) => !['variant', 'active', 'size', 'collapsed', 'minimal'].includes(prop as string) })<{ variant?: string; active?: boolean; size?: string; collapsed?: boolean; minimal?: boolean }>(\n ({ theme, variant, active, size, collapsed, minimal }) => ({\n ...navItemButtonStyles({ theme, variant, active, size, collapsed, minimal }) }),\n);\n\ninterface MenuItemRendererProps {\n item: NavigationMenuItem;\n variant: string;\n size: string;\n collapsed: boolean;\n minimal: boolean;\n level: number;\n onItemClick?: (item: NavigationMenuItem) => void;\n}\n\n// Hover intent and open/anchor state live in NavigationMenuItem.hooks.\n\n// The flyout a horizontal menu opens on hover.\nconst MenuItemPopover: React.FC<{\n anchorEl: HTMLElement | null;\n item: NavigationMenuItem;\n size?: string;\n minimal?: boolean;\n onClose: () => void;\n onMouseEnter: () => void;\n onMouseLeave: () => void;\n onItemClick?: (item: NavigationMenuItem) => void;\n}> = ({ anchorEl, item, size, minimal, onClose, onMouseEnter, onMouseLeave, onItemClick }) => (\n <Popover\n open={Boolean(anchorEl)}\n anchorEl={anchorEl}\n onClose={onClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left' }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left' }}\n disableRestoreFocus\n sx={{\n pointerEvents: 'none' }}\n slotProps={{\n paper: {\n onMouseEnter,\n onMouseLeave,\n sx: {\n pointerEvents: 'auto',\n mt: 0.5,\n borderRadius: 2,\n boxShadow: (theme) => `0 ${rems(theme, 12, 40)} ${shadowInk(theme, 0.15)}`,\n border: (theme) => `1px solid ${alpha(theme.palette.divider, 0.1)}`,\n background: (theme) =>\n `linear-gradient(145deg, ${theme.palette.background.paper} 0%, ${alpha(theme.palette.background.default, 0.95)} 100%)`,\n backdropFilter: (theme) => `blur(${rem(theme, 10)})`,\n minWidth: sxRem(200) } } }}\n >\n <List sx={{ p: 1 }}>\n {item.children?.map((child) => {\n const childHasChildren = child.children && child.children.length > 0;\n\n // Only close popover when clicking leaf nodes (items without children)\n if (childHasChildren) {\n return renderMenuItem(child, 'vertical', size, false, minimal, 0, onItemClick);\n }\n\n // For leaf nodes, wrap with onClick to close the popover\n return (\n <Box\n key={child.id}\n onClick={onClose}\n >\n {renderMenuItem(child, 'vertical', size, false, minimal, 0, onItemClick)}\n </Box>\n );\n })}\n </List>\n </Popover>\n);\n\n// Label, badge/chip and the expand chevron, faded out when the rail collapses.\nconst MenuItemLabel: React.FC<{\n item: NavigationMenuItem;\n collapsed?: boolean;\n minimal?: boolean;\n open: boolean;\n hasChildren?: boolean;\n size?: string;\n variant?: string;\n}> = ({ item, collapsed, open, hasChildren, size, variant }) => (\n <Fade in={!collapsed} timeout={400}>\n <Box sx={{ display: 'flex', alignItems: 'center', width: '100%', gap: 1 }}>\n <ListItemText\n primary={item.label}\n secondary={item.description}\n sx={{\n flex: 1,\n minWidth: 0, // Allows text truncation if needed\n }}\n slotProps={{\n primary: {\n variant: size === 'sm' ? 'body2' : size === 'lg' ? 'h6' : 'body1',\n sx: {\n fontWeight: item.active ? 600 : 400,\n transition: 'all 0.3s ease' } },\n secondary: {\n sx: {\n opacity: 0.7,\n transition: 'all 0.3s ease' } } }}\n />\n {hasBadge(item.badge) && (\n <Box\n component=\"span\"\n data-testid={`navigation-menu-badge-${item.id}`}\n sx={{\n flexShrink: 0,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: sxRem(20),\n height: sxRem(20),\n px: 0.75,\n borderRadius: sxRem(10),\n fontSize: sxRem(12),\n fontWeight: 600,\n color: (theme) => onMedia(theme),\n background: (theme) =>\n `linear-gradient(135deg, ${uiInk(theme).attention.from} 0%, ${uiInk(theme).attention.to} 100%)`,\n boxShadow: (theme) => `0 ${rems(theme, 2, 8)} ${alpha(uiInk(theme).attention.glow, 0.4)}`,\n animation: (theme) =>\n typeof item.badge === 'number' && item.badge > 0\n ? `${pulseGlow(theme)} 2s infinite`\n : 'none' }}\n >\n {item.badge}\n </Box>\n )}\n {hasChildren && (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n flexShrink: 0, // Prevents expand icon from shrinking\n transition: 'transform 0.3s ease',\n transform: open ? 'rotate(180deg)' : 'rotate(0deg)' }}\n >\n {variant === 'horizontal' ? <ChevronRight fontSize=\"small\" /> : <ExpandMore />}\n </Box>\n )}\n </Box>\n </Fade>\n);\n\n// The row itself: icon, label, badge and the expand chevron.\nconst MenuItemContent: React.FC<{\n item: NavigationMenuItem;\n variant?: string;\n size?: string;\n active?: boolean;\n collapsed?: boolean;\n minimal?: boolean;\n level: number;\n open: boolean;\n hasChildren?: boolean;\n onClick: (event: React.MouseEvent<HTMLElement>) => void;\n onMouseEnter: (event: React.MouseEvent<HTMLElement>) => void;\n onMouseLeave: () => void;\n}> = ({\n item,\n variant,\n size,\n active: _active,\n collapsed,\n minimal,\n level,\n open,\n hasChildren,\n onClick,\n onMouseEnter,\n onMouseLeave }) => (\n<StyledListItem key={item.id} variant={variant} active={item.active} size={size} level={level}>\n <StyledListItemButton\n variant={variant}\n active={item.active}\n size={size}\n collapsed={collapsed}\n minimal={minimal}\n disabled={item.disabled}\n // Collapsed, the row is its icon alone; the item's own label names it.\n aria-label={collapsed ? item.label : undefined}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n {...(item.href && !hasChildren\n ? {\n component: 'a' as React.ElementType,\n href: item.href,\n target: item.target }\n : {})}\n >\n {item.icon && (\n <ListItemIcon\n sx={{\n minWidth: collapsed ? 0 : sxRem(40),\n justifyContent: 'center',\n transition: 'all 0.3s ease',\n '& svg': {\n filter: (theme) => (item.active ? `drop-shadow(0 ${rems(theme, 2, 8)} ${shadowInk(theme, 0.15)})` : 'none'),\n transition: 'all 0.3s ease' } }}\n >\n <Grow in={true} timeout={600}>\n <Box>{item.icon}</Box>\n </Grow>\n </ListItemIcon>\n )}\n {!collapsed && (\n <MenuItemLabel\n item={item}\n collapsed={collapsed}\n minimal={minimal}\n open={open}\n hasChildren={hasChildren}\n size={size}\n variant={variant}\n />\n )}\n </StyledListItemButton>\n </StyledListItem>\n);\n\nconst MenuItemRenderer: React.FC<MenuItemRendererProps> = ({\n item,\n variant,\n size,\n collapsed,\n minimal,\n level,\n onItemClick }) => {\n const {\n open,\n anchorEl,\n hasChildren,\n handleClick,\n handleMouseEnter,\n handleMouseLeave,\n handlePopoverMouseEnter,\n handlePopoverMouseLeave,\n closePopover } = useMenuItemState({ item, variant, onItemClick });\n\n const itemContent = (\n <MenuItemContent\n item={item}\n variant={variant}\n size={size}\n active={item.active}\n collapsed={collapsed}\n minimal={minimal}\n level={level}\n open={open}\n hasChildren={hasChildren}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n />\n );\n\n // Horizontal variant with children - use Popover\n if (hasChildren && variant === 'horizontal') {\n return (\n <React.Fragment key={item.id}>\n {itemContent}\n <MenuItemPopover\n anchorEl={anchorEl}\n item={item}\n size={size}\n minimal={minimal}\n onClose={closePopover}\n onMouseEnter={handlePopoverMouseEnter}\n onMouseLeave={handlePopoverMouseLeave}\n onItemClick={onItemClick}\n />\n </React.Fragment>\n );\n }\n\n // Vertical variant with children - use Collapse\n if (hasChildren && variant !== 'horizontal') {\n return (\n <React.Fragment key={item.id}>\n {itemContent}\n {!collapsed && (\n <Collapse in={open} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n {item.children?.map((child) =>\n renderMenuItem(child, variant, size, collapsed, minimal, level + 1, onItemClick),\n )}\n </List>\n </Collapse>\n )}\n </React.Fragment>\n );\n }\n\n return itemContent;\n};\n\nexport const renderMenuItem = (\n item: NavigationMenuItem,\n variant: string = 'vertical',\n size: string = 'md',\n collapsed: boolean = false,\n minimal: boolean = false,\n level: number = 0,\n onItemClick?: (item: NavigationMenuItem) => void,\n): React.ReactNode => (\n <MenuItemRenderer\n key={item.id}\n item={item}\n variant={variant}\n size={size}\n collapsed={collapsed}\n minimal={minimal}\n level={level}\n onItemClick={onItemClick}\n />\n );\n"],"mappings":"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","names":[]}
@@ -1,9 +1,9 @@
1
- import {
2
- usePwaInstall
3
- } from "./chunk-5GMHJ7Y5.js";
4
1
  import {
5
2
  installPromptStyles
6
3
  } from "./chunk-GY62N32G.js";
4
+ import {
5
+ usePwaInstall
6
+ } from "./chunk-5GMHJ7Y5.js";
7
7
 
8
8
  // src/components/utility/InstallPrompt/InstallPrompt.tsx
9
9
  import Close from "@mui/icons-material/Close";
@@ -154,4 +154,4 @@ InstallPrompt.displayName = "InstallPrompt";
154
154
  export {
155
155
  InstallPrompt
156
156
  };
157
- //# sourceMappingURL=chunk-JE6RZ5L6.js.map
157
+ //# sourceMappingURL=chunk-5ZOJLYD2.js.map
@@ -2,7 +2,7 @@ import {
2
2
  MoreGroup,
3
3
  MoreQuick,
4
4
  fieldClearing
5
- } from "./chunk-7P5PNRBT.js";
5
+ } from "./chunk-3YCV4EP7.js";
6
6
  import {
7
7
  useDataViewsCopy
8
8
  } from "./chunk-KHG57NAE.js";
@@ -193,4 +193,4 @@ function MoreFilters({
193
193
  export {
194
194
  MoreFilters
195
195
  };
196
- //# sourceMappingURL=chunk-GSXYXMCV.js.map
196
+ //# sourceMappingURL=chunk-66BRUS2M.js.map
@@ -1,12 +1,12 @@
1
+ import {
2
+ useMenubarMenus
3
+ } from "./chunk-42VH7N5L.js";
1
4
  import {
2
5
  MenubarToolbar
3
6
  } from "./chunk-X3EB67O2.js";
4
7
  import {
5
8
  barStyles
6
9
  } from "./chunk-UCRGKQUW.js";
7
- import {
8
- useMenubarMenus
9
- } from "./chunk-42VH7N5L.js";
10
10
  import {
11
11
  withDefaults
12
12
  } from "./chunk-HPK33ACY.js";
@@ -190,4 +190,4 @@ export {
190
190
  Menubar,
191
191
  MenubarGroup
192
192
  };
193
- //# sourceMappingURL=chunk-ALREWFRX.js.map
193
+ //# sourceMappingURL=chunk-6DGNMASB.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TutorialStepBody
3
- } from "./chunk-FT6HBP5E.js";
3
+ } from "./chunk-DE7E2GBP.js";
4
4
  import {
5
5
  useTutorialOverlay
6
6
  } from "./chunk-34643ATX.js";
@@ -93,7 +93,9 @@ var TooltipContainer = styled(Paper, {
93
93
  shouldForwardProp: (prop) => prop !== "placement"
94
94
  })(({ theme, placement }) => ({
95
95
  position: "absolute",
96
- maxWidth: rem(theme, 360),
96
+ // 360 on desktop; on a phone, the viewport less the 16px the placement keeps
97
+ // clear on each side (`calculateTooltipPosition`).
98
+ maxWidth: `min(${rem(theme, 360)}, calc(100vw - ${rem(theme, 32)}))`,
97
99
  padding: theme.spacing(3),
98
100
  background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.98)} 0%, ${alpha(theme.palette.background.paper, 0.95)} 100%)`,
99
101
  backdropFilter: `blur(${rem(theme, 20)})`,
@@ -286,4 +288,4 @@ export {
286
288
  TutorialOverlay,
287
289
  TutorialOverlay_default
288
290
  };
289
- //# sourceMappingURL=chunk-MA6SUE7F.js.map
291
+ //# sourceMappingURL=chunk-6EZQLNPK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/feedback/TutorialOverlay/TutorialOverlay.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport Fade from '@mui/material/Fade/index.js';\nimport LinearProgress from '@mui/material/LinearProgress/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport Portal from '@mui/material/Portal/index.js';\nimport { alpha, keyframes, styled } from '@mui/material/styles/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport type { FC} from 'react';\nimport React, { } from 'react';\n\nimport { scrim, sheen } from '../../../tokens/ink';\nimport { ABSOLUTE_INK } from '../../../tokens/ink.core';\nimport { rem, remPx, rems } from '../../../tokens/relative';\n\nimport { useTutorialOverlay } from './TutorialOverlay.hooks';\nimport { TutorialStepBody } from './TutorialStepBody';\nimport type { TutorialOverlayProps } from './TutorialOverlay.types';\n\n// Animation keyframes — the ring's sheen is the absolute white; its reach follows the type scale.\nconst pulseAnimation = (theme: Theme) => keyframes`\n 0% {\n box-shadow: 0 0 0 0 ${alpha(ABSOLUTE_INK.white, 0.7)};\n }\n 70% {\n box-shadow: 0 0 0 ${rem(theme, 20)} ${alpha(ABSOLUTE_INK.white, 0)};\n }\n 100% {\n box-shadow: 0 0 0 0 ${alpha(ABSOLUTE_INK.white, 0)};\n }\n`;\n\nconst floatAnimation = (theme: Theme) => keyframes`\n 0%, 100% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(${rem(theme, -10)});\n }\n`;\n\n// Styled components\nconst Overlay = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'allowClickThrough' })<{ allowClickThrough?: boolean }>(({ theme, allowClickThrough }) => ({\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: theme.zIndex.modal + 100,\n pointerEvents: allowClickThrough ? 'none' : 'auto',\n transition: 'opacity 0.3s ease' }));\n\nconst Backdrop = styled(Box)(({ theme }) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: scrim(theme, 0.7),\n backdropFilter: `blur(${rem(theme, 2)})` }));\n\nconst Spotlight = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'bounds' && prop !== 'padding' })<{ bounds: globalThis.DOMRect; padding: number }>(({ theme, bounds, padding }) => {\n // `bounds` is the target's measured rect; the design-px clearance joins it as px.\n const clearance = remPx(theme, padding);\n return {\n position: 'absolute',\n top: bounds.top - clearance,\n left: bounds.left - clearance,\n width: bounds.width + clearance * 2,\n height: bounds.height + clearance * 2,\n borderRadius: rem(theme, 8),\n border: `${rem(theme, 2)} solid ${sheen(theme, 0.5)}`,\n animation: `${pulseAnimation(theme)} 2s infinite`,\n pointerEvents: 'none',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n inset: rem(theme, -2),\n borderRadius: rem(theme, 8),\n background: 'transparent',\n boxShadow: `${rems(theme, 0, 0, 0, 9999)} ${scrim(theme, 0.7)}` } };\n});\n\nconst TooltipContainer = styled(Paper, {\n shouldForwardProp: (prop) => prop !== 'placement' })<{ placement: string }>(({ theme, placement }) => ({\n position: 'absolute',\n // 360 on desktop; on a phone, the viewport less the 16px the placement keeps\n // clear on each side (`calculateTooltipPosition`).\n maxWidth: `min(${rem(theme, 360)}, calc(100vw - ${rem(theme, 32)}))`,\n padding: theme.spacing(3),\n background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.98)} 0%, ${alpha(theme.palette.background.paper, 0.95)} 100%)`,\n backdropFilter: `blur(${rem(theme, 20)})`,\n WebkitBackdropFilter: `blur(${rem(theme, 20)})`,\n border: `1px solid ${alpha(theme.palette.divider, 0.18)}`,\n boxShadow: theme.shadows[12],\n animation: `${floatAnimation(theme)} 3s ease-in-out infinite`,\n pointerEvents: 'auto',\n zIndex: theme.zIndex.modal + 101,\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n width: rem(theme, 12),\n height: rem(theme, 12),\n background: 'inherit',\n transform: 'rotate(45deg)',\n border: 'inherit',\n ...(placement === 'top' && {\n bottom: rem(theme, -7),\n left: '50%',\n marginLeft: rem(theme, -6),\n borderTop: 'none',\n borderLeft: 'none' }),\n ...(placement === 'bottom' && {\n top: rem(theme, -7),\n left: '50%',\n marginLeft: rem(theme, -6),\n borderBottom: 'none',\n borderRight: 'none' }),\n ...(placement === 'left' && {\n right: rem(theme, -7),\n top: '50%',\n marginTop: rem(theme, -6),\n borderLeft: 'none',\n borderBottom: 'none' }),\n ...(placement === 'right' && {\n left: rem(theme, -7),\n top: '50%',\n marginTop: rem(theme, -6),\n borderRight: 'none',\n borderTop: 'none' }) } }));\n\nconst ProgressBar = styled(LinearProgress)(({ theme }) => ({\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n height: rem(theme, 4),\n zIndex: theme.zIndex.modal + 102,\n '& .MuiLinearProgress-bar': {\n background: `linear-gradient(90deg, ${theme.palette.primary.main} 0%, ${theme.palette.primary.light} 100%)` } }));\n\ntype TutorialDefaultedKeys =\n | 'initialStep'\n | 'active'\n | 'showProgress'\n | 'allowKeyboardNavigation'\n | 'allowClickThrough'\n | 'variant'\n | 'allowSkip'\n | 'animated';\n\ntype ResolvedTutorialProps = TutorialOverlayProps &\n Required<Pick<TutorialOverlayProps, TutorialDefaultedKeys>>;\n\nconst TUTORIAL_DEFAULTS: Pick<TutorialOverlayProps, TutorialDefaultedKeys> = {\n initialStep: 0,\n active: true,\n showProgress: true,\n allowKeyboardNavigation: true,\n allowClickThrough: false,\n variant: 'tooltip',\n allowSkip: false,\n animated: true };\n\n// Strips explicitly-undefined props before the merge, so `prop={undefined}` still\n// falls back to the default exactly as a destructuring default would. Applied as\n// a merge rather than destructuring defaults, which would otherwise put eight\n// branches into the component's own complexity budget.\nconst resolveProps = (props: TutorialOverlayProps): ResolvedTutorialProps =>\n ({\n ...TUTORIAL_DEFAULTS,\n ...(Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<TutorialOverlayProps>) }) as ResolvedTutorialProps;\n\n// The dimming layer and the cut-out over the highlighted element. Local because\n// Backdrop and Spotlight cannot cross a module boundary (TS2742).\nconst TutorialLayers: React.FC<{\n variant: string;\n targetBounds: globalThis.DOMRect | null;\n isVisible: boolean;\n spotlightPadding?: number;\n}> = ({ variant, targetBounds, isVisible, spotlightPadding }) => {\n const isSpotlight = variant === 'spotlight' || variant === 'highlight';\n const dimmed = variant === 'modal' || isSpotlight;\n\n return (\n <>\n {dimmed && <Backdrop />}\n {targetBounds && isVisible && isSpotlight && (\n <Spotlight\n bounds={targetBounds}\n padding={spotlightPadding || 8}\n data-testid=\"tutorial-highlight\"\n />\n )}\n </>\n );\n};\n\n// The positioned card. Local because TooltipContainer cannot cross a module\n// boundary (TS2742).\nconst TutorialTooltip: React.FC<{\n tutorial: ReturnType<typeof useTutorialOverlay> & {\n currentStepData: TutorialOverlayProps['steps'][number];\n };\n steps: TutorialOverlayProps['steps'];\n allowSkip: boolean;\n showProgress: boolean;\n animated: boolean;\n requiresActionBeforeNext: boolean;\n copy: TutorialOverlayProps['copy'];\n}> = ({\n tutorial,\n steps,\n allowSkip,\n showProgress,\n animated,\n requiresActionBeforeNext,\n copy,\n}) => (\n <Fade in={tutorial.isVisible} timeout={300}>\n <TooltipContainer\n ref={tutorial.tooltipRef}\n placement={tutorial.actualPlacement}\n elevation={12}\n style={{\n top: tutorial.tooltipPosition.top,\n left: tutorial.tooltipPosition.left,\n animation: animated ? undefined : 'none' }}\n role=\"dialog\"\n aria-labelledby={`tutorial-title-${tutorial.currentStep}`}\n aria-describedby={`tutorial-content-${tutorial.currentStep}`}\n data-testid={`tutorial-step-${tutorial.currentStep}`}\n >\n <TutorialStepBody\n copy={copy}\n step={tutorial.currentStepData}\n currentStep={tutorial.currentStep}\n stepCount={steps.length}\n progress={tutorial.progress}\n isLastStep={tutorial.isLastStep}\n allowSkip={allowSkip}\n showProgress={showProgress}\n requiresActionBeforeNext={requiresActionBeforeNext}\n onNext={tutorial.handleNext}\n onPrev={tutorial.handlePrev}\n onSkip={tutorial.handleSkip}\n onRestart={tutorial.handleRestart}\n />\n </TooltipContainer>\n </Fade>\n);\n\nexport const TutorialOverlay: FC<TutorialOverlayProps> = (componentProps) => {\n const {\n copy,\n steps,\n onComplete,\n onSkip,\n onStepComplete,\n initialStep,\n active,\n showProgress,\n allowKeyboardNavigation,\n allowClickThrough,\n variant,\n allowSkip,\n animated } = resolveProps(componentProps);\n\n const tutorial = useTutorialOverlay({\n steps,\n initialStep,\n active,\n allowKeyboardNavigation,\n onComplete,\n onSkip,\n onStepComplete });\n const { currentStepData, isLastStep, isVisible, targetBounds, progress } = tutorial;\n\n const requiresActionBeforeNext = Boolean(currentStepData?.requiresAction) && !isLastStep;\n\n if (!active || !currentStepData) return null;\n\n // Handle empty steps array\n if (steps.length === 0) return null;\n\n return (\n <Portal>\n <Overlay allowClickThrough={allowClickThrough} data-testid=\"tutorial-overlay\">\n {showProgress && <ProgressBar variant=\"determinate\" value={progress} />}\n\n <TutorialLayers\n variant={variant}\n targetBounds={targetBounds}\n isVisible={isVisible}\n spotlightPadding={currentStepData.spotlightPadding}\n />\n\n <TutorialTooltip\n copy={copy}\n tutorial={{ ...tutorial, currentStepData }}\n steps={steps}\n allowSkip={allowSkip}\n showProgress={showProgress}\n animated={animated}\n requiresActionBeforeNext={requiresActionBeforeNext}\n />\n </Overlay>\n </Portal>\n );\n};\n\n// Export default\nexport default TutorialOverlay;\n"],"mappings":"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","names":[]}
@@ -16,7 +16,7 @@ var resolveMockPlace = (value, sink) => {
16
16
  sink.setLoading(false);
17
17
  const place = MOCK_PLACE_DETAILS[value.place_id];
18
18
  if (!place) {
19
- sink.setApiError("Address details not found");
19
+ sink.setApiError(sink.messages.addressDetailsNotFound);
20
20
  return;
21
21
  }
22
22
  sink.applyAddress(
@@ -36,7 +36,7 @@ var resolveLivePlace = (service, value, sink) => {
36
36
  service.getDetails(request, (place, status) => {
37
37
  sink.setLoading(false);
38
38
  if (status !== google.maps.places.PlacesServiceStatus.OK || !place) {
39
- sink.setApiError("Failed to get address details");
39
+ sink.setApiError(sink.messages.addressDetailsFailed);
40
40
  return;
41
41
  }
42
42
  sink.applyAddress(
@@ -54,7 +54,8 @@ var useAddressSelection = ({
54
54
  setLoading,
55
55
  setApiError,
56
56
  onSelect,
57
- applyAddress
57
+ applyAddress,
58
+ messages
58
59
  }) => useCallback(
59
60
  (_event, value) => {
60
61
  if (typeof value === "string") {
@@ -63,7 +64,7 @@ var useAddressSelection = ({
63
64
  }
64
65
  if (!value) return;
65
66
  setLoading(true);
66
- const sink = { setLoading, setApiError, applyAddress };
67
+ const sink = { setLoading, setApiError, applyAddress, messages };
67
68
  if (useMockData && "place_id" in value) {
68
69
  resolveMockPlace(value, sink);
69
70
  return;
@@ -74,10 +75,10 @@ var useAddressSelection = ({
74
75
  }
75
76
  resolveLivePlace(services.placesService, value, sink);
76
77
  },
77
- [services, useMockData, setLoading, setApiError, onSelect, applyAddress]
78
+ [services, useMockData, setLoading, setApiError, onSelect, applyAddress, messages]
78
79
  );
79
80
 
80
81
  export {
81
82
  useAddressSelection
82
83
  };
83
- //# sourceMappingURL=chunk-VRPCZ3IE.js.map
84
+ //# sourceMappingURL=chunk-6JKECOZ2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/AddressAutocomplete/useAddressSelection.ts"],"sourcesContent":["import type { AddressAutocompleteCopy } from '../../../copy/form';\nimport type React from 'react';\nimport { useCallback } from 'react';\n\nimport { coordinatesOf, freeSoloAddress, toAddressDetails } from './AddressAutocomplete.mapper';\nimport type {\n AddressDetails,\n AddressOptionValue,\n AddressPrediction,\n} from './AddressAutocomplete.types';\nimport { MOCK_PLACE_DETAILS } from './mockPlaces';\nimport type { GoogleMapsService } from './useGoogleMapsAPI';\n\nconst MOCK_DETAILS_DELAY_MS = 50;\n\nconst PLACE_DETAIL_FIELDS = ['formatted_address', 'address_components', 'geometry'];\n\ninterface SelectionSink {\n messages: Required<AddressAutocompleteCopy>;\n setLoading: (loading: boolean) => void;\n setApiError: (message: string | null) => void;\n applyAddress: (address: AddressDetails) => void;\n}\n\nconst resolveMockPlace = (value: AddressPrediction, sink: SelectionSink) => {\n window.setTimeout(() => {\n sink.setLoading(false);\n\n const place = MOCK_PLACE_DETAILS[value.place_id];\n if (!place) {\n sink.setApiError(sink.messages.addressDetailsNotFound);\n return;\n }\n\n sink.applyAddress(\n toAddressDetails({\n components: place.address_components,\n formatted: place.formatted_address || value.description,\n coordinates: coordinatesOf(place.geometry),\n }),\n );\n }, MOCK_DETAILS_DELAY_MS);\n};\n\nconst resolveLivePlace = (\n service: google.maps.places.PlacesService,\n value: AddressPrediction,\n sink: SelectionSink,\n) => {\n const request: google.maps.places.PlaceDetailsRequest = {\n placeId: value.place_id,\n fields: PLACE_DETAIL_FIELDS,\n };\n\n service.getDetails(request, (place, status) => {\n sink.setLoading(false);\n\n if (status !== google.maps.places.PlacesServiceStatus.OK || !place) {\n sink.setApiError(sink.messages.addressDetailsFailed);\n return;\n }\n\n sink.applyAddress(\n toAddressDetails({\n components: place.address_components ?? [],\n formatted: place.formatted_address || value.description,\n coordinates: coordinatesOf(place.geometry),\n }),\n );\n });\n};\n\nexport const useAddressSelection = ({\n services,\n useMockData,\n setLoading,\n setApiError,\n onSelect,\n applyAddress,\n messages,\n}: {\n messages: Required<AddressAutocompleteCopy>;\n services: GoogleMapsService;\n useMockData: boolean;\n setLoading: (loading: boolean) => void;\n setApiError: (message: string | null) => void;\n onSelect: (address: AddressDetails) => void;\n applyAddress: (address: AddressDetails) => void;\n}) =>\n useCallback(\n (_event: React.SyntheticEvent, value: AddressOptionValue | null) => {\n // freeSolo text is reported as typed; there is no place to look up, and the\n // input already holds it.\n if (typeof value === 'string') {\n onSelect(freeSoloAddress(value));\n return;\n }\n\n if (!value) return;\n\n setLoading(true);\n const sink: SelectionSink = { setLoading, setApiError, applyAddress, messages };\n\n if (useMockData && 'place_id' in value) {\n resolveMockPlace(value, sink);\n return;\n }\n\n if (!services.placesService) {\n setLoading(false);\n return;\n }\n\n resolveLivePlace(services.placesService, value, sink);\n },\n [services, useMockData, setLoading, setApiError, onSelect, applyAddress, messages],\n );\n"],"mappings":";;;;;;;;;;AAEA,SAAS,mBAAmB;AAW5B,IAAM,wBAAwB;AAE9B,IAAM,sBAAsB,CAAC,qBAAqB,sBAAsB,UAAU;AASlF,IAAM,mBAAmB,CAAC,OAA0B,SAAwB;AAC1E,SAAO,WAAW,MAAM;AACtB,SAAK,WAAW,KAAK;AAErB,UAAM,QAAQ,mBAAmB,MAAM,QAAQ;AAC/C,QAAI,CAAC,OAAO;AACV,WAAK,YAAY,KAAK,SAAS,sBAAsB;AACrD;AAAA,IACF;AAEA,SAAK;AAAA,MACH,iBAAiB;AAAA,QACf,YAAY,MAAM;AAAA,QAClB,WAAW,MAAM,qBAAqB,MAAM;AAAA,QAC5C,aAAa,cAAc,MAAM,QAAQ;AAAA,MAC3C,CAAC;AAAA,IACH;AAAA,EACF,GAAG,qBAAqB;AAC1B;AAEA,IAAM,mBAAmB,CACvB,SACA,OACA,SACG;AACH,QAAM,UAAkD;AAAA,IACtD,SAAS,MAAM;AAAA,IACf,QAAQ;AAAA,EACV;AAEA,UAAQ,WAAW,SAAS,CAAC,OAAO,WAAW;AAC7C,SAAK,WAAW,KAAK;AAErB,QAAI,WAAW,OAAO,KAAK,OAAO,oBAAoB,MAAM,CAAC,OAAO;AAClE,WAAK,YAAY,KAAK,SAAS,oBAAoB;AACnD;AAAA,IACF;AAEA,SAAK;AAAA,MACH,iBAAiB;AAAA,QACf,YAAY,MAAM,sBAAsB,CAAC;AAAA,QACzC,WAAW,MAAM,qBAAqB,MAAM;AAAA,QAC5C,aAAa,cAAc,MAAM,QAAQ;AAAA,MAC3C,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAEO,IAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MASE;AAAA,EACE,CAAC,QAA8B,UAAqC;AAGlE,QAAI,OAAO,UAAU,UAAU;AAC7B,eAAS,gBAAgB,KAAK,CAAC;AAC/B;AAAA,IACF;AAEA,QAAI,CAAC,MAAO;AAEZ,eAAW,IAAI;AACf,UAAM,OAAsB,EAAE,YAAY,aAAa,cAAc,SAAS;AAE9E,QAAI,eAAe,cAAc,OAAO;AACtC,uBAAiB,OAAO,IAAI;AAC5B;AAAA,IACF;AAEA,QAAI,CAAC,SAAS,eAAe;AAC3B,iBAAW,KAAK;AAChB;AAAA,IACF;AAEA,qBAAiB,SAAS,eAAe,OAAO,IAAI;AAAA,EACtD;AAAA,EACA,CAAC,UAAU,aAAa,YAAY,aAAa,UAAU,cAAc,QAAQ;AACnF;","names":[]}
@@ -1,3 +1,9 @@
1
+ import {
2
+ resolveLabels
3
+ } from "./chunk-LL2BWQPM.js";
4
+ import {
5
+ EN_US_UI_LABELS
6
+ } from "./chunk-W5PRZHLU.js";
1
7
  import {
2
8
  paletteKey
3
9
  } from "./chunk-7ZPUN7TV.js";
@@ -78,8 +84,9 @@ var definedProps = (props) => Object.fromEntries(
78
84
  Object.entries(props).filter(([, value]) => value !== void 0)
79
85
  );
80
86
  var resolveWorkflowStepProps = (props) => ({ ...WORKFLOW_DEFAULTS, ...definedProps(props) });
81
- var progressValueText = (steps, currentStep) => {
82
- const position = `Step ${currentStep + 1} of ${steps.length}`;
87
+ var workflowLabels = (labels) => resolveLabels(EN_US_UI_LABELS.workflowStep, labels);
88
+ var progressValueText = (steps, currentStep, labels) => {
89
+ const position = workflowLabels(labels).progress(currentStep + 1, steps.length);
83
90
  const step = steps[currentStep];
84
91
  return step === void 0 ? position : `${position}: ${step.title}`;
85
92
  };
@@ -95,7 +102,8 @@ export {
95
102
  stepColors,
96
103
  withDerivedStatus,
97
104
  resolveWorkflowStepProps,
105
+ workflowLabels,
98
106
  progressValueText,
99
107
  progressValueRange
100
108
  };
101
- //# sourceMappingURL=chunk-XKSA4L2X.js.map
109
+ //# sourceMappingURL=chunk-6MGYPTAL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/utility/WorkflowStep/WorkflowStep.helpers.ts"],"sourcesContent":["import type { Theme } from '@mui/material/styles/index.js';\n\nimport type { WorkflowStepItem, WorkflowStepProps } from './WorkflowStep.types';\nimport type { WorkflowStepLabels } from '../../../copy/labels';\nimport { EN_US_UI_LABELS } from '../../../en-US.labels';\nimport { resolveLabels } from '../../../utils/resolve-labels';\nimport { neutralTones } from '../../../tokens/ink';\nimport { paletteKey } from '../../../tokens/scales';\n\ntype StepColor = NonNullable<WorkflowStepProps['color']>;\ntype StepSize = NonNullable<WorkflowStepProps['size']>;\n\nconst INDICATOR_SIZE: Record<StepSize, number> = {\n xs: 20,\n sm: 24,\n md: 32,\n lg: 40,\n xl: 48,\n};\n\nexport const indicatorSizeFor = (size?: StepSize): number =>\n INDICATOR_SIZE[size as StepSize] ?? INDICATOR_SIZE.md;\n\ninterface StepPalette {\n main: string;\n contrastText: string;\n}\n\n/**\n * The step's colour pair, keyed through `paletteKey` so `danger` reads MUI's\n * `error` (the palette has no `danger`). `neutral` lands on `grey`, a ramp with\n * no `main`, so its pair is derived from the ramp — with the contrast computed,\n * not assumed.\n */\nexport const stepPalette = (theme: Theme, color?: StepColor): StepPalette => {\n const key = paletteKey(color || 'primary');\n if (key === 'grey') {\n const main = neutralTones(theme).emphasis;\n return {\n main,\n contrastText: theme.palette.getContrastText(main),\n };\n }\n\n return theme.palette[key];\n};\n\nexport interface StepColors {\n backgroundColor: string;\n borderColor: string;\n textColor: string;\n}\n\ninterface StepState {\n isActive: boolean;\n isCompleted: boolean;\n isError: boolean;\n variant?: WorkflowStepProps['variant'];\n}\n\n/**\n * An indicator is one of four things, in priority order: failed, done, the step\n * you are on, or still ahead. Only the active one respects `variant` — an active\n * outlined step stays hollow with a coloured rim.\n */\nexport const stepColors = (\n theme: Theme,\n palette: StepPalette,\n { isActive, isCompleted, isError, variant }: StepState,\n): StepColors => {\n if (isError) {\n return {\n backgroundColor: theme.palette.error.main,\n borderColor: theme.palette.error.main,\n textColor: theme.palette.error.contrastText,\n };\n }\n\n if (isCompleted) {\n return {\n backgroundColor: palette.main,\n borderColor: palette.main,\n textColor: palette.contrastText,\n };\n }\n\n if (isActive) {\n const filled = variant === 'filled';\n return {\n backgroundColor: filled ? palette.main : theme.palette.background.paper,\n borderColor: palette.main,\n textColor: filled ? palette.contrastText : palette.main,\n };\n }\n\n return {\n backgroundColor: neutralTones(theme).track,\n borderColor: neutralTones(theme).track,\n textColor: theme.palette.text.secondary,\n };\n};\n\n/**\n * A step that declares `error` keeps it; the rest are positioned against\n * `currentStep`, so a caller only has to move one number to advance the workflow.\n */\nexport const withDerivedStatus = (\n steps: WorkflowStepItem[],\n currentStep: number,\n): WorkflowStepItem[] =>\n steps.map((step, index) => {\n const derivable =\n step.status === 'pending' || step.status === 'current' || step.status === 'completed';\n\n if (!derivable) return { ...step, status: step.status };\n\n if (index < currentStep) return { ...step, status: 'completed' as const };\n if (index === currentStep) return { ...step, status: 'current' as const };\n return { ...step, status: 'pending' as const };\n });\n\ntype WorkflowDefaultedKeys =\n | 'currentStep'\n | 'variant'\n | 'orientation'\n | 'color'\n | 'size'\n | 'showProgress'\n | 'animated'\n | 'interactive'\n | 'showNumbers'\n | 'showIcons'\n | 'disabled';\n\ntype ResolvedWorkflowStepProps = WorkflowStepProps &\n Required<Pick<WorkflowStepProps, WorkflowDefaultedKeys>>;\n\nconst WORKFLOW_DEFAULTS: Pick<WorkflowStepProps, WorkflowDefaultedKeys> = {\n currentStep: 0,\n variant: 'default',\n orientation: 'horizontal',\n color: 'primary',\n size: 'md',\n showProgress: true,\n animated: true,\n interactive: false,\n showNumbers: true,\n showIcons: false,\n disabled: false,\n};\n\n// Strips explicitly-undefined props before the merge, so `size={undefined}` still\n// falls back to the default exactly as a destructuring default would.\nconst definedProps = (props: WorkflowStepProps): Partial<WorkflowStepProps> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<WorkflowStepProps>;\n\nexport const resolveWorkflowStepProps = (\n props: WorkflowStepProps,\n): ResolvedWorkflowStepProps =>\n ({ ...WORKFLOW_DEFAULTS, ...definedProps(props) }) as ResolvedWorkflowStepProps;\n\n/** The caller's labels over the English ones, key by key. */\nexport const workflowLabels = (labels?: Partial<WorkflowStepLabels>): WorkflowStepLabels =>\n resolveLabels(EN_US_UI_LABELS.workflowStep, labels);\n\n/**\n * The progressbar's `aria-valuetext`: `Step N of M: <title>` while `currentStep`\n * names a step, and `Step N of M` when it does not (past the end, below zero, or\n * no steps at all), so a screen reader never reads a missing title as\n * \"undefined\". The index itself is not clamped (FUT-2671).\n */\nexport const progressValueText = (\n steps: readonly WorkflowStepItem[],\n currentStep: number,\n labels?: Partial<WorkflowStepLabels>,\n): string => {\n const position = workflowLabels(labels).progress(currentStep + 1, steps.length);\n const step = steps[currentStep];\n return step === undefined ? position : `${position}: ${step.title}`;\n};\n\nexport interface ProgressValueRange {\n max?: number;\n now?: number;\n}\n\n/**\n * The progressbar's `aria-valuemax`/`aria-valuenow` pair (FUT-2773). With no\n * steps at all there is no meaningful range to report — a `role=\"progressbar\"`\n * with zero steps has nothing to measure, and WAI-ARIA's own value attributes\n * are optional for exactly this case (an indeterminate progressbar omits\n * `aria-valuenow`) — so both are left out rather than asserting the invalid\n * range `aria-valuemax={-1}` with `aria-valuenow={0}`. Otherwise `currentStep`\n * is clamped to `[0, steps.length - 1]` so the reported value never falls\n * outside `[aria-valuemin, aria-valuemax]`, however far `currentStep` strays.\n */\nexport const progressValueRange = (\n steps: readonly WorkflowStepItem[],\n currentStep: number,\n): ProgressValueRange => {\n if (steps.length === 0) return {};\n\n const max = steps.length - 1;\n return { max, now: Math.min(Math.max(currentStep, 0), max) };\n};\n"],"mappings":"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","names":[]}
@@ -1,11 +1,11 @@
1
- import {
2
- useUploadButton
3
- } from "./chunk-QWVETTIY.js";
4
1
  import {
5
2
  UploadDropzone,
6
3
  UploadFeedback,
7
4
  UploadTrigger
8
5
  } from "./chunk-A5UYPUS2.js";
6
+ import {
7
+ useUploadButton
8
+ } from "./chunk-DJMVBIFD.js";
9
9
 
10
10
  // src/components/form/UploadButton/UploadButton.tsx
11
11
  import Box from "@mui/material/Box/index.js";
@@ -73,4 +73,4 @@ UploadButton.displayName = "UploadButton";
73
73
  export {
74
74
  UploadButton
75
75
  };
76
- //# sourceMappingURL=chunk-5752357K.js.map
76
+ //# sourceMappingURL=chunk-6N2U67KF.js.map
@@ -3,7 +3,7 @@ import {
3
3
  toggleList,
4
4
  wrapSelection,
5
5
  wrapSelectionWithLink
6
- } from "./chunk-33LAPBYB.js";
6
+ } from "./chunk-7S25RDE4.js";
7
7
 
8
8
  // src/components/form/RichTextEditor/RichTextEditor.format.ts
9
9
  var WRAP_TAGS = {
@@ -21,7 +21,8 @@ var applyFormatToRange = ({
21
21
  formatType,
22
22
  value,
23
23
  range,
24
- editor
24
+ editor,
25
+ listItemText
25
26
  }) => {
26
27
  const wrapTag = WRAP_TAGS[formatType];
27
28
  if (wrapTag) {
@@ -30,7 +31,7 @@ var applyFormatToRange = ({
30
31
  }
31
32
  const listTag = LIST_TAGS[formatType];
32
33
  if (listTag) {
33
- toggleList(range, listTag, editor);
34
+ toggleList(range, listTag, editor, listItemText);
34
35
  return;
35
36
  }
36
37
  if (formatType === "createLink" && value) {
@@ -49,4 +50,4 @@ var applyFormatToRange = ({
49
50
  export {
50
51
  applyFormatToRange
51
52
  };
52
- //# sourceMappingURL=chunk-UZOG6HNN.js.map
53
+ //# sourceMappingURL=chunk-6SFJIW54.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/RichTextEditor/RichTextEditor.format.ts"],"sourcesContent":["import {\n insertImage,\n toggleList,\n wrapSelection,\n wrapSelectionWithLink,\n} from './RichTextEditor.dom';\n\nconst WRAP_TAGS: Record<string, string> = {\n bold: 'strong',\n italic: 'em',\n underline: 'u',\n strikethrough: 's',\n};\n\nconst LIST_TAGS: Record<string, 'ol' | 'ul'> = {\n insertOrderedList: 'ol',\n insertUnorderedList: 'ul',\n};\n\n// formatBlock is the only format whose value names the tag, and only these two\n// are accepted.\nconst BLOCK_TAGS = new Set(['pre', 'blockquote']);\n\nexport const applyFormatToRange = ({\n formatType,\n value,\n range,\n editor,\n listItemText,\n}: {\n listItemText?: string;\n formatType: string;\n value?: string;\n range: globalThis.Range;\n editor: HTMLElement | null;\n}) => {\n const wrapTag = WRAP_TAGS[formatType];\n if (wrapTag) {\n wrapSelection(range, wrapTag);\n return;\n }\n\n const listTag = LIST_TAGS[formatType];\n if (listTag) {\n toggleList(range, listTag, editor, listItemText);\n return;\n }\n\n if (formatType === 'createLink' && value) {\n wrapSelectionWithLink(range, value);\n return;\n }\n\n if (formatType === 'insertImage' && value) {\n insertImage(range, value);\n return;\n }\n\n if (formatType === 'formatBlock' && value && BLOCK_TAGS.has(value)) {\n wrapSelection(range, value);\n }\n};\n\n"],"mappings":";;;;;;;;AAOA,IAAM,YAAoC;AAAA,EACxC,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,eAAe;AACjB;AAEA,IAAM,YAAyC;AAAA,EAC7C,mBAAmB;AAAA,EACnB,qBAAqB;AACvB;AAIA,IAAM,aAAa,oBAAI,IAAI,CAAC,OAAO,YAAY,CAAC;AAEzC,IAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAMM;AACJ,QAAM,UAAU,UAAU,UAAU;AACpC,MAAI,SAAS;AACX,kBAAc,OAAO,OAAO;AAC5B;AAAA,EACF;AAEA,QAAM,UAAU,UAAU,UAAU;AACpC,MAAI,SAAS;AACX,eAAW,OAAO,SAAS,QAAQ,YAAY;AAC/C;AAAA,EACF;AAEA,MAAI,eAAe,gBAAgB,OAAO;AACxC,0BAAsB,OAAO,KAAK;AAClC;AAAA,EACF;AAEA,MAAI,eAAe,iBAAiB,OAAO;AACzC,gBAAY,OAAO,KAAK;AACxB;AAAA,EACF;AAEA,MAAI,eAAe,iBAAiB,SAAS,WAAW,IAAI,KAAK,GAAG;AAClE,kBAAc,OAAO,KAAK;AAAA,EAC5B;AACF;","names":[]}
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-RKVS5AA6.js";
7
7
  import {
8
8
  CategorySelect
9
- } from "./chunk-N34AOGK3.js";
9
+ } from "./chunk-I3OKAQ5L.js";
10
10
 
11
11
  // src/components/data-display/DataViews/data-views-category-pill.tsx
12
12
  import { jsx } from "react/jsx-runtime";
@@ -79,4 +79,4 @@ export {
79
79
  emitPillDiff,
80
80
  PillControl
81
81
  };
82
- //# sourceMappingURL=chunk-VD72JGHA.js.map
82
+ //# sourceMappingURL=chunk-73OYC22L.js.map
@@ -1,9 +1,9 @@
1
- import {
2
- CalendarDay
3
- } from "./chunk-HKGKQKQT.js";
4
1
  import {
5
2
  buildDayArgs
6
3
  } from "./chunk-E2Y7G4MP.js";
4
+ import {
5
+ CalendarDay
6
+ } from "./chunk-HKGKQKQT.js";
7
7
  import {
8
8
  isSameDay
9
9
  } from "./chunk-TERT6TIS.js";
@@ -40,4 +40,4 @@ var CalendarDayCell = ({
40
40
  export {
41
41
  CalendarDayCell
42
42
  };
43
- //# sourceMappingURL=chunk-6DAIC2MG.js.map
43
+ //# sourceMappingURL=chunk-775LIZXS.js.map
@@ -2,10 +2,13 @@ import {
2
2
  imgPassThrough,
3
3
  resolveLazyImageProps,
4
4
  useLazyImage
5
- } from "./chunk-2TSGRQ2J.js";
5
+ } from "./chunk-LHJJZ462.js";
6
6
  import {
7
7
  Skeleton
8
8
  } from "./chunk-62SXUU5U.js";
9
+ import {
10
+ EN_US_UI_LABELS
11
+ } from "./chunk-W5PRZHLU.js";
9
12
  import {
10
13
  fieldHeight
11
14
  } from "./chunk-QQHZBJMU.js";
@@ -130,7 +133,7 @@ var PlaceholderIndicator = ({
130
133
  StyledImage,
131
134
  {
132
135
  src: props.placeholder,
133
- alt: `${props.alt} (loading)`,
136
+ alt: props.placeholderAlt ?? EN_US_UI_LABELS.lazyImage.loadingAlt(props.alt),
134
137
  style: metrics,
135
138
  decoding: props.decoding,
136
139
  loading: props.lazy ? "lazy" : props.loading,
@@ -167,7 +170,7 @@ var ErrorFallback = ({ props, metrics }) => {
167
170
  StyledImage,
168
171
  {
169
172
  src: fallback,
170
- alt: `${alt} (fallback)`,
173
+ alt: props.fallbackAlt ?? EN_US_UI_LABELS.lazyImage.fallbackAlt(alt),
171
174
  style: metrics,
172
175
  fadeIn: false,
173
176
  isLoaded: true,
@@ -275,4 +278,4 @@ LazyImage.displayName = "LazyImage";
275
278
  export {
276
279
  LazyImage
277
280
  };
278
- //# sourceMappingURL=chunk-C5JCARNE.js.map
281
+ //# sourceMappingURL=chunk-7HKXTRTK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/LazyImage/LazyImage.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport { styled, useTheme, type Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\nimport { Skeleton } from '../../layout/Skeleton';\nimport { imgPassThrough, resolveLazyImageProps, useLazyImage, type ResolvedLazyImageProps } from './LazyImage.hooks';\nimport type { LazyImageProps } from './LazyImage.types';\nimport { EN_US_UI_LABELS } from '../../../en-US.labels';\nimport { sheen } from '../../../tokens/ink';\nimport { rem } from '../../../tokens/relative';\nimport { fieldHeight } from '../../../tokens/field-height';\n\nconst ImageContainer = styled(Box)(() => ({\n position: 'relative',\n display: 'inline-block',\n overflow: 'hidden',\n}));\n\nconst StyledImage = styled('img')<{\n fadeIn?: boolean;\n fadeInDuration?: number;\n isLoaded?: boolean;\n}>(({ fadeIn, fadeInDuration = 300, isLoaded }) => ({\n display: 'block',\n maxWidth: '100%',\n height: 'auto',\n opacity: fadeIn ? (isLoaded ? 1 : 0) : 1,\n transition: fadeIn ? `opacity ${fadeInDuration}ms ease-in-out` : 'none',\n}));\n\nconst SpinnerOverlay = styled(Box)(({ theme }) => ({\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: sheen(theme, 0.8),\n borderRadius: '50%',\n padding: theme.spacing(1),\n}));\n\nconst FallbackContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.action.disabledBackground,\n color: theme.palette.text.secondary,\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n}));\n\ntype Length = number | string | undefined;\n\n/** A length prop as React `style` and MUI's `Skeleton` read it: a number is design px. */\nconst styleLength = (theme: Theme, value: Length): string | undefined =>\n typeof value === 'number' ? rem(theme, value) : value;\n\n/**\n * A width or height above 0 and up to 1 is a fraction of the container's parent, as in `sx`.\n * A negative number is no fraction: it stays a (negative, so invalid) length.\n */\nconst isFraction = (value: Length): value is number =>\n typeof value === 'number' && value > 0 && value <= 1;\n\n/**\n * A length prop as `sx` reads it on a width or height: a number of 1 or less is\n * a fraction of the parent, and that stays so; any other number is design px.\n */\nconst sxLength = (theme: Theme, value: Length): string | undefined =>\n isFraction(value) ? `${value * 100}%` : styleLength(theme, value);\n\n/**\n * A width or height for what is drawn inside the container. The container alone\n * takes a fraction, so everything in it fills it: a percentage here is measured\n * against the container and would stack (FUT-2666). Otherwise the same as `styleLength`.\n */\nconst innerLength = (theme: Theme, value: Length): string | undefined =>\n isFraction(value) ? '100%' : styleLength(theme, value);\n\n/**\n * A width or height with its default. Only an unset or empty size takes it: `0`\n * is a size, which `||` read as unset (FUT-2669), and `sx` reads `''` as `0%`.\n */\nconst orDefault = (value: Length, fallback: number | string): number | string =>\n value === undefined || value === '' ? fallback : value;\n\n/**\n * A width/height as `metrics` and the `ReactNode` `ErrorFallback` read it\n * (FUT-2774 #4): an explicit empty string is normalized to \"as if unset\"\n * rather than mapped to a component-wide default. Unlike `SkeletonIndicator`\n * (a content-less box with nothing else to size by, hence its own deliberate\n * `'100%'`/`'auto'` fallback), these draw the real image or a `ReactNode`\n * fallback — both have their own intrinsic size, so leaving an unset width\n * unset lets it size naturally (`brand-link.tsx`'s logo relies on exactly\n * this: an unset width capped by its own `sx.maxWidth`).\n */\nconst emptyToUnset = (value: Length): Length => (value === '' ? undefined : value);\n\n/** A length, already resolved to CSS — {@link innerLength} or {@link sxLength}. */\ntype LengthResolver = (theme: Theme, value: Length) => string | undefined;\n\n// A number + `%`, a (small/large/dynamic) viewport unit, or a container-query\n// unit, anywhere in a string, even nested in `calc()`/`min()`/`max()`/`clamp()`.\nconst RELATIVE_LENGTH_UNIT = /[\\d.]+(?:%|[dsl]?v(?:w|h|i|b|min|max)|cq(?:w|h|i|b|min|max))(?![a-zA-Z])/;\n// RELATIVE: {@link isFraction}, or that unit anywhere — borrowing it onto the\n// OTHER axis re-creates this collapse (all these units square, `LazyImage.md`).\nconst isRelativeLength = (value: Length): boolean =>\n isFraction(value) || (typeof value === 'string' && RELATIVE_LENGTH_UNIT.test(value));\n\n/** A resolved axis pair; `aspectRatio` is set when the OTHER axis comes from CSS, not a length. */\ntype AxisPair = { width: string | undefined; height: string | undefined; aspectRatio?: string };\n\n/**\n * The unset-axis DEFAULT for a PLACEHOLDER only (skeleton, `ReactNode`\n * fallback) — never the real image/`metrics` (an unset width sizes it\n * naturally; `brand-link.tsx`'s logo relies on that). Decision (FUT-2805): an\n * unset axis borrows the set one (a square); neither set, both take the\n * theme's field height; both set stays unchanged. `resolve` is `innerLength`\n * (skeleton) or `sxLength` (the container). A RELATIVE single axis\n * ({@link isRelativeLength}) cannot borrow the same way: it keeps its value\n * and squares up via `aspectRatio: '1 / 1'`, the other axis explicitly\n * `'auto'` (never `undefined` — `Skeleton`'s own default, a fixed `40`,\n * would silently win otherwise).\n */\nconst placeholderAxis = (theme: Theme, width: Length, height: Length, resolve: LengthResolver): AxisPair => {\n const w = emptyToUnset(width);\n // `height` always arrives defaulted to the literal `'auto'` when unset\n // (`LAZY_IMAGE_DEFAULTS`) — indistinguishable from an explicit `\"auto\"`,\n // and no distinction is needed: both mean \"no fixed height requested\".\n const h = height === 'auto' ? undefined : emptyToUnset(height);\n\n if (w === undefined && h === undefined) {\n const field = fieldHeight(theme);\n return { width: field, height: field };\n }\n if (h === undefined) {\n if (isRelativeLength(w)) return { width: resolve(theme, w), height: 'auto', aspectRatio: '1 / 1' };\n const resolved = resolve(theme, w);\n return { width: resolved, height: resolved };\n }\n if (w === undefined) {\n if (isRelativeLength(h)) return { width: 'auto', height: resolve(theme, h), aspectRatio: '1 / 1' };\n const resolved = resolve(theme, h);\n return { width: resolved, height: resolved };\n }\n return { width: resolve(theme, w), height: resolve(theme, h) };\n};\n\n/**\n * `ImageContainer`'s own axis: the ordinary `orDefault(...,'auto')` in every\n * state, except a ReactNode `fallback` while showing — the one case where\n * the container is the only thing that CAN fix its own collapse\n * (`FallbackContainer` is `position: absolute`, never feeding shrink-to-fit).\n */\nconst containerAxisFor = (theme: Theme, props: ResolvedLazyImageProps, hasError: boolean): AxisPair => {\n const { width, height, fallback } = props;\n const needsPlaceholderSize = hasError && Boolean(fallback) && typeof fallback !== 'string';\n return needsPlaceholderSize\n ? placeholderAxis(theme, width, height, sxLength)\n : { width: sxLength(theme, orDefault(width, 'auto')), height: sxLength(theme, orDefault(height, 'auto')) };\n};\n\n/** The box the image occupies, as CSS, shared by the real image and every stand-in for it. */\ninterface BoxMetrics {\n width?: string;\n height?: string;\n objectFit: NonNullable<LazyImageProps['objectFit']>;\n objectPosition: string;\n borderRadius?: string;\n}\n\ninterface IndicatorProps {\n props: ResolvedLazyImageProps;\n metrics: BoxMetrics;\n}\n\nconst SkeletonIndicator: React.FC<IndicatorProps> = ({ props }) => {\n const theme = useTheme();\n // FUT-2805: replaces the old literal `'100%'`/`'auto'` fallbacks, which\n // collapsed to 0 in a shrink-to-fit `ImageContainer` with nothing to\n // resolve against.\n const { width, height, aspectRatio } = placeholderAxis(theme, props.width, props.height, innerLength);\n return (\n <Skeleton\n // FUT-2774 #5: `skeletonProps.variant` was typed but never read — the\n // variant was hard-coded regardless of what a caller passed.\n variant={props.skeletonProps.variant ?? 'rectangular'}\n width={width}\n height={height}\n style={aspectRatio ? { aspectRatio } : undefined}\n // FUT-2774 #5: `||` reads a caller's `false` the same as \"unset\", so\n // `skeletonProps.animation={false}` could never turn the animation off.\n animation={props.skeletonProps.animation ?? 'pulse'}\n intensity={props.skeletonProps.intensity}\n borderRadius={styleLength(theme, props.borderRadius)}\n data-testid={`${props['data-testid']}-skeleton`}\n />\n );\n};\n\nconst SpinnerIndicator: React.FC<IndicatorProps> = ({ props }) => {\n const theme = useTheme();\n const { spinnerProps } = props;\n\n return (\n <SpinnerOverlay>\n <CircularProgress\n // FUT-2774 #5: `||` read `spinnerProps.size`/`thickness` of `0` the\n // same as unset — the same class of bug FUT-2669 fixed for\n // `width`/`height`, missed here.\n size={styleLength(theme, spinnerProps.size ?? 40)}\n thickness={spinnerProps.thickness ?? 4}\n sx={{ color: spinnerProps.color || theme.palette.primary.main }}\n data-testid={`${props['data-testid']}-spinner`}\n />\n </SpinnerOverlay>\n );\n};\n\n/**\n * The placeholder sits in the box's flow and gives the box its size: the box's\n * own when one is set, the placeholder's when not. The real image is drawn over\n * it (`OVER_PLACEHOLDER`) until it has faded in. Its load and error are not the\n * image's, so neither reaches the caller; a failing one just retires.\n */\nconst PlaceholderIndicator: React.FC<IndicatorProps & { onError: () => void }> = ({\n props,\n metrics,\n onError,\n}) => {\n if (!props.placeholder) return null;\n\n return (\n <StyledImage\n src={props.placeholder}\n alt={props.placeholderAlt ?? EN_US_UI_LABELS.lazyImage.loadingAlt(props.alt)}\n style={metrics}\n decoding={props.decoding}\n loading={props.lazy ? 'lazy' : props.loading}\n onError={onError}\n data-testid={`${props['data-testid']}-placeholder`}\n />\n );\n};\n\nconst LoadingIndicator: React.FC<\n IndicatorProps & { kind: NonNullable<LazyImageProps['loadingState']>; onPlaceholderError: () => void }\n> = ({ kind, onPlaceholderError, ...rest }) => {\n switch (kind) {\n case 'skeleton':\n return <SkeletonIndicator {...rest} />;\n case 'spinner':\n return <SpinnerIndicator {...rest} />;\n case 'placeholder':\n return <PlaceholderIndicator {...rest} onError={onPlaceholderError} />;\n default:\n return null;\n }\n};\n\n/**\n * The real image while the placeholder is up: laid over it and cropped by\n * `objectFit`, so the box never grows to hold both. It takes the flow back\n * when the placeholder goes.\n */\nconst OVER_PLACEHOLDER: React.CSSProperties = {\n position: 'absolute',\n inset: 0,\n width: '100%',\n height: '100%',\n};\n\nconst ErrorFallback: React.FC<IndicatorProps> = ({ props, metrics }) => {\n const theme = useTheme();\n const { alt, fallback, width, height, borderRadius } = props;\n const testId = props['data-testid'];\n\n if (!fallback) return null;\n\n if (typeof fallback === 'string') {\n return (\n <StyledImage\n src={fallback}\n alt={props.fallbackAlt ?? EN_US_UI_LABELS.lazyImage.fallbackAlt(alt)}\n style={metrics}\n fadeIn={false}\n isLoaded={true}\n data-testid={`${testId}-fallback`}\n />\n );\n }\n\n return (\n <FallbackContainer\n sx={{\n // FUT-2774 #4 (see `emptyToUnset`); the collapse is fixed by\n // `LazyImage` giving `ImageContainer` ITSELF a size now\n // (`containerAxisFor`) — this `position: absolute` box just fills it.\n width: innerLength(theme, emptyToUnset(width)),\n height: innerLength(theme, orDefault(height, 'auto')),\n borderRadius: styleLength(theme, borderRadius),\n }}\n data-testid={`${testId}-fallback`}\n >\n {fallback}\n </FallbackContainer>\n );\n};\n\n/**\n * LazyImage component with enhanced features for optimized image loading\n * Supports lazy loading, placeholders, error handling, and various loading states\n */\nexport const LazyImage = React.memo<LazyImageProps>(function LazyImage(rawProps) {\n const props = resolveLazyImageProps(rawProps);\n const theme = useTheme();\n const {\n state,\n containerRef,\n effectiveLoadingState,\n handleImageLoad,\n handleImageError,\n handlePlaceholderError,\n showImage,\n showLoading,\n showPlaceholder,\n } = useLazyImage(props);\n\n const { width, height, borderRadius, alt } = props;\n const testId = props['data-testid'];\n const metrics: BoxMetrics = {\n // FUT-2774 #4 (see `emptyToUnset`): `metrics` also sizes the REAL `<img>`,\n // where an unset width means \"the image's own intrinsic size\" —\n // `brand-link.tsx`'s logo relies on exactly that. `height`'s `'auto'`\n // fallback has no such live case to protect: a percentage height against\n // an auto-height containing block computes to `auto` regardless, so\n // sharing `SkeletonIndicator`'s fallback changes nothing observable.\n width: innerLength(theme, emptyToUnset(width)),\n height: innerLength(theme, orDefault(height, 'auto')),\n objectFit: props.objectFit,\n objectPosition: props.objectPosition,\n borderRadius: styleLength(theme, borderRadius),\n };\n\n const containerAxis = containerAxisFor(theme, props, state.hasError);\n\n return (\n <ImageContainer\n ref={containerRef}\n className={props.className}\n sx={{\n width: containerAxis.width,\n height: containerAxis.height,\n aspectRatio: containerAxis.aspectRatio,\n // The same px length the image gets (`metrics`): in `sx` a bare number\n // would be a multiple of `shape.borderRadius`, and this box clips (FUT-2656).\n borderRadius: metrics.borderRadius,\n }}\n data-testid={testId}\n >\n {showLoading && (\n <LoadingIndicator\n kind={effectiveLoadingState}\n props={props}\n metrics={metrics}\n onPlaceholderError={handlePlaceholderError}\n />\n )}\n\n {showImage && (\n <StyledImage\n src={state.currentSrc || undefined}\n alt={alt}\n onLoad={handleImageLoad}\n onError={handleImageError}\n fadeIn={props.fadeIn}\n fadeInDuration={props.fadeInDuration}\n isLoaded={!state.isLoading}\n decoding={props.decoding}\n loading={props.lazy ? 'lazy' : props.loading}\n style={{ ...metrics, ...props.sx, ...(showPlaceholder && OVER_PLACEHOLDER) }}\n aria-label={props['aria-label'] || alt}\n aria-describedby={props['aria-describedby']}\n role={props.role}\n data-testid={`${testId}-img`}\n {...imgPassThrough(props)}\n />\n )}\n\n {state.hasError && <ErrorFallback props={props} metrics={metrics} />}\n </ImageContainer>\n );\n});\n\nLazyImage.displayName = 'LazyImage';\n"],"mappings":"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","names":["LazyImage"]}
@@ -1,7 +1,3 @@
1
- import {
2
- containerStyles,
3
- frameBox
4
- } from "./chunk-Z64TMGYT.js";
5
1
  import {
6
2
  CarouselTrack
7
3
  } from "./chunk-6FDLBWTE.js";
@@ -10,7 +6,11 @@ import {
10
6
  } from "./chunk-RUIV5TVA.js";
11
7
  import {
12
8
  CarouselChrome
13
- } from "./chunk-RUF7TOAZ.js";
9
+ } from "./chunk-KE74C2SM.js";
10
+ import {
11
+ containerStyles,
12
+ frameBox
13
+ } from "./chunk-Z64TMGYT.js";
14
14
  import {
15
15
  withDefaults
16
16
  } from "./chunk-HPK33ACY.js";
@@ -151,4 +151,4 @@ var Carousel = (props) => {
151
151
  export {
152
152
  Carousel
153
153
  };
154
- //# sourceMappingURL=chunk-S4JXSC4D.js.map
154
+ //# sourceMappingURL=chunk-7HZ6TJRH.js.map
@@ -1,3 +1,7 @@
1
+ import {
2
+ EN_US_UI_LABELS
3
+ } from "./chunk-W5PRZHLU.js";
4
+
1
5
  // src/components/form/RichTextEditor/RichTextEditor.dom.ts
2
6
  var wrapSelection = (range, tagName) => {
3
7
  const selectedText = range.toString();
@@ -56,10 +60,10 @@ var removeFromList = (block) => {
56
60
  listItem
57
61
  );
58
62
  };
59
- var wrapInList = (range, listType) => {
63
+ var wrapInList = (range, listType, listItemText) => {
60
64
  const list = document.createElement(listType);
61
65
  const listItem = document.createElement("li");
62
- listItem.appendChild(document.createTextNode(range.toString() || "List item"));
66
+ listItem.appendChild(document.createTextNode(range.toString() || listItemText));
63
67
  list.appendChild(listItem);
64
68
  range.deleteContents();
65
69
  range.insertNode(list);
@@ -70,7 +74,7 @@ var wrapInList = (range, listType) => {
70
74
  selection?.removeAllRanges();
71
75
  selection?.addRange(newRange);
72
76
  };
73
- var toggleList = (range, listType, editor) => {
77
+ var toggleList = (range, listType, editor, listItemText = EN_US_UI_LABELS.richTextEditor.listItem) => {
74
78
  if (!editor) return;
75
79
  const block = blockElementFor(range);
76
80
  if (!block) return;
@@ -78,7 +82,7 @@ var toggleList = (range, listType, editor) => {
78
82
  removeFromList(block);
79
83
  return;
80
84
  }
81
- wrapInList(range, listType);
85
+ wrapInList(range, listType, listItemText);
82
86
  };
83
87
 
84
88
  export {
@@ -87,4 +91,4 @@ export {
87
91
  insertImage,
88
92
  toggleList
89
93
  };
90
- //# sourceMappingURL=chunk-33LAPBYB.js.map
94
+ //# sourceMappingURL=chunk-7S25RDE4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/RichTextEditor/RichTextEditor.dom.ts"],"sourcesContent":["import { EN_US_UI_LABELS } from '../../../en-US.labels';\n// Selection surgery for the editor. Each of these mutates the DOM around a\n// Range and then rebuilds the selection, so the caret ends up where the user\n// expects rather than at the start of the document.\n\nexport const wrapSelection = (range: globalThis.Range, tagName: string) => {\n const selectedText = range.toString();\n if (!selectedText) return;\n \n const wrapper = document.createElement(tagName);\n wrapper.appendChild(document.createTextNode(selectedText));\n \n range.deleteContents();\n range.insertNode(wrapper);\n \n // Move cursor after inserted element\n const newRange = document.createRange();\n newRange.setStartAfter(wrapper);\n newRange.collapse(true);\n \n const selection = window.getSelection();\n selection?.removeAllRanges();\n selection?.addRange(newRange);\n};\n\nexport const wrapSelectionWithLink = (range: globalThis.Range, url: string) => {\n const selectedText = range.toString();\n if (!selectedText) return;\n \n const link = document.createElement('a');\n link.href = url.startsWith('http') ? url : `https://${url}`;\n link.target = '_blank';\n link.rel = 'noopener noreferrer';\n link.appendChild(document.createTextNode(selectedText));\n \n range.deleteContents();\n range.insertNode(link);\n \n // Move cursor after inserted element\n const newRange = document.createRange();\n newRange.setStartAfter(link);\n newRange.collapse(true);\n \n const selection = window.getSelection();\n selection?.removeAllRanges();\n selection?.addRange(newRange);\n};\n\nexport const insertImage = (range: globalThis.Range, src: string) => {\n const img = document.createElement('img');\n img.src = src;\n img.style.maxWidth = '100%';\n img.style.height = 'auto';\n \n range.deleteContents();\n range.insertNode(img);\n \n // Move cursor after inserted element\n const newRange = document.createRange();\n newRange.setStartAfter(img);\n newRange.collapse(true);\n \n const selection = window.getSelection();\n selection?.removeAllRanges();\n selection?.addRange(newRange);\n};\n\n// Resolves to the nearest element, since a collapsed selection reports its text\n// node as the common ancestor.\nconst blockElementFor = (range: globalThis.Range): globalThis.Element | null => {\n const node = range.commonAncestorContainer;\n\n return node.nodeType === globalThis.Node.TEXT_NODE\n ? node.parentElement\n : (node as globalThis.Element);\n};\n\n// Unwraps the item back to plain text, keeping its content.\nconst removeFromList = (block: globalThis.Element) => {\n const listItem = block.closest('li');\n if (!listItem?.parentElement) return;\n\n listItem.parentElement.replaceChild(\n document.createTextNode(listItem.textContent || ''),\n listItem,\n );\n};\n\nconst wrapInList = (range: globalThis.Range, listType: 'ol' | 'ul', listItemText: string) => {\n const list = document.createElement(listType);\n const listItem = document.createElement('li');\n\n listItem.appendChild(document.createTextNode(range.toString() || listItemText));\n list.appendChild(listItem);\n\n range.deleteContents();\n range.insertNode(list);\n\n // Move cursor inside list item\n const newRange = document.createRange();\n newRange.selectNodeContents(listItem);\n newRange.collapse(false);\n\n const selection = window.getSelection();\n selection?.removeAllRanges();\n selection?.addRange(newRange);\n};\n\nexport const toggleList = (\n range: globalThis.Range,\n listType: 'ol' | 'ul',\n editor: HTMLElement | null,\n listItemText: string = EN_US_UI_LABELS.richTextEditor.listItem,\n) => {\n if (!editor) return;\n\n const block = blockElementFor(range);\n if (!block) return;\n\n if (block.closest(listType)) {\n removeFromList(block);\n return;\n }\n\n wrapInList(range, listType, listItemText);\n};\n"],"mappings":";;;;;AAKO,IAAM,gBAAgB,CAAC,OAAyB,YAAoB;AACzE,QAAM,eAAe,MAAM,SAAS;AACpC,MAAI,CAAC,aAAc;AAEnB,QAAM,UAAU,SAAS,cAAc,OAAO;AAC9C,UAAQ,YAAY,SAAS,eAAe,YAAY,CAAC;AAEzD,QAAM,eAAe;AACrB,QAAM,WAAW,OAAO;AAGxB,QAAM,WAAW,SAAS,YAAY;AACtC,WAAS,cAAc,OAAO;AAC9B,WAAS,SAAS,IAAI;AAEtB,QAAM,YAAY,OAAO,aAAa;AACtC,aAAW,gBAAgB;AAC3B,aAAW,SAAS,QAAQ;AAC9B;AAEO,IAAM,wBAAwB,CAAC,OAAyB,QAAgB;AAC7E,QAAM,eAAe,MAAM,SAAS;AACpC,MAAI,CAAC,aAAc;AAEnB,QAAM,OAAO,SAAS,cAAc,GAAG;AACvC,OAAK,OAAO,IAAI,WAAW,MAAM,IAAI,MAAM,WAAW,GAAG;AACzD,OAAK,SAAS;AACd,OAAK,MAAM;AACX,OAAK,YAAY,SAAS,eAAe,YAAY,CAAC;AAEtD,QAAM,eAAe;AACrB,QAAM,WAAW,IAAI;AAGrB,QAAM,WAAW,SAAS,YAAY;AACtC,WAAS,cAAc,IAAI;AAC3B,WAAS,SAAS,IAAI;AAEtB,QAAM,YAAY,OAAO,aAAa;AACtC,aAAW,gBAAgB;AAC3B,aAAW,SAAS,QAAQ;AAC9B;AAEO,IAAM,cAAc,CAAC,OAAyB,QAAgB;AACnE,QAAM,MAAM,SAAS,cAAc,KAAK;AACxC,MAAI,MAAM;AACV,MAAI,MAAM,WAAW;AACrB,MAAI,MAAM,SAAS;AAEnB,QAAM,eAAe;AACrB,QAAM,WAAW,GAAG;AAGpB,QAAM,WAAW,SAAS,YAAY;AACtC,WAAS,cAAc,GAAG;AAC1B,WAAS,SAAS,IAAI;AAEtB,QAAM,YAAY,OAAO,aAAa;AACtC,aAAW,gBAAgB;AAC3B,aAAW,SAAS,QAAQ;AAC9B;AAIA,IAAM,kBAAkB,CAAC,UAAuD;AAC9E,QAAM,OAAO,MAAM;AAEnB,SAAO,KAAK,aAAa,WAAW,KAAK,YACrC,KAAK,gBACJ;AACP;AAGA,IAAM,iBAAiB,CAAC,UAA8B;AACpD,QAAM,WAAW,MAAM,QAAQ,IAAI;AACnC,MAAI,CAAC,UAAU,cAAe;AAE9B,WAAS,cAAc;AAAA,IACrB,SAAS,eAAe,SAAS,eAAe,EAAE;AAAA,IAClD;AAAA,EACF;AACF;AAEA,IAAM,aAAa,CAAC,OAAyB,UAAuB,iBAAyB;AAC3F,QAAM,OAAO,SAAS,cAAc,QAAQ;AAC5C,QAAM,WAAW,SAAS,cAAc,IAAI;AAE5C,WAAS,YAAY,SAAS,eAAe,MAAM,SAAS,KAAK,YAAY,CAAC;AAC9E,OAAK,YAAY,QAAQ;AAEzB,QAAM,eAAe;AACrB,QAAM,WAAW,IAAI;AAGrB,QAAM,WAAW,SAAS,YAAY;AACtC,WAAS,mBAAmB,QAAQ;AACpC,WAAS,SAAS,KAAK;AAEvB,QAAM,YAAY,OAAO,aAAa;AACtC,aAAW,gBAAgB;AAC3B,aAAW,SAAS,QAAQ;AAC9B;AAEO,IAAM,aAAa,CACxB,OACA,UACA,QACA,eAAuB,gBAAgB,eAAe,aACnD;AACH,MAAI,CAAC,OAAQ;AAEb,QAAM,QAAQ,gBAAgB,KAAK;AACnC,MAAI,CAAC,MAAO;AAEZ,MAAI,MAAM,QAAQ,QAAQ,GAAG;AAC3B,mBAAe,KAAK;AACpB;AAAA,EACF;AAEA,aAAW,OAAO,UAAU,YAAY;AAC1C;","names":[]}
@@ -1,6 +1,3 @@
1
- import {
2
- useDisclosure
3
- } from "./chunk-2JCRNWHE.js";
4
1
  import {
5
2
  StandaloneContainer,
6
3
  useRowLayout
@@ -9,7 +6,7 @@ import {
9
6
  DiscloseSlot,
10
7
  DragSlot,
11
8
  SelectSlot
12
- } from "./chunk-QO7UJXXO.js";
9
+ } from "./chunk-TVMSXL3R.js";
13
10
  import {
14
11
  actionProps,
15
12
  metaShape,
@@ -22,6 +19,9 @@ import {
22
19
  ListCardMeta,
23
20
  ListCardTail
24
21
  } from "./chunk-CSJ7WNXU.js";
22
+ import {
23
+ useDisclosure
24
+ } from "./chunk-2JCRNWHE.js";
25
25
  import {
26
26
  DropIndicator
27
27
  } from "./chunk-K4EKTMTC.js";
@@ -33,7 +33,7 @@ import {
33
33
  } from "./chunk-6DPAWXZ3.js";
34
34
  import {
35
35
  Card
36
- } from "./chunk-4XBAEKQQ.js";
36
+ } from "./chunk-W2RXXF7K.js";
37
37
 
38
38
  // src/components/data-display/DataViews/base-list-card.tsx
39
39
  import Collapse from "@mui/material/Collapse/index.js";
@@ -185,4 +185,4 @@ function BaseListCard(props) {
185
185
  export {
186
186
  BaseListCard
187
187
  };
188
- //# sourceMappingURL=chunk-CSD6SWBZ.js.map
188
+ //# sourceMappingURL=chunk-A3Z7ZXLM.js.map