@expressivecss/expressive 0.15.0 → 0.17.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 (609) hide show
  1. package/CHANGELOG.md +1807 -1
  2. package/README.md +9 -8
  3. package/dist/css/expressive.css +19176 -11958
  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-26VUH75M.mjs +102 -0
  64. package/dist/js/chunks/chunk-26VUH75M.mjs.map +7 -0
  65. package/dist/js/chunks/chunk-2LFCOGC3.mjs +233 -0
  66. package/dist/js/chunks/chunk-2LFCOGC3.mjs.map +7 -0
  67. package/dist/js/chunks/{chunk-DXGRXYYL.mjs → chunk-36GELQGX.mjs} +29 -46
  68. package/dist/js/chunks/chunk-36GELQGX.mjs.map +7 -0
  69. package/dist/js/chunks/{chunk-74MXKKLN.mjs → chunk-3FKWIRHW.mjs} +15 -29
  70. package/dist/js/chunks/chunk-3FKWIRHW.mjs.map +7 -0
  71. package/dist/js/chunks/chunk-3KF65KGL.mjs +209 -0
  72. package/dist/js/chunks/chunk-3KF65KGL.mjs.map +7 -0
  73. package/dist/js/chunks/{chunk-KVJAVDBC.mjs → chunk-3KLZRQZI.mjs} +88 -116
  74. package/dist/js/chunks/chunk-3KLZRQZI.mjs.map +7 -0
  75. package/dist/js/chunks/{chunk-CK2XCICY.mjs → chunk-3XORNED5.mjs} +3 -11
  76. package/dist/js/chunks/chunk-3XORNED5.mjs.map +7 -0
  77. package/dist/js/chunks/chunk-4WBGAQN3.mjs +113 -0
  78. package/dist/js/chunks/chunk-4WBGAQN3.mjs.map +7 -0
  79. package/dist/js/chunks/{chunk-FM5CZOUB.mjs → chunk-5F4URJHL.mjs} +19 -30
  80. package/dist/js/chunks/chunk-5F4URJHL.mjs.map +7 -0
  81. package/dist/js/chunks/chunk-67UNY7RH.mjs +299 -0
  82. package/dist/js/chunks/chunk-67UNY7RH.mjs.map +7 -0
  83. package/dist/js/chunks/chunk-7CXNATJS.mjs +97 -0
  84. package/dist/js/chunks/chunk-7CXNATJS.mjs.map +7 -0
  85. package/dist/js/chunks/{chunk-UETTGDLI.mjs → chunk-7X44MKEQ.mjs} +43 -48
  86. package/dist/js/chunks/chunk-7X44MKEQ.mjs.map +7 -0
  87. package/dist/js/chunks/chunk-7ZAMOMGY.mjs +440 -0
  88. package/dist/js/chunks/chunk-7ZAMOMGY.mjs.map +7 -0
  89. package/dist/js/chunks/chunk-AEG6LOAJ.mjs +54 -0
  90. package/dist/js/chunks/chunk-AEG6LOAJ.mjs.map +7 -0
  91. package/dist/js/chunks/chunk-AQNFCJJ5.mjs +135 -0
  92. package/dist/js/chunks/chunk-AQNFCJJ5.mjs.map +7 -0
  93. package/dist/js/chunks/chunk-B55LWKBM.mjs +75 -0
  94. package/dist/js/chunks/chunk-B55LWKBM.mjs.map +7 -0
  95. package/dist/js/chunks/chunk-BB5VXYXT.mjs +28 -0
  96. package/dist/js/chunks/chunk-BB5VXYXT.mjs.map +7 -0
  97. package/dist/js/chunks/chunk-BDATLH3H.mjs +108 -0
  98. package/dist/js/chunks/chunk-BDATLH3H.mjs.map +7 -0
  99. package/dist/js/chunks/chunk-CWMQOT4O.mjs +232 -0
  100. package/dist/js/chunks/chunk-CWMQOT4O.mjs.map +7 -0
  101. package/dist/js/chunks/chunk-CY2CTOVM.mjs +81 -0
  102. package/dist/js/chunks/chunk-CY2CTOVM.mjs.map +7 -0
  103. package/dist/js/chunks/{chunk-NUHMOAOY.mjs → chunk-DWA5UYLJ.mjs} +363 -218
  104. package/dist/js/chunks/chunk-DWA5UYLJ.mjs.map +7 -0
  105. package/dist/js/chunks/chunk-EB2V4OKL.mjs +79 -0
  106. package/dist/js/chunks/chunk-EB2V4OKL.mjs.map +7 -0
  107. package/dist/js/chunks/chunk-EWO662ZC.mjs +188 -0
  108. package/dist/js/chunks/chunk-EWO662ZC.mjs.map +7 -0
  109. package/dist/js/chunks/{chunk-ZX6M7SWO.mjs → chunk-F7LAKFMX.mjs} +320 -141
  110. package/dist/js/chunks/chunk-F7LAKFMX.mjs.map +7 -0
  111. package/dist/js/chunks/{chunk-L27Q6ZMI.mjs → chunk-FNIIH2LU.mjs} +20 -33
  112. package/dist/js/chunks/chunk-FNIIH2LU.mjs.map +7 -0
  113. package/dist/js/chunks/chunk-GE3YMFS6.mjs +15 -0
  114. package/dist/js/chunks/chunk-GE3YMFS6.mjs.map +7 -0
  115. package/dist/js/chunks/chunk-GFWYMWYN.mjs +125 -0
  116. package/dist/js/chunks/chunk-GFWYMWYN.mjs.map +7 -0
  117. package/dist/js/chunks/chunk-GNRSYMVH.mjs +1 -0
  118. package/dist/js/chunks/chunk-H5ISU45X.mjs +87 -0
  119. package/dist/js/chunks/chunk-H5ISU45X.mjs.map +7 -0
  120. package/dist/js/chunks/{chunk-GJL6GCIU.mjs → chunk-H6YIKFAQ.mjs} +311 -186
  121. package/dist/js/chunks/chunk-H6YIKFAQ.mjs.map +7 -0
  122. package/dist/js/chunks/{chunk-BGZLF6JZ.mjs → chunk-HEH7E3KO.mjs} +155 -35
  123. package/dist/js/chunks/chunk-HEH7E3KO.mjs.map +7 -0
  124. package/dist/js/chunks/chunk-HQRLBTNM.mjs +152 -0
  125. package/dist/js/chunks/chunk-HQRLBTNM.mjs.map +7 -0
  126. package/dist/js/chunks/chunk-I2F7MLUU.mjs +137 -0
  127. package/dist/js/chunks/chunk-I2F7MLUU.mjs.map +7 -0
  128. package/dist/js/chunks/chunk-IQOTGGHX.mjs +797 -0
  129. package/dist/js/chunks/chunk-IQOTGGHX.mjs.map +7 -0
  130. package/dist/js/chunks/chunk-JH3YWKA6.mjs +225 -0
  131. package/dist/js/chunks/chunk-JH3YWKA6.mjs.map +7 -0
  132. package/dist/js/chunks/chunk-JOLJAYIJ.mjs +7 -0
  133. package/dist/js/chunks/chunk-JOLJAYIJ.mjs.map +7 -0
  134. package/dist/js/chunks/{chunk-VGNYF6FB.mjs → chunk-KOTGMCMI.mjs} +116 -24
  135. package/dist/js/chunks/chunk-KOTGMCMI.mjs.map +7 -0
  136. package/dist/js/chunks/{chunk-LQWUDNHZ.mjs → chunk-LC4O5LFS.mjs} +21 -45
  137. package/dist/js/chunks/chunk-LC4O5LFS.mjs.map +7 -0
  138. package/dist/js/chunks/chunk-LEF33SCP.mjs +127 -0
  139. package/dist/js/chunks/chunk-LEF33SCP.mjs.map +7 -0
  140. package/dist/js/chunks/{chunk-PDG64UHF.mjs → chunk-LFORZRPH.mjs} +21 -23
  141. package/dist/js/chunks/chunk-LFORZRPH.mjs.map +7 -0
  142. package/dist/js/chunks/chunk-LWLNV5EC.mjs +451 -0
  143. package/dist/js/chunks/chunk-LWLNV5EC.mjs.map +7 -0
  144. package/dist/js/chunks/chunk-LXRHUQAX.mjs +491 -0
  145. package/dist/js/chunks/chunk-LXRHUQAX.mjs.map +7 -0
  146. package/dist/js/chunks/{chunk-SFI2U4YW.mjs → chunk-MA2SZZFB.mjs} +82 -111
  147. package/dist/js/chunks/chunk-MA2SZZFB.mjs.map +7 -0
  148. package/dist/js/chunks/chunk-MDBZAMIV.mjs +121 -0
  149. package/dist/js/chunks/chunk-MDBZAMIV.mjs.map +7 -0
  150. package/dist/js/chunks/chunk-NODZ5VAD.mjs +75 -0
  151. package/dist/js/chunks/chunk-NODZ5VAD.mjs.map +7 -0
  152. package/dist/js/chunks/chunk-O2WJB6TH.mjs +365 -0
  153. package/dist/js/chunks/chunk-O2WJB6TH.mjs.map +7 -0
  154. package/dist/js/chunks/chunk-PCABY5BN.mjs +35 -0
  155. package/dist/js/chunks/chunk-PCABY5BN.mjs.map +7 -0
  156. package/dist/js/chunks/chunk-PWKYVMND.mjs +120 -0
  157. package/dist/js/chunks/chunk-PWKYVMND.mjs.map +7 -0
  158. package/dist/js/chunks/{chunk-SMY7GJSS.mjs → chunk-QHZZT7YO.mjs} +66 -38
  159. package/dist/js/chunks/chunk-QHZZT7YO.mjs.map +7 -0
  160. package/dist/js/chunks/chunk-QND56EW2.mjs +439 -0
  161. package/dist/js/chunks/chunk-QND56EW2.mjs.map +7 -0
  162. package/dist/js/chunks/chunk-QNODAANY.mjs +376 -0
  163. package/dist/js/chunks/chunk-QNODAANY.mjs.map +7 -0
  164. package/dist/js/chunks/{chunk-KHXZ2A4K.mjs → chunk-QRO5FV3I.mjs} +156 -73
  165. package/dist/js/chunks/chunk-QRO5FV3I.mjs.map +7 -0
  166. package/dist/js/chunks/chunk-R7A7JRC5.mjs +440 -0
  167. package/dist/js/chunks/chunk-R7A7JRC5.mjs.map +7 -0
  168. package/dist/js/chunks/chunk-RKG2CBFE.mjs +74 -0
  169. package/dist/js/chunks/chunk-RKG2CBFE.mjs.map +7 -0
  170. package/dist/js/chunks/{chunk-XAEAEHIX.mjs → chunk-RSNS5OYS.mjs} +38 -25
  171. package/dist/js/chunks/chunk-RSNS5OYS.mjs.map +7 -0
  172. package/dist/js/chunks/{chunk-X4ISMKE2.mjs → chunk-RUDYMEJ3.mjs} +7 -6
  173. package/dist/js/chunks/chunk-RUDYMEJ3.mjs.map +7 -0
  174. package/dist/js/chunks/chunk-STJR62SU.mjs +161 -0
  175. package/dist/js/chunks/chunk-STJR62SU.mjs.map +7 -0
  176. package/dist/js/chunks/chunk-SUSD4UTN.mjs +220 -0
  177. package/dist/js/chunks/chunk-SUSD4UTN.mjs.map +7 -0
  178. package/dist/js/chunks/{chunk-5CEAOLUA.mjs → chunk-SYBOA5HC.mjs} +26 -48
  179. package/dist/js/chunks/chunk-SYBOA5HC.mjs.map +7 -0
  180. package/dist/js/chunks/chunk-T4MOBP3J.mjs +108 -0
  181. package/dist/js/chunks/chunk-T4MOBP3J.mjs.map +7 -0
  182. package/dist/js/chunks/chunk-TM7HPGTV.mjs +342 -0
  183. package/dist/js/chunks/chunk-TM7HPGTV.mjs.map +7 -0
  184. package/dist/js/chunks/{chunk-C6CHEWYP.mjs → chunk-TMQDZSDC.mjs} +71 -35
  185. package/dist/js/chunks/chunk-TMQDZSDC.mjs.map +7 -0
  186. package/dist/js/chunks/chunk-TVSX5YA2.mjs +48 -0
  187. package/dist/js/chunks/chunk-TVSX5YA2.mjs.map +7 -0
  188. package/dist/js/chunks/chunk-UHO5CV6K.mjs +80 -0
  189. package/dist/js/chunks/chunk-UHO5CV6K.mjs.map +7 -0
  190. package/dist/js/chunks/chunk-UKCNELUN.mjs +223 -0
  191. package/dist/js/chunks/chunk-UKCNELUN.mjs.map +7 -0
  192. package/dist/js/chunks/chunk-UKQK5GWR.mjs +167 -0
  193. package/dist/js/chunks/chunk-UKQK5GWR.mjs.map +7 -0
  194. package/dist/js/chunks/{chunk-TSZYSW7F.mjs → chunk-UTSLYQ65.mjs} +21 -48
  195. package/dist/js/chunks/chunk-UTSLYQ65.mjs.map +7 -0
  196. package/dist/js/chunks/chunk-VS5OJBOD.mjs +108 -0
  197. package/dist/js/chunks/chunk-VS5OJBOD.mjs.map +7 -0
  198. package/dist/js/chunks/chunk-VZMROW5A.mjs +759 -0
  199. package/dist/js/chunks/chunk-VZMROW5A.mjs.map +7 -0
  200. package/dist/js/chunks/chunk-W6FAL3TI.mjs +38 -0
  201. package/dist/js/chunks/chunk-W6FAL3TI.mjs.map +7 -0
  202. package/dist/js/chunks/chunk-XB6Y7P5W.mjs +69 -0
  203. package/dist/js/chunks/chunk-XB6Y7P5W.mjs.map +7 -0
  204. package/dist/js/chunks/chunk-XDAMOMVD.mjs +226 -0
  205. package/dist/js/chunks/chunk-XDAMOMVD.mjs.map +7 -0
  206. package/dist/js/chunks/{chunk-WDK4T63U.mjs → chunk-XJPMW5SP.mjs} +247 -172
  207. package/dist/js/chunks/chunk-XJPMW5SP.mjs.map +7 -0
  208. package/dist/js/chunks/{chunk-KUFHW3DS.mjs → chunk-YKANQILZ.mjs} +16 -21
  209. package/dist/js/chunks/chunk-YKANQILZ.mjs.map +7 -0
  210. package/dist/js/chunks/chunk-YLZOJLDI.mjs +175 -0
  211. package/dist/js/chunks/chunk-YLZOJLDI.mjs.map +7 -0
  212. package/dist/js/chunks/chunk-ZK7YY322.mjs +514 -0
  213. package/dist/js/chunks/chunk-ZK7YY322.mjs.map +7 -0
  214. package/dist/js/expressive.cjs +10266 -3628
  215. package/dist/js/expressive.cjs.map +4 -4
  216. package/dist/js/expressive.js +10266 -3628
  217. package/dist/js/expressive.js.map +4 -4
  218. package/dist/js/expressive.min.js +23 -22
  219. package/dist/js/expressive.min.js.map +4 -4
  220. package/dist/js/expressive.mjs +181 -69
  221. package/dist/js/expressive.mjs.map +2 -2
  222. package/dist/js/internal/behaviors/bottomSheets.mjs +4 -3
  223. package/dist/js/internal/behaviors/copy.mjs +9 -0
  224. package/dist/js/internal/behaviors/copy.mjs.map +7 -0
  225. package/dist/js/internal/behaviors/dataTables.mjs +8 -0
  226. package/dist/js/internal/behaviors/dataTables.mjs.map +7 -0
  227. package/dist/js/internal/behaviors/dialogs.mjs +2 -2
  228. package/dist/js/internal/behaviors/forms.mjs +2 -2
  229. package/dist/js/internal/behaviors/imageCompare.mjs +8 -0
  230. package/dist/js/internal/behaviors/imageCompare.mjs.map +7 -0
  231. package/dist/js/internal/behaviors/lists.mjs +8 -0
  232. package/dist/js/internal/behaviors/lists.mjs.map +7 -0
  233. package/dist/js/internal/behaviors/paneResize.mjs +8 -0
  234. package/dist/js/internal/behaviors/paneResize.mjs.map +7 -0
  235. package/dist/js/internal/behaviors/sheetDrag.mjs +7 -2
  236. package/dist/js/internal/behaviors/sideSheets.mjs +4 -3
  237. package/dist/js/internal/behaviors/sortable.mjs +8 -0
  238. package/dist/js/internal/behaviors/sortable.mjs.map +7 -0
  239. package/dist/js/internal/behaviors/theme.mjs +8 -0
  240. package/dist/js/internal/behaviors/theme.mjs.map +7 -0
  241. package/dist/js/internal/behaviors/tour.mjs +8 -0
  242. package/dist/js/internal/behaviors/tour.mjs.map +7 -0
  243. package/dist/js/internal/behaviors/transferList.mjs +8 -0
  244. package/dist/js/internal/behaviors/transferList.mjs.map +7 -0
  245. package/dist/js/internal/components/appBar.mjs +3 -2
  246. package/dist/js/internal/components/autocomplete.mjs +5 -4
  247. package/dist/js/internal/components/backToTop.mjs +9 -0
  248. package/dist/js/internal/components/backToTop.mjs.map +7 -0
  249. package/dist/js/internal/components/barChart.mjs +5 -4
  250. package/dist/js/internal/components/buttonGroup.mjs +3 -2
  251. package/dist/js/internal/components/buttons.mjs +3 -3
  252. package/dist/js/internal/components/cards.mjs +3 -3
  253. package/dist/js/internal/components/carousel.mjs +3 -3
  254. package/dist/js/internal/components/cascader.mjs +10 -0
  255. package/dist/js/internal/components/cascader.mjs.map +7 -0
  256. package/dist/js/internal/components/characterCounter.mjs +3 -2
  257. package/dist/js/internal/components/chips.mjs +7 -5
  258. package/dist/js/internal/components/colorPicker.mjs +9 -0
  259. package/dist/js/internal/components/colorPicker.mjs.map +7 -0
  260. package/dist/js/internal/components/columnChart.mjs +4 -3
  261. package/dist/js/internal/components/commandPalette.mjs +3 -3
  262. package/dist/js/internal/components/confetti.mjs +3 -2
  263. package/dist/js/internal/components/currencyInput.mjs +9 -0
  264. package/dist/js/internal/components/currencyInput.mjs.map +7 -0
  265. package/dist/js/internal/components/datepicker.mjs +12 -8
  266. package/dist/js/internal/components/expandingCard.mjs +3 -3
  267. package/dist/js/internal/components/funnelChart.mjs +10 -0
  268. package/dist/js/internal/components/funnelChart.mjs.map +7 -0
  269. package/dist/js/internal/components/heatmapChart.mjs +4 -3
  270. package/dist/js/internal/components/hoverCard.mjs +9 -0
  271. package/dist/js/internal/components/hoverCard.mjs.map +7 -0
  272. package/dist/js/internal/components/index.mjs +131 -65
  273. package/dist/js/internal/components/inputMask.mjs +9 -0
  274. package/dist/js/internal/components/inputMask.mjs.map +7 -0
  275. package/dist/js/internal/components/keypad.mjs +3 -3
  276. package/dist/js/internal/components/lightbox.mjs +3 -3
  277. package/dist/js/internal/components/lineChart.mjs +41 -4
  278. package/dist/js/internal/components/loadingOverlay.mjs +9 -0
  279. package/dist/js/internal/components/loadingOverlay.mjs.map +7 -0
  280. package/dist/js/internal/components/mapView.mjs +3 -3
  281. package/dist/js/internal/components/menu.mjs +3 -3
  282. package/dist/js/internal/components/menubar.mjs +10 -0
  283. package/dist/js/internal/components/menubar.mjs.map +7 -0
  284. package/dist/js/internal/components/messageScroller.mjs +3 -3
  285. package/dist/js/internal/components/mixedChart.mjs +5 -4
  286. package/dist/js/internal/components/navigationRail.mjs +3 -2
  287. package/dist/js/internal/components/particles.mjs +3 -2
  288. package/dist/js/internal/components/pieChart.mjs +4 -3
  289. package/dist/js/internal/components/pullToRefresh.mjs +9 -0
  290. package/dist/js/internal/components/pullToRefresh.mjs.map +7 -0
  291. package/dist/js/internal/components/questionnaire.mjs +3 -3
  292. package/dist/js/internal/components/radarChart.mjs +4 -3
  293. package/dist/js/internal/components/radialChart.mjs +4 -3
  294. package/dist/js/internal/components/registry.mjs +60 -41
  295. package/dist/js/internal/components/richTextEditor.mjs +3 -3
  296. package/dist/js/internal/components/sankeyChart.mjs +10 -0
  297. package/dist/js/internal/components/sankeyChart.mjs.map +7 -0
  298. package/dist/js/internal/components/scatterChart.mjs +10 -0
  299. package/dist/js/internal/components/scatterChart.mjs.map +7 -0
  300. package/dist/js/internal/components/scrollspy.mjs +3 -2
  301. package/dist/js/internal/components/select.mjs +5 -4
  302. package/dist/js/internal/components/showMore.mjs +9 -0
  303. package/dist/js/internal/components/showMore.mjs.map +7 -0
  304. package/dist/js/internal/components/slider.mjs +3 -3
  305. package/dist/js/internal/components/snackbar.mjs +2 -2
  306. package/dist/js/internal/components/swipeActions.mjs +9 -0
  307. package/dist/js/internal/components/swipeActions.mjs.map +7 -0
  308. package/dist/js/internal/components/tabs.mjs +3 -4
  309. package/dist/js/internal/components/timepicker.mjs +5 -4
  310. package/dist/js/internal/components/tooltip.mjs +3 -3
  311. package/dist/js/internal/components/treeSelect.mjs +14 -0
  312. package/dist/js/internal/components/treeSelect.mjs.map +7 -0
  313. package/dist/js/internal/components/treemapChart.mjs +10 -0
  314. package/dist/js/internal/components/treemapChart.mjs.map +7 -0
  315. package/dist/js/internal/core/component.mjs +6 -3
  316. package/dist/js/internal/core/formControl.mjs +12 -0
  317. package/dist/js/internal/core/formControl.mjs.map +7 -0
  318. package/dist/js/internal/core/imageURL.mjs +7 -0
  319. package/dist/js/internal/core/imageURL.mjs.map +7 -0
  320. package/dist/js/internal/core/spring.mjs +11 -0
  321. package/dist/js/internal/core/spring.mjs.map +7 -0
  322. package/dist/js/internal/core/utils.mjs +21 -3
  323. package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +2 -2
  324. package/dist/js/internal/plugins/modalDisplayPlugin.mjs +13 -0
  325. package/dist/js/internal/plugins/modalDisplayPlugin.mjs.map +7 -0
  326. package/dist/js/modular.mjs +172 -69
  327. package/dist/types/behaviors/bottomSheets.d.ts +23 -5
  328. package/dist/types/behaviors/copy.d.ts +18 -0
  329. package/dist/types/behaviors/dataTables.d.ts +125 -0
  330. package/dist/types/behaviors/dialogs.d.ts +27 -1
  331. package/dist/types/behaviors/forms.d.ts +70 -4
  332. package/dist/types/behaviors/imageCompare.d.ts +13 -0
  333. package/dist/types/behaviors/lists.d.ts +12 -0
  334. package/dist/types/behaviors/paneResize.d.ts +29 -0
  335. package/dist/types/behaviors/sheetDrag.d.ts +18 -0
  336. package/dist/types/behaviors/sideSheets.d.ts +1 -1
  337. package/dist/types/behaviors/sortable.d.ts +28 -0
  338. package/dist/types/behaviors/theme.d.ts +22 -0
  339. package/dist/types/behaviors/tour.d.ts +36 -0
  340. package/dist/types/behaviors/transferList.d.ts +53 -0
  341. package/dist/types/components/appBar.d.ts +5 -6
  342. package/dist/types/components/autocomplete.d.ts +105 -20
  343. package/dist/types/components/backToTop.d.ts +36 -0
  344. package/dist/types/components/barChart.d.ts +3 -6
  345. package/dist/types/components/buttonGroup.d.ts +2 -4
  346. package/dist/types/components/buttons.d.ts +5 -5
  347. package/dist/types/components/cards.d.ts +3 -16
  348. package/dist/types/components/carousel.d.ts +16 -15
  349. package/dist/types/components/cascader.d.ts +130 -0
  350. package/dist/types/components/characterCounter.d.ts +2 -15
  351. package/dist/types/components/chips.d.ts +80 -19
  352. package/dist/types/components/colorPicker.d.ts +56 -0
  353. package/dist/types/components/columnChart.d.ts +23 -10
  354. package/dist/types/components/commandPalette.d.ts +11 -16
  355. package/dist/types/components/confetti.d.ts +2 -4
  356. package/dist/types/components/currencyInput.d.ts +60 -0
  357. package/dist/types/components/datepicker.d.ts +107 -56
  358. package/dist/types/components/expandingCard.d.ts +4 -6
  359. package/dist/types/components/funnelChart.d.ts +35 -0
  360. package/dist/types/components/heatmapChart.d.ts +42 -8
  361. package/dist/types/components/hoverCard.d.ts +59 -0
  362. package/dist/types/components/index.d.ts +16 -1
  363. package/dist/types/components/inputMask.d.ts +28 -0
  364. package/dist/types/components/keypad.d.ts +38 -6
  365. package/dist/types/components/lightbox.d.ts +14 -20
  366. package/dist/types/components/lineChart.d.ts +212 -12
  367. package/dist/types/components/loadingOverlay.d.ts +42 -0
  368. package/dist/types/components/mapView.d.ts +138 -27
  369. package/dist/types/components/menu.d.ts +74 -22
  370. package/dist/types/components/menubar.d.ts +37 -0
  371. package/dist/types/components/messageScroller.d.ts +2 -14
  372. package/dist/types/components/mixedChart.d.ts +15 -6
  373. package/dist/types/components/navigationRail.d.ts +16 -5
  374. package/dist/types/components/particles.d.ts +22 -5
  375. package/dist/types/components/pieChart.d.ts +33 -9
  376. package/dist/types/components/pullToRefresh.d.ts +80 -0
  377. package/dist/types/components/questionnaire.d.ts +58 -16
  378. package/dist/types/components/radarChart.d.ts +10 -6
  379. package/dist/types/components/radialChart.d.ts +58 -7
  380. package/dist/types/components/registry.d.ts +73 -3
  381. package/dist/types/components/richTextEditor.d.ts +45 -22
  382. package/dist/types/components/sankeyChart.d.ts +72 -0
  383. package/dist/types/components/scatterChart.d.ts +102 -0
  384. package/dist/types/components/scrollspy.d.ts +3 -5
  385. package/dist/types/components/select.d.ts +44 -33
  386. package/dist/types/components/showMore.d.ts +53 -0
  387. package/dist/types/components/slider.d.ts +2 -15
  388. package/dist/types/components/snackbar.d.ts +68 -1
  389. package/dist/types/components/swipeActions.d.ts +81 -0
  390. package/dist/types/components/tabs.d.ts +92 -30
  391. package/dist/types/components/timepicker.d.ts +128 -27
  392. package/dist/types/components/tooltip.d.ts +57 -21
  393. package/dist/types/components/treeSelect.d.ts +106 -0
  394. package/dist/types/components/treemapChart.d.ts +56 -0
  395. package/dist/types/core/component.d.ts +49 -25
  396. package/dist/types/core/formControl.d.ts +21 -0
  397. package/dist/types/core/imageURL.d.ts +2 -0
  398. package/dist/types/core/spring.d.ts +20 -0
  399. package/dist/types/core/utils.d.ts +123 -72
  400. package/dist/types/modular.d.ts +33 -1
  401. package/dist/types/plugins/dockedDisplayPlugin.d.ts +10 -8
  402. package/dist/types/plugins/modalDisplayPlugin.d.ts +39 -0
  403. package/package.json +17 -13
  404. package/src/sass/README.md +27 -18
  405. package/src/sass/abstracts/_elevation.scss +13 -7
  406. package/src/sass/abstracts/_index.scss +1 -0
  407. package/src/sass/abstracts/_mixins.scss +864 -78
  408. package/src/sass/abstracts/_spring.scss +63 -0
  409. package/src/sass/abstracts/_variables.scss +64 -21
  410. package/src/sass/base/_fonts.scss +61 -48
  411. package/src/sass/base/_global.scss +104 -24
  412. package/src/sass/base/_index.scss +2 -0
  413. package/src/sass/base/_normalize.scss +59 -114
  414. package/src/sass/base/_print.scss +21 -0
  415. package/src/sass/base/_prose.scss +68 -0
  416. package/src/sass/base/_typography.scss +9 -5
  417. package/src/sass/components/_accordion.scss +10 -19
  418. package/src/sass/components/_alert.scss +102 -0
  419. package/src/sass/components/_aura.scss +9 -3
  420. package/src/sass/components/_avatar.scss +3 -3
  421. package/src/sass/components/_back-to-top.scss +38 -0
  422. package/src/sass/components/_badges.scss +6 -5
  423. package/src/sass/components/_bar-chart.scss +31 -90
  424. package/src/sass/components/_bottom-sheet.scss +51 -16
  425. package/src/sass/components/_breadcrumb.scss +8 -7
  426. package/src/sass/components/_button-groups.scss +30 -63
  427. package/src/sass/components/_buttons.scss +137 -94
  428. package/src/sass/components/_calendar.scss +244 -0
  429. package/src/sass/components/_cards.scss +36 -44
  430. package/src/sass/components/_carousel.scss +37 -113
  431. package/src/sass/components/_cascader.scss +131 -0
  432. package/src/sass/components/_chips.scss +36 -46
  433. package/src/sass/components/_column-chart.scss +15 -26
  434. package/src/sass/components/_command-palette.scss +4 -7
  435. package/src/sass/components/_confetti.scss +1 -4
  436. package/src/sass/components/_countdown.scss +1 -1
  437. package/src/sass/components/_data-table.scss +172 -25
  438. package/src/sass/components/_datepicker.scss +54 -40
  439. package/src/sass/components/_description-list.scss +85 -0
  440. package/src/sass/components/_dialog.scss +48 -55
  441. package/src/sass/components/_docked-display.scss +1 -3
  442. package/src/sass/components/_drag-handle.scss +16 -20
  443. package/src/sass/components/_expanding-card.scss +21 -14
  444. package/src/sass/components/_fab-menu.scss +43 -39
  445. package/src/sass/components/_funnel-chart.scss +63 -0
  446. package/src/sass/components/_heatmap-chart.scss +114 -29
  447. package/src/sass/components/_icon-buttons.scss +8 -11
  448. package/src/sass/components/_icons-material-design.scss +2 -2
  449. package/src/sass/components/_image-compare.scss +108 -0
  450. package/src/sass/components/_index.scss +20 -0
  451. package/src/sass/components/_keypad.scss +39 -19
  452. package/src/sass/components/_kpi.scss +6 -11
  453. package/src/sass/components/_lightbox.scss +24 -13
  454. package/src/sass/components/_line-chart.scss +9 -63
  455. package/src/sass/components/_list.scss +59 -14
  456. package/src/sass/components/_loading-indicator.scss +1 -0
  457. package/src/sass/components/_loading-overlay.scss +105 -0
  458. package/src/sass/components/_map.scss +37 -11
  459. package/src/sass/components/_marquee.scss +4 -3
  460. package/src/sass/components/_mega-menu.scss +128 -0
  461. package/src/sass/components/_menu.scss +146 -127
  462. package/src/sass/components/_menubar.scss +47 -0
  463. package/src/sass/components/_message-scroller.scss +2 -2
  464. package/src/sass/components/_message.scss +3 -3
  465. package/src/sass/components/_mixed-chart.scss +27 -35
  466. package/src/sass/components/_modal-display.scss +21 -0
  467. package/src/sass/components/_navbar.scss +45 -36
  468. package/src/sass/components/_navigation-bar.scss +12 -77
  469. package/src/sass/components/_navigation-rail.scss +161 -92
  470. package/src/sass/components/_org-chart.scss +192 -0
  471. package/src/sass/components/_page-footer.scss +2 -4
  472. package/src/sass/components/_pagination.scss +9 -27
  473. package/src/sass/components/_panes.scss +35 -42
  474. package/src/sass/components/_particles.scss +1 -4
  475. package/src/sass/components/_pie-chart.scss +86 -68
  476. package/src/sass/components/_popover.scss +18 -5
  477. package/src/sass/components/_progress.scss +183 -44
  478. package/src/sass/components/_pull-to-refresh.scss +90 -0
  479. package/src/sass/components/_questionnaire.scss +74 -3
  480. package/src/sass/components/_radar-chart.scss +40 -42
  481. package/src/sass/components/_radial-chart.scss +108 -46
  482. package/src/sass/components/_rich-text-editor.scss +2 -2
  483. package/src/sass/components/_sankey-chart.scss +91 -0
  484. package/src/sass/components/_scatter-chart.scss +144 -0
  485. package/src/sass/components/_scrim.scss +0 -2
  486. package/src/sass/components/_scrollspy.scss +0 -2
  487. package/src/sass/components/_search.scss +27 -26
  488. package/src/sass/components/_show-more.scss +8 -0
  489. package/src/sass/components/_side-sheet.scss +32 -51
  490. package/src/sass/components/_skeleton.scss +26 -19
  491. package/src/sass/components/_snackbar.scss +25 -21
  492. package/src/sass/components/_split-button.scss +5 -5
  493. package/src/sass/components/_stat.scss +3 -8
  494. package/src/sass/components/_stepper.scss +1 -1
  495. package/src/sass/components/_swipe-actions.scss +71 -0
  496. package/src/sass/components/_table_of_contents.scss +1 -3
  497. package/src/sass/components/_tabs.scss +49 -46
  498. package/src/sass/components/_timeline.scss +12 -12
  499. package/src/sass/components/_timepicker.scss +111 -79
  500. package/src/sass/components/_toolbar.scss +36 -47
  501. package/src/sass/components/_tooltip.scss +25 -12
  502. package/src/sass/components/_tour.scss +89 -0
  503. package/src/sass/components/_transfer-list.scss +73 -0
  504. package/src/sass/components/_transitions.scss +4 -4
  505. package/src/sass/components/_tree.scss +7 -32
  506. package/src/sass/components/_treemap-chart.scss +98 -0
  507. package/src/sass/components/forms/_checkboxes.scss +107 -44
  508. package/src/sass/components/forms/_color-picker.scss +135 -0
  509. package/src/sass/components/forms/_color-swatches.scss +85 -0
  510. package/src/sass/components/forms/_drop-zone.scss +16 -13
  511. package/src/sass/components/forms/_fieldset.scss +4 -7
  512. package/src/sass/components/forms/_file-input.scss +12 -8
  513. package/src/sass/components/forms/_index.scss +3 -1
  514. package/src/sass/components/forms/_input-fields.scss +271 -90
  515. package/src/sass/components/forms/_radio-buttons.scss +34 -117
  516. package/src/sass/components/forms/_rating.scss +2 -32
  517. package/src/sass/components/forms/_select.scss +198 -20
  518. package/src/sass/components/forms/_slider.scss +92 -98
  519. package/src/sass/components/forms/_switches.scss +62 -180
  520. package/src/sass/custom.scss +10 -1
  521. package/src/sass/expressive.scss +3 -63
  522. package/src/sass/tokens/_contrast.scss +94 -0
  523. package/src/sass/tokens/_elevation.scss +16 -0
  524. package/src/sass/tokens/_index.scss +5 -0
  525. package/src/sass/tokens/_motion.scss +109 -0
  526. package/src/sass/tokens/_reference.scss +72 -141
  527. package/src/sass/tokens/_shape.scss +38 -0
  528. package/src/sass/tokens/_stacking.scss +27 -0
  529. package/src/sass/tokens/_state.scss +0 -2
  530. package/src/sass/tokens/_theme.scss +10 -1
  531. package/src/sass/tokens/_vibrant.scss +2 -5
  532. package/src/sass/utilities/_defer-render.scss +17 -0
  533. package/src/sass/utilities/_helpers.scss +184 -27
  534. package/src/sass/utilities/_index.scss +1 -0
  535. package/src/sass/utilities/_scroll-area.scss +0 -2
  536. package/src/sass/utilities/_spacing.scss +52 -34
  537. package/src/sass/utilities/_typescale.scss +8 -1
  538. package/src/sass/utilities/_visibility.scss +46 -77
  539. package/src/sass/utilities/_z-depth.scss +7 -4
  540. package/dist/js/chunks/chunk-33QVDDGR.mjs +0 -270
  541. package/dist/js/chunks/chunk-33QVDDGR.mjs.map +0 -7
  542. package/dist/js/chunks/chunk-45FER6RI.mjs +0 -59
  543. package/dist/js/chunks/chunk-45FER6RI.mjs.map +0 -7
  544. package/dist/js/chunks/chunk-5CEAOLUA.mjs.map +0 -7
  545. package/dist/js/chunks/chunk-6VATUZC6.mjs +0 -295
  546. package/dist/js/chunks/chunk-6VATUZC6.mjs.map +0 -7
  547. package/dist/js/chunks/chunk-74MXKKLN.mjs.map +0 -7
  548. package/dist/js/chunks/chunk-AIURVCG6.mjs +0 -55
  549. package/dist/js/chunks/chunk-AIURVCG6.mjs.map +0 -7
  550. package/dist/js/chunks/chunk-BGZLF6JZ.mjs.map +0 -7
  551. package/dist/js/chunks/chunk-C6CHEWYP.mjs.map +0 -7
  552. package/dist/js/chunks/chunk-CK2XCICY.mjs.map +0 -7
  553. package/dist/js/chunks/chunk-CXXM2L4F.mjs +0 -344
  554. package/dist/js/chunks/chunk-CXXM2L4F.mjs.map +0 -7
  555. package/dist/js/chunks/chunk-DXGRXYYL.mjs.map +0 -7
  556. package/dist/js/chunks/chunk-FM5CZOUB.mjs.map +0 -7
  557. package/dist/js/chunks/chunk-GJL6GCIU.mjs.map +0 -7
  558. package/dist/js/chunks/chunk-K3HZMFMD.mjs +0 -135
  559. package/dist/js/chunks/chunk-K3HZMFMD.mjs.map +0 -7
  560. package/dist/js/chunks/chunk-KHXZ2A4K.mjs.map +0 -7
  561. package/dist/js/chunks/chunk-KQACNQ22.mjs +0 -7
  562. package/dist/js/chunks/chunk-KQACNQ22.mjs.map +0 -7
  563. package/dist/js/chunks/chunk-KUFHW3DS.mjs.map +0 -7
  564. package/dist/js/chunks/chunk-KVJAVDBC.mjs.map +0 -7
  565. package/dist/js/chunks/chunk-L27Q6ZMI.mjs.map +0 -7
  566. package/dist/js/chunks/chunk-LQWUDNHZ.mjs.map +0 -7
  567. package/dist/js/chunks/chunk-M372EDXD.mjs +0 -322
  568. package/dist/js/chunks/chunk-M372EDXD.mjs.map +0 -7
  569. package/dist/js/chunks/chunk-M3MURWMB.mjs +0 -82
  570. package/dist/js/chunks/chunk-M3MURWMB.mjs.map +0 -7
  571. package/dist/js/chunks/chunk-NUHMOAOY.mjs.map +0 -7
  572. package/dist/js/chunks/chunk-OWG3LMUL.mjs +0 -169
  573. package/dist/js/chunks/chunk-OWG3LMUL.mjs.map +0 -7
  574. package/dist/js/chunks/chunk-PD6HYHAE.mjs +0 -48
  575. package/dist/js/chunks/chunk-PD6HYHAE.mjs.map +0 -7
  576. package/dist/js/chunks/chunk-PDG64UHF.mjs.map +0 -7
  577. package/dist/js/chunks/chunk-PO3AXVR3.mjs +0 -546
  578. package/dist/js/chunks/chunk-PO3AXVR3.mjs.map +0 -7
  579. package/dist/js/chunks/chunk-QYGK36OG.mjs +0 -181
  580. package/dist/js/chunks/chunk-QYGK36OG.mjs.map +0 -7
  581. package/dist/js/chunks/chunk-SFI2U4YW.mjs.map +0 -7
  582. package/dist/js/chunks/chunk-SMY7GJSS.mjs.map +0 -7
  583. package/dist/js/chunks/chunk-TCCA2HDG.mjs +0 -414
  584. package/dist/js/chunks/chunk-TCCA2HDG.mjs.map +0 -7
  585. package/dist/js/chunks/chunk-TSZYSW7F.mjs.map +0 -7
  586. package/dist/js/chunks/chunk-UAZSDUVP.mjs +0 -90
  587. package/dist/js/chunks/chunk-UAZSDUVP.mjs.map +0 -7
  588. package/dist/js/chunks/chunk-UBRZZWRA.mjs +0 -127
  589. package/dist/js/chunks/chunk-UBRZZWRA.mjs.map +0 -7
  590. package/dist/js/chunks/chunk-UCOE7ZDL.mjs +0 -287
  591. package/dist/js/chunks/chunk-UCOE7ZDL.mjs.map +0 -7
  592. package/dist/js/chunks/chunk-UETTGDLI.mjs.map +0 -7
  593. package/dist/js/chunks/chunk-UNCRDLP6.mjs +0 -136
  594. package/dist/js/chunks/chunk-UNCRDLP6.mjs.map +0 -7
  595. package/dist/js/chunks/chunk-VGNYF6FB.mjs.map +0 -7
  596. package/dist/js/chunks/chunk-VGPGBNGL.mjs +0 -68
  597. package/dist/js/chunks/chunk-VGPGBNGL.mjs.map +0 -7
  598. package/dist/js/chunks/chunk-VKAUVTQY.mjs +0 -1
  599. package/dist/js/chunks/chunk-VM4FTS7L.mjs +0 -48
  600. package/dist/js/chunks/chunk-VM4FTS7L.mjs.map +0 -7
  601. package/dist/js/chunks/chunk-WDK4T63U.mjs.map +0 -7
  602. package/dist/js/chunks/chunk-WOCCTVUF.mjs +0 -185
  603. package/dist/js/chunks/chunk-WOCCTVUF.mjs.map +0 -7
  604. package/dist/js/chunks/chunk-WQYN5L4E.mjs +0 -107
  605. package/dist/js/chunks/chunk-WQYN5L4E.mjs.map +0 -7
  606. package/dist/js/chunks/chunk-X4ISMKE2.mjs.map +0 -7
  607. package/dist/js/chunks/chunk-XAEAEHIX.mjs.map +0 -7
  608. package/dist/js/chunks/chunk-ZX6M7SWO.mjs.map +0 -7
  609. /package/dist/js/chunks/{chunk-VKAUVTQY.mjs.map → chunk-GNRSYMVH.mjs.map} +0 -0
