@tylertech/forge 3.0.0-next.14 → 3.0.0-next.16

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 (814) hide show
  1. package/custom-elements.json +52540 -39351
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/app-bar/index.js +1 -1
  4. package/dist/esm/app-bar/help-button/index.js +1 -1
  5. package/dist/esm/app-bar/index.js +1 -1
  6. package/dist/esm/app-bar/menu-button/index.js +1 -1
  7. package/dist/esm/app-bar/notification-button/index.js +1 -1
  8. package/dist/esm/app-bar/profile-button/index.js +1 -1
  9. package/dist/esm/app-bar/search/index.js +1 -1
  10. package/dist/esm/autocomplete/index.js +1 -1
  11. package/dist/esm/avatar/index.js +1 -1
  12. package/dist/esm/backdrop/index.js +1 -1
  13. package/dist/esm/badge/index.js +1 -1
  14. package/dist/esm/banner/index.js +1 -1
  15. package/dist/esm/bottom-sheet/index.js +1 -1
  16. package/dist/esm/busy-indicator/index.js +1 -1
  17. package/dist/esm/button/index.js +1 -1
  18. package/dist/esm/button-area/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  20. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  21. package/dist/esm/button-toggle/index.js +1 -1
  22. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  23. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/chunk.24NQGTNU.js +7 -0
  32. package/dist/esm/chunks/chunk.24NQGTNU.js.map +7 -0
  33. package/dist/esm/chunks/{chunk.PSTGTQVK.js → chunk.2JCTFKCR.js} +2 -2
  34. package/dist/esm/chunks/{chunk.3UO6S3IK.js → chunk.2OZ2HVBZ.js} +2 -2
  35. package/dist/esm/chunks/{chunk.3UO6S3IK.js.map → chunk.2OZ2HVBZ.js.map} +3 -3
  36. package/dist/esm/chunks/{chunk.4B5IOZAT.js → chunk.2YE556AM.js} +2 -2
  37. package/dist/esm/chunks/{chunk.YKZ25J6B.js → chunk.3U6A353B.js} +2 -2
  38. package/dist/esm/chunks/chunk.3VHQPHQP.js +7 -0
  39. package/dist/esm/chunks/chunk.3VHQPHQP.js.map +7 -0
  40. package/dist/esm/chunks/{chunk.LXX3YZYS.js → chunk.436USWLL.js} +2 -2
  41. package/dist/esm/chunks/{chunk.KLPF4CNX.js → chunk.4GMGQZOW.js} +2 -2
  42. package/dist/esm/chunks/{chunk.Z7PBGV4K.js → chunk.4JB3SESQ.js} +2 -2
  43. package/dist/esm/chunks/{chunk.QFY23EWU.js → chunk.4JL5LW5J.js} +2 -2
  44. package/dist/esm/chunks/chunk.4O6OEUGY.js +7 -0
  45. package/dist/esm/chunks/{chunk.RDW7Z4W5.js.map → chunk.4O6OEUGY.js.map} +2 -2
  46. package/dist/esm/chunks/chunk.4OG3OGVO.js +7 -0
  47. package/dist/esm/chunks/chunk.4OG3OGVO.js.map +7 -0
  48. package/dist/esm/chunks/chunk.4QOXI2GM.js +7 -0
  49. package/dist/esm/chunks/chunk.4QOXI2GM.js.map +7 -0
  50. package/dist/esm/chunks/chunk.55D2BMXX.js +7 -0
  51. package/dist/esm/chunks/{chunk.A72W7RW7.js → chunk.5LCWC3A7.js} +2 -2
  52. package/dist/esm/chunks/{chunk.RYNQDXFA.js → chunk.5T7TT3AB.js} +2 -2
  53. package/dist/esm/chunks/{chunk.2GYZM6ZG.js → chunk.5WVOPPBY.js} +2 -2
  54. package/dist/esm/chunks/{chunk.2GYZM6ZG.js.map → chunk.5WVOPPBY.js.map} +2 -2
  55. package/dist/esm/chunks/chunk.5XLCY232.js +7 -0
  56. package/dist/esm/chunks/chunk.5XLCY232.js.map +7 -0
  57. package/dist/esm/chunks/chunk.65WE722H.js +7 -0
  58. package/dist/esm/chunks/chunk.65WE722H.js.map +7 -0
  59. package/dist/esm/chunks/chunk.6IPX5C4B.js +7 -0
  60. package/dist/esm/chunks/chunk.6IPX5C4B.js.map +7 -0
  61. package/dist/esm/chunks/{chunk.TLFCQSJN.js → chunk.6PB5OWMP.js} +2 -2
  62. package/dist/esm/chunks/{chunk.TLFCQSJN.js.map → chunk.6PB5OWMP.js.map} +2 -2
  63. package/dist/esm/chunks/chunk.74HZVSDM.js +7 -0
  64. package/dist/esm/chunks/chunk.74HZVSDM.js.map +7 -0
  65. package/dist/esm/chunks/chunk.74JHE77R.js +7 -0
  66. package/dist/esm/chunks/{chunk.KTYYBWTN.js.map → chunk.74JHE77R.js.map} +2 -2
  67. package/dist/esm/chunks/chunk.7SYU6KRU.js +15 -0
  68. package/dist/esm/chunks/chunk.7SYU6KRU.js.map +7 -0
  69. package/dist/esm/chunks/{chunk.HHHBS6FB.js → chunk.B53Q676I.js} +2 -2
  70. package/dist/esm/chunks/{chunk.B46Q3AFP.js → chunk.BKQSLDMK.js} +2 -2
  71. package/dist/esm/chunks/{chunk.7XFU2W25.js → chunk.BX4AQRHB.js} +2 -2
  72. package/dist/esm/chunks/{chunk.7XFU2W25.js.map → chunk.BX4AQRHB.js.map} +3 -3
  73. package/dist/esm/chunks/{chunk.OUACQISE.js → chunk.BZG47SA5.js} +2 -2
  74. package/dist/esm/chunks/{chunk.OUACQISE.js.map → chunk.BZG47SA5.js.map} +1 -1
  75. package/dist/esm/chunks/{chunk.F2EBSV5Z.js → chunk.BZVLSWZR.js} +2 -2
  76. package/dist/esm/chunks/chunk.C72LM2AL.js +7 -0
  77. package/dist/esm/chunks/chunk.C72LM2AL.js.map +7 -0
  78. package/dist/esm/chunks/{chunk.BMQYEYCT.js → chunk.DGG5ABL3.js} +2 -2
  79. package/dist/esm/chunks/{chunk.PK7R6WDF.js → chunk.DPIWAXEW.js} +2 -2
  80. package/dist/esm/chunks/chunk.E62ZPQSM.js +7 -0
  81. package/dist/esm/chunks/chunk.E62ZPQSM.js.map +7 -0
  82. package/dist/esm/chunks/chunk.ECJBVX3D.js +7 -0
  83. package/dist/esm/chunks/{chunk.5VHUMZYS.js.map → chunk.ECJBVX3D.js.map} +1 -1
  84. package/dist/esm/chunks/chunk.EN2HVFJ4.js +7 -0
  85. package/dist/esm/chunks/chunk.EN2HVFJ4.js.map +7 -0
  86. package/dist/esm/chunks/chunk.EPRRK33O.js +7 -0
  87. package/dist/esm/chunks/chunk.EPRRK33O.js.map +7 -0
  88. package/dist/esm/chunks/{chunk.7PP6QHOM.js → chunk.ETDUW5K2.js} +2 -2
  89. package/dist/esm/chunks/chunk.EWFNM4WO.js +7 -0
  90. package/dist/esm/chunks/chunk.EWFNM4WO.js.map +7 -0
  91. package/dist/esm/chunks/{chunk.FYWPZFLJ.js → chunk.EWT2PBEP.js} +2 -2
  92. package/dist/esm/chunks/{chunk.FYWPZFLJ.js.map → chunk.EWT2PBEP.js.map} +2 -2
  93. package/dist/esm/chunks/{chunk.GHR7T6U2.js → chunk.FGHSNC2V.js} +2 -2
  94. package/dist/esm/chunks/{chunk.P7LC3YYW.js → chunk.FPRBYGET.js} +2 -2
  95. package/dist/esm/chunks/{chunk.7W2UWAZX.js → chunk.FQVR2QNF.js} +2 -2
  96. package/dist/esm/chunks/{chunk.IEB5KRFQ.js → chunk.FWWBFNQA.js} +2 -2
  97. package/dist/esm/chunks/{chunk.543K5Y4E.js → chunk.FZELFLPE.js} +2 -2
  98. package/dist/esm/chunks/{chunk.6Q3SV2R2.js → chunk.FZZUNYH5.js} +2 -2
  99. package/dist/esm/chunks/chunk.GHMAI3SM.js +15 -0
  100. package/dist/esm/chunks/chunk.GHMAI3SM.js.map +7 -0
  101. package/dist/esm/chunks/{chunk.CTZ3AWDW.js → chunk.GLUKTMQU.js} +2 -2
  102. package/dist/esm/chunks/{chunk.W324TWF2.js → chunk.GTBCTNMI.js} +2 -2
  103. package/dist/esm/chunks/chunk.GTGXHY4A.js +7 -0
  104. package/dist/esm/chunks/chunk.GTGXHY4A.js.map +7 -0
  105. package/dist/esm/chunks/{chunk.L4Y4RO5O.js → chunk.GURV4TDZ.js} +2 -2
  106. package/dist/esm/chunks/chunk.H6MMHAQI.js +15 -0
  107. package/dist/esm/chunks/chunk.H6MMHAQI.js.map +7 -0
  108. package/dist/esm/chunks/{chunk.FQSL747N.js → chunk.HJUFU2PV.js} +2 -2
  109. package/dist/esm/chunks/{chunk.FQSL747N.js.map → chunk.HJUFU2PV.js.map} +2 -2
  110. package/dist/esm/chunks/chunk.HPCXVNG6.js +7 -0
  111. package/dist/esm/chunks/{chunk.CZOABXEQ.js.map → chunk.HPCXVNG6.js.map} +3 -3
  112. package/dist/esm/chunks/{chunk.K7FPXAFS.js → chunk.HZUQXCOQ.js} +2 -2
  113. package/dist/esm/chunks/{chunk.K7FPXAFS.js.map → chunk.HZUQXCOQ.js.map} +2 -2
  114. package/dist/esm/chunks/{chunk.THWSN3X4.js → chunk.IA27LU2O.js} +2 -2
  115. package/dist/esm/chunks/chunk.INQZNXG6.js +7 -0
  116. package/dist/esm/chunks/chunk.INQZNXG6.js.map +7 -0
  117. package/dist/esm/chunks/chunk.IO3TM653.js +7 -0
  118. package/dist/esm/chunks/chunk.IO3TM653.js.map +7 -0
  119. package/dist/esm/chunks/{chunk.TZFUKJ24.js → chunk.JXJVPJRO.js} +2 -2
  120. package/dist/esm/chunks/{chunk.Z2RB75TN.js → chunk.K3STAW42.js} +2 -2
  121. package/dist/esm/chunks/chunk.KM5XYTE3.js +7 -0
  122. package/dist/esm/chunks/chunk.KM5XYTE3.js.map +7 -0
  123. package/dist/esm/chunks/{chunk.G2BNY5QQ.js → chunk.KPC6IS3C.js} +2 -2
  124. package/dist/esm/chunks/chunk.KPNGLSCU.js +7 -0
  125. package/dist/esm/chunks/chunk.KPNGLSCU.js.map +7 -0
  126. package/dist/esm/chunks/{chunk.VDZ7HBKM.js → chunk.KV7PGQJ7.js} +2 -2
  127. package/dist/esm/chunks/chunk.LCS2O4Y7.js +7 -0
  128. package/dist/esm/chunks/chunk.LCS2O4Y7.js.map +7 -0
  129. package/dist/esm/chunks/chunk.M4KCRUKW.js +7 -0
  130. package/dist/esm/chunks/chunk.M4KCRUKW.js.map +7 -0
  131. package/dist/esm/chunks/chunk.M5JGYRH4.js +7 -0
  132. package/dist/esm/chunks/chunk.M7RYU4HQ.js +7 -0
  133. package/dist/esm/chunks/chunk.M7RYU4HQ.js.map +7 -0
  134. package/dist/esm/chunks/chunk.N75VD4S4.js +7 -0
  135. package/dist/esm/chunks/chunk.NHOGZDLN.js +7 -0
  136. package/dist/esm/chunks/chunk.NHOGZDLN.js.map +7 -0
  137. package/dist/esm/chunks/{chunk.H7GW57Q6.js → chunk.NKEAMFO4.js} +2 -2
  138. package/dist/esm/chunks/{chunk.26E4L52W.js → chunk.NW54VA4E.js} +2 -2
  139. package/dist/esm/chunks/chunk.OJGPKHHC.js +7 -0
  140. package/dist/esm/chunks/{chunk.VD5ZL5ZN.js.map → chunk.OJGPKHHC.js.map} +2 -2
  141. package/dist/esm/chunks/chunk.OSCODMUG.js +7 -0
  142. package/dist/esm/chunks/chunk.OSCODMUG.js.map +7 -0
  143. package/dist/esm/chunks/chunk.OT3JZ6JO.js +7 -0
  144. package/dist/esm/chunks/chunk.OT3JZ6JO.js.map +7 -0
  145. package/dist/esm/chunks/{chunk.PADPL4L3.js → chunk.OUIWXKO2.js} +2 -2
  146. package/dist/esm/chunks/chunk.OXVCCHM5.js +7 -0
  147. package/dist/esm/chunks/{chunk.7ABZUBTT.js → chunk.P5XHGSJY.js} +2 -2
  148. package/dist/esm/chunks/chunk.Q5YXX4DU.js +7 -0
  149. package/dist/esm/chunks/chunk.Q5YXX4DU.js.map +7 -0
  150. package/dist/esm/chunks/chunk.QG5EYBS3.js +7 -0
  151. package/dist/esm/chunks/chunk.QG5EYBS3.js.map +7 -0
  152. package/dist/esm/chunks/{chunk.NZKIFXBU.js → chunk.QKTNCOVX.js} +2 -2
  153. package/dist/esm/chunks/{chunk.NG6UZ4OL.js → chunk.QZ57WM3D.js} +2 -2
  154. package/dist/esm/chunks/{chunk.OED5UCYT.js → chunk.R2QENXIL.js} +2 -2
  155. package/dist/esm/chunks/chunk.R53VHVKB.js +12 -0
  156. package/dist/esm/chunks/chunk.R53VHVKB.js.map +7 -0
  157. package/dist/esm/chunks/{chunk.DOEG3DWJ.js → chunk.RDQ3QGWS.js} +2 -2
  158. package/dist/esm/chunks/{chunk.GS72TBUD.js → chunk.RFKKHN7V.js} +2 -2
  159. package/dist/esm/chunks/{chunk.57PXXJA6.js → chunk.RKG66YKS.js} +2 -2
  160. package/dist/esm/chunks/chunk.RRNSZCVJ.js +7 -0
  161. package/dist/esm/chunks/chunk.RRNSZCVJ.js.map +7 -0
  162. package/dist/esm/chunks/chunk.S32JKL3M.js +7 -0
  163. package/dist/esm/chunks/chunk.S32JKL3M.js.map +7 -0
  164. package/dist/esm/chunks/chunk.SJQPD3CO.js +7 -0
  165. package/dist/esm/chunks/chunk.SJQPD3CO.js.map +7 -0
  166. package/dist/esm/chunks/{chunk.LMIKNDBS.js → chunk.T235SNYZ.js} +2 -2
  167. package/dist/esm/chunks/chunk.T4N7KZHZ.js +7 -0
  168. package/dist/esm/chunks/chunk.T4N7KZHZ.js.map +7 -0
  169. package/dist/esm/chunks/{chunk.J3B5CWKT.js → chunk.TE6ZNUAM.js} +2 -2
  170. package/dist/esm/chunks/{chunk.J3B5CWKT.js.map → chunk.TE6ZNUAM.js.map} +2 -2
  171. package/dist/esm/chunks/{chunk.DD35U4AA.js → chunk.TNEUDWZU.js} +2 -2
  172. package/dist/esm/chunks/{chunk.DD35U4AA.js.map → chunk.TNEUDWZU.js.map} +2 -2
  173. package/dist/esm/chunks/chunk.TPXXHX5J.js +7 -0
  174. package/dist/esm/chunks/{chunk.JAWV5Y5T.js.map → chunk.TPXXHX5J.js.map} +2 -2
  175. package/dist/esm/chunks/chunk.TZ67MC2N.js +7 -0
  176. package/dist/esm/chunks/{chunk.C5IB44HX.js.map → chunk.TZ67MC2N.js.map} +1 -1
  177. package/dist/esm/chunks/chunk.V3IHX6B2.js +7 -0
  178. package/dist/esm/chunks/{chunk.BFUGFHEH.js.map → chunk.V3IHX6B2.js.map} +1 -1
  179. package/dist/esm/chunks/chunk.V564JB6A.js +7 -0
  180. package/dist/esm/chunks/chunk.V564JB6A.js.map +7 -0
  181. package/dist/esm/chunks/chunk.VGIZJ32U.js +7 -0
  182. package/dist/esm/chunks/chunk.VZTV4GXC.js +7 -0
  183. package/dist/esm/chunks/chunk.VZTV4GXC.js.map +7 -0
  184. package/dist/esm/chunks/chunk.W5TDBDVY.js +7 -0
  185. package/dist/esm/chunks/{chunk.XDANTL6C.js.map → chunk.W5TDBDVY.js.map} +2 -2
  186. package/dist/esm/chunks/{chunk.U5WMRBSC.js → chunk.WA2YP4NC.js} +2 -2
  187. package/dist/esm/chunks/chunk.WFQYTXCB.js +7 -0
  188. package/dist/esm/chunks/chunk.WFQYTXCB.js.map +7 -0
  189. package/dist/esm/chunks/chunk.WNH7EHZP.js +7 -0
  190. package/dist/esm/chunks/{chunk.F6KM5FO6.js.map → chunk.WNH7EHZP.js.map} +2 -2
  191. package/dist/esm/chunks/{chunk.5C24LZNU.js → chunk.WQHKUNR7.js} +2 -2
  192. package/dist/esm/chunks/chunk.WYSUQK6Z.js +7 -0
  193. package/dist/esm/chunks/{chunk.3ZRQFXQU.js.map → chunk.WYSUQK6Z.js.map} +2 -2
  194. package/dist/esm/chunks/chunk.X57DRPFB.js +7 -0
  195. package/dist/esm/chunks/{chunk.DDXIHZFX.js → chunk.X7YTDVNT.js} +2 -2
  196. package/dist/esm/chunks/chunk.XBFH6M72.js +7 -0
  197. package/dist/esm/chunks/chunk.XBFH6M72.js.map +7 -0
  198. package/dist/esm/chunks/{chunk.7DHDFH5L.js → chunk.XOH2JCRS.js} +2 -2
  199. package/dist/esm/chunks/{chunk.IW7HALLT.js → chunk.Y6D5Z56X.js} +2 -2
  200. package/dist/esm/chunks/{chunk.IW7HALLT.js.map → chunk.Y6D5Z56X.js.map} +2 -2
  201. package/dist/esm/chunks/chunk.YBPAGWVG.js +7 -0
  202. package/dist/esm/chunks/chunk.YBPAGWVG.js.map +7 -0
  203. package/dist/esm/chunks/{chunk.KVCDAZ6B.js → chunk.YTBNAGLS.js} +2 -2
  204. package/dist/esm/chunks/chunk.YWDYBX3G.js +7 -0
  205. package/dist/esm/chunks/chunk.YWDYBX3G.js.map +7 -0
  206. package/dist/esm/chunks/{chunk.RZZBM3AW.js → chunk.ZHMV5SR4.js} +2 -2
  207. package/dist/esm/chunks/{chunk.GWJ4QCSW.js → chunk.ZLACSRD4.js} +2 -2
  208. package/dist/esm/chunks/{chunk.URCJO73M.js → chunk.ZPVRRFT7.js} +2 -2
  209. package/dist/esm/chunks/{chunk.URCJO73M.js.map → chunk.ZPVRRFT7.js.map} +1 -1
  210. package/dist/esm/chunks/chunk.ZS3T6MJS.js +7 -0
  211. package/dist/esm/chunks/{chunk.JVK64JDZ.js.map → chunk.ZS3T6MJS.js.map} +2 -2
  212. package/dist/esm/chunks/{chunk.DTKFE7YB.js → chunk.ZUTQPJ2B.js} +2 -2
  213. package/dist/esm/chunks/chunk.ZWIEYVZC.js +7 -0
  214. package/dist/esm/chunks/chunk.ZWIEYVZC.js.map +7 -0
  215. package/dist/esm/chunks/chunk.ZY3ETQ3D.js +7 -0
  216. package/dist/esm/chunks/chunk.ZY3ETQ3D.js.map +7 -0
  217. package/dist/esm/chunks/{chunk.PQQVUUHU.js → chunk.ZYCKD6K5.js} +2 -2
  218. package/dist/esm/circular-progress/index.js +1 -1
  219. package/dist/esm/color-picker/index.js +1 -1
  220. package/dist/esm/core/base/index.js +1 -1
  221. package/dist/esm/core/delegates/index.js +1 -1
  222. package/dist/esm/core/index.js +1 -1
  223. package/dist/esm/core/utils/index.js +1 -1
  224. package/dist/esm/date-picker/index.js +1 -1
  225. package/dist/esm/date-range-picker/index.js +1 -1
  226. package/dist/esm/dialog/index.js +1 -1
  227. package/dist/esm/divider/index.js +1 -1
  228. package/dist/esm/drawer/base/index.js +1 -1
  229. package/dist/esm/drawer/drawer/index.js +1 -1
  230. package/dist/esm/drawer/index.js +1 -1
  231. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  232. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  233. package/dist/esm/expansion-panel/index.js +1 -1
  234. package/dist/esm/file-picker/index.js +1 -1
  235. package/dist/esm/floating-action-button/index.js +1 -1
  236. package/dist/esm/floating-label/index.js +1 -1
  237. package/dist/esm/focus-indicator/index.js +1 -1
  238. package/dist/esm/icon/index.js +1 -1
  239. package/dist/esm/icon-button/index.js +1 -1
  240. package/dist/esm/index.js +1 -1
  241. package/dist/esm/inline-message/index.js +1 -1
  242. package/dist/esm/keyboard-shortcut/index.js +1 -1
  243. package/dist/esm/label/index.js +1 -1
  244. package/dist/esm/label-value/index.js +1 -1
  245. package/dist/esm/linear-progress/index.js +1 -1
  246. package/dist/esm/list/index.js +1 -1
  247. package/dist/esm/list/list/index.js +1 -1
  248. package/dist/esm/list/list-item/index.js +1 -1
  249. package/dist/esm/list-dropdown/index.js +1 -1
  250. package/dist/esm/menu/index.js +1 -1
  251. package/dist/esm/open-icon/index.js +1 -1
  252. package/dist/esm/overlay/index.js +7 -0
  253. package/dist/esm/overlay/index.js.map +7 -0
  254. package/dist/esm/page-state/index.js +1 -1
  255. package/dist/esm/paginator/index.js +1 -1
  256. package/dist/esm/popover/index.js +7 -0
  257. package/dist/esm/popover/index.js.map +7 -0
  258. package/dist/esm/popup/index.js +1 -1
  259. package/dist/esm/product-icon/index.js +1 -1
  260. package/dist/esm/profile-card/index.js +1 -1
  261. package/dist/esm/quantity-field/index.js +1 -1
  262. package/dist/esm/radio/index.js +1 -1
  263. package/dist/esm/radio/radio/index.js +7 -0
  264. package/dist/esm/radio/radio/index.js.map +7 -0
  265. package/dist/esm/radio/radio-group/index.js +7 -0
  266. package/dist/esm/radio/radio-group/index.js.map +7 -0
  267. package/dist/esm/ripple/index.js +1 -1
  268. package/dist/esm/scaffold/index.js +1 -1
  269. package/dist/esm/select/core/index.js +1 -1
  270. package/dist/esm/select/index.js +1 -1
  271. package/dist/esm/select/option/index.js +1 -1
  272. package/dist/esm/select/option-group/index.js +1 -1
  273. package/dist/esm/select/select/index.js +1 -1
  274. package/dist/esm/select/select-dropdown/index.js +1 -1
  275. package/dist/esm/skeleton/index.js +1 -1
  276. package/dist/esm/slider/index.js +1 -1
  277. package/dist/esm/split-button/index.js +1 -1
  278. package/dist/esm/split-view/index.js +1 -1
  279. package/dist/esm/split-view/split-view/index.js +1 -1
  280. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  281. package/dist/esm/stack/index.js +1 -1
  282. package/dist/esm/state-layer/index.js +1 -1
  283. package/dist/esm/stepper/index.js +1 -1
  284. package/dist/esm/stepper/step/index.js +1 -1
  285. package/dist/esm/stepper/stepper/index.js +1 -1
  286. package/dist/esm/switch/index.js +1 -1
  287. package/dist/esm/table/index.js +1 -1
  288. package/dist/esm/tabs/index.js +1 -1
  289. package/dist/esm/tabs/tab/index.js +1 -1
  290. package/dist/esm/tabs/tab-bar/index.js +1 -1
  291. package/dist/esm/text-field/index.js +1 -1
  292. package/dist/esm/time-picker/index.js +1 -1
  293. package/dist/esm/toast/index.js +1 -1
  294. package/dist/esm/toolbar/index.js +1 -1
  295. package/dist/esm/tooltip/index.js +1 -1
  296. package/dist/esm/view-switcher/index.js +1 -1
  297. package/dist/esm/view-switcher/view/index.js +1 -1
  298. package/dist/forge-dark.css +1 -1
  299. package/dist/forge.css +1 -1
  300. package/dist/theme/forge-theme.css +1 -1
  301. package/esm/app-bar/app-bar/app-bar.js +1 -1
  302. package/esm/app-bar/help-button/app-bar-help-button-adapter.js +3 -3
  303. package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
  304. package/esm/app-bar/menu-button/app-bar-menu-button.js +4 -4
  305. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +3 -3
  306. package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
  307. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +3 -3
  308. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +1 -0
  309. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  310. package/esm/app-bar/search/app-bar-search-adapter.d.ts +8 -43
  311. package/esm/app-bar/search/app-bar-search-adapter.js +23 -53
  312. package/esm/app-bar/search/app-bar-search-constants.d.ts +0 -15
  313. package/esm/app-bar/search/app-bar-search-constants.js +3 -20
  314. package/esm/app-bar/search/app-bar-search-foundation.d.ts +3 -37
  315. package/esm/app-bar/search/app-bar-search-foundation.js +27 -88
  316. package/esm/app-bar/search/app-bar-search.d.ts +1 -21
  317. package/esm/app-bar/search/app-bar-search.js +13 -39
  318. package/esm/banner/banner.js +1 -1
  319. package/esm/button/base/base-button-adapter.d.ts +0 -5
  320. package/esm/button/base/base-button-adapter.js +18 -18
  321. package/esm/button/base/base-button-constants.d.ts +28 -28
  322. package/esm/button/base/base-button-foundation.d.ts +0 -2
  323. package/esm/button/base/base-button-foundation.js +9 -14
  324. package/esm/button/base/base-button.d.ts +11 -7
  325. package/esm/button/base/base-button.js +21 -14
  326. package/esm/button/button-constants.d.ts +2 -0
  327. package/esm/button/button-constants.js +2 -1
  328. package/esm/button/button-foundation.d.ts +4 -0
  329. package/esm/button/button-foundation.js +10 -0
  330. package/esm/button/button.d.ts +4 -0
  331. package/esm/button/button.js +10 -2
  332. package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +6 -14
  333. package/esm/button-toggle/button-toggle/button-toggle-adapter.js +19 -45
  334. package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +11 -15
  335. package/esm/button-toggle/button-toggle/button-toggle-constants.js +6 -17
  336. package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +18 -12
  337. package/esm/button-toggle/button-toggle/button-toggle-foundation.js +74 -30
  338. package/esm/button-toggle/button-toggle/button-toggle.d.ts +67 -14
  339. package/esm/button-toggle/button-toggle/button-toggle.js +82 -29
  340. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +7 -13
  341. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +26 -91
  342. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +20 -11
  343. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +8 -2
  344. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +20 -12
  345. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +101 -97
  346. package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +75 -9
  347. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +134 -25
  348. package/esm/calendar/calendar-dom-utils.js +1 -2
  349. package/esm/calendar/calendar-foundation.d.ts +1 -1
  350. package/esm/calendar/calendar-foundation.js +13 -16
  351. package/esm/checkbox/checkbox.js +1 -1
  352. package/esm/circular-progress/circular-progress-adapter.js +8 -12
  353. package/esm/circular-progress/circular-progress.d.ts +7 -3
  354. package/esm/circular-progress/circular-progress.js +4 -2
  355. package/esm/color-picker/color-picker.js +1 -1
  356. package/esm/constants.d.ts +15 -2
  357. package/esm/constants.js +13 -0
  358. package/esm/core/base/base-adapter.d.ts +6 -0
  359. package/esm/core/base/base-adapter.js +13 -4
  360. package/esm/core/base/base-component.d.ts +4 -0
  361. package/esm/core/base/base-form-component.d.ts +0 -10
  362. package/esm/core/base/base-form-component.js +0 -6
  363. package/esm/core/base/base-nullable-form-component.d.ts +0 -10
  364. package/esm/core/base/base-nullable-form-component.js +0 -6
  365. package/esm/core/{base/base-focusable-component.d.ts → mixins/focus/with-focusable.d.ts} +11 -14
  366. package/esm/core/{base/base-focusable-component.js → mixins/focus/with-focusable.js} +15 -16
  367. package/esm/core/mixins/form/with-form-associated.d.ts +116 -0
  368. package/esm/core/mixins/form/with-form-associated.js +71 -0
  369. package/esm/core/mixins/form/with-form-validity.d.ts +35 -0
  370. package/esm/core/mixins/form/with-form-validity.js +43 -0
  371. package/esm/core/mixins/interactions/longpress/with-longpress-listener.d.ts +33 -0
  372. package/esm/core/mixins/interactions/longpress/with-longpress-listener.js +82 -0
  373. package/esm/core/mixins/internals/with-default-aria.d.ts +32 -0
  374. package/esm/core/mixins/internals/with-default-aria.js +22 -0
  375. package/esm/core/mixins/internals/with-element-internals.d.ts +26 -0
  376. package/esm/core/mixins/internals/with-element-internals.js +22 -0
  377. package/esm/core/mixins/label/with-label-aware.d.ts +33 -0
  378. package/esm/core/mixins/label/with-label-aware.js +17 -0
  379. package/esm/core/utils/a11y-utils.d.ts +126 -0
  380. package/esm/core/utils/a11y-utils.js +169 -0
  381. package/esm/core/utils/deferred.d.ts +29 -0
  382. package/esm/core/utils/deferred.js +32 -0
  383. package/esm/core/utils/dismissible-stack.d.ts +74 -0
  384. package/esm/core/utils/dismissible-stack.js +133 -0
  385. package/esm/core/utils/event-utils.d.ts +1 -0
  386. package/esm/core/utils/event-utils.js +3 -0
  387. package/esm/core/utils/feature-detection.d.ts +13 -0
  388. package/esm/core/utils/feature-detection.js +21 -0
  389. package/esm/core/utils/form-utils.d.ts +24 -0
  390. package/{styles/checkbox/_configuration.scss → esm/core/utils/form-utils.js} +1 -5
  391. package/esm/core/utils/index.d.ts +1 -0
  392. package/esm/core/utils/index.js +1 -0
  393. package/esm/core/utils/mixin-utils.d.ts +20 -0
  394. package/esm/core/utils/mixin-utils.js +15 -0
  395. package/esm/core/utils/position-utils.d.ts +78 -0
  396. package/esm/core/utils/position-utils.js +197 -0
  397. package/esm/core/utils/reflect-utils.d.ts +1 -1
  398. package/esm/core/utils/reflect-utils.js +2 -2
  399. package/esm/core/utils/utils.d.ts +14 -0
  400. package/esm/core/utils/utils.js +25 -7
  401. package/esm/date-picker/base/base-date-picker.d.ts +1 -1
  402. package/esm/date-picker/base/base-date-picker.js +4 -3
  403. package/esm/date-range-picker/date-range-picker-foundation.d.ts +1 -0
  404. package/esm/date-range-picker/date-range-picker-foundation.js +4 -0
  405. package/esm/dialog/dialog-constants.d.ts +1 -0
  406. package/esm/dialog/dialog-constants.js +2 -1
  407. package/esm/dialog/dialog-foundation.js +3 -6
  408. package/esm/dialog/dialog.js +1 -1
  409. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  410. package/esm/expansion-panel/expansion-panel-adapter.js +0 -5
  411. package/esm/floating-action-button/floating-action-button.js +1 -1
  412. package/esm/icon-button/icon-button-component-delegate.js +1 -1
  413. package/esm/icon-button/icon-button.js +1 -1
  414. package/esm/index.d.ts +6 -4
  415. package/esm/index.js +36 -29
  416. package/esm/label/label-adapter.d.ts +2 -0
  417. package/esm/label/label-adapter.js +8 -5
  418. package/esm/label/label-aware.js +2 -1
  419. package/esm/label/label-constants.d.ts +6 -2
  420. package/esm/label/label-constants.js +13 -4
  421. package/esm/label/label-foundation.d.ts +16 -0
  422. package/esm/label/label-foundation.js +69 -6
  423. package/esm/label/label.d.ts +8 -0
  424. package/esm/label/label.js +21 -3
  425. package/esm/linear-progress/linear-progress-adapter.js +13 -12
  426. package/esm/linear-progress/linear-progress-constants.d.ts +6 -0
  427. package/esm/linear-progress/linear-progress-constants.js +4 -2
  428. package/esm/linear-progress/linear-progress-foundation.js +2 -1
  429. package/esm/linear-progress/linear-progress.d.ts +7 -3
  430. package/esm/linear-progress/linear-progress.js +8 -11
  431. package/esm/list/list/list.js +1 -1
  432. package/esm/list/list-item/list-item.js +1 -1
  433. package/esm/menu/menu-adapter.d.ts +3 -3
  434. package/esm/menu/menu-constants.d.ts +1 -1
  435. package/esm/menu/menu-foundation.d.ts +1 -0
  436. package/esm/menu/menu-foundation.js +11 -4
  437. package/esm/menu/menu.js +1 -5
  438. package/esm/open-icon/open-icon.js +2 -2
  439. package/esm/overlay/base/base-overlay-foundation.d.ts +50 -0
  440. package/esm/overlay/base/base-overlay-foundation.js +11 -0
  441. package/esm/overlay/base/base-overlay.d.ts +49 -0
  442. package/esm/overlay/base/base-overlay.js +106 -0
  443. package/esm/overlay/base/overlay-aware-adapter.d.ts +17 -0
  444. package/esm/overlay/base/overlay-aware-adapter.js +15 -0
  445. package/esm/overlay/base/overlay-aware-foundation.d.ts +53 -0
  446. package/esm/overlay/base/overlay-aware-foundation.js +158 -0
  447. package/esm/overlay/base/overlay-aware.d.ts +36 -0
  448. package/esm/overlay/base/overlay-aware.js +102 -0
  449. package/esm/overlay/index.d.ts +10 -0
  450. package/esm/overlay/index.js +14 -0
  451. package/esm/overlay/mixins/with-overlay-aware.d.ts +105 -0
  452. package/esm/overlay/mixins/with-overlay-aware.js +152 -0
  453. package/esm/overlay/overlay-adapter.d.ts +54 -0
  454. package/esm/overlay/overlay-adapter.js +182 -0
  455. package/esm/overlay/overlay-constants.d.ts +71 -0
  456. package/esm/overlay/overlay-constants.js +48 -0
  457. package/esm/overlay/overlay-foundation.d.ts +76 -0
  458. package/esm/overlay/overlay-foundation.js +288 -0
  459. package/esm/overlay/overlay.d.ts +90 -0
  460. package/esm/overlay/overlay.js +105 -0
  461. package/esm/paginator/paginator-constants.d.ts +9 -0
  462. package/esm/paginator/paginator-foundation.d.ts +5 -2
  463. package/esm/paginator/paginator-foundation.js +29 -8
  464. package/esm/paginator/paginator.d.ts +3 -1
  465. package/esm/paginator/paginator.js +4 -1
  466. package/esm/popover/index.d.ts +10 -0
  467. package/esm/popover/index.js +14 -0
  468. package/esm/popover/popover-adapter.d.ts +46 -0
  469. package/esm/popover/popover-adapter.js +105 -0
  470. package/esm/popover/popover-constants.d.ts +42 -0
  471. package/esm/popover/popover-constants.js +42 -0
  472. package/esm/popover/popover-foundation.d.ts +139 -0
  473. package/esm/popover/popover-foundation.js +458 -0
  474. package/esm/popover/popover.d.ts +96 -0
  475. package/esm/popover/popover.js +147 -0
  476. package/esm/popup/popup-constants.d.ts +1 -1
  477. package/esm/profile-card/profile-card.js +1 -1
  478. package/esm/radio/core/radio-group-manager.d.ts +83 -0
  479. package/esm/radio/core/radio-group-manager.js +201 -0
  480. package/esm/radio/index.d.ts +1 -2
  481. package/esm/radio/index.js +1 -6
  482. package/esm/radio/radio/index.d.ts +10 -0
  483. package/esm/radio/radio/index.js +14 -0
  484. package/esm/radio/radio/radio-adapter.d.ts +41 -0
  485. package/esm/radio/radio/radio-adapter.js +75 -0
  486. package/{styles/focus-indicator/_configuration.scss → esm/radio/radio/radio-component-delegate.d.ts} +0 -5
  487. package/{styles/list/list/_configuration.scss → esm/radio/radio/radio-component-delegate.js} +1 -5
  488. package/esm/radio/radio/radio-constants.d.ts +37 -0
  489. package/esm/radio/radio/radio-constants.js +40 -0
  490. package/esm/radio/radio/radio-foundation.d.ts +70 -0
  491. package/esm/radio/radio/radio-foundation.js +199 -0
  492. package/esm/radio/radio/radio.d.ts +115 -0
  493. package/esm/radio/radio/radio.js +204 -0
  494. package/esm/radio/radio-group/index.d.ts +10 -0
  495. package/esm/radio/radio-group/index.js +14 -0
  496. package/esm/radio/radio-group/radio-group-adapter.d.ts +18 -0
  497. package/esm/radio/radio-group/radio-group-adapter.js +26 -0
  498. package/esm/radio/radio-group/radio-group-constants.d.ts +11 -0
  499. package/esm/radio/radio-group/radio-group-constants.js +14 -0
  500. package/esm/radio/radio-group/radio-group-foundation.d.ts +20 -0
  501. package/esm/radio/radio-group/radio-group-foundation.js +32 -0
  502. package/esm/radio/radio-group/radio-group.d.ts +47 -0
  503. package/esm/radio/radio-group/radio-group.js +83 -0
  504. package/esm/slider/slider.d.ts +2 -2
  505. package/esm/slider/slider.js +2 -2
  506. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  507. package/esm/state-layer/state-layer-foundation.js +9 -10
  508. package/esm/switch/switch.js +1 -1
  509. package/esm/table/table-utils.js +2 -3
  510. package/esm/tabs/tab/tab.js +1 -1
  511. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +1 -1
  512. package/esm/tabs/tab-bar/tab-bar-adapter.js +3 -3
  513. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +1 -1
  514. package/esm/tabs/tab-bar/tab-bar-constants.js +1 -1
  515. package/esm/tabs/tab-bar/tab-bar.js +2 -2
  516. package/esm/toast/toast-constants.d.ts +1 -1
  517. package/esm/toolbar/toolbar.js +1 -1
  518. package/esm/tooltip/index.d.ts +0 -1
  519. package/esm/tooltip/index.js +0 -1
  520. package/esm/tooltip/tooltip-adapter.d.ts +30 -60
  521. package/esm/tooltip/tooltip-adapter.js +105 -97
  522. package/esm/tooltip/tooltip-constants.d.ts +44 -21
  523. package/esm/tooltip/tooltip-constants.js +27 -22
  524. package/esm/tooltip/tooltip-foundation.d.ts +72 -84
  525. package/esm/tooltip/tooltip-foundation.js +265 -192
  526. package/esm/tooltip/tooltip.d.ts +93 -26
  527. package/esm/tooltip/tooltip.js +129 -31
  528. package/package.json +2 -4
  529. package/styles/app-bar/app-bar/_core.scss +6 -0
  530. package/styles/app-bar/app-bar/app-bar.scss +31 -17
  531. package/styles/app-bar/app-bar/index.scss +0 -2
  532. package/styles/app-bar/search/_core.scss +75 -0
  533. package/styles/app-bar/search/_token-utils.scss +30 -0
  534. package/styles/app-bar/search/app-bar-search.scss +50 -4
  535. package/styles/{switch/_configuration.scss → app-bar/search/index.scss} +1 -5
  536. package/styles/button/_core.scss +2 -0
  537. package/styles/button/button.scss +40 -25
  538. package/styles/button/index.scss +0 -2
  539. package/styles/button-toggle/button-toggle/_core.scss +78 -0
  540. package/styles/button-toggle/button-toggle/_token-utils.scss +30 -0
  541. package/styles/button-toggle/button-toggle/button-toggle.scss +65 -11
  542. package/styles/button-toggle/button-toggle/index.scss +6 -0
  543. package/styles/button-toggle/button-toggle-group/_core.scss +62 -0
  544. package/styles/button-toggle/button-toggle-group/_token-utils.scss +30 -0
  545. package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +123 -3
  546. package/styles/button-toggle/button-toggle-group/index.scss +8 -0
  547. package/styles/checkbox/_core.scss +3 -0
  548. package/styles/checkbox/checkbox.scss +24 -26
  549. package/styles/checkbox/index.scss +0 -2
  550. package/styles/circular-progress/_core.scss +2 -0
  551. package/styles/circular-progress/circular-progress.scss +36 -27
  552. package/styles/circular-progress/index.scss +0 -2
  553. package/styles/core/styles/elevation/index.scss +1 -1
  554. package/styles/core/styles/tokens/_token-utils.scss +14 -5
  555. package/styles/core/styles/tokens/app-bar/search/_tokens.scss +35 -0
  556. package/styles/core/styles/tokens/button/_tokens.scss +4 -4
  557. package/styles/core/styles/tokens/button-toggle/button-toggle/_tokens.scss +68 -0
  558. package/styles/core/styles/tokens/button-toggle/button-toggle-group/_tokens.scss +48 -0
  559. package/styles/core/styles/tokens/checkbox/_tokens.scss +6 -6
  560. package/styles/core/styles/tokens/floating-action-button/_tokens.scss +1 -1
  561. package/styles/core/styles/tokens/icon-button/_tokens.scss +3 -3
  562. package/styles/core/styles/tokens/overlay/_tokens.scss +23 -0
  563. package/styles/core/styles/tokens/popover/_tokens.scss +56 -0
  564. package/styles/core/styles/tokens/profile-card/_tokens.scss +1 -1
  565. package/styles/core/styles/tokens/radio/_tokens.scss +66 -0
  566. package/styles/core/styles/tokens/switch/_tokens.scss +3 -3
  567. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +5 -5
  568. package/styles/core/styles/tokens/theme/_token-utils.scss +12 -11
  569. package/styles/core/styles/tokens/theme/_tokens.surface.scss +3 -0
  570. package/styles/core/styles/tokens/theme/_tokens.text.scss +4 -4
  571. package/styles/core/styles/tokens/theme/_tokens.utilities.scss +3 -0
  572. package/styles/core/styles/tokens/tooltip/_tokens.scss +53 -0
  573. package/styles/dialog/_mixins.scss +1 -1
  574. package/styles/drawer/mini-drawer/_mixins.scss +0 -2
  575. package/styles/floating-action-button/_core.scss +2 -0
  576. package/styles/floating-action-button/floating-action-button.scss +14 -14
  577. package/styles/floating-action-button/index.scss +0 -2
  578. package/styles/focus-indicator/_core.scss +2 -0
  579. package/styles/focus-indicator/focus-indicator.scss +7 -8
  580. package/styles/focus-indicator/index.scss +0 -2
  581. package/styles/forge.scss +0 -1
  582. package/styles/icon-button/_core.scss +2 -0
  583. package/styles/icon-button/icon-button.scss +29 -28
  584. package/styles/icon-button/index.scss +0 -2
  585. package/styles/label/_core.scss +2 -5
  586. package/styles/label/label.scss +3 -7
  587. package/styles/linear-progress/_core.scss +2 -0
  588. package/styles/linear-progress/index.scss +0 -2
  589. package/styles/linear-progress/linear-progress.scss +29 -18
  590. package/styles/list/list/_core.scss +2 -0
  591. package/styles/list/list/index.scss +0 -2
  592. package/styles/list/list/list.scss +4 -4
  593. package/styles/list/list-item/_core.scss +2 -0
  594. package/styles/list/list-item/index.scss +0 -2
  595. package/styles/list/list-item/list-item.scss +50 -44
  596. package/styles/overlay/_core.scss +46 -0
  597. package/styles/overlay/_token-utils.scss +31 -0
  598. package/styles/overlay/index.scss +6 -0
  599. package/styles/overlay/overlay.scss +66 -0
  600. package/styles/popover/_animations.scss +36 -0
  601. package/styles/popover/_core.scss +56 -0
  602. package/styles/popover/_token-utils.scss +31 -0
  603. package/styles/popover/index.scss +6 -0
  604. package/styles/popover/popover.scss +254 -0
  605. package/styles/profile-card/_core.scss +2 -0
  606. package/styles/profile-card/index.scss +0 -2
  607. package/styles/profile-card/profile-card.scss +9 -11
  608. package/styles/radio/index.scss +6 -0
  609. package/styles/radio/radio/_core.scss +126 -0
  610. package/styles/radio/radio/_token-utils.scss +30 -0
  611. package/styles/radio/radio/index.scss +6 -0
  612. package/styles/radio/radio/radio.scss +99 -0
  613. package/styles/slider/_core.scss +2 -0
  614. package/styles/slider/index.scss +0 -2
  615. package/styles/slider/slider.scss +45 -41
  616. package/styles/split-button/index.scss +0 -1
  617. package/styles/split-button/split-button.scss +3 -2
  618. package/styles/state-layer/_core.scss +3 -2
  619. package/styles/state-layer/index.scss +0 -2
  620. package/styles/state-layer/state-layer.scss +7 -8
  621. package/styles/switch/_core.scss +9 -0
  622. package/styles/switch/index.scss +0 -2
  623. package/styles/switch/switch.scss +28 -30
  624. package/styles/tabs/tab/_core.scss +2 -0
  625. package/styles/tabs/tab/index.scss +0 -2
  626. package/styles/tabs/tab/tab.scss +27 -28
  627. package/styles/tabs/tab-bar/_core.scss +2 -0
  628. package/styles/tabs/tab-bar/index.scss +0 -2
  629. package/styles/tabs/tab-bar/tab-bar.scss +21 -23
  630. package/styles/theme/_theme-dark.scss +14 -2
  631. package/styles/theme/_theme-values.scss +2 -0
  632. package/styles/toolbar/_mixins.scss +2 -1
  633. package/styles/tooltip/_animations.scss +18 -0
  634. package/styles/tooltip/_core.scss +86 -0
  635. package/styles/tooltip/_token-utils.scss +31 -0
  636. package/styles/tooltip/index.scss +6 -0
  637. package/styles/tooltip/tooltip.scss +107 -0
  638. package/dist/esm/chunks/chunk.2GJ54C3Q.js +0 -7
  639. package/dist/esm/chunks/chunk.2GJ54C3Q.js.map +0 -7
  640. package/dist/esm/chunks/chunk.2YDKRTKP.js +0 -7
  641. package/dist/esm/chunks/chunk.2YDKRTKP.js.map +0 -7
  642. package/dist/esm/chunks/chunk.3JCHXLPT.js +0 -7
  643. package/dist/esm/chunks/chunk.3JCHXLPT.js.map +0 -7
  644. package/dist/esm/chunks/chunk.3RMBFRGC.js +0 -7
  645. package/dist/esm/chunks/chunk.3RMBFRGC.js.map +0 -7
  646. package/dist/esm/chunks/chunk.3ZRQFXQU.js +0 -7
  647. package/dist/esm/chunks/chunk.4QDN5PM6.js +0 -7
  648. package/dist/esm/chunks/chunk.4QDN5PM6.js.map +0 -7
  649. package/dist/esm/chunks/chunk.5H4G6BWX.js +0 -7
  650. package/dist/esm/chunks/chunk.5H4G6BWX.js.map +0 -7
  651. package/dist/esm/chunks/chunk.5VHUMZYS.js +0 -7
  652. package/dist/esm/chunks/chunk.6DXDNQUR.js +0 -15
  653. package/dist/esm/chunks/chunk.6DXDNQUR.js.map +0 -7
  654. package/dist/esm/chunks/chunk.6Y45DLA6.js +0 -7
  655. package/dist/esm/chunks/chunk.6Y45DLA6.js.map +0 -7
  656. package/dist/esm/chunks/chunk.7BGOH44S.js +0 -7
  657. package/dist/esm/chunks/chunk.7BGOH44S.js.map +0 -7
  658. package/dist/esm/chunks/chunk.7UXLLUTN.js +0 -7
  659. package/dist/esm/chunks/chunk.AEJGC4YG.js +0 -7
  660. package/dist/esm/chunks/chunk.AEJGC4YG.js.map +0 -7
  661. package/dist/esm/chunks/chunk.BFUGFHEH.js +0 -7
  662. package/dist/esm/chunks/chunk.BLW6QESQ.js +0 -12
  663. package/dist/esm/chunks/chunk.BLW6QESQ.js.map +0 -7
  664. package/dist/esm/chunks/chunk.C5IB44HX.js +0 -7
  665. package/dist/esm/chunks/chunk.CNRFOWHY.js +0 -7
  666. package/dist/esm/chunks/chunk.CNRFOWHY.js.map +0 -7
  667. package/dist/esm/chunks/chunk.CZOABXEQ.js +0 -7
  668. package/dist/esm/chunks/chunk.E3GVKR4E.js +0 -7
  669. package/dist/esm/chunks/chunk.E3GVKR4E.js.map +0 -7
  670. package/dist/esm/chunks/chunk.EBSBAFCX.js +0 -7
  671. package/dist/esm/chunks/chunk.EBSBAFCX.js.map +0 -7
  672. package/dist/esm/chunks/chunk.F6KM5FO6.js +0 -7
  673. package/dist/esm/chunks/chunk.FB6ZLH6P.js +0 -7
  674. package/dist/esm/chunks/chunk.FB6ZLH6P.js.map +0 -7
  675. package/dist/esm/chunks/chunk.FDZSLGIW.js +0 -7
  676. package/dist/esm/chunks/chunk.FDZSLGIW.js.map +0 -7
  677. package/dist/esm/chunks/chunk.GT3VPSXY.js +0 -7
  678. package/dist/esm/chunks/chunk.GT3VPSXY.js.map +0 -7
  679. package/dist/esm/chunks/chunk.I3NHK2S3.js +0 -7
  680. package/dist/esm/chunks/chunk.IT66AOX7.js +0 -7
  681. package/dist/esm/chunks/chunk.IT66AOX7.js.map +0 -7
  682. package/dist/esm/chunks/chunk.IVUK3W34.js +0 -7
  683. package/dist/esm/chunks/chunk.IVUK3W34.js.map +0 -7
  684. package/dist/esm/chunks/chunk.J2KHTGSB.js +0 -7
  685. package/dist/esm/chunks/chunk.J2KHTGSB.js.map +0 -7
  686. package/dist/esm/chunks/chunk.JAWV5Y5T.js +0 -7
  687. package/dist/esm/chunks/chunk.JVK64JDZ.js +0 -7
  688. package/dist/esm/chunks/chunk.KFDYMENL.js +0 -7
  689. package/dist/esm/chunks/chunk.KFDYMENL.js.map +0 -7
  690. package/dist/esm/chunks/chunk.KTYYBWTN.js +0 -7
  691. package/dist/esm/chunks/chunk.LCNR2RPT.js +0 -7
  692. package/dist/esm/chunks/chunk.LCNR2RPT.js.map +0 -7
  693. package/dist/esm/chunks/chunk.LOBKFTRM.js +0 -7
  694. package/dist/esm/chunks/chunk.LOBKFTRM.js.map +0 -7
  695. package/dist/esm/chunks/chunk.LS7WRRT2.js +0 -7
  696. package/dist/esm/chunks/chunk.LS7WRRT2.js.map +0 -7
  697. package/dist/esm/chunks/chunk.LSNAGIIH.js +0 -7
  698. package/dist/esm/chunks/chunk.LSNAGIIH.js.map +0 -7
  699. package/dist/esm/chunks/chunk.LUIKMPQR.js +0 -7
  700. package/dist/esm/chunks/chunk.LUIKMPQR.js.map +0 -7
  701. package/dist/esm/chunks/chunk.MZZJY5NX.js +0 -7
  702. package/dist/esm/chunks/chunk.MZZJY5NX.js.map +0 -7
  703. package/dist/esm/chunks/chunk.NYYXUH3X.js +0 -7
  704. package/dist/esm/chunks/chunk.OYO5O3NF.js +0 -7
  705. package/dist/esm/chunks/chunk.Q5Z6F3PI.js +0 -7
  706. package/dist/esm/chunks/chunk.Q5Z6F3PI.js.map +0 -7
  707. package/dist/esm/chunks/chunk.RCSBJQ4G.js +0 -7
  708. package/dist/esm/chunks/chunk.RCSBJQ4G.js.map +0 -7
  709. package/dist/esm/chunks/chunk.RDW7Z4W5.js +0 -7
  710. package/dist/esm/chunks/chunk.SNF35Y6C.js +0 -7
  711. package/dist/esm/chunks/chunk.SNF35Y6C.js.map +0 -7
  712. package/dist/esm/chunks/chunk.SOLF23NC.js +0 -7
  713. package/dist/esm/chunks/chunk.T34DG7BU.js +0 -7
  714. package/dist/esm/chunks/chunk.TA3MVDUU.js +0 -7
  715. package/dist/esm/chunks/chunk.TA3MVDUU.js.map +0 -7
  716. package/dist/esm/chunks/chunk.UWZWXNTW.js +0 -7
  717. package/dist/esm/chunks/chunk.UWZWXNTW.js.map +0 -7
  718. package/dist/esm/chunks/chunk.VD5ZL5ZN.js +0 -7
  719. package/dist/esm/chunks/chunk.WQGPIOL6.js +0 -7
  720. package/dist/esm/chunks/chunk.WQGPIOL6.js.map +0 -7
  721. package/dist/esm/chunks/chunk.XDANTL6C.js +0 -7
  722. package/dist/esm/chunks/chunk.XNCBGWE4.js +0 -7
  723. package/dist/esm/chunks/chunk.XNCBGWE4.js.map +0 -7
  724. package/dist/esm/chunks/chunk.ZSD7MMVB.js +0 -7
  725. package/dist/esm/chunks/chunk.ZSD7MMVB.js.map +0 -7
  726. package/dist/esm/chunks/chunk.ZVJMIBUM.js +0 -7
  727. package/dist/esm/chunks/chunk.ZVJMIBUM.js.map +0 -7
  728. package/dist/tooltip/forge-tooltip.css +0 -6
  729. package/esm/radio/radio-adapter.d.ts +0 -71
  730. package/esm/radio/radio-adapter.js +0 -260
  731. package/esm/radio/radio-constants.d.ts +0 -30
  732. package/esm/radio/radio-constants.js +0 -36
  733. package/esm/radio/radio-foundation.d.ts +0 -31
  734. package/esm/radio/radio-foundation.js +0 -80
  735. package/esm/radio/radio.d.ts +0 -33
  736. package/esm/radio/radio.js +0 -75
  737. package/esm/tooltip/tooltip-utils.d.ts +0 -13
  738. package/esm/tooltip/tooltip-utils.js +0 -53
  739. package/styles/app-bar/app-bar/_configuration.scss +0 -16
  740. package/styles/app-bar/search/_mixins.scss +0 -238
  741. package/styles/app-bar/search/_variables.scss +0 -18
  742. package/styles/button/_configuration.scss +0 -16
  743. package/styles/button-toggle/button-toggle/_mixins.scss +0 -117
  744. package/styles/button-toggle/button-toggle-group/_mixins.scss +0 -79
  745. package/styles/circular-progress/_configuration.scss +0 -16
  746. package/styles/floating-action-button/_configuration.scss +0 -16
  747. package/styles/icon-button/_configuration.scss +0 -16
  748. package/styles/linear-progress/_configuration.scss +0 -28
  749. package/styles/list/list-item/_configuration.scss +0 -16
  750. package/styles/radio/_mixins.scss +0 -309
  751. package/styles/radio/_radio-theme.scss +0 -314
  752. package/styles/radio/radio.scss +0 -19
  753. package/styles/split-button/_configuration.scss +0 -12
  754. package/styles/state-layer/_configuration.scss +0 -10
  755. package/styles/tabs/tab/_configuration.scss +0 -27
  756. package/styles/tabs/tab-bar/_configuration.scss +0 -10
  757. package/styles/tooltip/_mixins.scss +0 -98
  758. package/styles/tooltip/_variables.scss +0 -18
  759. package/styles/tooltip/forge-tooltip.scss +0 -12
  760. /package/dist/esm/chunks/{chunk.PSTGTQVK.js.map → chunk.2JCTFKCR.js.map} +0 -0
  761. /package/dist/esm/chunks/{chunk.4B5IOZAT.js.map → chunk.2YE556AM.js.map} +0 -0
  762. /package/dist/esm/chunks/{chunk.YKZ25J6B.js.map → chunk.3U6A353B.js.map} +0 -0
  763. /package/dist/esm/chunks/{chunk.LXX3YZYS.js.map → chunk.436USWLL.js.map} +0 -0
  764. /package/dist/esm/chunks/{chunk.KLPF4CNX.js.map → chunk.4GMGQZOW.js.map} +0 -0
  765. /package/dist/esm/chunks/{chunk.Z7PBGV4K.js.map → chunk.4JB3SESQ.js.map} +0 -0
  766. /package/dist/esm/chunks/{chunk.QFY23EWU.js.map → chunk.4JL5LW5J.js.map} +0 -0
  767. /package/dist/esm/chunks/{chunk.NYYXUH3X.js.map → chunk.55D2BMXX.js.map} +0 -0
  768. /package/dist/esm/chunks/{chunk.A72W7RW7.js.map → chunk.5LCWC3A7.js.map} +0 -0
  769. /package/dist/esm/chunks/{chunk.RYNQDXFA.js.map → chunk.5T7TT3AB.js.map} +0 -0
  770. /package/dist/esm/chunks/{chunk.HHHBS6FB.js.map → chunk.B53Q676I.js.map} +0 -0
  771. /package/dist/esm/chunks/{chunk.B46Q3AFP.js.map → chunk.BKQSLDMK.js.map} +0 -0
  772. /package/dist/esm/chunks/{chunk.F2EBSV5Z.js.map → chunk.BZVLSWZR.js.map} +0 -0
  773. /package/dist/esm/chunks/{chunk.BMQYEYCT.js.map → chunk.DGG5ABL3.js.map} +0 -0
  774. /package/dist/esm/chunks/{chunk.PK7R6WDF.js.map → chunk.DPIWAXEW.js.map} +0 -0
  775. /package/dist/esm/chunks/{chunk.7PP6QHOM.js.map → chunk.ETDUW5K2.js.map} +0 -0
  776. /package/dist/esm/chunks/{chunk.GHR7T6U2.js.map → chunk.FGHSNC2V.js.map} +0 -0
  777. /package/dist/esm/chunks/{chunk.P7LC3YYW.js.map → chunk.FPRBYGET.js.map} +0 -0
  778. /package/dist/esm/chunks/{chunk.7W2UWAZX.js.map → chunk.FQVR2QNF.js.map} +0 -0
  779. /package/dist/esm/chunks/{chunk.IEB5KRFQ.js.map → chunk.FWWBFNQA.js.map} +0 -0
  780. /package/dist/esm/chunks/{chunk.543K5Y4E.js.map → chunk.FZELFLPE.js.map} +0 -0
  781. /package/dist/esm/chunks/{chunk.6Q3SV2R2.js.map → chunk.FZZUNYH5.js.map} +0 -0
  782. /package/dist/esm/chunks/{chunk.CTZ3AWDW.js.map → chunk.GLUKTMQU.js.map} +0 -0
  783. /package/dist/esm/chunks/{chunk.W324TWF2.js.map → chunk.GTBCTNMI.js.map} +0 -0
  784. /package/dist/esm/chunks/{chunk.L4Y4RO5O.js.map → chunk.GURV4TDZ.js.map} +0 -0
  785. /package/dist/esm/chunks/{chunk.THWSN3X4.js.map → chunk.IA27LU2O.js.map} +0 -0
  786. /package/dist/esm/chunks/{chunk.TZFUKJ24.js.map → chunk.JXJVPJRO.js.map} +0 -0
  787. /package/dist/esm/chunks/{chunk.Z2RB75TN.js.map → chunk.K3STAW42.js.map} +0 -0
  788. /package/dist/esm/chunks/{chunk.G2BNY5QQ.js.map → chunk.KPC6IS3C.js.map} +0 -0
  789. /package/dist/esm/chunks/{chunk.VDZ7HBKM.js.map → chunk.KV7PGQJ7.js.map} +0 -0
  790. /package/dist/esm/chunks/{chunk.OYO5O3NF.js.map → chunk.M5JGYRH4.js.map} +0 -0
  791. /package/dist/esm/chunks/{chunk.T34DG7BU.js.map → chunk.N75VD4S4.js.map} +0 -0
  792. /package/dist/esm/chunks/{chunk.H7GW57Q6.js.map → chunk.NKEAMFO4.js.map} +0 -0
  793. /package/dist/esm/chunks/{chunk.26E4L52W.js.map → chunk.NW54VA4E.js.map} +0 -0
  794. /package/dist/esm/chunks/{chunk.PADPL4L3.js.map → chunk.OUIWXKO2.js.map} +0 -0
  795. /package/dist/esm/chunks/{chunk.I3NHK2S3.js.map → chunk.OXVCCHM5.js.map} +0 -0
  796. /package/dist/esm/chunks/{chunk.7ABZUBTT.js.map → chunk.P5XHGSJY.js.map} +0 -0
  797. /package/dist/esm/chunks/{chunk.NZKIFXBU.js.map → chunk.QKTNCOVX.js.map} +0 -0
  798. /package/dist/esm/chunks/{chunk.NG6UZ4OL.js.map → chunk.QZ57WM3D.js.map} +0 -0
  799. /package/dist/esm/chunks/{chunk.OED5UCYT.js.map → chunk.R2QENXIL.js.map} +0 -0
  800. /package/dist/esm/chunks/{chunk.DOEG3DWJ.js.map → chunk.RDQ3QGWS.js.map} +0 -0
  801. /package/dist/esm/chunks/{chunk.GS72TBUD.js.map → chunk.RFKKHN7V.js.map} +0 -0
  802. /package/dist/esm/chunks/{chunk.57PXXJA6.js.map → chunk.RKG66YKS.js.map} +0 -0
  803. /package/dist/esm/chunks/{chunk.LMIKNDBS.js.map → chunk.T235SNYZ.js.map} +0 -0
  804. /package/dist/esm/chunks/{chunk.SOLF23NC.js.map → chunk.VGIZJ32U.js.map} +0 -0
  805. /package/dist/esm/chunks/{chunk.U5WMRBSC.js.map → chunk.WA2YP4NC.js.map} +0 -0
  806. /package/dist/esm/chunks/{chunk.5C24LZNU.js.map → chunk.WQHKUNR7.js.map} +0 -0
  807. /package/dist/esm/chunks/{chunk.7UXLLUTN.js.map → chunk.X57DRPFB.js.map} +0 -0
  808. /package/dist/esm/chunks/{chunk.DDXIHZFX.js.map → chunk.X7YTDVNT.js.map} +0 -0
  809. /package/dist/esm/chunks/{chunk.7DHDFH5L.js.map → chunk.XOH2JCRS.js.map} +0 -0
  810. /package/dist/esm/chunks/{chunk.KVCDAZ6B.js.map → chunk.YTBNAGLS.js.map} +0 -0
  811. /package/dist/esm/chunks/{chunk.RZZBM3AW.js.map → chunk.ZHMV5SR4.js.map} +0 -0
  812. /package/dist/esm/chunks/{chunk.GWJ4QCSW.js.map → chunk.ZLACSRD4.js.map} +0 -0
  813. /package/dist/esm/chunks/{chunk.DTKFE7YB.js.map → chunk.ZUTQPJ2B.js.map} +0 -0
  814. /package/dist/esm/chunks/{chunk.PQQVUUHU.js.map → chunk.ZYCKD6K5.js.map} +0 -0
