@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
@@ -1,10 +1,11 @@
1
+ @use "sass:list";
1
2
  @use "sass:map";
2
3
  @use "../abstracts" as *;
3
4
 
4
5
  // Common buttons and FABs.
5
6
  //
6
7
  // Anatomy is the HTML. A <button> (or <a class="button">) is a filled
7
- // common button. Put an <i> first or last for a leading/trailing icon.
8
+ // common button. Put an icon first or last for a leading/trailing icon.
8
9
  // Icon-only is a 40dp icon button. Two independent modifier axes dress it:
9
10
  // a style (filled, tonal, outlined, elevated, text) and a size (xsmall …
10
11
  // xlarge).
@@ -28,7 +29,7 @@
28
29
  :root, :host {
29
30
  --md-comp-filled-button-container-color: var(--md-sys-color-primary);
30
31
  --md-comp-filled-button-label-text-color: var(--md-sys-color-on-primary);
31
- --md-comp-filled-button-container-shape: 9999px;
32
+ --md-comp-filled-button-container-shape: var(--md-sys-shape-corner-full);
32
33
  @include button-size("small");
33
34
  }
34
35
 
@@ -51,7 +52,7 @@
51
52
  // specificity; `.chip .close` would make it two and shift every button rule.
52
53
  // The delete button needs no entry: `.chip .close` is already two classes, so
53
54
  // it ties the state rules and wins on order.
54
- $_not-btn: ".datepicker-day-button, .date-picker-day-button, .month-prev, .month-next, .chip, .icon-button, .map-marker, .maplibregl-popup-close-button, .maplibregl-ctrl-attrib-button";
55
+ $_not-btn: ".datepicker-day-button, .month-prev, .month-next, .chip, .icon-button, .map-marker, .chart-toggle, .maplibregl-popup-close-button, .maplibregl-ctrl-attrib-button";
55
56
 
56
57
  // `label.button` is here for the file input: the control has to be a <label>
57
58
  // so that clicking it reaches the <input type="file"> it wraps, but it is a
@@ -71,10 +72,7 @@ $_btn: "button:not(#{$_not-btn}), a.button, label.button";
71
72
 
72
73
  > #{$icon} {
73
74
  flex: 0 0 auto;
74
- font-size: var(--md-comp-filled-button-icon-size);
75
- width: var(--md-comp-filled-button-icon-size);
76
- height: var(--md-comp-filled-button-icon-size);
77
- line-height: var(--md-comp-filled-button-icon-size);
75
+ @include icon-size(var(--md-comp-filled-button-icon-size));
78
76
  overflow: hidden;
79
77
  }
80
78
 
@@ -133,21 +131,13 @@ $_btn: "button:not(#{$_not-btn}), a.button, label.button";
133
131
  }
134
132
  }
135
133
 
136
- // `.extra` is the pre-1.0 name for the 56dp button, which is now `.medium`.
137
- // It aliases the geometry and not the type role, because it never carried
138
- // one: a rail's FAB is `a.button.extra`, its label is label-large, and
139
- // `.medium`'s title-medium would grow it. Size, not size-and-label.
140
- //
141
- // It is also the FAB's marker class - `circle extra` is a FAB, and the rules
142
- // below reset this geometry entirely.
143
- :where(#{$_btn}).extra {
144
- @include button-size("medium");
145
- }
134
+ // `.extra` marks the FAB: `circle extra` is a FAB. On its own it no longer
135
+ // sizes a common button; use `.medium` for the 56dp one.
146
136
 
147
137
  // Every size is corner.full already, so this only bites when a consumer has
148
138
  // themed the shape token to something squarer and wants one button back.
149
139
  :where(#{$_btn}).rounded {
150
- border-radius: 9999px;
140
+ border-radius: var(--md-sys-shape-corner-full);
151
141
  }
152
142
 
153
143
  // Extended FAB: an icon plus a label, on its own size and colour axes.
