@francofantomius/material-components 1.1.2 → 1.3.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 (379) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/README.md +2 -1
  3. package/custom-elements.json +922 -37
  4. package/dist/chunks/{account-menu-Dau0UHTl.js → account-menu-Bo7NghIm.js} +181 -223
  5. package/dist/chunks/{account-menu-Dau0UHTl.js.map → account-menu-Bo7NghIm.js.map} +1 -1
  6. package/dist/chunks/app-drawer-DjKSuatE.js +855 -0
  7. package/dist/chunks/{app-drawer-Du1ePzxZ.js.map → app-drawer-DjKSuatE.js.map} +1 -1
  8. package/dist/chunks/{badge-G4EjcMoy.js → badge-sZzNelZz.js} +30 -34
  9. package/dist/chunks/{badge-G4EjcMoy.js.map → badge-sZzNelZz.js.map} +1 -1
  10. package/dist/chunks/{bottom-sheet-q79BBYAj.js → bottom-sheet-BGgbUmKd.js} +98 -109
  11. package/dist/chunks/{bottom-sheet-q79BBYAj.js.map → bottom-sheet-BGgbUmKd.js.map} +1 -1
  12. package/dist/chunks/{button-D2vn7kJ8.js → button-DeQQlYds.js} +62 -72
  13. package/dist/chunks/{button-D2vn7kJ8.js.map → button-DeQQlYds.js.map} +1 -1
  14. package/dist/chunks/button-group-R2jN8FXK.js +136 -0
  15. package/dist/chunks/{button-group-CNqvJx1n.js.map → button-group-R2jN8FXK.js.map} +1 -1
  16. package/dist/chunks/{card-DVffdPpv.js → card-CVhWizDF.js} +45 -50
  17. package/dist/chunks/{card-DVffdPpv.js.map → card-CVhWizDF.js.map} +1 -1
  18. package/dist/chunks/{carousel-item-BG6kjjjk.js → carousel-item-DNp2zhP9.js} +62 -73
  19. package/dist/chunks/{carousel-item-BG6kjjjk.js.map → carousel-item-DNp2zhP9.js.map} +1 -1
  20. package/dist/chunks/{checkbox-BqlboAHd.js → checkbox-CsqUHVOF.js} +59 -64
  21. package/dist/chunks/{checkbox-BqlboAHd.js.map → checkbox-CsqUHVOF.js.map} +1 -1
  22. package/dist/chunks/{chip-CI1ZINnr.js → chip-B5c-I8bj.js} +56 -63
  23. package/dist/chunks/{chip-CI1ZINnr.js.map → chip-B5c-I8bj.js.map} +1 -1
  24. package/dist/chunks/code-CM6hIZNx.js +1531 -0
  25. package/dist/chunks/{code-C5UFBkCh.js.map → code-CM6hIZNx.js.map} +1 -1
  26. package/dist/chunks/date-picker-B15_rR0f.js +774 -0
  27. package/dist/chunks/date-picker-B15_rR0f.js.map +1 -0
  28. package/dist/chunks/decorate-DknOJ8FJ.js +40 -0
  29. package/dist/chunks/{decorate-DXuynaiA.js.map → decorate-DknOJ8FJ.js.map} +1 -1
  30. package/dist/chunks/{dialog-DGVEE5m_.js → dialog-Czknf8dl.js} +47 -52
  31. package/dist/chunks/{dialog-DGVEE5m_.js.map → dialog-Czknf8dl.js.map} +1 -1
  32. package/dist/chunks/divider-DIyCOosa.js +78 -0
  33. package/dist/chunks/{divider-DNepwoZv.js.map → divider-DIyCOosa.js.map} +1 -1
  34. package/dist/chunks/{fab-C9j3WBHE.js → fab-aZC0-lHo.js} +38 -44
  35. package/dist/chunks/{fab-C9j3WBHE.js.map → fab-aZC0-lHo.js.map} +1 -1
  36. package/dist/chunks/{fab-menu.css-3pu930sZ.js → fab-menu.css-BdVg1k4c.js} +5 -6
  37. package/dist/chunks/{fab-menu.css-3pu930sZ.js.map → fab-menu.css-BdVg1k4c.js.map} +1 -1
  38. package/dist/chunks/focus-ring-K6SY_mIm.js +69 -0
  39. package/dist/chunks/{focus-ring-CuiJuM-y.js.map → focus-ring-K6SY_mIm.js.map} +1 -1
  40. package/dist/chunks/form-associated-Do5uXckv.js +69 -0
  41. package/dist/chunks/{form-associated-Cty_ZaS9.js.map → form-associated-Do5uXckv.js.map} +1 -1
  42. package/dist/chunks/icon-FvKeXi61.js +59 -0
  43. package/dist/chunks/{icon-DrNqcNEL.js.map → icon-FvKeXi61.js.map} +1 -1
  44. package/dist/chunks/{icon-button-BQz73GLa.js → icon-button-CulnCZpZ.js} +58 -67
  45. package/dist/chunks/{icon-button-BQz73GLa.js.map → icon-button-CulnCZpZ.js.map} +1 -1
  46. package/dist/chunks/{list-D8olR7oZ.js → list-D7yrbJRL.js} +64 -72
  47. package/dist/chunks/{list-D8olR7oZ.js.map → list-D7yrbJRL.js.map} +1 -1
  48. package/dist/chunks/{loading-indicator-CvWnZr9o.js → loading-indicator-D9AyxNQh.js} +41 -46
  49. package/dist/chunks/{loading-indicator-CvWnZr9o.js.map → loading-indicator-D9AyxNQh.js.map} +1 -1
  50. package/dist/chunks/{menu-item-BBSp5Cqc.js → menu-item-C3entPo7.js} +77 -91
  51. package/dist/chunks/{menu-item-BBSp5Cqc.js.map → menu-item-C3entPo7.js.map} +1 -1
  52. package/dist/chunks/{navigation-bar-item-C9DfOEzg.js → navigation-bar-item-CWHCQeNw.js} +98 -115
  53. package/dist/chunks/{navigation-bar-item-C9DfOEzg.js.map → navigation-bar-item-CWHCQeNw.js.map} +1 -1
  54. package/dist/chunks/{navigation-drawer-CKl44Ef5.js → navigation-drawer-pGer0t4z.js} +116 -138
  55. package/dist/chunks/{navigation-drawer-CKl44Ef5.js.map → navigation-drawer-pGer0t4z.js.map} +1 -1
  56. package/dist/chunks/{navigation-rail-item-6pdhNHJK.js → navigation-rail-item-CWvGjLjC.js} +70 -86
  57. package/dist/chunks/{navigation-rail-item-6pdhNHJK.js.map → navigation-rail-item-CWvGjLjC.js.map} +1 -1
  58. package/dist/chunks/{player-C4ydiIpr.js → player-dT08kxeG.js} +423 -466
  59. package/dist/chunks/{player-C4ydiIpr.js.map → player-dT08kxeG.js.map} +1 -1
  60. package/dist/chunks/{progress-LQmLMDjX.js → progress-etZuX_VD.js} +46 -53
  61. package/dist/chunks/{progress-LQmLMDjX.js.map → progress-etZuX_VD.js.map} +1 -1
  62. package/dist/chunks/radio-jPCwykIa.js +197 -0
  63. package/dist/chunks/{radio-Bily78NT.js.map → radio-jPCwykIa.js.map} +1 -1
  64. package/dist/chunks/ripple-CBOKeVfm.js +132 -0
  65. package/dist/chunks/{ripple-squbKHhj.js.map → ripple-CBOKeVfm.js.map} +1 -1
  66. package/dist/chunks/{search-bar-CfN-emMP.js → search-bar-B4lAXza_.js} +304 -226
  67. package/dist/chunks/search-bar-B4lAXza_.js.map +1 -0
  68. package/dist/chunks/segmented-button-Fon9kOHV.js +253 -0
  69. package/dist/chunks/{segmented-button-B0BvGSQ7.js.map → segmented-button-Fon9kOHV.js.map} +1 -1
  70. package/dist/chunks/{side-sheet-S2w081AK.js → side-sheet-sQ8qGKVm.js} +73 -81
  71. package/dist/chunks/{side-sheet-S2w081AK.js.map → side-sheet-sQ8qGKVm.js.map} +1 -1
  72. package/dist/chunks/slider-OIyEcUU9.js +448 -0
  73. package/dist/chunks/slider-OIyEcUU9.js.map +1 -0
  74. package/dist/chunks/{snackbar-Wsz3BzEY.js → snackbar-Yi6fF9vM.js} +57 -62
  75. package/dist/chunks/{snackbar-Wsz3BzEY.js.map → snackbar-Yi6fF9vM.js.map} +1 -1
  76. package/dist/chunks/{split-button-DUfjukQY.js → split-button-CLjVJe3I.js} +155 -172
  77. package/dist/chunks/{split-button-DUfjukQY.js.map → split-button-CLjVJe3I.js.map} +1 -1
  78. package/dist/chunks/{switch-DdukrvXb.js → switch-mtu6AVEh.js} +54 -57
  79. package/dist/chunks/{switch-DdukrvXb.js.map → switch-mtu6AVEh.js.map} +1 -1
  80. package/dist/chunks/table-C5rCvdFc.js +724 -0
  81. package/dist/chunks/{table-CqHnneAj.js.map → table-C5rCvdFc.js.map} +1 -1
  82. package/dist/chunks/tabs-C0mtURlT.js +182 -0
  83. package/dist/chunks/{tabs-BfOtoeir.js.map → tabs-C0mtURlT.js.map} +1 -1
  84. package/dist/chunks/{text-field-hN6-2HQy.js → text-field-MifFD7uk.js} +92 -110
  85. package/dist/chunks/{text-field-hN6-2HQy.js.map → text-field-MifFD7uk.js.map} +1 -1
  86. package/dist/chunks/time-picker-JTcLcJuz.js +810 -0
  87. package/dist/chunks/time-picker-JTcLcJuz.js.map +1 -0
  88. package/dist/chunks/{toolbar-DXVQbQKJ.js → toolbar-CsxKc2Yd.js} +48 -55
  89. package/dist/chunks/{toolbar-DXVQbQKJ.js.map → toolbar-CsxKc2Yd.js.map} +1 -1
  90. package/dist/chunks/tooltip-Ds3lNowS.js +380 -0
  91. package/dist/chunks/{tooltip-CE7JMHMu.js.map → tooltip-Ds3lNowS.js.map} +1 -1
  92. package/dist/chunks/{top-app-bar-VzrSd-r5.js → top-app-bar-TrnjKzOX.js} +46 -53
  93. package/dist/chunks/{top-app-bar-VzrSd-r5.js.map → top-app-bar-TrnjKzOX.js.map} +1 -1
  94. package/dist/components/account-menu/account-menu.js +2 -8
  95. package/dist/components/app-drawer/app-drawer.js +2 -9
  96. package/dist/components/badge/badge.js +2 -4
  97. package/dist/components/bottom-sheet/bottom-sheet.js +2 -4
  98. package/dist/components/button/button.js +2 -4
  99. package/dist/components/button-group/button-group.js +2 -4
  100. package/dist/components/card/card.js +2 -4
  101. package/dist/components/carousel/carousel-item.js +2 -4
  102. package/dist/components/carousel/carousel.js +214 -232
  103. package/dist/components/carousel/carousel.js.map +1 -1
  104. package/dist/components/checkbox/checkbox.js +2 -4
  105. package/dist/components/chip/chip.js +2 -5
  106. package/dist/components/code/code.js +2 -5
  107. package/dist/components/date-picker/date-picker.js +2 -4
  108. package/dist/components/dialog/dialog.js +2 -4
  109. package/dist/components/divider/divider.js +2 -4
  110. package/dist/components/fab/fab.js +2 -4
  111. package/dist/components/fab-menu/fab-menu-item.js +53 -61
  112. package/dist/components/fab-menu/fab-menu-item.js.map +1 -1
  113. package/dist/components/fab-menu/fab-menu.js +98 -111
  114. package/dist/components/fab-menu/fab-menu.js.map +1 -1
  115. package/dist/components/icon/icon.js +2 -4
  116. package/dist/components/icon-button/icon-button.js +2 -4
  117. package/dist/components/list/list.js +2 -5
  118. package/dist/components/loading-indicator/loading-indicator.js +2 -4
  119. package/dist/components/menu/menu-item.js +2 -4
  120. package/dist/components/menu/menu.js +165 -183
  121. package/dist/components/menu/menu.js.map +1 -1
  122. package/dist/components/navigation-bar/navigation-bar-item.js +2 -5
  123. package/dist/components/navigation-bar/navigation-bar.js +131 -143
  124. package/dist/components/navigation-bar/navigation-bar.js.map +1 -1
  125. package/dist/components/navigation-drawer/navigation-drawer.js +2 -8
  126. package/dist/components/navigation-rail/navigation-rail-item.js +2 -5
  127. package/dist/components/navigation-rail/navigation-rail.js +92 -102
  128. package/dist/components/navigation-rail/navigation-rail.js.map +1 -1
  129. package/dist/components/player/player.js +2 -7
  130. package/dist/components/progress/progress.js +2 -5
  131. package/dist/components/radio/radio.js +2 -5
  132. package/dist/components/search-bar/search-bar.js +2 -5
  133. package/dist/components/segmented-button/segmented-button.js +2 -5
  134. package/dist/components/side-sheet/side-sheet.js +2 -4
  135. package/dist/components/slider/slider.js +2 -4
  136. package/dist/components/snackbar/snackbar.js +2 -4
  137. package/dist/components/split-button/split-button.js +2 -4
  138. package/dist/components/switch/switch.js +2 -4
  139. package/dist/components/table/table.js +2 -13
  140. package/dist/components/tabs/tabs.js +2 -5
  141. package/dist/components/text-field/text-field.js +2 -4
  142. package/dist/components/time-picker/time-picker.js +2 -4
  143. package/dist/components/toolbar/toolbar.js +2 -4
  144. package/dist/components/tooltip/tooltip.js +2 -4
  145. package/dist/components/top-app-bar/top-app-bar.js +2 -5
  146. package/dist/index.js +52 -150
  147. package/dist/internal/focus-ring/focus-ring.js +2 -4
  148. package/dist/internal/ripple/ripple.js +2 -4
  149. package/dist/tokens/index.js +468 -314
  150. package/dist/tokens/index.js.map +1 -1
  151. package/llms.txt +94 -13
  152. package/package.json +6 -17
  153. package/dist/chunks/app-drawer-Du1ePzxZ.js +0 -903
  154. package/dist/chunks/button-group-CNqvJx1n.js +0 -143
  155. package/dist/chunks/code-C5UFBkCh.js +0 -1830
  156. package/dist/chunks/date-picker-DJeHi4w-.js +0 -777
  157. package/dist/chunks/date-picker-DJeHi4w-.js.map +0 -1
  158. package/dist/chunks/decorate-DXuynaiA.js +0 -39
  159. package/dist/chunks/divider-DNepwoZv.js +0 -82
  160. package/dist/chunks/focus-ring-CuiJuM-y.js +0 -71
  161. package/dist/chunks/form-associated-Cty_ZaS9.js +0 -73
  162. package/dist/chunks/icon-DrNqcNEL.js +0 -62
  163. package/dist/chunks/radio-Bily78NT.js +0 -205
  164. package/dist/chunks/ripple-squbKHhj.js +0 -135
  165. package/dist/chunks/search-bar-CfN-emMP.js.map +0 -1
  166. package/dist/chunks/segmented-button-B0BvGSQ7.js +0 -265
  167. package/dist/chunks/slider-D-mnO8yQ.js +0 -450
  168. package/dist/chunks/slider-D-mnO8yQ.js.map +0 -1
  169. package/dist/chunks/table-CqHnneAj.js +0 -773
  170. package/dist/chunks/tabs-BfOtoeir.js +0 -191
  171. package/dist/chunks/time-picker-CZnb2sWz.js +0 -785
  172. package/dist/chunks/time-picker-CZnb2sWz.js.map +0 -1
  173. package/dist/chunks/tooltip-CE7JMHMu.js +0 -398
  174. package/dist/components/account-menu/account-menu.css.d.ts +0 -3
  175. package/dist/components/account-menu/account-menu.css.d.ts.map +0 -1
  176. package/dist/components/account-menu/account-menu.d.ts +0 -111
  177. package/dist/components/account-menu/account-menu.d.ts.map +0 -1
  178. package/dist/components/app-drawer/app-drawer.css.d.ts +0 -3
  179. package/dist/components/app-drawer/app-drawer.css.d.ts.map +0 -1
  180. package/dist/components/app-drawer/app-drawer.d.ts +0 -173
  181. package/dist/components/app-drawer/app-drawer.d.ts.map +0 -1
  182. package/dist/components/badge/badge.css.d.ts +0 -2
  183. package/dist/components/badge/badge.css.d.ts.map +0 -1
  184. package/dist/components/badge/badge.d.ts +0 -16
  185. package/dist/components/badge/badge.d.ts.map +0 -1
  186. package/dist/components/bottom-sheet/bottom-sheet.css.d.ts +0 -2
  187. package/dist/components/bottom-sheet/bottom-sheet.css.d.ts.map +0 -1
  188. package/dist/components/bottom-sheet/bottom-sheet.d.ts +0 -69
  189. package/dist/components/bottom-sheet/bottom-sheet.d.ts.map +0 -1
  190. package/dist/components/button/button.css.d.ts +0 -2
  191. package/dist/components/button/button.css.d.ts.map +0 -1
  192. package/dist/components/button/button.d.ts +0 -25
  193. package/dist/components/button/button.d.ts.map +0 -1
  194. package/dist/components/button-group/button-group.css.d.ts +0 -2
  195. package/dist/components/button-group/button-group.css.d.ts.map +0 -1
  196. package/dist/components/button-group/button-group.d.ts +0 -28
  197. package/dist/components/button-group/button-group.d.ts.map +0 -1
  198. package/dist/components/card/card.css.d.ts +0 -2
  199. package/dist/components/card/card.css.d.ts.map +0 -1
  200. package/dist/components/card/card.d.ts +0 -18
  201. package/dist/components/card/card.d.ts.map +0 -1
  202. package/dist/components/carousel/carousel-item.d.ts +0 -33
  203. package/dist/components/carousel/carousel-item.d.ts.map +0 -1
  204. package/dist/components/carousel/carousel.css.d.ts +0 -3
  205. package/dist/components/carousel/carousel.css.d.ts.map +0 -1
  206. package/dist/components/carousel/carousel.d.ts +0 -81
  207. package/dist/components/carousel/carousel.d.ts.map +0 -1
  208. package/dist/components/checkbox/checkbox.css.d.ts +0 -2
  209. package/dist/components/checkbox/checkbox.css.d.ts.map +0 -1
  210. package/dist/components/checkbox/checkbox.d.ts +0 -24
  211. package/dist/components/checkbox/checkbox.d.ts.map +0 -1
  212. package/dist/components/chip/chip.css.d.ts +0 -3
  213. package/dist/components/chip/chip.css.d.ts.map +0 -1
  214. package/dist/components/chip/chip.d.ts +0 -27
  215. package/dist/components/chip/chip.d.ts.map +0 -1
  216. package/dist/components/code/code.css.d.ts +0 -2
  217. package/dist/components/code/code.css.d.ts.map +0 -1
  218. package/dist/components/code/code.d.ts +0 -106
  219. package/dist/components/code/code.d.ts.map +0 -1
  220. package/dist/components/code/highlighter.d.ts +0 -8
  221. package/dist/components/code/highlighter.d.ts.map +0 -1
  222. package/dist/components/code/linter.d.ts +0 -44
  223. package/dist/components/code/linter.d.ts.map +0 -1
  224. package/dist/components/date-picker/date-picker.css.d.ts +0 -2
  225. package/dist/components/date-picker/date-picker.css.d.ts.map +0 -1
  226. package/dist/components/date-picker/date-picker.d.ts +0 -59
  227. package/dist/components/date-picker/date-picker.d.ts.map +0 -1
  228. package/dist/components/dialog/dialog.css.d.ts +0 -2
  229. package/dist/components/dialog/dialog.css.d.ts.map +0 -1
  230. package/dist/components/dialog/dialog.d.ts +0 -22
  231. package/dist/components/dialog/dialog.d.ts.map +0 -1
  232. package/dist/components/divider/divider.css.d.ts +0 -2
  233. package/dist/components/divider/divider.css.d.ts.map +0 -1
  234. package/dist/components/divider/divider.d.ts +0 -16
  235. package/dist/components/divider/divider.d.ts.map +0 -1
  236. package/dist/components/fab/fab.css.d.ts +0 -2
  237. package/dist/components/fab/fab.css.d.ts.map +0 -1
  238. package/dist/components/fab/fab.d.ts +0 -19
  239. package/dist/components/fab/fab.d.ts.map +0 -1
  240. package/dist/components/fab-menu/fab-menu-item.d.ts +0 -35
  241. package/dist/components/fab-menu/fab-menu-item.d.ts.map +0 -1
  242. package/dist/components/fab-menu/fab-menu.css.d.ts +0 -3
  243. package/dist/components/fab-menu/fab-menu.css.d.ts.map +0 -1
  244. package/dist/components/fab-menu/fab-menu.d.ts +0 -72
  245. package/dist/components/fab-menu/fab-menu.d.ts.map +0 -1
  246. package/dist/components/icon/icon.css.d.ts +0 -2
  247. package/dist/components/icon/icon.css.d.ts.map +0 -1
  248. package/dist/components/icon/icon.d.ts +0 -15
  249. package/dist/components/icon/icon.d.ts.map +0 -1
  250. package/dist/components/icon-button/icon-button.css.d.ts +0 -2
  251. package/dist/components/icon-button/icon-button.css.d.ts.map +0 -1
  252. package/dist/components/icon-button/icon-button.d.ts +0 -22
  253. package/dist/components/icon-button/icon-button.d.ts.map +0 -1
  254. package/dist/components/list/list.css.d.ts +0 -3
  255. package/dist/components/list/list.css.d.ts.map +0 -1
  256. package/dist/components/list/list.d.ts +0 -25
  257. package/dist/components/list/list.d.ts.map +0 -1
  258. package/dist/components/loading-indicator/loading-indicator.css.d.ts +0 -2
  259. package/dist/components/loading-indicator/loading-indicator.css.d.ts.map +0 -1
  260. package/dist/components/loading-indicator/loading-indicator.d.ts +0 -48
  261. package/dist/components/loading-indicator/loading-indicator.d.ts.map +0 -1
  262. package/dist/components/menu/menu-item.d.ts +0 -41
  263. package/dist/components/menu/menu-item.d.ts.map +0 -1
  264. package/dist/components/menu/menu.css.d.ts +0 -3
  265. package/dist/components/menu/menu.css.d.ts.map +0 -1
  266. package/dist/components/menu/menu.d.ts +0 -91
  267. package/dist/components/menu/menu.d.ts.map +0 -1
  268. package/dist/components/navigation-bar/navigation-bar-item.d.ts +0 -49
  269. package/dist/components/navigation-bar/navigation-bar-item.d.ts.map +0 -1
  270. package/dist/components/navigation-bar/navigation-bar.css.d.ts +0 -3
  271. package/dist/components/navigation-bar/navigation-bar.css.d.ts.map +0 -1
  272. package/dist/components/navigation-bar/navigation-bar.d.ts +0 -50
  273. package/dist/components/navigation-bar/navigation-bar.d.ts.map +0 -1
  274. package/dist/components/navigation-drawer/navigation-drawer.css.d.ts +0 -3
  275. package/dist/components/navigation-drawer/navigation-drawer.css.d.ts.map +0 -1
  276. package/dist/components/navigation-drawer/navigation-drawer.d.ts +0 -76
  277. package/dist/components/navigation-drawer/navigation-drawer.d.ts.map +0 -1
  278. package/dist/components/navigation-rail/navigation-rail-item.d.ts +0 -36
  279. package/dist/components/navigation-rail/navigation-rail-item.d.ts.map +0 -1
  280. package/dist/components/navigation-rail/navigation-rail.css.d.ts +0 -3
  281. package/dist/components/navigation-rail/navigation-rail.css.d.ts.map +0 -1
  282. package/dist/components/navigation-rail/navigation-rail.d.ts +0 -43
  283. package/dist/components/navigation-rail/navigation-rail.d.ts.map +0 -1
  284. package/dist/components/player/player.css.d.ts +0 -2
  285. package/dist/components/player/player.css.d.ts.map +0 -1
  286. package/dist/components/player/player.d.ts +0 -99
  287. package/dist/components/player/player.d.ts.map +0 -1
  288. package/dist/components/progress/progress.css.d.ts +0 -2
  289. package/dist/components/progress/progress.css.d.ts.map +0 -1
  290. package/dist/components/progress/progress.d.ts +0 -21
  291. package/dist/components/progress/progress.d.ts.map +0 -1
  292. package/dist/components/radio/radio.css.d.ts +0 -3
  293. package/dist/components/radio/radio.css.d.ts.map +0 -1
  294. package/dist/components/radio/radio.d.ts +0 -38
  295. package/dist/components/radio/radio.d.ts.map +0 -1
  296. package/dist/components/search-bar/search-bar.css.d.ts +0 -2
  297. package/dist/components/search-bar/search-bar.css.d.ts.map +0 -1
  298. package/dist/components/search-bar/search-bar.d.ts +0 -84
  299. package/dist/components/search-bar/search-bar.d.ts.map +0 -1
  300. package/dist/components/segmented-button/segmented-button.css.d.ts +0 -3
  301. package/dist/components/segmented-button/segmented-button.css.d.ts.map +0 -1
  302. package/dist/components/segmented-button/segmented-button.d.ts +0 -40
  303. package/dist/components/segmented-button/segmented-button.d.ts.map +0 -1
  304. package/dist/components/side-sheet/side-sheet.css.d.ts +0 -2
  305. package/dist/components/side-sheet/side-sheet.css.d.ts.map +0 -1
  306. package/dist/components/side-sheet/side-sheet.d.ts +0 -57
  307. package/dist/components/side-sheet/side-sheet.d.ts.map +0 -1
  308. package/dist/components/slider/slider.css.d.ts +0 -2
  309. package/dist/components/slider/slider.css.d.ts.map +0 -1
  310. package/dist/components/slider/slider.d.ts +0 -51
  311. package/dist/components/slider/slider.d.ts.map +0 -1
  312. package/dist/components/snackbar/snackbar.css.d.ts +0 -2
  313. package/dist/components/snackbar/snackbar.css.d.ts.map +0 -1
  314. package/dist/components/snackbar/snackbar.d.ts +0 -24
  315. package/dist/components/snackbar/snackbar.d.ts.map +0 -1
  316. package/dist/components/split-button/split-button.css.d.ts +0 -2
  317. package/dist/components/split-button/split-button.css.d.ts.map +0 -1
  318. package/dist/components/split-button/split-button.d.ts +0 -89
  319. package/dist/components/split-button/split-button.d.ts.map +0 -1
  320. package/dist/components/switch/switch.css.d.ts +0 -2
  321. package/dist/components/switch/switch.css.d.ts.map +0 -1
  322. package/dist/components/switch/switch.d.ts +0 -22
  323. package/dist/components/switch/switch.d.ts.map +0 -1
  324. package/dist/components/table/table.css.d.ts +0 -8
  325. package/dist/components/table/table.css.d.ts.map +0 -1
  326. package/dist/components/table/table.d.ts +0 -158
  327. package/dist/components/table/table.d.ts.map +0 -1
  328. package/dist/components/tabs/tabs.css.d.ts +0 -3
  329. package/dist/components/tabs/tabs.css.d.ts.map +0 -1
  330. package/dist/components/tabs/tabs.d.ts +0 -33
  331. package/dist/components/tabs/tabs.d.ts.map +0 -1
  332. package/dist/components/text-field/text-field.css.d.ts +0 -2
  333. package/dist/components/text-field/text-field.css.d.ts.map +0 -1
  334. package/dist/components/text-field/text-field.d.ts +0 -40
  335. package/dist/components/text-field/text-field.d.ts.map +0 -1
  336. package/dist/components/time-picker/time-picker.css.d.ts +0 -2
  337. package/dist/components/time-picker/time-picker.css.d.ts.map +0 -1
  338. package/dist/components/time-picker/time-picker.d.ts +0 -87
  339. package/dist/components/time-picker/time-picker.d.ts.map +0 -1
  340. package/dist/components/toolbar/toolbar.css.d.ts +0 -2
  341. package/dist/components/toolbar/toolbar.css.d.ts.map +0 -1
  342. package/dist/components/toolbar/toolbar.d.ts +0 -53
  343. package/dist/components/toolbar/toolbar.d.ts.map +0 -1
  344. package/dist/components/tooltip/tooltip.css.d.ts +0 -2
  345. package/dist/components/tooltip/tooltip.css.d.ts.map +0 -1
  346. package/dist/components/tooltip/tooltip.d.ts +0 -89
  347. package/dist/components/tooltip/tooltip.d.ts.map +0 -1
  348. package/dist/components/top-app-bar/top-app-bar.css.d.ts +0 -2
  349. package/dist/components/top-app-bar/top-app-bar.css.d.ts.map +0 -1
  350. package/dist/components/top-app-bar/top-app-bar.d.ts +0 -29
  351. package/dist/components/top-app-bar/top-app-bar.d.ts.map +0 -1
  352. package/dist/index.d.ts +0 -52
  353. package/dist/index.d.ts.map +0 -1
  354. package/dist/internal/base-component.d.ts +0 -13
  355. package/dist/internal/base-component.d.ts.map +0 -1
  356. package/dist/internal/focus-ring/focus-ring.css.d.ts +0 -2
  357. package/dist/internal/focus-ring/focus-ring.css.d.ts.map +0 -1
  358. package/dist/internal/focus-ring/focus-ring.d.ts +0 -18
  359. package/dist/internal/focus-ring/focus-ring.d.ts.map +0 -1
  360. package/dist/internal/form-associated.d.ts +0 -26
  361. package/dist/internal/form-associated.d.ts.map +0 -1
  362. package/dist/internal/ripple/ripple.css.d.ts +0 -2
  363. package/dist/internal/ripple/ripple.css.d.ts.map +0 -1
  364. package/dist/internal/ripple/ripple.d.ts +0 -23
  365. package/dist/internal/ripple/ripple.d.ts.map +0 -1
  366. package/dist/tokens/colors.d.ts +0 -42
  367. package/dist/tokens/colors.d.ts.map +0 -1
  368. package/dist/tokens/elevation.d.ts +0 -9
  369. package/dist/tokens/elevation.d.ts.map +0 -1
  370. package/dist/tokens/index.d.ts +0 -7
  371. package/dist/tokens/index.d.ts.map +0 -1
  372. package/dist/tokens/motion.d.ts +0 -21
  373. package/dist/tokens/motion.d.ts.map +0 -1
  374. package/dist/tokens/shape.d.ts +0 -10
  375. package/dist/tokens/shape.d.ts.map +0 -1
  376. package/dist/tokens/theme.css.d.ts +0 -4
  377. package/dist/tokens/theme.css.d.ts.map +0 -1
  378. package/dist/tokens/typography.d.ts +0 -101
  379. package/dist/tokens/typography.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/tokens/colors.ts","../../src/tokens/typography.ts","../../src/tokens/elevation.ts","../../src/tokens/shape.ts","../../src/tokens/motion.ts","../../src/tokens/theme.css.ts"],"sourcesContent":["export interface M3ColorScheme {\n primary: string;\n onPrimary: string;\n primaryContainer: string;\n onPrimaryContainer: string;\n secondary: string;\n onSecondary: string;\n secondaryContainer: string;\n onSecondaryContainer: string;\n tertiary: string;\n onTertiary: string;\n tertiaryContainer: string;\n onTertiaryContainer: string;\n error: string;\n onError: string;\n errorContainer: string;\n onErrorContainer: string;\n background: string;\n onBackground: string;\n surface: string;\n onSurface: string;\n surfaceVariant: string;\n onSurfaceVariant: string;\n outline: string;\n outlineVariant: string;\n shadow: string;\n scrim: string;\n inverseSurface: string;\n inverseOnSurface: string;\n inversePrimary: string;\n surfaceDim: string;\n surfaceBright: string;\n surfaceContainerLowest: string;\n surfaceContainerLow: string;\n surfaceContainer: string;\n surfaceContainerHigh: string;\n surfaceContainerHighest: string;\n}\n\nexport const lightColorScheme: M3ColorScheme = {\n primary: '#6750A4',\n onPrimary: '#FFFFFF',\n primaryContainer: '#EADDFF',\n onPrimaryContainer: '#21005D',\n secondary: '#625B71',\n onSecondary: '#FFFFFF',\n secondaryContainer: '#E8DEF8',\n onSecondaryContainer: '#1D192B',\n tertiary: '#7D5260',\n onTertiary: '#FFFFFF',\n tertiaryContainer: '#FFD8E4',\n onTertiaryContainer: '#31111D',\n error: '#B3261E',\n onError: '#FFFFFF',\n errorContainer: '#F9DEDC',\n onErrorContainer: '#410E0B',\n background: '#FEF7FF',\n onBackground: '#1D1B20',\n surface: '#FEF7FF',\n onSurface: '#1D1B20',\n surfaceVariant: '#E7E0EC',\n onSurfaceVariant: '#49454F',\n outline: '#79747E',\n outlineVariant: '#CAC4D0',\n shadow: '#000000',\n scrim: 'rgba(0, 0, 0, 0.32)',\n inverseSurface: '#313033',\n inverseOnSurface: '#F4EFF4',\n inversePrimary: '#D0BCFF',\n surfaceDim: '#DED8E1',\n surfaceBright: '#FEF7FF',\n surfaceContainerLowest: '#FFFFFF',\n surfaceContainerLow: '#F7F2FA',\n surfaceContainer: '#F3EDF7',\n surfaceContainerHigh: '#ECE6F0',\n surfaceContainerHighest: '#E6E0E9',\n};\n\nexport const darkColorScheme: M3ColorScheme = {\n primary: '#D0BCFF',\n onPrimary: '#381E72',\n primaryContainer: '#4F378B',\n onPrimaryContainer: '#EADDFF',\n secondary: '#CCC2DC',\n onSecondary: '#332D41',\n secondaryContainer: '#4A4458',\n onSecondaryContainer: '#E8DEF8',\n tertiary: '#EFB8C8',\n onTertiary: '#492532',\n tertiaryContainer: '#633B48',\n onTertiaryContainer: '#FFD8E4',\n error: '#F2B8B5',\n onError: '#601410',\n errorContainer: '#8C1D18',\n onErrorContainer: '#F9DEDC',\n background: '#141218',\n onBackground: '#E6E0E9',\n surface: '#141218',\n onSurface: '#E6E0E9',\n surfaceVariant: '#49454F',\n onSurfaceVariant: '#CAC4D0',\n outline: '#938F99',\n outlineVariant: '#49454F',\n shadow: '#000000',\n scrim: 'rgba(0, 0, 0, 0.32)',\n inverseSurface: '#E6E0E9',\n inverseOnSurface: '#313033',\n inversePrimary: '#6750A4',\n surfaceDim: '#141218',\n surfaceBright: '#3B383E',\n surfaceContainerLowest: '#0F0D13',\n surfaceContainerLow: '#1D1B20',\n surfaceContainer: '#211F26',\n surfaceContainerHigh: '#2B2930',\n surfaceContainerHighest: '#36343B',\n};\n\nexport function colorSchemeToCssVariables(scheme: Partial<M3ColorScheme>): Record<string, string> {\n const vars: Record<string, string> = {};\n for (const [key, value] of Object.entries(scheme)) {\n const kebab = key.replace(/([A-Z])/g, '-$1').toLowerCase();\n vars[`--md-sys-color-${kebab}`] = value;\n }\n return vars;\n}\n\n","export interface M3TypographyStyle {\n fontFamily: string;\n weight: number | string;\n size: string;\n lineHeight: string;\n letterSpacing: string;\n}\n\nexport const typographyTokens = {\n fontFamily: \"'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif\",\n displayLarge: { size: '57px', lineHeight: '64px', letterSpacing: '-0.25px', weight: 400 },\n displayMedium: { size: '45px', lineHeight: '52px', letterSpacing: '0px', weight: 400 },\n displaySmall: { size: '36px', lineHeight: '44px', letterSpacing: '0px', weight: 400 },\n headlineLarge: { size: '32px', lineHeight: '40px', letterSpacing: '0px', weight: 400 },\n headlineMedium: { size: '28px', lineHeight: '36px', letterSpacing: '0px', weight: 400 },\n headlineSmall: { size: '24px', lineHeight: '32px', letterSpacing: '0px', weight: 400 },\n titleLarge: { size: '22px', lineHeight: '28px', letterSpacing: '0px', weight: 400 },\n titleMedium: { size: '16px', lineHeight: '24px', letterSpacing: '0.15px', weight: 500 },\n titleSmall: { size: '14px', lineHeight: '20px', letterSpacing: '0.1px', weight: 500 },\n bodyLarge: { size: '16px', lineHeight: '24px', letterSpacing: '0.5px', weight: 400 },\n bodyMedium: { size: '14px', lineHeight: '20px', letterSpacing: '0.25px', weight: 400 },\n bodySmall: { size: '12px', lineHeight: '16px', letterSpacing: '0.4px', weight: 400 },\n labelLarge: { size: '14px', lineHeight: '20px', letterSpacing: '0.1px', weight: 500 },\n labelMedium: { size: '12px', lineHeight: '16px', letterSpacing: '0.5px', weight: 500 },\n labelSmall: { size: '11px', lineHeight: '16px', letterSpacing: '0.5px', weight: 500 },\n};\n\n","export const elevationTokens = {\n level0: 'none',\n level1: '0px 1px 3px 1px rgba(0, 0, 0, 0.15), 0px 1px 2px 0px rgba(0, 0, 0, 0.30)',\n level2: '0px 2px 6px 2px rgba(0, 0, 0, 0.15), 0px 1px 2px 0px rgba(0, 0, 0, 0.30)',\n level3: '0px 1px 3px 0px rgba(0, 0, 0, 0.30), 0px 4px 8px 3px rgba(0, 0, 0, 0.15)',\n level4: '0px 2px 3px 0px rgba(0, 0, 0, 0.30), 0px 6px 10px 4px rgba(0, 0, 0, 0.15)',\n level5: '0px 4px 4px 0px rgba(0, 0, 0, 0.30), 0px 8px 12px 6px rgba(0, 0, 0, 0.15)',\n};\n\n","export const shapeTokens = {\n cornerNone: '0px',\n cornerExtraSmall: '4px',\n cornerSmall: '8px',\n cornerMedium: '12px',\n cornerLarge: '16px',\n cornerExtraLarge: '28px',\n cornerFull: '9999px',\n};\n\n","export const motionTokens = {\n easingStandard: 'cubic-bezier(0.2, 0, 0, 1)',\n easingStandardDecelerate: 'cubic-bezier(0, 0, 0, 1)',\n easingStandardAccelerate: 'cubic-bezier(0.3, 0, 1, 1)',\n easingEmphasized: 'cubic-bezier(0.2, 0, 0, 1)',\n easingEmphasizedDecelerate: 'cubic-bezier(0.05, 0.7, 0.1, 1)',\n easingEmphasizedAccelerate: 'cubic-bezier(0.3, 0, 0.8, 0.15)',\n \n durationShort1: '50ms',\n durationShort2: '100ms',\n durationShort3: '150ms',\n durationShort4: '200ms',\n durationMedium1: '250ms',\n durationMedium2: '300ms',\n durationMedium3: '350ms',\n durationMedium4: '400ms',\n durationLong1: '450ms',\n durationLong2: '500ms',\n durationLong3: '550ms',\n durationLong4: '600ms',\n};\n\n","import { css } from 'lit';\nimport { lightColorScheme, darkColorScheme, M3ColorScheme } from './colors.js';\nimport { typographyTokens } from './typography.js';\nimport { elevationTokens } from './elevation.js';\nimport { shapeTokens } from './shape.js';\nimport { motionTokens } from './motion.js';\n\nexport const themeStyles = css`\n :root, :host {\n /* Color Tokens - Default Light */\n --md-sys-color-primary: ${css([lightColorScheme.primary] as unknown as TemplateStringsArray)};\n --md-sys-color-on-primary: ${css([lightColorScheme.onPrimary] as unknown as TemplateStringsArray)};\n --md-sys-color-primary-container: ${css([lightColorScheme.primaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-primary-container: ${css([lightColorScheme.onPrimaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-secondary: ${css([lightColorScheme.secondary] as unknown as TemplateStringsArray)};\n --md-sys-color-on-secondary: ${css([lightColorScheme.onSecondary] as unknown as TemplateStringsArray)};\n --md-sys-color-secondary-container: ${css([lightColorScheme.secondaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-secondary-container: ${css([lightColorScheme.onSecondaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-tertiary: ${css([lightColorScheme.tertiary] as unknown as TemplateStringsArray)};\n --md-sys-color-on-tertiary: ${css([lightColorScheme.onTertiary] as unknown as TemplateStringsArray)};\n --md-sys-color-tertiary-container: ${css([lightColorScheme.tertiaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-tertiary-container: ${css([lightColorScheme.onTertiaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-error: ${css([lightColorScheme.error] as unknown as TemplateStringsArray)};\n --md-sys-color-on-error: ${css([lightColorScheme.onError] as unknown as TemplateStringsArray)};\n --md-sys-color-error-container: ${css([lightColorScheme.errorContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-error-container: ${css([lightColorScheme.onErrorContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-background: ${css([lightColorScheme.background] as unknown as TemplateStringsArray)};\n --md-sys-color-on-background: ${css([lightColorScheme.onBackground] as unknown as TemplateStringsArray)};\n --md-sys-color-surface: ${css([lightColorScheme.surface] as unknown as TemplateStringsArray)};\n --md-sys-color-on-surface: ${css([lightColorScheme.onSurface] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-variant: ${css([lightColorScheme.surfaceVariant] as unknown as TemplateStringsArray)};\n --md-sys-color-on-surface-variant: ${css([lightColorScheme.onSurfaceVariant] as unknown as TemplateStringsArray)};\n --md-sys-color-outline: ${css([lightColorScheme.outline] as unknown as TemplateStringsArray)};\n --md-sys-color-outline-variant: ${css([lightColorScheme.outlineVariant] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-lowest: ${css([lightColorScheme.surfaceContainerLowest] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-low: ${css([lightColorScheme.surfaceContainerLow] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container: ${css([lightColorScheme.surfaceContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-high: ${css([lightColorScheme.surfaceContainerHigh] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-highest: ${css([lightColorScheme.surfaceContainerHighest] as unknown as TemplateStringsArray)};\n --md-sys-color-inverse-surface: ${css([lightColorScheme.inverseSurface] as unknown as TemplateStringsArray)};\n --md-sys-color-inverse-on-surface: ${css([lightColorScheme.inverseOnSurface] as unknown as TemplateStringsArray)};\n --md-sys-color-inverse-primary: ${css([lightColorScheme.inversePrimary] as unknown as TemplateStringsArray)};\n --md-sys-color-scrim: ${css([lightColorScheme.scrim] as unknown as TemplateStringsArray)};\n\n /* Typography */\n --md-sys-typescale-font-family: ${css([typographyTokens.fontFamily] as unknown as TemplateStringsArray)};\n --md-sys-typescale-body-large-size: ${css([typographyTokens.bodyLarge.size] as unknown as TemplateStringsArray)};\n --md-sys-typescale-body-large-line-height: ${css([typographyTokens.bodyLarge.lineHeight] as unknown as TemplateStringsArray)};\n --md-sys-typescale-body-medium-size: ${css([typographyTokens.bodyMedium.size] as unknown as TemplateStringsArray)};\n --md-sys-typescale-label-large-size: ${css([typographyTokens.labelLarge.size] as unknown as TemplateStringsArray)};\n --md-sys-typescale-title-medium-size: ${css([typographyTokens.titleMedium.size] as unknown as TemplateStringsArray)};\n\n /* Elevation */\n --md-sys-elevation-level0: ${css([elevationTokens.level0] as unknown as TemplateStringsArray)};\n --md-sys-elevation-level1: ${css([elevationTokens.level1] as unknown as TemplateStringsArray)};\n --md-sys-elevation-level2: ${css([elevationTokens.level2] as unknown as TemplateStringsArray)};\n --md-sys-elevation-level3: ${css([elevationTokens.level3] as unknown as TemplateStringsArray)};\n --md-sys-elevation-level4: ${css([elevationTokens.level4] as unknown as TemplateStringsArray)};\n --md-sys-elevation-level5: ${css([elevationTokens.level5] as unknown as TemplateStringsArray)};\n\n /* Shape */\n --md-sys-shape-corner-none: ${css([shapeTokens.cornerNone] as unknown as TemplateStringsArray)};\n --md-sys-shape-corner-extra-small: ${css([shapeTokens.cornerExtraSmall] as unknown as TemplateStringsArray)};\n --md-sys-shape-corner-small: ${css([shapeTokens.cornerSmall] as unknown as TemplateStringsArray)};\n --md-sys-shape-corner-medium: ${css([shapeTokens.cornerMedium] as unknown as TemplateStringsArray)};\n --md-sys-shape-corner-large: ${css([shapeTokens.cornerLarge] as unknown as TemplateStringsArray)};\n --md-sys-shape-corner-extra-large: ${css([shapeTokens.cornerExtraLarge] as unknown as TemplateStringsArray)};\n --md-sys-shape-corner-full: ${css([shapeTokens.cornerFull] as unknown as TemplateStringsArray)};\n\n /* Motion */\n --md-sys-motion-easing-standard: ${css([motionTokens.easingStandard] as unknown as TemplateStringsArray)};\n --md-sys-motion-duration-short: ${css([motionTokens.durationShort2] as unknown as TemplateStringsArray)};\n --md-sys-motion-duration-medium: ${css([motionTokens.durationMedium2] as unknown as TemplateStringsArray)};\n --md-sys-motion-duration-long: ${css([motionTokens.durationLong2] as unknown as TemplateStringsArray)};\n\n /* State Layer Opacities */\n --md-sys-state-hover-opacity: 0.08;\n --md-sys-state-focus-opacity: 0.12;\n --md-sys-state-pressed-opacity: 0.12;\n --md-sys-state-dragged-opacity: 0.16;\n }\n\n [data-theme='dark'] {\n --md-sys-color-primary: ${css([darkColorScheme.primary] as unknown as TemplateStringsArray)};\n --md-sys-color-on-primary: ${css([darkColorScheme.onPrimary] as unknown as TemplateStringsArray)};\n --md-sys-color-primary-container: ${css([darkColorScheme.primaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-primary-container: ${css([darkColorScheme.onPrimaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-secondary: ${css([darkColorScheme.secondary] as unknown as TemplateStringsArray)};\n --md-sys-color-on-secondary: ${css([darkColorScheme.onSecondary] as unknown as TemplateStringsArray)};\n --md-sys-color-secondary-container: ${css([darkColorScheme.secondaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-secondary-container: ${css([darkColorScheme.onSecondaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-tertiary: ${css([darkColorScheme.tertiary] as unknown as TemplateStringsArray)};\n --md-sys-color-on-tertiary: ${css([darkColorScheme.onTertiary] as unknown as TemplateStringsArray)};\n --md-sys-color-tertiary-container: ${css([darkColorScheme.tertiaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-tertiary-container: ${css([darkColorScheme.onTertiaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-error: ${css([darkColorScheme.error] as unknown as TemplateStringsArray)};\n --md-sys-color-on-error: ${css([darkColorScheme.onError] as unknown as TemplateStringsArray)};\n --md-sys-color-error-container: ${css([darkColorScheme.errorContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-error-container: ${css([darkColorScheme.onErrorContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-background: ${css([darkColorScheme.background] as unknown as TemplateStringsArray)};\n --md-sys-color-on-background: ${css([darkColorScheme.onBackground] as unknown as TemplateStringsArray)};\n --md-sys-color-surface: ${css([darkColorScheme.surface] as unknown as TemplateStringsArray)};\n --md-sys-color-on-surface: ${css([darkColorScheme.onSurface] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-variant: ${css([darkColorScheme.surfaceVariant] as unknown as TemplateStringsArray)};\n --md-sys-color-on-surface-variant: ${css([darkColorScheme.onSurfaceVariant] as unknown as TemplateStringsArray)};\n --md-sys-color-outline: ${css([darkColorScheme.outline] as unknown as TemplateStringsArray)};\n --md-sys-color-outline-variant: ${css([darkColorScheme.outlineVariant] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-lowest: ${css([darkColorScheme.surfaceContainerLowest] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-low: ${css([darkColorScheme.surfaceContainerLow] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container: ${css([darkColorScheme.surfaceContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-high: ${css([darkColorScheme.surfaceContainerHigh] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-highest: ${css([darkColorScheme.surfaceContainerHighest] as unknown as TemplateStringsArray)};\n --md-sys-color-inverse-surface: ${css([darkColorScheme.inverseSurface] as unknown as TemplateStringsArray)};\n --md-sys-color-inverse-on-surface: ${css([darkColorScheme.inverseOnSurface] as unknown as TemplateStringsArray)};\n --md-sys-color-inverse-primary: ${css([darkColorScheme.inversePrimary] as unknown as TemplateStringsArray)};\n --md-sys-color-scrim: ${css([darkColorScheme.scrim] as unknown as TemplateStringsArray)};\n }\n`;\n\nexport function applyTheme(\n theme: Partial<M3ColorScheme>,\n target: HTMLElement = document.documentElement\n): void {\n for (const [key, value] of Object.entries(theme)) {\n if (value) {\n const kebab = key.replace(/([A-Z])/g, '-$1').toLowerCase();\n target.style.setProperty(`--md-sys-color-${kebab}`, value);\n }\n }\n}\n\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/tokens/palette-generator.ts","../../src/tokens/colors.ts","../../src/tokens/typography.ts","../../src/tokens/elevation.ts","../../src/tokens/shape.ts","../../src/tokens/motion.ts","../../src/tokens/theme.css.ts"],"sourcesContent":["import type { M3ColorScheme } from './colors.js';\nimport { colorSchemeToCssVariables } from './colors.js';\n\n\n/**\n * Converts a hex color string (#RGB or #RRGGBB) to HSL values [h, s, l].\n * h in [0, 360], s in [0, 100], l in [0, 100].\n */\nexport function hexToHsl(hex: string): [number, number, number] {\n let c = hex.replace('#', '').trim();\n if (c.length === 3) {\n c = c.split('').map(x => x + x).join('');\n }\n const num = parseInt(c, 16);\n if (isNaN(num)) {\n return [0, 0, 0];\n }\n const r = ((num >> 16) & 255) / 255;\n const g = ((num >> 8) & 255) / 255;\n const b = (num & 255) / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0;\n let s = 0;\n const l = (max + min) / 2;\n\n if (max !== min) {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return [Math.round(h * 360), Math.round(s * 100), Math.round(l * 100)];\n}\n\n/**\n * Converts HSL values to a hex color string (#RRGGBB).\n */\nexport function hslToHex(h: number, s: number, l: number): string {\n const normS = Math.max(0, Math.min(100, s)) / 100;\n const normL = Math.max(0, Math.min(100, l)) / 100;\n const a = normS * Math.min(normL, 1 - normL);\n const f = (n: number) => {\n const k = (n + (h % 360) / 30) % 12;\n const color = normL - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return Math.round(255 * color).toString(16).padStart(2, '0');\n };\n return `#${f(0)}${f(8)}${f(4)}`.toUpperCase();\n}\n\n/**\n * Converts a hex color string to RGB values [r, g, b].\n */\nexport function hexToRgb(hex: string): [number, number, number] {\n let c = hex.replace('#', '').trim();\n if (c.length === 3) {\n c = c.split('').map(x => x + x).join('');\n }\n const num = parseInt(c, 16);\n if (isNaN(num)) return [0, 0, 0];\n return [(num >> 16) & 255, (num >> 8) & 255, num & 255];\n}\n\n/**\n * Normalizes a hex color string to #RRGGBB uppercase format.\n */\nexport function normalizeHex(hex: string): string {\n let c = hex.replace('#', '').trim();\n if (c.length === 3) {\n c = c.split('').map(x => x + x).join('');\n }\n return `#${c.padStart(6, '0').slice(0, 6)}`.toUpperCase();\n}\n\n/**\n * Automatically derives a full 37-token M3 color scheme (light or dark) from a seed hex color.\n */\nexport function generateColorScheme(sourceColorHex: string, isDark: boolean): M3ColorScheme {\n const normalizedHex = normalizeHex(sourceColorHex);\n const [h, s] = hexToHsl(normalizedHex);\n\n if (isDark) {\n return {\n primary: hslToHex(h, Math.max(s, 60), 80),\n onPrimary: hslToHex(h, Math.max(s, 70), 20),\n primaryContainer: hslToHex(h, Math.max(s, 60), 32),\n onPrimaryContainer: hslToHex(h, Math.max(s, 60), 90),\n secondary: hslToHex((h + 10) % 360, 25, 75),\n onSecondary: hslToHex((h + 10) % 360, 30, 20),\n secondaryContainer: hslToHex((h + 10) % 360, 30, 32),\n onSecondaryContainer: hslToHex((h + 10) % 360, 35, 92),\n tertiary: hslToHex((h + 60) % 360, 40, 80),\n onTertiary: hslToHex((h + 60) % 360, 45, 20),\n tertiaryContainer: hslToHex((h + 60) % 360, 45, 32),\n onTertiaryContainer: hslToHex((h + 60) % 360, 50, 92),\n error: '#F2B8B5',\n onError: '#601410',\n errorContainer: '#8C1D18',\n onErrorContainer: '#F9DEDC',\n background: '#141218',\n onBackground: '#E6E0E9',\n surface: '#141218',\n onSurface: '#E6E0E9',\n surfaceVariant: '#49454F',\n onSurfaceVariant: '#CAC4D0',\n outline: '#938F99',\n outlineVariant: '#49454F',\n shadow: '#000000',\n scrim: 'rgba(0, 0, 0, 0.32)',\n inverseSurface: '#E6E0E9',\n inverseOnSurface: '#313033',\n inversePrimary: normalizedHex,\n surfaceDim: '#141218',\n surfaceBright: '#3B383E',\n surfaceContainerLowest: '#0F0D13',\n surfaceContainerLow: '#1D1B20',\n surfaceContainer: '#211F26',\n surfaceContainerHigh: '#2B2930',\n surfaceContainerHighest: '#36343B',\n };\n }\n\n return {\n primary: normalizedHex,\n onPrimary: '#FFFFFF',\n primaryContainer: hslToHex(h, Math.max(s, 55), 90),\n onPrimaryContainer: hslToHex(h, Math.max(s, 70), 16),\n secondary: hslToHex((h + 10) % 360, 25, 42),\n onSecondary: '#FFFFFF',\n secondaryContainer: hslToHex((h + 10) % 360, 35, 92),\n onSecondaryContainer: hslToHex((h + 10) % 360, 40, 16),\n tertiary: hslToHex((h + 60) % 360, 40, 42),\n onTertiary: '#FFFFFF',\n tertiaryContainer: hslToHex((h + 60) % 360, 50, 92),\n onTertiaryContainer: hslToHex((h + 60) % 360, 55, 16),\n error: '#B3261E',\n onError: '#FFFFFF',\n errorContainer: '#F9DEDC',\n onErrorContainer: '#410E0B',\n background: hslToHex(h, 15, 99),\n onBackground: '#1D1B20',\n surface: hslToHex(h, 15, 99),\n onSurface: '#1D1B20',\n surfaceVariant: hslToHex(h, 15, 92),\n onSurfaceVariant: '#49454F',\n outline: '#79747E',\n outlineVariant: '#CAC4D0',\n shadow: '#000000',\n scrim: 'rgba(0, 0, 0, 0.32)',\n inverseSurface: '#313033',\n inverseOnSurface: '#F4EFF4',\n inversePrimary: hslToHex(h, Math.max(s, 60), 80),\n surfaceDim: hslToHex(h, 10, 88),\n surfaceBright: hslToHex(h, 15, 99),\n surfaceContainerLowest: '#FFFFFF',\n surfaceContainerLow: hslToHex(h, 12, 97),\n surfaceContainer: hslToHex(h, 12, 95),\n surfaceContainerHigh: hslToHex(h, 12, 92),\n surfaceContainerHighest: hslToHex(h, 12, 90),\n };\n}\n\nexport interface GeneratedTheme {\n sourceColor: string;\n light: M3ColorScheme;\n dark: M3ColorScheme;\n schemes: {\n light: M3ColorScheme;\n dark: M3ColorScheme;\n };\n cssVariables: {\n light: Record<string, string>;\n dark: Record<string, string>;\n };\n cssText: string;\n apply: (options?: { dark?: boolean; target?: HTMLElement }) => void;\n}\n\n/**\n * Automatically derives full M3 light and dark CSS variable palettes from a single seed color.\n *\n * @param sourceColorHex - Seed hex color (e.g. '#6750A4' or '#006A6A')\n * @returns Complete M3 theme including light/dark color schemes, CSS variable records, and cssText stylesheet.\n */\nexport function generateTheme(sourceColorHex: string): GeneratedTheme {\n const normalizedSource = normalizeHex(sourceColorHex);\n const lightScheme = generateColorScheme(normalizedSource, false);\n const darkScheme = generateColorScheme(normalizedSource, true);\n\n const lightVariables = colorSchemeToCssVariables(lightScheme);\n const darkVariables = colorSchemeToCssVariables(darkScheme);\n\n const formatVariables = (vars: Record<string, string>, indent = ' ') =>\n Object.entries(vars)\n .map(([key, value]) => `${indent}${key}: ${value};`)\n .join('\\n');\n\n const cssText = `:root, :host {\\n${formatVariables(lightVariables)}\\n}\\n\\n[data-theme='dark'] {\\n${formatVariables(darkVariables)}\\n}`;\n\n return {\n sourceColor: normalizedSource,\n light: lightScheme,\n dark: darkScheme,\n schemes: {\n light: lightScheme,\n dark: darkScheme,\n },\n cssVariables: {\n light: lightVariables,\n dark: darkVariables,\n },\n cssText,\n apply(options?: { dark?: boolean; target?: HTMLElement }) {\n const target = options?.target ?? (typeof document !== 'undefined' ? document.documentElement : undefined);\n if (!target) return;\n const isDark = options?.dark ?? target.getAttribute('data-theme') === 'dark';\n const scheme = isDark ? darkScheme : lightScheme;\n for (const [key, value] of Object.entries(scheme)) {\n if (value) {\n const kebab = key.replace(/([A-Z])/g, '-$1').toLowerCase();\n target.style.setProperty(`--md-sys-color-${kebab}`, value);\n }\n }\n },\n };\n}\n","export interface M3ColorScheme {\n primary: string;\n onPrimary: string;\n primaryContainer: string;\n onPrimaryContainer: string;\n secondary: string;\n onSecondary: string;\n secondaryContainer: string;\n onSecondaryContainer: string;\n tertiary: string;\n onTertiary: string;\n tertiaryContainer: string;\n onTertiaryContainer: string;\n error: string;\n onError: string;\n errorContainer: string;\n onErrorContainer: string;\n background: string;\n onBackground: string;\n surface: string;\n onSurface: string;\n surfaceVariant: string;\n onSurfaceVariant: string;\n outline: string;\n outlineVariant: string;\n shadow: string;\n scrim: string;\n inverseSurface: string;\n inverseOnSurface: string;\n inversePrimary: string;\n surfaceDim: string;\n surfaceBright: string;\n surfaceContainerLowest: string;\n surfaceContainerLow: string;\n surfaceContainer: string;\n surfaceContainerHigh: string;\n surfaceContainerHighest: string;\n}\n\nexport const lightColorScheme: M3ColorScheme = {\n primary: '#6750A4',\n onPrimary: '#FFFFFF',\n primaryContainer: '#EADDFF',\n onPrimaryContainer: '#21005D',\n secondary: '#625B71',\n onSecondary: '#FFFFFF',\n secondaryContainer: '#E8DEF8',\n onSecondaryContainer: '#1D192B',\n tertiary: '#7D5260',\n onTertiary: '#FFFFFF',\n tertiaryContainer: '#FFD8E4',\n onTertiaryContainer: '#31111D',\n error: '#B3261E',\n onError: '#FFFFFF',\n errorContainer: '#F9DEDC',\n onErrorContainer: '#410E0B',\n background: '#FEF7FF',\n onBackground: '#1D1B20',\n surface: '#FEF7FF',\n onSurface: '#1D1B20',\n surfaceVariant: '#E7E0EC',\n onSurfaceVariant: '#49454F',\n outline: '#79747E',\n outlineVariant: '#CAC4D0',\n shadow: '#000000',\n scrim: 'rgba(0, 0, 0, 0.32)',\n inverseSurface: '#313033',\n inverseOnSurface: '#F4EFF4',\n inversePrimary: '#D0BCFF',\n surfaceDim: '#DED8E1',\n surfaceBright: '#FEF7FF',\n surfaceContainerLowest: '#FFFFFF',\n surfaceContainerLow: '#F7F2FA',\n surfaceContainer: '#F3EDF7',\n surfaceContainerHigh: '#ECE6F0',\n surfaceContainerHighest: '#E6E0E9',\n};\n\nexport const darkColorScheme: M3ColorScheme = {\n primary: '#D0BCFF',\n onPrimary: '#381E72',\n primaryContainer: '#4F378B',\n onPrimaryContainer: '#EADDFF',\n secondary: '#CCC2DC',\n onSecondary: '#332D41',\n secondaryContainer: '#4A4458',\n onSecondaryContainer: '#E8DEF8',\n tertiary: '#EFB8C8',\n onTertiary: '#492532',\n tertiaryContainer: '#633B48',\n onTertiaryContainer: '#FFD8E4',\n error: '#F2B8B5',\n onError: '#601410',\n errorContainer: '#8C1D18',\n onErrorContainer: '#F9DEDC',\n background: '#141218',\n onBackground: '#E6E0E9',\n surface: '#141218',\n onSurface: '#E6E0E9',\n surfaceVariant: '#49454F',\n onSurfaceVariant: '#CAC4D0',\n outline: '#938F99',\n outlineVariant: '#49454F',\n shadow: '#000000',\n scrim: 'rgba(0, 0, 0, 0.32)',\n inverseSurface: '#E6E0E9',\n inverseOnSurface: '#313033',\n inversePrimary: '#6750A4',\n surfaceDim: '#141218',\n surfaceBright: '#3B383E',\n surfaceContainerLowest: '#0F0D13',\n surfaceContainerLow: '#1D1B20',\n surfaceContainer: '#211F26',\n surfaceContainerHigh: '#2B2930',\n surfaceContainerHighest: '#36343B',\n};\n\nexport function colorSchemeToCssVariables(scheme: Partial<M3ColorScheme>): Record<string, string> {\n const vars: Record<string, string> = {};\n for (const [key, value] of Object.entries(scheme)) {\n const kebab = key.replace(/([A-Z])/g, '-$1').toLowerCase();\n vars[`--md-sys-color-${kebab}`] = value;\n }\n return vars;\n}\n\nexport * from './palette-generator.js';\n\n\n","export interface M3TypographyStyle {\n fontFamily: string;\n weight: number | string;\n size: string;\n lineHeight: string;\n letterSpacing: string;\n}\n\nexport const typographyTokens = {\n fontFamily: \"'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif\",\n displayLarge: { size: '57px', lineHeight: '64px', letterSpacing: '-0.25px', weight: 400 },\n displayMedium: { size: '45px', lineHeight: '52px', letterSpacing: '0px', weight: 400 },\n displaySmall: { size: '36px', lineHeight: '44px', letterSpacing: '0px', weight: 400 },\n headlineLarge: { size: '32px', lineHeight: '40px', letterSpacing: '0px', weight: 400 },\n headlineMedium: { size: '28px', lineHeight: '36px', letterSpacing: '0px', weight: 400 },\n headlineSmall: { size: '24px', lineHeight: '32px', letterSpacing: '0px', weight: 400 },\n titleLarge: { size: '22px', lineHeight: '28px', letterSpacing: '0px', weight: 400 },\n titleMedium: { size: '16px', lineHeight: '24px', letterSpacing: '0.15px', weight: 500 },\n titleSmall: { size: '14px', lineHeight: '20px', letterSpacing: '0.1px', weight: 500 },\n bodyLarge: { size: '16px', lineHeight: '24px', letterSpacing: '0.5px', weight: 400 },\n bodyMedium: { size: '14px', lineHeight: '20px', letterSpacing: '0.25px', weight: 400 },\n bodySmall: { size: '12px', lineHeight: '16px', letterSpacing: '0.4px', weight: 400 },\n labelLarge: { size: '14px', lineHeight: '20px', letterSpacing: '0.1px', weight: 500 },\n labelMedium: { size: '12px', lineHeight: '16px', letterSpacing: '0.5px', weight: 500 },\n labelSmall: { size: '11px', lineHeight: '16px', letterSpacing: '0.5px', weight: 500 },\n};\n\n","export const elevationTokens = {\n level0: 'none',\n level1: '0px 1px 3px 1px rgba(0, 0, 0, 0.15), 0px 1px 2px 0px rgba(0, 0, 0, 0.30)',\n level2: '0px 2px 6px 2px rgba(0, 0, 0, 0.15), 0px 1px 2px 0px rgba(0, 0, 0, 0.30)',\n level3: '0px 1px 3px 0px rgba(0, 0, 0, 0.30), 0px 4px 8px 3px rgba(0, 0, 0, 0.15)',\n level4: '0px 2px 3px 0px rgba(0, 0, 0, 0.30), 0px 6px 10px 4px rgba(0, 0, 0, 0.15)',\n level5: '0px 4px 4px 0px rgba(0, 0, 0, 0.30), 0px 8px 12px 6px rgba(0, 0, 0, 0.15)',\n};\n\n","export const shapeTokens = {\n cornerNone: '0px',\n cornerExtraSmall: '4px',\n cornerSmall: '8px',\n cornerMedium: '12px',\n cornerLarge: '16px',\n cornerExtraLarge: '28px',\n cornerFull: '9999px',\n};\n\n","export const motionTokens = {\n easingStandard: 'cubic-bezier(0.2, 0, 0, 1)',\n easingStandardDecelerate: 'cubic-bezier(0, 0, 0, 1)',\n easingStandardAccelerate: 'cubic-bezier(0.3, 0, 1, 1)',\n easingEmphasized: 'cubic-bezier(0.2, 0, 0, 1)',\n easingEmphasizedDecelerate: 'cubic-bezier(0.05, 0.7, 0.1, 1)',\n easingEmphasizedAccelerate: 'cubic-bezier(0.3, 0, 0.8, 0.15)',\n \n durationShort1: '50ms',\n durationShort2: '100ms',\n durationShort3: '150ms',\n durationShort4: '200ms',\n durationMedium1: '250ms',\n durationMedium2: '300ms',\n durationMedium3: '350ms',\n durationMedium4: '400ms',\n durationLong1: '450ms',\n durationLong2: '500ms',\n durationLong3: '550ms',\n durationLong4: '600ms',\n};\n\n","import { css } from 'lit';\nimport { lightColorScheme, darkColorScheme, M3ColorScheme } from './colors.js';\nimport { typographyTokens } from './typography.js';\nimport { elevationTokens } from './elevation.js';\nimport { shapeTokens } from './shape.js';\nimport { motionTokens } from './motion.js';\n\nexport const themeStyles = css`\n :root, :host {\n /* Color Tokens - Default Light */\n --md-sys-color-primary: ${css([lightColorScheme.primary] as unknown as TemplateStringsArray)};\n --md-sys-color-on-primary: ${css([lightColorScheme.onPrimary] as unknown as TemplateStringsArray)};\n --md-sys-color-primary-container: ${css([lightColorScheme.primaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-primary-container: ${css([lightColorScheme.onPrimaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-secondary: ${css([lightColorScheme.secondary] as unknown as TemplateStringsArray)};\n --md-sys-color-on-secondary: ${css([lightColorScheme.onSecondary] as unknown as TemplateStringsArray)};\n --md-sys-color-secondary-container: ${css([lightColorScheme.secondaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-secondary-container: ${css([lightColorScheme.onSecondaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-tertiary: ${css([lightColorScheme.tertiary] as unknown as TemplateStringsArray)};\n --md-sys-color-on-tertiary: ${css([lightColorScheme.onTertiary] as unknown as TemplateStringsArray)};\n --md-sys-color-tertiary-container: ${css([lightColorScheme.tertiaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-tertiary-container: ${css([lightColorScheme.onTertiaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-error: ${css([lightColorScheme.error] as unknown as TemplateStringsArray)};\n --md-sys-color-on-error: ${css([lightColorScheme.onError] as unknown as TemplateStringsArray)};\n --md-sys-color-error-container: ${css([lightColorScheme.errorContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-error-container: ${css([lightColorScheme.onErrorContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-background: ${css([lightColorScheme.background] as unknown as TemplateStringsArray)};\n --md-sys-color-on-background: ${css([lightColorScheme.onBackground] as unknown as TemplateStringsArray)};\n --md-sys-color-surface: ${css([lightColorScheme.surface] as unknown as TemplateStringsArray)};\n --md-sys-color-on-surface: ${css([lightColorScheme.onSurface] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-variant: ${css([lightColorScheme.surfaceVariant] as unknown as TemplateStringsArray)};\n --md-sys-color-on-surface-variant: ${css([lightColorScheme.onSurfaceVariant] as unknown as TemplateStringsArray)};\n --md-sys-color-outline: ${css([lightColorScheme.outline] as unknown as TemplateStringsArray)};\n --md-sys-color-outline-variant: ${css([lightColorScheme.outlineVariant] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-lowest: ${css([lightColorScheme.surfaceContainerLowest] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-low: ${css([lightColorScheme.surfaceContainerLow] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container: ${css([lightColorScheme.surfaceContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-high: ${css([lightColorScheme.surfaceContainerHigh] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-highest: ${css([lightColorScheme.surfaceContainerHighest] as unknown as TemplateStringsArray)};\n --md-sys-color-inverse-surface: ${css([lightColorScheme.inverseSurface] as unknown as TemplateStringsArray)};\n --md-sys-color-inverse-on-surface: ${css([lightColorScheme.inverseOnSurface] as unknown as TemplateStringsArray)};\n --md-sys-color-inverse-primary: ${css([lightColorScheme.inversePrimary] as unknown as TemplateStringsArray)};\n --md-sys-color-scrim: ${css([lightColorScheme.scrim] as unknown as TemplateStringsArray)};\n\n /* Typography */\n --md-sys-typescale-font-family: ${css([typographyTokens.fontFamily] as unknown as TemplateStringsArray)};\n --md-sys-typescale-body-large-size: ${css([typographyTokens.bodyLarge.size] as unknown as TemplateStringsArray)};\n --md-sys-typescale-body-large-line-height: ${css([typographyTokens.bodyLarge.lineHeight] as unknown as TemplateStringsArray)};\n --md-sys-typescale-body-medium-size: ${css([typographyTokens.bodyMedium.size] as unknown as TemplateStringsArray)};\n --md-sys-typescale-label-large-size: ${css([typographyTokens.labelLarge.size] as unknown as TemplateStringsArray)};\n --md-sys-typescale-title-medium-size: ${css([typographyTokens.titleMedium.size] as unknown as TemplateStringsArray)};\n\n /* Elevation */\n --md-sys-elevation-level0: ${css([elevationTokens.level0] as unknown as TemplateStringsArray)};\n --md-sys-elevation-level1: ${css([elevationTokens.level1] as unknown as TemplateStringsArray)};\n --md-sys-elevation-level2: ${css([elevationTokens.level2] as unknown as TemplateStringsArray)};\n --md-sys-elevation-level3: ${css([elevationTokens.level3] as unknown as TemplateStringsArray)};\n --md-sys-elevation-level4: ${css([elevationTokens.level4] as unknown as TemplateStringsArray)};\n --md-sys-elevation-level5: ${css([elevationTokens.level5] as unknown as TemplateStringsArray)};\n\n /* Shape */\n --md-sys-shape-corner-none: ${css([shapeTokens.cornerNone] as unknown as TemplateStringsArray)};\n --md-sys-shape-corner-extra-small: ${css([shapeTokens.cornerExtraSmall] as unknown as TemplateStringsArray)};\n --md-sys-shape-corner-small: ${css([shapeTokens.cornerSmall] as unknown as TemplateStringsArray)};\n --md-sys-shape-corner-medium: ${css([shapeTokens.cornerMedium] as unknown as TemplateStringsArray)};\n --md-sys-shape-corner-large: ${css([shapeTokens.cornerLarge] as unknown as TemplateStringsArray)};\n --md-sys-shape-corner-extra-large: ${css([shapeTokens.cornerExtraLarge] as unknown as TemplateStringsArray)};\n --md-sys-shape-corner-full: ${css([shapeTokens.cornerFull] as unknown as TemplateStringsArray)};\n\n /* Motion */\n --md-sys-motion-easing-standard: ${css([motionTokens.easingStandard] as unknown as TemplateStringsArray)};\n --md-sys-motion-duration-short: ${css([motionTokens.durationShort2] as unknown as TemplateStringsArray)};\n --md-sys-motion-duration-medium: ${css([motionTokens.durationMedium2] as unknown as TemplateStringsArray)};\n --md-sys-motion-duration-long: ${css([motionTokens.durationLong2] as unknown as TemplateStringsArray)};\n\n /* State Layer Opacities */\n --md-sys-state-hover-opacity: 0.08;\n --md-sys-state-focus-opacity: 0.12;\n --md-sys-state-pressed-opacity: 0.12;\n --md-sys-state-dragged-opacity: 0.16;\n }\n\n [data-theme='dark'] {\n --md-sys-color-primary: ${css([darkColorScheme.primary] as unknown as TemplateStringsArray)};\n --md-sys-color-on-primary: ${css([darkColorScheme.onPrimary] as unknown as TemplateStringsArray)};\n --md-sys-color-primary-container: ${css([darkColorScheme.primaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-primary-container: ${css([darkColorScheme.onPrimaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-secondary: ${css([darkColorScheme.secondary] as unknown as TemplateStringsArray)};\n --md-sys-color-on-secondary: ${css([darkColorScheme.onSecondary] as unknown as TemplateStringsArray)};\n --md-sys-color-secondary-container: ${css([darkColorScheme.secondaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-secondary-container: ${css([darkColorScheme.onSecondaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-tertiary: ${css([darkColorScheme.tertiary] as unknown as TemplateStringsArray)};\n --md-sys-color-on-tertiary: ${css([darkColorScheme.onTertiary] as unknown as TemplateStringsArray)};\n --md-sys-color-tertiary-container: ${css([darkColorScheme.tertiaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-tertiary-container: ${css([darkColorScheme.onTertiaryContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-error: ${css([darkColorScheme.error] as unknown as TemplateStringsArray)};\n --md-sys-color-on-error: ${css([darkColorScheme.onError] as unknown as TemplateStringsArray)};\n --md-sys-color-error-container: ${css([darkColorScheme.errorContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-on-error-container: ${css([darkColorScheme.onErrorContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-background: ${css([darkColorScheme.background] as unknown as TemplateStringsArray)};\n --md-sys-color-on-background: ${css([darkColorScheme.onBackground] as unknown as TemplateStringsArray)};\n --md-sys-color-surface: ${css([darkColorScheme.surface] as unknown as TemplateStringsArray)};\n --md-sys-color-on-surface: ${css([darkColorScheme.onSurface] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-variant: ${css([darkColorScheme.surfaceVariant] as unknown as TemplateStringsArray)};\n --md-sys-color-on-surface-variant: ${css([darkColorScheme.onSurfaceVariant] as unknown as TemplateStringsArray)};\n --md-sys-color-outline: ${css([darkColorScheme.outline] as unknown as TemplateStringsArray)};\n --md-sys-color-outline-variant: ${css([darkColorScheme.outlineVariant] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-lowest: ${css([darkColorScheme.surfaceContainerLowest] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-low: ${css([darkColorScheme.surfaceContainerLow] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container: ${css([darkColorScheme.surfaceContainer] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-high: ${css([darkColorScheme.surfaceContainerHigh] as unknown as TemplateStringsArray)};\n --md-sys-color-surface-container-highest: ${css([darkColorScheme.surfaceContainerHighest] as unknown as TemplateStringsArray)};\n --md-sys-color-inverse-surface: ${css([darkColorScheme.inverseSurface] as unknown as TemplateStringsArray)};\n --md-sys-color-inverse-on-surface: ${css([darkColorScheme.inverseOnSurface] as unknown as TemplateStringsArray)};\n --md-sys-color-inverse-primary: ${css([darkColorScheme.inversePrimary] as unknown as TemplateStringsArray)};\n --md-sys-color-scrim: ${css([darkColorScheme.scrim] as unknown as TemplateStringsArray)};\n }\n`;\n\nexport function applyTheme(\n theme: Partial<M3ColorScheme>,\n target: HTMLElement = document.documentElement\n): void {\n for (const [key, value] of Object.entries(theme)) {\n if (value) {\n const kebab = key.replace(/([A-Z])/g, '-$1').toLowerCase();\n target.style.setProperty(`--md-sys-color-${kebab}`, value);\n }\n }\n}\n\n"],"mappings":"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"}
