@12-apps/ui 6.27.1 → 6.28.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 (583) hide show
  1. package/dist/_internal/components/data-display/Alert/Alert.js +5 -4
  2. package/dist/_internal/components/data-display/Alert/Alert.metrics.js +3 -2
  3. package/dist/_internal/components/data-display/Alert/Alert.styles.js +4 -3
  4. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +4 -4
  5. package/dist/_internal/components/data-display/Avatar/Avatar.js +6 -5
  6. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +4 -3
  7. package/dist/_internal/components/data-display/Badge/Badge.animations.js +4 -3
  8. package/dist/_internal/components/data-display/Badge/Badge.js +8 -7
  9. package/dist/_internal/components/data-display/Badge/Badge.metrics.js +3 -2
  10. package/dist/_internal/components/data-display/Badge/Badge.styles.js +6 -5
  11. package/dist/_internal/components/data-display/Badge/Badge.variants.js +4 -3
  12. package/dist/_internal/components/data-display/Badge/BadgeContent.js +7 -6
  13. package/dist/_internal/components/data-display/Banner/Banner.js +5 -4
  14. package/dist/_internal/components/data-display/Banner/Banner.styles.js +4 -3
  15. package/dist/_internal/components/data-display/CardKit/CardKebab.js +5 -4
  16. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +6 -5
  17. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +10 -9
  18. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +5 -4
  19. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +2 -1
  20. package/dist/_internal/components/data-display/Carousel/Carousel.js +5 -4
  21. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +2 -1
  22. package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +2 -1
  23. package/dist/_internal/components/data-display/Chart/Chart.js +5 -4
  24. package/dist/_internal/components/data-display/Chart/SpecChart.js +9 -8
  25. package/dist/_internal/components/data-display/Chart/chart-context.js +2 -1
  26. package/dist/_internal/components/data-display/Chart/chart-internals.js +2 -1
  27. package/dist/_internal/components/data-display/Chart/chart-renderers.js +4 -3
  28. package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
  29. package/dist/_internal/components/data-display/DataGrid/DataGrid.body.js +2 -2
  30. package/dist/_internal/components/data-display/DataGrid/DataGrid.cells.js +1 -1
  31. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +3 -3
  32. package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +5 -4
  33. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +49 -47
  34. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +68 -66
  35. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +9 -8
  36. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +10 -9
  37. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +15 -14
  38. package/dist/_internal/components/data-display/DataViews/base-card.js +11 -10
  39. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +12 -11
  40. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +4 -3
  41. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +8 -7
  42. package/dist/_internal/components/data-display/DataViews/base-list-card.js +17 -16
  43. package/dist/_internal/components/data-display/DataViews/card-surface.js +5 -4
  44. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +8 -8
  45. package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +5 -4
  46. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +6 -5
  47. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +10 -9
  48. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +5 -4
  49. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +7 -6
  50. package/dist/_internal/components/data-display/DataViews/data-views-export.js +7 -6
  51. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +11 -11
  52. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +16 -14
  53. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +5 -4
  54. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +45 -43
  55. package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +5 -4
  56. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +19 -18
  57. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +8 -7
  58. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +11 -10
  59. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +2 -2
  60. package/dist/_internal/components/data-display/DataViews/data-views-row-detail.js +8 -0
  61. package/dist/_internal/components/data-display/DataViews/data-views-row-detail.js.map +1 -0
  62. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +2 -2
  63. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +7 -6
  64. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +15 -14
  65. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +22 -21
  66. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +14 -13
  67. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +7 -6
  68. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
  69. package/dist/_internal/components/data-display/DataViews/save-view-preview.js +5 -4
  70. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +8 -7
  71. package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
  72. package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +5 -4
  73. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +15 -15
  74. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +11 -11
  75. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +18 -17
  76. package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +3 -3
  77. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +3 -3
  78. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +4 -4
  79. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +3 -3
  80. package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +2 -2
  81. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +2 -2
  82. package/dist/_internal/components/data-display/MapPreview/MapPreview.hooks.js +2 -2
  83. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +10 -10
  84. package/dist/_internal/components/data-display/MapPreview/MapTiles.js +2 -2
  85. package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +4 -4
  86. package/dist/_internal/components/data-display/MapPreview/useMapPreview.js +3 -3
  87. package/dist/_internal/components/data-display/Progress/Progress.js +5 -4
  88. package/dist/_internal/components/data-display/Progress/Progress.metrics.js +3 -2
  89. package/dist/_internal/components/data-display/Progress/Progress.styles.js +4 -3
  90. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +2 -1
  91. package/dist/_internal/components/data-display/Sheet/Sheet.js +4 -3
  92. package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +2 -1
  93. package/dist/_internal/components/data-display/StatCard/StatCard.js +3 -3
  94. package/dist/_internal/components/data-display/Table/Table.js +2 -2
  95. package/dist/_internal/components/data-display/index.js +74 -73
  96. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +5 -4
  97. package/dist/_internal/components/feedback/Dialog/Dialog.js +2 -2
  98. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +2 -2
  99. package/dist/_internal/components/feedback/index.js +9 -8
  100. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +4 -4
  101. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +6 -6
  102. package/dist/_internal/components/form/Button/Button.js +4 -3
  103. package/dist/_internal/components/form/Button/Button.styles.js +3 -2
  104. package/dist/_internal/components/form/Calendar/Calendar.js +2 -2
  105. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +4 -4
  106. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
  107. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
  108. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +6 -6
  109. package/dist/_internal/components/form/CepField/CepField.js +3 -3
  110. package/dist/_internal/components/form/Checkbox/Checkbox.js +3 -2
  111. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +2 -2
  112. package/dist/_internal/components/form/Command/Command.js +4 -3
  113. package/dist/_internal/components/form/Command/Command.styles.js +2 -1
  114. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +3 -3
  115. package/dist/_internal/components/form/Input/Input.js +2 -2
  116. package/dist/_internal/components/form/Label/Label.js +2 -1
  117. package/dist/_internal/components/form/Label/Label.styles.js +2 -1
  118. package/dist/_internal/components/form/Menubar/Menubar.item.js +2 -1
  119. package/dist/_internal/components/form/Menubar/Menubar.js +2 -1
  120. package/dist/_internal/components/form/Menubar/Menubar.styles.js +2 -1
  121. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +2 -1
  122. package/dist/_internal/components/form/Switch/Switch.js +5 -4
  123. package/dist/_internal/components/form/Switch/Switch.parts.js +4 -3
  124. package/dist/_internal/components/form/Switch/Switch.styles.js +3 -2
  125. package/dist/_internal/components/form/index.js +24 -23
  126. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +7 -7
  127. package/dist/_internal/components/form/total-form/Fields/CepField.js +4 -4
  128. package/dist/_internal/components/form/total-form/Fields/TextField.js +3 -3
  129. package/dist/_internal/components/form/total-form/Fields/index.js +15 -15
  130. package/dist/_internal/components/form/total-form/SubmitButton.js +5 -4
  131. package/dist/_internal/components/index.js +122 -121
  132. package/dist/_internal/components/layout/Box/Box.js +5 -4
  133. package/dist/_internal/components/layout/Card/Card.js +2 -2
  134. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +2 -2
  135. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +4 -4
  136. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +2 -2
  137. package/dist/_internal/components/layout/Skeleton/Skeleton.js +2 -2
  138. package/dist/_internal/components/layout/Stack/Stack.js +6 -5
  139. package/dist/_internal/components/layout/index.js +9 -9
  140. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +9 -8
  141. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +2 -1
  142. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +3 -3
  143. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +5 -5
  144. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
  145. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +3 -3
  146. package/dist/_internal/components/navigation/Tabs/Tabs.js +2 -2
  147. package/dist/_internal/components/navigation/index.js +18 -17
  148. package/dist/_internal/components/typography/Heading/Heading.js +5 -4
  149. package/dist/_internal/components/typography/Heading/Heading.metrics.js +3 -2
  150. package/dist/_internal/components/typography/Heading/Heading.styles.js +4 -3
  151. package/dist/_internal/components/typography/Paragraph/Paragraph.js +3 -2
  152. package/dist/_internal/components/typography/Text/Text.js +4 -3
  153. package/dist/_internal/components/typography/Text/Text.metrics.js +3 -2
  154. package/dist/_internal/components/typography/index.js +8 -7
  155. package/dist/_internal/icons/Icon.js +5 -4
  156. package/dist/_internal/provider/UiProvider.js +4 -3
  157. package/dist/_internal/provider/mui-bridge.js +3 -2
  158. package/dist/_internal/provider/use-ui-theme.js +4 -3
  159. package/dist/_internal/social-login-button/social-login-button.js +12 -11
  160. package/dist/_internal/tokens/ink-over.js +17 -0
  161. package/dist/_internal/tokens/ink-over.js.map +1 -0
  162. package/dist/_internal/tokens/theme.js +5 -3
  163. package/dist/_internal/user-avatar/user-avatar.js +13 -12
  164. package/dist/charts.js +19 -18
  165. package/dist/{chunk-Q3GSDSK2.js → chunk-236QP424.js} +2 -2
  166. package/dist/{chunk-JFRKBSWI.js → chunk-237NDIT2.js} +2 -2
  167. package/dist/chunk-2BYKTBDL.js +33 -0
  168. package/dist/chunk-2BYKTBDL.js.map +1 -0
  169. package/dist/{chunk-TQOPF7LD.js → chunk-2L2NWXWJ.js} +2 -2
  170. package/dist/{chunk-M4NFXC5R.js → chunk-2WSU6OGE.js} +5 -5
  171. package/dist/{chunk-72T5PAW7.js → chunk-3BPDHWVF.js} +9 -9
  172. package/dist/{chunk-EOHKZGOZ.js → chunk-3PUOLOEP.js} +2 -2
  173. package/dist/{chunk-ECMJ5VPW.js → chunk-3TFUAKWJ.js} +2 -2
  174. package/dist/{chunk-4ETQRBZC.js → chunk-46UPILLK.js} +4 -4
  175. package/dist/{chunk-6VHCSPKK.js → chunk-4H4Y2SX3.js} +3 -3
  176. package/dist/{chunk-L7S6N67X.js → chunk-4OSGKO7E.js} +2 -2
  177. package/dist/{chunk-UG76BO5K.js → chunk-5KFZGB5U.js} +2 -2
  178. package/dist/{chunk-FF3R67WD.js → chunk-5UC2RNOY.js} +4 -4
  179. package/dist/{chunk-EMNGIYH6.js → chunk-7TZ6OC5T.js} +5 -5
  180. package/dist/{chunk-G2JPUHEJ.js → chunk-AIBNBWQU.js} +2 -2
  181. package/dist/{chunk-QE2C35TO.js → chunk-ALAJBLBE.js} +5 -5
  182. package/dist/{chunk-E5LWJDI3.js → chunk-AROBXRC5.js} +11 -5
  183. package/dist/chunk-AROBXRC5.js.map +1 -0
  184. package/dist/{chunk-AIRWM7KK.js → chunk-AVI3XHRQ.js} +4 -4
  185. package/dist/{chunk-IE7ISTLQ.js → chunk-B443IIQG.js} +4 -4
  186. package/dist/{chunk-CKJI7JO5.js → chunk-BEWD734I.js} +2 -2
  187. package/dist/{chunk-RRX6ZTNX.js → chunk-BLT5ZBVL.js} +2 -2
  188. package/dist/{chunk-MDTSMJ7C.js → chunk-BYMWW65P.js} +3 -3
  189. package/dist/{chunk-Q3OFOOO7.js → chunk-C5EFVSBN.js} +2 -2
  190. package/dist/{chunk-Y55ILY2F.js → chunk-C5YBXQTK.js} +3 -3
  191. package/dist/{chunk-YANLN6HP.js → chunk-D6HDJVQW.js} +5 -5
  192. package/dist/{chunk-DIHVWBQV.js → chunk-DEE6IPGI.js} +32 -6
  193. package/dist/chunk-DEE6IPGI.js.map +1 -0
  194. package/dist/{chunk-ZA4U5GDU.js → chunk-DORPR2YP.js} +2 -2
  195. package/dist/{chunk-6YLAVHV4.js → chunk-DTKMBI7B.js} +4 -4
  196. package/dist/{chunk-5QUSX3TC.js → chunk-DVE53B2L.js} +7 -7
  197. package/dist/chunk-DVE53B2L.js.map +1 -0
  198. package/dist/{chunk-JXNT5TUP.js → chunk-DVEYD27F.js} +2 -2
  199. package/dist/{chunk-WZUNBSS7.js → chunk-DVUPIVI2.js} +4 -4
  200. package/dist/{chunk-CMN26J5Y.js → chunk-E6D2Y5EK.js} +2 -2
  201. package/dist/{chunk-HKB5C2KY.js → chunk-EMAX7RPN.js} +5 -5
  202. package/dist/{chunk-ZAJO2B75.js → chunk-EPRA5QLB.js} +2 -2
  203. package/dist/{chunk-ERX4XIYC.js → chunk-EUKYQXYU.js} +2 -2
  204. package/dist/{chunk-C3CMEDSO.js → chunk-EVXFEXBS.js} +2 -2
  205. package/dist/{chunk-O7HLQTB7.js → chunk-EYC6ERJJ.js} +3 -3
  206. package/dist/chunk-EYC6ERJJ.js.map +1 -0
  207. package/dist/{chunk-DYESJJ3Q.js → chunk-EZNTM6PT.js} +4 -4
  208. package/dist/{chunk-67ALTEWH.js → chunk-FGKKLHKY.js} +2 -2
  209. package/dist/{chunk-OXYR2HVK.js → chunk-FOKBP6HR.js} +10 -10
  210. package/dist/{chunk-22X7TT6Z.js → chunk-FR6AJSMT.js} +5 -5
  211. package/dist/{chunk-TUO47RL2.js → chunk-FVPN4YKW.js} +4 -4
  212. package/dist/{chunk-ZDWU52DJ.js → chunk-G5ZVD5IJ.js} +2 -2
  213. package/dist/{chunk-NPN7JTRM.js → chunk-GH2DC7PS.js} +4 -4
  214. package/dist/{chunk-77DF5LKI.js → chunk-GJUIZ5FN.js} +2 -2
  215. package/dist/{chunk-YJ4HM25H.js → chunk-GLWW2XCP.js} +2 -2
  216. package/dist/{chunk-7AIHK2XM.js → chunk-H53YNR23.js} +6 -6
  217. package/dist/{chunk-GT7C6TSM.js → chunk-HDNK7BAX.js} +3 -3
  218. package/dist/{chunk-7NEUPEV5.js → chunk-HQB5XNK5.js} +2 -2
  219. package/dist/{chunk-SZETT7QV.js → chunk-HS2OJI6L.js} +8 -8
  220. package/dist/{chunk-KZLLTOB2.js → chunk-HTZNB6IV.js} +2 -2
  221. package/dist/{chunk-NNXZ5RK5.js → chunk-IQ7WZ3RN.js} +4 -4
  222. package/dist/{chunk-7KEGJH3Q.js → chunk-IVVOIDE5.js} +3 -3
  223. package/dist/{chunk-45OHGD2B.js → chunk-J2K65BQQ.js} +4 -4
  224. package/dist/{chunk-SSWZHR46.js → chunk-J3ZP6EUS.js} +5 -5
  225. package/dist/{chunk-YPILHGEO.js → chunk-J6CSPDC7.js} +2 -2
  226. package/dist/{chunk-RRO2EOJB.js → chunk-JB67KPGM.js} +4 -4
  227. package/dist/{chunk-V5P5Q6HM.js → chunk-JOXBCXVL.js} +8 -8
  228. package/dist/{chunk-LO2B7FDQ.js → chunk-JPVDZXXX.js} +2 -2
  229. package/dist/{chunk-P7FQUGED.js → chunk-JRWPI4XF.js} +5 -5
  230. package/dist/{chunk-OVGASVPW.js → chunk-JVVTSSS4.js} +2 -2
  231. package/dist/{chunk-IASDP44E.js → chunk-K4N3V7YE.js} +4 -4
  232. package/dist/{chunk-L7LCSZ3H.js → chunk-K7DCYV5Q.js} +3 -3
  233. package/dist/{chunk-B5SW7I5W.js → chunk-L4D6YLLU.js} +2 -2
  234. package/dist/{chunk-FOF2RAVQ.js → chunk-L6TCIZFR.js} +4 -4
  235. package/dist/{chunk-7Z2AQEC5.js → chunk-LCXXPIG3.js} +2 -2
  236. package/dist/{chunk-MQPT254A.js → chunk-LSJY4LWZ.js} +4 -4
  237. package/dist/{chunk-CA7TA36R.js → chunk-MGPA6KTM.js} +2 -2
  238. package/dist/{chunk-OGHW7RQC.js → chunk-MHSTG7FF.js} +3 -3
  239. package/dist/{chunk-GQJ4NCZ6.js → chunk-MNSW33DU.js} +4 -4
  240. package/dist/{chunk-WETAIIKC.js → chunk-MRMNVGNX.js} +2 -2
  241. package/dist/{chunk-MYH7VISV.js → chunk-MSUSZLRE.js} +5 -5
  242. package/dist/{chunk-WKF54CCK.js → chunk-MVJYIHPH.js} +5 -5
  243. package/dist/{chunk-EQA4VQEO.js → chunk-NGM5XKAS.js} +2 -2
  244. package/dist/{chunk-PKFFJAQ6.js → chunk-NGVGTMHT.js} +2 -2
  245. package/dist/{chunk-3GB6KWHH.js → chunk-NUB4T3RQ.js} +2 -2
  246. package/dist/{chunk-GTLJYAEG.js → chunk-NWQWUYOV.js} +2 -2
  247. package/dist/{chunk-QXFPTRHB.js → chunk-NY2Y2SHA.js} +4 -4
  248. package/dist/{chunk-4A2Q22HO.js → chunk-O42ZA3TW.js} +3 -3
  249. package/dist/chunk-O5UGAL2V.js +15 -0
  250. package/dist/chunk-O5UGAL2V.js.map +1 -0
  251. package/dist/{chunk-DTIB5KWP.js → chunk-OJCK5RNJ.js} +3 -3
  252. package/dist/{chunk-OAWEUKUC.js → chunk-OLQDB346.js} +2 -2
  253. package/dist/{chunk-4IVOHL32.js → chunk-OP6F3NXX.js} +2 -2
  254. package/dist/{chunk-DWJBOR47.js → chunk-P3NRT6GV.js} +4 -4
  255. package/dist/{chunk-GBX5ACPF.js → chunk-PCYGUOWJ.js} +4 -4
  256. package/dist/{chunk-3PJLT5FX.js → chunk-PFZAUMJA.js} +5 -3
  257. package/dist/{chunk-3PJLT5FX.js.map → chunk-PFZAUMJA.js.map} +1 -1
  258. package/dist/{chunk-N5PY7IXI.js → chunk-PJTSGHTY.js} +2 -2
  259. package/dist/{chunk-AGYGNNOM.js → chunk-PQECNGDE.js} +2 -2
  260. package/dist/{chunk-XNOSTV5F.js → chunk-PTP3CZL4.js} +2 -2
  261. package/dist/{chunk-LGJ2H4AH.js → chunk-PVIAHB7D.js} +10 -10
  262. package/dist/{chunk-SC72DRTX.js → chunk-QGAYEBMU.js} +14 -8
  263. package/dist/chunk-QGAYEBMU.js.map +1 -0
  264. package/dist/{chunk-X5RDHO6G.js → chunk-QPDDS6DQ.js} +2 -2
  265. package/dist/{chunk-6SK3MTYJ.js → chunk-QSKJLMNS.js} +4 -4
  266. package/dist/{chunk-GYQT47YZ.js → chunk-QTZ7I6QS.js} +2 -2
  267. package/dist/{chunk-WBKWIFXA.js → chunk-QYNCPS5W.js} +6 -6
  268. package/dist/{chunk-DFLTUI7W.js → chunk-QZBUGUOY.js} +4 -4
  269. package/dist/{chunk-GOWBYHYW.js → chunk-R6SBP5M5.js} +4 -4
  270. package/dist/{chunk-FGK2C7JR.js → chunk-RVGG5YJY.js} +2 -2
  271. package/dist/{chunk-7FOOLP5H.js → chunk-RXSGHPCR.js} +4 -4
  272. package/dist/{chunk-LUMF63BM.js → chunk-SFAP5EH5.js} +4 -4
  273. package/dist/{chunk-DW6GBMLQ.js → chunk-SLMA4UQS.js} +3 -3
  274. package/dist/{chunk-QRX5BYUQ.js → chunk-SOCKK67R.js} +7 -7
  275. package/dist/{chunk-QLI7ES7Z.js → chunk-SONWG2RT.js} +5 -18
  276. package/dist/chunk-SONWG2RT.js.map +1 -0
  277. package/dist/{chunk-G76H5PEM.js → chunk-SQV3HPTZ.js} +4 -4
  278. package/dist/{chunk-IV5QQLCS.js → chunk-T2VO32Z2.js} +2 -2
  279. package/dist/{chunk-VK4ULJFH.js → chunk-T5WNNEP5.js} +2 -2
  280. package/dist/{chunk-FRW4SYZD.js → chunk-TEE6HNHS.js} +4 -4
  281. package/dist/{chunk-JD3D6Y4U.js → chunk-THOPGHTY.js} +7 -7
  282. package/dist/{chunk-2LSCK45B.js → chunk-TSEWUY4V.js} +5 -3
  283. package/dist/{chunk-2LSCK45B.js.map → chunk-TSEWUY4V.js.map} +1 -1
  284. package/dist/{chunk-65METCKT.js → chunk-TSFFZ3AH.js} +20 -19
  285. package/dist/chunk-TSFFZ3AH.js.map +1 -0
  286. package/dist/{chunk-EZ5Z5UFI.js → chunk-TTW4MAOJ.js} +5 -5
  287. package/dist/{chunk-DTC224UJ.js → chunk-TX3ZHO5R.js} +5 -5
  288. package/dist/{chunk-H3BQFEN5.js → chunk-UC6A6ASM.js} +2 -2
  289. package/dist/{chunk-GSTRPZS4.js → chunk-UKPZVX3J.js} +2 -2
  290. package/dist/{chunk-EPNCYUQ7.js → chunk-UN5INW6K.js} +4 -4
  291. package/dist/{chunk-UGL6SJN6.js → chunk-UQNB2W2I.js} +3 -3
  292. package/dist/{chunk-P7IVAMAU.js → chunk-V7F53GEO.js} +7 -7
  293. package/dist/{chunk-ZC7RQDZ5.js → chunk-VESIQYBF.js} +5 -5
  294. package/dist/{chunk-2KVQIGVE.js → chunk-VKH7AENA.js} +2 -2
  295. package/dist/{chunk-S7HRED4D.js → chunk-VLHGBFR6.js} +3 -3
  296. package/dist/{chunk-SMZBGHR2.js → chunk-VRKS5K4N.js} +5 -5
  297. package/dist/{chunk-PW2WLDX3.js → chunk-VVXA7T2M.js} +2 -2
  298. package/dist/{chunk-2SWQ6HIK.js → chunk-W3FAKT3D.js} +4 -4
  299. package/dist/{chunk-QQLGSMGE.js → chunk-W5CW7JFZ.js} +2 -2
  300. package/dist/{chunk-HOJL2GKW.js → chunk-WC3W36AM.js} +4 -4
  301. package/dist/{chunk-3VZT2FAI.js → chunk-WC5XYWTE.js} +3 -3
  302. package/dist/{chunk-RFZU5BTG.js → chunk-WYDGPJ3Z.js} +4 -4
  303. package/dist/{chunk-27BL3DNT.js → chunk-XBZ43VIV.js} +9 -9
  304. package/dist/{chunk-KOFO6QZY.js → chunk-XGOWREVV.js} +2 -2
  305. package/dist/{chunk-KAV63FBG.js → chunk-XOCLWQON.js} +3 -3
  306. package/dist/{chunk-DF2FFYZ7.js → chunk-XSJWN3WH.js} +7 -7
  307. package/dist/{chunk-DB2MAYPK.js → chunk-XV2TDULR.js} +2 -2
  308. package/dist/{chunk-4OHRZW7U.js → chunk-XXE6NTJB.js} +4 -4
  309. package/dist/{chunk-4G3FGCWX.js → chunk-XXJRT6BP.js} +2 -2
  310. package/dist/{chunk-LV4UTYAD.js → chunk-XYDW5RQB.js} +2 -2
  311. package/dist/{chunk-7VN7LFBA.js → chunk-YD77RANW.js} +5 -5
  312. package/dist/{chunk-77OXG6DH.js → chunk-YFY3YVV6.js} +7 -7
  313. package/dist/{chunk-PENJBKPH.js → chunk-YTYROOLY.js} +3 -3
  314. package/dist/data-display/Alert.js +5 -4
  315. package/dist/data-display/AsyncStateContainer.js +4 -4
  316. package/dist/data-display/Avatar.js +6 -5
  317. package/dist/data-display/Badge.js +8 -7
  318. package/dist/data-display/Banner.js +5 -4
  319. package/dist/data-display/CardKit.js +13 -12
  320. package/dist/data-display/Carousel.js +5 -4
  321. package/dist/data-display/Chart.js +19 -18
  322. package/dist/data-display/DataGrid.js +3 -3
  323. package/dist/data-display/DataViews.js +87 -85
  324. package/dist/data-display/DescriptionItem.js +5 -4
  325. package/dist/data-display/FleetMap.js +18 -17
  326. package/dist/data-display/LazyImage.js +3 -3
  327. package/dist/data-display/Lightbox.js +4 -4
  328. package/dist/data-display/LoadingState.js +3 -3
  329. package/dist/data-display/MapPreview.js +10 -10
  330. package/dist/data-display/Progress.js +5 -4
  331. package/dist/data-display/Sheet.js +4 -3
  332. package/dist/data-display/StatCard.js +3 -3
  333. package/dist/data-display/Table.js +2 -2
  334. package/dist/feedback/ConfirmAction.js +5 -4
  335. package/dist/feedback/Dialog.js +2 -2
  336. package/dist/feedback/TutorialOverlay.js +2 -2
  337. package/dist/form/AddressAutocomplete.js +6 -6
  338. package/dist/form/Button.js +4 -3
  339. package/dist/form/Calendar.js +2 -2
  340. package/dist/form/CategorySelect.js +8 -8
  341. package/dist/form/CepField.js +3 -3
  342. package/dist/form/Checkbox.js +3 -2
  343. package/dist/form/CodeEditor.js +2 -2
  344. package/dist/form/Command.js +4 -3
  345. package/dist/form/DateRangePicker.js +3 -3
  346. package/dist/form/Input.js +2 -2
  347. package/dist/form/Label.js +2 -1
  348. package/dist/form/Menubar.js +2 -1
  349. package/dist/form/Switch.js +5 -4
  350. package/dist/form/total-form.js +20 -19
  351. package/dist/icons.js +5 -4
  352. package/dist/layout/Box.js +5 -4
  353. package/dist/layout/Card.js +2 -2
  354. package/dist/layout/ContentToolbar.js +3 -3
  355. package/dist/layout/ScrollArea.js +2 -2
  356. package/dist/layout/SettingsLayout.js +6 -6
  357. package/dist/layout/Skeleton.js +2 -2
  358. package/dist/layout/Stack.js +6 -5
  359. package/dist/native/chunks/{chunk-XI7HTAVN.js → chunk-2HLEFYJ5.js} +2 -2
  360. package/dist/native/chunks/{chunk-UYREIOEM.js → chunk-6XDMYJBW.js} +2 -2
  361. package/dist/native/chunks/{chunk-6L4UZBQP.js → chunk-BEPOBULQ.js} +3 -3
  362. package/dist/native/chunks/{chunk-ZOP7UAZK.js → chunk-CO47ZRXO.js} +2 -2
  363. package/dist/native/chunks/{chunk-UII3IFLP.js → chunk-NVPXIJ2O.js} +2 -2
  364. package/dist/native/chunks/{chunk-2SBTJSQE.js → chunk-SOQVMWLQ.js} +5 -5
  365. package/dist/native/chunks/{chunk-MP3UDWTT.js → chunk-YQDDM6ZW.js} +24 -17
  366. package/dist/native/chunks/chunk-YQDDM6ZW.js.map +1 -0
  367. package/dist/native/chunks/{chunk-QEQZ5AF6.js → chunk-YXM4NR2B.js} +3 -3
  368. package/dist/native/data-display/Alert.js +3 -3
  369. package/dist/native/data-display/Avatar.js +3 -3
  370. package/dist/native/data-display/Badge.js +3 -3
  371. package/dist/native/data-display/Chip.js +3 -3
  372. package/dist/native/data-display/EmptyState.js +5 -5
  373. package/dist/native/data-display/ErrorState.js +4 -4
  374. package/dist/native/data-display/FleetMap.js +6 -6
  375. package/dist/native/data-display/LoadingState.js +2 -2
  376. package/dist/native/data-display/Progress.js +2 -2
  377. package/dist/native/feedback/Dialog.js +3 -3
  378. package/dist/native/form/Button.js +3 -3
  379. package/dist/native/form/Checkbox.js +3 -3
  380. package/dist/native/form/Input.js +3 -3
  381. package/dist/native/form/Select.js +4 -4
  382. package/dist/native/form/Switch.js +2 -2
  383. package/dist/native/icons.js +3 -3
  384. package/dist/native/layout/Box.js +3 -3
  385. package/dist/native/layout/Card.js +2 -2
  386. package/dist/native/layout/Container.js +2 -2
  387. package/dist/native/layout/Skeleton.js +3 -3
  388. package/dist/native/layout/Spacer.js +2 -2
  389. package/dist/native/layout/Stack.js +3 -3
  390. package/dist/native/provider.js +2 -2
  391. package/dist/native/tokens.js +1 -1
  392. package/dist/native/typography/Heading.js +2 -2
  393. package/dist/native/typography/Paragraph.js +2 -2
  394. package/dist/native/typography/Text.js +2 -2
  395. package/dist/navigation/AppHeader.js +11 -10
  396. package/dist/navigation/NavigationMenu.js +5 -5
  397. package/dist/navigation/Tabs.js +2 -2
  398. package/dist/provider.js +5 -4
  399. package/dist/social-login-button.js +12 -11
  400. package/dist/tokens.js +5 -3
  401. package/dist/types/components/data-display/DataGrid/DataGrid.cells.d.ts.map +1 -1
  402. package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts +10 -0
  403. package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts.map +1 -1
  404. package/dist/types/components/data-display/DataViews/DataViewsGrid.d.ts +6 -0
  405. package/dist/types/components/data-display/DataViews/DataViewsGrid.d.ts.map +1 -1
  406. package/dist/types/components/data-display/DataViews/DataViewsTableBase.d.ts +3 -0
  407. package/dist/types/components/data-display/DataViews/DataViewsTableBase.d.ts.map +1 -1
  408. package/dist/types/components/data-display/DataViews/data-views-grid-bodies.d.ts +3 -0
  409. package/dist/types/components/data-display/DataViews/data-views-grid-bodies.d.ts.map +1 -1
  410. package/dist/types/components/data-display/DataViews/data-views-grid-parts.d.ts +3 -0
  411. package/dist/types/components/data-display/DataViews/data-views-grid-parts.d.ts.map +1 -1
  412. package/dist/types/components/data-display/DataViews/data-views-row-detail.d.ts +27 -0
  413. package/dist/types/components/data-display/DataViews/data-views-row-detail.d.ts.map +1 -0
  414. package/dist/types/components/data-display/DataViews/index.d.ts +1 -0
  415. package/dist/types/components/data-display/DataViews/index.d.ts.map +1 -1
  416. package/dist/types/components/form/Switch/Switch.styles.d.ts.map +1 -1
  417. package/dist/types/tokens/ink-over.d.ts +12 -0
  418. package/dist/types/tokens/ink-over.d.ts.map +1 -0
  419. package/dist/types/tokens/theme.d.ts +2 -44
  420. package/dist/types/tokens/theme.d.ts.map +1 -1
  421. package/dist/types-native/tokens/ink-over.d.ts +12 -0
  422. package/dist/types-native/tokens/ink-over.d.ts.map +1 -0
  423. package/dist/types-native/tokens/theme.d.ts +2 -44
  424. package/dist/types-native/tokens/theme.d.ts.map +1 -1
  425. package/dist/typography/Heading.js +5 -4
  426. package/dist/typography/Paragraph.js +3 -2
  427. package/dist/typography/Text.js +4 -3
  428. package/dist/user-avatar.js +13 -12
  429. package/package.json +1 -1
  430. package/src/components/data-display/DataGrid/DataGrid.cells.tsx +23 -9
  431. package/src/components/data-display/DataGrid/DataGrid.md +8 -0
  432. package/src/components/data-display/DataGrid/DataGrid.types.ts +10 -0
  433. package/src/components/data-display/DataViews/DataViewsGrid.tsx +6 -0
  434. package/src/components/data-display/DataViews/DataViewsTableBase.tsx +3 -0
  435. package/src/components/data-display/DataViews/data-views-grid-bodies.tsx +7 -0
  436. package/src/components/data-display/DataViews/data-views-grid-parts.tsx +4 -0
  437. package/src/components/data-display/DataViews/data-views-row-detail.ts +40 -0
  438. package/src/components/data-display/DataViews/index.ts +1 -0
  439. package/src/components/form/Switch/Switch.styles.ts +29 -3
  440. package/src/tokens/ink-over.ts +142 -0
  441. package/src/tokens/theme.ts +10 -65
  442. package/dist/chunk-5QUSX3TC.js.map +0 -1
  443. package/dist/chunk-65METCKT.js.map +0 -1
  444. package/dist/chunk-DIHVWBQV.js.map +0 -1
  445. package/dist/chunk-E5LWJDI3.js.map +0 -1
  446. package/dist/chunk-O7HLQTB7.js.map +0 -1
  447. package/dist/chunk-QLI7ES7Z.js.map +0 -1
  448. package/dist/chunk-SC72DRTX.js.map +0 -1
  449. package/dist/native/chunks/chunk-MP3UDWTT.js.map +0 -1
  450. /package/dist/{chunk-Q3GSDSK2.js.map → chunk-236QP424.js.map} +0 -0
  451. /package/dist/{chunk-JFRKBSWI.js.map → chunk-237NDIT2.js.map} +0 -0
  452. /package/dist/{chunk-TQOPF7LD.js.map → chunk-2L2NWXWJ.js.map} +0 -0
  453. /package/dist/{chunk-M4NFXC5R.js.map → chunk-2WSU6OGE.js.map} +0 -0
  454. /package/dist/{chunk-72T5PAW7.js.map → chunk-3BPDHWVF.js.map} +0 -0
  455. /package/dist/{chunk-EOHKZGOZ.js.map → chunk-3PUOLOEP.js.map} +0 -0
  456. /package/dist/{chunk-ECMJ5VPW.js.map → chunk-3TFUAKWJ.js.map} +0 -0
  457. /package/dist/{chunk-4ETQRBZC.js.map → chunk-46UPILLK.js.map} +0 -0
  458. /package/dist/{chunk-6VHCSPKK.js.map → chunk-4H4Y2SX3.js.map} +0 -0
  459. /package/dist/{chunk-L7S6N67X.js.map → chunk-4OSGKO7E.js.map} +0 -0
  460. /package/dist/{chunk-UG76BO5K.js.map → chunk-5KFZGB5U.js.map} +0 -0
  461. /package/dist/{chunk-FF3R67WD.js.map → chunk-5UC2RNOY.js.map} +0 -0
  462. /package/dist/{chunk-EMNGIYH6.js.map → chunk-7TZ6OC5T.js.map} +0 -0
  463. /package/dist/{chunk-G2JPUHEJ.js.map → chunk-AIBNBWQU.js.map} +0 -0
  464. /package/dist/{chunk-QE2C35TO.js.map → chunk-ALAJBLBE.js.map} +0 -0
  465. /package/dist/{chunk-AIRWM7KK.js.map → chunk-AVI3XHRQ.js.map} +0 -0
  466. /package/dist/{chunk-IE7ISTLQ.js.map → chunk-B443IIQG.js.map} +0 -0
  467. /package/dist/{chunk-CKJI7JO5.js.map → chunk-BEWD734I.js.map} +0 -0
  468. /package/dist/{chunk-RRX6ZTNX.js.map → chunk-BLT5ZBVL.js.map} +0 -0
  469. /package/dist/{chunk-MDTSMJ7C.js.map → chunk-BYMWW65P.js.map} +0 -0
  470. /package/dist/{chunk-Q3OFOOO7.js.map → chunk-C5EFVSBN.js.map} +0 -0
  471. /package/dist/{chunk-Y55ILY2F.js.map → chunk-C5YBXQTK.js.map} +0 -0
  472. /package/dist/{chunk-YANLN6HP.js.map → chunk-D6HDJVQW.js.map} +0 -0
  473. /package/dist/{chunk-ZA4U5GDU.js.map → chunk-DORPR2YP.js.map} +0 -0
  474. /package/dist/{chunk-6YLAVHV4.js.map → chunk-DTKMBI7B.js.map} +0 -0
  475. /package/dist/{chunk-JXNT5TUP.js.map → chunk-DVEYD27F.js.map} +0 -0
  476. /package/dist/{chunk-WZUNBSS7.js.map → chunk-DVUPIVI2.js.map} +0 -0
  477. /package/dist/{chunk-CMN26J5Y.js.map → chunk-E6D2Y5EK.js.map} +0 -0
  478. /package/dist/{chunk-HKB5C2KY.js.map → chunk-EMAX7RPN.js.map} +0 -0
  479. /package/dist/{chunk-ZAJO2B75.js.map → chunk-EPRA5QLB.js.map} +0 -0
  480. /package/dist/{chunk-ERX4XIYC.js.map → chunk-EUKYQXYU.js.map} +0 -0
  481. /package/dist/{chunk-C3CMEDSO.js.map → chunk-EVXFEXBS.js.map} +0 -0
  482. /package/dist/{chunk-DYESJJ3Q.js.map → chunk-EZNTM6PT.js.map} +0 -0
  483. /package/dist/{chunk-67ALTEWH.js.map → chunk-FGKKLHKY.js.map} +0 -0
  484. /package/dist/{chunk-OXYR2HVK.js.map → chunk-FOKBP6HR.js.map} +0 -0
  485. /package/dist/{chunk-22X7TT6Z.js.map → chunk-FR6AJSMT.js.map} +0 -0
  486. /package/dist/{chunk-TUO47RL2.js.map → chunk-FVPN4YKW.js.map} +0 -0
  487. /package/dist/{chunk-ZDWU52DJ.js.map → chunk-G5ZVD5IJ.js.map} +0 -0
  488. /package/dist/{chunk-NPN7JTRM.js.map → chunk-GH2DC7PS.js.map} +0 -0
  489. /package/dist/{chunk-77DF5LKI.js.map → chunk-GJUIZ5FN.js.map} +0 -0
  490. /package/dist/{chunk-YJ4HM25H.js.map → chunk-GLWW2XCP.js.map} +0 -0
  491. /package/dist/{chunk-7AIHK2XM.js.map → chunk-H53YNR23.js.map} +0 -0
  492. /package/dist/{chunk-GT7C6TSM.js.map → chunk-HDNK7BAX.js.map} +0 -0
  493. /package/dist/{chunk-7NEUPEV5.js.map → chunk-HQB5XNK5.js.map} +0 -0
  494. /package/dist/{chunk-SZETT7QV.js.map → chunk-HS2OJI6L.js.map} +0 -0
  495. /package/dist/{chunk-KZLLTOB2.js.map → chunk-HTZNB6IV.js.map} +0 -0
  496. /package/dist/{chunk-NNXZ5RK5.js.map → chunk-IQ7WZ3RN.js.map} +0 -0
  497. /package/dist/{chunk-7KEGJH3Q.js.map → chunk-IVVOIDE5.js.map} +0 -0
  498. /package/dist/{chunk-45OHGD2B.js.map → chunk-J2K65BQQ.js.map} +0 -0
  499. /package/dist/{chunk-SSWZHR46.js.map → chunk-J3ZP6EUS.js.map} +0 -0
  500. /package/dist/{chunk-YPILHGEO.js.map → chunk-J6CSPDC7.js.map} +0 -0
  501. /package/dist/{chunk-RRO2EOJB.js.map → chunk-JB67KPGM.js.map} +0 -0
  502. /package/dist/{chunk-V5P5Q6HM.js.map → chunk-JOXBCXVL.js.map} +0 -0
  503. /package/dist/{chunk-LO2B7FDQ.js.map → chunk-JPVDZXXX.js.map} +0 -0
  504. /package/dist/{chunk-P7FQUGED.js.map → chunk-JRWPI4XF.js.map} +0 -0
  505. /package/dist/{chunk-OVGASVPW.js.map → chunk-JVVTSSS4.js.map} +0 -0
  506. /package/dist/{chunk-IASDP44E.js.map → chunk-K4N3V7YE.js.map} +0 -0
  507. /package/dist/{chunk-L7LCSZ3H.js.map → chunk-K7DCYV5Q.js.map} +0 -0
  508. /package/dist/{chunk-B5SW7I5W.js.map → chunk-L4D6YLLU.js.map} +0 -0
  509. /package/dist/{chunk-FOF2RAVQ.js.map → chunk-L6TCIZFR.js.map} +0 -0
  510. /package/dist/{chunk-7Z2AQEC5.js.map → chunk-LCXXPIG3.js.map} +0 -0
  511. /package/dist/{chunk-MQPT254A.js.map → chunk-LSJY4LWZ.js.map} +0 -0
  512. /package/dist/{chunk-CA7TA36R.js.map → chunk-MGPA6KTM.js.map} +0 -0
  513. /package/dist/{chunk-OGHW7RQC.js.map → chunk-MHSTG7FF.js.map} +0 -0
  514. /package/dist/{chunk-GQJ4NCZ6.js.map → chunk-MNSW33DU.js.map} +0 -0
  515. /package/dist/{chunk-WETAIIKC.js.map → chunk-MRMNVGNX.js.map} +0 -0
  516. /package/dist/{chunk-MYH7VISV.js.map → chunk-MSUSZLRE.js.map} +0 -0
  517. /package/dist/{chunk-WKF54CCK.js.map → chunk-MVJYIHPH.js.map} +0 -0
  518. /package/dist/{chunk-EQA4VQEO.js.map → chunk-NGM5XKAS.js.map} +0 -0
  519. /package/dist/{chunk-PKFFJAQ6.js.map → chunk-NGVGTMHT.js.map} +0 -0
  520. /package/dist/{chunk-3GB6KWHH.js.map → chunk-NUB4T3RQ.js.map} +0 -0
  521. /package/dist/{chunk-GTLJYAEG.js.map → chunk-NWQWUYOV.js.map} +0 -0
  522. /package/dist/{chunk-QXFPTRHB.js.map → chunk-NY2Y2SHA.js.map} +0 -0
  523. /package/dist/{chunk-4A2Q22HO.js.map → chunk-O42ZA3TW.js.map} +0 -0
  524. /package/dist/{chunk-DTIB5KWP.js.map → chunk-OJCK5RNJ.js.map} +0 -0
  525. /package/dist/{chunk-OAWEUKUC.js.map → chunk-OLQDB346.js.map} +0 -0
  526. /package/dist/{chunk-4IVOHL32.js.map → chunk-OP6F3NXX.js.map} +0 -0
  527. /package/dist/{chunk-DWJBOR47.js.map → chunk-P3NRT6GV.js.map} +0 -0
  528. /package/dist/{chunk-GBX5ACPF.js.map → chunk-PCYGUOWJ.js.map} +0 -0
  529. /package/dist/{chunk-N5PY7IXI.js.map → chunk-PJTSGHTY.js.map} +0 -0
  530. /package/dist/{chunk-AGYGNNOM.js.map → chunk-PQECNGDE.js.map} +0 -0
  531. /package/dist/{chunk-XNOSTV5F.js.map → chunk-PTP3CZL4.js.map} +0 -0
  532. /package/dist/{chunk-LGJ2H4AH.js.map → chunk-PVIAHB7D.js.map} +0 -0
  533. /package/dist/{chunk-X5RDHO6G.js.map → chunk-QPDDS6DQ.js.map} +0 -0
  534. /package/dist/{chunk-6SK3MTYJ.js.map → chunk-QSKJLMNS.js.map} +0 -0
  535. /package/dist/{chunk-GYQT47YZ.js.map → chunk-QTZ7I6QS.js.map} +0 -0
  536. /package/dist/{chunk-WBKWIFXA.js.map → chunk-QYNCPS5W.js.map} +0 -0
  537. /package/dist/{chunk-DFLTUI7W.js.map → chunk-QZBUGUOY.js.map} +0 -0
  538. /package/dist/{chunk-GOWBYHYW.js.map → chunk-R6SBP5M5.js.map} +0 -0
  539. /package/dist/{chunk-FGK2C7JR.js.map → chunk-RVGG5YJY.js.map} +0 -0
  540. /package/dist/{chunk-7FOOLP5H.js.map → chunk-RXSGHPCR.js.map} +0 -0
  541. /package/dist/{chunk-LUMF63BM.js.map → chunk-SFAP5EH5.js.map} +0 -0
  542. /package/dist/{chunk-DW6GBMLQ.js.map → chunk-SLMA4UQS.js.map} +0 -0
  543. /package/dist/{chunk-QRX5BYUQ.js.map → chunk-SOCKK67R.js.map} +0 -0
  544. /package/dist/{chunk-G76H5PEM.js.map → chunk-SQV3HPTZ.js.map} +0 -0
  545. /package/dist/{chunk-IV5QQLCS.js.map → chunk-T2VO32Z2.js.map} +0 -0
  546. /package/dist/{chunk-VK4ULJFH.js.map → chunk-T5WNNEP5.js.map} +0 -0
  547. /package/dist/{chunk-FRW4SYZD.js.map → chunk-TEE6HNHS.js.map} +0 -0
  548. /package/dist/{chunk-JD3D6Y4U.js.map → chunk-THOPGHTY.js.map} +0 -0
  549. /package/dist/{chunk-EZ5Z5UFI.js.map → chunk-TTW4MAOJ.js.map} +0 -0
  550. /package/dist/{chunk-DTC224UJ.js.map → chunk-TX3ZHO5R.js.map} +0 -0
  551. /package/dist/{chunk-H3BQFEN5.js.map → chunk-UC6A6ASM.js.map} +0 -0
  552. /package/dist/{chunk-GSTRPZS4.js.map → chunk-UKPZVX3J.js.map} +0 -0
  553. /package/dist/{chunk-EPNCYUQ7.js.map → chunk-UN5INW6K.js.map} +0 -0
  554. /package/dist/{chunk-UGL6SJN6.js.map → chunk-UQNB2W2I.js.map} +0 -0
  555. /package/dist/{chunk-P7IVAMAU.js.map → chunk-V7F53GEO.js.map} +0 -0
  556. /package/dist/{chunk-ZC7RQDZ5.js.map → chunk-VESIQYBF.js.map} +0 -0
  557. /package/dist/{chunk-2KVQIGVE.js.map → chunk-VKH7AENA.js.map} +0 -0
  558. /package/dist/{chunk-S7HRED4D.js.map → chunk-VLHGBFR6.js.map} +0 -0
  559. /package/dist/{chunk-SMZBGHR2.js.map → chunk-VRKS5K4N.js.map} +0 -0
  560. /package/dist/{chunk-PW2WLDX3.js.map → chunk-VVXA7T2M.js.map} +0 -0
  561. /package/dist/{chunk-2SWQ6HIK.js.map → chunk-W3FAKT3D.js.map} +0 -0
  562. /package/dist/{chunk-QQLGSMGE.js.map → chunk-W5CW7JFZ.js.map} +0 -0
  563. /package/dist/{chunk-HOJL2GKW.js.map → chunk-WC3W36AM.js.map} +0 -0
  564. /package/dist/{chunk-3VZT2FAI.js.map → chunk-WC5XYWTE.js.map} +0 -0
  565. /package/dist/{chunk-RFZU5BTG.js.map → chunk-WYDGPJ3Z.js.map} +0 -0
  566. /package/dist/{chunk-27BL3DNT.js.map → chunk-XBZ43VIV.js.map} +0 -0
  567. /package/dist/{chunk-KOFO6QZY.js.map → chunk-XGOWREVV.js.map} +0 -0
  568. /package/dist/{chunk-KAV63FBG.js.map → chunk-XOCLWQON.js.map} +0 -0
  569. /package/dist/{chunk-DF2FFYZ7.js.map → chunk-XSJWN3WH.js.map} +0 -0
  570. /package/dist/{chunk-DB2MAYPK.js.map → chunk-XV2TDULR.js.map} +0 -0
  571. /package/dist/{chunk-4OHRZW7U.js.map → chunk-XXE6NTJB.js.map} +0 -0
  572. /package/dist/{chunk-4G3FGCWX.js.map → chunk-XXJRT6BP.js.map} +0 -0
  573. /package/dist/{chunk-LV4UTYAD.js.map → chunk-XYDW5RQB.js.map} +0 -0
  574. /package/dist/{chunk-7VN7LFBA.js.map → chunk-YD77RANW.js.map} +0 -0
  575. /package/dist/{chunk-77OXG6DH.js.map → chunk-YFY3YVV6.js.map} +0 -0
  576. /package/dist/{chunk-PENJBKPH.js.map → chunk-YTYROOLY.js.map} +0 -0
  577. /package/dist/native/chunks/{chunk-XI7HTAVN.js.map → chunk-2HLEFYJ5.js.map} +0 -0
  578. /package/dist/native/chunks/{chunk-UYREIOEM.js.map → chunk-6XDMYJBW.js.map} +0 -0
  579. /package/dist/native/chunks/{chunk-6L4UZBQP.js.map → chunk-BEPOBULQ.js.map} +0 -0
  580. /package/dist/native/chunks/{chunk-ZOP7UAZK.js.map → chunk-CO47ZRXO.js.map} +0 -0
  581. /package/dist/native/chunks/{chunk-UII3IFLP.js.map → chunk-NVPXIJ2O.js.map} +0 -0
  582. /package/dist/native/chunks/{chunk-2SBTJSQE.js.map → chunk-SOQVMWLQ.js.map} +0 -0
  583. /package/dist/native/chunks/{chunk-QEQZ5AF6.js.map → chunk-YXM4NR2B.js.map} +0 -0
