@12-apps/ui 6.78.4 → 6.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1203) hide show
  1. package/dist/_internal/components/data-display/Alert/Alert.js +3 -3
  2. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +3 -2
  3. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.parts.js +2 -1
  4. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +7 -5
  5. package/dist/_internal/components/data-display/Avatar/Avatar.js +5 -4
  6. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
  7. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +4 -4
  8. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +12 -11
  9. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +8 -7
  10. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +5 -2
  11. package/dist/_internal/components/data-display/Carousel/Carousel.js +7 -4
  12. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +4 -1
  13. package/dist/_internal/components/data-display/Chart/Chart.js +3 -3
  14. package/dist/_internal/components/data-display/Chart/SpecChart.js +6 -6
  15. package/dist/_internal/components/data-display/Chart/chart-renderers.js +2 -2
  16. package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
  17. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
  18. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +55 -53
  19. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +76 -74
  20. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +4 -3
  21. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +10 -9
  22. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +8 -7
  23. package/dist/_internal/components/data-display/DataViews/base-card.js +5 -5
  24. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +3 -3
  25. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +3 -3
  26. package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +3 -3
  27. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +2 -2
  28. package/dist/_internal/components/data-display/DataViews/base-list-card.js +10 -10
  29. package/dist/_internal/components/data-display/DataViews/data-views-card-body.js +2 -2
  30. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +17 -15
  31. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +2 -2
  32. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +2 -2
  33. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +24 -22
  34. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +8 -8
  35. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +1 -1
  36. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +50 -48
  37. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +25 -23
  38. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +22 -20
  39. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +23 -21
  40. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +3 -3
  41. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +4 -3
  42. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +13 -11
  43. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +25 -23
  44. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +12 -10
  45. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +1 -1
  46. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
  47. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +5 -5
  48. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +3 -2
  49. package/dist/_internal/components/data-display/ErrorState/ErrorState.js +2 -1
  50. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +11 -8
  51. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +10 -7
  52. package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +1 -1
  53. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +16 -12
  54. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +2 -2
  55. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +2 -2
  56. package/dist/_internal/components/data-display/LazyImage/LazyImage.hooks.js +1 -1
  57. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +3 -2
  58. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +6 -6
  59. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +3 -1
  60. package/dist/_internal/components/data-display/MapPreview/MapControlBar.js +5 -1
  61. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +7 -3
  62. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +5 -1
  63. package/dist/_internal/components/data-display/MapPreview/MapPreview.helpers.js +6 -1
  64. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +9 -6
  65. package/dist/_internal/components/data-display/Progress/Progress.js +2 -2
  66. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +6 -4
  67. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +3 -2
  68. package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
  69. package/dist/_internal/components/data-display/Sheet/Sheet.js +6 -5
  70. package/dist/_internal/components/data-display/Sheet/Sheet.parts.js +2 -1
  71. package/dist/_internal/components/data-display/Stepper/Stepper.js +3 -1
  72. package/dist/_internal/components/data-display/Table/Table.helpers.js +1 -1
  73. package/dist/_internal/components/data-display/Table/Table.js +6 -4
  74. package/dist/_internal/components/data-display/Table/TableParts.hooks.js +4 -2
  75. package/dist/_internal/components/data-display/Table/TableParts.js +4 -2
  76. package/dist/_internal/components/data-display/Timeline/Timeline.js +4 -2
  77. package/dist/_internal/components/data-display/Timeline/TimelineRow.js +1 -1
  78. package/dist/_internal/components/data-display/index.js +73 -68
  79. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +5 -4
  80. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +4 -3
  81. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +6 -5
  82. package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +5 -4
  83. package/dist/_internal/components/feedback/Dialog/Dialog.js +3 -2
  84. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +4 -4
  85. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +12 -11
  86. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +6 -6
  87. package/dist/_internal/components/feedback/Sonner/Sonner.js +3 -2
  88. package/dist/_internal/components/feedback/Sonner/SonnerToast.js +1 -1
  89. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +7 -6
  90. package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +2 -1
  91. package/dist/_internal/components/feedback/Toast/Toast.js +2 -1
  92. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +3 -2
  93. package/dist/_internal/components/feedback/TutorialOverlay/TutorialStepBody.js +2 -1
  94. package/dist/_internal/components/feedback/index.js +34 -32
  95. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.helpers.js +3 -1
  96. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +8 -6
  97. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +12 -10
  98. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +4 -2
  99. package/dist/_internal/components/form/AddressAutocomplete/useAddressPredictions.js +4 -2
  100. package/dist/_internal/components/form/AddressAutocomplete/useAddressSelection.js +1 -1
  101. package/dist/_internal/components/form/AddressAutocomplete/useCurrentLocation.js +1 -1
  102. package/dist/_internal/components/form/AddressAutocomplete/useGoogleMapsAPI.js +1 -1
  103. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +2 -2
  104. package/dist/_internal/components/form/Calendar/Calendar.hooks.js +2 -2
  105. package/dist/_internal/components/form/Calendar/Calendar.js +6 -6
  106. package/dist/_internal/components/form/Calendar/CalendarDayCell.js +2 -2
  107. package/dist/_internal/components/form/Calendar/CalendarMonth.js +3 -3
  108. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +5 -5
  109. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
  110. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
  111. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +9 -9
  112. package/dist/_internal/components/form/Checkbox/Checkbox.js +2 -2
  113. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +3 -3
  114. package/dist/_internal/components/form/Command/Command.hooks.js +2 -1
  115. package/dist/_internal/components/form/Command/Command.js +4 -3
  116. package/dist/_internal/components/form/Command/Command.parts.js +2 -1
  117. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +3 -2
  118. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +12 -11
  119. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +2 -1
  120. package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +3 -2
  121. package/dist/_internal/components/form/InputOTP/InputOTP.js +2 -2
  122. package/dist/_internal/components/form/Menubar/Menubar.js +2 -2
  123. package/dist/_internal/components/form/PhoneInput/PhoneInput.hooks.js +2 -2
  124. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +4 -3
  125. package/dist/_internal/components/form/PhoneInput/countries.js +7 -3
  126. package/dist/_internal/components/form/PickerSheet/PickerSheet.js +4 -4
  127. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.dom.js +2 -1
  128. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.format.js +3 -2
  129. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.hooks.js +4 -3
  130. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +7 -5
  131. package/dist/_internal/components/form/RichTextEditor/RichTextEditorToolbar.js +1 -1
  132. package/dist/_internal/components/form/Switch/Switch.js +4 -4
  133. package/dist/_internal/components/form/Switch/Switch.parts.js +3 -3
  134. package/dist/_internal/components/form/Switch/Switch.styles.js +2 -2
  135. package/dist/_internal/components/form/Textarea/Textarea.js +1 -1
  136. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +4 -1
  137. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js.map +1 -1
  138. package/dist/_internal/components/form/UploadButton/UploadButton.hooks.js +2 -1
  139. package/dist/_internal/components/form/UploadButton/UploadButton.js +3 -2
  140. package/dist/_internal/components/form/index.js +53 -50
  141. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +10 -10
  142. package/dist/_internal/components/form/total-form/Fields/index.js +13 -13
  143. package/dist/_internal/components/form/total-form/FormErrorSnackbar.js +3 -2
  144. package/dist/_internal/components/index.js +214 -205
  145. package/dist/_internal/components/layout/Card/Card.js +2 -2
  146. package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +2 -1
  147. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +3 -1
  148. package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +2 -1
  149. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +2 -1
  150. package/dist/_internal/components/layout/Dashboard/Dashboard.js +2 -1
  151. package/dist/_internal/components/layout/Drawer/Drawer.js +2 -1
  152. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +3 -3
  153. package/dist/_internal/components/layout/SettingCard/SettingCard.js +4 -4
  154. package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +3 -3
  155. package/dist/_internal/components/layout/SettingCard/SettingGroup.js +10 -10
  156. package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +8 -8
  157. package/dist/_internal/components/layout/SettingCard/SettingToggle.js +10 -10
  158. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +7 -6
  159. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.rail.js +1 -1
  160. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +3 -3
  161. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.js +2 -2
  162. package/dist/_internal/components/layout/TableFilter/TableFilter.js +2 -1
  163. package/dist/_internal/components/layout/index.js +38 -36
  164. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +9 -8
  165. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +2 -1
  166. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +2 -1
  167. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.helpers.js +2 -1
  168. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.hooks.js +3 -2
  169. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +6 -4
  170. package/dist/_internal/components/navigation/CommandPalette/CommandPaletteResults.js +3 -1
  171. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +4 -4
  172. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +7 -6
  173. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.shell.js +1 -1
  174. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
  175. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +5 -4
  176. package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
  177. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +4 -3
  178. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +6 -5
  179. package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +3 -2
  180. package/dist/_internal/components/navigation/index.js +34 -30
  181. package/dist/_internal/components/typography/Code/Code.js +2 -1
  182. package/dist/_internal/components/typography/index.js +2 -1
  183. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +2 -1
  184. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.js +3 -2
  185. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.parts.js +2 -1
  186. package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +2 -2
  187. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +7 -3
  188. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +6 -4
  189. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +4 -2
  190. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +5 -3
  191. package/dist/_internal/components/utility/index.js +11 -9
  192. package/dist/_internal/copy/labels.js +1 -0
  193. package/dist/_internal/en-US.data-display.js +1 -1
  194. package/dist/_internal/en-US.feedback.js +1 -1
  195. package/dist/_internal/en-US.form.js +1 -1
  196. package/dist/_internal/en-US.labels.js +8 -0
  197. package/dist/_internal/en-US.navigation.js +1 -1
  198. package/dist/_internal/en-US.utility.js +1 -1
  199. package/dist/_internal/pt-BR.data-display.js +1 -1
  200. package/dist/_internal/pt-BR.feedback.js +1 -1
  201. package/dist/_internal/pt-BR.form.js +1 -1
  202. package/dist/_internal/pt-BR.labels.js +8 -0
  203. package/dist/_internal/pt-BR.labels.js.map +1 -0
  204. package/dist/_internal/pt-BR.navigation.js +1 -1
  205. package/dist/_internal/pt-BR.utility.js +1 -1
  206. package/dist/_internal/social-login-button/social-login-button.js +5 -4
  207. package/dist/_internal/user-avatar/user-avatar.js +9 -7
  208. package/dist/_internal/utils/resolve-labels.js +8 -0
  209. package/dist/_internal/utils/resolve-labels.js.map +1 -0
  210. package/dist/charts.js +11 -11
  211. package/dist/{chunk-OPP6USJC.js → chunk-2FQF4CNE.js} +2 -2
  212. package/dist/{chunk-BWFQEASG.js → chunk-2P5ZBBTL.js} +5 -5
  213. package/dist/{chunk-SV6IQ2YO.js → chunk-3B7EJIG7.js} +6 -4
  214. package/dist/chunk-3B7EJIG7.js.map +1 -0
  215. package/dist/{chunk-GHXW6O5T.js → chunk-3LQLLL2J.js} +4 -4
  216. package/dist/chunk-3LQLLL2J.js.map +1 -0
  217. package/dist/{chunk-4MQ6XTIJ.js → chunk-3OWFUFZL.js} +27 -13
  218. package/dist/chunk-3OWFUFZL.js.map +1 -0
  219. package/dist/{chunk-QVO4SIS7.js → chunk-3W2B7IZG.js} +2 -2
  220. package/dist/{chunk-AYP6ICAY.js → chunk-44FY2YZL.js} +11 -10
  221. package/dist/chunk-44FY2YZL.js.map +1 -0
  222. package/dist/{chunk-Q6PRGXR2.js → chunk-4HBCWKIX.js} +4 -4
  223. package/dist/{chunk-RA6W37NZ.js → chunk-4JV46KXS.js} +11 -8
  224. package/dist/chunk-4JV46KXS.js.map +1 -0
  225. package/dist/{chunk-2QO3BKUQ.js → chunk-4NVEUJXK.js} +5 -5
  226. package/dist/{chunk-O6SAU5JA.js → chunk-4OTJ66ID.js} +4 -4
  227. package/dist/{chunk-PBMCRDZI.js → chunk-4PREA2R5.js} +5 -2
  228. package/dist/chunk-4PREA2R5.js.map +1 -0
  229. package/dist/{chunk-YZX4DVRS.js → chunk-52UVUVYQ.js} +6 -3
  230. package/dist/chunk-52UVUVYQ.js.map +1 -0
  231. package/dist/{chunk-PIP7XII2.js → chunk-5JDY5W7O.js} +3 -3
  232. package/dist/{chunk-XICRCPEQ.js → chunk-5U7LBO2V.js} +5 -4
  233. package/dist/chunk-5U7LBO2V.js.map +1 -0
  234. package/dist/{chunk-JE6RZ5L6.js → chunk-5ZOJLYD2.js} +4 -4
  235. package/dist/{chunk-KT3TF2LT.js → chunk-634Z7HGN.js} +10 -5
  236. package/dist/chunk-634Z7HGN.js.map +1 -0
  237. package/dist/{chunk-LG52LMAM.js → chunk-6B7VZFAO.js} +3 -3
  238. package/dist/{chunk-ALREWFRX.js → chunk-6DGNMASB.js} +4 -4
  239. package/dist/{chunk-LH4VKUZC.js → chunk-6EERXU6R.js} +13 -7
  240. package/dist/chunk-6EERXU6R.js.map +1 -0
  241. package/dist/{chunk-MA6SUE7F.js → chunk-6EZQLNPK.js} +5 -3
  242. package/dist/chunk-6EZQLNPK.js.map +1 -0
  243. package/dist/{chunk-555TUQ7E.js → chunk-6IVR5HFI.js} +6 -6
  244. package/dist/{chunk-VRPCZ3IE.js → chunk-6JKECOZ2.js} +7 -6
  245. package/dist/chunk-6JKECOZ2.js.map +1 -0
  246. package/dist/{chunk-J26ZWYQI.js → chunk-6KCJNERH.js} +2 -2
  247. package/dist/{chunk-5752357K.js → chunk-6N2U67KF.js} +4 -4
  248. package/dist/{chunk-AXZCCX7O.js → chunk-6S7CFH6V.js} +2 -2
  249. package/dist/{chunk-PMRLFNBT.js → chunk-763AHWKU.js} +4 -4
  250. package/dist/{chunk-6DAIC2MG.js → chunk-775LIZXS.js} +4 -4
  251. package/dist/{chunk-XKSA4L2X.js → chunk-7DODMQRK.js} +11 -3
  252. package/dist/chunk-7DODMQRK.js.map +1 -0
  253. package/dist/{chunk-7HA7UH7O.js → chunk-7H5BIZ33.js} +4 -4
  254. package/dist/{chunk-VEBNL5MG.js → chunk-7HYLXERK.js} +4 -4
  255. package/dist/{chunk-M3DSPEZ3.js → chunk-7S3NG2AO.js} +6 -6
  256. package/dist/{chunk-EUACQR6N.js → chunk-7UDQJOZZ.js} +7 -5
  257. package/dist/chunk-7UDQJOZZ.js.map +1 -0
  258. package/dist/{chunk-CSD6SWBZ.js → chunk-A3Z7ZXLM.js} +6 -6
  259. package/dist/{chunk-3ZWCKCZC.js → chunk-A7LBWRRW.js} +5 -2
  260. package/dist/chunk-A7LBWRRW.js.map +1 -0
  261. package/dist/{chunk-LBZEPWYK.js → chunk-ABJOW7EK.js} +4 -4
  262. package/dist/{chunk-44PBCQ7E.js → chunk-ABQZFK7M.js} +6 -6
  263. package/dist/{chunk-ZFBFQK2Y.js → chunk-AFSXC5FU.js} +11 -12
  264. package/dist/chunk-AFSXC5FU.js.map +1 -0
  265. package/dist/{chunk-PY3RW5LC.js → chunk-AISCD6W6.js} +24 -10
  266. package/dist/chunk-AISCD6W6.js.map +1 -0
  267. package/dist/{chunk-EIMFA7KP.js → chunk-ANUO67JQ.js} +2 -2
  268. package/dist/{chunk-PTQRJEPN.js → chunk-AOBQ3KYY.js} +2 -2
  269. package/dist/{chunk-LODYTVOO.js → chunk-B25SHVWP.js} +4 -4
  270. package/dist/{chunk-ZYKDUKAH.js → chunk-B2RNNJRO.js} +7 -4
  271. package/dist/chunk-B2RNNJRO.js.map +1 -0
  272. package/dist/{chunk-HPEBSLYP.js → chunk-B67KUCWU.js} +2 -2
  273. package/dist/{chunk-GTT5UKKO.js → chunk-BDJIP4HG.js} +4 -4
  274. package/dist/{chunk-TTCVYY2B.js → chunk-BFBCTF2Y.js} +22 -7
  275. package/dist/chunk-BFBCTF2Y.js.map +1 -0
  276. package/dist/{chunk-RS576GOH.js → chunk-BIUT3K6A.js} +4 -4
  277. package/dist/{chunk-A5NXBOWS.js → chunk-BLHSLB5D.js} +5 -5
  278. package/dist/{chunk-RHKQ2RSY.js → chunk-BLVFHVDM.js} +17 -17
  279. package/dist/{chunk-DYHOBKPU.js → chunk-BLZDSCIZ.js} +6 -6
  280. package/dist/{chunk-XQWUVQ2F.js → chunk-BMVLTTTC.js} +10 -3
  281. package/dist/chunk-BMVLTTTC.js.map +1 -0
  282. package/dist/{chunk-CZV6NVCA.js → chunk-BTDY2NYV.js} +10 -7
  283. package/dist/chunk-BTDY2NYV.js.map +1 -0
  284. package/dist/{chunk-E53MMMDA.js → chunk-BX6CF2UG.js} +3 -3
  285. package/dist/{chunk-RUF7TOAZ.js → chunk-C2I7NQC4.js} +3 -2
  286. package/dist/{chunk-RUF7TOAZ.js.map → chunk-C2I7NQC4.js.map} +1 -1
  287. package/dist/{chunk-WVZBYTIK.js → chunk-C465AAD5.js} +29 -19
  288. package/dist/chunk-C465AAD5.js.map +1 -0
  289. package/dist/{chunk-XYFBJH6F.js → chunk-C7LHIDVB.js} +19 -9
  290. package/dist/chunk-C7LHIDVB.js.map +1 -0
  291. package/dist/{chunk-Z24VOTA7.js → chunk-CCWE6DBC.js} +4 -2
  292. package/dist/{chunk-Z24VOTA7.js.map → chunk-CCWE6DBC.js.map} +1 -1
  293. package/dist/{chunk-7K23NEZO.js → chunk-CFDYQSN6.js} +8 -8
  294. package/dist/{chunk-YLSDFW5O.js → chunk-CN4JS57H.js} +35 -5
  295. package/dist/chunk-CN4JS57H.js.map +1 -0
  296. package/dist/{chunk-4NQXHPQR.js → chunk-D4LMRSY7.js} +11 -2
  297. package/dist/chunk-D4LMRSY7.js.map +1 -0
  298. package/dist/{chunk-O36MIQIO.js → chunk-DB7OJM6X.js} +2 -2
  299. package/dist/{chunk-GSXYXMCV.js → chunk-DD3VFDB2.js} +2 -2
  300. package/dist/{chunk-KARMRTTM.js → chunk-DE2GWZ6X.js} +10 -7
  301. package/dist/chunk-DE2GWZ6X.js.map +1 -0
  302. package/dist/{chunk-FT6HBP5E.js → chunk-DE7E2GBP.js} +11 -8
  303. package/dist/chunk-DE7E2GBP.js.map +1 -0
  304. package/dist/{chunk-QWVETTIY.js → chunk-DJMVBIFD.js} +21 -12
  305. package/dist/chunk-DJMVBIFD.js.map +1 -0
  306. package/dist/{chunk-JKNKGGOG.js → chunk-DKRMOIX2.js} +7 -1
  307. package/dist/chunk-DKRMOIX2.js.map +1 -0
  308. package/dist/{chunk-3HLKTBEO.js → chunk-DQ22UKMZ.js} +4 -2
  309. package/dist/{chunk-3HLKTBEO.js.map → chunk-DQ22UKMZ.js.map} +1 -1
  310. package/dist/{chunk-IQ2U5MVO.js → chunk-DT22MDC3.js} +9 -9
  311. package/dist/{chunk-INGPH3YQ.js → chunk-DVRNW33K.js} +28 -5
  312. package/dist/chunk-DVRNW33K.js.map +1 -0
  313. package/dist/{chunk-C5JCARNE.js → chunk-DWCH6GH5.js} +7 -4
  314. package/dist/chunk-DWCH6GH5.js.map +1 -0
  315. package/dist/{chunk-NTO5DALI.js → chunk-DWLSYFQW.js} +5 -2
  316. package/dist/chunk-DWLSYFQW.js.map +1 -0
  317. package/dist/{chunk-7XSCEHGA.js → chunk-EOQ6EKTS.js} +7 -7
  318. package/dist/{chunk-UGH2DDST.js → chunk-ETSASQXI.js} +4 -2
  319. package/dist/chunk-ETSASQXI.js.map +1 -0
  320. package/dist/{chunk-F742IMLQ.js → chunk-EXKK73UN.js} +5 -2
  321. package/dist/chunk-EXKK73UN.js.map +1 -0
  322. package/dist/{chunk-HN3PZTUK.js → chunk-F5SUBK42.js} +9 -6
  323. package/dist/chunk-F5SUBK42.js.map +1 -0
  324. package/dist/chunk-FB4GLQQO.js +102 -0
  325. package/dist/chunk-FB4GLQQO.js.map +1 -0
  326. package/dist/{chunk-5KNDAC24.js → chunk-FCCOUOP7.js} +8 -2
  327. package/dist/chunk-FCCOUOP7.js.map +1 -0
  328. package/dist/{chunk-WC3W36AM.js → chunk-FKUVFPQZ.js} +26 -12
  329. package/dist/chunk-FKUVFPQZ.js.map +1 -0
  330. package/dist/{chunk-VEKTKCSB.js → chunk-FLJ3RIRP.js} +5 -5
  331. package/dist/{chunk-2ARVNCVU.js → chunk-FZUAB2KS.js} +8 -6
  332. package/dist/chunk-FZUAB2KS.js.map +1 -0
  333. package/dist/{chunk-Z5WUSI47.js → chunk-G3JFESKD.js} +6 -6
  334. package/dist/{chunk-KZXOIRUP.js → chunk-G3SWMBZS.js} +43 -12
  335. package/dist/chunk-G3SWMBZS.js.map +1 -0
  336. package/dist/{chunk-XRDH24J7.js → chunk-G6ET2DRL.js} +2 -2
  337. package/dist/{chunk-KIL3OVLI.js → chunk-G76PIGF7.js} +6 -2
  338. package/dist/chunk-G76PIGF7.js.map +1 -0
  339. package/dist/{chunk-7JOLSD2W.js → chunk-GHTVBYFA.js} +3 -3
  340. package/dist/{chunk-Y7YJYUNV.js → chunk-GLAAX5JJ.js} +16 -4
  341. package/dist/chunk-GLAAX5JJ.js.map +1 -0
  342. package/dist/{chunk-U4G3KY6L.js → chunk-GMU5AA3R.js} +8 -7
  343. package/dist/chunk-GMU5AA3R.js.map +1 -0
  344. package/dist/{chunk-XLTHZI5W.js → chunk-GX2LIB4T.js} +6 -3
  345. package/dist/chunk-GX2LIB4T.js.map +1 -0
  346. package/dist/{chunk-RKVS5AA6.js → chunk-H3NXDKFH.js} +7 -4
  347. package/dist/chunk-H3NXDKFH.js.map +1 -0
  348. package/dist/{chunk-47VRDPR2.js → chunk-HFZE2PGM.js} +5 -2
  349. package/dist/chunk-HFZE2PGM.js.map +1 -0
  350. package/dist/{chunk-AMLHEKSV.js → chunk-HI7JPDD6.js} +5 -5
  351. package/dist/{chunk-5MMAV7XK.js → chunk-HWKBCLKD.js} +4 -2
  352. package/dist/chunk-HWKBCLKD.js.map +1 -0
  353. package/dist/{chunk-5J7SA4CZ.js → chunk-HWUFOII2.js} +28 -10
  354. package/dist/chunk-HWUFOII2.js.map +1 -0
  355. package/dist/{chunk-N34AOGK3.js → chunk-I3OKAQ5L.js} +7 -7
  356. package/dist/{chunk-AEYLFBZT.js → chunk-I4NDZFTB.js} +2 -2
  357. package/dist/{chunk-2ZRZTGWP.js → chunk-ISW5K72V.js} +5 -5
  358. package/dist/{chunk-ICRVLGWD.js → chunk-J7CIRTWQ.js} +14 -3
  359. package/dist/chunk-J7CIRTWQ.js.map +1 -0
  360. package/dist/{chunk-FTPTPASD.js → chunk-JBYFBPI6.js} +2 -5
  361. package/dist/{chunk-FTPTPASD.js.map → chunk-JBYFBPI6.js.map} +1 -1
  362. package/dist/{chunk-AYJ44VTJ.js → chunk-JJNY5MZL.js} +15 -13
  363. package/dist/chunk-JJNY5MZL.js.map +1 -0
  364. package/dist/{chunk-4M5GEKPM.js → chunk-JL4I7OQE.js} +4 -4
  365. package/dist/{chunk-EF4DVYD2.js → chunk-JMUZ5JZA.js} +2 -2
  366. package/dist/chunk-JQLQOIB3.js +1 -0
  367. package/dist/chunk-JQLQOIB3.js.map +1 -0
  368. package/dist/{chunk-FIOBPQL2.js → chunk-JQSF3CUR.js} +16 -4
  369. package/dist/chunk-JQSF3CUR.js.map +1 -0
  370. package/dist/{chunk-HQCZT6TO.js → chunk-JVOEVTCZ.js} +5 -5
  371. package/dist/{chunk-MBMZNSBP.js → chunk-JW7MN4DG.js} +3 -3
  372. package/dist/{chunk-FCVPVEAS.js → chunk-KSOIFQJ6.js} +7 -7
  373. package/dist/{chunk-GBVNY2LG.js → chunk-KTXJQ4YJ.js} +6 -6
  374. package/dist/{chunk-NBXG3SQ3.js → chunk-KW2KCPZF.js} +6 -6
  375. package/dist/{chunk-4VRDFZ4G.js → chunk-KYTFGW4R.js} +7 -3
  376. package/dist/chunk-KYTFGW4R.js.map +1 -0
  377. package/dist/{chunk-3V3Z4EML.js → chunk-L4FWEI2P.js} +5 -5
  378. package/dist/{chunk-7VRCGWQL.js → chunk-L7N4AFZD.js} +6 -5
  379. package/dist/chunk-L7N4AFZD.js.map +1 -0
  380. package/dist/{chunk-T743IIER.js → chunk-LDPN55AA.js} +8 -4
  381. package/dist/chunk-LDPN55AA.js.map +1 -0
  382. package/dist/{chunk-2TSGRQ2J.js → chunk-LHJJZ462.js} +4 -2
  383. package/dist/chunk-LHJJZ462.js.map +1 -0
  384. package/dist/{chunk-OE3SQOZV.js → chunk-LHRAHDJF.js} +13 -7
  385. package/dist/chunk-LHRAHDJF.js.map +1 -0
  386. package/dist/chunk-LL2BWQPM.js +11 -0
  387. package/dist/chunk-LL2BWQPM.js.map +1 -0
  388. package/dist/{chunk-56JF5PZK.js → chunk-LYVTJLCF.js} +4 -4
  389. package/dist/{chunk-MNZ6MCOK.js → chunk-MKRJUT5O.js} +9 -9
  390. package/dist/{chunk-BGYLL467.js → chunk-N3W6FZOC.js} +4 -4
  391. package/dist/{chunk-B2JYQBO4.js → chunk-NF5TATKP.js} +11 -6
  392. package/dist/chunk-NF5TATKP.js.map +1 -0
  393. package/dist/{chunk-BWFUZ4N2.js → chunk-NGXDOWUP.js} +4 -4
  394. package/dist/{chunk-MTGEJRE4.js → chunk-NNKIM73H.js} +17 -4
  395. package/dist/chunk-NNKIM73H.js.map +1 -0
  396. package/dist/{chunk-OHXAJUO5.js → chunk-NPPO7G2B.js} +5 -3
  397. package/dist/{chunk-OHXAJUO5.js.map → chunk-NPPO7G2B.js.map} +1 -1
  398. package/dist/{chunk-3VXS7O3X.js → chunk-NSS3X7FK.js} +17 -3
  399. package/dist/chunk-NSS3X7FK.js.map +1 -0
  400. package/dist/{chunk-VNVV6Y2X.js → chunk-NWNHSASQ.js} +4 -2
  401. package/dist/chunk-NWNHSASQ.js.map +1 -0
  402. package/dist/chunk-O2RXSXSF.js +145 -0
  403. package/dist/chunk-O2RXSXSF.js.map +1 -0
  404. package/dist/{chunk-VMN6KG2U.js → chunk-OCLEKMBP.js} +3 -3
  405. package/dist/chunk-OCLEKMBP.js.map +1 -0
  406. package/dist/{chunk-HBP2OU4Q.js → chunk-OOCD2QR3.js} +4 -3
  407. package/dist/chunk-OOCD2QR3.js.map +1 -0
  408. package/dist/{chunk-NYWAAXDX.js → chunk-OT4HIG7S.js} +3 -3
  409. package/dist/{chunk-ZPACE34U.js → chunk-OTION43A.js} +16 -12
  410. package/dist/chunk-OTION43A.js.map +1 -0
  411. package/dist/{chunk-GRMBCJS6.js → chunk-PAKLYZ6G.js} +4 -4
  412. package/dist/{chunk-PU3HEWSG.js → chunk-PF2A2IM7.js} +13 -4
  413. package/dist/chunk-PF2A2IM7.js.map +1 -0
  414. package/dist/{chunk-5M2NWXN4.js → chunk-PGBIUO2A.js} +2 -2
  415. package/dist/{chunk-RCTHCXS6.js → chunk-PJNIJIE6.js} +2 -2
  416. package/dist/{chunk-6ATXOJVQ.js → chunk-QADTI63U.js} +4 -4
  417. package/dist/{chunk-SUZXPDUQ.js → chunk-QJLOWBFW.js} +12 -6
  418. package/dist/chunk-QJLOWBFW.js.map +1 -0
  419. package/dist/{chunk-FRGNTTPA.js → chunk-QK3XXPBA.js} +15 -10
  420. package/dist/chunk-QK3XXPBA.js.map +1 -0
  421. package/dist/chunk-QNAB53N3.js +1 -0
  422. package/dist/chunk-QNAB53N3.js.map +1 -0
  423. package/dist/{chunk-7ZROYGUG.js → chunk-QOTMQLMW.js} +2 -2
  424. package/dist/{chunk-NQCTANF3.js → chunk-QVDEGBME.js} +7 -7
  425. package/dist/{chunk-LI6XSM5D.js → chunk-QVEJGFRP.js} +3 -3
  426. package/dist/{chunk-HEBZ7Q7O.js → chunk-QVYBRD6U.js} +7 -6
  427. package/dist/chunk-QVYBRD6U.js.map +1 -0
  428. package/dist/{chunk-JJVIZR6C.js → chunk-RIPG3QIN.js} +24 -13
  429. package/dist/chunk-RIPG3QIN.js.map +1 -0
  430. package/dist/{chunk-VD72JGHA.js → chunk-RMZQHJEP.js} +3 -3
  431. package/dist/{chunk-VBGC7G4F.js → chunk-RQ3IS5NQ.js} +2 -2
  432. package/dist/{chunk-3JDP5OUR.js → chunk-RQY5ONSF.js} +6 -2
  433. package/dist/chunk-RQY5ONSF.js.map +1 -0
  434. package/dist/{chunk-33LAPBYB.js → chunk-SCQARHMU.js} +9 -5
  435. package/dist/chunk-SCQARHMU.js.map +1 -0
  436. package/dist/chunk-SEUJNFOD.js +119 -0
  437. package/dist/chunk-SEUJNFOD.js.map +1 -0
  438. package/dist/{chunk-YNDTLBOH.js → chunk-SM2O6D5F.js} +2 -2
  439. package/dist/{chunk-WA6F4NOO.js → chunk-SMANO5OD.js} +4 -4
  440. package/dist/{chunk-7SYYGXC7.js → chunk-SSCEX5NY.js} +6 -2
  441. package/dist/chunk-SSCEX5NY.js.map +1 -0
  442. package/dist/{chunk-YJBWDDW7.js → chunk-SXNGH56D.js} +12 -12
  443. package/dist/{chunk-HZK4DRGF.js → chunk-SYZVXWEQ.js} +6 -4
  444. package/dist/chunk-SYZVXWEQ.js.map +1 -0
  445. package/dist/{chunk-VQYR64QB.js → chunk-TAR5LSGT.js} +8 -3
  446. package/dist/chunk-TAR5LSGT.js.map +1 -0
  447. package/dist/{chunk-NDGA7ZE6.js → chunk-TGMMUKOF.js} +3 -3
  448. package/dist/{chunk-RZCXYKY4.js → chunk-TGZ6GPYQ.js} +7 -3
  449. package/dist/chunk-TGZ6GPYQ.js.map +1 -0
  450. package/dist/{chunk-SB2SEGR6.js → chunk-TIM4PXWN.js} +3 -3
  451. package/dist/{chunk-2ILXXBMG.js → chunk-TLVKJBPM.js} +12 -6
  452. package/dist/chunk-TLVKJBPM.js.map +1 -0
  453. package/dist/{chunk-BGTG7G54.js → chunk-TLZR6UPJ.js} +6 -3
  454. package/dist/chunk-TLZR6UPJ.js.map +1 -0
  455. package/dist/{chunk-MHLYX6QW.js → chunk-TRAMTVIO.js} +5 -5
  456. package/dist/{chunk-QO7UJXXO.js → chunk-TVMSXL3R.js} +2 -2
  457. package/dist/{chunk-XLCVMRSO.js → chunk-U67CX4FL.js} +12 -4
  458. package/dist/chunk-U67CX4FL.js.map +1 -0
  459. package/dist/{chunk-DXFKPY2K.js → chunk-UCQRJTCI.js} +4 -4
  460. package/dist/{chunk-CW6Y32N2.js → chunk-UF4JFRLE.js} +6 -6
  461. package/dist/{chunk-HHPJXK4Z.js → chunk-UHQZ5XPW.js} +2 -2
  462. package/dist/{chunk-FTDGFWB5.js → chunk-UK3DSFMK.js} +5 -5
  463. package/dist/{chunk-EERUSI52.js → chunk-URAX2JPM.js} +6 -3
  464. package/dist/chunk-URAX2JPM.js.map +1 -0
  465. package/dist/{chunk-GBKIGUNP.js → chunk-UYNJ3FYE.js} +3 -3
  466. package/dist/{chunk-UZOG6HNN.js → chunk-V65YK5DC.js} +5 -4
  467. package/dist/chunk-V65YK5DC.js.map +1 -0
  468. package/dist/{chunk-4HUSG5MR.js → chunk-V6DMNSW6.js} +4 -4
  469. package/dist/chunk-V6DMNSW6.js.map +1 -0
  470. package/dist/{chunk-MSC43MCJ.js → chunk-VAGGIRLA.js} +10 -7
  471. package/dist/chunk-VAGGIRLA.js.map +1 -0
  472. package/dist/{chunk-2MYSXWZQ.js → chunk-VKTF3GAP.js} +9 -9
  473. package/dist/chunk-VRKNVZZQ.js +145 -0
  474. package/dist/chunk-VRKNVZZQ.js.map +1 -0
  475. package/dist/{chunk-LTTYUSJ2.js → chunk-VTDZUO2J.js} +4 -2
  476. package/dist/chunk-VTDZUO2J.js.map +1 -0
  477. package/dist/{chunk-4XBAEKQQ.js → chunk-W2RXXF7K.js} +4 -4
  478. package/dist/{chunk-3Z3WIQ5M.js → chunk-W3EVATBS.js} +5 -5
  479. package/dist/{chunk-A2YLFKQU.js → chunk-W5WYTVLS.js} +2 -2
  480. package/dist/{chunk-64AOS2WA.js → chunk-WWIYYXY3.js} +17 -10
  481. package/dist/chunk-WWIYYXY3.js.map +1 -0
  482. package/dist/{chunk-EBCEDBHX.js → chunk-XDDKRACZ.js} +3 -3
  483. package/dist/{chunk-WOXWLJYR.js → chunk-XF47LPCF.js} +5 -2
  484. package/dist/chunk-XF47LPCF.js.map +1 -0
  485. package/dist/{chunk-SLSED46V.js → chunk-Y3DV7LGC.js} +2 -1
  486. package/dist/{chunk-SLSED46V.js.map → chunk-Y3DV7LGC.js.map} +1 -1
  487. package/dist/{chunk-ASZGMKB4.js → chunk-Y3TD7HOY.js} +2 -2
  488. package/dist/{chunk-3YLRR4JM.js → chunk-Y3YZBB74.js} +2 -2
  489. package/dist/{chunk-HBHBRRSW.js → chunk-YBAK2WN5.js} +7 -7
  490. package/dist/{chunk-LOLYI6PS.js → chunk-YCZGYYUX.js} +11 -8
  491. package/dist/chunk-YCZGYYUX.js.map +1 -0
  492. package/dist/{chunk-XODBYGTH.js → chunk-YMKSPW4T.js} +2 -2
  493. package/dist/{chunk-YOKUDQIJ.js → chunk-YOQAK2RN.js} +7 -3
  494. package/dist/chunk-YOQAK2RN.js.map +1 -0
  495. package/dist/{chunk-6RTE4UNO.js → chunk-YV4O7KDR.js} +1 -1
  496. package/dist/{chunk-MM7BPTVV.js → chunk-Z52W7FEU.js} +2 -2
  497. package/dist/{chunk-7P5PNRBT.js → chunk-ZDBG7QG2.js} +6 -6
  498. package/dist/{chunk-Z5V5E3JW.js → chunk-ZIHSCBMN.js} +10 -10
  499. package/dist/{chunk-S4JXSC4D.js → chunk-ZT73ACK3.js} +6 -6
  500. package/dist/{chunk-TJO4CBYT.js → chunk-ZX3QMCYO.js} +6 -3
  501. package/dist/chunk-ZX3QMCYO.js.map +1 -0
  502. package/dist/data-display/Alert.js +3 -3
  503. package/dist/data-display/AlertDialog.js +3 -2
  504. package/dist/data-display/AsyncStateContainer.js +7 -5
  505. package/dist/data-display/Avatar.js +5 -4
  506. package/dist/data-display/CardKit.js +19 -18
  507. package/dist/data-display/Carousel.js +7 -4
  508. package/dist/data-display/Chart.js +11 -11
  509. package/dist/data-display/DataGrid.js +2 -2
  510. package/dist/data-display/DataViews.js +94 -92
  511. package/dist/data-display/EmptyState.js +3 -2
  512. package/dist/data-display/ErrorState.js +2 -1
  513. package/dist/data-display/FleetMap.js +16 -12
  514. package/dist/data-display/HoverCard.js +2 -2
  515. package/dist/data-display/InteractiveTooltip.js +2 -2
  516. package/dist/data-display/LazyImage.js +3 -2
  517. package/dist/data-display/Lightbox.js +6 -6
  518. package/dist/data-display/LoadingState.js +3 -1
  519. package/dist/data-display/MapPreview.js +9 -6
  520. package/dist/data-display/Progress.js +2 -2
  521. package/dist/data-display/SectionOnboarding.js +6 -4
  522. package/dist/data-display/Sheet.js +6 -5
  523. package/dist/data-display/Stepper.js +3 -1
  524. package/dist/data-display/Table.js +6 -4
  525. package/dist/data-display/Timeline.js +4 -2
  526. package/dist/en-US.js +17 -13
  527. package/dist/feedback/ConfirmAction.js +10 -9
  528. package/dist/feedback/Dialog.js +3 -2
  529. package/dist/feedback/NotificationStatusNotice.js +4 -4
  530. package/dist/feedback/SequenceResolver.js +12 -11
  531. package/dist/feedback/Sonner.js +3 -2
  532. package/dist/feedback/StackedModal.js +7 -6
  533. package/dist/feedback/Toast.js +2 -1
  534. package/dist/feedback/TutorialOverlay.js +3 -2
  535. package/dist/form/AddressAutocomplete.js +12 -10
  536. package/dist/form/Autocomplete.js +2 -2
  537. package/dist/form/Calendar.js +6 -6
  538. package/dist/form/CategorySelect.js +9 -9
  539. package/dist/form/Checkbox.js +2 -2
  540. package/dist/form/CodeEditor.js +3 -3
  541. package/dist/form/Command.js +4 -3
  542. package/dist/form/DateRangePicker.js +12 -11
  543. package/dist/form/InputOTP.js +2 -2
  544. package/dist/form/Menubar.js +2 -2
  545. package/dist/form/PhoneInput.js +4 -3
  546. package/dist/form/PickerSheet.js +4 -4
  547. package/dist/form/RichTextEditor.js +7 -5
  548. package/dist/form/Switch.js +4 -4
  549. package/dist/form/Textarea.js +1 -1
  550. package/dist/form/UploadButton.js +3 -2
  551. package/dist/form/total-form.js +18 -17
  552. package/dist/layout/Card.js +2 -2
  553. package/dist/layout/ContentToolbar.js +13 -11
  554. package/dist/layout/Dashboard.js +2 -1
  555. package/dist/layout/Drawer.js +2 -1
  556. package/dist/layout/ScrollArea.js +3 -3
  557. package/dist/layout/SettingCard.js +17 -17
  558. package/dist/layout/SettingsLayout.js +7 -6
  559. package/dist/layout/TableFilter.js +2 -1
  560. package/dist/locales.js +37 -29
  561. package/dist/locales.js.map +1 -1
  562. package/dist/native/chunks/{chunk-BXNZHDXK.js → chunk-67CYDCHZ.js} +12 -5
  563. package/dist/native/chunks/chunk-67CYDCHZ.js.map +1 -0
  564. package/dist/native/chunks/{chunk-AVHGS66L.js → chunk-7AVFQB6A.js} +7 -4
  565. package/dist/native/chunks/chunk-7AVFQB6A.js.map +1 -0
  566. package/dist/native/chunks/chunk-DUELD4HY.js +145 -0
  567. package/dist/native/chunks/chunk-DUELD4HY.js.map +1 -0
  568. package/dist/native/data-display/Avatar.js +4 -1
  569. package/dist/native/data-display/Avatar.js.map +1 -1
  570. package/dist/native/data-display/Badge.js +9 -3
  571. package/dist/native/data-display/Badge.js.map +1 -1
  572. package/dist/native/data-display/Chip.js +9 -1
  573. package/dist/native/data-display/Chip.js.map +1 -1
  574. package/dist/native/data-display/EmptyState.js +3 -2
  575. package/dist/native/data-display/ErrorState.js +5 -2
  576. package/dist/native/data-display/ErrorState.js.map +1 -1
  577. package/dist/native/data-display/FleetMap.js +3 -2
  578. package/dist/native/data-display/FleetMap.js.map +1 -1
  579. package/dist/native/data-display/LoadingState.js +16 -5
  580. package/dist/native/data-display/LoadingState.js.map +1 -1
  581. package/dist/native/feedback/Dialog.js +20 -3
  582. package/dist/native/feedback/Dialog.js.map +1 -1
  583. package/dist/native/form/Button.js +2 -1
  584. package/dist/native/form/Checkbox.js +6 -1
  585. package/dist/native/form/Checkbox.js.map +1 -1
  586. package/dist/native/form/Input.js +11 -3
  587. package/dist/native/form/Input.js.map +1 -1
  588. package/dist/native/form/Switch.js +5 -1
  589. package/dist/native/form/Switch.js.map +1 -1
  590. package/dist/navigation/AppHeader.js +13 -11
  591. package/dist/navigation/Breadcrumbs.js +2 -1
  592. package/dist/navigation/CommandPalette.js +6 -4
  593. package/dist/navigation/NavigationMenu.js +7 -6
  594. package/dist/navigation/Pagination.js +2 -2
  595. package/dist/navigation/SectionNav.js +7 -6
  596. package/dist/pt-BR.js +10 -6
  597. package/dist/social-login-button.js +5 -4
  598. package/dist/types/components/data-display/AlertDialog/AlertDialog.d.ts.map +1 -1
  599. package/dist/types/components/data-display/AlertDialog/AlertDialog.parts.d.ts.map +1 -1
  600. package/dist/types/components/data-display/AlertDialog/AlertDialog.types.d.ts +5 -0
  601. package/dist/types/components/data-display/AlertDialog/AlertDialog.types.d.ts.map +1 -1
  602. package/dist/types/components/data-display/Avatar/Avatar.d.ts.map +1 -1
  603. package/dist/types/components/data-display/Carousel/Carousel.chrome.d.ts.map +1 -1
  604. package/dist/types/components/data-display/Carousel/Carousel.parts.d.ts.map +1 -1
  605. package/dist/types/components/data-display/Carousel/Carousel.types.d.ts +2 -0
  606. package/dist/types/components/data-display/Carousel/Carousel.types.d.ts.map +1 -1
  607. package/dist/types/components/data-display/DataViews/DeleteViewDialog.d.ts.map +1 -1
  608. package/dist/types/components/data-display/DataViews/data-views-copy.d.ts +11 -0
  609. package/dist/types/components/data-display/DataViews/data-views-copy.d.ts.map +1 -1
  610. package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts +6 -2
  611. package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts.map +1 -1
  612. package/dist/types/components/data-display/DataViews/use-data-views-state.d.ts.map +1 -1
  613. package/dist/types/components/data-display/EmptyState/EmptyState.d.ts.map +1 -1
  614. package/dist/types/components/data-display/ErrorState/ErrorState.d.ts.map +1 -1
  615. package/dist/types/components/data-display/LazyImage/LazyImage.d.ts.map +1 -1
  616. package/dist/types/components/data-display/LazyImage/LazyImage.types.d.ts +10 -0
  617. package/dist/types/components/data-display/LazyImage/LazyImage.types.d.ts.map +1 -1
  618. package/dist/types/components/data-display/LoadingState/LoadingState.base.d.ts +7 -0
  619. package/dist/types/components/data-display/LoadingState/LoadingState.base.d.ts.map +1 -1
  620. package/dist/types/components/data-display/LoadingState/LoadingState.d.ts.map +1 -1
  621. package/dist/types/components/data-display/MapPreview/MapControlBar.d.ts.map +1 -1
  622. package/dist/types/components/data-display/MapPreview/MapLayers.d.ts +1 -1
  623. package/dist/types/components/data-display/MapPreview/MapLayers.d.ts.map +1 -1
  624. package/dist/types/components/data-display/MapPreview/MapMarkers.d.ts +2 -0
  625. package/dist/types/components/data-display/MapPreview/MapMarkers.d.ts.map +1 -1
  626. package/dist/types/components/data-display/MapPreview/MapPreview.d.ts.map +1 -1
  627. package/dist/types/components/data-display/MapPreview/MapPreview.helpers.d.ts +7 -1
  628. package/dist/types/components/data-display/MapPreview/MapPreview.helpers.d.ts.map +1 -1
  629. package/dist/types/components/data-display/Sheet/Sheet.body.d.ts +1 -1
  630. package/dist/types/components/data-display/Sheet/Sheet.body.d.ts.map +1 -1
  631. package/dist/types/components/data-display/Sheet/Sheet.parts.d.ts.map +1 -1
  632. package/dist/types/components/data-display/Sheet/Sheet.types.d.ts +10 -0
  633. package/dist/types/components/data-display/Sheet/Sheet.types.d.ts.map +1 -1
  634. package/dist/types/components/data-display/Stepper/Stepper.d.ts.map +1 -1
  635. package/dist/types/components/data-display/Stepper/Stepper.types.d.ts +4 -0
  636. package/dist/types/components/data-display/Stepper/Stepper.types.d.ts.map +1 -1
  637. package/dist/types/components/data-display/Table/Table.d.ts.map +1 -1
  638. package/dist/types/components/data-display/Table/Table.helpers.d.ts.map +1 -1
  639. package/dist/types/components/data-display/Table/Table.types.d.ts +11 -0
  640. package/dist/types/components/data-display/Table/Table.types.d.ts.map +1 -1
  641. package/dist/types/components/data-display/Table/TableParts.d.ts +2 -1
  642. package/dist/types/components/data-display/Table/TableParts.d.ts.map +1 -1
  643. package/dist/types/components/data-display/Table/TableParts.hooks.d.ts +2 -2
  644. package/dist/types/components/data-display/Table/TableParts.hooks.d.ts.map +1 -1
  645. package/dist/types/components/data-display/Timeline/Timeline.d.ts.map +1 -1
  646. package/dist/types/components/data-display/Timeline/Timeline.types.d.ts +3 -0
  647. package/dist/types/components/data-display/Timeline/Timeline.types.d.ts.map +1 -1
  648. package/dist/types/components/data-display/Timeline/TimelineRow.d.ts +2 -0
  649. package/dist/types/components/data-display/Timeline/TimelineRow.d.ts.map +1 -1
  650. package/dist/types/components/feedback/Dialog/Dialog.base.d.ts +10 -0
  651. package/dist/types/components/feedback/Dialog/Dialog.base.d.ts.map +1 -1
  652. package/dist/types/components/feedback/Dialog/Dialog.d.ts.map +1 -1
  653. package/dist/types/components/feedback/Sonner/Sonner.d.ts +6 -0
  654. package/dist/types/components/feedback/Sonner/Sonner.d.ts.map +1 -1
  655. package/dist/types/components/feedback/Sonner/SonnerToast.d.ts.map +1 -1
  656. package/dist/types/components/feedback/StackedModal/StackedModal.d.ts.map +1 -1
  657. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts +2 -0
  658. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts.map +1 -1
  659. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts +5 -0
  660. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts.map +1 -1
  661. package/dist/types/components/feedback/Toast/Toast.d.ts.map +1 -1
  662. package/dist/types/components/feedback/Toast/Toast.types.d.ts +5 -0
  663. package/dist/types/components/feedback/Toast/Toast.types.d.ts.map +1 -1
  664. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.d.ts.map +1 -1
  665. package/dist/types/components/feedback/TutorialOverlay/TutorialStepBody.d.ts.map +1 -1
  666. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.d.ts.map +1 -1
  667. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.helpers.d.ts +1 -1
  668. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.helpers.d.ts.map +1 -1
  669. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.hooks.d.ts +3 -1
  670. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.hooks.d.ts.map +1 -1
  671. package/dist/types/components/form/AddressAutocomplete/AddressAutocompleteField.d.ts.map +1 -1
  672. package/dist/types/components/form/AddressAutocomplete/useAddressPredictions.d.ts +2 -1
  673. package/dist/types/components/form/AddressAutocomplete/useAddressPredictions.d.ts.map +1 -1
  674. package/dist/types/components/form/AddressAutocomplete/useAddressSelection.d.ts +3 -1
  675. package/dist/types/components/form/AddressAutocomplete/useAddressSelection.d.ts.map +1 -1
  676. package/dist/types/components/form/AddressAutocomplete/useCurrentLocation.d.ts +3 -1
  677. package/dist/types/components/form/AddressAutocomplete/useCurrentLocation.d.ts.map +1 -1
  678. package/dist/types/components/form/AddressAutocomplete/useGoogleMapsAPI.d.ts +4 -1
  679. package/dist/types/components/form/AddressAutocomplete/useGoogleMapsAPI.d.ts.map +1 -1
  680. package/dist/types/components/form/Button/Button.native.loading.d.ts +2 -1
  681. package/dist/types/components/form/Button/Button.native.loading.d.ts.map +1 -1
  682. package/dist/types/components/form/Command/Command.hooks.d.ts.map +1 -1
  683. package/dist/types/components/form/Command/Command.parts.d.ts.map +1 -1
  684. package/dist/types/components/form/DateRangePicker/DateRangePicker.range.d.ts.map +1 -1
  685. package/dist/types/components/form/PhoneInput/PhoneInput.d.ts.map +1 -1
  686. package/dist/types/components/form/PhoneInput/PhoneInput.types.d.ts +1 -0
  687. package/dist/types/components/form/PhoneInput/PhoneInput.types.d.ts.map +1 -1
  688. package/dist/types/components/form/PhoneInput/countries.d.ts +6 -0
  689. package/dist/types/components/form/PhoneInput/countries.d.ts.map +1 -1
  690. package/dist/types/components/form/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  691. package/dist/types/components/form/RichTextEditor/RichTextEditor.dom.d.ts +1 -1
  692. package/dist/types/components/form/RichTextEditor/RichTextEditor.dom.d.ts.map +1 -1
  693. package/dist/types/components/form/RichTextEditor/RichTextEditor.format.d.ts +2 -1
  694. package/dist/types/components/form/RichTextEditor/RichTextEditor.format.d.ts.map +1 -1
  695. package/dist/types/components/form/RichTextEditor/RichTextEditor.hooks.d.ts +2 -1
  696. package/dist/types/components/form/RichTextEditor/RichTextEditor.hooks.d.ts.map +1 -1
  697. package/dist/types/components/form/RichTextEditor/RichTextEditor.types.d.ts +7 -1
  698. package/dist/types/components/form/RichTextEditor/RichTextEditor.types.d.ts.map +1 -1
  699. package/dist/types/components/form/RichTextEditor/RichTextEditorToolbar.d.ts +2 -0
  700. package/dist/types/components/form/RichTextEditor/RichTextEditorToolbar.d.ts.map +1 -1
  701. package/dist/types/components/form/Textarea/TextareaRichEditor.d.ts.map +1 -1
  702. package/dist/types/components/form/UploadButton/UploadButton.hooks.d.ts.map +1 -1
  703. package/dist/types/components/form/total-form/FormErrorSnackbar.d.ts.map +1 -1
  704. package/dist/types/components/layout/ContentToolbar/ColumnsMenu.d.ts.map +1 -1
  705. package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts +14 -0
  706. package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts.map +1 -1
  707. package/dist/types/components/layout/ContentToolbar/FilterTrigger.d.ts +1 -1
  708. package/dist/types/components/layout/ContentToolbar/FilterTrigger.d.ts.map +1 -1
  709. package/dist/types/components/layout/ContentToolbar/MultiSelectDropdown.d.ts.map +1 -1
  710. package/dist/types/components/layout/ContentToolbar/ViewSelector.d.ts +1 -1
  711. package/dist/types/components/layout/ContentToolbar/ViewSelector.d.ts.map +1 -1
  712. package/dist/types/components/layout/Dashboard/Dashboard.d.ts +2 -2
  713. package/dist/types/components/layout/Dashboard/Dashboard.d.ts.map +1 -1
  714. package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts +5 -0
  715. package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts.map +1 -1
  716. package/dist/types/components/layout/Drawer/Drawer.d.ts.map +1 -1
  717. package/dist/types/components/layout/SettingsLayout/SettingsLayout.d.ts.map +1 -1
  718. package/dist/types/components/layout/SettingsLayout/SettingsLayout.rail.d.ts +3 -1
  719. package/dist/types/components/layout/SettingsLayout/SettingsLayout.rail.d.ts.map +1 -1
  720. package/dist/types/components/layout/SettingsLayout/SettingsLayout.types.d.ts +6 -0
  721. package/dist/types/components/layout/SettingsLayout/SettingsLayout.types.d.ts.map +1 -1
  722. package/dist/types/components/layout/TableFilter/TableFilter.d.ts.map +1 -1
  723. package/dist/types/components/navigation/AppHeader/AppHeader.identity.d.ts.map +1 -1
  724. package/dist/types/components/navigation/AppHeader/AppHeader.types.d.ts +5 -1
  725. package/dist/types/components/navigation/AppHeader/AppHeader.types.d.ts.map +1 -1
  726. package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  727. package/dist/types/components/navigation/CommandPalette/CommandPalette.d.ts.map +1 -1
  728. package/dist/types/components/navigation/CommandPalette/CommandPalette.helpers.d.ts +1 -1
  729. package/dist/types/components/navigation/CommandPalette/CommandPalette.helpers.d.ts.map +1 -1
  730. package/dist/types/components/navigation/CommandPalette/CommandPalette.hooks.d.ts +2 -1
  731. package/dist/types/components/navigation/CommandPalette/CommandPalette.hooks.d.ts.map +1 -1
  732. package/dist/types/components/navigation/CommandPalette/CommandPaletteResults.d.ts.map +1 -1
  733. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.d.ts.map +1 -1
  734. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts +1 -0
  735. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts.map +1 -1
  736. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.types.d.ts +11 -0
  737. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.types.d.ts.map +1 -1
  738. package/dist/types/components/navigation/NavigationMenu/NavigationMenuItem.d.ts.map +1 -1
  739. package/dist/types/components/navigation/NavigationMenu/NavigationStandardBody.d.ts +4 -0
  740. package/dist/types/components/navigation/NavigationMenu/NavigationStandardBody.d.ts.map +1 -1
  741. package/dist/types/components/typography/Code/Code.d.ts.map +1 -1
  742. package/dist/types/components/typography/Code/Code.types.d.ts +4 -0
  743. package/dist/types/components/typography/Code/Code.types.d.ts.map +1 -1
  744. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.d.ts.map +1 -1
  745. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.d.ts.map +1 -1
  746. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.parts.d.ts +1 -0
  747. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.parts.d.ts.map +1 -1
  748. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.types.d.ts +6 -0
  749. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.types.d.ts.map +1 -1
  750. package/dist/types/components/utility/WorkflowStep/WorkflowStep.d.ts.map +1 -1
  751. package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts +4 -1
  752. package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts.map +1 -1
  753. package/dist/types/components/utility/WorkflowStep/WorkflowStep.parts.d.ts.map +1 -1
  754. package/dist/types/components/utility/WorkflowStep/WorkflowStep.types.d.ts +9 -0
  755. package/dist/types/components/utility/WorkflowStep/WorkflowStep.types.d.ts.map +1 -1
  756. package/dist/types/components/utility/WorkflowStep/WorkflowStepRow.d.ts +1 -0
  757. package/dist/types/components/utility/WorkflowStep/WorkflowStepRow.d.ts.map +1 -1
  758. package/dist/types/copy/data-display.d.ts +24 -0
  759. package/dist/types/copy/data-display.d.ts.map +1 -1
  760. package/dist/types/copy/feedback.d.ts +4 -0
  761. package/dist/types/copy/feedback.d.ts.map +1 -1
  762. package/dist/types/copy/form.d.ts +58 -0
  763. package/dist/types/copy/form.d.ts.map +1 -1
  764. package/dist/types/copy/labels.d.ts +219 -0
  765. package/dist/types/copy/labels.d.ts.map +1 -0
  766. package/dist/types/copy/navigation.d.ts +12 -0
  767. package/dist/types/copy/navigation.d.ts.map +1 -1
  768. package/dist/types/copy/utility.d.ts +8 -1
  769. package/dist/types/copy/utility.d.ts.map +1 -1
  770. package/dist/types/copy.d.ts +1 -0
  771. package/dist/types/copy.d.ts.map +1 -1
  772. package/dist/types/en-US.d.ts +1 -0
  773. package/dist/types/en-US.d.ts.map +1 -1
  774. package/dist/types/en-US.data-display.d.ts +2 -2
  775. package/dist/types/en-US.data-display.d.ts.map +1 -1
  776. package/dist/types/en-US.feedback.d.ts +1 -1
  777. package/dist/types/en-US.feedback.d.ts.map +1 -1
  778. package/dist/types/en-US.form.d.ts +4 -4
  779. package/dist/types/en-US.form.d.ts.map +1 -1
  780. package/dist/types/en-US.labels.d.ts +9 -0
  781. package/dist/types/en-US.labels.d.ts.map +1 -0
  782. package/dist/types/en-US.navigation.d.ts +1 -1
  783. package/dist/types/en-US.navigation.d.ts.map +1 -1
  784. package/dist/types/en-US.utility.d.ts +1 -1
  785. package/dist/types/en-US.utility.d.ts.map +1 -1
  786. package/dist/types/locales.d.ts +2 -1
  787. package/dist/types/locales.d.ts.map +1 -1
  788. package/dist/types/pt-BR.d.ts +1 -0
  789. package/dist/types/pt-BR.d.ts.map +1 -1
  790. package/dist/types/pt-BR.data-display.d.ts +2 -2
  791. package/dist/types/pt-BR.data-display.d.ts.map +1 -1
  792. package/dist/types/pt-BR.feedback.d.ts +1 -1
  793. package/dist/types/pt-BR.feedback.d.ts.map +1 -1
  794. package/dist/types/pt-BR.form.d.ts +4 -4
  795. package/dist/types/pt-BR.form.d.ts.map +1 -1
  796. package/dist/types/pt-BR.labels.d.ts +8 -0
  797. package/dist/types/pt-BR.labels.d.ts.map +1 -0
  798. package/dist/types/pt-BR.navigation.d.ts +1 -1
  799. package/dist/types/pt-BR.navigation.d.ts.map +1 -1
  800. package/dist/types/pt-BR.utility.d.ts +1 -1
  801. package/dist/types/pt-BR.utility.d.ts.map +1 -1
  802. package/dist/types/social-login-button/social-login-button.d.ts.map +1 -1
  803. package/dist/types/user-avatar/user-avatar.d.ts +6 -1
  804. package/dist/types/user-avatar/user-avatar.d.ts.map +1 -1
  805. package/dist/types/utils/resolve-labels.d.ts +9 -0
  806. package/dist/types/utils/resolve-labels.d.ts.map +1 -0
  807. package/dist/types-native/components/data-display/Avatar/Avatar.native.d.ts.map +1 -1
  808. package/dist/types-native/components/data-display/Badge/Badge.native.d.ts +1 -0
  809. package/dist/types-native/components/data-display/Badge/Badge.native.d.ts.map +1 -1
  810. package/dist/types-native/components/data-display/Badge/Badge.types.native.d.ts +2 -0
  811. package/dist/types-native/components/data-display/Badge/Badge.types.native.d.ts.map +1 -1
  812. package/dist/types-native/components/data-display/Badge/BadgeContent.native.d.ts +2 -1
  813. package/dist/types-native/components/data-display/Badge/BadgeContent.native.d.ts.map +1 -1
  814. package/dist/types-native/components/data-display/Chip/Chip.native.d.ts +1 -0
  815. package/dist/types-native/components/data-display/Chip/Chip.native.d.ts.map +1 -1
  816. package/dist/types-native/components/data-display/Chip/Chip.types.native.d.ts +2 -0
  817. package/dist/types-native/components/data-display/Chip/Chip.types.native.d.ts.map +1 -1
  818. package/dist/types-native/components/data-display/EmptyState/EmptyState.native.d.ts.map +1 -1
  819. package/dist/types-native/components/data-display/ErrorState/ErrorState.native.d.ts.map +1 -1
  820. package/dist/types-native/components/data-display/LoadingState/LoadingState.base.d.ts +7 -0
  821. package/dist/types-native/components/data-display/LoadingState/LoadingState.base.d.ts.map +1 -1
  822. package/dist/types-native/components/data-display/LoadingState/LoadingState.native.d.ts.map +1 -1
  823. package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts +10 -0
  824. package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts.map +1 -1
  825. package/dist/types-native/components/feedback/Dialog/Dialog.native.d.ts.map +1 -1
  826. package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts +1 -1
  827. package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts.map +1 -1
  828. package/dist/types-native/components/form/Button/Button.native.d.ts +1 -0
  829. package/dist/types-native/components/form/Button/Button.native.d.ts.map +1 -1
  830. package/dist/types-native/components/form/Button/Button.native.loading.d.ts +2 -1
  831. package/dist/types-native/components/form/Button/Button.native.loading.d.ts.map +1 -1
  832. package/dist/types-native/components/form/Button/Button.types.native.d.ts +2 -0
  833. package/dist/types-native/components/form/Button/Button.types.native.d.ts.map +1 -1
  834. package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts +1 -0
  835. package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts.map +1 -1
  836. package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts +2 -0
  837. package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts.map +1 -1
  838. package/dist/types-native/components/form/Input/Input.native.d.ts +1 -0
  839. package/dist/types-native/components/form/Input/Input.native.d.ts.map +1 -1
  840. package/dist/types-native/components/form/Input/Input.types.native.d.ts +2 -0
  841. package/dist/types-native/components/form/Input/Input.types.native.d.ts.map +1 -1
  842. package/dist/types-native/components/form/Switch/Switch.native.d.ts +1 -0
  843. package/dist/types-native/components/form/Switch/Switch.native.d.ts.map +1 -1
  844. package/dist/types-native/components/form/Switch/Switch.types.native.d.ts +2 -0
  845. package/dist/types-native/components/form/Switch/Switch.types.native.d.ts.map +1 -1
  846. package/dist/types-native/copy/data-display.d.ts +119 -0
  847. package/dist/types-native/copy/data-display.d.ts.map +1 -0
  848. package/dist/types-native/copy/labels.d.ts +219 -0
  849. package/dist/types-native/copy/labels.d.ts.map +1 -0
  850. package/dist/types-native/en-US.labels.d.ts +9 -0
  851. package/dist/types-native/en-US.labels.d.ts.map +1 -0
  852. package/dist/types-native/utils/resolve-labels.d.ts +9 -0
  853. package/dist/types-native/utils/resolve-labels.d.ts.map +1 -0
  854. package/dist/typography/Code.js +2 -1
  855. package/dist/user-avatar.js +9 -7
  856. package/dist/utility/AnimatedIcon.js +2 -1
  857. package/dist/utility/InfiniteScroll.js +3 -2
  858. package/dist/utility/InstallPrompt.js +2 -2
  859. package/dist/utility/WorkflowStep.js +6 -4
  860. package/package.json +2 -2
  861. package/src/components/data-display/AlertDialog/AlertDialog.parts.tsx +3 -2
  862. package/src/components/data-display/AlertDialog/AlertDialog.tsx +3 -1
  863. package/src/components/data-display/AlertDialog/AlertDialog.types.ts +6 -0
  864. package/src/components/data-display/Avatar/Avatar.native.tsx +2 -1
  865. package/src/components/data-display/Avatar/Avatar.tsx +2 -1
  866. package/src/components/data-display/Badge/Badge.native.tsx +2 -0
  867. package/src/components/data-display/Badge/Badge.types.native.ts +2 -0
  868. package/src/components/data-display/Badge/BadgeContent.native.tsx +4 -1
  869. package/src/components/data-display/Carousel/Carousel.chrome.tsx +1 -0
  870. package/src/components/data-display/Carousel/Carousel.parts.tsx +13 -9
  871. package/src/components/data-display/Carousel/Carousel.types.ts +2 -0
  872. package/src/components/data-display/Chip/Chip.native.tsx +9 -1
  873. package/src/components/data-display/Chip/Chip.types.native.ts +2 -0
  874. package/src/components/data-display/DataViews/DeleteViewDialog.tsx +2 -2
  875. package/src/components/data-display/DataViews/data-views-copy.ts +11 -0
  876. package/src/components/data-display/DataViews/data-views-grid-helpers.tsx +8 -3
  877. package/src/components/data-display/DataViews/data-views-view-nav.tsx +2 -2
  878. package/src/components/data-display/DataViews/use-data-views-state.ts +3 -1
  879. package/src/components/data-display/EmptyState/EmptyState.native.tsx +3 -2
  880. package/src/components/data-display/EmptyState/EmptyState.tsx +3 -2
  881. package/src/components/data-display/ErrorState/ErrorState.native.tsx +2 -1
  882. package/src/components/data-display/ErrorState/ErrorState.tsx +2 -1
  883. package/src/components/data-display/LazyImage/LazyImage.hooks.ts +1 -1
  884. package/src/components/data-display/LazyImage/LazyImage.tsx +4 -4
  885. package/src/components/data-display/LazyImage/LazyImage.types.ts +12 -0
  886. package/src/components/data-display/LoadingState/LoadingState.base.ts +8 -0
  887. package/src/components/data-display/LoadingState/LoadingState.native.tsx +10 -5
  888. package/src/components/data-display/LoadingState/LoadingState.tsx +9 -3
  889. package/src/components/data-display/MapPreview/MapControlBar.tsx +7 -3
  890. package/src/components/data-display/MapPreview/MapLayers.tsx +2 -2
  891. package/src/components/data-display/MapPreview/MapMarkers.tsx +13 -4
  892. package/src/components/data-display/MapPreview/MapPreview.helpers.ts +13 -2
  893. package/src/components/data-display/MapPreview/MapPreview.tsx +7 -3
  894. package/src/components/data-display/Sheet/Sheet.body.tsx +3 -0
  895. package/src/components/data-display/Sheet/Sheet.md +1 -0
  896. package/src/components/data-display/Sheet/Sheet.parts.tsx +4 -0
  897. package/src/components/data-display/Sheet/Sheet.types.ts +10 -0
  898. package/src/components/data-display/Stepper/Stepper.tsx +41 -7
  899. package/src/components/data-display/Stepper/Stepper.types.ts +4 -0
  900. package/src/components/data-display/Table/Table.helpers.ts +1 -0
  901. package/src/components/data-display/Table/Table.tsx +4 -5
  902. package/src/components/data-display/Table/Table.types.ts +12 -0
  903. package/src/components/data-display/Table/TableParts.hooks.tsx +8 -1
  904. package/src/components/data-display/Table/TableParts.tsx +19 -5
  905. package/src/components/data-display/Timeline/Timeline.tsx +6 -1
  906. package/src/components/data-display/Timeline/Timeline.types.ts +3 -0
  907. package/src/components/data-display/Timeline/TimelineRow.tsx +11 -4
  908. package/src/components/feedback/Dialog/Dialog.base.ts +10 -0
  909. package/src/components/feedback/Dialog/Dialog.native.tsx +2 -0
  910. package/src/components/feedback/Dialog/Dialog.tsx +5 -1
  911. package/src/components/feedback/Dialog/DialogParts.native.tsx +17 -3
  912. package/src/components/feedback/Sonner/Sonner.tsx +16 -6
  913. package/src/components/feedback/Sonner/SonnerToast.tsx +4 -2
  914. package/src/components/feedback/StackedModal/StackedModal.parts.tsx +24 -3
  915. package/src/components/feedback/StackedModal/StackedModal.tsx +4 -2
  916. package/src/components/feedback/StackedModal/StackedModal.types.ts +5 -0
  917. package/src/components/feedback/Toast/Toast.tsx +5 -2
  918. package/src/components/feedback/Toast/Toast.types.ts +5 -0
  919. package/src/components/feedback/TutorialOverlay/TutorialOverlay.tsx +3 -1
  920. package/src/components/feedback/TutorialOverlay/TutorialStepBody.tsx +12 -3
  921. package/src/components/form/AddressAutocomplete/AddressAutocomplete.helpers.ts +12 -6
  922. package/src/components/form/AddressAutocomplete/AddressAutocomplete.hooks.ts +15 -2
  923. package/src/components/form/AddressAutocomplete/AddressAutocomplete.tsx +1 -0
  924. package/src/components/form/AddressAutocomplete/AddressAutocompleteField.tsx +9 -3
  925. package/src/components/form/AddressAutocomplete/useAddressPredictions.ts +6 -3
  926. package/src/components/form/AddressAutocomplete/useAddressSelection.ts +8 -4
  927. package/src/components/form/AddressAutocomplete/useCurrentLocation.ts +12 -8
  928. package/src/components/form/AddressAutocomplete/useGoogleMapsAPI.ts +8 -4
  929. package/src/components/form/Button/Button.native.loading.tsx +11 -2
  930. package/src/components/form/Button/Button.native.tsx +2 -2
  931. package/src/components/form/Button/Button.types.native.ts +2 -0
  932. package/src/components/form/Checkbox/Checkbox.native.tsx +5 -2
  933. package/src/components/form/Checkbox/Checkbox.types.native.ts +2 -0
  934. package/src/components/form/Command/Command.hooks.ts +3 -2
  935. package/src/components/form/Command/Command.parts.tsx +3 -2
  936. package/src/components/form/DateRangePicker/DateRangePicker.range.ts +2 -1
  937. package/src/components/form/Input/Input.native.tsx +13 -4
  938. package/src/components/form/Input/Input.types.native.ts +2 -0
  939. package/src/components/form/PhoneInput/PhoneInput.md +2 -2
  940. package/src/components/form/PhoneInput/PhoneInput.tsx +22 -10
  941. package/src/components/form/PhoneInput/PhoneInput.types.ts +1 -0
  942. package/src/components/form/PhoneInput/countries.ts +18 -1
  943. package/src/components/form/RichTextEditor/RichTextEditor.dom.ts +5 -3
  944. package/src/components/form/RichTextEditor/RichTextEditor.format.ts +3 -1
  945. package/src/components/form/RichTextEditor/RichTextEditor.hooks.ts +4 -1
  946. package/src/components/form/RichTextEditor/RichTextEditor.tsx +10 -4
  947. package/src/components/form/RichTextEditor/RichTextEditor.types.ts +7 -1
  948. package/src/components/form/RichTextEditor/RichTextEditorToolbar.tsx +29 -19
  949. package/src/components/form/Switch/Switch.native.tsx +4 -3
  950. package/src/components/form/Switch/Switch.types.native.ts +2 -0
  951. package/src/components/form/Textarea/TextareaRichEditor.tsx +2 -1
  952. package/src/components/form/UploadButton/UploadButton.hooks.ts +16 -6
  953. package/src/components/form/total-form/FormErrorSnackbar.tsx +2 -1
  954. package/src/components/layout/ContentToolbar/ColumnsMenu.tsx +3 -2
  955. package/src/components/layout/ContentToolbar/ContentToolbar.types.ts +14 -0
  956. package/src/components/layout/ContentToolbar/FilterTrigger.tsx +14 -2
  957. package/src/components/layout/ContentToolbar/MultiSelectDropdown.tsx +4 -3
  958. package/src/components/layout/ContentToolbar/ViewSelector.tsx +15 -5
  959. package/src/components/layout/Dashboard/Dashboard.tsx +7 -2
  960. package/src/components/layout/Dashboard/Dashboard.types.ts +5 -0
  961. package/src/components/layout/Drawer/Drawer.tsx +2 -1
  962. package/src/components/layout/SettingsLayout/SettingsLayout.md +1 -0
  963. package/src/components/layout/SettingsLayout/SettingsLayout.rail.tsx +9 -2
  964. package/src/components/layout/SettingsLayout/SettingsLayout.tsx +16 -5
  965. package/src/components/layout/SettingsLayout/SettingsLayout.types.ts +6 -0
  966. package/src/components/layout/TableFilter/TableFilter.tsx +4 -3
  967. package/src/components/navigation/AppHeader/AppHeader.identity.tsx +2 -1
  968. package/src/components/navigation/AppHeader/AppHeader.types.ts +5 -1
  969. package/src/components/navigation/Breadcrumbs/Breadcrumbs.tsx +2 -1
  970. package/src/components/navigation/CommandPalette/CommandPalette.helpers.ts +6 -2
  971. package/src/components/navigation/CommandPalette/CommandPalette.hooks.ts +9 -1
  972. package/src/components/navigation/CommandPalette/CommandPalette.tsx +16 -6
  973. package/src/components/navigation/CommandPalette/CommandPaletteResults.tsx +3 -1
  974. package/src/components/navigation/NavigationMenu/NavigationMenu.shell.tsx +7 -4
  975. package/src/components/navigation/NavigationMenu/NavigationMenu.tsx +4 -0
  976. package/src/components/navigation/NavigationMenu/NavigationMenu.types.ts +13 -0
  977. package/src/components/navigation/NavigationMenu/NavigationMenuItem.tsx +2 -0
  978. package/src/components/navigation/NavigationMenu/NavigationStandardBody.tsx +24 -4
  979. package/src/components/typography/Code/Code.tsx +28 -6
  980. package/src/components/typography/Code/Code.types.ts +4 -0
  981. package/src/components/utility/AnimatedIcon/AnimatedIcon.tsx +2 -1
  982. package/src/components/utility/InfiniteScroll/InfiniteScroll.parts.tsx +6 -2
  983. package/src/components/utility/InfiniteScroll/InfiniteScroll.tsx +2 -1
  984. package/src/components/utility/InfiniteScroll/InfiniteScroll.types.ts +6 -0
  985. package/src/components/utility/WorkflowStep/WorkflowStep.helpers.ts +9 -1
  986. package/src/components/utility/WorkflowStep/WorkflowStep.parts.tsx +3 -2
  987. package/src/components/utility/WorkflowStep/WorkflowStep.tsx +3 -1
  988. package/src/components/utility/WorkflowStep/WorkflowStep.types.ts +10 -0
  989. package/src/components/utility/WorkflowStep/WorkflowStepRow.tsx +3 -0
  990. package/src/copy/data-display.ts +19 -0
  991. package/src/copy/feedback.ts +4 -0
  992. package/src/copy/form.ts +58 -0
  993. package/src/copy/labels.ts +249 -0
  994. package/src/copy/navigation.ts +12 -0
  995. package/src/copy/utility.ts +8 -1
  996. package/src/copy.ts +1 -0
  997. package/src/en-US.data-display.ts +14 -2
  998. package/src/en-US.feedback.ts +3 -1
  999. package/src/en-US.form.ts +27 -4
  1000. package/src/en-US.labels.ts +147 -0
  1001. package/src/en-US.navigation.ts +5 -1
  1002. package/src/en-US.ts +1 -0
  1003. package/src/en-US.utility.ts +3 -1
  1004. package/src/locales.ts +4 -0
  1005. package/src/pt-BR.data-display.ts +14 -2
  1006. package/src/pt-BR.feedback.ts +3 -1
  1007. package/src/pt-BR.form.ts +40 -4
  1008. package/src/pt-BR.labels.ts +146 -0
  1009. package/src/pt-BR.navigation.ts +5 -1
  1010. package/src/pt-BR.ts +1 -0
  1011. package/src/pt-BR.utility.ts +3 -1
  1012. package/src/social-login-button/social-login-button.tsx +3 -2
  1013. package/src/user-avatar/user-avatar.tsx +11 -2
  1014. package/src/utils/resolve-labels.ts +12 -0
  1015. package/dist/chunk-2ARVNCVU.js.map +0 -1
  1016. package/dist/chunk-2ILXXBMG.js.map +0 -1
  1017. package/dist/chunk-2TSGRQ2J.js.map +0 -1
  1018. package/dist/chunk-33LAPBYB.js.map +0 -1
  1019. package/dist/chunk-3JDP5OUR.js.map +0 -1
  1020. package/dist/chunk-3VXS7O3X.js.map +0 -1
  1021. package/dist/chunk-3ZWCKCZC.js.map +0 -1
  1022. package/dist/chunk-47VRDPR2.js.map +0 -1
  1023. package/dist/chunk-4HUSG5MR.js.map +0 -1
  1024. package/dist/chunk-4MQ6XTIJ.js.map +0 -1
  1025. package/dist/chunk-4NQXHPQR.js.map +0 -1
  1026. package/dist/chunk-4VRDFZ4G.js.map +0 -1
  1027. package/dist/chunk-5J7SA4CZ.js.map +0 -1
  1028. package/dist/chunk-5KNDAC24.js.map +0 -1
  1029. package/dist/chunk-5MMAV7XK.js.map +0 -1
  1030. package/dist/chunk-64AOS2WA.js.map +0 -1
  1031. package/dist/chunk-7QXEEZFO.js +0 -92
  1032. package/dist/chunk-7QXEEZFO.js.map +0 -1
  1033. package/dist/chunk-7SYYGXC7.js.map +0 -1
  1034. package/dist/chunk-7VRCGWQL.js.map +0 -1
  1035. package/dist/chunk-AYJ44VTJ.js.map +0 -1
  1036. package/dist/chunk-AYP6ICAY.js.map +0 -1
  1037. package/dist/chunk-B2JYQBO4.js.map +0 -1
  1038. package/dist/chunk-BGTG7G54.js.map +0 -1
  1039. package/dist/chunk-BWZKLKDT.js +0 -1
  1040. package/dist/chunk-C5JCARNE.js.map +0 -1
  1041. package/dist/chunk-CZV6NVCA.js.map +0 -1
  1042. package/dist/chunk-EERUSI52.js.map +0 -1
  1043. package/dist/chunk-EUACQR6N.js.map +0 -1
  1044. package/dist/chunk-F742IMLQ.js.map +0 -1
  1045. package/dist/chunk-FIOBPQL2.js.map +0 -1
  1046. package/dist/chunk-FRGNTTPA.js.map +0 -1
  1047. package/dist/chunk-FT6HBP5E.js.map +0 -1
  1048. package/dist/chunk-GHXW6O5T.js.map +0 -1
  1049. package/dist/chunk-HBP2OU4Q.js.map +0 -1
  1050. package/dist/chunk-HEBZ7Q7O.js.map +0 -1
  1051. package/dist/chunk-HN3PZTUK.js.map +0 -1
  1052. package/dist/chunk-HZK4DRGF.js.map +0 -1
  1053. package/dist/chunk-ICRVLGWD.js.map +0 -1
  1054. package/dist/chunk-INGPH3YQ.js.map +0 -1
  1055. package/dist/chunk-JJVIZR6C.js.map +0 -1
  1056. package/dist/chunk-JKNKGGOG.js.map +0 -1
  1057. package/dist/chunk-KARMRTTM.js.map +0 -1
  1058. package/dist/chunk-KIL3OVLI.js.map +0 -1
  1059. package/dist/chunk-KT3TF2LT.js.map +0 -1
  1060. package/dist/chunk-KZXOIRUP.js.map +0 -1
  1061. package/dist/chunk-LH4VKUZC.js.map +0 -1
  1062. package/dist/chunk-LOLYI6PS.js.map +0 -1
  1063. package/dist/chunk-LTTYUSJ2.js.map +0 -1
  1064. package/dist/chunk-MA6SUE7F.js.map +0 -1
  1065. package/dist/chunk-MSC43MCJ.js.map +0 -1
  1066. package/dist/chunk-MTGEJRE4.js.map +0 -1
  1067. package/dist/chunk-NTO5DALI.js.map +0 -1
  1068. package/dist/chunk-OE3SQOZV.js.map +0 -1
  1069. package/dist/chunk-PBMCRDZI.js.map +0 -1
  1070. package/dist/chunk-PU3HEWSG.js.map +0 -1
  1071. package/dist/chunk-PY3RW5LC.js.map +0 -1
  1072. package/dist/chunk-QWVETTIY.js.map +0 -1
  1073. package/dist/chunk-RA6W37NZ.js.map +0 -1
  1074. package/dist/chunk-RKVS5AA6.js.map +0 -1
  1075. package/dist/chunk-RZCXYKY4.js.map +0 -1
  1076. package/dist/chunk-SUZXPDUQ.js.map +0 -1
  1077. package/dist/chunk-SV6IQ2YO.js.map +0 -1
  1078. package/dist/chunk-T743IIER.js.map +0 -1
  1079. package/dist/chunk-TJO4CBYT.js.map +0 -1
  1080. package/dist/chunk-TTCVYY2B.js.map +0 -1
  1081. package/dist/chunk-U4G3KY6L.js.map +0 -1
  1082. package/dist/chunk-UGH2DDST.js.map +0 -1
  1083. package/dist/chunk-UZOG6HNN.js.map +0 -1
  1084. package/dist/chunk-VMN6KG2U.js.map +0 -1
  1085. package/dist/chunk-VNOFFVRQ.js +0 -113
  1086. package/dist/chunk-VNOFFVRQ.js.map +0 -1
  1087. package/dist/chunk-VNVV6Y2X.js.map +0 -1
  1088. package/dist/chunk-VQYR64QB.js.map +0 -1
  1089. package/dist/chunk-VRPCZ3IE.js.map +0 -1
  1090. package/dist/chunk-WC3W36AM.js.map +0 -1
  1091. package/dist/chunk-WOXWLJYR.js.map +0 -1
  1092. package/dist/chunk-WVZBYTIK.js.map +0 -1
  1093. package/dist/chunk-XICRCPEQ.js.map +0 -1
  1094. package/dist/chunk-XKSA4L2X.js.map +0 -1
  1095. package/dist/chunk-XLCVMRSO.js.map +0 -1
  1096. package/dist/chunk-XLTHZI5W.js.map +0 -1
  1097. package/dist/chunk-XQWUVQ2F.js.map +0 -1
  1098. package/dist/chunk-XYFBJH6F.js.map +0 -1
  1099. package/dist/chunk-Y7YJYUNV.js.map +0 -1
  1100. package/dist/chunk-YICNA5LG.js +0 -1
  1101. package/dist/chunk-YLSDFW5O.js.map +0 -1
  1102. package/dist/chunk-YOKUDQIJ.js.map +0 -1
  1103. package/dist/chunk-YZX4DVRS.js.map +0 -1
  1104. package/dist/chunk-ZFBFQK2Y.js.map +0 -1
  1105. package/dist/chunk-ZPACE34U.js.map +0 -1
  1106. package/dist/chunk-ZYKDUKAH.js.map +0 -1
  1107. package/dist/native/chunks/chunk-AVHGS66L.js.map +0 -1
  1108. package/dist/native/chunks/chunk-BXNZHDXK.js.map +0 -1
  1109. /package/dist/{chunk-BWZKLKDT.js.map → _internal/copy/labels.js.map} +0 -0
  1110. /package/dist/{chunk-YICNA5LG.js.map → _internal/en-US.labels.js.map} +0 -0
  1111. /package/dist/{chunk-OPP6USJC.js.map → chunk-2FQF4CNE.js.map} +0 -0
  1112. /package/dist/{chunk-BWFQEASG.js.map → chunk-2P5ZBBTL.js.map} +0 -0
  1113. /package/dist/{chunk-QVO4SIS7.js.map → chunk-3W2B7IZG.js.map} +0 -0
  1114. /package/dist/{chunk-Q6PRGXR2.js.map → chunk-4HBCWKIX.js.map} +0 -0
  1115. /package/dist/{chunk-2QO3BKUQ.js.map → chunk-4NVEUJXK.js.map} +0 -0
  1116. /package/dist/{chunk-O6SAU5JA.js.map → chunk-4OTJ66ID.js.map} +0 -0
  1117. /package/dist/{chunk-PIP7XII2.js.map → chunk-5JDY5W7O.js.map} +0 -0
  1118. /package/dist/{chunk-JE6RZ5L6.js.map → chunk-5ZOJLYD2.js.map} +0 -0
  1119. /package/dist/{chunk-LG52LMAM.js.map → chunk-6B7VZFAO.js.map} +0 -0
  1120. /package/dist/{chunk-ALREWFRX.js.map → chunk-6DGNMASB.js.map} +0 -0
  1121. /package/dist/{chunk-555TUQ7E.js.map → chunk-6IVR5HFI.js.map} +0 -0
  1122. /package/dist/{chunk-J26ZWYQI.js.map → chunk-6KCJNERH.js.map} +0 -0
  1123. /package/dist/{chunk-5752357K.js.map → chunk-6N2U67KF.js.map} +0 -0
  1124. /package/dist/{chunk-AXZCCX7O.js.map → chunk-6S7CFH6V.js.map} +0 -0
  1125. /package/dist/{chunk-PMRLFNBT.js.map → chunk-763AHWKU.js.map} +0 -0
  1126. /package/dist/{chunk-6DAIC2MG.js.map → chunk-775LIZXS.js.map} +0 -0
  1127. /package/dist/{chunk-7HA7UH7O.js.map → chunk-7H5BIZ33.js.map} +0 -0
  1128. /package/dist/{chunk-VEBNL5MG.js.map → chunk-7HYLXERK.js.map} +0 -0
  1129. /package/dist/{chunk-M3DSPEZ3.js.map → chunk-7S3NG2AO.js.map} +0 -0
  1130. /package/dist/{chunk-CSD6SWBZ.js.map → chunk-A3Z7ZXLM.js.map} +0 -0
  1131. /package/dist/{chunk-LBZEPWYK.js.map → chunk-ABJOW7EK.js.map} +0 -0
  1132. /package/dist/{chunk-44PBCQ7E.js.map → chunk-ABQZFK7M.js.map} +0 -0
  1133. /package/dist/{chunk-EIMFA7KP.js.map → chunk-ANUO67JQ.js.map} +0 -0
  1134. /package/dist/{chunk-PTQRJEPN.js.map → chunk-AOBQ3KYY.js.map} +0 -0
  1135. /package/dist/{chunk-LODYTVOO.js.map → chunk-B25SHVWP.js.map} +0 -0
  1136. /package/dist/{chunk-HPEBSLYP.js.map → chunk-B67KUCWU.js.map} +0 -0
  1137. /package/dist/{chunk-GTT5UKKO.js.map → chunk-BDJIP4HG.js.map} +0 -0
  1138. /package/dist/{chunk-RS576GOH.js.map → chunk-BIUT3K6A.js.map} +0 -0
  1139. /package/dist/{chunk-A5NXBOWS.js.map → chunk-BLHSLB5D.js.map} +0 -0
  1140. /package/dist/{chunk-RHKQ2RSY.js.map → chunk-BLVFHVDM.js.map} +0 -0
  1141. /package/dist/{chunk-DYHOBKPU.js.map → chunk-BLZDSCIZ.js.map} +0 -0
  1142. /package/dist/{chunk-E53MMMDA.js.map → chunk-BX6CF2UG.js.map} +0 -0
  1143. /package/dist/{chunk-7K23NEZO.js.map → chunk-CFDYQSN6.js.map} +0 -0
  1144. /package/dist/{chunk-O36MIQIO.js.map → chunk-DB7OJM6X.js.map} +0 -0
  1145. /package/dist/{chunk-GSXYXMCV.js.map → chunk-DD3VFDB2.js.map} +0 -0
  1146. /package/dist/{chunk-IQ2U5MVO.js.map → chunk-DT22MDC3.js.map} +0 -0
  1147. /package/dist/{chunk-7XSCEHGA.js.map → chunk-EOQ6EKTS.js.map} +0 -0
  1148. /package/dist/{chunk-VEKTKCSB.js.map → chunk-FLJ3RIRP.js.map} +0 -0
  1149. /package/dist/{chunk-Z5WUSI47.js.map → chunk-G3JFESKD.js.map} +0 -0
  1150. /package/dist/{chunk-XRDH24J7.js.map → chunk-G6ET2DRL.js.map} +0 -0
  1151. /package/dist/{chunk-7JOLSD2W.js.map → chunk-GHTVBYFA.js.map} +0 -0
  1152. /package/dist/{chunk-AMLHEKSV.js.map → chunk-HI7JPDD6.js.map} +0 -0
  1153. /package/dist/{chunk-N34AOGK3.js.map → chunk-I3OKAQ5L.js.map} +0 -0
  1154. /package/dist/{chunk-AEYLFBZT.js.map → chunk-I4NDZFTB.js.map} +0 -0
  1155. /package/dist/{chunk-2ZRZTGWP.js.map → chunk-ISW5K72V.js.map} +0 -0
  1156. /package/dist/{chunk-4M5GEKPM.js.map → chunk-JL4I7OQE.js.map} +0 -0
  1157. /package/dist/{chunk-EF4DVYD2.js.map → chunk-JMUZ5JZA.js.map} +0 -0
  1158. /package/dist/{chunk-HQCZT6TO.js.map → chunk-JVOEVTCZ.js.map} +0 -0
  1159. /package/dist/{chunk-MBMZNSBP.js.map → chunk-JW7MN4DG.js.map} +0 -0
  1160. /package/dist/{chunk-FCVPVEAS.js.map → chunk-KSOIFQJ6.js.map} +0 -0
  1161. /package/dist/{chunk-GBVNY2LG.js.map → chunk-KTXJQ4YJ.js.map} +0 -0
  1162. /package/dist/{chunk-NBXG3SQ3.js.map → chunk-KW2KCPZF.js.map} +0 -0
  1163. /package/dist/{chunk-3V3Z4EML.js.map → chunk-L4FWEI2P.js.map} +0 -0
  1164. /package/dist/{chunk-56JF5PZK.js.map → chunk-LYVTJLCF.js.map} +0 -0
  1165. /package/dist/{chunk-MNZ6MCOK.js.map → chunk-MKRJUT5O.js.map} +0 -0
  1166. /package/dist/{chunk-BGYLL467.js.map → chunk-N3W6FZOC.js.map} +0 -0
  1167. /package/dist/{chunk-BWFUZ4N2.js.map → chunk-NGXDOWUP.js.map} +0 -0
  1168. /package/dist/{chunk-NYWAAXDX.js.map → chunk-OT4HIG7S.js.map} +0 -0
  1169. /package/dist/{chunk-GRMBCJS6.js.map → chunk-PAKLYZ6G.js.map} +0 -0
  1170. /package/dist/{chunk-5M2NWXN4.js.map → chunk-PGBIUO2A.js.map} +0 -0
  1171. /package/dist/{chunk-RCTHCXS6.js.map → chunk-PJNIJIE6.js.map} +0 -0
  1172. /package/dist/{chunk-6ATXOJVQ.js.map → chunk-QADTI63U.js.map} +0 -0
  1173. /package/dist/{chunk-7ZROYGUG.js.map → chunk-QOTMQLMW.js.map} +0 -0
  1174. /package/dist/{chunk-NQCTANF3.js.map → chunk-QVDEGBME.js.map} +0 -0
  1175. /package/dist/{chunk-LI6XSM5D.js.map → chunk-QVEJGFRP.js.map} +0 -0
  1176. /package/dist/{chunk-VD72JGHA.js.map → chunk-RMZQHJEP.js.map} +0 -0
  1177. /package/dist/{chunk-VBGC7G4F.js.map → chunk-RQ3IS5NQ.js.map} +0 -0
  1178. /package/dist/{chunk-YNDTLBOH.js.map → chunk-SM2O6D5F.js.map} +0 -0
  1179. /package/dist/{chunk-WA6F4NOO.js.map → chunk-SMANO5OD.js.map} +0 -0
  1180. /package/dist/{chunk-YJBWDDW7.js.map → chunk-SXNGH56D.js.map} +0 -0
  1181. /package/dist/{chunk-NDGA7ZE6.js.map → chunk-TGMMUKOF.js.map} +0 -0
  1182. /package/dist/{chunk-SB2SEGR6.js.map → chunk-TIM4PXWN.js.map} +0 -0
  1183. /package/dist/{chunk-MHLYX6QW.js.map → chunk-TRAMTVIO.js.map} +0 -0
  1184. /package/dist/{chunk-QO7UJXXO.js.map → chunk-TVMSXL3R.js.map} +0 -0
  1185. /package/dist/{chunk-DXFKPY2K.js.map → chunk-UCQRJTCI.js.map} +0 -0
  1186. /package/dist/{chunk-CW6Y32N2.js.map → chunk-UF4JFRLE.js.map} +0 -0
  1187. /package/dist/{chunk-HHPJXK4Z.js.map → chunk-UHQZ5XPW.js.map} +0 -0
  1188. /package/dist/{chunk-FTDGFWB5.js.map → chunk-UK3DSFMK.js.map} +0 -0
  1189. /package/dist/{chunk-GBKIGUNP.js.map → chunk-UYNJ3FYE.js.map} +0 -0
  1190. /package/dist/{chunk-2MYSXWZQ.js.map → chunk-VKTF3GAP.js.map} +0 -0
  1191. /package/dist/{chunk-4XBAEKQQ.js.map → chunk-W2RXXF7K.js.map} +0 -0
  1192. /package/dist/{chunk-3Z3WIQ5M.js.map → chunk-W3EVATBS.js.map} +0 -0
  1193. /package/dist/{chunk-A2YLFKQU.js.map → chunk-W5WYTVLS.js.map} +0 -0
  1194. /package/dist/{chunk-EBCEDBHX.js.map → chunk-XDDKRACZ.js.map} +0 -0
  1195. /package/dist/{chunk-ASZGMKB4.js.map → chunk-Y3TD7HOY.js.map} +0 -0
  1196. /package/dist/{chunk-3YLRR4JM.js.map → chunk-Y3YZBB74.js.map} +0 -0
  1197. /package/dist/{chunk-HBHBRRSW.js.map → chunk-YBAK2WN5.js.map} +0 -0
  1198. /package/dist/{chunk-XODBYGTH.js.map → chunk-YMKSPW4T.js.map} +0 -0
  1199. /package/dist/{chunk-6RTE4UNO.js.map → chunk-YV4O7KDR.js.map} +0 -0
  1200. /package/dist/{chunk-MM7BPTVV.js.map → chunk-Z52W7FEU.js.map} +0 -0
  1201. /package/dist/{chunk-7P5PNRBT.js.map → chunk-ZDBG7QG2.js.map} +0 -0
  1202. /package/dist/{chunk-Z5V5E3JW.js.map → chunk-ZIHSCBMN.js.map} +0 -0
  1203. /package/dist/{chunk-S4JXSC4D.js.map → chunk-ZT73ACK3.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/pt-BR.data-display.ts"],"sourcesContent":["/**\n * The pt-BR pack for the data-display family. Split out of `pt-BR.ts`, which is a\n * barrel over this folder — see that file for why.\n */\nimport type { DataViewsCopy } from \"./components/data-display/DataViews/data-views-copy\";\nimport type {\n CarouselCopy,\n DataGridCopy,\n DataStateCopy,\n LightboxCopy,\n MapPreviewCopy,\n TimingDiagramCopy,\n} from './copy';\nimport { PT_BR_TABLE_FILTER_COPY } from './pt-BR.layout';\nimport {\n PT_BR_CATEGORY_SELECT_COPY,\n PT_BR_CONFIRM_ACTION_COPY,\n PT_BR_SAVED_VIEWS_LABELS,\n} from './pt-BR.shared';\n\nexport const PT_BR_LIGHTBOX_COPY: LightboxCopy = {\n close: \"Fechar\",\n previous: \"Anterior\",\n next: \"Próximo\",\n zoomIn: \"Aproximar\",\n zoomOut: \"Afastar\",\n resetZoom: \"Restaurar o zoom\",\n play: \"Iniciar a apresentação\",\n pause: \"Pausar a apresentação\",\n dialogLabel: \"Galeria de imagens\",\n itemPosition: (index, total) => `Item ${index} de ${total}`,\n videoFallback: (index, total) => `Vídeo ${index} de ${total}`,\n imageFallback: (index, total) => `Imagem ${index} de ${total}`,\n thumbnailFallback: (index) => `Miniatura ${index}`,\n};\n\nexport const PT_BR_DATA_GRID_COPY: DataGridCopy = {\n sortBy: (header) => `Ordenar por ${header}`,\n selectRow: (rowNumber) => `Selecionar linha ${rowNumber}`,\n selectAllRows: \"Selecionar todas as linhas\",\n expandRow: \"Expandir linha\",\n collapseRow: \"Recolher linha\",\n gridLabel: \"Grade de dados\",\n};\n\nexport const PT_BR_MAP_PREVIEW_COPY: MapPreviewCopy = {\n zoomIn: \"Aproximar\",\n zoomOut: \"Afastar\",\n center: \"Centralizar o mapa\",\n mapType: \"Trocar o tipo de mapa\",\n fullscreen: \"Tela cheia\",\n search: \"Buscar endereço\",\n};\n\nexport const PT_BR_CAROUSEL_COPY: CarouselCopy = {\n previous: \"Anterior\",\n next: \"Próximo\",\n};\n\nexport const PT_BR_TIMING_DIAGRAM_COPY: TimingDiagramCopy = {\n regionLabel: \"Diagrama de tempos\",\n heading: \"Tempo da requisição\",\n dns: \"Busca de DNS\",\n connect: \"Conexão\",\n ssl: \"SSL/TLS\",\n request: \"Requisição\",\n response: \"Resposta\",\n total: (formatted) => `Total: ${formatted}`,\n totalTime: (formatted) => `Tempo total: ${formatted}`,\n};\n\nexport const PT_BR_DATA_STATE_COPY: DataStateCopy = {\n empty: \"Nenhum dado por aqui\",\n loading: \"Carregando…\",\n endOfList: \"Não há mais itens para carregar\",\n dismissAlert: \"Fechar o aviso\",\n dismissBanner: \"Fechar a faixa\",\n};\n\nexport const PT_BR_DATA_VIEWS_COPY: DataViewsCopy = {\n savedViewsMenu: PT_BR_SAVED_VIEWS_LABELS,\n confirmAction: PT_BR_CONFIRM_ACTION_COPY,\n categorySelect: PT_BR_CATEGORY_SELECT_COPY,\n board: {\n countOnPage: (label, count) => `${label}: ${count} nesta página`,\n onThisPage: (count) => `${count} nesta página`,\n pageSum: (sum) => `Soma desta página: ${sum}`,\n emptyColumn: \"Nada nesta etapa\",\n pageScopeNote:\n \"As contagens e somas abaixo referem-se apenas aos itens desta página.\",\n },\n deleteView: {\n title: \"Excluir visão\",\n target: (viewName) => `Excluir \"${viewName}\"?`,\n sharedWarning: \"Esta visão está compartilhada — a equipe perderá o acesso a ela.\",\n rowsUnaffected: (entityLabel) =>\n `${entityLabel} não são afetados; apenas o recorte salvo é removido.`,\n confirm: \"Excluir visão\",\n cancel: \"Cancelar\",\n },\n manageViews: {\n title: \"Gerenciar visões\",\n empty: \"Nenhuma visão salva.\",\n edit: \"Editar\",\n defaultTag: \"Padrão\",\n otherUserTag: \"De outro usuário\",\n deleteTitle: \"Excluir a visão salva?\",\n deleteBody: \"Os filtros e colunas guardados nela são perdidos. Não é possível restaurar.\",\n deleteConfirm: \"Excluir\",\n },\n saveView: {\n sharedDescription: \"Qualquer pessoa da loja poderá abrir e usar esta visão.\",\n setDefaultTitle: \"Definir como padrão\",\n setDefaultDescription: \"Esta tela abre nesta visão em vez da Visão principal.\",\n previewHeading: \"O que esta visão guarda\",\n previewUnchanged: \"Nada foi alterado — esta visão ficará igual à Visão principal.\",\n sortRowLabel: \"Ordenação\",\n saveFailed: \"Não foi possível salvar a visão.\",\n titleEditing: \"Editar visão\",\n titleCreating: \"Salvar visão\",\n descriptionLabel: \"Descrição — opcional\",\n descriptionPlaceholder: \"Para que serve esta visão\",\n submitEditing: \"Salvar alterações\",\n submitCreating: \"Salvar visão\",\n nameLabel: \"Nome\",\n cancel: \"Cancelar\",\n pinnedTitle: \"Fixar na barra lateral\",\n pinnedDescription: \"Aparece como atalho no menu, abaixo desta tela.\",\n sharedTitle: \"Compartilhar com a equipe\",\n namePlaceholder: \"Ex.: Recusados no PIX desta semana\",\n previewFilters: \"Filtros\",\n previewHiddenColumns: \"Colunas ocultas\",\n },\n columns: {\n visibleCount: (visible, total) => `${visible} de ${total} visíveis`,\n reset: \"Padrão\",\n showAll: \"Mostrar todas\",\n dragHint: \"Arraste para reordenar as colunas.\",\n moveUp: (columnLabel) => `Mover ${columnLabel} para cima`,\n moveDown: (columnLabel) => `Mover ${columnLabel} para baixo`,\n },\n display: {\n sortTab: \"Ordenar\",\n columnsTab: \"Colunas\",\n panelTab: \"Exibição\",\n direction: \"Direção\",\n layoutHints: {\n table: \"Colunas comparáveis, boa para varrer números.\",\n list: \"Uma linha por item, com os dados principais.\",\n cards: \"Blocos maiores, bom para poucos itens.\",\n board: \"Colunas por etapa, para acompanhar o que está onde.\",\n },\n densityHeadings: {\n table: \"Altura das linhas\",\n list: \"Altura das linhas\",\n cards: \"Cards por linha\",\n board: \"Largura das colunas\",\n },\n densityLabels: {\n table: { compact: \"Baixa\", cozy: \"Média\", comfortable: \"Alta\" },\n list: { compact: \"Baixa\", cozy: \"Média\", comfortable: \"Alta\" },\n cards: { compact: \"Muitos\", cozy: \"Médio\", comfortable: \"Poucos\" },\n board: { compact: \"Estreita\", cozy: \"Média\", comfortable: \"Larga\" },\n },\n boardUnavailable: \"Esta tela não declara etapas, então não oferece quadro.\",\n densityUnavailableNarrow:\n \"Um card por linha nesta largura — a densidade volta em telas maiores.\",\n trigger: \"Exibir\",\n fieldHeading: \"Campo\",\n formatHeading: \"Formato\",\n cardZoom: \"Tamanho dos cards\",\n },\n export: {\n formats: {\n json: { label: \"JSON (.json)\", hint: \"Para integrações\" },\n },\n scopeLine: (selectedCount, totalCount) =>\n selectedCount > 0\n ? `Exportando ${selectedCount} ${selectedCount === 1 ? \"item selecionado\" : \"itens selecionados\"}`\n : `Exportando ${totalCount} ${totalCount === 1 ? \"item filtrado\" : \"itens filtrados\"}`,\n visibleColumns: (columnCount) => `${columnCount} colunas visíveis, na ordem atual`,\n trigger: \"Exportar\",\n triggerLabel: \"Exportar\",\n },\n tableFilter: PT_BR_TABLE_FILTER_COPY,\n grid: {\n ...PT_BR_DATA_GRID_COPY,\n rowActions: \"Ações\",\n bulkActions: (selectedCount) => `Ações (${selectedCount}) ▾`,\n emptyFilteredTitle: \"Nenhum resultado para esses filtros\",\n emptyFilteredHint: \"Ajuste ou remova os filtros.\",\n emptyFilteredAction: \"Limpar filtros\",\n },\n filters: {\n moreFilters: (count) => `Mais filtros: ${count} sem espaço na barra`,\n moreFiltersApplied: (count, appliedCount) =>\n `Mais filtros: ${count} sem espaço na barra, ${appliedCount} aplicado(s)`,\n moreTriggerLabel: \"Mais\",\n moreHeading: \"Mais filtros\",\n overflowNote: \"sem espaço na barra\",\n rangeEnd: \"Até\",\n rangeInvalid: \"O início precisa ser menor que o fim.\",\n rangeInclusiveNote: \"Ambas as datas entram no resultado.\",\n rangeStart: \"De\",\n dayMask: \"dd/mm/aaaa\",\n clearAllFilters: \"Limpar todos os filtros\",\n rangePresets: {\n hoje: \"Hoje\",\n ontem: \"Ontem\",\n semana: \"Esta semana\",\n mes: \"Este mês\",\n ano: \"Este ano\",\n },\n scopesLabel: \"Situação\",\n panelTitle: \"Filtros\",\n clear: \"Limpar\",\n clearAll: \"Limpar filtros\",\n clearRange: (label) => `Limpar ${label}`,\n allOption: \"Todas\",\n optionSearchPlaceholder: \"Buscar…\",\n optionsEmpty: \"Nenhum resultado\",\n optionsHeading: \"Opções\",\n },\n selection: {\n selectAllOnPage: \"Selecionar todos nesta página\",\n clearSelection: \"Limpar seleção\",\n selectAll: \"Selecionar tudo\",\n onThisPage: (count) => `${count} nesta página`,\n selectedCount: (count) => `${count} ${count === 1 ? \"selecionado\" : \"selecionados\"}`,\n selectRow: \"Selecionar\",\n expandRow: \"Expandir detalhes\",\n collapseRow: \"Recolher detalhes\",\n },\n nav: {\n mainView: \"Visão principal\",\n defaultTag: \"Padrão\",\n viewOptions: (viewName) => `Opções de ${viewName}`,\n emptyHint: \"Nenhuma visão salva. Ajuste filtros, colunas ou ordenação e salve abaixo.\",\n setDefault: \"Definir como padrão\",\n deleteView: \"Excluir visão\",\n unsavedChanges: \"Alterações não salvas\",\n label: \"Visão\",\n update: \"Atualizar visão\",\n save: \"Salvar visão\",\n saveAs: \"Salvar como nova\",\n reset: \"Redefinir\",\n updateFailed: \"Não foi possível atualizar a visão\",\n dismissError: \"Fechar o aviso\",\n goBack: \"Voltar\",\n pageSize: \"Mostrar:\",\n saveFailed: \"Não foi possível salvar a alteração da visão.\",\n editView: \"Renomear e editar\",\n pinToSidebar: \"Fixar na barra lateral\",\n shareWithTeam: \"Compartilhar com a equipe\",\n },\n search: {\n placeholder: \"Buscar…\",\n allColumnsLabel: \"Buscar em todas as colunas\",\n keywordPlaceholder: \"Pressione Enter para filtrar\",\n open: \"Buscar\",\n close: \"Fechar busca\",\n clear: \"Limpar busca\",\n },\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/Carousel/Carousel.parts.tsx"],"sourcesContent":["import ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos';\nimport ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';\nimport FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord';\nimport Box from '@mui/material/Box/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, useTheme } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { withDefaults } from '../../../utils/withDefaults';\n\nimport { neutralTones } from '../../../tokens/ink';\nimport { accentFor, muiSize, rem } from '../../../tokens/scales';\n\nimport type {\n CarouselArrowsProps,\n CarouselIndicatorsProps,\n CarouselItem,\n CarouselThumbnailsProps,\n} from './Carousel.types';\n\ntype IndicatorPosition = NonNullable<CarouselIndicatorsProps['position']>;\ntype IndicatorVariant = NonNullable<CarouselIndicatorsProps['variant']>;\ntype Color = NonNullable<CarouselIndicatorsProps['color']>;\n\n/** Fires `onSelect` for the keys a native button would treat as activation. */\nconst activateOnKey = (onSelect: () => void) => (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onSelect();\n }\n};\n\nconst INDICATOR_POSITIONS = (theme: Theme): Record<IndicatorPosition, CSSObject> => ({\n top: { top: theme.spacing(2), left: '50%', transform: 'translateX(-50%)' },\n bottom: { bottom: theme.spacing(2), left: '50%', transform: 'translateX(-50%)' },\n left: {\n left: theme.spacing(2),\n top: '50%',\n transform: 'translateY(-50%)',\n flexDirection: 'column',\n },\n right: {\n right: theme.spacing(2),\n top: '50%',\n transform: 'translateY(-50%)',\n flexDirection: 'column',\n },\n});\n\ninterface IndicatorProps {\n index: number;\n isActive: boolean;\n color: Color;\n onSelect: () => void;\n}\n\n/** Attributes every indicator variant carries, whatever it draws. */\nconst indicatorAttrs = (index: number, isActive: boolean) => ({\n 'aria-label': `Go to slide ${index + 1}`,\n 'data-testid': `carousel-indicator-${index}`,\n 'data-active': isActive,\n});\n\nconst LineIndicator: React.FC<IndicatorProps> = ({ index, isActive, color, onSelect }) => {\n const theme = useTheme();\n\n return (\n <Box\n role=\"button\"\n tabIndex={0}\n {...indicatorAttrs(index, isActive)}\n sx={{\n width: rem(theme, isActive ? 30 : 20),\n height: rem(theme, 3),\n backgroundColor: isActive\n ? accentFor(theme, color).main\n : alpha(accentFor(theme, color).main, 0.3),\n borderRadius: 1.5,\n transition: theme.transitions.create(['width', 'background-color']),\n cursor: 'pointer',\n }}\n onClick={onSelect}\n onKeyDown={activateOnKey(onSelect)}\n />\n );\n};\n\nconst NumberIndicator: React.FC<IndicatorProps> = ({ index, isActive, color, onSelect }) => {\n const theme = useTheme();\n\n return (\n <Box\n role=\"button\"\n tabIndex={0}\n {...indicatorAttrs(index, isActive)}\n sx={{\n width: rem(theme, 24),\n height: rem(theme, 24),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '50%',\n backgroundColor: isActive ? accentFor(theme, color).main : 'transparent',\n color: isActive ? accentFor(theme, color).contrastText : accentFor(theme, color).main,\n border: `1px solid ${accentFor(theme, color).main}`,\n fontSize: rem(theme, 12),\n fontWeight: isActive ? 'bold' : 'normal',\n cursor: 'pointer',\n transition: theme.transitions.create(['all']),\n }}\n onClick={onSelect}\n onKeyDown={activateOnKey(onSelect)}\n >\n {index + 1}\n </Box>\n );\n};\n\nconst DotIndicator: React.FC<IndicatorProps> = ({ index, isActive, color, onSelect }) => {\n const theme = useTheme();\n\n return (\n <IconButton\n size=\"small\"\n {...indicatorAttrs(index, isActive)}\n onClick={onSelect}\n sx={{\n p: 0.5,\n color: isActive ? accentFor(theme, color).main : alpha(accentFor(theme, color).main, 0.3),\n transform: isActive ? 'scale(1.2)' : 'scale(1)',\n transition: theme.transitions.create(['transform', 'color']),\n }}\n >\n <FiberManualRecordIcon fontSize=\"small\" />\n </IconButton>\n );\n};\n\nconst INDICATORS: Record<IndicatorVariant, React.FC<IndicatorProps>> = {\n lines: LineIndicator,\n numbers: NumberIndicator,\n dots: DotIndicator,\n};\n\nconst INDICATORS_DEFAULTS = {\n position: 'bottom',\n color: 'primary',\n variant: 'dots',\n} satisfies Partial<CarouselIndicatorsProps>;\n\nexport const CarouselIndicators: React.FC<CarouselIndicatorsProps> = (props) => {\n const { count, activeIndex, onSelect, position, color, variant, className, style } = withDefaults(\n props,\n INDICATORS_DEFAULTS,\n ) as CarouselIndicatorsProps & Required<Pick<CarouselIndicatorsProps, keyof typeof INDICATORS_DEFAULTS>>;\n\n const theme = useTheme();\n const Indicator = INDICATORS[variant] ?? DotIndicator;\n\n return (\n <Box\n className={className}\n data-testid=\"carousel-indicators\"\n sx={{\n position: 'absolute',\n display: 'flex',\n gap: 1,\n zIndex: 2,\n ...(INDICATOR_POSITIONS(theme)[position] ?? INDICATOR_POSITIONS(theme).bottom),\n ...style,\n }}\n >\n {Array.from({ length: count }).map((_, index) => (\n <Indicator\n key={index}\n index={index}\n isActive={index === activeIndex}\n color={color}\n onSelect={() => onSelect(index)}\n />\n ))}\n </Box>\n );\n};\n\nconst ARROWS_DEFAULTS = {\n position: 'overlay',\n disabled: false,\n disablePrev: false,\n disableNext: false,\n color: 'primary',\n size: 'md',\n} satisfies Partial<CarouselArrowsProps>;\n\n/**\n * All three positions place the arrow the same way; only `overlay` fades it back\n * until hovered, and only `outside` sits it clear of the frame.\n */\nconst arrowSx = (theme: Theme, color: Color, isOverlay: boolean): CSSObject => ({\n position: 'absolute',\n top: '50%',\n transform: 'translateY(-50%)',\n zIndex: 3,\n backgroundColor: alpha(theme.palette.background.paper, 0.8),\n color: accentFor(theme, color).main,\n '&:disabled': { opacity: 0.3 },\n ...(isOverlay\n ? {\n opacity: 0.7,\n '&:hover': { backgroundColor: theme.palette.background.paper, opacity: 1 },\n }\n : { '&:hover': { backgroundColor: theme.palette.background.paper } }),\n});\n\nexport const CarouselArrows: React.FC<CarouselArrowsProps> = (props) => {\n const {\n copy, onPrev, onNext, position, disabled, disablePrev, disableNext, color, size, className,\n style,\n } = withDefaults(props, ARROWS_DEFAULTS) as CarouselArrowsProps &\n Required<Pick<CarouselArrowsProps, keyof typeof ARROWS_DEFAULTS>>;\n\n const theme = useTheme();\n const sx = arrowSx(theme, color, position === 'overlay');\n const offset = rem(theme, position === 'outside' ? -40 : 8);\n\n return (\n <Box data-testid=\"carousel-navigation\">\n <IconButton\n onClick={onPrev}\n disabled={disabled || disablePrev}\n size={muiSize(size)}\n className={className}\n aria-label={copy.previous}\n data-testid=\"carousel-prev-button\"\n sx={{ ...sx, left: offset, ...style }}\n >\n <ArrowBackIosIcon />\n </IconButton>\n\n <IconButton\n onClick={onNext}\n disabled={disabled || disableNext}\n aria-label={copy.next}\n size={muiSize(size)}\n className={className}\n data-testid=\"carousel-next-button\"\n sx={{ ...sx, right: offset, ...style }}\n >\n <ArrowForwardIosIcon />\n </IconButton>\n </Box>\n );\n};\n\nconst THUMBNAIL_SIZES = { xs: 40, sm: 60, md: 80, lg: 100, xl: 120 } as const;\n/** A thumbnail's side in design px — 60 for a size the table does not know. */\nconst thumbnailSidePx = (size: string): number =>\n THUMBNAIL_SIZES[size as keyof typeof THUMBNAIL_SIZES] ?? 60;\n\nconst Thumbnail: React.FC<{\n item: CarouselItem;\n index: number;\n isActive: boolean;\n side: number;\n onSelect: () => void;\n}> = ({ item, index, isActive, side, onSelect }) => {\n const theme = useTheme();\n\n return (\n <Box\n onClick={onSelect}\n data-testid={`carousel-thumbnail-${index}`}\n data-active={isActive}\n sx={{\n width: rem(theme, side),\n height: rem(theme, side),\n border: `${rem(theme, 2)} solid ${isActive ? theme.palette.primary.main : 'transparent'}`,\n borderRadius: 1,\n overflow: 'hidden',\n cursor: 'pointer',\n opacity: isActive ? 1 : 0.6,\n transition: theme.transitions.create(['opacity', 'border-color']),\n '&:hover': { opacity: 1 },\n }}\n >\n {item.image ? (\n <Box\n component=\"img\"\n src={item.image}\n alt={item.alt || item.title}\n sx={{ width: '100%', height: '100%', objectFit: 'cover' }}\n />\n ) : (\n // No image to show, so the slide's number stands in for it.\n <Box\n sx={{\n width: '100%',\n height: '100%',\n backgroundColor: neutralTones(theme).track,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <Typography variant=\"caption\">{index + 1}</Typography>\n </Box>\n )}\n </Box>\n );\n};\n\nexport const CarouselThumbnails: React.FC<CarouselThumbnailsProps> = ({\n items,\n activeIndex,\n onSelect,\n size = 'sm',\n className,\n style,\n}) => {\n const theme = useTheme();\n const side = thumbnailSidePx(size);\n\n return (\n <Box\n className={className}\n data-testid=\"carousel-thumbnails\"\n sx={{\n position: 'absolute',\n // Hung below the frame, clear of its own height plus a gap.\n bottom: rem(theme, -side - 16),\n left: '50%',\n transform: 'translateX(-50%)',\n display: 'flex',\n gap: 1,\n p: 1,\n backgroundColor: alpha(theme.palette.background.paper, 0.9),\n borderRadius: 1,\n ...style,\n }}\n >\n {items.map((item, index) => (\n <Thumbnail\n key={item.id}\n item={item}\n index={index}\n isActive={index === activeIndex}\n side={side}\n onSelect={() => onSelect(index)}\n />\n ))}\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,OAAO,sBAAsB;AAC7B,OAAO,yBAAyB;AAChC,OAAO,2BAA2B;AAClC,OAAO,SAAS;AAChB,OAAO,gBAAgB;AACvB,OAAO,gBAAgB;AACvB,SAAS,OAAO,gBAAgB;AA+D5B,cA+JA,YA/JA;AA1CJ,IAAM,gBAAgB,CAAC,aAAyB,CAAC,MAA2B;AAC1E,MAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,MAAE,eAAe;AACjB,aAAS;AAAA,EACX;AACF;AAEA,IAAM,sBAAsB,CAAC,WAAwD;AAAA,EACnF,KAAK,EAAE,KAAK,MAAM,QAAQ,CAAC,GAAG,MAAM,OAAO,WAAW,mBAAmB;AAAA,EACzE,QAAQ,EAAE,QAAQ,MAAM,QAAQ,CAAC,GAAG,MAAM,OAAO,WAAW,mBAAmB;AAAA,EAC/E,MAAM;AAAA,IACJ,MAAM,MAAM,QAAQ,CAAC;AAAA,IACrB,KAAK;AAAA,IACL,WAAW;AAAA,IACX,eAAe;AAAA,EACjB;AAAA,EACA,OAAO;AAAA,IACL,OAAO,MAAM,QAAQ,CAAC;AAAA,IACtB,KAAK;AAAA,IACL,WAAW;AAAA,IACX,eAAe;AAAA,EACjB;AACF;AAUA,IAAM,iBAAiB,CAAC,OAAe,cAAuB;AAAA,EAC5D,cAAc,eAAe,QAAQ,CAAC;AAAA,EACtC,eAAe,sBAAsB,KAAK;AAAA,EAC1C,eAAe;AACjB;AAEA,IAAM,gBAA0C,CAAC,EAAE,OAAO,UAAU,OAAO,SAAS,MAAM;AACxF,QAAM,QAAQ,SAAS;AAEvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,UAAU;AAAA,MACT,GAAG,eAAe,OAAO,QAAQ;AAAA,MAClC,IAAI;AAAA,QACF,OAAO,IAAI,OAAO,WAAW,KAAK,EAAE;AAAA,QACpC,QAAQ,IAAI,OAAO,CAAC;AAAA,QACpB,iBAAiB,WACb,UAAU,OAAO,KAAK,EAAE,OACxB,MAAM,UAAU,OAAO,KAAK,EAAE,MAAM,GAAG;AAAA,QAC3C,cAAc;AAAA,QACd,YAAY,MAAM,YAAY,OAAO,CAAC,SAAS,kBAAkB,CAAC;AAAA,QAClE,QAAQ;AAAA,MACV;AAAA,MACA,SAAS;AAAA,MACT,WAAW,cAAc,QAAQ;AAAA;AAAA,EACnC;AAEJ;AAEA,IAAM,kBAA4C,CAAC,EAAE,OAAO,UAAU,OAAO,SAAS,MAAM;AAC1F,QAAM,QAAQ,SAAS;AAEvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,UAAU;AAAA,MACT,GAAG,eAAe,OAAO,QAAQ;AAAA,MAClC,IAAI;AAAA,QACF,OAAO,IAAI,OAAO,EAAE;AAAA,QACpB,QAAQ,IAAI,OAAO,EAAE;AAAA,QACrB,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,iBAAiB,WAAW,UAAU,OAAO,KAAK,EAAE,OAAO;AAAA,QAC3D,OAAO,WAAW,UAAU,OAAO,KAAK,EAAE,eAAe,UAAU,OAAO,KAAK,EAAE;AAAA,QACjF,QAAQ,aAAa,UAAU,OAAO,KAAK,EAAE,IAAI;AAAA,QACjD,UAAU,IAAI,OAAO,EAAE;AAAA,QACvB,YAAY,WAAW,SAAS;AAAA,QAChC,QAAQ;AAAA,QACR,YAAY,MAAM,YAAY,OAAO,CAAC,KAAK,CAAC;AAAA,MAC9C;AAAA,MACA,SAAS;AAAA,MACT,WAAW,cAAc,QAAQ;AAAA,MAEhC,kBAAQ;AAAA;AAAA,EACX;AAEJ;AAEA,IAAM,eAAyC,CAAC,EAAE,OAAO,UAAU,OAAO,SAAS,MAAM;AACvF,QAAM,QAAQ,SAAS;AAEvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACJ,GAAG,eAAe,OAAO,QAAQ;AAAA,MAClC,SAAS;AAAA,MACT,IAAI;AAAA,QACF,GAAG;AAAA,QACH,OAAO,WAAW,UAAU,OAAO,KAAK,EAAE,OAAO,MAAM,UAAU,OAAO,KAAK,EAAE,MAAM,GAAG;AAAA,QACxF,WAAW,WAAW,eAAe;AAAA,QACrC,YAAY,MAAM,YAAY,OAAO,CAAC,aAAa,OAAO,CAAC;AAAA,MAC7D;AAAA,MAEA,8BAAC,yBAAsB,UAAS,SAAQ;AAAA;AAAA,EAC1C;AAEJ;AAEA,IAAM,aAAiE;AAAA,EACrE,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AACR;AAEA,IAAM,sBAAsB;AAAA,EAC1B,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AACX;AAEO,IAAM,qBAAwD,CAAC,UAAU;AAC9E,QAAM,EAAE,OAAO,aAAa,UAAU,UAAU,OAAO,SAAS,WAAW,MAAM,IAAI;AAAA,IACnF;AAAA,IACA;AAAA,EACF;AAEA,QAAM,QAAQ,SAAS;AACvB,QAAM,YAAY,WAAW,OAAO,KAAK;AAEzC,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAY;AAAA,MACZ,IAAI;AAAA,QACF,UAAU;AAAA,QACV,SAAS;AAAA,QACT,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,GAAI,oBAAoB,KAAK,EAAE,QAAQ,KAAK,oBAAoB,KAAK,EAAE;AAAA,QACvE,GAAG;AAAA,MACL;AAAA,MAEC,gBAAM,KAAK,EAAE,QAAQ,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,UACrC;AAAA,QAAC;AAAA;AAAA,UAEC;AAAA,UACA,UAAU,UAAU;AAAA,UACpB;AAAA,UACA,UAAU,MAAM,SAAS,KAAK;AAAA;AAAA,QAJzB;AAAA,MAKP,CACD;AAAA;AAAA,EACH;AAEJ;AAEA,IAAM,kBAAkB;AAAA,EACtB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,aAAa;AAAA,EACb,aAAa;AAAA,EACb,OAAO;AAAA,EACP,MAAM;AACR;AAMA,IAAM,UAAU,CAAC,OAAc,OAAc,eAAmC;AAAA,EAC9E,UAAU;AAAA,EACV,KAAK;AAAA,EACL,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,iBAAiB,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG;AAAA,EAC1D,OAAO,UAAU,OAAO,KAAK,EAAE;AAAA,EAC/B,cAAc,EAAE,SAAS,IAAI;AAAA,EAC7B,GAAI,YACA;AAAA,IACE,SAAS;AAAA,IACT,WAAW,EAAE,iBAAiB,MAAM,QAAQ,WAAW,OAAO,SAAS,EAAE;AAAA,EAC3E,IACA,EAAE,WAAW,EAAE,iBAAiB,MAAM,QAAQ,WAAW,MAAM,EAAE;AACvE;AAEO,IAAM,iBAAgD,CAAC,UAAU;AACtE,QAAM;AAAA,IACJ;AAAA,IAAM;AAAA,IAAQ;AAAA,IAAQ;AAAA,IAAU;AAAA,IAAU;AAAA,IAAa;AAAA,IAAa;AAAA,IAAO;AAAA,IAAM;AAAA,IACjF;AAAA,EACF,IAAI,aAAa,OAAO,eAAe;AAGvC,QAAM,QAAQ,SAAS;AACvB,QAAM,KAAK,QAAQ,OAAO,OAAO,aAAa,SAAS;AACvD,QAAM,SAAS,IAAI,OAAO,aAAa,YAAY,MAAM,CAAC;AAE1D,SACE,qBAAC,OAAI,eAAY,uBACf;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS;AAAA,QACT,UAAU,YAAY;AAAA,QACtB,MAAM,QAAQ,IAAI;AAAA,QAClB;AAAA,QACA,cAAY,KAAK;AAAA,QACjB,eAAY;AAAA,QACZ,IAAI,EAAE,GAAG,IAAI,MAAM,QAAQ,GAAG,MAAM;AAAA,QAEpC,8BAAC,oBAAiB;AAAA;AAAA,IACpB;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS;AAAA,QACT,UAAU,YAAY;AAAA,QACtB,cAAY,KAAK;AAAA,QACjB,MAAM,QAAQ,IAAI;AAAA,QAClB;AAAA,QACA,eAAY;AAAA,QACZ,IAAI,EAAE,GAAG,IAAI,OAAO,QAAQ,GAAG,MAAM;AAAA,QAErC,8BAAC,uBAAoB;AAAA;AAAA,IACvB;AAAA,KACF;AAEJ;AAEA,IAAM,kBAAkB,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI;AAEnE,IAAM,kBAAkB,CAAC,SACvB,gBAAgB,IAAoC,KAAK;AAE3D,IAAM,YAMD,CAAC,EAAE,MAAM,OAAO,UAAU,MAAM,SAAS,MAAM;AAClD,QAAM,QAAQ,SAAS;AAEvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAS;AAAA,MACT,eAAa,sBAAsB,KAAK;AAAA,MACxC,eAAa;AAAA,MACb,IAAI;AAAA,QACF,OAAO,IAAI,OAAO,IAAI;AAAA,QACtB,QAAQ,IAAI,OAAO,IAAI;AAAA,QACvB,QAAQ,GAAG,IAAI,OAAO,CAAC,CAAC,UAAU,WAAW,MAAM,QAAQ,QAAQ,OAAO,aAAa;AAAA,QACvF,cAAc;AAAA,QACd,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,SAAS,WAAW,IAAI;AAAA,QACxB,YAAY,MAAM,YAAY,OAAO,CAAC,WAAW,cAAc,CAAC;AAAA,QAChE,WAAW,EAAE,SAAS,EAAE;AAAA,MAC1B;AAAA,MAEC,eAAK,QACJ;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,KAAK,KAAK;AAAA,UACV,KAAK,KAAK,OAAO,KAAK;AAAA,UACtB,IAAI,EAAE,OAAO,QAAQ,QAAQ,QAAQ,WAAW,QAAQ;AAAA;AAAA,MAC1D;AAAA;AAAA,QAGA;AAAA,UAAC;AAAA;AAAA,YACC,IAAI;AAAA,cACF,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,iBAAiB,aAAa,KAAK,EAAE;AAAA,cACrC,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,gBAAgB;AAAA,YAClB;AAAA,YAEA,8BAAC,cAAW,SAAQ,WAAW,kBAAQ,GAAE;AAAA;AAAA,QAC3C;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEO,IAAM,qBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AACvB,QAAM,OAAO,gBAAgB,IAAI;AAEjC,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAY;AAAA,MACZ,IAAI;AAAA,QACF,UAAU;AAAA;AAAA,QAEV,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE;AAAA,QAC7B,MAAM;AAAA,QACN,WAAW;AAAA,QACX,SAAS;AAAA,QACT,KAAK;AAAA,QACL,GAAG;AAAA,QACH,iBAAiB,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG;AAAA,QAC1D,cAAc;AAAA,QACd,GAAG;AAAA,MACL;AAAA,MAEC,gBAAM,IAAI,CAAC,MAAM,UAChB;AAAA,QAAC;AAAA;AAAA,UAEC;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,UACpB;AAAA,UACA,UAAU,MAAM,SAAS,KAAK;AAAA;AAAA,QALzB,KAAK;AAAA,MAMZ,CACD;AAAA;AAAA,EACH;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/feedback/TutorialOverlay/TutorialStepBody.tsx"],"sourcesContent":["import CompleteIcon from '@mui/icons-material/CheckCircle';\nimport CloseIcon from '@mui/icons-material/Close';\nimport PrevIcon from '@mui/icons-material/NavigateBefore';\nimport NextIcon from '@mui/icons-material/NavigateNext';\nimport RestartIcon from '@mui/icons-material/Refresh';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Stack from '@mui/material/Stack/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport React, { } from 'react';\n\nimport { onMedia, uiInk } from '../../../tokens/ink';\nimport { rem } from '../../../tokens/relative';\n\nimport type { TutorialOverlayProps } from './TutorialOverlay.types';\nimport type { TutorialCopy } from '../../../copy';\n\n// Animation keyframes\n\nconst StepIndicator = styled(Box)(({ theme }) => ({\n display: 'flex',\n gap: theme.spacing(1),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2) }));\n\n\nconst StepDot = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'active' && prop !== 'completed' })<{ active?: boolean; completed?: boolean }>(({ theme, active, completed }) => ({\n width: rem(theme, 8),\n height: rem(theme, 8),\n borderRadius: '50%',\n background: completed\n ? theme.palette.success.main\n : active\n ? theme.palette.primary.main\n : alpha(theme.palette.text.primary, 0.3),\n transition: 'all 0.3s ease',\n ...(active && {\n transform: 'scale(1.5)' }) }));\n\n// Title, body copy, the step dots and the navigation row.\n\n// The step's controls: skip/restart on the left, previous/next on the right.\nconst TutorialStepNav: React.FC<{\n copy: TutorialCopy;\n currentStep: number;\n stepCount: number;\n isLastStep: boolean;\n allowSkip: boolean;\n requiresActionBeforeNext?: boolean;\n onNext: () => void;\n onPrev: () => void;\n onSkip: () => void;\n onRestart: () => void;\n}> = ({\n copy,\n currentStep,\n stepCount,\n isLastStep,\n allowSkip,\n requiresActionBeforeNext,\n onNext,\n onPrev,\n onSkip,\n onRestart }) => (\n <Stack\n direction=\"row\"\n spacing={1}\n justifyContent=\"space-between\"\n data-testid=\"tutorial-navigation\"\n >\n <Stack direction=\"row\" spacing={1}>\n {allowSkip && (\n <Button size=\"small\" onClick={onSkip} variant=\"text\">\n {copy.skip}\n </Button>\n )}\n {stepCount > 1 && (\n <IconButton\n size=\"small\"\n onClick={onRestart}\n disabled={currentStep === 0}\n title={copy.restart}\n >\n <RestartIcon fontSize=\"small\" />\n </IconButton>\n )}\n </Stack>\n\n <Stack direction=\"row\" spacing={1}>\n {stepCount > 1 && currentStep > 0 && (\n <Button\n size=\"small\"\n startIcon={<PrevIcon />}\n onClick={onPrev}\n disabled={currentStep === 0}\n data-testid=\"tutorial-prev-button\"\n >\n {copy.previous}\n </Button>\n )}\n\n {!isLastStep ? (\n <Button\n variant=\"contained\"\n size=\"small\"\n endIcon={<NextIcon />}\n onClick={onNext}\n disabled={requiresActionBeforeNext}\n title={requiresActionBeforeNext ? copy.requiresAction : ''}\n data-testid=\"tutorial-next-button\"\n >\n {copy.next}\n </Button>\n ) : (\n <Button\n variant=\"contained\"\n size=\"small\"\n endIcon={<CompleteIcon />}\n onClick={onNext}\n sx={(theme) => {\n const [from, to] = uiInk(theme).celebration.mint;\n return { background: `linear-gradient(135deg, ${from} 0%, ${to} 100%)` };\n }}\n data-testid=\"tutorial-finish-button\"\n >\n {stepCount === 1 ? copy.complete : copy.finish}\n </Button>\n )}\n </Stack>\n </Stack>\n);\n\nconst StepDots: React.FC<{ currentStep: number; stepCount: number }> = ({\n currentStep,\n stepCount }) => (\n <StepIndicator data-testid=\"tutorial-step-indicators\">\n {Array.from({ length: stepCount }).map((_, index) => (\n <StepDot\n key={index}\n active={index === currentStep}\n completed={index < currentStep}\n data-testid={`tutorial-indicator-${index}`}\n />\n ))}\n </StepIndicator>\n);\n\n// Title, and the close button when skipping is allowed.\nconst TutorialStepHeader: React.FC<{\n title: React.ReactNode;\n currentStep: number;\n allowSkip: boolean;\n onSkip: () => void;\n}> = ({ title, currentStep, allowSkip, onSkip }) => (\n <Box\n sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start' }}\n >\n <Typography\n id={`tutorial-title-${currentStep}`}\n variant=\"h6\"\n fontWeight=\"bold\"\n sx={{ flex: 1 }}\n data-testid=\"tutorial-step-title\"\n >\n {title}\n </Typography>\n {allowSkip && (\n <IconButton\n size=\"small\"\n onClick={onSkip}\n sx={{ ml: 1, mt: -1, mr: -1 }}\n data-testid=\"tutorial-close-button\"\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n )}\n </Box>\n);\n\nexport const TutorialStepBody: React.FC<{\n copy: TutorialCopy;\n step: TutorialOverlayProps['steps'][number];\n currentStep: number;\n stepCount: number;\n progress: number;\n isLastStep: boolean;\n allowSkip: boolean;\n showProgress: boolean;\n requiresActionBeforeNext?: boolean;\n onNext: () => void;\n onPrev: () => void;\n onSkip: () => void;\n onRestart: () => void;\n}> = ({\n copy,\n step,\n currentStep,\n stepCount,\n progress: _progress,\n isLastStep,\n allowSkip,\n showProgress,\n requiresActionBeforeNext,\n onNext,\n onPrev,\n onSkip,\n onRestart }) => (\n <Stack spacing={2}>\n <TutorialStepHeader\n title={step.title}\n currentStep={currentStep}\n allowSkip={allowSkip}\n onSkip={onSkip}\n />\n\n <Typography\n id={`tutorial-content-${currentStep}`}\n variant=\"body2\"\n color=\"text.secondary\"\n data-testid=\"tutorial-step-content\"\n >\n {step.content}\n </Typography>\n\n {showProgress && (\n <Typography variant=\"caption\" color=\"text.secondary\" align=\"center\">\n {currentStep + 1} of {stepCount}\n </Typography>\n )}\n\n {step.action && (\n <Button\n variant=\"contained\"\n size=\"small\"\n onClick={step.action.onClick}\n sx={(theme) => {\n const [from, to] = uiInk(theme).celebration.violet;\n return { background: `linear-gradient(135deg, ${from} 0%, ${to} 100%)`, color: onMedia(theme) };\n }}\n >\n {step.action.label}\n </Button>\n )}\n\n <StepDots currentStep={currentStep} stepCount={stepCount} />\n\n <TutorialStepNav\n copy={copy}\n currentStep={currentStep}\n stepCount={stepCount}\n isLastStep={isLastStep}\n allowSkip={allowSkip}\n requiresActionBeforeNext={requiresActionBeforeNext}\n onNext={onNext}\n onPrev={onPrev}\n onSkip={onSkip}\n onRestart={onRestart}\n />\n </Stack>\n);\n\n// Main component\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/DataViews/data-views-grid-helpers.tsx"],"sourcesContent":["\"use client\";\n\nimport type { Theme } from \"@mui/material/styles/index.js\";\n\nimport { useDataViewsCopy } from \"./data-views-copy-context\";\nimport { type GridColumn } from \"../DataGrid\";\nimport { type SortFieldDefinition } from \"../../layout/ContentToolbar\";\nimport { Box } from \"../../../mui/Box\";\nimport { rem, sxRem } from \"../../../tokens/relative\";\nimport { Button } from \"../../form/Button\";\nimport { DropdownMenu, type DropdownMenuItem } from \"../../navigation/DropdownMenu\";\n\nimport type {\n DataViewColumn,\n DataViewState,\n FilterFieldConfig,\n RangeFieldConfig,\n RowAction,\n} from \"./data-views-types\";\n\n/** Is this the non-clickable actions column? */\nexport function isActionsColumn<T extends Record<string, unknown>>(col: GridColumn<T>): boolean {\n return col.type === \"actions\" || col.id === \"actions\";\n}\n\n/**\n * Map the DataView columns to grid columns, applying visibility and — when a row\n * click handler is present — making each non-actions cell, padding included, open the row.\n */\nexport function buildGridColumns<T extends Record<string, unknown>>(\n columns: DataViewColumn<T>[],\n visibleColumns: string[],\n onRowClick: ((row: T) => void) | undefined,\n): GridColumn<T>[] {\n return columns.map((col) => {\n const hidden = col.hideable !== false && !visibleColumns.includes(col.id);\n if (!onRowClick || isActionsColumn(col)) return { ...col, hidden };\n return {\n ...col,\n hidden,\n // On the cell, not a wrapper inside it: its padding opens the row too.\n onCellClick: onRowClick,\n cell: (ctx) => {\n const content = col.cell ? col.cell(ctx) : ctx.value == null ? \"\" : String(ctx.value);\n return (\n <Box sx={{ width: \"100%\", height: \"100%\", display: \"flex\", alignItems: \"center\" }}>\n {content}\n </Box>\n );\n },\n };\n });\n}\n\ninterface ActionsColumnConfig<T extends Record<string, unknown>> {\n /** Whose type scale the column's width is drawn at. */\n theme: Theme;\n /** Actions that build the auto \"⋮\" kebab. Ignored when `renderRowMenu` is set. */\n rowActions: RowAction<T>[];\n /** Optional leading slot (e.g. a favourite star) rendered before the kebab. */\n leading?: (row: T) => React.ReactNode;\n testIdPrefix: string;\n getRowId: (row: T) => string | number;\n /**\n * Escape hatch: render a bespoke per-row menu (e.g. an entity's self-contained\n * 3-dots menu that owns its own popups) INSTEAD of the auto kebab built from\n * `rowActions`. This is how the table row and the card share ONE menu component.\n * `rowActions`/`bulkActions` still drive the multi-row bulk menu, which a\n * single-row menu intentionally does not replace.\n */\n renderRowMenu?: (row: T) => React.ReactNode;\n}\n\n/**\n * The auto \"⋮\" kebab actions column built from the reusable `rowActions` — the\n * SAME definitions that feed the bulk menu, so the two never drift. Each item\n * acts on just this row; `rowLabel` provides a per-row label when set. An\n * optional `leading` slot (e.g. a favourite star) renders before the kebab.\n * When `renderRowMenu` is supplied, the cell renders that bespoke menu instead.\n */\nexport function buildRowActionsColumn<T extends Record<string, unknown>>(\n config: ActionsColumnConfig<T>,\n): DataViewColumn<T> {\n const { theme, rowActions, leading, testIdPrefix, getRowId, renderRowMenu } = config;\n const kebabActions = rowActions.filter((action) => action.row !== false);\n return {\n id: \"actions\",\n header: \"\",\n type: \"actions\",\n enableSort: false,\n hideable: false,\n // Narrow: the column only holds the \"⋮\" kebab (plus an optional leading icon),\n // so it needs room for just one or two icons — 72 or 44 design px.\n width: rem(theme, leading ? 72 : 44),\n cell: ({ row }) => (\n <Box component=\"span\" sx={{ display: \"inline-flex\", alignItems: \"center\", gap: sxRem(2), justifyContent: \"flex-end\" }}>\n {leading?.(row)}\n {renderRowMenu\n ? renderRowMenu(row)\n : renderAutoKebab(kebabActions, row, testIdPrefix, getRowId)}\n </Box>\n ),\n };\n}\n\n/** The built-in kebab menu for one row, derived from `rowActions`. */\nfunction renderAutoKebab<T extends Record<string, unknown>>(\n kebabActions: RowAction<T>[],\n row: T,\n testIdPrefix: string,\n getRowId: (row: T) => string | number,\n): React.ReactNode {\n const copy = useDataViewsCopy();\n const items: DropdownMenuItem[] = kebabActions\n .filter((action) => action.isVisible?.(row) ?? true)\n .map((action) => ({\n id: action.id,\n label: action.rowLabel ? action.rowLabel(row) : action.label,\n color: action.color,\n onClick: () => void action.onSelect([row]),\n }));\n if (items.length === 0) return null;\n return (\n <DropdownMenu\n size=\"sm\"\n items={items}\n trigger={\n <Button variant=\"text\" size=\"sm\" dataTestId={`${testIdPrefix}-actions-${getRowId(row)}`} aria-label={copy.grid.rowActions}>\n ⋮\n </Button>\n }\n />\n );\n}\n\n/** Sort options derived from the sortable columns when a page supplies none. */\nexport function defaultSortFields<T extends Record<string, unknown>>(\n columns: DataViewColumn<T>[],\n): SortFieldDefinition[] {\n return columns\n .filter(\n (col) =>\n col.enableSort !== false &&\n col.type !== \"actions\" &&\n col.id !== \"actions\" &&\n typeof col.header === \"string\" &&\n col.header !== \"\",\n )\n .map((col) => ({\n value: col.id,\n label: col.header as string,\n orderOptions: [\n { value: \"asc\", label: \"Crescente\" },\n { value: \"desc\", label: \"Decrescente\" },\n ],\n }));\n}\n\n/** Count active filters (search + selected pills + bounded ranges) for the badge. */\nexport function computeActiveFilterCount<T extends Record<string, unknown>>(\n state: DataViewState,\n fields: FilterFieldConfig<T>[],\n rangeFields: RangeFieldConfig<T>[],\n): number {\n const ranges = state.ranges ?? {};\n const pillCount = fields.reduce((n, field) => n + ((state.pills[field.id]?.length ?? 0) > 0 ? 1 : 0), 0);\n const rangeCount = rangeFields.reduce((n, field) => {\n const range = ranges[field.id];\n return n + (range && (range.min != null || range.max != null) ? 1 : 0);\n }, 0);\n return (state.search.trim() ? 1 : 0) + pillCount + rangeCount;\n}\n\nfunction bulkMenuItems<T extends Record<string, unknown>>(\n rowActions: RowAction<T>[],\n selectedRows: T[],\n clearSelection: () => void,\n): DropdownMenuItem[] {\n return rowActions\n .filter((action) => action.bulk !== false)\n .map((action) => {\n // State-machine guards: the action runs only on the rows it applies to,\n // and disappears from the menu when none of the selection qualifies.\n const targets = action.isVisible ? selectedRows.filter(action.isVisible) : selectedRows;\n return { action, targets };\n })\n .filter(({ targets }) => targets.length > 0)\n .map(({ action, targets }) => ({\n id: action.id,\n label: action.label,\n color: action.color,\n onClick: () => {\n // Run the (possibly async) handler on the captured selection, then clear\n // it — but only once the work settles. On failure keep the selection so\n // the user can see which rows still need action and retry.\n const result = action.onSelect(targets);\n if (result instanceof Promise) {\n void result.then(\n () => clearSelection(),\n () => {\n /* keep the selection on failure so the user can retry */\n },\n );\n } else {\n clearSelection();\n }\n },\n }));\n}\n\ninterface RenderBulkArgs<T extends Record<string, unknown>> {\n rowActions: RowAction<T>[] | undefined;\n bulkActions: ((selectedRows: T[], clearSelection: () => void) => React.ReactNode) | undefined;\n selectedRows: T[];\n clearSelection: () => void;\n testIdPrefix: string;\n}\n\n/**\n * The selection bulk control shown in the toolbar. Prefers the reusable\n * `rowActions` (an \"Ações\" dropdown mirroring the row kebab); falls back to the\n * low-level `bulkActions` render prop. Renders nothing with no selection.\n */\nexport function renderBulkActions<T extends Record<string, unknown>>({\n rowActions,\n bulkActions,\n selectedRows,\n clearSelection,\n testIdPrefix,\n}: RenderBulkArgs<T>): React.ReactNode {\n const copy = useDataViewsCopy();\n if (selectedRows.length === 0) return undefined;\n if (rowActions) {\n const items = bulkMenuItems(rowActions, selectedRows, clearSelection);\n if (items.length === 0) return undefined;\n return (\n <DropdownMenu\n size=\"sm\"\n items={items}\n trigger={\n <Button variant=\"outline\" size=\"sm\" dataTestId={`${testIdPrefix}-bulk-actions`}>\n {copy.grid.bulkActions(selectedRows.length)}\n </Button>\n }\n />\n );\n }\n return bulkActions ? bulkActions(selectedRows, clearSelection) : undefined;\n}\n\n/** Toggle a single value in a pill's selected-list (returns the next list). */\nexport function togglePillValues(current: string[] | undefined, value: string, checked: boolean): string[] {\n const list = current ?? [];\n return checked ? [...list, value] : list.filter((v) => v !== value);\n}\n\n/**\n * The card grid's `grid-template-columns`, as an sx fragment.\n *\n * One rule at every width: each card asks for `targetWidth` and `auto-fill`\n * decides how many fit. Density moves the target, so it changes the count at\n * every size — which the previous column-count cap could not do, because its\n * track floor bottomed out at a constant shared by all three densities.\n *\n * Below `sm` this is a single column, and no target changes that. That is why\n * the density control hides itself there rather than offering three settings\n * that all draw the same thing.\n */\nexport function cardGridTracks(targetWidth: number) {\n return {\n gridTemplateColumns: (theme: Theme) => ({\n xs: \"1fr\",\n sm: `repeat(auto-fill, minmax(${rem(theme, targetWidth)}, 1fr))`,\n }),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA6CU,cAkDJ,YAlDI;AAxBH,SAAS,gBAAmD,KAA6B;AAC9F,SAAO,IAAI,SAAS,aAAa,IAAI,OAAO;AAC9C;AAMO,SAAS,iBACd,SACA,gBACA,YACiB;AACjB,SAAO,QAAQ,IAAI,CAAC,QAAQ;AAC1B,UAAM,SAAS,IAAI,aAAa,SAAS,CAAC,eAAe,SAAS,IAAI,EAAE;AACxE,QAAI,CAAC,cAAc,gBAAgB,GAAG,EAAG,QAAO,EAAE,GAAG,KAAK,OAAO;AACjE,WAAO;AAAA,MACL,GAAG;AAAA,MACH;AAAA;AAAA,MAEA,aAAa;AAAA,MACb,MAAM,CAAC,QAAQ;AACb,cAAM,UAAU,IAAI,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,SAAS,OAAO,KAAK,OAAO,IAAI,KAAK;AACpF,eACE,oBAACA,UAAA,EAAI,IAAI,EAAE,OAAO,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,YAAY,SAAS,GAC7E,mBACH;AAAA,MAEJ;AAAA,IACF;AAAA,EACF,CAAC;AACH;AA4BO,SAAS,sBACd,QACmB;AACnB,QAAM,EAAE,OAAO,YAAY,SAAS,cAAc,UAAU,cAAc,IAAI;AAC9E,QAAM,eAAe,WAAW,OAAO,CAAC,WAAW,OAAO,QAAQ,KAAK;AACvE,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,UAAU;AAAA;AAAA;AAAA,IAGV,OAAO,IAAI,OAAO,UAAU,KAAK,EAAE;AAAA,IACnC,MAAM,CAAC,EAAE,IAAI,MACX,qBAACA,UAAA,EAAI,WAAU,QAAO,IAAI,EAAE,SAAS,eAAe,YAAY,UAAU,KAAK,MAAM,CAAC,GAAG,gBAAgB,WAAW,GACjH;AAAA,gBAAU,GAAG;AAAA,MACb,gBACG,cAAc,GAAG,IACjB,gBAAgB,cAAc,KAAK,cAAc,QAAQ;AAAA,OAC/D;AAAA,EAEJ;AACF;AAGA,SAAS,gBACP,cACA,KACA,cACA,UACiB;AACjB,QAAM,OAAO,iBAAiB;AAC9B,QAAM,QAA4B,aAC/B,OAAO,CAAC,WAAW,OAAO,YAAY,GAAG,KAAK,IAAI,EAClD,IAAI,CAAC,YAAY;AAAA,IAChB,IAAI,OAAO;AAAA,IACX,OAAO,OAAO,WAAW,OAAO,SAAS,GAAG,IAAI,OAAO;AAAA,IACvD,OAAO,OAAO;AAAA,IACd,SAAS,MAAM,KAAK,OAAO,SAAS,CAAC,GAAG,CAAC;AAAA,EAC3C,EAAE;AACJ,MAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL;AAAA,MACA,SACE,oBAAC,UAAO,SAAQ,QAAO,MAAK,MAAK,YAAY,GAAG,YAAY,YAAY,SAAS,GAAG,CAAC,IAAI,cAAY,KAAK,KAAK,YAAY,oBAE3H;AAAA;AAAA,EAEJ;AAEJ;AAGO,SAAS,kBACd,SACuB;AACvB,SAAO,QACJ;AAAA,IACC,CAAC,QACC,IAAI,eAAe,SACnB,IAAI,SAAS,aACb,IAAI,OAAO,aACX,OAAO,IAAI,WAAW,YACtB,IAAI,WAAW;AAAA,EACnB,EACC,IAAI,CAAC,SAAS;AAAA,IACb,OAAO,IAAI;AAAA,IACX,OAAO,IAAI;AAAA,IACX,cAAc;AAAA,MACZ,EAAE,OAAO,OAAO,OAAO,YAAY;AAAA,MACnC,EAAE,OAAO,QAAQ,OAAO,cAAc;AAAA,IACxC;AAAA,EACF,EAAE;AACN;AAGO,SAAS,yBACd,OACA,QACA,aACQ;AACR,QAAM,SAAS,MAAM,UAAU,CAAC;AAChC,QAAM,YAAY,OAAO,OAAO,CAAC,GAAG,UAAU,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC;AACvG,QAAM,aAAa,YAAY,OAAO,CAAC,GAAG,UAAU;AAClD,UAAM,QAAQ,OAAO,MAAM,EAAE;AAC7B,WAAO,KAAK,UAAU,MAAM,OAAO,QAAQ,MAAM,OAAO,QAAQ,IAAI;AAAA,EACtE,GAAG,CAAC;AACJ,UAAQ,MAAM,OAAO,KAAK,IAAI,IAAI,KAAK,YAAY;AACrD;AAEA,SAAS,cACP,YACA,cACA,gBACoB;AACpB,SAAO,WACJ,OAAO,CAAC,WAAW,OAAO,SAAS,KAAK,EACxC,IAAI,CAAC,WAAW;AAGf,UAAM,UAAU,OAAO,YAAY,aAAa,OAAO,OAAO,SAAS,IAAI;AAC3E,WAAO,EAAE,QAAQ,QAAQ;AAAA,EAC3B,CAAC,EACA,OAAO,CAAC,EAAE,QAAQ,MAAM,QAAQ,SAAS,CAAC,EAC1C,IAAI,CAAC,EAAE,QAAQ,QAAQ,OAAO;AAAA,IAC7B,IAAI,OAAO;AAAA,IACX,OAAO,OAAO;AAAA,IACd,OAAO,OAAO;AAAA,IACd,SAAS,MAAM;AAIb,YAAM,SAAS,OAAO,SAAS,OAAO;AACtC,UAAI,kBAAkB,SAAS;AAC7B,aAAK,OAAO;AAAA,UACV,MAAM,eAAe;AAAA,UACrB,MAAM;AAAA,UAEN;AAAA,QACF;AAAA,MACF,OAAO;AACL,uBAAe;AAAA,MACjB;AAAA,IACF;AAAA,EACF,EAAE;AACN;AAeO,SAAS,kBAAqD;AAAA,EACnE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuC;AACrC,QAAM,OAAO,iBAAiB;AAC9B,MAAI,aAAa,WAAW,EAAG,QAAO;AACtC,MAAI,YAAY;AACd,UAAM,QAAQ,cAAc,YAAY,cAAc,cAAc;AACpE,QAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL;AAAA,QACA,SACE,oBAAC,UAAO,SAAQ,WAAU,MAAK,MAAK,YAAY,GAAG,YAAY,iBAC5D,eAAK,KAAK,YAAY,aAAa,MAAM,GAC5C;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACA,SAAO,cAAc,YAAY,cAAc,cAAc,IAAI;AACnE;AAGO,SAAS,iBAAiB,SAA+B,OAAe,SAA4B;AACzG,QAAM,OAAO,WAAW,CAAC;AACzB,SAAO,UAAU,CAAC,GAAG,MAAM,KAAK,IAAI,KAAK,OAAO,CAAC,MAAM,MAAM,KAAK;AACpE;AAcO,SAAS,eAAe,aAAqB;AAClD,SAAO;AAAA,IACL,qBAAqB,CAAC,WAAkB;AAAA,MACtC,IAAI;AAAA,MACJ,IAAI,4BAA4B,IAAI,OAAO,WAAW,CAAC;AAAA,IACzD;AAAA,EACF;AACF;","names":["default"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/utility/InfiniteScroll/InfiniteScroll.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport { useTheme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { rem, remPx } from '../../../tokens/relative';\n\nimport { useLoadMore, useSentinel } from './InfiniteScroll.hooks';\nimport {\n containerStyles,\n DefaultEndMessage,\n DefaultError,\n DefaultLoader,\n} from './InfiniteScroll.parts';\nimport type { InfiniteScrollProps } from './InfiniteScroll.types';\n\nexport const InfiniteScroll: React.FC<InfiniteScrollProps> = ({\n children,\n variant = 'default',\n hasMore,\n loading,\n threshold,\n loadMore,\n loader,\n loadingText,\n endText,\n endMessage,\n error,\n errorComponent,\n onError,\n className,\n style,\n width,\n scrollableTarget,\n testMode = false,\n testTriggerRef,\n}) => {\n const theme = useTheme();\n // 150 design px unless the caller says; `rootMargin` only takes px.\n const rootMargin = `${remPx(theme, threshold ?? 150)}px`;\n const { sentinelRef, isIntersecting } = useSentinel({ testMode, rootMargin, scrollableTarget });\n\n useLoadMore({\n hasMore,\n loading,\n error,\n loadMore,\n onError,\n isIntersecting,\n testMode,\n testTriggerRef,\n });\n\n // The tail of the list is one of four things: the end message, an error, a\n // spinner, or the sentinel that asks for the next page.\n const renderSentinel = () => {\n if (!hasMore) return endMessage || <DefaultEndMessage endText={endText} />;\n if (error) return errorComponent || <DefaultError error={error} />;\n if (loading) return loader || <DefaultLoader loadingText={loadingText} />;\n\n return (\n <div\n ref={sentinelRef}\n data-testid=\"infinite-scroll-sentinel\"\n style={{\n height: variant === 'horizontal' ? '100%' : rem(theme, 1),\n width: variant === 'horizontal' ? rem(theme, 1) : '100%',\n }}\n />\n );\n };\n\n return (\n <Box\n className={className}\n sx={{\n ...containerStyles(theme, variant, width),\n ...style,\n }}\n >\n {variant === 'reverse' && renderSentinel()}\n\n {variant === 'horizontal' ? (\n <Box sx={{ display: 'flex', flexDirection: 'row' }}>{children}</Box>\n ) : (\n children\n )}\n\n {variant !== 'reverse' && renderSentinel()}\n\n {variant === 'horizontal' && renderSentinel()}\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,SAAS;AAChB,SAAS,gBAAgB;AAsDc,cAiBnC,YAjBmC;AAxChC,IAAM,iBAAgD,CAAC;AAAA,EAC5D;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AAEvB,QAAM,aAAa,GAAG,MAAM,OAAO,aAAa,GAAG,CAAC;AACpD,QAAM,EAAE,aAAa,eAAe,IAAI,YAAY,EAAE,UAAU,YAAY,iBAAiB,CAAC;AAE9F,cAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAID,QAAM,iBAAiB,MAAM;AAC3B,QAAI,CAAC,QAAS,QAAO,cAAc,oBAAC,qBAAkB,SAAkB;AACxE,QAAI,MAAO,QAAO,kBAAkB,oBAAC,gBAAa,OAAc;AAChE,QAAI,QAAS,QAAO,UAAU,oBAAC,iBAAc,aAA0B;AAEvE,WACE;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,eAAY;AAAA,QACZ,OAAO;AAAA,UACL,QAAQ,YAAY,eAAe,SAAS,IAAI,OAAO,CAAC;AAAA,UACxD,OAAO,YAAY,eAAe,IAAI,OAAO,CAAC,IAAI;AAAA,QACpD;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,IAAI;AAAA,QACF,GAAG,gBAAgB,OAAO,SAAS,KAAK;AAAA,QACxC,GAAG;AAAA,MACL;AAAA,MAEC;AAAA,oBAAY,aAAa,eAAe;AAAA,QAExC,YAAY,eACX,oBAAC,OAAI,IAAI,EAAE,SAAS,QAAQ,eAAe,MAAM,GAAI,UAAS,IAE9D;AAAA,QAGD,YAAY,aAAa,eAAe;AAAA,QAExC,YAAY,gBAAgB,eAAe;AAAA;AAAA;AAAA,EAC9C;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/AddressAutocomplete/useAddressPredictions.ts"],"sourcesContent":["import type React from 'react';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { MIN_QUERY_LENGTH } from './AddressAutocomplete.helpers';\nimport type { AddressAutocompleteProps, AddressOptionValue } from './AddressAutocomplete.types';\nimport { searchMockAddresses } from './mockPlaces';\nimport type { GoogleMapsService } from './useGoogleMapsAPI';\n\nconst DEBOUNCE_MS = 300;\n// Long enough to exercise the loading state, short enough not to slow tests down.\nconst MOCK_PREDICTION_DELAY_MS = 100;\n\ntype Restrictions = AddressAutocompleteProps['restrictions'];\n\ninterface PredictionSink {\n setOptions: (options: AddressOptionValue[]) => void;\n setLoading: (loading: boolean) => void;\n setApiError: (message: string | null) => void;\n}\n\nconst predictionRequest = (\n input: string,\n restrictions: Restrictions,\n): google.maps.places.AutocompletionRequest => ({\n input: input.trim(),\n componentRestrictions: restrictions?.country ? { country: restrictions.country } : undefined,\n types: restrictions?.types || [],\n});\n\nconst fetchMockPredictions = (input: string, sink: PredictionSink) => {\n window.setTimeout(() => {\n sink.setLoading(false);\n sink.setOptions(searchMockAddresses(input));\n sink.setApiError(null);\n }, MOCK_PREDICTION_DELAY_MS);\n};\n\nconst fetchLivePredictions = (\n service: google.maps.places.AutocompleteService,\n input: string,\n restrictions: Restrictions,\n sink: PredictionSink,\n) => {\n service.getPlacePredictions(predictionRequest(input, restrictions), (predictions, status) => {\n sink.setLoading(false);\n\n if (status === google.maps.places.PlacesServiceStatus.OK && predictions) {\n sink.setOptions(predictions);\n sink.setApiError(null);\n return;\n }\n\n // No matches is a normal outcome, not something to complain about.\n sink.setOptions([]);\n sink.setApiError(\n status === google.maps.places.PlacesServiceStatus.ZERO_RESULTS\n ? null\n : 'Failed to fetch address suggestions',\n );\n });\n};\n\nexport const useAddressPredictions = ({\n isLoaded,\n services,\n restrictions,\n useMockData,\n setInputValue,\n setLoading,\n setApiError,\n}: {\n isLoaded: boolean;\n services: GoogleMapsService;\n restrictions: Restrictions;\n useMockData: boolean;\n setInputValue: (value: string) => void;\n setLoading: (loading: boolean) => void;\n setApiError: (message: string | null) => void;\n}) => {\n const [options, setOptions] = useState<AddressOptionValue[]>([]);\n const debounceTimeoutRef = useRef<number | undefined>(undefined);\n\n const sink = useMemo<PredictionSink>(\n () => ({ setOptions, setLoading, setApiError }),\n [setLoading, setApiError],\n );\n\n const debouncedAutocomplete = useCallback(\n (input: string) => {\n window.clearTimeout(debounceTimeoutRef.current);\n\n debounceTimeoutRef.current = window.setTimeout(() => {\n if (!input.trim() || !isLoaded) {\n setOptions([]);\n setLoading(false);\n return;\n }\n\n if (useMockData) {\n fetchMockPredictions(input, sink);\n return;\n }\n\n if (!services.autocompleteService) {\n setOptions([]);\n setLoading(false);\n return;\n }\n\n fetchLivePredictions(services.autocompleteService, input, restrictions, sink);\n }, DEBOUNCE_MS);\n },\n [isLoaded, services, restrictions, useMockData, sink, setLoading],\n );\n\n useEffect(() => () => window.clearTimeout(debounceTimeoutRef.current), []);\n\n const handleInputChange = useCallback(\n (_event: React.SyntheticEvent, value: string) => {\n setInputValue(value);\n setApiError(null);\n\n if (value.length > MIN_QUERY_LENGTH) {\n setLoading(true);\n debouncedAutocomplete(value);\n return;\n }\n\n setOptions([]);\n setLoading(false);\n },\n [debouncedAutocomplete, setInputValue, setApiError, setLoading],\n );\n\n return { options, handleInputChange };\n};\n"],"mappings":";;;;;;;;AACA,SAAS,aAAa,WAAW,SAAS,QAAQ,gBAAgB;AAOlE,IAAM,cAAc;AAEpB,IAAM,2BAA2B;AAUjC,IAAM,oBAAoB,CACxB,OACA,kBAC8C;AAAA,EAC9C,OAAO,MAAM,KAAK;AAAA,EAClB,uBAAuB,cAAc,UAAU,EAAE,SAAS,aAAa,QAAQ,IAAI;AAAA,EACnF,OAAO,cAAc,SAAS,CAAC;AACjC;AAEA,IAAM,uBAAuB,CAAC,OAAe,SAAyB;AACpE,SAAO,WAAW,MAAM;AACtB,SAAK,WAAW,KAAK;AACrB,SAAK,WAAW,oBAAoB,KAAK,CAAC;AAC1C,SAAK,YAAY,IAAI;AAAA,EACvB,GAAG,wBAAwB;AAC7B;AAEA,IAAM,uBAAuB,CAC3B,SACA,OACA,cACA,SACG;AACH,UAAQ,oBAAoB,kBAAkB,OAAO,YAAY,GAAG,CAAC,aAAa,WAAW;AAC3F,SAAK,WAAW,KAAK;AAErB,QAAI,WAAW,OAAO,KAAK,OAAO,oBAAoB,MAAM,aAAa;AACvE,WAAK,WAAW,WAAW;AAC3B,WAAK,YAAY,IAAI;AACrB;AAAA,IACF;AAGA,SAAK,WAAW,CAAC,CAAC;AAClB,SAAK;AAAA,MACH,WAAW,OAAO,KAAK,OAAO,oBAAoB,eAC9C,OACA;AAAA,IACN;AAAA,EACF,CAAC;AACH;AAEO,IAAM,wBAAwB,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAQM;AACJ,QAAM,CAAC,SAAS,UAAU,IAAI,SAA+B,CAAC,CAAC;AAC/D,QAAM,qBAAqB,OAA2B,MAAS;AAE/D,QAAM,OAAO;AAAA,IACX,OAAO,EAAE,YAAY,YAAY,YAAY;AAAA,IAC7C,CAAC,YAAY,WAAW;AAAA,EAC1B;AAEA,QAAM,wBAAwB;AAAA,IAC5B,CAAC,UAAkB;AACjB,aAAO,aAAa,mBAAmB,OAAO;AAE9C,yBAAmB,UAAU,OAAO,WAAW,MAAM;AACnD,YAAI,CAAC,MAAM,KAAK,KAAK,CAAC,UAAU;AAC9B,qBAAW,CAAC,CAAC;AACb,qBAAW,KAAK;AAChB;AAAA,QACF;AAEA,YAAI,aAAa;AACf,+BAAqB,OAAO,IAAI;AAChC;AAAA,QACF;AAEA,YAAI,CAAC,SAAS,qBAAqB;AACjC,qBAAW,CAAC,CAAC;AACb,qBAAW,KAAK;AAChB;AAAA,QACF;AAEA,6BAAqB,SAAS,qBAAqB,OAAO,cAAc,IAAI;AAAA,MAC9E,GAAG,WAAW;AAAA,IAChB;AAAA,IACA,CAAC,UAAU,UAAU,cAAc,aAAa,MAAM,UAAU;AAAA,EAClE;AAEA,YAAU,MAAM,MAAM,OAAO,aAAa,mBAAmB,OAAO,GAAG,CAAC,CAAC;AAEzE,QAAM,oBAAoB;AAAA,IACxB,CAAC,QAA8B,UAAkB;AAC/C,oBAAc,KAAK;AACnB,kBAAY,IAAI;AAEhB,UAAI,MAAM,SAAS,kBAAkB;AACnC,mBAAW,IAAI;AACf,8BAAsB,KAAK;AAC3B;AAAA,MACF;AAEA,iBAAW,CAAC,CAAC;AACb,iBAAW,KAAK;AAAA,IAClB;AAAA,IACA,CAAC,uBAAuB,eAAe,aAAa,UAAU;AAAA,EAChE;AAEA,SAAO,EAAE,SAAS,kBAAkB;AACtC;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/EmptyState/EmptyState.tsx"],"sourcesContent":["import AddIcon from '@mui/icons-material/Add';\nimport RefreshIcon from '@mui/icons-material/Refresh';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport Link from '@mui/material/Link/index.js';\nimport Stack from '@mui/material/Stack/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { useTheme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { type ActionIconName, type ActionSpec, actionsOf, makeTestId } from './EmptyState.helpers';\nimport {\n ACTION_MIN_WIDTH,\n ACTIONS_GAP_UNITS,\n ACTIONS_MARGIN_TOP_UNITS,\n CONTENT_GAP_UNITS,\n DESCRIPTION_LINE_HEIGHT,\n DESCRIPTION_MAX_WIDTH,\n EMPTY_STATE_GAP_UNITS,\n EMPTY_STATE_MIN_HEIGHT,\n EMPTY_STATE_PADDING_UNITS,\n EXTERNAL_LINK_MARK,\n HELP_LINK_MARGIN_TOP_UNITS,\n illustrationMaxWidth,\n illustrationOpacity,\n TITLE_MAX_WIDTH,\n} from './EmptyState.metrics';\nimport type { EmptyStateProps, EmptyStateVariant } from './EmptyState.types';\nimport { resolveTestId } from '../../../platform/test-id';\nimport { rem, sxRem } from '../../../tokens/relative';\n\n/** The shared action list names its glyph; the web draws it with MUI's icon. */\nconst ACTION_ICONS: Record<ActionIconName, React.ReactNode> = {\n Add: <AddIcon />,\n Refresh: <RefreshIcon />,\n};\n\nconst Illustration: React.FC<{\n illustration: React.ReactNode;\n variant: EmptyStateVariant;\n testId: string;\n}> = ({ illustration, variant, testId }) => (\n <Box\n data-testid={testId}\n sx={{\n maxWidth: sxRem(illustrationMaxWidth(variant)),\n width: '100%',\n height: 'auto',\n opacity: illustrationOpacity(variant),\n display: variant === 'minimal' ? 'none' : 'block',\n }}\n >\n {illustration}\n </Box>\n);\n\nconst Actions: React.FC<{\n specs: ActionSpec[];\n testId: (suffix: string) => string;\n}> = ({ specs, testId }) => {\n const theme = useTheme();\n\n return (\n <Stack\n direction={{ xs: 'column', sm: 'row' }}\n spacing={ACTIONS_GAP_UNITS}\n alignItems=\"center\"\n sx={{ mt: theme.spacing(ACTIONS_MARGIN_TOP_UNITS) }}\n >\n {specs.map((spec) => (\n <Button\n key={spec.key}\n variant={spec.variant}\n onClick={spec.onClick}\n startIcon={spec.icon && ACTION_ICONS[spec.icon]}\n data-testid={testId(spec.key)}\n sx={{ minWidth: sxRem(ACTION_MIN_WIDTH) }}\n >\n {spec.label}\n </Button>\n ))}\n </Stack>\n );\n};\n\nconst HelpLink: React.FC<{\n helpLink: NonNullable<EmptyStateProps['helpLink']>;\n testId: string;\n}> = ({ helpLink, testId }) => {\n const theme = useTheme();\n\n return (\n <Link\n href={helpLink.href}\n target={helpLink.external ? '_blank' : undefined}\n rel={helpLink.external ? 'noopener noreferrer' : undefined}\n data-testid={testId}\n sx={{\n mt: theme.spacing(HELP_LINK_MARGIN_TOP_UNITS),\n color: theme.palette.primary.main,\n textDecoration: 'none',\n '&:hover': {\n textDecoration: 'underline',\n },\n }}\n >\n {helpLink.label}\n {helpLink.external && EXTERNAL_LINK_MARK}\n </Link>\n );\n};\n\nconst Content: React.FC<{\n title: string;\n description?: string;\n titleId: string;\n testId: (suffix: string) => string;\n actions: ActionSpec[];\n showActions: boolean;\n helpLink?: EmptyStateProps['helpLink'];\n}> = ({ title, description, titleId, testId, actions, showActions, helpLink }) => {\n const theme = useTheme();\n\n return (\n <Stack spacing={CONTENT_GAP_UNITS} alignItems=\"center\">\n <Typography\n id={titleId}\n variant=\"h6\"\n component=\"h3\"\n data-testid={testId('title')}\n sx={{\n fontWeight: theme.typography.fontWeightMedium,\n color: theme.palette.text.primary,\n maxWidth: rem(theme, TITLE_MAX_WIDTH),\n }}\n >\n {title}\n </Typography>\n\n {description && (\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n data-testid={testId('description')}\n sx={{\n maxWidth: rem(theme, DESCRIPTION_MAX_WIDTH),\n lineHeight: DESCRIPTION_LINE_HEIGHT,\n }}\n >\n {description}\n </Typography>\n )}\n\n {showActions && <Actions specs={actions} testId={testId} />}\n\n {helpLink && <HelpLink helpLink={helpLink} testId={testId('help-link')} />}\n </Stack>\n );\n};\n\nexport const EmptyState: React.FC<EmptyStateProps> = React.memo((props) => {\n const {\n variant = 'default',\n title,\n description,\n illustration,\n helpLink,\n refreshLabel = 'Refresh',\n createLabel = 'Create New',\n className,\n } = props;\n const theme = useTheme();\n const titleId = React.useId();\n // `dataTestId` is the documented spelling; `testID`, the shared contract's\n // other one, resolves to the same id.\n const dataTestId = resolveTestId(props);\n const testId = makeTestId(dataTestId);\n\n const actions = actionsOf(props, refreshLabel, createLabel);\n // The `action` variant reserves the action row even when nothing fills it.\n const showActions = variant === 'action' || actions.length > 0;\n\n return (\n <Box\n role=\"region\"\n aria-labelledby={titleId}\n className={className}\n data-testid={dataTestId || 'empty-state'}\n sx={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n padding: theme.spacing(EMPTY_STATE_PADDING_UNITS),\n minHeight: rem(theme, EMPTY_STATE_MIN_HEIGHT),\n gap: theme.spacing(EMPTY_STATE_GAP_UNITS),\n }}\n >\n {/* Illustration */}\n {illustration && (\n <Illustration\n illustration={illustration}\n variant={variant}\n testId={testId('icon')}\n />\n )}\n\n {/* Content */}\n <Content\n title={title}\n description={description}\n titleId={titleId}\n testId={testId}\n actions={actions}\n showActions={showActions}\n helpLink={helpLink}\n />\n </Box>\n );\n});\n\nEmptyState.displayName = 'EmptyState';\n\nexport default EmptyState;\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/utility/WorkflowStep/WorkflowStep.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport { styled } from '@mui/material/styles/index.js';\nimport React, { forwardRef, useCallback, useMemo } from 'react';\n\nimport { progressValueRange, progressValueText, resolveWorkflowStepProps, withDerivedStatus } from './WorkflowStep.helpers';\nimport { StepRow } from './WorkflowStepRow';\nimport type { WorkflowStepItem, WorkflowStepProps } from './WorkflowStep.types';\n\n// Styled Components\nconst StepContainer = styled(Box, {\n shouldForwardProp: (prop) => !['orientation', 'variant'].includes(prop as string),\n})<{\n orientation: WorkflowStepProps['orientation'];\n variant: WorkflowStepProps['variant'];\n}>(({ theme, orientation, variant }) => ({\n display: 'flex',\n flexDirection: orientation === 'vertical' ? 'column' : 'row',\n alignItems: orientation === 'vertical' ? 'flex-start' : 'center',\n gap: orientation === 'vertical' ? theme.spacing(2) : theme.spacing(1),\n width: '100%',\n position: 'relative',\n \n // Variant-specific styles\n ...(variant === 'minimal' && {\n gap: orientation === 'vertical' ? theme.spacing(1) : theme.spacing(0.5),\n }),\n}));\n\n/**\n * WorkflowStep component for displaying multi-step workflows with visual progression\n */\nexport const WorkflowStep = forwardRef<HTMLDivElement, WorkflowStepProps>((rawProps, ref) => {\n const {\n steps,\n currentStep,\n variant,\n orientation,\n color,\n size,\n showProgress,\n animated,\n interactive,\n showNumbers,\n showIcons,\n completedIcon,\n errorIcon,\n onStepClick,\n disabled,\n className,\n style,\n 'data-testid': dataTestId,\n ...other\n } = resolveWorkflowStepProps(rawProps);\n const handleStepClick = useCallback((stepIndex: number, step: WorkflowStepItem) => {\n if (onStepClick && !disabled && !step.disabled) {\n onStepClick(stepIndex, step);\n }\n }, [onStepClick, disabled]);\n\n const stepsWithStatus = useMemo(\n () => withDerivedStatus(steps, currentStep),\n [steps, currentStep],\n );\n\n const { max: valueMax, now: valueNow } = progressValueRange(steps, currentStep);\n\n return (\n <StepContainer\n ref={ref}\n orientation={orientation}\n variant={variant}\n className={className}\n style={style}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuemax={valueMax}\n aria-valuenow={valueNow}\n aria-valuetext={progressValueText(steps, currentStep)}\n data-testid={dataTestId}\n {...other}\n >\n {stepsWithStatus.map((step, index) => (\n <StepRow\n key={index}\n step={step}\n index={index}\n isLast={index === steps.length - 1}\n orientation={orientation}\n variant={variant}\n color={color}\n size={size}\n showNumbers={showNumbers}\n showIcons={showIcons}\n showProgress={showProgress}\n completedIcon={completedIcon}\n errorIcon={errorIcon}\n interactive={interactive}\n animated={animated}\n disabled={disabled}\n onClick={handleStepClick}\n dataTestId={dataTestId}\n />\n ))}\n </StepContainer>\n );\n});\n\nWorkflowStep.displayName = 'WorkflowStep';\n\nexport default WorkflowStep;"],"mappings":";;;;;;;;;;;AAAA,OAAO,SAAS;AAChB,SAAS,cAAc;AACvB,SAAgB,YAAY,aAAa,eAAe;AAgFhD;AAzER,IAAM,gBAAgB,OAAO,KAAK;AAAA,EAChC,mBAAmB,CAAC,SAAS,CAAC,CAAC,eAAe,SAAS,EAAE,SAAS,IAAc;AAClF,CAAC,EAGE,CAAC,EAAE,OAAO,aAAa,QAAQ,OAAO;AAAA,EACvC,SAAS;AAAA,EACT,eAAe,gBAAgB,aAAa,WAAW;AAAA,EACvD,YAAY,gBAAgB,aAAa,eAAe;AAAA,EACxD,KAAK,gBAAgB,aAAa,MAAM,QAAQ,CAAC,IAAI,MAAM,QAAQ,CAAC;AAAA,EACpE,OAAO;AAAA,EACP,UAAU;AAAA;AAAA,EAGV,GAAI,YAAY,aAAa;AAAA,IAC3B,KAAK,gBAAgB,aAAa,MAAM,QAAQ,CAAC,IAAI,MAAM,QAAQ,GAAG;AAAA,EACxE;AACF,EAAE;AAKK,IAAM,eAAe,WAA8C,CAAC,UAAU,QAAQ;AAC3F,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,GAAG;AAAA,EACL,IAAI,yBAAyB,QAAQ;AACrC,QAAM,kBAAkB,YAAY,CAAC,WAAmB,SAA2B;AACjF,QAAI,eAAe,CAAC,YAAY,CAAC,KAAK,UAAU;AAC9C,kBAAY,WAAW,IAAI;AAAA,IAC7B;AAAA,EACF,GAAG,CAAC,aAAa,QAAQ,CAAC;AAE1B,QAAM,kBAAkB;AAAA,IACtB,MAAM,kBAAkB,OAAO,WAAW;AAAA,IAC1C,CAAC,OAAO,WAAW;AAAA,EACrB;AAEA,QAAM,EAAE,KAAK,UAAU,KAAK,SAAS,IAAI,mBAAmB,OAAO,WAAW;AAE9E,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MACL,iBAAe;AAAA,MACf,iBAAe;AAAA,MACf,iBAAe;AAAA,MACf,kBAAgB,kBAAkB,OAAO,WAAW;AAAA,MACpD,eAAa;AAAA,MACZ,GAAG;AAAA,MAEH,0BAAgB,IAAI,CAAC,MAAM,UAC1B;AAAA,QAAC;AAAA;AAAA,UAEC;AAAA,UACA;AAAA,UACA,QAAQ,UAAU,MAAM,SAAS;AAAA,UACjC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS;AAAA,UACT;AAAA;AAAA,QAjBK;AAAA,MAkBP,CACD;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,aAAa,cAAc;AAE3B,IAAO,uBAAQ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/ContentToolbar/FilterTrigger.tsx"],"sourcesContent":["'use client';\n\nimport FilterIcon from '@mui/icons-material/FilterListRounded';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport React from 'react';\n\nimport type { FilterTriggerProps } from './ContentToolbar.types';\nimport { fieldRadiusPx } from '../../../tokens/field-radius';\nimport { fieldHeight } from '../../../tokens/field-height';\nimport { sxRem } from '../../../tokens/relative';\n\n/**\n * Labeled filter toggle: a \"Filtros\" button (styled like the sibling toolbar\n * controls) with a funnel icon and, when filters are active, a count badge — so\n * it's obvious that the list is filtered and by how many facets. The panel itself\n * is supplied by the consumer.\n */\nexport function FilterTrigger({\n open,\n onOpenChange,\n hasActiveFilters = false,\n activeCount = 0,\n label = 'Filtros',\n 'data-testid': testId = 'toggle-filters-btn',\n}: FilterTriggerProps): React.JSX.Element {\n const active = activeCount > 0 || hasActiveFilters;\n return (\n <Button\n variant=\"text\"\n size=\"small\"\n color=\"inherit\"\n data-testid={testId}\n aria-expanded={open}\n aria-label={open ? 'Close filters' : 'Open filters'}\n onClick={() => onOpenChange(!open)}\n startIcon={<FilterIcon sx={{ fontSize: sxRem(16) }} />}\n sx={{\n minWidth: 0,\n height: fieldHeight,\n px: 1,\n gap: 0.25,\n borderRadius: fieldRadiusPx,\n textTransform: 'none',\n fontWeight: 600,\n color: active ? 'primary.main' : 'text.primary',\n bgcolor: open ? 'action.selected' : 'transparent',\n }}\n >\n {label}\n {activeCount > 0 && (\n <Box\n component=\"span\"\n data-testid={`${testId}-count`}\n sx={{\n ml: 0.5,\n minWidth: sxRem(18),\n height: sxRem(18),\n px: 0.5,\n borderRadius: 999,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: sxRem(11.2),\n fontWeight: 700,\n lineHeight: 1,\n bgcolor: 'primary.main',\n color: 'primary.contrastText',\n }}\n >\n {activeCount}\n </Box>\n )}\n </Button>\n );\n}\n"],"mappings":";;;;;;;;;;;AAEA,OAAO,gBAAgB;AACvB,OAAO,SAAS;AAChB,OAAO,YAAY;AAwBf,SAQa,KARb;AAVG,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,eAAe,SAAS;AAC1B,GAA0C;AACxC,QAAM,SAAS,cAAc,KAAK;AAClC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACN,eAAa;AAAA,MACb,iBAAe;AAAA,MACf,cAAY,OAAO,kBAAkB;AAAA,MACrC,SAAS,MAAM,aAAa,CAAC,IAAI;AAAA,MACjC,WAAW,oBAAC,cAAW,IAAI,EAAE,UAAU,MAAM,EAAE,EAAE,GAAG;AAAA,MACpD,IAAI;AAAA,QACF,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,IAAI;AAAA,QACJ,KAAK;AAAA,QACL,cAAc;AAAA,QACd,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,OAAO,SAAS,iBAAiB;AAAA,QACjC,SAAS,OAAO,oBAAoB;AAAA,MACtC;AAAA,MAEC;AAAA;AAAA,QACA,cAAc,KACb;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAa,GAAG,MAAM;AAAA,YACtB,IAAI;AAAA,cACF,IAAI;AAAA,cACJ,UAAU,MAAM,EAAE;AAAA,cAClB,QAAQ,MAAM,EAAE;AAAA,cAChB,IAAI;AAAA,cACJ,cAAc;AAAA,cACd,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,gBAAgB;AAAA,cAChB,UAAU,MAAM,IAAI;AAAA,cACpB,YAAY;AAAA,cACZ,YAAY;AAAA,cACZ,SAAS;AAAA,cACT,OAAO;AAAA,YACT;AAAA,YAEC;AAAA;AAAA,QACH;AAAA;AAAA;AAAA,EAEJ;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/en-US.form.ts"],"sourcesContent":["/**\n * The en-US pack for the form family. Split the same way `pt-BR.form.ts` is —\n * see `en-US.ts` for why.\n */\nimport type {\n AddressAutocompleteCopy,\n AutocompleteCopy,\n CodeEditorCopy,\n PasswordStrengthCopy,\n PhoneInputCopy,\n RichEditorToolbarCopy,\n SocialLoginCopy,\n UploadButtonCopy,\n} from './copy';\n\nexport const EN_US_ADDRESS_AUTOCOMPLETE_COPY: AddressAutocompleteCopy = {\n loadingMaps: \"Loading Google Maps…\",\n mapsLoadFailed:\n \"Could not load the Google Maps API. Check the API key and the internet connection.\",\n useCurrentLocation: \"Use my current location\",\n};\n\nexport const EN_US_AUTOCOMPLETE_COPY: AutocompleteCopy = {\n loading: \"Loading…\",\n noResults: \"No results found\",\n placeholder: \"Type to search…\",\n};\n\nexport const EN_US_CODE_EDITOR_COPY: CodeEditorCopy = {\n loading: \"Loading the editor…\",\n readOnly: \"Read only\",\n // The shortcut is the editor's own binding and is not translated — it is what\n // the reader must press, not something they read.\n formatCode: \"Format code (Ctrl+Shift+F)\",\n enableWrap: \"Wrap lines\",\n disableWrap: \"Do not wrap lines\",\n copyToClipboard: \"Copy to clipboard\",\n copied: \"Copied!\",\n enterFullscreen: \"Full screen\",\n exitFullscreen: \"Leave full screen\",\n};\n\nexport const EN_US_PASSWORD_STRENGTH_COPY: PasswordStrengthCopy = {\n strengthHeading: \"Password strength\",\n requirementsHeading: \"Requirements:\",\n suggestionsHeading: \"Suggestions:\",\n bands: {\n veryWeak: \"Very weak\",\n weak: \"Weak\",\n fair: \"Fair\",\n good: \"Good\",\n strong: \"Strong\",\n },\n requirements: {\n // The count is the HOST's configured minimum, interpolated rather than\n // written out: a host raising it must not end up with a requirement naming\n // the old number.\n minLength: (count) => `At least ${count} characters`,\n uppercase: \"One uppercase letter\",\n lowercase: \"One lowercase letter\",\n numbers: \"One number\",\n special: \"One special character\",\n },\n suggestions: {\n minLength: (count) => `Use at least ${count} characters`,\n uppercase: \"Add uppercase letters\",\n lowercase: \"Add lowercase letters\",\n numbers: \"Include numbers\",\n special: \"Add special characters\",\n },\n};\n\nexport const EN_US_RICH_EDITOR_TOOLBAR_COPY: RichEditorToolbarCopy = {\n bold: \"Bold\",\n italic: \"Italic\",\n underline: \"Underline\",\n bulletList: \"Bulleted list\",\n numberedList: \"Numbered list\",\n quote: \"Quote\",\n code: \"Code\",\n insertLink: \"Insert link\",\n textColor: \"Text colour\",\n backgroundColor: \"Background colour\",\n linkPrompt: \"Enter the URL:\",\n};\n\nexport const EN_US_PHONE_INPUT_COPY: PhoneInputCopy = {\n selectCountry: \"Select country\",\n invalidNumber: (countryName) => `Not a valid phone number for ${countryName}`,\n // Substituted into the sentence above when no country is chosen, so it has to\n // read as a noun phrase inside it rather than as a sentence of its own.\n unknownCountry: \"the selected country\",\n};\n\nexport const EN_US_UPLOAD_BUTTON_COPY: UploadButtonCopy = {\n buttonLabel: \"Upload a file\",\n dropzoneHint: \"Drop the file here, or click to choose one\",\n dropzoneRole: (label) => `File upload area. ${label}`,\n uploading: \"Uploading…\",\n dropReady: \"File ready to drop\",\n percentUploaded: (percent) => `${percent}% uploaded`,\n uploadInProgress: (percent) => `Upload in progress: ${percent}%`,\n errorAnnouncement: (message) => `Error: ${message}`,\n};\n\nexport const EN_US_SOCIAL_LOGIN_COPY: SocialLoginCopy = {\n google: \"Continue with Google\",\n facebook: \"Continue with Facebook\",\n apple: \"Continue with Apple\",\n};\n"],"mappings":";AAeO,IAAM,kCAA2D;AAAA,EACtE,aAAa;AAAA,EACb,gBACE;AAAA,EACF,oBAAoB;AACtB;AAEO,IAAM,0BAA4C;AAAA,EACvD,SAAS;AAAA,EACT,WAAW;AAAA,EACX,aAAa;AACf;AAEO,IAAM,yBAAyC;AAAA,EACpD,SAAS;AAAA,EACT,UAAU;AAAA;AAAA;AAAA,EAGV,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,gBAAgB;AAClB;AAEO,IAAM,+BAAqD;AAAA,EAChE,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,OAAO;AAAA,IACL,UAAU;AAAA,IACV,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA,cAAc;AAAA;AAAA;AAAA;AAAA,IAIZ,WAAW,CAAC,UAAU,YAAY,KAAK;AAAA,IACvC,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA,aAAa;AAAA,IACX,WAAW,CAAC,UAAU,gBAAgB,KAAK;AAAA,IAC3C,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AACF;AAEO,IAAM,iCAAwD;AAAA,EACnE,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,OAAO;AAAA,EACP,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,YAAY;AACd;AAEO,IAAM,yBAAyC;AAAA,EACpD,eAAe;AAAA,EACf,eAAe,CAAC,gBAAgB,gCAAgC,WAAW;AAAA;AAAA;AAAA,EAG3E,gBAAgB;AAClB;AAEO,IAAM,2BAA6C;AAAA,EACxD,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc,CAAC,UAAU,qBAAqB,KAAK;AAAA,EACnD,WAAW;AAAA,EACX,WAAW;AAAA,EACX,iBAAiB,CAAC,YAAY,GAAG,OAAO;AAAA,EACxC,kBAAkB,CAAC,YAAY,uBAAuB,OAAO;AAAA,EAC7D,mBAAmB,CAAC,YAAY,UAAU,OAAO;AACnD;AAEO,IAAM,0BAA2C;AAAA,EACtD,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AACT;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/navigation/CommandPalette/CommandPalette.tsx"],"sourcesContent":["import CloseIcon from '@mui/icons-material/Close';\nimport EnterIcon from '@mui/icons-material/KeyboardReturn';\nimport SearchIcon from '@mui/icons-material/Search';\nimport Box from '@mui/material/Box/index.js';\nimport Dialog from '@mui/material/Dialog/index.js';\nimport DialogContent from '@mui/material/DialogContent/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport InputBase from '@mui/material/InputBase/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport Slide from '@mui/material/Slide/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, styled, useTheme } from '@mui/material/styles/index.js';\nimport type { TransitionProps } from '@mui/material/transitions/index.js';\nimport type { FC} from 'react';\nimport React, { } from 'react';\n\nimport { useCommandPalette } from './CommandPalette.hooks';\nimport { PaletteResults } from './CommandPaletteResults';\nimport { ShortcutChip } from './ShortcutChip';\nimport type { CommandPaletteProps } from './CommandPalette.types';\nimport type { CommandPaletteCopy } from '../../../copy';\nimport { scrim } from '../../../tokens/ink';\nimport { rem, sxRem } from '../../../tokens/relative';\n\n// Styled components\nconst StyledDialog = styled(Dialog)(({ theme }) => ({\n '& .MuiBackdrop-root': {\n backgroundColor: scrim(theme, 0.6),\n backdropFilter: `blur(${rem(theme, 4)})` },\n '& .MuiDialog-paper': {\n position: 'fixed',\n top: '20%',\n margin: 0,\n maxHeight: 'none',\n background: 'transparent',\n boxShadow: 'none',\n overflow: 'visible' } }));\n\nconst PaletteContainer = styled(Paper)(({ theme }) => ({\n width: '100%',\n maxWidth: rem(theme, 640),\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 borderRadius: theme.shape.borderRadius * 2,\n overflow: 'hidden',\n boxShadow: theme.shadows[24] }));\n\nconst SearchContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n padding: theme.spacing(2),\n borderBottom: `1px solid ${alpha(theme.palette.divider, 0.12)}`,\n background: alpha(theme.palette.background.default, 0.4) }));\n\nconst SearchInput = styled(InputBase)(({ theme }) => ({\n flex: 1,\n fontSize: rem(theme, 18),\n fontWeight: 400,\n '& input': {\n padding: theme.spacing(0, 1),\n '&::placeholder': {\n color: theme.palette.text.secondary,\n opacity: 0.8 } } }));\n\nconst Transition = React.forwardRef<unknown, TransitionProps & { children: React.ReactElement }>(\n function Transition(props, ref) {\n return <Slide direction=\"down\" ref={ref} {...props} />;\n },\n);\n\n// Main component\nconst PaletteSearch: React.FC<{\n inputRef: React.Ref<HTMLInputElement>;\n placeholder?: string;\n value: string;\n dataTestId?: string;\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n onClose: () => void;\n}> = ({ inputRef, placeholder, value, dataTestId, onChange, onClose }) => (\n <SearchContainer>\n <SearchIcon sx={{ color: 'text.secondary', mr: 1 }} />\n <SearchInput\n ref={inputRef}\n placeholder={placeholder}\n value={value}\n onChange={onChange}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n inputProps={{ 'data-testid': `${dataTestId}-input` }}\n />\n <IconButton size=\"small\" onClick={onClose} sx={{ ml: 1 }}>\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </SearchContainer>\n);\n\nconst PaletteFooter: React.FC<{ commandCount: number; copy: CommandPaletteCopy }> = ({\n commandCount,\n copy,\n}) => {\n const theme = useTheme();\n\n return (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 1,\n borderTop: `1px solid ${alpha(theme.palette.divider, 0.12)}`,\n background: alpha(theme.palette.background.default, 0.4) }}\n >\n <Box sx={{ display: 'flex', gap: 1 }}>\n <ShortcutChip\n icon={<EnterIcon sx={{ fontSize: sxRem(12) }} />}\n label={copy.execute}\n size=\"small\"\n />\n <ShortcutChip label={copy.navigate} size=\"small\" />\n <ShortcutChip label={copy.close} size=\"small\" />\n </Box>\n <Typography variant=\"caption\" color=\"text.secondary\">\n {commandCount} commands\n </Typography>\n </Box>\n );\n};\n\nexport const CommandPalette: FC<CommandPaletteProps> = ({\n copy,\n open,\n onClose,\n commands,\n placeholder = 'Type a command or search...',\n width,\n maxHeight,\n showRecent = true,\n recentCommands = [],\n onCommandExecute,\n dataTestId = 'command-palette' }) => {\n const {\n searchQuery,\n setSearchQuery,\n selectedIndex,\n setSelectedIndex,\n searchInputRef,\n listRef,\n filteredCommands,\n groupedCommands,\n executeCommand,\n recentCommandIds } = useCommandPalette({\n open,\n commands,\n showRecent,\n recentCommands,\n onCommandExecute,\n onClose });\n\n const handleSearchChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setSearchQuery(event.target.value);\n };\n\n return (\n <StyledDialog\n open={open}\n onClose={onClose}\n TransitionComponent={Transition}\n maxWidth={false}\n fullWidth\n data-testid={dataTestId}\n >\n <DialogContent sx={{ overflow: 'visible', p: 0 }}>\n <PaletteContainer elevation={24} sx={{ width: width ?? sxRem(640), maxHeight: maxHeight ?? sxRem(400) }}>\n <PaletteSearch\n inputRef={searchInputRef}\n placeholder={placeholder}\n value={searchQuery}\n dataTestId={dataTestId}\n onChange={handleSearchChange}\n onClose={onClose}\n />\n\n <PaletteResults\n copy={copy}\n listRef={listRef}\n dataTestId={dataTestId}\n searchQuery={searchQuery}\n showRecent={showRecent}\n commands={commands}\n recentCommandIds={recentCommandIds}\n filteredCommands={filteredCommands}\n groupedCommands={groupedCommands}\n selectedIndex={selectedIndex}\n onSelect={setSelectedIndex}\n onExecute={executeCommand}\n />\n\n <PaletteFooter copy={copy} commandCount={filteredCommands.length} />\n </PaletteContainer>\n </DialogContent>\n </StyledDialog>\n );\n};\n\n// Export default\nexport default CommandPalette;\n"],"mappings":"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","names":["Transition"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/Sheet/Sheet.parts.tsx"],"sourcesContent":["import CloseIcon from '@mui/icons-material/Close';\nimport Backdrop from '@mui/material/Backdrop/index.js';\nimport Box from '@mui/material/Box/index.js';\nimport Divider from '@mui/material/Divider/index.js';\nimport Fade from '@mui/material/Fade/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, useTheme } from '@mui/material/styles/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { scrim, sheen } from '../../../tokens/ink';\nimport { rem, rems } from '../../../tokens/relative';\nimport { withDefaults } from '../../../utils/withDefaults';\n\nimport { shimmerAnimation } from './Sheet.animations';\nimport type {\n SheetContentProps,\n SheetFooterProps,\n SheetHeaderProps,\n SheetOverlayProps,\n} from './Sheet.types';\n\n/**\n * The grab handle's own styling. A draggable handle is deliberately larger and\n * tinted, so the affordance reads as draggable before the user tries it; a\n * decorative one stays a neutral bar.\n */\nconst handleSx = (theme: Theme, isDraggable: boolean) => ({\n width: rem(theme, isDraggable ? 48 : 32),\n height: rem(theme, isDraggable ? 6 : 4),\n backgroundColor: alpha(theme.palette.text.primary, 0.3),\n borderRadius: 3,\n transition: theme.transitions.create(['all'], {\n duration: theme.transitions.duration.short,\n easing: theme.transitions.easing.easeInOut,\n }),\n position: 'relative',\n overflow: 'hidden',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: '-100%',\n width: '100%',\n height: '100%',\n background: `linear-gradient(\n 90deg,\n transparent,\n ${sheen(theme, 0.3)},\n transparent\n )`,\n animation: isDraggable ? `${shimmerAnimation(theme)} 2s infinite` : 'none',\n },\n ...(isDraggable && {\n backgroundColor: alpha(theme.palette.primary.main, 0.4),\n boxShadow: `${rems(theme, 0, 2, 4)} ${alpha(theme.palette.primary.main, 0.2)}`,\n '&:hover': {\n backgroundColor: theme.palette.primary.main,\n transform: 'scaleX(1.15) scaleY(1.2)',\n boxShadow: `${rems(theme, 0, 3, 6)} ${alpha(theme.palette.primary.main, 0.3)}`,\n },\n }),\n});\n\nconst SheetHandle: React.FC<{ isDraggable: boolean }> = ({ isDraggable }) => {\n const theme = useTheme();\n\n return (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n mb: 1,\n // The handle is decoration on a draggable header: the drag listeners sit\n // on the header itself, so letting the bar swallow the press would open\n // a dead zone in the middle of the grab target.\n pointerEvents: isDraggable ? 'none' : 'auto',\n }}\n >\n <Box sx={handleSx(theme, isDraggable)} />\n </Box>\n );\n};\n\nconst HEADER_DEFAULTS: Partial<SheetHeaderProps> = {\n isDraggable: false,\n dataTestId: 'sheet-header',\n};\n\nexport const SheetHeader: React.FC<SheetHeaderProps> = (props) => {\n const {\n title,\n description,\n showCloseButton,\n onClose,\n showHandle,\n isDraggable,\n onDragStart,\n className,\n style,\n children,\n dataTestId,\n } = withDefaults(props, HEADER_DEFAULTS);\n\n return (\n <Box\n className={className}\n data-testid={dataTestId}\n sx={{\n p: 2,\n pb: showHandle ? 1 : 2,\n cursor: isDraggable ? 'grab' : 'auto',\n '&:active': isDraggable ? { cursor: 'grabbing' } : {},\n ...style,\n }}\n onMouseDown={isDraggable ? onDragStart : undefined}\n onTouchStart={isDraggable ? onDragStart : undefined}\n >\n {showHandle && <SheetHandle isDraggable={Boolean(isDraggable)} />}\n\n <Box sx={{ display: 'flex', alignItems: 'flex-start', justifyContent: 'space-between' }}>\n <Box sx={{ flex: 1 }}>\n {title && (\n <Typography variant=\"h6\" sx={{ fontWeight: 600 }} data-testid={`${dataTestId}-title`}>\n {title}\n </Typography>\n )}\n {description && (\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ mt: 0.5 }}>\n {description}\n </Typography>\n )}\n {children}\n </Box>\n\n {showCloseButton && (\n <IconButton\n onClick={onClose}\n size=\"small\"\n sx={{ ml: 1, mt: -0.5 }}\n data-testid={`${dataTestId}-close-button`}\n >\n <CloseIcon data-testid={`${dataTestId}-close-icon`} />\n </IconButton>\n )}\n </Box>\n </Box>\n );\n};\n\nconst CONTENT_DEFAULTS: Partial<SheetContentProps> = {\n padded: true,\n dataTestId: 'sheet-content',\n};\n\nexport const SheetContent: React.FC<SheetContentProps> = (props) => {\n const { children, className, style, padded, dataTestId } = withDefaults(props, CONTENT_DEFAULTS);\n\n return (\n <Box\n className={className}\n data-testid={dataTestId}\n // No `minHeight: 0` here, deliberately: a flex item's automatic minimum\n // size only applies while its main-axis `overflow` is `visible`, and this\n // one is `auto`, so it already shrinks. `SheetBody` above is the item that\n // needs it stated.\n sx={{ flex: 1, overflow: 'auto', p: padded ? 2 : 0, ...style }}\n >\n {children}\n </Box>\n );\n};\n\nconst FOOTER_DEFAULTS: Partial<SheetFooterProps> = {\n sticky: false,\n divider: false,\n dataTestId: 'sheet-footer',\n};\n\nexport const SheetFooter: React.FC<SheetFooterProps> = (props) => {\n const { children, className, style, sticky, divider, dataTestId } = withDefaults(\n props,\n FOOTER_DEFAULTS,\n );\n\n return (\n <>\n {divider && <Divider />}\n <Box\n className={className}\n data-testid={dataTestId}\n sx={{\n p: 2,\n position: sticky ? 'sticky' : 'relative',\n bottom: sticky ? 0 : 'auto',\n backgroundColor: 'background.paper',\n borderTop: sticky ? '1px solid' : 'none',\n borderColor: 'divider',\n ...style,\n }}\n >\n {children}\n </Box>\n </>\n );\n};\n\nconst OVERLAY_DEFAULTS: Partial<SheetOverlayProps> = {\n open: false,\n blur: false,\n};\n\nexport const SheetOverlay: React.FC<SheetOverlayProps> = (props) => {\n const { open, onClick, className, style, blur, animated } = withDefaults(props, OVERLAY_DEFAULTS);\n const theme = useTheme();\n const timeout = animated === false ? 0 : 300;\n\n return (\n <Fade in={open} timeout={timeout}>\n <Backdrop\n open={Boolean(open)}\n transitionDuration={timeout}\n onClick={onClick}\n className={className}\n sx={{\n // One below the drawer, under the panel. Inside a Sheet this veil is\n // VISUAL only: the drawer's invisible backdrop above it catches the\n // tap (`ClickCatcher` in Sheet.tsx). The onClick keeps it usable alone.\n zIndex: theme.zIndex.drawer - 1,\n backgroundColor: scrim(theme, blur ? 0.6 : 0.5),\n backdropFilter: blur ? `blur(${rem(theme, 8)}) saturate(180%)` : 'none',\n WebkitBackdropFilter: blur ? `blur(${rem(theme, 8)}) saturate(180%)` : 'none',\n ...style,\n }}\n />\n </Fade>\n );\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/Avatar/Avatar.tsx"],"sourcesContent":["import BrokenImage from '@mui/icons-material/BrokenImage';\nimport Person from '@mui/icons-material/Person';\nimport { styled } from '@mui/material/styles/index.js';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport {\n AVATAR_DEFAULTS,\n contentTypeOf,\n pickAvatarContent,\n type AvatarContentPick,\n} from './Avatar.helpers';\nimport { GROUP_MAX, GROUP_OVERLAP, GROUP_HOVER, BORDER_WIDTH } from './Avatar.metrics';\nimport type { AvatarProps, ContentType } from './Avatar.types';\nimport { rem } from '../../../tokens/relative';\nimport { AvatarView, type AvatarViewProps } from './Avatar.view';\n\n/** The node behind the winning content slot; the pick itself is shared. */\nfunction resolveContent(args: {\n children?: React.ReactNode;\n fallback?: React.ReactNode;\n icon?: React.ReactNode;\n imageError: boolean;\n showFallbackOnError: boolean;\n}): { content: React.ReactNode; contentType: ContentType } {\n const { children, fallback, icon, imageError, showFallbackOnError } = args;\n const pick = pickAvatarContent({\n hasChildren: Boolean(children),\n hasFallback: Boolean(fallback),\n hasIcon: Boolean(icon),\n imageError,\n showFallbackOnError,\n });\n const NODES: Record<AvatarContentPick, React.ReactNode> = {\n children,\n fallback,\n icon,\n broken: <BrokenImage />,\n default: <Person />,\n };\n return { content: NODES[pick], contentType: contentTypeOf(pick) };\n}\n\n/** Fades the avatar in after `animationDelay`ms. */\nfunction useMountedFade(animationDelay: number): boolean {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n const timer = window.setTimeout(() => setMounted(true), animationDelay);\n return () => window.clearTimeout(timer);\n }, [animationDelay]);\n return mounted;\n}\n\ninterface ImageState {\n imageError: boolean;\n imageLoading: boolean;\n handleImageError: React.ReactEventHandler;\n handleImageLoad: () => void;\n}\n\n/**\n * Tracks the `<img>` load lifecycle. `imageLoading` starts true whenever there is\n * a `src` and clears on load/error — the handlers must be wired to the actual img\n * (via `slotProps.img` in the view), since load/error don't bubble to the root.\n */\nfunction useImageState(src: string | undefined, onError?: React.ReactEventHandler): ImageState {\n const [imageError, setImageError] = useState(false);\n const [imageLoading, setImageLoading] = useState(!!src);\n\n useEffect(() => {\n setImageError(false);\n setImageLoading(!!src);\n }, [src]);\n\n const handleImageError = useCallback<React.ReactEventHandler>(\n (event) => {\n setImageError(true);\n setImageLoading(false);\n onError?.(event);\n },\n [onError],\n );\n\n const handleImageLoad = useCallback(() => setImageLoading(false), []);\n\n return { imageError, imageLoading, handleImageError, handleImageLoad };\n}\n\n/** Normalizes props (defaults + rest passthrough) and derives everything the view needs. */\nfunction useAvatarModel(raw: AvatarProps, ref: React.Ref<HTMLDivElement>): AvatarViewProps {\n const {\n variant,\n size,\n glow,\n pulse,\n status,\n fallback,\n icon,\n bordered,\n color,\n src,\n alt,\n children,\n loading,\n onError,\n onClick,\n interactive,\n showFallbackOnError,\n animationDelay,\n className,\n dataTestId,\n // React Native's spelling of the same id; it names the component on both\n // sides and must not reach the DOM as an attribute.\n testID,\n ...rest\n } = { ...AVATAR_DEFAULTS, ...raw };\n\n const mounted = useMountedFade(animationDelay);\n const { imageError, imageLoading, handleImageError, handleImageLoad } = useImageState(src, onError);\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => onClick?.(event),\n [onClick],\n );\n const { content, contentType } = resolveContent({\n children,\n fallback,\n icon,\n imageError,\n showFallbackOnError,\n });\n\n return {\n mounted,\n variant,\n size,\n color,\n glow,\n pulse,\n bordered,\n showSpinner: loading || imageLoading,\n imageError,\n clickable: interactive || !!onClick,\n imgSrc: imageError ? undefined : src,\n alt,\n ariaLabel: (rest['aria-label'] as string) || alt || 'Avatar',\n content,\n contentType,\n className,\n dataTestId: testID ?? dataTestId,\n status,\n forwardedRef: ref,\n onClick: handleClick,\n handleImageError,\n handleImageLoad,\n rest,\n };\n}\n\nexport const Avatar = React.forwardRef<HTMLDivElement, AvatarProps>((props, ref) => (\n <AvatarView {...useAvatarModel(props, ref)} />\n));\n\nAvatar.displayName = 'Avatar';\n\nconst AvatarGroupContainer = styled('div')<{ overlap?: number }>(({ theme, overlap = GROUP_OVERLAP }) => ({\n display: 'flex',\n alignItems: 'center',\n '& > *': {\n marginLeft: rem(theme, -overlap),\n transition: 'all 0.3s ease',\n position: 'relative',\n border: `${rem(theme, BORDER_WIDTH)} solid ${theme.palette.background.paper}`,\n '&:hover': {\n zIndex: 100,\n transform: `scale(${GROUP_HOVER.scale}) translateY(${rem(theme, -GROUP_HOVER.lift)})`,\n },\n '&:first-of-type': {\n marginLeft: 0,\n },\n },\n}));\n\n// Export AvatarGroup for grouped avatars\nexport const AvatarGroup: React.FC<{\n children: React.ReactNode;\n max?: number;\n overlap?: number;\n className?: string;\n dataTestId?: string;\n}> = ({ children, max = GROUP_MAX, overlap = GROUP_OVERLAP, className, dataTestId }) => {\n const childrenArray = React.Children.toArray(children);\n const visibleChildren = max ? childrenArray.slice(0, max) : childrenArray;\n const remainingCount = childrenArray.length - visibleChildren.length;\n\n return (\n <AvatarGroupContainer overlap={overlap} className={className} data-testid={dataTestId}>\n {visibleChildren}\n {remainingCount > 0 && (\n <Avatar\n size={(visibleChildren[0] as React.ReactElement<AvatarProps>)?.props?.size || 'md'}\n color=\"neutral\"\n fallback={`+${remainingCount}`}\n bordered\n dataTestId={dataTestId ? `${dataTestId}-overflow` : undefined}\n />\n )}\n </AvatarGroupContainer>\n );\n};\n\nAvatarGroup.displayName = 'AvatarGroup';\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/pt-BR.navigation.ts"],"sourcesContent":["/**\n * The pt-BR pack for the navigation family. Split out of `pt-BR.ts`, which is a\n * barrel over this folder — see that file for why.\n */\nimport type {\n BreadcrumbCopy,\n CommandPaletteCopy,\n SectionNavCopy,\n} from './copy';\n\nexport const PT_BR_COMMAND_PALETTE_COPY: CommandPaletteCopy = {\n execute: \"Executar\",\n navigate: \"↑↓ Navegar\",\n close: \"ESC Fechar\",\n recent: \"Recentes\",\n tryAnotherTerm: \"Tente outro termo\",\n};\n\nexport const PT_BR_BREADCRUMB_COPY: BreadcrumbCopy = {\n showMore: \"Mostrar mais\",\n moreItems: \"Mais itens\",\n};\n\nexport const PT_BR_SECTION_NAV_COPY: SectionNavCopy = {\n close: \"Fechar\",\n badge: (count) => (count === 1 ? \"1 pendente\" : `${count} pendentes`),\n attention: \"Precisa de atenção\",\n};\n"],"mappings":";AAUO,IAAM,6BAAiD;AAAA,EAC5D,SAAS;AAAA,EACT,UAAU;AAAA,EACV,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,gBAAgB;AAClB;AAEO,IAAM,wBAAwC;AAAA,EACnD,UAAU;AAAA,EACV,WAAW;AACb;AAEO,IAAM,yBAAyC;AAAA,EACpD,OAAO;AAAA,EACP,OAAO,CAAC,UAAW,UAAU,IAAI,eAAe,GAAG,KAAK;AAAA,EACxD,WAAW;AACb;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/feedback/StackedModal/StackedModal.tsx"],"sourcesContent":["import Dialog from '@mui/material/Dialog/index.js';\nimport Slide from '@mui/material/Slide/index.js';\nimport { styled } from '@mui/material/styles/index.js';\nimport type { TransitionProps } from '@mui/material/transitions/index.js';\nimport type { FC } from 'react';\nimport React, { forwardRef, useEffect, useId } from 'react';\nimport { usePanelChrome } from './StackedModal.hooks';\nimport { modalAriaIds, ModalPanelContents, resolveModalContent } from './StackedModal.parts';\nimport type { PanelStyleProps } from './StackedModal.styles';\nimport { dialogRootStyles, STYLE_ONLY_PROPS } from './StackedModal.styles';\nimport type { StackedModalProps } from './StackedModal.types';\n\nconst StyledDialog = styled(Dialog, {\n shouldForwardProp: (prop) => !STYLE_ONLY_PROPS.includes(prop as string),\n})<PanelStyleProps>(({ theme, ...props }) => dialogRootStyles(theme, props));\n\n/** Panels slide in from the right on every device. */\nconst SlideTransition = forwardRef<HTMLDivElement, TransitionProps>(\n function SlideTransition(props, ref) {\n return (\n <Slide direction=\"left\" ref={ref} {...props}>\n {props.children as React.ReactElement}\n </Slide>\n );\n },\n);\n\nconst DEFAULTS: Partial<StackedModalProps> = {\n open: false,\n glass: false,\n navigationTitle: '',\n closeOnClickOutside: true,\n closeOnEsc: true,\n loading: false,\n loadingText: 'Loading...',\n maxWidth: false,\n disableBackdrop: false,\n disableFocusTrap: false,\n keepMounted: false,\n rtl: false,\n};\n\n/**\n * Fills in the defaults for props the caller left `undefined`. A table plus one\n * loop, rather than a default per destructured prop — each of those is a branch,\n * and fifteen of them put the component over the complexity bar on their own.\n */\nconst withDefaults = (props: StackedModalProps): StackedModalProps => {\n const resolved = { ...props };\n for (const [key, value] of Object.entries(DEFAULTS)) {\n const prop = key as keyof StackedModalProps;\n if (resolved[prop] === undefined) {\n Object.assign(resolved, { [prop]: value });\n }\n }\n return resolved;\n};\n\n/** The modal's props once defaults are applied and its stack identity is settled. */\ntype ResolvedProps = StackedModalProps & { modalId: string };\n\n/**\n * `hideHeader` removes the bar that names the dialog; without an\n * `aria-labelledby` of the caller's own, the dialog has no accessible name.\n */\nconst useUnnamedDialogWarning = (unnamed: boolean): void => {\n useEffect(() => {\n const development = typeof process !== 'undefined' && process.env?.NODE_ENV !== 'production';\n if (unnamed && development) {\n // eslint-disable-next-line no-console -- a config warning has no other channel.\n console.warn(\n 'StackedModal: `hideHeader` without `aria-labelledby` leaves the dialog unnamed. ' +\n \"Point `aria-labelledby` at your content header's title.\",\n );\n }\n }, [unnamed]);\n};\n\nconst StackedModalPanel: FC<ResolvedProps> = (props) => {\n const {\n open, onClose, glass, navigationTitle, backLabel, hideClose, hideHeader, children, actions, modalId,\n closeOnClickOutside, closeOnEsc, loading, loadingText, fullScreen, maxWidth, size, panelWidth, disableBackdrop,\n disableFocusTrap, keepMounted, rtl, dataTestId,\n 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, ...otherProps\n } = props;\n\n const {\n dialogRef, modalRole, isAnimating, showSkeleton, zIndex, isMobile, canGoBack, isRoot,\n handleBack, handleClose,\n } = usePanelChrome({\n open, modalId, loading, closeOnEsc, closeOnClickOutside, disableFocusTrap, onClose,\n });\n\n // Don't render if in background (performance optimization)\n if (modalRole === 'background' && !keepMounted) return null;\n\n const { content, modalActions, headerActions, hasMobileActions } = resolveModalContent(\n children,\n actions,\n isMobile,\n );\n const { titleId, descId } = modalAriaIds(modalId, ariaLabelledBy, ariaDescribedBy);\n useUnnamedDialogWarning(Boolean(hideHeader) && !ariaLabelledBy);\n\n return (\n <StyledDialog\n ref={dialogRef}\n open={Boolean(open)}\n onClose={handleClose}\n fullScreen={fullScreen ?? isMobile}\n modalRole={modalRole}\n isAnimating={isAnimating}\n glass={glass}\n rtl={rtl}\n customMaxWidth={maxWidth}\n panelSize={size}\n panelWidth={panelWidth}\n TransitionComponent={SlideTransition}\n maxWidth={maxWidth}\n disableEscapeKeyDown={!closeOnEsc}\n hideBackdrop={disableBackdrop}\n keepMounted={keepMounted}\n aria-labelledby={titleId}\n aria-describedby={descId}\n data-testid={dataTestId}\n sx={{ zIndex }}\n {...otherProps}\n >\n <ModalPanelContents\n backLabel={backLabel}\n showSkeleton={showSkeleton}\n loadingText={loadingText}\n titleId={titleId}\n descId={descId}\n navigationTitle={navigationTitle}\n hideClose={hideClose}\n hideHeader={Boolean(hideHeader) && isRoot}\n canGoBack={canGoBack}\n onBack={handleBack}\n onClose={onClose}\n headerActions={headerActions}\n content={content}\n modalActions={modalActions}\n hasMobileActions={hasMobileActions}\n rtl={rtl}\n dataTestId={dataTestId}\n />\n </StyledDialog>\n );\n};\n\nexport const StackedModal: FC<StackedModalProps> = (props) => {\n // A modal with no caller-supplied id still needs a STABLE one — it keys this\n // panel's entry in the stack, so a value that changed per render (as a\n // `Math.random()` default does) would re-register it on every pass.\n const fallbackId = useId();\n const resolved = withDefaults(props);\n return <StackedModalPanel {...resolved} modalId={resolved.modalId ?? fallbackId} />;\n};\n\n// Re-exported so `./StackedModal` stays the single public entry point for the\n// component and its stack primitives, as the barrel and existing imports expect.\nexport {\n ModalStackProvider,\n ModalStackProvider as StackedModalProvider,\n useModalStack,\n useModalStack as useStackedModal,\n} from './modal-stack';\nexport { StackedModalActions, StackedModalContent } from './StackedModal.parts';\n"],"mappings":"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","names":["SlideTransition"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/Stepper/Stepper.tsx"],"sourcesContent":["import CheckCircle from '@mui/icons-material/CheckCircle';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { styled } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport type { Step, StepItemProps, StepperProps } from './Stepper.types';\nimport { neutralTones } from '../../../tokens/ink';\nimport { rem, sxRem } from '../../../tokens/relative';\nimport type { SizeValue } from '../../../tokens/scales';\n\n/**\n * The five house stops, drawn rather than collapsed.\n *\n * These were two-way ternaries on `sm`, which is what a two-value size prop\n * allows; with the full scale they have to be real values or the three new\n * stops would render identically to `md` and the prop would be a lie.\n */\nconst STEP_MIN_WIDTH: Record<SizeValue, number> = { xs: 44, sm: 56, md: 80, lg: 96, xl: 112 };\nconst STEP_ICON_SIZE: Record<SizeValue, number> = { xs: 14, sm: 18, md: 24, lg: 30, xl: 36 };\n\n\nconst StepperRoot = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'orientation',\n})<{ orientation: 'horizontal' | 'vertical'; component?: React.ElementType }>(({ orientation }) => ({\n display: 'flex',\n flexDirection: orientation === 'horizontal' ? 'row' : 'column',\n // Use flex-start to align all step circles at the same vertical position\n alignItems: 'flex-start',\n}));\n\nconst StepItem = styled(Box, {\n shouldForwardProp: (prop) => !['orientation', 'isLast'].includes(prop as string),\n})<{ orientation: 'horizontal' | 'vertical'; isLast: boolean }>(({ orientation, isLast }) => ({\n display: 'flex',\n // For horizontal: row layout so connector appears beside step content\n // For vertical: column layout so connector appears below step content\n flexDirection: orientation === 'horizontal' ? 'row' : 'column',\n // For horizontal: flex-start to keep circles aligned at top\n // For vertical: center to align connector with centered circle\n alignItems: orientation === 'horizontal' ? 'flex-start' : 'center',\n flex: orientation === 'horizontal' && !isLast ? 1 : 'none',\n position: 'relative',\n // For vertical: ensure consistent width for proper centering\n ...(orientation === 'vertical' && {\n width: '100%',\n }),\n}));\n\n/** Circle diameter per size. */\nconst CIRCLE_SIZE: Record<SizeValue, number> = { xs: 24, sm: 32, md: 48, lg: 60, xl: 72 };\n\nconst StepButton = styled(Button, {\n shouldForwardProp: (prop) =>\n !['isActive', 'isCompleted', 'clickable', 'stepSize'].includes(prop as string),\n})<{ isActive: boolean; isCompleted: boolean; clickable: boolean; stepSize: SizeValue }>(\n ({ theme, isActive, isCompleted, clickable, stepSize }) => ({\n minWidth: rem(theme, CIRCLE_SIZE[stepSize]),\n width: rem(theme, CIRCLE_SIZE[stepSize]),\n height: rem(theme, CIRCLE_SIZE[stepSize]),\n borderRadius: '50%',\n padding: 0,\n backgroundColor: isCompleted\n ? theme.palette.primary.main\n : isActive\n ? theme.palette.primary.main\n : neutralTones(theme).track,\n color: isCompleted || isActive ? theme.palette.primary.contrastText : theme.palette.text.primary,\n cursor: clickable ? 'pointer' : 'default',\n pointerEvents: clickable ? 'auto' : 'none',\n transition: theme.transitions.create(['background-color', 'transform'], {\n duration: theme.transitions.duration.short,\n }),\n '&:hover': clickable\n ? {\n backgroundColor: isCompleted\n ? theme.palette.primary.dark\n : isActive\n ? theme.palette.primary.dark\n : neutralTones(theme).subtle,\n transform: 'scale(1.05)',\n }\n : {},\n '&:disabled': {\n backgroundColor: neutralTones(theme).track,\n color: theme.palette.text.disabled,\n },\n }),\n);\n\nconst StepConnector = styled(Box, {\n shouldForwardProp: (prop) =>\n !['orientation', 'isCompleted', 'size'].includes(prop as string),\n})<{ orientation: 'horizontal' | 'vertical'; isCompleted: boolean; size: SizeValue }>(\n ({ theme, orientation, isCompleted, size }) => ({\n backgroundColor: isCompleted ? theme.palette.primary.main : neutralTones(theme).track,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.short,\n }),\n ...(orientation === 'horizontal'\n ? {\n flex: 1,\n height: rem(theme, 2),\n // Vertically centered on the circle (circle/2 - 1 for the 2px line).\n marginTop: rem(theme, CIRCLE_SIZE[size] / 2 - 1),\n marginLeft: rem(theme, 8),\n marginRight: rem(theme, 8),\n minWidth: rem(theme, 24),\n }\n : {\n width: rem(theme, 2),\n height: rem(theme, 32),\n marginTop: rem(theme, 8),\n marginBottom: rem(theme, 8),\n // Use margin auto to center horizontally\n marginLeft: 'auto',\n marginRight: 'auto',\n }),\n }),\n);\n\nconst StepLabel = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'orientation',\n})<{ orientation: 'horizontal' | 'vertical' }>(({ theme, orientation }) => ({\n textAlign: 'center',\n marginTop: orientation === 'horizontal' ? rem(theme, 8) : 0,\n}));\n\ntype StepSize = SizeValue;\ntype LabelVariant = 'caption' | 'body2';\n\n/** Space-joined state classes for a step (active / completed / optional). */\nfunction stepClasses(isActive: boolean, isCompleted: boolean, optional?: boolean): string {\n return [\n isActive && 'stepper-step-active',\n isCompleted && 'stepper-step-completed',\n optional && 'stepper-step-optional',\n ]\n .filter(Boolean)\n .join(' ');\n}\n\n/** The circle content-column width per orientation/size. */\nfunction contentSx(orientation: 'horizontal' | 'vertical', size: StepSize) {\n return orientation === 'horizontal'\n ? { minWidth: sxRem(STEP_MIN_WIDTH[size]), maxWidth: sxRem(150), flex: '0 1 auto' }\n : { flexShrink: 0 };\n}\n\ninterface StepPartProps {\n step: Step;\n index: number;\n isActive: boolean;\n size: StepSize;\n labelVariant: LabelVariant;\n}\n\n/** The step circle: a check when completed, otherwise the 1-based index. */\nconst StepCircle: React.FC<\n StepPartProps & { isCompleted: boolean; isClickable: boolean; onClick: () => void }\n> = ({ step, index, isActive, isCompleted, isClickable, size, labelVariant, onClick }) => {\n const state = isCompleted ? ' (completed)' : isActive ? ' (current)' : '';\n return (\n <StepButton\n isActive={isActive}\n isCompleted={isCompleted}\n clickable={isClickable}\n stepSize={size}\n onClick={onClick}\n disabled={step.disabled}\n aria-current={isActive ? 'step' : undefined}\n aria-label={`Step ${index + 1}: ${step.label}${step.optional ? ' (optional)' : ''}${state}`}\n data-testid={`stepper-step-icon-${index}`}\n >\n {isCompleted ? (\n <CheckCircle sx={{ fontSize: sxRem(STEP_ICON_SIZE[size]) }} />\n ) : (\n <Typography variant={labelVariant} fontWeight=\"bold\">\n {index + 1}\n </Typography>\n )}\n </StepButton>\n );\n};\n\n/** The step label block: title, optional marker, and description. */\nconst StepLabelBlock: React.FC<StepPartProps & { orientation: 'horizontal' | 'vertical' }> = ({\n step,\n index,\n isActive,\n orientation,\n size,\n labelVariant,\n}) => (\n <StepLabel\n orientation={orientation}\n data-testid={`stepper-step-label-${index}`}\n sx={size === 'sm' && orientation === 'horizontal' ? { mt: sxRem(2) } : undefined}\n >\n <Typography\n variant={labelVariant}\n fontWeight={isActive ? 'bold' : 'normal'}\n color={isActive ? 'primary' : 'textPrimary'}\n >\n {step.label}\n {step.optional && (\n <Typography component=\"span\" variant=\"caption\" color=\"textSecondary\" sx={{ ml: 1 }}>\n (optional)\n </Typography>\n )}\n </Typography>\n {step.description && (\n <Typography variant=\"caption\" color=\"textSecondary\" display=\"block\">\n {step.description}\n </Typography>\n )}\n </StepLabel>\n);\n\nconst StepperItem: React.FC<StepItemProps> = ({\n step,\n index,\n isActive,\n isCompleted,\n isLast,\n orientation,\n size,\n variant,\n clickable,\n onStepClick,\n renderConnector,\n nextStep,\n}) => {\n const labelVariant: LabelVariant = size === 'sm' ? 'caption' : 'body2';\n const isClickable = Boolean(clickable) && !step.disabled && (variant === 'non-linear' || !isActive);\n const handleStepClick = () => {\n if (isClickable && onStepClick) onStepClick(step.id);\n };\n const connector =\n renderConnector && nextStep ? (\n renderConnector(step, nextStep, { completed: isCompleted, active: isActive })\n ) : (\n <StepConnector orientation={orientation} isCompleted={isCompleted} size={size} data-testid={`stepper-connector-${index}`} />\n );\n\n return (\n <StepItem\n orientation={orientation}\n isLast={isLast}\n role=\"listitem\"\n data-testid={`stepper-step-${index}`}\n className={stepClasses(isActive, isCompleted, step.optional)}\n >\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n data-testid={`stepper-step-content-${index}`}\n sx={contentSx(orientation, size)}\n >\n <StepCircle\n step={step}\n index={index}\n isActive={isActive}\n isCompleted={isCompleted}\n isClickable={isClickable}\n size={size}\n labelVariant={labelVariant}\n onClick={handleStepClick}\n />\n <StepLabelBlock\n step={step}\n index={index}\n isActive={isActive}\n orientation={orientation}\n size={size}\n labelVariant={labelVariant}\n />\n </Box>\n {!isLast && connector}\n </StepItem>\n );\n};\n\nexport const Stepper: React.FC<StepperProps> = ({\n steps,\n activeId,\n completed = new Set(),\n orientation = 'horizontal',\n size = 'md',\n variant = 'linear',\n onStepChange,\n clickable,\n renderConnector,\n className,\n 'data-testid': dataTestId,\n}) => {\n // Determine clickable behavior\n const isClickable = clickable ?? variant === 'non-linear';\n\n return (\n <StepperRoot\n component=\"ol\"\n orientation={orientation}\n className={className}\n data-testid={dataTestId || 'stepper-container'}\n sx={{\n listStyle: 'none',\n padding: 0,\n margin: 0,\n }}\n >\n {steps.map((step, index) => {\n const isActive = step.id === activeId;\n const isCompleted = completed.has(step.id);\n const isLast = index === steps.length - 1;\n const nextStep = !isLast ? steps[index + 1] : undefined;\n\n return (\n <StepperItem\n key={step.id}\n step={step}\n index={index}\n isActive={isActive}\n isCompleted={isCompleted}\n isLast={isLast}\n orientation={orientation}\n size={size}\n variant={variant}\n clickable={isClickable}\n onStepClick={onStepChange}\n renderConnector={renderConnector}\n nextStep={nextStep}\n />\n );\n })}\n </StepperRoot>\n );\n};"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/ContentToolbar/ViewSelector.tsx"],"sourcesContent":["'use client';\n\nimport CheckIcon from '@mui/icons-material/Check';\nimport ChevronDownIcon from '@mui/icons-material/KeyboardArrowDown';\nimport GridIcon from '@mui/icons-material/GridViewOutlined';\nimport ListIcon from '@mui/icons-material/FormatListBulletedRounded';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport ListItemIcon from '@mui/material/ListItemIcon/index.js';\nimport ListItemText from '@mui/material/ListItemText/index.js';\nimport Menu from '@mui/material/Menu/index.js';\nimport MenuItem from '@mui/material/MenuItem/index.js';\nimport Slider from '@mui/material/Slider/index.js';\n// `SvgIconComponent` is declared inline in @mui/icons-material's barrel and has\n// no module of its own, so the deep-import equivalent is its own definition:\n// `type SvgIconComponent = typeof SvgIcon`.\nimport type SvgIcon from '@mui/material/SvgIcon/index.js';\nimport React, { useState } from 'react';\n\nimport type { ViewMode, ViewSelectorProps } from './ContentToolbar.types';\nimport { fieldRadiusPx } from '../../../tokens/field-radius';\nimport { fieldHeight } from '../../../tokens/field-height';\nimport { sxRem } from '../../../tokens/relative';\n\nconst VIEW_OPTIONS: { value: ViewMode; label: string; icon: typeof SvgIcon }[] = [\n { value: 'grid', label: 'Grid View', icon: GridIcon },\n { value: 'list', label: 'List View', icon: ListIcon },\n];\n\n/**\n * View selector: a grid/list dropdown plus a card-size zoom slider (grid mode\n * only). Faithful MUI port of the reference toolbar's view control.\n */\nexport function ViewSelector({\n viewMode,\n onViewModeChange,\n zoom,\n onZoomChange,\n cardSizeLabel,\n}: ViewSelectorProps): React.JSX.Element {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const open = Boolean(anchorEl);\n const activeOption = VIEW_OPTIONS.find((option) => option.value === viewMode) ?? VIEW_OPTIONS[0]!;\n const ActiveIcon = activeOption.icon;\n\n return (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1.5 }}>\n {viewMode === 'grid' && (\n <Box sx={{ width: sxRem(96), display: 'flex', alignItems: 'center' }}>\n <Slider\n data-testid=\"resize-card-slider\"\n aria-label={cardSizeLabel}\n value={zoom[0] ?? 0}\n onChange={(_, value) => onZoomChange([value as number])}\n min={0}\n max={100}\n step={1}\n size=\"small\"\n />\n </Box>\n )}\n\n <Button\n data-testid=\"view-mode-btn\"\n variant=\"text\"\n size=\"small\"\n color=\"inherit\"\n aria-label={activeOption.label}\n aria-haspopup=\"menu\"\n aria-expanded={open}\n onClick={(event) => setAnchorEl(event.currentTarget)}\n sx={{ minWidth: 0, height: fieldHeight, px: 1, gap: 1, borderRadius: fieldRadiusPx, color: 'text.secondary' }}\n >\n <ActiveIcon sx={{ fontSize: sxRem(16) }} />\n <ChevronDownIcon sx={{ fontSize: sxRem(14) }} />\n </Button>\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={() => setAnchorEl(null)}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\n slotProps={{ paper: { sx: { minWidth: sxRem(180) } } }}\n >\n {VIEW_OPTIONS.map((option) => {\n const OptionIcon = option.icon;\n const selected = viewMode === option.value;\n return (\n <MenuItem\n key={option.value}\n data-testid={`view-mode-${option.value}`}\n onClick={() => {\n onViewModeChange(option.value);\n setAnchorEl(null);\n }}\n sx={{ gap: 1.5 }}\n >\n <ListItemText>{option.label}</ListItemText>\n <OptionIcon sx={{ fontSize: sxRem(16), color: 'text.secondary' }} />\n <ListItemIcon sx={{ minWidth: 'auto !important' }}>\n <CheckIcon sx={{ fontSize: sxRem(16), color: selected ? 'text.primary' : 'transparent' }} />\n </ListItemIcon>\n </MenuItem>\n );\n })}\n </Menu>\n </Box>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/Timeline/TimelineRow.tsx"],"sourcesContent":["import DotIcon from '@mui/icons-material/Circle';\nimport ExpandIcon from '@mui/icons-material/ExpandMore';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport Card from '@mui/material/Card/index.js';\nimport CardContent from '@mui/material/CardContent/index.js';\nimport Chip from '@mui/material/Chip/index.js';\nimport Collapse from '@mui/material/Collapse/index.js';\nimport Fade from '@mui/material/Fade/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Stack from '@mui/material/Stack/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, keyframes, styled, type Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport type { TimelineItem, TimelineProps } from './Timeline.types';\nimport { onMedia, uiInk } from '../../../tokens/ink';\nimport { rem, rems } from '../../../tokens/relative';\n\nconst slideInAnimation = (theme: Theme) =>\n keyframes`from { opacity: 0; transform: translateX(${rem(theme, -20)}); } to { opacity: 1; transform: translateX(0); }`;\nconst pulseAnimation = keyframes`0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.1); opacity: 0.8; }`;\n\nconst TimelineItemContainer = styled(Box, {\n shouldForwardProp: (prop) => !['animated', 'alternating', 'index'].includes(prop as string),\n})<{\n animated: boolean;\n alternating: boolean;\n index: number;\n orientation: 'vertical' | 'horizontal';\n}>(({ theme, animated, alternating, index, orientation }) => ({\n display: 'flex',\n gap: theme.spacing(2),\n position: 'relative',\n ...(animated && {\n animation: `${slideInAnimation(theme)} 0.5s ease ${index * 0.1}s both`,\n }),\n ...(orientation === 'vertical' &&\n alternating && {\n flexDirection: index % 2 === 0 ? 'row' : 'row-reverse',\n textAlign: index % 2 === 0 ? 'left' : 'right',\n }),\n ...(orientation === 'horizontal' && {\n flexDirection: 'column',\n alignItems: 'center',\n minWidth: rem(theme, 280),\n }),\n}));\n\nconst TimelineConnector = styled(Box, {\n shouldForwardProp: (prop) => !['isLast'].includes(prop as string),\n})<{\n orientation: 'vertical' | 'horizontal';\n isLast: boolean;\n}>(({ theme, orientation, isLast }) => ({\n position: 'absolute',\n background: `linear-gradient(180deg, ${theme.palette.primary.main} 0%, ${alpha(theme.palette.primary.main, 0.3)} 100%)`,\n ...(orientation === 'vertical'\n ? {\n width: rem(theme, 2),\n height: isLast ? 0 : `calc(100% + ${rem(theme, 16)})`,\n left: rem(theme, 19),\n top: rem(theme, 40),\n }\n : {\n height: rem(theme, 2),\n width: isLast ? 0 : rem(theme, 240),\n top: rem(theme, 19),\n left: rem(theme, 40),\n }),\n}));\n\nconst TimelineDot = styled(Box, {\n shouldForwardProp: (prop) => !['dotColor', 'hasIcon', 'animated'].includes(prop as string),\n})<{ dotColor?: string; hasIcon: boolean; animated: boolean }>(({ theme, dotColor, hasIcon, animated }) => ({\n width: rem(theme, 40),\n height: rem(theme, 40),\n borderRadius: '50%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n background: dotColor\n ? `linear-gradient(135deg, ${dotColor} 0%, ${alpha(dotColor, 0.8)} 100%)`\n : `linear-gradient(135deg, ${theme.palette.primary.main} 0%, ${theme.palette.primary.light} 100%)`,\n boxShadow: `${rems(theme, 0, 4, 12)} ${alpha(dotColor || theme.palette.primary.main, 0.3)}`,\n border: `${rem(theme, 2)} solid ${theme.palette.background.paper}`,\n zIndex: 1,\n flexShrink: 0,\n ...(animated && {\n animation: `${pulseAnimation} 2s ease infinite`,\n }),\n '& svg': {\n fontSize: rem(theme, hasIcon ? 19.2 : 12.8),\n color: theme.palette.background.paper,\n },\n}));\n\nconst TimelineCard = styled(Card, {\n shouldForwardProp: (prop) => !['timelineVariant', 'isClickable'].includes(prop as string),\n})<{ timelineVariant: 'default' | 'compact' | 'detailed'; isClickable: boolean }>(\n ({ theme, timelineVariant, isClickable }) => ({\n flex: 1,\n background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.9)} 0%, ${alpha(theme.palette.background.paper, 0.8)} 100%)`,\n backdropFilter: `blur(${rem(theme, 10)})`,\n WebkitBackdropFilter: `blur(${rem(theme, 10)})`,\n border: `1px solid ${alpha(theme.palette.divider, 0.18)}`,\n transition: theme.transitions.create(['transform', 'box-shadow']),\n ...(isClickable && {\n cursor: 'pointer',\n '&:hover': {\n transform: `translateY(${rem(theme, -2)})`,\n boxShadow: theme.shadows[8],\n },\n }),\n ...(timelineVariant === 'compact' && {\n padding: theme.spacing(1.5),\n '& .MuiCardContent-root': {\n padding: 0,\n '&:last-child': {\n paddingBottom: 0,\n },\n },\n }),\n }),\n);\n\nconst TimelineTimestamp = styled(Typography)(({ theme }) => ({\n color: theme.palette.text.secondary,\n fontSize: rem(theme, 12),\n fontWeight: 500,\n letterSpacing: rem(theme, 0.5),\n textTransform: 'uppercase',\n}));\n\nconst MetadataChip = styled(Chip)(({ theme }) => ({\n height: rem(theme, 24),\n fontSize: rem(theme, 12),\n background: alpha(theme.palette.primary.main, 0.08),\n border: `1px solid ${alpha(theme.palette.primary.main, 0.2)}`,\n}));\n\n// Description, metadata chips and the action button, revealed on expand — or\n// always, in the detailed variant.\nconst TimelineDetails: React.FC<{\n item: TimelineItem;\n isExpanded: boolean;\n variant: NonNullable<TimelineProps['variant']>;\n}> = ({ item, isExpanded, variant }) => {\n const open = isExpanded || variant === 'detailed';\n\n return (\n <Collapse in={open}>\n <Fade in={open}>\n <Stack spacing={1.5} sx={{ mt: 1 }}>\n {item.description && (\n <Typography variant=\"body2\" color=\"text.secondary\">\n {item.description}\n </Typography>\n )}\n\n {item.metadata && (\n <Box sx={{ display: 'flex', flexWrap: 'wrap', gap: 1 }}>\n {Object.entries(item.metadata).map(([key, value]) => (\n <MetadataChip key={key} label={`${key}: ${value}`} size=\"small\" />\n ))}\n </Box>\n )}\n\n {item.action && (\n <Box>\n <Button\n size=\"small\"\n variant=\"contained\"\n onClick={(e) => {\n e.stopPropagation();\n item.action!.onClick();\n }}\n sx={(theme) => ({\n background: `linear-gradient(135deg, ${uiInk(theme).celebration.violet[0]} 0%, ${uiInk(theme).celebration.violet[1]} 100%)`,\n color: onMedia(theme),\n })}\n >\n {item.action.label}\n </Button>\n </Box>\n )}\n </Stack>\n </Fade>\n </Collapse>\n );\n};\n\n// Timestamp, title and the expand toggle.\nconst TimelineCardHeader: React.FC<{\n item: TimelineItem;\n variant: NonNullable<TimelineProps['variant']>;\n isExpanded: boolean;\n onExpandClick: (itemId: string, event: React.MouseEvent) => void;\n}> = ({ item, variant, isExpanded, onExpandClick }) => (\n <Box\n sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start' }}\n >\n <Box sx={{ flex: 1 }}>\n <TimelineTimestamp data-testid=\"timeline-timestamp\">\n {item.timestamp}\n </TimelineTimestamp>\n <Typography\n variant={variant === 'compact' ? 'body2' : 'h6'}\n fontWeight={variant === 'compact' ? 500 : 600}\n sx={{ mt: 0.5 }}\n >\n {item.title}\n </Typography>\n </Box>\n {item.description && variant !== 'compact' && (\n <IconButton\n size=\"small\"\n onClick={(e) => onExpandClick(item.id, e)}\n aria-label={isExpanded ? 'Collapse item details' : 'Expand item details'}\n sx={{\n transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.3s ease',\n }}\n >\n <ExpandIcon />\n </IconButton>\n )}\n </Box>\n);\n\n// The card beside the rail: timestamp, title, expand toggle and the collapsible\n// detail body.\nconst TimelineRowCard: React.FC<{\n item: TimelineItem;\n variant: NonNullable<TimelineProps['variant']>;\n isClickable: boolean;\n isExpanded: boolean;\n onItemClick?: (item: TimelineItem) => void;\n onExpandClick: (itemId: string, event: React.MouseEvent) => void;\n}> = ({ item, variant, isClickable, isExpanded, onItemClick, onExpandClick }) => (\n <TimelineCard\n timelineVariant={variant}\n isClickable={isClickable}\n onClick={isClickable ? () => onItemClick?.(item) : undefined}\n role=\"article\"\n aria-label={`Timeline item: ${item.title}`}\n data-testid=\"timeline-card\"\n >\n <CardContent>\n <Stack spacing={1}>\n <TimelineCardHeader\n item={item}\n variant={variant}\n isExpanded={isExpanded}\n onExpandClick={onExpandClick}\n />\n\n {variant === 'compact' && item.description && (\n <Typography variant=\"caption\" color=\"text.secondary\">\n {item.description}\n </Typography>\n )}\n\n {variant !== 'compact' && (\n <TimelineDetails item={item} isExpanded={isExpanded} variant={variant} />\n )}\n </Stack>\n </CardContent>\n </TimelineCard>\n);\n\n// One entry: the dot and connector on the rail, and the card beside it.\nexport const TimelineRow: React.FC<{\n item: TimelineItem;\n index: number;\n isLast: boolean;\n variant: NonNullable<TimelineProps['variant']>;\n orientation: 'vertical' | 'horizontal';\n showConnector: boolean;\n animated: boolean;\n alternating: boolean;\n isExpanded: boolean;\n onItemClick?: (item: TimelineItem) => void;\n onExpandClick: (itemId: string, event: React.MouseEvent) => void;\n}> = ({\n item,\n index,\n isLast,\n variant,\n orientation,\n showConnector,\n animated,\n alternating,\n isExpanded,\n onItemClick,\n onExpandClick,\n}) => {\n\n \n // Determine if item should be clickable:\n // - Has onItemClick callback, OR\n // - Has description and variant is not compact (so it can be expanded)\n const hasExpandableContent = item.description && variant !== 'compact';\n const isClickable = !!onItemClick || !!hasExpandableContent;\n\n return (\n <TimelineItemContainer\n key={item.id}\n animated={animated}\n alternating={alternating && orientation === 'vertical'}\n index={index}\n orientation={orientation}\n data-testid=\"timeline-item-container\"\n >\n <Box sx={{ position: 'relative' }}>\n <TimelineDot\n dotColor={item.color}\n hasIcon={!!item.icon}\n animated={animated}\n data-testid=\"timeline-dot\"\n >\n {item.icon ? (\n <Box data-testid=\"item-icon\">{item.icon}</Box>\n ) : (\n <DotIcon data-testid=\"item-icon-default\" />\n )}\n </TimelineDot>\n {showConnector && !isLast && (\n <TimelineConnector\n orientation={orientation}\n isLast={isLast}\n data-testid=\"timeline-connector\"\n />\n )}\n </Box>\n\n <TimelineRowCard\n item={item}\n variant={variant}\n isClickable={isClickable}\n isExpanded={isExpanded}\n onItemClick={onItemClick}\n onExpandClick={onExpandClick}\n />\n </TimelineItemContainer>\n );\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/pt-BR.feedback.ts"],"sourcesContent":["/**\n * The pt-BR pack for the feedback family. Split out of `pt-BR.ts`, which is a\n * barrel over this folder — see that file for why.\n */\nimport type {\n ChromeCopy,\n NotificationUnblockCopy,\n TutorialCopy,\n} from './copy';\n\nexport const PT_BR_TUTORIAL_COPY: TutorialCopy = {\n skip: \"Pular\",\n previous: \"Anterior\",\n next: \"Próximo\",\n restart: \"Recomeçar\",\n complete: \"Concluir\",\n finish: \"Finalizar\",\n requiresAction: \"Conclua a ação obrigatória primeiro\",\n};\n\nexport const PT_BR_CHROME_COPY: ChromeCopy = {\n dismissToast: \"Fechar o aviso\",\n goBack: \"Voltar\",\n closePanel: \"Fechar\",\n closeTab: \"Fechar a aba\",\n scrollRegion: \"Conteúdo rolável\",\n scrollToTop: \"Voltar ao topo\",\n share: \"Compartilhar\",\n};\n\nconst PT_BR_CHROMIUM_DESKTOP = [\n \"Clique no ícone à esquerda do endereço do site.\",\n \"Abra \\\"Configurações do site\\\".\",\n \"Em \\\"Notificações\\\", escolha \\\"Permitir\\\".\",\n \"Volte a esta página e recarregue.\",\n] as const;\n\nconst PT_BR_CHROMIUM_ANDROID = [\n \"Toque no ícone à esquerda do endereço do site.\",\n \"Toque em \\\"Permissões\\\".\",\n \"Toque em \\\"Notificações\\\" e escolha \\\"Permitir\\\".\",\n \"Volte a esta página e recarregue.\",\n] as const;\n\nexport const PT_BR_NOTIFICATION_UNBLOCK_COPY: NotificationUnblockCopy = {\n ios: [\n \"Abra os Ajustes do iPhone.\",\n \"Toque em \\\"Notificações\\\".\",\n \"Encontre este app na lista e ative \\\"Permitir Notificações\\\".\",\n ],\n chrome: { desktop: PT_BR_CHROMIUM_DESKTOP, android: PT_BR_CHROMIUM_ANDROID },\n edge: {\n desktop: [\n \"Clique no cadeado à esquerda do endereço do site.\",\n \"Abra \\\"Permissões para este site\\\".\",\n \"Em \\\"Notificações\\\", escolha \\\"Permitir\\\".\",\n \"Volte a esta página e recarregue.\",\n ],\n android: PT_BR_CHROMIUM_ANDROID,\n },\n firefox: {\n desktop: [\n \"Clique no ícone de permissões à esquerda do endereço do site.\",\n \"Ao lado de \\\"Enviar notificações\\\", clique no X para tirar o bloqueio.\",\n \"Recarregue a página e ative as notificações de novo.\",\n ],\n android: [\n \"Abra o menu do navegador e toque em \\\"Configurações\\\".\",\n \"Toque em \\\"Permissões de sites\\\" e depois em \\\"Notificações\\\".\",\n \"Encontre este site e escolha \\\"Permitir\\\".\",\n \"Volte a esta página e recarregue.\",\n ],\n },\n opera: { desktop: PT_BR_CHROMIUM_DESKTOP, android: PT_BR_CHROMIUM_ANDROID },\n safari: {\n desktop: [\n \"No menu Safari, abra \\\"Ajustes\\\".\",\n \"Vá na aba \\\"Sites\\\" e, na lateral, em \\\"Notificações\\\".\",\n \"Encontre este site e escolha \\\"Permitir\\\".\",\n \"Volte a esta página e recarregue.\",\n ],\n },\n samsung: {\n android: [\n \"Abra o menu do navegador e toque em \\\"Configurações\\\".\",\n \"Toque em \\\"Sites e downloads\\\" e depois em \\\"Notificações\\\".\",\n \"Encontre este site e permita as notificações.\",\n \"Volte a esta página e recarregue.\",\n ],\n },\n other: [\n \"Abra as configurações do navegador.\",\n \"Procure as permissões dos sites e depois \\\"Notificações\\\".\",\n \"Permita as notificações para este site.\",\n \"Volte a esta página e recarregue.\",\n ],\n};\n"],"mappings":";AAUO,IAAM,sBAAoC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,SAAS;AAAA,EACT,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,gBAAgB;AAClB;AAEO,IAAM,oBAAgC;AAAA,EAC3C,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAAA,EACd,aAAa;AAAA,EACb,OAAO;AACT;AAEA,IAAM,yBAAyB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,yBAAyB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,kCAA2D;AAAA,EACtE,KAAK;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,QAAQ,EAAE,SAAS,wBAAwB,SAAS,uBAAuB;AAAA,EAC3E,MAAM;AAAA,IACJ,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,SAAS;AAAA,EACX;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO,EAAE,SAAS,wBAAwB,SAAS,uBAAuB;AAAA,EAC1E,QAAQ;AAAA,IACN,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -1 +0,0 @@
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 maxWidth: rem(theme, 360),\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":[]}