@@ -4,8 +4,10 @@
4
4
  //
5
5
  // Anatomy is the HTML. Every key is a <button type="button">. A key with a
6
6
  // `value` types that value; a key with `data-key` is a function key
7
- // (Backspace, Enter, Shift). `.keypad` is a three-column grid of round keys,
8
- // the dial pad and PIN pad. `.keyboard` is a column of rows (any <div>), each
7
+ // (Backspace, Enter, Shift, CapsLock, Layer). A Layer key shows the
8
+ // elements whose `data-layer` matches its `value`, such as a row of
9
+ // symbols. `.keypad` is a three-column grid of round keys, the dial pad
10
+ // and PIN pad. `.keyboard` is a column of rows (any <div>), each
9
11
  // row a flex line of keys. A key carrying a button style class (.filled,
10
12
  // .tonal, .outlined, .elevated, .text) keeps that style, so a call or submit
11
13
  // key is written the same way as any other button.
@@ -25,9 +27,10 @@ $_key: "button:not(.filled, .tonal, .outlined, .elevated, .text, :disabled)";
25
27
  --md-comp-keypad-key-label-color: var(--md-sys-color-on-surface);
26
28
  --md-comp-keypad-function-key-color: var(--md-sys-color-secondary-container);
27
29
  --md-comp-keypad-function-key-label-color: var(--md-sys-color-on-secondary-container);
