@expressivecss/expressive 0.15.0 → 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 (602) hide show
  1. package/CHANGELOG.md +1502 -1
  2. package/README.md +9 -8
  3. package/dist/css/expressive.css +19247 -11923
  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-KVJAVDBC.mjs → chunk-4QUCNFSD.mjs} +64 -113
  76. package/dist/js/chunks/chunk-4QUCNFSD.mjs.map +7 -0
  77. package/dist/js/chunks/{chunk-UETTGDLI.mjs → chunk-4TRZ2AER.mjs} +35 -41
  78. package/dist/js/chunks/chunk-4TRZ2AER.mjs.map +7 -0
  79. package/dist/js/chunks/{chunk-C6CHEWYP.mjs → chunk-5KIHWJI2.mjs} +40 -26
  80. package/dist/js/chunks/chunk-5KIHWJI2.mjs.map +7 -0
  81. package/dist/js/chunks/{chunk-L27Q6ZMI.mjs → chunk-67ZPPKXS.mjs} +20 -33
  82. package/dist/js/chunks/chunk-67ZPPKXS.mjs.map +7 -0
  83. package/dist/js/chunks/{chunk-XAEAEHIX.mjs → chunk-6FSEUFVW.mjs} +39 -26
  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-CK2XCICY.mjs → chunk-75E5EDJF.mjs} +3 -11
  88. package/dist/js/chunks/chunk-75E5EDJF.mjs.map +7 -0
  89. package/dist/js/chunks/{chunk-KHXZ2A4K.mjs → chunk-7NLUI3RR.mjs} +139 -66
  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-LQWUDNHZ.mjs → chunk-ANKFWNWT.mjs} +21 -45
  100. package/dist/js/chunks/chunk-ANKFWNWT.mjs.map +7 -0
  101. package/dist/js/chunks/{chunk-5CEAOLUA.mjs → chunk-B7DQFHA5.mjs} +30 -47
  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-VGNYF6FB.mjs → chunk-BPF3I2MN.mjs} +109 -24
  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-NUHMOAOY.mjs → chunk-CSYWKEK3.mjs} +310 -196
  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-74MXKKLN.mjs → chunk-EC26RU2D.mjs} +11 -29
  116. package/dist/js/chunks/chunk-EC26RU2D.mjs.map +7 -0
  117. package/dist/js/chunks/{chunk-WDK4T63U.mjs → chunk-EVCVFEV3.mjs} +235 -146
  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-PDG64UHF.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-BGZLF6JZ.mjs → chunk-KZPSAXIU.mjs} +142 -32
  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-DXGRXYYL.mjs → chunk-OP43LLIC.mjs} +28 -45
  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-TSZYSW7F.mjs → chunk-OYNUDOHR.mjs} +19 -47
  153. package/dist/js/chunks/chunk-OYNUDOHR.mjs.map +7 -0
  154. package/dist/js/chunks/{chunk-UAZSDUVP.mjs → chunk-P6DRQ6KS.mjs} +36 -30
  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-GJL6GCIU.mjs → chunk-QXKWVHBD.mjs} +265 -161
  161. package/dist/js/chunks/chunk-QXKWVHBD.mjs.map +7 -0
  162. package/dist/js/chunks/{chunk-X4ISMKE2.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-SMY7GJSS.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-ZX6M7SWO.mjs → chunk-VGY4M57S.mjs} +266 -120
  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-SFI2U4YW.mjs → chunk-VMY55K2X.mjs} +76 -109
  185. package/dist/js/chunks/chunk-VMY55K2X.mjs.map +7 -0
  186. package/dist/js/chunks/{chunk-KUFHW3DS.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-FM5CZOUB.mjs → chunk-ZJNLAGY5.mjs} +19 -30
  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 +10613 -4327
  213. package/dist/js/expressive.cjs.map +4 -4
  214. package/dist/js/expressive.js +10613 -4327
  215. package/dist/js/expressive.js.map +4 -4
  216. package/dist/js/expressive.min.js +23 -22
  217. package/dist/js/expressive.min.js.map +4 -4
  218. package/dist/js/expressive.mjs +182 -71
  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 +131 -66
  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 +3 -3
  274. package/dist/js/internal/components/lightbox.mjs +3 -3
  275. package/dist/js/internal/components/lineChart.mjs +25 -4
  276. package/dist/js/internal/components/loadingOverlay.mjs +9 -0
  277. package/dist/js/internal/components/loadingOverlay.mjs.map +7 -0
  278. package/dist/js/internal/components/mapView.mjs +3 -3
  279. package/dist/js/internal/components/menu.mjs +3 -3
  280. package/dist/js/internal/components/menubar.mjs +10 -0
  281. package/dist/js/internal/components/menubar.mjs.map +7 -0
  282. package/dist/js/internal/components/messageScroller.mjs +3 -3
  283. package/dist/js/internal/components/mixedChart.mjs +5 -4
  284. package/dist/js/internal/components/navigationRail.mjs +3 -2
  285. package/dist/js/internal/components/particles.mjs +3 -2
  286. package/dist/js/internal/components/pieChart.mjs +4 -3
  287. package/dist/js/internal/components/pullToRefresh.mjs +9 -0
  288. package/dist/js/internal/components/pullToRefresh.mjs.map +7 -0
  289. package/dist/js/internal/components/questionnaire.mjs +3 -3
  290. package/dist/js/internal/components/radarChart.mjs +4 -3
  291. package/dist/js/internal/components/radialChart.mjs +4 -3
  292. package/dist/js/internal/components/registry.mjs +59 -41
  293. package/dist/js/internal/components/richTextEditor.mjs +3 -3
  294. package/dist/js/internal/components/sankeyChart.mjs +10 -0
  295. package/dist/js/internal/components/sankeyChart.mjs.map +7 -0
  296. package/dist/js/internal/components/scatterChart.mjs +10 -0
  297. package/dist/js/internal/components/scatterChart.mjs.map +7 -0
  298. package/dist/js/internal/components/scrollspy.mjs +3 -2
  299. package/dist/js/internal/components/select.mjs +4 -4
  300. package/dist/js/internal/components/showMore.mjs +9 -0
  301. package/dist/js/internal/components/showMore.mjs.map +7 -0
  302. package/dist/js/internal/components/slider.mjs +3 -3
  303. package/dist/js/internal/components/snackbar.mjs +2 -2
  304. package/dist/js/internal/components/swipeActions.mjs +9 -0
  305. package/dist/js/internal/components/swipeActions.mjs.map +7 -0
  306. package/dist/js/internal/components/tabs.mjs +3 -4
  307. package/dist/js/internal/components/timepicker.mjs +5 -4
  308. package/dist/js/internal/components/tooltip.mjs +3 -3
  309. package/dist/js/internal/components/treeSelect.mjs +13 -0
  310. package/dist/js/internal/components/treeSelect.mjs.map +7 -0
  311. package/dist/js/internal/components/treemapChart.mjs +10 -0
  312. package/dist/js/internal/components/treemapChart.mjs.map +7 -0
  313. package/dist/js/internal/core/component.mjs +2 -1
  314. package/dist/js/internal/core/formControl.mjs +12 -0
  315. package/dist/js/internal/core/formControl.mjs.map +7 -0
  316. package/dist/js/internal/core/spring.mjs +11 -0
  317. package/dist/js/internal/core/spring.mjs.map +7 -0
  318. package/dist/js/internal/core/utils.mjs +11 -3
  319. package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +2 -2
  320. package/dist/js/internal/plugins/modalDisplayPlugin.mjs +13 -0
  321. package/dist/js/internal/plugins/modalDisplayPlugin.mjs.map +7 -0
  322. package/dist/js/modular.mjs +173 -71
  323. package/dist/types/behaviors/bottomSheets.d.ts +19 -3
  324. package/dist/types/behaviors/copy.d.ts +18 -0
  325. package/dist/types/behaviors/dataTables.d.ts +129 -0
  326. package/dist/types/behaviors/dialogs.d.ts +27 -1
  327. package/dist/types/behaviors/forms.d.ts +68 -2
  328. package/dist/types/behaviors/imageCompare.d.ts +12 -0
  329. package/dist/types/behaviors/lists.d.ts +12 -0
  330. package/dist/types/behaviors/paneResize.d.ts +29 -0
  331. package/dist/types/behaviors/sheetDrag.d.ts +18 -0
  332. package/dist/types/behaviors/sideSheets.d.ts +1 -1
  333. package/dist/types/behaviors/sortable.d.ts +28 -0
  334. package/dist/types/behaviors/theme.d.ts +22 -0
  335. package/dist/types/behaviors/tour.d.ts +36 -0
  336. package/dist/types/behaviors/transferList.d.ts +51 -0
  337. package/dist/types/components/appBar.d.ts +5 -6
  338. package/dist/types/components/autocomplete.d.ts +91 -17
  339. package/dist/types/components/backToTop.d.ts +36 -0
  340. package/dist/types/components/barChart.d.ts +3 -6
  341. package/dist/types/components/buttonGroup.d.ts +2 -4
  342. package/dist/types/components/buttons.d.ts +5 -5
  343. package/dist/types/components/cards.d.ts +3 -16
  344. package/dist/types/components/carousel.d.ts +9 -15
  345. package/dist/types/components/cascader.d.ts +130 -0
  346. package/dist/types/components/characterCounter.d.ts +2 -15
  347. package/dist/types/components/chips.d.ts +65 -19
  348. package/dist/types/components/colorPicker.d.ts +42 -0
  349. package/dist/types/components/columnChart.d.ts +23 -10
  350. package/dist/types/components/commandPalette.d.ts +11 -16
  351. package/dist/types/components/confetti.d.ts +2 -4
  352. package/dist/types/components/currencyInput.d.ts +59 -0
  353. package/dist/types/components/datepicker.d.ts +56 -32
  354. package/dist/types/components/expandingCard.d.ts +4 -6
  355. package/dist/types/components/funnelChart.d.ts +38 -0
  356. package/dist/types/components/heatmapChart.d.ts +39 -8
  357. package/dist/types/components/hoverCard.d.ts +58 -0
  358. package/dist/types/components/index.d.ts +16 -1
  359. package/dist/types/components/inputMask.d.ts +30 -0
  360. package/dist/types/components/keypad.d.ts +38 -6
  361. package/dist/types/components/lightbox.d.ts +14 -20
  362. package/dist/types/components/lineChart.d.ts +172 -10
  363. package/dist/types/components/loadingOverlay.d.ts +42 -0
  364. package/dist/types/components/mapView.d.ts +26 -17
  365. package/dist/types/components/menu.d.ts +60 -22
  366. package/dist/types/components/menubar.d.ts +37 -0
  367. package/dist/types/components/messageScroller.d.ts +2 -14
  368. package/dist/types/components/mixedChart.d.ts +15 -6
  369. package/dist/types/components/navigationRail.d.ts +16 -5
  370. package/dist/types/components/particles.d.ts +8 -4
  371. package/dist/types/components/pieChart.d.ts +32 -7
  372. package/dist/types/components/pullToRefresh.d.ts +80 -0
  373. package/dist/types/components/questionnaire.d.ts +58 -16
  374. package/dist/types/components/radarChart.d.ts +10 -6
  375. package/dist/types/components/radialChart.d.ts +58 -7
  376. package/dist/types/components/registry.d.ts +73 -3
  377. package/dist/types/components/richTextEditor.d.ts +6 -14
  378. package/dist/types/components/sankeyChart.d.ts +72 -0
  379. package/dist/types/components/scatterChart.d.ts +102 -0
  380. package/dist/types/components/scrollspy.d.ts +3 -5
  381. package/dist/types/components/select.d.ts +43 -30
  382. package/dist/types/components/showMore.d.ts +51 -0
  383. package/dist/types/components/slider.d.ts +3 -15
  384. package/dist/types/components/snackbar.d.ts +61 -0
  385. package/dist/types/components/swipeActions.d.ts +81 -0
  386. package/dist/types/components/tabs.d.ts +89 -27
  387. package/dist/types/components/timepicker.d.ts +113 -21
  388. package/dist/types/components/tooltip.d.ts +56 -20
  389. package/dist/types/components/treeSelect.d.ts +106 -0
  390. package/dist/types/components/treemapChart.d.ts +56 -0
  391. package/dist/types/core/component.d.ts +43 -25
  392. package/dist/types/core/formControl.d.ts +21 -0
  393. package/dist/types/core/spring.d.ts +20 -0
  394. package/dist/types/core/utils.d.ts +85 -72
  395. package/dist/types/modular.d.ts +33 -1
  396. package/dist/types/plugins/dockedDisplayPlugin.d.ts +10 -8
  397. package/dist/types/plugins/modalDisplayPlugin.d.ts +32 -0
  398. package/package.json +10 -8
  399. package/src/sass/README.md +27 -18
  400. package/src/sass/abstracts/_elevation.scss +13 -7
  401. package/src/sass/abstracts/_index.scss +1 -0
  402. package/src/sass/abstracts/_mixins.scss +422 -36
  403. package/src/sass/abstracts/_spring.scss +63 -0
  404. package/src/sass/abstracts/_variables.scss +39 -21
  405. package/src/sass/base/_fonts.scss +61 -48
  406. package/src/sass/base/_global.scss +104 -24
  407. package/src/sass/base/_index.scss +2 -0
  408. package/src/sass/base/_normalize.scss +59 -114
  409. package/src/sass/base/_print.scss +21 -0
  410. package/src/sass/base/_prose.scss +68 -0
  411. package/src/sass/base/_typography.scss +9 -5
  412. package/src/sass/components/_accordion.scss +9 -16
  413. package/src/sass/components/_alert.scss +102 -0
  414. package/src/sass/components/_aura.scss +8 -3
  415. package/src/sass/components/_avatar.scss +3 -3
  416. package/src/sass/components/_back-to-top.scss +38 -0
  417. package/src/sass/components/_badges.scss +6 -5
  418. package/src/sass/components/_bar-chart.scss +41 -19
  419. package/src/sass/components/_bottom-sheet.scss +44 -16
  420. package/src/sass/components/_breadcrumb.scss +8 -1
  421. package/src/sass/components/_button-groups.scss +15 -25
  422. package/src/sass/components/_buttons.scss +156 -63
  423. package/src/sass/components/_calendar.scss +246 -0
  424. package/src/sass/components/_cards.scss +36 -44
  425. package/src/sass/components/_carousel.scss +27 -103
  426. package/src/sass/components/_cascader.scss +142 -0
  427. package/src/sass/components/_chips.scss +36 -46
  428. package/src/sass/components/_column-chart.scss +19 -12
  429. package/src/sass/components/_command-palette.scss +4 -7
  430. package/src/sass/components/_confetti.scss +0 -2
  431. package/src/sass/components/_countdown.scss +1 -1
  432. package/src/sass/components/_data-table.scss +162 -25
  433. package/src/sass/components/_datepicker.scss +54 -40
  434. package/src/sass/components/_description-list.scss +85 -0
  435. package/src/sass/components/_dialog.scss +42 -41
  436. package/src/sass/components/_docked-display.scss +1 -3
  437. package/src/sass/components/_drag-handle.scss +16 -20
  438. package/src/sass/components/_expanding-card.scss +20 -9
  439. package/src/sass/components/_fab-menu.scss +44 -32
  440. package/src/sass/components/_funnel-chart.scss +124 -0
  441. package/src/sass/components/_heatmap-chart.scss +111 -22
  442. package/src/sass/components/_icon-buttons.scss +7 -7
  443. package/src/sass/components/_icons-material-design.scss +2 -2
  444. package/src/sass/components/_image-compare.scss +108 -0
  445. package/src/sass/components/_index.scss +20 -0
  446. package/src/sass/components/_keypad.scss +39 -19
  447. package/src/sass/components/_kpi.scss +6 -11
  448. package/src/sass/components/_lightbox.scss +24 -13
  449. package/src/sass/components/_line-chart.scss +16 -2
  450. package/src/sass/components/_list.scss +59 -14
  451. package/src/sass/components/_loading-indicator.scss +1 -0
  452. package/src/sass/components/_loading-overlay.scss +105 -0
  453. package/src/sass/components/_map.scss +33 -11
  454. package/src/sass/components/_marquee.scss +3 -2
  455. package/src/sass/components/_mega-menu.scss +137 -0
  456. package/src/sass/components/_menu.scss +143 -123
  457. package/src/sass/components/_menubar.scss +59 -0
  458. package/src/sass/components/_message-scroller.scss +2 -2
  459. package/src/sass/components/_message.scss +3 -3
  460. package/src/sass/components/_mixed-chart.scss +37 -9
  461. package/src/sass/components/_modal-display.scss +21 -0
  462. package/src/sass/components/_navbar.scss +34 -20
  463. package/src/sass/components/_navigation-bar.scss +15 -77
  464. package/src/sass/components/_navigation-rail.scss +151 -92
  465. package/src/sass/components/_org-chart.scss +192 -0
  466. package/src/sass/components/_page-footer.scss +1 -1
  467. package/src/sass/components/_pagination.scss +6 -13
  468. package/src/sass/components/_panes.scss +32 -26
  469. package/src/sass/components/_particles.scss +0 -2
  470. package/src/sass/components/_pie-chart.scss +91 -11
  471. package/src/sass/components/_popover.scss +18 -5
  472. package/src/sass/components/_progress.scss +152 -31
  473. package/src/sass/components/_pull-to-refresh.scss +90 -0
  474. package/src/sass/components/_questionnaire.scss +74 -3
  475. package/src/sass/components/_radar-chart.scss +38 -10
  476. package/src/sass/components/_radial-chart.scss +113 -5
  477. package/src/sass/components/_rich-text-editor.scss +2 -2
  478. package/src/sass/components/_sankey-chart.scss +114 -0
  479. package/src/sass/components/_scatter-chart.scss +153 -0
  480. package/src/sass/components/_scrim.scss +0 -2
  481. package/src/sass/components/_scrollspy.scss +0 -2
  482. package/src/sass/components/_search.scss +26 -22
  483. package/src/sass/components/_show-more.scss +8 -0
  484. package/src/sass/components/_side-sheet.scss +23 -37
  485. package/src/sass/components/_skeleton.scss +2 -4
  486. package/src/sass/components/_snackbar.scss +27 -21
  487. package/src/sass/components/_split-button.scss +5 -5
  488. package/src/sass/components/_stat.scss +3 -8
  489. package/src/sass/components/_stepper.scss +1 -1
  490. package/src/sass/components/_swipe-actions.scss +71 -0
  491. package/src/sass/components/_tabs.scss +51 -32
  492. package/src/sass/components/_timeline.scss +12 -12
  493. package/src/sass/components/_timepicker.scss +109 -78
  494. package/src/sass/components/_toolbar.scss +35 -43
  495. package/src/sass/components/_tooltip.scss +21 -12
  496. package/src/sass/components/_tour.scss +89 -0
  497. package/src/sass/components/_transfer-list.scss +73 -0
  498. package/src/sass/components/_transitions.scss +4 -4
  499. package/src/sass/components/_tree.scss +3 -16
  500. package/src/sass/components/_treemap-chart.scss +122 -0
  501. package/src/sass/components/forms/_checkboxes.scss +106 -24
  502. package/src/sass/components/forms/_color-picker.scss +135 -0
  503. package/src/sass/components/forms/_color-swatches.scss +85 -0
  504. package/src/sass/components/forms/_drop-zone.scss +15 -9
  505. package/src/sass/components/forms/_fieldset.scss +7 -7
  506. package/src/sass/components/forms/_file-input.scss +6 -8
  507. package/src/sass/components/forms/_index.scss +3 -1
  508. package/src/sass/components/forms/_input-fields.scss +254 -90
  509. package/src/sass/components/forms/_radio-buttons.scss +33 -94
  510. package/src/sass/components/forms/_rating.scss +2 -32
  511. package/src/sass/components/forms/_select.scss +199 -20
  512. package/src/sass/components/forms/_slider.scss +91 -94
  513. package/src/sass/components/forms/_switches.scss +53 -164
  514. package/src/sass/custom.scss +10 -1
  515. package/src/sass/expressive.scss +3 -63
  516. package/src/sass/tokens/_contrast.scss +94 -0
  517. package/src/sass/tokens/_elevation.scss +16 -0
  518. package/src/sass/tokens/_index.scss +5 -0
  519. package/src/sass/tokens/_motion.scss +109 -0
  520. package/src/sass/tokens/_reference.scss +72 -141
  521. package/src/sass/tokens/_shape.scss +38 -0
  522. package/src/sass/tokens/_stacking.scss +27 -0
  523. package/src/sass/tokens/_state.scss +0 -2
  524. package/src/sass/tokens/_theme.scss +10 -1
  525. package/src/sass/tokens/_vibrant.scss +2 -5
  526. package/src/sass/utilities/_defer-render.scss +17 -0
  527. package/src/sass/utilities/_helpers.scss +183 -26
  528. package/src/sass/utilities/_index.scss +1 -0
  529. package/src/sass/utilities/_scroll-area.scss +0 -2
  530. package/src/sass/utilities/_spacing.scss +52 -34
  531. package/src/sass/utilities/_typescale.scss +8 -1
  532. package/src/sass/utilities/_visibility.scss +47 -76
  533. package/src/sass/utilities/_z-depth.scss +7 -4
  534. package/dist/js/chunks/chunk-33QVDDGR.mjs +0 -270
  535. package/dist/js/chunks/chunk-33QVDDGR.mjs.map +0 -7
  536. package/dist/js/chunks/chunk-45FER6RI.mjs +0 -59
  537. package/dist/js/chunks/chunk-45FER6RI.mjs.map +0 -7
  538. package/dist/js/chunks/chunk-5CEAOLUA.mjs.map +0 -7
  539. package/dist/js/chunks/chunk-6VATUZC6.mjs +0 -295
  540. package/dist/js/chunks/chunk-6VATUZC6.mjs.map +0 -7
  541. package/dist/js/chunks/chunk-74MXKKLN.mjs.map +0 -7
  542. package/dist/js/chunks/chunk-AIURVCG6.mjs +0 -55
  543. package/dist/js/chunks/chunk-AIURVCG6.mjs.map +0 -7
  544. package/dist/js/chunks/chunk-BGZLF6JZ.mjs.map +0 -7
  545. package/dist/js/chunks/chunk-C6CHEWYP.mjs.map +0 -7
  546. package/dist/js/chunks/chunk-CK2XCICY.mjs.map +0 -7
  547. package/dist/js/chunks/chunk-CXXM2L4F.mjs +0 -344
  548. package/dist/js/chunks/chunk-CXXM2L4F.mjs.map +0 -7
  549. package/dist/js/chunks/chunk-DXGRXYYL.mjs.map +0 -7
  550. package/dist/js/chunks/chunk-FM5CZOUB.mjs.map +0 -7
  551. package/dist/js/chunks/chunk-GJL6GCIU.mjs.map +0 -7
  552. package/dist/js/chunks/chunk-K3HZMFMD.mjs +0 -135
  553. package/dist/js/chunks/chunk-K3HZMFMD.mjs.map +0 -7
  554. package/dist/js/chunks/chunk-KHXZ2A4K.mjs.map +0 -7
  555. package/dist/js/chunks/chunk-KQACNQ22.mjs +0 -7
  556. package/dist/js/chunks/chunk-KQACNQ22.mjs.map +0 -7
  557. package/dist/js/chunks/chunk-KUFHW3DS.mjs.map +0 -7
  558. package/dist/js/chunks/chunk-KVJAVDBC.mjs.map +0 -7
  559. package/dist/js/chunks/chunk-L27Q6ZMI.mjs.map +0 -7
  560. package/dist/js/chunks/chunk-LQWUDNHZ.mjs.map +0 -7
  561. package/dist/js/chunks/chunk-M372EDXD.mjs +0 -322
  562. package/dist/js/chunks/chunk-M372EDXD.mjs.map +0 -7
  563. package/dist/js/chunks/chunk-M3MURWMB.mjs +0 -82
  564. package/dist/js/chunks/chunk-M3MURWMB.mjs.map +0 -7
  565. package/dist/js/chunks/chunk-NUHMOAOY.mjs.map +0 -7
  566. package/dist/js/chunks/chunk-OWG3LMUL.mjs +0 -169
  567. package/dist/js/chunks/chunk-OWG3LMUL.mjs.map +0 -7
  568. package/dist/js/chunks/chunk-PD6HYHAE.mjs +0 -48
  569. package/dist/js/chunks/chunk-PD6HYHAE.mjs.map +0 -7
  570. package/dist/js/chunks/chunk-PDG64UHF.mjs.map +0 -7
  571. package/dist/js/chunks/chunk-PO3AXVR3.mjs +0 -546
  572. package/dist/js/chunks/chunk-PO3AXVR3.mjs.map +0 -7
  573. package/dist/js/chunks/chunk-QYGK36OG.mjs +0 -181
  574. package/dist/js/chunks/chunk-QYGK36OG.mjs.map +0 -7
  575. package/dist/js/chunks/chunk-SFI2U4YW.mjs.map +0 -7
  576. package/dist/js/chunks/chunk-SMY7GJSS.mjs.map +0 -7
  577. package/dist/js/chunks/chunk-TCCA2HDG.mjs +0 -414
  578. package/dist/js/chunks/chunk-TCCA2HDG.mjs.map +0 -7
  579. package/dist/js/chunks/chunk-TSZYSW7F.mjs.map +0 -7
  580. package/dist/js/chunks/chunk-UAZSDUVP.mjs.map +0 -7
  581. package/dist/js/chunks/chunk-UBRZZWRA.mjs +0 -127
  582. package/dist/js/chunks/chunk-UBRZZWRA.mjs.map +0 -7
  583. package/dist/js/chunks/chunk-UCOE7ZDL.mjs +0 -287
  584. package/dist/js/chunks/chunk-UCOE7ZDL.mjs.map +0 -7
  585. package/dist/js/chunks/chunk-UETTGDLI.mjs.map +0 -7
  586. package/dist/js/chunks/chunk-UNCRDLP6.mjs +0 -136
  587. package/dist/js/chunks/chunk-UNCRDLP6.mjs.map +0 -7
  588. package/dist/js/chunks/chunk-VGNYF6FB.mjs.map +0 -7
  589. package/dist/js/chunks/chunk-VGPGBNGL.mjs +0 -68
  590. package/dist/js/chunks/chunk-VGPGBNGL.mjs.map +0 -7
  591. package/dist/js/chunks/chunk-VKAUVTQY.mjs +0 -1
  592. package/dist/js/chunks/chunk-VM4FTS7L.mjs +0 -48
  593. package/dist/js/chunks/chunk-VM4FTS7L.mjs.map +0 -7
  594. package/dist/js/chunks/chunk-WDK4T63U.mjs.map +0 -7
  595. package/dist/js/chunks/chunk-WOCCTVUF.mjs +0 -185
  596. package/dist/js/chunks/chunk-WOCCTVUF.mjs.map +0 -7
  597. package/dist/js/chunks/chunk-WQYN5L4E.mjs +0 -107
  598. package/dist/js/chunks/chunk-WQYN5L4E.mjs.map +0 -7
  599. package/dist/js/chunks/chunk-X4ISMKE2.mjs.map +0 -7
  600. package/dist/js/chunks/chunk-XAEAEHIX.mjs.map +0 -7
  601. package/dist/js/chunks/chunk-ZX6M7SWO.mjs.map +0 -7
  602. /package/dist/js/chunks/{chunk-VKAUVTQY.mjs.map → chunk-GNRSYMVH.mjs.map} +0 -0
