@12-apps/ui 6.79.0 → 6.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/ContentToolbar/FilterTrigger.tsx"],"sourcesContent":["'use client';\n\nimport FilterIcon from '@mui/icons-material/FilterListRounded';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport React from 'react';\n\nimport type { FilterTriggerProps } from './ContentToolbar.types';\nimport { EN_US_UI_LABELS } from '../../../en-US.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 label = 'Filtros',\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;AAiCf,SAQa,KARb;AAvBJ,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,EACd,QAAQ;AAAA,EACR;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 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/DataViews/DeleteViewDialog.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * The confirmation in front of \"Excluir visão\".\n *\n * Deleting was immediate: one click in a row menu, on a control sitting\n * directly under four harmless toggles, and the view was gone. A saved view is\n * somebody's filters, columns and sort — cheap to rebuild only if you remember\n * what they were.\n *\n * It names the view rather than saying \"this view\", says plainly that the\n * records are untouched, and warns separately when the view is SHARED, because\n * that deletion takes it from everyone rather than from one person.\n */\nimport { useDataViewsCopy } from \"./data-views-copy-context\";\nimport { Dialog, DialogContent } from \"../../feedback/Dialog\";\nimport { Button } from \"../../form/Button\";\nimport { Stack } from \"../../../mui/Stack\";\nimport { Text } from \"../../typography/Text\";\n\nimport type { SavedViewSummary } from \"./data-views-types\";\n\nexport function DeleteViewDialog({\n view,\n onClose,\n onConfirm,\n /** What this table holds, for the \"your records are safe\" line. */\n entityLabel = \"Os registros\",\n testIdPrefix = \"view\",\n}: {\n view: SavedViewSummary | null;\n onClose: () => void;\n onConfirm: (view: SavedViewSummary) => void;\n entityLabel?: string;\n testIdPrefix?: string;\n}): React.JSX.Element | null {\n const copy = useDataViewsCopy();\n if (!view) return null;\n return (\n <Dialog\n open\n onClose={onClose}\n title={copy.deleteView.title}\n size=\"sm\"\n showCloseButton\n dataTestId={`${testIdPrefix}-delete-modal`}\n >\n <DialogContent>\n <Stack spacing={1.5}>\n <Text variant=\"body\" as=\"p\" data-testid={`${testIdPrefix}-delete-target`}>\n {copy.deleteView.target(view.name)}\n </Text>\n\n {view.shared && (\n <Text variant=\"body\" color=\"warning\" as=\"p\" data-testid={`${testIdPrefix}-delete-shared`}>\n {copy.deleteView.sharedWarning}\n </Text>\n )}\n\n <Text variant=\"body\" color=\"secondary\" as=\"p\">\n {copy.deleteView.rowsUnaffected(entityLabel)}\n </Text>\n\n <Stack direction=\"row\" spacing={1.5} sx={{ justifyContent: \"flex-end\", pt: 0.5 }}>\n <Button\n variant=\"text\"\n color=\"neutral\"\n onClick={onClose}\n dataTestId={`${testIdPrefix}-delete-cancel`}\n >\n {copy.deleteView.cancel}\n </Button>\n <Button\n color=\"danger\"\n onClick={() => onConfirm(view)}\n dataTestId={`${testIdPrefix}-delete-confirm`}\n >\n {copy.deleteView.confirm}\n </Button>\n </Stack>\n </Stack>\n </DialogContent>\n </Dialog>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAiDU,cAcA,YAdA;AA3BH,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA,cAAc;AAAA,EACd,eAAe;AACjB,GAM6B;AAC3B,QAAM,OAAO,iBAAiB;AAC9B,MAAI,CAAC,KAAM,QAAO;AAClB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAI;AAAA,MACJ;AAAA,MACA,OAAO,KAAK,WAAW;AAAA,MACvB,MAAK;AAAA,MACL,iBAAe;AAAA,MACf,YAAY,GAAG,YAAY;AAAA,MAE3B,8BAAC,iBACC,+BAACA,UAAA,EAAM,SAAS,KACd;AAAA,4BAAC,QAAK,SAAQ,QAAO,IAAG,KAAI,eAAa,GAAG,YAAY,kBACrD,eAAK,WAAW,OAAO,KAAK,IAAI,GACnC;AAAA,QAEC,KAAK,UACJ,oBAAC,QAAK,SAAQ,QAAO,OAAM,WAAU,IAAG,KAAI,eAAa,GAAG,YAAY,kBACrE,eAAK,WAAW,eACnB;AAAA,QAGF,oBAAC,QAAK,SAAQ,QAAO,OAAM,aAAY,IAAG,KACvC,eAAK,WAAW,eAAe,WAAW,GAC7C;AAAA,QAEA,qBAACA,UAAA,EAAM,WAAU,OAAM,SAAS,KAAK,IAAI,EAAE,gBAAgB,YAAY,IAAI,IAAI,GAC7E;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,SAAQ;AAAA,cACR,OAAM;AAAA,cACN,SAAS;AAAA,cACT,YAAY,GAAG,YAAY;AAAA,cAE1B,eAAK,WAAW;AAAA;AAAA,UACnB;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,OAAM;AAAA,cACN,SAAS,MAAM,UAAU,IAAI;AAAA,cAC7B,YAAY,GAAG,YAAY;AAAA,cAE1B,eAAK,WAAW;AAAA;AAAA,UACnB;AAAA,WACF;AAAA,SACF,GACF;AAAA;AAAA,EACF;AAEJ;","names":["default"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/en-US.labels.ts"],"sourcesContent":["/**\n * The en-US labels pack — and, unlike the other en-US packs, the components'\n * own fallback: each `labels` prop is optional, and this is what a host that\n * passes nothing has always rendered, kept word for word (including the\n * lower-case `close`/`loading` names tests already query by).\n */\nimport type { UiLabels } from './copy/labels';\n\nexport const EN_US_UI_LABELS: UiLabels = {\n common: {\n loading: \"loading\",\n close: \"close\",\n delete: \"delete\",\n },\n stepper: {\n step: (position, label) => `Step ${position}: ${label}`,\n optional: \"optional\",\n completed: \"completed\",\n current: \"current\",\n },\n timeline: {\n expandDetails: \"Expand item details\",\n collapseDetails: \"Collapse item details\",\n item: (title) => `Timeline item: ${title}`,\n },\n lazyImage: {\n loadingAlt: (alt) => `${alt} (loading)`,\n fallbackAlt: (alt) => `${alt} (fallback)`,\n },\n sonner: {\n hiddenCount: (count) => `+${count} more`,\n },\n richTextEditor: {\n placeholder: \"Start typing...\",\n ariaLabel: \"Rich text editor\",\n listItem: \"List item\",\n bold: \"Bold\",\n italic: \"Italic\",\n underline: \"Underline\",\n strikethrough: \"Strikethrough\",\n numberedList: \"Numbered List\",\n bulletedList: \"Bulleted List\",\n insertLink: \"Insert Link\",\n insertImage: \"Insert Image\",\n codeBlock: \"Code Block\",\n quote: \"Quote\",\n linkPrompt: \"Enter URL:\",\n imagePrompt: \"Enter image URL:\",\n },\n table: {\n sortBy: (header) => `Sort by ${header}`,\n selectRow: (rowNumber) => `select row ${rowNumber}`,\n selectAllRows: \"select all\",\n },\n code: {\n copy: \"Copy code\",\n copied: \"Copied!\",\n },\n contentToolbar: {\n gridView: \"Grid View\",\n listView: \"List View\",\n openFilters: \"Open filters\",\n closeFilters: \"Close filters\",\n },\n dashboard: {\n breadcrumb: \"breadcrumb\",\n },\n navigationMenu: {\n collapse: \"Collapse\",\n expand: \"Expand\",\n },\n workflowStep: {\n step: (position, title) => `Step ${position}: ${title}`,\n progress: (position, total) => `Step ${position} of ${total}`,\n },\n};\n"],"mappings":";AAQO,IAAM,kBAA4B;AAAA,EACvC,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,MAAM,CAAC,UAAU,UAAU,QAAQ,QAAQ,KAAK,KAAK;AAAA,IACrD,UAAU;AAAA,IACV,WAAW;AAAA,IACX,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,MAAM,CAAC,UAAU,kBAAkB,KAAK;AAAA,EAC1C;AAAA,EACA,WAAW;AAAA,IACT,YAAY,CAAC,QAAQ,GAAG,GAAG;AAAA,IAC3B,aAAa,CAAC,QAAQ,GAAG,GAAG;AAAA,EAC9B;AAAA,EACA,QAAQ;AAAA,IACN,aAAa,CAAC,UAAU,IAAI,KAAK;AAAA,EACnC;AAAA,EACA,gBAAgB;AAAA,IACd,aAAa;AAAA,IACb,WAAW;AAAA,IACX,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,eAAe;AAAA,IACf,cAAc;AAAA,IACd,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,WAAW;AAAA,IACX,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,aAAa;AAAA,EACf;AAAA,EACA,OAAO;AAAA,IACL,QAAQ,CAAC,WAAW,WAAW,MAAM;AAAA,IACrC,WAAW,CAAC,cAAc,cAAc,SAAS;AAAA,IACjD,eAAe;AAAA,EACjB;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,UAAU;AAAA,IACV,aAAa;AAAA,IACb,cAAc;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,YAAY;AAAA,EACd;AAAA,EACA,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,cAAc;AAAA,IACZ,MAAM,CAAC,UAAU,UAAU,QAAQ,QAAQ,KAAK,KAAK;AAAA,IACrD,UAAU,CAAC,UAAU,UAAU,QAAQ,QAAQ,OAAO,KAAK;AAAA,EAC7D;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/utility/AnimatedIcon/AnimatedIcon.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport { styled } from '@mui/material/styles/index.js';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport { withDefaults } from '../../../utils/withDefaults';\n\nimport { iconSx, sizeConfigs } from './AnimatedIcon.styles';\nimport type { IconStyleFlags } from './AnimatedIcon.styles';\nimport type { AnimatedIconProps } from './AnimatedIcon.types';\n\nconst AnimationContainer = styled(Box)<IconStyleFlags>(({ theme, ...flags }) => ({\n ...iconSx(theme, flags),\n}));\n\nconst DEFAULTS = {\n variant: 'none',\n size: 'md',\n duration: 2,\n delay: 0,\n loop: true,\n glow: false,\n glass: false,\n metallic: false,\n gradient: false,\n shadow: 'none',\n ripple: false,\n neon: false,\n holographic: false,\n} satisfies Partial<AnimatedIconProps>;\n\ntype ResolvedProps = AnimatedIconProps & Required<Pick<AnimatedIconProps, keyof typeof DEFAULTS>>;\n\nexport const AnimatedIcon: FC<AnimatedIconProps> = (props) => {\n const {\n children, variant, size, color, duration, delay, loop, glow, glass, glowColor,\n metallic, gradient, shadow, ripple, neon, holographic, className, style,\n 'aria-label': ariaLabel, onClick, tabIndex, onFocus, onBlur, dataTestId,\n } = withDefaults(props, DEFAULTS) as ResolvedProps;\n\n const config = sizeConfigs[size] ?? sizeConfigs.md;\n\n return (\n <AnimationContainer\n $size={config.ring}\n $fontSize={config.glyph}\n $animationVariant={variant}\n $duration={duration}\n $delay={delay}\n $loop={loop}\n $glow={glow}\n $glass={glass}\n $glowColor={glowColor}\n $customColor={color}\n $metallic={metallic}\n $gradient={gradient}\n $shadow={shadow}\n $ripple={ripple}\n $neon={neon}\n $holographic={holographic}\n className={className}\n style={style}\n role=\"img\"\n aria-label={ariaLabel || `Animated ${variant} icon`}\n onClick={onClick}\n tabIndex={tabIndex}\n onFocus={onFocus}\n onBlur={onBlur}\n data-testid={dataTestId}\n >\n {children}\n </AnimationContainer>\n );\n};\n\nexport default AnimatedIcon;\n"],"mappings":";;;;;;;;;AAAA,OAAO,SAAS;AAChB,SAAS,cAAc;AA0CnB;AAhCJ,IAAM,qBAAqB,OAAO,GAAG,EAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,OAAO;AAAA,EAC/E,GAAG,OAAO,OAAO,KAAK;AACxB,EAAE;AAEF,IAAM,WAAW;AAAA,EACf,SAAS;AAAA,EACT,MAAM;AAAA,EACN,UAAU;AAAA,EACV,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,aAAa;AACf;AAIO,IAAM,eAAsC,CAAC,UAAU;AAC5D,QAAM;AAAA,IACJ;AAAA,IAAU;AAAA,IAAS;AAAA,IAAM;AAAA,IAAO;AAAA,IAAU;AAAA,IAAO;AAAA,IAAM;AAAA,IAAM;AAAA,IAAO;AAAA,IACpE;AAAA,IAAU;AAAA,IAAU;AAAA,IAAQ;AAAA,IAAQ;AAAA,IAAM;AAAA,IAAa;AAAA,IAAW;AAAA,IAClE,cAAc;AAAA,IAAW;AAAA,IAAS;AAAA,IAAU;AAAA,IAAS;AAAA,IAAQ;AAAA,EAC/D,IAAI,aAAa,OAAO,QAAQ;AAEhC,QAAM,SAAS,YAAY,IAAI,KAAK,YAAY;AAEhD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,OAAO;AAAA,MACd,WAAW,OAAO;AAAA,MAClB,mBAAmB;AAAA,MACnB,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MACL,cAAY,aAAa,YAAY,OAAO;AAAA,MAC5C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAa;AAAA,MAEZ;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,uBAAQ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/LoadingState/LoadingState.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/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 { Skeleton } from '../../layout/Skeleton/Skeleton';\n\nimport {\n makeTestIds,\n resolveLoadingStateProps,\n SIZE_MAP,\n SKELETON_ROW_HEIGHT,\n} from './LoadingState.helpers';\nimport {\n SKELETON_FULL_ROW_WIDTH,\n SKELETON_LAST_ROW_WIDTH,\n SKELETON_MESSAGE_MARGIN_TOP_UNITS,\n SKELETON_PADDING_UNITS,\n SKELETON_RADIUS,\n SKELETON_ROW_GAP_UNITS,\n SPINNER_GAP_UNITS,\n SPINNER_MIN_HEIGHT,\n SPINNER_PADDING_UNITS,\n} from './LoadingState.metrics';\nimport type { LoadingStateProps, LoadingStateSize } from './LoadingState.types';\nimport { resolveTestId } from '../../../platform/test-id';\nimport { rem } from '../../../tokens/relative';\n\ninterface ViewProps {\n message?: string;\n size: LoadingStateSize;\n skeletonRows: number;\n className?: string;\n testIds: ReturnType<typeof makeTestIds>;\n}\n\nconst LoadingMessage: React.FC<{\n message?: string;\n size: LoadingStateSize;\n testIds: ViewProps['testIds'];\n sx?: object;\n}> = ({ message, size, testIds, sx }) =>\n message ? (\n <Typography\n variant={SIZE_MAP[size].text}\n color=\"text.secondary\"\n sx={sx}\n data-testid={testIds.named('message')}\n >\n {message}\n </Typography>\n ) : null;\n\nconst SkeletonView: React.FC<ViewProps> = ({\n message,\n size,\n skeletonRows,\n className,\n testIds,\n}) => {\n const theme = useTheme();\n\n return (\n <Box\n role=\"status\"\n aria-busy=\"true\"\n aria-label={message || 'Loading content'}\n className={className}\n data-testid={testIds.base}\n sx={{\n width: '100%',\n padding: theme.spacing(SKELETON_PADDING_UNITS),\n }}\n >\n <Stack spacing={SKELETON_ROW_GAP_UNITS}>\n {Array.from({ length: skeletonRows }).map((_, index) => (\n <Skeleton\n key={`skeleton-row-${index}`}\n variant=\"rectangular\"\n animation=\"wave\"\n height={rem(theme, SKELETON_ROW_HEIGHT[size])}\n // The last row is short, so the block reads as a paragraph of text.\n width={index === skeletonRows - 1 ? SKELETON_LAST_ROW_WIDTH : SKELETON_FULL_ROW_WIDTH}\n borderRadius={SKELETON_RADIUS}\n data-testid={testIds.optional(`skeleton-${index}`)}\n />\n ))}\n </Stack>\n <LoadingMessage\n message={message}\n size={size}\n testIds={testIds}\n sx={{ mt: SKELETON_MESSAGE_MARGIN_TOP_UNITS, textAlign: 'center' }}\n />\n </Box>\n );\n};\n\nconst SpinnerView: React.FC<ViewProps> = ({ message, size, className, testIds }) => {\n const theme = useTheme();\n\n return (\n <Box\n role=\"status\"\n aria-busy=\"true\"\n aria-label={message || 'Loading'}\n className={className}\n data-testid={testIds.base}\n sx={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n padding: theme.spacing(SPINNER_PADDING_UNITS),\n minHeight: rem(theme, SPINNER_MIN_HEIGHT),\n gap: theme.spacing(SPINNER_GAP_UNITS),\n }}\n >\n <CircularProgress\n size={rem(theme, SIZE_MAP[size].spinner)}\n data-testid={testIds.named('spinner')}\n />\n <LoadingMessage message={message} size={size} testIds={testIds} />\n </Box>\n );\n};\n\nexport const LoadingState: React.FC<LoadingStateProps> = React.memo((rawProps) => {\n const resolved = resolveLoadingStateProps(rawProps);\n const { variant, message, size, skeletonRows, className } = resolved;\n const viewProps: ViewProps = {\n message,\n size,\n skeletonRows,\n className,\n // `dataTestId` is the documented spelling; `testID`, the shared contract's\n // other one, resolves to the same id.\n testIds: makeTestIds(resolveTestId(resolved)),\n };\n\n return variant === 'skeleton' ? (\n <SkeletonView {...viewProps} />\n ) : (\n <SpinnerView {...viewProps} />\n );\n});\n\nLoadingState.displayName = 'LoadingState';\n\nexport default LoadingState;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,SAAS;AAChB,OAAO,sBAAsB;AAC7B,OAAO,WAAW;AAClB,OAAO,gBAAgB;AACvB,SAAS,gBAAgB;AACzB,OAAO,WAAW;AAwCd,cAoBA,YApBA;AAPJ,IAAM,iBAKD,CAAC,EAAE,SAAS,MAAM,SAAS,GAAG,MACjC,UACE;AAAA,EAAC;AAAA;AAAA,IACC,SAAS,SAAS,IAAI,EAAE;AAAA,IACxB,OAAM;AAAA,IACN;AAAA,IACA,eAAa,QAAQ,MAAM,SAAS;AAAA,IAEnC;AAAA;AACH,IACE;AAEN,IAAM,eAAoC,CAAC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AAEvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,aAAU;AAAA,MACV,cAAY,WAAW;AAAA,MACvB;AAAA,MACA,eAAa,QAAQ;AAAA,MACrB,IAAI;AAAA,QACF,OAAO;AAAA,QACP,SAAS,MAAM,QAAQ,sBAAsB;AAAA,MAC/C;AAAA,MAEA;AAAA,4BAAC,SAAM,SAAS,wBACb,gBAAM,KAAK,EAAE,QAAQ,aAAa,CAAC,EAAE,IAAI,CAAC,GAAG,UAC5C;AAAA,UAAC;AAAA;AAAA,YAEC,SAAQ;AAAA,YACR,WAAU;AAAA,YACV,QAAQ,IAAI,OAAO,oBAAoB,IAAI,CAAC;AAAA,YAE5C,OAAO,UAAU,eAAe,IAAI,0BAA0B;AAAA,YAC9D,cAAc;AAAA,YACd,eAAa,QAAQ,SAAS,YAAY,KAAK,EAAE;AAAA;AAAA,UAP5C,gBAAgB,KAAK;AAAA,QAQ5B,CACD,GACH;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA,IAAI,EAAE,IAAI,mCAAmC,WAAW,SAAS;AAAA;AAAA,QACnE;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,IAAM,cAAmC,CAAC,EAAE,SAAS,MAAM,WAAW,QAAQ,MAAM;AAClF,QAAM,QAAQ,SAAS;AAEvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,aAAU;AAAA,MACV,cAAY,WAAW;AAAA,MACvB;AAAA,MACA,eAAa,QAAQ;AAAA,MACrB,IAAI;AAAA,QACF,SAAS;AAAA,QACT,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,SAAS,MAAM,QAAQ,qBAAqB;AAAA,QAC5C,WAAW,IAAI,OAAO,kBAAkB;AAAA,QACxC,KAAK,MAAM,QAAQ,iBAAiB;AAAA,MACtC;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,IAAI,OAAO,SAAS,IAAI,EAAE,OAAO;AAAA,YACvC,eAAa,QAAQ,MAAM,SAAS;AAAA;AAAA,QACtC;AAAA,QACA,oBAAC,kBAAe,SAAkB,MAAY,SAAkB;AAAA;AAAA;AAAA,EAClE;AAEJ;AAEO,IAAM,eAA4C,MAAM,KAAK,CAAC,aAAa;AAChF,QAAM,WAAW,yBAAyB,QAAQ;AAClD,QAAM,EAAE,SAAS,SAAS,MAAM,cAAc,UAAU,IAAI;AAC5D,QAAM,YAAuB;AAAA,IAC3B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA;AAAA,IAGA,SAAS,YAAY,cAAc,QAAQ,CAAC;AAAA,EAC9C;AAEA,SAAO,YAAY,aACjB,oBAAC,gBAAc,GAAG,WAAW,IAE7B,oBAAC,eAAa,GAAG,WAAW;AAEhC,CAAC;AAED,aAAa,cAAc;AAE3B,IAAO,uBAAQ;","names":[]}
@@ -1 +0,0 @@
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';\n\nexport const CommandEmpty: React.FC<CommandEmptyProps> = ({\n message = 'No results found',\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 = '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;AA0BnB,cAYF,YAZE;AAhBC,IAAM,eAA4C,CAAC;AAAA,EACxD,UAAU;AAAA,EACV;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;AAAA,EACV;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":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/feedback/StackedModal/StackedModal.tsx"],"sourcesContent":["import Dialog from '@mui/material/Dialog/index.js';\nimport Slide from '@mui/material/Slide/index.js';\nimport { styled } from '@mui/material/styles/index.js';\nimport type { TransitionProps } from '@mui/material/transitions/index.js';\nimport type { FC } from 'react';\nimport React, { forwardRef, useEffect, useId } from 'react';\nimport { usePanelChrome } from './StackedModal.hooks';\nimport { modalAriaIds, ModalPanelContents, resolveModalContent } from './StackedModal.parts';\nimport type { PanelStyleProps } from './StackedModal.styles';\nimport { dialogRootStyles, STYLE_ONLY_PROPS } from './StackedModal.styles';\nimport type { StackedModalProps } from './StackedModal.types';\n\nconst StyledDialog = styled(Dialog, {\n shouldForwardProp: (prop) => !STYLE_ONLY_PROPS.includes(prop as string),\n})<PanelStyleProps>(({ theme, ...props }) => dialogRootStyles(theme, props));\n\n/** Panels slide in from the right on every device. */\nconst SlideTransition = forwardRef<HTMLDivElement, TransitionProps>(\n function SlideTransition(props, ref) {\n return (\n <Slide direction=\"left\" ref={ref} {...props}>\n {props.children as React.ReactElement}\n </Slide>\n );\n },\n);\n\nconst DEFAULTS: Partial<StackedModalProps> = {\n open: false,\n glass: false,\n navigationTitle: '',\n closeOnClickOutside: true,\n closeOnEsc: true,\n loading: false,\n loadingText: 'Loading...',\n maxWidth: false,\n disableBackdrop: false,\n disableFocusTrap: false,\n keepMounted: false,\n rtl: false,\n};\n\n/**\n * Fills in the defaults for props the caller left `undefined`. A table plus one\n * loop, rather than a default per destructured prop — each of those is a branch,\n * and fifteen of them put the component over the complexity bar on their own.\n */\nconst withDefaults = (props: StackedModalProps): StackedModalProps => {\n const resolved = { ...props };\n for (const [key, value] of Object.entries(DEFAULTS)) {\n const prop = key as keyof StackedModalProps;\n if (resolved[prop] === undefined) {\n Object.assign(resolved, { [prop]: value });\n }\n }\n return resolved;\n};\n\n/** The modal's props once defaults are applied and its stack identity is settled. */\ntype ResolvedProps = StackedModalProps & { modalId: string };\n\n/**\n * `hideHeader` removes the bar that names the dialog; without an\n * `aria-labelledby` of the caller's own, the dialog has no accessible name.\n */\nconst useUnnamedDialogWarning = (unnamed: boolean): void => {\n useEffect(() => {\n const development = typeof process !== 'undefined' && process.env?.NODE_ENV !== 'production';\n if (unnamed && development) {\n // eslint-disable-next-line no-console -- a config warning has no other channel.\n console.warn(\n 'StackedModal: `hideHeader` without `aria-labelledby` leaves the dialog unnamed. ' +\n \"Point `aria-labelledby` at your content header's title.\",\n );\n }\n }, [unnamed]);\n};\n\nconst StackedModalPanel: FC<ResolvedProps> = (props) => {\n const {\n open, onClose, glass, navigationTitle, backLabel, closeLabel, hideClose, hideHeader, children, actions, modalId,\n closeOnClickOutside, closeOnEsc, loading, loadingText, fullScreen, maxWidth, size, panelWidth, disableBackdrop,\n disableFocusTrap, keepMounted, rtl, dataTestId,\n 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, ...otherProps\n } = props;\n\n const {\n dialogRef, modalRole, isAnimating, showSkeleton, zIndex, isMobile, canGoBack, isRoot,\n handleBack, handleClose,\n } = usePanelChrome({\n open, modalId, loading, closeOnEsc, closeOnClickOutside, disableFocusTrap, onClose,\n });\n\n // Don't render if in background (performance optimization)\n if (modalRole === 'background' && !keepMounted) return null;\n\n const { content, modalActions, headerActions, hasMobileActions } = resolveModalContent(\n children,\n actions,\n isMobile,\n );\n const { titleId, descId } = modalAriaIds(modalId, ariaLabelledBy, ariaDescribedBy);\n useUnnamedDialogWarning(Boolean(hideHeader) && !ariaLabelledBy);\n\n return (\n <StyledDialog\n ref={dialogRef}\n open={Boolean(open)}\n onClose={handleClose}\n fullScreen={fullScreen ?? isMobile}\n modalRole={modalRole}\n isAnimating={isAnimating}\n glass={glass}\n rtl={rtl}\n customMaxWidth={maxWidth}\n panelSize={size}\n panelWidth={panelWidth}\n TransitionComponent={SlideTransition}\n maxWidth={maxWidth}\n disableEscapeKeyDown={!closeOnEsc}\n hideBackdrop={disableBackdrop}\n keepMounted={keepMounted}\n aria-labelledby={titleId}\n aria-describedby={descId}\n data-testid={dataTestId}\n sx={{ zIndex }}\n {...otherProps}\n >\n <ModalPanelContents\n backLabel={backLabel}\n closeLabel={closeLabel}\n showSkeleton={showSkeleton}\n loadingText={loadingText}\n titleId={titleId}\n descId={descId}\n navigationTitle={navigationTitle}\n hideClose={hideClose}\n hideHeader={Boolean(hideHeader) && isRoot}\n canGoBack={canGoBack}\n onBack={handleBack}\n onClose={onClose}\n headerActions={headerActions}\n content={content}\n modalActions={modalActions}\n hasMobileActions={hasMobileActions}\n rtl={rtl}\n dataTestId={dataTestId}\n />\n </StyledDialog>\n );\n};\n\nexport const StackedModal: FC<StackedModalProps> = (props) => {\n // A modal with no caller-supplied id still needs a STABLE one — it keys this\n // panel's entry in the stack, so a value that changed per render (as a\n // `Math.random()` default does) would re-register it on every pass.\n const fallbackId = useId();\n const resolved = withDefaults(props);\n return <StackedModalPanel {...resolved} modalId={resolved.modalId ?? fallbackId} />;\n};\n\n// Re-exported so `./StackedModal` stays the single public entry point for the\n// component and its stack primitives, as the barrel and existing imports expect.\nexport {\n ModalStackProvider,\n ModalStackProvider as StackedModalProvider,\n useModalStack,\n useModalStack as useStackedModal,\n} from './modal-stack';\nexport { StackedModalActions, StackedModalContent } from './StackedModal.parts';\n"],"mappings":"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","names":["SlideTransition"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Command/Command.hooks.ts"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { CommandItem, CommandProps } from './Command.types';\n\ntype CommandDefaultedKeys =\n | 'open'\n | 'items'\n | 'placeholder'\n | 'value'\n | 'variant'\n | 'size'\n | 'color'\n | 'glow'\n | 'pulse'\n | 'loading'\n | 'disabled'\n | 'emptyMessage'\n | 'showCategories'\n | 'showShortcuts'\n | 'showDescriptions'\n | 'autoFocus'\n | 'closeOnSelect';\n\ntype ResolvedCommandProps = CommandProps &\n Required<Pick<CommandProps, CommandDefaultedKeys>>;\n\nconst COMMAND_DEFAULTS: Pick<CommandProps, CommandDefaultedKeys> = {\n open: false,\n items: [],\n placeholder: 'Type a command or search...',\n value: '',\n variant: 'default',\n size: 'md',\n color: 'primary',\n glow: false,\n pulse: false,\n loading: false,\n disabled: false,\n emptyMessage: 'No results found',\n showCategories: true,\n showShortcuts: true,\n showDescriptions: true,\n autoFocus: true,\n closeOnSelect: true,\n};\n\n// Strips explicitly-undefined props before the merge, so `size={undefined}` still\n// falls back to the default exactly as a destructuring default would.\nconst definedProps = (props: CommandProps): Partial<CommandProps> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<CommandProps>;\n\nexport const resolveCommandProps = (props: CommandProps): ResolvedCommandProps =>\n ({ ...COMMAND_DEFAULTS, ...definedProps(props) }) as ResolvedCommandProps;\n\n/** An item matches on its label, its description, or any of its keywords. */\nconst matches = (item: CommandItem, search: string): boolean => {\n const searchTargets = [\n item.label.toLowerCase(),\n item.description?.toLowerCase(),\n ...(item.keywords || []).map((k) => k.toLowerCase()),\n ];\n return searchTargets.some((target) => target?.includes(search));\n};\n\nconst useFilteredItems = (\n items: CommandItem[],\n search: string,\n customFilter: CommandProps['customFilter'],\n) =>\n useMemo(() => {\n if (!search) return items;\n\n if (customFilter) {\n return items.filter((item) => customFilter(item, search));\n }\n\n const searchLower = search.toLowerCase();\n return items.filter((item) => matches(item, searchLower));\n }, [items, search, customFilter]);\n\n/**\n * Kept as it was: the ref is never attached to an element, so this focus call has\n * always been a no-op. The input does get focus — CommandInput passes `autoFocus`\n * straight to its TextField — so removing it is a behaviour question, not a\n * cleanup, and is left alone here.\n */\nconst useAutoFocus = (open: boolean, autoFocus: boolean) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (open && autoFocus) {\n window.setTimeout(() => inputRef.current?.focus(), 100);\n }\n }, [open, autoFocus]);\n};\n\ninterface NavigationArgs {\n items: CommandItem[];\n selectedIndex: number;\n setSelectedIndex: React.Dispatch<React.SetStateAction<number>>;\n onSelect: (item: CommandItem) => void;\n onClose: () => void;\n}\n\n/** Arrows wrap around the list; Enter takes the highlighted item, Escape closes. */\nconst useKeyboardNavigation = ({\n items,\n selectedIndex,\n setSelectedIndex,\n onSelect,\n onClose,\n}: NavigationArgs) =>\n useCallback(\n (e: React.KeyboardEvent) => {\n const step = (delta: number) => {\n e.preventDefault();\n setSelectedIndex((prev) => (prev + delta + items.length) % items.length);\n };\n\n switch (e.key) {\n case 'ArrowDown':\n return step(1);\n case 'ArrowUp':\n return step(-1);\n case 'Enter':\n e.preventDefault();\n if (items[selectedIndex]) {\n onSelect(items[selectedIndex]);\n }\n return;\n case 'Escape':\n e.preventDefault();\n onClose();\n return;\n default:\n return;\n }\n },\n [items, selectedIndex, setSelectedIndex, onSelect, onClose],\n );\n\nexport const useCommandPalette = (props: ResolvedCommandProps) => {\n const { open, items, value, autoFocus, customFilter } = props;\n const { onValueChange, onSelect, onOpenChange, closeOnSelect } = props;\n\n const [internalValue, setInternalValue] = useState(value);\n const [selectedIndex, setSelectedIndex] = useState(0);\n useAutoFocus(open, autoFocus);\n\n useEffect(() => {\n setInternalValue(value);\n }, [value]);\n\n const handleValueChange = useCallback(\n (newValue: string) => {\n setInternalValue(newValue);\n onValueChange?.(newValue);\n setSelectedIndex(0);\n },\n [onValueChange],\n );\n\n const filteredItems = useFilteredItems(items, internalValue, customFilter);\n\n // Arrow keys and Enter address the enabled items only, so a disabled row never\n // becomes the highlighted one.\n const selectableItems = useMemo(\n () => filteredItems.filter((item) => !item.disabled),\n [filteredItems],\n );\n\n const handleSelect = useCallback(\n (item: CommandItem) => {\n if (item.disabled) return;\n\n item.action?.();\n onSelect?.(item);\n\n if (closeOnSelect) {\n onOpenChange?.(false);\n setInternalValue('');\n }\n },\n [onSelect, onOpenChange, closeOnSelect],\n );\n\n const handleKeyDown = useKeyboardNavigation({\n items: selectableItems,\n selectedIndex,\n setSelectedIndex,\n onSelect: handleSelect,\n onClose: () => onOpenChange?.(false),\n });\n\n return {\n internalValue,\n filteredItems,\n highlightedId: selectableItems[selectedIndex]?.id,\n handleValueChange,\n handleSelect,\n handleKeyDown,\n };\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/ContentToolbar/ColumnsMenu.tsx"],"sourcesContent":["'use client';\n\nimport ColumnsIcon from '@mui/icons-material/ViewColumnRounded';\nimport Box from '@mui/material/Box/index.js';\nimport Checkbox from '@mui/material/Checkbox/index.js';\nimport IconButton from '@mui/material/IconButton/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 React, { useState } from 'react';\n\nimport type { ColumnVisibilityOption, ColumnsMenuProps } from './ContentToolbar.types';\nimport { fieldRadiusPx } from '../../../tokens/field-radius';\nimport { fieldHeight } from '../../../tokens/field-height';\nimport { sxRem } from '../../../tokens/relative';\n\n/** One column checkbox row; toggling never closes the menu. */\nfunction ColumnRow({\n option,\n onToggle,\n testId,\n}: {\n option: ColumnVisibilityOption;\n onToggle: (id: string, visible: boolean) => void;\n testId?: string;\n}): React.JSX.Element {\n return (\n <MenuItem\n data-testid={testId}\n onClick={() => onToggle(option.id, !option.visible)}\n disabled={option.locked}\n sx={{ gap: 1 }}\n >\n <Checkbox\n checked={option.visible}\n size=\"small\"\n disableRipple\n sx={{ p: 0, pointerEvents: 'none' }}\n tabIndex={-1}\n />\n <Box component=\"span\" sx={{ flex: 1, minWidth: 0, textAlign: 'left' }}>\n {option.label}\n </Box>\n </MenuItem>\n );\n}\n\n/**\n * Stateless column-visibility selector: a neutral icon button (matching\n * {@link FilterTrigger}/{@link SortByDropdown}) opening a checkbox list of the\n * hideable columns. Purely presentational — the caller owns the visibility state\n * and is notified via `onToggle`. The menu stays open while toggling so several\n * columns can be flipped at once.\n */\nexport function ColumnsMenu({\n columns,\n onToggle,\n title = 'Columns',\n ariaLabel = 'Toggle columns',\n 'data-testid': testId,\n}: ColumnsMenuProps): React.JSX.Element {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const open = Boolean(anchorEl);\n const close = (): void => setAnchorEl(null);\n\n return (\n <>\n <IconButton\n size=\"small\"\n data-testid={testId}\n aria-label={ariaLabel}\n aria-haspopup=\"menu\"\n aria-expanded={open}\n onClick={(event) => setAnchorEl(event.currentTarget)}\n sx={{\n width: fieldHeight,\n height: fieldHeight,\n borderRadius: fieldRadiusPx,\n color: 'text.secondary',\n bgcolor: open ? 'action.selected' : 'transparent',\n }}\n >\n <ColumnsIcon sx={{ fontSize: sxRem(16) }} />\n </IconButton>\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={close}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\n slotProps={{ paper: { sx: { minWidth: sxRem(200) } } }}\n >\n <ListSubheader sx={{ px: 1.5, py: 0.75, fontSize: sxRem(12), fontWeight: 600, color: 'text.primary', lineHeight: 1.5 }}>\n {title}\n </ListSubheader>\n {columns.map((option) => (\n <ColumnRow\n key={option.id}\n option={option}\n onToggle={onToggle}\n testId={testId ? `${testId}-${option.id}` : undefined}\n />\n ))}\n </Menu>\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;AAEA,OAAO,iBAAiB;AACxB,OAAO,SAAS;AAChB,OAAO,cAAc;AACrB,OAAO,gBAAgB;AACvB,OAAO,mBAAmB;AAC1B,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,SAAgB,gBAAgB;AAkB5B,SAuCA,UAjCE,KANF;AAVJ,SAAS,UAAU;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AACF,GAIsB;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa;AAAA,MACb,SAAS,MAAM,SAAS,OAAO,IAAI,CAAC,OAAO,OAAO;AAAA,MAClD,UAAU,OAAO;AAAA,MACjB,IAAI,EAAE,KAAK,EAAE;AAAA,MAEb;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,SAAS,OAAO;AAAA,YAChB,MAAK;AAAA,YACL,eAAa;AAAA,YACb,IAAI,EAAE,GAAG,GAAG,eAAe,OAAO;AAAA,YAClC,UAAU;AAAA;AAAA,QACZ;AAAA,QACA,oBAAC,OAAI,WAAU,QAAO,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,OAAO,GACjE,iBAAO,OACV;AAAA;AAAA;AAAA,EACF;AAEJ;AASO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,eAAe;AACjB,GAAwC;AACtC,QAAM,CAAC,UAAU,WAAW,IAAI,SAA6B,IAAI;AACjE,QAAM,OAAO,QAAQ,QAAQ;AAC7B,QAAM,QAAQ,MAAY,YAAY,IAAI;AAE1C,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,eAAa;AAAA,QACb,cAAY;AAAA,QACZ,iBAAc;AAAA,QACd,iBAAe;AAAA,QACf,SAAS,CAAC,UAAU,YAAY,MAAM,aAAa;AAAA,QACnD,IAAI;AAAA,UACF,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,OAAO;AAAA,UACP,SAAS,OAAO,oBAAoB;AAAA,QACtC;AAAA,QAEA,8BAAC,eAAY,IAAI,EAAE,UAAU,MAAM,EAAE,EAAE,GAAG;AAAA;AAAA,IAC5C;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,cAAc,EAAE,UAAU,UAAU,YAAY,QAAQ;AAAA,QACxD,iBAAiB,EAAE,UAAU,OAAO,YAAY,QAAQ;AAAA,QACxD,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,MAAM,GAAG,EAAE,EAAE,EAAE;AAAA,QAErD;AAAA,8BAAC,iBAAc,IAAI,EAAE,IAAI,KAAK,IAAI,MAAM,UAAU,MAAM,EAAE,GAAG,YAAY,KAAK,OAAO,gBAAgB,YAAY,IAAI,GAClH,iBACH;AAAA,UACC,QAAQ,IAAI,CAAC,WACZ;AAAA,YAAC;AAAA;AAAA,cAEC;AAAA,cACA;AAAA,cACA,QAAQ,SAAS,GAAG,MAAM,IAAI,OAAO,EAAE,KAAK;AAAA;AAAA,YAHvC,OAAO;AAAA,UAId,CACD;AAAA;AAAA;AAAA,IACH;AAAA,KACF;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/TableFilter/TableFilter.tsx"],"sourcesContent":["'use client';\n\nimport CloseIcon from '@mui/icons-material/Close';\nimport SearchIcon from '@mui/icons-material/Search';\nimport Box from '@mui/material/Box/index.js';\nimport Checkbox from '@mui/material/Checkbox/index.js';\nimport Divider from '@mui/material/Divider/index.js';\nimport FormControlLabel from '@mui/material/FormControlLabel/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport InputAdornment from '@mui/material/InputAdornment/index.js';\nimport Link from '@mui/material/Link/index.js';\nimport TextField from '@mui/material/TextField/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport React, { useRef, useState } from 'react';\n\nimport { TableFilterContext, useTableFilterContext } from './TableFilterContext';\nimport type {\n TableFilterCheckboxFieldProps,\n TableFilterKeywordProps,\n TableFilterLayoutProps,\n TableFilterMainProps,\n TableFilterPanelProps,\n TableFilterProps,\n TableFilterRangeFieldProps,\n TableFilterSectionProps,\n} from './TableFilter.types';\nimport { fieldTextFieldStyles } from '../../../tokens/field-height';\nimport { sxRem } from '../../../tokens/relative';\n\n/** The open panel's width, 280 design px through the type scale. */\nconst PANEL_WIDTH = sxRem(280);\n\n/**\n * Compound filter-panel system, MUI port of the reference `TableFilter`. Provides\n * open/close state; `Panel` slides in from the right beside `Main` (no overlap).\n *\n * @example\n * ```tsx\n * <TableFilter open={open} onOpenChange={setOpen} hasActiveFilters={n > 0}>\n * <TableFilter.Layout>\n * <TableFilter.Main>{table}</TableFilter.Main>\n * <TableFilter.Panel onClearAll={clearAll}>\n * <TableFilter.Keyword value={q} onChange={setQ} />\n * <TableFilter.Section title=\"Attributes\">\n * <TableFilter.CheckboxField label=\"Category\" options={cats} selected={sel} onToggle={toggle} />\n * <TableFilter.RangeField label=\"Price\" unit=\"R$\" value={price} onChange={setPrice} />\n * </TableFilter.Section>\n * </TableFilter.Panel>\n * </TableFilter.Layout>\n * </TableFilter>\n * ```\n */\nexport function TableFilter({\n children,\n open,\n onOpenChange,\n hasActiveFilters = false,\n copy,\n}: TableFilterProps): React.JSX.Element {\n return (\n <TableFilterContext.Provider value={{ open, onOpenChange, hasActiveFilters, copy }}>\n {children}\n </TableFilterContext.Provider>\n );\n}\nTableFilter.displayName = 'TableFilter';\n\nconst TableFilterLayout = ({ children, className }: TableFilterLayoutProps): React.JSX.Element => {\n const { open } = useTableFilterContext();\n return (\n <Box\n className={className}\n sx={{\n display: 'flex',\n minHeight: 0,\n minWidth: 0,\n flex: 1,\n alignItems: 'stretch',\n overflow: 'hidden',\n gap: open ? 2 : 0,\n }}\n >\n {children}\n </Box>\n );\n};\nTableFilterLayout.displayName = 'TableFilter.Layout';\n\nconst TableFilterMain = ({ children, className }: TableFilterMainProps): React.JSX.Element => (\n <Box className={className} sx={{ minWidth: 0, flex: 1, overflowY: 'auto', overflowX: 'hidden' }}>\n {children}\n </Box>\n);\nTableFilterMain.displayName = 'TableFilter.Main';\n\nconst TableFilterPanel = ({\n children,\n onClearAll,\n ariaLabel = 'Filters',\n clearTestId,\n}: TableFilterPanelProps): React.JSX.Element => {\n const { open, copy } = useTableFilterContext();\n return (\n <Box\n component=\"aside\"\n aria-label={ariaLabel}\n aria-hidden={!open}\n sx={{\n display: 'flex',\n minHeight: 0,\n flexShrink: 0,\n flexDirection: 'column',\n alignSelf: 'stretch',\n overflow: 'hidden',\n bgcolor: 'background.paper',\n width: open ? PANEL_WIDTH : 0,\n borderLeft: open ? 1 : 0,\n borderColor: 'divider',\n transition: 'width 300ms ease-in-out',\n '@media (prefers-reduced-motion: reduce)': { transition: 'none' },\n }}\n >\n <Box\n sx={{\n display: 'flex',\n minHeight: 0,\n flex: 1,\n flexDirection: 'column',\n overflowY: 'auto',\n overflowX: 'hidden',\n visibility: open ? 'visible' : 'hidden',\n opacity: open ? 1 : 0,\n pointerEvents: open ? 'auto' : 'none',\n transition: 'opacity 200ms ease-out',\n }}\n >\n <Box sx={{ boxSizing: 'border-box', display: 'flex', width: '100%', minWidth: 0, flexDirection: 'column', gap: 2.5, p: 2 }}>\n <Box sx={{ display: 'flex', justifyContent: 'flex-end' }}>\n <Link\n component=\"button\"\n type=\"button\"\n underline=\"hover\"\n data-testid={clearTestId}\n onClick={onClearAll}\n sx={{ fontSize: sxRem(12), color: 'text.secondary' }}\n >\n {copy.clearAllFilters}\n </Link>\n </Box>\n {children}\n </Box>\n </Box>\n </Box>\n );\n};\nTableFilterPanel.displayName = 'TableFilter.Panel';\n\nconst TableFilterKeyword = ({\n value,\n onChange,\n placeholder = 'Press Enter to filter',\n label = 'Filter by keyword',\n testId,\n}: TableFilterKeywordProps): React.JSX.Element => {\n const { copy } = useTableFilterContext();\n const [draft, setDraft] = useState(value);\n const prevValue = useRef(value);\n if (prevValue.current !== value) {\n prevValue.current = value;\n if (draft !== value) setDraft(value);\n }\n\n const commit = (): void => {\n if (draft !== value) onChange(draft);\n };\n const clearKeyword = (): void => {\n setDraft('');\n if (value !== '') onChange('');\n };\n\n return (\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1 }}>\n <Typography component=\"label\" sx={{ fontSize: sxRem(12), fontWeight: 500, color: 'text.secondary' }}>\n {label}\n </Typography>\n <TextField\n size=\"small\"\n sx={fieldTextFieldStyles}\n name=\"keyword\"\n placeholder={placeholder}\n value={draft}\n onChange={(event) => setDraft(event.target.value)}\n onBlur={commit}\n onKeyDown={(event) => {\n if (event.key !== 'Enter') return;\n event.preventDefault();\n commit();\n }}\n inputProps={{ 'aria-label': label, 'data-testid': testId }}\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <SearchIcon sx={{ fontSize: sxRem(16), color: 'text.secondary' }} />\n </InputAdornment>\n ),\n endAdornment:\n draft !== '' ? (\n <InputAdornment position=\"end\">\n <IconButton\n size=\"small\"\n aria-label={copy.clearKeyword}\n data-testid={testId ? `${testId}-clear` : undefined}\n onMouseDown={(event) => event.preventDefault()}\n onClick={clearKeyword}\n >\n <CloseIcon sx={{ fontSize: sxRem(16) }} />\n </IconButton>\n </InputAdornment>\n ) : null,\n }}\n />\n </Box>\n );\n};\nTableFilterKeyword.displayName = 'TableFilter.Keyword';\n\nconst TableFilterSection = ({ title, children }: TableFilterSectionProps): React.JSX.Element => (\n <Box>\n <Divider sx={{ mb: 2.5 }} />\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1.5 }}>\n <Typography component=\"h2\" sx={{ fontSize: sxRem(14), fontWeight: 600, color: 'text.primary' }}>\n {title}\n </Typography>\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 2 }}>{children}</Box>\n </Box>\n </Box>\n);\nTableFilterSection.displayName = 'TableFilter.Section';\n\nfunction TableFilterCheckboxField<TValue extends string = string>({\n label,\n options,\n selected,\n onToggle,\n testId,\n}: TableFilterCheckboxFieldProps<TValue>): React.JSX.Element {\n return (\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1 }} data-testid={testId}>\n <Typography sx={{ fontSize: sxRem(12), fontWeight: 500, color: 'text.secondary' }}>{label}</Typography>\n <Box sx={{ display: 'flex', flexDirection: 'column' }}>\n {options.map((option) => {\n const checked = selected.has(option.value);\n return (\n <FormControlLabel\n key={option.value}\n control={\n <Checkbox\n size=\"small\"\n checked={checked}\n onChange={(event) => onToggle(option.value, event.target.checked)}\n data-testid={testId ? `${testId}-${option.value}` : undefined}\n sx={{ py: 0.25 }}\n />\n }\n label={\n <Box component=\"span\" sx={{ fontSize: sxRem(14) }}>\n {option.label}\n {option.count != null && (\n <Box component=\"span\" sx={{ color: 'text.secondary' }}>\n {' '}\n ({option.count})\n </Box>\n )}\n </Box>\n }\n sx={{ ml: -0.5, mr: 0 }}\n />\n );\n })}\n </Box>\n </Box>\n );\n}\nTableFilterCheckboxField.displayName = 'TableFilter.CheckboxField';\n\nfunction parseBound(text: string): number | undefined {\n if (text.trim() === '') return undefined;\n const parsed = Number(text);\n return Number.isNaN(parsed) ? undefined : parsed;\n}\n\n/** One numeric bound input (min or max) for {@link TableFilterRangeField}. */\nfunction RangeBound({\n bound,\n error,\n placeholder,\n step,\n ariaLabel,\n testId,\n onChange,\n}: {\n bound: number | undefined;\n error: boolean;\n placeholder: string;\n step?: number;\n ariaLabel: string;\n testId?: string;\n onChange: (next: number | undefined) => void;\n}): React.JSX.Element {\n return (\n <TextField\n size=\"small\"\n sx={fieldTextFieldStyles}\n type=\"number\"\n error={error}\n placeholder={placeholder}\n value={bound != null ? String(bound) : ''}\n onChange={(event) => onChange(parseBound(event.target.value))}\n inputProps={{ step, 'aria-label': ariaLabel, 'data-testid': testId }}\n />\n );\n}\n\n/** Inverted range: both ends set and max < min (surfaced to the user as an error). */\nconst isRangeInverted = (value: { min?: number; max?: number }): boolean =>\n value.min != null && value.max != null && value.max < value.min;\n\nconst TableFilterRangeField = ({\n label,\n value,\n onChange,\n unit,\n step,\n minPlaceholder,\n maxPlaceholder,\n invalidLabel,\n testId,\n}: TableFilterRangeFieldProps): React.JSX.Element => {\n const { copy } = useTableFilterContext();\n const invalid = isRangeInverted(value);\n // A field may override any of the three; unset, they come from the root's\n // table. Neither path reaches an English literal in this package.\n const minText = minPlaceholder ?? copy.rangeMin;\n const maxText = maxPlaceholder ?? copy.rangeMax;\n const invalidText = invalidLabel ?? copy.invalidRange;\n return (\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1 }} data-testid={testId}>\n <Typography sx={{ fontSize: sxRem(12), fontWeight: 500, color: 'text.secondary' }}>\n {label}\n {unit ? ` (${unit})` : ''}\n </Typography>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n <RangeBound\n bound={value.min}\n error={invalid}\n placeholder={minText}\n step={step}\n ariaLabel={`${label} ${minText}`}\n testId={testId ? `${testId}-min` : undefined}\n onChange={(min) => onChange({ ...value, min })}\n />\n <Typography component=\"span\" sx={{ color: 'text.secondary' }}>\n –\n </Typography>\n <RangeBound\n bound={value.max}\n error={invalid}\n placeholder={maxText}\n step={step}\n ariaLabel={`${label} ${maxText}`}\n testId={testId ? `${testId}-max` : undefined}\n onChange={(max) => onChange({ ...value, max })}\n />\n </Box>\n {invalid && (\n <Typography\n role=\"alert\"\n data-testid={testId ? `${testId}-error` : undefined}\n sx={{ fontSize: sxRem(11.2), color: 'error.main' }}\n >\n {invalidText}\n </Typography>\n )}\n </Box>\n );\n};\nTableFilterRangeField.displayName = 'TableFilter.RangeField';\n\nTableFilter.Layout = TableFilterLayout;\nTableFilter.Main = TableFilterMain;\nTableFilter.Panel = TableFilterPanel;\nTableFilter.Keyword = TableFilterKeyword;\nTableFilter.Section = TableFilterSection;\nTableFilter.CheckboxField = TableFilterCheckboxField;\nTableFilter.RangeField = TableFilterRangeField;\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/data-display/EmptyState/EmptyState.native.tsx","../../../src/components/data-display/EmptyState/EmptyState.helpers.ts","../../../src/components/data-display/EmptyState/EmptyState.metrics.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n Linking,\n Platform,\n StyleSheet,\n Text as RNText,\n useWindowDimensions,\n View,\n type TextStyle,\n type ViewStyle,\n} from 'react-native';\n\nimport { type ActionSpec, actionsOf, makeTestId } from './EmptyState.helpers';\nimport {\n ACTION_BUTTON,\n ACTION_MIN_WIDTH,\n ACTIONS_GAP_UNITS,\n ACTIONS_MARGIN_TOP_UNITS,\n ACTIONS_ROW_FROM,\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 MUI_CONTAINED_SHADOW,\n TITLE_MAX_WIDTH,\n} from './EmptyState.metrics';\nimport type { EmptyStateHelpLink, EmptyStateProps, EmptyStateVariant } from './EmptyState.types.native';\nimport { Icon } from '../../../icons/Icon.native';\nimport { webAria } from '../../../platform/aria';\nimport { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\nimport { alpha } from '../../../tokens/color';\nimport { MUI_FONT_WEIGHT_MEDIUM, MUI_TYPE, muiTypeStyle } from '../../../tokens/mui-type';\nimport type { UiTheme } from '../../../tokens/theme';\nimport { Button } from '../../form/Button/Button.native';\n\n/** MUI's `h6` as an `h3`, medium weight, in the body ink, wrapping at 400px. */\nexport function titleStyle(theme: UiTheme): TextStyle {\n return {\n ...muiTypeStyle(theme, 'h6'),\n fontWeight: `${MUI_FONT_WEIGHT_MEDIUM}`,\n color: theme.palette.text.primary,\n maxWidth: TITLE_MAX_WIDTH,\n textAlign: 'center',\n };\n}\n\n/** MUI's `body2` on a 1.6 line height, muted, wrapping at 480px. */\nexport function descriptionStyle(theme: UiTheme): TextStyle {\n return {\n ...muiTypeStyle(theme, 'body2'),\n lineHeight: MUI_TYPE.body2.fontSize * DESCRIPTION_LINE_HEIGHT,\n color: theme.palette.text.secondary,\n maxWidth: DESCRIPTION_MAX_WIDTH,\n textAlign: 'center',\n };\n}\n\n/** The web `Link` inherits the page's `body1`; primary ink, no underline until hovered. */\nexport function helpLinkStyle(theme: UiTheme): TextStyle {\n return {\n ...muiTypeStyle(theme, 'body1'),\n color: theme.palette.primary.main,\n textDecorationLine: 'none',\n marginTop: theme.spacing(HELP_LINK_MARGIN_TOP_UNITS),\n textAlign: 'center',\n };\n}\n\nexport function illustrationStyle(variant: EmptyStateVariant): ViewStyle {\n return {\n maxWidth: illustrationMaxWidth(variant),\n width: '100%',\n opacity: illustrationOpacity(variant),\n display: variant === 'minimal' ? 'none' : 'flex',\n };\n}\n\n/**\n * The web actions are MUI's medium contained/outlined buttons; the house\n * `Button` is sized to them here. The shadow needs the button's overflow\n * visible — a view clips its own shadow otherwise.\n */\nexport function actionStyle(theme: UiTheme, variant: ActionSpec['variant']): ViewStyle {\n const padding = ACTION_BUTTON[variant];\n return {\n minWidth: ACTION_MIN_WIDTH,\n borderRadius: theme.radius.md,\n paddingVertical: padding.paddingVertical,\n paddingHorizontal: padding.paddingHorizontal,\n ...(variant === 'contained'\n ? { boxShadow: MUI_CONTAINED_SHADOW, overflow: 'visible' }\n : { borderColor: alpha(theme.palette.primary.main, ACTION_BUTTON.outlinedBorderAlpha) }),\n };\n}\n\n/** MUI's `sm` breakpoint decides the action row's axis: a row from 600px up, a column below. */\nexport const actionsDirection = (windowWidth: number): 'row' | 'column' =>\n windowWidth >= ACTIONS_ROW_FROM ? 'row' : 'column';\n\n/** react-native-web's anchor props for a `Text`, which React Native's `TextProps` do not declare. */\nfunction anchorProps(href: string, external: boolean): object {\n if (Platform.OS !== 'web') return {};\n return { href, hrefAttrs: external ? { target: '_blank', rel: 'noopener noreferrer' } : undefined };\n}\n\nfunction ActionButton({ spec, testID }: { spec: ActionSpec; testID: string }): React.JSX.Element {\n const theme = useUiTheme();\n const contained = spec.variant === 'contained';\n const glyph = spec.icon ? (\n <Icon\n name={spec.icon}\n size={ACTION_BUTTON.iconSize}\n color={contained ? theme.palette.primary.contrastText : 'primary'}\n />\n ) : undefined;\n return (\n <Button\n variant={contained ? 'solid' : 'outline'}\n color=\"primary\"\n size=\"sm\"\n icon={glyph}\n onClick={spec.onClick}\n testID={testID}\n style={actionStyle(theme, spec.variant)}\n >\n {spec.label}\n </Button>\n );\n}\n\nfunction Actions({ specs, testId }: { specs: ActionSpec[]; testId: (suffix: string) => string }): React.JSX.Element {\n const theme = useUiTheme();\n const { width } = useWindowDimensions();\n return (\n <View\n style={[\n styles.actions,\n {\n flexDirection: actionsDirection(width),\n gap: theme.spacing(ACTIONS_GAP_UNITS),\n marginTop: theme.spacing(ACTIONS_MARGIN_TOP_UNITS),\n },\n ]}\n >\n {specs.map((spec) => (\n <ActionButton key={spec.key} spec={spec} testID={testId(spec.key)} />\n ))}\n </View>\n );\n}\n\nfunction HelpLink({ helpLink, testId }: { helpLink: EmptyStateHelpLink; testId: string }): React.JSX.Element {\n const theme = useUiTheme();\n const external = helpLink.external === true;\n // On the web the anchor navigates by itself; a device has no anchor and opens the URL.\n const open = Platform.OS === 'web' ? undefined : () => void Linking.openURL(helpLink.href);\n return (\n <RNText role=\"link\" testID={testId} style={helpLinkStyle(theme)} onPress={open} {...anchorProps(helpLink.href, external)}>\n {helpLink.label}\n {external ? EXTERNAL_LINK_MARK : null}\n </RNText>\n );\n}\n\ninterface ContentProps {\n title: string;\n description?: string;\n titleId: string;\n testId: (suffix: string) => string;\n actions: ActionSpec[];\n showActions: boolean;\n helpLink?: EmptyStateHelpLink;\n}\n\nfunction Content({ title, description, titleId, testId, actions, showActions, helpLink }: ContentProps): React.JSX.Element {\n const theme = useUiTheme();\n return (\n <View style={[styles.content, { gap: theme.spacing(CONTENT_GAP_UNITS) }]}>\n <RNText id={titleId} role=\"heading\" {...webAria({ 'aria-level': 3 })} testID={testId('title')} style={titleStyle(theme)}>\n {title}\n </RNText>\n\n {description ? (\n <RNText testID={testId('description')} style={descriptionStyle(theme)}>\n {description}\n </RNText>\n ) : null}\n\n {showActions ? <Actions specs={actions} testId={testId} /> : null}\n\n {helpLink ? <HelpLink helpLink={helpLink} testId={testId('help-link')} /> : null}\n </View>\n );\n}\n\nexport const EmptyState: React.FC<EmptyStateProps> = React.memo(function EmptyState(props) {\n const {\n variant = 'default',\n title,\n description,\n illustration,\n helpLink,\n refreshLabel = 'Refresh',\n createLabel = 'Create New',\n primaryAction: _primary,\n secondaryAction: _secondary,\n onCreate: _onCreate,\n onRefresh: _onRefresh,\n style,\n ...others\n } = props;\n const theme = useUiTheme();\n const titleId = React.useId();\n const dataTestId = resolveTestId(others);\n const testId = makeTestId(dataTestId);\n const rest = withoutTestIdProps(others);\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 <View\n role=\"region\"\n aria-labelledby={titleId}\n testID={dataTestId || 'empty-state'}\n style={[\n styles.root,\n {\n padding: theme.spacing(EMPTY_STATE_PADDING_UNITS),\n minHeight: EMPTY_STATE_MIN_HEIGHT,\n gap: theme.spacing(EMPTY_STATE_GAP_UNITS),\n },\n style,\n ]}\n {...rest}\n >\n {illustration ? (\n <View testID={testId('icon')} style={illustrationStyle(variant)}>\n {illustration}\n </View>\n ) : null}\n\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 </View>\n );\n});\n\nEmptyState.displayName = 'EmptyState';\n\nconst styles = StyleSheet.create({\n root: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n content: {\n alignItems: 'center',\n },\n actions: {\n alignItems: 'center',\n },\n});\n","import type { EmptyStateBaseProps } from './EmptyState.base';\n\nexport const makeTestId =\n (dataTestId?: string) =>\n (suffix: string): string =>\n dataTestId ? `${dataTestId}-${suffix}` : `empty-state-${suffix}`;\n\n/** The glyph an action carries, by the shared icon set's name; each renderer draws it its own way. */\nexport type ActionIconName = 'Add' | 'Refresh';\n\nexport interface ActionSpec {\n key: 'primary-action' | 'create-button' | 'secondary-action' | 'refresh-button';\n variant: 'contained' | 'outlined';\n onClick: () => void;\n label: string;\n icon?: ActionIconName;\n}\n\n// The four buttons are one button with different props. Listing them keeps their\n// order — primary, create, secondary, refresh — visible in one place, and both\n// renderers read this one list.\nexport const actionsOf = (\n props: EmptyStateBaseProps,\n refreshLabel: string,\n createLabel: string,\n): ActionSpec[] => {\n const { primaryAction, secondaryAction, onCreate, onRefresh } = props;\n const specs: ActionSpec[] = [];\n\n if (primaryAction) {\n specs.push({\n key: 'primary-action',\n variant: 'contained',\n onClick: primaryAction.onClick,\n label: primaryAction.label,\n });\n }\n if (onCreate) {\n specs.push({\n key: 'create-button',\n variant: 'contained',\n onClick: onCreate,\n label: createLabel,\n icon: 'Add',\n });\n }\n if (secondaryAction) {\n specs.push({\n key: 'secondary-action',\n variant: 'outlined',\n onClick: secondaryAction.onClick,\n label: secondaryAction.label,\n });\n }\n if (onRefresh) {\n specs.push({\n key: 'refresh-button',\n variant: 'outlined',\n onClick: onRefresh,\n label: refreshLabel,\n icon: 'Refresh',\n });\n }\n\n return specs;\n};\n","import type { EmptyStateVariant } from './EmptyState.base';\nimport { ELEVATION_SHADOWS } from '../../../tokens/ink.core';\n\n/**\n * THE NUMBERS BOTH `EmptyState` RENDERERS DRAW WITH.\n *\n * `EmptyState.tsx` (MUI) and `EmptyState.native.tsx` (React Native) read\n * this one table. Spacing is in SPACING UNITS where the web writes\n * `theme.spacing(n)`; everything else is px or a ratio.\n */\n\n/** The region: a centred column, `theme.spacing(6)` of padding, at least 200px tall, its parts 24px apart. */\nexport const EMPTY_STATE_PADDING_UNITS = 6;\nexport const EMPTY_STATE_MIN_HEIGHT = 200;\nexport const EMPTY_STATE_GAP_UNITS = 3;\n\n/** The illustration: wider when it is the point, faded a little always, hidden in `minimal`. */\nexport const ILLUSTRATION_MAX_WIDTH = { illustrated: 240, other: 120 } as const;\nexport const ILLUSTRATION_OPACITY = { minimal: 0.6, other: 0.8 } as const;\n\nexport const illustrationMaxWidth = (variant: EmptyStateVariant): number =>\n variant === 'illustrated' ? ILLUSTRATION_MAX_WIDTH.illustrated : ILLUSTRATION_MAX_WIDTH.other;\nexport const illustrationOpacity = (variant: EmptyStateVariant): number =>\n variant === 'minimal' ? ILLUSTRATION_OPACITY.minimal : ILLUSTRATION_OPACITY.other;\n\n/** Title, description, actions and link are 16px apart; the title wraps at 400px, the description at 480px on a 1.6 line height. */\nexport const CONTENT_GAP_UNITS = 2;\nexport const TITLE_MAX_WIDTH = 400;\nexport const DESCRIPTION_MAX_WIDTH = 480;\nexport const DESCRIPTION_LINE_HEIGHT = 1.6;\n\n/** The action row: 16px below the text, buttons 16px apart, stacked below MUI's `sm` breakpoint. */\nexport const ACTIONS_MARGIN_TOP_UNITS = 2;\nexport const ACTIONS_GAP_UNITS = 2;\nexport const ACTIONS_ROW_FROM = 600;\nexport const ACTION_MIN_WIDTH = 120;\n/**\n * The web actions ARE MUI's medium `contained` and `outlined` buttons: 6px\n * 16px, or 5px 15px inside a 1px border at half alpha, 14px type, the\n * theme's radius, a 20px start icon. The native side sizes the house\n * `Button` to these.\n */\nexport const ACTION_BUTTON = {\n contained: { paddingVertical: 6, paddingHorizontal: 16 },\n outlined: { paddingVertical: 5, paddingHorizontal: 15 },\n iconSize: 20,\n outlinedBorderAlpha: 0.5,\n} as const;\n/** MUI's `theme.shadows[2]`, the elevation a contained button rests at. */\nexport const MUI_CONTAINED_SHADOW = ELEVATION_SHADOWS[2];\n\n/** The help link: 8px below whatever precedes it, marked when it leaves the app. */\nexport const HELP_LINK_MARGIN_TOP_UNITS = 1;\nexport const EXTERNAL_LINK_MARK = ' ↗';\n"],"mappings":"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","names":["EmptyState"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/en-US.labels.ts"],"sourcesContent":["/**\n * The en-US labels pack — and, unlike the other en-US packs, the components'\n * own fallback: each `labels` prop is optional, and this is what a host that\n * passes nothing has always rendered, kept word for word (including the\n * lower-case `close`/`loading` names tests already query by).\n */\nimport type { UiLabels } from './copy/labels';\n\nexport const EN_US_UI_LABELS: UiLabels = {\n common: {\n loading: \"loading\",\n close: \"close\",\n delete: \"delete\",\n },\n stepper: {\n step: (position, label) => `Step ${position}: ${label}`,\n optional: \"optional\",\n completed: \"completed\",\n current: \"current\",\n },\n timeline: {\n expandDetails: \"Expand item details\",\n collapseDetails: \"Collapse item details\",\n item: (title) => `Timeline item: ${title}`,\n },\n lazyImage: {\n loadingAlt: (alt) => `${alt} (loading)`,\n fallbackAlt: (alt) => `${alt} (fallback)`,\n },\n sonner: {\n hiddenCount: (count) => `+${count} more`,\n },\n richTextEditor: {\n placeholder: \"Start typing...\",\n ariaLabel: \"Rich text editor\",\n listItem: \"List item\",\n bold: \"Bold\",\n italic: \"Italic\",\n underline: \"Underline\",\n strikethrough: \"Strikethrough\",\n numberedList: \"Numbered List\",\n bulletedList: \"Bulleted List\",\n insertLink: \"Insert Link\",\n insertImage: \"Insert Image\",\n codeBlock: \"Code Block\",\n quote: \"Quote\",\n linkPrompt: \"Enter URL:\",\n imagePrompt: \"Enter image URL:\",\n },\n table: {\n sortBy: (header) => `Sort by ${header}`,\n selectRow: (rowNumber) => `select row ${rowNumber}`,\n selectAllRows: \"select all\",\n },\n code: {\n copy: \"Copy code\",\n copied: \"Copied!\",\n },\n contentToolbar: {\n gridView: \"Grid View\",\n listView: \"List View\",\n openFilters: \"Open filters\",\n closeFilters: \"Close filters\",\n },\n dashboard: {\n breadcrumb: \"breadcrumb\",\n },\n navigationMenu: {\n collapse: \"Collapse\",\n expand: \"Expand\",\n },\n workflowStep: {\n step: (position, title) => `Step ${position}: ${title}`,\n progress: (position, total) => `Step ${position} of ${total}`,\n },\n};\n"],"mappings":";AAQO,IAAM,kBAA4B;AAAA,EACvC,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,MAAM,CAAC,UAAU,UAAU,QAAQ,QAAQ,KAAK,KAAK;AAAA,IACrD,UAAU;AAAA,IACV,WAAW;AAAA,IACX,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,MAAM,CAAC,UAAU,kBAAkB,KAAK;AAAA,EAC1C;AAAA,EACA,WAAW;AAAA,IACT,YAAY,CAAC,QAAQ,GAAG,GAAG;AAAA,IAC3B,aAAa,CAAC,QAAQ,GAAG,GAAG;AAAA,EAC9B;AAAA,EACA,QAAQ;AAAA,IACN,aAAa,CAAC,UAAU,IAAI,KAAK;AAAA,EACnC;AAAA,EACA,gBAAgB;AAAA,IACd,aAAa;AAAA,IACb,WAAW;AAAA,IACX,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,eAAe;AAAA,IACf,cAAc;AAAA,IACd,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,WAAW;AAAA,IACX,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,aAAa;AAAA,EACf;AAAA,EACA,OAAO;AAAA,IACL,QAAQ,CAAC,WAAW,WAAW,MAAM;AAAA,IACrC,WAAW,CAAC,cAAc,cAAc,SAAS;AAAA,IACjD,eAAe;AAAA,EACjB;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,UAAU;AAAA,IACV,aAAa;AAAA,IACb,cAAc;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,YAAY;AAAA,EACd;AAAA,EACA,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,cAAc;AAAA,IACZ,MAAM,CAAC,UAAU,UAAU,QAAQ,QAAQ,KAAK,KAAK;AAAA,IACrD,UAAU,CAAC,UAAU,UAAU,QAAQ,QAAQ,OAAO,KAAK;AAAA,EAC7D;AACF;","names":[]}