@12-apps/ui 6.79.0 → 6.81.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 (543) hide show
  1. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +3 -3
  2. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.parts.js +2 -1
  3. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +6 -4
  4. package/dist/_internal/components/data-display/Avatar/Avatar.js +2 -1
  5. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +8 -8
  6. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +8 -8
  7. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +3 -3
  8. package/dist/_internal/components/data-display/Carousel/Carousel.js +4 -4
  9. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +2 -2
  10. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +26 -25
  11. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +38 -37
  12. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +3 -3
  13. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +9 -9
  14. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +3 -3
  15. package/dist/_internal/components/data-display/DataViews/data-views-card-body.js +2 -2
  16. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +7 -6
  17. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +2 -2
  18. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +2 -2
  19. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +12 -11
  20. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +3 -3
  21. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +1 -1
  22. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +23 -22
  23. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +12 -11
  24. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +10 -9
  25. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +11 -10
  26. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +3 -2
  27. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +11 -10
  28. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +16 -15
  29. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +10 -9
  30. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +1 -1
  31. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +3 -3
  32. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +2 -1
  33. package/dist/_internal/components/data-display/ErrorState/ErrorState.js +2 -1
  34. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +8 -8
  35. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +7 -7
  36. package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +1 -1
  37. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +11 -10
  38. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +2 -2
  39. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +3 -1
  40. package/dist/_internal/components/data-display/MapPreview/MapControlBar.js +3 -3
  41. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +4 -4
  42. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +3 -3
  43. package/dist/_internal/components/data-display/MapPreview/MapPreview.helpers.js +2 -2
  44. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +6 -6
  45. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +4 -4
  46. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +3 -2
  47. package/dist/_internal/components/data-display/Sheet/Sheet.js +4 -3
  48. package/dist/_internal/components/data-display/Sheet/Sheet.parts.js +2 -1
  49. package/dist/_internal/components/data-display/Stepper/Stepper.js +2 -2
  50. package/dist/_internal/components/data-display/Table/Table.js +3 -3
  51. package/dist/_internal/components/data-display/Table/TableParts.hooks.js +2 -2
  52. package/dist/_internal/components/data-display/Table/TableParts.js +2 -2
  53. package/dist/_internal/components/data-display/Timeline/Timeline.js +2 -2
  54. package/dist/_internal/components/data-display/index.js +29 -29
  55. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +5 -5
  56. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +4 -4
  57. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +6 -6
  58. package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +5 -5
  59. package/dist/_internal/components/feedback/Dialog/Dialog.js +2 -2
  60. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +3 -3
  61. package/dist/_internal/components/feedback/Sonner/Sonner.js +2 -2
  62. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +3 -3
  63. package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +2 -2
  64. package/dist/_internal/components/feedback/Toast/Toast.js +2 -2
  65. package/dist/_internal/components/feedback/index.js +13 -13
  66. package/dist/_internal/components/form/Command/Command.hooks.js +2 -1
  67. package/dist/_internal/components/form/Command/Command.js +4 -3
  68. package/dist/_internal/components/form/Command/Command.parts.js +2 -1
  69. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +3 -2
  70. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +5 -4
  71. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +2 -1
  72. package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +3 -2
  73. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +2 -1
  74. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.dom.js +2 -2
  75. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.format.js +3 -3
  76. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.hooks.js +4 -4
  77. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +5 -5
  78. package/dist/_internal/components/form/index.js +13 -13
  79. package/dist/_internal/components/form/total-form/FormErrorSnackbar.js +3 -3
  80. package/dist/_internal/components/index.js +75 -74
  81. package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +2 -1
  82. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +3 -2
  83. package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +2 -1
  84. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +2 -2
  85. package/dist/_internal/components/layout/Dashboard/Dashboard.js +2 -2
  86. package/dist/_internal/components/layout/Drawer/Drawer.js +2 -1
  87. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +3 -2
  88. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.rail.js +1 -1
  89. package/dist/_internal/components/layout/TableFilter/TableFilter.js +2 -1
  90. package/dist/_internal/components/layout/index.js +9 -8
  91. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +6 -6
  92. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +2 -1
  93. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +2 -1
  94. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +3 -3
  95. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +2 -2
  96. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +4 -3
  97. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +5 -4
  98. package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +3 -2
  99. package/dist/_internal/components/navigation/index.js +15 -14
  100. package/dist/_internal/components/typography/Code/Code.js +2 -2
  101. package/dist/_internal/components/typography/index.js +2 -2
  102. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +2 -1
  103. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.js +3 -2
  104. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.parts.js +2 -1
  105. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +2 -2
  106. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +5 -5
  107. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +3 -3
  108. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +4 -4
  109. package/dist/_internal/components/utility/index.js +8 -8
  110. package/dist/_internal/en-US.data-display.js +1 -1
  111. package/dist/_internal/en-US.labels.js +1 -1
  112. package/dist/_internal/pt-BR.data-display.js +1 -1
  113. package/dist/_internal/pt-BR.labels.js +1 -1
  114. package/dist/_internal/social-login-button/social-login-button.js +2 -1
  115. package/dist/_internal/user-avatar/user-avatar.js +3 -2
  116. package/dist/{chunk-LIWONEAU.js → chunk-3B7EJIG7.js} +2 -2
  117. package/dist/{chunk-GHXW6O5T.js → chunk-3LQLLL2J.js} +4 -4
  118. package/dist/chunk-3LQLLL2J.js.map +1 -0
  119. package/dist/{chunk-GJMWQUAD.js → chunk-3OWFUFZL.js} +6 -3
  120. package/dist/chunk-3OWFUFZL.js.map +1 -0
  121. package/dist/{chunk-V64USPG3.js → chunk-4JV46KXS.js} +3 -3
  122. package/dist/{chunk-UJT6AQHL.js → chunk-4NVEUJXK.js} +2 -2
  123. package/dist/{chunk-PBMCRDZI.js → chunk-4PREA2R5.js} +5 -2
  124. package/dist/chunk-4PREA2R5.js.map +1 -0
  125. package/dist/{chunk-YZX4DVRS.js → chunk-52UVUVYQ.js} +6 -3
  126. package/dist/chunk-52UVUVYQ.js.map +1 -0
  127. package/dist/{chunk-PIP7XII2.js → chunk-5JDY5W7O.js} +3 -3
  128. package/dist/{chunk-YJ6UQDA6.js → chunk-634Z7HGN.js} +6 -3
  129. package/dist/chunk-634Z7HGN.js.map +1 -0
  130. package/dist/{chunk-556LO6KA.js → chunk-6B7VZFAO.js} +2 -2
  131. package/dist/{chunk-FLTXJWOC.js → chunk-6EERXU6R.js} +2 -2
  132. package/dist/{chunk-TPGFR24B.js → chunk-6IVR5HFI.js} +6 -6
  133. package/dist/{chunk-J26ZWYQI.js → chunk-6KCJNERH.js} +2 -2
  134. package/dist/{chunk-AXZCCX7O.js → chunk-6S7CFH6V.js} +2 -2
  135. package/dist/{chunk-3XLSA3YB.js → chunk-763AHWKU.js} +2 -2
  136. package/dist/{chunk-6MGYPTAL.js → chunk-7DODMQRK.js} +2 -2
  137. package/dist/{chunk-C4OETF7K.js → chunk-7H5BIZ33.js} +3 -3
  138. package/dist/{chunk-UGYBN6OO.js → chunk-7HYLXERK.js} +4 -4
  139. package/dist/{chunk-M3ZNQTS5.js → chunk-7S3NG2AO.js} +4 -4
  140. package/dist/{chunk-WE43PZ4P.js → chunk-7UDQJOZZ.js} +2 -2
  141. package/dist/{chunk-3ZWCKCZC.js → chunk-A7LBWRRW.js} +5 -2
  142. package/dist/chunk-A7LBWRRW.js.map +1 -0
  143. package/dist/{chunk-5GLOEGOM.js → chunk-ABJOW7EK.js} +2 -2
  144. package/dist/{chunk-GPPUKDA6.js → chunk-AFSXC5FU.js} +2 -2
  145. package/dist/{chunk-G2IVONJD.js → chunk-AISCD6W6.js} +2 -2
  146. package/dist/{chunk-ZYKDUKAH.js → chunk-B2RNNJRO.js} +7 -4
  147. package/dist/chunk-B2RNNJRO.js.map +1 -0
  148. package/dist/{chunk-HPEBSLYP.js → chunk-B67KUCWU.js} +2 -2
  149. package/dist/{chunk-CYKINZKO.js → chunk-BFBCTF2Y.js} +2 -2
  150. package/dist/{chunk-WUW6NDXC.js → chunk-BLVFHVDM.js} +7 -7
  151. package/dist/{chunk-GHGZI7PK.js → chunk-BMVLTTTC.js} +6 -3
  152. package/dist/{chunk-GHGZI7PK.js.map → chunk-BMVLTTTC.js.map} +1 -1
  153. package/dist/{chunk-UG4EMHMW.js → chunk-BTDY2NYV.js} +2 -2
  154. package/dist/{chunk-KE74C2SM.js → chunk-C2I7NQC4.js} +2 -2
  155. package/dist/{chunk-LR473BUT.js → chunk-C7LHIDVB.js} +3 -3
  156. package/dist/{chunk-V45JGJ3W.js → chunk-CFDYQSN6.js} +3 -3
  157. package/dist/{chunk-BJ7NWZWO.js → chunk-D4LMRSY7.js} +2 -2
  158. package/dist/{chunk-GPQ22MPR.js → chunk-DB7OJM6X.js} +2 -2
  159. package/dist/{chunk-66BRUS2M.js → chunk-DD3VFDB2.js} +2 -2
  160. package/dist/{chunk-J2RUDZVJ.js → chunk-DE2GWZ6X.js} +5 -2
  161. package/dist/chunk-DE2GWZ6X.js.map +1 -0
  162. package/dist/{chunk-JKNKGGOG.js → chunk-DKRMOIX2.js} +7 -1
  163. package/dist/chunk-DKRMOIX2.js.map +1 -0
  164. package/dist/{chunk-CSQWPDQV.js → chunk-DT22MDC3.js} +4 -4
  165. package/dist/{chunk-7HKXTRTK.js → chunk-DWCH6GH5.js} +2 -2
  166. package/dist/{chunk-NTO5DALI.js → chunk-DWLSYFQW.js} +5 -2
  167. package/dist/chunk-DWLSYFQW.js.map +1 -0
  168. package/dist/{chunk-F742IMLQ.js → chunk-EXKK73UN.js} +5 -2
  169. package/dist/chunk-EXKK73UN.js.map +1 -0
  170. package/dist/{chunk-4MKVGSHX.js → chunk-F5SUBK42.js} +6 -3
  171. package/dist/chunk-F5SUBK42.js.map +1 -0
  172. package/dist/{chunk-5KNDAC24.js → chunk-FCCOUOP7.js} +8 -2
  173. package/dist/chunk-FCCOUOP7.js.map +1 -0
  174. package/dist/{chunk-5MAD6ZEI.js → chunk-G3SWMBZS.js} +2 -2
  175. package/dist/{chunk-P3QFJJJY.js → chunk-GHTVBYFA.js} +3 -3
  176. package/dist/{chunk-RRSLH2FV.js → chunk-GLAAX5JJ.js} +7 -2
  177. package/dist/chunk-GLAAX5JJ.js.map +1 -0
  178. package/dist/{chunk-XLTHZI5W.js → chunk-GX2LIB4T.js} +6 -3
  179. package/dist/chunk-GX2LIB4T.js.map +1 -0
  180. package/dist/{chunk-RKVS5AA6.js → chunk-H3NXDKFH.js} +7 -4
  181. package/dist/chunk-H3NXDKFH.js.map +1 -0
  182. package/dist/{chunk-47VRDPR2.js → chunk-HFZE2PGM.js} +5 -2
  183. package/dist/chunk-HFZE2PGM.js.map +1 -0
  184. package/dist/{chunk-5MMAV7XK.js → chunk-HWKBCLKD.js} +4 -2
  185. package/dist/chunk-HWKBCLKD.js.map +1 -0
  186. package/dist/{chunk-IASPZGYB.js → chunk-HWUFOII2.js} +3 -3
  187. package/dist/chunk-HWUFOII2.js.map +1 -0
  188. package/dist/{chunk-VMU52I5D.js → chunk-J7CIRTWQ.js} +8 -3
  189. package/dist/chunk-J7CIRTWQ.js.map +1 -0
  190. package/dist/{chunk-MBY7DWGT.js → chunk-JJNY5MZL.js} +2 -2
  191. package/dist/{chunk-EF4DVYD2.js → chunk-JMUZ5JZA.js} +2 -2
  192. package/dist/{chunk-NUUX4BBR.js → chunk-JQSF3CUR.js} +7 -2
  193. package/dist/chunk-JQSF3CUR.js.map +1 -0
  194. package/dist/{chunk-KYE7I6NT.js → chunk-KSOIFQJ6.js} +4 -4
  195. package/dist/{chunk-JSY234NY.js → chunk-KW2KCPZF.js} +2 -2
  196. package/dist/{chunk-RNQA7MDM.js → chunk-LDPN55AA.js} +2 -2
  197. package/dist/{chunk-U6XXAVBO.js → chunk-LHRAHDJF.js} +2 -2
  198. package/dist/{chunk-VQ6UB4MN.js → chunk-MKRJUT5O.js} +3 -3
  199. package/dist/{chunk-CXTRDTNM.js → chunk-NF5TATKP.js} +4 -4
  200. package/dist/{chunk-NA3M7KDE.js → chunk-NGXDOWUP.js} +2 -2
  201. package/dist/{chunk-EVYLJ5JB.js → chunk-NSS3X7FK.js} +2 -2
  202. package/dist/{chunk-RECD3XOL.js → chunk-NWNHSASQ.js} +2 -2
  203. package/dist/{chunk-W5PRZHLU.js → chunk-O2RXSXSF.js} +74 -3
  204. package/dist/chunk-O2RXSXSF.js.map +1 -0
  205. package/dist/{chunk-VMN6KG2U.js → chunk-OCLEKMBP.js} +3 -3
  206. package/dist/chunk-OCLEKMBP.js.map +1 -0
  207. package/dist/{chunk-HBP2OU4Q.js → chunk-OOCD2QR3.js} +4 -3
  208. package/dist/chunk-OOCD2QR3.js.map +1 -0
  209. package/dist/{chunk-URAXAKUI.js → chunk-OT4HIG7S.js} +3 -3
  210. package/dist/{chunk-K53XSVQO.js → chunk-OTION43A.js} +8 -4
  211. package/dist/chunk-OTION43A.js.map +1 -0
  212. package/dist/{chunk-H6R2L7VI.js → chunk-PAKLYZ6G.js} +2 -2
  213. package/dist/{chunk-SYSR2K2M.js → chunk-PF2A2IM7.js} +2 -2
  214. package/dist/{chunk-SRNBD6EV.js → chunk-PGBIUO2A.js} +2 -2
  215. package/dist/{chunk-QDRHIK2R.js → chunk-QK3XXPBA.js} +2 -2
  216. package/dist/{chunk-A6V7KE45.js → chunk-QVEJGFRP.js} +3 -3
  217. package/dist/{chunk-73OYC22L.js → chunk-RMZQHJEP.js} +2 -2
  218. package/dist/{chunk-VBGC7G4F.js → chunk-RQ3IS5NQ.js} +2 -2
  219. package/dist/{chunk-7S25RDE4.js → chunk-SCQARHMU.js} +2 -2
  220. package/dist/{chunk-47IAX6PI.js → chunk-SEUJNFOD.js} +2 -2
  221. package/dist/{chunk-RQMYEPRR.js → chunk-SM2O6D5F.js} +2 -2
  222. package/dist/{chunk-AAWVAQI2.js → chunk-SXNGH56D.js} +2 -2
  223. package/dist/{chunk-V7INHV5V.js → chunk-SYZVXWEQ.js} +3 -3
  224. package/dist/{chunk-DX5PLJKN.js → chunk-TAR5LSGT.js} +2 -2
  225. package/dist/{chunk-VFVATUC6.js → chunk-TGZ6GPYQ.js} +3 -3
  226. package/dist/{chunk-25HBYY4O.js → chunk-TLVKJBPM.js} +2 -2
  227. package/dist/{chunk-BGTG7G54.js → chunk-TLZR6UPJ.js} +6 -3
  228. package/dist/chunk-TLZR6UPJ.js.map +1 -0
  229. package/dist/{chunk-XLCVMRSO.js → chunk-U67CX4FL.js} +12 -4
  230. package/dist/chunk-U67CX4FL.js.map +1 -0
  231. package/dist/{chunk-PU3FQG7T.js → chunk-UCQRJTCI.js} +2 -2
  232. package/dist/{chunk-I2CT4XIP.js → chunk-UF4JFRLE.js} +3 -3
  233. package/dist/{chunk-4N3I7ZHQ.js → chunk-URAX2JPM.js} +6 -3
  234. package/dist/chunk-URAX2JPM.js.map +1 -0
  235. package/dist/{chunk-MGDCGNLC.js → chunk-UYNJ3FYE.js} +3 -3
  236. package/dist/{chunk-6SFJIW54.js → chunk-V65YK5DC.js} +2 -2
  237. package/dist/{chunk-VZVAP2ZR.js → chunk-V6DMNSW6.js} +4 -4
  238. package/dist/chunk-V6DMNSW6.js.map +1 -0
  239. package/dist/{chunk-CRFOAKQL.js → chunk-VAGGIRLA.js} +6 -3
  240. package/dist/chunk-VAGGIRLA.js.map +1 -0
  241. package/dist/{chunk-L35TCXFA.js → chunk-VRKNVZZQ.js} +74 -3
  242. package/dist/chunk-VRKNVZZQ.js.map +1 -0
  243. package/dist/{chunk-RZ3QMKM7.js → chunk-W3EVATBS.js} +2 -2
  244. package/dist/{chunk-CAHN7AMY.js → chunk-WWIYYXY3.js} +14 -7
  245. package/dist/chunk-WWIYYXY3.js.map +1 -0
  246. package/dist/{chunk-WOXWLJYR.js → chunk-XF47LPCF.js} +5 -2
  247. package/dist/chunk-XF47LPCF.js.map +1 -0
  248. package/dist/{chunk-3YLRR4JM.js → chunk-Y3YZBB74.js} +2 -2
  249. package/dist/{chunk-V37QIB7B.js → chunk-YMKSPW4T.js} +2 -2
  250. package/dist/{chunk-YOKUDQIJ.js → chunk-YOQAK2RN.js} +7 -3
  251. package/dist/chunk-YOQAK2RN.js.map +1 -0
  252. package/dist/{chunk-KYT5G4K7.js → chunk-Z52W7FEU.js} +2 -2
  253. package/dist/{chunk-3YCV4EP7.js → chunk-ZDBG7QG2.js} +3 -3
  254. package/dist/{chunk-7HZ6TJRH.js → chunk-ZT73ACK3.js} +2 -2
  255. package/dist/{chunk-TJO4CBYT.js → chunk-ZX3QMCYO.js} +6 -3
  256. package/dist/chunk-ZX3QMCYO.js.map +1 -0
  257. package/dist/data-display/AlertDialog.js +3 -3
  258. package/dist/data-display/AsyncStateContainer.js +6 -4
  259. package/dist/data-display/Avatar.js +2 -1
  260. package/dist/data-display/CardKit.js +9 -9
  261. package/dist/data-display/Carousel.js +4 -4
  262. package/dist/data-display/DataViews.js +38 -37
  263. package/dist/data-display/EmptyState.js +2 -1
  264. package/dist/data-display/ErrorState.js +2 -1
  265. package/dist/data-display/FleetMap.js +11 -10
  266. package/dist/data-display/LazyImage.js +2 -2
  267. package/dist/data-display/LoadingState.js +3 -1
  268. package/dist/data-display/MapPreview.js +6 -6
  269. package/dist/data-display/SectionOnboarding.js +4 -4
  270. package/dist/data-display/Sheet.js +4 -3
  271. package/dist/data-display/Stepper.js +2 -2
  272. package/dist/data-display/Table.js +3 -3
  273. package/dist/data-display/Timeline.js +2 -2
  274. package/dist/en-US.js +4 -4
  275. package/dist/feedback/ConfirmAction.js +7 -7
  276. package/dist/feedback/Dialog.js +2 -2
  277. package/dist/feedback/SequenceResolver.js +3 -3
  278. package/dist/feedback/Sonner.js +2 -2
  279. package/dist/feedback/StackedModal.js +3 -3
  280. package/dist/feedback/Toast.js +2 -2
  281. package/dist/form/Command.js +4 -3
  282. package/dist/form/DateRangePicker.js +5 -4
  283. package/dist/form/PhoneInput.js +2 -1
  284. package/dist/form/RichTextEditor.js +5 -5
  285. package/dist/form/total-form.js +3 -3
  286. package/dist/layout/ContentToolbar.js +6 -5
  287. package/dist/layout/Dashboard.js +2 -2
  288. package/dist/layout/Drawer.js +2 -1
  289. package/dist/layout/SettingsLayout.js +3 -2
  290. package/dist/layout/TableFilter.js +2 -1
  291. package/dist/locales.js +8 -8
  292. package/dist/native/chunks/{chunk-4SP3BDPZ.js → chunk-67CYDCHZ.js} +2 -2
  293. package/dist/native/chunks/{chunk-FGAX5BRS.js → chunk-7AVFQB6A.js} +7 -4
  294. package/dist/native/chunks/chunk-7AVFQB6A.js.map +1 -0
  295. package/dist/native/chunks/{chunk-SPK34J7Y.js → chunk-DUELD4HY.js} +74 -3
  296. package/dist/native/chunks/chunk-DUELD4HY.js.map +1 -0
  297. package/dist/native/data-display/Avatar.js +4 -1
  298. package/dist/native/data-display/Avatar.js.map +1 -1
  299. package/dist/native/data-display/Badge.js +3 -3
  300. package/dist/native/data-display/Chip.js +3 -3
  301. package/dist/native/data-display/EmptyState.js +3 -3
  302. package/dist/native/data-display/ErrorState.js +5 -3
  303. package/dist/native/data-display/ErrorState.js.map +1 -1
  304. package/dist/native/data-display/FleetMap.js +3 -3
  305. package/dist/native/data-display/LoadingState.js +16 -5
  306. package/dist/native/data-display/LoadingState.js.map +1 -1
  307. package/dist/native/feedback/Dialog.js +3 -3
  308. package/dist/native/form/Button.js +2 -2
  309. package/dist/native/form/Checkbox.js +3 -3
  310. package/dist/native/form/Input.js +1 -1
  311. package/dist/native/form/Switch.js +1 -1
  312. package/dist/navigation/AppHeader.js +8 -7
  313. package/dist/navigation/Breadcrumbs.js +2 -1
  314. package/dist/navigation/NavigationMenu.js +3 -3
  315. package/dist/navigation/SectionNav.js +5 -4
  316. package/dist/pt-BR.js +4 -4
  317. package/dist/social-login-button.js +2 -1
  318. package/dist/types/components/data-display/AlertDialog/AlertDialog.parts.d.ts.map +1 -1
  319. package/dist/types/components/data-display/Avatar/Avatar.d.ts.map +1 -1
  320. package/dist/types/components/data-display/DataViews/DeleteViewDialog.d.ts.map +1 -1
  321. package/dist/types/components/data-display/DataViews/data-views-copy.d.ts +11 -0
  322. package/dist/types/components/data-display/DataViews/data-views-copy.d.ts.map +1 -1
  323. package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts +6 -2
  324. package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts.map +1 -1
  325. package/dist/types/components/data-display/DataViews/use-data-views-state.d.ts.map +1 -1
  326. package/dist/types/components/data-display/EmptyState/EmptyState.d.ts.map +1 -1
  327. package/dist/types/components/data-display/ErrorState/ErrorState.d.ts.map +1 -1
  328. package/dist/types/components/data-display/LoadingState/LoadingState.base.d.ts +7 -0
  329. package/dist/types/components/data-display/LoadingState/LoadingState.base.d.ts.map +1 -1
  330. package/dist/types/components/data-display/LoadingState/LoadingState.d.ts.map +1 -1
  331. package/dist/types/components/data-display/Sheet/Sheet.body.d.ts +1 -1
  332. package/dist/types/components/data-display/Sheet/Sheet.body.d.ts.map +1 -1
  333. package/dist/types/components/data-display/Sheet/Sheet.parts.d.ts.map +1 -1
  334. package/dist/types/components/data-display/Sheet/Sheet.types.d.ts +10 -0
  335. package/dist/types/components/data-display/Sheet/Sheet.types.d.ts.map +1 -1
  336. package/dist/types/components/feedback/StackedModal/StackedModal.d.ts.map +1 -1
  337. package/dist/types/components/form/Command/Command.hooks.d.ts.map +1 -1
  338. package/dist/types/components/form/Command/Command.parts.d.ts.map +1 -1
  339. package/dist/types/components/form/DateRangePicker/DateRangePicker.range.d.ts.map +1 -1
  340. package/dist/types/components/form/PhoneInput/PhoneInput.d.ts.map +1 -1
  341. package/dist/types/components/form/total-form/FormErrorSnackbar.d.ts.map +1 -1
  342. package/dist/types/components/layout/ContentToolbar/ColumnsMenu.d.ts.map +1 -1
  343. package/dist/types/components/layout/ContentToolbar/FilterTrigger.d.ts.map +1 -1
  344. package/dist/types/components/layout/ContentToolbar/MultiSelectDropdown.d.ts.map +1 -1
  345. package/dist/types/components/layout/Dashboard/Dashboard.d.ts +1 -1
  346. package/dist/types/components/layout/Dashboard/Dashboard.d.ts.map +1 -1
  347. package/dist/types/components/layout/Drawer/Drawer.d.ts.map +1 -1
  348. package/dist/types/components/layout/SettingsLayout/SettingsLayout.d.ts.map +1 -1
  349. package/dist/types/components/layout/SettingsLayout/SettingsLayout.rail.d.ts +3 -1
  350. package/dist/types/components/layout/SettingsLayout/SettingsLayout.rail.d.ts.map +1 -1
  351. package/dist/types/components/layout/SettingsLayout/SettingsLayout.types.d.ts +6 -0
  352. package/dist/types/components/layout/SettingsLayout/SettingsLayout.types.d.ts.map +1 -1
  353. package/dist/types/components/layout/TableFilter/TableFilter.d.ts.map +1 -1
  354. package/dist/types/components/navigation/AppHeader/AppHeader.identity.d.ts.map +1 -1
  355. package/dist/types/components/navigation/AppHeader/AppHeader.types.d.ts +5 -1
  356. package/dist/types/components/navigation/AppHeader/AppHeader.types.d.ts.map +1 -1
  357. package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  358. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.d.ts.map +1 -1
  359. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.d.ts.map +1 -1
  360. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.parts.d.ts +1 -0
  361. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.parts.d.ts.map +1 -1
  362. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.types.d.ts +6 -0
  363. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.types.d.ts.map +1 -1
  364. package/dist/types/copy/labels.d.ts +113 -2
  365. package/dist/types/copy/labels.d.ts.map +1 -1
  366. package/dist/types/en-US.data-display.d.ts.map +1 -1
  367. package/dist/types/en-US.labels.d.ts.map +1 -1
  368. package/dist/types/pt-BR.data-display.d.ts.map +1 -1
  369. package/dist/types/pt-BR.labels.d.ts.map +1 -1
  370. package/dist/types/social-login-button/social-login-button.d.ts.map +1 -1
  371. package/dist/types-native/components/data-display/Avatar/Avatar.native.d.ts.map +1 -1
  372. package/dist/types-native/components/data-display/EmptyState/EmptyState.native.d.ts.map +1 -1
  373. package/dist/types-native/components/data-display/ErrorState/ErrorState.native.d.ts.map +1 -1
  374. package/dist/types-native/components/data-display/LoadingState/LoadingState.base.d.ts +7 -0
  375. package/dist/types-native/components/data-display/LoadingState/LoadingState.base.d.ts.map +1 -1
  376. package/dist/types-native/components/data-display/LoadingState/LoadingState.native.d.ts.map +1 -1
  377. package/dist/types-native/copy/labels.d.ts +113 -2
  378. package/dist/types-native/copy/labels.d.ts.map +1 -1
  379. package/dist/types-native/en-US.labels.d.ts.map +1 -1
  380. package/dist/types-native/utils/resolve-labels.d.ts +9 -0
  381. package/dist/types-native/utils/resolve-labels.d.ts.map +1 -0
  382. package/dist/typography/Code.js +2 -2
  383. package/dist/user-avatar.js +3 -2
  384. package/dist/utility/AnimatedIcon.js +2 -1
  385. package/dist/utility/InfiniteScroll.js +3 -2
  386. package/dist/utility/WorkflowStep.js +5 -5
  387. package/package.json +2 -2
  388. package/src/components/data-display/AlertDialog/AlertDialog.parts.tsx +3 -2
  389. package/src/components/data-display/Avatar/Avatar.native.tsx +2 -1
  390. package/src/components/data-display/Avatar/Avatar.tsx +2 -1
  391. package/src/components/data-display/DataViews/DeleteViewDialog.tsx +2 -2
  392. package/src/components/data-display/DataViews/data-views-copy.ts +11 -0
  393. package/src/components/data-display/DataViews/data-views-grid-helpers.tsx +8 -3
  394. package/src/components/data-display/DataViews/data-views-view-nav.tsx +2 -2
  395. package/src/components/data-display/DataViews/use-data-views-state.ts +3 -1
  396. package/src/components/data-display/EmptyState/EmptyState.native.tsx +3 -2
  397. package/src/components/data-display/EmptyState/EmptyState.tsx +3 -2
  398. package/src/components/data-display/ErrorState/ErrorState.native.tsx +2 -1
  399. package/src/components/data-display/ErrorState/ErrorState.tsx +2 -1
  400. package/src/components/data-display/LoadingState/LoadingState.base.ts +8 -0
  401. package/src/components/data-display/LoadingState/LoadingState.native.tsx +10 -5
  402. package/src/components/data-display/LoadingState/LoadingState.tsx +9 -3
  403. package/src/components/data-display/Sheet/Sheet.body.tsx +3 -0
  404. package/src/components/data-display/Sheet/Sheet.md +1 -0
  405. package/src/components/data-display/Sheet/Sheet.parts.tsx +4 -0
  406. package/src/components/data-display/Sheet/Sheet.types.ts +10 -0
  407. package/src/components/feedback/StackedModal/StackedModal.tsx +2 -1
  408. package/src/components/form/Command/Command.hooks.ts +3 -2
  409. package/src/components/form/Command/Command.parts.tsx +3 -2
  410. package/src/components/form/DateRangePicker/DateRangePicker.range.ts +2 -1
  411. package/src/components/form/PhoneInput/PhoneInput.tsx +3 -2
  412. package/src/components/form/total-form/FormErrorSnackbar.tsx +2 -1
  413. package/src/components/layout/ContentToolbar/ColumnsMenu.tsx +3 -2
  414. package/src/components/layout/ContentToolbar/FilterTrigger.tsx +4 -1
  415. package/src/components/layout/ContentToolbar/MultiSelectDropdown.tsx +4 -3
  416. package/src/components/layout/Dashboard/Dashboard.tsx +4 -1
  417. package/src/components/layout/Drawer/Drawer.tsx +2 -1
  418. package/src/components/layout/SettingsLayout/SettingsLayout.md +1 -0
  419. package/src/components/layout/SettingsLayout/SettingsLayout.rail.tsx +9 -2
  420. package/src/components/layout/SettingsLayout/SettingsLayout.tsx +16 -5
  421. package/src/components/layout/SettingsLayout/SettingsLayout.types.ts +6 -0
  422. package/src/components/layout/TableFilter/TableFilter.tsx +4 -3
  423. package/src/components/navigation/AppHeader/AppHeader.identity.tsx +2 -1
  424. package/src/components/navigation/AppHeader/AppHeader.types.ts +5 -1
  425. package/src/components/navigation/Breadcrumbs/Breadcrumbs.tsx +2 -1
  426. package/src/components/navigation/NavigationMenu/NavigationStandardBody.tsx +1 -1
  427. package/src/components/utility/AnimatedIcon/AnimatedIcon.tsx +2 -1
  428. package/src/components/utility/InfiniteScroll/InfiniteScroll.parts.tsx +6 -2
  429. package/src/components/utility/InfiniteScroll/InfiniteScroll.tsx +2 -1
  430. package/src/components/utility/InfiniteScroll/InfiniteScroll.types.ts +6 -0
  431. package/src/copy/labels.ts +131 -2
  432. package/src/en-US.data-display.ts +5 -0
  433. package/src/en-US.labels.ts +71 -0
  434. package/src/pt-BR.data-display.ts +5 -0
  435. package/src/pt-BR.labels.ts +71 -0
  436. package/src/social-login-button/social-login-button.tsx +3 -2
  437. package/dist/chunk-3ZWCKCZC.js.map +0 -1
  438. package/dist/chunk-47VRDPR2.js.map +0 -1
  439. package/dist/chunk-4MKVGSHX.js.map +0 -1
  440. package/dist/chunk-4N3I7ZHQ.js.map +0 -1
  441. package/dist/chunk-5KNDAC24.js.map +0 -1
  442. package/dist/chunk-5MMAV7XK.js.map +0 -1
  443. package/dist/chunk-BGTG7G54.js.map +0 -1
  444. package/dist/chunk-CAHN7AMY.js.map +0 -1
  445. package/dist/chunk-CRFOAKQL.js.map +0 -1
  446. package/dist/chunk-F742IMLQ.js.map +0 -1
  447. package/dist/chunk-GHXW6O5T.js.map +0 -1
  448. package/dist/chunk-GJMWQUAD.js.map +0 -1
  449. package/dist/chunk-HBP2OU4Q.js.map +0 -1
  450. package/dist/chunk-IASPZGYB.js.map +0 -1
  451. package/dist/chunk-J2RUDZVJ.js.map +0 -1
  452. package/dist/chunk-JKNKGGOG.js.map +0 -1
  453. package/dist/chunk-K53XSVQO.js.map +0 -1
  454. package/dist/chunk-L35TCXFA.js.map +0 -1
  455. package/dist/chunk-NTO5DALI.js.map +0 -1
  456. package/dist/chunk-NUUX4BBR.js.map +0 -1
  457. package/dist/chunk-PBMCRDZI.js.map +0 -1
  458. package/dist/chunk-RKVS5AA6.js.map +0 -1
  459. package/dist/chunk-RRSLH2FV.js.map +0 -1
  460. package/dist/chunk-TJO4CBYT.js.map +0 -1
  461. package/dist/chunk-VMN6KG2U.js.map +0 -1
  462. package/dist/chunk-VMU52I5D.js.map +0 -1
  463. package/dist/chunk-VZVAP2ZR.js.map +0 -1
  464. package/dist/chunk-W5PRZHLU.js.map +0 -1
  465. package/dist/chunk-WOXWLJYR.js.map +0 -1
  466. package/dist/chunk-XLCVMRSO.js.map +0 -1
  467. package/dist/chunk-XLTHZI5W.js.map +0 -1
  468. package/dist/chunk-YJ6UQDA6.js.map +0 -1
  469. package/dist/chunk-YOKUDQIJ.js.map +0 -1
  470. package/dist/chunk-YZX4DVRS.js.map +0 -1
  471. package/dist/chunk-ZYKDUKAH.js.map +0 -1
  472. package/dist/native/chunks/chunk-FGAX5BRS.js.map +0 -1
  473. package/dist/native/chunks/chunk-SPK34J7Y.js.map +0 -1
  474. /package/dist/{chunk-LIWONEAU.js.map → chunk-3B7EJIG7.js.map} +0 -0
  475. /package/dist/{chunk-V64USPG3.js.map → chunk-4JV46KXS.js.map} +0 -0
  476. /package/dist/{chunk-UJT6AQHL.js.map → chunk-4NVEUJXK.js.map} +0 -0
  477. /package/dist/{chunk-PIP7XII2.js.map → chunk-5JDY5W7O.js.map} +0 -0
  478. /package/dist/{chunk-556LO6KA.js.map → chunk-6B7VZFAO.js.map} +0 -0
  479. /package/dist/{chunk-FLTXJWOC.js.map → chunk-6EERXU6R.js.map} +0 -0
  480. /package/dist/{chunk-TPGFR24B.js.map → chunk-6IVR5HFI.js.map} +0 -0
  481. /package/dist/{chunk-J26ZWYQI.js.map → chunk-6KCJNERH.js.map} +0 -0
  482. /package/dist/{chunk-AXZCCX7O.js.map → chunk-6S7CFH6V.js.map} +0 -0
  483. /package/dist/{chunk-3XLSA3YB.js.map → chunk-763AHWKU.js.map} +0 -0
  484. /package/dist/{chunk-6MGYPTAL.js.map → chunk-7DODMQRK.js.map} +0 -0
  485. /package/dist/{chunk-C4OETF7K.js.map → chunk-7H5BIZ33.js.map} +0 -0
  486. /package/dist/{chunk-UGYBN6OO.js.map → chunk-7HYLXERK.js.map} +0 -0
  487. /package/dist/{chunk-M3ZNQTS5.js.map → chunk-7S3NG2AO.js.map} +0 -0
  488. /package/dist/{chunk-WE43PZ4P.js.map → chunk-7UDQJOZZ.js.map} +0 -0
  489. /package/dist/{chunk-5GLOEGOM.js.map → chunk-ABJOW7EK.js.map} +0 -0
  490. /package/dist/{chunk-GPPUKDA6.js.map → chunk-AFSXC5FU.js.map} +0 -0
  491. /package/dist/{chunk-G2IVONJD.js.map → chunk-AISCD6W6.js.map} +0 -0
  492. /package/dist/{chunk-HPEBSLYP.js.map → chunk-B67KUCWU.js.map} +0 -0
  493. /package/dist/{chunk-CYKINZKO.js.map → chunk-BFBCTF2Y.js.map} +0 -0
  494. /package/dist/{chunk-WUW6NDXC.js.map → chunk-BLVFHVDM.js.map} +0 -0
  495. /package/dist/{chunk-UG4EMHMW.js.map → chunk-BTDY2NYV.js.map} +0 -0
  496. /package/dist/{chunk-KE74C2SM.js.map → chunk-C2I7NQC4.js.map} +0 -0
  497. /package/dist/{chunk-LR473BUT.js.map → chunk-C7LHIDVB.js.map} +0 -0
  498. /package/dist/{chunk-V45JGJ3W.js.map → chunk-CFDYQSN6.js.map} +0 -0
  499. /package/dist/{chunk-BJ7NWZWO.js.map → chunk-D4LMRSY7.js.map} +0 -0
  500. /package/dist/{chunk-GPQ22MPR.js.map → chunk-DB7OJM6X.js.map} +0 -0
  501. /package/dist/{chunk-66BRUS2M.js.map → chunk-DD3VFDB2.js.map} +0 -0
  502. /package/dist/{chunk-CSQWPDQV.js.map → chunk-DT22MDC3.js.map} +0 -0
  503. /package/dist/{chunk-7HKXTRTK.js.map → chunk-DWCH6GH5.js.map} +0 -0
  504. /package/dist/{chunk-5MAD6ZEI.js.map → chunk-G3SWMBZS.js.map} +0 -0
  505. /package/dist/{chunk-P3QFJJJY.js.map → chunk-GHTVBYFA.js.map} +0 -0
  506. /package/dist/{chunk-MBY7DWGT.js.map → chunk-JJNY5MZL.js.map} +0 -0
  507. /package/dist/{chunk-EF4DVYD2.js.map → chunk-JMUZ5JZA.js.map} +0 -0
  508. /package/dist/{chunk-KYE7I6NT.js.map → chunk-KSOIFQJ6.js.map} +0 -0
  509. /package/dist/{chunk-JSY234NY.js.map → chunk-KW2KCPZF.js.map} +0 -0
  510. /package/dist/{chunk-RNQA7MDM.js.map → chunk-LDPN55AA.js.map} +0 -0
  511. /package/dist/{chunk-U6XXAVBO.js.map → chunk-LHRAHDJF.js.map} +0 -0
  512. /package/dist/{chunk-VQ6UB4MN.js.map → chunk-MKRJUT5O.js.map} +0 -0
  513. /package/dist/{chunk-CXTRDTNM.js.map → chunk-NF5TATKP.js.map} +0 -0
  514. /package/dist/{chunk-NA3M7KDE.js.map → chunk-NGXDOWUP.js.map} +0 -0
  515. /package/dist/{chunk-EVYLJ5JB.js.map → chunk-NSS3X7FK.js.map} +0 -0
  516. /package/dist/{chunk-RECD3XOL.js.map → chunk-NWNHSASQ.js.map} +0 -0
  517. /package/dist/{chunk-URAXAKUI.js.map → chunk-OT4HIG7S.js.map} +0 -0
  518. /package/dist/{chunk-H6R2L7VI.js.map → chunk-PAKLYZ6G.js.map} +0 -0
  519. /package/dist/{chunk-SYSR2K2M.js.map → chunk-PF2A2IM7.js.map} +0 -0
  520. /package/dist/{chunk-SRNBD6EV.js.map → chunk-PGBIUO2A.js.map} +0 -0
  521. /package/dist/{chunk-QDRHIK2R.js.map → chunk-QK3XXPBA.js.map} +0 -0
  522. /package/dist/{chunk-A6V7KE45.js.map → chunk-QVEJGFRP.js.map} +0 -0
  523. /package/dist/{chunk-73OYC22L.js.map → chunk-RMZQHJEP.js.map} +0 -0
  524. /package/dist/{chunk-VBGC7G4F.js.map → chunk-RQ3IS5NQ.js.map} +0 -0
  525. /package/dist/{chunk-7S25RDE4.js.map → chunk-SCQARHMU.js.map} +0 -0
  526. /package/dist/{chunk-47IAX6PI.js.map → chunk-SEUJNFOD.js.map} +0 -0
  527. /package/dist/{chunk-RQMYEPRR.js.map → chunk-SM2O6D5F.js.map} +0 -0
  528. /package/dist/{chunk-AAWVAQI2.js.map → chunk-SXNGH56D.js.map} +0 -0
  529. /package/dist/{chunk-V7INHV5V.js.map → chunk-SYZVXWEQ.js.map} +0 -0
  530. /package/dist/{chunk-DX5PLJKN.js.map → chunk-TAR5LSGT.js.map} +0 -0
  531. /package/dist/{chunk-VFVATUC6.js.map → chunk-TGZ6GPYQ.js.map} +0 -0
  532. /package/dist/{chunk-25HBYY4O.js.map → chunk-TLVKJBPM.js.map} +0 -0
  533. /package/dist/{chunk-PU3FQG7T.js.map → chunk-UCQRJTCI.js.map} +0 -0
  534. /package/dist/{chunk-I2CT4XIP.js.map → chunk-UF4JFRLE.js.map} +0 -0
  535. /package/dist/{chunk-MGDCGNLC.js.map → chunk-UYNJ3FYE.js.map} +0 -0
  536. /package/dist/{chunk-6SFJIW54.js.map → chunk-V65YK5DC.js.map} +0 -0
  537. /package/dist/{chunk-RZ3QMKM7.js.map → chunk-W3EVATBS.js.map} +0 -0
  538. /package/dist/{chunk-3YLRR4JM.js.map → chunk-Y3YZBB74.js.map} +0 -0
  539. /package/dist/{chunk-V37QIB7B.js.map → chunk-YMKSPW4T.js.map} +0 -0
  540. /package/dist/{chunk-KYT5G4K7.js.map → chunk-Z52W7FEU.js.map} +0 -0
  541. /package/dist/{chunk-3YCV4EP7.js.map → chunk-ZDBG7QG2.js.map} +0 -0
  542. /package/dist/{chunk-7HZ6TJRH.js.map → chunk-ZT73ACK3.js.map} +0 -0
  543. /package/dist/native/chunks/{chunk-4SP3BDPZ.js.map → chunk-67CYDCHZ.js.map} +0 -0
