@tylertech/forge 3.0.0-next.12 → 3.0.0-next.13

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 (709) hide show
  1. package/README.md +1 -6
  2. package/custom-elements.json +53072 -38831
  3. package/dist/esm/accordion/index.js +1 -1
  4. package/dist/esm/app-bar/help-button/index.js +1 -1
  5. package/dist/esm/app-bar/index.js +1 -1
  6. package/dist/esm/app-bar/menu-button/index.js +1 -1
  7. package/dist/esm/app-bar/notification-button/index.js +1 -1
  8. package/dist/esm/app-bar/profile-button/index.js +1 -1
  9. package/dist/esm/app-bar/search/index.js +1 -1
  10. package/dist/esm/autocomplete/index.js +1 -1
  11. package/dist/esm/avatar/index.js +1 -1
  12. package/dist/esm/backdrop/index.js +1 -1
  13. package/dist/esm/badge/index.js +1 -1
  14. package/dist/esm/banner/index.js +1 -1
  15. package/dist/esm/bottom-sheet/index.js +1 -1
  16. package/dist/esm/busy-indicator/index.js +1 -1
  17. package/dist/esm/button/index.js +1 -1
  18. package/dist/esm/button-area/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  20. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  21. package/dist/esm/button-toggle/index.js +1 -1
  22. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  23. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/{chunk.4USQ2AP6.js → chunk.2MSL7CYM.js} +2 -2
  32. package/dist/esm/chunks/chunk.2ZU6LWHE.js +7 -0
  33. package/dist/esm/chunks/chunk.2ZU6LWHE.js.map +7 -0
  34. package/dist/esm/chunks/{chunk.OXGOCF4L.js → chunk.36C6SIPW.js} +2 -2
  35. package/dist/esm/chunks/{chunk.OXGOCF4L.js.map → chunk.36C6SIPW.js.map} +2 -2
  36. package/dist/esm/chunks/chunk.36F2GVWS.js +7 -0
  37. package/dist/esm/chunks/chunk.36F2GVWS.js.map +7 -0
  38. package/dist/esm/chunks/{chunk.HDO3WRH7.js → chunk.3HCYRDRI.js} +2 -2
  39. package/dist/esm/chunks/{chunk.UVJFHSMF.js → chunk.3R4BUIQP.js} +2 -2
  40. package/dist/esm/chunks/{chunk.37JFBP4X.js → chunk.3ZPSN2QG.js} +2 -2
  41. package/dist/esm/chunks/chunk.4SPEX2GJ.js +7 -0
  42. package/dist/esm/chunks/chunk.4SPEX2GJ.js.map +7 -0
  43. package/dist/esm/chunks/chunk.4YFJVHXN.js +7 -0
  44. package/dist/esm/chunks/chunk.4YFJVHXN.js.map +7 -0
  45. package/dist/esm/chunks/chunk.5A2PA7TL.js +7 -0
  46. package/dist/esm/chunks/chunk.5A2PA7TL.js.map +7 -0
  47. package/dist/esm/chunks/chunk.5CSXPRL3.js +7 -0
  48. package/dist/esm/chunks/chunk.5CSXPRL3.js.map +7 -0
  49. package/dist/esm/chunks/chunk.5LVZVQXB.js +7 -0
  50. package/dist/esm/chunks/{chunk.Q7BWJCT5.js.map → chunk.5LVZVQXB.js.map} +2 -2
  51. package/dist/esm/chunks/{chunk.HKSXC5VK.js → chunk.5N4N6DL6.js} +2 -2
  52. package/dist/esm/chunks/{chunk.AQ7ROWO4.js → chunk.5PG6WIIX.js} +2 -2
  53. package/dist/esm/chunks/{chunk.CLD75EBJ.js → chunk.5RM65QPN.js} +2 -2
  54. package/dist/esm/chunks/{chunk.CLD75EBJ.js.map → chunk.5RM65QPN.js.map} +3 -3
  55. package/dist/esm/chunks/chunk.5WMYF27O.js +7 -0
  56. package/dist/esm/chunks/chunk.5WMYF27O.js.map +7 -0
  57. package/dist/esm/chunks/{chunk.C7VEJINB.js → chunk.675V42JS.js} +2 -2
  58. package/dist/esm/chunks/chunk.6M27ERWW.js +12 -0
  59. package/dist/esm/chunks/chunk.6M27ERWW.js.map +7 -0
  60. package/dist/esm/chunks/chunk.6NTYTHAL.js +7 -0
  61. package/dist/esm/chunks/chunk.6NTYTHAL.js.map +7 -0
  62. package/dist/esm/chunks/chunk.6ZNBFKNP.js +7 -0
  63. package/dist/esm/chunks/chunk.6ZNBFKNP.js.map +7 -0
  64. package/dist/esm/chunks/{chunk.5ASOX23Q.js → chunk.72JVXGHF.js} +2 -2
  65. package/dist/esm/chunks/{chunk.5ASOX23Q.js.map → chunk.72JVXGHF.js.map} +1 -1
  66. package/dist/esm/chunks/chunk.7V4BDSA5.js +7 -0
  67. package/dist/esm/chunks/chunk.7V4BDSA5.js.map +7 -0
  68. package/dist/esm/chunks/chunk.7VMJLHQY.js +7 -0
  69. package/dist/esm/chunks/chunk.7VMJLHQY.js.map +7 -0
  70. package/dist/esm/chunks/{chunk.OQAD6MFL.js → chunk.7ZROQ6D3.js} +2 -2
  71. package/dist/esm/chunks/{chunk.W7H2ZYNR.js → chunk.AMLT6XJP.js} +2 -2
  72. package/dist/esm/chunks/{chunk.TCFKFKZW.js → chunk.AMZZKEAE.js} +2 -2
  73. package/dist/esm/chunks/{chunk.DH76CMUT.js → chunk.APPY5AYL.js} +2 -2
  74. package/dist/esm/chunks/{chunk.7M4HRJYP.js → chunk.ARQMMZJL.js} +2 -2
  75. package/dist/esm/chunks/{chunk.QNVVUUNQ.js → chunk.AUBOJZQ7.js} +2 -2
  76. package/dist/esm/chunks/chunk.AUCBR6CC.js +7 -0
  77. package/dist/esm/chunks/{chunk.UAVC4YLD.js.map → chunk.AUCBR6CC.js.map} +2 -2
  78. package/dist/esm/chunks/{chunk.RXLORASN.js → chunk.BB4UF5RX.js} +2 -2
  79. package/dist/esm/chunks/chunk.BBCZNGT3.js +7 -0
  80. package/dist/esm/chunks/chunk.BBCZNGT3.js.map +7 -0
  81. package/dist/esm/chunks/chunk.BQ2X5SBP.js +7 -0
  82. package/dist/esm/chunks/{chunk.TSH7BTC3.js.map → chunk.BQ2X5SBP.js.map} +2 -2
  83. package/dist/esm/chunks/{chunk.NDJZYFRT.js → chunk.BTXY3XMJ.js} +2 -2
  84. package/dist/esm/chunks/{chunk.AY43NTAK.js → chunk.DTLZOIUQ.js} +2 -2
  85. package/dist/esm/chunks/chunk.EJX6RI4I.js +7 -0
  86. package/dist/esm/chunks/chunk.EJX6RI4I.js.map +7 -0
  87. package/dist/esm/chunks/chunk.EWK76SPH.js +7 -0
  88. package/dist/esm/chunks/chunk.EWK76SPH.js.map +7 -0
  89. package/dist/esm/chunks/chunk.FAXYCG55.js +7 -0
  90. package/dist/esm/chunks/chunk.FAXYCG55.js.map +7 -0
  91. package/dist/esm/chunks/chunk.FFHSUJFM.js +7 -0
  92. package/dist/esm/chunks/chunk.FFHSUJFM.js.map +7 -0
  93. package/dist/esm/chunks/{chunk.PLNLLKP2.js → chunk.FLWNOP42.js} +2 -2
  94. package/dist/esm/chunks/{chunk.IJ2I25V3.js → chunk.FXIWCHLW.js} +2 -2
  95. package/dist/esm/chunks/chunk.FYVDTZLF.js +7 -0
  96. package/dist/esm/chunks/{chunk.YP2NHWIW.js.map → chunk.FYVDTZLF.js.map} +2 -2
  97. package/dist/esm/chunks/{chunk.6VSFLBZF.js → chunk.G73KL7P2.js} +2 -2
  98. package/dist/esm/chunks/chunk.G7SMCLHQ.js +7 -0
  99. package/dist/esm/chunks/chunk.G7SMCLHQ.js.map +7 -0
  100. package/dist/esm/chunks/{chunk.PDSOXEMY.js → chunk.GNDKQPDV.js} +2 -2
  101. package/dist/esm/chunks/{chunk.RWUJGZ3R.js → chunk.HAKF2T2D.js} +2 -2
  102. package/dist/esm/chunks/{chunk.ZYVXIP42.js → chunk.HDG2GHKC.js} +2 -2
  103. package/dist/esm/chunks/{chunk.EY37FYZ4.js → chunk.HOLCNJXC.js} +2 -2
  104. package/dist/esm/chunks/{chunk.DQVYB55P.js → chunk.HRRJIFC5.js} +2 -2
  105. package/dist/esm/chunks/chunk.HSI7B43D.js +7 -0
  106. package/dist/esm/chunks/chunk.HSI7B43D.js.map +7 -0
  107. package/dist/esm/chunks/chunk.IAWYYNUU.js +7 -0
  108. package/dist/esm/chunks/chunk.IAWYYNUU.js.map +7 -0
  109. package/dist/esm/chunks/{chunk.WK2L7BPJ.js → chunk.IDMDBMBR.js} +2 -2
  110. package/dist/esm/chunks/{chunk.WJXDDQUK.js → chunk.IHAHJPMB.js} +2 -2
  111. package/dist/esm/chunks/chunk.IISWKFCX.js +7 -0
  112. package/dist/esm/chunks/chunk.IISWKFCX.js.map +7 -0
  113. package/dist/esm/chunks/{chunk.DABGA7I6.js → chunk.IMLJD35R.js} +2 -2
  114. package/dist/esm/chunks/{chunk.66X366TV.js → chunk.IT7XPDAV.js} +2 -2
  115. package/dist/esm/chunks/chunk.JAWV5Y5T.js +7 -0
  116. package/dist/esm/chunks/{chunk.I5SFCLDD.js.map → chunk.JAWV5Y5T.js.map} +3 -3
  117. package/dist/esm/chunks/{chunk.RNUGVHZF.js → chunk.JVLJH6PR.js} +2 -2
  118. package/dist/esm/chunks/chunk.KPJWP77R.js +7 -0
  119. package/dist/esm/chunks/{chunk.Z6AFASMO.js → chunk.KV5IKYG2.js} +2 -2
  120. package/dist/esm/chunks/chunk.KV67JXOC.js +7 -0
  121. package/dist/esm/chunks/{chunk.OQ75YGB6.js.map → chunk.KV67JXOC.js.map} +2 -2
  122. package/dist/esm/chunks/{chunk.7UJAI6P2.js → chunk.LCR4YH3O.js} +2 -2
  123. package/dist/esm/chunks/{chunk.2WSXSOYB.js → chunk.LOG6GQOK.js} +2 -2
  124. package/dist/esm/chunks/chunk.LUIKMPQR.js +7 -0
  125. package/dist/esm/chunks/chunk.LUIKMPQR.js.map +7 -0
  126. package/dist/esm/chunks/chunk.LUNKNRRH.js +7 -0
  127. package/dist/esm/chunks/chunk.LUNKNRRH.js.map +7 -0
  128. package/dist/esm/chunks/{chunk.VDGJ4UDL.js → chunk.MKJCHUJH.js} +2 -2
  129. package/dist/esm/chunks/{chunk.IXGXASHQ.js → chunk.MWYQRG5W.js} +2 -2
  130. package/dist/esm/chunks/{chunk.CBIHNCT5.js → chunk.NUMKGUCK.js} +2 -2
  131. package/dist/esm/chunks/{chunk.R6NA7SV2.js → chunk.O6V3YNMO.js} +2 -2
  132. package/dist/esm/chunks/chunk.OWZREAT6.js +15 -0
  133. package/dist/esm/chunks/chunk.OWZREAT6.js.map +7 -0
  134. package/dist/esm/chunks/chunk.PMYQY3D3.js +7 -0
  135. package/dist/esm/chunks/chunk.PMYQY3D3.js.map +7 -0
  136. package/dist/esm/chunks/chunk.PYR2OCCH.js +7 -0
  137. package/dist/esm/chunks/{chunk.LNLO36U6.js.map → chunk.PYR2OCCH.js.map} +2 -2
  138. package/dist/esm/chunks/chunk.QJCNMYD3.js +7 -0
  139. package/dist/esm/chunks/{chunk.URFSXQKR.js.map → chunk.QJCNMYD3.js.map} +2 -2
  140. package/dist/esm/chunks/{chunk.CQQSOTZ5.js → chunk.QLCVRJ3Q.js} +2 -2
  141. package/dist/esm/chunks/chunk.QLOYOZN3.js +7 -0
  142. package/dist/esm/chunks/{chunk.JCO4M4PF.js.map → chunk.QLOYOZN3.js.map} +3 -3
  143. package/dist/esm/chunks/chunk.QN5T26HH.js +7 -0
  144. package/dist/esm/chunks/chunk.QN5T26HH.js.map +7 -0
  145. package/dist/esm/chunks/chunk.QQRPV4RN.js +7 -0
  146. package/dist/esm/chunks/{chunk.YXXKPT6P.js.map → chunk.QQRPV4RN.js.map} +2 -2
  147. package/dist/esm/chunks/{chunk.E4TAHUQO.js → chunk.R6LQBI42.js} +2 -2
  148. package/dist/esm/chunks/{chunk.FK6NNHXH.js → chunk.RES7WDKH.js} +2 -2
  149. package/dist/esm/chunks/chunk.RP674CRC.js +7 -0
  150. package/dist/esm/chunks/chunk.S5QL4SPT.js +7 -0
  151. package/dist/esm/chunks/chunk.S5QL4SPT.js.map +7 -0
  152. package/dist/esm/chunks/{chunk.SEWAMWO6.js → chunk.SIRXAA3O.js} +2 -2
  153. package/dist/esm/chunks/{chunk.WWTQAN4G.js → chunk.SLJ6HDK7.js} +2 -2
  154. package/dist/esm/chunks/chunk.STB2FEUA.js +7 -0
  155. package/dist/esm/chunks/chunk.STB2FEUA.js.map +7 -0
  156. package/dist/esm/chunks/chunk.TBGMJQYJ.js +7 -0
  157. package/dist/esm/chunks/chunk.TBGMJQYJ.js.map +7 -0
  158. package/dist/esm/chunks/{chunk.RBFGJH3C.js → chunk.TU74SREL.js} +2 -2
  159. package/dist/esm/chunks/{chunk.4JF54GDJ.js → chunk.URJQNB3S.js} +2 -2
  160. package/dist/esm/chunks/{chunk.C2MQN7MI.js → chunk.V24M62MC.js} +2 -2
  161. package/dist/esm/chunks/chunk.VFKHRAWD.js +7 -0
  162. package/dist/esm/chunks/chunk.VFKHRAWD.js.map +7 -0
  163. package/dist/esm/chunks/{chunk.R2KOYHIZ.js → chunk.VO6YJCEU.js} +2 -2
  164. package/dist/esm/chunks/{chunk.C5ZUGOOC.js → chunk.W2LN45WY.js} +2 -2
  165. package/dist/esm/chunks/{chunk.4XJYS5WH.js → chunk.WMVYRDUJ.js} +2 -2
  166. package/dist/esm/chunks/{chunk.4XJYS5WH.js.map → chunk.WMVYRDUJ.js.map} +2 -2
  167. package/dist/esm/chunks/chunk.WY3E33CW.js +7 -0
  168. package/dist/esm/chunks/chunk.WY3E33CW.js.map +7 -0
  169. package/dist/esm/chunks/{chunk.HBCDD25D.js → chunk.XEFWZKHQ.js} +2 -2
  170. package/dist/esm/chunks/{chunk.MHU452GM.js → chunk.XLL7L2UB.js} +2 -2
  171. package/dist/esm/chunks/{chunk.UZPZ6KUN.js → chunk.XNFS7YIB.js} +2 -2
  172. package/dist/esm/chunks/{chunk.UZPZ6KUN.js.map → chunk.XNFS7YIB.js.map} +2 -2
  173. package/dist/esm/chunks/chunk.XYAZVLPR.js +7 -0
  174. package/dist/esm/chunks/{chunk.AHAARGYM.js → chunk.YAERJVPL.js} +2 -2
  175. package/dist/esm/chunks/chunk.YBZK6LJZ.js +7 -0
  176. package/dist/esm/chunks/chunk.YKIBREM5.js +7 -0
  177. package/dist/esm/chunks/chunk.YWAUEUAH.js +7 -0
  178. package/dist/esm/chunks/chunk.YWAUEUAH.js.map +7 -0
  179. package/dist/esm/chunks/{chunk.YIFI5D2X.js → chunk.Z5RROENA.js} +2 -2
  180. package/dist/esm/chunks/{chunk.YIFI5D2X.js.map → chunk.Z5RROENA.js.map} +3 -3
  181. package/dist/esm/chunks/{chunk.ZREXLSAJ.js → chunk.Z5ZLKM7W.js} +2 -2
  182. package/dist/esm/chunks/chunk.ZGRQDDHO.js +7 -0
  183. package/dist/esm/chunks/{chunk.U5XNDTSZ.js.map → chunk.ZGRQDDHO.js.map} +2 -2
  184. package/dist/esm/chunks/{chunk.TGVLYX5F.js → chunk.ZKM667OT.js} +2 -2
  185. package/dist/esm/chunks/{chunk.TGVLYX5F.js.map → chunk.ZKM667OT.js.map} +2 -2
  186. package/dist/esm/chunks/chunk.ZRSDTCSD.js +7 -0
  187. package/dist/esm/chunks/chunk.ZRSDTCSD.js.map +7 -0
  188. package/dist/esm/chunks/chunk.ZSZFWZAI.js +7 -0
  189. package/dist/esm/chunks/chunk.ZSZFWZAI.js.map +7 -0
  190. package/dist/esm/circular-progress/index.js +1 -1
  191. package/dist/esm/color-picker/index.js +1 -1
  192. package/dist/esm/core/base/index.js +1 -1
  193. package/dist/esm/core/index.js +1 -1
  194. package/dist/esm/core/utils/index.js +1 -1
  195. package/dist/esm/date-picker/index.js +1 -1
  196. package/dist/esm/date-range-picker/index.js +1 -1
  197. package/dist/esm/dialog/index.js +1 -1
  198. package/dist/esm/divider/index.js +1 -1
  199. package/dist/esm/drawer/base/index.js +1 -1
  200. package/dist/esm/drawer/drawer/index.js +1 -1
  201. package/dist/esm/drawer/index.js +1 -1
  202. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  203. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  204. package/dist/esm/expansion-panel/index.js +1 -1
  205. package/dist/esm/file-picker/index.js +1 -1
  206. package/dist/esm/floating-action-button/index.js +1 -1
  207. package/dist/esm/focus-indicator/index.js +1 -1
  208. package/dist/esm/icon/index.js +1 -1
  209. package/dist/esm/icon-button/index.js +1 -1
  210. package/dist/esm/index.js +1 -1
  211. package/dist/esm/inline-message/index.js +1 -1
  212. package/dist/esm/keyboard-shortcut/index.js +1 -1
  213. package/dist/esm/label/index.js +7 -0
  214. package/dist/esm/label/index.js.map +7 -0
  215. package/dist/esm/label-value/index.js +1 -1
  216. package/dist/esm/linear-progress/index.js +1 -1
  217. package/dist/esm/list/index.js +1 -1
  218. package/dist/esm/list/list/index.js +1 -1
  219. package/dist/esm/list/list-item/index.js +1 -1
  220. package/dist/esm/list-dropdown/index.js +1 -1
  221. package/dist/esm/menu/index.js +1 -1
  222. package/dist/esm/open-icon/index.js +1 -1
  223. package/dist/esm/page-state/index.js +1 -1
  224. package/dist/esm/paginator/index.js +1 -1
  225. package/dist/esm/popup/index.js +1 -1
  226. package/dist/esm/product-icon/index.js +1 -1
  227. package/dist/esm/profile-card/index.js +1 -1
  228. package/dist/esm/quantity-field/index.js +1 -1
  229. package/dist/esm/radio/index.js +1 -1
  230. package/dist/esm/ripple/index.js +1 -1
  231. package/dist/esm/scaffold/index.js +1 -1
  232. package/dist/esm/select/core/index.js +1 -1
  233. package/dist/esm/select/index.js +1 -1
  234. package/dist/esm/select/option/index.js +1 -1
  235. package/dist/esm/select/option-group/index.js +1 -1
  236. package/dist/esm/select/select/index.js +1 -1
  237. package/dist/esm/select/select-dropdown/index.js +1 -1
  238. package/dist/esm/skeleton/index.js +1 -1
  239. package/dist/esm/slider/index.js +1 -1
  240. package/dist/esm/split-button/index.js +7 -0
  241. package/dist/esm/split-button/index.js.map +7 -0
  242. package/dist/esm/split-view/index.js +1 -1
  243. package/dist/esm/split-view/split-view/index.js +1 -1
  244. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  245. package/dist/esm/stack/index.js +1 -1
  246. package/dist/esm/state-layer/index.js +1 -1
  247. package/dist/esm/stepper/index.js +1 -1
  248. package/dist/esm/stepper/step/index.js +1 -1
  249. package/dist/esm/stepper/stepper/index.js +1 -1
  250. package/dist/esm/switch/index.js +1 -1
  251. package/dist/esm/table/index.js +1 -1
  252. package/dist/esm/tabs/index.js +1 -1
  253. package/dist/esm/tabs/tab/index.js +1 -1
  254. package/dist/esm/tabs/tab-bar/index.js +1 -1
  255. package/dist/esm/text-field/index.js +1 -1
  256. package/dist/esm/time-picker/index.js +1 -1
  257. package/dist/esm/toast/index.js +1 -1
  258. package/dist/esm/toolbar/index.js +1 -1
  259. package/dist/esm/tooltip/index.js +1 -1
  260. package/dist/esm/view-switcher/index.js +1 -1
  261. package/dist/esm/view-switcher/view/index.js +1 -1
  262. package/dist/forge-dark.css +1 -1
  263. package/dist/forge.css +1 -1
  264. package/dist/table/forge-table.css +1 -1
  265. package/dist/theme/forge-theme.css +1 -1
  266. package/dist/typography/forge-typography.css +1 -1
  267. package/esm/app-bar/app-bar.js +1 -1
  268. package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
  269. package/esm/app-bar/menu-button/app-bar-menu-button.js +1 -1
  270. package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
  271. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +1 -1
  272. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  273. package/esm/autocomplete/autocomplete-foundation.js +2 -2
  274. package/esm/banner/banner-constants.js +1 -1
  275. package/esm/banner/banner.js +2 -2
  276. package/esm/bottom-sheet/bottom-sheet.js +1 -1
  277. package/esm/busy-indicator/busy-indicator.js +2 -2
  278. package/esm/button/base/base-button-adapter.d.ts +72 -0
  279. package/esm/button/base/base-button-adapter.js +250 -0
  280. package/esm/button/base/base-button-constants.d.ts +41 -0
  281. package/esm/button/base/base-button-constants.js +32 -0
  282. package/esm/button/base/base-button-foundation.d.ts +75 -0
  283. package/esm/button/base/base-button-foundation.js +234 -0
  284. package/esm/button/base/base-button.d.ts +51 -0
  285. package/esm/button/base/base-button.js +106 -0
  286. package/esm/button/button-adapter.d.ts +14 -0
  287. package/esm/button/button-adapter.js +14 -0
  288. package/esm/button/button-component-delegate.d.ts +4 -4
  289. package/esm/button/button-component-delegate.js +13 -17
  290. package/esm/button/button-constants.d.ts +10 -18
  291. package/esm/button/button-constants.js +6 -22
  292. package/esm/button/button-foundation.d.ts +25 -0
  293. package/esm/button/button-foundation.js +49 -0
  294. package/esm/button/button.d.ts +126 -30
  295. package/esm/button/button.js +160 -159
  296. package/esm/button/index.d.ts +3 -1
  297. package/esm/button/index.js +3 -1
  298. package/esm/button-toggle/button-toggle/button-toggle.js +1 -1
  299. package/esm/calendar/calendar-dom-utils.js +18 -30
  300. package/esm/calendar/calendar.js +1 -1
  301. package/esm/checkbox/checkbox-adapter.d.ts +50 -59
  302. package/esm/checkbox/checkbox-adapter.js +104 -186
  303. package/esm/checkbox/checkbox-component-delegate.d.ts +18 -9
  304. package/esm/checkbox/checkbox-component-delegate.js +58 -51
  305. package/esm/checkbox/checkbox-constants.d.ts +14 -56
  306. package/esm/checkbox/checkbox-constants.js +17 -50
  307. package/esm/checkbox/checkbox-foundation.d.ts +48 -18
  308. package/esm/checkbox/checkbox-foundation.js +139 -139
  309. package/esm/checkbox/checkbox.d.ts +120 -9
  310. package/esm/checkbox/checkbox.js +235 -36
  311. package/esm/checkbox/index.d.ts +1 -1
  312. package/esm/checkbox/index.js +1 -1
  313. package/esm/chip-field/chip-field-constants.d.ts +3 -0
  314. package/esm/chip-field/chip-field-constants.js +4 -0
  315. package/esm/chip-field/chip-field-foundation.d.ts +5 -0
  316. package/esm/chip-field/chip-field-foundation.js +20 -1
  317. package/esm/chip-field/chip-field.d.ts +5 -0
  318. package/esm/chip-field/chip-field.js +19 -1
  319. package/esm/chips/chip/chip.js +1 -1
  320. package/esm/circular-progress/circular-progress-constants.d.ts +4 -0
  321. package/esm/circular-progress/circular-progress-constants.js +2 -0
  322. package/esm/circular-progress/circular-progress-foundation.d.ts +9 -0
  323. package/esm/circular-progress/circular-progress-foundation.js +21 -0
  324. package/esm/circular-progress/circular-progress.d.ts +15 -2
  325. package/esm/circular-progress/circular-progress.js +25 -3
  326. package/esm/color-picker/color-picker.js +2 -2
  327. package/esm/constants.d.ts +7 -0
  328. package/esm/constants.js +4 -0
  329. package/esm/core/base/base-adapter.d.ts +13 -1
  330. package/esm/core/base/base-adapter.js +17 -0
  331. package/esm/core/base/base-component.d.ts +0 -38
  332. package/esm/core/base/base-component.js +0 -4
  333. package/esm/core/base/base-focusable-component.d.ts +49 -0
  334. package/esm/core/base/base-focusable-component.js +90 -0
  335. package/esm/core/base/base-form-component.d.ts +45 -0
  336. package/esm/core/base/base-form-component.js +19 -0
  337. package/esm/core/base/base-nullable-form-component.d.ts +35 -0
  338. package/esm/core/base/base-nullable-form-component.js +20 -0
  339. package/esm/core/utils/feature-detection.d.ts +10 -0
  340. package/esm/core/utils/feature-detection.js +12 -0
  341. package/esm/core/utils/index.d.ts +2 -1
  342. package/esm/core/utils/index.js +2 -1
  343. package/esm/core/utils/reflect-utils.d.ts +107 -0
  344. package/esm/core/utils/reflect-utils.js +227 -0
  345. package/esm/date-picker/base/base-date-picker-utils.js +5 -8
  346. package/esm/field/field-constants.d.ts +8 -0
  347. package/esm/field/field-constants.js +10 -8
  348. package/esm/file-picker/file-picker-component-delegate.js +1 -1
  349. package/esm/file-picker/file-picker.js +1 -1
  350. package/esm/focus-indicator/focus-indicator-adapter.d.ts +2 -2
  351. package/esm/focus-indicator/focus-indicator-adapter.js +3 -3
  352. package/esm/focus-indicator/focus-indicator-foundation.js +3 -2
  353. package/esm/focus-indicator/focus-indicator.js +1 -1
  354. package/esm/icon-button/icon-button-adapter.d.ts +12 -0
  355. package/esm/icon-button/icon-button-adapter.js +11 -0
  356. package/esm/icon-button/icon-button-component-delegate.d.ts +0 -4
  357. package/esm/icon-button/icon-button-component-delegate.js +8 -18
  358. package/esm/icon-button/icon-button-constants.d.ts +26 -17
  359. package/esm/icon-button/icon-button-constants.js +17 -28
  360. package/esm/icon-button/icon-button-foundation.d.ts +39 -0
  361. package/esm/icon-button/icon-button-foundation.js +122 -0
  362. package/esm/icon-button/icon-button.d.ts +69 -41
  363. package/esm/icon-button/icon-button.js +107 -213
  364. package/esm/index.d.ts +2 -0
  365. package/esm/index.js +4 -0
  366. package/esm/label/index.d.ts +11 -0
  367. package/esm/label/index.js +15 -0
  368. package/esm/label/label-adapter.d.ts +51 -0
  369. package/esm/label/label-adapter.js +102 -0
  370. package/esm/label/label-aware.d.ts +15 -0
  371. package/esm/label/label-aware.js +13 -0
  372. package/esm/label/label-constants.d.ts +17 -0
  373. package/esm/label/label-constants.js +31 -0
  374. package/esm/label/label-foundation.d.ts +40 -0
  375. package/esm/label/label-foundation.js +106 -0
  376. package/esm/label/label.d.ts +49 -0
  377. package/esm/label/label.js +80 -0
  378. package/esm/linear-progress/linear-progress-constants.d.ts +3 -0
  379. package/esm/linear-progress/linear-progress-constants.js +1 -0
  380. package/esm/linear-progress/linear-progress-foundation.d.ts +5 -0
  381. package/esm/linear-progress/linear-progress-foundation.js +13 -3
  382. package/esm/linear-progress/linear-progress.d.ts +8 -1
  383. package/esm/linear-progress/linear-progress.js +13 -2
  384. package/esm/list/list/list-adapter.js +0 -1
  385. package/esm/list/list/list.js +1 -1
  386. package/esm/list/list-item/list-item-adapter.d.ts +12 -4
  387. package/esm/list/list-item/list-item-adapter.js +36 -5
  388. package/esm/list/list-item/list-item-constants.d.ts +4 -0
  389. package/esm/list/list-item/list-item-constants.js +3 -1
  390. package/esm/list/list-item/list-item-foundation.d.ts +9 -0
  391. package/esm/list/list-item/list-item-foundation.js +34 -4
  392. package/esm/list/list-item/list-item.d.ts +15 -4
  393. package/esm/list/list-item/list-item.js +29 -6
  394. package/esm/menu/menu-constants.js +1 -1
  395. package/esm/menu/menu-foundation.js +0 -4
  396. package/esm/menu/menu.js +1 -1
  397. package/esm/paginator/paginator-adapter.d.ts +4 -2
  398. package/esm/paginator/paginator-adapter.js +21 -8
  399. package/esm/paginator/paginator-constants.js +4 -4
  400. package/esm/paginator/paginator-foundation.d.ts +2 -0
  401. package/esm/paginator/paginator-foundation.js +19 -16
  402. package/esm/paginator/paginator.d.ts +1 -0
  403. package/esm/paginator/paginator.js +5 -2
  404. package/esm/profile-card/profile-card.js +2 -2
  405. package/esm/quantity-field/quantity-field-constants.js +2 -2
  406. package/esm/select/core/base-select-foundation.js +3 -1
  407. package/esm/slider/slider-adapter.d.ts +1 -1
  408. package/esm/slider/slider-adapter.js +3 -2
  409. package/esm/slider/slider-constants.js +3 -3
  410. package/esm/slider/slider.d.ts +6 -11
  411. package/esm/slider/slider.js +11 -7
  412. package/esm/split-button/index.d.ts +10 -0
  413. package/esm/split-button/index.js +14 -0
  414. package/esm/split-button/split-button-adapter.d.ts +30 -0
  415. package/esm/split-button/split-button-adapter.js +84 -0
  416. package/esm/split-button/split-button-constants.d.ts +21 -0
  417. package/esm/split-button/split-button-constants.js +23 -0
  418. package/esm/split-button/split-button-foundation.d.ts +37 -0
  419. package/esm/split-button/split-button-foundation.js +77 -0
  420. package/esm/split-button/split-button.d.ts +57 -0
  421. package/esm/split-button/split-button.js +103 -0
  422. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  423. package/esm/state-layer/state-layer-adapter.js +1 -0
  424. package/esm/state-layer/state-layer-foundation.js +10 -1
  425. package/esm/state-layer/state-layer.js +1 -1
  426. package/esm/stepper/stepper/stepper-foundation.js +1 -1
  427. package/esm/switch/index.d.ts +2 -0
  428. package/esm/switch/index.js +2 -0
  429. package/esm/switch/switch-adapter.d.ts +30 -4
  430. package/esm/switch/switch-adapter.js +100 -18
  431. package/esm/switch/switch-component-delegate.d.ts +22 -7
  432. package/esm/switch/switch-component-delegate.js +63 -28
  433. package/esm/switch/switch-constants.d.ts +12 -2
  434. package/esm/switch/switch-constants.js +22 -11
  435. package/esm/switch/switch-foundation.d.ts +23 -4
  436. package/esm/switch/switch-foundation.js +63 -11
  437. package/esm/switch/switch.d.ts +28 -16
  438. package/esm/switch/switch.js +65 -36
  439. package/esm/table/table-foundation.d.ts +2 -0
  440. package/esm/table/table-foundation.js +17 -6
  441. package/esm/table/table-utils.js +13 -1
  442. package/esm/table/types.d.ts +1 -0
  443. package/esm/tabs/tab/tab.js +2 -2
  444. package/esm/tabs/tab-bar/tab-bar-adapter.js +17 -20
  445. package/esm/tabs/tab-bar/tab-bar.js +1 -1
  446. package/esm/time-picker/time-picker-adapter.js +5 -8
  447. package/esm/toast/toast-adapter.d.ts +1 -1
  448. package/esm/toast/toast-adapter.js +1 -1
  449. package/esm/toast/toast.js +2 -2
  450. package/package.json +1 -2
  451. package/styles/app-bar/_mixins.scss +9 -4
  452. package/styles/banner/banner.scss +0 -1
  453. package/styles/bottom-sheet/bottom-sheet.scss +0 -1
  454. package/styles/busy-indicator/_mixins.scss +1 -1
  455. package/styles/busy-indicator/busy-indicator.scss +0 -1
  456. package/styles/button/_configuration.scss +16 -0
  457. package/styles/button/_core.scss +183 -0
  458. package/styles/button/_token-utils.scss +30 -0
  459. package/styles/button/button.scss +208 -0
  460. package/styles/button/index.scss +8 -0
  461. package/styles/button-toggle/button-toggle/_mixins.scss +26 -7
  462. package/styles/calendar/calendar.scss +0 -4
  463. package/styles/{button/forge-button.scss → checkbox/_configuration.scss} +4 -3
  464. package/styles/checkbox/_core.scss +157 -0
  465. package/styles/checkbox/_token-utils.scss +30 -0
  466. package/styles/checkbox/checkbox.scss +143 -7
  467. package/styles/checkbox/index.scss +8 -0
  468. package/styles/chips/chip/_mixins.scss +21 -7
  469. package/styles/circular-progress/_configuration.scss +8 -15
  470. package/styles/circular-progress/_core.scss +19 -19
  471. package/styles/circular-progress/_token-utils.scss +30 -0
  472. package/styles/circular-progress/circular-progress.scss +51 -4
  473. package/styles/circular-progress/index.scss +1 -0
  474. package/styles/color-picker/color-picker.scss +0 -3
  475. package/styles/core/styles/_utils.scss +67 -4
  476. package/styles/core/styles/spacing/index.scss +7 -0
  477. package/styles/core/styles/tokens/_token-utils.scss +118 -0
  478. package/styles/core/styles/tokens/button/_tokens.scss +115 -0
  479. package/styles/core/styles/tokens/checkbox/_tokens.scss +69 -0
  480. package/styles/core/styles/tokens/circular-progress/_tokens.scss +13 -3
  481. package/styles/core/styles/tokens/focus-indicator/_tokens.scss +8 -5
  482. package/styles/core/styles/tokens/icon-button/_tokens.scss +106 -0
  483. package/styles/core/styles/tokens/index.scss +0 -1
  484. package/styles/core/styles/tokens/linear-progress/_tokens.scss +14 -3
  485. package/styles/core/styles/tokens/spacing/_tokens.scss +15 -1
  486. package/styles/core/styles/tokens/split-button/_tokens.scss +21 -0
  487. package/styles/core/styles/tokens/switch/_tokens.scss +4 -4
  488. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +1 -1
  489. package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +2 -2
  490. package/styles/core/styles/tokens/theme/_token-utils.scss +8 -4
  491. package/styles/core/styles/tokens/typography/_tokens.label.scss +0 -1
  492. package/styles/core/styles/typography/index.scss +26 -1
  493. package/styles/file-picker/_mixins.scss +1 -1
  494. package/styles/focus-indicator/_animations.scss +6 -4
  495. package/styles/focus-indicator/_configuration.scss +2 -15
  496. package/styles/focus-indicator/_core.scss +20 -25
  497. package/styles/focus-indicator/_token-utils.scss +31 -0
  498. package/styles/focus-indicator/focus-indicator.scss +28 -6
  499. package/styles/focus-indicator/index.scss +1 -0
  500. package/styles/forge.scss +0 -2
  501. package/styles/icon-button/_configuration.scss +16 -0
  502. package/styles/icon-button/_core.scss +145 -0
  503. package/styles/icon-button/_token-utils.scss +30 -0
  504. package/styles/icon-button/icon-button.scss +315 -0
  505. package/styles/icon-button/index.scss +8 -0
  506. package/styles/label/_core.scss +17 -0
  507. package/styles/{icon-button/forge-icon-button.scss → label/index.scss} +1 -3
  508. package/styles/label/label.scss +18 -0
  509. package/styles/linear-progress/_animations.scss +3 -1
  510. package/styles/linear-progress/_configuration.scss +15 -16
  511. package/styles/linear-progress/_core.scss +17 -19
  512. package/styles/linear-progress/_token-utils.scss +31 -0
  513. package/styles/linear-progress/index.scss +1 -0
  514. package/styles/linear-progress/linear-progress.scss +42 -6
  515. package/styles/list/list/_configuration.scss +2 -4
  516. package/styles/list/list/_core.scss +3 -8
  517. package/styles/list/list/_token-utils.scss +30 -0
  518. package/styles/list/list/index.scss +1 -0
  519. package/styles/list/list/list.scss +11 -0
  520. package/styles/list/list-item/_configuration.scss +5 -61
  521. package/styles/list/list-item/_core.scss +51 -56
  522. package/styles/list/list-item/_token-utils.scss +30 -0
  523. package/styles/list/list-item/index.scss +1 -0
  524. package/styles/list/list-item/list-item.scss +10 -3
  525. package/styles/menu/menu.scss +1 -1
  526. package/styles/paginator/paginator.scss +0 -1
  527. package/styles/profile-card/profile-card.scss +0 -1
  528. package/styles/slider/_configuration.scss +5 -50
  529. package/styles/slider/_core.scss +58 -63
  530. package/styles/slider/_token-utils.scss +30 -0
  531. package/styles/slider/index.scss +1 -0
  532. package/styles/slider/slider.scss +26 -3
  533. package/styles/split-button/_configuration.scss +12 -0
  534. package/styles/split-button/_token-utils.scss +30 -0
  535. package/styles/split-button/index.scss +7 -0
  536. package/styles/split-button/split-button.scss +97 -0
  537. package/styles/state-layer/_configuration.scss +2 -9
  538. package/styles/state-layer/_core.scss +11 -16
  539. package/styles/state-layer/_token-utils.scss +31 -0
  540. package/styles/state-layer/index.scss +1 -0
  541. package/styles/state-layer/state-layer.scss +7 -0
  542. package/styles/switch/_configuration.scss +2 -87
  543. package/styles/switch/_core.scss +83 -86
  544. package/styles/switch/_token-utils.scss +30 -0
  545. package/styles/switch/index.scss +1 -0
  546. package/styles/switch/switch.scss +118 -84
  547. package/styles/table/_mixins.scss +20 -2
  548. package/styles/tabs/tab/_configuration.scss +7 -49
  549. package/styles/tabs/tab/_core.scss +27 -32
  550. package/styles/tabs/tab/_token-utils.scss +30 -0
  551. package/styles/tabs/tab/index.scss +1 -0
  552. package/styles/tabs/tab/tab.scss +87 -44
  553. package/styles/tabs/tab-bar/_configuration.scss +2 -5
  554. package/styles/tabs/tab-bar/_core.scss +26 -9
  555. package/styles/tabs/tab-bar/_token-utils.scss +30 -0
  556. package/styles/tabs/tab-bar/index.scss +2 -1
  557. package/styles/tabs/tab-bar/tab-bar.scss +68 -34
  558. package/styles/toast/_mixins.scss +1 -1
  559. package/styles/toast/toast.scss +0 -2
  560. package/styles/typography/forge-typography.scss +5 -2
  561. package/dist/button/forge-button.css +0 -6
  562. package/dist/esm/chunks/chunk.2LIWNFQK.js +0 -7
  563. package/dist/esm/chunks/chunk.3X4N4ZPY.js +0 -7
  564. package/dist/esm/chunks/chunk.3X4N4ZPY.js.map +0 -7
  565. package/dist/esm/chunks/chunk.436MTO6R.js +0 -7
  566. package/dist/esm/chunks/chunk.436MTO6R.js.map +0 -7
  567. package/dist/esm/chunks/chunk.4CXLGEJO.js +0 -7
  568. package/dist/esm/chunks/chunk.4CXLGEJO.js.map +0 -7
  569. package/dist/esm/chunks/chunk.7L66GZDN.js +0 -7
  570. package/dist/esm/chunks/chunk.7PPBXNAD.js +0 -7
  571. package/dist/esm/chunks/chunk.7PPBXNAD.js.map +0 -7
  572. package/dist/esm/chunks/chunk.A3ZDCBLA.js +0 -7
  573. package/dist/esm/chunks/chunk.A3ZDCBLA.js.map +0 -7
  574. package/dist/esm/chunks/chunk.CMRVP4EA.js +0 -7
  575. package/dist/esm/chunks/chunk.CZEF72BG.js +0 -12
  576. package/dist/esm/chunks/chunk.CZEF72BG.js.map +0 -7
  577. package/dist/esm/chunks/chunk.D5ZHKPCL.js +0 -7
  578. package/dist/esm/chunks/chunk.D5ZHKPCL.js.map +0 -7
  579. package/dist/esm/chunks/chunk.DLQSINSS.js +0 -7
  580. package/dist/esm/chunks/chunk.DLQSINSS.js.map +0 -7
  581. package/dist/esm/chunks/chunk.G6JWSERI.js +0 -7
  582. package/dist/esm/chunks/chunk.G6JWSERI.js.map +0 -7
  583. package/dist/esm/chunks/chunk.GO5A4GKZ.js +0 -7
  584. package/dist/esm/chunks/chunk.GO5A4GKZ.js.map +0 -7
  585. package/dist/esm/chunks/chunk.GWIXDVIA.js +0 -7
  586. package/dist/esm/chunks/chunk.GWIXDVIA.js.map +0 -7
  587. package/dist/esm/chunks/chunk.HGH6SSHZ.js +0 -7
  588. package/dist/esm/chunks/chunk.HGH6SSHZ.js.map +0 -7
  589. package/dist/esm/chunks/chunk.HJ23XQDJ.js +0 -7
  590. package/dist/esm/chunks/chunk.HJ23XQDJ.js.map +0 -7
  591. package/dist/esm/chunks/chunk.I5SFCLDD.js +0 -7
  592. package/dist/esm/chunks/chunk.IURDWGLD.js +0 -7
  593. package/dist/esm/chunks/chunk.IURDWGLD.js.map +0 -7
  594. package/dist/esm/chunks/chunk.JCO4M4PF.js +0 -7
  595. package/dist/esm/chunks/chunk.LNLO36U6.js +0 -7
  596. package/dist/esm/chunks/chunk.LV7XF22P.js +0 -7
  597. package/dist/esm/chunks/chunk.LV7XF22P.js.map +0 -7
  598. package/dist/esm/chunks/chunk.MLTEGJH6.js +0 -7
  599. package/dist/esm/chunks/chunk.MWWY5TX5.js +0 -7
  600. package/dist/esm/chunks/chunk.MWWY5TX5.js.map +0 -7
  601. package/dist/esm/chunks/chunk.O5GE3FFV.js +0 -7
  602. package/dist/esm/chunks/chunk.O5GE3FFV.js.map +0 -7
  603. package/dist/esm/chunks/chunk.OQ75YGB6.js +0 -7
  604. package/dist/esm/chunks/chunk.PCOOIP2H.js +0 -7
  605. package/dist/esm/chunks/chunk.PCOOIP2H.js.map +0 -7
  606. package/dist/esm/chunks/chunk.PDICDA2V.js +0 -7
  607. package/dist/esm/chunks/chunk.PDICDA2V.js.map +0 -7
  608. package/dist/esm/chunks/chunk.Q7BWJCT5.js +0 -7
  609. package/dist/esm/chunks/chunk.TSH7BTC3.js +0 -7
  610. package/dist/esm/chunks/chunk.U5XNDTSZ.js +0 -7
  611. package/dist/esm/chunks/chunk.UAKQY7QB.js +0 -7
  612. package/dist/esm/chunks/chunk.UAKQY7QB.js.map +0 -7
  613. package/dist/esm/chunks/chunk.UAVC4YLD.js +0 -7
  614. package/dist/esm/chunks/chunk.URFSXQKR.js +0 -7
  615. package/dist/esm/chunks/chunk.V6443MP3.js +0 -7
  616. package/dist/esm/chunks/chunk.V6443MP3.js.map +0 -7
  617. package/dist/esm/chunks/chunk.VAAID3SH.js +0 -7
  618. package/dist/esm/chunks/chunk.VAAID3SH.js.map +0 -7
  619. package/dist/esm/chunks/chunk.VPNDAKM3.js +0 -7
  620. package/dist/esm/chunks/chunk.VPNDAKM3.js.map +0 -7
  621. package/dist/esm/chunks/chunk.WCTSXMGU.js +0 -7
  622. package/dist/esm/chunks/chunk.WCTSXMGU.js.map +0 -7
  623. package/dist/esm/chunks/chunk.WOMYKBUG.js +0 -12
  624. package/dist/esm/chunks/chunk.WOMYKBUG.js.map +0 -7
  625. package/dist/esm/chunks/chunk.WVGIT7F7.js +0 -7
  626. package/dist/esm/chunks/chunk.WVGIT7F7.js.map +0 -7
  627. package/dist/esm/chunks/chunk.YOXZOPAC.js +0 -7
  628. package/dist/esm/chunks/chunk.YOXZOPAC.js.map +0 -7
  629. package/dist/esm/chunks/chunk.YP2NHWIW.js +0 -7
  630. package/dist/esm/chunks/chunk.YPA27RX7.js +0 -7
  631. package/dist/esm/chunks/chunk.YXXKPT6P.js +0 -7
  632. package/dist/esm/chunks/chunk.ZMUDT5UK.js +0 -7
  633. package/dist/esm/chunks/chunk.ZMUDT5UK.js.map +0 -7
  634. package/dist/icon-button/forge-icon-button.css +0 -6
  635. package/esm/core/utils/a11y-utils.d.ts +0 -32
  636. package/esm/core/utils/a11y-utils.js +0 -111
  637. package/styles/button/_button-base.scss +0 -183
  638. package/styles/button/_button-filled-theme.scss +0 -60
  639. package/styles/button/_button-filled.scss +0 -71
  640. package/styles/button/_button-outlined-theme.scss +0 -175
  641. package/styles/button/_button-outlined.scss +0 -76
  642. package/styles/button/_button-protected-theme.scss +0 -60
  643. package/styles/button/_button-protected.scss +0 -88
  644. package/styles/button/_button-ripple.scss +0 -69
  645. package/styles/button/_button-shared-theme.scss +0 -447
  646. package/styles/button/_button-text-theme.scss +0 -60
  647. package/styles/button/_button-text.scss +0 -57
  648. package/styles/button/_button.mixins.scss +0 -148
  649. package/styles/button/_mixins.scss +0 -183
  650. package/styles/checkbox/_checkbox-custom-properties.scss +0 -11
  651. package/styles/checkbox/_checkbox-theme.scss +0 -577
  652. package/styles/checkbox/_checkbox.mixins.scss +0 -595
  653. package/styles/icon-button/_mixins.scss +0 -345
  654. package/styles/icon-button/_variables.scss +0 -42
  655. /package/dist/esm/chunks/{chunk.4USQ2AP6.js.map → chunk.2MSL7CYM.js.map} +0 -0
  656. /package/dist/esm/chunks/{chunk.HDO3WRH7.js.map → chunk.3HCYRDRI.js.map} +0 -0
  657. /package/dist/esm/chunks/{chunk.UVJFHSMF.js.map → chunk.3R4BUIQP.js.map} +0 -0
  658. /package/dist/esm/chunks/{chunk.37JFBP4X.js.map → chunk.3ZPSN2QG.js.map} +0 -0
  659. /package/dist/esm/chunks/{chunk.HKSXC5VK.js.map → chunk.5N4N6DL6.js.map} +0 -0
  660. /package/dist/esm/chunks/{chunk.AQ7ROWO4.js.map → chunk.5PG6WIIX.js.map} +0 -0
  661. /package/dist/esm/chunks/{chunk.C7VEJINB.js.map → chunk.675V42JS.js.map} +0 -0
  662. /package/dist/esm/chunks/{chunk.OQAD6MFL.js.map → chunk.7ZROQ6D3.js.map} +0 -0
  663. /package/dist/esm/chunks/{chunk.W7H2ZYNR.js.map → chunk.AMLT6XJP.js.map} +0 -0
  664. /package/dist/esm/chunks/{chunk.TCFKFKZW.js.map → chunk.AMZZKEAE.js.map} +0 -0
  665. /package/dist/esm/chunks/{chunk.DH76CMUT.js.map → chunk.APPY5AYL.js.map} +0 -0
  666. /package/dist/esm/chunks/{chunk.7M4HRJYP.js.map → chunk.ARQMMZJL.js.map} +0 -0
  667. /package/dist/esm/chunks/{chunk.QNVVUUNQ.js.map → chunk.AUBOJZQ7.js.map} +0 -0
  668. /package/dist/esm/chunks/{chunk.RXLORASN.js.map → chunk.BB4UF5RX.js.map} +0 -0
  669. /package/dist/esm/chunks/{chunk.NDJZYFRT.js.map → chunk.BTXY3XMJ.js.map} +0 -0
  670. /package/dist/esm/chunks/{chunk.AY43NTAK.js.map → chunk.DTLZOIUQ.js.map} +0 -0
  671. /package/dist/esm/chunks/{chunk.PLNLLKP2.js.map → chunk.FLWNOP42.js.map} +0 -0
  672. /package/dist/esm/chunks/{chunk.IJ2I25V3.js.map → chunk.FXIWCHLW.js.map} +0 -0
  673. /package/dist/esm/chunks/{chunk.6VSFLBZF.js.map → chunk.G73KL7P2.js.map} +0 -0
  674. /package/dist/esm/chunks/{chunk.PDSOXEMY.js.map → chunk.GNDKQPDV.js.map} +0 -0
  675. /package/dist/esm/chunks/{chunk.RWUJGZ3R.js.map → chunk.HAKF2T2D.js.map} +0 -0
  676. /package/dist/esm/chunks/{chunk.ZYVXIP42.js.map → chunk.HDG2GHKC.js.map} +0 -0
  677. /package/dist/esm/chunks/{chunk.EY37FYZ4.js.map → chunk.HOLCNJXC.js.map} +0 -0
  678. /package/dist/esm/chunks/{chunk.DQVYB55P.js.map → chunk.HRRJIFC5.js.map} +0 -0
  679. /package/dist/esm/chunks/{chunk.WK2L7BPJ.js.map → chunk.IDMDBMBR.js.map} +0 -0
  680. /package/dist/esm/chunks/{chunk.WJXDDQUK.js.map → chunk.IHAHJPMB.js.map} +0 -0
  681. /package/dist/esm/chunks/{chunk.DABGA7I6.js.map → chunk.IMLJD35R.js.map} +0 -0
  682. /package/dist/esm/chunks/{chunk.66X366TV.js.map → chunk.IT7XPDAV.js.map} +0 -0
  683. /package/dist/esm/chunks/{chunk.RNUGVHZF.js.map → chunk.JVLJH6PR.js.map} +0 -0
  684. /package/dist/esm/chunks/{chunk.MLTEGJH6.js.map → chunk.KPJWP77R.js.map} +0 -0
  685. /package/dist/esm/chunks/{chunk.Z6AFASMO.js.map → chunk.KV5IKYG2.js.map} +0 -0
  686. /package/dist/esm/chunks/{chunk.7UJAI6P2.js.map → chunk.LCR4YH3O.js.map} +0 -0
  687. /package/dist/esm/chunks/{chunk.2WSXSOYB.js.map → chunk.LOG6GQOK.js.map} +0 -0
  688. /package/dist/esm/chunks/{chunk.VDGJ4UDL.js.map → chunk.MKJCHUJH.js.map} +0 -0
  689. /package/dist/esm/chunks/{chunk.IXGXASHQ.js.map → chunk.MWYQRG5W.js.map} +0 -0
  690. /package/dist/esm/chunks/{chunk.CBIHNCT5.js.map → chunk.NUMKGUCK.js.map} +0 -0
  691. /package/dist/esm/chunks/{chunk.R6NA7SV2.js.map → chunk.O6V3YNMO.js.map} +0 -0
  692. /package/dist/esm/chunks/{chunk.CQQSOTZ5.js.map → chunk.QLCVRJ3Q.js.map} +0 -0
  693. /package/dist/esm/chunks/{chunk.E4TAHUQO.js.map → chunk.R6LQBI42.js.map} +0 -0
  694. /package/dist/esm/chunks/{chunk.FK6NNHXH.js.map → chunk.RES7WDKH.js.map} +0 -0
  695. /package/dist/esm/chunks/{chunk.2LIWNFQK.js.map → chunk.RP674CRC.js.map} +0 -0
  696. /package/dist/esm/chunks/{chunk.SEWAMWO6.js.map → chunk.SIRXAA3O.js.map} +0 -0
  697. /package/dist/esm/chunks/{chunk.WWTQAN4G.js.map → chunk.SLJ6HDK7.js.map} +0 -0
  698. /package/dist/esm/chunks/{chunk.RBFGJH3C.js.map → chunk.TU74SREL.js.map} +0 -0
  699. /package/dist/esm/chunks/{chunk.4JF54GDJ.js.map → chunk.URJQNB3S.js.map} +0 -0
  700. /package/dist/esm/chunks/{chunk.C2MQN7MI.js.map → chunk.V24M62MC.js.map} +0 -0
  701. /package/dist/esm/chunks/{chunk.R2KOYHIZ.js.map → chunk.VO6YJCEU.js.map} +0 -0
  702. /package/dist/esm/chunks/{chunk.C5ZUGOOC.js.map → chunk.W2LN45WY.js.map} +0 -0
  703. /package/dist/esm/chunks/{chunk.HBCDD25D.js.map → chunk.XEFWZKHQ.js.map} +0 -0
  704. /package/dist/esm/chunks/{chunk.MHU452GM.js.map → chunk.XLL7L2UB.js.map} +0 -0
  705. /package/dist/esm/chunks/{chunk.YPA27RX7.js.map → chunk.XYAZVLPR.js.map} +0 -0
  706. /package/dist/esm/chunks/{chunk.AHAARGYM.js.map → chunk.YAERJVPL.js.map} +0 -0
  707. /package/dist/esm/chunks/{chunk.7L66GZDN.js.map → chunk.YBZK6LJZ.js.map} +0 -0
  708. /package/dist/esm/chunks/{chunk.CMRVP4EA.js.map → chunk.YKIBREM5.js.map} +0 -0
  709. /package/dist/esm/chunks/{chunk.ZREXLSAJ.js.map → chunk.Z5ZLKM7W.js.map} +0 -0