@@ -36,9 +36,11 @@ import {
36
36
  trackColor
37
37
  } from "./chunk-3W2IS5RH.js";
38
38
  import {
39
- inkOver,
40
39
  px
41
- } from "./chunk-QLI7ES7Z.js";
40
+ } from "./chunk-SONWG2RT.js";
41
+ import {
42
+ inkOver
43
+ } from "./chunk-2BYKTBDL.js";
42
44
 
43
45
  // src/components/form/Switch/Switch.styles.ts
44
46
  import { alpha } from "@mui/material/styles/index.js";
@@ -126,9 +128,33 @@ var switchBaseSx = (theme, flags, palette, geometry, look) => {
126
128
  color: checkedInk(flags, palette),
127
129
  "& .MuiSwitch-thumb": {
128
130
  animation: flags.loading ? "none" : `${bounceAnimation} ${seconds(SWITCH_TRANSITION.ms)} ease-out`,
129
- // `glass` draws its own translucent thumb and means to show the track
130
- // through it, so it keeps the fill it chose.
131
- ...flags.glass ? {} : { backgroundColor: checkedInk(flags, palette) }
131
+ /*
132
+ GLASS KEEPS ITS WASH AND GAINS AN OUTLINE (FUT-2067).
133
+
134
+ It used to keep the wash and nothing else, on the argument that a
135
+ translucent thumb MEANS to show the track through itself, so painting
136
+ it opaque would be repainting the variant rather than fixing it. The
137
+ first half of that is still true and this still does not touch the
138
+ fill. The second half was doing more work than the number supports:
139
+ `SWITCH_GLASS.thumbAlpha` is **0.9**, so nine parts in ten of the knob
140
+ are `background.paper` and one part is the track. On a pale brand that
141
+ composites to within about 1.1:1 of the bar it is sitting on — the
142
+ same "reads as OFF while it is on" state FUT-1924 exists for, in the
143
+ one variant whose own argument points AT the tenant-controlled
144
+ surface.
145
+
146
+ So the separation moves to the EDGE, which is the thing a glass
147
+ surface is allowed to have. The colour is {@link checkedInk} — the
148
+ same derivation the opaque thumb gets, so there is one rule for "what
149
+ reads on this track" rather than two — at full strength rather than
150
+ the `divider` hairline at `borderAlpha` 0.2 the resting thumb wears,
151
+ which on a pale track is not an outline at all.
152
+
153
+ Checked only. The resting track is `action.disabled` washed over the
154
+ page, which no tenant chooses, so the quiet hairline stays right
155
+ there — the same split {@link checkedInk}'s own docblock makes.
156
+ */
157
+ ...flags.glass ? { borderColor: checkedInk(flags, palette) } : { backgroundColor: checkedInk(flags, palette) }
132
158
  },
133
159
  "& + .MuiSwitch-track": checkedTrack(flags, palette),
134
160
  "&.Mui-disabled + .MuiSwitch-track": { opacity: DISABLED.checkedTrackOpacity },
@@ -266,4 +292,4 @@ export {
266
292
  onTrackInk,
267
293
  switchSx
268
294
  };
269
- //# sourceMappingURL=chunk-DIHVWBQV.js.map
295
+ //# sourceMappingURL=chunk-DEE6IPGI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/Switch/Switch.styles.ts"],"sourcesContent":["import { alpha } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\n\nimport {\n bounceAnimation,\n glowAnimation,\n pulseAnimation,\n rippleAnimation,\n shimmerAnimation,\n spinAnimation,\n} from './Switch.animations';\nimport {\n DISABLED,\n IOS_BASE_OFFSET,\n IOS_THUMB_SHADOW,\n IOS_TRAVEL_INSET,\n SWITCH_GLASS,\n SWITCH_GLOW,\n NEUTRAL_CONTRAST,\n NEUTRAL_FALLBACK,\n NEUTRAL_GREY,\n SWITCH_FOCUS_RING,\n SWITCH_GRADIENT,\n SWITCH_HOVER,\n SWITCH_PULSE,\n SWITCH_RIPPLE,\n SWITCH_SPINNER,\n SWITCH_TRANSITION,\n RESTING_THUMB,\n THUMB_ELEVATION,\n THUMB_RADIUS,\n TRACK_LABEL,\n TRACK_RADIUS,\n geometryOf,\n iosTrackShadow,\n lookOf,\n seconds,\n showsTrackLabels,\n trackColor,\n type SwitchGeometry,\n type SwitchLook,\n} from './Switch.metrics';\nimport type { SwitchVariant } from './Switch.base';\n\nimport { inkOver, px } from '../../../tokens/theme';\nimport type { ColorValue, SizeValue } from '../../../tokens/vocabulary';\n\n// Every number below comes from `./Switch.metrics`, which the native renderer\n// reads too — see its header. The palette and the shadows stay on the MUI\n// theme so a host that re-themes either keeps moving the web.\ninterface ColorPalette {\n main: string;\n dark?: string;\n light?: string;\n contrastText?: string;\n}\n\n/** `neutral` is not a MUI palette entry, so it is built from the grey ramp. */\nconst neutralPalette = (theme: Theme): ColorPalette => ({\n main: theme.palette.grey?.[NEUTRAL_GREY.main] || NEUTRAL_FALLBACK.main,\n dark: theme.palette.grey?.[NEUTRAL_GREY.dark] || NEUTRAL_FALLBACK.dark,\n light: theme.palette.grey?.[NEUTRAL_GREY.light] || NEUTRAL_FALLBACK.light,\n contrastText: NEUTRAL_CONTRAST,\n});\n\n/**\n * Resolves a colour name to a full palette, filling any step the theme leaves\n * out from `main` and then from the primary palette. `danger` is this\n * component's name for the error palette; the rest map straight through.\n */\nconst getColorFromTheme = (theme: Theme, color: string): ColorPalette => {\n if (color === 'neutral') {\n return neutralPalette(theme);\n }\n\n const colorMap: Record<string, ColorPalette | undefined> = {\n primary: theme.palette.primary,\n secondary: theme.palette.secondary,\n success: theme.palette.success,\n warning: theme.palette.warning,\n info: theme.palette.info,\n danger: theme.palette.error,\n };\n const palette = colorMap[color] ?? theme.palette.primary;\n const { primary } = theme.palette;\n\n return {\n main: palette.main || primary.main,\n dark: palette.dark || palette.main || primary.dark,\n light: palette.light || palette.main || primary.light,\n contrastText: palette.contrastText || NEUTRAL_CONTRAST,\n };\n};\n\nexport interface SwitchFlags {\n customVariant?: SwitchVariant;\n customColor?: ColorValue;\n customSize?: SizeValue;\n glow?: boolean;\n glass?: boolean;\n gradient?: boolean;\n trackWidth?: number;\n trackHeight?: number;\n onText?: string;\n offText?: string;\n loading?: boolean;\n ripple?: boolean;\n pulse?: boolean;\n}\n\nconst thumbShadow = (theme: Theme, look: SwitchLook): string =>\n look === 'ios' ? IOS_THUMB_SHADOW : (theme.shadows[THUMB_ELEVATION[look]] ?? 'none');\n\n/** The ripple that expands from the thumb on hover. */\nconst rippleOverlay = (palette: ColorPalette): CSSObject => ({\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: '50%',\n width: '100%',\n height: '100%',\n borderRadius: '50%',\n background: alpha(palette.main, SWITCH_RIPPLE.alpha),\n animation: `${rippleAnimation} ${seconds(SWITCH_RIPPLE.ms)} ease-out`,\n transform: 'translate(-50%, -50%)',\n pointerEvents: 'none',\n});\n\n/**\n * The ink on the CHECKED track — the thumb, the `on` wording and any on-icon\n * (FUT-1924).\n *\n * All three stated `#fff`, and the checked track is `palette.main`: the one\n * surface in this component the TENANT picks. A store with a pale brand got a\n * white thumb on a pale green bar, which does not read as a knob at all — the\n * switch looks OFF while it is on, so this is a state a user misreads rather\n * than a colour they dislike.\n *\n * The `gradient` flag paints the track `light → main → dark`, so the fills the\n * thumb travels over are handed over together and {@link inkOver} takes the\n * worst of them.\n *\n * The RESTING track is not here on purpose: it is `theme.palette.action.disabled`\n * washed over the page, which no tenant chooses, and a white thumb on it is the\n * conventional look in both modes.\n */\nconst checkedInk = (flags: SwitchFlags, palette: ColorPalette): string => {\n const fills = flags.gradient\n ? [palette.light || palette.main, palette.main, palette.dark || palette.main]\n : [palette.main];\n\n return inkOver(fills, palette.contrastText || NEUTRAL_CONTRAST);\n};\n\n/** The checked track: the filled bar behind the thumb once the switch is on. */\nconst checkedTrack = (flags: SwitchFlags, palette: ColorPalette): CSSObject => ({\n backgroundColor: palette.main,\n opacity: 1,\n border: 0,\n position: 'relative',\n overflow: 'hidden',\n ...(flags.glow && {\n animation: `${glowAnimation} ${seconds(SWITCH_GLOW.ms)} ease-in-out infinite`,\n boxShadow: `0 0 ${SWITCH_GLOW.blur}px ${alpha(palette.main, SWITCH_GLOW.alpha)}, inset 0 0 ${SWITCH_GLOW.insetBlur}px ${alpha(palette.main, SWITCH_GLOW.insetAlpha)}`,\n }),\n ...(flags.gradient && {\n background: `linear-gradient(${SWITCH_GRADIENT.checked.angleDeg}deg, ${palette.light || palette.main} ${SWITCH_GRADIENT.checked.stops[0]}%, ${palette.main} ${SWITCH_GRADIENT.checked.stops[1]}%, ${palette.dark || palette.main} ${SWITCH_GRADIENT.checked.stops[2]}%)`,\n backgroundSize: '200% 100%',\n animation: `${shimmerAnimation} ${seconds(SWITCH_GRADIENT.shimmerMs)} ease infinite`,\n }),\n});\n\nconst switchBaseSx = (\n theme: Theme,\n flags: SwitchFlags,\n palette: ColorPalette,\n geometry: SwitchGeometry,\n look: SwitchLook,\n): CSSObject => {\n const { width, thumbSize, padding } = geometry;\n const isIos = look === 'ios';\n\n return {\n padding,\n margin: 0,\n transitionDuration: `${SWITCH_TRANSITION.ms}ms`,\n transitionTimingFunction: SWITCH_TRANSITION.easing,\n ...(isIos && { transform: `translateX(${IOS_BASE_OFFSET}px)` }),\n '&:hover': {\n '& .MuiSwitch-thumb': {\n transform: flags.loading ? 'none' : `scale(${SWITCH_HOVER.thumbScale})`,\n boxShadow: `${theme.shadows[SWITCH_HOVER.elevation]}, 0 0 ${SWITCH_HOVER.blur}px ${alpha(palette.main, SWITCH_HOVER.alpha)}`,\n },\n ...(flags.ripple && { '&::after': rippleOverlay(palette) }),\n },\n '&.Mui-checked': {\n // The thumb travels the track minus its own width and both paddings; the\n // iOS look insets differently, so it gets its own distance.\n transform: `translateX(${width - thumbSize - padding * 2}px)`,\n color: checkedInk(flags, palette),\n '& .MuiSwitch-thumb': {\n animation: flags.loading ? 'none' : `${bounceAnimation} ${seconds(SWITCH_TRANSITION.ms)} ease-out`,\n /*\n GLASS KEEPS ITS WASH AND GAINS AN OUTLINE (FUT-2067).\n\n It used to keep the wash and nothing else, on the argument that a\n translucent thumb MEANS to show the track through itself, so painting\n it opaque would be repainting the variant rather than fixing it. The\n first half of that is still true and this still does not touch the\n fill. The second half was doing more work than the number supports:\n `SWITCH_GLASS.thumbAlpha` is **0.9**, so nine parts in ten of the knob\n are `background.paper` and one part is the track. On a pale brand that\n composites to within about 1.1:1 of the bar it is sitting on — the\n same \"reads as OFF while it is on\" state FUT-1924 exists for, in the\n one variant whose own argument points AT the tenant-controlled\n surface.\n\n So the separation moves to the EDGE, which is the thing a glass\n surface is allowed to have. The colour is {@link checkedInk} — the\n same derivation the opaque thumb gets, so there is one rule for \"what\n reads on this track\" rather than two — at full strength rather than\n the `divider` hairline at `borderAlpha` 0.2 the resting thumb wears,\n which on a pale track is not an outline at all.\n\n Checked only. The resting track is `action.disabled` washed over the\n page, which no tenant chooses, so the quiet hairline stays right\n there — the same split {@link checkedInk}'s own docblock makes.\n */\n ...(flags.glass\n ? { borderColor: checkedInk(flags, palette) }\n : { backgroundColor: checkedInk(flags, palette) }),\n },\n '& + .MuiSwitch-track': checkedTrack(flags, palette),\n '&.Mui-disabled + .MuiSwitch-track': { opacity: DISABLED.checkedTrackOpacity },\n ...(isIos && { transform: `translateX(${width - thumbSize - IOS_TRAVEL_INSET}px)` }),\n },\n '&.Mui-focusVisible .MuiSwitch-thumb': {\n color: palette.main,\n border: `${SWITCH_FOCUS_RING.width}px solid ${alpha(palette.main, SWITCH_FOCUS_RING.alpha)}`,\n },\n '&.Mui-disabled .MuiSwitch-thumb': { color: theme.palette.grey[DISABLED.thumbGrey] },\n '&.Mui-disabled + .MuiSwitch-track': { opacity: DISABLED.trackOpacity },\n };\n};\n\nconst thumbSx = (\n theme: Theme,\n flags: SwitchFlags,\n palette: ColorPalette,\n thumbSize: number,\n look: SwitchLook,\n): CSSObject => ({\n width: thumbSize,\n height: thumbSize,\n borderRadius: THUMB_RADIUS[look](thumbSize),\n // `.Mui-checked` above replaces this for the brand-filled track; see\n // {@link RESTING_THUMB} for why the resting one stays white.\n backgroundColor: RESTING_THUMB,\n boxShadow: thumbShadow(theme, look),\n transition: `all ${seconds(SWITCH_TRANSITION.ms)} ${SWITCH_TRANSITION.easing}`,\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n ...(flags.glass && {\n backgroundColor: alpha(theme.palette.background.paper, SWITCH_GLASS.thumbAlpha),\n backdropFilter: `blur(${SWITCH_GLASS.thumbBlur}px)`,\n border: `1px solid ${alpha(theme.palette.divider, SWITCH_GLASS.borderAlpha)}`,\n }),\n ...(flags.pulse && { animation: `${pulseAnimation} ${seconds(SWITCH_PULSE.ms)} ease-in-out infinite` }),\n ...(flags.loading && {\n // A spinner drawn inside the thumb rather than over the whole control.\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n width: thumbSize * SWITCH_SPINNER.sizeRatio,\n height: thumbSize * SWITCH_SPINNER.sizeRatio,\n border: `${SWITCH_SPINNER.borderWidth}px solid ${palette.main}`,\n borderTop: `${SWITCH_SPINNER.borderWidth}px solid transparent`,\n borderRadius: '50%',\n animation: `${spinAnimation} ${seconds(SWITCH_SPINNER.ms)} linear infinite`,\n },\n }),\n ...(look === 'material' && {\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n width: '100%',\n height: '100%',\n borderRadius: 'inherit',\n backgroundColor: palette.main,\n opacity: 0,\n transform: 'scale(0)',\n transition: 'all 0.3s ease',\n },\n }),\n});\n\n/** The on/off wording the `label` variant prints inside the track. */\nconst trackLabels = (\n theme: Theme,\n flags: SwitchFlags,\n palette: ColorPalette,\n onText?: string,\n offText?: string,\n): CSSObject => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingLeft: theme.spacing(TRACK_LABEL.insetUnits),\n paddingRight: theme.spacing(TRACK_LABEL.insetUnits),\n fontSize: px(TRACK_LABEL.fontSize),\n fontWeight: TRACK_LABEL.fontWeight,\n color: theme.palette.text.secondary,\n '&::before, &::after': {\n content: '\"\"',\n position: 'absolute',\n fontSize: px(TRACK_LABEL.fontSize),\n fontWeight: TRACK_LABEL.fontWeight,\n top: '50%',\n transform: 'translateY(-50%)',\n zIndex: 1,\n },\n ...(onText && {\n '&::before': {\n content: `\"${onText}\"`,\n left: theme.spacing(TRACK_LABEL.insetUnits),\n // The `on` word sits at the end the thumb travels TO, which is the\n // filled half of the track once checked.\n color: checkedInk(flags, palette),\n },\n }),\n ...(offText && {\n '&::after': {\n content: `\"${offText}\"`,\n right: theme.spacing(TRACK_LABEL.insetUnits),\n color: theme.palette.text.secondary,\n },\n }),\n});\n\nconst trackSx = (\n theme: Theme,\n flags: SwitchFlags,\n palette: ColorPalette,\n height: number,\n look: SwitchLook,\n): CSSObject => {\n const { glass, gradient, onText, offText, customVariant } = flags;\n\n return {\n borderRadius: TRACK_RADIUS[look](height),\n backgroundColor: trackColor(\n { black: theme.palette.common.black, disabled: theme.palette.action.disabled },\n look,\n ),\n opacity: 1,\n transition: `all ${seconds(SWITCH_TRANSITION.ms)} ${SWITCH_TRANSITION.easing}`,\n position: 'relative',\n boxShadow: look === 'ios' ? iosTrackShadow() : 'none',\n ...(glass && {\n backgroundColor: alpha(theme.palette.background.paper, SWITCH_GLASS.trackAlpha),\n backdropFilter: `blur(${SWITCH_GLASS.trackBlur}px)`,\n border: `1px solid ${alpha(theme.palette.divider, SWITCH_GLASS.borderAlpha)}`,\n }),\n ...(gradient &&\n !glass && {\n background: `linear-gradient(${SWITCH_GRADIENT.resting.angleDeg}deg, ${alpha(palette.light || palette.main, SWITCH_GRADIENT.resting.lightAlpha)}, ${alpha(palette.main, SWITCH_GRADIENT.resting.mainAlpha)})`,\n }),\n ...(showsTrackLabels(customVariant, onText, offText) &&\n trackLabels(theme, flags, palette, onText, offText)),\n };\n};\n\n/**\n * The same checked-track ink, for the two ICONS the control overlays on the\n * track — which are drawn as components rather than styles, so they cannot\n * reach {@link checkedInk} directly.\n */\nexport const onTrackInk = (theme: Theme, flags: SwitchFlags): string =>\n checkedInk(flags, getColorFromTheme(theme, flags.customColor ?? 'primary'));\n\nexport const switchSx = (theme: Theme, flags: SwitchFlags): CSSObject => {\n const palette = getColorFromTheme(theme, flags.customColor ?? 'primary');\n const geometry = geometryOf(flags.customSize, flags.trackWidth, flags.trackHeight);\n const look = lookOf(flags.customVariant);\n\n return {\n width: geometry.width,\n height: geometry.height,\n padding: 0,\n overflow: 'visible',\n '& .MuiSwitch-switchBase': switchBaseSx(theme, flags, palette, geometry, look),\n '& .MuiSwitch-thumb': thumbSx(theme, flags, palette, geometry.thumbSize, look),\n '& .MuiSwitch-track': trackSx(theme, flags, palette, geometry.height, look),\n };\n};\n"],"mappings":"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","names":[]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-JIKWZDNK.js";
4
4
  import {
5
5
  LoadingState
6
- } from "./chunk-JXNT5TUP.js";
6
+ } from "./chunk-DVEYD27F.js";
7
7
  import {
8
8
  EmptyState
9
9
  } from "./chunk-25R3ITGZ.js";