28
- --md-comp-keypad-key-pressed-shape: 12px;
30
+ --md-comp-keypad-key-pressed-shape: var(--md-sys-shape-corner-medium);
29
31
  // Material's fast-spatial spring, the curve button groups press with.
30
- --md-comp-keypad-motion: #{$motion-fast-spatial};
32
+ --md-comp-keypad-motion: var(--md-sys-motion-spring-fast-spatial);
33
+ --md-comp-keypad-motion-duration: var(--md-sys-motion-spring-fast-spatial-duration);
31
34
 
32
35
  touch-action: manipulation;
33
36
 
@@ -37,8 +40,8 @@ $_key: "button:not(.filled, .tonal, .outlined, .elevated, .text, :disabled)";
37
40
  min-width: 0;
38
41
  padding: 0;
39
42
  transition:
40
- border-radius 200ms var(--md-comp-keypad-motion),
41
- background-color 200ms ease-out;
43
+ border-radius var(--md-comp-keypad-motion-duration) var(--md-comp-keypad-motion),
44
+ background-color var(--md-sys-motion-duration-short4) ease-out;
42
45
 
43
46
  &[data-key] {
44
47
  --_color: var(--md-comp-keypad-function-key-color);
@@ -47,13 +50,14 @@ $_key: "button:not(.filled, .tonal, .outlined, .elevated, .text, :disabled)";
47
50
 
48
51
  // The state layer's opacity. Only the rule below reads it, so a key
49
52
  // that keeps a button style ignores it.
50
- @each $state, $selector in ("hover": "&:hover", "focus": "&:focus", "pressed": "&:active") {
53
+ // .pressed is a hardware key held down in the field.
54
+ @each $state, $selector in ("hover": "&:hover", "focus": "&:focus", "pressed": "&:is(:active, .pressed)") {
51
55
  #{$selector} {
52
56
  --_state: #{state-opacity($state)};
53
57
  }
54
58
  }
55
59
 
56
- &:active:not(:disabled) {
60
+ &:is(:active, .pressed):not(:disabled) {
57
61
  border-radius: var(--md-comp-keypad-key-pressed-shape);
58
62
  }
59
63
 
@@ -68,8 +72,8 @@ $_key: "button:not(.filled, .tonal, .outlined, .elevated, .text, :disabled)";
68
72
  background-color: color-mix(in oklab, var(--_label) var(--_state, 0%), var(--_color));
69
73
  }
70
74
 
71
- // A latched Shift reads as selected: primary, like a selected toggle.
72
- [data-key="Shift"][aria-pressed="true"] {
75
+ // A latched Shift or Caps Lock reads as selected: primary, like a selected toggle.
76
+ :is([data-key="Shift"], [data-key="CapsLock"])[aria-pressed="true"] {
73
77
  --_color: var(--md-sys-color-primary);
74
78
  --_label: var(--md-sys-color-on-primary);
75
79
  }
@@ -80,7 +84,7 @@ $_key: "button:not(.filled, .tonal, .outlined, .elevated, .text, :disabled)";
80
84
  // Keys fill their cell, so `.wide` spans two and becomes a pill: a call key
81
85
  // beside Backspace leaves no hole in the last row.
82
86
  .keypad {
83
- --md-comp-keypad-key-size: 72px;
87
+ --md-comp-keypad-key-size: #{rem(72px)};
84
88
  --md-comp-keypad-gap: 12px;
85
89
 
86
90
  display: inline-grid;
@@ -102,7 +106,7 @@ $_key: "button:not(.filled, .tonal, .outlined, .elevated, .text, :disabled)";
102
106
  > small {
103
107
  @include typescale("label-small");
104
108
  color: inherit;
105
- opacity: .78;
109
+ opacity: 0.78;
106
110
  }
107
111
  }
108
112
  }
@@ -115,12 +119,12 @@ $_key: "button:not(.filled, .tonal, .outlined, .elevated, .text, :disabled)";
115
119
  .keyboard {
116
120
  --md-comp-keyboard-columns: 10;
117
121
  --md-comp-keyboard-gap: 6px;
118
- --md-comp-keyboard-key-height: 48px;
119
- --md-comp-keyboard-number-key-height: 40px;
120
- --md-comp-keyboard-key-shape: 12px;
122
+ --md-comp-keyboard-key-height: #{rem(48px)};
123
+ --md-comp-keyboard-number-key-height: #{rem(40px)};
124
+ --md-comp-keyboard-key-shape: var(--md-sys-shape-corner-medium);
121
125
  --md-comp-keypad-key-pressed-shape: 6px;
122
126
  --md-comp-keyboard-container-color: var(--md-sys-color-surface-container);
123
- --md-comp-keyboard-container-shape: 16px;
127
+ --md-comp-keyboard-container-shape: var(--md-sys-shape-corner-large);
124
128
 
125
129
  display: flex;
126
130
  flex-direction: column;
@@ -143,7 +147,7 @@ $_key: "button:not(.filled, .tonal, .outlined, .elevated, .text, :disabled)";
143
147
  @include typescale("title-medium");
144
148
 
145
149
  &[data-key] {
146
- flex-basis: calc(1.5 * var(--_unit) + .5 * var(--md-comp-keyboard-gap));
150
+ flex-basis: calc(1.5 * var(--_unit) + 0.5 * var(--md-comp-keyboard-gap));
147
151
  }
148
152
 
149
153
  &[value=" "] {
@@ -155,8 +159,24 @@ $_key: "button:not(.filled, .tonal, .outlined, .elevated, .text, :disabled)";
155
159
  height: var(--md-comp-keyboard-number-key-height);
156
160
  }
157
161
 
158
- // Shift shows capitals on the character keys while it is latched.
159
- &:has([data-key="Shift"][aria-pressed="true"]) button[value] {
162
+ // Shift or Caps Lock shows capitals on the character keys while latched.
163
+ &:has(:is([data-key="Shift"], [data-key="CapsLock"])[aria-pressed="true"]) button[value] {
160
164
  text-transform: uppercase;
161
165
  }
162
166
  }
167
+
168
+ // Forced colors paint the keys and the keyboard's container as Canvas.
169
+ @media (forced-colors: active) {
170
+ :is(.keypad, .keyboard) button,
171
+ .keyboard {
172
+ outline: 1px solid ButtonText;
173
+ outline-offset: -1px;
174
+ }
175
+
176
+ // The fill that marks the main key, such as Call, is dropped too, so a
177
+ // thicker edge sets it apart, as a default button's is in high contrast.
178
+ :is(.keypad, .keyboard) button.filled {
179
+ outline-width: 3px;
180
+ outline-offset: -3px;
181
+ }
182
+ }
@@ -78,12 +78,12 @@ $_trend-charts: "line-chart", "column-chart", "bar-chart", "mixed-chart";
78
78
  display: grid;
79
79
  flex: none;
80
80
  place-items: center;
81
- width: 40px;
82
- height: 40px;
83
- border-radius: 12px;
81
+ width: rem(40px);
82
+ height: rem(40px);
83
+ border-radius: var(--md-sys-shape-corner-medium);
84
84
  background-color: var(--md-comp-kpi-icon-container-color);
85
85
  color: var(--md-comp-kpi-icon-color);
86
- font-size: 24px;
86
+ font-size: rem(24px);
87
87
  }
88
88
 
89
89
  .kpi-value {
@@ -99,7 +99,7 @@ $_trend-charts: "line-chart", "column-chart", "bar-chart", "mixed-chart";
99
99
  align-items: center;
100
100
  gap: 2px;
101
101
  padding: 2px 8px;
102
- border-radius: 8px;
102
+ border-radius: var(--md-sys-shape-corner-small);
103
103
  background-color: var(--md-comp-kpi-trend-container-color);
104
104
  color: var(--md-comp-kpi-trend-color);
105
105
  font-variant-numeric: tabular-nums;
@@ -110,12 +110,7 @@ $_trend-charts: "line-chart", "column-chart", "bar-chart", "mixed-chart";
110
110
  }
111
111
 
112
112
  &:is(.up, .down)::before {
113
- content: "";
114
- flex: none;
115
- width: 18px;
116
- height: 18px;
117
- background-color: currentColor;
118
- mask: $trend-arrow center / 18px no-repeat;
113
+ @include trend-arrow;
119
114
  }
120
115
 
121
116
  &.down::before {
@@ -1,43 +1,54 @@
1
- @use "../abstracts" as *;
2
-
3
1
  .lightboxed {
4
2
  display: block;
5
3
  cursor: zoom-in;
6
4
  position: relative;
7
- transition: opacity .4s;
5
+ transition: opacity var(--md-sys-motion-duration-medium4);
8
6
  backface-visibility: hidden;
9
7
  // Same 12px as .responsive-img. Exclude .circle so a disc stays a disc.
10
8
  &:not(.circle) {
11
- border-radius: 12px;
9
+ border-radius: var(--md-sys-shape-corner-medium);
12
10
  }
13
11
 
14
12
  &:hover:not(.active) {
15
- opacity: .8;
13
+ opacity: 0.8;
16
14
  }
17
15
  &.active {
18
16
  cursor: zoom-out;
19
17
  }
20
18
  }
21
19
 
20
+ // Open, the overlay, the image and the caption are manual popovers in the
21
+ // top layer. These undo the UA popover box: its centring inset, fit-content
22
+ // size, border, padding and Canvas fill. On the image they lose to any
23
+ // author rule.
24
+ :where(.lightboxed[popover]) {
25
+ border: none;
26
+ padding: 0;
27
+ background: none;
28
+ }
29
+
22
30
  #lightbox-overlay {
23
- position:fixed;
31
+ position: fixed;
24
32
  inset: 0;
25
- background-color: var(--md-sys-color-background);
26
- z-index: 1000;
33
+ width: auto;
34
+ height: auto;
35
+ border: none;
36
+ background-color: var(--md-sys-color-surface);
27
37
  will-change: opacity;
28
38
  }
29
39
 
30
40
  .lightbox-caption {
31
41
  position: fixed;
32
42
  display: none;
33
- color: var(--md-sys-color-on-background);
43
+ color: var(--md-sys-color-on-surface);
34
44
  line-height: 50px;
35
- bottom: 0;
36
- left: 0;
45
+ inset: auto auto 0 0;
46
+ margin: 0;
47
+ border: none;
48
+ background: none;
37
49
  width: 100%;
38
50
  text-align: center;
39
- padding: 0% 15%;
51
+ padding: 0 15%;
40
52
  height: 50px;
41
- z-index: 1000;
42
53
  -webkit-font-smoothing: antialiased;
43
54
  }
@@ -12,48 +12,29 @@
12
12
  // and the tooltip are HTML positioned in percentages for the same reason.
13
13
  //
14
14
  // Modifiers: .area fills under each line, .stacked stacks each series on
15
- // the ones before it and fills between them, .fade fades the line ends,
16
- // .sparkline is a small chart with no axis, grid, legend or tooltip.
15
+ // the ones before it and fills between them, .points marks each value with
16
+ // a dot, .straight draws straight lines between values, .fade fades the
17
+ // line ends, .axis labels the y axis at round values with a grid line at
18
+ // each, .sparkline is a small chart with no axis, grid, legend or tooltip,
19
+ // and .toggle makes each legend item a button that shows or hides its series.
17
20
  // A series header cell's classes reach its line: <th class="dashed">.
18
21
  //
19
22
  // Tokens:
20
23
  // --md-comp-line-chart-height 240px (sparkline 48px)
21
24
  // --md-comp-line-chart-line-width 3px (sparkline 2px)
22
25
  // --md-comp-line-chart-grid-color outline-variant
26
+ // --md-comp-line-chart-axis-width 48px, room for the .axis labels
23
27
  // --md-comp-line-chart-color-1..4 primary, tertiary, secondary,
24
28
  // on-surface-variant
25
29
 
26
- @include chart("line-chart");
27
-
28
- .line-chart {
29
- --md-comp-line-chart-line-width: 3px;
30
-
31
- &.sparkline {
32
- --md-comp-line-chart-line-width: 2px;
33
- }
34
- }
30
+ @include chart("line-chart", $cursor: line, $lines: true);
31
+ @include chart-axis("line-chart");
35
32
 
36
33
  .line-chart-plot > svg {
37
- position: absolute;
38
- inset: 0;
39
- width: 100%;
40
- height: 100%;
34
+ @include fill-parent;
41
35
  overflow: visible;
42
36
  }
43
37
 
44
- .line-chart-line {
45
- fill: none;
46
- stroke: var(--line-chart-color);
47
- stroke-width: var(--md-comp-line-chart-line-width);
48
- stroke-linecap: round;
49
- stroke-linejoin: round;
50
- vector-effect: non-scaling-stroke;
51
- }
52
-
53
- .line-chart-series.dashed .line-chart-line {
54
- stroke-dasharray: 2 8;
55
- }
56
-
57
38
  .line-chart-area {
58
39
  display: none;
59
40
 
@@ -62,41 +43,6 @@
62
43
  }
63
44
  }
