@tylertech/forge 3.0.0-next.11 → 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 (849) hide show
  1. package/README.md +1 -6
  2. package/custom-elements.json +63803 -41782
  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 +7 -0
  19. package/dist/esm/button-area/index.js.map +7 -0
  20. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  21. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  22. package/dist/esm/button-toggle/index.js +1 -1
  23. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  24. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  25. package/dist/esm/calendar/index.js +1 -1
  26. package/dist/esm/card/index.js +1 -1
  27. package/dist/esm/checkbox/index.js +1 -1
  28. package/dist/esm/chip-field/index.js +1 -1
  29. package/dist/esm/chips/chip/index.js +1 -1
  30. package/dist/esm/chips/chip-set/index.js +1 -1
  31. package/dist/esm/chips/index.js +1 -1
  32. package/dist/esm/chunks/{chunk.SMGXXR6K.js → chunk.2MSL7CYM.js} +2 -2
  33. package/dist/esm/chunks/chunk.2ZU6LWHE.js +7 -0
  34. package/dist/esm/chunks/chunk.2ZU6LWHE.js.map +7 -0
  35. package/dist/esm/chunks/{chunk.COVTBIQQ.js → chunk.36C6SIPW.js} +2 -2
  36. package/dist/esm/chunks/{chunk.COVTBIQQ.js.map → chunk.36C6SIPW.js.map} +2 -2
  37. package/dist/esm/chunks/chunk.36F2GVWS.js +7 -0
  38. package/dist/esm/chunks/chunk.36F2GVWS.js.map +7 -0
  39. package/dist/esm/chunks/{chunk.M56LSSPW.js → chunk.3HCYRDRI.js} +2 -2
  40. package/dist/esm/chunks/{chunk.4ZKX3SO5.js → chunk.3R4BUIQP.js} +2 -2
  41. package/dist/esm/chunks/{chunk.YWNCJ7XP.js → chunk.3ZPSN2QG.js} +2 -2
  42. package/dist/esm/chunks/chunk.4SPEX2GJ.js +7 -0
  43. package/dist/esm/chunks/chunk.4SPEX2GJ.js.map +7 -0
  44. package/dist/esm/chunks/chunk.4YFJVHXN.js +7 -0
  45. package/dist/esm/chunks/chunk.4YFJVHXN.js.map +7 -0
  46. package/dist/esm/chunks/chunk.5A2PA7TL.js +7 -0
  47. package/dist/esm/chunks/chunk.5A2PA7TL.js.map +7 -0
  48. package/dist/esm/chunks/chunk.5CSXPRL3.js +7 -0
  49. package/dist/esm/chunks/chunk.5CSXPRL3.js.map +7 -0
  50. package/dist/esm/chunks/chunk.5LVZVQXB.js +7 -0
  51. package/dist/esm/chunks/{chunk.MGLL67VO.js.map → chunk.5LVZVQXB.js.map} +2 -2
  52. package/dist/esm/chunks/{chunk.LFODKHUO.js → chunk.5N4N6DL6.js} +2 -2
  53. package/dist/esm/chunks/chunk.5PG6WIIX.js +7 -0
  54. package/dist/esm/chunks/chunk.5PG6WIIX.js.map +7 -0
  55. package/dist/esm/chunks/{chunk.JIKSKUDW.js → chunk.5RM65QPN.js} +2 -2
  56. package/dist/esm/chunks/{chunk.JIKSKUDW.js.map → chunk.5RM65QPN.js.map} +3 -3
  57. package/dist/esm/chunks/chunk.5WMYF27O.js +7 -0
  58. package/dist/esm/chunks/chunk.5WMYF27O.js.map +7 -0
  59. package/dist/esm/chunks/{chunk.QOJESHEV.js → chunk.675V42JS.js} +2 -2
  60. package/dist/esm/chunks/chunk.6M27ERWW.js +12 -0
  61. package/dist/esm/chunks/chunk.6M27ERWW.js.map +7 -0
  62. package/dist/esm/chunks/chunk.6NTYTHAL.js +7 -0
  63. package/dist/esm/chunks/chunk.6NTYTHAL.js.map +7 -0
  64. package/dist/esm/chunks/chunk.6ZNBFKNP.js +7 -0
  65. package/dist/esm/chunks/chunk.6ZNBFKNP.js.map +7 -0
  66. package/dist/esm/chunks/{chunk.7TMLILLW.js → chunk.72JVXGHF.js} +2 -2
  67. package/dist/esm/chunks/{chunk.7TMLILLW.js.map → chunk.72JVXGHF.js.map} +1 -1
  68. package/dist/esm/chunks/chunk.7V4BDSA5.js +7 -0
  69. package/dist/esm/chunks/chunk.7V4BDSA5.js.map +7 -0
  70. package/dist/esm/chunks/chunk.7VMJLHQY.js +7 -0
  71. package/dist/esm/chunks/chunk.7VMJLHQY.js.map +7 -0
  72. package/dist/esm/chunks/chunk.7ZROQ6D3.js +7 -0
  73. package/dist/esm/chunks/chunk.7ZROQ6D3.js.map +7 -0
  74. package/dist/esm/chunks/{chunk.DG4ZM3AW.js → chunk.AMLT6XJP.js} +2 -2
  75. package/dist/esm/chunks/chunk.AMZZKEAE.js +7 -0
  76. package/dist/esm/chunks/chunk.AMZZKEAE.js.map +7 -0
  77. package/dist/esm/chunks/{chunk.MTKSU2BV.js → chunk.APPY5AYL.js} +2 -2
  78. package/dist/esm/chunks/{chunk.4YFVG4KP.js → chunk.ARQMMZJL.js} +2 -2
  79. package/dist/esm/chunks/chunk.AUBOJZQ7.js +7 -0
  80. package/dist/esm/chunks/chunk.AUBOJZQ7.js.map +7 -0
  81. package/dist/esm/chunks/chunk.AUCBR6CC.js +7 -0
  82. package/dist/esm/chunks/{chunk.SFCGOCQK.js.map → chunk.AUCBR6CC.js.map} +2 -2
  83. package/dist/esm/chunks/{chunk.5MZ5SGMO.js → chunk.BB4UF5RX.js} +2 -2
  84. package/dist/esm/chunks/chunk.BBCZNGT3.js +7 -0
  85. package/dist/esm/chunks/chunk.BBCZNGT3.js.map +7 -0
  86. package/dist/esm/chunks/chunk.BQ2X5SBP.js +7 -0
  87. package/dist/esm/chunks/{chunk.TYLOAD7R.js.map → chunk.BQ2X5SBP.js.map} +2 -2
  88. package/dist/esm/chunks/chunk.BTXY3XMJ.js +7 -0
  89. package/dist/esm/chunks/chunk.BTXY3XMJ.js.map +7 -0
  90. package/dist/esm/chunks/{chunk.Q7Z3SJ5F.js → chunk.DTLZOIUQ.js} +2 -2
  91. package/dist/esm/chunks/chunk.EJX6RI4I.js +7 -0
  92. package/dist/esm/chunks/chunk.EJX6RI4I.js.map +7 -0
  93. package/dist/esm/chunks/chunk.EWK76SPH.js +7 -0
  94. package/dist/esm/chunks/chunk.EWK76SPH.js.map +7 -0
  95. package/dist/esm/chunks/chunk.FAXYCG55.js +7 -0
  96. package/dist/esm/chunks/chunk.FAXYCG55.js.map +7 -0
  97. package/dist/esm/chunks/chunk.FFHSUJFM.js +7 -0
  98. package/dist/esm/chunks/chunk.FFHSUJFM.js.map +7 -0
  99. package/dist/esm/chunks/{chunk.OWCYRSI3.js → chunk.FLWNOP42.js} +2 -2
  100. package/dist/esm/chunks/{chunk.S3JMOOWC.js → chunk.FXIWCHLW.js} +2 -2
  101. package/dist/esm/chunks/chunk.FYVDTZLF.js +7 -0
  102. package/dist/esm/chunks/{chunk.CDGZYUQS.js.map → chunk.FYVDTZLF.js.map} +2 -2
  103. package/dist/esm/chunks/chunk.G73KL7P2.js +7 -0
  104. package/dist/esm/chunks/{chunk.7DB3XVPI.js.map → chunk.G73KL7P2.js.map} +3 -3
  105. package/dist/esm/chunks/chunk.G7SMCLHQ.js +7 -0
  106. package/dist/esm/chunks/chunk.G7SMCLHQ.js.map +7 -0
  107. package/dist/esm/chunks/chunk.GHR7T6U2.js +7 -0
  108. package/dist/esm/chunks/chunk.GHR7T6U2.js.map +7 -0
  109. package/dist/esm/chunks/{chunk.CWTV3TB3.js → chunk.GNDKQPDV.js} +2 -2
  110. package/dist/esm/chunks/{chunk.ULY4H76N.js → chunk.HAKF2T2D.js} +2 -2
  111. package/dist/esm/chunks/chunk.HDG2GHKC.js +7 -0
  112. package/dist/esm/chunks/{chunk.SBYX7VZ4.js.map → chunk.HDG2GHKC.js.map} +2 -2
  113. package/dist/esm/chunks/{chunk.WPG7NNQX.js → chunk.HOLCNJXC.js} +2 -2
  114. package/dist/esm/chunks/{chunk.W4247Q2P.js → chunk.HRRJIFC5.js} +2 -2
  115. package/dist/esm/chunks/chunk.HSI7B43D.js +7 -0
  116. package/dist/esm/chunks/chunk.HSI7B43D.js.map +7 -0
  117. package/dist/esm/chunks/chunk.IAWYYNUU.js +7 -0
  118. package/dist/esm/chunks/chunk.IAWYYNUU.js.map +7 -0
  119. package/dist/esm/chunks/{chunk.SU4FU7GK.js → chunk.IDMDBMBR.js} +2 -2
  120. package/dist/esm/chunks/{chunk.FCATJM34.js → chunk.IHAHJPMB.js} +2 -2
  121. package/dist/esm/chunks/chunk.IISWKFCX.js +7 -0
  122. package/dist/esm/chunks/chunk.IISWKFCX.js.map +7 -0
  123. package/dist/esm/chunks/{chunk.XKI46BH2.js → chunk.IMLJD35R.js} +2 -2
  124. package/dist/esm/chunks/{chunk.624UKZFU.js → chunk.IT7XPDAV.js} +2 -2
  125. package/dist/esm/chunks/{chunk.MVTBJPO2.js → chunk.JAWV5Y5T.js} +1 -1
  126. package/dist/esm/chunks/{chunk.MVTBJPO2.js.map → chunk.JAWV5Y5T.js.map} +2 -2
  127. package/dist/esm/chunks/{chunk.JLLHDJSO.js → chunk.JVLJH6PR.js} +2 -2
  128. package/dist/esm/chunks/chunk.KPJWP77R.js +7 -0
  129. package/dist/esm/chunks/{chunk.2EWV2XBP.js → chunk.KV5IKYG2.js} +2 -2
  130. package/dist/esm/chunks/chunk.KV67JXOC.js +7 -0
  131. package/dist/esm/chunks/{chunk.B4T3R53C.js.map → chunk.KV67JXOC.js.map} +2 -2
  132. package/dist/esm/chunks/{chunk.A62DE5PD.js → chunk.LCR4YH3O.js} +2 -2
  133. package/dist/esm/chunks/{chunk.FWFOOQMA.js → chunk.LOG6GQOK.js} +2 -2
  134. package/dist/esm/chunks/chunk.LUIKMPQR.js +7 -0
  135. package/dist/esm/chunks/chunk.LUIKMPQR.js.map +7 -0
  136. package/dist/esm/chunks/chunk.LUNKNRRH.js +7 -0
  137. package/dist/esm/chunks/chunk.LUNKNRRH.js.map +7 -0
  138. package/dist/esm/chunks/chunk.MKJCHUJH.js +7 -0
  139. package/dist/esm/chunks/chunk.MKJCHUJH.js.map +7 -0
  140. package/dist/esm/chunks/chunk.MWYQRG5W.js +7 -0
  141. package/dist/esm/chunks/{chunk.YX7WLO5Y.js.map → chunk.MWYQRG5W.js.map} +2 -2
  142. package/dist/esm/chunks/{chunk.YLG6ZC5K.js → chunk.NUMKGUCK.js} +2 -2
  143. package/dist/esm/chunks/{chunk.XI3MJSIS.js → chunk.O6V3YNMO.js} +2 -2
  144. package/dist/esm/chunks/chunk.OWZREAT6.js +15 -0
  145. package/dist/esm/chunks/chunk.OWZREAT6.js.map +7 -0
  146. package/dist/esm/chunks/chunk.PMYQY3D3.js +7 -0
  147. package/dist/esm/chunks/chunk.PMYQY3D3.js.map +7 -0
  148. package/dist/esm/chunks/chunk.PYR2OCCH.js +7 -0
  149. package/dist/esm/chunks/{chunk.5565ZSTH.js.map → chunk.PYR2OCCH.js.map} +2 -2
  150. package/dist/esm/chunks/chunk.QJCNMYD3.js +7 -0
  151. package/dist/esm/chunks/{chunk.SJJS4LYN.js.map → chunk.QJCNMYD3.js.map} +2 -2
  152. package/dist/esm/chunks/{chunk.TK5I4RHF.js → chunk.QLCVRJ3Q.js} +2 -2
  153. package/dist/esm/chunks/chunk.QLOYOZN3.js +7 -0
  154. package/dist/esm/chunks/{chunk.F5SY2D4B.js.map → chunk.QLOYOZN3.js.map} +3 -3
  155. package/dist/esm/chunks/chunk.QN5T26HH.js +7 -0
  156. package/dist/esm/chunks/chunk.QN5T26HH.js.map +7 -0
  157. package/dist/esm/chunks/chunk.QQRPV4RN.js +7 -0
  158. package/dist/esm/chunks/{chunk.PEBT47AU.js.map → chunk.QQRPV4RN.js.map} +2 -2
  159. package/dist/esm/chunks/chunk.R6LQBI42.js +177 -0
  160. package/dist/esm/chunks/chunk.R6LQBI42.js.map +7 -0
  161. package/dist/esm/chunks/chunk.RES7WDKH.js +7 -0
  162. package/dist/esm/chunks/chunk.RES7WDKH.js.map +7 -0
  163. package/dist/esm/chunks/chunk.RP674CRC.js +7 -0
  164. package/dist/esm/chunks/chunk.S5QL4SPT.js +7 -0
  165. package/dist/esm/chunks/chunk.S5QL4SPT.js.map +7 -0
  166. package/dist/esm/chunks/chunk.SIRXAA3O.js +7 -0
  167. package/dist/esm/chunks/chunk.SIRXAA3O.js.map +7 -0
  168. package/dist/esm/chunks/{chunk.LTT67HTW.js → chunk.SLJ6HDK7.js} +2 -2
  169. package/dist/esm/chunks/chunk.STB2FEUA.js +7 -0
  170. package/dist/esm/chunks/chunk.STB2FEUA.js.map +7 -0
  171. package/dist/esm/chunks/chunk.TBGMJQYJ.js +7 -0
  172. package/dist/esm/chunks/chunk.TBGMJQYJ.js.map +7 -0
  173. package/dist/esm/chunks/{chunk.6OW6Q3EW.js → chunk.TU74SREL.js} +2 -2
  174. package/dist/esm/chunks/{chunk.EK24Y56W.js → chunk.URJQNB3S.js} +2 -2
  175. package/dist/esm/chunks/{chunk.AEKOP3XT.js → chunk.V24M62MC.js} +2 -2
  176. package/dist/esm/chunks/{chunk.AEKOP3XT.js.map → chunk.V24M62MC.js.map} +2 -2
  177. package/dist/esm/chunks/chunk.VFKHRAWD.js +7 -0
  178. package/dist/esm/chunks/chunk.VFKHRAWD.js.map +7 -0
  179. package/dist/esm/chunks/chunk.VO6YJCEU.js +7 -0
  180. package/dist/esm/chunks/chunk.VO6YJCEU.js.map +7 -0
  181. package/dist/esm/chunks/{chunk.K3KAM2PL.js → chunk.W2LN45WY.js} +2 -2
  182. package/dist/esm/chunks/{chunk.MHBBMC6O.js → chunk.WMVYRDUJ.js} +2 -2
  183. package/dist/esm/chunks/{chunk.MHBBMC6O.js.map → chunk.WMVYRDUJ.js.map} +2 -2
  184. package/dist/esm/chunks/chunk.WY3E33CW.js +7 -0
  185. package/dist/esm/chunks/chunk.WY3E33CW.js.map +7 -0
  186. package/dist/esm/chunks/{chunk.Z6FCL3G3.js → chunk.XEFWZKHQ.js} +2 -2
  187. package/dist/esm/chunks/{chunk.NR3MLTXF.js → chunk.XLL7L2UB.js} +2 -2
  188. package/dist/esm/chunks/chunk.XNFS7YIB.js +7 -0
  189. package/dist/esm/chunks/chunk.XNFS7YIB.js.map +7 -0
  190. package/dist/esm/chunks/chunk.XYAZVLPR.js +7 -0
  191. package/dist/esm/chunks/chunk.YA3RDJCV.js +7 -0
  192. package/dist/esm/chunks/chunk.YA3RDJCV.js.map +7 -0
  193. package/dist/esm/chunks/{chunk.2QHD3DCR.js → chunk.YAERJVPL.js} +2 -2
  194. package/dist/esm/chunks/chunk.YBZK6LJZ.js +7 -0
  195. package/dist/esm/chunks/chunk.YKIBREM5.js +7 -0
  196. package/dist/esm/chunks/chunk.YKIBREM5.js.map +7 -0
  197. package/dist/esm/chunks/chunk.YWAUEUAH.js +7 -0
  198. package/dist/esm/chunks/chunk.YWAUEUAH.js.map +7 -0
  199. package/dist/esm/chunks/chunk.Z5RROENA.js +7 -0
  200. package/dist/esm/chunks/{chunk.6OUJSOJY.js.map → chunk.Z5RROENA.js.map} +3 -3
  201. package/dist/esm/chunks/{chunk.ZJC2DSNM.js → chunk.Z5ZLKM7W.js} +2 -2
  202. package/dist/esm/chunks/chunk.ZGRQDDHO.js +7 -0
  203. package/dist/esm/chunks/{chunk.BY25RT52.js.map → chunk.ZGRQDDHO.js.map} +2 -2
  204. package/dist/esm/chunks/{chunk.VSQOTSAO.js → chunk.ZKM667OT.js} +2 -2
  205. package/dist/esm/chunks/{chunk.VSQOTSAO.js.map → chunk.ZKM667OT.js.map} +2 -2
  206. package/dist/esm/chunks/chunk.ZRSDTCSD.js +7 -0
  207. package/dist/esm/chunks/chunk.ZRSDTCSD.js.map +7 -0
  208. package/dist/esm/chunks/chunk.ZSZFWZAI.js +7 -0
  209. package/dist/esm/chunks/chunk.ZSZFWZAI.js.map +7 -0
  210. package/dist/esm/circular-progress/index.js +1 -1
  211. package/dist/esm/color-picker/index.js +1 -1
  212. package/dist/esm/core/base/index.js +1 -1
  213. package/dist/esm/core/index.js +1 -1
  214. package/dist/esm/core/utils/index.js +1 -1
  215. package/dist/esm/date-picker/index.js +1 -1
  216. package/dist/esm/date-range-picker/index.js +1 -1
  217. package/dist/esm/dialog/index.js +1 -1
  218. package/dist/esm/divider/index.js +1 -1
  219. package/dist/esm/drawer/base/index.js +1 -1
  220. package/dist/esm/drawer/drawer/index.js +1 -1
  221. package/dist/esm/drawer/index.js +1 -1
  222. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  223. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  224. package/dist/esm/expansion-panel/index.js +1 -1
  225. package/dist/esm/file-picker/index.js +1 -1
  226. package/dist/esm/floating-action-button/index.js +1 -1
  227. package/dist/esm/floating-label/index.js +1 -1
  228. package/dist/esm/focus-indicator/index.js +1 -1
  229. package/dist/esm/icon/index.js +1 -1
  230. package/dist/esm/icon-button/index.js +1 -1
  231. package/dist/esm/index.js +1 -1
  232. package/dist/esm/inline-message/index.js +1 -1
  233. package/dist/esm/keyboard-shortcut/index.js +1 -1
  234. package/dist/esm/label/index.js +7 -0
  235. package/dist/esm/label/index.js.map +7 -0
  236. package/dist/esm/label-value/index.js +1 -1
  237. package/dist/esm/linear-progress/index.js +1 -1
  238. package/dist/esm/list/index.js +1 -1
  239. package/dist/esm/list/list/index.js +1 -1
  240. package/dist/esm/list/list-item/index.js +1 -1
  241. package/dist/esm/list-dropdown/index.js +1 -1
  242. package/dist/esm/menu/index.js +1 -1
  243. package/dist/esm/open-icon/index.js +1 -1
  244. package/dist/esm/page-state/index.js +1 -1
  245. package/dist/esm/paginator/index.js +1 -1
  246. package/dist/esm/popup/index.js +1 -1
  247. package/dist/esm/product-icon/index.js +1 -1
  248. package/dist/esm/profile-card/index.js +1 -1
  249. package/dist/esm/quantity-field/index.js +1 -1
  250. package/dist/esm/radio/index.js +1 -1
  251. package/dist/esm/ripple/index.js +1 -1
  252. package/dist/esm/scaffold/index.js +1 -1
  253. package/dist/esm/select/core/index.js +1 -1
  254. package/dist/esm/select/index.js +1 -1
  255. package/dist/esm/select/option/index.js +1 -1
  256. package/dist/esm/select/option-group/index.js +1 -1
  257. package/dist/esm/select/select/index.js +1 -1
  258. package/dist/esm/select/select-dropdown/index.js +1 -1
  259. package/dist/esm/skeleton/index.js +1 -1
  260. package/dist/esm/slider/index.js +1 -1
  261. package/dist/esm/split-button/index.js +7 -0
  262. package/dist/esm/split-button/index.js.map +7 -0
  263. package/dist/esm/split-view/index.js +1 -1
  264. package/dist/esm/split-view/split-view/index.js +1 -1
  265. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  266. package/dist/esm/stack/index.js +1 -1
  267. package/dist/esm/state-layer/index.js +1 -1
  268. package/dist/esm/stepper/index.js +1 -1
  269. package/dist/esm/stepper/step/index.js +1 -1
  270. package/dist/esm/stepper/stepper/index.js +1 -1
  271. package/dist/esm/switch/index.js +1 -1
  272. package/dist/esm/table/index.js +1 -1
  273. package/dist/esm/tabs/index.js +1 -1
  274. package/dist/esm/tabs/tab/index.js +1 -1
  275. package/dist/esm/tabs/tab-bar/index.js +1 -1
  276. package/dist/esm/text-field/index.js +1 -1
  277. package/dist/esm/time-picker/index.js +1 -1
  278. package/dist/esm/toast/index.js +1 -1
  279. package/dist/esm/toolbar/index.js +1 -1
  280. package/dist/esm/tooltip/index.js +1 -1
  281. package/dist/esm/view-switcher/index.js +1 -1
  282. package/dist/esm/view-switcher/view/index.js +1 -1
  283. package/dist/forge-dark.css +1 -1
  284. package/dist/forge.css +1 -1
  285. package/dist/table/forge-table.css +1 -1
  286. package/dist/theme/forge-theme.css +1 -1
  287. package/dist/typography/forge-typography-legacy.css +1 -1
  288. package/dist/typography/forge-typography.css +1 -1
  289. package/esm/app-bar/app-bar.js +1 -1
  290. package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
  291. package/esm/app-bar/menu-button/app-bar-menu-button.js +1 -1
  292. package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
  293. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +1 -1
  294. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  295. package/esm/autocomplete/autocomplete-constants.d.ts +3 -0
  296. package/esm/autocomplete/autocomplete-foundation.d.ts +3 -1
  297. package/esm/autocomplete/autocomplete-foundation.js +16 -2
  298. package/esm/autocomplete/autocomplete.d.ts +7 -1
  299. package/esm/autocomplete/autocomplete.js +7 -0
  300. package/esm/banner/banner-constants.js +1 -1
  301. package/esm/banner/banner.js +2 -2
  302. package/esm/bottom-sheet/bottom-sheet.js +1 -1
  303. package/esm/busy-indicator/busy-indicator.js +2 -2
  304. package/esm/button/base/base-button-adapter.d.ts +72 -0
  305. package/esm/button/base/base-button-adapter.js +250 -0
  306. package/esm/button/base/base-button-constants.d.ts +41 -0
  307. package/esm/button/base/base-button-constants.js +32 -0
  308. package/esm/button/base/base-button-foundation.d.ts +75 -0
  309. package/esm/button/base/base-button-foundation.js +234 -0
  310. package/esm/button/base/base-button.d.ts +51 -0
  311. package/esm/button/base/base-button.js +106 -0
  312. package/esm/button/button-adapter.d.ts +14 -0
  313. package/esm/button/button-adapter.js +14 -0
  314. package/esm/button/button-component-delegate.d.ts +4 -4
  315. package/esm/button/button-component-delegate.js +13 -17
  316. package/esm/button/button-constants.d.ts +10 -18
  317. package/esm/button/button-constants.js +6 -22
  318. package/esm/button/button-foundation.d.ts +25 -0
  319. package/esm/button/button-foundation.js +49 -0
  320. package/esm/button/button.d.ts +126 -30
  321. package/esm/button/button.js +160 -159
  322. package/esm/button/index.d.ts +3 -1
  323. package/esm/button/index.js +3 -1
  324. package/esm/button-area/button-area-adapter.d.ts +48 -0
  325. package/esm/button-area/button-area-adapter.js +121 -0
  326. package/esm/button-area/button-area-constants.d.ts +24 -0
  327. package/esm/button-area/button-area-constants.js +30 -0
  328. package/esm/button-area/button-area-foundation.d.ts +29 -0
  329. package/esm/button-area/button-area-foundation.js +94 -0
  330. package/esm/button-area/button-area.d.ts +29 -0
  331. package/esm/button-area/button-area.js +55 -0
  332. package/esm/button-area/index.d.ts +10 -0
  333. package/esm/button-area/index.js +14 -0
  334. package/esm/button-toggle/button-toggle/button-toggle.js +1 -1
  335. package/esm/calendar/calendar-dom-utils.js +18 -30
  336. package/esm/calendar/calendar-foundation.js +6 -0
  337. package/esm/calendar/calendar-menu/calendar-menu.js +1 -1
  338. package/esm/calendar/calendar.js +1 -1
  339. package/esm/checkbox/checkbox-adapter.d.ts +50 -59
  340. package/esm/checkbox/checkbox-adapter.js +104 -186
  341. package/esm/checkbox/checkbox-component-delegate.d.ts +18 -9
  342. package/esm/checkbox/checkbox-component-delegate.js +58 -51
  343. package/esm/checkbox/checkbox-constants.d.ts +14 -56
  344. package/esm/checkbox/checkbox-constants.js +17 -50
  345. package/esm/checkbox/checkbox-foundation.d.ts +48 -18
  346. package/esm/checkbox/checkbox-foundation.js +139 -139
  347. package/esm/checkbox/checkbox.d.ts +120 -9
  348. package/esm/checkbox/checkbox.js +235 -36
  349. package/esm/checkbox/index.d.ts +1 -1
  350. package/esm/checkbox/index.js +1 -1
  351. package/esm/chip-field/chip-field-adapter.js +1 -1
  352. package/esm/chip-field/chip-field-constants.d.ts +3 -0
  353. package/esm/chip-field/chip-field-constants.js +4 -0
  354. package/esm/chip-field/chip-field-foundation.d.ts +5 -0
  355. package/esm/chip-field/chip-field-foundation.js +20 -1
  356. package/esm/chip-field/chip-field.d.ts +5 -0
  357. package/esm/chip-field/chip-field.js +21 -3
  358. package/esm/chips/chip/chip.js +1 -1
  359. package/esm/circular-progress/circular-progress-constants.d.ts +4 -0
  360. package/esm/circular-progress/circular-progress-constants.js +2 -0
  361. package/esm/circular-progress/circular-progress-foundation.d.ts +9 -0
  362. package/esm/circular-progress/circular-progress-foundation.js +21 -0
  363. package/esm/circular-progress/circular-progress.d.ts +15 -2
  364. package/esm/circular-progress/circular-progress.js +25 -3
  365. package/esm/color-picker/color-picker.js +2 -2
  366. package/esm/constants.d.ts +7 -0
  367. package/esm/constants.js +4 -0
  368. package/esm/core/base/base-adapter.d.ts +18 -3
  369. package/esm/core/base/base-adapter.js +30 -2
  370. package/esm/core/base/base-component.d.ts +0 -1
  371. package/esm/core/base/base-component.js +0 -1
  372. package/esm/core/base/base-focusable-component.d.ts +49 -0
  373. package/esm/core/base/base-focusable-component.js +90 -0
  374. package/esm/core/base/base-form-component.d.ts +45 -0
  375. package/esm/core/base/base-form-component.js +19 -0
  376. package/esm/core/base/base-nullable-form-component.d.ts +35 -0
  377. package/esm/core/base/base-nullable-form-component.js +20 -0
  378. package/esm/core/keyboard/key-manager.d.ts +18 -0
  379. package/esm/core/keyboard/key-manager.js +47 -0
  380. package/esm/core/utils/feature-detection.d.ts +10 -0
  381. package/esm/core/utils/feature-detection.js +12 -0
  382. package/esm/core/utils/index.d.ts +2 -0
  383. package/esm/core/utils/index.js +2 -0
  384. package/esm/core/utils/reflect-utils.d.ts +107 -0
  385. package/esm/core/utils/reflect-utils.js +227 -0
  386. package/esm/core/utils/utils.d.ts +8 -0
  387. package/esm/core/utils/utils.js +15 -0
  388. package/esm/date-picker/base/base-date-picker-foundation.js +1 -1
  389. package/esm/date-picker/base/base-date-picker-utils.js +5 -8
  390. package/esm/date-range-picker/date-range-picker-foundation.js +2 -2
  391. package/esm/drawer/drawer/drawer.js +1 -1
  392. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  393. package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
  394. package/esm/expansion-panel/expansion-panel-adapter.d.ts +1 -0
  395. package/esm/expansion-panel/expansion-panel-adapter.js +7 -2
  396. package/esm/expansion-panel/expansion-panel.js +1 -1
  397. package/esm/field/field-constants.d.ts +8 -0
  398. package/esm/field/field-constants.js +10 -8
  399. package/esm/field/field-foundation.d.ts +1 -0
  400. package/esm/field/field-foundation.js +17 -7
  401. package/esm/file-picker/file-picker-component-delegate.js +1 -1
  402. package/esm/file-picker/file-picker.js +1 -1
  403. package/esm/floating-label/floating-label-foundation.d.ts +4 -1
  404. package/esm/floating-label/floating-label-foundation.js +9 -6
  405. package/esm/floating-label/floating-label.d.ts +6 -2
  406. package/esm/floating-label/floating-label.js +2 -2
  407. package/esm/focus-indicator/focus-indicator-adapter.d.ts +2 -2
  408. package/esm/focus-indicator/focus-indicator-adapter.js +3 -3
  409. package/esm/focus-indicator/focus-indicator-foundation.js +4 -3
  410. package/esm/focus-indicator/focus-indicator.js +1 -1
  411. package/esm/icon/icon-adapter.d.ts +0 -2
  412. package/esm/icon/icon-adapter.js +4 -5
  413. package/esm/icon/icon-foundation.js +0 -1
  414. package/esm/icon-button/icon-button-adapter.d.ts +12 -0
  415. package/esm/icon-button/icon-button-adapter.js +11 -0
  416. package/esm/icon-button/icon-button-component-delegate.d.ts +0 -4
  417. package/esm/icon-button/icon-button-component-delegate.js +8 -18
  418. package/esm/icon-button/icon-button-constants.d.ts +26 -17
  419. package/esm/icon-button/icon-button-constants.js +17 -28
  420. package/esm/icon-button/icon-button-foundation.d.ts +39 -0
  421. package/esm/icon-button/icon-button-foundation.js +122 -0
  422. package/esm/icon-button/icon-button.d.ts +69 -41
  423. package/esm/icon-button/icon-button.js +107 -213
  424. package/esm/index.d.ts +3 -0
  425. package/esm/index.js +8 -1
  426. package/esm/keyboard-shortcut/keyboard-shortcut-constants.d.ts +1 -0
  427. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +6 -0
  428. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +9 -0
  429. package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +4 -0
  430. package/esm/keyboard-shortcut/keyboard-shortcut.js +3 -0
  431. package/esm/label/index.d.ts +11 -0
  432. package/esm/label/index.js +15 -0
  433. package/esm/label/label-adapter.d.ts +51 -0
  434. package/esm/label/label-adapter.js +102 -0
  435. package/esm/label/label-aware.d.ts +15 -0
  436. package/esm/label/label-aware.js +13 -0
  437. package/esm/label/label-constants.d.ts +17 -0
  438. package/esm/label/label-constants.js +31 -0
  439. package/esm/label/label-foundation.d.ts +40 -0
  440. package/esm/label/label-foundation.js +106 -0
  441. package/esm/label/label.d.ts +49 -0
  442. package/esm/label/label.js +80 -0
  443. package/esm/linear-progress/linear-progress-constants.d.ts +3 -0
  444. package/esm/linear-progress/linear-progress-constants.js +1 -0
  445. package/esm/linear-progress/linear-progress-foundation.d.ts +5 -0
  446. package/esm/linear-progress/linear-progress-foundation.js +13 -3
  447. package/esm/linear-progress/linear-progress.d.ts +8 -1
  448. package/esm/linear-progress/linear-progress.js +13 -2
  449. package/esm/list/list/list-adapter.d.ts +17 -41
  450. package/esm/list/list/list-adapter.js +42 -60
  451. package/esm/list/list/list-constants.d.ts +13 -5
  452. package/esm/list/list/list-constants.js +15 -7
  453. package/esm/list/list/list-foundation.d.ts +24 -16
  454. package/esm/list/list/list-foundation.js +84 -75
  455. package/esm/list/list/list.d.ts +47 -8
  456. package/esm/list/list/list.js +83 -11
  457. package/esm/list/list-item/list-item-adapter.d.ts +39 -90
  458. package/esm/list/list-item/list-item-adapter.js +147 -127
  459. package/esm/list/list-item/list-item-constants.d.ts +31 -27
  460. package/esm/list/list-item/list-item-constants.js +19 -32
  461. package/esm/list/list-item/list-item-foundation.d.ts +41 -56
  462. package/esm/list/list-item/list-item-foundation.js +139 -204
  463. package/esm/list/list-item/list-item.d.ts +120 -37
  464. package/esm/list/list-item/list-item.js +171 -84
  465. package/esm/list-dropdown/list-dropdown-adapter.js +1 -6
  466. package/esm/list-dropdown/list-dropdown-constants.d.ts +4 -0
  467. package/esm/list-dropdown/list-dropdown-utils.js +23 -24
  468. package/esm/menu/menu-constants.js +1 -1
  469. package/esm/menu/menu-foundation.js +0 -4
  470. package/esm/menu/menu.js +1 -1
  471. package/esm/paginator/paginator-adapter.d.ts +30 -24
  472. package/esm/paginator/paginator-adapter.js +68 -0
  473. package/esm/paginator/paginator-constants.js +4 -4
  474. package/esm/paginator/paginator-foundation.d.ts +35 -80
  475. package/esm/paginator/paginator-foundation.js +221 -255
  476. package/esm/paginator/paginator.d.ts +1 -2
  477. package/esm/paginator/paginator.js +5 -4
  478. package/esm/popup/popup-adapter.d.ts +3 -1
  479. package/esm/popup/popup-adapter.js +3 -0
  480. package/esm/popup/popup-foundation.js +5 -3
  481. package/esm/popup/popup.d.ts +4 -1
  482. package/esm/popup/popup.js +1 -1
  483. package/esm/profile-card/profile-card.js +2 -2
  484. package/esm/quantity-field/quantity-field-constants.js +2 -2
  485. package/esm/select/core/base-select-adapter.js +3 -0
  486. package/esm/select/core/base-select-foundation.js +3 -1
  487. package/esm/select/option/option-constants.d.ts +1 -0
  488. package/esm/select/option/option-constants.js +1 -0
  489. package/esm/select/option/option-foundation.d.ts +13 -0
  490. package/esm/select/option/option-foundation.js +28 -0
  491. package/esm/select/option/option.d.ts +7 -0
  492. package/esm/select/option/option.js +13 -0
  493. package/esm/slider/slider-adapter.d.ts +1 -1
  494. package/esm/slider/slider-adapter.js +3 -2
  495. package/esm/slider/slider-constants.js +3 -3
  496. package/esm/slider/slider.d.ts +6 -11
  497. package/esm/slider/slider.js +11 -7
  498. package/esm/split-button/index.d.ts +10 -0
  499. package/esm/split-button/index.js +14 -0
  500. package/esm/split-button/split-button-adapter.d.ts +30 -0
  501. package/esm/split-button/split-button-adapter.js +84 -0
  502. package/esm/split-button/split-button-constants.d.ts +21 -0
  503. package/esm/split-button/split-button-constants.js +23 -0
  504. package/esm/split-button/split-button-foundation.d.ts +37 -0
  505. package/esm/split-button/split-button-foundation.js +77 -0
  506. package/esm/split-button/split-button.d.ts +57 -0
  507. package/esm/split-button/split-button.js +103 -0
  508. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  509. package/esm/state-layer/state-layer-adapter.js +1 -0
  510. package/esm/state-layer/state-layer-foundation.js +10 -1
  511. package/esm/state-layer/state-layer.js +1 -1
  512. package/esm/stepper/stepper/stepper-foundation.js +1 -1
  513. package/esm/switch/index.d.ts +2 -0
  514. package/esm/switch/index.js +2 -0
  515. package/esm/switch/switch-adapter.d.ts +64 -0
  516. package/esm/switch/switch-adapter.js +151 -0
  517. package/esm/switch/switch-component-delegate.d.ts +22 -6
  518. package/esm/switch/switch-component-delegate.js +64 -29
  519. package/esm/switch/switch-constants.d.ts +23 -6
  520. package/esm/switch/switch-constants.js +29 -10
  521. package/esm/switch/switch-foundation.d.ts +65 -0
  522. package/esm/switch/switch-foundation.js +162 -0
  523. package/esm/switch/switch.d.ts +162 -33
  524. package/esm/switch/switch.js +249 -136
  525. package/esm/table/table-foundation.d.ts +2 -0
  526. package/esm/table/table-foundation.js +17 -6
  527. package/esm/table/table-utils.js +13 -1
  528. package/esm/table/types.d.ts +1 -0
  529. package/esm/tabs/tab/tab.js +2 -2
  530. package/esm/tabs/tab-bar/tab-bar-adapter.js +17 -20
  531. package/esm/tabs/tab-bar/tab-bar.js +1 -1
  532. package/esm/time-picker/time-picker-adapter.js +5 -8
  533. package/esm/time-picker/time-picker-foundation.js +3 -3
  534. package/esm/toast/toast-adapter.d.ts +1 -1
  535. package/esm/toast/toast-adapter.js +1 -1
  536. package/esm/toast/toast.js +2 -2
  537. package/package.json +1 -7
  538. package/styles/app-bar/_mixins.scss +9 -4
  539. package/styles/banner/banner.scss +0 -1
  540. package/styles/bottom-sheet/bottom-sheet.scss +0 -1
  541. package/styles/busy-indicator/_mixins.scss +1 -1
  542. package/styles/busy-indicator/busy-indicator.scss +0 -1
  543. package/styles/button/_configuration.scss +16 -0
  544. package/styles/button/_core.scss +183 -0
  545. package/styles/button/_token-utils.scss +30 -0
  546. package/styles/button/button.scss +208 -0
  547. package/styles/button/index.scss +8 -0
  548. package/styles/button-area/_mixins.scss +47 -0
  549. package/styles/button-area/button-area.scss +16 -0
  550. package/styles/button-toggle/button-toggle/_mixins.scss +26 -7
  551. package/styles/calendar/calendar-menu/_mixins.scss +48 -2
  552. package/styles/calendar/calendar.scss +0 -4
  553. package/styles/{button/forge-button.scss → checkbox/_configuration.scss} +4 -3
  554. package/styles/checkbox/_core.scss +157 -0
  555. package/styles/checkbox/_token-utils.scss +30 -0
  556. package/styles/checkbox/checkbox.scss +143 -7
  557. package/styles/checkbox/index.scss +8 -0
  558. package/styles/chip-field/_base.scss +1 -0
  559. package/styles/chip-field/_selector.scss +2 -2
  560. package/styles/chips/chip/_mixins.scss +21 -7
  561. package/styles/circular-progress/_configuration.scss +8 -15
  562. package/styles/circular-progress/_core.scss +19 -19
  563. package/styles/circular-progress/_token-utils.scss +30 -0
  564. package/styles/circular-progress/circular-progress.scss +51 -4
  565. package/styles/circular-progress/index.scss +1 -0
  566. package/styles/color-picker/color-picker.scss +0 -3
  567. package/styles/core/styles/_utils.scss +148 -11
  568. package/styles/core/styles/scrollbar/index.scss +45 -0
  569. package/styles/core/styles/spacing/index.scss +8 -1
  570. package/styles/core/styles/theme/_color-utils.scss +63 -0
  571. package/styles/core/styles/theme/_utils.scss +82 -0
  572. package/styles/core/styles/theme/index.scss +39 -13
  573. package/styles/core/styles/tokens/_token-utils.scss +118 -0
  574. package/styles/core/styles/tokens/button/_tokens.scss +115 -0
  575. package/styles/core/styles/tokens/checkbox/_tokens.scss +69 -0
  576. package/styles/core/styles/tokens/circular-progress/_tokens.scss +13 -3
  577. package/styles/core/styles/tokens/color-palette/_extended-color-palette.scss +88 -0
  578. package/styles/core/styles/tokens/color-palette/index.scss +7 -0
  579. package/styles/core/styles/tokens/focus-indicator/_tokens.scss +8 -5
  580. package/styles/core/styles/tokens/icon-button/_tokens.scss +106 -0
  581. package/styles/core/styles/tokens/index.scss +0 -1
  582. package/styles/core/styles/tokens/linear-progress/_tokens.scss +15 -4
  583. package/styles/core/styles/tokens/list/list/_tokens.scss +16 -0
  584. package/styles/core/styles/tokens/list/list-item/_tokens.scss +77 -0
  585. package/styles/core/styles/tokens/scrollbar/_tokens.scss +26 -0
  586. package/styles/core/styles/tokens/slider/_tokens.scss +9 -11
  587. package/styles/core/styles/tokens/spacing/_tokens.scss +25 -11
  588. package/styles/core/styles/tokens/split-button/_tokens.scss +21 -0
  589. package/styles/core/styles/tokens/state-layer/_tokens.scss +5 -5
  590. package/styles/core/styles/tokens/switch/_tokens.scss +108 -0
  591. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +3 -1
  592. package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +3 -3
  593. package/styles/core/styles/tokens/theme/_color-emphasis.scss +38 -0
  594. package/styles/core/styles/tokens/theme/_token-utils.scss +50 -0
  595. package/styles/core/styles/tokens/theme/_tokens.core.scss +45 -0
  596. package/styles/core/styles/tokens/theme/_tokens.scss +62 -117
  597. package/styles/core/styles/tokens/theme/_tokens.status.scss +49 -0
  598. package/styles/core/styles/tokens/theme/_tokens.surface.scss +65 -0
  599. package/styles/core/styles/tokens/theme/_tokens.text.scss +38 -0
  600. package/styles/core/styles/tokens/theme/_tokens.utilities.scss +30 -0
  601. package/styles/core/styles/tokens/typography/_scale.scss +39 -0
  602. package/styles/core/styles/tokens/typography/_tokens.body.scss +41 -0
  603. package/styles/core/styles/tokens/typography/_tokens.core.scss +31 -0
  604. package/styles/core/styles/tokens/typography/_tokens.display.scss +67 -0
  605. package/styles/core/styles/tokens/typography/_tokens.heading.scss +70 -0
  606. package/styles/core/styles/tokens/typography/_tokens.label.scss +36 -0
  607. package/styles/core/styles/tokens/typography/_tokens.scss +16 -211
  608. package/styles/core/styles/tokens/typography/_tokens.subheading.scss +66 -0
  609. package/styles/core/styles/tokens/typography/_type-utils.scss +37 -0
  610. package/styles/core/styles/tokens/typography/_weight.scss +20 -0
  611. package/styles/core/styles/typography/index.scss +56 -6
  612. package/styles/file-picker/_mixins.scss +1 -1
  613. package/styles/focus-indicator/_animations.scss +6 -4
  614. package/styles/focus-indicator/_configuration.scss +2 -15
  615. package/styles/focus-indicator/_core.scss +20 -25
  616. package/styles/focus-indicator/_token-utils.scss +31 -0
  617. package/styles/focus-indicator/focus-indicator.scss +28 -6
  618. package/styles/focus-indicator/index.scss +1 -0
  619. package/styles/forge.scss +0 -2
  620. package/styles/icon-button/_configuration.scss +16 -0
  621. package/styles/icon-button/_core.scss +145 -0
  622. package/styles/icon-button/_token-utils.scss +30 -0
  623. package/styles/icon-button/icon-button.scss +315 -0
  624. package/styles/icon-button/index.scss +8 -0
  625. package/styles/label/_core.scss +17 -0
  626. package/styles/{icon-button/forge-icon-button.scss → label/index.scss} +1 -3
  627. package/styles/label/label.scss +18 -0
  628. package/styles/linear-progress/_animations.scss +3 -1
  629. package/styles/linear-progress/_configuration.scss +15 -16
  630. package/styles/linear-progress/_core.scss +17 -19
  631. package/styles/linear-progress/_token-utils.scss +31 -0
  632. package/styles/linear-progress/index.scss +1 -0
  633. package/styles/linear-progress/linear-progress.scss +42 -6
  634. package/styles/list/list/_configuration.scss +10 -0
  635. package/styles/list/list/_core.scss +16 -0
  636. package/styles/list/list/_token-utils.scss +30 -0
  637. package/styles/list/list/index.scss +8 -0
  638. package/styles/list/list/list.scss +29 -3
  639. package/styles/list/list-item/_configuration.scss +16 -0
  640. package/styles/list/list-item/_core.scss +195 -0
  641. package/styles/list/list-item/_token-utils.scss +30 -0
  642. package/styles/list/list-item/index.scss +8 -0
  643. package/styles/list/list-item/list-item.scss +199 -12
  644. package/styles/menu/menu.scss +1 -1
  645. package/styles/paginator/paginator.scss +0 -1
  646. package/styles/profile-card/profile-card.scss +0 -1
  647. package/styles/slider/_configuration.scss +5 -50
  648. package/styles/slider/_core.scss +59 -70
  649. package/styles/slider/_token-utils.scss +30 -0
  650. package/styles/slider/index.scss +1 -0
  651. package/styles/slider/slider.scss +28 -5
  652. package/styles/split-button/_configuration.scss +12 -0
  653. package/styles/split-button/_token-utils.scss +30 -0
  654. package/styles/split-button/index.scss +7 -0
  655. package/styles/split-button/split-button.scss +97 -0
  656. package/styles/state-layer/_configuration.scss +2 -9
  657. package/styles/state-layer/_core.scss +11 -16
  658. package/styles/state-layer/_token-utils.scss +31 -0
  659. package/styles/state-layer/index.scss +1 -0
  660. package/styles/state-layer/state-layer.scss +7 -0
  661. package/styles/switch/_configuration.scss +10 -0
  662. package/styles/switch/_core.scss +252 -0
  663. package/styles/switch/_token-utils.scss +30 -0
  664. package/styles/switch/index.scss +8 -0
  665. package/styles/switch/switch.scss +167 -47
  666. package/styles/table/_mixins.scss +20 -2
  667. package/styles/tabs/tab/_configuration.scss +7 -44
  668. package/styles/tabs/tab/_core.scss +30 -35
  669. package/styles/tabs/tab/_token-utils.scss +30 -0
  670. package/styles/tabs/tab/index.scss +1 -0
  671. package/styles/tabs/tab/tab.scss +89 -45
  672. package/styles/tabs/tab-bar/_configuration.scss +2 -5
  673. package/styles/tabs/tab-bar/_core.scss +26 -9
  674. package/styles/tabs/tab-bar/_token-utils.scss +30 -0
  675. package/styles/tabs/tab-bar/index.scss +2 -1
  676. package/styles/tabs/tab-bar/tab-bar.scss +68 -34
  677. package/styles/theme/_theme-dark.scss +0 -2
  678. package/styles/theme/_theme.scss +3 -45
  679. package/styles/theme/forge-theme.scss +21 -3
  680. package/styles/toast/_mixins.scss +1 -1
  681. package/styles/toast/toast.scss +0 -2
  682. package/styles/typography/_mixins.scss +0 -20
  683. package/styles/typography/forge-typography.scss +5 -2
  684. package/dist/button/forge-button.css +0 -6
  685. package/dist/esm/chunks/chunk.2AJ7FFI6.js +0 -7
  686. package/dist/esm/chunks/chunk.2AJ7FFI6.js.map +0 -7
  687. package/dist/esm/chunks/chunk.3HB22HCX.js +0 -7
  688. package/dist/esm/chunks/chunk.4C6KHYUO.js +0 -7
  689. package/dist/esm/chunks/chunk.54OOOQ4R.js +0 -7
  690. package/dist/esm/chunks/chunk.54OOOQ4R.js.map +0 -7
  691. package/dist/esm/chunks/chunk.5565ZSTH.js +0 -7
  692. package/dist/esm/chunks/chunk.6GC5AJPE.js +0 -7
  693. package/dist/esm/chunks/chunk.6GC5AJPE.js.map +0 -7
  694. package/dist/esm/chunks/chunk.6OUJSOJY.js +0 -7
  695. package/dist/esm/chunks/chunk.7CGKFRBK.js +0 -7
  696. package/dist/esm/chunks/chunk.7CGKFRBK.js.map +0 -7
  697. package/dist/esm/chunks/chunk.7DB3XVPI.js +0 -7
  698. package/dist/esm/chunks/chunk.ALIYGJXA.js +0 -129
  699. package/dist/esm/chunks/chunk.ALIYGJXA.js.map +0 -7
  700. package/dist/esm/chunks/chunk.B4T3R53C.js +0 -7
  701. package/dist/esm/chunks/chunk.BH2TUG2V.js +0 -7
  702. package/dist/esm/chunks/chunk.BH2TUG2V.js.map +0 -7
  703. package/dist/esm/chunks/chunk.BKL2BAYW.js +0 -7
  704. package/dist/esm/chunks/chunk.BKL2BAYW.js.map +0 -7
  705. package/dist/esm/chunks/chunk.BY25RT52.js +0 -7
  706. package/dist/esm/chunks/chunk.CDGZYUQS.js +0 -7
  707. package/dist/esm/chunks/chunk.CKW7KKDW.js +0 -7
  708. package/dist/esm/chunks/chunk.CKW7KKDW.js.map +0 -7
  709. package/dist/esm/chunks/chunk.CXY6K7EI.js +0 -7
  710. package/dist/esm/chunks/chunk.CXY6K7EI.js.map +0 -7
  711. package/dist/esm/chunks/chunk.D5TAI6Q7.js +0 -7
  712. package/dist/esm/chunks/chunk.D5TAI6Q7.js.map +0 -7
  713. package/dist/esm/chunks/chunk.DBNJHUYY.js +0 -7
  714. package/dist/esm/chunks/chunk.DBNJHUYY.js.map +0 -7
  715. package/dist/esm/chunks/chunk.DMCBAYQX.js +0 -7
  716. package/dist/esm/chunks/chunk.DMCBAYQX.js.map +0 -7
  717. package/dist/esm/chunks/chunk.DXN7ZOH3.js +0 -7
  718. package/dist/esm/chunks/chunk.DXN7ZOH3.js.map +0 -7
  719. package/dist/esm/chunks/chunk.F4VXEE76.js +0 -7
  720. package/dist/esm/chunks/chunk.F4VXEE76.js.map +0 -7
  721. package/dist/esm/chunks/chunk.F5SY2D4B.js +0 -7
  722. package/dist/esm/chunks/chunk.F74YURLV.js +0 -7
  723. package/dist/esm/chunks/chunk.F74YURLV.js.map +0 -7
  724. package/dist/esm/chunks/chunk.FG2GNAM2.js +0 -7
  725. package/dist/esm/chunks/chunk.FG2GNAM2.js.map +0 -7
  726. package/dist/esm/chunks/chunk.GNG64TXK.js +0 -7
  727. package/dist/esm/chunks/chunk.GNG64TXK.js.map +0 -7
  728. package/dist/esm/chunks/chunk.GO5A4GKZ.js +0 -7
  729. package/dist/esm/chunks/chunk.GO5A4GKZ.js.map +0 -7
  730. package/dist/esm/chunks/chunk.HHCO64F3.js +0 -7
  731. package/dist/esm/chunks/chunk.HHCO64F3.js.map +0 -7
  732. package/dist/esm/chunks/chunk.ISC7SZSP.js +0 -7
  733. package/dist/esm/chunks/chunk.ISC7SZSP.js.map +0 -7
  734. package/dist/esm/chunks/chunk.IX25DYIM.js +0 -7
  735. package/dist/esm/chunks/chunk.IX25DYIM.js.map +0 -7
  736. package/dist/esm/chunks/chunk.JUJGROHA.js +0 -7
  737. package/dist/esm/chunks/chunk.JUJGROHA.js.map +0 -7
  738. package/dist/esm/chunks/chunk.KJP2VA6Q.js +0 -7
  739. package/dist/esm/chunks/chunk.KJP2VA6Q.js.map +0 -7
  740. package/dist/esm/chunks/chunk.LK4AAUOP.js +0 -7
  741. package/dist/esm/chunks/chunk.LK4AAUOP.js.map +0 -7
  742. package/dist/esm/chunks/chunk.LXPFG7MW.js +0 -7
  743. package/dist/esm/chunks/chunk.LXPFG7MW.js.map +0 -7
  744. package/dist/esm/chunks/chunk.MACPUZC2.js +0 -7
  745. package/dist/esm/chunks/chunk.MACPUZC2.js.map +0 -7
  746. package/dist/esm/chunks/chunk.MGLL67VO.js +0 -7
  747. package/dist/esm/chunks/chunk.MXEKIEJA.js +0 -7
  748. package/dist/esm/chunks/chunk.MXEKIEJA.js.map +0 -7
  749. package/dist/esm/chunks/chunk.N43BCJHN.js +0 -7
  750. package/dist/esm/chunks/chunk.N43BCJHN.js.map +0 -7
  751. package/dist/esm/chunks/chunk.P2CW5MQO.js +0 -12
  752. package/dist/esm/chunks/chunk.P2CW5MQO.js.map +0 -7
  753. package/dist/esm/chunks/chunk.P2ZCNO63.js +0 -7
  754. package/dist/esm/chunks/chunk.P2ZCNO63.js.map +0 -7
  755. package/dist/esm/chunks/chunk.PEBT47AU.js +0 -7
  756. package/dist/esm/chunks/chunk.PH3HUFJJ.js +0 -7
  757. package/dist/esm/chunks/chunk.PH3HUFJJ.js.map +0 -7
  758. package/dist/esm/chunks/chunk.Q7JUJNYD.js +0 -7
  759. package/dist/esm/chunks/chunk.QCRRHGBA.js +0 -7
  760. package/dist/esm/chunks/chunk.QCRRHGBA.js.map +0 -7
  761. package/dist/esm/chunks/chunk.SBYX7VZ4.js +0 -7
  762. package/dist/esm/chunks/chunk.SFCGOCQK.js +0 -7
  763. package/dist/esm/chunks/chunk.SJJS4LYN.js +0 -7
  764. package/dist/esm/chunks/chunk.TYLOAD7R.js +0 -7
  765. package/dist/esm/chunks/chunk.UJ2WQOLO.js +0 -7
  766. package/dist/esm/chunks/chunk.UJ2WQOLO.js.map +0 -7
  767. package/dist/esm/chunks/chunk.VVXSELXX.js +0 -7
  768. package/dist/esm/chunks/chunk.VVXSELXX.js.map +0 -7
  769. package/dist/esm/chunks/chunk.VZWNNK7A.js +0 -7
  770. package/dist/esm/chunks/chunk.VZWNNK7A.js.map +0 -7
  771. package/dist/esm/chunks/chunk.X3C3J5MH.js +0 -7
  772. package/dist/esm/chunks/chunk.X3C3J5MH.js.map +0 -7
  773. package/dist/esm/chunks/chunk.XGOAYMK2.js +0 -7
  774. package/dist/esm/chunks/chunk.XGOAYMK2.js.map +0 -7
  775. package/dist/esm/chunks/chunk.YRMR7IOS.js +0 -7
  776. package/dist/esm/chunks/chunk.YRMR7IOS.js.map +0 -7
  777. package/dist/esm/chunks/chunk.YX7WLO5Y.js +0 -7
  778. package/dist/esm/chunks/chunk.YZLASVCK.js +0 -177
  779. package/dist/esm/chunks/chunk.YZLASVCK.js.map +0 -7
  780. package/dist/esm/chunks/chunk.ZDD2NLGP.js +0 -7
  781. package/dist/esm/chunks/chunk.ZKGSQQGU.js +0 -12
  782. package/dist/esm/chunks/chunk.ZKGSQQGU.js.map +0 -7
  783. package/dist/esm/chunks/chunk.ZVBZ3LGP.js +0 -7
  784. package/dist/esm/chunks/chunk.ZVBZ3LGP.js.map +0 -7
  785. package/dist/icon-button/forge-icon-button.css +0 -6
  786. package/styles/button/_button-base.scss +0 -183
  787. package/styles/button/_button-filled-theme.scss +0 -60
  788. package/styles/button/_button-filled.scss +0 -71
  789. package/styles/button/_button-outlined-theme.scss +0 -175
  790. package/styles/button/_button-outlined.scss +0 -76
  791. package/styles/button/_button-protected-theme.scss +0 -60
  792. package/styles/button/_button-protected.scss +0 -88
  793. package/styles/button/_button-ripple.scss +0 -69
  794. package/styles/button/_button-shared-theme.scss +0 -447
  795. package/styles/button/_button-text-theme.scss +0 -60
  796. package/styles/button/_button-text.scss +0 -57
  797. package/styles/button/_button.mixins.scss +0 -148
  798. package/styles/button/_mixins.scss +0 -183
  799. package/styles/checkbox/_checkbox-custom-properties.scss +0 -11
  800. package/styles/checkbox/_checkbox-theme.scss +0 -577
  801. package/styles/checkbox/_checkbox.mixins.scss +0 -595
  802. package/styles/icon-button/_mixins.scss +0 -345
  803. package/styles/icon-button/_variables.scss +0 -42
  804. package/styles/list/list/_mixins.scss +0 -45
  805. package/styles/list/list-item/_mixins.scss +0 -413
  806. package/styles/list/list-item/_variables.scss +0 -43
  807. package/styles/switch/_switch-mixins.scss +0 -301
  808. package/styles/switch/_switch-theme.scss +0 -701
  809. /package/dist/esm/chunks/{chunk.SMGXXR6K.js.map → chunk.2MSL7CYM.js.map} +0 -0
  810. /package/dist/esm/chunks/{chunk.M56LSSPW.js.map → chunk.3HCYRDRI.js.map} +0 -0
  811. /package/dist/esm/chunks/{chunk.4ZKX3SO5.js.map → chunk.3R4BUIQP.js.map} +0 -0
  812. /package/dist/esm/chunks/{chunk.YWNCJ7XP.js.map → chunk.3ZPSN2QG.js.map} +0 -0
  813. /package/dist/esm/chunks/{chunk.LFODKHUO.js.map → chunk.5N4N6DL6.js.map} +0 -0
  814. /package/dist/esm/chunks/{chunk.QOJESHEV.js.map → chunk.675V42JS.js.map} +0 -0
  815. /package/dist/esm/chunks/{chunk.DG4ZM3AW.js.map → chunk.AMLT6XJP.js.map} +0 -0
  816. /package/dist/esm/chunks/{chunk.MTKSU2BV.js.map → chunk.APPY5AYL.js.map} +0 -0
  817. /package/dist/esm/chunks/{chunk.4YFVG4KP.js.map → chunk.ARQMMZJL.js.map} +0 -0
  818. /package/dist/esm/chunks/{chunk.5MZ5SGMO.js.map → chunk.BB4UF5RX.js.map} +0 -0
  819. /package/dist/esm/chunks/{chunk.Q7Z3SJ5F.js.map → chunk.DTLZOIUQ.js.map} +0 -0
  820. /package/dist/esm/chunks/{chunk.OWCYRSI3.js.map → chunk.FLWNOP42.js.map} +0 -0
  821. /package/dist/esm/chunks/{chunk.S3JMOOWC.js.map → chunk.FXIWCHLW.js.map} +0 -0
  822. /package/dist/esm/chunks/{chunk.CWTV3TB3.js.map → chunk.GNDKQPDV.js.map} +0 -0
  823. /package/dist/esm/chunks/{chunk.ULY4H76N.js.map → chunk.HAKF2T2D.js.map} +0 -0
  824. /package/dist/esm/chunks/{chunk.WPG7NNQX.js.map → chunk.HOLCNJXC.js.map} +0 -0
  825. /package/dist/esm/chunks/{chunk.W4247Q2P.js.map → chunk.HRRJIFC5.js.map} +0 -0
  826. /package/dist/esm/chunks/{chunk.SU4FU7GK.js.map → chunk.IDMDBMBR.js.map} +0 -0
  827. /package/dist/esm/chunks/{chunk.FCATJM34.js.map → chunk.IHAHJPMB.js.map} +0 -0
  828. /package/dist/esm/chunks/{chunk.XKI46BH2.js.map → chunk.IMLJD35R.js.map} +0 -0
  829. /package/dist/esm/chunks/{chunk.624UKZFU.js.map → chunk.IT7XPDAV.js.map} +0 -0
  830. /package/dist/esm/chunks/{chunk.JLLHDJSO.js.map → chunk.JVLJH6PR.js.map} +0 -0
  831. /package/dist/esm/chunks/{chunk.4C6KHYUO.js.map → chunk.KPJWP77R.js.map} +0 -0
  832. /package/dist/esm/chunks/{chunk.2EWV2XBP.js.map → chunk.KV5IKYG2.js.map} +0 -0
  833. /package/dist/esm/chunks/{chunk.A62DE5PD.js.map → chunk.LCR4YH3O.js.map} +0 -0
  834. /package/dist/esm/chunks/{chunk.FWFOOQMA.js.map → chunk.LOG6GQOK.js.map} +0 -0
  835. /package/dist/esm/chunks/{chunk.YLG6ZC5K.js.map → chunk.NUMKGUCK.js.map} +0 -0
  836. /package/dist/esm/chunks/{chunk.XI3MJSIS.js.map → chunk.O6V3YNMO.js.map} +0 -0
  837. /package/dist/esm/chunks/{chunk.TK5I4RHF.js.map → chunk.QLCVRJ3Q.js.map} +0 -0
  838. /package/dist/esm/chunks/{chunk.Q7JUJNYD.js.map → chunk.RP674CRC.js.map} +0 -0
  839. /package/dist/esm/chunks/{chunk.LTT67HTW.js.map → chunk.SLJ6HDK7.js.map} +0 -0
  840. /package/dist/esm/chunks/{chunk.6OW6Q3EW.js.map → chunk.TU74SREL.js.map} +0 -0
  841. /package/dist/esm/chunks/{chunk.EK24Y56W.js.map → chunk.URJQNB3S.js.map} +0 -0
  842. /package/dist/esm/chunks/{chunk.K3KAM2PL.js.map → chunk.W2LN45WY.js.map} +0 -0
  843. /package/dist/esm/chunks/{chunk.Z6FCL3G3.js.map → chunk.XEFWZKHQ.js.map} +0 -0
  844. /package/dist/esm/chunks/{chunk.NR3MLTXF.js.map → chunk.XLL7L2UB.js.map} +0 -0
  845. /package/dist/esm/chunks/{chunk.3HB22HCX.js.map → chunk.XYAZVLPR.js.map} +0 -0
  846. /package/dist/esm/chunks/{chunk.2QHD3DCR.js.map → chunk.YAERJVPL.js.map} +0 -0
  847. /package/dist/esm/chunks/{chunk.ZDD2NLGP.js.map → chunk.YBZK6LJZ.js.map} +0 -0
  848. /package/dist/esm/chunks/{chunk.ZJC2DSNM.js.map → chunk.Z5ZLKM7W.js.map} +0 -0
  849. /package/styles/core/styles/tokens/{_color-palette.scss → color-palette/_material-color-palette.scss} +0 -0
