@tylertech/forge 2.13.1 → 2.14.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1631) hide show
  1. package/README.md +14 -3
  2. package/custom-elements.json +1167 -234
  3. package/dist/busy-indicator/forge-busy-indicator.css +1 -1
  4. package/dist/button/forge-button.css +1 -1
  5. package/dist/dialog/forge-dialog-utils.css +1 -1
  6. package/dist/dialog/forge-dialog.css +1 -1
  7. package/dist/esm/accordion/index.js +2 -2
  8. package/dist/esm/app-bar/help-button/index.js +2 -2
  9. package/dist/esm/app-bar/index.js +2 -2
  10. package/dist/esm/app-bar/menu-button/index.js +2 -2
  11. package/dist/esm/app-bar/notification-button/index.js +2 -2
  12. package/dist/esm/app-bar/profile-button/index.js +2 -2
  13. package/dist/esm/app-bar/search/index.js +2 -2
  14. package/dist/esm/autocomplete/index.js +2 -2
  15. package/dist/esm/avatar/index.js +2 -2
  16. package/dist/esm/backdrop/index.js +2 -2
  17. package/dist/esm/badge/index.js +2 -2
  18. package/dist/esm/banner/index.js +2 -2
  19. package/dist/esm/bottom-sheet/index.js +2 -2
  20. package/dist/esm/busy-indicator/index.js +2 -2
  21. package/dist/esm/button/index.js +2 -2
  22. package/dist/esm/button-toggle/button-toggle/index.js +2 -2
  23. package/dist/esm/button-toggle/button-toggle-group/index.js +2 -2
  24. package/dist/esm/button-toggle/index.js +2 -2
  25. package/dist/esm/calendar/calendar-dropdown/index.js +2 -2
  26. package/dist/esm/calendar/calendar-menu/index.js +2 -2
  27. package/dist/esm/calendar/core/index.js +1 -1
  28. package/dist/esm/calendar/index.js +2 -2
  29. package/dist/esm/card/index.js +2 -2
  30. package/dist/esm/checkbox/index.js +2 -2
  31. package/dist/esm/chip-field/index.js +2 -2
  32. package/dist/esm/chips/chip/index.js +2 -2
  33. package/dist/esm/chips/chip-set/index.js +2 -2
  34. package/dist/esm/chips/index.js +2 -2
  35. package/dist/esm/chunks/chunk.24D46RLZ.js +1 -1
  36. package/dist/esm/chunks/chunk.24X566SZ.js +7 -0
  37. package/dist/esm/chunks/chunk.24X566SZ.js.map +7 -0
  38. package/dist/esm/chunks/chunk.2CEW64ZM.js +7 -0
  39. package/dist/esm/chunks/{chunk.MNBJMPJ6.js.map → chunk.2CEW64ZM.js.map} +2 -2
  40. package/dist/esm/chunks/chunk.2D4IBAWP.js +7 -0
  41. package/dist/esm/chunks/{chunk.TLHI6K2R.js.map → chunk.2D4IBAWP.js.map} +2 -2
  42. package/dist/esm/chunks/chunk.2GY2VPJG.js +1 -1
  43. package/dist/esm/chunks/chunk.2LHBE2QZ.js +7 -0
  44. package/dist/esm/chunks/{chunk.YHHIPP2F.js.map → chunk.2LHBE2QZ.js.map} +1 -1
  45. package/dist/esm/chunks/chunk.323FEQVK.js +7 -0
  46. package/dist/esm/chunks/chunk.323FEQVK.js.map +7 -0
  47. package/dist/esm/chunks/chunk.3G237L6C.js +7 -0
  48. package/dist/esm/chunks/{chunk.G77PXLAU.js.map → chunk.3G237L6C.js.map} +2 -2
  49. package/dist/esm/chunks/chunk.3L7T5WYL.js +7 -0
  50. package/dist/esm/chunks/{chunk.BCUBTR5O.js.map → chunk.3L7T5WYL.js.map} +1 -1
  51. package/dist/esm/chunks/chunk.3UB364WW.js +7 -0
  52. package/dist/esm/chunks/chunk.3UB364WW.js.map +7 -0
  53. package/dist/esm/chunks/chunk.4YH3GB4D.js +12 -0
  54. package/dist/esm/chunks/{chunk.O4Y6QT46.js.map → chunk.4YH3GB4D.js.map} +1 -1
  55. package/dist/esm/chunks/chunk.54RF4ZT6.js +7 -0
  56. package/dist/esm/chunks/chunk.54RF4ZT6.js.map +7 -0
  57. package/dist/esm/chunks/chunk.55BOUOT6.js +7 -0
  58. package/dist/esm/chunks/{chunk.QJPH24V4.js.map → chunk.55BOUOT6.js.map} +2 -2
  59. package/dist/esm/chunks/chunk.5DKXUTFN.js +7 -0
  60. package/dist/esm/chunks/{chunk.75LTLEZ7.js.map → chunk.5DKXUTFN.js.map} +2 -2
  61. package/dist/esm/chunks/chunk.5EQPGUZH.js +7 -0
  62. package/dist/esm/chunks/{chunk.MGTNCCW3.js.map → chunk.5EQPGUZH.js.map} +1 -1
  63. package/dist/esm/chunks/{chunk.A23NSEWA.js → chunk.5PXABBKU.js} +3 -3
  64. package/dist/esm/chunks/chunk.5W5IPKAU.js +7 -0
  65. package/dist/esm/chunks/{chunk.APGFXXJ7.js.map → chunk.5W5IPKAU.js.map} +1 -1
  66. package/dist/esm/chunks/{chunk.J3NHIF6W.js → chunk.65G33MJV.js} +3 -3
  67. package/dist/esm/chunks/chunk.6KTLOA7V.js +1 -1
  68. package/dist/esm/chunks/chunk.6NBVXSNZ.js +7 -0
  69. package/dist/esm/chunks/{chunk.D3LMXSX6.js.map → chunk.6NBVXSNZ.js.map} +2 -2
  70. package/dist/esm/chunks/chunk.73O3BMP2.js +7 -0
  71. package/dist/esm/chunks/{chunk.4KBQ5AJJ.js.map → chunk.73O3BMP2.js.map} +2 -2
  72. package/dist/esm/chunks/{chunk.6QMDYUVT.js → chunk.7LBAA7TC.js} +3 -3
  73. package/dist/esm/chunks/{chunk.6QMDYUVT.js.map → chunk.7LBAA7TC.js.map} +2 -2
  74. package/dist/esm/chunks/chunk.AGEBZY4S.js +7 -0
  75. package/dist/esm/chunks/chunk.AGEBZY4S.js.map +7 -0
  76. package/dist/esm/chunks/chunk.AJJILT3A.js +1 -1
  77. package/dist/esm/chunks/chunk.AMFXGOSA.js +1 -1
  78. package/dist/esm/chunks/chunk.AWCBH5KW.js +1 -1
  79. package/dist/esm/chunks/chunk.B3IJU6XJ.js +1 -1
  80. package/dist/esm/chunks/chunk.B5HGV5EZ.js +7 -0
  81. package/dist/esm/chunks/chunk.B5HGV5EZ.js.map +7 -0
  82. package/dist/esm/chunks/chunk.BMFJLHDR.js +7 -0
  83. package/dist/esm/chunks/{chunk.54QFNVMG.js.map → chunk.BMFJLHDR.js.map} +1 -1
  84. package/dist/esm/chunks/chunk.C557PTJ5.js +7 -0
  85. package/dist/esm/chunks/chunk.C557PTJ5.js.map +7 -0
  86. package/dist/esm/chunks/chunk.CKS5A4YN.js +1 -1
  87. package/dist/esm/chunks/chunk.CN7DHS4J.js +7 -0
  88. package/dist/esm/chunks/chunk.CUT7V2KN.js +7 -0
  89. package/dist/esm/chunks/chunk.CUT7V2KN.js.map +7 -0
  90. package/dist/esm/chunks/chunk.CZIQTYFJ.js +7 -0
  91. package/dist/esm/chunks/chunk.CZIQTYFJ.js.map +7 -0
  92. package/dist/esm/chunks/chunk.D4SNVKDA.js +1 -1
  93. package/dist/esm/chunks/chunk.DRI2NLIB.js +7 -0
  94. package/dist/esm/chunks/chunk.DRXMITOO.js +29 -0
  95. package/dist/esm/chunks/{chunk.K753A3KI.js.map → chunk.DRXMITOO.js.map} +2 -2
  96. package/dist/esm/chunks/chunk.E37HEAJ5.js +1 -1
  97. package/dist/esm/chunks/chunk.E43TT4RI.js +1 -1
  98. package/dist/esm/chunks/chunk.E4NCI7MS.js +1 -1
  99. package/dist/esm/chunks/chunk.EC6JSIQW.js +1 -1
  100. package/dist/esm/chunks/chunk.EE2LK23T.js +7 -0
  101. package/dist/esm/chunks/chunk.EE2LK23T.js.map +7 -0
  102. package/dist/esm/chunks/chunk.EXKBJEFL.js +7 -0
  103. package/dist/esm/chunks/chunk.EXKBJEFL.js.map +7 -0
  104. package/dist/esm/chunks/chunk.F5I55MXD.js +1 -1
  105. package/dist/esm/chunks/chunk.FBERE7AL.js +7 -0
  106. package/dist/esm/chunks/{chunk.OG2BI3UW.js.map → chunk.FBERE7AL.js.map} +2 -2
  107. package/dist/esm/chunks/{chunk.URBXDOF7.js → chunk.FL6SJHQU.js} +3 -3
  108. package/dist/esm/chunks/{chunk.6VYFW76H.js → chunk.FQEETXUQ.js} +3 -3
  109. package/dist/esm/chunks/{chunk.6VYFW76H.js.map → chunk.FQEETXUQ.js.map} +2 -2
  110. package/dist/esm/chunks/chunk.FZQCBRPK.js +1 -1
  111. package/dist/esm/chunks/chunk.G5JTL66M.js +7 -0
  112. package/dist/esm/chunks/{chunk.WNOSTPQQ.js.map → chunk.G5JTL66M.js.map} +2 -2
  113. package/dist/esm/chunks/chunk.G76HB2FK.js +1 -1
  114. package/dist/esm/chunks/chunk.GVQVA7P3.js +1 -1
  115. package/dist/esm/chunks/chunk.GVZEMIA3.js +7 -0
  116. package/dist/esm/chunks/chunk.GVZEMIA3.js.map +7 -0
  117. package/dist/esm/chunks/chunk.GXUYYBVO.js +29 -0
  118. package/dist/esm/chunks/{chunk.T7ZJDAXV.js.map → chunk.GXUYYBVO.js.map} +1 -1
  119. package/dist/esm/chunks/chunk.GZEWDHFJ.js +7 -0
  120. package/dist/esm/chunks/{chunk.DPCNIOLL.js.map → chunk.GZEWDHFJ.js.map} +2 -2
  121. package/dist/esm/chunks/chunk.HQJZRTOH.js +7 -0
  122. package/dist/esm/chunks/chunk.HQJZRTOH.js.map +7 -0
  123. package/dist/esm/chunks/chunk.HUX56BCR.js +7 -0
  124. package/dist/esm/chunks/{chunk.73G2CH2D.js.map → chunk.HUX56BCR.js.map} +2 -2
  125. package/dist/esm/chunks/{chunk.6APYGKNX.js → chunk.HWVLZ44Q.js} +3 -3
  126. package/dist/esm/chunks/chunk.HYMB3XDK.js +9 -0
  127. package/dist/esm/chunks/chunk.HYMB3XDK.js.map +7 -0
  128. package/dist/esm/chunks/{chunk.IMK2LFWR.js → chunk.IARIRFXO.js} +3 -3
  129. package/dist/esm/chunks/chunk.IARIRFXO.js.map +7 -0
  130. package/dist/esm/chunks/chunk.K5WLIDQK.js +7 -0
  131. package/dist/esm/chunks/chunk.K5WLIDQK.js.map +7 -0
  132. package/dist/esm/chunks/chunk.KBMLP7UT.js +7 -0
  133. package/dist/esm/chunks/{chunk.OUEF6VQ6.js.map → chunk.KBMLP7UT.js.map} +2 -2
  134. package/dist/esm/chunks/chunk.L54GENPD.js +7 -0
  135. package/dist/esm/chunks/{chunk.5WMEFHVN.js.map → chunk.L54GENPD.js.map} +1 -1
  136. package/dist/esm/chunks/chunk.LGECRZFO.js +7 -0
  137. package/dist/esm/chunks/chunk.LGECRZFO.js.map +7 -0
  138. package/dist/esm/chunks/{chunk.DGDT4UQT.js → chunk.LGEYSCS2.js} +3 -3
  139. package/dist/esm/chunks/{chunk.DGDT4UQT.js.map → chunk.LGEYSCS2.js.map} +2 -2
  140. package/dist/esm/chunks/{chunk.QOZLQPKE.js → chunk.LYAS4FAN.js} +3 -3
  141. package/dist/esm/chunks/{chunk.QOZLQPKE.js.map → chunk.LYAS4FAN.js.map} +2 -2
  142. package/dist/esm/chunks/chunk.LZHDRATV.js +7 -0
  143. package/dist/esm/chunks/{chunk.IJIKFXUT.js.map → chunk.LZHDRATV.js.map} +2 -2
  144. package/dist/esm/chunks/chunk.LZMYHIO2.js +1 -1
  145. package/dist/esm/chunks/chunk.MCIQXNKY.js +1 -1
  146. package/dist/esm/chunks/chunk.MHEJZJT3.js +1 -1
  147. package/dist/esm/chunks/chunk.MIYZJUXH.js +1 -1
  148. package/dist/esm/chunks/chunk.MMVZJLXE.js +7 -0
  149. package/dist/esm/chunks/{chunk.HN4PXH3D.js.map → chunk.MMVZJLXE.js.map} +3 -3
  150. package/dist/esm/chunks/chunk.MNFGVNDI.js +1 -1
  151. package/dist/esm/chunks/{chunk.VLTJFKGZ.js → chunk.MNPORZ4F.js} +3 -3
  152. package/dist/esm/chunks/{chunk.HSJQA42U.js.map → chunk.MU4FV57Q.js} +7 -7
  153. package/dist/esm/chunks/chunk.MU4FV57Q.js.map +7 -0
  154. package/dist/esm/chunks/chunk.MWD47ZZU.js +7 -0
  155. package/dist/esm/chunks/{chunk.CV5E5W6I.js.map → chunk.MWD47ZZU.js.map} +2 -2
  156. package/dist/esm/chunks/chunk.MYNPY3AQ.js +7 -0
  157. package/dist/esm/chunks/{chunk.VMWS5OOZ.js.map → chunk.MYNPY3AQ.js.map} +1 -1
  158. package/dist/esm/chunks/chunk.N6QJ2RRG.js +7 -0
  159. package/dist/esm/chunks/chunk.N6QJ2RRG.js.map +7 -0
  160. package/dist/esm/chunks/chunk.NG5EGZ5Y.js +7 -0
  161. package/dist/esm/chunks/chunk.NXS7A7PO.js +7 -0
  162. package/dist/esm/chunks/chunk.NXS7A7PO.js.map +7 -0
  163. package/dist/esm/chunks/{chunk.SHT6BCLY.js → chunk.NYMNX3S7.js} +3 -3
  164. package/dist/esm/chunks/chunk.NZTGBDRK.js +7 -0
  165. package/dist/esm/chunks/{chunk.7O7V3N4A.js.map → chunk.NZTGBDRK.js.map} +2 -2
  166. package/dist/esm/chunks/chunk.O4LGKJY6.js +7 -0
  167. package/dist/esm/chunks/{chunk.P6B3UWJ5.js.map → chunk.O4LGKJY6.js.map} +2 -2
  168. package/dist/esm/chunks/{chunk.NLZKJ53B.js → chunk.OGZOXNGT.js} +3 -3
  169. package/dist/esm/chunks/chunk.OKIRZEUG.js +7 -0
  170. package/dist/esm/chunks/chunk.OKIRZEUG.js.map +7 -0
  171. package/dist/esm/chunks/{chunk.BSZ2LBJX.js → chunk.OOW3UKT4.js} +3 -3
  172. package/dist/esm/chunks/chunk.ORF746AF.js +7 -0
  173. package/dist/esm/chunks/{chunk.RPPBBBYG.js.map → chunk.ORF746AF.js.map} +2 -2
  174. package/dist/esm/chunks/chunk.OTI6WL66.js +7 -0
  175. package/dist/esm/chunks/{chunk.FPV4XEUK.js.map → chunk.OTI6WL66.js.map} +2 -2
  176. package/dist/esm/chunks/chunk.P45HS252.js +7 -0
  177. package/dist/esm/chunks/chunk.P45HS252.js.map +7 -0
  178. package/dist/esm/chunks/chunk.P5GT5YBP.js +29 -0
  179. package/dist/esm/chunks/{chunk.OOBE3XRM.js.map → chunk.P5GT5YBP.js.map} +2 -2
  180. package/dist/esm/chunks/chunk.P6IF3USM.js +7 -0
  181. package/dist/esm/chunks/chunk.P6IF3USM.js.map +7 -0
  182. package/dist/esm/chunks/chunk.PBL2N45I.js +7 -0
  183. package/dist/esm/chunks/chunk.PBL2N45I.js.map +7 -0
  184. package/dist/esm/chunks/chunk.PHJPLWFH.js +7 -0
  185. package/dist/esm/chunks/{chunk.5K5SIZRX.js.map → chunk.PHJPLWFH.js.map} +2 -2
  186. package/dist/esm/chunks/chunk.PRO76W5D.js +7 -0
  187. package/dist/esm/chunks/{chunk.LLHA3SQR.js.map → chunk.PRO76W5D.js.map} +2 -2
  188. package/dist/esm/chunks/chunk.PV5MABYN.js +7 -0
  189. package/dist/esm/chunks/chunk.PV5MABYN.js.map +7 -0
  190. package/dist/esm/chunks/chunk.PYG4YVBA.js +1 -1
  191. package/dist/esm/chunks/chunk.QQDDGRY6.js +1 -1
  192. package/dist/esm/chunks/chunk.QZHEP4X2.js +1 -1
  193. package/dist/esm/chunks/chunk.R2L3S3YD.js +7 -0
  194. package/dist/esm/chunks/chunk.R2L3S3YD.js.map +7 -0
  195. package/dist/esm/chunks/chunk.R4NDFXVA.js +1 -1
  196. package/dist/esm/chunks/chunk.R4NZYUID.js +7 -0
  197. package/dist/esm/chunks/{chunk.2SAHWDGJ.js.map → chunk.R4NZYUID.js.map} +2 -2
  198. package/dist/esm/chunks/chunk.RH2NL523.js +7 -0
  199. package/dist/esm/chunks/chunk.RH2NL523.js.map +7 -0
  200. package/dist/esm/chunks/chunk.ROF42KJ3.js +7 -0
  201. package/dist/esm/chunks/{chunk.IFZXG3LI.js.map → chunk.ROF42KJ3.js.map} +2 -2
  202. package/dist/esm/chunks/chunk.RT4C67NK.js +29 -0
  203. package/dist/esm/chunks/{chunk.YWKKZLZ2.js.map → chunk.RT4C67NK.js.map} +2 -2
  204. package/dist/esm/chunks/chunk.S76NW5JY.js +7 -0
  205. package/dist/esm/chunks/{chunk.EJ4ASQET.js.map → chunk.S76NW5JY.js.map} +2 -2
  206. package/dist/esm/chunks/chunk.SKLCDWYQ.js +1 -1
  207. package/dist/esm/chunks/chunk.STS5TIUV.js +1 -1
  208. package/dist/esm/chunks/chunk.SVGEVCXA.js +1 -1
  209. package/dist/esm/chunks/chunk.T2M2KVP7.js +29 -0
  210. package/dist/esm/chunks/chunk.T2M2KVP7.js.map +7 -0
  211. package/dist/esm/chunks/chunk.TCAOLSLI.js +7 -0
  212. package/dist/esm/chunks/{chunk.35U4OX7S.js.map → chunk.TCAOLSLI.js.map} +2 -2
  213. package/dist/esm/chunks/chunk.TLCGGWBO.js +1 -1
  214. package/dist/esm/chunks/chunk.TMJBIAWC.js +7 -0
  215. package/dist/esm/chunks/chunk.TMJBIAWC.js.map +7 -0
  216. package/dist/esm/chunks/chunk.U6FJJGO3.js +1 -1
  217. package/dist/esm/chunks/chunk.UPFJ3PVE.js +29 -0
  218. package/dist/esm/chunks/{chunk.XYBFFTXS.js.map → chunk.UPFJ3PVE.js.map} +2 -2
  219. package/dist/esm/chunks/chunk.UUX4QJ4D.js +1 -1
  220. package/dist/esm/chunks/chunk.V55E5JD5.js +7 -0
  221. package/dist/esm/chunks/{chunk.444GNOS4.js.map → chunk.V55E5JD5.js.map} +2 -2
  222. package/dist/esm/chunks/chunk.VHKQHMK3.js +7 -0
  223. package/dist/esm/chunks/{chunk.33Q5FK2H.js.map → chunk.VHKQHMK3.js.map} +2 -2
  224. package/dist/esm/chunks/chunk.WF2MFLG4.js +1 -1
  225. package/dist/esm/chunks/chunk.WINL2C7Q.js +1 -1
  226. package/dist/esm/chunks/chunk.X2RP4QW3.js +1 -1
  227. package/dist/esm/chunks/chunk.XC76IHG4.js +7 -0
  228. package/dist/esm/chunks/{chunk.I2YRKTG7.js.map → chunk.XC76IHG4.js.map} +2 -2
  229. package/dist/esm/chunks/chunk.XCUYZZV4.js +7 -0
  230. package/dist/esm/chunks/chunk.XCUYZZV4.js.map +7 -0
  231. package/dist/esm/chunks/chunk.XMI5RBZQ.js +7 -0
  232. package/dist/esm/chunks/chunk.XMI5RBZQ.js.map +7 -0
  233. package/dist/esm/chunks/chunk.XY4N4TSH.js +7 -0
  234. package/dist/esm/chunks/chunk.XY4N4TSH.js.map +7 -0
  235. package/dist/esm/chunks/chunk.Y6FFG7XO.js +1 -1
  236. package/dist/esm/chunks/chunk.YKXCORJE.js +7 -0
  237. package/dist/esm/chunks/{chunk.AVIF5W7A.js.map → chunk.YKXCORJE.js.map} +2 -2
  238. package/dist/esm/chunks/{chunk.4T5TGQFG.js → chunk.YPMN5U7C.js} +3 -3
  239. package/dist/esm/chunks/chunk.YW47QJVY.js +7 -0
  240. package/dist/esm/chunks/{chunk.PFD2SVJ4.js.map → chunk.YW47QJVY.js.map} +2 -2
  241. package/dist/esm/chunks/chunk.Z6S62LZJ.js +7 -0
  242. package/dist/esm/chunks/chunk.Z6S62LZJ.js.map +7 -0
  243. package/dist/esm/chunks/chunk.ZAKLVVFO.js +7 -0
  244. package/dist/esm/chunks/{chunk.YAJT3P6V.js.map → chunk.ZAKLVVFO.js.map} +2 -2
  245. package/dist/esm/chunks/chunk.ZFD3OE45.js +7 -0
  246. package/dist/esm/chunks/{chunk.DIYJJHWP.js.map → chunk.ZFD3OE45.js.map} +1 -1
  247. package/dist/esm/chunks/chunk.ZMXKZJRM.js +7 -0
  248. package/dist/esm/chunks/{chunk.5XQVZQ4U.js.map → chunk.ZMXKZJRM.js.map} +2 -2
  249. package/dist/esm/chunks/chunk.ZQCHS2PS.js +7 -0
  250. package/dist/esm/chunks/{chunk.Y6MPWPZU.js.map → chunk.ZQCHS2PS.js.map} +2 -2
  251. package/dist/esm/circular-progress/index.js +2 -2
  252. package/dist/esm/color-picker/index.js +2 -2
  253. package/dist/esm/core/base/index.js +2 -2
  254. package/dist/esm/core/delegates/index.js +1 -1
  255. package/dist/esm/core/index.js +2 -2
  256. package/dist/esm/core/mask/index.js +2 -2
  257. package/dist/esm/core/utils/index.js +2 -2
  258. package/dist/esm/date-picker/index.js +2 -2
  259. package/dist/esm/date-range-picker/index.js +2 -2
  260. package/dist/esm/dialog/index.js +2 -2
  261. package/dist/esm/divider/index.js +2 -2
  262. package/dist/esm/drawer/base/index.js +2 -2
  263. package/dist/esm/drawer/drawer/index.js +2 -2
  264. package/dist/esm/drawer/index.js +2 -2
  265. package/dist/esm/drawer/mini-drawer/index.js +2 -2
  266. package/dist/esm/drawer/modal-drawer/index.js +2 -2
  267. package/dist/esm/expansion-panel/index.js +2 -2
  268. package/dist/esm/file-picker/index.js +2 -2
  269. package/dist/esm/floating-action-button/index.js +2 -2
  270. package/dist/esm/floating-label/index.js +1 -1
  271. package/dist/esm/icon/index.js +2 -2
  272. package/dist/esm/icon-button/index.js +2 -2
  273. package/dist/esm/index.js +2 -2
  274. package/dist/esm/inline-message/index.js +2 -2
  275. package/dist/esm/keyboard-shortcut/index.js +2 -2
  276. package/dist/esm/label-value/index.js +2 -2
  277. package/dist/esm/linear-progress/index.js +2 -2
  278. package/dist/esm/list/index.js +2 -2
  279. package/dist/esm/list/list/index.js +2 -2
  280. package/dist/esm/list/list-item/index.js +2 -2
  281. package/dist/esm/list-dropdown/index.js +2 -2
  282. package/dist/esm/menu/index.js +2 -2
  283. package/dist/esm/open-icon/index.js +2 -2
  284. package/dist/esm/page-state/index.js +2 -2
  285. package/dist/esm/paginator/index.js +2 -2
  286. package/dist/esm/popup/index.js +2 -2
  287. package/dist/esm/product-icon/index.js +2 -2
  288. package/dist/esm/profile-card/index.js +2 -2
  289. package/dist/esm/quantity-field/index.js +2 -2
  290. package/dist/esm/radio/index.js +2 -2
  291. package/dist/esm/ripple/index.js +2 -2
  292. package/dist/esm/scaffold/index.js +2 -2
  293. package/dist/esm/select/core/index.js +2 -2
  294. package/dist/esm/select/index.js +2 -2
  295. package/dist/esm/select/option/index.js +2 -2
  296. package/dist/esm/select/option-group/index.js +2 -2
  297. package/dist/esm/select/select/index.js +2 -2
  298. package/dist/esm/select/select-dropdown/index.js +2 -2
  299. package/dist/esm/skeleton/index.js +2 -2
  300. package/dist/esm/slider/index.js +2 -2
  301. package/dist/esm/split-view/core/index.js +1 -1
  302. package/dist/esm/split-view/index.js +2 -2
  303. package/dist/esm/split-view/split-view/index.js +2 -2
  304. package/dist/esm/split-view/split-view-panel/index.js +2 -2
  305. package/dist/esm/stepper/index.js +2 -2
  306. package/dist/esm/stepper/step/index.js +2 -2
  307. package/dist/esm/stepper/stepper/index.js +2 -2
  308. package/dist/esm/switch/index.js +2 -2
  309. package/dist/esm/table/index.js +2 -2
  310. package/dist/esm/tabs/index.js +2 -2
  311. package/dist/esm/tabs/tab/index.js +2 -2
  312. package/dist/esm/tabs/tab-bar/index.js +2 -2
  313. package/dist/esm/text-field/index.js +2 -2
  314. package/dist/esm/theme/index.js +1 -1
  315. package/dist/esm/time-picker/index.js +2 -2
  316. package/dist/esm/toast/index.js +2 -2
  317. package/dist/esm/toolbar/index.js +2 -2
  318. package/dist/esm/tooltip/index.js +2 -2
  319. package/dist/esm/utils/index.js +1 -1
  320. package/dist/esm/view-switcher/index.js +2 -2
  321. package/dist/esm/view-switcher/view/index.js +2 -2
  322. package/dist/expansion-panel/forge-expansion-panel.css +1 -1
  323. package/dist/floating-action-button/forge-floating-action-button.css +1 -1
  324. package/dist/floating-label/forge-floating-label.css +1 -1
  325. package/dist/forge-core.css +1 -1
  326. package/dist/forge-dark.css +1 -1
  327. package/dist/forge.css +1 -1
  328. package/dist/form-field/forge-form-field.css +1 -1
  329. package/dist/icon-button/forge-icon-button.css +1 -1
  330. package/dist/popup/forge-popup.css +1 -1
  331. package/dist/quantity-field/forge-quantity-field.css +1 -1
  332. package/dist/ripple/forge-ripple.css +1 -1
  333. package/dist/scaffold/forge-scaffold.css +1 -1
  334. package/dist/table/forge-table.css +1 -1
  335. package/dist/theme/forge-theme.css +1 -1
  336. package/dist/tooltip/forge-tooltip.css +1 -1
  337. package/dist/typography/forge-form.css +1 -1
  338. package/dist/typography/forge-typography.css +1 -1
  339. package/dist/utils/forge-flex.css +1 -1
  340. package/dist/utils/forge-grid.css +1 -1
  341. package/dist/utils/forge-utils.css +1 -1
  342. package/esm/accordion/accordion-adapter.d.ts +1 -1
  343. package/esm/accordion/accordion-adapter.js +1 -1
  344. package/esm/accordion/accordion-constants.d.ts +1 -1
  345. package/esm/accordion/accordion-constants.js +1 -1
  346. package/esm/accordion/accordion-foundation.d.ts +1 -1
  347. package/esm/accordion/accordion-foundation.js +1 -1
  348. package/esm/accordion/accordion.d.ts +1 -1
  349. package/esm/accordion/accordion.js +1 -1
  350. package/esm/accordion/index.d.ts +1 -1
  351. package/esm/accordion/index.js +1 -1
  352. package/esm/app-bar/app-bar-adapter.d.ts +1 -1
  353. package/esm/app-bar/app-bar-adapter.js +1 -1
  354. package/esm/app-bar/app-bar-constants.d.ts +1 -1
  355. package/esm/app-bar/app-bar-constants.js +1 -1
  356. package/esm/app-bar/app-bar-foundation.d.ts +1 -1
  357. package/esm/app-bar/app-bar-foundation.js +1 -1
  358. package/esm/app-bar/app-bar.d.ts +1 -1
  359. package/esm/app-bar/app-bar.js +1 -1
  360. package/esm/app-bar/help-button/app-bar-help-button-adapter.d.ts +1 -1
  361. package/esm/app-bar/help-button/app-bar-help-button-adapter.js +1 -1
  362. package/esm/app-bar/help-button/app-bar-help-button-constants.d.ts +1 -1
  363. package/esm/app-bar/help-button/app-bar-help-button-constants.js +1 -1
  364. package/esm/app-bar/help-button/app-bar-help-button-foundation.d.ts +1 -1
  365. package/esm/app-bar/help-button/app-bar-help-button-foundation.js +1 -1
  366. package/esm/app-bar/help-button/app-bar-help-button.d.ts +1 -1
  367. package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
  368. package/esm/app-bar/help-button/index.d.ts +1 -1
  369. package/esm/app-bar/help-button/index.js +1 -1
  370. package/esm/app-bar/index.d.ts +1 -1
  371. package/esm/app-bar/index.js +1 -1
  372. package/esm/app-bar/menu-button/app-bar-menu-button-constants.d.ts +1 -1
  373. package/esm/app-bar/menu-button/app-bar-menu-button-constants.js +1 -1
  374. package/esm/app-bar/menu-button/app-bar-menu-button.d.ts +1 -1
  375. package/esm/app-bar/menu-button/app-bar-menu-button.js +1 -1
  376. package/esm/app-bar/menu-button/index.d.ts +1 -1
  377. package/esm/app-bar/menu-button/index.js +1 -1
  378. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +4 -1
  379. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +6 -1
  380. package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +2 -1
  381. package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +3 -2
  382. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +5 -1
  383. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +15 -1
  384. package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +3 -1
  385. package/esm/app-bar/notification-button/app-bar-notification-button.js +10 -3
  386. package/esm/app-bar/notification-button/index.d.ts +1 -1
  387. package/esm/app-bar/notification-button/index.js +1 -1
  388. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +1 -1
  389. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +1 -1
  390. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -1
  391. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +1 -1
  392. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +1 -1
  393. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +1 -1
  394. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +1 -1
  395. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  396. package/esm/app-bar/profile-button/index.d.ts +1 -1
  397. package/esm/app-bar/profile-button/index.js +1 -1
  398. package/esm/app-bar/search/app-bar-search-adapter.d.ts +1 -1
  399. package/esm/app-bar/search/app-bar-search-adapter.js +1 -1
  400. package/esm/app-bar/search/app-bar-search-constants.d.ts +1 -1
  401. package/esm/app-bar/search/app-bar-search-constants.js +1 -1
  402. package/esm/app-bar/search/app-bar-search-foundation.d.ts +1 -1
  403. package/esm/app-bar/search/app-bar-search-foundation.js +1 -1
  404. package/esm/app-bar/search/app-bar-search.d.ts +1 -1
  405. package/esm/app-bar/search/app-bar-search.js +1 -1
  406. package/esm/app-bar/search/index.d.ts +1 -1
  407. package/esm/app-bar/search/index.js +1 -1
  408. package/esm/autocomplete/autocomplete-adapter.d.ts +10 -11
  409. package/esm/autocomplete/autocomplete-adapter.js +2 -2
  410. package/esm/autocomplete/autocomplete-component-delegate.d.ts +1 -1
  411. package/esm/autocomplete/autocomplete-component-delegate.js +1 -1
  412. package/esm/autocomplete/autocomplete-constants.d.ts +11 -13
  413. package/esm/autocomplete/autocomplete-constants.js +1 -1
  414. package/esm/autocomplete/autocomplete-foundation.d.ts +7 -8
  415. package/esm/autocomplete/autocomplete-foundation.js +6 -3
  416. package/esm/autocomplete/autocomplete-utils.d.ts +5 -6
  417. package/esm/autocomplete/autocomplete-utils.js +1 -1
  418. package/esm/autocomplete/autocomplete.d.ts +4 -5
  419. package/esm/autocomplete/autocomplete.js +3 -3
  420. package/esm/autocomplete/index.d.ts +1 -1
  421. package/esm/autocomplete/index.js +1 -1
  422. package/esm/avatar/avatar-adapter.d.ts +1 -1
  423. package/esm/avatar/avatar-adapter.js +1 -1
  424. package/esm/avatar/avatar-component-delegate.d.ts +1 -1
  425. package/esm/avatar/avatar-component-delegate.js +1 -1
  426. package/esm/avatar/avatar-constants.d.ts +1 -1
  427. package/esm/avatar/avatar-constants.js +1 -1
  428. package/esm/avatar/avatar-foundation.d.ts +1 -1
  429. package/esm/avatar/avatar-foundation.js +1 -1
  430. package/esm/avatar/avatar.d.ts +1 -1
  431. package/esm/avatar/avatar.js +1 -1
  432. package/esm/avatar/index.d.ts +1 -1
  433. package/esm/avatar/index.js +1 -1
  434. package/esm/backdrop/backdrop-adapter.d.ts +1 -1
  435. package/esm/backdrop/backdrop-adapter.js +1 -1
  436. package/esm/backdrop/backdrop-constants.d.ts +1 -1
  437. package/esm/backdrop/backdrop-constants.js +1 -1
  438. package/esm/backdrop/backdrop-foundation.d.ts +1 -1
  439. package/esm/backdrop/backdrop-foundation.js +1 -1
  440. package/esm/backdrop/backdrop.d.ts +1 -1
  441. package/esm/backdrop/backdrop.js +1 -1
  442. package/esm/backdrop/index.d.ts +1 -1
  443. package/esm/backdrop/index.js +1 -1
  444. package/esm/badge/badge-adapter.d.ts +1 -1
  445. package/esm/badge/badge-adapter.js +1 -1
  446. package/esm/badge/badge-component-delegate.d.ts +1 -1
  447. package/esm/badge/badge-component-delegate.js +1 -1
  448. package/esm/badge/badge-constants.d.ts +1 -1
  449. package/esm/badge/badge-constants.js +1 -1
  450. package/esm/badge/badge-foundation.d.ts +1 -1
  451. package/esm/badge/badge-foundation.js +1 -1
  452. package/esm/badge/badge.d.ts +1 -1
  453. package/esm/badge/badge.js +1 -1
  454. package/esm/badge/index.d.ts +1 -1
  455. package/esm/badge/index.js +1 -1
  456. package/esm/banner/banner-adapter.d.ts +1 -1
  457. package/esm/banner/banner-adapter.js +1 -1
  458. package/esm/banner/banner-constants.d.ts +1 -1
  459. package/esm/banner/banner-constants.js +1 -1
  460. package/esm/banner/banner-foundation.d.ts +1 -1
  461. package/esm/banner/banner-foundation.js +1 -1
  462. package/esm/banner/banner.d.ts +1 -1
  463. package/esm/banner/banner.js +1 -1
  464. package/esm/banner/index.d.ts +1 -1
  465. package/esm/banner/index.js +1 -1
  466. package/esm/bottom-sheet/bottom-sheet-adapter.d.ts +1 -1
  467. package/esm/bottom-sheet/bottom-sheet-adapter.js +1 -1
  468. package/esm/bottom-sheet/bottom-sheet-constants.d.ts +1 -1
  469. package/esm/bottom-sheet/bottom-sheet-constants.js +1 -1
  470. package/esm/bottom-sheet/bottom-sheet-foundation.d.ts +1 -1
  471. package/esm/bottom-sheet/bottom-sheet-foundation.js +1 -1
  472. package/esm/bottom-sheet/bottom-sheet.d.ts +1 -1
  473. package/esm/bottom-sheet/bottom-sheet.js +1 -1
  474. package/esm/bottom-sheet/index.d.ts +1 -1
  475. package/esm/bottom-sheet/index.js +1 -1
  476. package/esm/busy-indicator/busy-indicator-adapter.d.ts +1 -1
  477. package/esm/busy-indicator/busy-indicator-adapter.js +1 -1
  478. package/esm/busy-indicator/busy-indicator-constants.d.ts +1 -1
  479. package/esm/busy-indicator/busy-indicator-constants.js +1 -1
  480. package/esm/busy-indicator/busy-indicator-foundation.d.ts +1 -1
  481. package/esm/busy-indicator/busy-indicator-foundation.js +1 -1
  482. package/esm/busy-indicator/busy-indicator.d.ts +1 -1
  483. package/esm/busy-indicator/busy-indicator.js +1 -1
  484. package/esm/busy-indicator/index.d.ts +1 -1
  485. package/esm/busy-indicator/index.js +1 -1
  486. package/esm/button/button-component-delegate.d.ts +1 -1
  487. package/esm/button/button-component-delegate.js +1 -1
  488. package/esm/button/button-constants.d.ts +2 -1
  489. package/esm/button/button-constants.js +3 -2
  490. package/esm/button/button.d.ts +2 -2
  491. package/esm/button/button.js +8 -9
  492. package/esm/button/index.d.ts +1 -1
  493. package/esm/button/index.js +1 -1
  494. package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +1 -1
  495. package/esm/button-toggle/button-toggle/button-toggle-adapter.js +1 -1
  496. package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +1 -1
  497. package/esm/button-toggle/button-toggle/button-toggle-constants.js +1 -1
  498. package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +1 -1
  499. package/esm/button-toggle/button-toggle/button-toggle-foundation.js +1 -1
  500. package/esm/button-toggle/button-toggle/button-toggle.d.ts +1 -1
  501. package/esm/button-toggle/button-toggle/button-toggle.js +1 -1
  502. package/esm/button-toggle/button-toggle/index.d.ts +1 -1
  503. package/esm/button-toggle/button-toggle/index.js +1 -1
  504. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +1 -1
  505. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +23 -9
  506. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +4 -1
  507. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +1 -1
  508. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +1 -1
  509. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +1 -1
  510. package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +1 -1
  511. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +1 -1
  512. package/esm/button-toggle/button-toggle-group/index.d.ts +1 -1
  513. package/esm/button-toggle/button-toggle-group/index.js +1 -1
  514. package/esm/button-toggle/index.d.ts +1 -1
  515. package/esm/button-toggle/index.js +1 -1
  516. package/esm/calendar/calendar-adapter.d.ts +1 -1
  517. package/esm/calendar/calendar-adapter.js +1 -1
  518. package/esm/calendar/calendar-component-delegate.d.ts +1 -1
  519. package/esm/calendar/calendar-component-delegate.js +1 -1
  520. package/esm/calendar/calendar-constants.d.ts +1 -1
  521. package/esm/calendar/calendar-constants.js +1 -1
  522. package/esm/calendar/calendar-dom-utils.d.ts +1 -1
  523. package/esm/calendar/calendar-dom-utils.js +1 -1
  524. package/esm/calendar/calendar-dropdown/calendar-dropdown-constants.d.ts +1 -1
  525. package/esm/calendar/calendar-dropdown/calendar-dropdown-constants.js +1 -1
  526. package/esm/calendar/calendar-dropdown/calendar-dropdown.d.ts +1 -1
  527. package/esm/calendar/calendar-dropdown/calendar-dropdown.js +1 -1
  528. package/esm/calendar/calendar-dropdown/index.d.ts +1 -1
  529. package/esm/calendar/calendar-dropdown/index.js +1 -1
  530. package/esm/calendar/calendar-foundation.d.ts +1 -1
  531. package/esm/calendar/calendar-foundation.js +2 -1
  532. package/esm/calendar/calendar-locale-utils.d.ts +1 -1
  533. package/esm/calendar/calendar-locale-utils.js +1 -1
  534. package/esm/calendar/calendar-menu/calendar-menu-adapter.d.ts +1 -1
  535. package/esm/calendar/calendar-menu/calendar-menu-adapter.js +1 -1
  536. package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +1 -1
  537. package/esm/calendar/calendar-menu/calendar-menu-constants.js +1 -1
  538. package/esm/calendar/calendar-menu/calendar-menu-foundation.d.ts +1 -1
  539. package/esm/calendar/calendar-menu/calendar-menu-foundation.js +1 -1
  540. package/esm/calendar/calendar-menu/calendar-menu-utils.d.ts +1 -1
  541. package/esm/calendar/calendar-menu/calendar-menu-utils.js +1 -1
  542. package/esm/calendar/calendar-menu/calendar-menu.d.ts +1 -1
  543. package/esm/calendar/calendar-menu/calendar-menu.js +1 -1
  544. package/esm/calendar/calendar-menu/index.d.ts +1 -1
  545. package/esm/calendar/calendar-menu/index.js +1 -1
  546. package/esm/calendar/calendar-utils.d.ts +1 -1
  547. package/esm/calendar/calendar-utils.js +1 -1
  548. package/esm/calendar/calendar.d.ts +1 -1
  549. package/esm/calendar/calendar.js +1 -1
  550. package/esm/calendar/core/calendar-base.d.ts +1 -1
  551. package/esm/calendar/core/calendar-base.js +1 -1
  552. package/esm/calendar/core/date-range.d.ts +1 -1
  553. package/esm/calendar/core/date-range.js +1 -1
  554. package/esm/calendar/core/index.d.ts +1 -1
  555. package/esm/calendar/core/index.js +1 -1
  556. package/esm/calendar/index.d.ts +1 -1
  557. package/esm/calendar/index.js +1 -1
  558. package/esm/card/card-constants.d.ts +1 -1
  559. package/esm/card/card-constants.js +1 -1
  560. package/esm/card/card.d.ts +1 -1
  561. package/esm/card/card.js +1 -1
  562. package/esm/card/index.d.ts +1 -1
  563. package/esm/card/index.js +1 -1
  564. package/esm/checkbox/checkbox-adapter.d.ts +2 -3
  565. package/esm/checkbox/checkbox-adapter.js +13 -9
  566. package/esm/checkbox/checkbox-component-delegate.d.ts +1 -1
  567. package/esm/checkbox/checkbox-component-delegate.js +1 -1
  568. package/esm/checkbox/checkbox-constants.d.ts +1 -1
  569. package/esm/checkbox/checkbox-constants.js +1 -1
  570. package/esm/checkbox/checkbox-foundation.d.ts +1 -1
  571. package/esm/checkbox/checkbox-foundation.js +1 -4
  572. package/esm/checkbox/checkbox.d.ts +1 -1
  573. package/esm/checkbox/checkbox.js +1 -1
  574. package/esm/checkbox/index.d.ts +1 -1
  575. package/esm/checkbox/index.js +1 -1
  576. package/esm/chip-field/chip-field-adapter.d.ts +3 -1
  577. package/esm/chip-field/chip-field-adapter.js +9 -4
  578. package/esm/chip-field/chip-field-component-delegate.d.ts +1 -1
  579. package/esm/chip-field/chip-field-component-delegate.js +1 -1
  580. package/esm/chip-field/chip-field-constants.d.ts +2 -2
  581. package/esm/chip-field/chip-field-constants.js +1 -1
  582. package/esm/chip-field/chip-field-foundation.d.ts +1 -1
  583. package/esm/chip-field/chip-field-foundation.js +2 -1
  584. package/esm/chip-field/chip-field.d.ts +1 -1
  585. package/esm/chip-field/chip-field.js +2 -2
  586. package/esm/chip-field/index.d.ts +1 -1
  587. package/esm/chip-field/index.js +1 -1
  588. package/esm/chips/chip/chip-adapter.d.ts +1 -1
  589. package/esm/chips/chip/chip-adapter.js +1 -1
  590. package/esm/chips/chip/chip-constants.d.ts +1 -1
  591. package/esm/chips/chip/chip-constants.js +1 -1
  592. package/esm/chips/chip/chip-foundation.d.ts +1 -1
  593. package/esm/chips/chip/chip-foundation.js +1 -1
  594. package/esm/chips/chip/chip.d.ts +1 -1
  595. package/esm/chips/chip/chip.js +1 -1
  596. package/esm/chips/chip/index.d.ts +1 -1
  597. package/esm/chips/chip/index.js +1 -1
  598. package/esm/chips/chip-set/chip-set-adapter.d.ts +1 -1
  599. package/esm/chips/chip-set/chip-set-adapter.js +1 -1
  600. package/esm/chips/chip-set/chip-set-constants.d.ts +1 -1
  601. package/esm/chips/chip-set/chip-set-constants.js +1 -1
  602. package/esm/chips/chip-set/chip-set-foundation.d.ts +1 -1
  603. package/esm/chips/chip-set/chip-set-foundation.js +1 -1
  604. package/esm/chips/chip-set/chip-set.d.ts +1 -1
  605. package/esm/chips/chip-set/chip-set.js +1 -1
  606. package/esm/chips/chip-set/index.d.ts +1 -1
  607. package/esm/chips/chip-set/index.js +1 -1
  608. package/esm/chips/index.d.ts +1 -1
  609. package/esm/chips/index.js +1 -1
  610. package/esm/circular-progress/circular-progress-adapter.d.ts +1 -1
  611. package/esm/circular-progress/circular-progress-adapter.js +1 -1
  612. package/esm/circular-progress/circular-progress-constants.d.ts +1 -1
  613. package/esm/circular-progress/circular-progress-constants.js +1 -1
  614. package/esm/circular-progress/circular-progress-foundation.d.ts +1 -1
  615. package/esm/circular-progress/circular-progress-foundation.js +1 -1
  616. package/esm/circular-progress/circular-progress.d.ts +1 -1
  617. package/esm/circular-progress/circular-progress.js +1 -1
  618. package/esm/circular-progress/index.d.ts +1 -1
  619. package/esm/circular-progress/index.js +1 -1
  620. package/esm/color-picker/color-picker-adapter.d.ts +1 -1
  621. package/esm/color-picker/color-picker-adapter.js +1 -1
  622. package/esm/color-picker/color-picker-constants.d.ts +1 -1
  623. package/esm/color-picker/color-picker-constants.js +1 -1
  624. package/esm/color-picker/color-picker-foundation.d.ts +2 -1
  625. package/esm/color-picker/color-picker-foundation.js +20 -9
  626. package/esm/color-picker/color-picker-gradient-slider.d.ts +1 -1
  627. package/esm/color-picker/color-picker-gradient-slider.js +1 -1
  628. package/esm/color-picker/color-picker-slider.d.ts +1 -1
  629. package/esm/color-picker/color-picker-slider.js +1 -1
  630. package/esm/color-picker/color-picker-utils.d.ts +1 -1
  631. package/esm/color-picker/color-picker-utils.js +1 -1
  632. package/esm/color-picker/color-picker.d.ts +1 -1
  633. package/esm/color-picker/color-picker.js +1 -1
  634. package/esm/color-picker/index.d.ts +1 -1
  635. package/esm/color-picker/index.js +1 -1
  636. package/esm/constants.d.ts +1 -1
  637. package/esm/constants.js +1 -1
  638. package/esm/core/base/base-adapter.d.ts +1 -1
  639. package/esm/core/base/base-adapter.js +1 -1
  640. package/esm/core/base/base-component.d.ts +1 -1
  641. package/esm/core/base/base-component.js +1 -1
  642. package/esm/core/base/index.d.ts +1 -1
  643. package/esm/core/base/index.js +1 -1
  644. package/esm/core/delegates/base-component-delegate.d.ts +1 -1
  645. package/esm/core/delegates/base-component-delegate.js +1 -1
  646. package/esm/core/delegates/form-field-component-delegate.d.ts +1 -1
  647. package/esm/core/delegates/form-field-component-delegate.js +1 -1
  648. package/esm/core/delegates/index.d.ts +1 -1
  649. package/esm/core/delegates/index.js +1 -1
  650. package/esm/core/index.d.ts +1 -1
  651. package/esm/core/index.js +1 -1
  652. package/esm/core/mask/date-input-mask.d.ts +1 -1
  653. package/esm/core/mask/date-input-mask.js +1 -1
  654. package/esm/core/mask/index.d.ts +1 -1
  655. package/esm/core/mask/index.js +1 -1
  656. package/esm/core/mask/time-input-mask.d.ts +1 -1
  657. package/esm/core/mask/time-input-mask.js +1 -1
  658. package/esm/core/utils/date-utils.d.ts +1 -1
  659. package/esm/core/utils/date-utils.js +3 -3
  660. package/esm/core/utils/event-utils.d.ts +1 -1
  661. package/esm/core/utils/event-utils.js +1 -1
  662. package/esm/core/utils/index.d.ts +1 -1
  663. package/esm/core/utils/index.js +1 -1
  664. package/esm/core/utils/svg-utils.d.ts +1 -1
  665. package/esm/core/utils/svg-utils.js +1 -1
  666. package/esm/core/utils/time-utils.d.ts +1 -1
  667. package/esm/core/utils/time-utils.js +1 -1
  668. package/esm/core/utils/utils.d.ts +1 -7
  669. package/esm/core/utils/utils.js +1 -11
  670. package/esm/date-picker/base/base-date-picker-adapter.d.ts +1 -1
  671. package/esm/date-picker/base/base-date-picker-adapter.js +1 -1
  672. package/esm/date-picker/base/base-date-picker-constants.d.ts +1 -1
  673. package/esm/date-picker/base/base-date-picker-constants.js +1 -1
  674. package/esm/date-picker/base/base-date-picker-foundation.d.ts +1 -1
  675. package/esm/date-picker/base/base-date-picker-foundation.js +3 -2
  676. package/esm/date-picker/base/base-date-picker-utils.d.ts +1 -1
  677. package/esm/date-picker/base/base-date-picker-utils.js +1 -1
  678. package/esm/date-picker/base/base-date-picker.d.ts +3 -3
  679. package/esm/date-picker/base/base-date-picker.js +1 -1
  680. package/esm/date-picker/date-picker-adapter.d.ts +1 -1
  681. package/esm/date-picker/date-picker-adapter.js +1 -1
  682. package/esm/date-picker/date-picker-component-delegate.d.ts +1 -1
  683. package/esm/date-picker/date-picker-component-delegate.js +1 -1
  684. package/esm/date-picker/date-picker-constants.d.ts +1 -1
  685. package/esm/date-picker/date-picker-constants.js +1 -1
  686. package/esm/date-picker/date-picker-foundation.d.ts +1 -1
  687. package/esm/date-picker/date-picker-foundation.js +1 -1
  688. package/esm/date-picker/date-picker.d.ts +1 -1
  689. package/esm/date-picker/date-picker.js +1 -1
  690. package/esm/date-picker/index.d.ts +1 -1
  691. package/esm/date-picker/index.js +1 -1
  692. package/esm/date-range-picker/date-range-picker-adapter.d.ts +1 -1
  693. package/esm/date-range-picker/date-range-picker-adapter.js +1 -1
  694. package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +1 -1
  695. package/esm/date-range-picker/date-range-picker-component-delegate.js +1 -1
  696. package/esm/date-range-picker/date-range-picker-constants.d.ts +1 -1
  697. package/esm/date-range-picker/date-range-picker-constants.js +1 -1
  698. package/esm/date-range-picker/date-range-picker-foundation.d.ts +3 -3
  699. package/esm/date-range-picker/date-range-picker-foundation.js +2 -2
  700. package/esm/date-range-picker/date-range-picker.d.ts +1 -1
  701. package/esm/date-range-picker/date-range-picker.js +7 -7
  702. package/esm/date-range-picker/index.d.ts +1 -1
  703. package/esm/date-range-picker/index.js +1 -1
  704. package/esm/dialog/dialog-adapter.d.ts +1 -3
  705. package/esm/dialog/dialog-adapter.js +2 -11
  706. package/esm/dialog/dialog-constants.d.ts +1 -1
  707. package/esm/dialog/dialog-constants.js +1 -1
  708. package/esm/dialog/dialog-foundation.d.ts +1 -1
  709. package/esm/dialog/dialog-foundation.js +3 -3
  710. package/esm/dialog/dialog.d.ts +1 -1
  711. package/esm/dialog/dialog.js +1 -1
  712. package/esm/dialog/index.d.ts +1 -1
  713. package/esm/dialog/index.js +1 -1
  714. package/esm/divider/divider-constants.d.ts +1 -1
  715. package/esm/divider/divider-constants.js +1 -1
  716. package/esm/divider/divider.d.ts +1 -1
  717. package/esm/divider/divider.js +1 -1
  718. package/esm/divider/index.d.ts +1 -1
  719. package/esm/divider/index.js +1 -1
  720. package/esm/drawer/base/base-drawer-adapter.d.ts +1 -1
  721. package/esm/drawer/base/base-drawer-adapter.js +1 -1
  722. package/esm/drawer/base/base-drawer-constants.d.ts +1 -1
  723. package/esm/drawer/base/base-drawer-constants.js +1 -1
  724. package/esm/drawer/base/base-drawer-foundation.d.ts +1 -1
  725. package/esm/drawer/base/base-drawer-foundation.js +1 -1
  726. package/esm/drawer/base/base-drawer.d.ts +1 -1
  727. package/esm/drawer/base/base-drawer.js +4 -4
  728. package/esm/drawer/base/index.d.ts +1 -1
  729. package/esm/drawer/base/index.js +1 -1
  730. package/esm/drawer/drawer/drawer-constants.d.ts +1 -1
  731. package/esm/drawer/drawer/drawer-constants.js +1 -1
  732. package/esm/drawer/drawer/drawer.d.ts +1 -1
  733. package/esm/drawer/drawer/drawer.js +1 -1
  734. package/esm/drawer/drawer/index.d.ts +1 -1
  735. package/esm/drawer/drawer/index.js +1 -1
  736. package/esm/drawer/index.d.ts +1 -1
  737. package/esm/drawer/index.js +1 -1
  738. package/esm/drawer/mini-drawer/index.d.ts +1 -1
  739. package/esm/drawer/mini-drawer/index.js +1 -1
  740. package/esm/drawer/mini-drawer/mini-drawer-constants.d.ts +1 -1
  741. package/esm/drawer/mini-drawer/mini-drawer-constants.js +1 -1
  742. package/esm/drawer/mini-drawer/mini-drawer.d.ts +1 -1
  743. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  744. package/esm/drawer/modal-drawer/index.d.ts +1 -1
  745. package/esm/drawer/modal-drawer/index.js +1 -1
  746. package/esm/drawer/modal-drawer/modal-drawer-adapter.d.ts +1 -1
  747. package/esm/drawer/modal-drawer/modal-drawer-adapter.js +1 -1
  748. package/esm/drawer/modal-drawer/modal-drawer-constants.d.ts +1 -1
  749. package/esm/drawer/modal-drawer/modal-drawer-constants.js +1 -1
  750. package/esm/drawer/modal-drawer/modal-drawer-foundation.d.ts +1 -1
  751. package/esm/drawer/modal-drawer/modal-drawer-foundation.js +1 -1
  752. package/esm/drawer/modal-drawer/modal-drawer.d.ts +1 -1
  753. package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
  754. package/esm/expansion-panel/expansion-panel-adapter.d.ts +1 -1
  755. package/esm/expansion-panel/expansion-panel-adapter.js +1 -1
  756. package/esm/expansion-panel/expansion-panel-constants.d.ts +1 -1
  757. package/esm/expansion-panel/expansion-panel-constants.js +1 -1
  758. package/esm/expansion-panel/expansion-panel-foundation.d.ts +1 -1
  759. package/esm/expansion-panel/expansion-panel-foundation.js +1 -1
  760. package/esm/expansion-panel/expansion-panel.d.ts +1 -1
  761. package/esm/expansion-panel/expansion-panel.js +1 -1
  762. package/esm/expansion-panel/index.d.ts +1 -1
  763. package/esm/expansion-panel/index.js +1 -1
  764. package/esm/field/field-adapter.d.ts +1 -1
  765. package/esm/field/field-adapter.js +1 -1
  766. package/esm/field/field-constants.d.ts +1 -1
  767. package/esm/field/field-constants.js +1 -1
  768. package/esm/field/field-foundation.d.ts +1 -1
  769. package/esm/field/field-foundation.js +1 -1
  770. package/esm/field/field.d.ts +1 -1
  771. package/esm/field/field.js +1 -1
  772. package/esm/file-picker/file-picker-adapter.d.ts +1 -1
  773. package/esm/file-picker/file-picker-adapter.js +4 -3
  774. package/esm/file-picker/file-picker-component-delegate.d.ts +1 -1
  775. package/esm/file-picker/file-picker-component-delegate.js +1 -1
  776. package/esm/file-picker/file-picker-constants.d.ts +1 -1
  777. package/esm/file-picker/file-picker-constants.js +1 -1
  778. package/esm/file-picker/file-picker-foundation.d.ts +3 -1
  779. package/esm/file-picker/file-picker-foundation.js +16 -39
  780. package/esm/file-picker/file-picker.d.ts +2 -1
  781. package/esm/file-picker/file-picker.js +4 -1
  782. package/esm/file-picker/index.d.ts +1 -1
  783. package/esm/file-picker/index.js +1 -1
  784. package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +1 -1
  785. package/esm/floating-action-button/floating-action-button-component-delegate.js +1 -1
  786. package/esm/floating-action-button/floating-action-button-constants.d.ts +1 -1
  787. package/esm/floating-action-button/floating-action-button-constants.js +2 -2
  788. package/esm/floating-action-button/floating-action-button.d.ts +1 -1
  789. package/esm/floating-action-button/floating-action-button.js +1 -1
  790. package/esm/floating-action-button/index.d.ts +1 -1
  791. package/esm/floating-action-button/index.js +1 -1
  792. package/esm/floating-label/floating-label-adapter.d.ts +1 -1
  793. package/esm/floating-label/floating-label-adapter.js +1 -1
  794. package/esm/floating-label/floating-label-constants.d.ts +1 -1
  795. package/esm/floating-label/floating-label-constants.js +1 -1
  796. package/esm/floating-label/floating-label-foundation.d.ts +1 -1
  797. package/esm/floating-label/floating-label-foundation.js +1 -1
  798. package/esm/floating-label/floating-label.d.ts +1 -1
  799. package/esm/floating-label/floating-label.js +1 -1
  800. package/esm/floating-label/index.d.ts +1 -1
  801. package/esm/floating-label/index.js +1 -1
  802. package/esm/icon/icon-adapter.d.ts +1 -1
  803. package/esm/icon/icon-adapter.js +1 -1
  804. package/esm/icon/icon-component-delegate.d.ts +1 -1
  805. package/esm/icon/icon-component-delegate.js +1 -1
  806. package/esm/icon/icon-constants.d.ts +1 -1
  807. package/esm/icon/icon-constants.js +1 -1
  808. package/esm/icon/icon-foundation.d.ts +1 -1
  809. package/esm/icon/icon-foundation.js +1 -1
  810. package/esm/icon/icon-registry.d.ts +1 -1
  811. package/esm/icon/icon-registry.js +1 -1
  812. package/esm/icon/icon-utils.d.ts +1 -1
  813. package/esm/icon/icon-utils.js +1 -1
  814. package/esm/icon/icon.d.ts +1 -1
  815. package/esm/icon/icon.js +1 -1
  816. package/esm/icon/index.d.ts +1 -1
  817. package/esm/icon/index.js +1 -1
  818. package/esm/icon-button/icon-button-component-delegate.d.ts +1 -1
  819. package/esm/icon-button/icon-button-component-delegate.js +1 -1
  820. package/esm/icon-button/icon-button-constants.d.ts +1 -1
  821. package/esm/icon-button/icon-button-constants.js +2 -2
  822. package/esm/icon-button/icon-button.d.ts +2 -2
  823. package/esm/icon-button/icon-button.js +7 -7
  824. package/esm/icon-button/index.d.ts +1 -1
  825. package/esm/icon-button/index.js +1 -1
  826. package/esm/index.d.ts +1 -1
  827. package/esm/index.js +1 -1
  828. package/esm/inline-message/index.d.ts +1 -1
  829. package/esm/inline-message/index.js +1 -1
  830. package/esm/inline-message/inline-message-constants.d.ts +1 -1
  831. package/esm/inline-message/inline-message-constants.js +1 -1
  832. package/esm/inline-message/inline-message.d.ts +1 -1
  833. package/esm/inline-message/inline-message.js +1 -1
  834. package/esm/keyboard-shortcut/index.d.ts +1 -1
  835. package/esm/keyboard-shortcut/index.js +1 -1
  836. package/esm/keyboard-shortcut/keyboard-shortcut-adapter.d.ts +1 -1
  837. package/esm/keyboard-shortcut/keyboard-shortcut-adapter.js +1 -1
  838. package/esm/keyboard-shortcut/keyboard-shortcut-constants.d.ts +1 -1
  839. package/esm/keyboard-shortcut/keyboard-shortcut-constants.js +1 -1
  840. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +1 -1
  841. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +1 -1
  842. package/esm/keyboard-shortcut/keyboard-shortcut-utils.d.ts +1 -1
  843. package/esm/keyboard-shortcut/keyboard-shortcut-utils.js +1 -1
  844. package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +4 -1
  845. package/esm/keyboard-shortcut/keyboard-shortcut.js +1 -1
  846. package/esm/label-value/index.d.ts +1 -1
  847. package/esm/label-value/index.js +1 -1
  848. package/esm/label-value/label-value-adapter.d.ts +1 -1
  849. package/esm/label-value/label-value-adapter.js +1 -1
  850. package/esm/label-value/label-value-component-delegate.d.ts +1 -1
  851. package/esm/label-value/label-value-component-delegate.js +1 -1
  852. package/esm/label-value/label-value-constants.d.ts +2 -2
  853. package/esm/label-value/label-value-constants.js +1 -1
  854. package/esm/label-value/label-value-foundation.d.ts +1 -1
  855. package/esm/label-value/label-value-foundation.js +1 -1
  856. package/esm/label-value/label-value.d.ts +1 -1
  857. package/esm/label-value/label-value.js +1 -1
  858. package/esm/linear-progress/index.d.ts +1 -1
  859. package/esm/linear-progress/index.js +1 -1
  860. package/esm/linear-progress/linear-progress-constants.d.ts +1 -1
  861. package/esm/linear-progress/linear-progress-constants.js +1 -1
  862. package/esm/linear-progress/linear-progress.d.ts +1 -1
  863. package/esm/linear-progress/linear-progress.js +2 -2
  864. package/esm/list/index.d.ts +1 -1
  865. package/esm/list/index.js +1 -1
  866. package/esm/list/list/index.d.ts +1 -1
  867. package/esm/list/list/index.js +1 -1
  868. package/esm/list/list/list-adapter.d.ts +1 -1
  869. package/esm/list/list/list-adapter.js +1 -1
  870. package/esm/list/list/list-constants.d.ts +1 -1
  871. package/esm/list/list/list-constants.js +1 -1
  872. package/esm/list/list/list-foundation.d.ts +1 -1
  873. package/esm/list/list/list-foundation.js +1 -1
  874. package/esm/list/list/list.d.ts +1 -1
  875. package/esm/list/list/list.js +1 -1
  876. package/esm/list/list-item/index.d.ts +1 -1
  877. package/esm/list/list-item/index.js +1 -1
  878. package/esm/list/list-item/list-item-adapter.d.ts +1 -1
  879. package/esm/list/list-item/list-item-adapter.js +1 -1
  880. package/esm/list/list-item/list-item-constants.d.ts +1 -1
  881. package/esm/list/list-item/list-item-constants.js +1 -1
  882. package/esm/list/list-item/list-item-foundation.d.ts +1 -1
  883. package/esm/list/list-item/list-item-foundation.js +2 -3
  884. package/esm/list/list-item/list-item.d.ts +1 -1
  885. package/esm/list/list-item/list-item.js +2 -2
  886. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.d.ts +6 -3
  887. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.js +4 -2
  888. package/esm/list-dropdown/index.d.ts +1 -1
  889. package/esm/list-dropdown/index.js +1 -1
  890. package/esm/list-dropdown/list-dropdown-adapter.d.ts +1 -1
  891. package/esm/list-dropdown/list-dropdown-adapter.js +1 -1
  892. package/esm/list-dropdown/list-dropdown-aware-foundation.d.ts +9 -1
  893. package/esm/list-dropdown/list-dropdown-aware-foundation.js +15 -1
  894. package/esm/list-dropdown/list-dropdown-aware.d.ts +12 -3
  895. package/esm/list-dropdown/list-dropdown-aware.js +13 -1
  896. package/esm/list-dropdown/list-dropdown-constants.d.ts +10 -4
  897. package/esm/list-dropdown/list-dropdown-constants.js +3 -1
  898. package/esm/list-dropdown/list-dropdown-foundation.d.ts +1 -1
  899. package/esm/list-dropdown/list-dropdown-foundation.js +4 -7
  900. package/esm/list-dropdown/list-dropdown-utils.d.ts +2 -1
  901. package/esm/list-dropdown/list-dropdown-utils.js +40 -18
  902. package/esm/list-dropdown/list-dropdown.d.ts +1 -1
  903. package/esm/list-dropdown/list-dropdown.js +1 -1
  904. package/esm/menu/index.d.ts +1 -1
  905. package/esm/menu/index.js +1 -1
  906. package/esm/menu/menu-adapter.d.ts +3 -1
  907. package/esm/menu/menu-adapter.js +8 -1
  908. package/esm/menu/menu-constants.d.ts +1 -1
  909. package/esm/menu/menu-constants.js +2 -2
  910. package/esm/menu/menu-foundation.d.ts +13 -4
  911. package/esm/menu/menu-foundation.js +29 -18
  912. package/esm/menu/menu.d.ts +7 -2
  913. package/esm/menu/menu.js +10 -4
  914. package/esm/open-icon/index.d.ts +1 -1
  915. package/esm/open-icon/index.js +1 -1
  916. package/esm/open-icon/open-icon-adapter.d.ts +1 -1
  917. package/esm/open-icon/open-icon-adapter.js +1 -1
  918. package/esm/open-icon/open-icon-constants.d.ts +1 -1
  919. package/esm/open-icon/open-icon-constants.js +1 -1
  920. package/esm/open-icon/open-icon-foundation.d.ts +1 -1
  921. package/esm/open-icon/open-icon-foundation.js +1 -1
  922. package/esm/open-icon/open-icon.d.ts +1 -1
  923. package/esm/open-icon/open-icon.js +1 -1
  924. package/esm/page-state/index.d.ts +1 -1
  925. package/esm/page-state/index.js +1 -1
  926. package/esm/page-state/page-state-constants.d.ts +1 -1
  927. package/esm/page-state/page-state-constants.js +1 -1
  928. package/esm/page-state/page-state.d.ts +1 -1
  929. package/esm/page-state/page-state.js +1 -1
  930. package/esm/paginator/index.d.ts +1 -1
  931. package/esm/paginator/index.js +1 -1
  932. package/esm/paginator/paginator-adapter.d.ts +1 -1
  933. package/esm/paginator/paginator-adapter.js +1 -1
  934. package/esm/paginator/paginator-constants.d.ts +1 -1
  935. package/esm/paginator/paginator-constants.js +1 -1
  936. package/esm/paginator/paginator-foundation.d.ts +1 -1
  937. package/esm/paginator/paginator-foundation.js +1 -1
  938. package/esm/paginator/paginator.d.ts +1 -1
  939. package/esm/paginator/paginator.js +1 -1
  940. package/esm/popup/index.d.ts +1 -1
  941. package/esm/popup/index.js +1 -1
  942. package/esm/popup/popup-adapter.d.ts +1 -1
  943. package/esm/popup/popup-adapter.js +10 -2
  944. package/esm/popup/popup-constants.d.ts +2 -1
  945. package/esm/popup/popup-constants.js +3 -2
  946. package/esm/popup/popup-foundation.d.ts +5 -1
  947. package/esm/popup/popup-foundation.js +8 -1
  948. package/esm/popup/popup.d.ts +3 -1
  949. package/esm/popup/popup.js +5 -2
  950. package/esm/product-icon/index.d.ts +1 -1
  951. package/esm/product-icon/index.js +1 -1
  952. package/esm/product-icon/product-icon-adapter.d.ts +1 -1
  953. package/esm/product-icon/product-icon-adapter.js +1 -1
  954. package/esm/product-icon/product-icon-constants.d.ts +1 -1
  955. package/esm/product-icon/product-icon-constants.js +1 -1
  956. package/esm/product-icon/product-icon-foundation.d.ts +1 -1
  957. package/esm/product-icon/product-icon-foundation.js +1 -1
  958. package/esm/product-icon/product-icon.d.ts +1 -1
  959. package/esm/product-icon/product-icon.js +1 -1
  960. package/esm/profile-card/index.d.ts +1 -1
  961. package/esm/profile-card/index.js +1 -1
  962. package/esm/profile-card/profile-card-adapter.d.ts +1 -1
  963. package/esm/profile-card/profile-card-adapter.js +1 -1
  964. package/esm/profile-card/profile-card-constants.d.ts +1 -1
  965. package/esm/profile-card/profile-card-constants.js +1 -1
  966. package/esm/profile-card/profile-card-foundation.d.ts +1 -1
  967. package/esm/profile-card/profile-card-foundation.js +1 -1
  968. package/esm/profile-card/profile-card.d.ts +1 -1
  969. package/esm/profile-card/profile-card.js +1 -1
  970. package/esm/quantity-field/index.d.ts +1 -1
  971. package/esm/quantity-field/index.js +1 -1
  972. package/esm/quantity-field/quantity-field-adapter.d.ts +3 -1
  973. package/esm/quantity-field/quantity-field-adapter.js +9 -1
  974. package/esm/quantity-field/quantity-field-component-delegate.d.ts +1 -1
  975. package/esm/quantity-field/quantity-field-component-delegate.js +1 -1
  976. package/esm/quantity-field/quantity-field-constants.d.ts +1 -1
  977. package/esm/quantity-field/quantity-field-constants.js +1 -1
  978. package/esm/quantity-field/quantity-field-foundation.d.ts +1 -1
  979. package/esm/quantity-field/quantity-field-foundation.js +2 -1
  980. package/esm/quantity-field/quantity-field.d.ts +1 -1
  981. package/esm/quantity-field/quantity-field.js +7 -1
  982. package/esm/radio/index.d.ts +1 -1
  983. package/esm/radio/index.js +1 -1
  984. package/esm/radio/radio-adapter.d.ts +4 -4
  985. package/esm/radio/radio-adapter.js +18 -16
  986. package/esm/radio/radio-constants.d.ts +1 -1
  987. package/esm/radio/radio-constants.js +1 -1
  988. package/esm/radio/radio-foundation.d.ts +1 -1
  989. package/esm/radio/radio-foundation.js +2 -2
  990. package/esm/radio/radio.d.ts +1 -1
  991. package/esm/radio/radio.js +1 -1
  992. package/esm/ripple/forge-ripple.d.ts +3 -2
  993. package/esm/ripple/forge-ripple.js +4 -1
  994. package/esm/ripple/index.d.ts +1 -1
  995. package/esm/ripple/index.js +1 -1
  996. package/esm/ripple/ripple-adapter.d.ts +1 -1
  997. package/esm/ripple/ripple-adapter.js +1 -1
  998. package/esm/ripple/ripple-constants.d.ts +2 -1
  999. package/esm/ripple/ripple-constants.js +3 -2
  1000. package/esm/ripple/ripple-foundation.d.ts +5 -1
  1001. package/esm/ripple/ripple-foundation.js +11 -1
  1002. package/esm/ripple/ripple.d.ts +5 -3
  1003. package/esm/ripple/ripple.js +11 -3
  1004. package/esm/scaffold/index.d.ts +1 -1
  1005. package/esm/scaffold/index.js +1 -1
  1006. package/esm/scaffold/scaffold-constants.d.ts +1 -1
  1007. package/esm/scaffold/scaffold-constants.js +1 -1
  1008. package/esm/scaffold/scaffold.d.ts +1 -1
  1009. package/esm/scaffold/scaffold.js +1 -1
  1010. package/esm/select/core/base-select-adapter.d.ts +1 -1
  1011. package/esm/select/core/base-select-adapter.js +9 -7
  1012. package/esm/select/core/base-select-constants.d.ts +3 -1
  1013. package/esm/select/core/base-select-constants.js +4 -2
  1014. package/esm/select/core/base-select-foundation.d.ts +1 -10
  1015. package/esm/select/core/base-select-foundation.js +6 -27
  1016. package/esm/select/core/base-select.d.ts +1 -1
  1017. package/esm/select/core/base-select.js +1 -1
  1018. package/esm/select/core/index.d.ts +1 -1
  1019. package/esm/select/core/index.js +1 -1
  1020. package/esm/select/core/select-utils.d.ts +1 -1
  1021. package/esm/select/core/select-utils.js +2 -2
  1022. package/esm/select/index.d.ts +1 -1
  1023. package/esm/select/index.js +1 -1
  1024. package/esm/select/option/index.d.ts +1 -1
  1025. package/esm/select/option/index.js +1 -1
  1026. package/esm/select/option/option-adapter.d.ts +1 -1
  1027. package/esm/select/option/option-adapter.js +1 -1
  1028. package/esm/select/option/option-constants.d.ts +1 -1
  1029. package/esm/select/option/option-constants.js +1 -1
  1030. package/esm/select/option/option-foundation.d.ts +1 -1
  1031. package/esm/select/option/option-foundation.js +1 -1
  1032. package/esm/select/option/option.d.ts +1 -1
  1033. package/esm/select/option/option.js +1 -1
  1034. package/esm/select/option-group/index.d.ts +1 -1
  1035. package/esm/select/option-group/index.js +1 -1
  1036. package/esm/select/option-group/option-group-constants.d.ts +1 -1
  1037. package/esm/select/option-group/option-group-constants.js +1 -1
  1038. package/esm/select/option-group/option-group.d.ts +13 -2
  1039. package/esm/select/option-group/option-group.js +8 -1
  1040. package/esm/select/select/index.d.ts +1 -1
  1041. package/esm/select/select/index.js +1 -1
  1042. package/esm/select/select/select-adapter.d.ts +1 -1
  1043. package/esm/select/select/select-adapter.js +1 -1
  1044. package/esm/select/select/select-constants.d.ts +2 -2
  1045. package/esm/select/select/select-constants.js +1 -1
  1046. package/esm/select/select/select-foundation.d.ts +1 -1
  1047. package/esm/select/select/select-foundation.js +1 -1
  1048. package/esm/select/select/select.d.ts +1 -1
  1049. package/esm/select/select/select.js +12 -10
  1050. package/esm/select/select-component-delegate.d.ts +1 -1
  1051. package/esm/select/select-component-delegate.js +1 -1
  1052. package/esm/select/select-dropdown/index.d.ts +1 -1
  1053. package/esm/select/select-dropdown/index.js +1 -1
  1054. package/esm/select/select-dropdown/select-dropdown-adapter.d.ts +1 -1
  1055. package/esm/select/select-dropdown/select-dropdown-adapter.js +1 -1
  1056. package/esm/select/select-dropdown/select-dropdown-constants.d.ts +1 -1
  1057. package/esm/select/select-dropdown/select-dropdown-constants.js +1 -1
  1058. package/esm/select/select-dropdown/select-dropdown-foundation.d.ts +1 -1
  1059. package/esm/select/select-dropdown/select-dropdown-foundation.js +1 -1
  1060. package/esm/select/select-dropdown/select-dropdown.d.ts +1 -1
  1061. package/esm/select/select-dropdown/select-dropdown.js +6 -6
  1062. package/esm/skeleton/index.d.ts +1 -1
  1063. package/esm/skeleton/index.js +1 -1
  1064. package/esm/skeleton/skeleton-constants.d.ts +1 -1
  1065. package/esm/skeleton/skeleton-constants.js +1 -1
  1066. package/esm/skeleton/skeleton.d.ts +1 -1
  1067. package/esm/skeleton/skeleton.js +1 -1
  1068. package/esm/slider/index.d.ts +1 -1
  1069. package/esm/slider/index.js +1 -1
  1070. package/esm/slider/slider-component-delegate.d.ts +1 -1
  1071. package/esm/slider/slider-component-delegate.js +1 -1
  1072. package/esm/slider/slider-constants.d.ts +1 -1
  1073. package/esm/slider/slider-constants.js +1 -1
  1074. package/esm/slider/slider.d.ts +1 -1
  1075. package/esm/slider/slider.js +1 -1
  1076. package/esm/split-view/core/index.d.ts +1 -1
  1077. package/esm/split-view/core/index.js +1 -1
  1078. package/esm/split-view/core/split-view-base.d.ts +1 -1
  1079. package/esm/split-view/core/split-view-base.js +1 -1
  1080. package/esm/split-view/index.d.ts +1 -1
  1081. package/esm/split-view/index.js +1 -1
  1082. package/esm/split-view/split-view/index.d.ts +1 -1
  1083. package/esm/split-view/split-view/index.js +1 -1
  1084. package/esm/split-view/split-view/split-view-adapter.d.ts +1 -1
  1085. package/esm/split-view/split-view/split-view-adapter.js +1 -1
  1086. package/esm/split-view/split-view/split-view-constants.d.ts +1 -1
  1087. package/esm/split-view/split-view/split-view-constants.js +1 -1
  1088. package/esm/split-view/split-view/split-view-foundation.d.ts +1 -1
  1089. package/esm/split-view/split-view/split-view-foundation.js +1 -1
  1090. package/esm/split-view/split-view/split-view.d.ts +1 -1
  1091. package/esm/split-view/split-view/split-view.js +4 -2
  1092. package/esm/split-view/split-view-panel/index.d.ts +1 -1
  1093. package/esm/split-view/split-view-panel/index.js +1 -1
  1094. package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +1 -1
  1095. package/esm/split-view/split-view-panel/split-view-panel-adapter.js +1 -1
  1096. package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +1 -1
  1097. package/esm/split-view/split-view-panel/split-view-panel-constants.js +1 -1
  1098. package/esm/split-view/split-view-panel/split-view-panel-foundation.d.ts +1 -1
  1099. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +1 -1
  1100. package/esm/split-view/split-view-panel/split-view-panel-utils.d.ts +1 -1
  1101. package/esm/split-view/split-view-panel/split-view-panel-utils.js +1 -1
  1102. package/esm/split-view/split-view-panel/split-view-panel.d.ts +1 -1
  1103. package/esm/split-view/split-view-panel/split-view-panel.js +2 -2
  1104. package/esm/stepper/core/stepper-utils.d.ts +1 -1
  1105. package/esm/stepper/core/stepper-utils.js +1 -1
  1106. package/esm/stepper/index.d.ts +1 -1
  1107. package/esm/stepper/index.js +1 -1
  1108. package/esm/stepper/step/index.d.ts +1 -1
  1109. package/esm/stepper/step/index.js +1 -1
  1110. package/esm/stepper/step/step-adapter.d.ts +1 -1
  1111. package/esm/stepper/step/step-adapter.js +1 -1
  1112. package/esm/stepper/step/step-constants.d.ts +1 -1
  1113. package/esm/stepper/step/step-constants.js +1 -1
  1114. package/esm/stepper/step/step-foundation.d.ts +1 -1
  1115. package/esm/stepper/step/step-foundation.js +1 -1
  1116. package/esm/stepper/step/step.d.ts +1 -1
  1117. package/esm/stepper/step/step.js +7 -4
  1118. package/esm/stepper/stepper/index.d.ts +1 -1
  1119. package/esm/stepper/stepper/index.js +1 -1
  1120. package/esm/stepper/stepper/stepper-adapter.d.ts +1 -1
  1121. package/esm/stepper/stepper/stepper-adapter.js +1 -1
  1122. package/esm/stepper/stepper/stepper-constants.d.ts +1 -1
  1123. package/esm/stepper/stepper/stepper-constants.js +1 -1
  1124. package/esm/stepper/stepper/stepper-foundation.d.ts +1 -1
  1125. package/esm/stepper/stepper/stepper-foundation.js +1 -1
  1126. package/esm/stepper/stepper/stepper.d.ts +1 -1
  1127. package/esm/stepper/stepper/stepper.js +1 -1
  1128. package/esm/switch/index.d.ts +1 -1
  1129. package/esm/switch/index.js +1 -1
  1130. package/esm/switch/switch-component-delegate.d.ts +1 -1
  1131. package/esm/switch/switch-component-delegate.js +1 -1
  1132. package/esm/switch/switch-constants.d.ts +1 -1
  1133. package/esm/switch/switch-constants.js +1 -1
  1134. package/esm/switch/switch.d.ts +1 -1
  1135. package/esm/switch/switch.js +38 -13
  1136. package/esm/table/index.d.ts +1 -1
  1137. package/esm/table/index.js +1 -1
  1138. package/esm/table/multi-sort-manager.d.ts +1 -1
  1139. package/esm/table/multi-sort-manager.js +1 -1
  1140. package/esm/table/table-adapter.d.ts +1 -1
  1141. package/esm/table/table-adapter.js +1 -1
  1142. package/esm/table/table-constants.d.ts +1 -1
  1143. package/esm/table/table-constants.js +1 -1
  1144. package/esm/table/table-foundation.d.ts +8 -1
  1145. package/esm/table/table-foundation.js +10 -1
  1146. package/esm/table/table-row.d.ts +1 -1
  1147. package/esm/table/table-row.js +1 -1
  1148. package/esm/table/table-utils.d.ts +1 -1
  1149. package/esm/table/table-utils.js +14 -7
  1150. package/esm/table/table.d.ts +8 -1
  1151. package/esm/table/table.js +9 -1
  1152. package/esm/table/types.d.ts +9 -5
  1153. package/esm/table/types.js +1 -1
  1154. package/esm/tabs/index.d.ts +1 -1
  1155. package/esm/tabs/index.js +1 -1
  1156. package/esm/tabs/tab/index.d.ts +1 -1
  1157. package/esm/tabs/tab/index.js +1 -1
  1158. package/esm/tabs/tab/tab-adapter.d.ts +1 -1
  1159. package/esm/tabs/tab/tab-adapter.js +1 -1
  1160. package/esm/tabs/tab/tab-constants.d.ts +1 -1
  1161. package/esm/tabs/tab/tab-constants.js +1 -1
  1162. package/esm/tabs/tab/tab-foundation.d.ts +1 -1
  1163. package/esm/tabs/tab/tab-foundation.js +1 -1
  1164. package/esm/tabs/tab/tab.d.ts +1 -1
  1165. package/esm/tabs/tab/tab.js +1 -1
  1166. package/esm/tabs/tab-bar/index.d.ts +1 -1
  1167. package/esm/tabs/tab-bar/index.js +1 -1
  1168. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +1 -1
  1169. package/esm/tabs/tab-bar/tab-bar-adapter.js +1 -1
  1170. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +1 -1
  1171. package/esm/tabs/tab-bar/tab-bar-constants.js +1 -1
  1172. package/esm/tabs/tab-bar/tab-bar-foundation.d.ts +1 -1
  1173. package/esm/tabs/tab-bar/tab-bar-foundation.js +1 -1
  1174. package/esm/tabs/tab-bar/tab-bar.d.ts +1 -1
  1175. package/esm/tabs/tab-bar/tab-bar.js +1 -1
  1176. package/esm/text-field/index.d.ts +1 -1
  1177. package/esm/text-field/index.js +1 -1
  1178. package/esm/text-field/text-field-adapter.d.ts +1 -1
  1179. package/esm/text-field/text-field-adapter.js +1 -1
  1180. package/esm/text-field/text-field-component-delegate.d.ts +1 -1
  1181. package/esm/text-field/text-field-component-delegate.js +1 -1
  1182. package/esm/text-field/text-field-constants.d.ts +2 -2
  1183. package/esm/text-field/text-field-constants.js +1 -1
  1184. package/esm/text-field/text-field-foundation.d.ts +1 -1
  1185. package/esm/text-field/text-field-foundation.js +1 -1
  1186. package/esm/text-field/text-field.d.ts +1 -1
  1187. package/esm/text-field/text-field.js +2 -2
  1188. package/esm/theme/color-constants.d.ts +1 -1
  1189. package/esm/theme/color-constants.js +1 -1
  1190. package/esm/theme/index.d.ts +1 -1
  1191. package/esm/theme/index.js +1 -1
  1192. package/esm/theme/theme-utils.d.ts +1 -1
  1193. package/esm/theme/theme-utils.js +1 -1
  1194. package/esm/time-picker/index.d.ts +1 -1
  1195. package/esm/time-picker/index.js +1 -1
  1196. package/esm/time-picker/time-picker-adapter.d.ts +1 -1
  1197. package/esm/time-picker/time-picker-adapter.js +1 -1
  1198. package/esm/time-picker/time-picker-component-delegate.d.ts +1 -1
  1199. package/esm/time-picker/time-picker-component-delegate.js +1 -1
  1200. package/esm/time-picker/time-picker-constants.d.ts +1 -1
  1201. package/esm/time-picker/time-picker-constants.js +1 -1
  1202. package/esm/time-picker/time-picker-foundation.d.ts +1 -1
  1203. package/esm/time-picker/time-picker-foundation.js +4 -2
  1204. package/esm/time-picker/time-picker-utils.d.ts +1 -1
  1205. package/esm/time-picker/time-picker-utils.js +1 -1
  1206. package/esm/time-picker/time-picker.d.ts +1 -1
  1207. package/esm/time-picker/time-picker.js +1 -1
  1208. package/esm/toast/index.d.ts +1 -1
  1209. package/esm/toast/index.js +1 -1
  1210. package/esm/toast/toast-adapter.d.ts +1 -1
  1211. package/esm/toast/toast-adapter.js +1 -1
  1212. package/esm/toast/toast-constants.d.ts +1 -1
  1213. package/esm/toast/toast-constants.js +1 -1
  1214. package/esm/toast/toast-foundation.d.ts +1 -1
  1215. package/esm/toast/toast-foundation.js +1 -1
  1216. package/esm/toast/toast.d.ts +1 -1
  1217. package/esm/toast/toast.js +1 -1
  1218. package/esm/toolbar/index.d.ts +1 -1
  1219. package/esm/toolbar/index.js +1 -1
  1220. package/esm/toolbar/toolbar-constants.d.ts +1 -1
  1221. package/esm/toolbar/toolbar-constants.js +1 -1
  1222. package/esm/toolbar/toolbar.d.ts +1 -1
  1223. package/esm/toolbar/toolbar.js +3 -3
  1224. package/esm/tooltip/index.d.ts +1 -1
  1225. package/esm/tooltip/index.js +1 -1
  1226. package/esm/tooltip/tooltip-adapter.d.ts +1 -1
  1227. package/esm/tooltip/tooltip-adapter.js +1 -1
  1228. package/esm/tooltip/tooltip-constants.d.ts +1 -1
  1229. package/esm/tooltip/tooltip-constants.js +1 -1
  1230. package/esm/tooltip/tooltip-foundation.d.ts +1 -1
  1231. package/esm/tooltip/tooltip-foundation.js +1 -1
  1232. package/esm/tooltip/tooltip-utils.d.ts +1 -1
  1233. package/esm/tooltip/tooltip-utils.js +1 -1
  1234. package/esm/tooltip/tooltip.d.ts +1 -1
  1235. package/esm/tooltip/tooltip.js +1 -1
  1236. package/esm/utils/color-utils.d.ts +1 -1
  1237. package/esm/utils/color-utils.js +1 -1
  1238. package/esm/utils/index.d.ts +1 -1
  1239. package/esm/utils/index.js +1 -1
  1240. package/esm/view-switcher/index.d.ts +1 -1
  1241. package/esm/view-switcher/index.js +1 -1
  1242. package/esm/view-switcher/view/index.d.ts +1 -1
  1243. package/esm/view-switcher/view/index.js +1 -1
  1244. package/esm/view-switcher/view/view-constants.d.ts +1 -1
  1245. package/esm/view-switcher/view/view-constants.js +1 -1
  1246. package/esm/view-switcher/view/view.d.ts +1 -1
  1247. package/esm/view-switcher/view/view.js +1 -1
  1248. package/esm/view-switcher/view-switcher-adapter.d.ts +1 -1
  1249. package/esm/view-switcher/view-switcher-adapter.js +1 -1
  1250. package/esm/view-switcher/view-switcher-constants.d.ts +1 -1
  1251. package/esm/view-switcher/view-switcher-constants.js +1 -1
  1252. package/esm/view-switcher/view-switcher-foundation.d.ts +1 -1
  1253. package/esm/view-switcher/view-switcher-foundation.js +1 -1
  1254. package/esm/view-switcher/view-switcher.d.ts +1 -1
  1255. package/esm/view-switcher/view-switcher.js +1 -1
  1256. package/package.json +31 -4
  1257. package/styles/app-bar/_mixins.scss +1 -1
  1258. package/styles/app-bar/_variables.scss +1 -1
  1259. package/styles/app-bar/app-bar.scss +1 -1
  1260. package/styles/app-bar/search/_mixins.scss +1 -1
  1261. package/styles/app-bar/search/_variables.scss +1 -1
  1262. package/styles/app-bar/search/app-bar-search.scss +1 -1
  1263. package/styles/autocomplete/autocomplete.scss +1 -1
  1264. package/styles/avatar/_mixins.scss +1 -1
  1265. package/styles/avatar/_variables.scss +1 -1
  1266. package/styles/avatar/avatar.scss +1 -1
  1267. package/styles/backdrop/_mixins.scss +1 -1
  1268. package/styles/backdrop/_variables.scss +1 -1
  1269. package/styles/backdrop/backdrop.scss +1 -1
  1270. package/styles/badge/_mixins.scss +1 -1
  1271. package/styles/badge/_variables.scss +1 -1
  1272. package/styles/badge/badge.scss +1 -1
  1273. package/styles/banner/_mixins.scss +1 -1
  1274. package/styles/banner/_variables.scss +1 -1
  1275. package/styles/banner/banner.scss +1 -1
  1276. package/styles/bottom-sheet/_mixins.scss +1 -1
  1277. package/styles/bottom-sheet/_variables.scss +1 -1
  1278. package/styles/bottom-sheet/bottom-sheet.scss +1 -1
  1279. package/styles/busy-indicator/_mixins.scss +1 -1
  1280. package/styles/busy-indicator/_variables.scss +1 -1
  1281. package/styles/busy-indicator/busy-indicator.scss +1 -1
  1282. package/styles/busy-indicator/forge-busy-indicator.scss +1 -1
  1283. package/styles/button/_button-base.scss +1 -1
  1284. package/styles/button/_button-filled-theme.scss +1 -1
  1285. package/styles/button/_button-filled.scss +1 -1
  1286. package/styles/button/_button-outlined-theme.scss +1 -1
  1287. package/styles/button/_button-outlined.scss +1 -1
  1288. package/styles/button/_button-protected-theme.scss +1 -1
  1289. package/styles/button/_button-protected.scss +1 -1
  1290. package/styles/button/_button-ripple.scss +1 -1
  1291. package/styles/button/_button-shared-theme.scss +1 -1
  1292. package/styles/button/_button-text-theme.scss +1 -1
  1293. package/styles/button/_button-text.scss +1 -1
  1294. package/styles/button/_button.mixins.scss +1 -1
  1295. package/styles/button/_mixins.scss +1 -1
  1296. package/styles/button/forge-button.scss +1 -1
  1297. package/styles/button-toggle/button-toggle/_mixins.scss +1 -1
  1298. package/styles/button-toggle/button-toggle/button-toggle.scss +1 -1
  1299. package/styles/button-toggle/button-toggle-group/_mixins.scss +1 -1
  1300. package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +1 -1
  1301. package/styles/calendar/_mixins.scss +1 -1
  1302. package/styles/calendar/_variables.scss +1 -1
  1303. package/styles/calendar/calendar-menu/_mixins.scss +1 -1
  1304. package/styles/calendar/calendar-menu/_variables.scss +1 -1
  1305. package/styles/calendar/calendar-menu/calendar-menu.scss +1 -1
  1306. package/styles/calendar/calendar.scss +1 -1
  1307. package/styles/card/_mixins.scss +1 -1
  1308. package/styles/card/_variables.scss +1 -1
  1309. package/styles/card/card.scss +1 -1
  1310. package/styles/checkbox/_checkbox-custom-properties.scss +1 -1
  1311. package/styles/checkbox/_checkbox-theme.scss +1 -1
  1312. package/styles/checkbox/_checkbox.mixins.scss +1 -1
  1313. package/styles/checkbox/checkbox.scss +1 -1
  1314. package/styles/chip-field/_base.scss +1 -1
  1315. package/styles/chip-field/_core.scss +1 -1
  1316. package/styles/chip-field/_mixins.scss +1 -1
  1317. package/styles/chip-field/_selector.scss +13 -14
  1318. package/styles/chip-field/_variables.scss +1 -1
  1319. package/styles/chip-field/chip-field.scss +2 -2
  1320. package/styles/chips/chip/_mixins.scss +1 -1
  1321. package/styles/chips/chip/_variables.scss +1 -1
  1322. package/styles/chips/chip/chip.scss +1 -1
  1323. package/styles/chips/chip-set/_mixins.scss +1 -1
  1324. package/styles/chips/chip-set/_variables.scss +1 -1
  1325. package/styles/chips/chip-set/chip-set.scss +1 -1
  1326. package/styles/circular-progress/_keyframes.scss +1 -1
  1327. package/styles/circular-progress/_mixins.scss +1 -1
  1328. package/styles/circular-progress/_variables.scss +1 -1
  1329. package/styles/circular-progress/circular-progress.scss +1 -1
  1330. package/styles/color-picker/_mixins.scss +1 -1
  1331. package/styles/color-picker/_variables.scss +1 -1
  1332. package/styles/color-picker/color-picker.scss +1 -1
  1333. package/styles/date-picker/date-picker.scss +1 -1
  1334. package/styles/date-range-picker/date-range-picker.scss +1 -1
  1335. package/styles/dialog/_mixins.scss +1 -1
  1336. package/styles/dialog/_variables.scss +1 -1
  1337. package/styles/dialog/dialog.scss +1 -1
  1338. package/styles/dialog/forge-dialog-utils.scss +1 -1
  1339. package/styles/dialog/forge-dialog.scss +1 -1
  1340. package/styles/divider/_mixins.scss +1 -1
  1341. package/styles/divider/_variables.scss +1 -1
  1342. package/styles/divider/divider.scss +1 -1
  1343. package/styles/drawer/base/_mixins.scss +1 -1
  1344. package/styles/drawer/base/_variables.scss +1 -1
  1345. package/styles/drawer/drawer/_mixins.scss +1 -1
  1346. package/styles/drawer/drawer/_variables.scss +1 -1
  1347. package/styles/drawer/drawer/drawer.scss +1 -1
  1348. package/styles/drawer/mini-drawer/_mixins.scss +1 -1
  1349. package/styles/drawer/mini-drawer/_variables.scss +1 -1
  1350. package/styles/drawer/mini-drawer/mini-drawer.scss +1 -1
  1351. package/styles/drawer/modal-drawer/_mixins.scss +1 -1
  1352. package/styles/drawer/modal-drawer/modal-drawer.scss +1 -1
  1353. package/styles/expansion-panel/_mixins.scss +1 -1
  1354. package/styles/expansion-panel/expansion-panel.scss +1 -1
  1355. package/styles/expansion-panel/forge-expansion-panel.scss +1 -1
  1356. package/styles/field/_base.scss +3 -3
  1357. package/styles/field/_core.scss +1 -1
  1358. package/styles/field/_selector.scss +2 -2
  1359. package/styles/field/_utils.scss +1 -1
  1360. package/styles/field/_variables.scss +1 -1
  1361. package/styles/file-picker/_mixins.scss +1 -1
  1362. package/styles/file-picker/_variables.scss +1 -1
  1363. package/styles/file-picker/file-picker.scss +1 -1
  1364. package/styles/floating-action-button/_extended-fab-theme.scss +1 -1
  1365. package/styles/floating-action-button/_fab-custom-properties.scss +1 -1
  1366. package/styles/floating-action-button/_fab-theme.scss +1 -1
  1367. package/styles/floating-action-button/_fab.mixins.scss +1 -1
  1368. package/styles/floating-action-button/forge-floating-action-button.scss +1 -1
  1369. package/styles/floating-label/_mixins.scss +1 -1
  1370. package/styles/floating-label/_variables.scss +1 -1
  1371. package/styles/floating-label/forge-floating-label.scss +1 -1
  1372. package/styles/forge-core.scss +1 -1
  1373. package/styles/forge-dark.scss +1 -1
  1374. package/styles/forge.scss +1 -1
  1375. package/styles/form-field/_mixins.scss +1 -1
  1376. package/styles/form-field/forge-form-field.scss +1 -1
  1377. package/styles/icon/_mixins.scss +1 -1
  1378. package/styles/icon/_variables.scss +1 -1
  1379. package/styles/icon/icon.scss +1 -1
  1380. package/styles/icon-button/_mixins.scss +1 -1
  1381. package/styles/icon-button/_variables.scss +1 -1
  1382. package/styles/icon-button/forge-icon-button.scss +1 -1
  1383. package/styles/inline-message/_mixins.scss +1 -1
  1384. package/styles/inline-message/_variables.scss +1 -1
  1385. package/styles/inline-message/inline-message.scss +1 -1
  1386. package/styles/label-value/_mixins.scss +1 -1
  1387. package/styles/label-value/_variables.scss +1 -1
  1388. package/styles/label-value/label-value.scss +1 -1
  1389. package/styles/linear-progress/_mixins.scss +1 -1
  1390. package/styles/linear-progress/_variables.scss +1 -1
  1391. package/styles/linear-progress/linear-progress.scss +1 -1
  1392. package/styles/list/list/_mixins.scss +1 -1
  1393. package/styles/list/list/list.scss +1 -1
  1394. package/styles/list/list-item/_mixins.scss +29 -18
  1395. package/styles/list/list-item/_variables.scss +14 -5
  1396. package/styles/list/list-item/list-item.scss +1 -1
  1397. package/styles/menu/menu.scss +1 -1
  1398. package/styles/open-icon/_mixins.scss +1 -1
  1399. package/styles/open-icon/_variables.scss +1 -1
  1400. package/styles/open-icon/open-icon.scss +1 -1
  1401. package/styles/page-state/_mixins.scss +1 -1
  1402. package/styles/page-state/_variables.scss +1 -1
  1403. package/styles/page-state/page-state.scss +1 -1
  1404. package/styles/paginator/_mixins.scss +1 -1
  1405. package/styles/paginator/_variables.scss +1 -1
  1406. package/styles/paginator/paginator.scss +1 -1
  1407. package/styles/popup/_mixins.scss +1 -1
  1408. package/styles/popup/_variables.scss +1 -1
  1409. package/styles/popup/forge-popup.scss +1 -1
  1410. package/styles/popup/popup.scss +5 -1
  1411. package/styles/product-icon/_mixins.scss +1 -1
  1412. package/styles/product-icon/_variables.scss +1 -1
  1413. package/styles/product-icon/product-icon.scss +1 -1
  1414. package/styles/profile-card/_mixins.scss +1 -1
  1415. package/styles/profile-card/profile-card.scss +1 -1
  1416. package/styles/quantity-field/_mixins.scss +1 -1
  1417. package/styles/quantity-field/forge-quantity-field.scss +1 -1
  1418. package/styles/quantity-field/quantity-field.scss +1 -1
  1419. package/styles/radio/_mixins.scss +1 -1
  1420. package/styles/radio/_radio-theme.scss +1 -1
  1421. package/styles/radio/radio.scss +1 -1
  1422. package/styles/ripple/forge-ripple.scss +1 -1
  1423. package/styles/scaffold/_mixins.scss +1 -1
  1424. package/styles/scaffold/forge-scaffold.scss +1 -1
  1425. package/styles/scaffold/scaffold.scss +1 -1
  1426. package/styles/select/select/_base.scss +1 -1
  1427. package/styles/select/select/_core.scss +1 -1
  1428. package/styles/select/select/_mixins.scss +1 -1
  1429. package/styles/select/select/_selector.scss +1 -1
  1430. package/styles/select/select/_variables.scss +1 -1
  1431. package/styles/select/select/select.scss +1 -1
  1432. package/styles/select/select-dropdown/select-dropdown.scss +1 -1
  1433. package/styles/skeleton/_mixins.scss +1 -1
  1434. package/styles/skeleton/_variables.scss +1 -1
  1435. package/styles/skeleton/skeleton.scss +1 -1
  1436. package/styles/slider/slider.scss +1 -1
  1437. package/styles/split-view/split-view/_mixins.scss +1 -1
  1438. package/styles/split-view/split-view/split-view.scss +1 -1
  1439. package/styles/split-view/split-view-panel/_mixins.scss +1 -1
  1440. package/styles/split-view/split-view-panel/_variables.scss +1 -1
  1441. package/styles/split-view/split-view-panel/split-view-panel.scss +1 -1
  1442. package/styles/stepper/step/_mixins.scss +1 -1
  1443. package/styles/stepper/step/_variables.scss +1 -1
  1444. package/styles/stepper/step/step.scss +1 -1
  1445. package/styles/stepper/stepper/_mixins.scss +1 -1
  1446. package/styles/stepper/stepper/stepper.scss +1 -1
  1447. package/styles/switch/_switch-mixins.scss +1 -1
  1448. package/styles/switch/_switch-theme.scss +1 -1
  1449. package/styles/switch/switch.scss +1 -1
  1450. package/styles/table/_mixins.scss +1 -1
  1451. package/styles/table/_variables.scss +1 -1
  1452. package/styles/table/forge-table.scss +1 -1
  1453. package/styles/tabs/tab/_mixins.scss +1 -1
  1454. package/styles/tabs/tab/_variables.scss +1 -1
  1455. package/styles/tabs/tab/tab.scss +1 -1
  1456. package/styles/tabs/tab-bar/_mixins.scss +1 -1
  1457. package/styles/tabs/tab-bar/tab-bar.scss +1 -1
  1458. package/styles/text-field/_base.scss +1 -1
  1459. package/styles/text-field/_core.scss +1 -1
  1460. package/styles/text-field/_mixins.scss +1 -1
  1461. package/styles/text-field/_selector.scss +1 -1
  1462. package/styles/text-field/_variables.scss +1 -1
  1463. package/styles/text-field/text-field.scss +1 -1
  1464. package/styles/theme/_custom-properties.scss +1 -1
  1465. package/styles/theme/_icon-mixins.scss +1 -1
  1466. package/styles/theme/_index.scss +1 -1
  1467. package/styles/theme/_keys.scss +1 -1
  1468. package/styles/theme/_theme-dark.scss +1 -1
  1469. package/styles/theme/_theme-utils.scss +1 -1
  1470. package/styles/theme/_theme-values.scss +1 -1
  1471. package/styles/theme/_theme.scss +1 -1
  1472. package/styles/theme/forge-material-icons.scss +1 -1
  1473. package/styles/theme/forge-theme.scss +1 -1
  1474. package/styles/time-picker/time-picker.scss +1 -1
  1475. package/styles/toast/_mixins.scss +1 -1
  1476. package/styles/toast/_variables.scss +1 -1
  1477. package/styles/toast/toast.scss +1 -1
  1478. package/styles/toolbar/_mixins.scss +2 -3
  1479. package/styles/toolbar/_variables.scss +2 -2
  1480. package/styles/toolbar/toolbar.scss +14 -1
  1481. package/styles/tooltip/_mixins.scss +1 -1
  1482. package/styles/tooltip/_variables.scss +1 -1
  1483. package/styles/tooltip/forge-tooltip.scss +1 -1
  1484. package/styles/typography/_index.scss +1 -1
  1485. package/styles/typography/_mixins.scss +1 -1
  1486. package/styles/typography/_variables.scss +1 -1
  1487. package/styles/typography/forge-form.scss +1 -1
  1488. package/styles/typography/forge-typography.scss +1 -1
  1489. package/styles/utils/_functions-grid.scss +1 -1
  1490. package/styles/utils/_mixins-animation.scss +1 -1
  1491. package/styles/utils/_mixins-core.scss +1 -1
  1492. package/styles/utils/_mixins-flex.scss +1 -1
  1493. package/styles/utils/_mixins-grid.scss +1 -1
  1494. package/styles/utils/_mixins-media.scss +1 -1
  1495. package/styles/utils/_mixins.scss +1 -1
  1496. package/styles/utils/_variables-flex.scss +1 -1
  1497. package/styles/utils/_variables-grid.scss +1 -1
  1498. package/styles/utils/_variables-media.scss +1 -1
  1499. package/styles/utils/forge-flex.scss +1 -1
  1500. package/styles/utils/forge-grid.scss +1 -1
  1501. package/styles/utils/forge-utils.scss +1 -1
  1502. package/styles/view-switcher/_mixins.scss +1 -1
  1503. package/styles/view-switcher/_variables.scss +1 -1
  1504. package/styles/view-switcher/view/view.scss +1 -1
  1505. package/styles/view-switcher/view-switcher.scss +1 -1
  1506. package/dist/esm/chunks/chunk.2SAHWDGJ.js +0 -7
  1507. package/dist/esm/chunks/chunk.33Q5FK2H.js +0 -7
  1508. package/dist/esm/chunks/chunk.35U4OX7S.js +0 -7
  1509. package/dist/esm/chunks/chunk.3E5QKMHL.js +0 -7
  1510. package/dist/esm/chunks/chunk.3E5QKMHL.js.map +0 -7
  1511. package/dist/esm/chunks/chunk.3UMBCR4P.js +0 -7
  1512. package/dist/esm/chunks/chunk.3UMBCR4P.js.map +0 -7
  1513. package/dist/esm/chunks/chunk.444GNOS4.js +0 -7
  1514. package/dist/esm/chunks/chunk.4KBQ5AJJ.js +0 -7
  1515. package/dist/esm/chunks/chunk.4RNKUXN3.js +0 -7
  1516. package/dist/esm/chunks/chunk.4RNKUXN3.js.map +0 -7
  1517. package/dist/esm/chunks/chunk.54QFNVMG.js +0 -7
  1518. package/dist/esm/chunks/chunk.5K5SIZRX.js +0 -7
  1519. package/dist/esm/chunks/chunk.5WMEFHVN.js +0 -7
  1520. package/dist/esm/chunks/chunk.5XQVZQ4U.js +0 -7
  1521. package/dist/esm/chunks/chunk.73G2CH2D.js +0 -7
  1522. package/dist/esm/chunks/chunk.75LTLEZ7.js +0 -7
  1523. package/dist/esm/chunks/chunk.7NXPOEXV.js +0 -7
  1524. package/dist/esm/chunks/chunk.7NXPOEXV.js.map +0 -7
  1525. package/dist/esm/chunks/chunk.7O7V3N4A.js +0 -7
  1526. package/dist/esm/chunks/chunk.7ZS4N2FT.js +0 -8
  1527. package/dist/esm/chunks/chunk.7ZS4N2FT.js.map +0 -7
  1528. package/dist/esm/chunks/chunk.APGFXXJ7.js +0 -7
  1529. package/dist/esm/chunks/chunk.AVIF5W7A.js +0 -7
  1530. package/dist/esm/chunks/chunk.B5ABD4CZ.js +0 -7
  1531. package/dist/esm/chunks/chunk.B5ABD4CZ.js.map +0 -7
  1532. package/dist/esm/chunks/chunk.BCUBTR5O.js +0 -7
  1533. package/dist/esm/chunks/chunk.BFNAQQCU.js +0 -7
  1534. package/dist/esm/chunks/chunk.BFNAQQCU.js.map +0 -7
  1535. package/dist/esm/chunks/chunk.BOENNFXE.js +0 -7
  1536. package/dist/esm/chunks/chunk.BOENNFXE.js.map +0 -7
  1537. package/dist/esm/chunks/chunk.CNL6EUCO.js +0 -7
  1538. package/dist/esm/chunks/chunk.CNL6EUCO.js.map +0 -7
  1539. package/dist/esm/chunks/chunk.CV5E5W6I.js +0 -7
  1540. package/dist/esm/chunks/chunk.D3LMXSX6.js +0 -7
  1541. package/dist/esm/chunks/chunk.DIYJJHWP.js +0 -7
  1542. package/dist/esm/chunks/chunk.DPCNIOLL.js +0 -7
  1543. package/dist/esm/chunks/chunk.EJ4ASQET.js +0 -7
  1544. package/dist/esm/chunks/chunk.ELS7SQAV.js +0 -7
  1545. package/dist/esm/chunks/chunk.ELS7SQAV.js.map +0 -7
  1546. package/dist/esm/chunks/chunk.FPV4XEUK.js +0 -7
  1547. package/dist/esm/chunks/chunk.G77PXLAU.js +0 -7
  1548. package/dist/esm/chunks/chunk.HN4PXH3D.js +0 -7
  1549. package/dist/esm/chunks/chunk.HSJQA42U.js +0 -7
  1550. package/dist/esm/chunks/chunk.HUWXZ4ZN.js +0 -29
  1551. package/dist/esm/chunks/chunk.HUWXZ4ZN.js.map +0 -7
  1552. package/dist/esm/chunks/chunk.I2YRKTG7.js +0 -7
  1553. package/dist/esm/chunks/chunk.IFZXG3LI.js +0 -7
  1554. package/dist/esm/chunks/chunk.IJIKFXUT.js +0 -7
  1555. package/dist/esm/chunks/chunk.IMK2LFWR.js.map +0 -7
  1556. package/dist/esm/chunks/chunk.JB2N65SR.js +0 -7
  1557. package/dist/esm/chunks/chunk.JB2N65SR.js.map +0 -7
  1558. package/dist/esm/chunks/chunk.JNOCXQVB.js +0 -7
  1559. package/dist/esm/chunks/chunk.JNOCXQVB.js.map +0 -7
  1560. package/dist/esm/chunks/chunk.K43ZNKT2.js +0 -7
  1561. package/dist/esm/chunks/chunk.K753A3KI.js +0 -29
  1562. package/dist/esm/chunks/chunk.KLK2FBDP.js +0 -7
  1563. package/dist/esm/chunks/chunk.KLK2FBDP.js.map +0 -7
  1564. package/dist/esm/chunks/chunk.KYCC3C3M.js +0 -7
  1565. package/dist/esm/chunks/chunk.KYCC3C3M.js.map +0 -7
  1566. package/dist/esm/chunks/chunk.LLHA3SQR.js +0 -7
  1567. package/dist/esm/chunks/chunk.LV7GGIUI.js +0 -7
  1568. package/dist/esm/chunks/chunk.LV7GGIUI.js.map +0 -7
  1569. package/dist/esm/chunks/chunk.MGTNCCW3.js +0 -7
  1570. package/dist/esm/chunks/chunk.MNBJMPJ6.js +0 -7
  1571. package/dist/esm/chunks/chunk.NGIBMR3Q.js +0 -7
  1572. package/dist/esm/chunks/chunk.NGIBMR3Q.js.map +0 -7
  1573. package/dist/esm/chunks/chunk.NNGE722W.js +0 -7
  1574. package/dist/esm/chunks/chunk.NNGE722W.js.map +0 -7
  1575. package/dist/esm/chunks/chunk.O3G6ZLJN.js +0 -7
  1576. package/dist/esm/chunks/chunk.O4Y6QT46.js +0 -12
  1577. package/dist/esm/chunks/chunk.OAKTW64X.js +0 -7
  1578. package/dist/esm/chunks/chunk.OAKTW64X.js.map +0 -7
  1579. package/dist/esm/chunks/chunk.OG2BI3UW.js +0 -7
  1580. package/dist/esm/chunks/chunk.OOBE3XRM.js +0 -29
  1581. package/dist/esm/chunks/chunk.OUEF6VQ6.js +0 -7
  1582. package/dist/esm/chunks/chunk.P6B3UWJ5.js +0 -7
  1583. package/dist/esm/chunks/chunk.PFD2SVJ4.js +0 -7
  1584. package/dist/esm/chunks/chunk.Q6L7T6OJ.js +0 -7
  1585. package/dist/esm/chunks/chunk.Q6L7T6OJ.js.map +0 -7
  1586. package/dist/esm/chunks/chunk.QJPH24V4.js +0 -7
  1587. package/dist/esm/chunks/chunk.QXLPBYMX.js +0 -7
  1588. package/dist/esm/chunks/chunk.QXLPBYMX.js.map +0 -7
  1589. package/dist/esm/chunks/chunk.RKKJB3EE.js +0 -7
  1590. package/dist/esm/chunks/chunk.RKKJB3EE.js.map +0 -7
  1591. package/dist/esm/chunks/chunk.RPPBBBYG.js +0 -7
  1592. package/dist/esm/chunks/chunk.SJSLC6XF.js +0 -7
  1593. package/dist/esm/chunks/chunk.SJSLC6XF.js.map +0 -7
  1594. package/dist/esm/chunks/chunk.T7ZJDAXV.js +0 -29
  1595. package/dist/esm/chunks/chunk.TLHI6K2R.js +0 -7
  1596. package/dist/esm/chunks/chunk.TR64DV3G.js +0 -7
  1597. package/dist/esm/chunks/chunk.TR64DV3G.js.map +0 -7
  1598. package/dist/esm/chunks/chunk.VMWS5OOZ.js +0 -7
  1599. package/dist/esm/chunks/chunk.VWSC3NDJ.js +0 -7
  1600. package/dist/esm/chunks/chunk.VWSC3NDJ.js.map +0 -7
  1601. package/dist/esm/chunks/chunk.WNOSTPQQ.js +0 -7
  1602. package/dist/esm/chunks/chunk.WQE6OCJR.js +0 -7
  1603. package/dist/esm/chunks/chunk.WQE6OCJR.js.map +0 -7
  1604. package/dist/esm/chunks/chunk.WV45FGTW.js +0 -7
  1605. package/dist/esm/chunks/chunk.X77WVI2H.js +0 -7
  1606. package/dist/esm/chunks/chunk.X77WVI2H.js.map +0 -7
  1607. package/dist/esm/chunks/chunk.XXA6KNXT.js +0 -7
  1608. package/dist/esm/chunks/chunk.XXA6KNXT.js.map +0 -7
  1609. package/dist/esm/chunks/chunk.XYBFFTXS.js +0 -29
  1610. package/dist/esm/chunks/chunk.Y6MPWPZU.js +0 -7
  1611. package/dist/esm/chunks/chunk.Y7Q6QI5V.js +0 -7
  1612. package/dist/esm/chunks/chunk.Y7Q6QI5V.js.map +0 -7
  1613. package/dist/esm/chunks/chunk.YAJT3P6V.js +0 -7
  1614. package/dist/esm/chunks/chunk.YHHIPP2F.js +0 -7
  1615. package/dist/esm/chunks/chunk.YPUWII7L.js +0 -7
  1616. package/dist/esm/chunks/chunk.YPUWII7L.js.map +0 -7
  1617. package/dist/esm/chunks/chunk.YWKKZLZ2.js +0 -29
  1618. package/dist/esm/chunks/chunk.ZMH4OL2E.js +0 -7
  1619. package/dist/esm/chunks/chunk.ZMH4OL2E.js.map +0 -7
  1620. /package/dist/esm/chunks/{chunk.A23NSEWA.js.map → chunk.5PXABBKU.js.map} +0 -0
  1621. /package/dist/esm/chunks/{chunk.J3NHIF6W.js.map → chunk.65G33MJV.js.map} +0 -0
  1622. /package/dist/esm/chunks/{chunk.O3G6ZLJN.js.map → chunk.CN7DHS4J.js.map} +0 -0
  1623. /package/dist/esm/chunks/{chunk.K43ZNKT2.js.map → chunk.DRI2NLIB.js.map} +0 -0
  1624. /package/dist/esm/chunks/{chunk.URBXDOF7.js.map → chunk.FL6SJHQU.js.map} +0 -0
  1625. /package/dist/esm/chunks/{chunk.6APYGKNX.js.map → chunk.HWVLZ44Q.js.map} +0 -0
  1626. /package/dist/esm/chunks/{chunk.VLTJFKGZ.js.map → chunk.MNPORZ4F.js.map} +0 -0
  1627. /package/dist/esm/chunks/{chunk.WV45FGTW.js.map → chunk.NG5EGZ5Y.js.map} +0 -0
  1628. /package/dist/esm/chunks/{chunk.SHT6BCLY.js.map → chunk.NYMNX3S7.js.map} +0 -0
  1629. /package/dist/esm/chunks/{chunk.NLZKJ53B.js.map → chunk.OGZOXNGT.js.map} +0 -0
  1630. /package/dist/esm/chunks/{chunk.BSZ2LBJX.js.map → chunk.OOW3UKT4.js.map} +0 -0
  1631. /package/dist/esm/chunks/{chunk.4T5TGQFG.js.map → chunk.YPMN5U7C.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tabs/tab/tab-constants.ts", "../../../../../../node_modules/@material/tab-indicator/constants.ts", "../../../../../../node_modules/@material/tab-indicator/foundation.ts", "../../../../../../node_modules/@material/tab-indicator/fading-foundation.ts", "../../../../../../node_modules/@material/tab-indicator/sliding-foundation.ts", "../../../../../../node_modules/@material/tab-indicator/component.ts", "../../src/tabs/tab/tab-adapter.ts", "../../src/tabs/tab/tab-foundation.ts", "../../src/tabs/tab/tab.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}tab`;\n\nconst attributes = {\n DISABLED: 'disabled',\n ACTIVE: 'active',\n STRETCH: 'stretch'\n};\n\nconst selectors = {\n BUTTON: 'button.forge-tab',\n RIPPLE: '.forge-tab__ripple',\n INDICATOR: '.mdc-tab-indicator',\n CONTENT: '.forge-tab__content',\n DEFAULT_SLOT: 'slot:not([name])'\n};\n\nconst classes = {\n ACTIVE: 'forge-tab--active'\n};\n\nconst events = {\n INTERACTED: `${elementName}-interacted`\n};\n\nexport const TAB_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n classes,\n events\n};\n\nexport interface ITabDimensions {\n rootLeft: number;\n rootRight: number;\n contentLeft: number;\n contentRight: number;\n}\n", null, null, null, null, null, "import { getShadowElement, toggleClass } from '@tylertech/forge-core';\nimport { MDCTabIndicator } from '@material/tab-indicator';\nimport { IBaseAdapter, BaseAdapter } from '../../core/base/base-adapter';\nimport { ITabComponent } from './tab';\nimport { TAB_CONSTANTS } from './tab-constants';\nimport { ForgeRipple, ForgeRippleCapableSurface, ForgeRippleFoundation } from '../../ripple';\n\nexport interface ITabAdapter extends IBaseAdapter {\n initialize(): void;\n initializeIndicator(): void;\n destroyIndicator(): void;\n computeIndicatorBounds(): DOMRect | undefined;\n activateIndicator(previousIndicatorClientRect?: DOMRect): void;\n deactivateIndicator(): void;\n initializeRipple(): void;\n destroyRipple(): void;\n addButtonListener(type: string, listener: (evt: Event) => void): void;\n removeButtonListener(type: string, listener: (evt: Event) => void): void;\n setDisabled(value: boolean): void;\n setActive(value: boolean): void;\n getOffsetLeft(): number;\n getOffsetWidth(): number;\n getContentOffsetLeft(): number;\n getContentOffsetWidth(): number;\n focus(): void;\n setTabIndex(value: number): void;\n}\n\nclass TabRippleSurface implements ForgeRippleCapableSurface {\n constructor(private _root: HTMLButtonElement) {}\n\n public get root(): Element {\n return this._root;\n }\n\n public get unbounded(): boolean | undefined {\n return false;\n }\n\n public get disabled(): boolean | undefined {\n return this._root.disabled;\n }\n}\n\nexport class TabAdapter extends BaseAdapter<ITabComponent> implements ITabAdapter {\n private _buttonElement: HTMLButtonElement;\n private _content: HTMLElement;\n private _rippleElement: HTMLElement;\n private _rippleInstance: ForgeRipple | undefined;\n private _tabIndicatorElement: HTMLElement;\n private _tabIndicator: MDCTabIndicator | undefined;\n\n constructor(component: ITabComponent) {\n super(component);\n this._buttonElement = getShadowElement(this._component, TAB_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n this._content = getShadowElement(this._component, TAB_CONSTANTS.selectors.CONTENT);\n this._rippleElement = getShadowElement(this._component, TAB_CONSTANTS.selectors.RIPPLE);\n this._tabIndicatorElement = getShadowElement(this._component, TAB_CONSTANTS.selectors.INDICATOR);\n }\n\n public initialize(): void {\n this._component.setAttribute('role', 'tab');\n }\n\n public initializeRipple(): void {\n const rippleCapableSurface = new TabRippleSurface(this._buttonElement);\n const rippleAdapter = {\n ...ForgeRipple.createAdapter(rippleCapableSurface),\n addClass: (className: string) => this._rippleElement.classList.add(className),\n removeClass: (className: string) => this._rippleElement.classList.remove(className),\n updateCssVariable: (varName: string, value: string) => this._rippleElement.style.setProperty(varName, value)\n };\n const rippleFoundation = new ForgeRippleFoundation(rippleAdapter);\n this._rippleInstance = new ForgeRipple(this._buttonElement, rippleFoundation);\n }\n\n public destroyRipple(): void {\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n }\n }\n\n public initializeIndicator(): void {\n this._tabIndicator = new MDCTabIndicator(this._tabIndicatorElement);\n }\n\n public destroyIndicator(): void {\n if (this._tabIndicator) {\n this._tabIndicator.destroy();\n this._tabIndicator = undefined;\n }\n }\n\n public activateIndicator(previousIndicatorClientRect?: DOMRect): void {\n if (this._tabIndicator) {\n this._tabIndicator.activate(previousIndicatorClientRect);\n }\n }\n\n public deactivateIndicator(): void {\n if (this._tabIndicator) {\n this._tabIndicator.deactivate();\n }\n }\n\n public computeIndicatorBounds(): DOMRect | undefined {\n return this._tabIndicator ? this._tabIndicator.computeContentClientRect() as DOMRect : undefined;\n }\n\n public addButtonListener(type: string, listener: (evt: Event) => void): void {\n this._buttonElement.addEventListener(type, listener);\n }\n\n public removeButtonListener(type: string, listener: (evt: Event) => void): void {\n this._buttonElement.removeEventListener(type, listener);\n }\n\n public setDisabled(value: boolean): void {\n this._buttonElement.disabled = value;\n this.setTabIndex(!value ? 0 : -1);\n this._component.setAttribute('aria-disabled', value.toString());\n }\n\n public setActive(value: boolean): void {\n toggleClass(this._buttonElement, value, TAB_CONSTANTS.classes.ACTIVE);\n this.setTabIndex(value ? 0 : -1);\n this._component.setAttribute('aria-selected', value.toString());\n }\n\n public getOffsetLeft(): number {\n return this._buttonElement.offsetLeft;\n }\n \n public getOffsetWidth(): number {\n return this._buttonElement.offsetWidth;\n }\n\n public getContentOffsetLeft(): number {\n return this._content.offsetLeft;\n }\n\n public getContentOffsetWidth(): number {\n return this._content.offsetWidth;\n }\n\n public focus(): void {\n this._buttonElement.focus();\n }\n\n public setTabIndex(value: number): void {\n this._buttonElement.tabIndex = value;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { ITabAdapter } from './tab-adapter';\nimport { TAB_CONSTANTS, ITabDimensions } from './tab-constants';\n\nexport interface ITabFoundation extends ICustomElementFoundation {\n disabled: boolean;\n active: boolean;\n stretch: boolean;\n activate(previousIndicatorClientRect?: DOMRect): void;\n deactivate(): void;\n computeIndicatorBounds(): DOMRect | undefined;\n computeDimensions(): ITabDimensions;\n focus(): void;\n setTabIndex(value: number): void;\n}\n\nexport class TabFoundation implements ITabFoundation {\n private _disabled = false;\n private _active = false;\n private _stretch = false;\n private _clickListener: (evt: MouseEvent) => void;\n\n constructor(private _adapter: ITabAdapter) {\n this._clickListener = (evt: MouseEvent) => this._onClick(evt);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.initializeRipple();\n this._adapter.initializeIndicator();\n this._adapter.setDisabled(this._disabled);\n this._setActive(this._active);\n this._adapter.addButtonListener('click', this._clickListener);\n }\n \n public disconnect(): void {\n this._adapter.destroyRipple();\n this._adapter.destroyIndicator();\n this._adapter.removeButtonListener('click', this._clickListener);\n }\n\n private _onClick(evt: MouseEvent): void {\n if (!this._active) {\n this._adapter.emitHostEvent(TAB_CONSTANTS.events.INTERACTED, undefined, true);\n }\n }\n\n private _setActive(isActive: boolean, previousIndicatorClientRect?: DOMRect): void {\n this._active = isActive;\n this._adapter.setActive(this._active);\n if (this._active) {\n this._adapter.activateIndicator(previousIndicatorClientRect);\n } else {\n this._adapter.deactivateIndicator();\n }\n }\n\n public activate(previousIndicatorClientRect?: DOMRect): void {\n this._setActive(true, previousIndicatorClientRect);\n }\n\n public deactivate(): void {\n this._setActive(false);\n }\n\n public computeIndicatorBounds(): DOMRect | undefined {\n return this._adapter.computeIndicatorBounds();\n }\n\n public computeDimensions(): ITabDimensions {\n const rootWidth = this._adapter.getOffsetWidth();\n const rootLeft = this._adapter.getOffsetLeft();\n const contentWidth = this._adapter.getContentOffsetWidth();\n const contentLeft = this._adapter.getContentOffsetLeft();\n return {\n contentLeft: rootLeft + contentLeft,\n contentRight: rootLeft + contentLeft + contentWidth,\n rootLeft,\n rootRight: rootLeft + rootWidth\n };\n }\n \n public focus(): void {\n this._adapter.focus();\n }\n\n public setTabIndex(value: number): void {\n this._adapter.setTabIndex(value);\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get active(): boolean {\n return this._active;\n }\n public set active(value: boolean) {\n if (this._active !== value) {\n this._setActive(value);\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.ACTIVE, this._active);\n }\n }\n\n public get stretch(): boolean {\n return this._stretch;\n }\n public set stretch(value: boolean) {\n if (this._stretch !== value) {\n this._stretch = value;\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.STRETCH, this._stretch);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { TabAdapter } from './tab-adapter';\nimport { TabFoundation } from './tab-foundation';\nimport { TAB_CONSTANTS, ITabDimensions } from './tab-constants';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nconst template = '<template><button class=\\\"forge-tab\\\" type=\\\"button\\\" part=\\\"button\\\"><slot name=\\\"top\\\"></slot><span class=\\\"forge-tab__content\\\" part=\\\"content\\\"><slot name=\\\"leading\\\"></slot><span class=\\\"forge-tab__text\\\" part=\\\"text\\\"><slot></slot></span><slot name=\\\"trailing\\\"></slot></span><span class=\\\"mdc-tab-indicator\\\" part=\\\"indicator-container\\\"><span class=\\\"mdc-tab-indicator__content mdc-tab-indicator__content--underline\\\" part=\\\"indicator\\\"></span> </span><span class=\\\"forge-tab__ripple\\\" part=\\\"ripple-container\\\"></span></button></template>';\nconst 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)}.mdc-tab-indicator .mdc-tab-indicator__content--underline{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.mdc-tab-indicator .mdc-tab-indicator__content--icon{color:#ffc107;color:var(--mdc-theme-secondary,#ffc107)}.mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:2px}.mdc-tab-indicator .mdc-tab-indicator__content--icon{height:34px;font-size:34px}.mdc-tab-indicator{display:-webkit-box;display:flex;position:absolute;top:0;left:0;-webkit-box-pack:center;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{-webkit-transform-origin:left;transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator .mdc-tab-indicator__content{-webkit-transition:250ms -webkit-transform cubic-bezier(.4, 0, .2, 1);transition:250ms -webkit-transform cubic-bezier(.4, 0, .2, 1);transition:250ms transform cubic-bezier(.4, 0, .2, 1);transition:250ms transform cubic-bezier(.4, 0, .2, 1),250ms -webkit-transform cubic-bezier(.4, 0, .2, 1)}.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{-webkit-transition:none;transition:none}.mdc-tab-indicator--fade .mdc-tab-indicator__content{-webkit-transition:150ms opacity linear;transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content{-webkit-transition-delay:0.1s;transition-delay:0.1s}.forge-tab{-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);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-light,rgba(0,0,0,.54));position:relative;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1 0 auto;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border:none;outline:0;background:0 0;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1;padding-right:24px;padding-left:24px;height:100%;width:100%}.forge-tab:disabled{color:rgba(0,0,0,.12);color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12));cursor:not-allowed;pointer-events:none}.forge-tab::-moz-focus-inner{padding:0;border:0}.forge-tab ::slotted([slot=top]){padding-top:8px}.forge-tab ::slotted([slot=leading]),.forge-tab ::slotted([slot=top]),.forge-tab ::slotted([slot=trailing]){-webkit-transition:150ms color linear;transition:150ms color linear;fill:currentColor;width:24px;height:24px;font-size:24px;z-index:2}.forge-tab ::slotted([slot=leading]),.forge-tab ::slotted([slot=trailing]){padding:0 8px}.forge-tab__content{position:relative;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;height:inherit;pointer-events:none}.forge-tab__text{-webkit-transition:150ms color linear;transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.forge-tab--active{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-tab--active ::slotted([slot=leading]),.forge-tab--active ::slotted([slot=top]),.forge-tab--active ::slotted([slot=trailing]){-webkit-transition-delay:0.1s;transition-delay:0.1s}.forge-tab__ripple{--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:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.forge-tab__ripple::after,.forge-tab__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-tab__ripple::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-tab__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-tab__ripple.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-tab__ripple.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-tab__ripple.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-tab__ripple.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-tab__ripple.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-tab__ripple::after,.forge-tab__ripple::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-tab__ripple.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-tab__ripple::after,.forge-tab__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-tab__ripple.mdc-ripple-surface--hover::before,.forge-tab__ripple:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-tab__ripple.mdc-ripple-upgraded--background-focused::before,.forge-tab__ripple:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-tab__ripple:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-tab__ripple:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-tab__ripple.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}:host{display:inline-block}:host([hidden]){display:none}:host([stretch]){-webkit-box-flex:1;flex:1}:host([theme=primary]){--mdc-theme-primary:var(--mdc-theme-primary, $defaultValue)}:host([theme=primary]) .forge-tab.forge-tab--active{color:#3f51b5}:host([theme=secondary]){--mdc-theme-primary:var(--mdc-theme-secondary, $defaultValue)}:host([theme=secondary]) .forge-tab.forge-tab--active{color:#ffc107}:host([theme=warning]){--mdc-theme-primary:var(--mdc-theme-warning, $defaultValue)}:host([theme=warning]) .forge-tab.forge-tab--active{color:#d14900}:host([theme=success]){--mdc-theme-primary:var(--mdc-theme-success, $defaultValue)}:host([theme=success]) .forge-tab.forge-tab--active{color:#2e7d32}:host([theme=danger]){--mdc-theme-primary:var(--mdc-theme-danger, $defaultValue)}:host([theme=danger]) .forge-tab.forge-tab--active{color:#b00020}:host([theme=info]){--mdc-theme-primary:var(--mdc-theme-info, $defaultValue)}:host([theme=info]) .forge-tab.forge-tab--active{color:#424242}';\n\nexport interface ITabComponent extends IBaseComponent {\n disabled: boolean;\n active: boolean;\n stretch: boolean;\n activate(previousIndicatorClientRect?: DOMRect): void;\n deactivate(): void;\n computeIndicatorBounds(): DOMRect | undefined;\n computeDimensions(): ITabDimensions;\n setTabIndex(value: number): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-tab': ITabComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-tab-interacted': CustomEvent<void>;\n }\n}\n\n/**\n * The web component class behind the `<forge-tab>` custom element.\n * \n * @tag forge-tab\n */\n@CustomElement({\n name: TAB_CONSTANTS.elementName\n})\nexport class TabComponent extends BaseComponent implements ITabComponent {\n public static get observedAttributes(): string[] {\n return [\n TAB_CONSTANTS.attributes.DISABLED,\n TAB_CONSTANTS.attributes.ACTIVE,\n TAB_CONSTANTS.attributes.STRETCH\n ];\n }\n\n private _foundation: TabFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new TabFoundation(new TabAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case TAB_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case TAB_CONSTANTS.attributes.ACTIVE:\n this.active = coerceBoolean(newValue);\n break;\n case TAB_CONSTANTS.attributes.STRETCH:\n this.stretch = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public disabled: boolean;\n \n @FoundationProperty()\n public active: boolean;\n \n @FoundationProperty()\n public stretch: boolean;\n\n public activate(previousIndicatorClientRect?: DOMRect): void {\n this._foundation.activate(previousIndicatorClientRect);\n }\n\n public deactivate(): void {\n this._foundation.deactivate();\n }\n \n public computeIndicatorBounds(): DOMRect | undefined {\n return this._foundation.computeIndicatorBounds();\n }\n\n public computeDimensions(): ITabDimensions {\n return this._foundation.computeDimensions();\n }\n\n public override focus(): void {\n this._foundation.focus();\n }\n\n public setTabIndex(value: number): void {\n this._foundation.setTabIndex(value);\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}tab`;\n\nconst attributes = {\n DISABLED: 'disabled',\n ACTIVE: 'active',\n STRETCH: 'stretch'\n};\n\nconst selectors = {\n BUTTON: 'button.forge-tab',\n RIPPLE: '.forge-tab__ripple',\n INDICATOR: '.mdc-tab-indicator',\n CONTENT: '.forge-tab__content',\n DEFAULT_SLOT: 'slot:not([name])'\n};\n\nconst classes = {\n ACTIVE: 'forge-tab--active'\n};\n\nconst events = {\n INTERACTED: `${elementName}-interacted`\n};\n\nexport const TAB_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n classes,\n events\n};\n\nexport interface ITabDimensions {\n rootLeft: number;\n rootRight: number;\n contentLeft: number;\n contentRight: number;\n}\n", null, null, null, null, null, "import { getShadowElement, toggleClass } from '@tylertech/forge-core';\nimport { MDCTabIndicator } from '@material/tab-indicator';\nimport { IBaseAdapter, BaseAdapter } from '../../core/base/base-adapter';\nimport { ITabComponent } from './tab';\nimport { TAB_CONSTANTS } from './tab-constants';\nimport { ForgeRipple, ForgeRippleCapableSurface, ForgeRippleFoundation } from '../../ripple';\n\nexport interface ITabAdapter extends IBaseAdapter {\n initialize(): void;\n initializeIndicator(): void;\n destroyIndicator(): void;\n computeIndicatorBounds(): DOMRect | undefined;\n activateIndicator(previousIndicatorClientRect?: DOMRect): void;\n deactivateIndicator(): void;\n initializeRipple(): void;\n destroyRipple(): void;\n addButtonListener(type: string, listener: (evt: Event) => void): void;\n removeButtonListener(type: string, listener: (evt: Event) => void): void;\n setDisabled(value: boolean): void;\n setActive(value: boolean): void;\n getOffsetLeft(): number;\n getOffsetWidth(): number;\n getContentOffsetLeft(): number;\n getContentOffsetWidth(): number;\n focus(): void;\n setTabIndex(value: number): void;\n}\n\nclass TabRippleSurface implements ForgeRippleCapableSurface {\n constructor(private _root: HTMLButtonElement) {}\n\n public get root(): Element {\n return this._root;\n }\n\n public get unbounded(): boolean | undefined {\n return false;\n }\n\n public get disabled(): boolean | undefined {\n return this._root.disabled;\n }\n}\n\nexport class TabAdapter extends BaseAdapter<ITabComponent> implements ITabAdapter {\n private _buttonElement: HTMLButtonElement;\n private _content: HTMLElement;\n private _rippleElement: HTMLElement;\n private _rippleInstance: ForgeRipple | undefined;\n private _tabIndicatorElement: HTMLElement;\n private _tabIndicator: MDCTabIndicator | undefined;\n\n constructor(component: ITabComponent) {\n super(component);\n this._buttonElement = getShadowElement(this._component, TAB_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n this._content = getShadowElement(this._component, TAB_CONSTANTS.selectors.CONTENT);\n this._rippleElement = getShadowElement(this._component, TAB_CONSTANTS.selectors.RIPPLE);\n this._tabIndicatorElement = getShadowElement(this._component, TAB_CONSTANTS.selectors.INDICATOR);\n }\n\n public initialize(): void {\n this._component.setAttribute('role', 'tab');\n }\n\n public initializeRipple(): void {\n const rippleCapableSurface = new TabRippleSurface(this._buttonElement);\n const rippleAdapter = {\n ...ForgeRipple.createAdapter(rippleCapableSurface),\n addClass: (className: string) => this._rippleElement.classList.add(className),\n removeClass: (className: string) => this._rippleElement.classList.remove(className),\n updateCssVariable: (varName: string, value: string) => this._rippleElement.style.setProperty(varName, value)\n };\n const rippleFoundation = new ForgeRippleFoundation(rippleAdapter);\n this._rippleInstance = new ForgeRipple(this._buttonElement, rippleFoundation);\n }\n\n public destroyRipple(): void {\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n }\n }\n\n public initializeIndicator(): void {\n this._tabIndicator = new MDCTabIndicator(this._tabIndicatorElement);\n }\n\n public destroyIndicator(): void {\n if (this._tabIndicator) {\n this._tabIndicator.destroy();\n this._tabIndicator = undefined;\n }\n }\n\n public activateIndicator(previousIndicatorClientRect?: DOMRect): void {\n if (this._tabIndicator) {\n this._tabIndicator.activate(previousIndicatorClientRect);\n }\n }\n\n public deactivateIndicator(): void {\n if (this._tabIndicator) {\n this._tabIndicator.deactivate();\n }\n }\n\n public computeIndicatorBounds(): DOMRect | undefined {\n return this._tabIndicator ? this._tabIndicator.computeContentClientRect() as DOMRect : undefined;\n }\n\n public addButtonListener(type: string, listener: (evt: Event) => void): void {\n this._buttonElement.addEventListener(type, listener);\n }\n\n public removeButtonListener(type: string, listener: (evt: Event) => void): void {\n this._buttonElement.removeEventListener(type, listener);\n }\n\n public setDisabled(value: boolean): void {\n this._buttonElement.disabled = value;\n this.setTabIndex(!value ? 0 : -1);\n this._component.setAttribute('aria-disabled', value.toString());\n }\n\n public setActive(value: boolean): void {\n toggleClass(this._buttonElement, value, TAB_CONSTANTS.classes.ACTIVE);\n this.setTabIndex(value ? 0 : -1);\n this._component.setAttribute('aria-selected', value.toString());\n }\n\n public getOffsetLeft(): number {\n return this._buttonElement.offsetLeft;\n }\n \n public getOffsetWidth(): number {\n return this._buttonElement.offsetWidth;\n }\n\n public getContentOffsetLeft(): number {\n return this._content.offsetLeft;\n }\n\n public getContentOffsetWidth(): number {\n return this._content.offsetWidth;\n }\n\n public focus(): void {\n this._buttonElement.focus();\n }\n\n public setTabIndex(value: number): void {\n this._buttonElement.tabIndex = value;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { ITabAdapter } from './tab-adapter';\nimport { TAB_CONSTANTS, ITabDimensions } from './tab-constants';\n\nexport interface ITabFoundation extends ICustomElementFoundation {\n disabled: boolean;\n active: boolean;\n stretch: boolean;\n activate(previousIndicatorClientRect?: DOMRect): void;\n deactivate(): void;\n computeIndicatorBounds(): DOMRect | undefined;\n computeDimensions(): ITabDimensions;\n focus(): void;\n setTabIndex(value: number): void;\n}\n\nexport class TabFoundation implements ITabFoundation {\n private _disabled = false;\n private _active = false;\n private _stretch = false;\n private _clickListener: (evt: MouseEvent) => void;\n\n constructor(private _adapter: ITabAdapter) {\n this._clickListener = (evt: MouseEvent) => this._onClick(evt);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.initializeRipple();\n this._adapter.initializeIndicator();\n this._adapter.setDisabled(this._disabled);\n this._setActive(this._active);\n this._adapter.addButtonListener('click', this._clickListener);\n }\n \n public disconnect(): void {\n this._adapter.destroyRipple();\n this._adapter.destroyIndicator();\n this._adapter.removeButtonListener('click', this._clickListener);\n }\n\n private _onClick(evt: MouseEvent): void {\n if (!this._active) {\n this._adapter.emitHostEvent(TAB_CONSTANTS.events.INTERACTED, undefined, true);\n }\n }\n\n private _setActive(isActive: boolean, previousIndicatorClientRect?: DOMRect): void {\n this._active = isActive;\n this._adapter.setActive(this._active);\n if (this._active) {\n this._adapter.activateIndicator(previousIndicatorClientRect);\n } else {\n this._adapter.deactivateIndicator();\n }\n }\n\n public activate(previousIndicatorClientRect?: DOMRect): void {\n this._setActive(true, previousIndicatorClientRect);\n }\n\n public deactivate(): void {\n this._setActive(false);\n }\n\n public computeIndicatorBounds(): DOMRect | undefined {\n return this._adapter.computeIndicatorBounds();\n }\n\n public computeDimensions(): ITabDimensions {\n const rootWidth = this._adapter.getOffsetWidth();\n const rootLeft = this._adapter.getOffsetLeft();\n const contentWidth = this._adapter.getContentOffsetWidth();\n const contentLeft = this._adapter.getContentOffsetLeft();\n return {\n contentLeft: rootLeft + contentLeft,\n contentRight: rootLeft + contentLeft + contentWidth,\n rootLeft,\n rootRight: rootLeft + rootWidth\n };\n }\n \n public focus(): void {\n this._adapter.focus();\n }\n\n public setTabIndex(value: number): void {\n this._adapter.setTabIndex(value);\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get active(): boolean {\n return this._active;\n }\n public set active(value: boolean) {\n if (this._active !== value) {\n this._setActive(value);\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.ACTIVE, this._active);\n }\n }\n\n public get stretch(): boolean {\n return this._stretch;\n }\n public set stretch(value: boolean) {\n if (this._stretch !== value) {\n this._stretch = value;\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.STRETCH, this._stretch);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { TabAdapter } from './tab-adapter';\nimport { TabFoundation } from './tab-foundation';\nimport { TAB_CONSTANTS, ITabDimensions } from './tab-constants';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nconst template = '<template><button class=\\\"forge-tab\\\" type=\\\"button\\\" part=\\\"button\\\"><slot name=\\\"top\\\"></slot><span class=\\\"forge-tab__content\\\" part=\\\"content\\\"><slot name=\\\"leading\\\"></slot><span class=\\\"forge-tab__text\\\" part=\\\"text\\\"><slot></slot></span><slot name=\\\"trailing\\\"></slot></span><span class=\\\"mdc-tab-indicator\\\" part=\\\"indicator-container\\\"><span class=\\\"mdc-tab-indicator__content mdc-tab-indicator__content--underline\\\" part=\\\"indicator\\\"></span> </span><span class=\\\"forge-tab__ripple\\\" part=\\\"ripple-container\\\"></span></button></template>';\nconst 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)}.mdc-tab-indicator .mdc-tab-indicator__content--underline{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.mdc-tab-indicator .mdc-tab-indicator__content--icon{color:#ffc107;color:var(--mdc-theme-secondary,#ffc107)}.mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:2px}.mdc-tab-indicator .mdc-tab-indicator__content--icon{height:34px;font-size:34px}.mdc-tab-indicator{display:-webkit-box;display:flex;position:absolute;top:0;left:0;-webkit-box-pack:center;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{-webkit-transform-origin:left;transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator .mdc-tab-indicator__content{-webkit-transition:250ms -webkit-transform cubic-bezier(.4, 0, .2, 1);transition:250ms -webkit-transform cubic-bezier(.4, 0, .2, 1);transition:250ms transform cubic-bezier(.4, 0, .2, 1);transition:250ms transform cubic-bezier(.4, 0, .2, 1),250ms -webkit-transform cubic-bezier(.4, 0, .2, 1)}.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{-webkit-transition:none;transition:none}.mdc-tab-indicator--fade .mdc-tab-indicator__content{-webkit-transition:150ms opacity linear;transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content{-webkit-transition-delay:0.1s;transition-delay:0.1s}.forge-tab{-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);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-light,rgba(0,0,0,.54));position:relative;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1 0 auto;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border:none;outline:0;background:0 0;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1;padding-right:24px;padding-left:24px;height:100%;width:100%}.forge-tab:disabled{color:rgba(0,0,0,.12);color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12));cursor:not-allowed;pointer-events:none}.forge-tab::-moz-focus-inner{padding:0;border:0}.forge-tab ::slotted([slot=top]){padding-top:8px}.forge-tab ::slotted([slot=leading]),.forge-tab ::slotted([slot=top]),.forge-tab ::slotted([slot=trailing]){-webkit-transition:150ms color linear;transition:150ms color linear;fill:currentColor;width:24px;height:24px;font-size:24px;z-index:2}.forge-tab ::slotted([slot=leading]),.forge-tab ::slotted([slot=trailing]){padding:0 8px}.forge-tab__content{position:relative;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;height:inherit;pointer-events:none}.forge-tab__text{-webkit-transition:150ms color linear;transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.forge-tab--active{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-tab--active ::slotted([slot=leading]),.forge-tab--active ::slotted([slot=top]),.forge-tab--active ::slotted([slot=trailing]){-webkit-transition-delay:0.1s;transition-delay:0.1s}.forge-tab__ripple{--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:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.forge-tab__ripple::after,.forge-tab__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-tab__ripple::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-tab__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-tab__ripple.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-tab__ripple.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-tab__ripple.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-tab__ripple.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-tab__ripple.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-tab__ripple::after,.forge-tab__ripple::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-tab__ripple.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-tab__ripple::after,.forge-tab__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-tab__ripple.mdc-ripple-surface--hover::before,.forge-tab__ripple:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-tab__ripple.mdc-ripple-upgraded--background-focused::before,.forge-tab__ripple:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-tab__ripple:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-tab__ripple:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-tab__ripple.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}:host{display:inline-block}:host([hidden]){display:none}:host([stretch]){-webkit-box-flex:1;flex:1}:host([theme=primary]){--mdc-theme-primary:var(--mdc-theme-primary, $defaultValue)}:host([theme=primary]) .forge-tab.forge-tab--active{color:#3f51b5}:host([theme=secondary]){--mdc-theme-primary:var(--mdc-theme-secondary, $defaultValue)}:host([theme=secondary]) .forge-tab.forge-tab--active{color:#ffc107}:host([theme=warning]){--mdc-theme-primary:var(--mdc-theme-warning, $defaultValue)}:host([theme=warning]) .forge-tab.forge-tab--active{color:#d14900}:host([theme=success]){--mdc-theme-primary:var(--mdc-theme-success, $defaultValue)}:host([theme=success]) .forge-tab.forge-tab--active{color:#2e7d32}:host([theme=danger]){--mdc-theme-primary:var(--mdc-theme-danger, $defaultValue)}:host([theme=danger]) .forge-tab.forge-tab--active{color:#b00020}:host([theme=info]){--mdc-theme-primary:var(--mdc-theme-info, $defaultValue)}:host([theme=info]) .forge-tab.forge-tab--active{color:#424242}';\n\nexport interface ITabComponent extends IBaseComponent {\n disabled: boolean;\n active: boolean;\n stretch: boolean;\n activate(previousIndicatorClientRect?: DOMRect): void;\n deactivate(): void;\n computeIndicatorBounds(): DOMRect | undefined;\n computeDimensions(): ITabDimensions;\n setTabIndex(value: number): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-tab': ITabComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-tab-interacted': CustomEvent<void>;\n }\n}\n\n/**\n * The web component class behind the `<forge-tab>` custom element.\n * \n * @tag forge-tab\n */\n@CustomElement({\n name: TAB_CONSTANTS.elementName\n})\nexport class TabComponent extends BaseComponent implements ITabComponent {\n public static get observedAttributes(): string[] {\n return [\n TAB_CONSTANTS.attributes.DISABLED,\n TAB_CONSTANTS.attributes.ACTIVE,\n TAB_CONSTANTS.attributes.STRETCH\n ];\n }\n\n private _foundation: TabFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new TabFoundation(new TabAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case TAB_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case TAB_CONSTANTS.attributes.ACTIVE:\n this.active = coerceBoolean(newValue);\n break;\n case TAB_CONSTANTS.attributes.STRETCH:\n this.stretch = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare disabled: boolean;\n \n @FoundationProperty()\n public declare active: boolean;\n \n @FoundationProperty()\n public declare stretch: boolean;\n\n public activate(previousIndicatorClientRect?: DOMRect): void {\n this._foundation.activate(previousIndicatorClientRect);\n }\n\n public deactivate(): void {\n this._foundation.deactivate();\n }\n \n public computeIndicatorBounds(): DOMRect | undefined {\n return this._foundation.computeIndicatorBounds();\n }\n\n public computeDimensions(): ITabDimensions {\n return this._foundation.computeDimensions();\n }\n\n public override focus(): void {\n this._foundation.focus();\n }\n\n public setTabIndex(value: number): void {\n this._foundation.setTabIndex(value);\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as k}from"./chunk.R2L3S3YD.js";import{e as V,h as B,j as H}from"./chunk.24X566SZ.js";import{c as x}from"./chunk.HUX56BCR.js";import{a as m,b as N}from"./chunk.XY4N4TSH.js";import{d as K}from"./chunk.DRXMITOO.js";import{b as A}from"./chunk.UPFJ3PVE.js";import{e as F}from"./chunk.PV5MABYN.js";import{d as P}from"./chunk.LZMYHIO2.js";import{d as w}from"./chunk.ZAKLVVFO.js";import{a as S}from"./chunk.5PXABBKU.js";import{a as p}from"./chunk.B3IJU6XJ.js";import{a as T,b as D,d as y}from"./chunk.OOW3UKT4.js";import{a as L,e as C}from"./chunk.MMVZJLXE.js";import{m as M}from"./chunk.R4NDFXVA.js";import{a as g,b as O,i as I,k as _}from"./chunk.G76HB2FK.js";import{a as c,b,f as a}from"./chunk.MCIQXNKY.js";var l=`${D}menu`,U={POPUP:"forge-menu__popup",MENU:"mdc-menu"},G={TOGGLE:`.${l}__toggle,[${l}-toggle],button,[type=button],[role=button],a,[tabindex]:not([tabindex^="-"])`,MENU_LIST:"forge-list"},R={OPEN:"open",PLACEMENT:"placement",SELECTED_INDEX:"selected-index",SELECTED_VALUE:"selected-value",DENSE:"dense",ICON_CLASS:"icon-class",PERSIST_SELECTION:"persist-selection",MODE:"mode",SYNC_POPUP_WIDTH:"sync-popup-width",POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold"},$={SELECT:`${l}-select`,OPEN:`${l}-open`,CLOSE:`${l}-close`,ACTIVE_CHANGE:`${l}-active-change`},z={CHILD_MOUSE_LEAVE_TIMEOUT:300,POPUP_MOUSE_LEAVE_TIMEOUT:500},i={elementName:l,classes:U,selectors:G,attributes:R,events:$,numbers:z};var u=class extends S{constructor(e){super(e);this._childMenus=new Map}getDropdownElement(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.dropdownElement)!=null?t:null}hasTargetElement(){return!!this._targetElement}initializeTarget(){this._targetElement=this._component.querySelector(i.selectors.TOGGLE),this._targetElement||(this._targetElement=this._component.firstElementChild)}initializeAccessibility(e){!this._targetElement||(this._targetElement.setAttribute("aria-atomic","true"),this._targetElement.setAttribute("aria-live","assertive"),this._targetElement.setAttribute("aria-haspopup","true"),this._targetElement.setAttribute("aria-expanded","false"),this._targetElement.hasAttribute("aria-label")||this._targetElement.setAttribute("aria-label",this._targetElement.textContent||""))}addTargetListener(e,t,n=!1){this._targetElement&&this._targetElement.addEventListener(e,t,n)}removeTargetListener(e,t){this._targetElement&&this._targetElement.removeEventListener(e,t)}attachMenu(e){this._listDropdown||!this._targetElement||(this._listDropdown=new B(this._targetElement,e),this._listDropdown.open(),this._targetElement.setAttribute("aria-expanded","true"),this._targetElement.setAttribute("aria-controls",`list-dropdown-popup-${e.id}`))}setOptions(e){this._listDropdown&&this._listDropdown.setOptions(e)}detachMenu(){this._targetElement&&(this._targetElement.removeAttribute("aria-activedescendant"),this._targetElement.removeAttribute("aria-expanded"),this._targetElement.removeAttribute("aria-controls")),this._listDropdown&&(this._listDropdown.close(),this._listDropdown.destroy(),this._listDropdown=void 0)}setActiveOption(e){var t;(t=this._listDropdown)==null||t.activateOption(e)}activateFirstOption(){var e;(e=this._listDropdown)==null||e.activateFirstOption()}setCascadeTargetInactive(){let e=this._targetElement;e!=null&&e.active&&(e.active=!1)}getActiveOptionIndex(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.getActiveOptionIndex())!=null?t:-1}focusTarget(){this._targetElement&&this._targetElement.focus()}isTargetFocused(){return document.activeElement===this._targetElement}updateActiveDescendant(e){!this._targetElement||(e?this._targetElement.setAttribute("aria-activedescendant",e):this._targetElement.removeAttribute("aria-activedescendant"))}addDropdownListener(e,t){!this._listDropdown||!this._listDropdown.dropdownElement||this._listDropdown.dropdownElement.addEventListener(e,t)}isOwnElement(e){return!this._targetElement||!this._listDropdown||!this._listDropdown.dropdownElement?!1:this._targetElement.contains(e)||!!this._listDropdown.dropdownElement.contains(e)}propagateKey(e){var t;(t=this._listDropdown)==null||t.handleKey(e)}proxyKeyboardEventToChild(e,t){if(!this.getDropdownElement())return;let n=this._getOpenChildMenu(t);n&&n.propagateKeyEvent(e)}toggleChildMenu(e,t){let r=this._getListItems()[e].parentElement;r&&r.tagName.toLowerCase()===i.elementName&&(t===void 0?r.open=!r.open:r.open=t,r.activateFirstOption())}createChildMenu(e,t,n,o,r){let d=document.createElement("forge-menu");return d.style.display="block",d.addEventListener(i.events.OPEN,()=>{this._childMenus.set(e,d),n(e)}),d.addEventListener(i.events.CLOSE,()=>{this._childMenus.delete(e),o(e)}),d.addEventListener(i.events.SELECT,f=>{f.stopPropagation(),r(b(c({},f.detail),{parentValue:t}))}),d}closeOtherChildMenus(e){let t=[];this._childMenus.forEach((n,o)=>{o!==e&&(n.open=!1,t.push(o))}),t.forEach(n=>this._childMenus.delete(n))}setSelectedValues(e){var t;(t=this._listDropdown)==null||t.setSelectedValues(e)}_getOpenChildMenu(e){if(!this.getDropdownElement())return null;let t=this._getOwnList(e);return t?t.querySelector(`${i.elementName}[${i.attributes.OPEN}]`):null}_getOwnList(e){let t=this.getDropdownElement();return t?t.querySelector(`${m.elementName}[id="list-dropdown-list-${e}"]`):null}_getListItems(){let e=this.getDropdownElement();if(!e)return[];let t=e.querySelector(m.elementName);return t?Array.from(t.querySelectorAll(N.elementName)):[]}};var h=class extends H{constructor(e){super({popupTimeout:i.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,targetTimeout:i.numbers.CHILD_MOUSE_LEAVE_TIMEOUT});this._adapter=e;this._placement="bottom-start";this._fallbackPlacements=[];this._dense=!1;this._iconClass=y;this._persistSelection=!1;this._mode="click";this._identifier=g(),this._clickListener=t=>this._onTargetClick(t),this._blurListener=t=>this._onTargetBlur(t),this._selectListener=t=>this._handleSelectEvent(t),this._keydownListener=t=>this.onKeydown(t),this._activeChangeListener=t=>this._onActiveOptionChanged(t)}initialize(){this._adapter.initializeTarget(),this._adapter.initializeAccessibility(this._identifier),this._initializeInteractionListeners()}disconnect(){this._open&&this._closeDropdown(),this._destroyInteractionListeners()}activateFirstOption(){this._adapter.activateFirstOption()}_applyMode(){!this._adapter.hasTargetElement()||(this._mode!=="cascade"?this._adapter.addTargetListener("click",this._clickListener):this._attachCascadingListeners())}_initializeInteractionListeners(){!this._adapter.hasTargetElement()||(this._applyMode(),this._adapter.addTargetListener("keydown",this._keydownListener,!0),this._adapter.addTargetListener("focusout",this._blurListener))}_destroyInteractionListeners(){!this._adapter.hasTargetElement()||(this._adapter.removeTargetListener("keydown",this._clickListener),this._adapter.removeTargetListener("focusout",this._blurListener),this._adapter.removeTargetListener("click",this._clickListener),this._detachCascadingListeners())}_attachCascadingListeners(){this._adapter.addTargetListener("mouseenter",this._targetMouseEnterListener),this._adapter.addTargetListener("mouseleave",this._targetMouseLeaveListener),this._adapter.addDocumentListener("mousemove",this._documentMouseMoveListener)}_detachCascadingListeners(){this._adapter.removeTargetListener("mouseenter",this._targetMouseEnterListener),this._adapter.removeTargetListener("mouseleave",this._targetMouseLeaveListener),this._adapter.removeDocumentListener("mousemove",this._documentMouseMoveListener)}get _nonDividerOptions(){return this._flatOptions.filter(e=>!e.divider)}get _flatOptions(){return V(this._options,1)?this._options.reduce((e,t)=>e.concat(t.options),[]):this._options}_onTargetClick(e){if(this._open){this._closeDropdown();return}this.open=!this._open,this._open&&this._adapter.focusTarget()}_onTargetBlur(e){this._open&&this._closeDropdown()}_onActiveOptionChanged(e){let t={id:e},n=this._adapter.emitHostEvent(i.events.ACTIVE_CHANGE,t,!0,!0);this._mode!=="cascade"&&n&&this._adapter.updateActiveDescendant(e)}onKeydown(e){if(this._childOpen){this._adapter.proxyKeyboardEventToChild(e,this._identifier);return}switch(e.code){case"Tab":this._open&&this._selectActiveOption();break;case"Escape":this._open&&(e.preventDefault(),e.stopPropagation(),this._closeDropdown());break;case"Space":e.preventDefault(),this._open?this._closeDropdown():this._openDropdown({fromKeyboard:!0});break;case"Home":case"End":this._open&&(e.preventDefault(),this._adapter.propagateKey(e.code));break;case"Enter":if(e.preventDefault(),!this._open){e.preventDefault(),this._openDropdown({fromKeyboard:!0});return}e.stopImmediatePropagation(),this._adapter.propagateKey(e.code);let t=this._adapter.getActiveOptionIndex(),n=this._nonDividerOptions[t];n&&n.options&&n.options.length&&this._adapter.toggleChildMenu(t);break;case"ArrowUp":case"ArrowDown":if(this._open&&e.stopImmediatePropagation(),e.preventDefault(),!this._open&&e.code==="ArrowDown"){this._openDropdown({fromKeyboard:!0}),this._adapter.activateFirstOption();return}this._adapter.propagateKey(e.code);break;case"ArrowLeft":this._open&&e.stopImmediatePropagation(),this._mode==="cascade"&&this._open&&this._closeDropdown();break;case"ArrowRight":if(this._open&&e.stopImmediatePropagation(),!this._open)return;let o=this._adapter.getActiveOptionIndex(),r=this._nonDividerOptions[o];if(r&&r.options){this._adapter.toggleChildMenu(o,e.code==="ArrowRight");return}break}}async _openMenu({fromKeyboard:e}={}){this._open=!0;let t=[];if(typeof this._optionsFactory=="function")this._loadOptionsAsync(),this._options=[];else{if(!this._options||!this._options.length)return;t=this._options}this._persistSelection||t.forEach(r=>r.selected=!1),this._mapIconToLeadingIcon();let n=this._persistSelection?this._getSelectedValues():[],o={id:this._identifier,type:"menu",options:this._options,selectedValues:n,iconClass:this._iconClass,dense:this._dense,multiple:!1,popupStatic:!0,allowBusy:!0,asyncStyle:"spinner",optionBuilder:this._optionBuilder,optionLimit:this._optionLimit,headerBuilder:this._popupHeaderBuilder,footerBuilder:this._popupFooterBuilder,observeScroll:this._observeScroll,observeScrollThreshold:this._observeScrollThreshold,popupPlacement:this._placement,popupFallbackPlacements:this._fallbackPlacements,activeStartIndex:e?0:void 0,popupClasses:[i.classes.POPUP,i.classes.MENU,...this._popupClasses],syncWidth:this._syncPopupWidth,activeChangeCallback:this._activeChangeListener,selectCallback:this._selectListener,popupOffset:this._popupOffset,cascadingElementFactory:r=>this._createCascadingElement(r)};this._adapter.setHostAttribute(i.attributes.OPEN,""),this._adapter.attachMenu(o),this._mode==="cascade"&&(this._adapter.addDropdownListener("mouseenter",this._childPopupMouseEnterListener),this._adapter.addDropdownListener("mouseleave",this._childPopupMouseLeaveListener)),this._adapter.addDropdownListener(i.events.ACTIVE_CHANGE,r=>{this._onActiveOptionChanged(r.detail.id)}),this._adapter.emitHostEvent(i.events.OPEN)}_closeMenu(){this._open=!1,this._childOpen=!1,this._adapter.detachMenu(),this._activeMouseLeaveTimeout!==void 0&&window.clearTimeout(this._activeMouseLeaveTimeout),this._adapter.removeHostAttribute(i.attributes.OPEN),this._adapter.emitHostEvent(i.events.CLOSE)}_loadOptionsAsync(){return this._optionsFactory?Promise.resolve(this._optionsFactory()).then(e=>{if(this._persistSelection||e.forEach(t=>t.selected=!1),this._open)if(e&&I(e)&&e.length){this._options=e,this._adapter.setOptions(e);let t=this._getSelectedValues();t.length&&this._adapter.setSelectedValues(t)}else this._open&&this._closeDropdown()}).catch(e=>{console.error("An unexpected error ocurred while opening the menu:",e),this._open&&this._closeDropdown()}):(this._open&&this._closeMenu(),Promise.resolve())}_handleSelectEvent(e){let t=this._nonDividerOptions.findIndex(n=>n.value===e);t<0||this._selectOptionByIndex(t)}_selectActiveOption(){let e=this._adapter.getActiveOptionIndex();e>=0&&this._nonDividerOptions[e]&&this._selectOptionByIndex(e)}_selectOptionByIndex(e){let{options:t,value:n}=this._nonDividerOptions[e];if(t){this._adapter.setActiveOption(e);return}this._closeDropdown();let o={index:e,value:n};!this._adapter.emitHostEvent(i.events.SELECT,o,!0,!0)||(this._selectedValue=this._persistSelection?n:void 0)}_getSelectedValues(){let e=this._flatOptions.filter(t=>t.selected).map(t=>t.value);return this._selectedValue!==void 0&&e.push(this._selectedValue),e}_onCascadingOptionSelected(e){this._persistSelection&&(this._selectedValue=e.value),this._adapter.emitHostEvent(i.events.SELECT,e),this._closeDropdown()}_onCascadingChildOpen(e){super._clearMouseLeaveTimeout(),this._adapter.closeOtherChildMenus(e),this._childOpen=!0,this._adapter.setActiveOption(e)}_onCascadingChildClose(e){this._childOpen=!1}_closeDropdown(){this._closeMenu()}_openDropdown({fromKeyboard:e}={}){this._openMenu({fromKeyboard:e})}_setCascadeTargetInactive(){this._adapter.setCascadeTargetInactive()}_isOwnElement(e){return this._adapter.isOwnElement(e)}_createCascadingElement({index:e,options:t,parentValue:n}){let o=this._adapter.createChildMenu(e,n,this._onCascadingChildOpen.bind(this),this._onCascadingChildClose.bind(this),this._onCascadingOptionSelected.bind(this));return o.mode="cascade",o.popupOffset={x:0,y:-8},o.dense=this._dense,o.placement="right-start",o.fallbackPlacements=["left-start","right-start"],o.persistSelection=this._persistSelection,this._persistSelection&&(o.selectedValue=this._selectedValue),o.options=t,o.optionBuilder=this._optionBuilder,o.iconClass=this._iconClass,o}_mapIconToLeadingIcon(){this._flatOptions.filter(e=>e.icon).forEach(e=>e.leadingIcon=e.icon)}get open(){return this._open}set open(e){e=Boolean(e),this._open!==e&&(this._open=e,e?this._openDropdown():this._closeDropdown())}set options(e){if(typeof e=="function")this.optionsFactory=e;else if(this.optionsFactory=void 0,this._options=e.map(t=>c({},t)),this._open&&(this._mapIconToLeadingIcon(),this._adapter.setOptions(this._options),this._persistSelection)){let t=this._getSelectedValues();t.length&&this._adapter.setSelectedValues(t)}}get options(){return this._options?this._flatOptions.map(e=>c({},e)):[]}set optionsFactory(e){this._optionsFactory=e}set selectedIndex(e){let t=this._nonDividerOptions[e];t&&t.value!==this._selectedValue&&(this.selectedValue=t.value)}get selectedIndex(){return this._selectedValue!==void 0?this._nonDividerOptions.findIndex(e=>e.value===this._selectedValue):-1}set selectedValue(e){this._selectedValue!==e&&(this._selectedValue=e,this._adapter.setSelectedValues(this._selectedValue))}get selectedValue(){return this._selectedValue}get placement(){return this._placement}set placement(e){this._placement!==e&&(this._placement=e||"bottom-start",this._adapter.setHostAttribute(i.attributes.PLACEMENT,this._placement))}get fallbackPlacements(){return this._fallbackPlacements}set fallbackPlacements(e){this._fallbackPlacements=Array.isArray(e)?e:[]}get dense(){return this._dense}set dense(e){this._dense=e}get iconClass(){return this._iconClass}set iconClass(e){this._iconClass=e}get persistSelection(){return this._persistSelection}set persistSelection(e){this._persistSelection!==e&&(this._persistSelection=e,this._adapter.toggleHostAttribute(i.attributes.PERSIST_SELECTION,this._persistSelection),this._persistSelection||(this._flatOptions.forEach(t=>t.selected=!1),this._selectedValue=void 0))}get mode(){return this._mode}set mode(e){this._mode!==e&&(this._mode=e,this._destroyInteractionListeners(),this._applyMode(),this._adapter.setHostAttribute(i.attributes.MODE,this._mode))}get popupOffset(){return this._popupOffset}set popupOffset(e){this._popupOffset=e}get optionBuilder(){return this._optionBuilder}set optionBuilder(e){this._optionBuilder=e}get popupElement(){return this._adapter.getDropdownElement()}};var q="<template><slot></slot></template>",W=":host{display:inline-block}:host([hidden]){display:none}",s=class extends k{constructor(){super();w.define(P),this._foundation=new h(new u(this)),C(this,q,W)}static get observedAttributes(){return[i.attributes.OPEN,i.attributes.PLACEMENT,i.attributes.SELECTED_INDEX,i.attributes.SELECTED_VALUE,i.attributes.DENSE,i.attributes.ICON_CLASS,i.attributes.PERSIST_SELECTION,i.attributes.MODE,i.attributes.SYNC_POPUP_WIDTH,i.attributes.POPUP_CLASSES,i.attributes.OPTION_LIMIT,i.attributes.OBSERVE_SCROLL,i.attributes.OBSERVE_SCROLL_THRESHOLD]}connectedCallback(){this.querySelector(i.selectors.TOGGLE)?this._foundation.initialize():M(this,i.selectors.TOGGLE).then(()=>this._foundation.initialize())}attributeChangedCallback(e,t,n){switch(super.attributeChangedCallback(e,t,n),e){case i.attributes.OPEN:this._foundation.open=O(n);break;case i.attributes.PLACEMENT:this._foundation.placement=n;break;case i.attributes.SELECTED_INDEX:this._foundation.selectedIndex=Number(n);break;case i.attributes.SELECTED_VALUE:this._foundation.selectedValue=n;break;case i.attributes.DENSE:this._foundation.dense=_(n);break;case i.attributes.ICON_CLASS:this._foundation.iconClass=n;break;case i.attributes.PERSIST_SELECTION:this.persistSelection=_(n);break;case i.attributes.MODE:this.mode=n;break}}disconnectedCallback(){this._foundation.disconnect()}propagateKeyEvent(e){this._foundation.onKeydown(e)}activateFirstOption(){this._foundation.activateFirstOption()}};a([p()],s.prototype,"open",2),a([p()],s.prototype,"options",2),a([p()],s.prototype,"selectedIndex",2),a([p()],s.prototype,"selectedValue",2),a([p()],s.prototype,"placement",2),a([p()],s.prototype,"fallbackPlacements",2),a([p()],s.prototype,"dense",2),a([p()],s.prototype,"iconClass",2),a([p()],s.prototype,"persistSelection",2),a([p()],s.prototype,"mode",2),a([p()],s.prototype,"popupOffset",2),a([p()],s.prototype,"optionBuilder",2),a([p({set:!1})],s.prototype,"popupElement",2),s=a([T({name:i.elementName,dependencies:[F,x,K,A]})],s);function Ye(){L(s)}export{i as a,u as b,h as c,s as d,Ye as e};
7
+ //# sourceMappingURL=chunk.P6IF3USM.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/menu/menu-constants.ts", "../../src/menu/menu-adapter.ts", "../../src/menu/menu-foundation.ts", "../../src/menu/menu.ts", "../../src/menu/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { IListDropdownOption, IListDropdownOptionGroup } from '../list-dropdown';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}menu`;\n\nconst classes = {\n POPUP: 'forge-menu__popup',\n MENU: 'mdc-menu'\n};\n\nconst selectors = {\n TOGGLE: `.${elementName}__toggle,[${elementName}-toggle],button,[type=button],[role=button],a,[tabindex]:not([tabindex^=\"-\"])`,\n MENU_LIST: 'forge-list'\n};\n\nconst attributes = {\n OPEN: 'open',\n PLACEMENT: 'placement',\n SELECTED_INDEX: 'selected-index',\n SELECTED_VALUE: 'selected-value',\n DENSE: 'dense',\n ICON_CLASS: 'icon-class',\n PERSIST_SELECTION: 'persist-selection',\n MODE: 'mode',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SELECT: `${elementName}-select`,\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n ACTIVE_CHANGE: `${elementName}-active-change`\n};\n\nconst numbers = {\n CHILD_MOUSE_LEAVE_TIMEOUT: 300,\n POPUP_MOUSE_LEAVE_TIMEOUT: 500\n};\n\nexport const MENU_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers\n};\n\nexport interface IMenuSelectEventData<T = any, K = any> {\n index: number;\n value?: T;\n parentValue?: K;\n}\n\nexport interface IMenuActiveChangeEventData {\n id: string;\n}\n\nexport interface IMenuOption<T = any> extends IListDropdownOption<T> {\n icon?: string;\n selected?: boolean;\n}\n\nexport interface IMenuOptionGroup extends IListDropdownOptionGroup {}\n\nexport type MenuOptionBuilder = (option: IMenuOption, parentElement: HTMLElement) => HTMLElement | string | void;\nexport type MenuOptionFactory = (() => IMenuOption[]) | (() => Promise<IMenuOption[]>);\nexport type MenuMode = 'click' | 'cascade';\n", "import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IMenuOption } from './index';\nimport { IMenuComponent } from './menu';\nimport { MENU_CONSTANTS, IMenuSelectEventData } from './menu-constants';\nimport { IListDropdownConfig, IListDropdown, ListDropdown } from '../list-dropdown';\nimport { IListComponent, IListItemComponent, LIST_CONSTANTS, LIST_ITEM_CONSTANTS } from '../list';\n\nexport interface IMenuAdapter extends IBaseAdapter {\n getDropdownElement(): HTMLElement | null;\n initializeTarget(): void;\n initializeAccessibility(id: string): void;\n hasTargetElement(): boolean;\n addTargetListener(event: string, callback: (event: Event) => void, bubbles?: boolean): void;\n removeTargetListener(event: string, callback: (event: Event) => void): void;\n attachMenu(config: IListDropdownConfig): void;\n detachMenu(): void;\n setOptions(options: IMenuOption[]): void;\n getActiveOptionIndex(): number;\n setActiveOption(index: number): void;\n activateFirstOption(): void;\n setCascadeTargetInactive(): void;\n propagateKey(key: string): void;\n proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void;\n toggleChildMenu(index: number, open?: boolean): void;\n focusTarget(): void;\n isTargetFocused(): boolean;\n updateActiveDescendant(id: string): void;\n isOwnElement(element: Element): boolean;\n addDropdownListener(type: string, listener: (evt: any) => void): void;\n createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent;\n closeOtherChildMenus(excludeIndex?: number): void;\n setSelectedValues(values: any[]): void;\n}\n\nexport class MenuAdapter extends BaseAdapter<IMenuComponent> implements IMenuAdapter {\n private _targetElement: HTMLElement | null;\n private _listDropdown?: IListDropdown;\n private _childMenus = new Map<number, IMenuComponent>();\n\n constructor(component: IMenuComponent) {\n super(component);\n }\n\n public getDropdownElement(): HTMLElement | null {\n return this._listDropdown?.dropdownElement ?? null;\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public initializeTarget(): void {\n this._targetElement = this._component.querySelector(MENU_CONSTANTS.selectors.TOGGLE);\n if (!this._targetElement) {\n this._targetElement = this._component.firstElementChild as HTMLElement;\n }\n }\n\n public initializeAccessibility(id: string): void {\n if (!this._targetElement) {\n return;\n }\n\n this._targetElement.setAttribute('aria-atomic', 'true');\n this._targetElement.setAttribute('aria-live', 'assertive');\n this._targetElement.setAttribute('aria-haspopup', 'true');\n this._targetElement.setAttribute('aria-expanded', 'false');\n\n if (!this._targetElement.hasAttribute('aria-label')) {\n this._targetElement.setAttribute('aria-label', this._targetElement.textContent || '');\n }\n }\n\n public addTargetListener(event: string, callback: (event: Event) => void, bubbles = false): void {\n if (this._targetElement) {\n this._targetElement.addEventListener(event, callback, bubbles);\n }\n }\n\n public removeTargetListener(event: string, callback: (event: Event) => void): void {\n if (this._targetElement) {\n this._targetElement.removeEventListener(event, callback);\n }\n }\n\n public attachMenu(config: IListDropdownConfig): void {\n if (this._listDropdown || !this._targetElement) {\n return;\n }\n this._listDropdown = new ListDropdown(this._targetElement as HTMLElement, config);\n this._listDropdown.open();\n this._targetElement.setAttribute('aria-expanded', 'true');\n this._targetElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n }\n\n public setOptions(options: IMenuOption[]): void {\n if (this._listDropdown) {\n this._listDropdown.setOptions(options);\n }\n }\n\n public detachMenu(): void {\n if (this._targetElement) {\n this._targetElement.removeAttribute('aria-activedescendant');\n this._targetElement.removeAttribute('aria-expanded');\n this._targetElement.removeAttribute('aria-controls');\n }\n\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public setCascadeTargetInactive(): void {\n const listItem = this._targetElement as IListItemComponent;\n if (listItem?.active) {\n listItem.active = false;\n }\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public focusTarget(): void {\n if (this._targetElement) {\n this._targetElement.focus();\n }\n }\n\n public isTargetFocused(): boolean {\n return document.activeElement === this._targetElement;\n }\n\n public updateActiveDescendant(id: string): void {\n if (!this._targetElement) {\n return;\n }\n if (id) {\n this._targetElement.setAttribute('aria-activedescendant', id);\n } else {\n this._targetElement.removeAttribute('aria-activedescendant');\n }\n }\n\n public addDropdownListener(type: string, listener: (evt: any) => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n this._listDropdown.dropdownElement.addEventListener(type, listener);\n }\n\n public isOwnElement(el: Element): boolean {\n if (!this._targetElement || !this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._targetElement.contains(el) || !!this._listDropdown.dropdownElement.contains(el);\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void {\n if (!this.getDropdownElement()) {\n return;\n }\n const openMenu = this._getOpenChildMenu(id);\n if (openMenu) {\n openMenu.propagateKeyEvent(evt);\n }\n }\n\n public toggleChildMenu(index: number, open?: boolean): void {\n const listItems = this._getListItems();\n const listItem = listItems[index];\n const childMenu = listItem.parentElement as IMenuComponent;\n if (childMenu && childMenu.tagName.toLowerCase() === MENU_CONSTANTS.elementName) {\n if (open === undefined) {\n childMenu.open = !childMenu.open;\n } else {\n childMenu.open = open;\n }\n childMenu.activateFirstOption();\n }\n }\n\n public createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent {\n const menu = document.createElement('forge-menu');\n menu.style.display = 'block';\n\n // Set listeners to notify the parent menu when anything important happens within a child menu that needs to be propagated to the root menu\n menu.addEventListener(MENU_CONSTANTS.events.OPEN, () => {\n this._childMenus.set(index, menu);\n openCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.CLOSE, () => {\n this._childMenus.delete(index);\n closeCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.SELECT, (evt: CustomEvent<IMenuSelectEventData>) => {\n evt.stopPropagation();\n selectCb({ ...evt.detail, parentValue });\n });\n\n return menu;\n }\n\n public closeOtherChildMenus(excludeIndex?: number): void {\n const menusToRemove: number[] = [];\n this._childMenus.forEach((menu, index) => {\n if (index !== excludeIndex) {\n menu.open = false;\n menusToRemove.push(index);\n }\n });\n menusToRemove.forEach(index => this._childMenus.delete(index));\n }\n\n public setSelectedValues(values: any[]): void {\n this._listDropdown?.setSelectedValues(values);\n }\n\n private _getOpenChildMenu(id: string): IMenuComponent | null {\n if (!this.getDropdownElement()) {\n return null;\n }\n const list = this._getOwnList(id);\n return list ? list.querySelector(`${MENU_CONSTANTS.elementName}[${MENU_CONSTANTS.attributes.OPEN}]`) : null;\n }\n\n private _getOwnList(id: string): IListComponent | null {\n const popup = this.getDropdownElement();\n if (!popup) {\n return null;\n }\n return popup.querySelector(`${LIST_CONSTANTS.elementName}[id=\"list-dropdown-list-${id}\"]`);\n }\n\n private _getListItems(): IListItemComponent[] {\n const popup = this.getDropdownElement();\n if (!popup) {\n return [];\n }\n const listElement = popup.querySelector(LIST_CONSTANTS.elementName);\n if (listElement) {\n return Array.from(listElement.querySelectorAll(LIST_ITEM_CONSTANTS.elementName)) as IListItemComponent[];\n }\n return [];\n }\n}\n", "import { ICustomElementFoundation, isArray, randomChars } from '@tylertech/forge-core';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { CascadingListDropdownAwareFoundation, IListDropdownCascadingElementFactoryConfig, IListDropdownConfig, ListDropdownAsyncStyle, ListDropdownType } from '../list-dropdown';\nimport { isListDropdownOptionType, ListDropdownOptionType } from '../list-dropdown/list-dropdown-utils';\nimport { IPopupPosition, PopupPlacement } from '../popup';\nimport { IMenuOption } from './index';\nimport { IMenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\n\nexport interface IMenuFoundation extends ICustomElementFoundation {\n initialize(): void;\n disconnect(): void;\n onKeydown(evt: KeyboardEvent): void;\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup>;\n optionsFactory: MenuOptionFactory | undefined;\n selectedIndex: number;\n selectedValue: any;\n placement: PopupPlacement;\n fallbackPlacements: PopupPlacement[];\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n activateFirstOption(): void;\n}\n\nexport class MenuFoundation extends CascadingListDropdownAwareFoundation<IMenuOption | IMenuOptionGroup> implements IMenuFoundation {\n private _optionsFactory: MenuOptionFactory | undefined;\n private _placement: PopupPlacement = 'bottom-start';\n private _fallbackPlacements: PopupPlacement[] = [];\n private _dense = false;\n private _selectedValue: any;\n private _iconClass = ICON_CLASS_NAME;\n private _persistSelection = false;\n private _mode: MenuMode = 'click';\n private _popupOffset: IPopupPosition;\n private _optionBuilder: MenuOptionBuilder | undefined;\n private _identifier: string;\n private _clickListener: (evt: MouseEvent) => void;\n private _blurListener: (evt: MouseEvent) => void;\n private _selectListener: (value: any) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _activeChangeListener: (id: string) => void;\n \n constructor(private _adapter: IMenuAdapter) {\n super({\n popupTimeout: MENU_CONSTANTS.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,\n targetTimeout: MENU_CONSTANTS.numbers.CHILD_MOUSE_LEAVE_TIMEOUT\n });\n this._identifier = randomChars();\n this._clickListener = evt => this._onTargetClick(evt);\n this._blurListener = evt => this._onTargetBlur(evt);\n this._selectListener = value => this._handleSelectEvent(value);\n this._keydownListener = evt => this.onKeydown(evt);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n }\n\n public initialize(): void {\n this._adapter.initializeTarget();\n this._adapter.initializeAccessibility(this._identifier);\n this._initializeInteractionListeners();\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._destroyInteractionListeners();\n }\n\n public activateFirstOption(): void {\n this._adapter.activateFirstOption();\n }\n\n private _applyMode(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n\n if (this._mode !== 'cascade') {\n this._adapter.addTargetListener('click', this._clickListener);\n } else {\n this._attachCascadingListeners();\n }\n }\n\n private _initializeInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._applyMode();\n this._adapter.addTargetListener('keydown', this._keydownListener, true);\n this._adapter.addTargetListener('focusout', this._blurListener);\n }\n\n private _destroyInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._adapter.removeTargetListener('keydown', this._clickListener);\n this._adapter.removeTargetListener('focusout', this._blurListener);\n this._adapter.removeTargetListener('click', this._clickListener);\n this._detachCascadingListeners();\n }\n\n protected _attachCascadingListeners(): void {\n this._adapter.addTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.addTargetListener('mouseleave', this._targetMouseLeaveListener);\n\n // We listen for document mousemove events only to track mouse coords for use when determining\n // if popups should open/close after specific delays\n this._adapter.addDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n protected _detachCascadingListeners(): void {\n this._adapter.removeTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.removeTargetListener('mouseleave', this._targetMouseLeaveListener);\n this._adapter.removeDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n private get _nonDividerOptions(): IMenuOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n private get _flatOptions(): IMenuOption[] {\n if (isListDropdownOptionType(this._options, ListDropdownOptionType.Group)) {\n return (this._options as IMenuOptionGroup[]).reduce((previousValue, currentValue) => previousValue.concat(currentValue.options), [] as IMenuOption[]) as IMenuOption[];\n }\n return this._options as IMenuOption[];\n }\n\n private _onTargetClick(evt: MouseEvent): void {\n if (this._open) {\n this._closeDropdown();\n return;\n }\n this.open = !this._open;\n if (this._open) {\n this._adapter.focusTarget();\n }\n }\n\n private _onTargetBlur(evt: Event): void {\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n private _onActiveOptionChanged(id: string): void {\n // We need to dispatch an event when the active descendant changes to propagate that to the proper target element\n const data: IMenuActiveChangeEventData = { id };\n const canSetActiveDescendant = this._adapter.emitHostEvent(MENU_CONSTANTS.events.ACTIVE_CHANGE, data, true, true);\n if (this._mode !== 'cascade' && canSetActiveDescendant) {\n this._adapter.updateActiveDescendant(id);\n }\n }\n\n public onKeydown(evt: KeyboardEvent): void {\n // If we have any child menus open, we need to proxy the keyboard events to those and exit\n if (this._childOpen) {\n this._adapter.proxyKeyboardEventToChild(evt, this._identifier);\n return;\n }\n\n switch (evt.code) {\n case 'Tab':\n if (this._open) {\n this._selectActiveOption();\n }\n break;\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n evt.stopPropagation();\n this._closeDropdown();\n }\n break;\n case 'Space':\n evt.preventDefault();\n\n if (this._open) {\n this._closeDropdown();\n } else {\n this._openDropdown({ fromKeyboard: true });\n }\n break;\n case 'Home':\n case 'End':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateKey(evt.code);\n }\n break;\n case 'Enter':\n evt.preventDefault();\n\n if (!this._open) {\n evt.preventDefault();\n this._openDropdown({ fromKeyboard: true });\n return;\n }\n\n evt.stopImmediatePropagation();\n\n this._adapter.propagateKey(evt.code);\n\n // Check if we need to toggle the child menu open state\n const activeIndex = this._adapter.getActiveOptionIndex();\n const activeOption = this._nonDividerOptions[activeIndex];\n if (activeOption && activeOption.options && activeOption.options.length) {\n this._adapter.toggleChildMenu(activeIndex);\n }\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n\n evt.preventDefault();\n\n if (!this._open && evt.code === 'ArrowDown') {\n this._openDropdown({ fromKeyboard: true });\n this._adapter.activateFirstOption();\n return;\n }\n\n this._adapter.propagateKey(evt.code);\n break;\n case 'ArrowLeft':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (this._mode === 'cascade' && this._open) {\n this._closeDropdown();\n }\n break;\n case 'ArrowRight':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (!this._open) {\n return;\n }\n const hoveredIndex = this._adapter.getActiveOptionIndex();\n const hoveredOption = this._nonDividerOptions[hoveredIndex];\n if (hoveredOption && hoveredOption.options) {\n this._adapter.toggleChildMenu(hoveredIndex, evt.code === 'ArrowRight');\n return;\n }\n break;\n }\n }\n\n private async _openMenu({ fromKeyboard }: { fromKeyboard?: boolean } = {}): Promise<void> {\n this._open = true;\n let options: IMenuOption[] = [];\n\n if (typeof this._optionsFactory === 'function') {\n this._loadOptionsAsync();\n this._options = [];\n } else {\n if (!this._options || !this._options.length) {\n return;\n }\n options = this._options as IMenuOption[];\n }\n\n if (!this._persistSelection) {\n options.forEach(o => o.selected = false);\n }\n\n this._mapIconToLeadingIcon();\n\n const selectedValues = this._persistSelection ? this._getSelectedValues() : [];\n\n const config: IListDropdownConfig = {\n id: this._identifier,\n type: ListDropdownType.Menu,\n options: this._options,\n selectedValues,\n iconClass: this._iconClass,\n dense: this._dense,\n multiple: false,\n popupStatic: true,\n allowBusy: true,\n asyncStyle: ListDropdownAsyncStyle.Spinner,\n optionBuilder: this._optionBuilder,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n popupPlacement: this._placement,\n popupFallbackPlacements: this._fallbackPlacements,\n activeStartIndex: fromKeyboard ? 0 : undefined,\n popupClasses: [\n MENU_CONSTANTS.classes.POPUP,\n MENU_CONSTANTS.classes.MENU,\n ...this._popupClasses as string[]\n ],\n syncWidth: this._syncPopupWidth,\n activeChangeCallback: this._activeChangeListener,\n selectCallback: this._selectListener,\n popupOffset: this._popupOffset,\n cascadingElementFactory: params => this._createCascadingElement(params)\n };\n\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.OPEN, '');\n this._adapter.attachMenu(config);\n\n // If this menu is in a hover mode, we need to listen for mouse enter/leave events to know when the user is hovering over the popup\n if (this._mode === 'cascade') {\n this._adapter.addDropdownListener('mouseenter', this._childPopupMouseEnterListener);\n this._adapter.addDropdownListener('mouseleave', this._childPopupMouseLeaveListener);\n }\n \n this._adapter.addDropdownListener(MENU_CONSTANTS.events.ACTIVE_CHANGE, (evt: CustomEvent<IMenuActiveChangeEventData>) => {\n this._onActiveOptionChanged(evt.detail.id);\n });\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.OPEN);\n }\n\n private _closeMenu(): void {\n this._open = false;\n this._childOpen = false;\n this._adapter.detachMenu();\n\n if (this._activeMouseLeaveTimeout !== undefined) {\n window.clearTimeout(this._activeMouseLeaveTimeout);\n }\n\n this._adapter.removeHostAttribute(MENU_CONSTANTS.attributes.OPEN);\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.CLOSE);\n }\n\n private _loadOptionsAsync(): Promise<void> {\n if (!this._optionsFactory) {\n if (this._open) {\n this._closeMenu();\n }\n return Promise.resolve();\n }\n\n return Promise.resolve(this._optionsFactory())\n .then(results => {\n if (!this._persistSelection) {\n results.forEach(o => o.selected = false);\n }\n\n if (this._open) {\n if (results && isArray(results) && results.length) {\n this._options = results;\n this._adapter.setOptions(results);\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n } else if (this._open) {\n this._closeDropdown();\n }\n }\n })\n .catch(e => {\n console.error('An unexpected error ocurred while opening the menu:', e);\n if (this._open) {\n this._closeDropdown();\n }\n });\n }\n\n private _handleSelectEvent(value: any): void {\n const index = this._nonDividerOptions.findIndex(o => o.value === value);\n if (index < 0) {\n return;\n }\n this._selectOptionByIndex(index);\n }\n\n private _selectActiveOption(): void {\n const index = this._adapter.getActiveOptionIndex();\n if (index >= 0 && this._nonDividerOptions[index]) {\n this._selectOptionByIndex(index);\n }\n }\n\n private _selectOptionByIndex(index: number): void {\n const { options, value } = this._nonDividerOptions[index];\n\n // We ignore selections if the option has child options\n if (options) {\n this._adapter.setActiveOption(index);\n return;\n }\n\n this._closeDropdown();\n \n const data: IMenuSelectEventData = { index, value };\n const isCancelled = !this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data, true, true);\n if (!isCancelled) {\n this._selectedValue = this._persistSelection ? value : undefined;\n }\n }\n\n private _getSelectedValues(): any[] {\n const values = this._flatOptions.filter(o => o.selected).map(o => o.value);\n if (this._selectedValue !== undefined) {\n values.push(this._selectedValue);\n }\n return values;\n }\n\n /** Called when a child menu option is selected. */\n protected _onCascadingOptionSelected(data: IMenuSelectEventData): void {\n if (this._persistSelection) {\n this._selectedValue = data.value;\n }\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data);\n this._closeDropdown();\n }\n\n /** Called when a child menu is opened off of one of our menu options. */\n protected _onCascadingChildOpen(index: number): void {\n super._clearMouseLeaveTimeout();\n this._adapter.closeOtherChildMenus(index);\n this._childOpen = true;\n this._adapter.setActiveOption(index);\n }\n\n /** Called when a child menu is closed off of one of our menu options. */\n protected _onCascadingChildClose(index: number): void {\n this._childOpen = false;\n }\n\n protected _closeDropdown(): void {\n this._closeMenu();\n }\n\n protected _openDropdown({ fromKeyboard }: { fromKeyboard?: boolean } = {}): void {\n this._openMenu({ fromKeyboard });\n }\n\n protected _setCascadeTargetInactive(): void {\n this._adapter.setCascadeTargetInactive();\n }\n\n protected _isOwnElement(element: Element): boolean {\n return this._adapter.isOwnElement(element);\n }\n\n private _createCascadingElement({ index, options, parentValue }: IListDropdownCascadingElementFactoryConfig): HTMLElement {\n const menu = this._adapter.createChildMenu(\n index,\n parentValue,\n this._onCascadingChildOpen.bind(this),\n this._onCascadingChildClose.bind(this),\n this._onCascadingOptionSelected.bind(this)\n );\n menu.mode = 'cascade';\n menu.popupOffset = { x: 0, y: -8 };\n menu.dense = this._dense;\n menu.placement = 'right-start';\n menu.fallbackPlacements = ['left-start', 'right-start']; // Cascading menus should only fallback to left or right placement if needed\n menu.persistSelection = this._persistSelection;\n if (this._persistSelection) {\n menu.selectedValue = this._selectedValue;\n }\n menu.options = options;\n menu.optionBuilder = this._optionBuilder;\n menu.iconClass = this._iconClass;\n\n return menu;\n }\n\n private _mapIconToLeadingIcon(): void {\n // For backwards compatibility with old API, map the old \"icon\" property to the new \"leadingIcon\" property (if exists)\n this._flatOptions.filter(o => o.icon).forEach(o => o.leadingIcon = o.icon);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n value = Boolean(value);\n if (this._open !== value) {\n this._open = value;\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public set options(options: IMenuOption[]) {\n if (typeof options === 'function') {\n this.optionsFactory = options;\n } else {\n this.optionsFactory = undefined;\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone\n // function to the core library.\n this._options = options.map(o => ({ ...o }));\n \n if (this._open) {\n this._mapIconToLeadingIcon();\n this._adapter.setOptions(this._options as IMenuOption[]);\n if (this._persistSelection) {\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n }\n }\n }\n }\n public get options(): IMenuOption[] {\n if (!this._options) {\n return [];\n }\n\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone\n // function to the core library.\n return this._flatOptions.map(o => ({ ...o }));\n }\n\n public set optionsFactory(factory: MenuOptionFactory | undefined) {\n this._optionsFactory = factory;\n }\n\n public set selectedIndex(value: number) {\n const option = this._nonDividerOptions[value];\n if (option && option.value !== this._selectedValue) {\n this.selectedValue = option.value;\n }\n }\n public get selectedIndex(): number {\n return this._selectedValue !== undefined ? this._nonDividerOptions.findIndex(o => o.value === this._selectedValue) : -1;\n }\n\n public set selectedValue(value: any) {\n if (this._selectedValue !== value) {\n this._selectedValue = value;\n this._adapter.setSelectedValues(this._selectedValue);\n }\n }\n public get selectedValue(): any {\n return this._selectedValue;\n }\n\n public get placement(): PopupPlacement {\n return this._placement;\n }\n public set placement(value: PopupPlacement) {\n if (this._placement !== value) {\n this._placement = value || 'bottom-start';\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.PLACEMENT, this._placement);\n }\n }\n\n public get fallbackPlacements(): PopupPlacement[] {\n return this._fallbackPlacements;\n }\n public set fallbackPlacements(value: PopupPlacement[]) {\n this._fallbackPlacements = Array.isArray(value) ? value : [];\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n this._dense = value;\n }\n\n public get iconClass(): string {\n return this._iconClass;\n }\n public set iconClass(value: string) {\n this._iconClass = value;\n }\n\n public get persistSelection(): boolean {\n return this._persistSelection;\n }\n public set persistSelection(value: boolean) {\n if (this._persistSelection === value) {\n return;\n }\n\n this._persistSelection = value;\n this._adapter.toggleHostAttribute(MENU_CONSTANTS.attributes.PERSIST_SELECTION, this._persistSelection);\n\n if (!this._persistSelection) {\n this._flatOptions.forEach(o => o.selected = false);\n this._selectedValue = undefined;\n }\n }\n\n public get mode(): MenuMode {\n return this._mode;\n }\n public set mode(value: MenuMode) {\n if (this._mode !== value) {\n this._mode = value;\n this._destroyInteractionListeners();\n this._applyMode();\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.MODE, this._mode);\n }\n }\n\n public get popupOffset(): IPopupPosition {\n return this._popupOffset;\n }\n public set popupOffset(value: IPopupPosition) {\n this._popupOffset = value;\n }\n\n public get optionBuilder(): MenuOptionBuilder | undefined {\n return this._optionBuilder;\n }\n public set optionBuilder(cb: MenuOptionBuilder | undefined) {\n this._optionBuilder = cb;\n }\n\n public get popupElement(): HTMLElement | null {\n return this._adapter.getDropdownElement();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChild, FoundationProperty, isDefined } from '@tylertech/forge-core';\nimport { tylIconArrowRight } from '@tylertech/tyler-icons/standard';\nimport { CircularProgressComponent } from '../circular-progress';\nimport { IconRegistry } from '../icon';\nimport { LinearProgressComponent } from '../linear-progress';\nimport { ListComponent } from '../list';\nimport { IListDropdownAware, ListDropdownAware } from '../list-dropdown/list-dropdown-aware';\nimport { IPopupPosition, PopupComponent, PopupPlacement } from '../popup';\nimport { MenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOption, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\nimport { MenuFoundation } from './menu-foundation';\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:inline-block}:host([hidden]){display:none}';\n\nexport interface IMenuComponent extends IListDropdownAware {\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n selectedIndex: number;\n selectedValue: number;\n placement: PopupPlacement;\n fallbackPlacements: PopupPlacement[];\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n popupElement: HTMLElement | undefined;\n propagateKeyEvent(evt: KeyboardEvent): void;\n activateFirstOption(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-menu': IMenuComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-menu-select': CustomEvent<IMenuSelectEventData>;\n 'forge-menu-open': CustomEvent<void>;\n 'forge-menu-close': CustomEvent<void>;\n 'forge-menu-active-change': CustomEvent<IMenuActiveChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-menu>` custom element.\n * \n * @tag forge-menu\n */\n@CustomElement({\n name: MENU_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ListComponent,\n CircularProgressComponent,\n LinearProgressComponent\n ]\n})\nexport class MenuComponent extends ListDropdownAware implements IMenuComponent {\n public static get observedAttributes(): string[] {\n return [\n MENU_CONSTANTS.attributes.OPEN,\n MENU_CONSTANTS.attributes.PLACEMENT,\n MENU_CONSTANTS.attributes.SELECTED_INDEX,\n MENU_CONSTANTS.attributes.SELECTED_VALUE,\n MENU_CONSTANTS.attributes.DENSE,\n MENU_CONSTANTS.attributes.ICON_CLASS,\n MENU_CONSTANTS.attributes.PERSIST_SELECTION,\n MENU_CONSTANTS.attributes.MODE,\n MENU_CONSTANTS.attributes.SYNC_POPUP_WIDTH,\n MENU_CONSTANTS.attributes.POPUP_CLASSES,\n MENU_CONSTANTS.attributes.OPTION_LIMIT,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD\n ];\n }\n\n private _foundation: MenuFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconArrowRight);\n this._foundation = new MenuFoundation(new MenuAdapter(this));\n attachShadowTemplate(this, template, styles);\n }\n\n public connectedCallback(): void {\n if (this.querySelector(MENU_CONSTANTS.selectors.TOGGLE)) {\n this._foundation.initialize();\n } else {\n ensureChild(this, MENU_CONSTANTS.selectors.TOGGLE).then(() => this._foundation.initialize());\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case MENU_CONSTANTS.attributes.OPEN:\n this._foundation.open = isDefined(newValue);\n break;\n case MENU_CONSTANTS.attributes.PLACEMENT:\n this._foundation.placement = newValue as PopupPlacement;\n break;\n case MENU_CONSTANTS.attributes.SELECTED_INDEX:\n this._foundation.selectedIndex = Number(newValue);\n break;\n case MENU_CONSTANTS.attributes.SELECTED_VALUE:\n this._foundation.selectedValue = newValue;\n break;\n case MENU_CONSTANTS.attributes.DENSE:\n this._foundation.dense = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.ICON_CLASS:\n this._foundation.iconClass = newValue;\n break;\n case MENU_CONSTANTS.attributes.PERSIST_SELECTION:\n this.persistSelection = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.MODE:\n this.mode = newValue as MenuMode;\n break;\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n /** Gets/sets the open state. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Gets/sets the array of options to display in the menu. */\n @FoundationProperty()\n public declare options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n\n /** Gets/sets the selected option to the index. Does not support cascading menus. */\n @FoundationProperty()\n public declare selectedIndex: number;\n\n /** Gets/sets the value of the option to select. */\n @FoundationProperty()\n public declare selectedValue: any;\n\n /** Gets/sets the menu placement (default is bottom-left). */\n @FoundationProperty()\n public declare placement: `${PopupPlacement}`;\n\n /** Gets/sets the fallback menu placement for overriding the default of any side. */\n @FoundationProperty()\n public declare fallbackPlacements: `${PopupPlacement}`[];\n\n /** Gets/sets dense state of the list options used in the menu popup. */\n @FoundationProperty()\n public declare dense: boolean;\n\n /** Gets/sets the class name to use for option icons. */\n @FoundationProperty()\n public declare iconClass: string;\n\n /**\n * Gets/sets whether selection of menu items is persisted.\n * @deprecated Please use `<forge-select-dropdown>` for handling selection states.\n */\n @FoundationProperty()\n public declare persistSelection: boolean;\n\n /** Gets/sets the mode that this menu is using. */\n @FoundationProperty()\n public declare mode: MenuMode;\n\n /** Sets the position adjustment on the internal popup element. */\n @FoundationProperty()\n public declare popupOffset: IPopupPosition;\n\n /** Sets the callback that will be executed for each option in the dropdown for producing custom option templates. */\n @FoundationProperty()\n public declare optionBuilder: MenuOptionBuilder;\n\n /** Gets the currently active popup element when the dropdown is open. */\n @FoundationProperty({ set: false })\n public declare popupElement: HTMLElement | undefined;\n\n /** Force propagates the key event from another element this component. */\n public propagateKeyEvent(evt: KeyboardEvent): void {\n this._foundation.onKeydown(evt);\n }\n\n public activateFirstOption(): void {\n this._foundation.activateFirstOption();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { MenuComponent } from './menu';\n\nexport * from './menu-adapter';\nexport * from './menu-constants';\nexport * from './menu-foundation';\nexport * from './menu';\n\nexport function defineMenuComponent(): void {\n defineCustomElement(MenuComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{b,c as L}from"./chunk.N6QJ2RRG.js";import{b as z}from"./chunk.NXS7A7PO.js";import{a as C}from"./chunk.B3IJU6XJ.js";import{a as I,b as x}from"./chunk.OOW3UKT4.js";import{a as E,e as w,g as m,l as R}from"./chunk.MMVZJLXE.js";import{f as v,g as y,s as k}from"./chunk.R4NDFXVA.js";import{k as _}from"./chunk.G76HB2FK.js";import{a as g,b as h,f as p}from"./chunk.MCIQXNKY.js";var D=`${x}radio`,A={RADIO:"mdc-radio",RADIO_DENSE:"forge-radio--dense",DISABLED:"mdc-radio--disabled",WRAPPER_DISABLED:"forge-radio-wrapper--disabled",CHECKED:"forge-radio--checked",FOCUSED:"forge-radio--focused",ENABLED:"forge-radio--enabled"},S={WRAPPER:".forge-radio-wrapper",RADIO:".mdc-radio",RADIO_INPUT:'input[type="radio"]',LABEL:"label"},O={DENSE:"dense",ROLE:"role",RADIOGROUP_ROLE:"radiogroup",SLOT:"slot"},N=["checked","disabled"],i={elementName:D,classes:A,selectors:S,attributes:O,inputProperties:N};var d=class{constructor(e){this._adapter=e;this._dense=!1}connect(){this._adapter.connect(),this._adapter.deferRippleInitialization(),this._focusListenerCallback=()=>this._adapter.syncFocusedStateWithInput(),this._disabledListenerCallback=()=>this._adapter.syncDisabledStateWithInput(),this._syncRadiogroupCheckStyles=()=>this._adapter.syncRadiogroupCheckStyles(),this._addFocusEventListeners(),this._addInputDisabledListener(),this._extendNativeInputSetter(),this._addRadioChangeListener(),this._adapter.syncCheckedStateWithInput(),this._adapter.syncDisabledStateWithInput(),this._adapter.syncFocusedStateWithInput(),this._applyDense(),this.syncCheckedState()}disconnect(){this._removeFocusEventListeners(),this._removeInputDisabledListener(),this._adapter.revertNativeInputSetter(),this._removeRadioChangeListener(),this._adapter.destroyRipple()}syncCheckedState(){this._adapter.syncCheckedStateWithInput()}_applyDense(){this._dense?(this._adapter.addRootClass(i.classes.RADIO_DENSE),this._adapter.setHostAttribute(i.attributes.DENSE)):(this._adapter.removeRootClass(i.classes.RADIO_DENSE),this._adapter.removeHostAttribute(i.attributes.DENSE))}_extendNativeInputSetter(){this._adapter.extendNativeInputSetter(this._syncRadiogroupCheckStyles)}_addRadioChangeListener(){this._adapter.addInputEventListener("change",this._syncRadiogroupCheckStyles)}_removeRadioChangeListener(){this._adapter.removeInputEventListener("change",this._syncRadiogroupCheckStyles)}_addFocusEventListeners(){this._adapter.addInputEventListener("focus",this._focusListenerCallback),this._adapter.addInputEventListener("blur",this._focusListenerCallback)}_removeFocusEventListeners(){this._adapter.removeInputEventListener("focus",this._focusListenerCallback),this._adapter.removeInputEventListener("blur",this._focusListenerCallback)}_addInputDisabledListener(){this._adapter.addInputDisabledAttributeChangeListener(this._disabledListenerCallback)}_removeInputDisabledListener(){this._adapter.removeInputDisabledAttributeChangeListener()}get dense(){return this._dense}set dense(e){this._dense!==e&&(this._dense=e,this._applyDense())}};var c=class{constructor(e){this._component=e;this._rootElement=m(this._component,i.selectors.RADIO),this._containerElement=m(this._component,i.selectors.WRAPPER)}get root(){return this._rootElement}get unbounded(){return!0}get disabled(){return this._isDisabled()}connect(){let e=this._component.querySelector(i.selectors.LABEL);e&&e.setAttribute(i.attributes.SLOT,i.selectors.LABEL)}async deferRippleInitialization(){let e=await z(this._rootElement);this._rippleInstance||(this._rippleInstance=this._createRipple(),e==="focusin"&&this._rippleInstance.handleFocus())}destroyRipple(){var e;(e=this._rippleInstance)==null||e.destroy(),this._rippleInstance=void 0}setHostAttribute(e,t=""){this._component.setAttribute(e,t)}removeHostAttribute(e){this._component.removeAttribute(e)}addRootClass(e){this._rootElement.classList.add(e)}removeRootClass(e){this._rootElement.classList.remove(e)}addContainerClass(e){this._containerElement.classList.add(e)}removeContainerClass(e){this._containerElement.classList.remove(e)}syncDisabledStateWithInput(){this.inputDisabled?(this.addRootClass(i.classes.DISABLED),this.removeRootClass(i.classes.ENABLED),this.addContainerClass(i.classes.WRAPPER_DISABLED)):(this.addRootClass(i.classes.ENABLED),this.removeRootClass(i.classes.DISABLED),this.removeContainerClass(i.classes.WRAPPER_DISABLED))}syncFocusedStateWithInput(){k()===this._inputElement?this.addRootClass(i.classes.FOCUSED):this.removeRootClass(i.classes.FOCUSED)}syncCheckedStateWithInput(){this.inputChecked?this.addRootClass(i.classes.CHECKED):this.removeRootClass(i.classes.CHECKED)}addInputEventListener(e,t){!this._inputElement||this._inputElement.addEventListener(e,t)}removeInputEventListener(e,t){!this._inputElement||this._inputElement.removeEventListener(e,t)}addInputDisabledAttributeChangeListener(e){this._setupInputDisabledAttributeMutationObserver(e)}removeInputDisabledAttributeChangeListener(){this._cleanupInputDisabledAttributeMutationObserver()}getRadiosFromContainingRadiogroup(){let e=this._getContainingRadioGroup(this._component);return e==null?null:e.querySelectorAll(i.elementName)}syncRadiogroupCheckStyles(){let e=this.getRadiosFromContainingRadiogroup();e&&e.forEach(t=>t.syncCheckedState())}extendNativeInputSetter(e){if(!this._inputElement)return;let t=this._inputElement,r=Object.getPrototypeOf(t);i.inputProperties.forEach(o=>{let a=Object.getOwnPropertyDescriptor(r,o);if(!!this._validPropertyDescriptor(a)&&a){let f={configurable:a.configurable,enumerable:a.enumerable,get:a.get,set:l=>{var s;(s=a.set)==null||s.call(t,l),e()}};Object.defineProperty(t,o,f)}})}revertNativeInputSetter(){if(!this._inputElement)return;let e=this._inputElement,t=Object.getPrototypeOf(e);i.inputProperties.forEach(r=>{let o=Object.getOwnPropertyDescriptor(t,r);!this._validPropertyDescriptor(o)||Object.defineProperty(e,r,o)})}_validPropertyDescriptor(e){return!!e&&typeof e.set=="function"}_getContainingRadioGroup(e){if(!e||!e.parentElement)throw new Error('Unable to locate ancestor element with role="radiogroup". When using radios, a parent with this attribute must be applied.');let t=e.parentElement,r=t.getAttribute(i.attributes.ROLE);return!!r&&r.toLocaleLowerCase()===i.attributes.RADIOGROUP_ROLE.toLocaleLowerCase()?t:this._getContainingRadioGroup(t)}_setupInputDisabledAttributeMutationObserver(e){if(!this._inputElement)return;this._cleanupInputDisabledAttributeMutationObserver();let t=o=>this._inputDisabledAttributeMutationCallback(o,e);this._inputAttributeMutationObserver=new MutationObserver(t);let r={attributes:!0,attributeOldValue:!0,attributeFilter:["disabled"]};this._inputAttributeMutationObserver.observe(this._inputElement,r)}_cleanupInputDisabledAttributeMutationObserver(){this._inputAttributeMutationObserver&&(this._inputAttributeMutationObserver.disconnect(),delete this._inputAttributeMutationObserver)}_inputDisabledAttributeMutationCallback(e,t){for(let r of e)r.type!=="attributes"||!r.attributeName||r.attributeName!=="disabled"||r.target[r.attributeName]===r.oldValue||t()}get inputDisabled(){return this._inputElement?this._inputElement.disabled:!1}get inputChecked(){return this._inputElement?this._inputElement.checked:!1}get _inputElement(){return this._nativeInputElement||(this._nativeInputElement=this._component.querySelector(i.selectors.RADIO_INPUT)),this._nativeInputElement}_isDisabled(){return this._inputElement?this._inputElement.disabled:!1}_createRipple(){let e=h(g({},b.createAdapter(this)),{deregisterInteractionHandler:(t,r)=>{this._inputElement&&this._inputElement.removeEventListener(t,r,{passive:!0})},isSurfaceActive:()=>this._inputElement?this._inputElement.matches(":active"):!1,isUnbounded:()=>Boolean(this.unbounded),registerInteractionHandler:(t,r)=>{this._inputElement&&this._inputElement.addEventListener(t,r,{passive:!0})},isSurfaceDisabled:()=>this._inputElement?this._inputElement.disabled:!1,addClass:t=>v(t,this._rootElement),removeClass:t=>y(t,this._rootElement),updateCssVariable:(t,r)=>this._rootElement.style.setProperty(t,r)});return new b(this._rootElement,new L(e))}};var P='<template><div class="forge-radio-wrapper forge-form-field" part="root"><div class="mdc-radio" part="container"><slot></slot><div class="mdc-radio__background" part="background"><div class="mdc-radio__outer-circle" part="outer-circle"></div><div class="mdc-radio__inner-circle" part="inner-circle"></div></div><div class="mdc-radio__ripple" part="ripple-container"></div></div><slot name="label"></slot></div></template>',M='.mdc-radio{padding:10px;display:inline-block;position:relative;-webkit-box-flex:0;flex:0 0 auto;-webkit-box-sizing:content-box;box-sizing:content-box;width:20px;height:20px;cursor:pointer;will-change:opacity,transform,border-color,color}.mdc-radio.forge-radio--enabled .mdc-radio__background .mdc-radio__outer-circle{border-color:rgba(0,0,0,.54);border-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.mdc-radio.forge-radio--enabled.forge-radio--checked .mdc-radio__background .mdc-radio__outer-circle{border-color:#3d5afe;border-color:var(--forge-theme-tertiary,#3d5afe)}.mdc-radio.forge-radio--enabled .mdc-radio__background .mdc-radio__inner-circle{border-color:#3d5afe;border-color:var(--forge-theme-tertiary,#3d5afe)}.mdc-radio.mdc-radio--disabled .mdc-radio__background .mdc-radio__outer-circle{border-color:rgba(0,0,0,.26);border-color:var(--forge-theme-form-field-icon-disabled-on-background,rgba(0,0,0,.26))}.mdc-radio.mdc-radio--disabled.forge-radio--checked .mdc-radio__background .mdc-radio__outer-circle{border-color:rgba(0,0,0,.26);border-color:var(--forge-theme-form-field-icon-disabled-on-background,rgba(0,0,0,.26))}.mdc-radio.mdc-radio--disabled .mdc-radio__background .mdc-radio__inner-circle{border-color:rgba(0,0,0,.26);border-color:var(--forge-theme-form-field-icon-disabled-on-background,rgba(0,0,0,.26))}.mdc-radio .mdc-radio__background::before{background-color:#3d5afe;background-color:var(--forge-theme-tertiary,#3d5afe)}.mdc-radio .mdc-radio__background::before{top:-10px;left:-10px;width:40px;height:40px}.mdc-radio .mdc-radio__native-control{top:0;right:0;left:0;width:40px;height:40px}@media screen and (forced-colors:active),(-ms-high-contrast:active){.mdc-radio.mdc-radio--disabled .mdc-radio__background .mdc-radio__outer-circle{border-color:GrayText}.mdc-radio.mdc-radio--disabled.forge-radio--checked .mdc-radio__background .mdc-radio__outer-circle{border-color:GrayText}.mdc-radio.mdc-radio--disabled .mdc-radio__background .mdc-radio__inner-circle{border-color:GrayText}}.mdc-radio__background{display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:20px;height:20px}.mdc-radio__background::before{position:absolute;-webkit-transform:scale(0,0);transform:scale(0,0);border-radius:50%;opacity:0;pointer-events:none;content:"";-webkit-transition:opacity 120ms 0s cubic-bezier(.4, 0, .6, 1),-webkit-transform 120ms 0s cubic-bezier(.4, 0, .6, 1);transition:opacity 120ms 0s cubic-bezier(.4, 0, .6, 1),-webkit-transform 120ms 0s cubic-bezier(.4, 0, .6, 1);transition:opacity 120ms 0s cubic-bezier(.4, 0, .6, 1),transform 120ms 0s cubic-bezier(.4, 0, .6, 1);transition:opacity 120ms 0s cubic-bezier(.4, 0, .6, 1),transform 120ms 0s cubic-bezier(.4, 0, .6, 1),-webkit-transform 120ms 0s cubic-bezier(.4, 0, .6, 1)}.mdc-radio__outer-circle{position:absolute;top:0;left:0;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;border-width:2px;border-style:solid;border-radius:50%;-webkit-transition:border-color 120ms 0s cubic-bezier(.4, 0, .6, 1);transition:border-color 120ms 0s cubic-bezier(.4, 0, .6, 1)}.mdc-radio__inner-circle{position:absolute;top:0;left:0;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;-webkit-transform:scale(0,0);transform:scale(0,0);border-width:10px;border-style:solid;border-radius:50%;-webkit-transition:border-color 120ms 0s cubic-bezier(.4, 0, .6, 1),-webkit-transform 120ms 0s cubic-bezier(.4, 0, .6, 1);transition:border-color 120ms 0s cubic-bezier(.4, 0, .6, 1),-webkit-transform 120ms 0s cubic-bezier(.4, 0, .6, 1);transition:transform 120ms 0s cubic-bezier(.4, 0, .6, 1),border-color 120ms 0s cubic-bezier(.4, 0, .6, 1);transition:transform 120ms 0s cubic-bezier(.4, 0, .6, 1),border-color 120ms 0s cubic-bezier(.4, 0, .6, 1),-webkit-transform 120ms 0s cubic-bezier(.4, 0, .6, 1)}.mdc-radio ::slotted(input[type=radio]){position:absolute;margin:0;padding:0;opacity:0;cursor:inherit;z-index:1;top:0;right:0;left:0;width:40px;height:40px}.mdc-radio.forge-radio--dense{padding:4px;margin:0}.mdc-radio.forge-radio--dense .mdc-radio__background::before{top:-4px;left:-4px;width:28px;height:28px}.mdc-radio.forge-radio--dense .mdc-radio__native-control{top:0;right:0;left:0;width:28px;height:28px}.mdc-radio.forge-radio--dense ::slotted(input[type=radio]){width:28px;height:28px}.mdc-radio--disabled+::slotted(label){color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-radio--checked .mdc-radio__background,.mdc-radio--disabled .mdc-radio__background{-webkit-transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),transform 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1)}.forge-radio--checked .mdc-radio__background .mdc-radio__outer-circle,.mdc-radio--disabled .mdc-radio__background .mdc-radio__outer-circle{-webkit-transition:border-color 120ms 0s cubic-bezier(0, 0, .2, 1);transition:border-color 120ms 0s cubic-bezier(0, 0, .2, 1)}.forge-radio--checked .mdc-radio__background .mdc-radio__inner-circle,.mdc-radio--disabled .mdc-radio__background .mdc-radio__inner-circle{-webkit-transition:border-color 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:border-color 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 120ms 0s cubic-bezier(0, 0, .2, 1),border-color 120ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 120ms 0s cubic-bezier(0, 0, .2, 1),border-color 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1)}.mdc-radio--disabled{cursor:default;pointer-events:none}.forge-radio--checked .mdc-radio__background .mdc-radio__inner-circle{-webkit-transform:scale(.5);transform:scale(.5);-webkit-transition:border-color 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:border-color 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 120ms 0s cubic-bezier(0, 0, .2, 1),border-color 120ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 120ms 0s cubic-bezier(0, 0, .2, 1),border-color 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1)}.mdc-radio--disabled .mdc-radio__background{cursor:default}.forge-radio--focused .mdc-radio__background::before{-webkit-transform:scale(1);transform:scale(1);opacity:.12;-webkit-transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),transform 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1)}@-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-radio{--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}.mdc-radio .mdc-radio__ripple::after,.mdc-radio .mdc-radio__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-radio .mdc-radio__ripple::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-radio .mdc-radio__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-radio.mdc-ripple-upgraded--unbounded .mdc-radio__ripple::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-radio.mdc-ripple-upgraded--foreground-activation .mdc-radio__ripple::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-radio.mdc-ripple-upgraded--foreground-deactivation .mdc-radio__ripple::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-radio .mdc-radio__ripple::after,.mdc-radio .mdc-radio__ripple::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::after,.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::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-radio.mdc-ripple-upgraded .mdc-radio__ripple::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-radio .mdc-radio__ripple::after,.mdc-radio .mdc-radio__ripple::before{background-color:#3d5afe;background-color:var(--forge-theme-tertiary,#3d5afe)}.mdc-radio.mdc-ripple-surface--hover .mdc-radio__ripple::before,.mdc-radio:hover .mdc-radio__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-radio.mdc-ripple-upgraded--background-focused .mdc-radio__ripple::before,.mdc-radio:not(.mdc-ripple-upgraded):focus .mdc-radio__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-radio:not(.mdc-ripple-upgraded) .mdc-radio__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-radio:not(.mdc-ripple-upgraded):active .mdc-radio__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-radio.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-radio.mdc-ripple-upgraded .mdc-radio__background::before,.mdc-radio.mdc-ripple-upgraded--background-focused .mdc-radio__background::before{content:none}.mdc-radio__ripple{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.forge-radio-wrapper--disabled{cursor:not-allowed}.forge-radio-wrapper--disabled ::slotted(label){cursor:not-allowed}.forge-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;vertical-align:middle}.forge-form-field ::slotted([slot=label]){-webkit-box-ordinal-group:1;order:0;margin-right:auto;padding-left:4px}.forge-form-field forge-switch~::slotted([slot=label]){padding-left:8px}.forge-form-field--align-end ::slotted([slot=label]){-webkit-box-ordinal-group:0;order:-1;margin-left:auto;padding-right:4px}:host{display:inline-block}:host([hidden]){display:none}',n=class extends R{constructor(){super();w(this,P,M),this._foundation=new d(new c(this))}static get observedAttributes(){return[i.attributes.DENSE]}connectedCallback(){this._ensureRadioInputElement().then(()=>this._foundation.connect())}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,r,o){switch(t){case i.attributes.DENSE:this.dense=_(o);break}}_ensureRadioInputElement(){return new Promise(t=>{if(this.querySelector(i.selectors.RADIO_INPUT)){t();return}let o=new MutationObserver(a=>{a.reduce((l,s)=>l+s.addedNodes.length,0)>0&&this.querySelector(i.selectors.RADIO_INPUT)&&(o.disconnect(),t())});o.observe(this,{childList:!0,subtree:!0})})}syncCheckedState(){this._foundation.syncCheckedState()}};p([C()],n.prototype,"dense",2),n=p([I({name:i.elementName})],n);function re(){E(n)}export{i as a,n as b,re as c};
7
+ //# sourceMappingURL=chunk.PBL2N45I.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/radio/radio-constants.ts", "../../src/radio/radio-foundation.ts", "../../src/radio/radio-adapter.ts", "../../src/radio/radio.ts", "../../src/radio/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}radio`;\n\nconst classes = {\n RADIO: 'mdc-radio',\n RADIO_DENSE: 'forge-radio--dense',\n DISABLED: 'mdc-radio--disabled',\n WRAPPER_DISABLED: 'forge-radio-wrapper--disabled',\n CHECKED: 'forge-radio--checked',\n FOCUSED: 'forge-radio--focused',\n ENABLED: 'forge-radio--enabled'\n};\n\nconst selectors = {\n WRAPPER: '.forge-radio-wrapper',\n RADIO: '.mdc-radio',\n RADIO_INPUT: 'input[type=\"radio\"]',\n LABEL: 'label'\n};\n\nconst attributes = {\n DENSE: 'dense',\n ROLE: 'role',\n RADIOGROUP_ROLE: 'radiogroup',\n SLOT: 'slot'\n};\n\nconst inputProperties = ['checked', 'disabled'];\n\nexport const RADIO_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n inputProperties\n};\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IRadioAdapter } from './radio-adapter';\nimport { RADIO_CONSTANTS } from './radio-constants';\n\nexport interface IRadioFoundation extends ICustomElementFoundation {\n dense: boolean;\n}\n\nexport class RadioFoundation implements IRadioFoundation {\n private _dense = false;\n private _focusListenerCallback: () => void;\n private _disabledListenerCallback: () => void;\n private _syncRadiogroupCheckStyles: () => void;\n\n constructor(private _adapter: IRadioAdapter) {}\n\n public connect(): void {\n this._adapter.connect();\n this._adapter.deferRippleInitialization();\n this._focusListenerCallback = () => this._adapter.syncFocusedStateWithInput();\n this._disabledListenerCallback = () => this._adapter.syncDisabledStateWithInput();\n this._syncRadiogroupCheckStyles = () => this._adapter.syncRadiogroupCheckStyles();\n this._addFocusEventListeners();\n this._addInputDisabledListener();\n this._extendNativeInputSetter();\n this._addRadioChangeListener();\n this._adapter.syncCheckedStateWithInput();\n this._adapter.syncDisabledStateWithInput();\n this._adapter.syncFocusedStateWithInput();\n this._applyDense();\n this.syncCheckedState();\n }\n\n public disconnect(): void {\n this._removeFocusEventListeners();\n this._removeInputDisabledListener();\n this._adapter.revertNativeInputSetter();\n this._removeRadioChangeListener();\n this._adapter.destroyRipple();\n }\n\n public syncCheckedState(): void {\n this._adapter.syncCheckedStateWithInput();\n }\n\n private _applyDense(): void {\n if (this._dense) {\n this._adapter.addRootClass(RADIO_CONSTANTS.classes.RADIO_DENSE);\n this._adapter.setHostAttribute(RADIO_CONSTANTS.attributes.DENSE);\n } else {\n this._adapter.removeRootClass(RADIO_CONSTANTS.classes.RADIO_DENSE);\n this._adapter.removeHostAttribute(RADIO_CONSTANTS.attributes.DENSE);\n }\n }\n\n private _extendNativeInputSetter(): void {\n this._adapter.extendNativeInputSetter(this._syncRadiogroupCheckStyles);\n }\n\n private _addRadioChangeListener(): void {\n this._adapter.addInputEventListener('change', this._syncRadiogroupCheckStyles);\n }\n\n private _removeRadioChangeListener(): void {\n this._adapter.removeInputEventListener('change', this._syncRadiogroupCheckStyles);\n }\n\n private _addFocusEventListeners(): void {\n this._adapter.addInputEventListener('focus', this._focusListenerCallback);\n this._adapter.addInputEventListener('blur', this._focusListenerCallback);\n }\n\n private _removeFocusEventListeners(): void {\n this._adapter.removeInputEventListener('focus', this._focusListenerCallback);\n this._adapter.removeInputEventListener('blur', this._focusListenerCallback);\n }\n\n private _addInputDisabledListener(): void {\n this._adapter.addInputDisabledAttributeChangeListener(this._disabledListenerCallback);\n }\n\n private _removeInputDisabledListener(): void {\n this._adapter.removeInputDisabledAttributeChangeListener();\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n if (this._dense !== value) {\n this._dense = value;\n this._applyDense();\n }\n }\n}\n", "import { addClass, getShadowElement, removeClass, getActiveElement } from '@tylertech/forge-core';\nimport { IRadioComponent } from './radio';\nimport { RADIO_CONSTANTS } from './radio-constants';\nimport { ForgeRipple, ForgeRippleAdapter, ForgeRippleCapableSurface, ForgeRippleFoundation } from '../ripple';\nimport { userInteractionListener } from '../core/utils';\n\nexport interface IRadioAdapter {\n connect(): void;\n deferRippleInitialization(): Promise<void>;\n destroyRipple(): void;\n setHostAttribute(name: string, value?: string): void;\n removeHostAttribute(name: string): void;\n addRootClass(className: string): void;\n removeRootClass(className: string): void;\n addContainerClass(className: string): void;\n removeContainerClass(className: string): void;\n syncCheckedStateWithInput(): void;\n syncFocusedStateWithInput(): void;\n syncDisabledStateWithInput(): void;\n addInputEventListener(event: string, callback: (event: Event) => void): void;\n removeInputEventListener(event: string, callback: (event: Event) => void): void;\n addInputDisabledAttributeChangeListener(callback: () => void): void;\n removeInputDisabledAttributeChangeListener(): void;\n extendNativeInputSetter(callback: () => void): void;\n revertNativeInputSetter(): void;\n syncRadiogroupCheckStyles(): void;\n}\n\nexport class RadioAdapter implements IRadioAdapter, ForgeRippleCapableSurface {\n private _rootElement: HTMLElement;\n private _containerElement: HTMLElement;\n private _nativeInputElement: HTMLInputElement | null;\n private _inputAttributeMutationObserver?: MutationObserver;\n private _rippleInstance: ForgeRipple | undefined;\n\n constructor(private _component: IRadioComponent) {\n this._rootElement = getShadowElement(this._component, RADIO_CONSTANTS.selectors.RADIO);\n this._containerElement = getShadowElement(this._component, RADIO_CONSTANTS.selectors.WRAPPER);\n }\n\n // ForgeRippleCapableSurface\n public get root(): Element {\n return this._rootElement;\n }\n\n public get unbounded(): boolean | undefined {\n return true;\n }\n\n public get disabled(): boolean | undefined {\n return this._isDisabled();\n }\n\n public connect(): void {\n const labelElement = this._component.querySelector(RADIO_CONSTANTS.selectors.LABEL) as HTMLLabelElement;\n if (labelElement) {\n labelElement.setAttribute(RADIO_CONSTANTS.attributes.SLOT, RADIO_CONSTANTS.selectors.LABEL);\n }\n }\n\n public async deferRippleInitialization(): Promise<void> {\n const type = await userInteractionListener(this._rootElement);\n if (!this._rippleInstance) {\n this._rippleInstance = this._createRipple();\n if (type === 'focusin') {\n this._rippleInstance.handleFocus();\n }\n }\n }\n\n public destroyRipple(): void {\n this._rippleInstance?.destroy();\n this._rippleInstance = undefined;\n }\n\n public setHostAttribute(name: string, value = ''): void {\n this._component.setAttribute(name, value);\n }\n\n public removeHostAttribute(name: string): void {\n this._component.removeAttribute(name);\n }\n\n public addRootClass(className: string): void {\n this._rootElement.classList.add(className);\n }\n\n public removeRootClass(className: string): void {\n this._rootElement.classList.remove(className);\n }\n\n public addContainerClass(className: string): void {\n this._containerElement.classList.add(className);\n }\n\n public removeContainerClass(className: string): void {\n this._containerElement.classList.remove(className);\n }\n\n public syncDisabledStateWithInput(): void {\n if (this.inputDisabled) {\n this.addRootClass(RADIO_CONSTANTS.classes.DISABLED);\n this.removeRootClass(RADIO_CONSTANTS.classes.ENABLED);\n this.addContainerClass(RADIO_CONSTANTS.classes.WRAPPER_DISABLED);\n } else {\n this.addRootClass(RADIO_CONSTANTS.classes.ENABLED);\n this.removeRootClass(RADIO_CONSTANTS.classes.DISABLED);\n this.removeContainerClass(RADIO_CONSTANTS.classes.WRAPPER_DISABLED);\n }\n }\n\n public syncFocusedStateWithInput(): void {\n if (getActiveElement() === this._inputElement) {\n this.addRootClass(RADIO_CONSTANTS.classes.FOCUSED);\n } else {\n this.removeRootClass(RADIO_CONSTANTS.classes.FOCUSED);\n }\n }\n\n public syncCheckedStateWithInput(): void {\n if (this.inputChecked) {\n this.addRootClass(RADIO_CONSTANTS.classes.CHECKED);\n } else {\n this.removeRootClass(RADIO_CONSTANTS.classes.CHECKED);\n }\n }\n\n public addInputEventListener(event: string, callback: (event: Event) => void): void {\n if (!this._inputElement) {\n return;\n }\n\n this._inputElement.addEventListener(event, callback);\n }\n\n public removeInputEventListener(event: string, callback: (event: Event) => void): void {\n if (!this._inputElement) {\n return;\n }\n\n this._inputElement.removeEventListener(event, callback);\n }\n\n public addInputDisabledAttributeChangeListener(callback: () => void): void {\n this._setupInputDisabledAttributeMutationObserver(callback);\n }\n\n public removeInputDisabledAttributeChangeListener(): void {\n this._cleanupInputDisabledAttributeMutationObserver();\n }\n\n // Get the collection of all forge-radios under the containing radiogroup ancestor.\n public getRadiosFromContainingRadiogroup(): NodeListOf<IRadioComponent> | null {\n const radioGroup = this._getContainingRadioGroup(this._component);\n if (radioGroup == null) {\n return null;\n }\n\n return radioGroup.querySelectorAll(RADIO_CONSTANTS.elementName);\n }\n\n public syncRadiogroupCheckStyles(): void {\n const radios = this.getRadiosFromContainingRadiogroup();\n if (radios) {\n radios.forEach(x => x.syncCheckedState());\n }\n }\n\n public extendNativeInputSetter(callback: () => void): void {\n if (!this._inputElement) {\n return;\n }\n\n const nativeInput = this._inputElement;\n const inputProto = Object.getPrototypeOf(nativeInput);\n RADIO_CONSTANTS.inputProperties.forEach(controlState => {\n const desc = Object.getOwnPropertyDescriptor(inputProto, controlState) as PropertyDescriptor;\n // We have to check for this descriptor, since some browsers (Safari) don't support its return.\n // See: https://bugs.webkit.org/show_bug.cgi?id=49739\n if (!this._validPropertyDescriptor(desc)) {\n return;\n }\n\n if (desc) {\n const nativeInputDesc = {\n configurable: desc.configurable,\n enumerable: desc.enumerable,\n get: desc.get,\n set: (state: boolean) => {\n desc.set?.call(nativeInput, state);\n callback();\n }\n };\n Object.defineProperty(nativeInput, controlState, nativeInputDesc);\n }\n });\n }\n\n public revertNativeInputSetter(): void {\n if (!this._inputElement) {\n return;\n }\n\n const nativeInput = this._inputElement;\n const inputProto = Object.getPrototypeOf(nativeInput);\n RADIO_CONSTANTS.inputProperties.forEach(controlState => {\n const desc = Object.getOwnPropertyDescriptor(inputProto, controlState) as PropertyDescriptor;\n // We have to check for this descriptor, since some browsers (Safari) don't support its return.\n // See: https://bugs.webkit.org/show_bug.cgi?id=49739\n if (!this._validPropertyDescriptor(desc)) {\n return;\n }\n Object.defineProperty(nativeInput, controlState, desc);\n });\n }\n\n private _validPropertyDescriptor(inputPropDesc: PropertyDescriptor | undefined): boolean {\n return !!inputPropDesc && typeof inputPropDesc.set === 'function';\n }\n\n // Recursively crawl up the node tree looking for the containing radiogroup ancestor element.\n private _getContainingRadioGroup(element: HTMLElement): HTMLElement | null {\n if (!element || !element.parentElement) {\n throw new Error('Unable to locate ancestor element with role=\"radiogroup\". When using radios, a parent with this attribute must be applied.');\n }\n\n const parentElement = element.parentElement;\n const roleValue = parentElement.getAttribute(RADIO_CONSTANTS.attributes.ROLE);\n if (!!roleValue && roleValue.toLocaleLowerCase() === RADIO_CONSTANTS.attributes.RADIOGROUP_ROLE.toLocaleLowerCase()) {\n return parentElement;\n }\n\n return this._getContainingRadioGroup(parentElement);\n }\n\n private _setupInputDisabledAttributeMutationObserver(callback: () => void): void {\n if (!this._inputElement) {\n return;\n }\n\n this._cleanupInputDisabledAttributeMutationObserver();\n const mutationCallback = (mutationRecords: MutationRecord[]): void => this._inputDisabledAttributeMutationCallback(mutationRecords, callback);\n this._inputAttributeMutationObserver = new MutationObserver(mutationCallback);\n const mutationOptions: MutationObserverInit = {\n attributes: true,\n attributeOldValue: true,\n attributeFilter: ['disabled']\n };\n this._inputAttributeMutationObserver.observe(this._inputElement, mutationOptions);\n }\n\n private _cleanupInputDisabledAttributeMutationObserver(): void {\n if (this._inputAttributeMutationObserver) {\n this._inputAttributeMutationObserver.disconnect();\n delete this._inputAttributeMutationObserver;\n }\n }\n\n private _inputDisabledAttributeMutationCallback(mutationRecords: MutationRecord[], callback: () => void): void {\n for (const mutationRecord of mutationRecords) {\n // Skip:\n // - Non-attribute mutations.\n // - Mutations without an attribute name.\n // - Mutations without a matching attribute name.\n // - Mutations that did not change the attribute value.\n if (mutationRecord.type !== 'attributes'\n || !mutationRecord.attributeName\n || mutationRecord.attributeName !== 'disabled'\n || mutationRecord.target[mutationRecord.attributeName] === mutationRecord.oldValue) {\n continue;\n }\n\n callback();\n }\n }\n\n public get inputDisabled(): boolean {\n if (!this._inputElement) {\n return false;\n }\n\n return this._inputElement.disabled;\n }\n\n public get inputChecked(): boolean {\n if (!this._inputElement) {\n return false;\n }\n\n return this._inputElement.checked;\n }\n\n private get _inputElement(): HTMLInputElement | null {\n if (!this._nativeInputElement) {\n this._nativeInputElement = this._component.querySelector<HTMLInputElement>(RADIO_CONSTANTS.selectors.RADIO_INPUT);\n }\n\n return this._nativeInputElement;\n }\n\n private _isDisabled(): boolean {\n return this._inputElement ? this._inputElement.disabled : false;\n }\n\n private _createRipple(): ForgeRipple {\n const adapter: ForgeRippleAdapter = {\n ...ForgeRipple.createAdapter(this),\n deregisterInteractionHandler: (evtType, handler) => {\n if (this._inputElement) {\n this._inputElement.removeEventListener(evtType, handler, { passive: true } as AddEventListenerOptions);\n }\n },\n isSurfaceActive: () => this._inputElement ? this._inputElement.matches(':active') : false,\n isUnbounded: () => Boolean(this.unbounded),\n registerInteractionHandler: (evtType, handler) => {\n if (this._inputElement) {\n this._inputElement.addEventListener(evtType, handler, { passive: true });\n }\n },\n isSurfaceDisabled: () => this._inputElement ? this._inputElement.disabled : false,\n addClass: (className: string) => addClass(className, this._rootElement),\n removeClass: (className: string) => removeClass(className, this._rootElement),\n updateCssVariable: (varName: string, value: string | null) => this._rootElement.style.setProperty(varName, value)\n };\n return new ForgeRipple(this._rootElement, new ForgeRippleFoundation(adapter));\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { RADIO_CONSTANTS } from './radio-constants';\nimport { RadioFoundation } from './radio-foundation';\nimport { RadioAdapter } from './radio-adapter';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-radio-wrapper forge-form-field\\\" part=\\\"root\\\"><div class=\\\"mdc-radio\\\" part=\\\"container\\\"><slot></slot><div class=\\\"mdc-radio__background\\\" part=\\\"background\\\"><div class=\\\"mdc-radio__outer-circle\\\" part=\\\"outer-circle\\\"></div><div class=\\\"mdc-radio__inner-circle\\\" part=\\\"inner-circle\\\"></div></div><div class=\\\"mdc-radio__ripple\\\" part=\\\"ripple-container\\\"></div></div><slot name=\\\"label\\\"></slot></div></template>';\nconst styles = '.mdc-radio{padding:10px;display:inline-block;position:relative;-webkit-box-flex:0;flex:0 0 auto;-webkit-box-sizing:content-box;box-sizing:content-box;width:20px;height:20px;cursor:pointer;will-change:opacity,transform,border-color,color}.mdc-radio.forge-radio--enabled .mdc-radio__background .mdc-radio__outer-circle{border-color:rgba(0,0,0,.54);border-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.mdc-radio.forge-radio--enabled.forge-radio--checked .mdc-radio__background .mdc-radio__outer-circle{border-color:#3d5afe;border-color:var(--forge-theme-tertiary,#3d5afe)}.mdc-radio.forge-radio--enabled .mdc-radio__background .mdc-radio__inner-circle{border-color:#3d5afe;border-color:var(--forge-theme-tertiary,#3d5afe)}.mdc-radio.mdc-radio--disabled .mdc-radio__background .mdc-radio__outer-circle{border-color:rgba(0,0,0,.26);border-color:var(--forge-theme-form-field-icon-disabled-on-background,rgba(0,0,0,.26))}.mdc-radio.mdc-radio--disabled.forge-radio--checked .mdc-radio__background .mdc-radio__outer-circle{border-color:rgba(0,0,0,.26);border-color:var(--forge-theme-form-field-icon-disabled-on-background,rgba(0,0,0,.26))}.mdc-radio.mdc-radio--disabled .mdc-radio__background .mdc-radio__inner-circle{border-color:rgba(0,0,0,.26);border-color:var(--forge-theme-form-field-icon-disabled-on-background,rgba(0,0,0,.26))}.mdc-radio .mdc-radio__background::before{background-color:#3d5afe;background-color:var(--forge-theme-tertiary,#3d5afe)}.mdc-radio .mdc-radio__background::before{top:-10px;left:-10px;width:40px;height:40px}.mdc-radio .mdc-radio__native-control{top:0;right:0;left:0;width:40px;height:40px}@media screen and (forced-colors:active),(-ms-high-contrast:active){.mdc-radio.mdc-radio--disabled .mdc-radio__background .mdc-radio__outer-circle{border-color:GrayText}.mdc-radio.mdc-radio--disabled.forge-radio--checked .mdc-radio__background .mdc-radio__outer-circle{border-color:GrayText}.mdc-radio.mdc-radio--disabled .mdc-radio__background .mdc-radio__inner-circle{border-color:GrayText}}.mdc-radio__background{display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:20px;height:20px}.mdc-radio__background::before{position:absolute;-webkit-transform:scale(0,0);transform:scale(0,0);border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\";-webkit-transition:opacity 120ms 0s cubic-bezier(.4, 0, .6, 1),-webkit-transform 120ms 0s cubic-bezier(.4, 0, .6, 1);transition:opacity 120ms 0s cubic-bezier(.4, 0, .6, 1),-webkit-transform 120ms 0s cubic-bezier(.4, 0, .6, 1);transition:opacity 120ms 0s cubic-bezier(.4, 0, .6, 1),transform 120ms 0s cubic-bezier(.4, 0, .6, 1);transition:opacity 120ms 0s cubic-bezier(.4, 0, .6, 1),transform 120ms 0s cubic-bezier(.4, 0, .6, 1),-webkit-transform 120ms 0s cubic-bezier(.4, 0, .6, 1)}.mdc-radio__outer-circle{position:absolute;top:0;left:0;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;border-width:2px;border-style:solid;border-radius:50%;-webkit-transition:border-color 120ms 0s cubic-bezier(.4, 0, .6, 1);transition:border-color 120ms 0s cubic-bezier(.4, 0, .6, 1)}.mdc-radio__inner-circle{position:absolute;top:0;left:0;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;-webkit-transform:scale(0,0);transform:scale(0,0);border-width:10px;border-style:solid;border-radius:50%;-webkit-transition:border-color 120ms 0s cubic-bezier(.4, 0, .6, 1),-webkit-transform 120ms 0s cubic-bezier(.4, 0, .6, 1);transition:border-color 120ms 0s cubic-bezier(.4, 0, .6, 1),-webkit-transform 120ms 0s cubic-bezier(.4, 0, .6, 1);transition:transform 120ms 0s cubic-bezier(.4, 0, .6, 1),border-color 120ms 0s cubic-bezier(.4, 0, .6, 1);transition:transform 120ms 0s cubic-bezier(.4, 0, .6, 1),border-color 120ms 0s cubic-bezier(.4, 0, .6, 1),-webkit-transform 120ms 0s cubic-bezier(.4, 0, .6, 1)}.mdc-radio ::slotted(input[type=radio]){position:absolute;margin:0;padding:0;opacity:0;cursor:inherit;z-index:1;top:0;right:0;left:0;width:40px;height:40px}.mdc-radio.forge-radio--dense{padding:4px;margin:0}.mdc-radio.forge-radio--dense .mdc-radio__background::before{top:-4px;left:-4px;width:28px;height:28px}.mdc-radio.forge-radio--dense .mdc-radio__native-control{top:0;right:0;left:0;width:28px;height:28px}.mdc-radio.forge-radio--dense ::slotted(input[type=radio]){width:28px;height:28px}.mdc-radio--disabled+::slotted(label){color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-radio--checked .mdc-radio__background,.mdc-radio--disabled .mdc-radio__background{-webkit-transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),transform 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1)}.forge-radio--checked .mdc-radio__background .mdc-radio__outer-circle,.mdc-radio--disabled .mdc-radio__background .mdc-radio__outer-circle{-webkit-transition:border-color 120ms 0s cubic-bezier(0, 0, .2, 1);transition:border-color 120ms 0s cubic-bezier(0, 0, .2, 1)}.forge-radio--checked .mdc-radio__background .mdc-radio__inner-circle,.mdc-radio--disabled .mdc-radio__background .mdc-radio__inner-circle{-webkit-transition:border-color 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:border-color 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 120ms 0s cubic-bezier(0, 0, .2, 1),border-color 120ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 120ms 0s cubic-bezier(0, 0, .2, 1),border-color 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1)}.mdc-radio--disabled{cursor:default;pointer-events:none}.forge-radio--checked .mdc-radio__background .mdc-radio__inner-circle{-webkit-transform:scale(.5);transform:scale(.5);-webkit-transition:border-color 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:border-color 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 120ms 0s cubic-bezier(0, 0, .2, 1),border-color 120ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 120ms 0s cubic-bezier(0, 0, .2, 1),border-color 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1)}.mdc-radio--disabled .mdc-radio__background{cursor:default}.forge-radio--focused .mdc-radio__background::before{-webkit-transform:scale(1);transform:scale(1);opacity:.12;-webkit-transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),transform 120ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 120ms 0s cubic-bezier(0, 0, .2, 1),transform 120ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms 0s cubic-bezier(0, 0, .2, 1)}@-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-radio{--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}.mdc-radio .mdc-radio__ripple::after,.mdc-radio .mdc-radio__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.mdc-radio .mdc-radio__ripple::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-radio .mdc-radio__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-radio.mdc-ripple-upgraded--unbounded .mdc-radio__ripple::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-radio.mdc-ripple-upgraded--foreground-activation .mdc-radio__ripple::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-radio.mdc-ripple-upgraded--foreground-deactivation .mdc-radio__ripple::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-radio .mdc-radio__ripple::after,.mdc-radio .mdc-radio__ripple::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::after,.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::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-radio.mdc-ripple-upgraded .mdc-radio__ripple::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-radio .mdc-radio__ripple::after,.mdc-radio .mdc-radio__ripple::before{background-color:#3d5afe;background-color:var(--forge-theme-tertiary,#3d5afe)}.mdc-radio.mdc-ripple-surface--hover .mdc-radio__ripple::before,.mdc-radio:hover .mdc-radio__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-radio.mdc-ripple-upgraded--background-focused .mdc-radio__ripple::before,.mdc-radio:not(.mdc-ripple-upgraded):focus .mdc-radio__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-radio:not(.mdc-ripple-upgraded) .mdc-radio__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-radio:not(.mdc-ripple-upgraded):active .mdc-radio__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-radio.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-radio.mdc-ripple-upgraded .mdc-radio__background::before,.mdc-radio.mdc-ripple-upgraded--background-focused .mdc-radio__background::before{content:none}.mdc-radio__ripple{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.forge-radio-wrapper--disabled{cursor:not-allowed}.forge-radio-wrapper--disabled ::slotted(label){cursor:not-allowed}.forge-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;vertical-align:middle}.forge-form-field ::slotted([slot=label]){-webkit-box-ordinal-group:1;order:0;margin-right:auto;padding-left:4px}.forge-form-field forge-switch~::slotted([slot=label]){padding-left:8px}.forge-form-field--align-end ::slotted([slot=label]){-webkit-box-ordinal-group:0;order:-1;margin-left:auto;padding-right:4px}:host{display:inline-block}:host([hidden]){display:none}';\n\nexport interface IRadioComponent extends IBaseComponent {\n dense: boolean;\n syncCheckedState(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-radio': IRadioComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-radio>` element.\n * \n * @tag forge-radio\n */\n@CustomElement({\n name: RADIO_CONSTANTS.elementName\n})\nexport class RadioComponent extends BaseComponent implements IRadioComponent {\n public static get observedAttributes(): string[] {\n return [\n RADIO_CONSTANTS.attributes.DENSE\n ];\n }\n\n protected _foundation: RadioFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new RadioFoundation(new RadioAdapter(this));\n }\n\n public connectedCallback(): void {\n this._ensureRadioInputElement().then(() => this._foundation.connect());\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case RADIO_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n }\n }\n\n private _ensureRadioInputElement(): Promise<void> {\n // Not using core function ensureChild because it was not selecting the input properly\n return new Promise<void>(resolve => {\n const element = this.querySelector(RADIO_CONSTANTS.selectors.RADIO_INPUT);\n if (element) {\n resolve();\n return;\n }\n\n const observer = new MutationObserver(changes => {\n const hasAddedNodes = changes.reduce((prev, curr) => prev + curr.addedNodes.length, 0) > 0;\n if (hasAddedNodes) {\n if (this.querySelector(RADIO_CONSTANTS.selectors.RADIO_INPUT)) {\n observer.disconnect();\n resolve();\n }\n }\n });\n observer.observe(this, { childList: true, subtree: true });\n });\n }\n\n public syncCheckedState(): void {\n this._foundation.syncCheckedState();\n }\n\n /** Gets/sets whether the radio button is dense. */\n @FoundationProperty()\n public declare dense: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { RadioComponent } from './radio';\n\nexport * from './radio-constants';\nexport * from './radio';\n\nexport function defineRadioComponent(): void {\n defineCustomElement(RadioComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a,d as A}from"./chunk.G5JTL66M.js";import{a as E}from"./chunk.5PXABBKU.js";import{a as n}from"./chunk.B3IJU6XJ.js";import{a as f,b as I,d}from"./chunk.OOW3UKT4.js";import{a as m,e as _,g as v,l as T}from"./chunk.MMVZJLXE.js";import{d as h}from"./chunk.R4NDFXVA.js";import{k as g}from"./chunk.G76HB2FK.js";import{a as c,f as l}from"./chunk.MCIQXNKY.js";var L=`${I}button-toggle-group`,S={VALUE:"value",MULTIPLE:"multiple",MANDATORY:"mandatory",VERTICAL:"vertical",STRETCH:"stretch",DISABLED:"disabled",DENSE:"dense"},y={VERTICAL:"forge-button-toggle-group--vertical",STRETCH:"forge-button-toggle-group--stretch"},B={ROOT:".forge-button-toggle-group"},O={CHANGE:`${L}-change`},i={elementName:L,attributes:S,classes:y,selectors:B,events:O};var u=class extends E{constructor(t){super(t);this._rootElement=v(t,i.selectors.ROOT),this._slotElement=this._rootElement.querySelector("slot")}addListener(t,s){this._rootElement.addEventListener(t,s)}removeListener(t,s){this._rootElement.removeEventListener(t,s)}addSlotChangeListener(t){this._slotElement.addEventListener("slotchange",t)}removeSlotChangeListener(t){this._slotElement.addEventListener("slotchange",t)}deselect(t){this._getButtonToggleElements().filter(e=>e!==t).forEach(e=>e.selected=!1)}applyAdjacentSelections(t){let s=this._getButtonToggleElements();for(let e=s.length-1;e>0;e--)if(s[e].removeAttribute(a.attributes.SELECTED_ADJACENT),s[e].removeAttribute(a.attributes.SELECTED_ADJACENT_VERTICAL),s[e].selected&&s[e-1].selected){let C=t?a.attributes.SELECTED_ADJACENT_VERTICAL:a.attributes.SELECTED_ADJACENT;s[e].setAttribute(C,"")}}setVertical(t){t?this._rootElement.classList.add(i.classes.VERTICAL):this._rootElement.classList.remove(i.classes.VERTICAL)}setStretch(t){t?this._rootElement.classList.add(i.classes.STRETCH):this._rootElement.classList.remove(i.classes.STRETCH),this._getButtonToggleElements().forEach(e=>{t?e.setAttribute("stretch",""):e.removeAttribute("stretch")})}setDense(t){this._getButtonToggleElements().forEach(e=>e.dense=t)}setDisabled(t){this._getButtonToggleElements().forEach(e=>e.disabled=t)}getSelectedValues(){return this._getButtonToggleElements().filter(s=>s.selected).map(s=>s.value)}applyValues(t){this._getButtonToggleElements().forEach(e=>e.selected=t.indexOf(e.value)>=0)}createOptions(t){h(this._component),t.forEach(s=>{this._component.appendChild(this._createButtonToggle(s))})}_createButtonToggle(t){let s=document.createElement(a.elementName);if(s.value=t.value,t.label)s.textContent=t.label;else if(t.icon){let e=document.createElement("i");e.textContent=t.icon,e.classList.add(d),e.setAttribute("aria-hidden","true"),s.appendChild(e)}if(t.leadingIcon){let e;t.leadingIconType==="component"?(e=document.createElement("forge-icon"),e.name=t.leadingIcon):(e=document.createElement("i"),e.textContent=t.leadingIcon,e.classList.add(d),e.setAttribute("aria-hidden","true")),e.slot="leading",s.appendChild(e)}if(t.trailingIcon){let e;t.trailingIconType==="component"?(e=document.createElement("forge-icon"),e.name=t.trailingIcon):(e=document.createElement("i"),e.textContent=t.trailingIcon,e.classList.add(d),e.setAttribute("aria-hidden","true")),e.slot="trailing",s.appendChild(e)}return s}_getButtonToggleElements(){return Array.from(this._component.querySelectorAll(a.elementName))}};var p=class{constructor(o){this._adapter=o;this._isInitialized=!1;this._multiple=!1;this._mandatory=!1;this._vertical=!1;this._stretch=!1;this._dense=!1;this._disabled=!1;this._options=[];this._values=[];this._selectListener=t=>this._onSelect(t),this._slotListener=()=>this._synchronize()}initialize(){this._options&&this._options.length&&this._applyOptions(!1),this._adapter.addListener(a.events.SELECT,this._selectListener),this._adapter.addSlotChangeListener(this._slotListener),this._adapter.setVertical(this._vertical),this._adapter.setStretch(this._stretch),this._adapter.setDense(this._dense),this._adapter.setDisabled(this._disabled),this._adapter.applyAdjacentSelections(this._vertical),this._isInitialized=!0}disconnect(){this._isInitialized=!1,this._adapter.removeListener(a.events.SELECT,this._selectListener),this._adapter.removeSlotChangeListener(this._slotListener)}_synchronize(){if(this._multiple){let o=new Set(this._adapter.getSelectedValues().concat(this._values));this._applyValue(Array.from(o))}else{let o=this._adapter.getSelectedValues().concat(this._values);this.value=o.length?o[o.length-1]:null}}_onSelect(o){let t=o.target;if(this._mandatory&&!this._adapter.getSelectedValues().length){t.selected=!0;return}this._multiple||this._adapter.deselect(t),this._adapter.applyAdjacentSelections(this._vertical),this._adapter.emitHostEvent(i.events.CHANGE,this._getValue())}_getValue(){var t;let o=this._adapter.getSelectedValues();return this._multiple?Array.from(new Set(o)):(t=o.slice(0,1)[0])!=null?t:null}_applyValue(o){let t=o instanceof Array?o:[o];!this._multiple&&t.length>1&&(t=t[0]),this._values=t,this._adapter.applyValues(t),this._multiple&&this._adapter.applyAdjacentSelections(this._vertical)}_applyOptions(o=!0){this._options&&(this._adapter.createOptions(this._options),o&&(this._adapter.setStretch(this._stretch),this._adapter.setDense(this._dense),this._adapter.setDisabled(this._disabled),this._adapter.applyAdjacentSelections(this._vertical)))}get value(){return this._isInitialized?this._getValue():this._originalValue}set value(o){this._originalValue=o,this._applyValue(o)}get multiple(){return this._multiple}set multiple(o){this._multiple!==o&&(this._multiple=o,this._adapter.setHostAttribute(i.attributes.MULTIPLE,this._multiple))}get mandatory(){return this._mandatory}set mandatory(o){this._mandatory!==o&&(this._mandatory=o,this._mandatory?this._adapter.setHostAttribute(i.attributes.MANDATORY):this._adapter.removeHostAttribute(i.attributes.MANDATORY))}get vertical(){return this._vertical}set vertical(o){this._vertical!==o&&(this._vertical=o,this._adapter.setVertical(this._vertical),this._adapter.applyAdjacentSelections(this._vertical),this._vertical?this._adapter.setHostAttribute(i.attributes.VERTICAL):this._adapter.removeHostAttribute(i.attributes.VERTICAL))}get stretch(){return this._stretch}set stretch(o){this._stretch!==o&&(this._stretch=o,this._adapter.setStretch(this._stretch),this._stretch?this._adapter.setHostAttribute(i.attributes.STRETCH):this._adapter.removeHostAttribute(i.attributes.STRETCH))}get dense(){return this._dense}set dense(o){this._dense!==o&&(this._dense=o,this._adapter.setDense(this._dense),this._dense?this._adapter.setHostAttribute(i.attributes.DENSE):this._adapter.removeHostAttribute(i.attributes.DENSE))}get disabled(){return this._disabled}set disabled(o){this._disabled!==o&&(this._disabled=o,this._adapter.setDisabled(this._disabled),this._disabled?this._adapter.setHostAttribute(i.attributes.DISABLED):this._adapter.removeHostAttribute(i.attributes.DISABLED))}get options(){return this._options.map(o=>c({},o))}set options(o){this._options=o.map(t=>c({},t)),this._isInitialized&&this._applyOptions()}};var N='<template><div class="forge-button-toggle-group" role="group" aria-label="Button group" part="root"><slot></slot></div></template>',D=".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}",r=class extends T{constructor(){super();_(this,N,D),this._foundation=new p(new u(this))}static get observedAttributes(){return[i.attributes.VALUE,i.attributes.MULTIPLE,i.attributes.MANDATORY,i.attributes.VERTICAL,i.attributes.STRETCH,i.attributes.DISABLED,i.attributes.DENSE]}initializedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,s,e){switch(t){case i.attributes.VALUE:this.value=e;break;case i.attributes.MULTIPLE:this.multiple=g(e);break;case i.attributes.MANDATORY:this.mandatory=g(e);break;case i.attributes.VERTICAL:this.vertical=g(e);break;case i.attributes.STRETCH:this.stretch=g(e);break;case i.attributes.DENSE:this.dense=g(e);break;case i.attributes.DISABLED:this.disabled=g(e);break}}};l([n()],r.prototype,"value",2),l([n()],r.prototype,"multiple",2),l([n()],r.prototype,"mandatory",2),l([n()],r.prototype,"vertical",2),l([n()],r.prototype,"stretch",2),l([n()],r.prototype,"dense",2),l([n()],r.prototype,"disabled",2),l([n()],r.prototype,"options",2),r=l([f({name:i.elementName,dependencies:[A]})],r);function rt(){m(r)}export{i as a,u as b,p as c,r as d,rt as e};
7
+ //# sourceMappingURL=chunk.PHJPLWFH.js.map