@@ -8,192 +8,196 @@ import { BUTTON_TOGGLE_GROUP_CONSTANTS } from './button-toggle-group-constants';
8
8
  export class ButtonToggleGroupFoundation {
9
9
  constructor(_adapter) {
10
10
  this._adapter = _adapter;
11
- this._isInitialized = false;
11
+ this._values = [];
12
+ this._outlined = true;
12
13
  this._multiple = false;
13
14
  this._mandatory = false;
14
15
  this._vertical = false;
15
16
  this._stretch = false;
16
17
  this._dense = false;
17
18
  this._disabled = false;
18
- this._options = [];
19
- this._values = [];
19
+ this._readonly = false;
20
+ this._required = false;
21
+ this._theme = 'tertiary';
20
22
  this._selectListener = evt => this._onSelect(evt);
21
23
  this._slotListener = () => this._synchronize();
22
24
  }
23
25
  initialize() {
24
- if (this._options && this._options.length) {
25
- this._applyOptions(false);
26
- }
26
+ this._adapter.setFormValue();
27
+ this._adapter.setFormValidity();
27
28
  this._adapter.addListener(BUTTON_TOGGLE_CONSTANTS.events.SELECT, this._selectListener);
28
29
  this._adapter.addSlotChangeListener(this._slotListener);
29
- this._adapter.setVertical(this._vertical);
30
- this._adapter.setStretch(this._stretch);
31
- this._adapter.setDense(this._dense);
32
- this._adapter.setDisabled(this._disabled);
33
- this._adapter.applyAdjacentSelections(this._vertical);
34
- this._isInitialized = true;
35
- }
36
- disconnect() {
37
- this._isInitialized = false;
30
+ }
31
+ destroy() {
38
32
  this._adapter.removeListener(BUTTON_TOGGLE_CONSTANTS.events.SELECT, this._selectListener);
39
33
  this._adapter.removeSlotChangeListener(this._slotListener);
40
34
  }
41
35
  _synchronize() {
42
- if (!this._multiple) {
43
- const selectedValues = this._adapter.getSelectedValues().concat(this._values);
44
- this.value = selectedValues.length ? selectedValues[selectedValues.length - 1] : null;
36
+ if (this._disabled) {
37
+ this._adapter.setDisabled(this._disabled);
45
38
  }
46
- else {
39
+ if (this._readonly) {
40
+ this._adapter.setReadonly(this._readonly);
41
+ }
42
+ if (this._multiple) {
47
43
  const selectedValues = new Set(this._adapter.getSelectedValues().concat(this._values));
48
- this._applyValue(Array.from(selectedValues));
44
+ this.value = Array.from(selectedValues);
45
+ }
46
+ else {
47
+ const selectedValues = this._adapter.getSelectedValues().concat(this._values);
48
+ this.value = selectedValues.length ? selectedValues[selectedValues.length - 1] : null;
49
49
  }
50
50
  }
51
51
  _onSelect(evt) {
52
- const target = evt.target;
53
- // When in mandatory mode we need to ensure at least one element is selected. If there are no selections
54
- // then we need to reselect the target toggle because it was deselected
52
+ // When in mandatory mode we need to ensure at least one element is selected. If the user tries to deselect the last
53
+ // element, we prevent the select event from toggling.
55
54
  if (this._mandatory) {
56
55
  const values = this._adapter.getSelectedValues();
57
56
  if (!values.length) {
58
- target.selected = true;
57
+ evt.preventDefault();
59
58
  return;
60
59
  }
61
60
  }
62
- // When not in multiple mode, we deselect all toggles, except for the one that was just changed
63
- if (!this._multiple) {
64
- this._adapter.deselect(target);
61
+ // Compute the new state to provide in the change event
62
+ let value;
63
+ if (evt.detail.selected) {
64
+ value = this._multiple ? [...this._values, evt.detail.value] : [evt.detail.value];
65
65
  }
66
- this._adapter.applyAdjacentSelections(this._vertical);
67
- this._adapter.emitHostEvent(BUTTON_TOGGLE_GROUP_CONSTANTS.events.CHANGE, this._getValue());
68
- }
69
- _getValue() {
70
- var _a;
71
- const selections = this._adapter.getSelectedValues();
72
- return this._multiple ? Array.from(new Set(selections)) : (_a = selections.slice(0, 1)[0]) !== null && _a !== void 0 ? _a : null;
66
+ else {
67
+ value = this._multiple ? this._values.filter(v => v !== evt.detail.value) : [];
68
+ }
69
+ const detail = this._multiple ? value : value.length ? value[0] : null;
70
+ const changeEvt = new CustomEvent(BUTTON_TOGGLE_GROUP_CONSTANTS.events.CHANGE, { detail, bubbles: true, cancelable: true });
71
+ this._adapter.dispatchHostEvent(changeEvt);
72
+ if (changeEvt.defaultPrevented) {
73
+ evt.preventDefault();
74
+ return;
75
+ }
76
+ this._values = value;
77
+ this._adapter.applyValues(this._values);
78
+ this._adapter.setFormValue();
79
+ this._adapter.setFormValidity();
73
80
  }
74
81
  _applyValue(value) {
75
- let values = value instanceof Array ? value : [value];
82
+ let values = Array.isArray(value) ? value : value != null ? [value] : [];
83
+ this._values = values;
76
84
  if (!this._multiple && values.length > 1) {
77
- values = values[0];
85
+ values = [values[0]];
78
86
  }
79
- this._values = values;
80
87
  this._adapter.applyValues(values);
81
- if (this._multiple) {
82
- this._adapter.applyAdjacentSelections(this._vertical);
83
- }
84
- }
85
- _applyOptions(init = true) {
86
- if (this._options) {
87
- this._adapter.createOptions(this._options);
88
- if (init) {
89
- this._adapter.setStretch(this._stretch);
90
- this._adapter.setDense(this._dense);
91
- this._adapter.setDisabled(this._disabled);
92
- this._adapter.applyAdjacentSelections(this._vertical);
93
- }
94
- }
88
+ this._adapter.setFormValue();
89
+ this._adapter.setFormValidity();
95
90
  }
96
91
  get value() {
97
- if (!this._isInitialized) {
98
- return this._originalValue;
99
- }
100
- return this._getValue();
92
+ var _a;
93
+ // Combine the selected toggle values with our current state to ensure we always return the latest value
94
+ // even if our state doesn't match a selected toggle.
95
+ const values = Array.from(new Set(this._adapter.getSelectedValues().concat(this._values)));
96
+ return this._multiple ? Array.from(values) : (_a = values[0]) !== null && _a !== void 0 ? _a : null;
101
97
  }
102
98
  set value(value) {
103
- this._originalValue = value;
104
99
  this._applyValue(value);
105
100
  }
106
101
  get multiple() {
107
102
  return this._multiple;
108
103
  }
109
104
  set multiple(value) {
105
+ value = !!value;
110
106
  if (this._multiple !== value) {
111
107
  this._multiple = value;
112
- this._adapter.setHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MULTIPLE, this._multiple);
108
+ this._applyValue(this._values);
109
+ this._adapter.toggleHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MULTIPLE, this._multiple);
113
110
  }
114
111
  }
115
112
  get mandatory() {
116
113
  return this._mandatory;
117
114
  }
118
115
  set mandatory(value) {
116
+ value = !!value;
119
117
  if (this._mandatory !== value) {
120
118
  this._mandatory = value;
121
- if (this._mandatory) {
122
- this._adapter.setHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MANDATORY);
123
- }
124
- else {
125
- this._adapter.removeHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MANDATORY);
126
- }
119
+ this._adapter.toggleHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MANDATORY, this._mandatory);
127
120
  }