64
45
 
65
- .line-chart-series stop {
66
- stop-color: var(--line-chart-color);
67
- stop-opacity: 0;
68
-
69
- &:first-child {
70
- stop-opacity: 0.24;
71
- }
72
- }
73
-
74
46
  .line-chart.fade .line-chart-plot > svg {
75
47
  mask-image: linear-gradient(to right, transparent, #000 15% 85%, transparent);
76
48
  }
77
-
78
- .line-chart-cursor {
79
- width: 1px;
80
- background-color: var(--md-sys-color-outline);
81
-
82
- > span {
83
- position: absolute;
84
- left: 0;
85
- width: 10px;
86
- height: 10px;
87
- border: 2px solid var(--md-sys-color-surface);
88
- border-radius: 50%;
89
- background-color: var(--line-chart-color);
90
- translate: -50% -50%;
91
- }
92
- }
93
-
94
- @media (forced-colors: active) {
95
- .line-chart-cursor {
96
- background-color: CanvasText;
97
- }
98
-
99
- .line-chart-cursor > span {
100
- forced-color-adjust: none;
101
- }
102
- }
@@ -51,7 +51,13 @@
51
51
  border-radius: var(--md-comp-list-item-shape);
52
52
  background-color: var(--md-comp-list-item-container-color);
53
53
  color: inherit;
54
- transition: background-color 0.2s ease-out;
54
+ transition: background-color var(--md-sys-motion-duration-short4) ease-out;
55
+ }
56
+
57
+ // A checkbox draws its check on its label, from the label's inline start.
58
+ // When the label is the row, that edge is the row's padding away from the box.
59
+ > li > label:only-child {
60
+ --checkbox-mark-inset: var(--md-comp-list-item-padding);
55
61
  }