@@ -3,12 +3,16 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- @use '@material/button/button-outlined-theme' as mdc-button-outlined-theme;
7
6
  @use '@material/chips/chip-theme' as mdc-chip-theme;
7
+ @use '@material/ripple/ripple' as mdc-ripple;
8
8
  @use '@material/ripple/ripple-theme' as mdc-ripple-theme;
9
9
  @use '@material/animation/animation' as mdc-animation;
10
10
  @use '@material/theme/theme' as mdc-theme;
11
- @use '../../button/mixins' as button-mixins;
11
+ @use '@material/feature-targeting/feature-targeting' as mdc-feature-targeting;
12
+ @use '@material/button/button-base' as mdc-button-base;
13
+ @use '@material/button/button-shared-theme' as mdc-button-shared-theme;
14
+ @use '@material/button/button-outlined' as mdc-button-outlined;
15
+ @use '@material/button/button-outlined-theme' as mdc-button-outlined-theme;
12
16
  @use '@material/checkbox/checkbox' as mdc-checkbox;
13
17
  @use '../../theme';
14
18
  @use './variables';
@@ -18,8 +22,6 @@
18
22
  @include base;
19
23
 
20
24
  &.forge-chip--disabled {
21
- @include button-mixins.outlined-disabled;
22
-
23
25
  @include theme.property(border-color, border-color);
24
26
  @include mdc-theme.property(color, text-disabled-on-light);
25
27
  cursor: default;
@@ -198,15 +200,27 @@
198
200
  }