@@ -18,6 +18,9 @@ import {
18
18
  illustrationMaxWidth,
19
19
  illustrationOpacity
20
20
  } from "./chunk-KLPTOVIX.js";
21
+ import {
22
+ EN_US_UI_LABELS
23
+ } from "./chunk-O2RXSXSF.js";
21
24
  import {
22
25
  resolveTestId
23
26
  } from "./chunk-TYJR4GOF.js";
@@ -145,8 +148,8 @@ var EmptyState = React.memo((props) => {
145
148
  description,
146
149
  illustration,
147
150
  helpLink,
148
- refreshLabel = "Refresh",
149
- createLabel = "Create New",
151
+ refreshLabel = EN_US_UI_LABELS.emptyState.refresh,
152
+ createLabel = EN_US_UI_LABELS.emptyState.create,
150
153
  className
151
154
  } = props;
152
155
  const theme = useTheme();
@@ -204,4 +207,4 @@ export {
204
207
  EmptyState,
205
208
  EmptyState_default
206
209
  };
207
- //# sourceMappingURL=chunk-4MKVGSHX.js.map
210
+ //# sourceMappingURL=chunk-F5SUBK42.js.map
@@ -0,0 +1 @@
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';\nimport { EN_US_UI_LABELS } from '../../../en-US.labels';\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 = EN_US_UI_LABELS.emptyState.refresh,\n createLabel = EN_US_UI_LABELS.emptyState.create,\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,3 +1,6 @@
1
+ import {
2
+ EN_US_UI_LABELS
3
+ } from "./chunk-O2RXSXSF.js";
1
4
  import {
2
5
  rem
3
6
  } from "./chunk-YKCAJ2TN.js";
@@ -23,7 +26,10 @@ var DefaultLoader = ({ loadingText }) => {
23
26
  ] });
