@12-apps/ui 6.26.0 → 6.27.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 (486) hide show
  1. package/dist/_internal/components/data-display/Alert/Alert.js +4 -4
  2. package/dist/_internal/components/data-display/Alert/Alert.metrics.js +2 -2
  3. package/dist/_internal/components/data-display/Alert/Alert.styles.js +3 -3
  4. package/dist/_internal/components/data-display/Avatar/Avatar.js +3 -3
  5. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
  6. package/dist/_internal/components/data-display/Badge/Badge.animations.js +3 -3
  7. package/dist/_internal/components/data-display/Badge/Badge.js +7 -7
  8. package/dist/_internal/components/data-display/Badge/Badge.metrics.js +2 -2
  9. package/dist/_internal/components/data-display/Badge/Badge.styles.js +5 -5
  10. package/dist/_internal/components/data-display/Badge/Badge.variants.js +3 -3
  11. package/dist/_internal/components/data-display/Badge/BadgeContent.js +6 -6
  12. package/dist/_internal/components/data-display/Banner/Banner.js +4 -4
  13. package/dist/_internal/components/data-display/Banner/Banner.styles.js +3 -3
  14. package/dist/_internal/components/data-display/CardKit/CardKebab.js +4 -4
  15. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +5 -5
  16. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +9 -9
  17. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +4 -4
  18. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +1 -1
  19. package/dist/_internal/components/data-display/Carousel/Carousel.js +1 -1
  20. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +1 -1
  21. package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +1 -1
  22. package/dist/_internal/components/data-display/Chart/Chart.js +5 -5
  23. package/dist/_internal/components/data-display/Chart/SpecChart.js +6 -6
  24. package/dist/_internal/components/data-display/Chart/chart-context.js +3 -3
  25. package/dist/_internal/components/data-display/Chart/chart-internals.js +1 -1
  26. package/dist/_internal/components/data-display/Chart/chart-renderers.js +4 -4
  27. package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +4 -4
  28. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +37 -37
  29. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +54 -53
  30. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +6 -6
  31. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +7 -7
  32. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +12 -11
  33. package/dist/_internal/components/data-display/DataViews/base-card.js +9 -9
  34. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +12 -12
  35. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +3 -3
  36. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +8 -8
  37. package/dist/_internal/components/data-display/DataViews/base-list-card.js +16 -16
  38. package/dist/_internal/components/data-display/DataViews/card-surface.js +4 -4
  39. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +5 -5
  40. package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +4 -4
  41. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +5 -5
  42. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +11 -11
  43. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +6 -6
  44. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +6 -6
  45. package/dist/_internal/components/data-display/DataViews/data-views-export.js +6 -6
  46. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +6 -6
  47. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +12 -12
  48. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +4 -4
  49. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +34 -34
  50. package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +4 -4
  51. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +13 -13
  52. package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +2 -2
  53. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +4 -4
  54. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +7 -7
  55. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +3 -3
  56. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +6 -6
  57. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +15 -15
  58. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +18 -17
  59. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +14 -14
  60. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +6 -6
  61. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +3 -3
  62. package/dist/_internal/components/data-display/DataViews/save-view-preview.js +4 -4
  63. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +7 -7
  64. package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
  65. package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +4 -4
  66. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +11 -11
  67. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +8 -8
  68. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +13 -13
  69. package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +2 -2
  70. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +1 -1
  71. package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +2 -2
  72. package/dist/_internal/components/data-display/MapPreview/MapPreview.hooks.js +2 -2
  73. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +7 -7
  74. package/dist/_internal/components/data-display/MapPreview/MapTiles.js +2 -2
  75. package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +4 -4
  76. package/dist/_internal/components/data-display/MapPreview/useMapPreview.js +3 -3
  77. package/dist/_internal/components/data-display/Progress/Progress.js +4 -4
  78. package/dist/_internal/components/data-display/Progress/Progress.metrics.js +2 -2
  79. package/dist/_internal/components/data-display/Progress/Progress.styles.js +3 -3
  80. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +1 -1
  81. package/dist/_internal/components/data-display/Sheet/Sheet.js +4 -4
  82. package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +1 -1
  83. package/dist/_internal/components/data-display/Table/Table.js +2 -2
  84. package/dist/_internal/components/data-display/index.js +43 -43
  85. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +4 -4
  86. package/dist/_internal/components/feedback/index.js +4 -4
  87. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +2 -2
  88. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +5 -5
  89. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +2 -2
  90. package/dist/_internal/components/form/Button/Button.js +3 -3
  91. package/dist/_internal/components/form/Button/Button.styles.js +2 -2
  92. package/dist/_internal/components/form/Calendar/Calendar.hooks.js +2 -2
  93. package/dist/_internal/components/form/Calendar/Calendar.js +3 -3
  94. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +1 -1
  95. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +4 -4
  96. package/dist/_internal/components/form/Checkbox/Checkbox.js +2 -2
  97. package/dist/_internal/components/form/Command/Command.js +4 -4
  98. package/dist/_internal/components/form/Command/Command.styles.js +1 -1
  99. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +5 -5
  100. package/dist/_internal/components/form/Label/Label.js +1 -1
  101. package/dist/_internal/components/form/Label/Label.styles.js +1 -1
  102. package/dist/_internal/components/form/Menubar/Menubar.item.js +1 -1
  103. package/dist/_internal/components/form/Menubar/Menubar.js +1 -1
  104. package/dist/_internal/components/form/Menubar/Menubar.styles.js +1 -1
  105. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +1 -1
  106. package/dist/_internal/components/form/PhoneInput/PhoneInput.hooks.js +2 -2
  107. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +3 -3
  108. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +2 -2
  109. package/dist/_internal/components/form/Switch/Switch.ids.js +8 -0
  110. package/dist/_internal/components/form/Switch/Switch.ids.js.map +1 -0
  111. package/dist/_internal/components/form/Switch/Switch.js +6 -5
  112. package/dist/_internal/components/form/Switch/Switch.metrics.js +5 -1
  113. package/dist/_internal/components/form/Switch/Switch.parts.js +6 -8
  114. package/dist/_internal/components/form/Switch/Switch.styles.js +5 -3
  115. package/dist/_internal/components/form/index.js +34 -33
  116. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +5 -5
  117. package/dist/_internal/components/form/total-form/Fields/index.js +6 -6
  118. package/dist/_internal/components/form/total-form/SubmitButton.js +4 -4
  119. package/dist/_internal/components/index.js +82 -81
  120. package/dist/_internal/components/layout/Box/Box.js +4 -4
  121. package/dist/_internal/components/layout/Stack/Stack.js +5 -5
  122. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +7 -7
  123. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +1 -1
  124. package/dist/_internal/components/navigation/index.js +7 -7
  125. package/dist/_internal/components/typography/Heading/Heading.js +4 -4
  126. package/dist/_internal/components/typography/Heading/Heading.metrics.js +2 -2
  127. package/dist/_internal/components/typography/Heading/Heading.styles.js +3 -3
  128. package/dist/_internal/components/typography/Paragraph/Paragraph.js +2 -2
  129. package/dist/_internal/components/typography/Text/Text.js +3 -3
  130. package/dist/_internal/components/typography/Text/Text.metrics.js +2 -2
  131. package/dist/_internal/components/typography/index.js +7 -7
  132. package/dist/_internal/icons/Icon.js +4 -4
  133. package/dist/_internal/provider/UiProvider.js +3 -3
  134. package/dist/_internal/provider/mui-bridge.js +2 -2
  135. package/dist/_internal/provider/use-ui-theme.js +3 -3
  136. package/dist/_internal/social-login-button/social-login-button.js +9 -9
  137. package/dist/_internal/tokens/theme.js +3 -1
  138. package/dist/_internal/user-avatar/user-avatar.js +8 -8
  139. package/dist/charts.js +6 -6
  140. package/dist/{chunk-2GI7ANEL.js → chunk-22X7TT6Z.js} +4 -4
  141. package/dist/{chunk-WR5JFDQ5.js → chunk-27BL3DNT.js} +8 -8
  142. package/dist/{chunk-E55CJV65.js → chunk-2KVQIGVE.js} +2 -2
  143. package/dist/{chunk-BB2OUERT.js → chunk-2LSCK45B.js} +7 -4
  144. package/dist/chunk-2LSCK45B.js.map +1 -0
  145. package/dist/{chunk-W3FAKT3D.js → chunk-2SWQ6HIK.js} +4 -4
  146. package/dist/{chunk-ISW5K72V.js → chunk-2ZRZTGWP.js} +5 -5
  147. package/dist/{chunk-I5SBTNV2.js → chunk-3GB6KWHH.js} +2 -2
  148. package/dist/{chunk-ZEG2LNBY.js → chunk-3PJLT5FX.js} +2 -2
  149. package/dist/{chunk-CXLAJZSE.js → chunk-3VZT2FAI.js} +3 -3
  150. package/dist/{chunk-MLCFODJO.js → chunk-3W2IS5RH.js} +5 -1
  151. package/dist/{chunk-MLCFODJO.js.map → chunk-3W2IS5RH.js.map} +1 -1
  152. package/dist/{chunk-PFDM2OIP.js → chunk-45OHGD2B.js} +4 -4
  153. package/dist/{chunk-BH5BXLGI.js → chunk-4A2Q22HO.js} +3 -3
  154. package/dist/{chunk-46UPILLK.js → chunk-4ETQRBZC.js} +4 -4
  155. package/dist/{chunk-TWY5FOBY.js → chunk-5QUSX3TC.js} +5 -5
  156. package/dist/{chunk-AVGTTWTE.js → chunk-65DLYC4S.js} +4 -4
  157. package/dist/{chunk-TVPPA4RD.js → chunk-65METCKT.js} +16 -16
  158. package/dist/{chunk-OQFSYMHJ.js → chunk-67ALTEWH.js} +2 -2
  159. package/dist/{chunk-OGGHD64H.js → chunk-6SK3MTYJ.js} +2 -2
  160. package/dist/{chunk-OE2ZVL67.js → chunk-6VHCSPKK.js} +3 -3
  161. package/dist/{chunk-WAPJ2DL3.js → chunk-72T5PAW7.js} +4 -4
  162. package/dist/{chunk-SLVQ33AN.js → chunk-77DF5LKI.js} +2 -2
  163. package/dist/{chunk-7KWBGMQC.js → chunk-77OXG6DH.js} +5 -5
  164. package/dist/{chunk-Y3KRUT7O.js → chunk-7AIHK2XM.js} +2 -2
  165. package/dist/{chunk-MHV5Y5MR.js → chunk-7KEGJH3Q.js} +3 -3
  166. package/dist/{chunk-KMXAPYU2.js → chunk-7NEUPEV5.js} +2 -2
  167. package/dist/{chunk-67L7HMEP.js → chunk-7Z2AQEC5.js} +2 -2
  168. package/dist/{chunk-PQECNGDE.js → chunk-AGYGNNOM.js} +2 -2
  169. package/dist/{chunk-ZTF5C2GA.js → chunk-B5SW7I5W.js} +2 -2
  170. package/dist/{chunk-TXHJX2NG.js → chunk-BGYLL467.js} +4 -4
  171. package/dist/{chunk-R7R3LOKW.js → chunk-CA7TA36R.js} +2 -2
  172. package/dist/{chunk-FPFUXRD2.js → chunk-CKJI7JO5.js} +2 -2
  173. package/dist/{chunk-HMV4QMXS.js → chunk-CMN26J5Y.js} +4 -4
  174. package/dist/{chunk-KVEHH4SA.js → chunk-DB2MAYPK.js} +2 -2
  175. package/dist/{chunk-2ECT4IY2.js → chunk-DIHVWBQV.js} +36 -17
  176. package/dist/chunk-DIHVWBQV.js.map +1 -0
  177. package/dist/{chunk-V4FKHLEB.js → chunk-DTIB5KWP.js} +3 -3
  178. package/dist/{chunk-MESRKY67.js → chunk-DW6GBMLQ.js} +3 -3
  179. package/dist/{chunk-JO6BBSGY.js → chunk-DWJBOR47.js} +3 -3
  180. package/dist/{chunk-YW5T6KZ5.js → chunk-DYESJJ3Q.js} +9 -9
  181. package/dist/{chunk-TZDDL3DR.js → chunk-ECMJ5VPW.js} +2 -2
  182. package/dist/{chunk-OH3YGJT5.js → chunk-EMNGIYH6.js} +5 -5
  183. package/dist/{chunk-CZJLWCEG.js → chunk-EPNCYUQ7.js} +4 -4
  184. package/dist/{chunk-JZXWCEH5.js → chunk-EQA4VQEO.js} +2 -2
  185. package/dist/{chunk-3N6EK6K5.js → chunk-ERX4XIYC.js} +2 -2
  186. package/dist/{chunk-TTLI6PF7.js → chunk-FF3R67WD.js} +5 -5
  187. package/dist/{chunk-4Y6SPFKW.js → chunk-FOF2RAVQ.js} +4 -4
  188. package/dist/{chunk-KLREH4X6.js → chunk-G2JPUHEJ.js} +2 -2
  189. package/dist/{chunk-4J5EN4FQ.js → chunk-GBX5ACPF.js} +5 -5
  190. package/dist/{chunk-ZZMZF7PZ.js → chunk-GQJ4NCZ6.js} +3 -3
  191. package/dist/{chunk-IPVYEPXO.js → chunk-GSTRPZS4.js} +5 -5
  192. package/dist/{chunk-HFXTAEYY.js → chunk-GTLJYAEG.js} +2 -2
  193. package/dist/{chunk-M4LFDGI6.js → chunk-GYQT47YZ.js} +2 -2
  194. package/dist/{chunk-JSH3HFDQ.js → chunk-H3BQFEN5.js} +2 -2
  195. package/dist/{chunk-OV4WREMW.js → chunk-HKB5C2KY.js} +7 -7
  196. package/dist/{chunk-BLBOYCOV.js → chunk-HKV4MQ2W.js} +5 -5
  197. package/dist/{chunk-4MGFUPQT.js → chunk-HOJL2GKW.js} +4 -4
  198. package/dist/{chunk-HR7YTBR7.js → chunk-IASDP44E.js} +4 -4
  199. package/dist/{chunk-YMRI5QKG.js → chunk-IV5QQLCS.js} +2 -2
  200. package/dist/{chunk-JUHUKZGU.js → chunk-JD3D6Y4U.js} +2 -2
  201. package/dist/{chunk-FR67FG2U.js → chunk-JFRKBSWI.js} +35 -25
  202. package/dist/chunk-JFRKBSWI.js.map +1 -0
  203. package/dist/{chunk-AXTLFK4T.js → chunk-KAV63FBG.js} +2 -2
  204. package/dist/{chunk-2PBGVMM2.js → chunk-KOFO6QZY.js} +2 -2
  205. package/dist/{chunk-RP5FK3SO.js → chunk-L7LCSZ3H.js} +3 -3
  206. package/dist/{chunk-MNXVXW4T.js → chunk-L7S6N67X.js} +2 -2
  207. package/dist/{chunk-JXPHU3K5.js → chunk-LGJ2H4AH.js} +5 -5
  208. package/dist/{chunk-W4YWU7LQ.js → chunk-LO2B7FDQ.js} +2 -2
  209. package/dist/{chunk-PWR7K5OP.js → chunk-LV4UTYAD.js} +2 -2
  210. package/dist/{chunk-OG2FP6SE.js → chunk-M4NFXC5R.js} +4 -4
  211. package/dist/{chunk-ZPIMPOHV.js → chunk-M7E66OSC.js} +4 -4
  212. package/dist/{chunk-OGGPQVIG.js → chunk-MDTSMJ7C.js} +3 -3
  213. package/dist/{chunk-YDI6IJ6F.js → chunk-MI2MVH3I.js} +4 -4
  214. package/dist/{chunk-UIZH4DAE.js → chunk-MQPT254A.js} +4 -4
  215. package/dist/{chunk-EWT3WMVY.js → chunk-MYH7VISV.js} +5 -5
  216. package/dist/{chunk-7NSX7A5H.js → chunk-N5PY7IXI.js} +3 -3
  217. package/dist/{chunk-BHIGHSXA.js → chunk-NNXZ5RK5.js} +4 -4
  218. package/dist/{chunk-EQ7PWGBN.js → chunk-O7HLQTB7.js} +3 -3
  219. package/dist/{chunk-DW5FRWRQ.js → chunk-OAWEUKUC.js} +2 -2
  220. package/dist/{chunk-O4VCZTK4.js → chunk-OGHW7RQC.js} +2 -2
  221. package/dist/{chunk-XR6WBW23.js → chunk-OVGASVPW.js} +2 -2
  222. package/dist/{chunk-HEBQS7QP.js → chunk-OXYR2HVK.js} +3 -3
  223. package/dist/{chunk-TNVO2DTB.js → chunk-P7FQUGED.js} +5 -5
  224. package/dist/{chunk-343TTIHD.js → chunk-PENJBKPH.js} +3 -3
  225. package/dist/{chunk-2RQINU5T.js → chunk-PKFFJAQ6.js} +2 -2
  226. package/dist/{chunk-M4LQRQFL.js → chunk-PW2WLDX3.js} +2 -2
  227. package/dist/{chunk-WRDPWEIC.js → chunk-Q3GSDSK2.js} +6 -6
  228. package/dist/{chunk-VNTOBLIB.js → chunk-Q3OFOOO7.js} +2 -2
  229. package/dist/{chunk-GGI7GM5O.js → chunk-QE2C35TO.js} +4 -4
  230. package/dist/{chunk-NQN5Z36J.js → chunk-QLI7ES7Z.js} +10 -1
  231. package/dist/chunk-QLI7ES7Z.js.map +1 -0
  232. package/dist/{chunk-CT5K725B.js → chunk-QQLGSMGE.js} +2 -2
  233. package/dist/{chunk-7MN6I5NK.js → chunk-QXFPTRHB.js} +3 -3
  234. package/dist/{chunk-CZPU5TW3.js → chunk-RFZU5BTG.js} +2 -2
  235. package/dist/{chunk-JB67KPGM.js → chunk-RRO2EOJB.js} +4 -4
  236. package/dist/{chunk-MZQTHSLN.js → chunk-S7HRED4D.js} +2 -2
  237. package/dist/{chunk-NYEA7JAI.js → chunk-SC72DRTX.js} +6 -6
  238. package/dist/{chunk-JWW2Z3RH.js → chunk-SMZBGHR2.js} +7 -7
  239. package/dist/{chunk-EZSEAYYT.js → chunk-SSWZHR46.js} +5 -5
  240. package/dist/{chunk-NA7MIEG6.js → chunk-SZETT7QV.js} +2 -2
  241. package/dist/chunk-SZS7VZJN.js +25 -0
  242. package/dist/chunk-SZS7VZJN.js.map +1 -0
  243. package/dist/{chunk-2HPP6RVC.js → chunk-TQOPF7LD.js} +2 -2
  244. package/dist/{chunk-OLVZ6TOV.js → chunk-TUO47RL2.js} +4 -4
  245. package/dist/{chunk-N5IVVLTH.js → chunk-UG76BO5K.js} +79 -19
  246. package/dist/chunk-UG76BO5K.js.map +1 -0
  247. package/dist/{chunk-4IVDVZZ2.js → chunk-UGL6SJN6.js} +3 -3
  248. package/dist/{chunk-QJRDDVZ2.js → chunk-V5P5Q6HM.js} +3 -3
  249. package/dist/{chunk-73NJCGQG.js → chunk-VIK3HAUQ.js} +2 -2
  250. package/dist/{chunk-7LCXGJN5.js → chunk-VK4ULJFH.js} +2 -2
  251. package/dist/{chunk-QYNCPS5W.js → chunk-WBKWIFXA.js} +6 -6
  252. package/dist/{chunk-X4Z62ZQY.js → chunk-WETAIIKC.js} +2 -2
  253. package/dist/{chunk-GMTM6EN7.js → chunk-WKF54CCK.js} +7 -7
  254. package/dist/{chunk-KT6HWAEN.js → chunk-WZUNBSS7.js} +2 -2
  255. package/dist/{chunk-Y2B3I3IH.js → chunk-X5RDHO6G.js} +2 -2
  256. package/dist/{chunk-TXKZEKJN.js → chunk-XNOSTV5F.js} +2 -2
  257. package/dist/{chunk-7JXLGOM2.js → chunk-Y55ILY2F.js} +3 -3
  258. package/dist/{chunk-HI2OFZSZ.js → chunk-YPILHGEO.js} +2 -2
  259. package/dist/{chunk-V3PLFYKO.js → chunk-ZAJO2B75.js} +2 -2
  260. package/dist/data-display/Alert.js +4 -4
  261. package/dist/data-display/Avatar.js +3 -3
  262. package/dist/data-display/Badge.js +7 -7
  263. package/dist/data-display/Banner.js +4 -4
  264. package/dist/data-display/CardKit.js +13 -13
  265. package/dist/data-display/Carousel.js +1 -1
  266. package/dist/data-display/Chart.js +6 -6
  267. package/dist/data-display/DataViews.js +68 -67
  268. package/dist/data-display/DescriptionItem.js +4 -4
  269. package/dist/data-display/FleetMap.js +13 -13
  270. package/dist/data-display/Lightbox.js +1 -1
  271. package/dist/data-display/MapPreview.js +7 -7
  272. package/dist/data-display/Progress.js +4 -4
  273. package/dist/data-display/Sheet.js +4 -4
  274. package/dist/data-display/Table.js +2 -2
  275. package/dist/feedback/ConfirmAction.js +4 -4
  276. package/dist/form/AddressAutocomplete.js +5 -5
  277. package/dist/form/Autocomplete.js +2 -2
  278. package/dist/form/Button.js +3 -3
  279. package/dist/form/Calendar.js +3 -3
  280. package/dist/form/CategorySelect.js +4 -4
  281. package/dist/form/Checkbox.js +2 -2
  282. package/dist/form/Command.js +4 -4
  283. package/dist/form/DateRangePicker.js +10 -10
  284. package/dist/form/Label.js +1 -1
  285. package/dist/form/Menubar.js +1 -1
  286. package/dist/form/PhoneInput.js +3 -3
  287. package/dist/form/RichTextEditor.js +2 -2
  288. package/dist/form/Switch.js +6 -5
  289. package/dist/form/total-form.js +10 -10
  290. package/dist/icons.js +4 -4
  291. package/dist/layout/Box.js +4 -4
  292. package/dist/layout/Stack.js +5 -5
  293. package/dist/native/chunks/{chunk-2R2R35C5.js → chunk-2SBTJSQE.js} +5 -5
  294. package/dist/native/chunks/{chunk-WL5LXVCK.js → chunk-6L4UZBQP.js} +3 -3
  295. package/dist/native/chunks/{chunk-LEMMXZFN.js → chunk-MP3UDWTT.js} +10 -1
  296. package/dist/native/chunks/{chunk-LEMMXZFN.js.map → chunk-MP3UDWTT.js.map} +1 -1
  297. package/dist/native/chunks/{chunk-GW7TQ7HO.js → chunk-QEQZ5AF6.js} +3 -3
  298. package/dist/native/chunks/{chunk-7LTVGW23.js → chunk-UII3IFLP.js} +2 -2
  299. package/dist/native/chunks/{chunk-75JQYVDZ.js → chunk-UYREIOEM.js} +2 -2
  300. package/dist/native/chunks/{chunk-GWGIWQO7.js → chunk-XI7HTAVN.js} +2 -2
  301. package/dist/native/chunks/{chunk-QYUD3S6F.js → chunk-ZOP7UAZK.js} +2 -2
  302. package/dist/native/data-display/Alert.js +3 -3
  303. package/dist/native/data-display/Avatar.js +3 -3
  304. package/dist/native/data-display/Badge.js +3 -3
  305. package/dist/native/data-display/Chip.js +3 -3
  306. package/dist/native/data-display/EmptyState.js +5 -5
  307. package/dist/native/data-display/ErrorState.js +4 -4
  308. package/dist/native/data-display/FleetMap.js +6 -6
  309. package/dist/native/data-display/LoadingState.js +2 -2
  310. package/dist/native/data-display/Progress.js +2 -2
  311. package/dist/native/feedback/Dialog.js +3 -3
  312. package/dist/native/form/Button.js +3 -3
  313. package/dist/native/form/Checkbox.js +3 -3
  314. package/dist/native/form/Input.js +3 -3
  315. package/dist/native/form/Select.js +4 -4
  316. package/dist/native/form/Switch.js +26 -8
  317. package/dist/native/form/Switch.js.map +1 -1
  318. package/dist/native/icons.js +3 -3
  319. package/dist/native/layout/Box.js +3 -3
  320. package/dist/native/layout/Card.js +2 -2
  321. package/dist/native/layout/Container.js +2 -2
  322. package/dist/native/layout/Skeleton.js +3 -3
  323. package/dist/native/layout/Spacer.js +2 -2
  324. package/dist/native/layout/Stack.js +3 -3
  325. package/dist/native/provider.js +2 -2
  326. package/dist/native/tokens.js +3 -1
  327. package/dist/native/typography/Heading.js +2 -2
  328. package/dist/native/typography/Paragraph.js +2 -2
  329. package/dist/native/typography/Text.js +2 -2
  330. package/dist/navigation/AppHeader.js +7 -7
  331. package/dist/provider.js +4 -4
  332. package/dist/social-login-button.js +9 -9
  333. package/dist/tokens.js +3 -1
  334. package/dist/types/components/form/Button/Button.styles.d.ts.map +1 -1
  335. package/dist/types/components/form/Switch/Switch.d.ts.map +1 -1
  336. package/dist/types/components/form/Switch/Switch.ids.d.ts +42 -0
  337. package/dist/types/components/form/Switch/Switch.ids.d.ts.map +1 -0
  338. package/dist/types/components/form/Switch/Switch.metrics.d.ts +19 -0
  339. package/dist/types/components/form/Switch/Switch.metrics.d.ts.map +1 -1
  340. package/dist/types/components/form/Switch/Switch.parts.d.ts +31 -11
  341. package/dist/types/components/form/Switch/Switch.parts.d.ts.map +1 -1
  342. package/dist/types/components/form/Switch/Switch.styles.d.ts +6 -0
  343. package/dist/types/components/form/Switch/Switch.styles.d.ts.map +1 -1
  344. package/dist/types/tokens/theme.d.ts +38 -0
  345. package/dist/types/tokens/theme.d.ts.map +1 -1
  346. package/dist/types-native/components/form/Switch/Switch.look.native.d.ts +26 -2
  347. package/dist/types-native/components/form/Switch/Switch.look.native.d.ts.map +1 -1
  348. package/dist/types-native/components/form/Switch/Switch.metrics.d.ts +19 -0
  349. package/dist/types-native/components/form/Switch/Switch.metrics.d.ts.map +1 -1
  350. package/dist/types-native/components/form/Switch/Switch.native.d.ts.map +1 -1
  351. package/dist/types-native/tokens/theme.d.ts +38 -0
  352. package/dist/types-native/tokens/theme.d.ts.map +1 -1
  353. package/dist/typography/Heading.js +4 -4
  354. package/dist/typography/Paragraph.js +2 -2
  355. package/dist/typography/Text.js +3 -3
  356. package/dist/user-avatar.js +8 -8
  357. package/package.json +1 -1
  358. package/src/components/form/Button/Button.md +8 -0
  359. package/src/components/form/Button/Button.styles.ts +24 -3
  360. package/src/components/form/Switch/Switch.ids.ts +63 -0
  361. package/src/components/form/Switch/Switch.look.native.ts +45 -2
  362. package/src/components/form/Switch/Switch.md +34 -9
  363. package/src/components/form/Switch/Switch.metrics.ts +21 -0
  364. package/src/components/form/Switch/Switch.native.tsx +19 -6
  365. package/src/components/form/Switch/Switch.parts.tsx +150 -17
  366. package/src/components/form/Switch/Switch.styles.ts +59 -6
  367. package/src/components/form/Switch/Switch.tsx +32 -30
  368. package/src/tokens/theme.ts +50 -0
  369. package/dist/chunk-2ECT4IY2.js.map +0 -1
  370. package/dist/chunk-BB2OUERT.js.map +0 -1
  371. package/dist/chunk-FR67FG2U.js.map +0 -1
  372. package/dist/chunk-N5IVVLTH.js.map +0 -1
  373. package/dist/chunk-NQN5Z36J.js.map +0 -1
  374. /package/dist/{chunk-2GI7ANEL.js.map → chunk-22X7TT6Z.js.map} +0 -0
  375. /package/dist/{chunk-WR5JFDQ5.js.map → chunk-27BL3DNT.js.map} +0 -0
  376. /package/dist/{chunk-E55CJV65.js.map → chunk-2KVQIGVE.js.map} +0 -0
  377. /package/dist/{chunk-W3FAKT3D.js.map → chunk-2SWQ6HIK.js.map} +0 -0
  378. /package/dist/{chunk-ISW5K72V.js.map → chunk-2ZRZTGWP.js.map} +0 -0
  379. /package/dist/{chunk-I5SBTNV2.js.map → chunk-3GB6KWHH.js.map} +0 -0
  380. /package/dist/{chunk-ZEG2LNBY.js.map → chunk-3PJLT5FX.js.map} +0 -0
  381. /package/dist/{chunk-CXLAJZSE.js.map → chunk-3VZT2FAI.js.map} +0 -0
  382. /package/dist/{chunk-PFDM2OIP.js.map → chunk-45OHGD2B.js.map} +0 -0
  383. /package/dist/{chunk-BH5BXLGI.js.map → chunk-4A2Q22HO.js.map} +0 -0
  384. /package/dist/{chunk-46UPILLK.js.map → chunk-4ETQRBZC.js.map} +0 -0
  385. /package/dist/{chunk-TWY5FOBY.js.map → chunk-5QUSX3TC.js.map} +0 -0
  386. /package/dist/{chunk-AVGTTWTE.js.map → chunk-65DLYC4S.js.map} +0 -0
  387. /package/dist/{chunk-TVPPA4RD.js.map → chunk-65METCKT.js.map} +0 -0
  388. /package/dist/{chunk-OQFSYMHJ.js.map → chunk-67ALTEWH.js.map} +0 -0
  389. /package/dist/{chunk-OGGHD64H.js.map → chunk-6SK3MTYJ.js.map} +0 -0
  390. /package/dist/{chunk-OE2ZVL67.js.map → chunk-6VHCSPKK.js.map} +0 -0
  391. /package/dist/{chunk-WAPJ2DL3.js.map → chunk-72T5PAW7.js.map} +0 -0
  392. /package/dist/{chunk-SLVQ33AN.js.map → chunk-77DF5LKI.js.map} +0 -0
  393. /package/dist/{chunk-7KWBGMQC.js.map → chunk-77OXG6DH.js.map} +0 -0
  394. /package/dist/{chunk-Y3KRUT7O.js.map → chunk-7AIHK2XM.js.map} +0 -0
  395. /package/dist/{chunk-MHV5Y5MR.js.map → chunk-7KEGJH3Q.js.map} +0 -0
  396. /package/dist/{chunk-KMXAPYU2.js.map → chunk-7NEUPEV5.js.map} +0 -0
  397. /package/dist/{chunk-67L7HMEP.js.map → chunk-7Z2AQEC5.js.map} +0 -0
  398. /package/dist/{chunk-PQECNGDE.js.map → chunk-AGYGNNOM.js.map} +0 -0
  399. /package/dist/{chunk-ZTF5C2GA.js.map → chunk-B5SW7I5W.js.map} +0 -0
  400. /package/dist/{chunk-TXHJX2NG.js.map → chunk-BGYLL467.js.map} +0 -0
  401. /package/dist/{chunk-R7R3LOKW.js.map → chunk-CA7TA36R.js.map} +0 -0
  402. /package/dist/{chunk-FPFUXRD2.js.map → chunk-CKJI7JO5.js.map} +0 -0
  403. /package/dist/{chunk-HMV4QMXS.js.map → chunk-CMN26J5Y.js.map} +0 -0
  404. /package/dist/{chunk-KVEHH4SA.js.map → chunk-DB2MAYPK.js.map} +0 -0
  405. /package/dist/{chunk-V4FKHLEB.js.map → chunk-DTIB5KWP.js.map} +0 -0
  406. /package/dist/{chunk-MESRKY67.js.map → chunk-DW6GBMLQ.js.map} +0 -0
  407. /package/dist/{chunk-JO6BBSGY.js.map → chunk-DWJBOR47.js.map} +0 -0
  408. /package/dist/{chunk-YW5T6KZ5.js.map → chunk-DYESJJ3Q.js.map} +0 -0
  409. /package/dist/{chunk-TZDDL3DR.js.map → chunk-ECMJ5VPW.js.map} +0 -0
  410. /package/dist/{chunk-OH3YGJT5.js.map → chunk-EMNGIYH6.js.map} +0 -0
  411. /package/dist/{chunk-CZJLWCEG.js.map → chunk-EPNCYUQ7.js.map} +0 -0
  412. /package/dist/{chunk-JZXWCEH5.js.map → chunk-EQA4VQEO.js.map} +0 -0
  413. /package/dist/{chunk-3N6EK6K5.js.map → chunk-ERX4XIYC.js.map} +0 -0
  414. /package/dist/{chunk-TTLI6PF7.js.map → chunk-FF3R67WD.js.map} +0 -0
  415. /package/dist/{chunk-4Y6SPFKW.js.map → chunk-FOF2RAVQ.js.map} +0 -0
  416. /package/dist/{chunk-KLREH4X6.js.map → chunk-G2JPUHEJ.js.map} +0 -0
  417. /package/dist/{chunk-4J5EN4FQ.js.map → chunk-GBX5ACPF.js.map} +0 -0
  418. /package/dist/{chunk-ZZMZF7PZ.js.map → chunk-GQJ4NCZ6.js.map} +0 -0
  419. /package/dist/{chunk-IPVYEPXO.js.map → chunk-GSTRPZS4.js.map} +0 -0
  420. /package/dist/{chunk-HFXTAEYY.js.map → chunk-GTLJYAEG.js.map} +0 -0
  421. /package/dist/{chunk-M4LFDGI6.js.map → chunk-GYQT47YZ.js.map} +0 -0
  422. /package/dist/{chunk-JSH3HFDQ.js.map → chunk-H3BQFEN5.js.map} +0 -0
  423. /package/dist/{chunk-OV4WREMW.js.map → chunk-HKB5C2KY.js.map} +0 -0
  424. /package/dist/{chunk-BLBOYCOV.js.map → chunk-HKV4MQ2W.js.map} +0 -0
  425. /package/dist/{chunk-4MGFUPQT.js.map → chunk-HOJL2GKW.js.map} +0 -0
  426. /package/dist/{chunk-HR7YTBR7.js.map → chunk-IASDP44E.js.map} +0 -0
  427. /package/dist/{chunk-YMRI5QKG.js.map → chunk-IV5QQLCS.js.map} +0 -0
  428. /package/dist/{chunk-JUHUKZGU.js.map → chunk-JD3D6Y4U.js.map} +0 -0
  429. /package/dist/{chunk-AXTLFK4T.js.map → chunk-KAV63FBG.js.map} +0 -0
  430. /package/dist/{chunk-2PBGVMM2.js.map → chunk-KOFO6QZY.js.map} +0 -0
  431. /package/dist/{chunk-RP5FK3SO.js.map → chunk-L7LCSZ3H.js.map} +0 -0
  432. /package/dist/{chunk-MNXVXW4T.js.map → chunk-L7S6N67X.js.map} +0 -0
  433. /package/dist/{chunk-JXPHU3K5.js.map → chunk-LGJ2H4AH.js.map} +0 -0
  434. /package/dist/{chunk-W4YWU7LQ.js.map → chunk-LO2B7FDQ.js.map} +0 -0
  435. /package/dist/{chunk-PWR7K5OP.js.map → chunk-LV4UTYAD.js.map} +0 -0
  436. /package/dist/{chunk-OG2FP6SE.js.map → chunk-M4NFXC5R.js.map} +0 -0
  437. /package/dist/{chunk-ZPIMPOHV.js.map → chunk-M7E66OSC.js.map} +0 -0
  438. /package/dist/{chunk-OGGPQVIG.js.map → chunk-MDTSMJ7C.js.map} +0 -0
  439. /package/dist/{chunk-YDI6IJ6F.js.map → chunk-MI2MVH3I.js.map} +0 -0
  440. /package/dist/{chunk-UIZH4DAE.js.map → chunk-MQPT254A.js.map} +0 -0
  441. /package/dist/{chunk-EWT3WMVY.js.map → chunk-MYH7VISV.js.map} +0 -0
  442. /package/dist/{chunk-7NSX7A5H.js.map → chunk-N5PY7IXI.js.map} +0 -0
  443. /package/dist/{chunk-BHIGHSXA.js.map → chunk-NNXZ5RK5.js.map} +0 -0
  444. /package/dist/{chunk-EQ7PWGBN.js.map → chunk-O7HLQTB7.js.map} +0 -0
  445. /package/dist/{chunk-DW5FRWRQ.js.map → chunk-OAWEUKUC.js.map} +0 -0
  446. /package/dist/{chunk-O4VCZTK4.js.map → chunk-OGHW7RQC.js.map} +0 -0
  447. /package/dist/{chunk-XR6WBW23.js.map → chunk-OVGASVPW.js.map} +0 -0
  448. /package/dist/{chunk-HEBQS7QP.js.map → chunk-OXYR2HVK.js.map} +0 -0
  449. /package/dist/{chunk-TNVO2DTB.js.map → chunk-P7FQUGED.js.map} +0 -0
  450. /package/dist/{chunk-343TTIHD.js.map → chunk-PENJBKPH.js.map} +0 -0
  451. /package/dist/{chunk-2RQINU5T.js.map → chunk-PKFFJAQ6.js.map} +0 -0
  452. /package/dist/{chunk-M4LQRQFL.js.map → chunk-PW2WLDX3.js.map} +0 -0
  453. /package/dist/{chunk-WRDPWEIC.js.map → chunk-Q3GSDSK2.js.map} +0 -0
  454. /package/dist/{chunk-VNTOBLIB.js.map → chunk-Q3OFOOO7.js.map} +0 -0
  455. /package/dist/{chunk-GGI7GM5O.js.map → chunk-QE2C35TO.js.map} +0 -0
  456. /package/dist/{chunk-CT5K725B.js.map → chunk-QQLGSMGE.js.map} +0 -0
  457. /package/dist/{chunk-7MN6I5NK.js.map → chunk-QXFPTRHB.js.map} +0 -0
  458. /package/dist/{chunk-CZPU5TW3.js.map → chunk-RFZU5BTG.js.map} +0 -0
  459. /package/dist/{chunk-JB67KPGM.js.map → chunk-RRO2EOJB.js.map} +0 -0
  460. /package/dist/{chunk-MZQTHSLN.js.map → chunk-S7HRED4D.js.map} +0 -0
  461. /package/dist/{chunk-NYEA7JAI.js.map → chunk-SC72DRTX.js.map} +0 -0
  462. /package/dist/{chunk-JWW2Z3RH.js.map → chunk-SMZBGHR2.js.map} +0 -0
  463. /package/dist/{chunk-EZSEAYYT.js.map → chunk-SSWZHR46.js.map} +0 -0
  464. /package/dist/{chunk-NA7MIEG6.js.map → chunk-SZETT7QV.js.map} +0 -0
  465. /package/dist/{chunk-2HPP6RVC.js.map → chunk-TQOPF7LD.js.map} +0 -0
  466. /package/dist/{chunk-OLVZ6TOV.js.map → chunk-TUO47RL2.js.map} +0 -0
  467. /package/dist/{chunk-4IVDVZZ2.js.map → chunk-UGL6SJN6.js.map} +0 -0
  468. /package/dist/{chunk-QJRDDVZ2.js.map → chunk-V5P5Q6HM.js.map} +0 -0
  469. /package/dist/{chunk-73NJCGQG.js.map → chunk-VIK3HAUQ.js.map} +0 -0
  470. /package/dist/{chunk-7LCXGJN5.js.map → chunk-VK4ULJFH.js.map} +0 -0
  471. /package/dist/{chunk-QYNCPS5W.js.map → chunk-WBKWIFXA.js.map} +0 -0
  472. /package/dist/{chunk-X4Z62ZQY.js.map → chunk-WETAIIKC.js.map} +0 -0
  473. /package/dist/{chunk-GMTM6EN7.js.map → chunk-WKF54CCK.js.map} +0 -0
  474. /package/dist/{chunk-KT6HWAEN.js.map → chunk-WZUNBSS7.js.map} +0 -0
  475. /package/dist/{chunk-Y2B3I3IH.js.map → chunk-X5RDHO6G.js.map} +0 -0
  476. /package/dist/{chunk-TXKZEKJN.js.map → chunk-XNOSTV5F.js.map} +0 -0
  477. /package/dist/{chunk-7JXLGOM2.js.map → chunk-Y55ILY2F.js.map} +0 -0
  478. /package/dist/{chunk-HI2OFZSZ.js.map → chunk-YPILHGEO.js.map} +0 -0
  479. /package/dist/{chunk-V3PLFYKO.js.map → chunk-ZAJO2B75.js.map} +0 -0
  480. /package/dist/native/chunks/{chunk-2R2R35C5.js.map → chunk-2SBTJSQE.js.map} +0 -0
  481. /package/dist/native/chunks/{chunk-WL5LXVCK.js.map → chunk-6L4UZBQP.js.map} +0 -0
  482. /package/dist/native/chunks/{chunk-GW7TQ7HO.js.map → chunk-QEQZ5AF6.js.map} +0 -0
  483. /package/dist/native/chunks/{chunk-7LTVGW23.js.map → chunk-UII3IFLP.js.map} +0 -0
  484. /package/dist/native/chunks/{chunk-75JQYVDZ.js.map → chunk-UYREIOEM.js.map} +0 -0
  485. /package/dist/native/chunks/{chunk-GWGIWQO7.js.map → chunk-XI7HTAVN.js.map} +0 -0
  486. /package/dist/native/chunks/{chunk-QYUD3S6F.js.map → chunk-ZOP7UAZK.js.map} +0 -0