128
121
  }
129
122
  get vertical() {
130
123
  return this._vertical;
131
124
  }
132
125
  set vertical(value) {
126
+ value = !!value;
133
127
  if (this._vertical !== value) {
134
128
  this._vertical = value;
135
- this._adapter.setVertical(this._vertical);
136
- this._adapter.applyAdjacentSelections(this._vertical);
137
- if (this._vertical) {
138
- this._adapter.setHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.VERTICAL);
139
- }
140
- else {
141
- this._adapter.removeHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.VERTICAL);
142
- }
129
+ this._adapter.toggleHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.VERTICAL, this._vertical);
143
130
  }
144
131
  }
145
132
  get stretch() {
146
133
  return this._stretch;
147
134
  }
148
135
  set stretch(value) {
136
+ value = !!value;
149
137
  if (this._stretch !== value) {
150
138
  this._stretch = value;
151
- this._adapter.setStretch(this._stretch);
152
- if (this._stretch) {
153
- this._adapter.setHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.STRETCH);
154
- }
155
- else {
156
- this._adapter.removeHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.STRETCH);
157
- }
139
+ this._adapter.toggleHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.STRETCH, this._stretch);
158
140
  }
159
141
  }
160
142
  get dense() {
161
143
  return this._dense;
162
144
  }
