@12-apps/ui 6.6.0 → 6.8.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 (436) hide show
  1. package/dist/{chunk-QLBYAYUG.js → chunk-KR2BP7NK.js} +4 -4
  2. package/dist/chunk-KR2BP7NK.js.map +1 -0
  3. package/dist/{chunk-DFVRZ3UK.js → chunk-KXARS46L.js} +3 -3
  4. package/dist/chunk-KXARS46L.js.map +1 -0
  5. package/dist/{chunk-JP55QWVR.js → chunk-L7L6SX64.js} +5 -2
  6. package/dist/chunk-L7L6SX64.js.map +1 -0
  7. package/dist/{chunk-QZZVHY6U.js → chunk-PVLDKXKR.js} +7 -3
  8. package/dist/chunk-PVLDKXKR.js.map +1 -0
  9. package/dist/{chunk-3KWD5Y5O.js → chunk-RXE5CUUE.js} +8 -4
  10. package/dist/chunk-RXE5CUUE.js.map +1 -0
  11. package/dist/{chunk-H7UAGTVW.js → chunk-TSG5C7MP.js} +4 -3
  12. package/dist/chunk-TSG5C7MP.js.map +1 -0
  13. package/dist/{chunk-NUCLEOHF.js → chunk-UNM7KFDX.js} +44 -14
  14. package/dist/chunk-UNM7KFDX.js.map +1 -0
  15. package/dist/{chunk-CEKPLUQV.js → chunk-UY7UF7IN.js} +19 -13
  16. package/dist/chunk-UY7UF7IN.js.map +1 -0
  17. package/dist/data-display/Alert.js +1 -1
  18. package/dist/data-display/AsyncStateContainer.js +2 -1
  19. package/dist/data-display/AsyncStateContainer.js.map +1 -1
  20. package/dist/data-display/Banner.js +4 -2
  21. package/dist/data-display/Banner.js.map +1 -1
  22. package/dist/data-display/CardKit.js +3 -1
  23. package/dist/data-display/CardKit.js.map +1 -1
  24. package/dist/data-display/Carousel.js +5 -2
  25. package/dist/data-display/Carousel.js.map +1 -1
  26. package/dist/data-display/DataGrid.js +1 -1
  27. package/dist/data-display/DataViews.js +90 -66
  28. package/dist/data-display/DataViews.js.map +1 -1
  29. package/dist/data-display/HoverCard.js +4 -1
  30. package/dist/data-display/HoverCard.js.map +1 -1
  31. package/dist/data-display/Lightbox.js +147 -117
  32. package/dist/data-display/Lightbox.js.map +1 -1
  33. package/dist/data-display/MapPreview.js +14 -10
  34. package/dist/data-display/MapPreview.js.map +1 -1
  35. package/dist/data-display/Table.js +4 -2
  36. package/dist/data-display/Table.js.map +1 -1
  37. package/dist/data-display/TimingDiagram.js +3 -2
  38. package/dist/data-display/TimingDiagram.js.map +1 -1
  39. package/dist/feedback/Sonner.js +5 -4
  40. package/dist/feedback/Sonner.js.map +1 -1
  41. package/dist/feedback/StackedModal.js +1 -1
  42. package/dist/feedback/TutorialOverlay.js +19 -5
  43. package/dist/feedback/TutorialOverlay.js.map +1 -1
  44. package/dist/form/AddressAutocomplete.js +16 -8
  45. package/dist/form/AddressAutocomplete.js.map +1 -1
  46. package/dist/form/Autocomplete.js +9 -7
  47. package/dist/form/Autocomplete.js.map +1 -1
  48. package/dist/form/Calendar.js +1 -1
  49. package/dist/form/CodeEditor.js +14 -9
  50. package/dist/form/CodeEditor.js.map +1 -1
  51. package/dist/form/DateRangePicker.js +10 -3
  52. package/dist/form/DateRangePicker.js.map +1 -1
  53. package/dist/form/Menubar.js +4 -1
  54. package/dist/form/Menubar.js.map +1 -1
  55. package/dist/form/PasswordStrength.js +48 -28
  56. package/dist/form/PasswordStrength.js.map +1 -1
  57. package/dist/form/PhoneInput.js +11 -5
  58. package/dist/form/PhoneInput.js.map +1 -1
  59. package/dist/form/SearchPalette.js +4 -1
  60. package/dist/form/SearchPalette.js.map +1 -1
  61. package/dist/form/Textarea.js +21 -19
  62. package/dist/form/Textarea.js.map +1 -1
  63. package/dist/form/UploadButton.js +16 -11
  64. package/dist/form/UploadButton.js.map +1 -1
  65. package/dist/layout/ContentToolbar.js +1 -1
  66. package/dist/layout/Dashboard.js +2 -1
  67. package/dist/layout/Dashboard.js.map +1 -1
  68. package/dist/layout/ScrollArea.js +9 -3
  69. package/dist/layout/ScrollArea.js.map +1 -1
  70. package/dist/layout/TableFilter.js +1 -1
  71. package/dist/navigation/Breadcrumbs.js +9 -3
  72. package/dist/navigation/Breadcrumbs.js.map +1 -1
  73. package/dist/navigation/CommandPalette.js +20 -7
  74. package/dist/navigation/CommandPalette.js.map +1 -1
  75. package/dist/navigation/Pagination.js +1 -1
  76. package/dist/navigation/Tabs.js +7 -3
  77. package/dist/navigation/Tabs.js.map +1 -1
  78. package/dist/pt-BR.js +192 -5
  79. package/dist/pt-BR.js.map +1 -1
  80. package/dist/types/components/data-display/Alert/Alert.d.ts +9 -2
  81. package/dist/types/components/data-display/Alert/Alert.d.ts.map +1 -1
  82. package/dist/types/components/data-display/Alert/Alert.types.d.ts +25 -9
  83. package/dist/types/components/data-display/Alert/Alert.types.d.ts.map +1 -1
  84. package/dist/types/components/data-display/AsyncStateContainer/AsyncStateContainer.d.ts.map +1 -1
  85. package/dist/types/components/data-display/AsyncStateContainer/AsyncStateContainer.types.d.ts +6 -0
  86. package/dist/types/components/data-display/AsyncStateContainer/AsyncStateContainer.types.d.ts.map +1 -1
  87. package/dist/types/components/data-display/Banner/Banner.d.ts.map +1 -1
  88. package/dist/types/components/data-display/Banner/Banner.types.d.ts +2 -0
  89. package/dist/types/components/data-display/Banner/Banner.types.d.ts.map +1 -1
  90. package/dist/types/components/data-display/CardKit/card-actions-context.d.ts +3 -1
  91. package/dist/types/components/data-display/CardKit/card-actions-context.d.ts.map +1 -1
  92. package/dist/types/components/data-display/Carousel/Carousel.chrome.d.ts +3 -0
  93. package/dist/types/components/data-display/Carousel/Carousel.chrome.d.ts.map +1 -1
  94. package/dist/types/components/data-display/Carousel/Carousel.parts.d.ts.map +1 -1
  95. package/dist/types/components/data-display/Carousel/Carousel.types.d.ts +7 -0
  96. package/dist/types/components/data-display/Carousel/Carousel.types.d.ts.map +1 -1
  97. package/dist/types/components/data-display/DataGrid/DataGrid.states.d.ts +1 -0
  98. package/dist/types/components/data-display/DataGrid/DataGrid.states.d.ts.map +1 -1
  99. package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts +5 -0
  100. package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts.map +1 -1
  101. package/dist/types/components/data-display/DataViews/data-views-category-pill.d.ts.map +1 -1
  102. package/dist/types/components/data-display/DataViews/data-views-copy.d.ts +29 -1
  103. package/dist/types/components/data-display/DataViews/data-views-copy.d.ts.map +1 -1
  104. package/dist/types/components/data-display/DataViews/data-views-day-input.d.ts +12 -1
  105. package/dist/types/components/data-display/DataViews/data-views-day-input.d.ts.map +1 -1
  106. package/dist/types/components/data-display/DataViews/data-views-filter-panel.d.ts.map +1 -1
  107. package/dist/types/components/data-display/DataViews/data-views-grid-bodies.d.ts.map +1 -1
  108. package/dist/types/components/data-display/DataViews/data-views-grid-parts.d.ts.map +1 -1
  109. package/dist/types/components/data-display/DataViews/data-views-more-fields.d.ts.map +1 -1
  110. package/dist/types/components/data-display/DataViews/data-views-pagination.d.ts.map +1 -1
  111. package/dist/types/components/data-display/DataViews/data-views-range-pill.d.ts.map +1 -1
  112. package/dist/types/components/data-display/DataViews/data-views-table-parts.d.ts.map +1 -1
  113. package/dist/types/components/data-display/DataViews/data-views-toolbar.d.ts.map +1 -1
  114. package/dist/types/components/data-display/HoverCard/HoverCard.content.d.ts +1 -1
  115. package/dist/types/components/data-display/HoverCard/HoverCard.content.d.ts.map +1 -1
  116. package/dist/types/components/data-display/HoverCard/HoverCard.d.ts.map +1 -1
  117. package/dist/types/components/data-display/HoverCard/HoverCard.types.d.ts +2 -0
  118. package/dist/types/components/data-display/HoverCard/HoverCard.types.d.ts.map +1 -1
  119. package/dist/types/components/data-display/Lightbox/Lightbox.d.ts.map +1 -1
  120. package/dist/types/components/data-display/Lightbox/Lightbox.types.d.ts +9 -0
  121. package/dist/types/components/data-display/Lightbox/Lightbox.types.d.ts.map +1 -1
  122. package/dist/types/components/data-display/Lightbox/LightboxControls.d.ts.map +1 -1
  123. package/dist/types/components/data-display/Lightbox/lightbox-copy-context.d.ts +17 -0
  124. package/dist/types/components/data-display/Lightbox/lightbox-copy-context.d.ts.map +1 -0
  125. package/dist/types/components/data-display/MapPreview/MapControlBar.d.ts +7 -0
  126. package/dist/types/components/data-display/MapPreview/MapControlBar.d.ts.map +1 -1
  127. package/dist/types/components/data-display/MapPreview/MapLayers.d.ts.map +1 -1
  128. package/dist/types/components/data-display/MapPreview/MapPreview.types.d.ts +9 -0
  129. package/dist/types/components/data-display/MapPreview/MapPreview.types.d.ts.map +1 -1
  130. package/dist/types/components/data-display/MapPreview/MapSearchBar.d.ts +2 -0
  131. package/dist/types/components/data-display/MapPreview/MapSearchBar.d.ts.map +1 -1
  132. package/dist/types/components/data-display/Table/Table.d.ts.map +1 -1
  133. package/dist/types/components/data-display/Table/Table.types.d.ts +5 -0
  134. package/dist/types/components/data-display/Table/Table.types.d.ts.map +1 -1
  135. package/dist/types/components/data-display/Table/TableStates.d.ts +3 -1
  136. package/dist/types/components/data-display/Table/TableStates.d.ts.map +1 -1
  137. package/dist/types/components/data-display/TimingDiagram/TimingDiagram.d.ts.map +1 -1
  138. package/dist/types/components/data-display/TimingDiagram/TimingDiagram.types.d.ts +3 -0
  139. package/dist/types/components/data-display/TimingDiagram/TimingDiagram.types.d.ts.map +1 -1
  140. package/dist/types/components/feedback/Sonner/Sonner.d.ts +8 -0
  141. package/dist/types/components/feedback/Sonner/Sonner.d.ts.map +1 -1
  142. package/dist/types/components/feedback/Sonner/Sonner.types.d.ts +2 -0
  143. package/dist/types/components/feedback/Sonner/Sonner.types.d.ts.map +1 -1
  144. package/dist/types/components/feedback/Sonner/SonnerToast.d.ts.map +1 -1
  145. package/dist/types/components/feedback/StackedModal/StackedModal.d.ts.map +1 -1
  146. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts +2 -0
  147. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts.map +1 -1
  148. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts +2 -0
  149. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts.map +1 -1
  150. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.d.ts.map +1 -1
  151. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.types.d.ts +3 -0
  152. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.types.d.ts.map +1 -1
  153. package/dist/types/components/feedback/TutorialOverlay/TutorialStepBody.d.ts +2 -0
  154. package/dist/types/components/feedback/TutorialOverlay/TutorialStepBody.d.ts.map +1 -1
  155. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.types.d.ts +7 -0
  156. package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.types.d.ts.map +1 -1
  157. package/dist/types/components/form/AddressAutocomplete/AddressAutocompleteField.d.ts.map +1 -1
  158. package/dist/types/components/form/AddressAutocomplete/AddressFallbackField.d.ts +1 -0
  159. package/dist/types/components/form/AddressAutocomplete/AddressFallbackField.d.ts.map +1 -1
  160. package/dist/types/components/form/AddressAutocomplete/AddressInputField.d.ts +1 -0
  161. package/dist/types/components/form/AddressAutocomplete/AddressInputField.d.ts.map +1 -1
  162. package/dist/types/components/form/Autocomplete/Autocomplete.d.ts.map +1 -1
  163. package/dist/types/components/form/Autocomplete/Autocomplete.parts.d.ts +9 -3
  164. package/dist/types/components/form/Autocomplete/Autocomplete.parts.d.ts.map +1 -1
  165. package/dist/types/components/form/Autocomplete/Autocomplete.types.d.ts +7 -0
  166. package/dist/types/components/form/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  167. package/dist/types/components/form/Calendar/Calendar.types.d.ts +6 -0
  168. package/dist/types/components/form/Calendar/Calendar.types.d.ts.map +1 -1
  169. package/dist/types/components/form/CodeEditor/CodeEditor.d.ts.map +1 -1
  170. package/dist/types/components/form/CodeEditor/CodeEditor.types.d.ts +7 -0
  171. package/dist/types/components/form/CodeEditor/CodeEditor.types.d.ts.map +1 -1
  172. package/dist/types/components/form/CodeEditor/CodeEditorToolbar.d.ts +2 -0
  173. package/dist/types/components/form/CodeEditor/CodeEditorToolbar.d.ts.map +1 -1
  174. package/dist/types/components/form/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  175. package/dist/types/components/form/DateRangePicker/DateRangePicker.range.d.ts.map +1 -1
  176. package/dist/types/components/form/DateRangePicker/DateRangePicker.types.d.ts +11 -0
  177. package/dist/types/components/form/DateRangePicker/DateRangePicker.types.d.ts.map +1 -1
  178. package/dist/types/components/form/DateRangePicker/DateRangePickerFields.d.ts.map +1 -1
  179. package/dist/types/components/form/Menubar/Menubar.d.ts.map +1 -1
  180. package/dist/types/components/form/Menubar/Menubar.toolbar.d.ts +1 -0
  181. package/dist/types/components/form/Menubar/Menubar.toolbar.d.ts.map +1 -1
  182. package/dist/types/components/form/Menubar/Menubar.types.d.ts +5 -0
  183. package/dist/types/components/form/Menubar/Menubar.types.d.ts.map +1 -1
  184. package/dist/types/components/form/PasswordStrength/PasswordStrength.d.ts.map +1 -1
  185. package/dist/types/components/form/PasswordStrength/PasswordStrength.helpers.d.ts +4 -2
  186. package/dist/types/components/form/PasswordStrength/PasswordStrength.helpers.d.ts.map +1 -1
  187. package/dist/types/components/form/PasswordStrength/PasswordStrength.types.d.ts +8 -0
  188. package/dist/types/components/form/PasswordStrength/PasswordStrength.types.d.ts.map +1 -1
  189. package/dist/types/components/form/PhoneInput/PhoneInput.d.ts.map +1 -1
  190. package/dist/types/components/form/PhoneInput/PhoneInput.types.d.ts +7 -0
  191. package/dist/types/components/form/PhoneInput/PhoneInput.types.d.ts.map +1 -1
  192. package/dist/types/components/form/SearchPalette/SearchPalette.d.ts.map +1 -1
  193. package/dist/types/components/form/SearchPalette/SearchPalette.parts.d.ts +2 -0
  194. package/dist/types/components/form/SearchPalette/SearchPalette.parts.d.ts.map +1 -1
  195. package/dist/types/components/form/SearchPalette/SearchPalette.types.d.ts +6 -0
  196. package/dist/types/components/form/SearchPalette/SearchPalette.types.d.ts.map +1 -1
  197. package/dist/types/components/form/Textarea/Textarea.d.ts.map +1 -1
  198. package/dist/types/components/form/Textarea/Textarea.types.d.ts +16 -1
  199. package/dist/types/components/form/Textarea/Textarea.types.d.ts.map +1 -1
  200. package/dist/types/components/form/Textarea/TextareaRichEditor.d.ts +7 -0
  201. package/dist/types/components/form/Textarea/TextareaRichEditor.d.ts.map +1 -1
  202. package/dist/types/components/form/UploadButton/UploadButton.d.ts.map +1 -1
  203. package/dist/types/components/form/UploadButton/UploadButton.parts.d.ts +6 -3
  204. package/dist/types/components/form/UploadButton/UploadButton.parts.d.ts.map +1 -1
  205. package/dist/types/components/form/UploadButton/UploadButton.types.d.ts +7 -0
  206. package/dist/types/components/form/UploadButton/UploadButton.types.d.ts.map +1 -1
  207. package/dist/types/components/layout/ContentToolbar/ContentToolbar.d.ts +1 -1
  208. package/dist/types/components/layout/ContentToolbar/ContentToolbar.d.ts.map +1 -1
  209. package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts +12 -0
  210. package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts.map +1 -1
  211. package/dist/types/components/layout/ContentToolbar/MultiSelectDropdown.d.ts +1 -1
  212. package/dist/types/components/layout/ContentToolbar/MultiSelectDropdown.d.ts.map +1 -1
  213. package/dist/types/components/layout/ContentToolbar/SortByDropdown.d.ts +1 -1
  214. package/dist/types/components/layout/ContentToolbar/SortByDropdown.d.ts.map +1 -1
  215. package/dist/types/components/layout/ContentToolbar/ViewSelector.d.ts +1 -1
  216. package/dist/types/components/layout/ContentToolbar/ViewSelector.d.ts.map +1 -1
  217. package/dist/types/components/layout/Dashboard/Dashboard.d.ts +1 -1
  218. package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts +4 -0
  219. package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts.map +1 -1
  220. package/dist/types/components/layout/Dashboard/DashboardParts.d.ts +1 -1
  221. package/dist/types/components/layout/Dashboard/DashboardParts.d.ts.map +1 -1
  222. package/dist/types/components/layout/ScrollArea/ScrollArea.d.ts.map +1 -1
  223. package/dist/types/components/layout/ScrollArea/ScrollArea.types.d.ts +21 -3
  224. package/dist/types/components/layout/ScrollArea/ScrollArea.types.d.ts.map +1 -1
  225. package/dist/types/components/layout/ScrollArea/ScrollViewport.d.ts +2 -0
  226. package/dist/types/components/layout/ScrollArea/ScrollViewport.d.ts.map +1 -1
  227. package/dist/types/components/layout/TableFilter/TableFilter.d.ts +1 -1
  228. package/dist/types/components/layout/TableFilter/TableFilter.d.ts.map +1 -1
  229. package/dist/types/components/layout/TableFilter/TableFilter.types.d.ts +7 -0
  230. package/dist/types/components/layout/TableFilter/TableFilter.types.d.ts.map +1 -1
  231. package/dist/types/components/layout/TableFilter/TableFilterContext.d.ts +9 -0
  232. package/dist/types/components/layout/TableFilter/TableFilterContext.d.ts.map +1 -1
  233. package/dist/types/components/navigation/Breadcrumbs/BreadcrumbEntry.d.ts +2 -0
  234. package/dist/types/components/navigation/Breadcrumbs/BreadcrumbEntry.d.ts.map +1 -1
  235. package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  236. package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.types.d.ts +3 -0
  237. package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.types.d.ts.map +1 -1
  238. package/dist/types/components/navigation/CommandPalette/CommandPalette.d.ts.map +1 -1
  239. package/dist/types/components/navigation/CommandPalette/CommandPalette.types.d.ts +3 -0
  240. package/dist/types/components/navigation/CommandPalette/CommandPalette.types.d.ts.map +1 -1
  241. package/dist/types/components/navigation/CommandPalette/CommandPaletteResults.d.ts +2 -0
  242. package/dist/types/components/navigation/CommandPalette/CommandPaletteResults.d.ts.map +1 -1
  243. package/dist/types/components/navigation/Pagination/Pagination.d.ts.map +1 -1
  244. package/dist/types/components/navigation/Pagination/Pagination.types.d.ts +2 -0
  245. package/dist/types/components/navigation/Pagination/Pagination.types.d.ts.map +1 -1
  246. package/dist/types/components/navigation/Pagination/PaginationParts.d.ts +2 -0
  247. package/dist/types/components/navigation/Pagination/PaginationParts.d.ts.map +1 -1
  248. package/dist/types/components/navigation/Tabs/Tabs.d.ts.map +1 -1
  249. package/dist/types/components/navigation/Tabs/Tabs.types.d.ts +2 -0
  250. package/dist/types/components/navigation/Tabs/Tabs.types.d.ts.map +1 -1
  251. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.d.ts.map +1 -1
  252. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.parts.d.ts +6 -2
  253. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.parts.d.ts.map +1 -1
  254. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.types.d.ts +6 -0
  255. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.types.d.ts.map +1 -1
  256. package/dist/types/components/utility/InstallPrompt/InstallPrompt.d.ts +4 -2
  257. package/dist/types/components/utility/InstallPrompt/InstallPrompt.d.ts.map +1 -1
  258. package/dist/types/components/utility/InstallPrompt/InstallPrompt.types.d.ts +8 -7
  259. package/dist/types/components/utility/InstallPrompt/InstallPrompt.types.d.ts.map +1 -1
  260. package/dist/types/copy/data-display.d.ts +56 -0
  261. package/dist/types/copy/data-display.d.ts.map +1 -0
  262. package/dist/types/copy/feedback.d.ts +38 -0
  263. package/dist/types/copy/feedback.d.ts.map +1 -0
  264. package/dist/types/copy/form.d.ts +146 -0
  265. package/dist/types/copy/form.d.ts.map +1 -0
  266. package/dist/types/copy/layout.d.ts +18 -0
  267. package/dist/types/copy/layout.d.ts.map +1 -0
  268. package/dist/types/copy/navigation.d.ts +24 -0
  269. package/dist/types/copy/navigation.d.ts.map +1 -0
  270. package/dist/types/copy/shared.d.ts +119 -0
  271. package/dist/types/copy/shared.d.ts.map +1 -0
  272. package/dist/types/copy/utility.d.ts +35 -0
  273. package/dist/types/copy/utility.d.ts.map +1 -0
  274. package/dist/types/copy.d.ts +13 -113
  275. package/dist/types/copy.d.ts.map +1 -1
  276. package/dist/types/pt-BR.d.ts +15 -18
  277. package/dist/types/pt-BR.d.ts.map +1 -1
  278. package/dist/types/pt-BR.data-display.d.ts +13 -0
  279. package/dist/types/pt-BR.data-display.d.ts.map +1 -0
  280. package/dist/types/pt-BR.feedback.d.ts +8 -0
  281. package/dist/types/pt-BR.feedback.d.ts.map +1 -0
  282. package/dist/types/pt-BR.form.d.ts +13 -0
  283. package/dist/types/pt-BR.form.d.ts.map +1 -0
  284. package/dist/types/pt-BR.layout.d.ts +7 -0
  285. package/dist/types/pt-BR.layout.d.ts.map +1 -0
  286. package/dist/types/pt-BR.navigation.d.ts +8 -0
  287. package/dist/types/pt-BR.navigation.d.ts.map +1 -0
  288. package/dist/types/pt-BR.shared.d.ts +21 -0
  289. package/dist/types/pt-BR.shared.d.ts.map +1 -0
  290. package/dist/types/pt-BR.utility.d.ts +8 -0
  291. package/dist/types/pt-BR.utility.d.ts.map +1 -0
  292. package/dist/types/user-avatar/user-avatar.d.ts +7 -1
  293. package/dist/types/user-avatar/user-avatar.d.ts.map +1 -1
  294. package/dist/user-avatar.js +2 -2
  295. package/dist/user-avatar.js.map +1 -1
  296. package/dist/utility/InfiniteScroll.js +7 -5
  297. package/dist/utility/InfiniteScroll.js.map +1 -1
  298. package/dist/utility/InstallPrompt.js +14 -13
  299. package/dist/utility/InstallPrompt.js.map +1 -1
  300. package/package.json +1 -1
  301. package/src/components/data-display/Alert/Alert.tsx +22 -5
  302. package/src/components/data-display/Alert/Alert.types.ts +20 -10
  303. package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.tsx +2 -1
  304. package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.types.ts +6 -0
  305. package/src/components/data-display/Banner/Banner.tsx +5 -2
  306. package/src/components/data-display/Banner/Banner.types.ts +2 -0
  307. package/src/components/data-display/CardKit/card-actions-context.tsx +4 -0
  308. package/src/components/data-display/Carousel/Carousel.chrome.tsx +5 -0
  309. package/src/components/data-display/Carousel/Carousel.parts.tsx +4 -3
  310. package/src/components/data-display/Carousel/Carousel.types.ts +7 -0
  311. package/src/components/data-display/DataGrid/DataGrid.states.tsx +3 -3
  312. package/src/components/data-display/DataGrid/DataGrid.tsx +1 -1
  313. package/src/components/data-display/DataGrid/DataGrid.types.ts +5 -0
  314. package/src/components/data-display/DataViews/data-views-category-pill.tsx +2 -0
  315. package/src/components/data-display/DataViews/data-views-copy.ts +29 -1
  316. package/src/components/data-display/DataViews/data-views-day-input.tsx +14 -3
  317. package/src/components/data-display/DataViews/data-views-filter-panel.tsx +2 -1
  318. package/src/components/data-display/DataViews/data-views-grid-bodies.tsx +3 -0
  319. package/src/components/data-display/DataViews/data-views-grid-parts.tsx +9 -10
  320. package/src/components/data-display/DataViews/data-views-more-fields.tsx +3 -1
  321. package/src/components/data-display/DataViews/data-views-pagination.tsx +3 -0
  322. package/src/components/data-display/DataViews/data-views-range-pill.tsx +3 -1
  323. package/src/components/data-display/DataViews/data-views-table-parts.tsx +1 -0
  324. package/src/components/data-display/DataViews/data-views-toolbar.tsx +2 -0
  325. package/src/components/data-display/HoverCard/HoverCard.content.tsx +10 -2
  326. package/src/components/data-display/HoverCard/HoverCard.tsx +2 -3
  327. package/src/components/data-display/HoverCard/HoverCard.types.ts +2 -0
  328. package/src/components/data-display/Lightbox/Lightbox.tsx +3 -0
  329. package/src/components/data-display/Lightbox/Lightbox.types.ts +9 -0
  330. package/src/components/data-display/Lightbox/LightboxControls.tsx +28 -15
  331. package/src/components/data-display/Lightbox/lightbox-copy-context.tsx +42 -0
  332. package/src/components/data-display/MapPreview/MapControlBar.tsx +17 -9
  333. package/src/components/data-display/MapPreview/MapLayers.tsx +2 -0
  334. package/src/components/data-display/MapPreview/MapPreview.types.ts +10 -0
  335. package/src/components/data-display/MapPreview/MapSearchBar.tsx +4 -1
  336. package/src/components/data-display/Table/Table.tsx +7 -2
  337. package/src/components/data-display/Table/Table.types.ts +5 -0
  338. package/src/components/data-display/Table/TableStates.tsx +2 -2
  339. package/src/components/data-display/TimingDiagram/TimingDiagram.tsx +3 -2
  340. package/src/components/data-display/TimingDiagram/TimingDiagram.types.ts +3 -0
  341. package/src/components/feedback/Sonner/Sonner.tsx +15 -3
  342. package/src/components/feedback/Sonner/Sonner.types.ts +2 -0
  343. package/src/components/feedback/Sonner/SonnerToast.tsx +2 -1
  344. package/src/components/feedback/StackedModal/StackedModal.parts.tsx +10 -3
  345. package/src/components/feedback/StackedModal/StackedModal.tsx +2 -1
  346. package/src/components/feedback/StackedModal/StackedModal.types.ts +2 -0
  347. package/src/components/feedback/TutorialOverlay/TutorialOverlay.tsx +13 -1
  348. package/src/components/feedback/TutorialOverlay/TutorialOverlay.types.ts +3 -0
  349. package/src/components/feedback/TutorialOverlay/TutorialStepBody.tsx +10 -4
  350. package/src/components/form/AddressAutocomplete/AddressAutocomplete.types.ts +7 -0
  351. package/src/components/form/AddressAutocomplete/AddressAutocompleteField.tsx +2 -0
  352. package/src/components/form/AddressAutocomplete/AddressFallbackField.tsx +4 -2
  353. package/src/components/form/AddressAutocomplete/AddressInputField.tsx +13 -6
  354. package/src/components/form/Autocomplete/Autocomplete.parts.tsx +9 -6
  355. package/src/components/form/Autocomplete/Autocomplete.tsx +2 -1
  356. package/src/components/form/Autocomplete/Autocomplete.types.ts +7 -0
  357. package/src/components/form/Calendar/Calendar.tsx +2 -2
  358. package/src/components/form/Calendar/Calendar.types.ts +7 -0
  359. package/src/components/form/CodeEditor/CodeEditor.tsx +6 -4
  360. package/src/components/form/CodeEditor/CodeEditor.types.ts +7 -0
  361. package/src/components/form/CodeEditor/CodeEditorToolbar.tsx +12 -5
  362. package/src/components/form/DateRangePicker/DateRangePicker.range.ts +2 -0
  363. package/src/components/form/DateRangePicker/DateRangePicker.tsx +4 -0
  364. package/src/components/form/DateRangePicker/DateRangePicker.types.ts +11 -0
  365. package/src/components/form/DateRangePicker/DateRangePickerFields.tsx +2 -0
  366. package/src/components/form/Menubar/Menubar.toolbar.tsx +3 -1
  367. package/src/components/form/Menubar/Menubar.tsx +2 -1
  368. package/src/components/form/Menubar/Menubar.types.ts +5 -0
  369. package/src/components/form/PasswordStrength/PasswordStrength.helpers.tsx +33 -17
  370. package/src/components/form/PasswordStrength/PasswordStrength.tsx +29 -13
  371. package/src/components/form/PasswordStrength/PasswordStrength.types.ts +9 -0
  372. package/src/components/form/PhoneInput/PhoneInput.tsx +15 -5
  373. package/src/components/form/PhoneInput/PhoneInput.types.ts +7 -0
  374. package/src/components/form/SearchPalette/SearchPalette.parts.tsx +4 -1
  375. package/src/components/form/SearchPalette/SearchPalette.tsx +4 -1
  376. package/src/components/form/SearchPalette/SearchPalette.types.ts +6 -0
  377. package/src/components/form/Textarea/Textarea.tsx +6 -1
  378. package/src/components/form/Textarea/Textarea.types.ts +14 -1
  379. package/src/components/form/Textarea/TextareaRichEditor.tsx +28 -18
  380. package/src/components/form/UploadButton/UploadButton.parts.tsx +16 -7
  381. package/src/components/form/UploadButton/UploadButton.tsx +4 -1
  382. package/src/components/form/UploadButton/UploadButton.types.ts +8 -0
  383. package/src/components/layout/ContentToolbar/ContentToolbar.tsx +10 -2
  384. package/src/components/layout/ContentToolbar/ContentToolbar.types.ts +12 -0
  385. package/src/components/layout/ContentToolbar/MultiSelectDropdown.tsx +15 -4
  386. package/src/components/layout/ContentToolbar/SortByDropdown.tsx +12 -3
  387. package/src/components/layout/ContentToolbar/ViewSelector.tsx +2 -1
  388. package/src/components/layout/Dashboard/Dashboard.types.ts +4 -0
  389. package/src/components/layout/Dashboard/DashboardParts.tsx +2 -1
  390. package/src/components/layout/ScrollArea/ScrollArea.tsx +16 -3
  391. package/src/components/layout/ScrollArea/ScrollArea.types.ts +19 -4
  392. package/src/components/layout/ScrollArea/ScrollViewport.tsx +4 -1
  393. package/src/components/layout/TableFilter/TableFilter.tsx +19 -11
  394. package/src/components/layout/TableFilter/TableFilter.types.ts +8 -0
  395. package/src/components/layout/TableFilter/TableFilterContext.tsx +10 -0
  396. package/src/components/navigation/Breadcrumbs/BreadcrumbEntry.tsx +11 -4
  397. package/src/components/navigation/Breadcrumbs/Breadcrumbs.tsx +2 -0
  398. package/src/components/navigation/Breadcrumbs/Breadcrumbs.types.ts +3 -0
  399. package/src/components/navigation/CommandPalette/CommandPalette.tsx +15 -5
  400. package/src/components/navigation/CommandPalette/CommandPalette.types.ts +3 -0
  401. package/src/components/navigation/CommandPalette/CommandPaletteResults.tsx +5 -2
  402. package/src/components/navigation/Pagination/Pagination.tsx +2 -0
  403. package/src/components/navigation/Pagination/Pagination.types.ts +2 -0
  404. package/src/components/navigation/Pagination/PaginationParts.tsx +4 -1
  405. package/src/components/navigation/Tabs/Tabs.tsx +8 -3
  406. package/src/components/navigation/Tabs/Tabs.types.ts +2 -0
  407. package/src/components/utility/InfiniteScroll/InfiniteScroll.parts.tsx +4 -4
  408. package/src/components/utility/InfiniteScroll/InfiniteScroll.tsx +4 -2
  409. package/src/components/utility/InfiniteScroll/InfiniteScroll.types.ts +6 -0
  410. package/src/components/utility/InstallPrompt/InstallPrompt.tsx +18 -13
  411. package/src/components/utility/InstallPrompt/InstallPrompt.types.ts +9 -7
  412. package/src/copy/data-display.ts +60 -0
  413. package/src/copy/feedback.ts +39 -0
  414. package/src/copy/form.ts +154 -0
  415. package/src/copy/layout.ts +18 -0
  416. package/src/copy/navigation.ts +25 -0
  417. package/src/copy/shared.ts +122 -0
  418. package/src/copy/utility.ts +36 -0
  419. package/src/copy.ts +13 -117
  420. package/src/pt-BR.data-display.ts +236 -0
  421. package/src/pt-BR.feedback.ts +25 -0
  422. package/src/pt-BR.form.ts +96 -0
  423. package/src/pt-BR.layout.ts +15 -0
  424. package/src/pt-BR.navigation.ts +21 -0
  425. package/src/pt-BR.shared.ts +94 -0
  426. package/src/pt-BR.ts +15 -267
  427. package/src/pt-BR.utility.ts +21 -0
  428. package/src/user-avatar/user-avatar.tsx +8 -2
  429. package/dist/chunk-3KWD5Y5O.js.map +0 -1
  430. package/dist/chunk-CEKPLUQV.js.map +0 -1
  431. package/dist/chunk-DFVRZ3UK.js.map +0 -1
  432. package/dist/chunk-H7UAGTVW.js.map +0 -1
  433. package/dist/chunk-JP55QWVR.js.map +0 -1
  434. package/dist/chunk-NUCLEOHF.js.map +0 -1
  435. package/dist/chunk-QLBYAYUG.js.map +0 -1
  436. package/dist/chunk-QZZVHY6U.js.map +0 -1