@@ -190,41 +180,19 @@ $_extend-sizes: (
190
180
  color: var(--md-comp-extended-fab-label-text-color);
191
181
  background-color: var(--md-comp-extended-fab-container-color);
192
182
  @include z-depth("3");
193
-
194
- &:hover {
195
- @include z-depth("4");
196
- background-color: color-mix(
197
- in oklab,
198
- var(--md-comp-extended-fab-label-text-color) state-opacity("hover"),
199
- var(--md-comp-extended-fab-container-color)
200
- );
201
- }
202
-
203
- &:active,
204
- &:focus {
205
- background-color: color-mix(
206
- in oklab,
207
- var(--md-comp-extended-fab-label-text-color) state-opacity("focus"),
208
- var(--md-comp-extended-fab-container-color)
209
- );
210
- }
211
-
212
- @include focus-visible;
183
+ @include btn-states(var(--md-comp-extended-fab-label-text-color), var(--md-comp-extended-fab-container-color), "4");
213
184
 
214
185
  > #{$icon} {
215
- font-size: var(--md-comp-extended-fab-icon-size);
216
- width: var(--md-comp-extended-fab-icon-size);
217
- height: var(--md-comp-extended-fab-icon-size);
218
- line-height: var(--md-comp-extended-fab-icon-size);
186
+ @include icon-size(var(--md-comp-extended-fab-icon-size));
219
187
  }
220
188
 
221
189
  // The size axis. Every size sets the same six tokens and its type role -
222
190
  // the geometry is written once, above, against those tokens.