@@ -1,3 +1,6 @@
1
+ @use "sass:map";
2
+ @use "../abstracts" as *;
3
+
1
4
  // Small single-purpose classes a page author applies deliberately.
2
5
  //
3
6
  // Anything here must be one job, one class, and independent of any component.
@@ -6,40 +9,139 @@
6
9
 
7
10
  // Positioning
8
11
  .valign-wrapper { display: flex; align-items: center; }
12
+ .relative { position: relative; }
13
+ .sticky-top { position: sticky; top: 0; }
14
+ // Not a bare `.fixed`: the navigation bar, toolbar and table of contents use
15
+ // that as a modifier, and a utility would override them. No z-index either;
16
+ // a fixed element takes a --expressive-z-* value from the page. Static comes
17
+ // last so it beats .relative and .sticky-top on the same element.
18
+ .position-absolute { position: absolute; }
19
+ .position-fixed { position: fixed; }
20
+ .position-static { position: static; }
21
+ .inset-0 { inset: 0; }
22
+ .top-0 { top: 0; }
23
+ .bottom-0 { bottom: 0; }
24
+ .start-0 { inset-inline-start: 0; }
25
+ .end-0 { inset-inline-end: 0; }
26
+
27
+ // Display and flex layout. One declaration each; combine on the container or child,
28
+ // and pair with .gap-* from _spacing.scss for the space between items.
29
+ //
30
+ // Every class in this map also comes with a window-size prefix, emitted at
31
+ // the end of this file: `.expanded:flex-row` applies from Expanded up, the
32
+ // way the grid's `l6` does. `.inline` is the checkbox and radio row, so the
33
+ // display utility for it is missing on purpose.
34
+ //
35
+ // The line clamps set display too, so put them on a child of a flex or grid
36
+ // container, never on the container. Overflow clips at the padding box, so
37
+ // block-end padding on a clamped element shows the top of the next line.
38
+ $_clamp: (overflow: hidden, display: -webkit-box, -webkit-box-orient: vertical);
39
+
40
+ $_layout: (
41
+ "block": (display: block),
42
+ "inline-block": (display: inline-block),
43
+ "flex": (display: flex),
44
+ "inline-flex": (display: inline-flex),
45
+ "grid": (display: grid),
46
+ "flex-row": (flex-direction: row),
47
+ "flex-column": (flex-direction: column),
48
+ "flex-wrap": (flex-wrap: wrap),
49
+ "flex-nowrap": (flex-wrap: nowrap),
50
+ "justify-start": (justify-content: flex-start),
51
+ "justify-center": (justify-content: center),
52
+ "justify-end": (justify-content: flex-end),
53
+ "justify-between": (justify-content: space-between),
54
+ "justify-around": (justify-content: space-around),
55
+ "justify-evenly": (justify-content: space-evenly),
56
+ "align-start": (align-items: flex-start),
57
+ "align-center": (align-items: center),
58
+ "align-end": (align-items: flex-end),
59
+ "align-stretch": (align-items: stretch),
60
+ "align-baseline": (align-items: baseline),
61
+ // Child sizing: shorthands precede shrink-only overrides.
62
+ "flex-1": (flex: 1 1 0),
63
+ "flex-none": (flex: none),
64
+ "flex-initial": (flex: 0 1 auto),
65
+ "shrink-0": (flex-shrink: 0),
66
+ "shrink-1": (flex-shrink: 1),
67
+ // Child self-alignment. .self-auto hands a child back to the parent's
68
+ // align-items, so a prefix can undo a smaller window's alignment.
69
+ "self-auto": (align-self: auto),
70
+ "self-start": (align-self: flex-start),
71
+ "self-center": (align-self: center),
72
+ "self-end": (align-self: flex-end),
73
+ "self-stretch": (align-self: stretch),
74
+ // Child order moves a child on screen only: Tab and reading order still
75
+ // follow the source. .order-none puts it back in its source position.
76
+ "order-first": (order: -1),
77
+ "order-last": (order: 1),
78
+ "order-none": (order: 0),
79
+ "start-align": (text-align: start),
80
+ "center-align": (text-align: center),
81
+ "end-align": (text-align: end),
82
+ "line-clamp-1": map.merge($_clamp, (-webkit-line-clamp: 1, line-clamp: 1)),
83
+ "line-clamp-2": map.merge($_clamp, (-webkit-line-clamp: 2, line-clamp: 2)),
84
+ "line-clamp-3": map.merge($_clamp, (-webkit-line-clamp: 3, line-clamp: 3)),
85
+ "line-clamp-none": (overflow: visible, display: block, -webkit-box-orient: horizontal, -webkit-line-clamp: unset, line-clamp: unset),
86
+ );
87
+
88
+ @mixin _declarations($map) {
89
+ @each $property, $value in $map {
90
+ #{$property}: $value;
91
+ }
92
+ }
93
+
94
+ @each $name, $declarations in $_layout {
95
+ .#{$name} { @include _declarations($declarations); }
96
+ }
9
97
 