@@ -222,6 +222,7 @@ var StepDot = styled(Box, {
222
222
  }
223
223
  }));
224
224
  var TutorialStepNav = ({
225
+ copy,
225
226
  currentStep,
226
227
  stepCount,
227
228
  isLastStep,
@@ -240,14 +241,14 @@ var TutorialStepNav = ({
240
241
  "data-testid": "tutorial-navigation",
241
242
  children: [
242
243
  /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, children: [
243
- allowSkip && /* @__PURE__ */ jsx(Button, { size: "small", onClick: onSkip, variant: "text", children: "Skip" }),
244
+ allowSkip && /* @__PURE__ */ jsx(Button, { size: "small", onClick: onSkip, variant: "text", children: copy.skip }),
244
245
  stepCount > 1 && /* @__PURE__ */ jsx(
245
246
  IconButton,
246
247
  {
247
248
  size: "small",
248
249
  onClick: onRestart,
249
250
  disabled: currentStep === 0,
250
- title: "Restart",
251
+ title: copy.restart,
251
252
  children: /* @__PURE__ */ jsx(RestartIcon, { fontSize: "small" })
252
253
  }
253
254
  )
@@ -261,7 +262,7 @@ var TutorialStepNav = ({
261
262
  onClick: onPrev,
262
263
  disabled: currentStep === 0,
263
264
  "data-testid": "tutorial-prev-button",
264
- children: "Previous"
265
+ children: copy.previous
265
266
  }
266
267
  ),
267
268
  !isLastStep ? /* @__PURE__ */ jsx(
@@ -274,7 +275,7 @@ var TutorialStepNav = ({
274
275
  disabled: requiresActionBeforeNext,
275
276
  title: requiresActionBeforeNext ? "Complete the required action first" : "",
276
277
  "data-testid": "tutorial-next-button",
277
- children: "Next"
278
+ children: copy.next
278
279
  }
279
280
  ) : /* @__PURE__ */ jsx(
280
281
  Button,
@@ -336,6 +337,7 @@ var TutorialStepHeader = ({ title, currentStep, allowSkip, onSkip }) => /* @__PU
336
337
  }
337
338
  );
338
339
  var TutorialStepBody = ({
340
+ copy,
339
341
  step,
340
342
  currentStep,
341
343
  stepCount,
@@ -390,6 +392,7 @@ var TutorialStepBody = ({
390
392
  /* @__PURE__ */ jsx(
391
393
  TutorialStepNav,
392
394
  {
395
+ copy,
393
396
  currentStep,
394
397
  stepCount,
395
398
  isLastStep,
@@ -560,7 +563,15 @@ var TutorialLayers = ({ variant, targetBounds, isVisible, spotlightPadding }) =>
560
563
  )
561
564
  ] });
562
565
  };
563
- var TutorialTooltip = ({ tutorial, steps, allowSkip, showProgress, animated, requiresActionBeforeNext }) => /* @__PURE__ */ jsx2(Fade, { in: tutorial.isVisible, timeout: 300, children: /* @__PURE__ */ jsx2(
566
+ var TutorialTooltip = ({
567
+ tutorial,
568
+ steps,
569
+ allowSkip,
570
+ showProgress,
571
+ animated,
572
+ requiresActionBeforeNext,
573
+ copy
574
+ }) => /* @__PURE__ */ jsx2(Fade, { in: tutorial.isVisible, timeout: 300, children: /* @__PURE__ */ jsx2(
564
575
  TooltipContainer,
565
576
  {
566
577
  ref: tutorial.tooltipRef,
@@ -578,6 +589,7 @@ var TutorialTooltip = ({ tutorial, steps, allowSkip, showProgress, animated, req
578
589
  children: /* @__PURE__ */ jsx2(
579
590
  TutorialStepBody,
580
591
  {
592
+ copy,
581
593
  step: tutorial.currentStepData,
582
594
  currentStep: tutorial.currentStep,
583
595
  stepCount: steps.length,
@@ -596,6 +608,7 @@ var TutorialTooltip = ({ tutorial, steps, allowSkip, showProgress, animated, req
596
608
  ) });
597
609
  var TutorialOverlay = (componentProps) => {
598
610
  const {
611
+ copy,
599
612
  steps,
600
613
  onComplete,
601
614
  onSkip,
@@ -636,6 +649,7 @@ var TutorialOverlay = (componentProps) => {
636
649
  /* @__PURE__ */ jsx2(
637
650
  TutorialTooltip,
638
651
  {
652
+ copy,
639
653
  tutorial: { ...tutorial, currentStepData },
640
654
  steps,
641
655
  allowSkip,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/feedback/TutorialOverlay/TutorialOverlay.tsx","../../src/components/feedback/TutorialOverlay/TutorialOverlay.hooks.ts","../../src/components/feedback/TutorialOverlay/TutorialOverlay.geometry.ts","../../src/components/feedback/TutorialOverlay/TutorialStepBody.tsx"],"sourcesContent":["import {\n alpha,\n Box,\n Fade,\n keyframes,\n LinearProgress,\n Paper,\n Portal,\n styled } from '@mui/material';\nimport type { FC} from 'react';\nimport React, { } from 'react';\n\nimport { useTutorialOverlay } from './TutorialOverlay.hooks';\nimport { TutorialStepBody } from './TutorialStepBody';\nimport type { TutorialOverlayProps } from './TutorialOverlay.types';\n\n// Animation keyframes\nconst pulseAnimation = keyframes`\n 0% {\n box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);\n }\n 70% {\n box-shadow: 0 0 0 20px rgba(255, 255, 255, 0);\n }\n 100% {\n box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);\n }\n`;\n\nconst floatAnimation = keyframes`\n 0%, 100% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(-10px);\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)(() => ({\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: alpha('#000', 0.7),\n backdropFilter: 'blur(2px)' }));\n\nconst Spotlight = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'bounds' && prop !== 'padding' })<{ bounds: globalThis.DOMRect; padding: number }>(({ bounds, padding }) => ({\n position: 'absolute',\n top: bounds.top - padding,\n left: bounds.left - padding,\n width: bounds.width + padding * 2,\n height: bounds.height + padding * 2,\n borderRadius: 8,\n border: '2px solid rgba(255, 255, 255, 0.5)',\n animation: `${pulseAnimation} 2s infinite`,\n pointerEvents: 'none',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n inset: -2,\n borderRadius: 8,\n background: 'transparent',\n boxShadow: '0 0 0 9999px rgba(0, 0, 0, 0.7)' } }));\n\nconst TooltipContainer = styled(Paper, {\n shouldForwardProp: (prop) => prop !== 'placement' })<{ placement: string }>(({ theme, placement }) => ({\n position: 'absolute',\n maxWidth: 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(20px)',\n WebkitBackdropFilter: 'blur(20px)',\n border: `1px solid ${alpha(theme.palette.divider, 0.18)}`,\n boxShadow: theme.shadows[12],\n animation: `${floatAnimation} 3s ease-in-out infinite`,\n pointerEvents: 'auto',\n zIndex: theme.zIndex.modal + 101,\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n width: 12,\n height: 12,\n background: 'inherit',\n transform: 'rotate(45deg)',\n border: 'inherit',\n ...(placement === 'top' && {\n bottom: -7,\n left: '50%',\n marginLeft: -6,\n borderTop: 'none',\n borderLeft: 'none' }),\n ...(placement === 'bottom' && {\n top: -7,\n left: '50%',\n marginLeft: -6,\n borderBottom: 'none',\n borderRight: 'none' }),\n ...(placement === 'left' && {\n right: -7,\n top: '50%',\n marginTop: -6,\n borderLeft: 'none',\n borderBottom: 'none' }),\n ...(placement === 'right' && {\n left: -7,\n top: '50%',\n marginTop: -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: 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}> = ({ tutorial, steps, allowSkip, showProgress, animated, requiresActionBeforeNext }) => (\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 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 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 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","import { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { calculateTooltipPosition, getElementBounds } from './TutorialOverlay.geometry';\nimport type { TutorialOverlayProps } from './TutorialOverlay.types';\n\n// Tracks the highlighted element's box, re-measuring on resize and scroll. Scroll\n// is captured (third argument true) so it fires for any scrolling ancestor, not\n// just the window.\nconst useTargetBounds = ({\n active,\n target,\n}: {\n active: boolean;\n target?: string;\n}) => {\n const [targetBounds, setTargetBounds] = useState<globalThis.DOMRect | null>(null);\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n if (!active || !target) return;\n\n const updateBounds = () => {\n const bounds = getElementBounds(target);\n setTargetBounds(bounds);\n setIsVisible(Boolean(bounds));\n };\n\n updateBounds();\n\n window.addEventListener('resize', updateBounds);\n window.addEventListener('scroll', updateBounds, true);\n\n return () => {\n window.removeEventListener('resize', updateBounds);\n window.removeEventListener('scroll', updateBounds, true);\n };\n }, [active, target]);\n\n return { targetBounds, isVisible };\n};\n\n// Places the tooltip against the measured target once both boxes are known.\nconst useTooltipPlacement = ({\n targetBounds,\n isVisible,\n preferredPosition,\n}: {\n targetBounds: globalThis.DOMRect | null;\n isVisible: boolean;\n preferredPosition?: string;\n}) => {\n const tooltipRef = useRef<HTMLDivElement>(null);\n const [tooltipPosition, setTooltipPosition] = useState({ top: 0, left: 0 });\n const [actualPlacement, setActualPlacement] = useState<string>('bottom');\n\n useEffect(() => {\n if (!targetBounds || !tooltipRef.current || !isVisible) return;\n\n const { position, placement } = calculateTooltipPosition(\n targetBounds,\n tooltipRef.current.getBoundingClientRect(),\n preferredPosition || 'auto',\n );\n\n setTooltipPosition(position);\n setActualPlacement(placement);\n }, [targetBounds, isVisible, preferredPosition]);\n\n return { tooltipRef, tooltipPosition, actualPlacement };\n};\n\n// Arrow keys step through the tour, Escape skips it.\nconst useTutorialKeyboard = ({\n enabled,\n onNext,\n onPrev,\n onSkip,\n}: {\n enabled: boolean;\n onNext: () => void;\n onPrev: () => void;\n onSkip: () => void;\n}) => {\n useEffect(() => {\n if (!enabled) return;\n\n const handleKeyPress = (e: globalThis.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowLeft':\n onPrev();\n break;\n case 'ArrowRight':\n onNext();\n break;\n case 'Escape':\n onSkip();\n break;\n }\n };\n\n window.addEventListener('keydown', handleKeyPress);\n return () => window.removeEventListener('keydown', handleKeyPress);\n }, [enabled, onNext, onPrev, onSkip]);\n};\n\nexport const useTutorialOverlay = ({\n steps,\n initialStep,\n active,\n allowKeyboardNavigation,\n onComplete,\n onSkip,\n onStepComplete,\n}: {\n steps: TutorialOverlayProps['steps'];\n initialStep: number;\n active: boolean;\n allowKeyboardNavigation: boolean;\n onComplete?: () => void;\n onSkip?: () => void;\n onStepComplete?: (stepId: string) => void;\n}) => {\n const [currentStep, setCurrentStep] = useState(initialStep);\n\n const currentStepData = steps[currentStep];\n const isLastStep = currentStep === steps.length - 1;\n\n const { targetBounds, isVisible } = useTargetBounds({\n active,\n target: currentStepData?.target,\n });\n\n const { tooltipRef, tooltipPosition, actualPlacement } = useTooltipPlacement({\n targetBounds,\n isVisible,\n preferredPosition: currentStepData?.position,\n });\n\n const handleNext = useCallback(() => {\n const currentStepId = steps[currentStep]?.id;\n if (currentStepId) onStepComplete?.(currentStepId);\n\n if (currentStep < steps.length - 1) {\n setCurrentStep(currentStep + 1);\n return;\n }\n\n onComplete?.();\n }, [currentStep, steps, onComplete, onStepComplete]);\n\n const handlePrev = useCallback(() => {\n setCurrentStep((step) => Math.max(step - 1, 0));\n }, []);\n\n const handleSkip = useCallback(() => {\n onSkip?.();\n }, [onSkip]);\n\n const handleRestart = useCallback(() => {\n setCurrentStep(0);\n }, []);\n\n useTutorialKeyboard({\n enabled: allowKeyboardNavigation && active,\n onNext: handleNext,\n onPrev: handlePrev,\n onSkip: handleSkip,\n });\n\n return {\n currentStep,\n currentStepData,\n isLastStep,\n isVisible,\n targetBounds,\n tooltipRef,\n tooltipPosition,\n actualPlacement,\n progress: ((currentStep + 1) / steps.length) * 100,\n handleNext,\n handlePrev,\n handleSkip,\n handleRestart,\n };\n};\n","const DEFAULT_PADDING = 16;\n\nexport const getElementBounds = (selector: string): globalThis.DOMRect | null =>\n document.querySelector(selector)?.getBoundingClientRect() ?? null;\n\n// With placement 'auto', the side with the most free space around the target\n// wins.\nconst pickPlacement = (targetBounds: globalThis.DOMRect): string => {\n const spaces = {\n top: targetBounds.top,\n bottom: window.innerHeight - targetBounds.bottom,\n left: targetBounds.left,\n right: window.innerWidth - targetBounds.right,\n };\n\n return Object.entries(spaces).reduce((a, b) => (b[1] > a[1] ? b : a))[0];\n};\n\nconst offsetFor = (\n placement: string,\n targetBounds: globalThis.DOMRect,\n tooltipBounds: globalThis.DOMRect,\n padding: number,\n): { top: number; left: number } => {\n const centredLeft = targetBounds.left + targetBounds.width / 2 - tooltipBounds.width / 2;\n const centredTop = targetBounds.top + targetBounds.height / 2 - tooltipBounds.height / 2;\n\n switch (placement) {\n case 'top':\n return { top: targetBounds.top - tooltipBounds.height - padding, left: centredLeft };\n case 'bottom':\n return { top: targetBounds.bottom + padding, left: centredLeft };\n case 'left':\n return { top: centredTop, left: targetBounds.left - tooltipBounds.width - padding };\n case 'right':\n return { top: centredTop, left: targetBounds.right + padding };\n default:\n return { top: 0, left: 0 };\n }\n};\n\n// Keeps the tooltip fully on screen, whatever the chosen side works out to.\nconst clampToViewport = (\n position: { top: number; left: number },\n tooltipBounds: globalThis.DOMRect,\n padding: number,\n) => ({\n top: Math.max(padding, Math.min(position.top, window.innerHeight - tooltipBounds.height - padding)),\n left: Math.max(padding, Math.min(position.left, window.innerWidth - tooltipBounds.width - padding)),\n});\n\nexport const calculateTooltipPosition = (\n targetBounds: globalThis.DOMRect,\n tooltipBounds: globalThis.DOMRect,\n placement: string,\n padding = DEFAULT_PADDING,\n) => {\n const finalPlacement = placement === 'auto' ? pickPlacement(targetBounds) : placement;\n const offset = offsetFor(finalPlacement, targetBounds, tooltipBounds, padding);\n\n return {\n position: clampToViewport(offset, tooltipBounds, padding),\n placement: finalPlacement,\n };\n};\n","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 {\n alpha,\n Box,\n Button,\n IconButton,\n Stack,\n styled,\n Typography } from '@mui/material';\nimport React, { } from 'react';\n\nimport type { TutorialOverlayProps } from './TutorialOverlay.types';\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: 8,\n height: 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 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 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 Skip\n </Button>\n )}\n {stepCount > 1 && (\n <IconButton\n size=\"small\"\n onClick={onRestart}\n disabled={currentStep === 0}\n title=\"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 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 ? 'Complete the required action first' : ''}\n data-testid=\"tutorial-next-button\"\n >\n Next\n </Button>\n ) : (\n <Button\n variant=\"contained\"\n size=\"small\"\n endIcon={<CompleteIcon />}\n onClick={onNext}\n sx={{\n background: 'linear-gradient(135deg, #84fab0 0%, #8fd3f4 100%)' }}\n data-testid=\"tutorial-finish-button\"\n >\n {stepCount === 1 ? 'Complete' : '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 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 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={{\n background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',\n color: 'white' }}\n >\n {step.action.label}\n </Button>\n )}\n\n <StepDots currentStep={currentStep} stepCount={stepCount} />\n\n <TutorialStepNav\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":["alpha","Box","styled","jsx","jsxs","styled","Box","alpha"]}
1
+ {"version":3,"sources":["../../src/components/feedback/TutorialOverlay/TutorialOverlay.tsx","../../src/components/feedback/TutorialOverlay/TutorialOverlay.hooks.ts","../../src/components/feedback/TutorialOverlay/TutorialOverlay.geometry.ts","../../src/components/feedback/TutorialOverlay/TutorialStepBody.tsx"],"sourcesContent":["import {\n alpha,\n Box,\n Fade,\n keyframes,\n LinearProgress,\n Paper,\n Portal,\n styled } from '@mui/material';\nimport type { FC} from 'react';\nimport React, { } from 'react';\n\nimport { useTutorialOverlay } from './TutorialOverlay.hooks';\nimport { TutorialStepBody } from './TutorialStepBody';\nimport type { TutorialOverlayProps } from './TutorialOverlay.types';\n\n// Animation keyframes\nconst pulseAnimation = keyframes`\n 0% {\n box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);\n }\n 70% {\n box-shadow: 0 0 0 20px rgba(255, 255, 255, 0);\n }\n 100% {\n box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);\n }\n`;\n\nconst floatAnimation = keyframes`\n 0%, 100% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(-10px);\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)(() => ({\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: alpha('#000', 0.7),\n backdropFilter: 'blur(2px)' }));\n\nconst Spotlight = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'bounds' && prop !== 'padding' })<{ bounds: globalThis.DOMRect; padding: number }>(({ bounds, padding }) => ({\n position: 'absolute',\n top: bounds.top - padding,\n left: bounds.left - padding,\n width: bounds.width + padding * 2,\n height: bounds.height + padding * 2,\n borderRadius: 8,\n border: '2px solid rgba(255, 255, 255, 0.5)',\n animation: `${pulseAnimation} 2s infinite`,\n pointerEvents: 'none',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n inset: -2,\n borderRadius: 8,\n background: 'transparent',\n boxShadow: '0 0 0 9999px rgba(0, 0, 0, 0.7)' } }));\n\nconst TooltipContainer = styled(Paper, {\n shouldForwardProp: (prop) => prop !== 'placement' })<{ placement: string }>(({ theme, placement }) => ({\n position: 'absolute',\n maxWidth: 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(20px)',\n WebkitBackdropFilter: 'blur(20px)',\n border: `1px solid ${alpha(theme.palette.divider, 0.18)}`,\n boxShadow: theme.shadows[12],\n animation: `${floatAnimation} 3s ease-in-out infinite`,\n pointerEvents: 'auto',\n zIndex: theme.zIndex.modal + 101,\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n width: 12,\n height: 12,\n background: 'inherit',\n transform: 'rotate(45deg)',\n border: 'inherit',\n ...(placement === 'top' && {\n bottom: -7,\n left: '50%',\n marginLeft: -6,\n borderTop: 'none',\n borderLeft: 'none' }),\n ...(placement === 'bottom' && {\n top: -7,\n left: '50%',\n marginLeft: -6,\n borderBottom: 'none',\n borderRight: 'none' }),\n ...(placement === 'left' && {\n right: -7,\n top: '50%',\n marginTop: -6,\n borderLeft: 'none',\n borderBottom: 'none' }),\n ...(placement === 'right' && {\n left: -7,\n top: '50%',\n marginTop: -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: 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","import { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { calculateTooltipPosition, getElementBounds } from './TutorialOverlay.geometry';\nimport type { TutorialOverlayProps } from './TutorialOverlay.types';\n\n// Tracks the highlighted element's box, re-measuring on resize and scroll. Scroll\n// is captured (third argument true) so it fires for any scrolling ancestor, not\n// just the window.\nconst useTargetBounds = ({\n active,\n target,\n}: {\n active: boolean;\n target?: string;\n}) => {\n const [targetBounds, setTargetBounds] = useState<globalThis.DOMRect | null>(null);\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n if (!active || !target) return;\n\n const updateBounds = () => {\n const bounds = getElementBounds(target);\n setTargetBounds(bounds);\n setIsVisible(Boolean(bounds));\n };\n\n updateBounds();\n\n window.addEventListener('resize', updateBounds);\n window.addEventListener('scroll', updateBounds, true);\n\n return () => {\n window.removeEventListener('resize', updateBounds);\n window.removeEventListener('scroll', updateBounds, true);\n };\n }, [active, target]);\n\n return { targetBounds, isVisible };\n};\n\n// Places the tooltip against the measured target once both boxes are known.\nconst useTooltipPlacement = ({\n targetBounds,\n isVisible,\n preferredPosition,\n}: {\n targetBounds: globalThis.DOMRect | null;\n isVisible: boolean;\n preferredPosition?: string;\n}) => {\n const tooltipRef = useRef<HTMLDivElement>(null);\n const [tooltipPosition, setTooltipPosition] = useState({ top: 0, left: 0 });\n const [actualPlacement, setActualPlacement] = useState<string>('bottom');\n\n useEffect(() => {\n if (!targetBounds || !tooltipRef.current || !isVisible) return;\n\n const { position, placement } = calculateTooltipPosition(\n targetBounds,\n tooltipRef.current.getBoundingClientRect(),\n preferredPosition || 'auto',\n );\n\n setTooltipPosition(position);\n setActualPlacement(placement);\n }, [targetBounds, isVisible, preferredPosition]);\n\n return { tooltipRef, tooltipPosition, actualPlacement };\n};\n\n// Arrow keys step through the tour, Escape skips it.\nconst useTutorialKeyboard = ({\n enabled,\n onNext,\n onPrev,\n onSkip,\n}: {\n enabled: boolean;\n onNext: () => void;\n onPrev: () => void;\n onSkip: () => void;\n}) => {\n useEffect(() => {\n if (!enabled) return;\n\n const handleKeyPress = (e: globalThis.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowLeft':\n onPrev();\n break;\n case 'ArrowRight':\n onNext();\n break;\n case 'Escape':\n onSkip();\n break;\n }\n };\n\n window.addEventListener('keydown', handleKeyPress);\n return () => window.removeEventListener('keydown', handleKeyPress);\n }, [enabled, onNext, onPrev, onSkip]);\n};\n\nexport const useTutorialOverlay = ({\n steps,\n initialStep,\n active,\n allowKeyboardNavigation,\n onComplete,\n onSkip,\n onStepComplete,\n}: {\n steps: TutorialOverlayProps['steps'];\n initialStep: number;\n active: boolean;\n allowKeyboardNavigation: boolean;\n onComplete?: () => void;\n onSkip?: () => void;\n onStepComplete?: (stepId: string) => void;\n}) => {\n const [currentStep, setCurrentStep] = useState(initialStep);\n\n const currentStepData = steps[currentStep];\n const isLastStep = currentStep === steps.length - 1;\n\n const { targetBounds, isVisible } = useTargetBounds({\n active,\n target: currentStepData?.target,\n });\n\n const { tooltipRef, tooltipPosition, actualPlacement } = useTooltipPlacement({\n targetBounds,\n isVisible,\n preferredPosition: currentStepData?.position,\n });\n\n const handleNext = useCallback(() => {\n const currentStepId = steps[currentStep]?.id;\n if (currentStepId) onStepComplete?.(currentStepId);\n\n if (currentStep < steps.length - 1) {\n setCurrentStep(currentStep + 1);\n return;\n }\n\n onComplete?.();\n }, [currentStep, steps, onComplete, onStepComplete]);\n\n const handlePrev = useCallback(() => {\n setCurrentStep((step) => Math.max(step - 1, 0));\n }, []);\n\n const handleSkip = useCallback(() => {\n onSkip?.();\n }, [onSkip]);\n\n const handleRestart = useCallback(() => {\n setCurrentStep(0);\n }, []);\n\n useTutorialKeyboard({\n enabled: allowKeyboardNavigation && active,\n onNext: handleNext,\n onPrev: handlePrev,\n onSkip: handleSkip,\n });\n\n return {\n currentStep,\n currentStepData,\n isLastStep,\n isVisible,\n targetBounds,\n tooltipRef,\n tooltipPosition,\n actualPlacement,\n progress: ((currentStep + 1) / steps.length) * 100,\n handleNext,\n handlePrev,\n handleSkip,\n handleRestart,\n };\n};\n","const DEFAULT_PADDING = 16;\n\nexport const getElementBounds = (selector: string): globalThis.DOMRect | null =>\n document.querySelector(selector)?.getBoundingClientRect() ?? null;\n\n// With placement 'auto', the side with the most free space around the target\n// wins.\nconst pickPlacement = (targetBounds: globalThis.DOMRect): string => {\n const spaces = {\n top: targetBounds.top,\n bottom: window.innerHeight - targetBounds.bottom,\n left: targetBounds.left,\n right: window.innerWidth - targetBounds.right,\n };\n\n return Object.entries(spaces).reduce((a, b) => (b[1] > a[1] ? b : a))[0];\n};\n\nconst offsetFor = (\n placement: string,\n targetBounds: globalThis.DOMRect,\n tooltipBounds: globalThis.DOMRect,\n padding: number,\n): { top: number; left: number } => {\n const centredLeft = targetBounds.left + targetBounds.width / 2 - tooltipBounds.width / 2;\n const centredTop = targetBounds.top + targetBounds.height / 2 - tooltipBounds.height / 2;\n\n switch (placement) {\n case 'top':\n return { top: targetBounds.top - tooltipBounds.height - padding, left: centredLeft };\n case 'bottom':\n return { top: targetBounds.bottom + padding, left: centredLeft };\n case 'left':\n return { top: centredTop, left: targetBounds.left - tooltipBounds.width - padding };\n case 'right':\n return { top: centredTop, left: targetBounds.right + padding };\n default:\n return { top: 0, left: 0 };\n }\n};\n\n// Keeps the tooltip fully on screen, whatever the chosen side works out to.\nconst clampToViewport = (\n position: { top: number; left: number },\n tooltipBounds: globalThis.DOMRect,\n padding: number,\n) => ({\n top: Math.max(padding, Math.min(position.top, window.innerHeight - tooltipBounds.height - padding)),\n left: Math.max(padding, Math.min(position.left, window.innerWidth - tooltipBounds.width - padding)),\n});\n\nexport const calculateTooltipPosition = (\n targetBounds: globalThis.DOMRect,\n tooltipBounds: globalThis.DOMRect,\n placement: string,\n padding = DEFAULT_PADDING,\n) => {\n const finalPlacement = placement === 'auto' ? pickPlacement(targetBounds) : placement;\n const offset = offsetFor(finalPlacement, targetBounds, tooltipBounds, padding);\n\n return {\n position: clampToViewport(offset, tooltipBounds, padding),\n placement: finalPlacement,\n };\n};\n","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 {\n alpha,\n Box,\n Button,\n IconButton,\n Stack,\n styled,\n Typography } from '@mui/material';\nimport React, { } from 'react';\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: 8,\n height: 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 ? 'Complete the required action first' : ''}\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={{\n background: 'linear-gradient(135deg, #84fab0 0%, #8fd3f4 100%)' }}\n data-testid=\"tutorial-finish-button\"\n >\n {stepCount === 1 ? 'Complete' : '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={{\n background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',\n color: 'white' }}\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":["alpha","Box","styled","jsx","jsxs","styled","Box","alpha"]}
@@ -614,22 +614,20 @@ var AddressTextField = ({ addressVariant, ...props }) => addressVariant === "gla
614
614
 
615
615
  // src/components/form/AddressAutocomplete/AddressInputField.tsx
616
616
  import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
617
- var CurrentLocationButton = ({
618
- disabled,
619
- onClick
620
- }) => /* @__PURE__ */ jsx2(InputAdornment, { position: "end", children: /* @__PURE__ */ jsx2(
617
+ var CurrentLocationButton = ({ disabled, onClick, currentLocationLabel }) => /* @__PURE__ */ jsx2(InputAdornment, { position: "end", children: /* @__PURE__ */ jsx2(
621
618
  IconButton,
622
619
  {
623
620
  edge: "end",
624
621
  onClick,
625
622
  size: "small",
626
- title: "Use current location",
623
+ title: currentLocationLabel,
627
624
  disabled,
628
625
  "data-testid": "address-current-location-button",
629
626
  children: /* @__PURE__ */ jsx2(CurrentLocationIcon, {})
630
627
  }
631
628
  ) });
632
629
  var AddressInputField = ({
630
+ copy,
633
631
  params,
634
632
  addressVariant,
635
633
  label,
@@ -657,7 +655,14 @@ var AddressInputField = ({
657
655
  startAdornment: icon && /* @__PURE__ */ jsx2(InputAdornment, { position: "start", children: icon }),
658
656
  endAdornment: /* @__PURE__ */ jsxs(Fragment, { children: [
659
657
  loading && /* @__PURE__ */ jsx2(CircularProgress, { color: "inherit", size: 20, "data-testid": "address-loading" }),
660
- showCurrentLocation && /* @__PURE__ */ jsx2(CurrentLocationButton, { disabled, onClick: onGetCurrentLocation }),
658
+ showCurrentLocation && /* @__PURE__ */ jsx2(
659
+ CurrentLocationButton,
660
+ {
661
+ disabled,
662
+ onClick: onGetCurrentLocation,
663
+ currentLocationLabel: copy.useCurrentLocation
664
+ }
665
+ ),
661
666
  params.InputProps.endAdornment
662
667
  ] })
663
668
  },
@@ -747,6 +752,7 @@ var AddressSuggestionsPaper = (props) => {
747
752
  // src/components/form/AddressAutocomplete/AddressAutocompleteField.tsx
748
753
  import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
749
754
  var AddressAutocompleteField = ({
755
+ copy,
750
756
  variant,
751
757
  label,
752
758
  placeholder,
@@ -793,6 +799,7 @@ var AddressAutocompleteField = ({
793
799
  renderInput: (params) => /* @__PURE__ */ jsx5(
794
800
  AddressInputField,
795
801
  {
802
+ copy,
796
803
  params,
797
804
  addressVariant: variant,
798
805
  label: floating ? void 0 : label,
@@ -816,6 +823,7 @@ var AddressAutocompleteField = ({
816
823
  import { Alert as Alert2, Box as Box3, CircularProgress as CircularProgress2, InputAdornment as InputAdornment2 } from "@mui/material";
817
824
  import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
818
825
  var AddressFallbackField = ({
826
+ copy,
819
827
  variant,
820
828
  label,
821
829
  placeholder,
@@ -831,7 +839,7 @@ var AddressFallbackField = ({
831
839
  {
832
840
  addressVariant: variant,
833
841
  label: floating ? void 0 : label,
834
- placeholder: "Loading Google Maps...",
842
+ placeholder: copy.loadingMaps,
835
843
  disabled: true,
836
844
  fullWidth,
837
845
  InputProps: {
@@ -855,7 +863,7 @@ var AddressFallbackField = ({
855
863
  InputProps: { startAdornment }
856
864
  }
857
865
  ),
858
- /* @__PURE__ */ jsx6(Alert2, { severity: "error", sx: { mt: 1 }, children: "Google Maps API failed to load. Please check your API key and internet connection." })
866
+ /* @__PURE__ */ jsx6(Alert2, { severity: "error", sx: { mt: 1 }, children: copy.mapsLoadFailed })
859
867
  ] });
860
868
  };
861
869