56
62
 
57
63
  // The row grid lives on the item, or on a wrapping <a>/<label>.
@@ -60,14 +66,19 @@
60
66
  display: grid;
61
67
  grid-template-columns: auto minmax(0, 1fr) auto;
62
68
  grid-template-rows: auto auto;
69
+ // Centred as a block, so an empty second row does not stretch and lift a
70
+ // single line of text above the leading element.
71
+ align-content: center;
63
72
  align-items: center;
64
- column-gap: var(--md-comp-list-gap);
73
+ // Row gap zero as well: a checkbox or radio label brings a 12px gap that
74
+ // would open between the text and its empty second row.
75
+ gap: 0 var(--md-comp-list-gap);
65
76
  box-sizing: border-box;
66
77
  min-height: var(--md-comp-list-item-height);
67
78
  padding: 8px var(--md-comp-list-item-padding);
68
79
  @include typescale("body-large");
69
80
 
70
- > :is(#{$icon}, img, input):first-child {
81
+ > :is(#{$icon}, img, input, .drag-handle):first-child {
71
82
  grid-column: 1;
72
83
  grid-row: 1 / -1;
73
84
  align-self: center;
@@ -85,7 +96,7 @@
85
96
  width: var(--md-comp-list-image-size);
86
97
  height: var(--md-comp-list-image-size);
87
98
  object-fit: cover;
88
- border-radius: 8px;
99
+ border-radius: var(--md-sys-shape-corner-small);
89
100
  }
90
101
 
91
102
  > :is(img, #{$icon}).circle {
@@ -99,7 +110,7 @@
99
110
  display: inline-flex;
100
111
  align-items: center;
101
112
  justify-content: center;
102
- font-size: 20px;
113
+ font-size: rem(20px);
103
114
  line-height: 1;
104
115
  background-color: var(--md-sys-color-primary-container);
105
116
  color: var(--md-sys-color-on-primary-container);
@@ -108,8 +119,11 @@
108
119
  // $icon-label, not a bare `span`: the canonical icon is a <span> too, so
109
120
  // this rule used to pull the leading icon out of column 1 and into the
110
121
  // text column - the icon rules above went dead and this one over-matched.
111
- > div:not(.meta),
112
- > #{$icon-label} {
122
+ // A trailing span.badge or span.meta is not a label either: this rule
123
+ // outranks the trailing one, so it took column 2 and pushed a bare-text
124
+ // label past it into column 3.
125
+ > div:not(.meta, .swipe-actions),
126
+ > #{$icon-label}:not(.drag-handle, .sortable-actions, .swipe-actions, .badge, .meta) {
113
127
  grid-column: 2;
114
128
  min-width: 0;
115
129
  }
@@ -123,7 +137,7 @@
123
137
  @include typescale("body-medium");
124
138
  }
