@expressivecss/expressive 0.14.1 → 0.16.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 (603) hide show
  1. package/CHANGELOG.md +1589 -1
  2. package/README.md +9 -8
  3. package/dist/css/expressive.css +19304 -12021
  4. package/dist/css/expressive.css.map +1 -1
  5. package/dist/css/expressive.min.css +1 -1
  6. package/dist/css/expressive.min.css.map +1 -1
  7. package/dist/fonts/LICENSE-noto-sans-arabic +93 -0
  8. package/dist/fonts/LICENSE-noto-sans-hebrew +93 -0
  9. package/dist/fonts/LICENSE-noto-sans-thai +93 -0
  10. package/dist/fonts/material-symbols-outlined.woff2 +0 -0
  11. package/dist/fonts/material-symbols-rounded.woff2 +0 -0
  12. package/dist/fonts/material-symbols-sharp.woff2 +0 -0
  13. package/dist/fonts/noto-sans-arabic-arabic-400.woff2 +0 -0
  14. package/dist/fonts/noto-sans-arabic-arabic-500.woff2 +0 -0
  15. package/dist/fonts/noto-sans-arabic-arabic-700.woff2 +0 -0
  16. package/dist/fonts/noto-sans-cyrillic-400.woff2 +0 -0
  17. package/dist/fonts/noto-sans-cyrillic-500.woff2 +0 -0
  18. package/dist/fonts/noto-sans-cyrillic-700.woff2 +0 -0
  19. package/dist/fonts/noto-sans-cyrillic-ext-400.woff2 +0 -0
  20. package/dist/fonts/noto-sans-cyrillic-ext-500.woff2 +0 -0
  21. package/dist/fonts/noto-sans-cyrillic-ext-700.woff2 +0 -0
  22. package/dist/fonts/noto-sans-devanagari-400.woff2 +0 -0
  23. package/dist/fonts/noto-sans-devanagari-500.woff2 +0 -0
  24. package/dist/fonts/noto-sans-devanagari-700.woff2 +0 -0
  25. package/dist/fonts/noto-sans-greek-400.woff2 +0 -0
  26. package/dist/fonts/noto-sans-greek-500.woff2 +0 -0
  27. package/dist/fonts/noto-sans-greek-700.woff2 +0 -0
  28. package/dist/fonts/noto-sans-greek-ext-400.woff2 +0 -0
  29. package/dist/fonts/noto-sans-greek-ext-500.woff2 +0 -0
  30. package/dist/fonts/noto-sans-greek-ext-700.woff2 +0 -0
  31. package/dist/fonts/noto-sans-hebrew-hebrew-400.woff2 +0 -0
  32. package/dist/fonts/noto-sans-hebrew-hebrew-500.woff2 +0 -0
  33. package/dist/fonts/noto-sans-hebrew-hebrew-700.woff2 +0 -0
  34. package/dist/fonts/noto-sans-latin-700.woff2 +0 -0
  35. package/dist/fonts/noto-sans-latin-ext-400.woff2 +0 -0
  36. package/dist/fonts/noto-sans-latin-ext-500.woff2 +0 -0
  37. package/dist/fonts/noto-sans-latin-ext-700.woff2 +0 -0
  38. package/dist/fonts/noto-sans-thai-thai-400.woff2 +0 -0
  39. package/dist/fonts/noto-sans-thai-thai-500.woff2 +0 -0
  40. package/dist/fonts/noto-sans-thai-thai-700.woff2 +0 -0
  41. package/dist/fonts/noto-sans-vietnamese-400.woff2 +0 -0
  42. package/dist/fonts/noto-sans-vietnamese-500.woff2 +0 -0
  43. package/dist/fonts/noto-sans-vietnamese-700.woff2 +0 -0
  44. package/dist/fonts/roboto-cyrillic-400.woff2 +0 -0
  45. package/dist/fonts/roboto-cyrillic-500.woff2 +0 -0
  46. package/dist/fonts/roboto-cyrillic-700.woff2 +0 -0
  47. package/dist/fonts/roboto-cyrillic-ext-400.woff2 +0 -0
  48. package/dist/fonts/roboto-cyrillic-ext-500.woff2 +0 -0
  49. package/dist/fonts/roboto-cyrillic-ext-700.woff2 +0 -0
  50. package/dist/fonts/roboto-greek-400.woff2 +0 -0
  51. package/dist/fonts/roboto-greek-500.woff2 +0 -0
  52. package/dist/fonts/roboto-greek-700.woff2 +0 -0
  53. package/dist/fonts/roboto-greek-ext-400.woff2 +0 -0
  54. package/dist/fonts/roboto-greek-ext-500.woff2 +0 -0
  55. package/dist/fonts/roboto-greek-ext-700.woff2 +0 -0
  56. package/dist/fonts/roboto-latin-700.woff2 +0 -0
  57. package/dist/fonts/roboto-latin-ext-400.woff2 +0 -0
  58. package/dist/fonts/roboto-latin-ext-500.woff2 +0 -0
  59. package/dist/fonts/roboto-latin-ext-700.woff2 +0 -0
  60. package/dist/fonts/roboto-vietnamese-400.woff2 +0 -0
  61. package/dist/fonts/roboto-vietnamese-500.woff2 +0 -0
  62. package/dist/fonts/roboto-vietnamese-700.woff2 +0 -0
  63. package/dist/js/chunks/chunk-2CS6TITK.mjs +219 -0
  64. package/dist/js/chunks/chunk-2CS6TITK.mjs.map +7 -0
  65. package/dist/js/chunks/chunk-2RLBDFH4.mjs +108 -0
  66. package/dist/js/chunks/chunk-2RLBDFH4.mjs.map +7 -0
  67. package/dist/js/chunks/chunk-3L3QIYLC.mjs +85 -0
  68. package/dist/js/chunks/chunk-3L3QIYLC.mjs.map +7 -0
  69. package/dist/js/chunks/chunk-4EWGD4V2.mjs +75 -0
  70. package/dist/js/chunks/chunk-4EWGD4V2.mjs.map +7 -0
  71. package/dist/js/chunks/chunk-4IKVPCSU.mjs +7 -0
  72. package/dist/js/chunks/chunk-4IKVPCSU.mjs.map +7 -0
  73. package/dist/js/chunks/chunk-4PIXLDNJ.mjs +127 -0
  74. package/dist/js/chunks/chunk-4PIXLDNJ.mjs.map +7 -0
  75. package/dist/js/chunks/{chunk-A7ALMYUR.mjs → chunk-4QUCNFSD.mjs} +68 -125
  76. package/dist/js/chunks/chunk-4QUCNFSD.mjs.map +7 -0
  77. package/dist/js/chunks/{chunk-4TKTLGEM.mjs → chunk-4TRZ2AER.mjs} +35 -41
  78. package/dist/js/chunks/chunk-4TRZ2AER.mjs.map +7 -0
  79. package/dist/js/chunks/{chunk-BG6ZRB5H.mjs → chunk-5KIHWJI2.mjs} +40 -26
  80. package/dist/js/chunks/chunk-5KIHWJI2.mjs.map +7 -0
  81. package/dist/js/chunks/{chunk-YDCS5S3J.mjs → chunk-67ZPPKXS.mjs} +20 -33
  82. package/dist/js/chunks/chunk-67ZPPKXS.mjs.map +7 -0
  83. package/dist/js/chunks/{chunk-3DHK5CZU.mjs → chunk-6FSEUFVW.mjs} +40 -29
  84. package/dist/js/chunks/chunk-6FSEUFVW.mjs.map +7 -0
  85. package/dist/js/chunks/chunk-752ADW4M.mjs +225 -0
  86. package/dist/js/chunks/chunk-752ADW4M.mjs.map +7 -0
  87. package/dist/js/chunks/{chunk-GVGT6MIU.mjs → chunk-75E5EDJF.mjs} +3 -11
  88. package/dist/js/chunks/chunk-75E5EDJF.mjs.map +7 -0
  89. package/dist/js/chunks/{chunk-TBM3FT7G.mjs → chunk-7NLUI3RR.mjs} +148 -78
  90. package/dist/js/chunks/chunk-7NLUI3RR.mjs.map +7 -0
  91. package/dist/js/chunks/chunk-7W7TV6NY.mjs +108 -0
  92. package/dist/js/chunks/chunk-7W7TV6NY.mjs.map +7 -0
  93. package/dist/js/chunks/chunk-7YQBHTK3.mjs +225 -0
  94. package/dist/js/chunks/chunk-7YQBHTK3.mjs.map +7 -0
  95. package/dist/js/chunks/chunk-7YZ5CN3V.mjs +33 -0
  96. package/dist/js/chunks/chunk-7YZ5CN3V.mjs.map +7 -0
  97. package/dist/js/chunks/chunk-AI73GJKG.mjs +28 -0
  98. package/dist/js/chunks/chunk-AI73GJKG.mjs.map +7 -0
  99. package/dist/js/chunks/{chunk-NS2UMNZV.mjs → chunk-ANKFWNWT.mjs} +21 -45
  100. package/dist/js/chunks/chunk-ANKFWNWT.mjs.map +7 -0
  101. package/dist/js/chunks/{chunk-GIW4K4SE.mjs → chunk-B7DQFHA5.mjs} +37 -53
  102. package/dist/js/chunks/chunk-B7DQFHA5.mjs.map +7 -0
  103. package/dist/js/chunks/chunk-BIGU5RCJ.mjs +153 -0
  104. package/dist/js/chunks/chunk-BIGU5RCJ.mjs.map +7 -0
  105. package/dist/js/chunks/{chunk-GUB3TNO2.mjs → chunk-BPF3I2MN.mjs} +109 -27
  106. package/dist/js/chunks/chunk-BPF3I2MN.mjs.map +7 -0
  107. package/dist/js/chunks/chunk-CMGXGYUC.mjs +74 -0
  108. package/dist/js/chunks/chunk-CMGXGYUC.mjs.map +7 -0
  109. package/dist/js/chunks/{chunk-JIDMQGK6.mjs → chunk-CSYWKEK3.mjs} +322 -223
  110. package/dist/js/chunks/chunk-CSYWKEK3.mjs.map +7 -0
  111. package/dist/js/chunks/chunk-CZSQHXEV.mjs +227 -0
  112. package/dist/js/chunks/chunk-CZSQHXEV.mjs.map +7 -0
  113. package/dist/js/chunks/chunk-DZYVU75J.mjs +121 -0
  114. package/dist/js/chunks/chunk-DZYVU75J.mjs.map +7 -0
  115. package/dist/js/chunks/{chunk-QDAL4IYN.mjs → chunk-EC26RU2D.mjs} +11 -29
  116. package/dist/js/chunks/chunk-EC26RU2D.mjs.map +7 -0
  117. package/dist/js/chunks/{chunk-3GVFZ4XO.mjs → chunk-EVCVFEV3.mjs} +238 -152
  118. package/dist/js/chunks/chunk-EVCVFEV3.mjs.map +7 -0
  119. package/dist/js/chunks/chunk-FCNF4GRJ.mjs +445 -0
  120. package/dist/js/chunks/chunk-FCNF4GRJ.mjs.map +7 -0
  121. package/dist/js/chunks/chunk-GCWWEZKO.mjs +342 -0
  122. package/dist/js/chunks/chunk-GCWWEZKO.mjs.map +7 -0
  123. package/dist/js/chunks/chunk-GNRSYMVH.mjs +1 -0
  124. package/dist/js/chunks/chunk-GVZQH2H5.mjs +54 -0
  125. package/dist/js/chunks/chunk-GVZQH2H5.mjs.map +7 -0
  126. package/dist/js/chunks/chunk-GWZ76SR4.mjs +435 -0
  127. package/dist/js/chunks/chunk-GWZ76SR4.mjs.map +7 -0
  128. package/dist/js/chunks/{chunk-ZAS25YFD.mjs → chunk-ILDRRG7T.mjs} +21 -23
  129. package/dist/js/chunks/chunk-ILDRRG7T.mjs.map +7 -0
  130. package/dist/js/chunks/chunk-INLZWHLY.mjs +80 -0
  131. package/dist/js/chunks/chunk-INLZWHLY.mjs.map +7 -0
  132. package/dist/js/chunks/chunk-JUKBBN6P.mjs +175 -0
  133. package/dist/js/chunks/chunk-JUKBBN6P.mjs.map +7 -0
  134. package/dist/js/chunks/chunk-KYIEG4U3.mjs +730 -0
  135. package/dist/js/chunks/chunk-KYIEG4U3.mjs.map +7 -0
  136. package/dist/js/chunks/{chunk-KHV6DZXX.mjs → chunk-KZPSAXIU.mjs} +156 -46
  137. package/dist/js/chunks/chunk-KZPSAXIU.mjs.map +7 -0
  138. package/dist/js/chunks/chunk-LDXCC2L3.mjs +438 -0
  139. package/dist/js/chunks/chunk-LDXCC2L3.mjs.map +7 -0
  140. package/dist/js/chunks/chunk-NAC72P7R.mjs +137 -0
  141. package/dist/js/chunks/chunk-NAC72P7R.mjs.map +7 -0
  142. package/dist/js/chunks/chunk-NBJAUGPP.mjs +244 -0
  143. package/dist/js/chunks/chunk-NBJAUGPP.mjs.map +7 -0
  144. package/dist/js/chunks/chunk-NNHVANQA.mjs +113 -0
  145. package/dist/js/chunks/chunk-NNHVANQA.mjs.map +7 -0
  146. package/dist/js/chunks/chunk-NVQ5EHCU.mjs +376 -0
  147. package/dist/js/chunks/chunk-NVQ5EHCU.mjs.map +7 -0
  148. package/dist/js/chunks/{chunk-Z2NRKI7R.mjs → chunk-OP43LLIC.mjs} +44 -73
  149. package/dist/js/chunks/chunk-OP43LLIC.mjs.map +7 -0
  150. package/dist/js/chunks/chunk-OUCHKSAW.mjs +63 -0
  151. package/dist/js/chunks/chunk-OUCHKSAW.mjs.map +7 -0
  152. package/dist/js/chunks/{chunk-PM655FXL.mjs → chunk-OYNUDOHR.mjs} +20 -48
  153. package/dist/js/chunks/chunk-OYNUDOHR.mjs.map +7 -0
  154. package/dist/js/chunks/{chunk-UEZUJQ66.mjs → chunk-P6DRQ6KS.mjs} +36 -31
  155. package/dist/js/chunks/chunk-P6DRQ6KS.mjs.map +7 -0
  156. package/dist/js/chunks/chunk-PA7NU5AK.mjs +99 -0
  157. package/dist/js/chunks/chunk-PA7NU5AK.mjs.map +7 -0
  158. package/dist/js/chunks/chunk-QACZ6TUP.mjs +224 -0
  159. package/dist/js/chunks/chunk-QACZ6TUP.mjs.map +7 -0
  160. package/dist/js/chunks/{chunk-5HQSGDZ5.mjs → chunk-QXKWVHBD.mjs} +286 -203
  161. package/dist/js/chunks/chunk-QXKWVHBD.mjs.map +7 -0
  162. package/dist/js/chunks/{chunk-DAIU5SLG.mjs → chunk-ROH2HDB4.mjs} +7 -6
  163. package/dist/js/chunks/chunk-ROH2HDB4.mjs.map +7 -0
  164. package/dist/js/chunks/chunk-S23RJ3XY.mjs +86 -0
  165. package/dist/js/chunks/chunk-S23RJ3XY.mjs.map +7 -0
  166. package/dist/js/chunks/{chunk-FS7XY3HT.mjs → chunk-SPPHF7YZ.mjs} +36 -29
  167. package/dist/js/chunks/chunk-SPPHF7YZ.mjs.map +7 -0
  168. package/dist/js/chunks/chunk-T3BNSRP3.mjs +152 -0
  169. package/dist/js/chunks/chunk-T3BNSRP3.mjs.map +7 -0
  170. package/dist/js/chunks/chunk-TFABTUAZ.mjs +108 -0
  171. package/dist/js/chunks/chunk-TFABTUAZ.mjs.map +7 -0
  172. package/dist/js/chunks/chunk-U4B3VHFS.mjs +507 -0
  173. package/dist/js/chunks/chunk-U4B3VHFS.mjs.map +7 -0
  174. package/dist/js/chunks/chunk-UGJHCHXG.mjs +341 -0
  175. package/dist/js/chunks/chunk-UGJHCHXG.mjs.map +7 -0
  176. package/dist/js/chunks/chunk-VFV75DHF.mjs +70 -0
  177. package/dist/js/chunks/chunk-VFV75DHF.mjs.map +7 -0
  178. package/dist/js/chunks/{chunk-4HZMB7LI.mjs → chunk-VGY4M57S.mjs} +281 -135
  179. package/dist/js/chunks/chunk-VGY4M57S.mjs.map +7 -0
  180. package/dist/js/chunks/chunk-VH4BMAZS.mjs +167 -0
  181. package/dist/js/chunks/chunk-VH4BMAZS.mjs.map +7 -0
  182. package/dist/js/chunks/chunk-VJVQIXHC.mjs +123 -0
  183. package/dist/js/chunks/chunk-VJVQIXHC.mjs.map +7 -0
  184. package/dist/js/chunks/{chunk-S3XDFGSZ.mjs → chunk-VMY55K2X.mjs} +92 -141
  185. package/dist/js/chunks/chunk-VMY55K2X.mjs.map +7 -0
  186. package/dist/js/chunks/{chunk-UEXCIMJZ.mjs → chunk-VR3L2WN5.mjs} +11 -17
  187. package/dist/js/chunks/chunk-VR3L2WN5.mjs.map +7 -0
  188. package/dist/js/chunks/chunk-W6FAL3TI.mjs +38 -0
  189. package/dist/js/chunks/chunk-W6FAL3TI.mjs.map +7 -0
  190. package/dist/js/chunks/chunk-WU7XJ4RR.mjs +450 -0
  191. package/dist/js/chunks/chunk-WU7XJ4RR.mjs.map +7 -0
  192. package/dist/js/chunks/chunk-X7SDA2J5.mjs +116 -0
  193. package/dist/js/chunks/chunk-X7SDA2J5.mjs.map +7 -0
  194. package/dist/js/chunks/chunk-Y6H2X7ZC.mjs +209 -0
  195. package/dist/js/chunks/chunk-Y6H2X7ZC.mjs.map +7 -0
  196. package/dist/js/chunks/chunk-Y6TLRA3U.mjs +129 -0
  197. package/dist/js/chunks/chunk-Y6TLRA3U.mjs.map +7 -0
  198. package/dist/js/chunks/chunk-Z4GICXR2.mjs +190 -0
  199. package/dist/js/chunks/chunk-Z4GICXR2.mjs.map +7 -0
  200. package/dist/js/chunks/chunk-Z4OARDZ7.mjs +442 -0
  201. package/dist/js/chunks/chunk-Z4OARDZ7.mjs.map +7 -0
  202. package/dist/js/chunks/{chunk-MZ6Z24BX.mjs → chunk-ZJNLAGY5.mjs} +19 -34
  203. package/dist/js/chunks/chunk-ZJNLAGY5.mjs.map +7 -0
  204. package/dist/js/chunks/chunk-ZKWUWBUB.mjs +81 -0
  205. package/dist/js/chunks/chunk-ZKWUWBUB.mjs.map +7 -0
  206. package/dist/js/chunks/chunk-ZM3XBHWV.mjs +746 -0
  207. package/dist/js/chunks/chunk-ZM3XBHWV.mjs.map +7 -0
  208. package/dist/js/chunks/chunk-ZO6ZLHFF.mjs +48 -0
  209. package/dist/js/chunks/chunk-ZO6ZLHFF.mjs.map +7 -0
  210. package/dist/js/chunks/chunk-ZVLOUDIJ.mjs +251 -0
  211. package/dist/js/chunks/chunk-ZVLOUDIJ.mjs.map +7 -0
  212. package/dist/js/expressive.cjs +10333 -4070
  213. package/dist/js/expressive.cjs.map +4 -4
  214. package/dist/js/expressive.js +10333 -4070
  215. package/dist/js/expressive.js.map +4 -4
  216. package/dist/js/expressive.min.js +23 -25
  217. package/dist/js/expressive.min.js.map +4 -4
  218. package/dist/js/expressive.mjs +184 -69
  219. package/dist/js/expressive.mjs.map +2 -2
  220. package/dist/js/internal/behaviors/bottomSheets.mjs +4 -3
  221. package/dist/js/internal/behaviors/copy.mjs +9 -0
  222. package/dist/js/internal/behaviors/copy.mjs.map +7 -0
  223. package/dist/js/internal/behaviors/dataTables.mjs +10 -0
  224. package/dist/js/internal/behaviors/dataTables.mjs.map +7 -0
  225. package/dist/js/internal/behaviors/dialogs.mjs +2 -2
  226. package/dist/js/internal/behaviors/forms.mjs +2 -2
  227. package/dist/js/internal/behaviors/imageCompare.mjs +8 -0
  228. package/dist/js/internal/behaviors/imageCompare.mjs.map +7 -0
  229. package/dist/js/internal/behaviors/lists.mjs +8 -0
  230. package/dist/js/internal/behaviors/lists.mjs.map +7 -0
  231. package/dist/js/internal/behaviors/paneResize.mjs +8 -0
  232. package/dist/js/internal/behaviors/paneResize.mjs.map +7 -0
  233. package/dist/js/internal/behaviors/sheetDrag.mjs +7 -2
  234. package/dist/js/internal/behaviors/sideSheets.mjs +4 -3
  235. package/dist/js/internal/behaviors/sortable.mjs +8 -0
  236. package/dist/js/internal/behaviors/sortable.mjs.map +7 -0
  237. package/dist/js/internal/behaviors/theme.mjs +8 -0
  238. package/dist/js/internal/behaviors/theme.mjs.map +7 -0
  239. package/dist/js/internal/behaviors/tour.mjs +8 -0
  240. package/dist/js/internal/behaviors/tour.mjs.map +7 -0
  241. package/dist/js/internal/behaviors/transferList.mjs +8 -0
  242. package/dist/js/internal/behaviors/transferList.mjs.map +7 -0
  243. package/dist/js/internal/components/appBar.mjs +3 -2
  244. package/dist/js/internal/components/autocomplete.mjs +4 -4
  245. package/dist/js/internal/components/backToTop.mjs +9 -0
  246. package/dist/js/internal/components/backToTop.mjs.map +7 -0
  247. package/dist/js/internal/components/barChart.mjs +5 -4
  248. package/dist/js/internal/components/buttonGroup.mjs +3 -2
  249. package/dist/js/internal/components/buttons.mjs +3 -3
  250. package/dist/js/internal/components/cards.mjs +3 -3
  251. package/dist/js/internal/components/carousel.mjs +3 -3
  252. package/dist/js/internal/components/cascader.mjs +10 -0
  253. package/dist/js/internal/components/cascader.mjs.map +7 -0
  254. package/dist/js/internal/components/characterCounter.mjs +3 -2
  255. package/dist/js/internal/components/chips.mjs +6 -5
  256. package/dist/js/internal/components/colorPicker.mjs +9 -0
  257. package/dist/js/internal/components/colorPicker.mjs.map +7 -0
  258. package/dist/js/internal/components/columnChart.mjs +4 -3
  259. package/dist/js/internal/components/commandPalette.mjs +3 -3
  260. package/dist/js/internal/components/confetti.mjs +3 -2
  261. package/dist/js/internal/components/currencyInput.mjs +9 -0
  262. package/dist/js/internal/components/currencyInput.mjs.map +7 -0
  263. package/dist/js/internal/components/datepicker.mjs +11 -8
  264. package/dist/js/internal/components/expandingCard.mjs +3 -3
  265. package/dist/js/internal/components/funnelChart.mjs +10 -0
  266. package/dist/js/internal/components/funnelChart.mjs.map +7 -0
  267. package/dist/js/internal/components/heatmapChart.mjs +4 -3
  268. package/dist/js/internal/components/hoverCard.mjs +9 -0
  269. package/dist/js/internal/components/hoverCard.mjs.map +7 -0
  270. package/dist/js/internal/components/index.mjs +133 -64
  271. package/dist/js/internal/components/inputMask.mjs +9 -0
  272. package/dist/js/internal/components/inputMask.mjs.map +7 -0
  273. package/dist/js/internal/components/keypad.mjs +9 -0
  274. package/dist/js/internal/components/keypad.mjs.map +7 -0
  275. package/dist/js/internal/components/lightbox.mjs +3 -3
  276. package/dist/js/internal/components/lineChart.mjs +29 -4
  277. package/dist/js/internal/components/loadingOverlay.mjs +9 -0
  278. package/dist/js/internal/components/loadingOverlay.mjs.map +7 -0
  279. package/dist/js/internal/components/mapView.mjs +3 -3
  280. package/dist/js/internal/components/menu.mjs +3 -3
  281. package/dist/js/internal/components/menubar.mjs +10 -0
  282. package/dist/js/internal/components/menubar.mjs.map +7 -0
  283. package/dist/js/internal/components/messageScroller.mjs +3 -3
  284. package/dist/js/internal/components/mixedChart.mjs +5 -4
  285. package/dist/js/internal/components/navigationRail.mjs +3 -2
  286. package/dist/js/internal/components/particles.mjs +3 -2
  287. package/dist/js/internal/components/pieChart.mjs +4 -3
  288. package/dist/js/internal/components/pullToRefresh.mjs +9 -0
  289. package/dist/js/internal/components/pullToRefresh.mjs.map +7 -0
  290. package/dist/js/internal/components/questionnaire.mjs +3 -3
  291. package/dist/js/internal/components/radarChart.mjs +4 -3
  292. package/dist/js/internal/components/radialChart.mjs +4 -3
  293. package/dist/js/internal/components/registry.mjs +59 -40
  294. package/dist/js/internal/components/richTextEditor.mjs +3 -3
  295. package/dist/js/internal/components/sankeyChart.mjs +10 -0
  296. package/dist/js/internal/components/sankeyChart.mjs.map +7 -0
  297. package/dist/js/internal/components/scatterChart.mjs +10 -0
  298. package/dist/js/internal/components/scatterChart.mjs.map +7 -0
  299. package/dist/js/internal/components/scrollspy.mjs +3 -2
  300. package/dist/js/internal/components/select.mjs +4 -4
  301. package/dist/js/internal/components/showMore.mjs +9 -0
  302. package/dist/js/internal/components/showMore.mjs.map +7 -0
  303. package/dist/js/internal/components/slider.mjs +3 -3
  304. package/dist/js/internal/components/snackbar.mjs +2 -2
  305. package/dist/js/internal/components/swipeActions.mjs +9 -0
  306. package/dist/js/internal/components/swipeActions.mjs.map +7 -0
  307. package/dist/js/internal/components/tabs.mjs +3 -4
  308. package/dist/js/internal/components/timepicker.mjs +5 -4
  309. package/dist/js/internal/components/tooltip.mjs +3 -3
  310. package/dist/js/internal/components/treeSelect.mjs +13 -0
  311. package/dist/js/internal/components/treeSelect.mjs.map +7 -0
  312. package/dist/js/internal/components/treemapChart.mjs +10 -0
  313. package/dist/js/internal/components/treemapChart.mjs.map +7 -0
  314. package/dist/js/internal/core/component.mjs +2 -1
  315. package/dist/js/internal/core/formControl.mjs +12 -0
  316. package/dist/js/internal/core/formControl.mjs.map +7 -0
  317. package/dist/js/internal/core/spring.mjs +11 -0
  318. package/dist/js/internal/core/spring.mjs.map +7 -0
  319. package/dist/js/internal/core/utils.mjs +11 -3
  320. package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +2 -2
  321. package/dist/js/internal/plugins/modalDisplayPlugin.mjs +13 -0
  322. package/dist/js/internal/plugins/modalDisplayPlugin.mjs.map +7 -0
  323. package/dist/js/modular.mjs +175 -69
  324. package/dist/types/behaviors/bottomSheets.d.ts +19 -3
  325. package/dist/types/behaviors/copy.d.ts +18 -0
  326. package/dist/types/behaviors/dataTables.d.ts +129 -0
  327. package/dist/types/behaviors/dialogs.d.ts +27 -1
  328. package/dist/types/behaviors/forms.d.ts +68 -2
  329. package/dist/types/behaviors/imageCompare.d.ts +12 -0
  330. package/dist/types/behaviors/lists.d.ts +12 -0
  331. package/dist/types/behaviors/paneResize.d.ts +29 -0
  332. package/dist/types/behaviors/sheetDrag.d.ts +18 -0
  333. package/dist/types/behaviors/sideSheets.d.ts +1 -1
  334. package/dist/types/behaviors/sortable.d.ts +28 -0
  335. package/dist/types/behaviors/theme.d.ts +22 -0
  336. package/dist/types/behaviors/tour.d.ts +36 -0
  337. package/dist/types/behaviors/transferList.d.ts +51 -0
  338. package/dist/types/components/appBar.d.ts +5 -6
  339. package/dist/types/components/autocomplete.d.ts +92 -17
  340. package/dist/types/components/backToTop.d.ts +36 -0
  341. package/dist/types/components/barChart.d.ts +3 -6
  342. package/dist/types/components/buttonGroup.d.ts +2 -4
  343. package/dist/types/components/buttons.d.ts +5 -5
  344. package/dist/types/components/cards.d.ts +3 -16
  345. package/dist/types/components/carousel.d.ts +9 -15
  346. package/dist/types/components/cascader.d.ts +130 -0
  347. package/dist/types/components/characterCounter.d.ts +2 -15
  348. package/dist/types/components/chips.d.ts +65 -19
  349. package/dist/types/components/colorPicker.d.ts +42 -0
  350. package/dist/types/components/columnChart.d.ts +23 -10
  351. package/dist/types/components/commandPalette.d.ts +11 -16
  352. package/dist/types/components/confetti.d.ts +2 -4
  353. package/dist/types/components/currencyInput.d.ts +59 -0
  354. package/dist/types/components/datepicker.d.ts +59 -36
  355. package/dist/types/components/expandingCard.d.ts +6 -6
  356. package/dist/types/components/funnelChart.d.ts +38 -0
  357. package/dist/types/components/heatmapChart.d.ts +39 -8
  358. package/dist/types/components/hoverCard.d.ts +58 -0
  359. package/dist/types/components/index.d.ts +17 -1
  360. package/dist/types/components/inputMask.d.ts +30 -0
  361. package/dist/types/components/keypad.d.ts +66 -0
  362. package/dist/types/components/lightbox.d.ts +17 -25
  363. package/dist/types/components/lineChart.d.ts +176 -10
  364. package/dist/types/components/loadingOverlay.d.ts +42 -0
  365. package/dist/types/components/mapView.d.ts +26 -17
  366. package/dist/types/components/menu.d.ts +61 -22
  367. package/dist/types/components/menubar.d.ts +37 -0
  368. package/dist/types/components/messageScroller.d.ts +2 -14
  369. package/dist/types/components/mixedChart.d.ts +15 -6
  370. package/dist/types/components/navigationRail.d.ts +16 -5
  371. package/dist/types/components/particles.d.ts +8 -4
  372. package/dist/types/components/pieChart.d.ts +32 -7
  373. package/dist/types/components/pullToRefresh.d.ts +80 -0
  374. package/dist/types/components/questionnaire.d.ts +58 -16
  375. package/dist/types/components/radarChart.d.ts +10 -6
  376. package/dist/types/components/radialChart.d.ts +58 -8
  377. package/dist/types/components/registry.d.ts +77 -3
  378. package/dist/types/components/richTextEditor.d.ts +6 -14
  379. package/dist/types/components/sankeyChart.d.ts +72 -0
  380. package/dist/types/components/scatterChart.d.ts +102 -0
  381. package/dist/types/components/scrollspy.d.ts +3 -5
  382. package/dist/types/components/select.d.ts +43 -30
  383. package/dist/types/components/showMore.d.ts +51 -0
  384. package/dist/types/components/slider.d.ts +5 -15
  385. package/dist/types/components/snackbar.d.ts +62 -0
  386. package/dist/types/components/swipeActions.d.ts +81 -0
  387. package/dist/types/components/tabs.d.ts +93 -27
  388. package/dist/types/components/timepicker.d.ts +114 -20
  389. package/dist/types/components/tooltip.d.ts +56 -20
  390. package/dist/types/components/treeSelect.d.ts +106 -0
  391. package/dist/types/components/treemapChart.d.ts +56 -0
  392. package/dist/types/core/component.d.ts +43 -25
  393. package/dist/types/core/formControl.d.ts +21 -0
  394. package/dist/types/core/spring.d.ts +20 -0
  395. package/dist/types/core/utils.d.ts +85 -72
  396. package/dist/types/modular.d.ts +33 -1
  397. package/dist/types/plugins/dockedDisplayPlugin.d.ts +10 -7
  398. package/dist/types/plugins/modalDisplayPlugin.d.ts +32 -0
  399. package/package.json +10 -8
  400. package/src/sass/README.md +27 -18
  401. package/src/sass/abstracts/_breakpoints.scss +0 -1
  402. package/src/sass/abstracts/_elevation.scss +13 -7
  403. package/src/sass/abstracts/_index.scss +1 -0
  404. package/src/sass/abstracts/_mixins.scss +438 -92
  405. package/src/sass/abstracts/_spring.scss +63 -0
  406. package/src/sass/abstracts/_variables.scss +43 -15
  407. package/src/sass/base/_fonts.scss +61 -48
  408. package/src/sass/base/_global.scss +105 -34
  409. package/src/sass/base/_index.scss +3 -1
  410. package/src/sass/base/_normalize.scss +59 -114
  411. package/src/sass/base/_print.scss +21 -0
  412. package/src/sass/base/_prose.scss +68 -0
  413. package/src/sass/base/_typography.scss +9 -5
  414. package/src/sass/components/_accordion.scss +9 -16
  415. package/src/sass/components/_alert.scss +102 -0
  416. package/src/sass/components/_aura.scss +8 -3
  417. package/src/sass/components/_avatar.scss +3 -3
  418. package/src/sass/components/_back-to-top.scss +38 -0
  419. package/src/sass/components/_badges.scss +7 -13
  420. package/src/sass/components/_bar-chart.scss +41 -19
  421. package/src/sass/components/_bottom-sheet.scss +44 -16
  422. package/src/sass/components/_breadcrumb.scss +8 -1
  423. package/src/sass/components/_button-groups.scss +44 -89
  424. package/src/sass/components/_buttons.scss +156 -63
  425. package/src/sass/components/_calendar.scss +246 -0
  426. package/src/sass/components/_cards.scss +41 -68
  427. package/src/sass/components/_carousel.scss +43 -158
  428. package/src/sass/components/_cascader.scss +142 -0
  429. package/src/sass/components/_chips.scss +36 -52
  430. package/src/sass/components/_column-chart.scss +19 -12
  431. package/src/sass/components/_command-palette.scss +4 -7
  432. package/src/sass/components/_confetti.scss +0 -2
  433. package/src/sass/components/_countdown.scss +1 -1
  434. package/src/sass/components/_data-table.scss +162 -27
  435. package/src/sass/components/_datepicker.scss +57 -62
  436. package/src/sass/components/_description-list.scss +85 -0
  437. package/src/sass/components/_dialog.scss +42 -44
  438. package/src/sass/components/_docked-display.scss +1 -3
  439. package/src/sass/components/_drag-handle.scss +16 -20
  440. package/src/sass/components/_expanding-card.scss +20 -9
  441. package/src/sass/components/_fab-menu.scss +44 -32
  442. package/src/sass/components/_funnel-chart.scss +124 -0
  443. package/src/sass/components/_heatmap-chart.scss +113 -24
  444. package/src/sass/components/_icon-buttons.scss +7 -8
  445. package/src/sass/components/_icons-material-design.scss +2 -2
  446. package/src/sass/components/_image-compare.scss +108 -0
  447. package/src/sass/components/_index.scss +21 -0
  448. package/src/sass/components/_keypad.scss +182 -0
  449. package/src/sass/components/_kpi.scss +6 -11
  450. package/src/sass/components/_lightbox.scss +26 -20
  451. package/src/sass/components/_line-chart.scss +16 -2
  452. package/src/sass/components/_list.scss +59 -14
  453. package/src/sass/components/_loading-indicator.scss +1 -0
  454. package/src/sass/components/_loading-overlay.scss +105 -0
  455. package/src/sass/components/_map.scss +35 -13
  456. package/src/sass/components/_marquee.scss +3 -2
  457. package/src/sass/components/_mega-menu.scss +137 -0
  458. package/src/sass/components/_menu.scss +159 -182
  459. package/src/sass/components/_menubar.scss +59 -0
  460. package/src/sass/components/_message-scroller.scss +2 -2
  461. package/src/sass/components/_message.scss +3 -3
  462. package/src/sass/components/_mixed-chart.scss +37 -9
  463. package/src/sass/components/_modal-display.scss +21 -0
  464. package/src/sass/components/_navbar.scss +43 -65
  465. package/src/sass/components/_navigation-bar.scss +15 -77
  466. package/src/sass/components/_navigation-rail.scss +171 -121
  467. package/src/sass/components/_org-chart.scss +192 -0
  468. package/src/sass/components/_page-footer.scss +16 -13
  469. package/src/sass/components/_pagination.scss +6 -13
  470. package/src/sass/components/_panes.scss +33 -31
  471. package/src/sass/components/_particles.scss +0 -2
  472. package/src/sass/components/_pie-chart.scss +91 -11
  473. package/src/sass/components/_popover.scss +18 -5
  474. package/src/sass/components/_progress.scss +158 -35
  475. package/src/sass/components/_pull-to-refresh.scss +90 -0
  476. package/src/sass/components/_questionnaire.scss +74 -3
  477. package/src/sass/components/_radar-chart.scss +38 -10
  478. package/src/sass/components/_radial-chart.scss +113 -5
  479. package/src/sass/components/_rich-text-editor.scss +2 -2
  480. package/src/sass/components/_sankey-chart.scss +114 -0
  481. package/src/sass/components/_scatter-chart.scss +153 -0
  482. package/src/sass/components/_scrim.scss +0 -2
  483. package/src/sass/components/_scrollspy.scss +0 -2
  484. package/src/sass/components/_search.scss +26 -22
  485. package/src/sass/components/_show-more.scss +8 -0
  486. package/src/sass/components/_side-sheet.scss +23 -40
  487. package/src/sass/components/_skeleton.scss +2 -4
  488. package/src/sass/components/_snackbar.scss +27 -21
  489. package/src/sass/components/_split-button.scss +5 -5
  490. package/src/sass/components/_stat.scss +3 -8
  491. package/src/sass/components/_stepper.scss +1 -5
  492. package/src/sass/components/_swipe-actions.scss +71 -0
  493. package/src/sass/components/_tabs.scss +51 -32
  494. package/src/sass/components/_timeline.scss +12 -12
  495. package/src/sass/components/_timepicker.scss +111 -112
  496. package/src/sass/components/_toolbar.scss +35 -47
  497. package/src/sass/components/_tooltip.scss +21 -12
  498. package/src/sass/components/_tour.scss +89 -0
  499. package/src/sass/components/_transfer-list.scss +73 -0
  500. package/src/sass/components/_transitions.scss +4 -4
  501. package/src/sass/components/_tree.scss +3 -16
  502. package/src/sass/components/_treemap-chart.scss +122 -0
  503. package/src/sass/components/forms/_checkboxes.scss +140 -86
  504. package/src/sass/components/forms/_color-picker.scss +135 -0
  505. package/src/sass/components/forms/_color-swatches.scss +85 -0
  506. package/src/sass/components/forms/_drop-zone.scss +15 -9
  507. package/src/sass/components/forms/_fieldset.scss +10 -10
  508. package/src/sass/components/forms/_file-input.scss +6 -9
  509. package/src/sass/components/forms/_index.scss +3 -1
  510. package/src/sass/components/forms/_input-fields.scss +254 -90
  511. package/src/sass/components/forms/_radio-buttons.scss +40 -127
  512. package/src/sass/components/forms/_rating.scss +2 -32
  513. package/src/sass/components/forms/_select.scss +199 -23
  514. package/src/sass/components/forms/_slider.scss +140 -330
  515. package/src/sass/components/forms/_switches.scss +53 -164
  516. package/src/sass/custom.scss +10 -1
  517. package/src/sass/expressive.scss +3 -63
  518. package/src/sass/tokens/_contrast.scss +94 -0
  519. package/src/sass/tokens/_elevation.scss +16 -0
  520. package/src/sass/tokens/_index.scss +5 -0
  521. package/src/sass/tokens/_motion.scss +109 -0
  522. package/src/sass/tokens/_reference.scss +72 -141
  523. package/src/sass/tokens/_shape.scss +38 -0
  524. package/src/sass/tokens/_stacking.scss +27 -0
  525. package/src/sass/tokens/_state.scss +2 -4
  526. package/src/sass/tokens/_theme.scss +11 -2
  527. package/src/sass/tokens/_vibrant.scss +2 -5
  528. package/src/sass/utilities/_colors.scss +6 -1
  529. package/src/sass/utilities/_defer-render.scss +17 -0
  530. package/src/sass/utilities/_helpers.scss +183 -26
  531. package/src/sass/utilities/_index.scss +2 -1
  532. package/src/sass/utilities/_scroll-area.scss +0 -2
  533. package/src/sass/utilities/_spacing.scss +52 -34
  534. package/src/sass/utilities/_typescale.scss +8 -1
  535. package/src/sass/utilities/_visibility.scss +47 -76
  536. package/src/sass/utilities/_z-depth.scss +7 -4
  537. package/dist/js/chunks/chunk-3DHK5CZU.mjs.map +0 -7
  538. package/dist/js/chunks/chunk-3GVFZ4XO.mjs.map +0 -7
  539. package/dist/js/chunks/chunk-4HZMB7LI.mjs.map +0 -7
  540. package/dist/js/chunks/chunk-4KMNFIFZ.mjs +0 -270
  541. package/dist/js/chunks/chunk-4KMNFIFZ.mjs.map +0 -7
  542. package/dist/js/chunks/chunk-4TKTLGEM.mjs.map +0 -7
  543. package/dist/js/chunks/chunk-5BKHWHYY.mjs +0 -292
  544. package/dist/js/chunks/chunk-5BKHWHYY.mjs.map +0 -7
  545. package/dist/js/chunks/chunk-5HQSGDZ5.mjs.map +0 -7
  546. package/dist/js/chunks/chunk-6N2XAEFK.mjs +0 -125
  547. package/dist/js/chunks/chunk-6N2XAEFK.mjs.map +0 -7
  548. package/dist/js/chunks/chunk-A7ALMYUR.mjs.map +0 -7
  549. package/dist/js/chunks/chunk-BG6ZRB5H.mjs.map +0 -7
  550. package/dist/js/chunks/chunk-CUQPB25U.mjs +0 -55
  551. package/dist/js/chunks/chunk-CUQPB25U.mjs.map +0 -7
  552. package/dist/js/chunks/chunk-DAIU5SLG.mjs.map +0 -7
  553. package/dist/js/chunks/chunk-FS7XY3HT.mjs.map +0 -7
  554. package/dist/js/chunks/chunk-GIW4K4SE.mjs.map +0 -7
  555. package/dist/js/chunks/chunk-GUB3TNO2.mjs.map +0 -7
  556. package/dist/js/chunks/chunk-GVGT6MIU.mjs.map +0 -7
  557. package/dist/js/chunks/chunk-GZKEFWPM.mjs +0 -181
  558. package/dist/js/chunks/chunk-GZKEFWPM.mjs.map +0 -7
  559. package/dist/js/chunks/chunk-HKT2S7VM.mjs +0 -48
  560. package/dist/js/chunks/chunk-HKT2S7VM.mjs.map +0 -7
  561. package/dist/js/chunks/chunk-ILP3PDTL.mjs +0 -187
  562. package/dist/js/chunks/chunk-ILP3PDTL.mjs.map +0 -7
  563. package/dist/js/chunks/chunk-JIDMQGK6.mjs.map +0 -7
  564. package/dist/js/chunks/chunk-KBNN3QDH.mjs +0 -7
  565. package/dist/js/chunks/chunk-KBNN3QDH.mjs.map +0 -7
  566. package/dist/js/chunks/chunk-KHV6DZXX.mjs.map +0 -7
  567. package/dist/js/chunks/chunk-KY6U46SM.mjs +0 -345
  568. package/dist/js/chunks/chunk-KY6U46SM.mjs.map +0 -7
  569. package/dist/js/chunks/chunk-LRZMJZ3T.mjs +0 -291
  570. package/dist/js/chunks/chunk-LRZMJZ3T.mjs.map +0 -7
  571. package/dist/js/chunks/chunk-LTWPGFBR.mjs +0 -59
  572. package/dist/js/chunks/chunk-LTWPGFBR.mjs.map +0 -7
  573. package/dist/js/chunks/chunk-MNPROCZF.mjs +0 -328
  574. package/dist/js/chunks/chunk-MNPROCZF.mjs.map +0 -7
  575. package/dist/js/chunks/chunk-MZ6Z24BX.mjs.map +0 -7
  576. package/dist/js/chunks/chunk-NS2UMNZV.mjs.map +0 -7
  577. package/dist/js/chunks/chunk-O5XPWXIQ.mjs +0 -406
  578. package/dist/js/chunks/chunk-O5XPWXIQ.mjs.map +0 -7
  579. package/dist/js/chunks/chunk-PM655FXL.mjs.map +0 -7
  580. package/dist/js/chunks/chunk-QDAL4IYN.mjs.map +0 -7
  581. package/dist/js/chunks/chunk-QERLECVU.mjs +0 -572
  582. package/dist/js/chunks/chunk-QERLECVU.mjs.map +0 -7
  583. package/dist/js/chunks/chunk-QJABDLSD.mjs +0 -112
  584. package/dist/js/chunks/chunk-QJABDLSD.mjs.map +0 -7
  585. package/dist/js/chunks/chunk-RHRQKTTX.mjs +0 -139
  586. package/dist/js/chunks/chunk-RHRQKTTX.mjs.map +0 -7
  587. package/dist/js/chunks/chunk-S3XDFGSZ.mjs.map +0 -7
  588. package/dist/js/chunks/chunk-SPETGK25.mjs +0 -59
  589. package/dist/js/chunks/chunk-SPETGK25.mjs.map +0 -7
  590. package/dist/js/chunks/chunk-TBM3FT7G.mjs.map +0 -7
  591. package/dist/js/chunks/chunk-UEXCIMJZ.mjs.map +0 -7
  592. package/dist/js/chunks/chunk-UEZUJQ66.mjs.map +0 -7
  593. package/dist/js/chunks/chunk-VGZSAFTX.mjs +0 -173
  594. package/dist/js/chunks/chunk-VGZSAFTX.mjs.map +0 -7
  595. package/dist/js/chunks/chunk-X7OCHZVF.mjs +0 -76
  596. package/dist/js/chunks/chunk-X7OCHZVF.mjs.map +0 -7
  597. package/dist/js/chunks/chunk-YDCS5S3J.mjs.map +0 -7
  598. package/dist/js/chunks/chunk-YMSXJON6.mjs +0 -79
  599. package/dist/js/chunks/chunk-YMSXJON6.mjs.map +0 -7
  600. package/dist/js/chunks/chunk-Z2NRKI7R.mjs.map +0 -7
  601. package/dist/js/chunks/chunk-ZAS25YFD.mjs.map +0 -7
  602. package/dist/js/chunks/chunk-ZKZKNSLC.mjs +0 -1
  603. /package/dist/js/chunks/{chunk-ZKZKNSLC.mjs.map → chunk-GNRSYMVH.mjs.map} +0 -0