@@ -65,4 +65,4 @@ export {
65
65
  AsyncStateContainer,
66
66
  AsyncStateContainer_default
67
67
  };
68
- //# sourceMappingURL=chunk-ZA4U5GDU.js.map
68
+ //# sourceMappingURL=chunk-DORPR2YP.js.map
@@ -1,12 +1,12 @@
1
+ import {
2
+ resolveScrollAreaProps
3
+ } from "./chunk-RHIDWUK7.js";
1
4
  import {
2
5
  ScrollViewport
3
6
  } from "./chunk-C53C7C2X.js";
4
7
  import {
5
8
  ScrollAreaContent
6
9
  } from "./chunk-4OEKIFBC.js";
7
- import {
8
- resolveScrollAreaProps
9
- } from "./chunk-RHIDWUK7.js";
10
10
 
11
11
  // src/components/layout/ScrollArea/ScrollArea.tsx
12
12
  import KeyboardArrowUp from "@mui/icons-material/KeyboardArrowUp";
@@ -237,4 +237,4 @@ var ScrollArea = (componentProps) => {
237
237
  export {
238
238
  ScrollArea
239
239
  };
240
- //# sourceMappingURL=chunk-6YLAVHV4.js.map
240
+ //# sourceMappingURL=chunk-DTKMBI7B.js.map
@@ -1,19 +1,19 @@
1
- import {
2
- DeleteViewDialog
3
- } from "./chunk-GQJ4NCZ6.js";
4
1
  import {
5
2
  DataViewsGrid
6
- } from "./chunk-O7HLQTB7.js";
3
+ } from "./chunk-EYC6ERJJ.js";
4
+ import {
5
+ DeleteViewDialog
6
+ } from "./chunk-MNSW33DU.js";
7
7
  import {
8
8
  viewStateKey
9
9
  } from "./chunk-ZOLAYP2D.js";