125
139
 
126
- > :is(#{$icon}, kbd, button, time, .meta, .badge, .button, a):last-child:not(:first-child) {
140
+ > :is(#{$icon}, kbd, button, time, .meta, .badge, .button, a, .sortable-actions):last-child:not(:first-child) {
127
141
  grid-column: 3;
128
142
  grid-row: 1 / -1;
129
143
  justify-self: end;
@@ -182,11 +196,7 @@
182
196
  }
183
197
 
184
198
  > li:not(.active):not([aria-selected="true"]):not([aria-current]):not(:has(> [aria-current])):not(:has([aria-selected="true"])):not(:has(:checked)):hover {
185
- background-color: color-mix(
186
- in oklab,
187
- var(--md-sys-color-on-surface) state-opacity("hover"),
188
- var(--md-comp-list-item-container-color)
189
- );
199
+ background-color: state-layer(var(--md-sys-color-on-surface), "hover", var(--md-comp-list-item-container-color));
190
200
  }
191
201
 
192
202
  > li.active,
@@ -197,6 +207,7 @@
197
207
  > li:has(:checked) {
198
208
  background-color: var(--md-comp-list-selected-container-color);
199
209
  color: var(--md-comp-list-selected-color);
210
+ @include forced-colors-selected;
200
211
 
201
212
  #{$icon},
202
213
  p,
@@ -247,10 +258,44 @@
247
258
  var(--md-sys-color-on-surface) 8%,
248
259
  var(--md-sys-color-surface)
249
260
  );
250
- --md-comp-list-item-shape: 20px;
261
+ --md-comp-list-item-shape: var(--md-sys-shape-corner-large-increased);
251
262
 
252
263
  display: flex;
253
264
  flex-direction: column;
254
265
  gap: var(--md-comp-list-segmented-gap);
255
266
  }