199
201
 
200
202
  @mixin base() {
201
- @include button-mixins.base;
202
- @include button-mixins.outlined;
203
+ @include mdc-ripple.surface();
204
+ @include mdc-ripple.radius-bounded();
205
+ @include mdc-ripple-theme.states(primary, false);
206
+ @include mdc-button-base.base(mdc-feature-targeting.all());
207
+ @include mdc-button-shared-theme.shape-radius(small);
208
+ @include mdc-button-shared-theme.container-fill-color(transparent);
209
+ @include mdc-button-shared-theme.ink-color(primary);
210
+ @include mdc-button-shared-theme.density(0);
211
+ @include mdc-button-outlined.outlined(mdc-feature-targeting.all());
212
+ @include mdc-button-outlined-theme.outline-width(mdc-button-outlined-theme.$outlined-border-width);
213
+ @include mdc-button-outlined-theme.outline-color(primary);
214
+
203
215
  @include mdc-chip-theme.shape-radius(50%);
204
216
  @include theme.css-custom-property(width, --forge-chip-width, auto);
205
217
  @include theme.css-custom-property(height, --forge-chip-height, auto);
206
218
  @include theme.css-custom-property(min-height, --forge-chip-min-height, variables.$min-height);
207
-
219
+
208
220
  box-sizing: border-box;
209
221
  transition: mdc-animation.enter(background-color, 150ms);
222
+ text-transform: none;
223
+ overflow: hidden;
210
224
  }