package/llms.txt CHANGED
@@ -162,18 +162,36 @@ Configure tokens globally on `:root` or scope them to a container. Dark mode can
162
162
 
163
163
  ### TypeScript Theme Helper API
164
164
 
165
- The `@francofantomius/material-components/theme` module provides utilities for dynamic runtime palette assignment:
165
+ The `@francofantomius/material-components/theme` module provides utilities for dynamic runtime palette assignment and automatic theme generation:
166
166
 
167
167
  ```typescript
168
- import { applyTheme, darkColorScheme, lightColorScheme } from '@francofantomius/material-components/theme';
169
-
170
- // Switch to Dark Color Scheme
168
+ import {
169
+ generateTheme,
170
+ generateColorScheme,
171
+ applyTheme,
172
+ darkColorScheme,
173
+ lightColorScheme,
174
+ } from '@francofantomius/material-components/theme';
175
+
176
+ // 1. Automatically derive complete M3 light and dark themes from any single seed color:
177
+ const theme = generateTheme('#006A6A');
178
+
179
+ // Apply to document (or any element) with light or dark mode:
180
+ theme.apply(); // applies light or dark based on data-theme attribute
181
+ theme.apply({ dark: true }); // forces dark mode
182
+ theme.apply({ target: myContainer }); // scopes theme to container element
183
+
184
+ // Access generated 37-token schemes and CSS variables:
185
+ console.log(theme.light.primary); // e.g. '#006A6A'
186
+ console.log(theme.dark.primary);
187
+ console.log(theme.cssVariables.light); // { '--md-sys-color-primary': '#006A6A', ... }
188
+ console.log(theme.cssText); // Ready-to-inject CSS string
189
+
190
+ // 2. Predefined color schemes:
171
191
  applyTheme(darkColorScheme);
172
-
173
- // Switch back to Light Color Scheme
174
192
  applyTheme(lightColorScheme);
175
193
 
176
- // Apply Custom Brand Colors
194
+ // 3. Custom brand color overrides:
177
195
  applyTheme({
178
196
  primary: '#006A60',
179
197
  onPrimary: '#FFFFFF',
@@ -186,7 +204,7 @@ applyTheme({
186
204
 
187
205
  ## Form Integration (FACE)
188
206
 
189
- Form controls (`<md-text-field>`, `<md-checkbox>`, `<md-switch>`, `<md-radio>`) are Form-Associated Custom Elements. They automatically participate in standard HTML forms and `FormData`.
207
+ Form controls (`<md-text-field>`, `<md-checkbox>`, `<md-switch>`, `<md-radio>`, `<md-slider>`, `<md-date-picker>`, `<md-time-picker>`) are Form-Associated Custom Elements (FACE). They automatically participate in standard HTML forms, `FormData`, constraint validation (`required`, `min`, `max`, `checkValidity()`, `reportValidity()`), and form resets without manual JavaScript syncing.
190
208
 
191
209
  ### HTML Form Example
192
210
 
@@ -206,6 +224,41 @@ Form controls (`<md-text-field>`, `<md-checkbox>`, `<md-switch>`, `<md-radio>`)
206
224
  required
207
225
  ></md-text-field>
208
226
 
227
+ <!-- Slider input participating in form submission -->
228
+ <md-slider
229
+ name="budget"
230
+ min="0"
231
+ max="1000"
232
+ step="50"
233
+ value="250"
234
+ labeled
235
+ ></md-slider>
236
+
237
+ <!-- Dual-thumb range slider submitting two form values -->
238
+ <md-slider
239
+ range
240
+ name-start="min_price"
241
+ name-end="max_price"
242
+ value-start="100"
243
+ value-end="500"
244
+ ></md-slider>
245
+
246
+ <!-- Date picker participating in form submission -->
247
+ <md-date-picker
248
+ name="event_date"
249
+ label="Event Date"
250
+ required
251
+ ></md-date-picker>
252
+
253
+ <!-- Time picker with constraint validation -->
254
+ <md-time-picker
255
+ name="arrival_time"
256
+ format="24h"
257
+ min="08:00"
258
+ max="18:00"
259
+ required
260
+ ></md-time-picker>
261
+
209
262
  <md-checkbox name="newsletter" checked>
210
263
  Receive monthly newsletter
211
264
  </md-checkbox>
@@ -219,6 +272,7 @@ Form controls (`<md-text-field>`, `<md-checkbox>`, `<md-switch>`, `<md-radio>`)
219
272
  <md-button type="submit" variant="filled">Submit Form</md-button>
220
273
  </div>
221
274
  </form>
275
+
222
276
  ```