@@ -1,15 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { SwitchFlags } from './Switch.styles';
3
3
  import type { SwitchProps } from './Switch.types';
4
- /**
5
- * A plain wrapper over the styled row. Exporting the styled component itself
6
- * needs a @mui/system reference tsc calls unportable (TS2742).
7
- */
8
- export declare const LabelContainer: React.FC<{
9
- labelPosition?: string;
10
- error?: boolean;
11
- children: React.ReactNode;
12
- }>;
13
4
  export interface SwitchIconProps {
14
5
  icon: React.ReactNode;
15
6
  /** True when this icon is the one the current state should show. */
@@ -17,6 +8,8 @@ export interface SwitchIconProps {
17
8
  animated: boolean;
18
9
  size: string;
19
10
  side: 'on' | 'off';
11
+ /** The ink for the ON icon, which sits on the brand-filled track (FUT-1924). */
12
+ onInk: string;
20
13
  }
21
14
  /**
22
15
  * One of the two icons overlaid on the track. The on icon slides to the left
@@ -33,19 +26,46 @@ export interface SwitchControlProps extends SwitchFlags {
33
26
  size: string;
34
27
  dataTestId?: string;
35
28
  switchRef?: React.Ref<HTMLButtonElement>;
29
+ /** The id the label points at — always set, so the input always has one. */
30
+ inputId: string;
31
+ /** The caller's own `inputProps`, merged rather than spread over (FUT-1905). */
32
+ inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
33
+ /** The description's id, appended to whatever the caller described it by. */
34
+ describedBy?: string;
36
35
  rest: Record<string, unknown>;
37
36
  }