10
- // Flex layout. One declaration each; combine on the container, and pair with
11
- // .gap-* from _spacing.scss for the space between items. Row direction and
12
- // start alignment are the flex defaults, so only the overrides get a class.
13
- .flex { display: flex; }
14
- .inline-flex { display: inline-flex; }
15
- .flex-column { flex-direction: column; }
16
- .flex-wrap { flex-wrap: wrap; }
17
- .justify-start { justify-content: flex-start; }
18
- .justify-center { justify-content: center; }
19
- .justify-end { justify-content: flex-end; }
20
- .justify-between { justify-content: space-between; }
21
- .align-start { align-items: flex-start; }
22
- .align-center { align-items: center; }
23
- .align-end { align-items: flex-end; }
24
- .align-stretch { align-items: stretch; }
25
- .flex-1 { flex: 1 1 0; }
26
- .flex-none { flex: none; }
98
+ .inline-grid { display: inline-grid; }
99
+
100
+ // As many columns as fit, each at least --grid-column-min wide (set it here or
101
+ // on an ancestor). Empty tracks stay, so a short last row keeps the column
102
+ // width, and a container narrower than the minimum gets one column. The
103
+ // column count follows the container, so there are no prefixed copies; pair
104
+ // with .gap-*.
105
+ .grid-auto-fill {
106
+ display: grid;
107
+ grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--grid-column-min, #{rem(240px)})), 1fr));
108
+ }
109
+
110
+ .contents { display: contents; }
27
111
 