@@ -1,4 +1,5 @@
1
1
  @use "sass:map";
2
+ @use "../abstracts" as *;
2
3
 
3
4
  // Material Design 3 reference palette.
4
5
  //
@@ -21,12 +22,9 @@
21
22
  // tests/color-drift.test.js recomputes every generated value and fails if it
22
23
  // moves more than DRIFT_BUDGET from the checked-in Material Theme Builder
23
24
  // reference, so this cannot regress silently. That test validates the formula
24
- // against #006495, the one source there is ground truth for - $md-source below
25
- // is a branding choice and is free to change without failing it.
26
-
27
- // Mist Iris is the default seed for the generated ramps. Primary, secondary,
28
- // tertiary and neutral colors derive from it; the error ramp stays fixed.
29
- $md-source: #c6a0f6 !default;
25
+ // against #006495, the one source there is ground truth for - $md-source (in
26
+ // abstracts/_variables) is a branding choice and is free to change without
27
+ // failing it.
30
28
 
31
29
  // tone -> OKLCH lightness. Fitted against the reference ramps; see the test.
32
30
  $tones: (
@@ -35,7 +33,7 @@ $tones: (
35
33
  40: 48.14%, 50: 56.83%, 60: 65.42%, 70: 74.04%, 80: 82.63%, 87: 88.72%,
36
34
  90: 91.33%, 92: 93.05%, 94: 94.76%, 95: 95.62%, 96: 96.50%, 98: 98.25%,
37
35
  99: 99.19%, 100: 100%
38
- ) !default;
36
+ );
39
37
 