223
277
 
224
278
  ### JavaScript Handling
@@ -841,6 +895,8 @@ const isEnabled = ref(true);
841
895
  | `leading-icon` | `string` | `''` | Leading Material Symbols icon name |
842
896
  | `trailing-icon` | `string` | `''` | Trailing Material Symbols icon name |
843
897
  | `disabled` | `boolean` | `false` | Disables user interaction |
898
+ | `required` | `boolean` | `false` | Form validation required constraint |
899
+ | `error` | `boolean` | `false` | Applies error visual styling |
844
900
  | `name` | `string` | `''` | HTML form input name |
845
901
  | `name-start` | `string` | `''` | HTML form input name for start value (range mode) |
846
902
  | `name-end` | `string` | `''` | HTML form input name for end value (range mode) |
@@ -911,9 +967,10 @@ const isEnabled = ref(true);
911
967
  | `compact` | `boolean` | `false` | Shorthand boolean attribute for compact / small navbar sizing |
912
968
  | `active` | `boolean` | `false` | Controls whether search view is expanded and showing suggestions |
913
969
  | `suggestions` | `Array<string \| SearchSuggestion>` | `[]` | List of search suggestions with labels, supporting text, and icons |
914
- | `leading-icon` | `string` | `'search'` | Leading icon displayed when inactive |
970
+ | `search-icon-position` | `'leading' \| 'trailing' \| 'left' \| 'right'` | `'leading'` | Position of search icon (`'leading'` / left, or `'trailing'` / right) |
971
+ | `leading-icon` | `string` | `'search'` | Leading icon displayed when inactive (e.g. `'search'`, `'menu'`) |
915
972
  | `active-leading-icon` | `string` | `'arrow_back'` | Leading icon displayed when active |