163
145
  set dense(value) {
146
+ value = !!value;
164
147
  if (this._dense !== value) {
165
148
  this._dense = value;
166
- this._adapter.setDense(this._dense);
167
- if (this._dense) {
168
- this._adapter.setHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DENSE);
169
- }
170
- else {
171
- this._adapter.removeHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DENSE);
172
- }
149
+ this._adapter.toggleHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DENSE, this._dense);
173
150
  }
174
151
  }
175
152
  get disabled() {
176
153
  return this._disabled;
177
154
  }
178
155
  set disabled(value) {
156
+ value = !!value;
179
157
  if (this._disabled !== value) {
180
158
  this._disabled = value;
181
159
  this._adapter.setDisabled(this._disabled);
182
- if (this._disabled) {
183
- this._adapter.setHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DISABLED);
184
- }
185
- else {
186
- this._adapter.removeHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DISABLED);
187
- }
160
+ this._adapter.toggleHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DISABLED, this._disabled);
161
+ }
162
+ }
163
+ get readonly() {
164
+ return this._readonly;
165
+ }
166
+ set readonly(value) {
167
+ value = !!value;
168
+ if (this._readonly !== value) {
169
+ this._readonly = value;
170
+ this._adapter.setReadonly(this._readonly);
171
+ this._adapter.toggleHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.READONLY, this._readonly);
172
+ }
173
+ }
174
+ get required() {
175
+ return this._required;
176
+ }
177
+ set required(value) {
178
+ value = !!value;
179
+ if (this._required !== value) {
180
+ this._required = value;
181
+ this._adapter.toggleHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.REQUIRED, this._required);
182
+ }
183
+ }
184
+ get outlined() {
185
+ return this._outlined;
186
+ }
187
+ set outlined(value) {
188
+ value = !!value;
189
+ if (this._outlined !== value) {
190
+ this._outlined = value;
191
+ this._adapter.toggleHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.NO_OUTLINE, !this._outlined);
188
192
  }