10
10
  import {
11
11
  ViewDialogs,
12
12
  ViewMutationErrorAlert
13
- } from "./chunk-MQPT254A.js";
13
+ } from "./chunk-LSJY4LWZ.js";
14
14
  import {
15
15
  useSavedViewsController
16
- } from "./chunk-IASDP44E.js";
16
+ } from "./chunk-K4N3V7YE.js";
17
17
 
18
18
  // src/components/data-display/DataViews/DataViewsTableBase.tsx
19
19
  import { useEffect, useMemo, useRef, useState } from "react";
@@ -178,4 +178,4 @@ function renderViewDialogs(ctl, fields, columns, views, testIdPrefix, onSaved) {
178
178
  export {
179
179
  DataViewsTableBase
180
180
  };
181
- //# sourceMappingURL=chunk-5QUSX3TC.js.map
181
+ //# sourceMappingURL=chunk-DVE53B2L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/DataViews/DataViewsTableBase.tsx"],"sourcesContent":["\"use client\";\n\nimport type { SortFieldDefinition } from \"../../layout/ContentToolbar\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { DataViewsGrid } from \"./DataViewsGrid\";\nimport type { SelectionExtraRender } from \"./data-views-selection-extra\";\nimport type { ListGroupConfig } from \"./list-card-rails\";\nimport type { DisplayPanelView } from \"./data-views-display-panel\";\nimport { viewStateKey } from \"./data-views-dirty\";\nimport { DeleteViewDialog } from \"./DeleteViewDialog\";\nimport type { BoardConfig } from \"./DataViewsBoard\";\nimport type { DataViewExport } from \"./data-views-export\";\nimport type { ScopeConfig } from \"./data-views-scopes\";\nimport type { DataViewRowDetail } from \"./data-views-row-detail\";\nimport { ViewDialogs, ViewMutationErrorAlert } from \"./data-views-table-parts\";\nimport {\n useSavedViewsController,\n type SavedViewsController,\n} from \"./use-saved-views-controller\";\nimport {\n type DataViewColumn,\n type DataViewsLayout,\n type DataViewServer,\n type DataViewState,\n type DataViewSyncState,\n type DataViewPersistence,\n type DataViewRouter,\n type FilterFieldConfig,\n type RangeFieldConfig,\n type DataViewCardSelection,\n type RowAction,\n type SavedViewSummary,\n} from \"./data-views-types\";\n\nexport interface DataViewsTableBaseProps<T extends Record<string, unknown>> {\n /** The applied-view id read from the URL (`?view=`) on load, or null. */\n initialViewId?: string | null;\n /** Injected saved-view persistence (create/update/delete). */\n persistence: DataViewPersistence;\n /** Injected router side-effects (URL sync + refresh). */\n router: DataViewRouter;\n rows: T[];\n columns: DataViewColumn<T>[];\n fields: FilterFieldConfig<T>[];\n /** Optional numeric min/max range filters (advanced \"filter by amount\"). */\n rangeFields?: RangeFieldConfig<T>[];\n getRowId: (row: T) => string | number;\n onRowClick?: (row: T) => void;\n emptyState?: React.ReactNode;\n dataTestId?: string;\n testIdPrefix?: string;\n /** The user's + shared views for this table (from the server). */\n views: SavedViewSummary[];\n /** Big page title in the table header, beside the funnel + gear (GTA layout). */\n title?: string;\n /** Primary page actions (e.g. \"Novo produto\") rendered at the header's right. */\n headerActions?: React.ReactNode;\n /** Sort options for the toolbar's \"Sort By\" dropdown (defaults to sortable columns). */\n sortFields?: SortFieldDefinition[];\n /**\n * Per-sort-field VALUE KIND (`\"currency\" | \"number\" | \"date\" | \"text\"`), so the\n * Exibir panel phrases the direction in that column's own terms. \"Crescente\"\n * on a currency column is a puzzle; \"Menor → maior\" is not. Defaults to text.\n */\n sortKinds?: Record<string, string>;\n /**\n * Opt-in \"Exportar\" control. The grid hands the host the current query,\n * UNPAGINATED, and the host re-queries — the grid never fetches, and an\n * export therefore follows the filters rather than the loaded page.\n */\n exportConfig?: DataViewExport;\n /** Notified with the currently-visible (filtered) rows, so Export matches the view. */\n onVisibleRowsChange?: (rows: T[]) => void;\n /** Reusable row actions driving both the row \"⋮\" kebab and the bulk menu. */\n rowActions?: RowAction<T>[];\n /** Leading control in the auto kebab column (e.g. a favourite star). */\n rowActionsLeading?: (row: T) => React.ReactNode;\n /** Low-level bulk-action override; prefer `rowActions`. */\n bulkActions?: (selectedRows: T[], clearSelection: () => void) => React.ReactNode;\n /** A selection-widening control beside the count (e.g. \"select all matching\"). */\n selectionExtra?: SelectionExtraRender<T>;\n /** Bespoke per-row menu (an entity's self-contained 3-dots menu) instead of the auto kebab. */\n renderRowMenu?: (row: T) => React.ReactNode;\n /** Opt-in expandable rows (table layout only) — see {@link DataViewRowDetail}. */\n rowDetail?: DataViewRowDetail<T>;\n /** Opt-in \"Grade\" (cards) layout — a card renderer per row; adds a Grade/Tabela toggle. */\n renderCard?: (row: T, selection: DataViewCardSelection) => React.ReactNode;\n /** Opt-in \"Quadro\" (board) layout — the loaded page as columns of one field. Needs `renderCard`. */\n board?: BoardConfig<T>;\n /** Opt-in \"Lista\" layout — one full-width, entity-rendered row per record (FUT-733). */\n renderListRow?: (row: T, selection: DataViewCardSelection) => React.ReactNode;\n /** The Lista's shared columns, so its rows line up by construction not convention. */\n listGroup?: ListGroupConfig<T>;\n /** The page-level partition rendered as tabs under the toolbar (server mode only). */\n scopes?: ScopeConfig[];\n /** The row field the scopes partition by — used only to reject a pill over the same field. */\n scopeFieldId?: string;\n /** Which layout to show first when the user has expressed no preference (default \"table\"). */\n defaultLayout?: DataViewsLayout;\n /**\n * Ignore the remembered cross-screen layout preference and pin to\n * `defaultLayout`. For tables that exist to SHOW a layout — stories, docs,\n * screenshots — not for real screens.\n */\n ignoreStoredLayout?: boolean;\n /** Opt into the responsive inline filter UX (collapsible row / modal). Default keeps the panel. */\n inlineFilters?: boolean;\n /** Keep the inline search visible with no filter fields and no active search. */\n alwaysShowSearch?: boolean;\n /** Server-mode wiring (FUT-180): backend-driven rows/total + re-fetch. Omit for client mode. */\n server?: DataViewServer;\n /** Seed the initial view state (search/pills/ranges/sort) from the URL when no saved view applies. */\n initialState?: DataViewState;\n}\n\n/**\n * Derive the grid's reactive `syncState` from the URL-seeded `initialState` in\n * server mode so browser back/forward RE-APPLIES the search/pills/sort controls\n * (merging over live state, preserving hidden columns — see {@link DataViewSyncState}).\n * Client-mode tables (no `server`) get `undefined`. Callers memoize `initialState`\n * on the URL, so this reference only changes on genuine navigations.\n */\nfunction useUrlSyncState(\n server: DataViewServer | undefined,\n initialState: DataViewState | undefined,\n): DataViewSyncState | undefined {\n const isServerMode = server !== undefined;\n return useMemo<DataViewSyncState | undefined>(\n () =>\n isServerMode && initialState\n ? {\n search: initialState.search,\n pills: initialState.pills,\n ranges: initialState.ranges,\n sortBy: initialState.sortBy,\n // The scope belongs in the URL-driven slice alongside them: a\n // `?view=recusados`-style deep link and browser back/forward must\n // move the tab strip, and they must do it WITHOUT resetting the\n // user's hidden columns — which is the whole reason this is a\n // merging `syncState` and not a replacing `appliedState`.\n scope: initialState.scope,\n }\n : undefined,\n [isServerMode, initialState],\n );\n}\n\n/**\n * Resolve the initial applied view: a `?view=<id>` shortcut (FUT-90) wins, else\n * the user's default view, else none. Drives the seed state + trigger label.\n */\nfunction resolveInitialView(\n views: SavedViewSummary[],\n requestedId: string | null,\n): SavedViewSummary | undefined {\n const requested = requestedId ? views.find((view) => view.id === requestedId) : undefined;\n return requested ?? views.find((view) => view.isDefault);\n}\n\n/**\n * The Exibir panel's view chrome, assembled from the saved-views controller.\n * Extracted so {@link DataViewsTableBase} stays inside its size budget.\n */\nfunction buildDisplayView({\n ctl,\n views,\n activeView,\n dirty,\n onRequestDelete,\n}: {\n ctl: SavedViewsController;\n views: SavedViewSummary[];\n activeView: SavedViewSummary | undefined;\n dirty: boolean;\n /** Opens the confirmation; the delete itself happens on confirm. */\n onRequestDelete: (view: SavedViewSummary) => void;\n}): DisplayPanelView {\n return {\n activeViewName: ctl.activeViewName,\n dirty,\n onReset: () => (activeView ? ctl.applyView(activeView) : ctl.selectMain()),\n // Only offer \"Atualizar\" when there IS a view to update — otherwise the\n // single footer button is a plain \"Salvar visão\".\n onUpdate: activeView ? () => ctl.openEdit(activeView) : undefined,\n onSaveAs: ctl.openCreate,\n // The views themselves, not a dropdown: the panel renders them in its own\n // body (see `data-views-view-nav`), so there is no second popover to clip\n // the row actions.\n nav: {\n views,\n activeViewId: activeView?.id ?? null,\n onSelectView: (id) => {\n const next = id === null ? null : views.find((view) => view.id === id);\n if (next) ctl.applyView(next);\n else ctl.selectMain();\n },\n onEditView: ctl.openEdit,\n onPatchView: (view, changes) => void ctl.patchView(view, changes),\n onDeleteView: onRequestDelete,\n },\n };\n}\n\n/**\n * \"Are there unsaved changes?\" — the dot on Exibir, and whether Redefinir and\n * Salvar visão are live.\n *\n * Two things it gets right that the inline version did not. It compares\n * NORMALISED states (`viewStateKey`), so a filter applied and then removed is\n * clean again rather than clean-looking but flagged; and it re-baselines after\n * a SAVE, because the state just written is the clean one from that point.\n *\n * The baseline is the first state the grid emits for a view, not the view\n * itself: the grid normalises what it is handed — resolving visible columns,\n * filling in layout — so the applied view is never byte-identical to the state\n * it produces.\n */\nfunction useDirtyTracking(ctl: SavedViewsController): {\n dirty: boolean;\n noteState: (state: DataViewState) => void;\n markSaved: () => void;\n} {\n const [dirty, setDirty] = useState(false);\n const [savedAt, setSavedAt] = useState(0);\n const baseline = useRef<string | null>(null);\n const appliedKey = JSON.stringify(ctl.applied ?? null);\n\n useEffect(() => {\n baseline.current = null;\n setDirty(false);\n }, [appliedKey, savedAt]);\n\n return {\n dirty,\n noteState: (state) => {\n ctl.currentRef.current = state;\n const key = viewStateKey(state);\n if (baseline.current === null) {\n baseline.current = key;\n setDirty(false);\n return;\n }\n const next = key !== baseline.current;\n setDirty((prev) => (prev === next ? prev : next));\n },\n markSaved: () => setSavedAt((tick) => tick + 1),\n };\n}\n\n/**\n * The reusable admin table (FUT-89): the DataViews grid plus the full saved-views\n * experience — a views dropdown, a save/edit modal (with preview), and a manage\n * dialog. Framework-agnostic: saved-view persistence and router side-effects are\n * INJECTED (`persistence`, `router`, `initialViewId`) so the host app wires them\n * to its backend + framework router. A default view auto-applies on load; applying\n * a view restores its filters + columns + sort. Each table supplies its own columns\n * + filter fields; everything else is shared.\n */\nexport function DataViewsTableBase<T extends Record<string, unknown>>(\n props: DataViewsTableBaseProps<T>,\n): React.JSX.Element {\n // Forwarded as a whole rather than restated name-by-name twice (as in\n // DataViewsGrid): this component only ADDS the saved-views chrome, and a\n // 30-name destructure repeated in the JSX is exactly where a newly added prop\n // silently stops being passed on.\n const {\n initialViewId = null,\n persistence,\n router,\n columns,\n fields,\n testIdPrefix = \"table\",\n views,\n server,\n initialState,\n } = props;\n const initialView = resolveInitialView(views, initialViewId);\n const columnIds = columns.map((col) => col.id);\n const ctl = useSavedViewsController(persistence, router, columnIds, views, initialView, initialState);\n // Unsaved-changes flag for the Exibir panel. Set from `onStateChange` rather\n // than derived in render because the live state lives in a REF (the grid owns\n // it); the equality bail-out in `setDirty` is what stops the update loop.\n const { dirty, noteState, markSaved } = useDirtyTracking(ctl);\n // Deleting a saved view is confirmed, not immediate — see `DeleteViewDialog`.\n const [pendingDelete, setPendingDelete] = useState<SavedViewSummary | null>(null);\n // The view the panel's \"Redefinir\" restores: the applied one, or the built-in\n // \"Visão principal\" when none is.\n const activeView = views.find((view) => view.name === ctl.activeViewName);\n const displayView = buildDisplayView({\n ctl,\n views,\n activeView,\n dirty,\n onRequestDelete: setPendingDelete,\n });\n // Server-mode lists re-apply URL-derived controls on back/forward (not just the mount seed).\n const syncState = useUrlSyncState(server, initialState);\n\n return (\n <>\n <ViewMutationErrorAlert error={ctl.mutationError} onClose={ctl.clearMutationError} testIdPrefix={testIdPrefix} />\n <DataViewsGrid<T>\n {...props}\n testIdPrefix={testIdPrefix}\n appliedState={ctl.applied}\n syncState={syncState}\n onStateChange={noteState}\n // The saved-views menu is NOT a toolbar control any more: it lives in\n // the Exibir panel's VISÃO header, passed through `displayView`.\n displayView={displayView}\n />\n {renderViewDialogs(ctl, fields, columns, views, testIdPrefix, markSaved)}\n <DeleteViewDialog\n view={pendingDelete}\n onClose={() => setPendingDelete(null)}\n onConfirm={(view) => {\n void ctl.handleDelete(view);\n setPendingDelete(null);\n }}\n testIdPrefix={testIdPrefix}\n />\n </>\n );\n}\n\n/** The save + manage saved-view dialogs, split out to keep the base thin. */\nfunction renderViewDialogs<T extends Record<string, unknown>>(\n ctl: SavedViewsController,\n fields: DataViewsTableBaseProps<T>[\"fields\"],\n columns: DataViewsTableBaseProps<T>[\"columns\"],\n views: SavedViewSummary[],\n testIdPrefix: string,\n onSaved: () => void,\n): React.JSX.Element {\n return (\n <ViewDialogs<T>\n saveOpen={ctl.saveOpen}\n onCloseSave={ctl.closeSave}\n currentState={ctl.editing ? ctl.editing.state : ctl.currentRef.current}\n fields={fields}\n columns={columns}\n editing={ctl.editing}\n onSave={async (payload) => {\n await ctl.handleSave(payload);\n // The saved state is the clean one from here on.\n onSaved();\n }}\n manageOpen={ctl.manageOpen}\n onCloseManage={() => ctl.setManageOpen(false)}\n views={views}\n onEditFromManage={ctl.editFromManage}\n onDelete={(view) => void ctl.handleDelete(view)}\n testIdPrefix={testIdPrefix}\n />\n );\n}\n"],"mappings":"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","names":[]}
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-YSTHOE66.js";
18
18
  import {
19
19
  Skeleton
20
- } from "./chunk-7VN7LFBA.js";
20
+ } from "./chunk-YD77RANW.js";
21
21
  import {
22
22
  resolveTestId
23
23
  } from "./chunk-TYJR4GOF.js";