256
267
  }
268
+
269
+ // Sortable. The Sortable behavior moves `.sortable > li` rows by their
270
+ // `.drag-handle` or their `[data-move]` buttons. The handle takes the drag
271
+ // gesture away from scrolling, and the row being dragged lifts.
272
+ .sortable > li {
273
+ .drag-handle {
274
+ cursor: grab;
275
+ touch-action: none;
276
+ }
277
+
278
+ &.dragged {
279
+ position: relative;
280
+ z-index: 1;
281
+ background-color: var(--md-sys-color-surface-container-highest);
282
+ @include z-depth("2");
283
+
284
+ .drag-handle {
285
+ cursor: grabbing;
286
+ }
287
+ }
288
+
289
+ // The handle is taller than a line of text, so a one-line title spans both
290
+ // grid rows and centers on it instead of riding the top.
291
+ > :not(.drag-handle, .sortable-actions, p):nth-child(2):nth-last-child(2) {
292
+ grid-row: 1 / -1;
293
+ align-self: center;
294
+ }
295
+
296
+ // The Move up / Move down pair takes the row's trailing slot as one group.
297
+ > .sortable-actions {
298
+ display: inline-flex;
299
+ align-self: center;
300
+ }
301
+ }
@@ -72,6 +72,7 @@ $_points: 24;
72
72
  width: var(--md-comp-loading-indicator-active-indicator-size);