40
38
  // Per-ramp hue offset from the source hue, and target chroma. Chroma is a
41
39
  // fixed per-role value, not taken from the source - that is M3's model, and it
@@ -56,7 +54,7 @@ $ramps: (
56
54
  "tertiary": ("hue": 62, "chroma": 0.058),
57
55
  "neutral": ("hue": 17, "chroma": 0.004),
58
56
  "neutral-variant": ("hue": 9, "chroma": 0.013)
59
- ) !default;
57
+ );
60
58
 
61
59
  // Which ramp entry each system color resolves to, per scheme.
62
60
  $sys-light: (
@@ -83,10 +81,8 @@ $sys-light: (
83
81
  "outline": "neutral-variant50", "outline-variant": "neutral-variant80",
84
82
  "inverse-surface": "neutral20", "inverse-on-surface": "neutral95",
85
83
  "inverse-primary": "primary80",
86
- "scrim": "neutral0", "shadow": "neutral0",
87
- "background": "neutral98", "on-background": "neutral10",
88
- "surface-variant": "neutral-variant90", "surface-tint": "primary40"
89
- ) !default;
84
+ "scrim": "neutral0", "shadow": "neutral0"
85
+ );
90
86
 
91
87
  $sys-dark: (
92
88
  "primary": "primary80", "on-primary": "primary20",
@@ -112,15 +108,43 @@ $sys-dark: (
112
108
  "outline": "neutral-variant60", "outline-variant": "neutral-variant30",
113
109
  "inverse-surface": "neutral90", "inverse-on-surface": "neutral10",
114
110
  "inverse-primary": "primary40",
115
- "scrim": "neutral0", "shadow": "neutral0",
116
- "background": "neutral6", "on-background": "neutral90",
117
- "surface-variant": "neutral-variant30", "surface-tint": "primary80"
118
- ) !default;
111
+ "scrim": "neutral0", "shadow": "neutral0"
112
+ );
113
+
114
+ // M3 type roles: typeface (brand or plain), weight, size, line height, tracking.
115
+ $_typescale: (
116
+ ("display-large", brand, 400, 3.5625rem, 4rem, -0.015625rem),
117
+ ("display-medium", brand, 400, 2.8125rem, 3.25rem, 0rem),
118
+ ("display-small", brand, 400, 2.25rem, 2.75rem, 0rem),
119
+ ("headline-large", brand, 400, 2rem, 2.5rem, 0rem),
120
+ ("headline-medium", brand, 400, 1.75rem, 2.25rem, 0rem),
121
+ ("headline-small", brand, 400, 1.5rem, 2rem, 0rem),
122
+ ("body-large", plain, 400, 1rem, 1.5rem, 0.03125rem),
123
+ ("body-medium", plain, 400, 0.875rem, 1.25rem, 0.015625rem),
124
+ ("body-small", plain, 400, 0.75rem, 1rem, 0.025rem),
125
+ ("label-large", plain, 500, 0.875rem, 1.25rem, 0.00625rem),
126
+ ("label-medium", plain, 500, 0.75rem, 1rem, 0.03125rem),
127
+ ("label-small", plain, 500, 0.6875rem, 1rem, 0.03125rem),
128
+ ("title-large", brand, 400, 1.375rem, 1.75rem, 0rem),
129
+ ("title-medium", plain, 500, 1rem, 1.5rem, 0.009375rem),
130
+ ("title-small", plain, 500, 0.875rem, 1.25rem, 0.00625rem),
131
+ );
132
+
133
+ // Emphasized weights, from Google's typography guidance: medium for display,
134
+ // headline, title-large and body, bold for title-medium, title-small and
135
+ // label. base/_fonts.scss bundles the 500 and 700 faces.
136
+ $_emphasized-weights: (
137
+ "display-large": 500, "display-medium": 500, "display-small": 500,
138
+ "headline-large": 500, "headline-medium": 500, "headline-small": 500,
139
+ "title-large": 500, "title-medium": 700, "title-small": 700,
140
+ "body-large": 500, "body-medium": 500, "body-small": 500,
141
+ "label-large": 700, "label-medium": 700, "label-small": 700,
142
+ );
119
143
 