@@ -139,4 +139,4 @@ export {
139
139
  LoadingState,
140
140
  LoadingState_default
141
141
  };
142
- //# sourceMappingURL=chunk-JXNT5TUP.js.map
142
+ //# sourceMappingURL=chunk-DVEYD27F.js.map
@@ -1,10 +1,10 @@
1
- import {
2
- buildChartContext
3
- } from "./chunk-HKV4MQ2W.js";
4
1
  import {
5
2
  ChartLegendContent,
6
3
  ChartTooltipContent
7
4
  } from "./chunk-M5T3COS2.js";
5
+ import {
6
+ buildChartContext
7
+ } from "./chunk-HKV4MQ2W.js";
8
8
 
9
9
  // src/components/data-display/Chart/chart-renderers.tsx
10
10
  import {
@@ -312,4 +312,4 @@ function renderChartByType(props, theme) {
312
312
  export {
313
313
  renderChartByType
314
314
  };
315
- //# sourceMappingURL=chunk-WZUNBSS7.js.map
315
+ //# sourceMappingURL=chunk-DVUPIVI2.js.map
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-XPMGFAJ3.js";
10
10
  import {
11
11
  Skeleton
12
- } from "./chunk-7VN7LFBA.js";
12
+ } from "./chunk-YD77RANW.js";
13
13
 
14
14
  // src/components/data-display/FleetMap/FleetRoster.tsx
15
15
  import Box from "@mui/material/Box/index.js";
@@ -216,4 +216,4 @@ function FleetRoster({
216
216
  export {
217
217
  FleetRoster
218
218
  };
219
- //# sourceMappingURL=chunk-CMN26J5Y.js.map
219
+ //# sourceMappingURL=chunk-E6D2Y5EK.js.map
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  ColumnsTab
3
- } from "./chunk-OAWEUKUC.js";
3
+ } from "./chunk-OLQDB346.js";
4
4
  import {
5
5
  DisplayTab,
6
6
  SortTab
7
- } from "./chunk-N5PY7IXI.js";
7
+ } from "./chunk-PJTSGHTY.js";
8
8
  import {
9
9
  ViewActions,
10
10
  ViewFooter,
11
11
  ViewHeader,
12
12
  ViewsList
13
- } from "./chunk-6VHCSPKK.js";
13
+ } from "./chunk-4H4Y2SX3.js";
14
14
  import {
15
15
  useDataViewsCopy
16
16
  } from "./chunk-KHG57NAE.js";
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-6DPAWXZ3.js";
20
20
  import {
21
21
  Button
22
- } from "./chunk-77DF5LKI.js";
22
+ } from "./chunk-GJUIZ5FN.js";
23
23
 