73
73
  height: var(--md-comp-loading-indicator-active-indicator-size);
74
74
  background-color: var(--md-comp-loading-indicator-active-indicator-color);
75
+ @include forced-colors-fill;
75
76
  clip-path: _petal-shape(0, 0);
76
77
  animation:
77
78
  loading-indicator-morph var(--md-comp-loading-indicator-duration) ease-in-out infinite,
@@ -0,0 +1,105 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Loading overlay. While the page marks the region `aria-busy="true"`, a
4
+ // scrim covers it and the author's loading indicator, a direct child, shows
5
+ // in its centre. The script makes the region inert while it is busy and
6
+ // announces the start and the finish in a `.loading-overlay-status` region it
7
+ // adds after it.
8
+ //
9
+ // <div class="loading-overlay">
10
+ // <span class="loading-indicator contained" role="status" aria-label="Loading"></span>
11
+ // ...content
12
+ // </div>
13
+ //
14
+ // The scrim is a surface wash, not the 32% modal scrim: it dims part of a
15
+ // page the way disabled content looks instead of darkening it. It scrolls
16
+ // with the content of a region that scrolls itself, so put the overlay on a
17
+ // wrapper around a scroller.
18
+ //
19
+ // Tokens:
20
+ // --md-comp-loading-overlay-scrim-color surface at 70%
21
+ // --md-comp-loading-overlay-motion default effects spring, for the fade
22
+ // --md-comp-loading-overlay-motion-duration its duration
23
+
24
+ .loading-overlay {
25
+ --md-comp-loading-overlay-scrim-color: color-mix(in oklab, var(--md-sys-color-surface) 70%, transparent);
26
+ --md-comp-loading-overlay-motion: var(--md-sys-motion-spring-default-effects);
27
+ --md-comp-loading-overlay-motion-duration: var(--md-sys-motion-spring-default-effects-duration);
28
+
29
+ &::after,
30
+ > .loading-indicator {
31
+ position: absolute;
32
+ // The script's inert blocks input while busy; these must not catch a
33
+ // click while they fade out after the region clears.
34
+ pointer-events: none;
35
+ visibility: hidden;
36
+ opacity: 0;
37
+ // Hidden only once it has faded out.
38
+ transition:
39
+ opacity var(--md-comp-loading-overlay-motion-duration) var(--md-comp-loading-overlay-motion),
40
+ visibility 0s linear var(--md-comp-loading-overlay-motion-duration);
41
+ }
42
+
43
+ // Above the highest z-index any component sets inside itself (4, the
44
+ // carousel's), so card state layers and sticky table columns are dimmed too.
45
+ &::after {
46
+ content: "";
47
+ inset: 0;
48
+ z-index: 5;
49
+ border-radius: inherit;
50
+ background-color: var(--md-comp-loading-overlay-scrim-color);
51
+ }
52
+
53
+ > .loading-indicator {
54
+ inset: 0;
55
+ z-index: 6;
56
+ margin: auto;
57
+
58
+ &::before {
59
+ animation-play-state: paused;
60
+ }
61
+ }
62
+
63
+ // Keeps the scrim's stacking inside the region, so it never covers the page
64
+ // around it. Only while busy: at rest, a popup inside the region, such as a
65
+ // docked date picker, has to rise over the page, as `.field` lets it.
66
+ &[aria-busy="true"] {
67
+ isolation: isolate;
68
+ }
69
+
70
+ &[aria-busy="true"]::after,
71
+ &[aria-busy="true"] > .loading-indicator {
72
+ visibility: visible;
73
+ opacity: 1;
74
+ transition-delay: 0s;
75
+ }
76
+
77
+ &[aria-busy="true"] > .loading-indicator::before {
78
+ animation-play-state: running;
79
+ }
80
+ }
81
+
82
+ // Zero specificity, so a positioning utility on the region wins.
83
+ :where(.loading-overlay) {
84
+ position: relative;
85
+ }
86
+
87
+ .loading-overlay-status {
88
+ @include visually-hidden;
89
+ }
90
+
91
+ // Forced colors drop a translucent background, which would leave the content
92
+ // looking available. A Canvas wash keeps it dimmed under any system theme.
93
+ @media (forced-colors: active) {
94
+ .loading-overlay::after {
95
+ forced-color-adjust: none;
96
+ background-color: color-mix(in oklab, Canvas 70%, transparent);
97
+ }
98
+ }
99
+
100
+ @media (prefers-reduced-motion: reduce) {
101
+ .loading-overlay::after,
102
+ .loading-overlay > .loading-indicator {
103
+ transition: none;
104
+ }
105
+ }