211
225
 
212
226
  @mixin invalid() {
@@ -3,21 +3,14 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- @use '../core/styles/tokens/circular-progress/tokens';
6
+ @use './token-utils' as *;
7
7
 
8
- ///
9
- /// Initializes private configuration state CSS variables
10
- ///
11
- @mixin configuration {
12
- // Tokens
13
- --_size: #{tokens.get(size)};
14
- --_spacing: #{tokens.get(padding)};
15
- --_track-width: #{tokens.get(track-width)};
16
- --_track-color: #{tokens.get(track-color)};
17
- --_track-background: #{tokens.get(track-background)};
18
- --_arc-duration: #{tokens.get(arc-duration)};
8
+ $_host-tokens: [size];
9
+
10
+ @mixin host-configuration {
11
+ @include tokens($includes: $_host-tokens);
12
+ }
19
13
 
20
- // Duration variables
21
- --_cycle-duration: calc(4 * var(--_arc-duration));
22
- --_linear-duration: calc(var(--_arc-duration) * 360 / 306);
14
+ @mixin configuration {
15
+ @include tokens($excludes: $_host-tokens);
23
16
  }
@@ -5,18 +5,15 @@
5
5
  */
6
6
  @use 'sass:list';
7
7
  @use './animation';
8
- @use '../core/styles/utils';
9
- @use '../core/styles/tokens/circular-progress/tokens';
8
+ @use './token-utils' as *;
10
9
 
11
- @mixin provide-theme($theme) {
12
- @include utils.provide(tokens.$tokens, $theme, circular-progress);
13
- }
10
+ $_cycle-duration: calc(4 * #{token(arc-duration)});
14
11
 
15
12
  @mixin container {
16
13
  display: inline-flex;
17
14
  vertical-align: middle;
18
- min-block-size: #{tokens.get(size)};
19
- min-inline-size: #{tokens.get(size)};
15
+ min-block-size: #{token(size)};
16
+ min-inline-size: #{token(size)};
20
17
  position: relative;
21
18
  align-items: center;
22
19
  justify-content: center;
@@ -30,13 +27,13 @@
30
27
  @mixin progress {
31
28
  flex: 1;
32
29
  align-self: stretch;
33
- margin: var(--_spacing);
30
+ margin: #{token(padding)};
34
31
  }
35
32
 
36
33
  @mixin indeterminate {
37
34
  will-change: transform;
38
35
  animation: #{animation.$indeterminate-animation};
39
- animation-duration: var(--_linear-duration);
36
+ animation-duration: calc(#{token(arc-duration)} * 360 / 306);
40
37
  }
41
38
 
42
39
  @mixin indeterminate-left {
@@ -57,20 +54,21 @@
57
54
  @mixin indeterminate-circle {
58
55
  box-sizing: border-box;
59
56
  border-radius: 50%;
60
- border: solid calc(var(--_size) * var(--_track-width) / 100);
61
- border-color: var(--_track-color) var(--_track-color) transparent transparent;
57
+ border: solid calc(#{token(size)} * #{token(track-width)} / 100);
58
+ border-color: #{token(indicator-color)} #{token(indicator-color)} transparent transparent;
59
+ transition: border-color #{token(theme-transition-duration)} #{token(theme-transition-timing)};
62
60
  will-change: transform;
63
61
  animation: #{animation.$indeterminate-circle-animation};
64
62
  animation-iteration-count: infinite;
65
63
  animation-fill-mode: both;
66
- animation-duration: var(--_arc-duration), var(--_cycle-duration);
64
+ animation-duration: #{token(arc-duration)}, #{$_cycle-duration};
67
65
  animation-timing-function: #{animation.$indeterminate-easing};
68
66
  }
69
67
 
70
68
  @mixin indeterminate-right-circle {
71
69
  rotate: 100deg;
72
70
  inset: 0 0 0 -100%;
73
- animation-delay: calc(-0.5 * var(--_arc-duration)), 0ms;
71
+ animation-delay: calc(-0.5 * #{token(arc-duration)}), 0ms;
74
72
  }
75
73
 
76
74
  @mixin determinate-svg {
@@ -80,17 +78,18 @@
80
78
  @mixin determinate-svg-circle {
81
79
  cx: 50%;
82
80
  cy: 50%;
83
- r: calc(50% * (1 - var(--_track-width) / 100));
81
+ r: calc(50% * (1 - #{token(track-width)} / 100));
84
82
  // match size to indeterminate border width
85
- stroke-width: calc(var(--_track-width) * 1%);
83
+ stroke-width: calc(#{token(track-width)} * 1%);
86
84
  // note, pathLength is set so this can be normalized
87
85
  stroke-dasharray: 100;
88
86
  fill: transparent;
89
87
  }
90
88
 
91
89
  @mixin determinate-progress {
92
- transition: stroke-dashoffset 500ms #{animation.$determinate-easing};
93
- stroke: var(--_track-color);
90
+ transition: stroke-dashoffset 500ms #{animation.$determinate-easing},
91
+ stroke #{token(theme-transition-duration)} #{token(theme-transition-timing)};
92
+ stroke: #{token(indicator-color)};
94
93
  }
95
94
 
96
95
  @mixin determinate-track {
@@ -98,13 +97,14 @@
98
97
  }
99
98
 
100
99
  @mixin determinate-track-background {
101
- stroke: var(--_track-background);
100
+ transition: stroke #{token(theme-transition-duration)} #{token(theme-transition-timing)};
101
+ stroke: #{token(track-color)};
102
102
  }
103
103
 
104
104
  @mixin determinate-spinner {
105
105
  will-change: transform;
106
106
  animation: #{animation.$determinate-animation};
107
- animation-duration: var(--_cycle-duration);
107
+ animation-duration: #{$_cycle-duration};
108
108
  animation-timing-function: #{animation.$indeterminate-easing};
109
109
  }
110
110
 
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ @use '../core/styles/tokens/circular-progress/tokens';
7
+ @use '../core/styles/tokens/token-utils';
8
+
9
+ $_module: circular-progress;
10
+ $_tokens: tokens.$tokens;
11
+
12
+ @mixin provide-theme($theme) {
13
+ @include token-utils.provide-theme($_module, $_tokens, $theme);
14
+ }
15
+
16
+ @function token($name, $type: token) {
17
+ @return token-utils.token($_module, $_tokens, $name, $type);
18
+ }
19
+
20
+ @function declare($token) {
21
+ @return token-utils.declare($_module, $token);
22
+ }
23
+
24
+ @mixin override($token, $token-or-value, $type: token) {
25
+ @include token-utils.override($_module, $_tokens, $token, $token-or-value, $type);
26
+ }
27
+
28
+ @mixin tokens($includes: null, $excludes: null) {
29
+ @include token-utils.tokens($_module, $_tokens, $includes, $excludes);
30
+ }
@@ -6,8 +6,17 @@
6
6
  @use './core';
7
7
  @use './animation';
8
8
  @use './configuration';
9
+ @use '../core/styles/theme';
10
+ @use './token-utils' as *;
11
+
12
+ //
13
+ // Host styles
14
+ //
15
+
16
+ :host {
17
+ @include configuration.host-configuration;
18
+ }
9
19
 
10
- /// Host styles
11
20
  :host {
12
21
  @include core.container;
13
22
  }
@@ -16,9 +25,15 @@
16
25
  display: none;
17
26
  }
18
27
 
19
- /// Base styles
28
+ //
29
+ // Base styles
30
+ //
31
+
20
32
  .forge-circular-progress {
21
33
  @include configuration.configuration;
34
+ }
35
+
36
+ .forge-circular-progress {
22
37
  @include core.progress;
23
38
 
24
39
  &--indeterminate {
@@ -39,7 +54,10 @@ svg {
39
54
  @include core.center-content;
40
55
  }
41
56
 
42
- /// Indeterminate styles
57
+ //
58
+ // Indeterminate styles
59
+ //
60
+
43
61
  .left {
44
62
  @include core.indeterminate-left;
45
63
 
@@ -60,7 +78,10 @@ svg {
60
78
  @include core.indeterminate-circle;
61
79
  }
62
80
 
63
- /// Determinate styles
81
+ //
82
+ // Determinate styles
83
+ //
84
+
64
85
  svg {
65
86
  @include core.determinate-svg;
66
87
 
@@ -85,6 +106,32 @@ svg {
85
106
  @include core.determinate-spinner;
86
107
  }
87
108
 
109
+ //
110
+ // Theme
111
+ //
112
+
113
+ @mixin theme($theme) {
114
+ :host([theme=#{$theme}]) {
115
+ .forge-circular-progress {
116
+ @include override(indicator-color, theme.variable($theme), value);
117
+ @include override(track-color, theme.variable(#{$theme}-container), value);
118
+ }
119
+ }
120
+ }
121
+
122
+ @include theme(primary);
123
+ @include theme(secondary);
124
+ @include theme(success);
125
+ @include theme(error);
126
+ @include theme(warning);
127
+ @include theme(info);
128
+
129
+ :host([no-track]) {
130
+ .forge-circular-progress {
131
+ @include override(track-color, transparent, value);
132
+ }
133
+ }
134
+
88
135
  @media screen and (forced-colors: active) {
89
136
  .progress {
90
137
  stroke: CanvasText;
@@ -6,3 +6,4 @@
6
6
  @forward './animation';
7
7
  @forward './configuration';
8
8
  @forward './core';
9
+ @forward './token-utils' show provide-theme;
@@ -6,9 +6,6 @@
6
6
  @use '../theme';
7
7
  @use './mixins';
8
8
 
9
- // Required component styles
10
- @use '../icon-button/forge-icon-button';
11
-
12
9
  @include mixins.styles;
13
10
 
14
11
  :host {
@@ -31,15 +31,23 @@
31
31
  /// ```
32
32
  ///
33
33
  @function module-ref($module, $token, $value, $type: ref, $prefix: config.$prefix) {
34
- $fallback: if($type == ref, module-var($value), $value);
34
+ $fallback: if($type == ref, module-var($module, $value), $value);
35
35
  @return create-var($module, $token, $fallback, $prefix);
36
36
  }
37
37
 
38
38
  ///
39
- /// Gets a module token CSS variable.
39
+ /// Creates an internal token reference variable for a module.
40
+ ///
41
+ /// Example:
42
+ /// ```sass
43
+ /// color: #{module-var(color)}; // => color: var(--_component-name-color);
44
+ /// ```
40
45
  ///
41
- @function module-var($token, $prefix: config.$prefix) {
42
- @return var(--_#{$token});
46
+ /// @param {String} $module - The module name.
47
+ /// @param {String} $token - The token name.
48
+ ///
49
+ @function module-var($module, $token, $prefix: config.$prefix) {
50
+ @return var(#{create-module-var($module, $token)});
43
51
  }
44
52
 
45
53
  ///
@@ -93,6 +101,47 @@
93
101
  }
94
102
  }
95
103
 
104
+ ///
105
+ /// Creates a token CSS custom property definition to point one token to another.
106
+ ///
107
+ /// If `$new-token` is not a valid token then the provided value will be used verbatim.
108
+ ///
109
+ /// Example:
110
+ /// ```sass
111
+ /// #{override(component-name, tokens, color, new-color)}; // => --_component-name-color: var(--_component-name-new-color);
112
+ /// #{override(component-name, tokens, color, red)}; // => --_component-name-color: red;
113
+ /// ```
114
+ ///
115
+ /// @param {String} $module - The module name.
116
+ /// @param {String} $module-tokens - The available tokens.
117
+ /// @param {String} $token - The token name to override.
118
+ /// @param {String} $token-or-value - The token name (if exists) or value to point to.
119
+ /// @param {Boolean} $type - The type of token this is. Valid values are `token` and `value`.
120
+ ///
121
+ @mixin override($module, $module-tokens, $token, $token-or-value, $type: token) {
122
+ @if $type == 'token' {
123
+ @if not map.get($module-tokens, $token) {
124
+ @error 'Invalid token "#{$token}" for module "#{$module}"';
125
+ }
126
+ @if not map.get($module-tokens, $token-or-value) {
127
+ @error 'Invalid override token "#{$token-or-value}" for module "#{$module}"';
128
+ }
129
+ }
130
+
131
+ // When the "token" type is specified, we output a module-level CSS custom property override
132
+ // that points to the provided token. This ensures that the module is taking ownership of the
133
+ // token value (which breaks the global cascading of internal tokens) and the module can choose
134
+ // to provide its own token specific to that override.
135
+ //
136
+ // When the "value" type is specified, we output a global-level CSS custom property override
137
+ // that points to the provided value. This keeps the global cascading of internal tokens intact
138
+ // instead of just overriding the token to a specific unchangeable value.
139
+ $value: if($type == 'token' and map.has-key($module-tokens, $token-or-value),
140
+ module-var($module, $token-or-value),
141
+ create-var($module, $token, $token-or-value));
142
+ #{create-module-var($module, $token)}: #{$value};
143
+ }
144
+
96
145
  ///
97
146
  /// Creates a new map by inheriting from a base map and overriding/adding values.
98
147
  ///
@@ -125,6 +174,20 @@
125
174
  --#{$prefix}-#{$module}-#{$name}: #{$value};
126
175
  }
127
176
 
177
+ ///
178
+ /// Declares an internal token reference variable for a module.
179
+ ///
180
+ /// Example:
181
+ /// ```sass
182
+ /// #{create-module-var(color)}: red; // => --_component-name-color: red;
183
+ /// ```
184
+ ///
185
+ /// @param {String} $token - The token name.
186
+ ///
187
+ @function create-module-var($module, $token) {
188
+ @return --_#{$module}-#{$token};
189
+ }
190
+
128
191
  ///
129
192
  /// Flattens multiple maps into a single map.
130
193
  ///
@@ -8,6 +8,13 @@
8
8
  @use '../tokens/spacing/tokens';
9
9
  @use '../utils';
10
10
 
11
+ ///
12
+ /// Gets a spacing token value.
13
+ ///
14
+ @function value($key) {
15
+ @return tokens.get($key);
16
+ }
17
+
11
18
  ///
12
19
  /// Gets a CSS custom property declaration for a specific spacing token with its token value as the fallback value.
13
20
  ///
@@ -0,0 +1,118 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ @use 'sass:meta';
7
+ @use 'sass:map';
8
+ @use 'sass:list';
9
+ @use '../utils';
10
+
11
+ ///
12
+ /// Mixin for providing theme tokens to the module using external names.
13
+ ///
14
+ /// Example:
15
+ /// ```sass
16
+ /// provide-theme(( color: red )); // => --forge-component-name-color: red;
17
+ /// ```
18
+ ///
19
+ /// @param {String} $module - The module name.
20
+ /// @param {Map} $tokens - The tokens for this module.
21
+ /// @param {Map} $theme - The theme tokens.
22
+ ///
23
+ @mixin provide-theme($module, $tokens, $theme) {
24
+ @include utils.provide($tokens, $theme, $module);
25
+ }
26
+
27
+ ///
28
+ /// Creates an internal token reference variable for the module.
29
+ ///
30
+ /// This function requires that the token exists in the module.
31
+ ///
32
+ /// Example:
33
+ /// ```sass
34
+ /// color: #{token(color)}; // => color: var(--_component-name-color);
35
+ /// color: #{token(my-color, custom)}; // => color: var(--_component-name-my-color);
36
+ /// ```
37
+ ///
38
+ /// @param {String} $module - The module name.
39
+ /// @param {String} $tokens - The tokens for this module.
40
+ /// @param {String} $token - The token name.
41
+ /// @param {String} $type - The type of token this is. Valid values are `token` and `custom`. Using `custom` will not check if the token exists.
42
+ ///
43
+ @function token($module, $tokens, $token, $type: token) {
44
+ @if ($type == 'token' and not map.has-key($tokens, $token)) {
45
+ @error 'Invalid token "#{$token}" for module "#{$module}"';
46
+ }
47
+ @return utils.module-var($module, $token);
48
+ }
49
+
50
+ ///
51
+ /// Declares an internal token reference variable for the module.
52
+ ///
53
+ /// Example:
54
+ /// ```sass
55
+ /// #{declare(color)}: red; // => --_component-name-color: red;
56
+ /// ```
57
+ ///
58
+ /// @param {String} $module - The module name.
59
+ /// @param {String} $token - The token name.
60
+ ///
61
+ @function declare($module, $token) {
62
+ @return utils.create-module-var($module, $token);
63
+ }
64
+
65
+ ///
66
+ /// Creates a token CSS custom property definition to point one token to another.
67
+ ///
68
+ /// If `$new-token` is not a valid token then the provided value will be used verbatim.
69
+ ///
70
+ /// Example:
71
+ /// ```sass
72
+ /// #{override(color, new-color)}; // => --_component-name-color: var(--_component-name-new-color);
73
+ /// ```
74
+ ///
75
+ /// @param {String} $module - The module name.
76
+ /// @param {String} $tokens - The tokens for this module.
77
+ /// @param {String} $token - The token name to override.
78
+ /// @param {String} $token-or-value - The token name (if exists) or value to point to.
79
+ /// @param {Boolean} $type - The type of token this is. Valid values are `token` and `value`.
80
+ ///
81
+ @mixin override($module, $tokens, $token, $token-or-value, $type: token) {
82
+ @include utils.override($module, $tokens, $token, $token-or-value, $type);
83
+ }
84
+
85
+ ///
86
+ /// Generates CSS custom property declarations for all provided module-level tokens.
87
+ ///
88
+ /// @param {String} $module - The module name.
89
+ /// @param {String} $tokens - The tokens for this module.
90
+ /// @param {List} $includes - An optional list of token names to include from `$tokens`
91
+ /// @param {List} $excludes - An optional list of token names to exclude from `$tokens`
92
+ ///
93
+ @mixin tokens($module, $tokens, $includes: null, $excludes: null) {
94
+ @if ($includes) {
95
+ // We are including only specific tokens
96
+ @each $token in $includes {
97
+ @if (not map.has-key($tokens, $token)) {
98
+ @error 'Invalid include token "#{$token}" for module "#{$module}"';
99
+ }
100
+ #{declare($module, $token)}: #{map.get($tokens, $token)};
101
+ }
102
+ } @else {
103
+ // We are including all tokens, but first we need to check if any excluded tokens were provided
104
+ @if ($excludes) {
105
+ @each $token in $excludes {
106
+ @if (not map.has-key($tokens, $token)) {
107
+ @error 'Invalid exclude token "#{$token}" for module "#{$module}"';
108
+ }
109
+ $tokens: map.remove($tokens, $token);
110
+ }
111
+ }
112
+
113
+ @each $token-name, $token-value in $tokens {
114
+ #{declare($module, $token-name)}: #{$token-value};
115
+ }
116
+ }
117
+ }
118
+
@@ -0,0 +1,115 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ @use 'sass:map';
7
+ @use '../../animation';
8
+ @use '../../border';
9
+ @use '../../elevation';
10
+ @use '../../shape';
11
+ @use '../../spacing';
12
+ @use '../../theme';
13
+ @use '../../typography';
14
+ @use '../../utils';
15
+
16
+ $tokens: (
17
+ // Shared
18
+ primary-color: utils.module-val(button, primary-color, theme.variable(primary)),
19
+ text-color: utils.module-ref(button, text-color, primary-color),
20
+ disabled-color: utils.module-val(button, disabled, theme.variable(surface-container)),
21
+ padding: utils.module-val(button, padding, 8px),
22
+ display: utils.module-val(button, display, inline-flex),
23
+ justify: utils.module-val(button, justify, center),
24
+ shape: utils.module-val(button, shape, shape.variable(medium)),
25
+
26
+ // Base
27
+ height: utils.module-val(button, height, 36px),
28
+ min-width: utils.module-val(button, min-width, 64px),
29
+ spacing: utils.module-val(button, spacing, spacing.variable(xsmall)),
30
+ border-width: utils.module-val(button, border-width, medium),
31
+ border-style: utils.module-val(button, border-style, none),
32
+ border-color: utils.module-val(button, border-color, currentColor),
33
+ shape-start-start-radius: utils.module-ref(button, shape-start-start-radius, shape),
34
+ shape-start-end-radius: utils.module-ref(button, shape-start-end-radius, shape),
35
+ shape-end-start-radius: utils.module-ref(button, shape-end-start-radius, shape),
36
+ shape-end-end-radius: utils.module-ref(button, shape-end-end-radius, shape),
37
+ padding-block: utils.module-ref(button, padding-block, padding),
38
+ padding-inline: utils.module-ref(button, padding-inline, padding),
39
+ background: utils.module-val(button, background, transparent),
40
+ hover-background: utils.module-ref(button, hover-background, background),
41
+ active-background: utils.module-ref(button, active-background, background),
42
+ color: utils.module-ref(button, color, text-color),
43
+ icon-size: utils.module-val(button, icon-size, typography.font-size-relative('1125')),
44
+ shadow: utils.module-val(button, shadow, none),
45
+ hover-shadow: utils.module-val(button, hover-shadow, none),
46
+ active-shadow: utils.module-val(button, active-shadow, none),
47
+ cursor: utils.module-val(button, cursor, pointer),
48
+ transition-duration: utils.module-val(button, transition-duration, animation.variable(duration-short3)),
49
+ transition-timing: utils.module-val(button, transition-timing, animation.variable(easing-standard)),
50
+
51
+ // Outlined
52
+ outlined-background: utils.module-ref(button, outlined-background, background),
53
+ outlined-color: utils.module-ref(button, outlined-color, primary-color),
54
+ outlined-border-width: utils.module-val(button, outlined-border-width, border.variable(thin)),
55
+ outlined-border-style: utils.module-val(button, outlined-border-style, solid),
56
+ outlined-border-color: utils.module-ref(button, outlined-border-color, primary-color),
57
+
58
+ // Tonal
59
+ tonal-background: utils.module-val(button, tonal-background, theme.variable(primary-container)),
60
+ tonal-disabled-background: utils.module-ref(button, tonal-disabled-background, disabled-color),
61
+ tonal-color: utils.module-val(button, flat-color, theme.variable(on-primary-container)),
62
+ tonal-disabled-color: utils.module-ref(button, tonal-disabled-color, disabled-text-color),
63
+
64
+ // Filled
65
+ filled-background: utils.module-ref(button, filled-background, primary-color),
66
+ filled-disabled-background: utils.module-ref(button, filled-disabled-background, disabled-color),
67
+ filled-color: utils.module-val(button, filled-color, theme.variable(on-primary)),
68
+ filled-disabled-color: utils.module-ref(button, filled-disabled-color, disabled-text-color),
69
+
70
+ // Raised
71
+ raised-shadow: utils.module-val(button, raised-shadow, elevation.value(2)),
72
+ raised-hover-shadow: utils.module-val(button, raised-hover-shadow, elevation.value(4)),
73
+ raised-active-shadow: utils.module-val(button, raised-active-shadow, elevation.value(8)),
74
+ raised-disabled-shadow: utils.module-val(button, raised-disabled-shadow, none),
75
+
76
+ // Link
77
+ link-color: utils.module-ref(button, link-color, primary-color),
78
+ link-text-decoration: utils.module-val(button, link-text-decoration, underline),
79
+ link-height: utils.module-val(button, link-height, auto),
80
+ link-padding: utils.module-val(button, link-padding, 0),
81
+ link-line-height: utils.module-val(button, link-line-height, normal),
82
+ link-width: utils.module-val(button, link-width, auto),
83
+ link-hover-text-decoration: utils.module-val(button, link-hover-text-decoration, none),
84
+ link-active-opacity: utils.module-val(button, link-active-opacity, theme.emphasis(high)),
85
+ link-transition-duration: utils.module-val(button, link-transition-duration, animation.variable(duration-short3)),
86
+ link-transition-timing: utils.module-val(button, link-transition-timing, animation.variable(easing-standard)),
87
+
88
+ // Disabled
89
+ disabled-cursor: utils.module-val(button, disabled-cursor, not-allowed),
90
+ disabled-text-color: utils.module-val(button, disabled-text-color, theme.variable(text-low)),
91
+ disabled-background: utils.module-val(button, disabled-background, transparent),
92
+ disabled-border-color: utils.module-ref(button, disabled-border-color, disabled-color),
93
+ disabled-shadow: utils.module-val(button, disabled-shadow, none),
94
+
95
+ // Dense
96
+ dense-height: utils.module-val(button, dense-height, 24px),
97
+
98
+ // Pill
99
+ pill-shape: utils.module-val(button, pill-shape, shape.variable(full)),
100
+ pill-padding-inline: utils.module-val(button, pill-padding-inline, spacing.variable(small)),
101
+
102
+ // Focus indicator
103
+ focus-indicator-offset: utils.module-val(button, focus-indicator-offset, 4px),
104
+ text-focus-indicator-offset: utils.module-val(button, focus-indicator-offset, 0px),
105
+ link-focus-indicator-offset: utils.module-val(button, focus-indicator-offset, 2px),
106
+
107
+ // Popover icon
108
+ popover-icon-transition-duration: utils.module-val(button, popover-icon-transition-duration, animation.variable(duration-short3)),
109
+ popover-icon-transition-timing: utils.module-val(button, popover-icon-transition-timing, animation.variable(easing-standard)),
110
+ popover-icon-open-rotation: utils.module-val(button, popover-icon-open-rotation, 180deg)
111
+ ) !default;
112
+
113
+ @function get($key) {
114
+ @return map.get($tokens, $key);
115
+ }