28
112
  // Allow flex and grid children to shrink around their content.
29
113
  .min-w-0 { min-width: 0; }
30
114
  .min-h-0 { min-height: 0; }
31
115
 
116
+ // Make the element a query container. Horizontal cards and description lists
117
+ // inside it stack when it is narrower than 600px, whatever the window size.
118
+ // Inline-size containment stops the element's width depending on its
119
+ // content, so use it on a wrapper that fills its parent, not on a
120
+ // shrink-to-fit box.
121
+ .query-container { container-type: inline-size; }
122
+
123
+ // Fill the containing block, or never overflow it.
124
+ .w-full { width: 100%; }
125
+ .h-full { height: 100%; }
126
+ .max-w-full { max-width: 100%; }
127
+
128
+ // Fixed proportions. With an explicit width the height follows; on an <img>
129
+ // or <video>, pair with .object-cover or .object-contain.
130
+ .aspect-1x1 { aspect-ratio: 1; }
131
+ .aspect-4x3 { aspect-ratio: 4 / 3; }
132
+ .aspect-16x9 { aspect-ratio: 16 / 9; }
133
+ .object-cover { object-fit: cover; }
134
+ .object-contain { object-fit: contain; }
135
+
32
136
  // Scrolling and clipping without changing the element's display or size.