24
24
  // src/components/data-display/DataViews/data-views-display-panel.tsx
25
25
  import KeyboardArrowDownRoundedIcon from "@mui/icons-material/KeyboardArrowDownRounded";
@@ -261,4 +261,4 @@ function DataViewsDisplayPanel({
261
261
  export {
262
262
  DataViewsDisplayPanel
263
263
  };
264
- //# sourceMappingURL=chunk-HKB5C2KY.js.map
264
+ //# sourceMappingURL=chunk-EMAX7RPN.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  FONT_WEIGHTS,
3
3
  TYPE_SIZES
4
- } from "./chunk-QLI7ES7Z.js";
4
+ } from "./chunk-SONWG2RT.js";
5
5
 
6
6
  // src/components/typography/Text/Text.metrics.ts
7
7
  var TEXT_SIZES = TYPE_SIZES;
@@ -31,4 +31,4 @@ export {
31
31
  CODE_PADDING,
32
32
  CODE_RADIUS_FACTOR
33
33
  };
34
- //# sourceMappingURL=chunk-ZAJO2B75.js.map
34
+ //# sourceMappingURL=chunk-EPRA5QLB.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  FONT_WEIGHTS
3
- } from "./chunk-QLI7ES7Z.js";
3
+ } from "./chunk-SONWG2RT.js";
4
4
  import {
5
5
  HEADING_SCALE
6
6
  } from "./chunk-FZXKH2ZT.js";