916
- | `trailing-icon` | `string` | `''` | Optional trailing action icon |
973
+ | `trailing-icon` | `string` | `''` | Optional trailing action icon (e.g. `'mic'`, `'search'`) |
917
974
  | `show-back-button` | `boolean` | `true` | Whether to show the back button in active mode |
918
975
  | `responsive` | `boolean` | `true` | Automatically switches to full-screen view and collapsed search icon on mobile (<= 768px) |
919
976
  | `collapse-on-mobile` | `boolean` | `true` | Collapses search bar into a compact search icon button on mobile screens when inactive |
@@ -921,27 +978,43 @@ const isEnabled = ref(true);
921
978
  | `disabled` | `boolean` | `false` | Disables user interaction |
922
979
 
923
980
  ##### Slots
924
- - `leading-icon`: Custom leading icon or button element.
925
- - `trailing-icon`: Custom trailing action buttons, avatar, or mic.
981
+ - `leading` / `leading-icon`: Custom leading icon or navigation button element.
982
+ - `trailing` / `trailing-icon`: Custom trailing action buttons, avatar, or mic.
926
983
  - `suggestions`: Custom slotted suggestions list.
927
984
  - `(default)`: Additional content rendered inside active search surface.
928
985
 
929
986
  ##### Events
930
987
  - `input`: Fired as user types (`detail: { value: string }`).