33
137
  .overflow-x-auto { overflow-x: auto; }
34
138
  .overflow-y-auto { overflow-y: auto; }
35
139
  .overflow-hidden { overflow: hidden; }
36
140
 
37
- // Text alignment
141
+ // Text alignment. start, center and end are in $_layout above; the physical
142
+ // pair stays for text that must not mirror.
38
143
  .left-align { text-align: left; }
39
144
  .right-align { text-align: right }
40
- .center-align { text-align: center; }
41
- .start-align { text-align: start; }
42
- .end-align { text-align: end; }
43
145
 
44
146
  // Dividers
45
147
  .divider {
@@ -48,19 +150,63 @@
48
150
  background-color: var(--md-sys-color-outline-variant);
49
151
  }
50
152
 
153
+ // Borders and corners. `.border` and `.rounded` are card and button variants,
154
+ // so the all-sides border is `.bordered` and the corner classes use the M3
155
+ // corner names. Sides are logical, so start and end mirror in RTL.
156
+ .bordered { border: 1px solid var(--md-sys-color-outline-variant); }
157
+ .border-top { border-top: 1px solid var(--md-sys-color-outline-variant); }
158
+ .border-bottom { border-bottom: 1px solid var(--md-sys-color-outline-variant); }
159
+ .border-start { border-inline-start: 1px solid var(--md-sys-color-outline-variant); }
160
+ .border-end { border-inline-end: 1px solid var(--md-sys-color-outline-variant); }
161
+
162
+ @each $step in ("none", "extra-small", "small", "medium", "large", "extra-large", "full") {
163
+ .corner-#{$step} { border-radius: var(--md-sys-shape-corner-#{$step}); }
164
+ }
165
+
166
+ // Cut corners: the corner's radius becomes a straight bevel of the same
167
+ // size. .corner-cut cuts one element; the container surfaces below follow
168
+ // --md-sys-shape-corner-family, which corners="cut" switches for a subtree.
169
+ // Round indicators (radios, switches, avatars, .circle) stay round, since
170
+ // a cut 50% radius is a diamond. Browsers without `corner-shape` (Firefox
171
+ // 157) keep rounded corners; a clip-path fallback would cut focus rings and
172
+ // shadows too.
173
+ .corner-cut { corner-shape: bevel; }
174
+
175
+ :where(
176
+ article, dialog, menu[id], fieldset, .button:not(.circle), .chip, .alert,
177
+ .snackbar, .tooltip, .popover, .field.outlined > :is(input, textarea)
178
+ ) {
179
+ corner-shape: var(--md-sys-shape-corner-family);
180
+ }
181
+
51
182
  // Shape and text behaviour