189
193
  }
190
- get options() {
191
- return this._options.map(o => (Object.assign({}, o)));
194
+ get theme() {
195
+ return this._theme;
192
196
  }
193
- set options(value) {
194
- this._options = value.map(o => (Object.assign({}, o)));
195
- if (this._isInitialized) {
196
- this._applyOptions();
197
+ set theme(value) {
198
+ if (this._theme !== value) {
199
+ this._theme = value;
200
+ this._adapter.toggleHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.THEME, this._theme !== 'tertiary', this._theme);
197
201
  }
198
202
  }
199
203
  }
@@ -3,17 +3,26 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { BaseComponent, IBaseComponent } from '../../core/base/base-component';
7
- import { IButtonToggleGroupChangeEventData, IButtonToggleOption } from './button-toggle-group-constants';
8
- export interface IButtonToggleGroupComponent extends IBaseComponent {
6
+ import { IWithFormAssociation } from '../../core/mixins/form/with-form-associated';
7
+ import { IWithLabelAwareness } from '../../core/mixins/label/with-label-aware';
8
+ import { IWithElementInternals } from '../../core/mixins/internals/with-element-internals';
9
+ import { IWithFormValidity } from '../../core/mixins/form/with-form-validity';
10
+ import { BaseComponent } from '../../core/base/base-component';
11
+ import { ButtonToggleGroupTheme, IButtonToggleGroupChangeEventData } from './button-toggle-group-constants';
12
+ import { getFormState, getFormValue } from '../../constants';
13
+ import { FormValue, FormRestoreState, FormRestoreReason } from '../../core/utils/form-utils';
14
+ import { IWithDefaultAria } from '../../core/mixins/internals/with-default-aria';
15
+ export interface IButtonToggleGroupComponent extends IWithLabelAwareness, IWithFormAssociation, IWithFormValidity, IWithElementInternals, IWithDefaultAria {
9
16
  value: any;
17
+ outlined: boolean;
10
18
  multiple: boolean;
11
19
  stretch: boolean;
12
20
  mandatory: boolean;
13
21
  vertical: boolean;
14
22
  disabled: boolean;
23
+ readonly: boolean;
15
24
  dense: boolean;
16
- options: IButtonToggleOption[];
25
+ theme: ButtonToggleGroupTheme;
17
26
  }
18
27
  declare global {
19
28
  interface HTMLElementTagNameMap {
@@ -23,24 +32,81 @@ declare global {
23
32
  'forge-button-toggle-group-change': CustomEvent<IButtonToggleGroupChangeEventData>;
24
33
  }
25
34
  }
35
+ declare const BaseButtonToggleGroupClass: import("../../constants").AbstractConstructor<import("../../core/mixins/label/with-label-aware").WithLabelAwarenessContract> & import("../../constants").AbstractConstructor<import("../../core/mixins/form/with-form-associated").WithFormAssociationContract> & import("../../constants").AbstractConstructor<import("../../core/mixins/form/with-form-validity").WithFormValidityContract> & import("../../constants").AbstractConstructor<import("../../core/mixins/internals/with-default-aria").WithDefaultAriaContract> & import("../../constants").AbstractConstructor<import("../../core/mixins/internals/with-element-internals").WithElementInternalsContract> & typeof BaseComponent;
26
36
  /**
27
- * The web component class behind the `<forge-button-toggle-group>` custom element.
28
- *
29
37
  * @tag forge-button-toggle-group
38
+ *
39
+ * @description Button toggle groups allow users to select one or more options from a set of related options.
40
+ *
41
+ * @property {any} value - The value of the selected button toggle(s).
42
+ * @property {boolean} outlined - Whether or not the group should be outlined.
43
+ * @property {boolean} multiple - Whether or not the group should allow multiple selections.
44
+ * @property {boolean} stretch - Whether or not the group should stretch to fill the available width.
45
+ * @property {boolean} mandatory - Whether or not the group should require a selection once a button has been toggled on.
46
+ * @property {boolean} vertical - Whether or not the group should be displayed vertically.
47
+ * @property {boolean} disabled - Whether or not the group should be disabled.
48
+ * @property {boolean} readonly - Whether or not the group should be readonly.
49
+ * @property {boolean} dense - Whether or not the group should be dense.
50
+ * @property {ButtonToggleGroupTheme} theme - The theme to use for the group.
51
+ *
52
+ * @attribute {any} value - The value of the selected button toggle(s).
53
+ * @attribute {boolean} outlined - Whether or not the group should be outlined.
54
+ * @attribute {boolean} multiple - Whether or not the group should allow multiple selections.
55
+ * @attribute {boolean} stretch - Whether or not the group should stretch to fill the available width.
56
+ * @attribute {boolean} mandatory - Whether or not the group should require a selection once a button has been toggled on.
57
+ * @attribute {boolean} vertical - Whether or not the group should be displayed vertically.
58
+ * @attribute {boolean} disabled - Whether or not the group should be disabled.
59
+ * @attribute {boolean} readonly - Whether or not the group should be readonly.
60
+ * @attribute {boolean} dense - Whether or not the group should be dense.
61
+ * @attribute {ButtonToggleGroupTheme} theme - The theme to use for the group.
62
+ *
63
+ * @event {CustomEvent<IButtonToggleGroupChangeEventData>} forge-button-toggle-group-change - Dispatches when the value of the group changes.
64
+ *
65
+ * @cssproperty --forge-button-toggle-group-display - The `display` of the group container elements.
66
+ * @cssproperty --forge-button-toggle-group-gap - The space between button toggle elements.
67
+ * @cssproperty --forge-button-toggle-group-padding - The padding around the button toggle elements when outlined.
68
+ * @cssproperty --forge-button-toggle-group-padding-block - The block padding around the button toggle elements when outlined.
69
+ * @cssproperty --forge-button-toggle-group-padding-inline - The inline padding around the button toggle elements when outlined.
70
+ * @cssproperty --forge-button-toggle-group-height - The height of the group element.
71
+ * @cssproperty --forge-button-toggle-group-dense-height - The height of the group element when dense.
72
+ * @cssproperty --forge-button-toggle-group-outline-width - The width of the outline around the group element.
73
+ * @cssproperty --forge-button-toggle-group-outline-style - The style of the outline around the group element.
74
+ * @cssproperty --forge-button-toggle-group-outline-color - The color of the outline around the group element.
75
+ * @cssproperty --forge-button-toggle-group-outline-color-active - The color of the outline around the group element when hovered or focused.
76
+ * @cssproperty --forge-button-toggle-group-shape - The shape radius of the group container element.
77
+ * @cssproperty --forge-button-toggle-group-shape-start-start - The start-start shape radius.
78
+ * @cssproperty --forge-button-toggle-group-shape-start-end - The start-end shape radius.
79
+ * @cssproperty --forge-button-toggle-group-shape-end-start - The end-start shape radius.
80
+ * @cssproperty --forge-button-toggle-group-shape-end-end - The end-end shape radius.
81
+ * @cssproperty --forge-button-toggle-group-transition-duration - The transition duration for all animations on the group.
82
+ * @cssproperty --forge-button-toggle-group-transition-timing - The transition timing for all animations on the group.
83
+ *
84
+ * @csspart root - The root container element for the group.
85
+ *
86
+ * @slot - The is a default/unnamed slot for child button toggle elements.
30
87
  */
31
- export declare class ButtonToggleGroupComponent extends BaseComponent implements IButtonToggleGroupComponent {
88
+ export declare class ButtonToggleGroupComponent extends BaseButtonToggleGroupClass implements IButtonToggleGroupComponent {
32
89
  static get observedAttributes(): string[];
33
90
  private _foundation;
34
91
  constructor();
35
- initializedCallback(): void;
92
+ connectedCallback(): void;
36
93
  disconnectedCallback(): void;
37
94
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
95
+ [getFormValue](): FormValue | null;
96
+ [getFormState](): FormValue | null;
97
+ formStateRestoreCallback(state: FormRestoreState, reason: FormRestoreReason): void;
98
+ formResetCallback(): void;
99
+ labelChangedCallback(value: string | null): void;
38
100
  value: any;
101
+ outlined: boolean;
39
102
  multiple: boolean;
40
103
  mandatory: boolean;
41
104
  vertical: boolean;
42
105
  stretch: boolean;
43
106
  dense: boolean;
44
107
  disabled: boolean;
45
- options: IButtonToggleOption[];
108
+ required: boolean;
109
+ readonly: boolean;
110
+ theme: ButtonToggleGroupTheme;
46
111
  }
112
+ export {};
@@ -5,70 +5,171 @@
5
5
  */
6
6
  import { __decorate } from "tslib";
7
7
  import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';
8
+ import { WithFormAssociation } from '../../core/mixins/form/with-form-associated';
9
+ import { WithLabelAwareness } from '../../core/mixins/label/with-label-aware';
10
+ import { WithElementInternals } from '../../core/mixins/internals/with-element-internals';
11
+ import { WithFormValidity } from '../../core/mixins/form/with-form-validity';
8
12
  import { BaseComponent } from '../../core/base/base-component';
9
13
  import { ButtonToggleComponent } from '../button-toggle/button-toggle';
10
14
  import { ButtonToggleGroupAdapter } from './button-toggle-group-adapter';
11
15
  import { BUTTON_TOGGLE_GROUP_CONSTANTS } from './button-toggle-group-constants';
12
16
  import { ButtonToggleGroupFoundation } from './button-toggle-group-foundation';
13
- const template = '<template><div class=\"forge-button-toggle-group\" role=\"group\" aria-label=\"Button group\" part=\"root\"><slot></slot></div></template>';
14
- const styles = '.forge-button-toggle-group{display:-webkit-box;display:flex}.forge-button-toggle-group ::slotted(:not(:last-child)){--forge-button-toggle-border-right-width:0;--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-right-radius:0}.forge-button-toggle-group ::slotted(:first-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-bottom-left-radius:4px}.forge-button-toggle-group ::slotted(:last-child){--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group--vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-button-toggle-group--vertical ::slotted(:not(:last-child)){--forge-button-toggle-border-right-width:1px;--forge-button-toggle-border-bottom-width:0;--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-right-radius:0}.forge-button-toggle-group--vertical ::slotted(:first-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-top-right-radius:4px}.forge-button-toggle-group--vertical ::slotted(:last-child){--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-left-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group ::slotted(:only-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-bottom-left-radius:4px;--forge-button-toggle-border-top-right-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group--stretch{width:100%}:host{display:block}:host([hidden]){display:none}';
17
+ import { getFormState, getFormValue, inputType, setDefaultAria } from '../../constants';
18
+ import { WithDefaultAria } from '../../core/mixins/internals/with-default-aria';
19
+ const template = '<template><div class=\"forge-button-toggle-group\" part=\"root\"><slot></slot></div></template>';
20
+ const styles = ':host{--_button-toggle-group-display:var(--forge-button-toggle-group-display, inline-flex)}:host{display:var(--_button-toggle-group-display)}:host([hidden]){display:none}.forge-button-toggle-group{--_button-toggle-group-gap:var(--forge-button-toggle-group-gap, 4px);--_button-toggle-group-padding:var(--forge-button-toggle-group-padding, 4px);--_button-toggle-group-padding-block:var(--forge-button-toggle-group-padding-block, var(--_button-toggle-group-padding));--_button-toggle-group-padding-inline:var(--forge-button-toggle-group-padding-inline, var(--_button-toggle-group-padding));--_button-toggle-group-height:var(--forge-button-toggle-group-height, var(--forge-button-height, 36px));--_button-toggle-group-dense-height:var(--forge-button-toggle-group-dense-height, var(--forge-button-dense-height, 24px));--_button-toggle-group-outline-width:var(--forge-button-toggle-group-outline-width, var(--forge-border-thin, 1px));--_button-toggle-group-outline-style:var(--forge-button-toggle-group-outline-style, solid);--_button-toggle-group-outline-color:var(--forge-button-toggle-group-outline-color, var(--forge-theme-outline-low, #9e9e9e));--_button-toggle-group-outline-color-active:var(--forge-button-toggle-group-outline-color-active, var(--forge-theme-outline-medium, #757575));--_button-toggle-group-shape:var(--forge-button-toggle-group-shape, var(--forge-shape-medium, 4px));--_button-toggle-group-shape-start-start:var(--forge-button-toggle-group-shape-start-start, var(--_button-toggle-group-shape));--_button-toggle-group-shape-start-end:var(--forge-button-toggle-group-shape-start-end, var(--_button-toggle-group-shape));--_button-toggle-group-shape-end-start:var(--forge-button-toggle-group-shape-end-start, var(--_button-toggle-group-shape));--_button-toggle-group-shape-end-end:var(--forge-button-toggle-group-shape-end-end, var(--_button-toggle-group-shape));--_button-toggle-group-transition-duration:var(--forge-button-toggle-group-transition-duration, var(--forge-button-toggle-transition-duration, var(--forge-animation-duration-short3, 150ms)));--_button-toggle-group-transition-timing:var(--forge-button-toggle-group-transition-timing, var(--forge-button-toggle-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1))))}.forge-button-toggle-group{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;gap:var(--_button-toggle-group-gap);-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--_button-toggle-group-height);border-width:var(--_button-toggle-group-outline-width);border-style:var(--_button-toggle-group-outline-style);border-color:var(--_button-toggle-group-outline-color);border-start-start-radius:var(--_button-toggle-group-shape-start-start);border-start-end-radius:var(--_button-toggle-group-shape-start-end);border-end-start-radius:var(--_button-toggle-group-shape-end-start);border-end-end-radius:var(--_button-toggle-group-shape-end-end);padding-block:var(--_button-toggle-group-padding-block);padding-inline:var(--_button-toggle-group-padding-inline);-webkit-transition-property:border-color;transition-property:border-color;-webkit-transition-duration:var(--_button-toggle-group-transition-duration);transition-duration:var(--_button-toggle-group-transition-duration);-webkit-transition-timing-function:var(--_button-toggle-group-transition-timing);transition-timing-function:var(--_button-toggle-group-transition-timing)}:host(:not([disabled]):not([no-outline])) .forge-button-toggle-group:focus-within,:host(:not([disabled]):not([no-outline])) .forge-button-toggle-group:hover{--_button-toggle-group-outline-color:var(--_button-toggle-group-outline-color-active)}:host([no-outline]) .forge-button-toggle-group{--_button-toggle-group-padding:var(--forge-button-toggle-group-padding, 0);--_button-toggle-group-outline-style:var(--forge-button-toggle-group-outline-style, none)}:host(:is([dense],[density=dense])) .forge-button-toggle-group{--_button-toggle-group-padding:var(--forge-button-toggle-group-padding, 0);--_button-toggle-group-height:var(--_button-toggle-group-dense-height)}:host([vertical]) .forge-button-toggle-group{height:auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}:host([vertical]) ::slotted(forge-button-toggle){height:var(--_button-toggle-group-height);width:100%}:host([vertical]) ::slotted(forge-divider:not([vertical])){margin-inline:4px;width:100%}::slotted(forge-divider[vertical]){margin-block:4px}:host([stretch]){display:block}:host([stretch]) .forge-button-toggle-group{width:100%}:host(:not([vertical])[stretch]) ::slotted(forge-button-toggle){-webkit-box-flex:1;flex:1}:host([theme=primary]) ::slotted(forge-button-toggle){--forge-button-toggle-selected-background:var(--forge-theme-primary-container, #d1d5ed);--forge-button-toggle-selected-color:var(--forge-theme-on-primary-container, #222c62);--forge-button-toggle-focus-indicator-color:var(--forge-theme-primary, #3f51b5)}:host([theme=secondary]) ::slotted(forge-button-toggle){--forge-button-toggle-selected-background:var(--forge-theme-secondary-container, #fff0c3);--forge-button-toggle-selected-color:var(--forge-theme-on-secondary-container, #8a6804);--forge-button-toggle-focus-indicator-color:var(--forge-theme-secondary, #ffc107)}:host([theme=success]) ::slotted(forge-button-toggle){--forge-button-toggle-selected-background:var(--forge-theme-success-container, #cde0ce);--forge-button-toggle-selected-color:var(--forge-theme-on-success-container, #19441b);--forge-button-toggle-focus-indicator-color:var(--forge-theme-success, #2e7d32)}:host([theme=error]) ::slotted(forge-button-toggle){--forge-button-toggle-selected-background:var(--forge-theme-error-container, #ecc2c9);--forge-button-toggle-selected-color:var(--forge-theme-on-error-container, #5f0011);--forge-button-toggle-focus-indicator-color:var(--forge-theme-error, #b00020)}:host([theme=warning]) ::slotted(forge-button-toggle){--forge-button-toggle-selected-background:var(--forge-theme-warning-container, #f4d3c2);--forge-button-toggle-selected-color:var(--forge-theme-on-warning-container, #712700);--forge-button-toggle-focus-indicator-color:var(--forge-theme-warning, #d14900)}:host([theme=info]) ::slotted(forge-button-toggle){--forge-button-toggle-selected-background:var(--forge-theme-info-container, #c7daf0);--forge-button-toggle-selected-color:var(--forge-theme-on-info-container, #0b3768);--forge-button-toggle-focus-indicator-color:var(--forge-theme-info, #1565c0)}';
21
+ const BaseButtonToggleGroupClass = WithLabelAwareness(WithFormAssociation(WithFormValidity(WithDefaultAria(WithElementInternals(BaseComponent)))));
15
22
  /**
16
- * The web component class behind the `<forge-button-toggle-group>` custom element.
17
- *
18
23
  * @tag forge-button-toggle-group
24
+ *
25
+ * @description Button toggle groups allow users to select one or more options from a set of related options.
26
+ *
27
+ * @property {any} value - The value of the selected button toggle(s).
28
+ * @property {boolean} outlined - Whether or not the group should be outlined.
29
+ * @property {boolean} multiple - Whether or not the group should allow multiple selections.
30
+ * @property {boolean} stretch - Whether or not the group should stretch to fill the available width.
31
+ * @property {boolean} mandatory - Whether or not the group should require a selection once a button has been toggled on.
32
+ * @property {boolean} vertical - Whether or not the group should be displayed vertically.
33
+ * @property {boolean} disabled - Whether or not the group should be disabled.
34
+ * @property {boolean} readonly - Whether or not the group should be readonly.
35
+ * @property {boolean} dense - Whether or not the group should be dense.
36
+ * @property {ButtonToggleGroupTheme} theme - The theme to use for the group.
37
+ *
38
+ * @attribute {any} value - The value of the selected button toggle(s).
39
+ * @attribute {boolean} outlined - Whether or not the group should be outlined.
40
+ * @attribute {boolean} multiple - Whether or not the group should allow multiple selections.
41
+ * @attribute {boolean} stretch - Whether or not the group should stretch to fill the available width.
42
+ * @attribute {boolean} mandatory - Whether or not the group should require a selection once a button has been toggled on.
43
+ * @attribute {boolean} vertical - Whether or not the group should be displayed vertically.
44
+ * @attribute {boolean} disabled - Whether or not the group should be disabled.
45
+ * @attribute {boolean} readonly - Whether or not the group should be readonly.
46
+ * @attribute {boolean} dense - Whether or not the group should be dense.
47
+ * @attribute {ButtonToggleGroupTheme} theme - The theme to use for the group.
48
+ *
49
+ * @event {CustomEvent<IButtonToggleGroupChangeEventData>} forge-button-toggle-group-change - Dispatches when the value of the group changes.
50
+ *
51
+ * @cssproperty --forge-button-toggle-group-display - The `display` of the group container elements.
52
+ * @cssproperty --forge-button-toggle-group-gap - The space between button toggle elements.
53
+ * @cssproperty --forge-button-toggle-group-padding - The padding around the button toggle elements when outlined.
54
+ * @cssproperty --forge-button-toggle-group-padding-block - The block padding around the button toggle elements when outlined.
55
+ * @cssproperty --forge-button-toggle-group-padding-inline - The inline padding around the button toggle elements when outlined.
56
+ * @cssproperty --forge-button-toggle-group-height - The height of the group element.
57
+ * @cssproperty --forge-button-toggle-group-dense-height - The height of the group element when dense.
58
+ * @cssproperty --forge-button-toggle-group-outline-width - The width of the outline around the group element.
59
+ * @cssproperty --forge-button-toggle-group-outline-style - The style of the outline around the group element.
60
+ * @cssproperty --forge-button-toggle-group-outline-color - The color of the outline around the group element.
61
+ * @cssproperty --forge-button-toggle-group-outline-color-active - The color of the outline around the group element when hovered or focused.
62
+ * @cssproperty --forge-button-toggle-group-shape - The shape radius of the group container element.
63
+ * @cssproperty --forge-button-toggle-group-shape-start-start - The start-start shape radius.
64
+ * @cssproperty --forge-button-toggle-group-shape-start-end - The start-end shape radius.
65
+ * @cssproperty --forge-button-toggle-group-shape-end-start - The end-start shape radius.
66
+ * @cssproperty --forge-button-toggle-group-shape-end-end - The end-end shape radius.
67
+ * @cssproperty --forge-button-toggle-group-transition-duration - The transition duration for all animations on the group.
68
+ * @cssproperty --forge-button-toggle-group-transition-timing - The transition timing for all animations on the group.
69
+ *
70
+ * @csspart root - The root container element for the group.
71
+ *
72
+ * @slot - The is a default/unnamed slot for child button toggle elements.
19
73
  */
20
- let ButtonToggleGroupComponent = class ButtonToggleGroupComponent extends BaseComponent {
74
+ let ButtonToggleGroupComponent = class ButtonToggleGroupComponent extends BaseButtonToggleGroupClass {
21
75
  static get observedAttributes() {
22
- return [
23
- BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.VALUE,
24
- BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MULTIPLE,
25
- BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MANDATORY,
26
- BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.VERTICAL,
27
- BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.STRETCH,
28
- BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DISABLED,
29
- BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DENSE
30
- ];
76
+ return Object.values(BUTTON_TOGGLE_GROUP_CONSTANTS.observedAttributes);
31
77
  }
32
78
  constructor() {
33
79
  super();
34
80
  attachShadowTemplate(this, template, styles);
35
81
  this._foundation = new ButtonToggleGroupFoundation(new ButtonToggleGroupAdapter(this));
82
+ this[inputType] = 'radio'; // Used for form validity message to match radio button
36
83
  }
37
- initializedCallback() {
84
+ connectedCallback() {
85
+ this[setDefaultAria]({ role: 'group' }, { setAttribute: !this.hasAttribute('role') });
38
86
  this._foundation.initialize();
39
87
  }
40
88
  disconnectedCallback() {
41
- this._foundation.disconnect();
89
+ this._foundation.destroy();
42
90
  }
43
91
  attributeChangedCallback(name, oldValue, newValue) {
44
92
  switch (name) {
45
- case BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.VALUE:
93
+ case BUTTON_TOGGLE_GROUP_CONSTANTS.observedAttributes.VALUE:
46
94
  this.value = newValue;
47
95
  break;
48
- case BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MULTIPLE:
96
+ case BUTTON_TOGGLE_GROUP_CONSTANTS.observedAttributes.NO_OUTLINE:
97
+ this.outlined = !coerceBoolean(newValue);
98
+ break;
99
+ case BUTTON_TOGGLE_GROUP_CONSTANTS.observedAttributes.MULTIPLE:
49
100
  this.multiple = coerceBoolean(newValue);
50
101
  break;
51
- case BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MANDATORY:
102
+ case BUTTON_TOGGLE_GROUP_CONSTANTS.observedAttributes.MANDATORY:
52
103
  this.mandatory = coerceBoolean(newValue);
53
104
  break;
54
- case BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.VERTICAL:
105
+ case BUTTON_TOGGLE_GROUP_CONSTANTS.observedAttributes.VERTICAL:
55
106
  this.vertical = coerceBoolean(newValue);
56
107
  break;
57
- case BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.STRETCH:
108
+ case BUTTON_TOGGLE_GROUP_CONSTANTS.observedAttributes.STRETCH:
58
109
  this.stretch = coerceBoolean(newValue);
59
110
  break;
60
- case BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DENSE:
111
+ case BUTTON_TOGGLE_GROUP_CONSTANTS.observedAttributes.DENSE:
61
112
  this.dense = coerceBoolean(newValue);
62
113
  break;
63
- case BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DISABLED:
114
+ case BUTTON_TOGGLE_GROUP_CONSTANTS.observedAttributes.DISABLED:
64
115
  this.disabled = coerceBoolean(newValue);
65
116
  break;
117
+ case BUTTON_TOGGLE_GROUP_CONSTANTS.observedAttributes.REQUIRED:
118
+ this.required = coerceBoolean(newValue);
119
+ break;
120
+ case BUTTON_TOGGLE_GROUP_CONSTANTS.observedAttributes.READONLY:
121
+ this.readonly = coerceBoolean(newValue);
122
+ break;
123
+ case BUTTON_TOGGLE_GROUP_CONSTANTS.observedAttributes.THEME:
124
+ this.theme = newValue;
125
+ break;
66
126
  }
67
127
  }
128
+ [getFormValue]() {
129
+ const hasValue = Array.isArray(this.value) ? this.value.length > 0 : !!this.value;
130
+ let data = null;
131
+ if (hasValue) {
132
+ const value = Array.isArray(this.value) ? this.value : [this.value];
133
+ if (value.length) {
134
+ data = new FormData();
135
+ value.forEach(v => data === null || data === void 0 ? void 0 : data.append(this.name, v));
136
+ }
137
+ }
138
+ return data;
139
+ }
140
+ [getFormState]() {
141
+ const state = new FormData();
142
+ const value = Array.isArray(this.value) ? this.value : this.value != null ? [this.value] : [];
143
+ state.append('multiple', String(this.multiple));
144
+ value.forEach(v => state.append('value', v));
145
+ return state;
146
+ }
147
+ formStateRestoreCallback(state, reason) {
148
+ var _a;
149
+ if (reason === 'restore' && state instanceof FormData) {
150
+ const multiple = state.get('multiple') === 'true';
151
+ const value = state.getAll('value');
152
+ if (multiple) {
153
+ this.multiple = multiple;
154
+ this.value = value;
155
+ return;
156
+ }
157
+ this.value = (_a = value[0]) !== null && _a !== void 0 ? _a : null;
158
+ }
159
+ }
160
+ formResetCallback() {
161
+ this.value = this.getAttribute('value');
162
+ }
163
+ labelChangedCallback(value) {
164
+ this[setDefaultAria]({ ariaLabel: value !== null && value !== void 0 ? value : undefined });
165
+ }
68
166
  };
69
167
  __decorate([
70
168
  FoundationProperty()
71
169
  ], ButtonToggleGroupComponent.prototype, "value", void 0);
170
+ __decorate([
171
+ FoundationProperty()
172
+ ], ButtonToggleGroupComponent.prototype, "outlined", void 0);
72
173
  __decorate([
73
174
  FoundationProperty()
74
175
  ], ButtonToggleGroupComponent.prototype, "multiple", void 0);
@@ -89,11 +190,19 @@ __decorate([
89
190
  ], ButtonToggleGroupComponent.prototype, "disabled", void 0);
90
191
  __decorate([
91
192
  FoundationProperty()
92
- ], ButtonToggleGroupComponent.prototype, "options", void 0);
193
+ ], ButtonToggleGroupComponent.prototype, "required", void 0);
194
+ __decorate([
195
+ FoundationProperty()
196
+ ], ButtonToggleGroupComponent.prototype, "readonly", void 0);
197
+ __decorate([
198
+ FoundationProperty()
199
+ ], ButtonToggleGroupComponent.prototype, "theme", void 0);
93
200
  ButtonToggleGroupComponent = __decorate([
94
201
  CustomElement({
95
202
  name: BUTTON_TOGGLE_GROUP_CONSTANTS.elementName,
96
- dependencies: [ButtonToggleComponent]
203
+ dependencies: [
204
+ ButtonToggleComponent
205
+ ]
97
206
  })
98
207
  ], ButtonToggleGroupComponent);
99
208
  export { ButtonToggleGroupComponent };
@@ -151,8 +151,7 @@ export function getEventElement(event, overflow) {
151
151
  /** Returns a tooltip element. */
152
152
  export function getTooltip(content) {
153
153
  const tooltip = document.createElement('forge-tooltip');
154
- tooltip.text = content;
155
- tooltip.setAttribute('aria-hidden', 'true');
154
+ tooltip.textContent = content;
156
155
  return tooltip;
157
156
  }
158
157
  /** Returns a calendar header. */