@@ -54,4 +54,4 @@ export {
54
54
  headingGradient,
55
55
  headingGradientStops
56
56
  };
57
- //# sourceMappingURL=chunk-ERX4XIYC.js.map
57
+ //# sourceMappingURL=chunk-EUKYQXYU.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-4XK6JQ4D.js";
4
4
  import {
5
5
  Input
6
- } from "./chunk-4OHRZW7U.js";
6
+ } from "./chunk-XXE6NTJB.js";
7
7
  import {
8
8
  FormControl,
9
9
  FormLabel,
@@ -38,4 +38,4 @@ function TextField({ name, label, type = "text", placeholder }) {
38
38
  export {
39
39
  TextField
40
40
  };
41
- //# sourceMappingURL=chunk-C3CMEDSO.js.map
41
+ //# sourceMappingURL=chunk-EVXFEXBS.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  GridShell
3
- } from "./chunk-65METCKT.js";
3
+ } from "./chunk-TSFFZ3AH.js";
4
4
  import {
5
5
  useDataViewsState
6
- } from "./chunk-OXYR2HVK.js";
6
+ } from "./chunk-FOKBP6HR.js";
7
7
 
8
8
  // src/components/data-display/DataViews/DataViewsGrid.tsx
9
9
  import { useEffect, useRef } from "react";
@@ -27,4 +27,4 @@ function DataViewsGrid(props) {
27
27
  export {
28
28
  DataViewsGrid
29
29
  };
30
- //# sourceMappingURL=chunk-O7HLQTB7.js.map
30
+ //# sourceMappingURL=chunk-EYC6ERJJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/DataViews/DataViewsGrid.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef } from \"react\";\n\nimport { type SortFieldDefinition } from \"../../layout/ContentToolbar\";\n\nimport { GridShell } from \"./data-views-grid-parts\";\nimport type { SelectionExtraRender } from \"./data-views-selection-extra\";\nimport type { ListGroupConfig } from \"./list-card-rails\";\nimport type { DisplayPanelView } from \"./data-views-display-panel\";\nimport type { BoardConfig } from \"./DataViewsBoard\";\nimport type { DataViewExport } from \"./data-views-export\";\nimport type { ScopeConfig } from \"./data-views-scopes\";\nimport type { DataViewCardSelection } from \"./data-views-types\";\nimport {\n type DataViewColumn,\n type DataViewsLayout,\n type DataViewServer,\n type DataViewState,\n type DataViewSyncState,\n type FilterFieldConfig,\n type RangeFieldConfig,\n type RowAction,\n} from \"./data-views-types\";\nimport type { DataViewRowDetail } from \"./data-views-row-detail\";\nimport { useDataViewsState } from \"./use-data-views-state\";\n\ninterface DataViewsGridProps<T extends Record<string, unknown>> {\n rows: T[];\n columns: DataViewColumn<T>[];\n fields: FilterFieldConfig<T>[];\n /** Optional numeric min/max range filters (advanced \"filter by amount\"). */\n rangeFields?: RangeFieldConfig<T>[];\n getRowId: (row: T) => string | number;\n /** Row click opens the row; clicks in the actions column are ignored. */\n onRowClick?: (row: T) => void;\n emptyState?: React.ReactNode;\n dataTestId?: string;\n testIdPrefix?: string;\n /** Seed/replace the view state. A NEW reference re-applies (used to apply a saved view). */\n appliedState?: DataViewState;\n /**\n * URL-driven controls (search/pills/ranges/sort) that RE-APPLY on reference\n * change while preserving column visibility — for server-mode lists that keep\n * their filter/sort/page in the address bar (see {@link DataViewSyncState}).\n */\n syncState?: DataViewSyncState;\n /** Notified on every view-state change (so a save-view modal can read it). */\n onStateChange?: (state: DataViewState) => void;\n /**\n * Notified with the currently-visible (search + filter matched) rows whenever\n * they change — so a page-level Export exports what the user sees, not the\n * full dataset.\n */\n onVisibleRowsChange?: (rows: T[]) => void;\n /** Saved-views UI injected into the toolbar (FUT-89). */\n toolbarRightSlot?: React.ReactNode;\n /**\n * The saved-view chrome for the Exibir panel: its VISÃO header (with the\n * views dropdown) and its Redefinir / Salvar visão footer. Supplied by\n * `DataViewsTableBase`; without it the panel is tabs only.\n */\n displayView?: DisplayPanelView;\n /** Big page title in the header row (next to the funnel + gear). */\n title?: string;\n /** Primary page actions rendered at the header's right. */\n headerActions?: React.ReactNode;\n /**\n * Sort options for the toolbar's \"Sort By\" dropdown. Defaults to the sortable\n * columns (asc/desc each) when omitted.\n */\n sortFields?: SortFieldDefinition[];\n /**\n * Per-sort-field VALUE KIND (`\"currency\" | \"number\" | \"date\" | \"text\"`), so the\n * Exibir panel phrases the direction in that column's own terms. \"Crescente\"\n * on a currency column is a puzzle; \"Menor → maior\" is not. Defaults to text.\n */\n sortKinds?: Record<string, string>;\n /**\n * Opt-in \"Exportar\" control. The grid hands the host the current query,\n * UNPAGINATED, and the host re-queries — the grid never fetches, and an\n * export therefore follows the filters rather than the loaded page.\n */\n exportConfig?: DataViewExport;\n /**\n * A single, reusable list of row actions that drives BOTH the per-row \"⋮\"\n * kebab AND the bulk-actions menu (tabwoah model). When provided, the grid\n * appends a kebab actions column automatically (unless the page already\n * defines one) and shows an \"Ações\" bulk menu when rows are selected.\n */\n rowActions?: RowAction<T>[];\n /**\n * Extra leading control rendered in the auto kebab column, before the \"⋮\"\n * (e.g. a favourite star). Only used when `rowActions` is set.\n */\n rowActionsLeading?: (row: T) => React.ReactNode;\n /**\n * Low-level override for the selection bulk control. Prefer `rowActions`.\n * Receives the selected rows + a `clearSelection` callback.\n */\n bulkActions?: (selectedRows: T[], clearSelection: () => void) => React.ReactNode;\n /**\n * A control rendered beside the \"N selected\" count, for changing WHAT is\n * selected rather than what happens to it — a \"select all N matching the\n * filter\" widening, above all.\n *\n * Called only while something is selected, and handed\n * {@link SelectionExtraContext.allOnPageSelected} so the control can follow\n * the convention operators already know: the widening appears once the whole\n * page is ticked, and not before.\n */\n selectionExtra?: SelectionExtraRender<T>;\n /**\n * Render a bespoke per-row menu in the actions column instead of the auto\n * kebab — typically an entity's self-contained 3-dots menu that owns its own\n * popups, so the SAME menu component drives both the table row and the card.\n * `rowActions`/`bulkActions` still drive the multi-row bulk menu.\n */\n renderRowMenu?: (row: T) => React.ReactNode;\n /**\n * Opt-in expandable rows (table layout only): a chevron in a leading column\n * opens `render(row)` under the row. See {@link DataViewRowDetail}.\n */\n rowDetail?: DataViewRowDetail<T>;\n /**\n * Opt-in \"Grade\" (cards) layout. When provided, a Grade/Tabela toggle appears in\n * the toolbar and the cards body renders each visible row via this function\n * (reusing the same search/filter/sort). Omit ⇒ table only (unchanged).\n */\n renderCard?: (row: T, selection: DataViewCardSelection) => React.ReactNode;\n /**\n * Opt-in \"Quadro\" (board) layout: the loaded page laid out as columns of one\n * grouping field. Reuses `renderCard`, so supplying a board WITHOUT one simply\n * offers no board. Best when the groups are states in a state machine — derive\n * these groups and `scopes` from ONE definition so the two cannot drift.\n */\n board?: BoardConfig<T>;\n /**\n * Opt-in \"Lista\" layout (FUT-733): one FULL-WIDTH row per record, rendered by\n * the entity — a marker, a title, a subtitle and a value on the right. Sits\n * between the table (compare columns) and the cards (browse); omit ⇒ not\n * offered, exactly as `renderCard` gates the cards.\n */\n renderListRow?: (row: T, selection: DataViewCardSelection) => React.ReactNode;\n /**\n * The Lista's SHARED COLUMNS — declared once for the list, obeyed by every row.\n *\n * This is what makes a list line up by construction rather than by convention.\n * Omit it and each row still resolves its own tracks from its own config,\n * which agrees with its neighbours right up until one row carries an unusually\n * wide value.\n */\n listGroup?: ListGroupConfig<T>;\n /**\n * The page-level partition rendered as an exclusive tab strip above the\n * toolbar, with server-supplied counts. Requires `server`: a scope is applied\n * at the backend, never in the browser.\n */\n scopes?: ScopeConfig[];\n /** The row field the scopes partition by — used only to reject a pill over the same field. */\n scopeFieldId?: string;\n /** Which layout to show first when the user has expressed no preference (default \"table\"). */\n defaultLayout?: DataViewsLayout;\n /**\n * Ignore the remembered cross-screen layout preference and pin to\n * `defaultLayout`. For tables that exist to SHOW a layout — stories, docs,\n * screenshots — not for real screens.\n */\n ignoreStoredLayout?: boolean;\n /**\n * Opt into the responsive inline filter UX (collapsible filter row on wide\n * screens, modal on narrow). Default `false` keeps the classic slide-in panel.\n */\n inlineFilters?: boolean;\n /** Keep the inline search visible with no filter fields and no active search. */\n alwaysShowSearch?: boolean;\n /** Server-mode wiring; when set the grid is backend-driven (no client filter/sort/paginate). */\n server?: DataViewServer;\n}\n\n/**\n * Surface the visible (filtered) rows so a page-level Export matches the view.\n *\n * Pages pass inline column/field arrays, so `matched` is a fresh reference on\n * every render even when its contents are unchanged. The guard is a signature\n * over the rows' *contents* (not just their ids), so the callback — and the\n * parent `useState` it usually drives — fires only when the visible data\n * actually changes. Ids alone are not enough: a server refresh can change a\n * visible row's values while keeping its id, and the export must reflect them.\n * Content-equal renders keep the same signature, so this never loops.\n */\nfunction useVisibleRowsNotifier<T>(matched: T[], onVisibleRowsChange?: (rows: T[]) => void): void {\n const visibleSignature = JSON.stringify(matched);\n const lastSignature = useRef<string | null>(null);\n useEffect(() => {\n if (lastSignature.current === visibleSignature) return;\n lastSignature.current = visibleSignature;\n onVisibleRowsChange?.(matched);\n }, [visibleSignature, matched, onVisibleRowsChange]);\n}\n\n/**\n * The reusable admin DataViews table (FUT-88): the shared ContentToolbar +\n * TableFilter panel over `@12-apps/ui` DataGrid. State + derived data live in\n * {@link useDataViewsState}; the render lives in `GridShell`. This component just\n * connects the two. Reused across every admin list page.\n */\nexport function DataViewsGrid<T extends Record<string, unknown>>(\n props: DataViewsGridProps<T>,\n): React.JSX.Element {\n // Forwarded as a whole rather than restated name-by-name twice: this component\n // only ADDS the controller, and a 25-name destructure repeated in the JSX is\n // where a newly added prop silently stops being passed on.\n const { rangeFields = [], testIdPrefix = \"table\" } = props;\n const controller = useDataViewsState({ ...props, rangeFields, testIdPrefix });\n useVisibleRowsNotifier(controller.matched, props.onVisibleRowsChange);\n return <GridShell {...props} c={controller} rangeFields={rangeFields} testIdPrefix={testIdPrefix} />;\n}\n"],"mappings":";;;;;;;;AAEA,SAAS,WAAW,cAAc;AAsNzB;AAzBT,SAAS,uBAA0B,SAAc,qBAAiD;AAChG,QAAM,mBAAmB,KAAK,UAAU,OAAO;AAC/C,QAAM,gBAAgB,OAAsB,IAAI;AAChD,YAAU,MAAM;AACd,QAAI,cAAc,YAAY,iBAAkB;AAChD,kBAAc,UAAU;AACxB,0BAAsB,OAAO;AAAA,EAC/B,GAAG,CAAC,kBAAkB,SAAS,mBAAmB,CAAC;AACrD;AAQO,SAAS,cACd,OACmB;AAInB,QAAM,EAAE,cAAc,CAAC,GAAG,eAAe,QAAQ,IAAI;AACrD,QAAM,aAAa,kBAAkB,EAAE,GAAG,OAAO,aAAa,aAAa,CAAC;AAC5E,yBAAuB,WAAW,SAAS,MAAM,mBAAmB;AACpE,SAAO,oBAAC,aAAW,GAAG,OAAO,GAAG,YAAY,aAA0B,cAA4B;AACpG;","names":[]}
@@ -6,15 +6,15 @@ import {
6
6
  } from "./chunk-6C5D6O3D.js";
7
7
  import {
8
8
  buildBadgeContent
9
- } from "./chunk-TUO47RL2.js";
9
+ } from "./chunk-FVPN4YKW.js";
10
10
  import {
11
11
  badgeStyles,
12
12
  getAnchorOrigin
13
- } from "./chunk-SSWZHR46.js";
13
+ } from "./chunk-J3ZP6EUS.js";
14
14
  import {
15
15
  CLOSE_DELAY_MS,
16
16
  MOUNT_ANIMATION_MS
17
- } from "./chunk-DB2MAYPK.js";
17
+ } from "./chunk-XV2TDULR.js";
18
18
  import {
19
19
  resolveTestId
20
20
  } from "./chunk-TYJR4GOF.js";