24
27
  };
25
28
  var DefaultEndMessage = ({ endText }) => /* @__PURE__ */ jsx(Box, { sx: CENTERED, children: /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "text.secondary", children: endText }) });
26
- var DefaultError = ({ error }) => /* @__PURE__ */ jsx(Alert, { severity: "error", sx: { m: 2 }, children: error.message || "An error occurred while loading more items" });
29
+ var DefaultError = ({
30
+ error,
31
+ errorText = EN_US_UI_LABELS.infiniteScroll.loadFailed
32
+ }) => /* @__PURE__ */ jsx(Alert, { severity: "error", sx: { m: 2 }, children: error.message || errorText });
27
33
  var horizontalWidth = (theme, width) => {
28
34
  if (!width) return "100%";
29
35
  if (typeof width !== "number") return width;
@@ -48,4 +54,4 @@ export {
48
54
  DefaultError,
49
55
  containerStyles
50
56
  };
51
- //# sourceMappingURL=chunk-5KNDAC24.js.map
57
+ //# sourceMappingURL=chunk-FCCOUOP7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/utility/InfiniteScroll/InfiniteScroll.parts.tsx"],"sourcesContent":["import Alert from '@mui/material/Alert/index.js';\nimport Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { useTheme, type SxProps, type Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { EN_US_UI_LABELS } from '../../../en-US.labels';\nimport { rem } from '../../../tokens/relative';\n\nimport type { InfiniteScrollProps } from './InfiniteScroll.types';\n\ntype Variant = NonNullable<InfiniteScrollProps['variant']>;\n\nconst CENTERED: SxProps<Theme> = {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n p: 2,\n};\n\nexport const DefaultLoader: React.FC<{ loadingText: string }> = ({ loadingText }) => {\n const theme = useTheme();\n return (\n <Box sx={CENTERED}>\n <CircularProgress size={rem(theme, 24)} />\n <Typography variant=\"body2\" sx={{ ml: 1 }}>\n {loadingText}\n </Typography>\n </Box>\n );\n};\n\nexport const DefaultEndMessage: React.FC<{ endText: string }> = ({ endText }) => (\n <Box sx={CENTERED}>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {endText}\n </Typography>\n </Box>\n);\n\nexport const DefaultError: React.FC<{ error: Error; errorText?: string }> = ({\n error,\n errorText = EN_US_UI_LABELS.infiniteScroll.loadFailed,\n}) => (\n <Alert severity=\"error\" sx={{ m: 2 }}>\n {error.message || errorText}\n </Alert>\n);\n\n/**\n * The horizontal variant's `width` as CSS: a number of 1 or less stays the\n * fraction `sx` reads it as, a larger one is design px, a string is as given;\n * unset (or 0) fills the parent.\n */\nconst horizontalWidth = (theme: Theme, width: number | string | undefined): string => {\n if (!width) return '100%';\n if (typeof width !== 'number') return width;\n return width <= 1 ? `${width * 100}%` : rem(theme, width);\n};\n\n/**\n * `horizontal` scrolls along a row; `reverse` stacks bottom-up, for a chat log\n * that loads older messages as you scroll away from the newest.\n */\nexport const containerStyles = (theme: Theme, variant: Variant, width?: number | string) => {\n const horizontal = variant === 'horizontal';\n const base = {\n width: horizontal ? horizontalWidth(theme, width) : '100%',\n height: horizontal ? '100%' : 'auto',\n overflowX: horizontal ? 'auto' : 'hidden',\n overflowY: horizontal ? 'hidden' : 'visible',\n display: 'flex',\n flexDirection: horizontal ? 'row' : 'column',\n };\n\n return variant === 'reverse' ? { ...base, flexDirection: 'column-reverse' } : base;\n};\n"],"mappings":";;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAChB,OAAO,sBAAsB;AAC7B,OAAO,gBAAgB;AACvB,SAAS,gBAA0C;AAoB/C,SACE,KADF;AAVJ,IAAM,WAA2B;AAAA,EAC/B,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,GAAG;AACL;AAEO,IAAM,gBAAmD,CAAC,EAAE,YAAY,MAAM;AACnF,QAAM,QAAQ,SAAS;AACvB,SACE,qBAAC,OAAI,IAAI,UACP;AAAA,wBAAC,oBAAiB,MAAM,IAAI,OAAO,EAAE,GAAG;AAAA,IACxC,oBAAC,cAAW,SAAQ,SAAQ,IAAI,EAAE,IAAI,EAAE,GACrC,uBACH;AAAA,KACF;AAEJ;AAEO,IAAM,oBAAmD,CAAC,EAAE,QAAQ,MACzE,oBAAC,OAAI,IAAI,UACP,8BAAC,cAAW,SAAQ,SAAQ,OAAM,kBAC/B,mBACH,GACF;AAGK,IAAM,eAA+D,CAAC;AAAA,EAC3E;AAAA,EACA,YAAY,gBAAgB,eAAe;AAC7C,MACE,oBAAC,SAAM,UAAS,SAAQ,IAAI,EAAE,GAAG,EAAE,GAChC,gBAAM,WAAW,WACpB;AAQF,IAAM,kBAAkB,CAAC,OAAc,UAA+C;AACpF,MAAI,CAAC,MAAO,QAAO;AACnB,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,SAAO,SAAS,IAAI,GAAG,QAAQ,GAAG,MAAM,IAAI,OAAO,KAAK;AAC1D;AAMO,IAAM,kBAAkB,CAAC,OAAc,SAAkB,UAA4B;AAC1F,QAAM,aAAa,YAAY;AAC/B,QAAM,OAAO;AAAA,IACX,OAAO,aAAa,gBAAgB,OAAO,KAAK,IAAI;AAAA,IACpD,QAAQ,aAAa,SAAS;AAAA,IAC9B,WAAW,aAAa,SAAS;AAAA,IACjC,WAAW,aAAa,WAAW;AAAA,IACnC,SAAS;AAAA,IACT,eAAe,aAAa,QAAQ;AAAA,EACtC;AAEA,SAAO,YAAY,YAAY,EAAE,GAAG,MAAM,eAAe,iBAAiB,IAAI;AAChF;","names":[]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-LL2BWQPM.js";
4
4
  import {
5
5
  EN_US_UI_LABELS
6
- } from "./chunk-W5PRZHLU.js";
6
+ } from "./chunk-O2RXSXSF.js";
7
7
  import {
8
8
  neutralTones
9
9
  } from "./chunk-XJAD6E3V.js";