52
- .no-select { user-select: none; }
53
183
  // A FAB is `circle extra` / `circle large`, and its container shape is
54
184
  // 16dp rounded corners, not a full round - so the utility skips it. Layer
55
185
  // order puts utilities after components, which is why the exclusion has to
56
186
  // live here: no selector in `components` can outrank this one.
57
187
  .circle:not(.extra, .large) { border-radius: 50%; }
58
- .center-block { display: block; margin-left: auto; margin-right: auto; }
59
188
  .break-words { overflow-wrap: anywhere; }
60
189
  .text-nowrap { white-space: nowrap; }
61
190
  .text-wrap { white-space: normal; }
191
+ .text-balance { text-wrap-style: balance; }
192
+ .text-pretty { text-wrap-style: pretty; }
62
193
  .truncate { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
63
- .no-padding { padding: 0 !important; }
194
+
195
+ // Pointer input. Clicks pass through a .pointer-events-none overlay to what
196
+ // lies beneath, and a .pointer-events-auto child takes them back. Neither
197
+ // changes focus or keys: use inert or disabled to block all input.
198
+ .pointer-events-none { pointer-events: none; }
199
+ .pointer-events-auto { pointer-events: auto; }
200
+ .cursor-pointer { cursor: pointer; }
201
+ // Opacity. 38 is M3's disabled-content opacity. Dimming hides nothing from
202
+ // pointers, keyboards or screen readers; use .hide or `hidden` for that.
203
+ @each $step, $value in ("0": 0, "25": 0.25, "38": 0.38, "50": 0.5, "75": 0.75, "100": 1) {
204
+ .opacity-#{$step} { opacity: $value; }
205
+ }
206
+
207
+ // Lists without markers or indentation. WebKit drops the list role from a
208
+ // list with `list-style: none`, so the markup adds role="list" back.
209
+ .list-unstyled { list-style: none; padding-inline-start: 0; }
64
210
 
65
211
  // Responsive media
66
212
  img.responsive-img,
@@ -74,14 +220,14 @@ video.responsive-video {
74
220
  // element+class pair would beat `.circle` and square the disc off.
75
221
  img.responsive-img:not(.circle),
76
222
  video.responsive-video {
77
- border-radius: 12px;
223
+ border-radius: var(--md-sys-shape-corner-medium);
78
224
  }
79
225
 
80
226
  .video-container {
81
227
  position: relative;
82
228
  aspect-ratio: 16 / 9; // was padding-bottom: 56.25% + height: 0
83
229
  overflow: hidden;
84
- border-radius: 12px;
230
+ border-radius: var(--md-sys-shape-corner-medium);
85
231
 
86
232
  iframe, object, embed {
87
233
  position: absolute;
@@ -91,3 +237,14 @@ video.responsive-video {
91
237
  border: 0;
92
238
  }
93
239
  }
240
+
241
+ // Window-size prefixes for $_layout, mobile first: each applies from that
242
+ // size class up and wins over the unprefixed class, because it comes later
243
+ // in the same layer.
244
+ @each $size in ("medium", "expanded", "large", "extra-large") {
245
+ @include bp-up($size) {
246
+ @each $name, $declarations in $_layout {
247
+ .#{$size}\:#{$name} { @include _declarations($declarations); }
248
+ }
249
+ }
250
+ }
@@ -8,3 +8,4 @@
8
8
  @forward "helpers"; // alignment, flex, truncate, responsive media
9
9
  @forward "scroll-area"; // native scrolling with themed scrollbars
10
10
  @forward "shapes"; // .shape-pebble, .shape-scallop-6, ... (masks)
11
+ @forward "defer-render"; // skip layout and paint for off-screen rows
@@ -1,5 +1,3 @@
1
- @use "../abstracts" as *;
2
-
3
1
  // Keep scrolling native; use the current theme for scrollbar colors.
4
2
  .scroll-area {
5
3
  overflow: auto;
@@ -1,52 +1,70 @@
1
+ @use "../abstracts" as *;
2
+
1
3
  // Margin, padding and gap scale: .m-3, .pt-2, .px-4, .ms-auto, .gap-2, ...
2
4
  //
3
5
  // Shortcut x value x direction, all !important so a helper wins over the
4
6
  // component it is applied to. Edit the maps here to change the scale.
5
7
 
6
- $spacing-shortcuts: ("margin": "m", "padding": "p") !default;
8
+ $spacing-shortcuts: ("margin": "m", "padding": "p");
7
9
  $spacing-directions: (
8
10
  "top": "t", "right": "r", "bottom": "b", "left": "l",
9
11
  "inline-start": "s", "inline-end": "e"
10
- ) !default;
11
- $spacing-horizontal: "x" !default;
12
- $spacing-vertical: "y" !default;
13
- $spacing-values: ("0": 0, "1": 0.25rem, "2": 0.5rem, "3": 0.75rem, "4": 1rem, "5": 1.5rem, "6": 3rem, "auto": auto) !default;
12
+ );
13
+ $spacing-values: ("0": 0, "1": 0.25rem, "2": 0.5rem, "3": 0.75rem, "4": 1rem, "5": 1.5rem, "6": 3rem, "auto": auto);
14
14
 
15
- @each $property, $shortcut in $spacing-shortcuts{
16
- @each $name, $value in $spacing-values{
17
- // CSS accepts auto margins, but not auto padding.
18
- @if $property != "padding" or $value != auto {
19
- // All direction spacing
20
- .#{$shortcut}-#{$name}{
21
- #{$property}: $value !important;
22
- }
23
- // Physical and logical side spacing
24
- @each $direction, $suffix in $spacing-directions{
25
- .#{$shortcut}#{$suffix}-#{$name}{
26
- #{$property}-#{$direction}: $value !important
15
+ // $prefix is "" for the base classes, or an escaped window size such as
16
+ // medium\: for the prefixed ones at the end of this file.
17
+ @mixin _margin-and-padding($prefix: "") {
18
+ @each $property, $shortcut in $spacing-shortcuts{
19
+ @each $name, $value in $spacing-values{
20
+ // CSS accepts auto margins, but not auto padding.
21
+ @if $property != "padding" or $value != auto {
22
+ // All direction spacing
23
+ .#{$prefix}#{$shortcut}-#{$name}{
24
+ #{$property}: $value !important;
27
25
  }
28
- }
29
- // x spacing
30
- @if $spacing-horizontal != null{
31
- .#{$shortcut}#{$spacing-horizontal}-#{$name}{
32
- #{$property}-left: $value !important;
33
- #{$property}-right: $value !important;
34
- }
35
- }
36
- // y spacing
37
- @if $spacing-vertical != null{
38
- .#{$shortcut}#{$spacing-vertical}-#{$name}{
39
- #{$property}-top: $value !important;
40
- #{$property}-bottom: $value !important;
26
+ // Physical and logical side spacing
27
+ @each $direction, $suffix in $spacing-directions{
28
+ // The prefixed sets skip physical left and right; start and end
29
+ // cover them and mirror in RTL.
30
+ @if $prefix == "" or ($direction != "left" and $direction != "right") {
31
+ .#{$prefix}#{$shortcut}#{$suffix}-#{$name}{
32
+ #{$property}-#{$direction}: $value !important
33
+ }
34
+ }
35
+ }
36
+ .#{$prefix}#{$shortcut}x-#{$name}{
37
+ #{$property}-inline: $value !important;
38
+ }
39
+ .#{$prefix}#{$shortcut}y-#{$name}{
40
+ #{$property}-block: $value !important;
41
41
  }
42
42
  }
43
43
  }
44
44
  }
45
45
  }
46
46
 
47
- // Gap on the same scale for flex and grid containers: .gap-0 ... .gap-6.
48
- @each $name, $value in $spacing-values {
49
- @if $name != "auto" {
50
- .gap-#{$name} { gap: $value !important; }
47
+ @mixin _gaps($prefix: "") {
48
+ // Axis rules follow every shorthand value so they win at the same breakpoint.
49
+ @each $class, $property in ("gap": "gap", "gap-x": "column-gap", "gap-y": "row-gap") {
50
+ @each $name, $value in $spacing-values {
51
+ @if $name != "auto" {
52
+ .#{$prefix}#{$class}-#{$name} { #{$property}: $value !important; }
53
+ }
54
+ }
55
+ }
56
+ }
57
+
58
+ @include _margin-and-padding;
59
+ @include _gaps;
60
+
61
+ // The margin, padding and gap scales with window-size prefixes, like the
62
+ // layout classes in _helpers.scss: .expanded:p-5 and .expanded:gap-5 apply
63
+ // from Expanded up. Later in the sheet than the base classes, and every one
64
+ // is !important, so the prefixed class wins from its size class up.
65
+ @each $size in ("medium", "expanded", "large", "extra-large") {
66
+ @include bp-up($size) {
67
+ @include _margin-and-padding("#{$size}\\:");
68
+ @include _gaps("#{$size}\\:");
51
69
  }
52
70
  }
@@ -20,7 +20,7 @@ $typescale-roles: (
20
20
  "body-large", "body-medium", "body-small",
21
21
  "label-large", "label-medium", "label-small",
22
22
  "title-large", "title-medium", "title-small"
23
- ) !default;
23
+ );
24
24
 
25
25
  @each $role in $typescale-roles {
26
26
  .#{$role} {
@@ -28,6 +28,13 @@ $typescale-roles: (
28
28
  }
29
29
  }
30
30
 
31
+ // The emphasized counterpart of each role: the same type, heavier.
32
+ @each $role in $typescale-roles {
33
+ .#{$role}-emphasized {
34
+ @include typescale($role, $emphasized: true);
35
+ }
36
+ }
37
+
31
38
  // Emphasis and case. One job each, independent of the type role.
32
39
  .italic { font-style: italic; }
33
40
  .bold { font-weight: 500; }
@@ -1,98 +1,69 @@
1
1
  @use "../abstracts" as *;
2
2
 
3
- // Showing and hiding by the exact M3 window size classes.
4
- // The older small/med/xxl names remain aliases for compatibility.
3
+ // Showing and hiding by the exact M3 window size classes. The two
4
+ // `med-and-*` hide classes have no M3-named twin and stay as they are.
5
5
 
6
6
  .hide { display: none !important; }
7
7
 
8
- // Hidden from sight, still announced: a visible label's longer twin, an
9
- // icon-only control's name, a live region's text. Important for the same
10
- // reason `.hide` is.
11
- .visually-hidden,
12
- .visually-hidden-focusable:not(:focus-within) { @include visually-hidden(true); }
13
-
14
- .hide-on-compact-only,
15
- .hide-on-small-only,
16
- .hide-on-small-and-down {
17
- @include bp-down("medium") { display: none !important; }
18
- }
19
-
20
- .hide-on-med-and-down {
21
- @include bp-down("expanded") { display: none !important; }
22
- }
23
-
24
- .hide-on-med-and-up {
25
- @include bp-up("medium") { display: none !important; }
26
- }
27
-
28
- .hide-on-medium-only,
29
- .hide-on-med-only {
30
- @include bp-between("medium", "expanded") {
31
- display: none !important;
8
+ // .hide from a window size up, like the other prefixed helpers. Mobile first,
9
+ // so there is no prefixed show: pair it with a hide-on-* class instead.
10
+ @each $size in ("medium", "expanded", "large", "extra-large") {
11
+ .#{$size}\:hide {
12
+ @include bp-up($size) { display: none !important; }
32
13
  }
33
14
  }
34
15
 
35
- .hide-on-expanded-only {
36
- @include bp-between("expanded", "large") {
37
- display: none !important;
38
- }
39
- }
40
-
41
- .hide-on-expanded-and-up {
42
- @include bp-up("expanded") { display: none !important; }
43
- }
44
-
45
- .hide-on-large-only {
46
- @include bp-between("large", "extra-large") {
47
- display: none !important;
48
- }
16
+ // Print. .hide-on-print drops a screen-only control from paper; .print-only
17
+ // is the reverse, for a printed footer or a QR code beside a link.
18
+ .hide-on-print {
19
+ @media print { display: none !important; }
49
20
  }
50
21
 
51
- .hide-on-extra-large-only,
52
- .hide-on-xxl-only {
53
- @include bp-up("extra-large") { display: none !important; }
22
+ .print-only {
23
+ @media screen { display: none !important; }
54
24
  }
55
25
 
56
- .show-on-compact,
57
- .show-on-small {
58
- @include bp-down("medium") { display: block !important; }
59
- }
26
+ // Hidden from sight, still announced: a visible label's longer twin, an
27
+ // icon-only control's name, a live region's text. Important for the same
28
+ // reason `.hide` is.
29
+ .visually-hidden,
30
+ .visually-hidden-focusable:not(:focus-within) { @include visually-hidden(true); }
60
31
 
61
- .show-on-medium {
62
- @include bp-between("medium", "expanded") {
63
- display: block !important;
32
+ // From the $from window size up to, not including, $to. A null end is open.
33
+ @mixin _window($from, $to) {
34
+ @if not $from {
35
+ @include bp-down($to) { @content; }
36
+ } @else if not $to {
37
+ @include bp-up($from) { @content; }
38
+ } @else {
39
+ @include bp-between($from, $to) { @content; }
64
40
  }
65
41
  }
66
42
 
67
- .show-on-expanded {
68
- @include bp-between("expanded", "large") {
69
- display: block !important;
43
+ // Class, first window size, first size past the range, display.
44
+ @each $class, $from, $to, $display in (
45
+ ("hide-on-compact-only", null, "medium", none),
46
+ ("hide-on-med-and-down", null, "expanded", none),
47
+ ("hide-on-med-and-up", "medium", null, none),
48
+ ("hide-on-medium-only", "medium", "expanded", none),
49
+ ("hide-on-expanded-only", "expanded", "large", none),
50
+ ("hide-on-expanded-and-up", "expanded", null, none),
51
+ ("hide-on-large-only", "large", "extra-large", none),
52
+ ("hide-on-extra-large-only", "extra-large", null, none),
53
+ ("show-on-compact", null, "medium", block),
54
+ ("show-on-medium", "medium", "expanded", block),
55
+ ("show-on-expanded", "expanded", "large", block),
56
+ ("show-on-expanded-and-up", "expanded", null, block),
57
+ ("show-on-large", "large", "extra-large", block),
58
+ ("show-on-extra-large", "extra-large", null, block),
59
+ ("show-on-medium-and-up", "medium", null, block),
60
+ ("show-on-medium-and-down", null, "expanded", block),
61
+ ) {
62
+ .#{$class} {
63
+ @include _window($from, $to) { display: $display !important; }
70
64
  }
71
65
  }
72
66
 
73
- .show-on-expanded-and-up {
74
- @include bp-up("expanded") { display: block !important; }
75
- }
76
-
77
- .show-on-large {
78
- @include bp-between("large", "extra-large") {
79
- display: block !important;
80
- }
81
- }
82
-
83
- .show-on-extra-large,
84
- .show-on-xxl {
85
- @include bp-up("extra-large") { display: block !important; }
86
- }
87
-
88
- .show-on-medium-and-up {
89
- @include bp-up("medium") { display: block !important; }
90
- }
91
-
92
- .show-on-medium-and-down {
93
- @include bp-down("expanded") { display: block !important; }
94
- }
95
-
96
67
  // Center text on Compact windows.
97
68
  .center-on-small-only {
98
69
  @include bp-down("medium") { text-align: center; }
@@ -6,13 +6,16 @@
6
6
 
7
7
  @each $level in map.keys($elevations) {
8
8
  .z-depth-#{$level} {
9
- @include z-depth($level);
9
+ // Level 0 exists to cancel a shadow, so it alone stays unconditional.
10
+ @include z-depth($level, $important: $level == "0");
10
11
  }
11
12
  }
12
13
 
14
+ // A disabled element does not lift. Utilities outrank components, so the
15
+ // disabled card and button rules cannot cancel this shadow themselves.
13
16
  .hoverable {
14
- transition: box-shadow 0.25s;
15
- &:hover {
16
- box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
17
+ transition: box-shadow var(--md-sys-motion-duration-medium1);
18
+ &:hover:not(:where(#{$expressive-disabled}, :has(> .primary-action[aria-disabled="true"]))) {
19
+ @include z-depth("3");
17
20
  }
18
21
  }