@@ -180,4 +180,4 @@ Badge.displayName = "Badge";
180
180
  export {
181
181
  Badge
182
182
  };
183
- //# sourceMappingURL=chunk-DYESJJ3Q.js.map
183
+ //# sourceMappingURL=chunk-EZNTM6PT.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  fadeInScaleAnimation
3
- } from "./chunk-YPILHGEO.js";
3
+ } from "./chunk-J6CSPDC7.js";
4
4
 
5
5
  // src/components/data-display/DataViews/card-surface.ts
6
6
  import { alpha, keyframes } from "@mui/material/styles/index.js";
@@ -143,4 +143,4 @@ export {
143
143
  isActionable,
144
144
  cardSurfaceStyles
145
145
  };
146
- //# sourceMappingURL=chunk-67ALTEWH.js.map
146
+ //# sourceMappingURL=chunk-FGKKLHKY.js.map
@@ -1,10 +1,18 @@
1
1
  import {
2
2
  useColumnsWithActions,
3
3
  useRenderedColumns
4
- } from "./chunk-7NEUPEV5.js";
4
+ } from "./chunk-HQB5XNK5.js";
5
5
  import {
6
6
  filterRows
7
7
  } from "./chunk-YGQX7BNI.js";
8
+ import {
9
+ resolveScope,
10
+ useScopeConfigChecks
11
+ } from "./chunk-LYKV3C7B.js";
12
+ import {
13
+ computeActiveFilterCount,
14
+ defaultSortFields
15
+ } from "./chunk-XGOWREVV.js";
8
16
  import {
9
17
  serverDerived,
10
18
  useServerQuery
@@ -12,17 +20,9 @@ import {
12
20
  import {
13
21
  useSelection
14
22
  } from "./chunk-LLZWB32X.js";
15
- import {
16
- resolveScope,
17
- useScopeConfigChecks
18
- } from "./chunk-LYKV3C7B.js";
19
23
  import {
20
24
  useStateWriters
21
25
  } from "./chunk-U5FOJBLG.js";
22
- import {
23
- computeActiveFilterCount,
24
- defaultSortFields
25
- } from "./chunk-KOFO6QZY.js";
26
26
  import {
27
27
  emptyViewState
28
28
  } from "./chunk-LHHAYZ55.js";
@@ -172,4 +172,4 @@ function useDataViewsState({
172
172
  export {
173
173
  useDataViewsState
174
174
  };
175
- //# sourceMappingURL=chunk-OXYR2HVK.js.map
175
+ //# sourceMappingURL=chunk-FOKBP6HR.js.map
@@ -3,11 +3,11 @@ import {
3
3
  } from "./chunk-KHG57NAE.js";
4
4
  import {
5
5
  createConfirmButton
6
- } from "./chunk-QQLGSMGE.js";
6
+ } from "./chunk-W5CW7JFZ.js";
7
7
  import {
8
8
  Dialog,
9
9
  DialogContent
10
- } from "./chunk-YANLN6HP.js";
10
+ } from "./chunk-D6HDJVQW.js";
11
11
  import {
12
12
  default as default2
13
13
  } from "./chunk-6DPAWXZ3.js";
@@ -16,10 +16,10 @@ import {
16
16
  } from "./chunk-WEBEOBN5.js";
17
17
  import {
18
18
  Button
19
- } from "./chunk-77DF5LKI.js";
19
+ } from "./chunk-GJUIZ5FN.js";
20
20
  import {
21
21
  Text
22
- } from "./chunk-PENJBKPH.js";
22
+ } from "./chunk-YTYROOLY.js";
23
23
 
24
24
  // src/components/data-display/DataViews/ManageViewsDialog.tsx
25
25
  import { useMemo } from "react";
@@ -128,4 +128,4 @@ function ManageViewsDialog({
128
128
  export {
129
129
  ManageViewsDialog
130
130
  };
131
- //# sourceMappingURL=chunk-22X7TT6Z.js.map
131
+ //# sourceMappingURL=chunk-FR6AJSMT.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  getSizeStyles
3
- } from "./chunk-SSWZHR46.js";
3
+ } from "./chunk-J3ZP6EUS.js";
4
4
  import {
5
5
  BADGE_CONTENT_GAP,
6
6
  BADGE_SIZES
7
- } from "./chunk-DB2MAYPK.js";
7
+ } from "./chunk-XV2TDULR.js";
8
8
  import {
9
9
  px
10
- } from "./chunk-QLI7ES7Z.js";
10
+ } from "./chunk-SONWG2RT.js";
11
11
 
12
12
  // src/components/data-display/Badge/BadgeContent.tsx
13
13
  import CloseIcon from "@mui/icons-material/Close";
@@ -85,4 +85,4 @@ var buildBadgeContent = ({
85
85
  export {
86
86
  buildBadgeContent
87
87
  };
88
- //# sourceMappingURL=chunk-TUO47RL2.js.map
88
+ //# sourceMappingURL=chunk-FVPN4YKW.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-Q444G5X7.js";
6
6
  import {
7
7
  renderMenuItem
8
- } from "./chunk-7FOOLP5H.js";
8
+ } from "./chunk-RXSGHPCR.js";
9
9
  import {
10
10
  slideIn
11
11
  } from "./chunk-FYLCSCMR.js";
@@ -113,4 +113,4 @@ var NavigationStandardBody = ({
113
113
  export {
114
114
  NavigationStandardBody
115
115
  };
116
- //# sourceMappingURL=chunk-ZDWU52DJ.js.map
116
+ //# sourceMappingURL=chunk-G5ZVD5IJ.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ highlightSegments
3
+ } from "./chunk-PN4HVM43.js";
1
4
  import {
2
5
  CheckGlyph,
3
6
  DisclosureGlyph
@@ -15,9 +18,6 @@ import {
15
18
  rowSx,
16
19
  sectionHeadSx
17
20
  } from "./chunk-ZS44PY7T.js";
18
- import {
19
- highlightSegments
20
- } from "./chunk-PN4HVM43.js";
21
21
 
22
22
  // src/components/form/CategorySelect/CategoryRows.tsx
23
23
  import Box from "@mui/material/Box/index.js";
@@ -145,4 +145,4 @@ export {
145
145
  CategoryTreeRow,
146
146
  CategorySectionHeading
147
147
  };
148
- //# sourceMappingURL=chunk-NPN7JTRM.js.map
148
+ //# sourceMappingURL=chunk-GH2DC7PS.js.map
@@ -4,7 +4,7 @@ import {
4
4
  buttonVariantStyles,
5
5
  getColorFromTheme,
6
6
  iconAlignmentStyles
7
- } from "./chunk-2LSCK45B.js";
7
+ } from "./chunk-TSEWUY4V.js";
8
8
  import {
9
9
  BUTTON_ICON_GLYPH_SIZE
10
10
  } from "./chunk-5LQ7PKMW.js";
@@ -121,4 +121,4 @@ var Button = ButtonRoot;
121
121
  export {
122
122
  Button
123
123
  };
124
- //# sourceMappingURL=chunk-77DF5LKI.js.map
124
+ //# sourceMappingURL=chunk-GJUIZ5FN.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-WR7ELCIL.js";
6
6
  import {
7
7
  Skeleton
8
- } from "./chunk-7VN7LFBA.js";
8
+ } from "./chunk-YD77RANW.js";
9
9
 
10
10
  // src/components/data-display/LazyImage/LazyImage.tsx
11
11
  import Box from "@mui/material/Box/index.js";
@@ -195,4 +195,4 @@ LazyImage.displayName = "LazyImage";
195
195
  export {
196
196
  LazyImage
197
197
  };
198
- //# sourceMappingURL=chunk-YJ4HM25H.js.map
198
+ //# sourceMappingURL=chunk-GLWW2XCP.js.map
@@ -1,18 +1,18 @@
1
+ import {
2
+ TextField
3
+ } from "./chunk-EVXFEXBS.js";
1
4
  import {
2
5
  SelectField
3
6
  } from "./chunk-W4SDVTZC.js";
4
7
  import {
5
8
  CepField
6
- } from "./chunk-EOHKZGOZ.js";
9
+ } from "./chunk-3PUOLOEP.js";
7
10
  import {
8
11
  CategoryField
9
- } from "./chunk-X5RDHO6G.js";
12
+ } from "./chunk-QPDDS6DQ.js";
10
13
  import {
11
14
  ToggleField
12
15
  } from "./chunk-LYMAMKJT.js";
13
- import {
14
- TextField
15
- } from "./chunk-C3CMEDSO.js";
16
16
  import {
17
17
  __export
18
18
  } from "./chunk-PZ5AY32C.js";
@@ -30,4 +30,4 @@ __export(Fields_exports, {
30
30
  export {
31
31
  Fields_exports
32
32
  };
33
- //# sourceMappingURL=chunk-7AIHK2XM.js.map
33
+ //# sourceMappingURL=chunk-H53YNR23.js.map