38
37
  /** The control itself: the track, and the two icons that may sit over it. */
39
38
  export declare const SwitchControl: React.FC<SwitchControlProps>;
39
+ /**
40
+ * The helper line, which is where a validation message lands — so it is
41
+ * `aria-describedby`'d like the description (FUT-1905).
42
+ *
43
+ * It carried no `id` and nothing pointed at it, which means an `error` state
44
+ * announced as "checkbox, checked" and nothing else: the one sentence saying
45
+ * WHY was on screen and outside the accessibility tree.
46
+ */
40
47
  export declare const SwitchHelper: React.FC<{
41
48
  helperText?: React.ReactNode;
42
49
  error?: boolean;
43
50
  dataTestId?: string;
51
+ id?: string;
44
52
  }>;
45
- export declare const SwitchLabel: React.FC<{
46
- label: React.ReactNode;
53
+ /**
54
+ * The control and its label in one row, or the control alone.
55
+ *
56
+ * Lives here rather than inline in `Switch.tsx` because the two branches only
57
+ * differ in what surrounds the control — and the component that assembles them
58
+ * was long enough that the wiring got hard to see between them.
59
+ */
60
+ export declare const SwitchRow: React.FC<{
61
+ label?: React.ReactNode;
47
62
  description?: React.ReactNode;
63
+ labelPosition?: string;
48
64
  error?: boolean;
49
65
  dataTestId?: string;
66
+ htmlFor: string;
67
+ descriptionId?: string;
68
+ disabled?: boolean;
69
+ control: React.ReactNode;
50
70
  }>;
51
71
  //# sourceMappingURL=Switch.parts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.parts.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Switch/Switch.parts.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA0ClD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAIA,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsBhD,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,6EAA6E;AAC7E,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAwDtD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CASS,CAAC;AAEX,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;IACjC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAoBA,CAAC"}
1
+ {"version":3,"file":"Switch.parts.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Switch/Switch.parts.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAwDlD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC;IACnB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA6BhD,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACzC,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,UAAU,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACzD,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,6EAA6E;AAC7E,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA4EtD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAUS,CAAC;AAoEX;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CA8BA,CAAC"}
@@ -16,5 +16,11 @@ export interface SwitchFlags {
16
16
  ripple?: boolean;
17
17
  pulse?: boolean;
18
18
  }
19
+ /**
20
+ * The same checked-track ink, for the two ICONS the control overlays on the
21
+ * track — which are drawn as components rather than styles, so they cannot
22
+ * reach {@link checkedInk} directly.
23
+ */
24
+ export declare const onTrackInk: (theme: Theme, flags: SwitchFlags) => string;
19
25
  export declare const switchSx: (theme: Theme, flags: SwitchFlags) => CSSObject;
20
26
  //# sourceMappingURL=Switch.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Switch/Switch.styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAwCtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAiDxE,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAoMD,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,EAAE,OAAO,WAAW,KAAG,SAc3D,CAAC"}
1
+ {"version":3,"file":"Switch.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Switch/Switch.styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAyCtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAiDxE,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAgPD;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,EAAE,OAAO,WAAW,KAAG,MACe,CAAC;AAE9E,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,EAAE,OAAO,WAAW,KAAG,SAc3D,CAAC"}
@@ -143,6 +143,44 @@ export declare const DEFAULT_BRAND: Record<UiThemeMode, {
143
143
  * palette's `text.primary`, which is what made it easy to read backwards.)
144
144
  */
145
145
  export declare function contrastText(background: string): string;
146
+ /**
147
+ * The ink that reads on EVERY one of these fills (FUT-1924).
148
+ *
149
+ * {@link contrastText} answers for one fill, which is all MUI's `augmentColor`
150
+ * ever needs: a solid button is a single flat colour. Two components paint the
151
+ * label over something that is not one colour — `Button`'s `gradient` variant
152
+ * runs between two stops, and `Switch`'s thumb travels the whole length of a
153
+ * checked track — and both of them stated `#fff` outright instead, which is
154
+ * white-on-pale the moment a white-labelled host hands the library a pale
155
+ * brand. Audited across the library, those two were the only places a hardcoded
156
+ * white sat over a surface the TENANT chooses.
157
+ *
158
+ * **This deliberately does not follow `contrastText`'s rule.** MUI's is a
159
+ * threshold that PREFERS white — white wherever white clears 3:1 — which is a
160
+ * brand-feel decision, and it is kept for every existing caller so nothing
161
+ * already legible moves. Here the fills can disagree: over MUI's own success
162
+ * pair white is 2.78:1 on `#4caf50` and dark ink 2.66:1 on `#1b5e20`, so
163
+ * neither meets any threshold and asking whether one does is the wrong
164
+ * question. The answer is whichever ink has the better WORST case across the
165
+ * fills — which is also not what either fill says on its own, since
166
+ * `contrastText('#4caf50')` is dark ink.
167
+ *
168
+ * A gradient wide enough that neither ink clears 4.5:1 anywhere is a palette
169
+ * problem this cannot fix — it returns the less bad ink and does not pretend
170
+ * otherwise.
171
+ *
172
+ * `Math.min` is the claim, and it is worth knowing that no test can prove it
173
+ * against `Math.max` today: the two candidate inks sit at opposite ends of the
174
+ * luminance range, so ranking them by their best fill and by their worst gives
175
+ * the same winner for every possible pair (checked exhaustively). Worst case is
176
+ * still what this MEANS, and the moment a third ink or one that is not an
177
+ * extreme is offered, the two stop agreeing.
178
+ *
179
+ * `fallback` is returned when a fill cannot be decomposed: {@link getContrastRatio}
180
+ * throws on a format it does not know, and a throw inside an emotion style
181
+ * function takes the render down with it.
182
+ */
183
+ export declare function inkOver(fills: readonly string[], fallback: string): string;
146
184
  /**
147
185
  * MUI's `augmentColor` for a custom colour: derive whatever shade the seed
148
186
  * left out. `light` is one tonal offset up, `dark` one and a half down.
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/tokens/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/tokens/theme.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,32 @@ export type SwitchPaint = Pick<SwitchBaseProps, SwitchFlagKeys>;
32
32
  * gradient fill — and `glass` its paper wash without the blur.
33
33
  */
34
34
  export declare function trackStyle(theme: UiTheme, paint: SwitchPaint, palette: SwitchPalette, geometry: SwitchGeometry, look: SwitchLook, state: SwitchState): ViewStyle;
35
- /** The knob: white, round for iOS and the default, squarer for Android and Material. */
36
- export declare function thumbStyle(theme: UiTheme, paint: SwitchPaint, geometry: SwitchGeometry, look: SwitchLook, state: SwitchState): ViewStyle;
35
+ /**
36
+ * The ink on the CHECKED track — the thumb, and the `on` wording (FUT-1924).
37
+ *
38
+ * Both halves of the component had a stated `#fff` here, and the checked track
39
+ * is the one surface a tenant chooses: a pale brand got a white knob on a pale
40
+ * bar, which reads as OFF while it is on.
41
+ *
42
+ * **The fills are THIS renderer's, not the web's, and they differ.** The web
43
+ * paints a real three-stop gradient and hands `checkedInk` all three
44
+ * (`Switch.styles.ts`); React Native has no gradient without a dependency, so
45
+ * `trackStyle` shows `gradientFirstStop` — `palette.light`, FLAT — and
46
+ * `NATIVE-NOTES.md` records that as a known divergence. Passing the web's set
47
+ * here would judge the ink against two fills native never draws, and the two
48
+ * renderers then disagree on the same palette: measured on `#00897b`, the web
49
+ * answers white and this answered dark ink, because `main` and `dark` were in
50
+ * the list and only `light` is on screen.
51
+ *
52
+ * So the gradient case is ONE fill, which is the one it paints.
53
+ */
54
+ export declare function checkedInk(paint: SwitchPaint, palette: SwitchPalette): string;
55
+ /**
56
+ * The knob: round for iOS and the default, squarer for Android and Material.
57
+ * White while resting, the checked track's own ink once on — see
58
+ * {@link RESTING_THUMB} and {@link checkedInk}.
59
+ */
60
+ export declare function thumbStyle(theme: UiTheme, paint: SwitchPaint, palette: SwitchPalette, geometry: SwitchGeometry, look: SwitchLook, state: SwitchState): ViewStyle;
37
61
  /** MUI's `body2` at 500, in the error hue when the row is in error. */
38
62
  export declare function labelTextStyle(theme: UiTheme, error: boolean): TextStyle;
39
63
  /** MUI's `caption`, 4px under the label. */
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.look.native.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Switch/Switch.look.native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAkBL,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa,CAgB9E;AAED,4DAA4D;AAC5D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;AACjF,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,GACjB,SAAS,CA4BX;AAgBD,wFAAwF;AACxF,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,GACjB,SAAS,CAmBX;AAED,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,CAQxE;AAED,4CAA4C;AAC5C,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,CAQ9E;AAED,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,CAQzE"}
1
+ {"version":3,"file":"Switch.look.native.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Switch/Switch.look.native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAmBL,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa,CAgB9E;AAED,4DAA4D;AAC5D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;AACjF,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,GACjB,SAAS,CA4BX;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAI7E;AA2BD;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,GACjB,SAAS,CAmBX;AAED,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,CAQxE;AAED,4CAA4C;AAC5C,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,CAQ9E;AAED,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,CAQzE"}
@@ -159,6 +159,14 @@ export declare const LABEL_GAP_UNITS: {
159
159
  readonly beside: 2;
160
160
  readonly stacked: 1;
161
161
  };
162
+ /**
163
+ * The minimum height of a touch target, in px (FUT-1905).
164
+ *
165
+ * No entry in {@link SWITCH_SIZES} reaches it — `xl`, the largest, is 34px tall
166
+ * and `md` is 26 — so a consumer cannot buy a legal target by passing a bigger
167
+ * `size`. The label is what clears it: see `SwitchLabel` in `Switch.parts.tsx`.
168
+ */
169
+ export declare const TAP_TARGET_MIN = 40;
162
170
  /**
163
171
  * `neutral`'s three greys, and the literals the web falls back to for a theme
164
172
  * whose grey ramp omits a step. Same three steps `Button` draws its neutral
@@ -175,6 +183,17 @@ export declare const NEUTRAL_FALLBACK: {
175
183
  readonly light: "#9e9e9e";
176
184
  };
177
185
  export declare const NEUTRAL_CONTRAST = "#fff";
186
+ /**
187
+ * The RESTING thumb — the knob while the switch is off (FUT-1924).
188
+ *
189
+ * It stays white, and the reason is worth stating because the checked thumb no
190
+ * longer is: the resting track is `theme.palette.action.disabled` washed over
191
+ * the page, which no tenant picks, and a white knob on it is the conventional
192
+ * look in both modes. The CHECKED track is `palette.main`, a colour the tenant
193
+ * does pick, and that is where a stated white was a defect. See `checkedInk`
194
+ * in `Switch.styles.ts` and its native twin.
195
+ */
196
+ export declare const RESTING_THUMB = "#fff";
178
197
  /** Hover: the thumb lifts a shade and takes a halo of the hue. */
179
198
  export declare const SWITCH_HOVER: {
180
199
  readonly thumbScale: 1.05;
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.metrics.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Switch/Switch.metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Switch.metrics.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Switch/Switch.metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;;;;;;;GAWG;AAEH,oEAAoE;AACpE,eAAO,MAAM,YAAY,SAAS,CAAC;AAEnC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,cAAc,CAM1D,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAEpE,eAAO,MAAM,MAAM,GAAI,UAAU,MAAM,KAAG,UAKzC,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,UAAU,GAAI,MAAM,SAAS,GAAG,SAAS,EAAE,QAAQ,MAAM,EAAE,SAAS,MAAM,KAAG,cAGzF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAKnF,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAKvE,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,WAAW,GAAI,MAAM,UAAU,EAAE,WAAW,MAAM,KAAG,MAGjE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAmD,CAAC;AAE3G,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG9C,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,QAA+H,CAAC;AAE7J,sCAAsC;AACtC,eAAO,MAAM,cAAc,QAAO,MAC6D,CAAC;AAEhG,0EAA0E;AAC1E,eAAO,MAAM,WAAW;;;;CAAkD,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,UAAU,KAAG,MAIvF,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,WAAW,GAAI,MAAM,UAAU,EAAE,UAAU,cAAc,KAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAOtG,CAAC;AAEF,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,kFAAkF;AAClF,eAAO,MAAM,iBAAiB;;;CAA+D,CAAC;AAE9F,mEAAmE;AACnE,eAAO,MAAM,QAAQ;;;;CAA2E,CAAC;AAEjG,2EAA2E;AAC3E,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AAEX,0FAA0F;AAC1F,eAAO,MAAM,eAAe;;;;;;;;;;;CAIlB,CAAC;AAEX,uFAAuF;AACvF,eAAO,MAAM,WAAW;;;;;;CAA8E,CAAC;AAEvG,0FAA0F;AAC1F,eAAO,MAAM,YAAY;;;;CAAyD,CAAC;AACnF,eAAO,MAAM,aAAa;;;;CAA6C,CAAC;AAExE,qEAAqE;AACrE,eAAO,MAAM,cAAc;;;;CAAwD,CAAC;AAEpF,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAA8C,CAAC;AACvG,oEAAoE;AACpE,eAAO,MAAM,WAAW;;;CAA0C,CAAC;AAEnE,uFAAuF;AACvF,eAAO,MAAM,WAAW;;;;CAA4D,CAAC;AAErF,sFAAsF;AACtF,eAAO,MAAM,YAAY;;;;CAA+D,CAAC;AACzF,eAAO,MAAM,kBAAkB;;;;CAAmE,CAAC;AACnG,eAAO,MAAM,aAAa;;;;CAAiE,CAAC;AAE5F,6EAA6E;AAC7E,eAAO,MAAM,eAAe;;;CAAqC,CAAC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;CAAgD,CAAC;AAC1E,eAAO,MAAM,gBAAgB;;;;CAAkE,CAAC;AAChG,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAEvC;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,SAAS,CAAC;AAEpC,kEAAkE;AAClE,eAAO,MAAM,YAAY;;;;;CAAoE,CAAC;AAE9F,wDAAwD;AACxD,eAAO,MAAM,iBAAiB;;;CAAoC,CAAC;AAEnE,uEAAuE;AACvE,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM,KAAG,MAAyB,CAAC;AAE/D,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,GAAI,SAAS,aAAa,GAAG,SAAS,EAAE,SAAS,MAAM,EAAE,UAAU,MAAM,KAAG,OACtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.native.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Switch/Switch.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAQL,IAAI,EACJ,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AA+PtB;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM;;;;;;;8BA4DjB,CAAC"}
1
+ {"version":3,"file":"Switch.native.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Switch/Switch.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAQL,IAAI,EACJ,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AA4QtB;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM;;;;;;;8BA4DjB,CAAC"}
@@ -143,6 +143,44 @@ export declare const DEFAULT_BRAND: Record<UiThemeMode, {
143
143
  * palette's `text.primary`, which is what made it easy to read backwards.)
144
144
  */
145
145
  export declare function contrastText(background: string): string;
146
+ /**
147
+ * The ink that reads on EVERY one of these fills (FUT-1924).
148
+ *
149
+ * {@link contrastText} answers for one fill, which is all MUI's `augmentColor`
150
+ * ever needs: a solid button is a single flat colour. Two components paint the
151
+ * label over something that is not one colour — `Button`'s `gradient` variant
152
+ * runs between two stops, and `Switch`'s thumb travels the whole length of a
153
+ * checked track — and both of them stated `#fff` outright instead, which is
154
+ * white-on-pale the moment a white-labelled host hands the library a pale
155
+ * brand. Audited across the library, those two were the only places a hardcoded
156
+ * white sat over a surface the TENANT chooses.
157
+ *
158
+ * **This deliberately does not follow `contrastText`'s rule.** MUI's is a
159
+ * threshold that PREFERS white — white wherever white clears 3:1 — which is a
160
+ * brand-feel decision, and it is kept for every existing caller so nothing
161
+ * already legible moves. Here the fills can disagree: over MUI's own success
162
+ * pair white is 2.78:1 on `#4caf50` and dark ink 2.66:1 on `#1b5e20`, so
163
+ * neither meets any threshold and asking whether one does is the wrong
164
+ * question. The answer is whichever ink has the better WORST case across the
165
+ * fills — which is also not what either fill says on its own, since
166
+ * `contrastText('#4caf50')` is dark ink.
167
+ *
168
+ * A gradient wide enough that neither ink clears 4.5:1 anywhere is a palette
169
+ * problem this cannot fix — it returns the less bad ink and does not pretend
170
+ * otherwise.
171
+ *
172
+ * `Math.min` is the claim, and it is worth knowing that no test can prove it
173
+ * against `Math.max` today: the two candidate inks sit at opposite ends of the
174
+ * luminance range, so ranking them by their best fill and by their worst gives
175
+ * the same winner for every possible pair (checked exhaustively). Worst case is
176
+ * still what this MEANS, and the moment a third ink or one that is not an
177
+ * extreme is offered, the two stop agreeing.
178
+ *
179
+ * `fallback` is returned when a fill cannot be decomposed: {@link getContrastRatio}
180
+ * throws on a format it does not know, and a throw inside an emotion style
181
+ * function takes the render down with it.
182
+ */
183
+ export declare function inkOver(fills: readonly string[], fallback: string): string;
146
184
  /**
147
185
  * MUI's `augmentColor` for a custom colour: derive whatever shade the seed
148
186
  * left out. `light` is one tonal offset up, `dark` one and a half down.
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/tokens/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/tokens/theme.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import "../chunk-6GP2DOOO.js";
2
2
  import {
3
3
  Heading
4
- } from "../chunk-MESRKY67.js";
5
- import "../chunk-PWR7K5OP.js";
6
- import "../chunk-3N6EK6K5.js";
4
+ } from "../chunk-DW6GBMLQ.js";
5
+ import "../chunk-LV4UTYAD.js";
6
+ import "../chunk-ERX4XIYC.js";
7
7
  import "../chunk-TYJR4GOF.js";
8
8
  import "../chunk-PT6TCWIW.js";
9
- import "../chunk-NQN5Z36J.js";
9
+ import "../chunk-QLI7ES7Z.js";
10
10
  import "../chunk-AG66JBNH.js";
11
11
  import "../chunk-6JAIFIPW.js";
12
12
  import "../chunk-FZXKH2ZT.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  Paragraph
3
- } from "../chunk-HFXTAEYY.js";
3
+ } from "../chunk-GTLJYAEG.js";
4
4
  import "../chunk-QKLGH3RZ.js";
5
5
  import "../chunk-TYJR4GOF.js";
6
- import "../chunk-NQN5Z36J.js";
6
+ import "../chunk-QLI7ES7Z.js";
7
7
  import "../chunk-AG66JBNH.js";
8
8
  import "../chunk-6JAIFIPW.js";
9
9
  import "../chunk-FZXKH2ZT.js";
@@ -1,10 +1,10 @@
1
1
  import "../chunk-VUHLNYAE.js";
2
2
  import {
3
3
  Text
4
- } from "../chunk-343TTIHD.js";
5
- import "../chunk-V3PLFYKO.js";
4
+ } from "../chunk-PENJBKPH.js";
5
+ import "../chunk-ZAJO2B75.js";
6
6
  import "../chunk-TYJR4GOF.js";
7
- import "../chunk-NQN5Z36J.js";
7
+ import "../chunk-QLI7ES7Z.js";
8
8
  import "../chunk-AG66JBNH.js";
9
9
  import "../chunk-6JAIFIPW.js";
10
10
  import "../chunk-FZXKH2ZT.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  UserAvatar,
3
3
  UserMenu
4
- } from "./chunk-GGI7GM5O.js";
4
+ } from "./chunk-QE2C35TO.js";
5
5
  import "./chunk-UDQSIRAP.js";
6
- import "./chunk-JUHUKZGU.js";
7
- import "./chunk-NA7MIEG6.js";
6
+ import "./chunk-JD3D6Y4U.js";
7
+ import "./chunk-SZETT7QV.js";
8
8
  import "./chunk-XRMZMBE3.js";
9
9
  import "./chunk-FAITHWIO.js";
10
10
  import "./chunk-3ZVUNSFF.js";
@@ -15,15 +15,15 @@ import "./chunk-BEBLRL5D.js";
15
15
  import "./chunk-6Q6T3FW5.js";
16
16
  import "./chunk-FKUYRQSP.js";
17
17
  import "./chunk-BA4RHQ3B.js";
18
- import "./chunk-SLVQ33AN.js";
19
- import "./chunk-BB2OUERT.js";
18
+ import "./chunk-77DF5LKI.js";
19
+ import "./chunk-2LSCK45B.js";
20
20
  import "./chunk-5LQ7PKMW.js";
21
21
  import "./chunk-TAMIZE4Q.js";
22
22
  import "./chunk-73BEVJCS.js";
23
- import "./chunk-343TTIHD.js";
24
- import "./chunk-V3PLFYKO.js";
23
+ import "./chunk-PENJBKPH.js";
24
+ import "./chunk-ZAJO2B75.js";
25
25
  import "./chunk-TYJR4GOF.js";
26
- import "./chunk-NQN5Z36J.js";
26
+ import "./chunk-QLI7ES7Z.js";
27
27
  import "./chunk-AG66JBNH.js";
28
28
  import "./chunk-6JAIFIPW.js";
29
29
  import "./chunk-FZXKH2ZT.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@12-apps/ui",
3
- "version": "6.26.0",
3
+ "version": "6.27.0",
4
4
  "license": "MIT",
5
5
  "packageManager": "pnpm@10.34.5",
6
6
  "type": "module",
@@ -151,6 +151,14 @@ Gradient background with smooth color transitions.
151
151
  <Button variant="gradient">Gradient Button</Button>
152
152
  ```
153
153
 
154
+ Its label takes the ink the palette implies, judged across BOTH ends of the
155
+ gradient rather than against `main` — `primary` runs `primary.main →
156
+ secondary.main`, and an ink that reads on the first says nothing about the
157
+ second. So a pale brand gets dark ink here exactly as it does on `solid`, and
158
+ a palette whose two ends disagree gets whichever ink survives the worse of
159
+ them. It used to be a stated `#fff`, which made this the one button in the
160
+ library a pale-branded store could not read.
161
+
154
162
  ## Accessibility
155
163
 
156
164
  The Button component follows WCAG 2.1 AA guidelines:
@@ -2,7 +2,7 @@ import { alpha, darken, keyframes, lighten } from '@mui/material/styles/index.js
2
2
  import type { CSSObject, Theme } from '@mui/material/styles/index.js';
3
3
 
4
4
  import { BUTTON_SIZES, ICON_ONLY_PADDING as ICON_ONLY_PADDING_PX } from './Button.metrics';
5
- import { px } from '../../../tokens/theme';
5
+ import { inkOver, px } from '../../../tokens/theme';
6
6
 
7
7
  // Define pulse animation globally
8
8
  const pulseAnimation = keyframes`
@@ -141,11 +141,32 @@ const GRADIENT_PAIRS: Record<string, (theme: Theme) => [string, string]> = {
141
141
  danger: (theme) => [theme.palette.error.light, theme.palette.error.dark],
142
142
  };
143
143
 
144
+ const gradientStops = (theme: Theme, color: string, palette: ColorPalette): [string, string] =>
145
+ GRADIENT_PAIRS[color]?.(theme) ?? [palette.main, palette.dark];
146
+
144
147
  const gradientFor = (theme: Theme, color: string, palette: ColorPalette): string => {
145
- const [from, to] = GRADIENT_PAIRS[color]?.(theme) ?? [palette.main, palette.dark];
148
+ const [from, to] = gradientStops(theme, color, palette);
146
149
  return `linear-gradient(135deg, ${from} 0%, ${to} 100%)`;
147
150
  };
148
151
 
152
+ /**
153
+ * The label colour for `gradient`, which used to be `#fff` outright (FUT-1924).
154
+ *
155
+ * Every other filled variant reads `palette.contrastText`, derived from `main`
156
+ * — so a white-labelled host handing the library a pale brand got dark ink on
157
+ * its solid buttons and white ink on its gradient one. That store had exactly
158
+ * one button in the library whose label it could not read, in LIGHT mode,
159
+ * before dark mode existed anywhere.
160
+ *
161
+ * `contrastText` is still not the right thing to read, and that is why this
162
+ * goes through {@link inkOver}: a gradient is TWO fills, the named pairs run
163
+ * light-to-dark, and an ink chosen against `main` says nothing about the end
164
+ * the gradient actually reaches. Both stops go in, and the ink has to survive
165
+ * the worse of them.
166
+ */
167
+ const gradientInk = (theme: Theme, color: string, palette: ColorPalette): string =>
168
+ inkOver(gradientStops(theme, color, palette), palette.contrastText || '#fff');
169
+
149
170
  /**
150
171
  * The label colour for the two variants that paint no background of their own.
151
172
  *
@@ -218,7 +239,7 @@ const VARIANT_STYLES: Record<
218
239
  }),
219
240
  gradient: (theme, palette, color) => ({
220
241
  background: gradientFor(theme, color, palette),
221
- color: '#fff',
242
+ color: gradientInk(theme, color, palette),
222
243
  '&:hover': {
223
244
  filter: 'brightness(1.1)',
224
245
  transform: 'translateY(-2px)',
@@ -0,0 +1,63 @@
1
+ import type { InputHTMLAttributes, ReactNode } from 'react';
2
+
3
+ /** The ids the DOM `Switch` wires its label and its two descriptions with. */
4
+ export interface SwitchIds {
5
+ /** The input's id. Always set — the label has to have something to point at. */
6
+ inputId: string;
7
+ descriptionId?: string;
8
+ helperId?: string;
9
+ /** Everything that DESCRIBES the control, the caller's own included. */
10
+ describedBy?: string;
11
+ }
12
+
13
+ export interface SwitchIdSource {
14
+ /** `useId()`'s value, passed in so this stays a pure function. */
15
+ generated: string;
16
+ id?: string;
17
+ inputProps?: InputHTMLAttributes<HTMLInputElement>;
18
+ description?: ReactNode;
19
+ helperText?: ReactNode;
20
+ callerDescribedBy?: unknown;
21
+ }
22
+
23
+ /**
24
+ * Derive every id one `Switch` needs, in one place (FUT-1905).
25
+ *
26
+ * The precedence is the point: an id the caller spelled — as `inputProps.id` or
27
+ * as `id` — wins, because a consumer that chose one is usually pointing its own
28
+ * `<label>` or a test at it. Only when there is none does the generated one
29
+ * apply, and it comes from `useId` rather than from the test id: two call sites
30
+ * sharing a `dataTestId` would otherwise share a `for`, and the second label
31
+ * would toggle the first control.
32
+ *
33
+ * `describedBy` APPENDS rather than replaces. The description and the helper
34
+ * line are the component's own, but a consumer that passed `aria-describedby`
35
+ * meant it, and dropping it to make room would trade one silent omission for
36
+ * another.
37
+ *
38
+ * It has TWO spellings and both count — top-level and inside `inputProps` —
39
+ * because that is a consumer's choice of spelling, not a choice of meaning.
40
+ * Reading only the first is how this shipped for one round: a caller writing
41
+ * `inputProps={{ 'aria-describedby': … }}` had it silently dropped, which is the
42
+ * omission the paragraph above says it must not trade for.
43
+ */
44
+ export function switchIds({
45
+ generated,
46
+ id,
47
+ inputProps,
48
+ description,
49
+ helperText,
50
+ callerDescribedBy,
51
+ }: SwitchIdSource): SwitchIds {
52
+ const inputId = inputProps?.id ?? id ?? `switch-${generated}`;
53
+ const descriptionId = description ? `${inputId}-description` : undefined;
54
+ const helperId = helperText ? `${inputId}-helper` : undefined;
55
+ const described = [callerDescribedBy, inputProps?.['aria-describedby'], descriptionId, helperId];
56
+
57
+ return {
58
+ inputId,
59
+ descriptionId,
60
+ helperId,
61
+ describedBy: described.filter(Boolean).join(' ') || undefined,
62
+ };
63
+ }