931
988
  - `change`: Fired on committed input change (`detail: { value: string }`).
932
- - `search`: Fired when user presses Enter or selects a suggestion (`detail: { value: string, suggestion?: object }`).
989
+ - `search`: Fired when user presses Enter or clicks the search button (`detail: { value: string, suggestion?: object }`).
990
+ - `leading-icon-click`: Fired when custom leading button (e.g. menu) is clicked (`detail: { icon: string }`).
991
+ - `trailing-icon-click`: Fired when trailing icon button is clicked (`detail: { icon: string }`).
933
992
  - `active-change`: Fired when search bar expands/collapses (`detail: { active: boolean }`).
934
993
  - `suggestion-select`: Fired when a suggestion is selected (`detail: { suggestion: object, value: string, index: number }`).
935
994
  - `clear`: Fired when search value is cleared.
936
995
 
937
996
  ##### Code Example
938
997
  ```html
998
+ <!-- Standard Search Bar -->
939
999
  <md-search-bar
940
1000
  id="demo-search-bar"
941
1001
  placeholder="Search destinations, hotels, flights..."
942
1002
  trailing-icon="mic"
943
1003
  ></md-search-bar>
944
1004
 
1005
+ <!-- Search Icon on the Right -->
1006
+ <md-search-bar
1007
+ placeholder="Search products..."
1008
+ search-icon-position="right"
1009
+ ></md-search-bar>
1010
+
1011
+ <!-- Hamburger Menu Button on Left and Search Icon on Right -->
1012
+ <md-search-bar
1013
+ placeholder="Search apps and files..."
1014
+ leading-icon="menu"
1015
+ search-icon-position="right"
1016
+ ></md-search-bar>
1017
+
945
1018
  <!-- Custom Slotted Content in Active State -->
946
1019
  <md-search-bar placeholder="Search files & documents">
947
1020
  <div style="padding: 12px 16px;">
@@ -972,9 +1045,14 @@ const isEnabled = ref(true);
972
1045
  | `headline` | `string` | `'Select time'` | Header headline text |
973
1046
  | `auto-switch-to-minute` | `boolean` | `true` | Automatically transitions active field from hour to minute on dial |
974
1047
  | `disabled` | `boolean` | `false` | Disables user interaction |
1048
+ | `min` | `string` | `''` | Minimum time constraint (e.g. `'09:00'` or `'09:00 AM'`) |
1049
+ | `max` | `string` | `''` | Maximum time constraint (e.g. `'17:00'` or `'05:00 PM'`) |
1050
+ | `error` | `boolean` | `false` | Applies error visual styling |
1051
+ | `error-text` | `string` | `''` | Validation error message |
975
1052
  | `name` | `string` | `''` | HTML form input name (FACE) |
976
1053
  | `required` | `boolean` | `false` | Form validation required constraint |
977
1054
 
1055
+
978
1056
  ##### Methods
979
1057
  - `showModal()`: Opens the time picker as a modal dialog.
980
1058
  - `show()`: Opens the time picker.
@@ -1036,6 +1114,9 @@ const isEnabled = ref(true);
1036
1114
  | `error-text` | `string` | `''` | Validation error message |
1037
1115
  | `supporting-text` | `string` | `''` | Helper text below the date picker |
1038
1116
  | `name` | `string` | `''` | HTML form input name (FACE) |
1117
+ | `name-start` | `string` | `''` | HTML form input name for start date (range mode) |
1118
+ | `name-end` | `string` | `''` | HTML form input name for end date (range mode) |
1119
+
1039
1120
 
1040
1121
  ##### Methods
1041
1122
  - `showModal()`: Opens the date picker as a modal dialog overlay.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@francofantomius/material-components",
3
- "version": "1.1.2",
3
+ "version": "1.3.0",
4
4
  "description": "Reusable, accessible, and lightweight Material Design 3 Web Components built with Lit.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -291,13 +291,13 @@
291
291
  },
292
292
  "scripts": {
293
293
  "dev": "vite",
294
- "build": "tsc && vite build && node docs/generate.js && vite build --config vite.docs.config.ts && npm run analyze",
294
+ "build": "tsc && vite build && npm run analyze",
295
295
  "clean": "git clean -fdX",
296
- "preview": "vite preview --config vite.docs.config.ts",
297
296
  "typecheck": "tsc --noEmit",
298
297
  "test": "vitest run",
299
298
  "test:watch": "vitest",
300
299
  "analyze": "cem analyze --litelement",
300
+ "build:example": "esbuild src/index.ts --bundle --format=iife --outfile=example.bundle.js",
301
301
  "prepublishOnly": "npm run typecheck && npm run test && npm run build"
302
302
  },
303
303
  "keywords": [
@@ -315,22 +315,11 @@
315
315
  "lit": "^3.3.3"
316
316
  },
317
317
  "devDependencies": {
318
- "@custom-elements-manifest/analyzer": "^0.10.4",
319
- "@typescript/typescript6": "^6.0.2",
318
+ "@custom-elements-manifest/analyzer": "^0.11.0",
320
319
  "esbuild": "^0.28.2",
321
- "happy-dom": "^20.11.6",
320
+ "happy-dom": "^20.14.5",
322
321
  "typescript": "^7.0.2",
323
322
  "vite": "^8.2.2",
324
- "vite-plugin-dts": "^5.0.3",
325
- "vitest": "^4.1.11"
326
- },
327
- "allowScripts": {
328
- "esbuild": true,
329
- "happy-dom": true,
330
- "typescript": true,
331
- "vite": true,
332
- "vite-plugin-dts": true,
333
- "vitest": true,
334
- "rs-module-lexer@2.8.0": true
323
+ "vitest": "^5.0.0"
335
324
  }
336
325
  }