@@ -0,0 +1,121 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { addClass, getShadowElement, removeClass, toggleClass } from '@tylertech/forge-core';
7
+ import { BaseAdapter, createUserInteractionListener } from '../core';
8
+ import { ForgeRipple, ForgeRippleFoundation } from '../ripple';
9
+ import { BUTTON_AREA_CONSTANTS } from './button-area-constants';
10
+ export class ButtonAreaAdapter extends BaseAdapter {
11
+ constructor(component) {
12
+ super(component);
13
+ this._rootElement = getShadowElement(component, BUTTON_AREA_CONSTANTS.selectors.ROOT);
14
+ this._buttonSlotElement = getShadowElement(component, BUTTON_AREA_CONSTANTS.selectors.BUTTON_SLOT);
15
+ }
16
+ destroy() {
17
+ if (typeof this._destroyUserInteractionListener === 'function') {
18
+ this._destroyUserInteractionListener();
19
+ }
20
+ }
21
+ get root() {
22
+ return this._rootElement;
23
+ }
24
+ get unbounded() {
25
+ return false;
26
+ }
27
+ get disabled() {
28
+ return this.buttonIsDisabled();
29
+ }
30
+ setDisabled(value) {
31
+ var _a;
32
+ toggleClass(this._rootElement, value, BUTTON_AREA_CONSTANTS.classes.DISABLED);
33
+ (_a = this._buttonElement) === null || _a === void 0 ? void 0 : _a.toggleAttribute(BUTTON_AREA_CONSTANTS.attributes.DISABLED, value);
34
+ }
35
+ addListener(type, listener) {
36
+ this._rootElement.addEventListener(type, listener);
37
+ }
38
+ removeListener(type, listener) {
39
+ this._rootElement.removeEventListener(type, listener);
40
+ }
41
+ addSlotChangeListener(listener) {
42
+ this._buttonSlotElement.addEventListener('slotchange', listener);
43
+ }
44
+ removeSlotChangeListener(listener) {
45
+ this._buttonSlotElement.removeEventListener('slotchange', listener);
46
+ }
47
+ startButtonObserver(callback) {
48
+ if (this._buttonElement) {
49
+ this._buttonObserver = new MutationObserver(callback);
50
+ this._buttonObserver.observe(this._buttonElement, { attributeFilter: [BUTTON_AREA_CONSTANTS.attributes.DISABLED] });
51
+ }
52
+ }
53
+ stopButtonObserver() {
54
+ if (this._buttonObserver) {
55
+ this._buttonObserver.disconnect();
56
+ this._buttonObserver = undefined;
57
+ }
58
+ }
59
+ detectSlottedButton() {
60
+ this._buttonElement = this._buttonSlotElement.assignedElements()[0];
61
+ }
62
+ buttonIsDisabled() {
63
+ var _a, _b;
64
+ return (_b = (_a = this._buttonElement) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : true;
65
+ }
66
+ requestDisabledButtonFrame() {
67
+ if (this._buttonElement) {
68
+ this._buttonElement.disabled = true;
69
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
70
+ requestAnimationFrame(() => this._buttonElement.disabled = false);
71
+ }
72
+ }
73
+ async createRipple() {
74
+ if (!this._rippleInstance) {
75
+ const type = await this._userInteractionListener();
76
+ if (!this._rippleInstance) {
77
+ const adapter = Object.assign(Object.assign({}, ForgeRipple.createAdapter(this)), { isSurfaceActive: () => { var _a, _b; return this._rootElement.matches(':active') || ((_b = (_a = this._buttonElement) === null || _a === void 0 ? void 0 : _a.matches(':active')) !== null && _b !== void 0 ? _b : false); }, isSurfaceDisabled: () => { var _a; return (_a = this.disabled) !== null && _a !== void 0 ? _a : true; }, isUnbounded: () => !!this.unbounded, registerInteractionHandler: (evtType, handler) => {
78
+ var _a;
79
+ if (this._isRootEvent(evtType)) {
80
+ this._rootElement.addEventListener(evtType, handler, { passive: true });
81
+ }
82
+ else {
83
+ (_a = this._buttonElement) === null || _a === void 0 ? void 0 : _a.addEventListener(evtType, handler, { passive: true });
84
+ }
85
+ }, deregisterInteractionHandler: (evtType, handler) => {
86
+ var _a;
87
+ if (this._isRootEvent(evtType)) {
88
+ this._rootElement.removeEventListener(evtType, handler, { passive: true });
89
+ }
90
+ else {
91
+ (_a = this._buttonElement) === null || _a === void 0 ? void 0 : _a.removeEventListener(evtType, handler, { passive: true });
92
+ }
93
+ }, addClass: (className) => addClass(className, this._rootElement), removeClass: (className) => removeClass(className, this._rootElement), updateCssVariable: (varName, value) => this._rootElement.style.setProperty(varName, value) });
94
+ this._rippleInstance = new ForgeRipple(this._rootElement, new ForgeRippleFoundation(adapter));
95
+ if (type === 'focusin') {
96
+ this._rippleInstance.handleFocus();
97
+ }
98
+ }
99
+ }
100
+ else {
101
+ if (typeof this._destroyUserInteractionListener === 'function') {
102
+ this._destroyUserInteractionListener();
103
+ }
104
+ this._rippleInstance.destroy();
105
+ this._rippleInstance = undefined;
106
+ }
107
+ }
108
+ async _userInteractionListener() {
109
+ if (typeof this._destroyUserInteractionListener === 'function') {
110
+ this._destroyUserInteractionListener();
111
+ }
112
+ const { userInteraction, destroy } = createUserInteractionListener(this._rootElement);
113
+ this._destroyUserInteractionListener = destroy;
114
+ const { type } = await userInteraction;
115
+ this._destroyUserInteractionListener = undefined;
116
+ return type;
117
+ }
118
+ _isRootEvent(evtType) {
119
+ return ['touchstart', 'pointerdown', 'mousedown'].includes(evtType);
120
+ }
121
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ export declare const BUTTON_AREA_CONSTANTS: {
7
+ elementName: string;
8
+ attributes: {
9
+ DISABLED: string;
10
+ IGNORE: string;
11
+ IGNORE_ALT: string;
12
+ };
13
+ ids: {
14
+ ROOT: string;
15
+ BUTTON_SLOT: string;
16
+ };
17
+ classes: {
18
+ DISABLED: string;
19
+ };
20
+ selectors: {
21
+ ROOT: string;
22
+ BUTTON_SLOT: string;
23
+ };
24
+ };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { COMPONENT_NAME_PREFIX } from '../constants';
7
+ const elementName = `${COMPONENT_NAME_PREFIX}button-area`;
8
+ const attributes = {
9
+ DISABLED: 'disabled',
10
+ IGNORE: 'data-forge-ignore',
11
+ IGNORE_ALT: 'forge-ignore'
12
+ };
13
+ const ids = {
14
+ ROOT: 'root',
15
+ BUTTON_SLOT: 'button'
16
+ };
17
+ const classes = {
18
+ DISABLED: `forge-button-area--disabled`
19
+ };
20
+ const selectors = {
21
+ ROOT: `#${ids.ROOT}`,
22
+ BUTTON_SLOT: `slot[name=button]`
23
+ };
24
+ export const BUTTON_AREA_CONSTANTS = {
25
+ elementName,
26
+ attributes,
27
+ ids,
28
+ classes,
29
+ selectors
30
+ };
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { ICustomElementFoundation } from '@tylertech/forge-core';
7
+ import { IButtonAreaAdapter } from './button-area-adapter';
8
+ export interface IButtonAreaFoundation extends ICustomElementFoundation {
9
+ disabled: boolean;
10
+ }
11
+ export declare class ButtonAreaFoundation implements IButtonAreaFoundation {
12
+ private _adapter;
13
+ private _disabled;
14
+ private _clickListener;
15
+ private _keydownListener;
16
+ private _pointerdownListener;
17
+ private _slotListener;
18
+ constructor(_adapter: IButtonAreaAdapter);
19
+ initialize(): void;
20
+ disconnect(): void;
21
+ private _handleClick;
22
+ private _handleKeydown;
23
+ private _handlePointerdown;
24
+ private _handleSlotChange;
25
+ private _handleButtonDisabled;
26
+ private _shouldIgnoreEvent;
27
+ get disabled(): boolean;
28
+ set disabled(value: boolean);
29
+ }
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { getEventPath } from '@tylertech/forge-core';
7
+ import { BUTTON_AREA_CONSTANTS } from './button-area-constants';
8
+ export class ButtonAreaFoundation {
9
+ constructor(_adapter) {
10
+ this._adapter = _adapter;
11
+ this._disabled = false;
12
+ this._clickListener = event => this._handleClick(event);
13
+ this._keydownListener = event => this._handleKeydown(event);
14
+ this._pointerdownListener = event => this._handlePointerdown(event);
15
+ this._slotListener = () => this._handleSlotChange();
16
+ }
17
+ initialize() {
18
+ this._adapter.addListener('click', this._clickListener);
19
+ this._adapter.addListener('keydown', this._keydownListener);
20
+ this._adapter.addListener('pointerdown', this._pointerdownListener);
21
+ this._adapter.addSlotChangeListener(this._slotListener);
22
+ this._adapter.createRipple();
23
+ }
24
+ disconnect() {
25
+ this._adapter.destroy();
26
+ this._adapter.removeListener('click', this._clickListener);
27
+ this._adapter.removeSlotChangeListener(this._slotListener);
28
+ this._adapter.stopButtonObserver();
29
+ }
30
+ _handleClick(event) {
31
+ var _a;
32
+ // Prevent the click if disabled
33
+ if (this._disabled) {
34
+ event.stopPropagation();
35
+ }
36
+ // Prevent the click if a selection was made
37
+ const selectionType = (_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.type;
38
+ if (selectionType === 'Range') {
39
+ event.stopPropagation();
40
+ }
41
+ // Prevent the click if it originates from an ignored element
42
+ if (this._shouldIgnoreEvent(event)) {
43
+ event.stopPropagation();
44
+ }
45
+ }
46
+ _handleKeydown(event) {
47
+ if (event.key !== ' ' && event.key !== 'Enter') {
48
+ return;
49
+ }
50
+ // Prevent the keydown if it originates from an ignored element
51
+ if (this._shouldIgnoreEvent(event)) {
52
+ event.stopPropagation();
53
+ }
54
+ }
55
+ _handlePointerdown(event) {
56
+ if (this._disabled) {
57
+ return;
58
+ }
59
+ // Prevent the ripple animation when ignored children are clicked
60
+ if (this._shouldIgnoreEvent(event)) {
61
+ this._adapter.requestDisabledButtonFrame();
62
+ }
63
+ }
64
+ _handleSlotChange() {
65
+ // Clear old button-connected listeners
66
+ this._adapter.stopButtonObserver();
67
+ this._adapter.detectSlottedButton();
68
+ this._adapter.startButtonObserver(() => this._handleButtonDisabled());
69
+ // Match the component and button states if either is disabled
70
+ if (this._adapter.buttonIsDisabled()) {
71
+ this.disabled = true;
72
+ }
73
+ else if (this._disabled) {
74
+ this._adapter.setDisabled(true);
75
+ }
76
+ }
77
+ _handleButtonDisabled() {
78
+ this.disabled = this._adapter.buttonIsDisabled();
79
+ }
80
+ _shouldIgnoreEvent(event) {
81
+ const eventPath = getEventPath(event);
82
+ return eventPath.some(el => el.nodeType === 1 && (el.hasAttribute(BUTTON_AREA_CONSTANTS.attributes.IGNORE) || el.hasAttribute(BUTTON_AREA_CONSTANTS.attributes.IGNORE_ALT)));
83
+ }
84
+ get disabled() {
85
+ return this._disabled;
86
+ }
87
+ set disabled(value) {
88
+ if (this._disabled !== value) {
89
+ this._disabled = value;
90
+ this._adapter.setDisabled(this._disabled);
91
+ this._adapter.toggleHostAttribute(BUTTON_AREA_CONSTANTS.attributes.DISABLED, this._disabled);
92
+ }
93
+ }
94
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { ICustomElement } from '@tylertech/forge-core';
7
+ export interface IButtonAreaComponent extends ICustomElement {
8
+ disabled: boolean;
9
+ }
10
+ declare global {
11
+ interface HTMLElementTagNameMap {
12
+ 'forge-button-area': IButtonAreaComponent;
13
+ }
14
+ }
15
+ /**
16
+ * The custom element class behind the `<forge-button-area>` element.
17
+ *
18
+ * @tag forge-button-area
19
+ */
20
+ export declare class ButtonAreaComponent extends HTMLElement implements IButtonAreaComponent {
21
+ static get observedAttributes(): string[];
22
+ private _foundation;
23
+ constructor();
24
+ connectedCallback(): void;
25
+ disconnectedCallback(): void;
26
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
27
+ /** Controls whether the component and associated button element are disabled. */
28
+ disabled: boolean;
29
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { __decorate } from "tslib";
7
+ import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';
8
+ import { ButtonAreaAdapter } from './button-area-adapter';
9
+ import { ButtonAreaFoundation } from './button-area-foundation';
10
+ import { BUTTON_AREA_CONSTANTS } from './button-area-constants';
11
+ import { RippleComponent } from '../ripple';
12
+ const template = '<template><div class=\"forge-button-area\" id=\"root\" part=\"root\"><div class=\"forge-button-area__button\" id=\"button\" part=\"button\"><slot name=\"button\"></slot></div><slot></slot></div></template>';
13
+ const styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-button-area{overflow:hidden}.forge-button-area:not(.forge-button-area--disabled).forge-button-area{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;cursor:pointer}.forge-button-area:not(.forge-button-area--disabled).forge-button-area::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.forge-button-area:not(.forge-button-area--disabled).forge-button-area::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-button-area:not(.forge-button-area--disabled).forge-button-area::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-surface--hover::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded--background-focused::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-area:not(.forge-button-area--disabled).forge-button-area:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated::before{opacity:.12;opacity:var(--mdc-ripple-activated-opacity, .12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated.mdc-ripple-surface--hover::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated:hover::before{opacity:.16;opacity:var(--mdc-ripple-hover-opacity, .16)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated.mdc-ripple-upgraded--background-focused::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity, .08)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected.mdc-ripple-surface--hover::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity, .12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected.mdc-ripple-upgraded--background-focused::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity, .2)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity, .2)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.forge-button-area__button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}:host{display:block}:host([hidden]){display:none}';
14
+ /**
15
+ * The custom element class behind the `<forge-button-area>` element.
16
+ *
17
+ * @tag forge-button-area
18
+ */
19
+ let ButtonAreaComponent = class ButtonAreaComponent extends HTMLElement {
20
+ static get observedAttributes() {
21
+ return [
22
+ BUTTON_AREA_CONSTANTS.attributes.DISABLED
23
+ ];
24
+ }
25
+ constructor() {
26
+ super();
27
+ attachShadowTemplate(this, template, styles);
28
+ this._foundation = new ButtonAreaFoundation(new ButtonAreaAdapter(this));
29
+ }
30
+ connectedCallback() {
31
+ this._foundation.initialize();
32
+ }
33
+ disconnectedCallback() {
34
+ this._foundation.disconnect();
35
+ }
36
+ attributeChangedCallback(name, oldValue, newValue) {
37
+ switch (name) {
38
+ case BUTTON_AREA_CONSTANTS.attributes.DISABLED:
39
+ this.disabled = coerceBoolean(newValue);
40
+ break;
41
+ }
42
+ }
43
+ };
44
+ __decorate([
45
+ FoundationProperty()
46
+ ], ButtonAreaComponent.prototype, "disabled", void 0);
47
+ ButtonAreaComponent = __decorate([
48
+ CustomElement({
49
+ name: BUTTON_AREA_CONSTANTS.elementName,
50
+ dependencies: [
51
+ RippleComponent
52
+ ]
53
+ })
54
+ ], ButtonAreaComponent);
55
+ export { ButtonAreaComponent };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ export * from './button-area-adapter';
7
+ export * from './button-area-constants';
8
+ export * from './button-area-foundation';
9
+ export * from './button-area';
10
+ export declare function defineButtonAreaComponent(): void;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { defineCustomElement } from '@tylertech/forge-core';
7
+ import { ButtonAreaComponent } from './button-area';
8
+ export * from './button-area-adapter';
9
+ export * from './button-area-constants';
10
+ export * from './button-area-foundation';
11
+ export * from './button-area';
12
+ export function defineButtonAreaComponent() {
13
+ defineCustomElement(ButtonAreaComponent);
14
+ }
@@ -10,7 +10,7 @@ import { ButtonToggleAdapter } from './button-toggle-adapter';
10
10
  import { BUTTON_TOGGLE_CONSTANTS } from './button-toggle-constants';
11
11
  import { ButtonToggleFoundation } from './button-toggle-foundation';
12
12
  const template = '<template><button type=\"button\" class=\"forge-button-toggle\" aria-pressed=\"false\" part=\"button\"><slot name=\"leading\"></slot><slot></slot><slot name=\"trailing\"></slot></button></template>';
13
- const styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-button-toggle{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:0 0;border-radius:4px;border-radius:var(--mdc-shape-small,4px);height:36px;text-transform:none;box-sizing:border-box;overflow:hidden;border-style:solid;-webkit-transition:border 280ms cubic-bezier(.4, 0, .2, 1);transition:border 280ms cubic-bezier(.4, 0, .2, 1);font-family:Roboto,sans-serif;font-family:var(--mdc-outlined-button-label-text-font, var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)));font-size:.875rem;font-size:var(--mdc-outlined-button-label-text-size, var(--mdc-typography-button-font-size, .875rem));letter-spacing:.0892857143em;letter-spacing:var(--mdc-outlined-button-label-text-tracking, var(--mdc-typography-button-letter-spacing, .0892857143em));font-weight:500;font-weight:var(--mdc-outlined-button-label-text-weight,var(--mdc-typography-button-font-weight,500));text-transform:uppercase;text-transform:var(--mdc-outlined-button-label-text-transform,var(--mdc-typography-button-text-transform,uppercase));height:36px;height:var(--mdc-outlined-button-container-height,36px);border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px));padding:0 15px 0 15px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px);padding:0 15px 0 15px;border-width:1px;width:100%;box-sizing:border-box;-webkit-transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);border-radius:0;border-bottom-width:var(--forge-button-toggle-border-bottom-width,1px);border-right-width:var(--forge-button-toggle-border-right-width,1px);border-top-left-radius:var(--forge-button-toggle-border-top-left-radius,4px);border-bottom-left-radius:var(--forge-button-toggle-border-bottom-left-radius,4px);border-top-right-radius:var(--forge-button-toggle-border-top-right-radius,4px);border-bottom-right-radius:var(--forge-button-toggle-border-bottom-right-radius,4px)}.forge-button-toggle::after,.forge-button-toggle::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.forge-button-toggle::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-button-toggle::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button-toggle.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button-toggle.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button-toggle.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button-toggle.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-button-toggle.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-button-toggle::after,.forge-button-toggle::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button-toggle.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button-toggle::after,.forge-button-toggle::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-button-toggle.mdc-ripple-surface--hover::before,.forge-button-toggle:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button-toggle.mdc-ripple-upgraded--background-focused::before,.forge-button-toggle:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button-toggle:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button-toggle.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button-toggle .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-button-toggle::-moz-focus-inner{padding:0;border:0}.forge-button-toggle:active{outline:0}.forge-button-toggle:hover{cursor:pointer}.forge-button-toggle:disabled{cursor:default;pointer-events:none}.forge-button-toggle .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button-toggle:not(:disabled){background-color:transparent}.forge-button-toggle:not(:disabled){color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-button-toggle .mdc-button__ripple{border-style:solid;border-color:transparent}.forge-button-toggle:not(:disabled){color:#6200ee;color:var(--mdc-outlined-button-label-text-color,var(--mdc-theme-primary,#6200ee))}.forge-button-toggle:disabled{color:rgba(0,0,0,.38);color:var(--mdc-outlined-button-disabled-label-text-color,rgba(0,0,0,.38))}.forge-button-toggle .mdc-button__icon{font-size:1.125rem;font-size:var(--mdc-outlined-button-with-icon-icon-size, 1.125rem);width:1.125rem;width:var(--mdc-outlined-button-with-icon-icon-size,1.125rem);height:1.125rem;height:var(--mdc-outlined-button-with-icon-icon-size,1.125rem)}.forge-button-toggle .mdc-button__ripple::after,.forge-button-toggle .mdc-button__ripple::before{background-color:#6200ee;background-color:var(--mdc-outlined-button-hover-state-layer-color,var(--mdc-theme-primary,#6200ee))}.forge-button-toggle.mdc-ripple-surface--hover .mdc-button__ripple::before,.forge-button-toggle:hover .mdc-button__ripple::before{opacity:.04;opacity:var(--mdc-outlined-button-hover-state-layer-opacity, .04)}.forge-button-toggle.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.forge-button-toggle:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-focus-state-layer-opacity, .12)}.forge-button-toggle:not(.mdc-ripple-upgraded) .mdc-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, .12)}.forge-button-toggle.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, 0.12)}.forge-button-toggle .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px))}.forge-button-toggle:not(:disabled){border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-outline-color,rgba(0,0,0,.12))}.forge-button-toggle:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-disabled-outline-color,rgba(0,0,0,.12))}.forge-button-toggle.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-button-toggle.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-button-toggle .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px)}.forge-button-toggle .mdc-button__touch{left:calc(-1 * 1px);left:calc(-1 * var(--mdc-outlined-button-outline-width,1px));width:calc(100% + 2 * 1px);width:calc(100% + 2 * var(--mdc-outlined-button-outline-width,1px))}.forge-button-toggle.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-button-toggle.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-button-toggle .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px}.forge-button-toggle .mdc-button__touch{left:calc(-1 * 1px);width:calc(100% + 2 * 1px)}.forge-button-toggle:not(:disabled){border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee)}.forge-button-toggle:disabled{border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button-toggle__selected:not(:disabled){background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);color:#fff;color:var(--mdc-theme-text-primary-on-dark,#fff)}.forge-button-toggle__selected:not(:disabled)::after,.forge-button-toggle__selected:not(:disabled)::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button-toggle__selected:not(:disabled).mdc-ripple-surface--hover::before,.forge-button-toggle__selected:not(:disabled):hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button-toggle__selected:not(:disabled).mdc-ripple-upgraded--background-focused::before,.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-toggle__selected:not(:disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-toggle__selected:disabled{background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);color:#fff;color:var(--mdc-theme-text-primary-on-dark,#fff);opacity:.37}.forge-button-toggle__selected:disabled::after,.forge-button-toggle__selected:disabled::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button-toggle__selected:disabled.mdc-ripple-surface--hover::before,.forge-button-toggle__selected:disabled:hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button-toggle__selected:disabled.mdc-ripple-upgraded--background-focused::before,.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-toggle__selected:disabled.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-toggle ::slotted([slot=leading]){display:inline-block;width:1.125rem;height:1.125rem;font-size:1.125rem!important;vertical-align:top;margin-right:4px}.forge-button-toggle ::slotted([slot=trailing]){display:inline-block;width:1.125rem;height:1.125rem;font-size:1.125rem!important;vertical-align:top;margin-left:4px}.forge-button-toggle--dense{height:24px;margin-top:0;margin-bottom:0;height:1.5rem;font-size:.75rem}.forge-button-toggle--dense .mdc-button__touch{height:100%}.forge-button-toggle--dense ::slotted([slot=leading]){width:.875rem;height:.875rem;font-size:.875rem!important}.forge-button-toggle--dense ::slotted([slot=trailing]){width:.875rem;height:.875rem;font-size:.875rem!important}:host{display:inline-block}:host([hidden]){display:none}:host([stretch]){width:100%;-webkit-box-flex:1;flex:1}:host([selected-adjacent]) .forge-button-toggle{border-left-color:var(--mdc-theme-text-primary-on-dark)}:host([selected-adjacent-vertical]) .forge-button-toggle{border-top-color:var(--mdc-theme-text-primary-on-dark)}';
13
+ const styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-button-toggle{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:0 0;border-radius:4px;border-radius:var(--mdc-shape-small,4px);height:36px;border-style:solid;-webkit-transition:border 280ms cubic-bezier(.4, 0, .2, 1);transition:border 280ms cubic-bezier(.4, 0, .2, 1);font-family:Roboto,sans-serif;font-family:var(--mdc-outlined-button-label-text-font, var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)));font-size:.875rem;font-size:var(--mdc-outlined-button-label-text-size, var(--mdc-typography-button-font-size, .875rem));letter-spacing:.0892857143em;letter-spacing:var(--mdc-outlined-button-label-text-tracking, var(--mdc-typography-button-letter-spacing, .0892857143em));font-weight:500;font-weight:var(--mdc-outlined-button-label-text-weight,var(--mdc-typography-button-font-weight,500));text-transform:uppercase;text-transform:var(--mdc-outlined-button-label-text-transform,var(--mdc-typography-button-text-transform,uppercase));height:36px;height:var(--mdc-outlined-button-container-height,36px);border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px));padding:0 15px 0 15px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px);padding:0 15px 0 15px;border-width:1px;text-transform:none;overflow:hidden;width:100%;box-sizing:border-box;-webkit-transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);border-radius:0;border-bottom-width:var(--forge-button-toggle-border-bottom-width,1px);border-right-width:var(--forge-button-toggle-border-right-width,1px);border-top-left-radius:var(--forge-button-toggle-border-top-left-radius,4px);border-bottom-left-radius:var(--forge-button-toggle-border-bottom-left-radius,4px);border-top-right-radius:var(--forge-button-toggle-border-top-right-radius,4px);border-bottom-right-radius:var(--forge-button-toggle-border-bottom-right-radius,4px)}.forge-button-toggle::after,.forge-button-toggle::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.forge-button-toggle::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-button-toggle::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button-toggle.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button-toggle.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button-toggle.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button-toggle.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-button-toggle.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-button-toggle::after,.forge-button-toggle::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button-toggle.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button-toggle::after,.forge-button-toggle::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-button-toggle.mdc-ripple-surface--hover::before,.forge-button-toggle:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button-toggle.mdc-ripple-upgraded--background-focused::before,.forge-button-toggle:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button-toggle:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button-toggle.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button-toggle .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-button-toggle::-moz-focus-inner{padding:0;border:0}.forge-button-toggle:active{outline:0}.forge-button-toggle:hover{cursor:pointer}.forge-button-toggle:disabled{cursor:default;pointer-events:none}.forge-button-toggle .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button-toggle:not(:disabled){background-color:transparent}.forge-button-toggle:not(:disabled){color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-button-toggle .mdc-button__ripple{border-style:solid;border-color:transparent}.forge-button-toggle:not(:disabled){color:#6200ee;color:var(--mdc-outlined-button-label-text-color,var(--mdc-theme-primary,#6200ee))}.forge-button-toggle:disabled{color:rgba(0,0,0,.38);color:var(--mdc-outlined-button-disabled-label-text-color,rgba(0,0,0,.38))}.forge-button-toggle .mdc-button__icon{font-size:1.125rem;font-size:var(--mdc-outlined-button-with-icon-icon-size, 1.125rem);width:1.125rem;width:var(--mdc-outlined-button-with-icon-icon-size,1.125rem);height:1.125rem;height:var(--mdc-outlined-button-with-icon-icon-size,1.125rem)}.forge-button-toggle .mdc-button__ripple::after,.forge-button-toggle .mdc-button__ripple::before{background-color:#6200ee;background-color:var(--mdc-outlined-button-hover-state-layer-color,var(--mdc-theme-primary,#6200ee))}.forge-button-toggle.mdc-ripple-surface--hover .mdc-button__ripple::before,.forge-button-toggle:hover .mdc-button__ripple::before{opacity:.04;opacity:var(--mdc-outlined-button-hover-state-layer-opacity, .04)}.forge-button-toggle.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.forge-button-toggle:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-focus-state-layer-opacity, .12)}.forge-button-toggle:not(.mdc-ripple-upgraded) .mdc-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, .12)}.forge-button-toggle.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, 0.12)}.forge-button-toggle .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px))}.forge-button-toggle:not(:disabled){border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-outline-color,rgba(0,0,0,.12))}.forge-button-toggle:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-disabled-outline-color,rgba(0,0,0,.12))}.forge-button-toggle.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-button-toggle.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-button-toggle .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px)}.forge-button-toggle .mdc-button__touch{left:calc(-1 * 1px);left:calc(-1 * var(--mdc-outlined-button-outline-width,1px));width:calc(100% + 2 * 1px);width:calc(100% + 2 * var(--mdc-outlined-button-outline-width,1px))}.forge-button-toggle.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-button-toggle.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-button-toggle .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px}.forge-button-toggle .mdc-button__touch{left:calc(-1 * 1px);width:calc(100% + 2 * 1px)}.forge-button-toggle:not(:disabled){border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee)}.forge-button-toggle:disabled{border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button-toggle__selected:not(:disabled){background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);color:#fff;color:var(--mdc-theme-text-primary-on-dark,#fff)}.forge-button-toggle__selected:not(:disabled)::after,.forge-button-toggle__selected:not(:disabled)::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button-toggle__selected:not(:disabled).mdc-ripple-surface--hover::before,.forge-button-toggle__selected:not(:disabled):hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button-toggle__selected:not(:disabled).mdc-ripple-upgraded--background-focused::before,.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-toggle__selected:not(:disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-toggle__selected:disabled{background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);color:#fff;color:var(--mdc-theme-text-primary-on-dark,#fff);opacity:.37}.forge-button-toggle__selected:disabled::after,.forge-button-toggle__selected:disabled::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button-toggle__selected:disabled.mdc-ripple-surface--hover::before,.forge-button-toggle__selected:disabled:hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button-toggle__selected:disabled.mdc-ripple-upgraded--background-focused::before,.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-toggle__selected:disabled.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-toggle ::slotted([slot=leading]){display:inline-block;width:1.125rem;height:1.125rem;font-size:1.125rem!important;vertical-align:top;margin-right:4px}.forge-button-toggle ::slotted([slot=trailing]){display:inline-block;width:1.125rem;height:1.125rem;font-size:1.125rem!important;vertical-align:top;margin-left:4px}.forge-button-toggle--dense{height:24px;margin-top:0;margin-bottom:0;height:1.5rem;font-size:.75rem}.forge-button-toggle--dense .mdc-button__touch{height:100%}.forge-button-toggle--dense ::slotted([slot=leading]){width:.875rem;height:.875rem;font-size:.875rem!important}.forge-button-toggle--dense ::slotted([slot=trailing]){width:.875rem;height:.875rem;font-size:.875rem!important}:host{display:inline-block}:host([hidden]){display:none}:host([stretch]){width:100%;-webkit-box-flex:1;flex:1}:host([selected-adjacent]) .forge-button-toggle{border-left-color:var(--mdc-theme-text-primary-on-dark)}:host([selected-adjacent-vertical]) .forge-button-toggle{border-top-color:var(--mdc-theme-text-primary-on-dark)}';
14
14
  /**
15
15
  * The web component class behind the `<forge-button-toggle>` custom element.
16
16
  *
@@ -162,49 +162,41 @@ export function getHeader() {
162
162
  element.id = CALENDAR_CONSTANTS.ids.HEADER;
163
163
  element.setAttribute('part', CALENDAR_CONSTANTS.parts.HEADER);
164
164
  const previousButton = document.createElement('forge-icon-button');
165
- const previousButtonElement = document.createElement('button');
166
165
  const previousIcon = document.createElement('forge-icon');
167
166
  const previousTooltip = document.createElement('forge-tooltip');
168
167
  previousButton.setAttribute('part', CALENDAR_CONSTANTS.parts.PREVIOUS_BUTTON);
169
- previousButtonElement.id = CALENDAR_CONSTANTS.ids.PREVIOUS_BUTTON;
170
- previousButtonElement.type = 'button';
171
- previousButtonElement.setAttribute('aria-label', 'Previous');
168
+ previousButton.id = CALENDAR_CONSTANTS.ids.PREVIOUS_BUTTON;
169
+ previousButton.type = 'button';
170
+ previousButton.setAttribute('aria-label', 'Previous');
172
171
  previousIcon.setAttribute('name', 'keyboard_arrow_left');
173
172
  previousTooltip.id = CALENDAR_CONSTANTS.ids.PREVIOUS_BUTTON_TOOLTIP;
174
173
  previousTooltip.setAttribute('aria-hidden', 'true');
175
174
  previousTooltip.innerText = 'Previous';
176
- previousButton.appendChild(previousButtonElement);
177
175
  previousButton.appendChild(previousTooltip);
178
- previousButtonElement.appendChild(previousIcon);
176
+ previousButton.appendChild(previousIcon);
179
177
  const nextButton = document.createElement('forge-icon-button');
180
- const nextButtonElement = document.createElement('button');
181
178
  const nextIcon = document.createElement('forge-icon');
182
179
  const nextTooltip = document.createElement('forge-tooltip');
183
180
  nextButton.setAttribute('part', CALENDAR_CONSTANTS.parts.NEXT_BUTTON);
184
- nextButtonElement.id = CALENDAR_CONSTANTS.ids.NEXT_BUTTON;
185
- nextButtonElement.type = 'button';
186
- nextButtonElement.setAttribute('aria-label', 'Next');
181
+ nextButton.id = CALENDAR_CONSTANTS.ids.NEXT_BUTTON;
182
+ nextButton.type = 'button';
183
+ nextButton.setAttribute('aria-label', 'Next');
187
184
  nextIcon.setAttribute('name', 'keyboard_arrow_right');
188
185
  nextTooltip.id = CALENDAR_CONSTANTS.ids.NEXT_BUTTON_TOOLTIP;
189
186
  nextTooltip.setAttribute('aria-hidden', 'true');
190
187
  nextTooltip.innerText = 'Next';
191
- nextButton.appendChild(nextButtonElement);
192
188
  nextButton.appendChild(nextTooltip);
193
- nextButtonElement.appendChild(nextIcon);
189
+ nextButton.appendChild(nextIcon);
194
190
  const monthButton = document.createElement('forge-button');
195
- const monthButtonElement = document.createElement('button');
196
191
  monthButton.setAttribute('part', CALENDAR_CONSTANTS.parts.MONTH_BUTTON);
197
- monthButtonElement.id = CALENDAR_CONSTANTS.ids.MONTH_BUTTON;
198
- monthButtonElement.type = 'button';
199
- monthButtonElement.setAttribute('aria-pressed', 'false');
200
- monthButton.appendChild(monthButtonElement);
192
+ monthButton.id = CALENDAR_CONSTANTS.ids.MONTH_BUTTON;
193
+ monthButton.type = 'button';
194
+ monthButton.setAttribute('aria-pressed', 'false');
201
195
  const yearButton = document.createElement('forge-button');
202
- const yearButtonElement = document.createElement('button');
203
196
  yearButton.setAttribute('part', CALENDAR_CONSTANTS.parts.YEAR_BUTTON);
204
- yearButtonElement.id = CALENDAR_CONSTANTS.ids.YEAR_BUTTON;
205
- yearButtonElement.type = 'button';
206
- yearButtonElement.setAttribute('aria-pressed', 'false');
207
- yearButton.appendChild(yearButtonElement);
197
+ yearButton.id = CALENDAR_CONSTANTS.ids.YEAR_BUTTON;
198
+ yearButton.type = 'button';
199
+ yearButton.setAttribute('aria-pressed', 'false');
208
200
  // TODO: change order of month and year based on locale
209
201
  const centerContainer = document.createElement('div');
210
202
  centerContainer.setAttribute('aria-live', 'polite');
@@ -256,23 +248,19 @@ export function getFooter() {
256
248
  /** Returns a clear button. */
257
249
  export function getClearButton() {
258
250
  const clearButton = document.createElement('forge-button');
259
- const clearButtonElement = document.createElement('button');
260
251
  clearButton.id = CALENDAR_CONSTANTS.ids.CLEAR_BUTTON;
261
252
  clearButton.setAttribute('part', CALENDAR_CONSTANTS.parts.CLEAR_BUTTON);
262
- clearButtonElement.type = 'button';
263
- clearButtonElement.innerText = 'Clear';
264
- clearButton.appendChild(clearButtonElement);
253
+ clearButton.type = 'button';
254
+ clearButton.innerText = 'Clear';
265
255
  return clearButton;
266
256
  }
267
257
  /** Returns a today button. */
268
258
  export function getTodayButton() {
269
259
  const todayButton = document.createElement('forge-button');
270
- const todayButtonElement = document.createElement('button');
271
260
  todayButton.id = CALENDAR_CONSTANTS.ids.TODAY_BUTTON;
272
261
  todayButton.setAttribute('part', CALENDAR_CONSTANTS.parts.TODAY_BUTTON);
273
- todayButtonElement.type = 'button';
274
- todayButtonElement.innerText = 'Today';
275
- todayButton.appendChild(todayButtonElement);
262
+ todayButton.type = 'button';
263
+ todayButton.innerText = 'Today';
276
264
  return todayButton;
277
265
  }
278
266
  /** Checks whether an event originated from a date element, returning the element if it did. */
@@ -1471,6 +1471,9 @@ export class CalendarFoundation {
1471
1471
  }
1472
1472
  _applyMin() {
1473
1473
  this._adapter.toggleHostAttribute(CALENDAR_CONSTANTS.attributes.MIN, !!this._minAttribute, this._minAttribute);
1474
+ if (this._min && this._min.getMonth() > this._month) {
1475
+ this._month = this._min.getMonth();
1476
+ }
1474
1477
  if (this._isInitialized) {
1475
1478
  this._applyDisabledDates();
1476
1479
  if (this._min && this._min > this._focusedDate) {
@@ -1483,6 +1486,9 @@ export class CalendarFoundation {
1483
1486
  }
1484
1487
  _applyMax() {
1485
1488
  this._adapter.toggleHostAttribute(CALENDAR_CONSTANTS.attributes.MAX, !!this._maxAttribute, this._maxAttribute);
1489
+ if (this._max && this._max.getMonth() < this._month) {
1490
+ this._month = this._max.getMonth();
1491
+ }
1486
1492
  if (this._isInitialized) {
1487
1493
  this._applyDisabledDates();
1488
1494
  if (this._max && this._max < this._focusedDate) {