223
191
  @each $name, $s in $_extend-sizes {
224
192
  &.#{$name} {
225
- --md-comp-extended-fab-container-height: #{map.get($s, height)};
193
+ --md-comp-extended-fab-container-height: #{rem(map.get($s, height))};
226
194
  --md-comp-extended-fab-container-shape: #{map.get($s, shape)};
227
- --md-comp-extended-fab-icon-size: #{map.get($s, icon)};
195
+ --md-comp-extended-fab-icon-size: #{rem(map.get($s, icon))};
228
196
  --md-comp-extended-fab-leading-space: #{map.get($s, space)};
229
197
  --md-comp-extended-fab-icon-label-space: #{map.get($s, gap)};
230
198
  --md-comp-extended-fab-trailing-space: #{map.get($s, space)};
@@ -257,10 +225,10 @@ $_extend-sizes: (
257
225
  // by size.
258
226
  :where(#{$_btn}).extra.circle,
259
227
  :where(#{$_btn}).large.circle {
260
- --md-comp-fab-container-height: 56px;
261
- --md-comp-fab-container-width: 56px;
262
- --md-comp-fab-container-shape: 16px;
263
- --md-comp-fab-icon-size: 24px;
228
+ --md-comp-fab-container-height: #{rem(56px)};
229
+ --md-comp-fab-container-width: #{rem(56px)};
230
+ --md-comp-fab-container-shape: var(--md-sys-shape-corner-large);
231
+ --md-comp-fab-icon-size: #{rem(24px)};
264
232
 
265
233
  display: inline-flex;
266
234
  flex: none;
@@ -278,52 +246,20 @@ $_extend-sizes: (
278
246
  appearance: none;
279
247
  vertical-align: middle;
280
248
  @include z-depth("3");
281
- @include focus-visible;
249
+ @include btn-states(var(--md-sys-color-on-primary-container), var(--md-sys-color-primary-container), "4");
282
250
 
283
251
  > #{$icon} {
284
- font-size: var(--md-comp-fab-icon-size);
285
- width: var(--md-comp-fab-icon-size);
286
- height: var(--md-comp-fab-icon-size);
287
- line-height: var(--md-comp-fab-icon-size);
252
+ @include icon-size(var(--md-comp-fab-icon-size));
288
253
  color: inherit;
289
254
  }
290
255
 
291
- &:hover {
292
- @include z-depth("4");
293
- background-color: color-mix(
294
- in oklab,
295
- var(--md-sys-color-on-primary-container) state-opacity("hover"),
296
- var(--md-sys-color-primary-container)
297
- );
298
- }
299
-
300
- &:active,
301
- &:focus {
302
- background-color: color-mix(
303
- in oklab,
304
- var(--md-sys-color-on-primary-container) state-opacity("focus"),
305
- var(--md-sys-color-primary-container)
306
- );
307
- }
308
-
309
256
  // Medium FAB: 80dp container, 26dp icon. The corner continues the size
310
257
  // ladder - 16dp default, 20dp here (corner.large-increased).
311
258
  &.medium {
312
- --md-comp-fab-container-height: 80px;
313
- --md-comp-fab-container-width: 80px;
314
- --md-comp-fab-container-shape: 20px;
315
- --md-comp-fab-icon-size: 26px;
316
- }
317
-
318
- &.halfway-fab {
319
- position: absolute;
320
- inset-inline-end: 24px;
321
- bottom: -28px;
322
-
323
- &.left {
324
- inset-inline-end: auto;
325
- inset-inline-start: 24px;
326
- }
259
+ --md-comp-fab-container-height: #{rem(80px)};
260
+ --md-comp-fab-container-width: #{rem(80px)};
261
+ --md-comp-fab-container-shape: var(--md-sys-shape-corner-large-increased);
262
+ --md-comp-fab-icon-size: #{rem(26px)};
327
263
  }
328
264
  }
329
265
 
@@ -335,15 +271,19 @@ $_extend-sizes: (
335
271
  // would compile `.large.circle.large` as well, and every aliased 56dp FAB on
336
272
  // a page would silently grow to 96dp.
337
273
  :where(#{$_btn}).extra.circle.large {
338
- --md-comp-fab-container-height: 96px;
339
- --md-comp-fab-container-width: 96px;
340
- --md-comp-fab-container-shape: 28px;
341
- --md-comp-fab-icon-size: 36px;
274
+ --md-comp-fab-container-height: #{rem(96px)};
275
+ --md-comp-fab-container-width: #{rem(96px)};
276
+ --md-comp-fab-container-shape: var(--md-sys-shape-corner-extra-large);
277
+ --md-comp-fab-icon-size: #{rem(36px)};
342
278
  }
343
279
 
344
- :where(#{$_btn}):disabled,
345
- :where(#{$_btn})[disabled],
346
- :where(#{$_btn}).disabled {
280
+ // The second arm matters for a focusable disabled control (`a.button.disabled`
281
+ // with an href, or a `<button class="disabled">`): a variant's `:focus` state
282
+ // is (0,2,0), so the plain disabled rule would lose its shadow and fill to it.
283
+ // The third covers the FAB, whose own rule is (0,2,0) and its states (0,3,0).
284
+ :where(#{$_btn}):is(:disabled, [disabled], .disabled),
285
+ :where(#{$_btn}):is(:disabled, [disabled], .disabled):is(:hover, :active, :focus),
286
+ :where(#{$_btn}):is(.extra, .large).circle:is(:disabled, [disabled], .disabled) {
347
287
  @include btn-disabled;
348
288
  }
349
289
 
@@ -376,7 +316,7 @@ $_extend-sizes: (
376
316
  // bars and rails, tabs, pagination and snackbar actions are fixed-height
377
317
  // slots. `:where()` keeps the whole rule at zero specificity; it only has to
378
318
  // come after the base rule above, whose `height` and `nowrap` it replaces.
379
- $_fixed: ".circle, .extend, .indicator-item, .chip .close, :is(.timepicker-container, .time-picker-container) :is(.am-btn, .pm-btn), :is(.button-group, .split-button, .toolbar, .navigation-bar, .navigation-rail, .snackbar) > *, header > :is(nav, .bar) > *, :is(.pagination, .tabs, .snackbar > nav, dialog > header) *";
319
+ $_fixed: ".circle, .extend, .indicator-item, .chip .close, .timepicker-container :is(.am-btn, .pm-btn), :is(.button-group, .split-button, .toolbar, .navigation-bar, .navigation-rail, .snackbar) > *, header > :is(nav, .bar) > *, :is(.pagination, .tabs, .snackbar > nav, dialog > header) *";
380
320
 
381
321
  :where(#{$_btn}):where(:not(#{$_fixed})) {
382
322
  height: auto;
@@ -391,3 +331,106 @@ $_fixed: ".circle, .extend, .indicator-item, .chip .close, :is(.timepicker-conta
391
331
  min-width: 0;
392
332
  }
393
333
  }
334
+
335
+ $_shaped: ":where(#{$_btn}):where(:not(#{$_fixed}))";
336
+
337
+ // Shape, from md.comp.button.<size>.{shape.square, pressed.container.shape}.
338
+ // A button is round; `.square` takes the size's squared corner. A toggle
339
+ // button, one with `aria-pressed`, swaps shape when selected: round goes
340
+ // square and square goes round, a cue beside the colour. Pressed, any
341
+ // common button morphs to the size's pressed corner on Material's spring.
342
+ // Buttons in fixed slots keep their own shapes and colours: FABs, button
343
+ // group items, the time picker's AM and PM, and the rest of `$_fixed`.
344
+ #{$_shaped} {
345
+ --_shape: var(--md-comp-filled-button-container-shape);
346
+
347
+ transition:
348
+ background-color var(--md-sys-motion-duration-short4) ease-out,
349
+ box-shadow var(--md-sys-motion-duration-short4) ease-out,
350
+ border-radius var(--md-sys-motion-spring-fast-spatial-duration) var(--md-sys-motion-spring-fast-spatial);
351
+
352
+ @media (prefers-reduced-motion: reduce) {
353
+ transition-property: background-color, box-shadow;
354
+ }
355
+ }
356
+
357
+ #{$_shaped}:is(.square, [aria-pressed="true"]) {
358
+ --_shape: var(--md-comp-filled-button-container-shape-square);
359
+ }
360
+
361
+ #{$_shaped}.square[aria-pressed="true"] {
362
+ --_shape: var(--md-sys-shape-corner-full);
363
+ }
364
+
365
+ #{$_shaped}:is(.square, [aria-pressed]) {
366
+ border-radius: var(--_shape);
367
+ }
368
+
369
+ #{$_shaped}:not(:disabled, [disabled], .disabled):active {
370
+ border-radius: var(--md-comp-filled-button-pressed-container-shape);
371
+ }
372
+
373
+ // Toggle colours, from `$button-toggle-colors`. Text buttons do not toggle. A
374
+ // disabled toggle takes the disabled colours below.
375
+ @each $style, $states in $button-toggle-colors {
376
+ @each $pressed, $colors in $states {
377
+ $attr: "[aria-pressed]";
378
+ @if $pressed { $attr: '[aria-pressed="true"]'; }
379
+ $toggle: ".#{$style}#{$attr}";
380
+ @if $style == "filled" { $toggle: "#{$attr}:not(.tonal, .outlined, .elevated, .text)"; }
381
+
382
+ #{$_shaped}#{$toggle} {
383
+ --_toggle-container: #{list.nth($colors, 1)};
384
+ --_toggle-state: #{list.nth($colors, 2)};
385
+
386
+ @if $style == "outlined" and $pressed {
387
+ border-color: transparent;
388
+ }
389
+ }
390
+ }
391
+ }
392
+
393
+ #{$_shaped}[aria-pressed]:not(.text, :disabled, [disabled], .disabled) {
394
+ color: var(--_toggle-state);
395
+ background-color: var(--_toggle-container);
396
+
397
+ &:hover {
398
+ background-color: state-layer(var(--_toggle-state), "hover", var(--_toggle-container));
399
+ }
400
+
401
+ &:is(:focus, :active) {
402
+ background-color: state-layer(var(--_toggle-state), "focus", var(--_toggle-container));
403
+ }
404
+ }
405
+
406
+ // Forced colors paint every container as Canvas and drop every shadow, so a
407
+ // filled, tonal or elevated button was a bare label and a pressed toggle, only
408
+ // a fill, looked like an unpressed one. An outline draws the container back
409
+ // without moving the layout, and lets the focus ring replace it; a pressed
410
+ // toggle takes the Highlight fill Windows gives a selected control.
411
+ //
412
+ // Only a button that names its container gets the edge: a style, or a class
413
+ // the hosts step aside for (`.button`, and the FAB's `.extra`, `.extend` and
414
+ // `.large.circle`). A plain <button> is filled too, but the hosts that restyle
415
+ // plain buttons as bare icons and labels (app bars, toolbars, rails,
416
+ // snackbars) leave nothing to outline; the components whose plain buttons are
417
+ // containers opt in where they are styled. The selector stays at one class so
418
+ // the focus ring still outranks the edge.
419
+ @media (forced-colors: active) {
420
+ :where(#{$_btn}):is(.filled, .tonal, .elevated, .button, .extra, .extend, :where(.large.circle)):where(:not(.outlined, .text)),
421
+ .icon-button:is(.filled, .tonal) {
422
+ outline: 1px solid ButtonText;
423
+ outline-offset: -1px;
424
+ }
425
+
426
+ :where(#{$_btn}):is(:disabled, [disabled], .disabled) {
427
+ outline-color: GrayText;
428
+ }
429
+
430
+ :where(#{$_btn}, .icon-button)[aria-pressed="true"]:not(:disabled, [disabled], .disabled) {
431
+ forced-color-adjust: none;
432
+ border-color: Highlight;
433
+ background-color: Highlight !important;
434
+ color: HighlightText !important;
435
+ }
436
+ }
@@ -0,0 +1,244 @@
1
+ @use "../abstracts" as *;
2
+
3
+ // Calendar. A month of days with their events, on a native <table> the page
4
+ // renders: a <caption> with the month, a header row of weekdays, then a row
5
+ // per week. Each day cell starts with a <time> holding the day number and
6
+ // may hold a .calendar-events list of links or text. The page owns the dates,
7
+ // navigation and events; the framework draws the grid.
8
+ //
9
+ // td.outside a day from the previous or next month
10
+ // td[aria-current=date] today
11
+ //
12
+ // Week and day: table.calendar.week (or .day, with one day column) is an
13
+ // hourly grid. The header row starts with an empty <td> over the hour
14
+ // column, then one <th scope="col"> per day holding the weekday and a <time>;
15
+ // mark today's header with aria-current="date". Each body row is an hour: a
16
+ // <th scope="row"> with its <time>, then a cell per day. An event in a cell
17
+ // starts at that hour and covers one hour; set these inline to change that:
18
+ //
19
+ // --md-comp-calendar-event-start hours after the row's hour (0.5 = :30)
20
+ // --md-comp-calendar-event-duration length in hours
21
+ //
22
+ // The placement is only visual, so the page writes each event's time in a
23
+ // .visually-hidden span. Events that overlap in time overlap on screen, and
24
+ // one that runs past the last hour row spills out of the table; the page
25
+ // splits the first and ends the second at the last row.
26
+ // ponytail: no side-by-side layout for overlapping events, add a column
27
+ // index custom property if schedules need it.
28
+ //
29
+ // Year: .calendar-year lays out twelve small month tables, each a normal
30
+ // table.calendar, in as many columns as fit. Render only the days; event
31
+ // lists belong in the month, week or day view.
32
+ //
33
+ // At Compact widths days get shorter and event chips tighter; long titles
34
+ // ellipsize rather than hide, so each event stays a visible target.
35
+ //
36
+ // Tokens:
37
+ // --md-comp-calendar-day-min-height 96px (Compact: 64px)
38
+ // --md-comp-calendar-outline-color outline-variant
39
+ // --md-comp-calendar-event-container-color primary-container
40
+ // --md-comp-calendar-event-color on-primary-container
41
+ // --md-comp-calendar-hour-height 48px (week and day)
42
+
43
+ table.calendar {
44
+ --md-comp-calendar-day-min-height: 96px;
45
+ --md-comp-calendar-outline-color: var(--md-sys-color-outline-variant);
46
+ --md-comp-calendar-event-container-color: var(--md-sys-color-primary-container);
47
+ --md-comp-calendar-event-color: var(--md-sys-color-on-primary-container);
48
+
49
+ inline-size: 100%;
50
+ margin: $element-top-margin 0 $element-bottom-margin;
51
+ border-collapse: collapse;
52
+ table-layout: fixed;
53
+ color: var(--md-sys-color-on-surface);
54
+
55
+ > caption {
56
+ padding-block-end: 12px;
57
+ text-align: start;
58
+ @include typescale("title-large");
59
+ }
60
+
61
+ th {
62
+ padding: 8px 4px;
63
+ border: 0;
64
+ color: var(--md-sys-color-on-surface-variant);
65
+ text-align: center;
66
+ @include typescale("label-medium");
67
+
68
+ abbr {
69
+ text-decoration: none;
70
+ }
71
+ }
72
+
73
+ td {
74
+ block-size: var(--md-comp-calendar-day-min-height);
75
+ padding: 4px;
76
+ border: 1px solid var(--md-comp-calendar-outline-color);
77
+ vertical-align: top;
78
+ overflow: hidden;
79
+
80
+ > time {
81
+ display: inline-flex;
82
+ align-items: center;
83
+ justify-content: center;
84
+ min-inline-size: 28px;
85
+ block-size: 28px;
86
+ border-radius: 14px;
87
+ @include typescale("label-large");
88
+ }
89
+
90
+ &.outside > time {
91
+ color: var(--md-sys-color-on-surface-variant);
92
+ opacity: 0.6;
93
+ }
94
+
95
+ &[aria-current="date"] > time {
96
+ background-color: var(--md-sys-color-primary);
97
+ color: var(--md-sys-color-on-primary);
98
+ }
99
+ }
100
+
101
+ .calendar-events {
102
+ display: flex;
103
+ flex-direction: column;
104
+ gap: 2px;
105
+ margin: 4px 0 0;
106
+ padding: 0;
107
+ list-style: none;
108
+
109
+ > li {
110
+ @include ellipsis;
111
+ padding: 2px 6px;
112
+ border-radius: var(--md-sys-shape-corner-extra-small);
113
+ background-color: var(--md-comp-calendar-event-container-color);
114
+ color: var(--md-comp-calendar-event-color);
115
+ @include typescale("label-small");
116
+
117
+ > a {
118
+ color: inherit;
119
+ text-decoration: none;
120
+ @include focus-visible;
121
+ }
122
+ }
123
+ }
124
+
125
+ // Compact: shorter days and tighter chips. Chips keep their text, which
126
+ // ellipsizes, so every event stays a visible, reachable target.
127
+ @include bp-down("medium") {
128
+ --md-comp-calendar-day-min-height: 64px;
129
+
130
+ td {
131
+ padding: 2px;
132
+ }
133
+
134
+ .calendar-events > li {
135
+ padding: 1px 3px;
136
+ }
137
+ }
138
+
139
+ // Week and day: hour rows whose cells hold absolutely placed events, so a
140
+ // long event runs down into the rows below.
141
+ &.week,
142
+ &.day {
143
+ --md-comp-calendar-hour-height: #{rem(48px)};
144
+
145
+ thead td {
146
+ inline-size: rem(56px);
147
+ border: 0;
148
+ }
149
+
150
+ thead th > time {
151
+ display: flex;
152
+ align-items: center;
153
+ justify-content: center;
154
+ inline-size: rem(32px);
155
+ block-size: rem(32px);
156
+ margin: 4px auto 0;
157
+ border-radius: 50%;
158
+ color: var(--md-sys-color-on-surface);
159
+ @include typescale("title-medium");
160
+ }
161
+
162
+ thead th[aria-current="date"] > time {
163
+ background-color: var(--md-sys-color-primary);
164
+ color: var(--md-sys-color-on-primary);
165
+ }
166
+
167
+ tbody th {
168
+ padding-block: 0;
169
+ padding-inline: 0 8px;
170
+ vertical-align: top;
171
+ text-align: end;
172
+ @include typescale("label-small");
173
+ }
174
+
175
+ tbody td {
176
+ position: relative;
177
+ block-size: var(--md-comp-calendar-hour-height);
178
+ padding: 0;
179
+ overflow: visible;
180
+ }
181
+
182
+ .calendar-events {
183
+ margin: 0;
184
+
185
+ > li {
186
+ position: absolute;
187
+ z-index: 1;
188
+ inset-inline: 2px;
189
+ inset-block-start: calc(var(--md-comp-calendar-event-start, 0) * var(--md-comp-calendar-hour-height) + 1px);
190
+ block-size: calc(var(--md-comp-calendar-event-duration, 1) * var(--md-comp-calendar-hour-height) - 2px);
191
+ }
192
+ }
193
+ }
194
+
195
+ @media (forced-colors: active) {
196
+ thead th[aria-current="date"] > time,
197
+ td[aria-current="date"] > time {
198
+ outline: 2px solid CanvasText;
199
+ }
200
+
201
+ .calendar-events > li {
202
+ border: 1px solid CanvasText;
203
+ }
204
+ }
205
+ }
206
+
207
+ // Year: twelve small months in as many columns as fit.
208
+ .calendar-year {
209
+ display: grid;
210
+ grid-template-columns: repeat(auto-fill, minmax(rem(224px), 1fr));
211
+ gap: 24px;
212
+ margin: $element-top-margin 0 $element-bottom-margin;
213
+
214
+ > table.calendar {
215
+ margin: 0;
216
+
217
+ > caption {
218
+ padding-block-end: 4px;
219
+ @include typescale("title-small");
220
+ }
221
+
222
+ tr {
223
+ border: 0;
224
+ }
225
+
226
+ th {
227
+ padding: 4px 0;
228
+ @include typescale("label-small");
229
+ }
230
+
231
+ td {
232
+ block-size: auto;
233
+ padding: 2px 0;
234
+ border: 0;
235
+ text-align: center;
236
+
237
+ > time {
238
+ min-inline-size: rem(24px);
239
+ block-size: rem(24px);
240
+ @include typescale("label-small");
241
+ }
242
+ }
243
+ }
244
+ }