120
144
  :root, :host {
121
145
  --md-source: #{$md-source};
122
146
 
123
- /* primary, secondary, tertiary, neutral, neutral-variant - all generated */
147
+ // primary, secondary, tertiary, neutral, neutral-variant - all generated
124
148
  @each $name, $cfg in $ramps {
125
149
  $off: map.get($cfg, "hue");
126
150
  @each $tone, $l in $tones {
@@ -128,20 +152,16 @@ $sys-dark: (
128
152
  $c: map.get($cfg, "chroma");
129
153
  @if $tone == 0 or $tone == 100 { $c: 0; }
130
154
 
131
- @if $off == 0 {
132
- --md-ref-palette-#{$name}#{$tone}: oklch(from var(--md-source) #{$l} #{$c} h);
133
- } @else {
134
- --md-ref-palette-#{$name}#{$tone}: oklch(from var(--md-source) #{$l} #{$c} calc(h + #{$off}));
135
- }
155
+ --md-ref-palette-#{$name}#{$tone}: oklch(from var(--md-source) #{$l} #{$c} calc(h + #{$off}));
136
156
  }
137
157
  }
138
158
 
139
- /* error - deliberately NOT generated.
140
- M3 fixes the error hue rather than deriving it: "this went wrong" should
141
- not rebrand when someone changes their brand color. It is also the ramp
142
- where OKLab and CIELAB lightness diverge most (it carries the highest
143
- chroma), so generating it was the only one to exceed the JND - 0.027
144
- against 0.008 for everything else. Both reasons point the same way. */
159
+ // error - deliberately NOT generated.
160
+ // M3 fixes the error hue rather than deriving it: "this went wrong" should
161
+ // not rebrand when someone changes their brand color. It is also the ramp
162
+ // where OKLab and CIELAB lightness diverge most (it carries the highest
163
+ // chroma), so generating it was the only one to exceed the JND - 0.027
164
+ // against 0.008 for everything else. Both reasons point the same way.
145
165
  --md-ref-palette-error0: #000000;
146
166
  --md-ref-palette-error10: #410002;
147
167
  --md-ref-palette-error20: #690005;
@@ -159,128 +179,39 @@ $sys-dark: (
159
179
  --md-ref-palette-error99: #fffbff;
160
180
  --md-ref-palette-error100: #ffffff;
161
181
 
162
- /* light scheme */
182
+ // light scheme
163
183
  @each $role, $ref in $sys-light {
164
184
  --md-sys-color-#{$role}-light: var(--md-ref-palette-#{$ref});
165
185
  }
166
186
 
167
- /* dark scheme */
187
+ // dark scheme
168
188
  @each $role, $ref in $sys-dark {
169
189
  --md-sys-color-#{$role}-dark: var(--md-ref-palette-#{$ref});
170
190
  }
171
191
 
172
- /* typefaces
173
- M3 separates expressive large type (brand) from readable small type
174
- (plain). Roboto is the default for both. Noto Sans follows it as the
175
- language fallback recommended by Material. Override either brand/plain
176
- token to customize the scale without rewriting every role. */
192
+ // typefaces
193
+ // M3 separates expressive large type (brand) from readable small type
194
+ // (plain). Roboto is the default for both. Noto Sans follows it as the
195
+ // language fallback recommended by Material. Override either brand/plain
196
+ // token to customize the scale without rewriting every role.
177
197
  --md-ref-typeface-brand: "Roboto";
178
198
  --md-ref-typeface-plain: "Roboto";
179
- --md-ref-typeface-fallback: "Noto Sans", sans-serif;
199
+ --md-ref-typeface-fallback: "Noto Sans", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans Thai", sans-serif;
180
200
 
181
- /* display - large */
182
- --md-sys-typescale-display-large-font-family-name: var(--md-ref-typeface-brand), var(--md-ref-typeface-fallback);
183
- --md-sys-typescale-display-large-font-family-style: Regular;
184
- --md-sys-typescale-display-large-font-weight: 400;
185
- --md-sys-typescale-display-large-font-size: 3.5625rem;
186
- --md-sys-typescale-display-large-line-height: 4rem;
187
- --md-sys-typescale-display-large-letter-spacing: -0.015625rem;
188
- /* display - medium */
189
- --md-sys-typescale-display-medium-font-family-name: var(--md-ref-typeface-brand), var(--md-ref-typeface-fallback);
190
- --md-sys-typescale-display-medium-font-family-style: Regular;
191
- --md-sys-typescale-display-medium-font-weight: 400;
192
- --md-sys-typescale-display-medium-font-size: 2.8125rem;
193
- --md-sys-typescale-display-medium-line-height: 3.25rem;
194
- --md-sys-typescale-display-medium-letter-spacing: 0rem;
195
- /* display - small */
196
- --md-sys-typescale-display-small-font-family-name: var(--md-ref-typeface-brand), var(--md-ref-typeface-fallback);
197
- --md-sys-typescale-display-small-font-family-style: Regular;
198
- --md-sys-typescale-display-small-font-weight: 400;
199
- --md-sys-typescale-display-small-font-size: 2.25rem;
200
- --md-sys-typescale-display-small-line-height: 2.75rem;
201
- --md-sys-typescale-display-small-letter-spacing: 0rem;
202
- /* headline - large */
203
- --md-sys-typescale-headline-large-font-family-name: var(--md-ref-typeface-brand), var(--md-ref-typeface-fallback);
204
- --md-sys-typescale-headline-large-font-family-style: Regular;
205
- --md-sys-typescale-headline-large-font-weight: 400;
206
- --md-sys-typescale-headline-large-font-size: 2rem;
207
- --md-sys-typescale-headline-large-line-height: 2.5rem;
208
- --md-sys-typescale-headline-large-letter-spacing: 0rem;
209
- /* headline - medium */
210
- --md-sys-typescale-headline-medium-font-family-name: var(--md-ref-typeface-brand), var(--md-ref-typeface-fallback);
211
- --md-sys-typescale-headline-medium-font-family-style: Regular;
212
- --md-sys-typescale-headline-medium-font-weight: 400;
213
- --md-sys-typescale-headline-medium-font-size: 1.75rem;
214
- --md-sys-typescale-headline-medium-line-height: 2.25rem;
215
- --md-sys-typescale-headline-medium-letter-spacing: 0rem;
216
- /* headline - small */
217
- --md-sys-typescale-headline-small-font-family-name: var(--md-ref-typeface-brand), var(--md-ref-typeface-fallback);
218
- --md-sys-typescale-headline-small-font-family-style: Regular;
219
- --md-sys-typescale-headline-small-font-weight: 400;
220
- --md-sys-typescale-headline-small-font-size: 1.5rem;
221
- --md-sys-typescale-headline-small-line-height: 2rem;
222
- --md-sys-typescale-headline-small-letter-spacing: 0rem;
223
- /* body - large */
224
- --md-sys-typescale-body-large-font-family-name: var(--md-ref-typeface-plain), var(--md-ref-typeface-fallback);
225
- --md-sys-typescale-body-large-font-family-style: Regular;
226
- --md-sys-typescale-body-large-font-weight: 400;
227
- --md-sys-typescale-body-large-font-size: 1rem;
228
- --md-sys-typescale-body-large-line-height: 1.5rem;
229
- --md-sys-typescale-body-large-letter-spacing: 0.03125rem;
230
- /* body - medium */
231
- --md-sys-typescale-body-medium-font-family-name: var(--md-ref-typeface-plain), var(--md-ref-typeface-fallback);
232
- --md-sys-typescale-body-medium-font-family-style: Regular;
233
- --md-sys-typescale-body-medium-font-weight: 400;
234
- --md-sys-typescale-body-medium-font-size: 0.875rem;
235
- --md-sys-typescale-body-medium-line-height: 1.25rem;
236
- --md-sys-typescale-body-medium-letter-spacing: 0.015625rem;
237
- /* body - small */
238
- --md-sys-typescale-body-small-font-family-name: var(--md-ref-typeface-plain), var(--md-ref-typeface-fallback);
239
- --md-sys-typescale-body-small-font-family-style: Regular;
240
- --md-sys-typescale-body-small-font-weight: 400;
241
- --md-sys-typescale-body-small-font-size: 0.75rem;
242
- --md-sys-typescale-body-small-line-height: 1rem;
243
- --md-sys-typescale-body-small-letter-spacing: 0.025rem;
244
- /* label - large */
245
- --md-sys-typescale-label-large-font-family-name: var(--md-ref-typeface-plain), var(--md-ref-typeface-fallback);
246
- --md-sys-typescale-label-large-font-family-style: Medium;
247
- --md-sys-typescale-label-large-font-weight: 500;
248
- --md-sys-typescale-label-large-font-size: 0.875rem;
249
- --md-sys-typescale-label-large-line-height: 1.25rem;
250
- --md-sys-typescale-label-large-letter-spacing: 0.00625rem;
251
- /* label - medium */
252
- --md-sys-typescale-label-medium-font-family-name: var(--md-ref-typeface-plain), var(--md-ref-typeface-fallback);
253
- --md-sys-typescale-label-medium-font-family-style: Medium;
254
- --md-sys-typescale-label-medium-font-weight: 500;
255
- --md-sys-typescale-label-medium-font-size: 0.75rem;
256
- --md-sys-typescale-label-medium-line-height: 1rem;
257
- --md-sys-typescale-label-medium-letter-spacing: 0.03125rem;
258
- /* label - small */
259
- --md-sys-typescale-label-small-font-family-name: var(--md-ref-typeface-plain), var(--md-ref-typeface-fallback);
260
- --md-sys-typescale-label-small-font-family-style: Medium;
261
- --md-sys-typescale-label-small-font-weight: 500;
262
- --md-sys-typescale-label-small-font-size: 0.6875rem;
263
- --md-sys-typescale-label-small-line-height: 1rem;
264
- --md-sys-typescale-label-small-letter-spacing: 0.03125rem;
265
- /* title - large */
266
- --md-sys-typescale-title-large-font-family-name: var(--md-ref-typeface-brand), var(--md-ref-typeface-fallback);
267
- --md-sys-typescale-title-large-font-family-style: Regular;
268
- --md-sys-typescale-title-large-font-weight: 400;
269
- --md-sys-typescale-title-large-font-size: 1.375rem;
270
- --md-sys-typescale-title-large-line-height: 1.75rem;
271
- --md-sys-typescale-title-large-letter-spacing: 0rem;
272
- /* title - medium */
273
- --md-sys-typescale-title-medium-font-family-name: var(--md-ref-typeface-plain), var(--md-ref-typeface-fallback);
274
- --md-sys-typescale-title-medium-font-family-style: Medium;
275
- --md-sys-typescale-title-medium-font-weight: 500;
276
- --md-sys-typescale-title-medium-font-size: 1rem;
277
- --md-sys-typescale-title-medium-line-height: 1.5rem;
278
- --md-sys-typescale-title-medium-letter-spacing: 0.009375rem;
279
- /* title - small */
280
- --md-sys-typescale-title-small-font-family-name: var(--md-ref-typeface-plain), var(--md-ref-typeface-fallback);
281
- --md-sys-typescale-title-small-font-family-style: Medium;
282
- --md-sys-typescale-title-small-font-weight: 500;
283
- --md-sys-typescale-title-small-font-size: 0.875rem;
284
- --md-sys-typescale-title-small-line-height: 1.25rem;
285
- --md-sys-typescale-title-small-letter-spacing: 0.00625rem;
201
+ // Type roles.
202
+ @each $role, $face, $weight, $size, $line-height, $tracking in $_typescale {
203
+ --md-sys-typescale-#{$role}-font-family-name: var(--md-ref-typeface-#{$face}), var(--md-ref-typeface-fallback);
204
+ --md-sys-typescale-#{$role}-font-family-style: #{map.get((400: Regular, 500: Medium), $weight)};
205
+ --md-sys-typescale-#{$role}-font-weight: #{$weight};
206
+ --md-sys-typescale-#{$role}-font-size: #{$size};
207
+ --md-sys-typescale-#{$role}-line-height: #{$line-height};
208
+ --md-sys-typescale-#{$role}-letter-spacing: #{$tracking};
209
+ }
210
+
211
+ // emphasized - M3 Expressive's heavier counterpart of each role. Only the
212
+ // weight changes; the family, size, line height and tracking are the
213
+ // baseline role's.
214
+ @each $role, $weight in $_emphasized-weights {
215
+ --md-sys-typescale-emphasized-#{$role}-font-weight: #{$weight};
216
+ }
286
217
  }
@@ -0,0 +1,38 @@
1
+ // Material Design 3 corner tokens: md.sys.shape.corner.*, including the
2
+ // Expressive steps (large-increased, extra-large-increased,
3
+ // extra-extra-large).
4
+ //
5
+ // Component shape tokens point at these, the way material-web's do, so a
6
+ // brand that wants squarer or rounder corners overrides the scale once:
7
+ //
8
+ // :root { --md-sys-shape-corner-medium: 8px; }
9
+ //
10
+ // A component token still wins for one component. `full` is a pill at any
11
+ // height the framework draws; a true circle on a square box is `.circle`.
12
+
13
+ :root,
14
+ :host {
15
+ --md-sys-shape-corner-none: 0px;
16
+ --md-sys-shape-corner-extra-small: 4px;
17
+ --md-sys-shape-corner-small: 8px;
18
+ --md-sys-shape-corner-medium: 12px;
19
+ --md-sys-shape-corner-large: 16px;
20
+ --md-sys-shape-corner-large-increased: 20px;
21
+ --md-sys-shape-corner-extra-large: 28px;
22
+ --md-sys-shape-corner-extra-large-increased: 32px;
23
+ --md-sys-shape-corner-extra-extra-large: 48px;
24
+ --md-sys-shape-corner-full: 9999px;
25
+
26
+ // The corner family: `round`, or `bevel` for M3's cut corners. Read by
27
+ // the container surfaces listed in utilities/_helpers.scss.
28
+ --md-sys-shape-corner-family: round;
29
+ }
30
+
31
+ // corners="cut" on the root or a subtree cuts its surfaces' corners;
32
+ // corners="round" puts them back. Browsers without `corner-shape` keep
33
+ // rounded corners.
34
+ [corners='cut'],
35
+ :host([corners='cut']) { --md-sys-shape-corner-family: bevel; }
36
+
37
+ [corners='round'],
38
+ :host([corners='round']) { --md-sys-shape-corner-family: round; }
@@ -0,0 +1,27 @@
1
+ // Stacking order for everything that floats above the page. Material has no
2
+ // z-index tokens, so these are ours.
3
+ //
4
+ // Lowest to highest: fixed toolbars, top app bars and fixed navigation bars,
5
+ // the modal navigation rail, non-modal sheets, tooltips, docked pickers,
6
+ // snackbars, then the confetti overlay where it cannot use the top layer.
7
+ // Dialogs, modal sheets, open menus, an open lightbox and open popovers sit
8
+ // in the top layer, above all of these, whatever their z-index.
9
+ // --expressive-z-lightbox is kept for pages that read it; the lightbox no
10
+ // longer uses it.
11
+ //
12
+ // Override one to slot an application layer between two of them:
13
+ //
14
+ // :root { --expressive-z-tooltip: 1500; }
15
+
16
+ :root,
17
+ :host {
18
+ --expressive-z-toolbar: 996;
19
+ --expressive-z-app-bar: 997;
20
+ --expressive-z-modal-rail: 998;
21
+ --expressive-z-sheet: 1100;
22
+ --expressive-z-lightbox: 1200;
23
+ --expressive-z-tooltip: 2000;
24
+ --expressive-z-menu: 9999;
25
+ --expressive-z-snackbar: 10000;
26
+ --expressive-z-confetti: 10001;
27
+ }
@@ -10,10 +10,8 @@
10
10
  // pressed are 0.1, not the 0.12 quoted in some secondary sources.
11
11
  //
12
12
  // Two shapes consume these. An overlay pseudo-element uses the number as an
13
- // `opacity` directly; a ring drawn with `color-mix()` needs a percentage, so it
14
- // multiplies by 100% - see the `state-layer-ring` mixin in abstracts.
15
-
16
- @use "../abstracts" as *;
13
+ // `opacity` directly; a `color-mix()` tint needs a percentage, which
14
+ // `state-opacity()` in abstracts supplies.
17
15
 
18
16
  :root,
19
17
  :host {
@@ -18,7 +18,7 @@
18
18
  //
19
19
  // The --md-sys-color-*-light / -dark pairs are deliberately left in place.
20
20
  // They are the documented way to re-theme the framework (see the docs' Themes
21
- // page) and several components reference them directly.
21
+ // page). Components read the live names, not the pairs.
22
22
 
23
23
  :root, :host {
24
24
  // `light dark` means: follow the OS unless an ancestor says otherwise.
@@ -32,7 +32,7 @@
32
32
  }
33
33
  }
34
34
 
35
- /* ===================================================================== Themes */
35
+ // ===================================================================== Themes
36
36
 
37
37
  // Opting out of the OS preference. Every token above re-resolves from these.
38
38
  // `auto` is the explicit follow-OS value — same as omitting the attribute.
@@ -42,3 +42,12 @@
42
42
  :host([theme='dark']) { color-scheme: dark; }
43
43
  :root[theme='auto'],
44
44
  :host([theme='auto']) { color-scheme: light dark; }
45
+
46
+ // More contrast is tokens/_contrast.scss: the contrast attribute and
47
+ // prefers-contrast: more.
48
+
49
+ // Paper is white, and browsers drop backgrounds when printing by default, so
50
+ // a dark scheme prints light text on nothing. Print is always light.
51
+ @media print {
52
+ :root, :root[theme], :host, :host([theme]) { color-scheme: light; }
53
+ }
@@ -34,7 +34,6 @@
34
34
  // outline roles neutral-variant in M3, not an opacity of the text color.
35
35
  // Deriving them from on-*-container turns every checkbox,
36
36
  // radio and switch border inside the subtree translucent.
37
- // surface-tint an accent despite the name - it is the elevation tint.
38
37
  // inverse-*, scrim they exist to contrast with the page, not to follow it.
39
38
  //
40
39
  // The elevation ladder does collapse: every surface-container rung resolves to
@@ -52,11 +51,10 @@
52
51
  // Every surface role, derived rather than restated: a rung added to
53
52
  // $sys-color-roles and forgotten here would keep its neutral value and sit as a
54
53
  // grey patch on an accent one. `on-` and `inverse-surface` are excluded by the
55
- // prefix test; surface-tint by name, per the note above.
54
+ // prefix test.
56
55
  $_vibrant-surfaces: ();
57
56
  @each $role in $sys-color-roles {
58
- @if $role == "background" or
59
- (string.index($role, "surface") == 1 and $role != "surface-tint") {
57
+ @if string.index($role, "surface") == 1 {
60
58
  $_vibrant-surfaces: list.append($_vibrant-surfaces, $role);
61
59
  }
62
60
  }
@@ -72,5 +70,4 @@ $_vibrant-surfaces: ();
72
70
 
73
71
  --md-sys-color-on-surface: var(--md-sys-color-on-tertiary-container);
74
72
  --md-sys-color-on-surface-variant: var(--md-sys-color-on-tertiary-container);
75
- --md-sys-color-on-background: var(--md-sys-color-on-tertiary-container);
76
73
  }
@@ -19,7 +19,12 @@ $_role-named: "primary-container", "secondary-container", "tertiary-container";
19
19
  $_role-named-hosts: ":not(.extend):not(.fab-menu)";
20
20
 
21
21
  @each $role in $sys-color-roles {
22
- #{if(list.index($_role-named, $role), ".#{$role}#{$_role-named-hosts}", ".#{$role}")} {
22
+ $fill: ".#{$role}";
23
+ @if list.index($_role-named, $role) {
24
+ $fill: "#{$fill}#{$_role-named-hosts}";
25
+ }
26
+
27
+ #{$fill} {
23
28
  background-color: var(--md-sys-color-#{$role});
24
29
  }
25
30
 
@@ -0,0 +1,17 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // The browser skips layout and paint for each child while it is off screen.
4
+ // A skipped child reserves --defer-render-row-size, or the list item height
5
+ // inside .list, and keeps its last rendered size after it has been on screen.
6
+ // Paint containment clips what a child draws outside its box, so focus rings
7
+ // inside a child are drawn inset, and rows with swipe actions, which wait past
8
+ // the row's end, are left alone. Table rows ignore containment.
9
+ .defer-render > :not(:has(> .swipe-actions)) {
10
+ content-visibility: auto;
11
+ contain-intrinsic-block-size: auto var(--defer-render-row-size, var(--md-comp-list-item-height, #{rem(56px)}));
12
+
13
+ // -3px is the focus-ring mixin's outline width.
14
+ :focus-visible {
15
+ outline-offset: -3px;
16
+ }
17
+ }