@@ -316,4 +316,4 @@ var Stepper = ({
316
316
  export {
317
317
  Stepper
318
318
  };
319
- //# sourceMappingURL=chunk-5MAD6ZEI.js.map
319
+ //# sourceMappingURL=chunk-G3SWMBZS.js.map
@@ -3,11 +3,11 @@ import {
3
3
  } from "./chunk-KHG57NAE.js";
4
4
  import {
5
5
  createConfirmButton
6
- } from "./chunk-SRNBD6EV.js";
6
+ } from "./chunk-PGBIUO2A.js";
7
7
  import {
8
8
  Dialog,
9
9
  DialogContent
10
- } from "./chunk-25HBYY4O.js";
10
+ } from "./chunk-TLVKJBPM.js";
11
11
  import {
12
12
  default as default2
13
13
  } from "./chunk-6DPAWXZ3.js";
@@ -128,4 +128,4 @@ function ManageViewsDialog({
128
128
  export {
129
129
  ManageViewsDialog
130
130
  };
131
- //# sourceMappingURL=chunk-P3QFJJJY.js.map
131
+ //# sourceMappingURL=chunk-GHTVBYFA.js.map
@@ -86,6 +86,7 @@ var EN_US_DATA_VIEWS_COPY = {
86
86
  // `entityLabel` is the HOST's word for what the rows are, so the sentence is
87
87
  // built around it rather than naming a noun of its own.
88
88
  rowsUnaffected: (entityLabel) => `${entityLabel} are not affected; only the saved slice is removed.`,
89
+ entityFallback: "The records",
89
90
  confirm: "Delete view",
90
91
  cancel: "Cancel"
91
92
  },
@@ -178,7 +179,9 @@ var EN_US_DATA_VIEWS_COPY = {
178
179
  bulkActions: (selectedCount) => `Actions (${selectedCount}) \u25BE`,
179
180
  emptyFilteredTitle: "No results for these filters",
180
181
  emptyFilteredHint: "Adjust or remove the filters.",
181
- emptyFilteredAction: "Clear filters"
182
+ emptyFilteredAction: "Clear filters",
183
+ sortAscending: "Ascending",
184
+ sortDescending: "Descending"
182
185
  },
183
186
  filters: {
184
187
  moreFilters: (count) => `More filters: ${count} did not fit in the bar`,
@@ -227,6 +230,8 @@ var EN_US_DATA_VIEWS_COPY = {
227
230
  nav: {
228
231
  mainView: "Main view",
229
232
  defaultTag: "Default",
233
+ pinnedTag: "Pinned",
234
+ sharedTag: "Shared",
230
235
  viewOptions: (viewName) => `${viewName} options`,
231
236
  emptyHint: "No saved views. Adjust filters, columns or sorting and save below.",
232
237
  setDefault: "Set as default",
@@ -265,4 +270,4 @@ export {
265
270
  EN_US_DATA_STATE_COPY,
266
271
  EN_US_DATA_VIEWS_COPY
267
272
  };
268
- //# sourceMappingURL=chunk-RRSLH2FV.js.map
273
+ //# sourceMappingURL=chunk-GLAAX5JJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/en-US.data-display.ts"],"sourcesContent":["/**\n * The en-US pack for the data-display family. Split the same way\n * `pt-BR.data-display.ts` is — see `en-US.ts` 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 { EN_US_TABLE_FILTER_COPY } from './en-US.layout';\nimport {\n EN_US_CATEGORY_SELECT_COPY,\n EN_US_CONFIRM_ACTION_COPY,\n EN_US_SAVED_VIEWS_LABELS,\n} from './en-US.shared';\n\nexport const EN_US_LIGHTBOX_COPY: LightboxCopy = {\n close: \"Close\",\n previous: \"Previous\",\n next: \"Next\",\n zoomIn: \"Zoom in\",\n zoomOut: \"Zoom out\",\n resetZoom: \"Reset zoom\",\n play: \"Start the slideshow\",\n pause: \"Pause the slideshow\",\n dialogLabel: \"Lightbox\",\n itemPosition: (index, total) => `Item ${index} of ${total}`,\n videoFallback: (index, total) => `Video ${index} of ${total}`,\n imageFallback: (index, total) => `Image ${index} of ${total}`,\n thumbnailFallback: (index) => `Thumbnail ${index}`,\n};\n\nexport const EN_US_DATA_GRID_COPY: DataGridCopy = {\n sortBy: (header) => `Sort by ${header}`,\n selectRow: (rowNumber) => `Select row ${rowNumber}`,\n selectAllRows: \"Select all rows\",\n expandRow: \"Expand row\",\n collapseRow: \"Collapse row\",\n gridLabel: \"Data grid\",\n};\n\nexport const EN_US_MAP_PREVIEW_COPY: Required<MapPreviewCopy> = {\n zoomIn: \"Zoom in\",\n zoomOut: \"Zoom out\",\n center: \"Centre the map\",\n mapType: \"Change the map type\",\n fullscreen: \"Full screen\",\n search: \"Search for an address\",\n searchPlaceholder: \"Search location...\",\n viewDescription: (lat, lng, zoom) => `Map preview centered at ${lat}, ${lng} with zoom level ${zoom}`,\n mapTypeTitle: (name) => `Map type: ${name}`,\n mapTypeNames: { roadmap: \"roadmap\", satellite: \"satellite\", hybrid: \"hybrid\", terrain: \"terrain\" },\n coordinates: (lat, lng) => `Lat: ${lat}, Lng: ${lng}`,\n zoomLevel: (zoom) => `Zoom: ${zoom}`,\n};\n\nexport const EN_US_CAROUSEL_COPY: Required<CarouselCopy> = {\n previous: \"Previous\",\n next: \"Next\",\n goToSlide: (position) => `Go to slide ${position}`,\n};\n\nexport const EN_US_TIMING_DIAGRAM_COPY: TimingDiagramCopy = {\n regionLabel: \"Timing diagram\",\n heading: \"Request timing\",\n dns: \"DNS Lookup\",\n connect: \"Connection\",\n ssl: \"SSL/TLS\",\n request: \"Request\",\n response: \"Response\",\n total: (formatted) => `Total: ${formatted}`,\n totalTime: (formatted) => `Total Time: ${formatted}`,\n};\n\nexport const EN_US_DATA_STATE_COPY: DataStateCopy = {\n empty: \"Nothing here\",\n loading: \"Loading…\",\n endOfList: \"No more items to load\",\n dismissAlert: \"Dismiss\",\n dismissBanner: \"Dismiss this banner\",\n};\n\nexport const EN_US_DATA_VIEWS_COPY: DataViewsCopy = {\n savedViewsMenu: EN_US_SAVED_VIEWS_LABELS,\n confirmAction: EN_US_CONFIRM_ACTION_COPY,\n categorySelect: EN_US_CATEGORY_SELECT_COPY,\n board: {\n countOnPage: (label, count) => `${label}: ${count} on this page`,\n onThisPage: (count) => `${count} on this page`,\n pageSum: (sum) => `This page totals ${sum}`,\n emptyColumn: \"Nothing at this stage\",\n pageScopeNote: \"The counts and totals below cover only the items on this page.\",\n },\n deleteView: {\n title: \"Delete view\",\n target: (viewName) => `Delete \"${viewName}\"?`,\n sharedWarning: \"This view is shared — the team will lose access to it.\",\n // `entityLabel` is the HOST's word for what the rows are, so the sentence is\n // built around it rather than naming a noun of its own.\n rowsUnaffected: (entityLabel) =>\n `${entityLabel} are not affected; only the saved slice is removed.`,\n entityFallback: \"The records\",\n confirm: \"Delete view\",\n cancel: \"Cancel\",\n },\n manageViews: {\n title: \"Manage views\",\n empty: \"No saved views.\",\n edit: \"Edit\",\n defaultTag: \"Default\",\n otherUserTag: \"Another user's\",\n deleteTitle: \"Delete this saved view?\",\n deleteBody: \"The filters and columns it holds are lost. This cannot be undone.\",\n deleteConfirm: \"Delete\",\n },\n saveView: {\n sharedDescription: \"Anyone in the store will be able to open and use this view.\",\n setDefaultTitle: \"Set as default\",\n setDefaultDescription: \"This screen opens on this view instead of the Main view.\",\n previewHeading: \"What this view holds\",\n previewUnchanged: \"Nothing has changed — this view will match the Main view.\",\n sortRowLabel: \"Sorting\",\n saveFailed: \"Could not save the view.\",\n titleEditing: \"Edit view\",\n titleCreating: \"Save view\",\n descriptionLabel: \"Description — optional\",\n descriptionPlaceholder: \"What this view is for\",\n submitEditing: \"Save changes\",\n submitCreating: \"Save view\",\n nameLabel: \"Name\",\n cancel: \"Cancel\",\n pinnedTitle: \"Pin to the sidebar\",\n pinnedDescription: \"Appears as a shortcut in the menu, under this screen.\",\n sharedTitle: \"Share with the team\",\n namePlaceholder: \"e.g. Declined card payments this week\",\n previewFilters: \"Filters\",\n previewHiddenColumns: \"Hidden columns\",\n },\n columns: {\n visibleCount: (visible, total) => `${visible} of ${total} visible`,\n reset: \"Default\",\n showAll: \"Show all\",\n dragHint: \"Drag to reorder the columns.\",\n moveUp: (columnLabel) => `Move ${columnLabel} up`,\n moveDown: (columnLabel) => `Move ${columnLabel} down`,\n },\n display: {\n sortTab: \"Sort\",\n columnsTab: \"Columns\",\n panelTab: \"Display\",\n direction: \"Direction\",\n layoutHints: {\n table: \"Comparable columns, good for scanning numbers.\",\n list: \"One row per item, with the key fields.\",\n cards: \"Larger blocks, good for a handful of items.\",\n board: \"A column per stage, for tracking what is where.\",\n },\n densityHeadings: {\n table: \"Row height\",\n list: \"Row height\",\n cards: \"Cards per row\",\n board: \"Column width\",\n },\n densityLabels: {\n table: { compact: \"Low\", cozy: \"Medium\", comfortable: \"High\" },\n list: { compact: \"Low\", cozy: \"Medium\", comfortable: \"High\" },\n cards: { compact: \"Many\", cozy: \"Some\", comfortable: \"Few\" },\n board: { compact: \"Narrow\", cozy: \"Medium\", comfortable: \"Wide\" },\n },\n boardUnavailable: \"This screen declares no stages, so it offers no board.\",\n densityUnavailableNarrow:\n \"One card per row at this width — density returns on larger screens.\",\n trigger: \"Display\",\n fieldHeading: \"Field\",\n formatHeading: \"Format\",\n cardZoom: \"Card size\",\n },\n export: {\n formats: {\n // The extension is the file's, not a word: it stays as it is written on\n // disk in every language.\n json: { label: \"JSON (.json)\", hint: \"For integrations\" },\n },\n scopeLine: (selectedCount, totalCount) =>\n selectedCount > 0\n ? `Exporting ${selectedCount} selected ${selectedCount === 1 ? \"item\" : \"items\"}`\n : `Exporting ${totalCount} filtered ${totalCount === 1 ? \"item\" : \"items\"}`,\n visibleColumns: (columnCount) => `${columnCount} visible columns, in their current order`,\n trigger: \"Export\",\n triggerLabel: \"Export\",\n },\n tableFilter: EN_US_TABLE_FILTER_COPY,\n grid: {\n ...EN_US_DATA_GRID_COPY,\n rowActions: \"Actions\",\n bulkActions: (selectedCount) => `Actions (${selectedCount}) ▾`,\n emptyFilteredTitle: \"No results for these filters\",\n emptyFilteredHint: \"Adjust or remove the filters.\",\n emptyFilteredAction: \"Clear filters\",\n sortAscending: \"Ascending\",\n sortDescending: \"Descending\",\n },\n filters: {\n moreFilters: (count) => `More filters: ${count} did not fit in the bar`,\n moreFiltersApplied: (count, appliedCount) =>\n `More filters: ${count} did not fit in the bar, ${appliedCount} applied`,\n moreTriggerLabel: \"More\",\n moreHeading: \"More filters\",\n overflowNote: \"did not fit in the bar\",\n rangeEnd: \"To\",\n rangeInvalid: \"The start must be earlier than the end.\",\n rangeInclusiveNote: \"Both dates are included in the result.\",\n rangeStart: \"From\",\n // The mask is what the reader TYPES, so it follows their own date order\n // rather than being carried over. A translated label above an unchanged\n // mask is the shape that gets a date entered backwards.\n dayMask: \"mm/dd/yyyy\",\n clearAllFilters: \"Clear all filters\",\n // The KEYS are the package's own preset ids and stay as they are — the\n // surface matches on them. Only the labels beside them are words.\n rangePresets: {\n hoje: \"Today\",\n ontem: \"Yesterday\",\n semana: \"This week\",\n mes: \"This month\",\n ano: \"This year\",\n },\n scopesLabel: \"Status\",\n panelTitle: \"Filters\",\n clear: \"Clear\",\n clearAll: \"Clear filters\",\n clearRange: (label) => `Clear ${label}`,\n allOption: \"All\",\n optionSearchPlaceholder: \"Search…\",\n optionsEmpty: \"No results\",\n optionsHeading: \"Options\",\n },\n selection: {\n selectAllOnPage: \"Select all on this page\",\n clearSelection: \"Clear selection\",\n selectAll: \"Select all\",\n onThisPage: (count) => `${count} on this page`,\n selectedCount: (count) => `${count} ${count === 1 ? \"item selected\" : \"items selected\"}`,\n selectRow: \"Select\",\n expandRow: \"Expand details\",\n collapseRow: \"Collapse details\",\n },\n nav: {\n mainView: \"Main view\",\n defaultTag: \"Default\",\n pinnedTag: \"Pinned\",\n sharedTag: \"Shared\",\n viewOptions: (viewName) => `${viewName} options`,\n emptyHint: \"No saved views. Adjust filters, columns or sorting and save below.\",\n setDefault: \"Set as default\",\n deleteView: \"Delete view\",\n unsavedChanges: \"Unsaved changes\",\n label: \"View\",\n update: \"Update view\",\n save: \"Save view\",\n saveAs: \"Save as new\",\n reset: \"Reset\",\n updateFailed: \"Could not update the view\",\n dismissError: \"Dismiss\",\n goBack: \"Back\",\n pageSize: \"Show:\",\n saveFailed: \"Could not save the change to the view.\",\n editView: \"Rename and edit\",\n pinToSidebar: \"Pin to the sidebar\",\n shareWithTeam: \"Share with the team\",\n },\n search: {\n placeholder: \"Search…\",\n allColumnsLabel: \"Search every column\",\n keywordPlaceholder: \"Press Enter to filter\",\n open: \"Search\",\n close: \"Close search\",\n clear: \"Clear search\",\n },\n};\n"],"mappings":"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","names":[]}
@@ -1,3 +1,6 @@
1
+ import {
2
+ EN_US_UI_LABELS
3
+ } from "./chunk-O2RXSXSF.js";
1
4
  import {
2
5
  rem
3
6
  } from "./chunk-YKCAJ2TN.js";
@@ -10,7 +13,7 @@ import Typography from "@mui/material/Typography/index.js";
10
13
  import { useTheme } from "@mui/material/styles/index.js";
11
14
  import { jsx, jsxs } from "react/jsx-runtime";
12
15
  var CommandEmpty = ({
13
- message = "No results found",
16
+ message = EN_US_UI_LABELS.command.empty,
14
17
  className,
15
18
  style,
16
19
  dataTestId
@@ -29,7 +32,7 @@ var CommandEmpty = ({
29
32
  }
30
33
  );
31
34
  var CommandLoading = ({
32
- message = "Loading...",
35
+ message = EN_US_UI_LABELS.command.loading,
33
36
  className,
34
37
  style,
35
38
  dataTestId
@@ -65,4 +68,4 @@ export {
65
68
  CommandLoading,
66
69
  CommandSeparator
67
70
  };
68
- //# sourceMappingURL=chunk-XLTHZI5W.js.map
71
+ //# sourceMappingURL=chunk-GX2LIB4T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/Command/Command.parts.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport Divider from '@mui/material/Divider/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 {\n CommandEmptyProps,\n CommandLoadingProps,\n CommandSeparatorProps,\n} from './Command.types';\nimport { rem } from '../../../tokens/relative';\nimport { EN_US_UI_LABELS } from '../../../en-US.labels';\n\nexport const CommandEmpty: React.FC<CommandEmptyProps> = ({\n message = EN_US_UI_LABELS.command.empty,\n className,\n style,\n dataTestId,\n}) => (\n <Box\n className={className}\n data-testid={dataTestId}\n sx={{\n p: 4,\n textAlign: 'center',\n color: 'text.secondary',\n ...style,\n }}\n >\n <Typography variant=\"body2\">{message}</Typography>\n </Box>\n );\n\nexport const CommandLoading: React.FC<CommandLoadingProps> = ({\n message = EN_US_UI_LABELS.command.loading,\n className,\n style,\n dataTestId,\n}) => {\n const theme = useTheme();\n return (\n <Box\n className={className}\n data-testid={dataTestId}\n sx={{\n p: 4,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: 2,\n ...style,\n }}\n >\n <CircularProgress size={rem(theme, 24)} />\n <Typography variant=\"body2\" color=\"text.secondary\">\n {message}\n </Typography>\n </Box>\n );\n};\n\nexport const CommandSeparator: React.FC<CommandSeparatorProps> = ({\n className,\n style,\n}) => <Divider className={className} sx={{ my: 1, ...style }} />;"],"mappings":";;;;;;;;AAAA,OAAO,SAAS;AAChB,OAAO,sBAAsB;AAC7B,OAAO,aAAa;AACpB,OAAO,gBAAgB;AACvB,SAAS,gBAAgB;AA2BnB,cAYF,YAZE;AAhBC,IAAM,eAA4C,CAAC;AAAA,EACxD,UAAU,gBAAgB,QAAQ;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AACF,MACI;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,eAAa;AAAA,IACb,IAAI;AAAA,MACF,GAAG;AAAA,MACH,WAAW;AAAA,MACX,OAAO;AAAA,MACP,GAAG;AAAA,IACL;AAAA,IAEA,8BAAC,cAAW,SAAQ,SAAS,mBAAQ;AAAA;AACvC;AAGG,IAAM,iBAAgD,CAAC;AAAA,EAC5D,UAAU,gBAAgB,QAAQ;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AACvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa;AAAA,MACb,IAAI;AAAA,QACF,GAAG;AAAA,QACH,SAAS;AAAA,QACT,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,KAAK;AAAA,QACL,GAAG;AAAA,MACL;AAAA,MAEA;AAAA,4BAAC,oBAAiB,MAAM,IAAI,OAAO,EAAE,GAAG;AAAA,QACxC,oBAAC,cAAW,SAAQ,SAAQ,OAAM,kBAC/B,mBACH;AAAA;AAAA;AAAA,EACF;AAEJ;AAEO,IAAM,mBAAoD,CAAC;AAAA,EAChE;AAAA,EACA;AACF,MAAM,oBAAC,WAAQ,WAAsB,IAAI,EAAE,IAAI,GAAG,GAAG,MAAM,GAAG;","names":[]}
@@ -4,6 +4,9 @@ import {
4
4
  StackedTrigger,
5
5
  buildTriggerLabel
6
6
  } from "./chunk-V4JMZZGH.js";
7
+ import {
8
+ EN_US_UI_LABELS
9
+ } from "./chunk-O2RXSXSF.js";
7
10
  import {
8
11
  fieldTextFieldStyles
9
12
  } from "./chunk-QQHZBJMU.js";
@@ -49,14 +52,14 @@ function MultiSelectDropdown({
49
52
  selected,
50
53
  onToggle,
51
54
  onClear,
52
- allLabel = "All",
55
+ allLabel = EN_US_UI_LABELS.contentToolbar.all,
53
56
  clearLabel,
54
57
  clearText,
55
58
  extraOptionsHeading,
56
59
  extraOptions,
57
60
  searchable,
58
- searchPlaceholder = "Search\u2026",
59
- noResultsLabel = "No results",
61
+ searchPlaceholder = EN_US_UI_LABELS.contentToolbar.search,
62
+ noResultsLabel = EN_US_UI_LABELS.contentToolbar.noResults,
60
63
  layout = "inline",
61
64
  "data-testid": testId,
62
65
  onOpenChange
@@ -275,4 +278,4 @@ function MenuClearFooter({
275
278
  export {
276
279
  MultiSelectDropdown
277
280
  };
278
- //# sourceMappingURL=chunk-RKVS5AA6.js.map
281
+ //# sourceMappingURL=chunk-H3NXDKFH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/layout/ContentToolbar/MultiSelectDropdown.tsx"],"sourcesContent":["'use client';\n\nimport SearchIcon from '@mui/icons-material/Search';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport Checkbox from '@mui/material/Checkbox/index.js';\nimport Divider from '@mui/material/Divider/index.js';\nimport InputAdornment from '@mui/material/InputAdornment/index.js';\nimport ListSubheader from '@mui/material/ListSubheader/index.js';\nimport Menu from '@mui/material/Menu/index.js';\nimport MenuItem from '@mui/material/MenuItem/index.js';\nimport TextField from '@mui/material/TextField/index.js';\nimport React, { useMemo, useState } from 'react';\n\nimport type {\n MultiSelectDropdownProps,\n MultiSelectExtraOption,\n MultiSelectOption,\n} from './ContentToolbar.types';\nimport { buildTriggerLabel, InlineTrigger, PillTrigger, StackedTrigger } from './MultiSelectTriggers';\nimport { EN_US_UI_LABELS } from '../../../en-US.labels';\nimport { fieldTextFieldStyles } from '../../../tokens/field-height';\nimport { sxRem } from '../../../tokens/relative';\n\n/** One checkbox menu row with an optional trailing count. */\nfunction CheckboxRow({\n label,\n count,\n checked,\n onToggle,\n}: {\n label: string;\n count?: number;\n checked: boolean;\n onToggle: (next: boolean) => void;\n}): React.JSX.Element {\n return (\n <MenuItem onClick={() => onToggle(!checked)} sx={{ gap: 1 }}>\n <Checkbox checked={checked} size=\"small\" disableRipple sx={{ p: 0, pointerEvents: 'none' }} tabIndex={-1} />\n <Box component=\"span\" sx={{ flex: 1, minWidth: 0, textAlign: 'left' }}>\n {label}\n {count != null && (\n <Box component=\"span\" sx={{ color: 'text.secondary' }}>\n {' '}\n ({count})\n </Box>\n )}\n </Box>\n </MenuItem>\n );\n}\n\n/**\n * Generic multi-select dropdown with checkboxes, counts, an optional \"Options\"\n * section, and a \"Clear\" action. Faithful MUI port of the reference toolbar's\n * \"Content Type\" control. The menu stays open while toggling options.\n */\nexport function MultiSelectDropdown<TValue extends string = string>({\n label,\n options,\n selected,\n onToggle,\n onClear,\n allLabel = EN_US_UI_LABELS.contentToolbar.all,\n clearLabel,\n clearText,\n extraOptionsHeading,\n extraOptions,\n searchable,\n searchPlaceholder = EN_US_UI_LABELS.contentToolbar.search,\n noResultsLabel = EN_US_UI_LABELS.contentToolbar.noResults,\n layout = 'inline',\n 'data-testid': testId,\n onOpenChange,\n}: MultiSelectDropdownProps<TValue>): React.JSX.Element {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const [query, setQuery] = useState('');\n const open = Boolean(anchorEl);\n const stacked = layout === 'stacked';\n // Reset the query each time the menu closes so it reopens showing everything.\n const close = (): void => {\n setAnchorEl(null);\n setQuery('');\n onOpenChange?.(false);\n };\n const triggerLabel = buildTriggerLabel(selected, options, allLabel);\n // Auto-enable search for long lists (e.g. many categories) unless overridden.\n const showSearch = searchable ?? options.length > 8;\n const anyExtraChecked = extraOptions?.some((option) => option.checked) ?? false;\n const clearDisabled = selected.size === 0 && !anyExtraChecked;\n\n const openMenu = (event: React.MouseEvent<HTMLElement>): void => {\n setAnchorEl(event.currentTarget);\n onOpenChange?.(true);\n };\n const triggerProps = { triggerLabel, open, onOpen: openMenu, testId };\n\n const renderTrigger = (): React.JSX.Element => {\n if (stacked) return <StackedTrigger label={label} {...triggerProps} />;\n if (layout === 'pill')\n return (\n <PillTrigger\n clearLabel={clearLabel}\n label={label}\n selectedCount={selected.size}\n onClear={onClear}\n {...triggerProps}\n />\n );\n return <InlineTrigger label={label} {...triggerProps} />;\n };\n\n return (\n <>\n {renderTrigger()}\n <MultiSelectMenu\n extraOptionsHeading={extraOptionsHeading} clearText={clearText} anchorEl={anchorEl}\n open={open}\n close={close}\n options={options}\n selected={selected}\n onToggle={onToggle}\n extraOptions={extraOptions}\n clearDisabled={clearDisabled}\n onClear={onClear}\n showSearch={showSearch}\n query={query}\n onQueryChange={setQuery}\n searchPlaceholder={searchPlaceholder}\n noResultsLabel={noResultsLabel}\n matchAnchorWidth={stacked}\n testId={testId}\n />\n </>\n );\n}\n\n/** Sticky search box at the top of the menu; keydowns don't reach the Menu's typeahead. */\nfunction MenuSearchField({\n query,\n onQueryChange,\n placeholder,\n testId,\n}: {\n query: string;\n onQueryChange: (value: string) => void;\n placeholder: string;\n testId?: string;\n}): React.JSX.Element {\n return (\n <Box\n sx={{ position: 'sticky', top: 0, zIndex: 1, bgcolor: 'background.paper', px: 1, py: 0.75 }}\n onKeyDown={(event) => event.stopPropagation()}\n >\n <TextField\n autoFocus\n size=\"small\"\n sx={fieldTextFieldStyles}\n fullWidth\n value={query}\n onChange={(event) => onQueryChange(event.target.value)}\n placeholder={placeholder}\n inputProps={{ 'aria-label': placeholder, 'data-testid': testId ? `${testId}-search` : undefined }}\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <SearchIcon sx={{ fontSize: sxRem(16) }} />\n </InputAdornment>\n ),\n }}\n />\n </Box>\n );\n}\n\ninterface MultiSelectMenuProps<TValue extends string> {\n anchorEl: HTMLElement | null;\n open: boolean;\n close: () => void;\n options: MultiSelectOption<TValue>[];\n selected: ReadonlySet<TValue>;\n onToggle: (value: TValue, checked: boolean) => void;\n extraOptions?: MultiSelectExtraOption[];\n clearDisabled: boolean;\n onClear: () => void;\n showSearch: boolean;\n query: string;\n onQueryChange: (value: string) => void;\n searchPlaceholder: string;\n noResultsLabel: string;\n extraOptionsHeading: string;\n clearText: string;\n /** Match the menu width to the trigger and left-align it (stacked select). */\n matchAnchorWidth?: boolean;\n testId?: string;\n}\n\n/**\n * Menu placement. Default: anchored to the trigger's right (toolbar). When\n * `matchAnchorWidth` (stacked select), match the trigger width and left-align so\n * the menu sits flush under the full-width control.\n */\nfunction resolveMenuPlacement(\n matchAnchorWidth: boolean | undefined,\n anchorEl: HTMLElement | null,\n): { anchorWidth: number | undefined; align: 'left' | 'right' } {\n if (!matchAnchorWidth) return { anchorWidth: undefined, align: 'right' };\n return { anchorWidth: anchorEl?.offsetWidth, align: 'left' };\n}\n\n/** The (optional) search box + checkbox list + optional \"Options\" section + a \"Clear\" footer. */\nfunction MultiSelectMenu<TValue extends string>({\n anchorEl,\n open,\n close,\n options,\n selected,\n onToggle,\n extraOptions,\n extraOptionsHeading,\n clearText,\n clearDisabled,\n onClear,\n showSearch,\n query,\n onQueryChange,\n searchPlaceholder,\n noResultsLabel,\n matchAnchorWidth,\n testId,\n}: MultiSelectMenuProps<TValue>): React.JSX.Element {\n const trimmed = query.trim().toLowerCase();\n const visibleOptions = useMemo(\n () => (trimmed ? options.filter((option) => option.label.toLowerCase().includes(trimmed)) : options),\n [options, trimmed],\n );\n const { anchorWidth, align } = resolveMenuPlacement(matchAnchorWidth, anchorEl);\n return (\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={close}\n anchorOrigin={{ vertical: 'bottom', horizontal: align }}\n transformOrigin={{ vertical: 'top', horizontal: align }}\n // Keep focus on the search box (don't let the Menu grab the first item),\n // and stop MUI's typeahead from swallowing keystrokes meant for the input.\n autoFocus={!showSearch}\n disableAutoFocusItem\n slotProps={{\n // Cap the height so a long list (e.g. many categories) scrolls instead\n // of running off-screen; the sticky search box stays pinned on top.\n paper: { sx: { minWidth: anchorWidth ?? sxRem(180), width: anchorWidth, maxHeight: sxRem(360) } },\n list: { sx: { pt: showSearch ? 0 : undefined, pb: 0 } },\n }}\n >\n {showSearch && (\n <MenuSearchField query={query} onQueryChange={onQueryChange} placeholder={searchPlaceholder} testId={testId} />\n )}\n {visibleOptions.length === 0 && showSearch ? (\n <MenuItem disabled data-testid={testId ? `${testId}-no-results` : undefined} sx={{ fontSize: sxRem(13) }}>\n {noResultsLabel}\n </MenuItem>\n ) : (\n visibleOptions.map((option) => (\n <CheckboxRow\n key={option.value}\n label={option.label}\n count={option.count}\n checked={selected.has(option.value)}\n onToggle={(next) => onToggle(option.value, next)}\n />\n ))\n )}\n {extraOptions && extraOptions.length > 0\n ? [\n <Divider key=\"extra-divider\" />,\n <ListSubheader key=\"extra-label\" sx={{ px: 1, py: 0.75, fontSize: sxRem(12), fontWeight: 600 }}>\n {extraOptionsHeading}\n </ListSubheader>,\n ...extraOptions.map((extra) => (\n <CheckboxRow key={extra.id} label={extra.label} checked={extra.checked} onToggle={(next) => extra.onCheckedChange(next)} />\n )),\n ]\n : null}\n <MenuClearFooter\n clearText={clearText} clearDisabled={clearDisabled} onClear={onClear}\n close={close} testId={testId}\n />\n </Menu>\n );\n}\n\n/** The bottom \"Clear\" footer that resets the selection and closes the menu. */\nfunction MenuClearFooter({\n clearText,\n clearDisabled,\n onClear,\n close,\n testId,\n}: {\n clearText: string;\n clearDisabled: boolean;\n onClear: () => void;\n close: () => void;\n testId?: string;\n}): React.JSX.Element {\n return (\n <Box\n sx={{\n // Pin to the bottom of the scroll viewport so it stays visible while the\n // options list scrolls (mirrors the sticky search box on top).\n position: 'sticky',\n bottom: 0,\n zIndex: 1,\n display: 'flex',\n justifyContent: 'flex-end',\n borderTop: 1,\n borderColor: 'divider',\n bgcolor: 'background.paper',\n px: 1,\n py: 0.75,\n }}\n >\n <Button\n variant=\"text\"\n size=\"small\"\n color=\"inherit\"\n data-testid={testId ? `${testId}-clear` : undefined}\n disabled={clearDisabled}\n onClick={() => {\n onClear();\n close();\n }}\n sx={{ minWidth: 0, px: 1, py: 0.25, fontSize: sxRem(12), fontWeight: 400, textTransform: 'none', color: 'text.secondary' }}\n >\n {clearText}\n </Button>\n </Box>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  AppHeaderBrand
3
3
  } from "./chunk-GWFAINQ7.js";
4
+ import {
5
+ PT_BR_UI_LABELS
6
+ } from "./chunk-VRKNVZZQ.js";
4
7
  import {
5
8
  accentFor
6
9
  } from "./chunk-B7ZHEOQQ.js";
@@ -156,7 +159,7 @@ var IdentityText = ({
156
159
  onClick: onDisclose,
157
160
  "aria-haspopup": "dialog",
158
161
  "aria-expanded": disclosed,
159
- "aria-label": discloseLabel ?? `Detalhes de ${title}`,
162
+ "aria-label": discloseLabel ?? PT_BR_UI_LABELS.appHeader.disclose(title),
160
163
  sx: discloseSx,
161
164
  children: name
162
165
  }
@@ -258,4 +261,4 @@ export {
258
261
  AppHeaderStatus,
259
262
  AppHeaderIdentity
260
263
  };
261
- //# sourceMappingURL=chunk-47VRDPR2.js.map
264
+ //# sourceMappingURL=chunk-HFZE2PGM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/navigation/AppHeader/AppHeader.identity.tsx"],"sourcesContent":["'use client';\n\nimport KeyboardArrowDown from '@mui/icons-material/KeyboardArrowDown';\nimport Box from '@mui/material/Box/index.js';\nimport Skeleton from '@mui/material/Skeleton/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { useTheme } from '@mui/material/styles/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { rem, sxRem } from '../../../tokens/relative';\nimport { PT_BR_UI_LABELS } from '../../../pt-BR.labels';\nimport { accentFor, type SizeValue } from '../../../tokens/scales';\n\nimport { AppHeaderBrand } from './AppHeader.brand';\nimport type { AppHeaderIdentityProps, AppHeaderStatusProps } from './AppHeader.types';\n\n/** Title type scale, per house size step. */\nconst TITLE_PX: Record<SizeValue, number> = { xs: 14, sm: 15, md: 17, lg: 20, xl: 24 };\n\n/** One line, ellipsised — a long store name must not push the actions off-screen. */\nconst ONE_LINE = {\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n} as const;\n\n/**\n * The dotted state line: \"● Aberto agora · Retirada no balcão\".\n *\n * Segments are joined here rather than by the caller because the separator is a\n * presentational choice — a caller that pre-joins its own string can never be\n * restyled, and each segment loses the chance to carry its own markup.\n */\nexport const AppHeaderStatus: React.FC<AppHeaderStatusProps> = ({\n tone,\n items,\n separator = '·',\n className,\n dataTestId = 'app-header-status',\n}) => {\n const theme = useTheme();\n const visible = items.filter((item) => item !== null && item !== undefined && item !== '');\n if (visible.length === 0) return null;\n\n return (\n <Box\n className={className}\n data-testid={dataTestId}\n sx={{ display: 'flex', alignItems: 'center', gap: 0.75, ...ONE_LINE }}\n >\n {tone && (\n <Box\n aria-hidden\n data-testid={`${dataTestId}-dot`}\n sx={{\n width: rem(theme, 8),\n height: rem(theme, 8),\n flex: '0 0 auto',\n borderRadius: '50%',\n backgroundColor: accentFor(theme, tone).main,\n }}\n />\n )}\n <Typography variant=\"body2\" color=\"text.secondary\" component=\"span\" sx={ONE_LINE}>\n {visible.map((item, index) => (\n // Index keys: the segments are positional presentation, and nothing\n // here reorders or is keyed on identity elsewhere.\n <React.Fragment key={index}>\n {index > 0 && (\n <>\n {/* Real spaces, not margin. A screen reader reads `textContent`,\n and a CSS-only gap runs \"Aberto agora\" straight into\n \"Retirada no balcão\" as one word. The glyph itself is\n hidden — it is punctuation, not something to announce. */}\n {' '}\n <Box component=\"span\" aria-hidden>\n {separator}\n </Box>{' '}\n </>\n )}\n {item}\n </React.Fragment>\n ))}\n </Typography>\n </Box>\n );\n};\n\nAppHeaderStatus.displayName = 'AppHeaderStatus';\n\n/** The name and, when the block opens onto something, the chevron beside it. */\nconst IdentityTitle: React.FC<\n Pick<AppHeaderIdentityProps, 'title' | 'size'> & {\n interactive: boolean;\n disclosed: boolean;\n dataTestId: string;\n }\n> = ({ title, size = 'md', interactive, disclosed, dataTestId }) => (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.25, minWidth: 0, width: '100%' }}>\n <Typography\n component=\"span\"\n data-testid={`${dataTestId}-title`}\n sx={{ fontSize: sxRem(TITLE_PX[size]), fontWeight: 700, lineHeight: 1.2, ...ONE_LINE }}\n >\n {title}\n </Typography>\n {interactive && (\n <KeyboardArrowDown\n aria-hidden\n data-testid={`${dataTestId}-chevron`}\n sx={{\n flex: '0 0 auto',\n fontSize: sxRem(20),\n opacity: 0.7,\n transition: 'transform 150ms ease',\n transform: disclosed ? 'rotate(180deg)' : 'none',\n }}\n />\n )}\n </Box>\n);\n\n/**\n * The disclosure, wrapping the NAME ROW and nothing else (12-63).\n *\n * The padding is cancelled by an equal negative margin, so the hover and the\n * focus ring bleed outward while the title still starts on the same pixel as\n * the lines under it. A padded button with no offset moves one of the two.\n */\nconst discloseSx = {\n display: 'flex',\n alignItems: 'center',\n gap: 0.25,\n width: '100%',\n minWidth: 0,\n appearance: 'none',\n px: 0.5,\n mx: -0.5,\n py: 0.25,\n my: -0.25,\n border: 'none',\n borderRadius: 1.5,\n background: 'none',\n color: 'inherit',\n font: 'inherit',\n textAlign: 'left',\n cursor: 'pointer',\n // Guarded: on a touch screen an unguarded `:hover` sticks after the tap that\n // opened the panel, so the row stays highlighted behind it.\n '@media (hover: hover)': { '&:hover': { backgroundColor: 'action.hover' } },\n '&:focus-visible': {\n outline: (theme: Theme) => `${rem(theme, 2)} solid`,\n outlineColor: 'primary.main',\n outlineOffset: sxRem(2),\n },\n} as const;\n\n/**\n * The text column: the name row, then the quieter lines under it.\n *\n * ## `subtitle` and `status` are OUTSIDE the disclosure, on purpose (12-63)\n *\n * Both are `ReactNode`, and `AppHeaderStatus.items` is a `ReactNode[]` — so a\n * segment of the state line is free to be a control, and consumers put controls\n * there: a mesa chip, a service-mode picker. While the whole block was one\n * `<button>` those were `<button>`s inside a `<button>`, which is invalid HTML\n * (the content model of `button` excludes interactive content) and, more\n * visibly, means one tap fires two handlers. An adopting storefront opened two\n * popups on every tap of either control because of it, and had already\n * hand-rolled this component at one tier to dodge the nesting — a consumer\n * working around the component is the report.\n *\n * The target stays large. The button is the full-width NAME ROW, which is the\n * thing a reader aims at — what it gives up is the mark beside it, and a mark\n * that opens the panel is not worth a state line that cannot hold a control.\n */\nconst IdentityText: React.FC<\n Pick<\n AppHeaderIdentityProps,\n 'title' | 'subtitle' | 'status' | 'size' | 'discloseLabel' | 'className'\n > & {\n onDisclose: (() => void) | undefined;\n disclosed: boolean;\n dataTestId: string;\n }\n> = ({\n title,\n subtitle,\n status,\n size = 'md',\n onDisclose,\n disclosed,\n discloseLabel,\n className,\n dataTestId,\n}) => {\n const name = (\n <IdentityTitle\n title={title}\n size={size}\n interactive={Boolean(onDisclose)}\n disclosed={disclosed}\n dataTestId={dataTestId}\n />\n );\n return (\n <Box sx={{ minWidth: 0, flex: 1, display: 'flex', flexDirection: 'column', gap: 0.25 }}>\n {onDisclose ? (\n <Box\n component=\"button\"\n type=\"button\"\n className={className}\n data-testid={dataTestId}\n onClick={onDisclose}\n aria-haspopup=\"dialog\"\n aria-expanded={disclosed}\n aria-label={discloseLabel ?? PT_BR_UI_LABELS.appHeader.disclose(title)}\n sx={discloseSx}\n >\n {name}\n </Box>\n ) : (\n name\n )}\n {subtitle && (\n <Typography variant=\"body2\" color=\"text.secondary\" component=\"span\" sx={ONE_LINE}>\n {subtitle}\n </Typography>\n )}\n {status}\n </Box>\n );\n};\n\n/** The placeholder held while the identity is still resolving. */\nconst IdentitySkeleton: React.FC<{ size: SizeValue; dataTestId: string }> = ({\n size,\n dataTestId,\n}) => {\n const theme = useTheme();\n return (\n <Box\n data-testid={`${dataTestId}-loading`}\n sx={{ display: 'flex', alignItems: 'center', gap: 1.25, minWidth: 0 }}\n >\n <Skeleton\n variant=\"rounded\"\n width={rem(theme, 40)}\n height={rem(theme, 40)}\n sx={{ flex: '0 0 auto' }}\n />\n <Box sx={{ minWidth: 0, flex: 1 }}>\n <Skeleton variant=\"text\" width={rem(theme, 140)} height={rem(theme, TITLE_PX[size] * 1.4)} />\n <Skeleton variant=\"text\" width={rem(theme, 180)} height={rem(theme, 16)} />\n </Box>\n </Box>\n );\n};\n\n/**\n * The BLOCK's row: the mark, then the text column beside it.\n *\n * Always a `Box` div now — since 12-63 the disclosure is the name row inside\n * the text column ({@link discloseSx}), not this element. `width: '100%'` and\n * `minWidth: 0` stay because the column below still has to ellipsise against\n * something; the argument about a `<button>` sizing to max-content moved to\n * `discloseSx`, which is where the button now is.\n */\nconst rowSx = {\n display: 'flex',\n alignItems: 'center',\n gap: 1.25,\n width: '100%',\n minWidth: 0,\n textAlign: 'left',\n} as const;\n\n/**\n * Mark + title + state line, and — when it can be opened — a name row that is\n * the button.\n *\n * The disclosure used to wrap EVERYTHING, on the argument that the chevron\n * alone is a 20px target next to a 40px mark that does nothing. The target is\n * still not the chevron: the button is the full-width NAME ROW, which is what a\n * reader aims at. What it no longer swallows is the mark beside it and the\n * quieter lines below — because those lines take `ReactNode`s, consumers put\n * CONTROLS in them, and a control inside a button is invalid HTML whose every\n * tap fires two handlers. See {@link IdentityText} (12-63).\n *\n * `className` and `dataTestId` stay on the same elements they always named: the\n * block when it is static, the disclosure when there is one.\n */\nexport const AppHeaderIdentity: React.FC<AppHeaderIdentityProps> = ({\n title,\n subtitle,\n status,\n mark,\n logoUrl,\n seedColor,\n onDisclose,\n disclosed = false,\n discloseLabel,\n loading = false,\n size = 'md',\n className,\n dataTestId = 'app-header-identity',\n}) => {\n if (loading) return <IdentitySkeleton size={size} dataTestId={dataTestId} />;\n\n return (\n <Box\n className={onDisclose ? undefined : className}\n data-testid={onDisclose ? undefined : dataTestId}\n sx={rowSx}\n >\n {mark ?? (\n <AppHeaderBrand\n name={title}\n logoUrl={logoUrl}\n seedColor={seedColor}\n size={size}\n dataTestId={`${dataTestId}-brand`}\n />\n )}\n <IdentityText\n title={title}\n subtitle={subtitle}\n status={status}\n size={size}\n onDisclose={onDisclose}\n disclosed={disclosed}\n discloseLabel={discloseLabel}\n className={className}\n dataTestId={dataTestId}\n />\n </Box>\n );\n};\n\nAppHeaderIdentity.displayName = 'AppHeaderIdentity';\n"],"mappings":"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","names":[]}
@@ -2,7 +2,7 @@ import {
2
2
  SheetContent,
3
3
  SheetFooter,
4
4
  SheetHeader
5
- } from "./chunk-JKNKGGOG.js";
5
+ } from "./chunk-DKRMOIX2.js";
6
6
  import {
7
7
  muiColor
8
8
  } from "./chunk-7ZPUN7TV.js";
@@ -34,6 +34,7 @@ var SheetBody = (props) => {
34
34
  title,
35
35
  description,
36
36
  showCloseButton,
37
+ closeLabel,
37
38
  showHandle,
38
39
  header,
39
40
  footer,
@@ -76,6 +77,7 @@ var SheetBody = (props) => {
76
77
  title,
77
78
  description,
78
79
  showCloseButton,
80
+ closeLabel,
79
81
  onClose,
80
82
  showHandle: showHandle && isVerticalSheet,
81
83
  isDraggable: isDraggableVariant && isVerticalSheet,
@@ -94,4 +96,4 @@ var SheetBody = (props) => {
94
96
  export {
95
97
  SheetBody
96
98
  };
97
- //# sourceMappingURL=chunk-5MMAV7XK.js.map
99
+ //# sourceMappingURL=chunk-HWKBCLKD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/Sheet/Sheet.body.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport React from 'react';\n\nimport { SheetContent, SheetFooter, SheetHeader } from './Sheet.parts';\nimport type { SheetProps } from './Sheet.types';\nimport { sxRem } from '../../../tokens/relative';\nimport { muiColor } from '../../../tokens/scales';\n\nexport interface SheetBodyProps extends Pick<\n SheetProps,\n | 'title'\n | 'description'\n | 'showCloseButton'\n | 'closeLabel'\n | 'showHandle'\n | 'header'\n | 'footer'\n | 'loading'\n | 'color'\n | 'children'\n | 'onClick'\n | 'onFocus'\n | 'onBlur'\n> {\n testId: string;\n isDragging: boolean;\n isVerticalSheet: boolean;\n isDraggableVariant: boolean;\n onClose: () => void;\n onDragStart: (e: React.MouseEvent | React.TouchEvent) => void;\n}\n\n/**\n * The header earns its place if it would show anything at all — a grab handle,\n * either piece of text, the close button, or caller-supplied content.\n */\nconst needsHeader = (props: SheetBodyProps) =>\n Boolean(\n props.showHandle ||\n props.title ||\n props.description ||\n props.showCloseButton ||\n props.header,\n );\n\n/** The centred spinner shown in place of the children while `loading`. */\nconst SheetLoading: React.FC<Pick<SheetBodyProps, 'color'>> = ({ color }) => (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n minHeight: sxRem(200),\n }}\n >\n <CircularProgress color={color === undefined ? undefined : muiColor(color, 'inherit')} />\n </Box>\n);\n\n/**\n * What the sheet contains, independent of which drawer is carrying it. The\n * swipeable and plain branches render exactly this — they differ only in the\n * MUI component and its swipe props, so the contents are built once.\n */\nexport const SheetBody: React.FC<SheetBodyProps> = (props) => {\n const {\n title,\n description,\n showCloseButton,\n closeLabel,\n showHandle,\n header,\n footer,\n loading,\n color,\n children,\n onClick,\n onFocus,\n onBlur,\n testId,\n isDragging,\n isVerticalSheet,\n isDraggableVariant,\n onClose,\n onDragStart,\n } = props;\n\n return (\n <Box\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n data-testid={testId}\n sx={{\n // A vertical sheet's panel is a column whose height is its CONTENT, up\n // to the `size` ceiling — so this fills what the panel has rather than\n // asking for a percentage of it, and `minHeight: 0` is what lets it\n // shrink past its content so `SheetContent` scrolls instead of the\n // panel overflowing. A side sheet's panel is full-height already.\n ...(isVerticalSheet ? { flex: '1 1 auto', minHeight: 0 } : { height: '100%' }),\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n userSelect: isDragging ? 'none' : 'auto',\n }}\n >\n {needsHeader(props) && (\n <SheetHeader\n title={title}\n description={description}\n showCloseButton={showCloseButton}\n closeLabel={closeLabel}\n onClose={onClose}\n showHandle={showHandle && isVerticalSheet}\n isDraggable={isDraggableVariant && isVerticalSheet}\n onDragStart={onDragStart}\n dataTestId={`${testId}-header`}\n >\n {header}\n </SheetHeader>\n )}\n\n <SheetContent padded dataTestId={`${testId}-content`}>\n {loading ? <SheetLoading color={color} /> : children}\n </SheetContent>\n\n {footer && (\n <SheetFooter sticky divider dataTestId={`${testId}-footer`}>\n {footer}\n </SheetFooter>\n )}\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAAA,OAAO,SAAS;AAChB,OAAO,sBAAsB;AAuDzB,cAiCA,YAjCA;AAnBJ,IAAM,cAAc,CAAC,UACnB;AAAA,EACE,MAAM,cACN,MAAM,SACN,MAAM,eACN,MAAM,mBACN,MAAM;AACR;AAGF,IAAM,eAAwD,CAAC,EAAE,MAAM,MACrE;AAAA,EAAC;AAAA;AAAA,IACC,IAAI;AAAA,MACF,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,WAAW,MAAM,GAAG;AAAA,IACtB;AAAA,IAEA,8BAAC,oBAAiB,OAAO,UAAU,SAAY,SAAY,SAAS,OAAO,SAAS,GAAG;AAAA;AACzF;AAQK,IAAM,YAAsC,CAAC,UAAU;AAC5D,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;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAa;AAAA,MACb,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMF,GAAI,kBAAkB,EAAE,MAAM,YAAY,WAAW,EAAE,IAAI,EAAE,QAAQ,OAAO;AAAA,QAC5E,SAAS;AAAA,QACT,eAAe;AAAA,QACf,UAAU;AAAA,QACV,YAAY,aAAa,SAAS;AAAA,MACpC;AAAA,MAEC;AAAA,oBAAY,KAAK,KAChB;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,YAAY,cAAc;AAAA,YAC1B,aAAa,sBAAsB;AAAA,YACnC;AAAA,YACA,YAAY,GAAG,MAAM;AAAA,YAEpB;AAAA;AAAA,QACH;AAAA,QAGF,oBAAC,gBAAa,QAAM,MAAC,YAAY,GAAG,MAAM,YACvC,oBAAU,oBAAC,gBAAa,OAAc,IAAK,UAC9C;AAAA,QAEC,UACC,oBAAC,eAAY,QAAM,MAAC,SAAO,MAAC,YAAY,GAAG,MAAM,WAC9C,kBACH;AAAA;AAAA;AAAA,EAEJ;AAEJ;","names":[]}
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-3AIRFAI3.js";
12
12
  import {
13
13
  EN_US_UI_LABELS
14
- } from "./chunk-W5PRZHLU.js";
14
+ } from "./chunk-O2RXSXSF.js";
15
15
  import {
16
16
  sxRem
17
17
  } from "./chunk-YKCAJ2TN.js";
@@ -41,7 +41,7 @@ var VerticalLogo = ({ logo, collapsed }) => /* @__PURE__ */ jsx(LogoBar, { child
41
41
  var CollapseControl = ({
42
42
  collapsed,
43
43
  label = EN_US_UI_LABELS.navigationMenu.collapse,
44
- expandLabel = EN_US_UI_LABELS.navigationMenu.expand ?? "Expand",
44
+ expandLabel = EN_US_UI_LABELS.navigationMenu.expand,
45
45
  onToggle
46
46
  }) => (
47
47
  // Collapsed, the control is its icon alone, so the name has to be given.
@@ -134,4 +134,4 @@ var NavigationStandardBody = ({
134
134
  export {
135
135
  NavigationStandardBody
136
136
  };
137
- //# sourceMappingURL=chunk-IASPZGYB.js.map
137
+ //# sourceMappingURL=chunk-HWUFOII2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/navigation/NavigationMenu/NavigationStandardBody.tsx"],"sourcesContent":["import MenuIcon from '@mui/icons-material/Menu';\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 ListItemIcon from '@mui/material/ListItemIcon/index.js';\nimport ListItemText from '@mui/material/ListItemText/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport { alpha } from '@mui/material/styles/index.js';\nimport type { FC, ReactNode } from 'react';\nimport React from 'react';\n\nimport { CollapseToggle, LogoBar, MenuList } from './NavigationMenu.shell';\nimport { slideIn } from './NavigationMenu.styles';\nimport type { NavigationMenuItem } from './NavigationMenu.types';\nimport { renderMenuItem } from './NavigationMenuItem';\nimport { EN_US_UI_LABELS } from '../../../en-US.labels';\nimport { sxRem } from '../../../tokens/relative';\n\nconst DividerRule: FC = () => (\n <Divider\n sx={{\n my: 1,\n opacity: 0.5,\n background: (theme) =>\n `linear-gradient(90deg, transparent 0%, ${alpha(theme.palette.divider, 0.5)} 50%, transparent 100%)`,\n }}\n />\n);\n\nconst VerticalLogo: FC<{ logo: ReactNode; collapsed: boolean }> = ({ logo, collapsed }) => (\n <LogoBar>\n {collapsed ? (\n <Box sx={{ display: 'flex', justifyContent: 'center' }}>\n <MenuIcon />\n </Box>\n ) : (\n logo\n )}\n </LogoBar>\n);\n\nconst CollapseControl: FC<{\n collapsed: boolean;\n label?: string;\n expandLabel?: string;\n onToggle: () => void;\n}> = ({\n collapsed,\n label = EN_US_UI_LABELS.navigationMenu.collapse,\n expandLabel = EN_US_UI_LABELS.navigationMenu.expand,\n onToggle,\n}) => (\n // Collapsed, the control is its icon alone, so the name has to be given.\n <CollapseToggle onClick={onToggle} ariaLabel={collapsed ? expandLabel : undefined}>\n <ListItemIcon sx={{ minWidth: collapsed ? 0 : sxRem(40), justifyContent: 'center' }}>\n <MenuIcon />\n </ListItemIcon>\n {!collapsed && <ListItemText primary={label} />}\n </CollapseToggle>\n);\n\nconst MenuItems: FC<{\n items: NavigationMenuItem[];\n variant: string;\n size: string;\n collapsed: boolean;\n minimal: boolean;\n showDividers: boolean;\n}> = ({ items, variant, size, collapsed, minimal, showDividers }) => (\n <MenuList variant={variant} size={size}>\n {items.map((item, index) => (\n <React.Fragment key={item.id}>\n <Box\n sx={{\n // Staggered so the list fills in rather than appearing at once.\n animation: (theme) => `${slideIn(theme)} 0.4s ease-out`,\n animationDelay: `${index * 0.05}s`,\n animationFillMode: 'both',\n }}\n >\n {renderMenuItem(item, variant, size, collapsed, minimal, 0)}\n </Box>\n {showDividers && index < items.length - 1 && <DividerRule />}\n </React.Fragment>\n ))}\n </MenuList>\n);\n\nconst EndPanel: FC<{ children: ReactNode }> = ({ children }) => (\n <Fade in timeout={600}>\n <Box\n sx={{\n mt: 'auto',\n p: 2,\n borderTop: (theme) => `1px solid ${alpha(theme.palette.divider, 0.1)}`,\n background: (theme) =>\n `linear-gradient(180deg, transparent 0%, ${alpha(theme.palette.background.default, 0.5)} 100%)`,\n }}\n >\n {children}\n </Box>\n </Fade>\n);\n\nexport interface NavigationStandardBodyProps {\n variant: string;\n size: string;\n minimal: boolean;\n collapsed: boolean;\n collapsible: boolean;\n showDividers: boolean;\n items: NavigationMenuItem[];\n logo?: ReactNode;\n endContent?: ReactNode;\n /** The collapse control's text; English when the host names none. */\n collapseLabel?: string;\n /** Its accessible name while collapsed; English when the host names none. */\n expandLabel?: string;\n onCollapseToggle: () => void;\n}\n\n// The list-based layouts (vertical and horizontal). The logo and the collapse\n// control only apply to the vertical one.\nexport const NavigationStandardBody: FC<NavigationStandardBodyProps> = ({\n variant,\n size,\n minimal,\n collapsed,\n collapsible,\n showDividers,\n items,\n logo,\n endContent,\n collapseLabel,\n expandLabel,\n onCollapseToggle,\n}) => {\n const isVertical = variant === 'vertical';\n // Only the horizontal bar is raised; vertical rails and minimal sit flat.\n const elevation = !minimal && variant === 'horizontal' ? 1 : 0;\n\n return (\n <Paper\n elevation={elevation}\n sx={{\n width: '100%',\n height: isVertical ? '100%' : 'auto',\n overflow: 'hidden',\n background: minimal ? 'transparent' : undefined,\n }}\n >\n {logo && isVertical && <VerticalLogo logo={logo} collapsed={collapsed} />}\n\n {collapsible && isVertical && (\n <CollapseControl\n collapsed={collapsed}\n label={collapseLabel}\n expandLabel={expandLabel}\n onToggle={onCollapseToggle}\n />\n )}\n\n <MenuItems\n items={items}\n variant={variant}\n size={size}\n collapsed={collapsed}\n minimal={minimal}\n showDividers={showDividers}\n />\n\n {endContent && <EndPanel>{endContent}</EndPanel>}\n </Paper>\n );\n};\n"],"mappings":"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","names":[]}
@@ -1,6 +1,9 @@
1
+ import {
2
+ PT_BR_UI_LABELS
3
+ } from "./chunk-VRKNVZZQ.js";
1
4
  import {
2
5
  EN_US_UI_LABELS
3
- } from "./chunk-W5PRZHLU.js";
6
+ } from "./chunk-O2RXSXSF.js";
4
7
  import {
5
8
  fieldHeight
6
9
  } from "./chunk-QQHZBJMU.js";
@@ -22,7 +25,9 @@ function FilterTrigger({
22
25
  onOpenChange,
23
26
  hasActiveFilters = false,
24
27
  activeCount = 0,
25
- label = "Filtros",
28
+ // Portuguese by default, as it always rendered; the pack names it so a host
29
+ // passes `label` from its own locale's `contentToolbar.filters`.
30
+ label = PT_BR_UI_LABELS.contentToolbar.filters,
26
31
  openFiltersLabel,
27
32
  closeFiltersLabel,
28
33
  "data-testid": testId = "toggle-filters-btn"
@@ -83,4 +88,4 @@ function FilterTrigger({
83
88
  export {
84
89
  FilterTrigger
85
90
  };
86
- //# sourceMappingURL=chunk-VMU52I5D.js.map
91
+ //# sourceMappingURL=chunk-J7CIRTWQ.js.map
@@ -0,0 +1 @@
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 { EN_US_UI_LABELS } from '../../../en-US.labels';\nimport { PT_BR_UI_LABELS } from '../../../pt-BR.labels';\nimport { fieldRadiusPx } from '../../../tokens/field-radius';\nimport { fieldHeight } from '../../../tokens/field-height';\nimport { sxRem } from '../../../tokens/relative';\n\n/** The toggle's accessible name for its state: the caller's, else the English one. */\nconst toggleName = (open: boolean, openLabel?: string, closeLabel?: string): string =>\n open\n ? (closeLabel ?? EN_US_UI_LABELS.contentToolbar.closeFilters)\n : (openLabel ?? EN_US_UI_LABELS.contentToolbar.openFilters);\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 // Portuguese by default, as it always rendered; the pack names it so a host\n // passes `label` from its own locale's `contentToolbar.filters`.\n label = PT_BR_UI_LABELS.contentToolbar.filters,\n openFiltersLabel,\n closeFiltersLabel,\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={toggleName(open, openFiltersLabel, closeFiltersLabel)}\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;AAoCf,SAQa,KARb;AAzBJ,IAAM,aAAa,CAAC,MAAe,WAAoB,eACrD,OACK,cAAc,gBAAgB,eAAe,eAC7C,aAAa,gBAAgB,eAAe;AAQ5C,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,cAAc;AAAA;AAAA;AAAA,EAGd,QAAQ,gBAAgB,eAAe;AAAA,EACvC;AAAA,EACA;AAAA,EACA,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,WAAW,MAAM,kBAAkB,iBAAiB;AAAA,MAChE,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,6 +1,6 @@
1
1
  import {
2
2
  resolveMapCopy
3
- } from "./chunk-BJ7NWZWO.js";
3
+ } from "./chunk-D4LMRSY7.js";
4
4
  import {
5
5
  MARKER_PIXELS_PER_DEGREE
6
6
  } from "./chunk-H2J2MTRE.js";
@@ -85,4 +85,4 @@ export {
85
85
  MapMarkers,
86
86
  MapCoordinates
87
87
  };
88
- //# sourceMappingURL=chunk-MBY7DWGT.js.map
88
+ //# sourceMappingURL=chunk-JJNY5MZL.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  cardGridTracks
3
- } from "./chunk-GHXW6O5T.js";
3
+ } from "./chunk-3LQLLL2J.js";
4
4
  import {
5
5
  default as default2
6
6
  } from "./chunk-6DPAWXZ3.js";
@@ -48,4 +48,4 @@ function CardBody({
48
48
  export {
49
49
  CardBody
50
50
  };
51
- //# sourceMappingURL=chunk-EF4DVYD2.js.map
51
+ //# sourceMappingURL=chunk-JMUZ5JZA.js.map
@@ -84,6 +84,7 @@ var PT_BR_DATA_VIEWS_COPY = {
84
84
  target: (viewName) => `Excluir "${viewName}"?`,
85
85
  sharedWarning: "Esta vis\xE3o est\xE1 compartilhada \u2014 a equipe perder\xE1 o acesso a ela.",
86
86
  rowsUnaffected: (entityLabel) => `${entityLabel} n\xE3o s\xE3o afetados; apenas o recorte salvo \xE9 removido.`,
87
+ entityFallback: "Os registros",
87
88
  confirm: "Excluir vis\xE3o",
88
89
  cancel: "Cancelar"
89
90
  },
@@ -174,7 +175,9 @@ var PT_BR_DATA_VIEWS_COPY = {
174
175
  bulkActions: (selectedCount) => `A\xE7\xF5es (${selectedCount}) \u25BE`,
175
176
  emptyFilteredTitle: "Nenhum resultado para esses filtros",
176
177
  emptyFilteredHint: "Ajuste ou remova os filtros.",
177
- emptyFilteredAction: "Limpar filtros"
178
+ emptyFilteredAction: "Limpar filtros",
179
+ sortAscending: "Crescente",
180
+ sortDescending: "Decrescente"
178
181
  },
179
182
  filters: {
180
183
  moreFilters: (count) => `Mais filtros: ${count} sem espa\xE7o na barra`,
@@ -218,6 +221,8 @@ var PT_BR_DATA_VIEWS_COPY = {
218
221
  nav: {
219
222
  mainView: "Vis\xE3o principal",
220
223
  defaultTag: "Padr\xE3o",
224
+ pinnedTag: "Fixada",
225
+ sharedTag: "Compartilhada",
221
226
  viewOptions: (viewName) => `Op\xE7\xF5es de ${viewName}`,
222
227
  emptyHint: "Nenhuma vis\xE3o salva. Ajuste filtros, colunas ou ordena\xE7\xE3o e salve abaixo.",
223
228
  setDefault: "Definir como padr\xE3o",
@@ -256,4 +261,4 @@ export {
256
261
  PT_BR_DATA_STATE_COPY,
257
262
  PT_BR_DATA_VIEWS_COPY
258
263
  };
259
- //# sourceMappingURL=chunk-NUUX4BBR.js.map
264
+ //# sourceMappingURL=chunk-JQSF3CUR.js.map