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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (755) hide show
  1. package/custom-elements.json +47415 -39475
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/app-bar/index.js +1 -1
  4. package/dist/esm/app-bar/help-button/index.js +1 -1
  5. package/dist/esm/app-bar/index.js +1 -1
  6. package/dist/esm/app-bar/menu-button/index.js +1 -1
  7. package/dist/esm/app-bar/notification-button/index.js +1 -1
  8. package/dist/esm/app-bar/profile-button/index.js +1 -1
  9. package/dist/esm/app-bar/search/index.js +1 -1
  10. package/dist/esm/autocomplete/index.js +1 -1
  11. package/dist/esm/avatar/index.js +1 -1
  12. package/dist/esm/backdrop/index.js +1 -1
  13. package/dist/esm/badge/index.js +1 -1
  14. package/dist/esm/banner/index.js +1 -1
  15. package/dist/esm/bottom-sheet/index.js +1 -1
  16. package/dist/esm/busy-indicator/index.js +1 -1
  17. package/dist/esm/button/index.js +1 -1
  18. package/dist/esm/button-area/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  20. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  21. package/dist/esm/button-toggle/index.js +1 -1
  22. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  23. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/chunk.24NQGTNU.js +7 -0
  32. package/dist/esm/chunks/chunk.24NQGTNU.js.map +7 -0
  33. package/dist/esm/chunks/chunk.2JCTFKCR.js +7 -0
  34. package/dist/esm/chunks/{chunk.Q54DACHS.js.map → chunk.2JCTFKCR.js.map} +1 -1
  35. package/dist/esm/chunks/chunk.2OZ2HVBZ.js +7 -0
  36. package/dist/esm/chunks/{chunk.PMSCH6VK.js.map → chunk.2OZ2HVBZ.js.map} +3 -3
  37. package/dist/esm/chunks/chunk.2YE556AM.js +7 -0
  38. package/dist/esm/chunks/{chunk.5KYKGNGY.js.map → chunk.2YE556AM.js.map} +1 -1
  39. package/dist/esm/chunks/chunk.3U6A353B.js +7 -0
  40. package/dist/esm/chunks/{chunk.ZT7U7WOX.js.map → chunk.3U6A353B.js.map} +1 -1
  41. package/dist/esm/chunks/chunk.3VHQPHQP.js +7 -0
  42. package/dist/esm/chunks/chunk.3VHQPHQP.js.map +7 -0
  43. package/dist/esm/chunks/chunk.436USWLL.js +7 -0
  44. package/dist/esm/chunks/{chunk.4JDJ33IU.js.map → chunk.436USWLL.js.map} +1 -1
  45. package/dist/esm/chunks/chunk.4GMGQZOW.js +7 -0
  46. package/dist/esm/chunks/{chunk.6FUXTHO6.js.map → chunk.4GMGQZOW.js.map} +1 -1
  47. package/dist/esm/chunks/chunk.4JB3SESQ.js +7 -0
  48. package/dist/esm/chunks/{chunk.AIPDMLJD.js.map → chunk.4JB3SESQ.js.map} +1 -1
  49. package/dist/esm/chunks/chunk.4JL5LW5J.js +7 -0
  50. package/dist/esm/chunks/{chunk.BS73Y6IN.js.map → chunk.4JL5LW5J.js.map} +1 -1
  51. package/dist/esm/chunks/chunk.4O6OEUGY.js +7 -0
  52. package/dist/esm/chunks/{chunk.4XN2WGMP.js.map → chunk.4O6OEUGY.js.map} +2 -2
  53. package/dist/esm/chunks/chunk.4OG3OGVO.js +7 -0
  54. package/dist/esm/chunks/chunk.4OG3OGVO.js.map +7 -0
  55. package/dist/esm/chunks/chunk.4QOXI2GM.js +7 -0
  56. package/dist/esm/chunks/chunk.4QOXI2GM.js.map +7 -0
  57. package/dist/esm/chunks/{chunk.MTSWCXTY.js → chunk.55D2BMXX.js} +2 -2
  58. package/dist/esm/chunks/chunk.5LCWC3A7.js +7 -0
  59. package/dist/esm/chunks/{chunk.VG452D3L.js.map → chunk.5LCWC3A7.js.map} +1 -1
  60. package/dist/esm/chunks/chunk.5T7TT3AB.js +7 -0
  61. package/dist/esm/chunks/{chunk.YMSX4F3J.js.map → chunk.5T7TT3AB.js.map} +1 -1
  62. package/dist/esm/chunks/{chunk.JHELTQKA.js → chunk.5WVOPPBY.js} +2 -2
  63. package/dist/esm/chunks/{chunk.JHELTQKA.js.map → chunk.5WVOPPBY.js.map} +2 -2
  64. package/dist/esm/chunks/chunk.5XLCY232.js +7 -0
  65. package/dist/esm/chunks/chunk.5XLCY232.js.map +7 -0
  66. package/dist/esm/chunks/chunk.65WE722H.js +7 -0
  67. package/dist/esm/chunks/chunk.65WE722H.js.map +7 -0
  68. package/dist/esm/chunks/chunk.6IPX5C4B.js +7 -0
  69. package/dist/esm/chunks/chunk.6IPX5C4B.js.map +7 -0
  70. package/dist/esm/chunks/chunk.6PB5OWMP.js +7 -0
  71. package/dist/esm/chunks/{chunk.ONII3BV3.js.map → chunk.6PB5OWMP.js.map} +2 -2
  72. package/dist/esm/chunks/chunk.74HZVSDM.js +7 -0
  73. package/dist/esm/chunks/chunk.74HZVSDM.js.map +7 -0
  74. package/dist/esm/chunks/chunk.74JHE77R.js +7 -0
  75. package/dist/esm/chunks/{chunk.Y4ZS3A6F.js.map → chunk.74JHE77R.js.map} +2 -2
  76. package/dist/esm/chunks/chunk.7SYU6KRU.js +15 -0
  77. package/dist/esm/chunks/chunk.7SYU6KRU.js.map +7 -0
  78. package/dist/esm/chunks/{chunk.BC7WB5RG.js → chunk.B53Q676I.js} +2 -2
  79. package/dist/esm/chunks/chunk.BKQSLDMK.js +7 -0
  80. package/dist/esm/chunks/{chunk.NVR6KN2B.js.map → chunk.BKQSLDMK.js.map} +1 -1
  81. package/dist/esm/chunks/chunk.BZG47SA5.js +7 -0
  82. package/dist/esm/chunks/{chunk.THNCYT3E.js.map → chunk.BZG47SA5.js.map} +2 -2
  83. package/dist/esm/chunks/chunk.BZVLSWZR.js +7 -0
  84. package/dist/esm/chunks/{chunk.4IMRT2B3.js.map → chunk.BZVLSWZR.js.map} +1 -1
  85. package/dist/esm/chunks/chunk.C72LM2AL.js +7 -0
  86. package/dist/esm/chunks/chunk.C72LM2AL.js.map +7 -0
  87. package/dist/esm/chunks/chunk.DGG5ABL3.js +7 -0
  88. package/dist/esm/chunks/{chunk.WARVAVAW.js.map → chunk.DGG5ABL3.js.map} +1 -1
  89. package/dist/esm/chunks/chunk.DPIWAXEW.js +7 -0
  90. package/dist/esm/chunks/{chunk.UOEJCU6R.js.map → chunk.DPIWAXEW.js.map} +1 -1
  91. package/dist/esm/chunks/chunk.E62ZPQSM.js +7 -0
  92. package/dist/esm/chunks/chunk.E62ZPQSM.js.map +7 -0
  93. package/dist/esm/chunks/chunk.ECJBVX3D.js +7 -0
  94. package/dist/esm/chunks/{chunk.DLBAZD5X.js.map → chunk.ECJBVX3D.js.map} +1 -1
  95. package/dist/esm/chunks/chunk.EN2HVFJ4.js +7 -0
  96. package/dist/esm/chunks/chunk.EN2HVFJ4.js.map +7 -0
  97. package/dist/esm/chunks/chunk.EPRRK33O.js +7 -0
  98. package/dist/esm/chunks/chunk.EPRRK33O.js.map +7 -0
  99. package/dist/esm/chunks/chunk.ETDUW5K2.js +7 -0
  100. package/dist/esm/chunks/{chunk.FSILMO6U.js.map → chunk.ETDUW5K2.js.map} +1 -1
  101. package/dist/esm/chunks/chunk.EWFNM4WO.js +7 -0
  102. package/dist/esm/chunks/chunk.EWFNM4WO.js.map +7 -0
  103. package/dist/esm/chunks/{chunk.U7S4DJTU.js → chunk.FGHSNC2V.js} +2 -2
  104. package/dist/esm/chunks/chunk.FPRBYGET.js +7 -0
  105. package/dist/esm/chunks/{chunk.LK6QHLW2.js.map → chunk.FPRBYGET.js.map} +1 -1
  106. package/dist/esm/chunks/chunk.FQVR2QNF.js +7 -0
  107. package/dist/esm/chunks/{chunk.X3QZY7V4.js.map → chunk.FQVR2QNF.js.map} +1 -1
  108. package/dist/esm/chunks/chunk.FWWBFNQA.js +7 -0
  109. package/dist/esm/chunks/{chunk.O6F4U4VY.js.map → chunk.FWWBFNQA.js.map} +1 -1
  110. package/dist/esm/chunks/{chunk.URKQICJD.js → chunk.FZELFLPE.js} +2 -2
  111. package/dist/esm/chunks/chunk.FZZUNYH5.js +7 -0
  112. package/dist/esm/chunks/{chunk.5QZPUOGG.js.map → chunk.FZZUNYH5.js.map} +1 -1
  113. package/dist/esm/chunks/chunk.GHMAI3SM.js +15 -0
  114. package/dist/esm/chunks/chunk.GHMAI3SM.js.map +7 -0
  115. package/dist/esm/chunks/{chunk.5EGEZ4IY.js → chunk.GLUKTMQU.js} +2 -2
  116. package/dist/esm/chunks/chunk.GTBCTNMI.js +7 -0
  117. package/dist/esm/chunks/{chunk.ICIGXLJW.js.map → chunk.GTBCTNMI.js.map} +1 -1
  118. package/dist/esm/chunks/chunk.GTGXHY4A.js +7 -0
  119. package/dist/esm/chunks/chunk.GTGXHY4A.js.map +7 -0
  120. package/dist/esm/chunks/chunk.GURV4TDZ.js +7 -0
  121. package/dist/esm/chunks/{chunk.TSUAFZGY.js.map → chunk.GURV4TDZ.js.map} +1 -1
  122. package/dist/esm/chunks/chunk.H6MMHAQI.js +15 -0
  123. package/dist/esm/chunks/chunk.H6MMHAQI.js.map +7 -0
  124. package/dist/esm/chunks/chunk.HJUFU2PV.js +7 -0
  125. package/dist/esm/chunks/{chunk.RCPUTZON.js.map → chunk.HJUFU2PV.js.map} +2 -2
  126. package/dist/esm/chunks/chunk.HPCXVNG6.js +7 -0
  127. package/dist/esm/chunks/{chunk.CZOABXEQ.js.map → chunk.HPCXVNG6.js.map} +3 -3
  128. package/dist/esm/chunks/chunk.IA27LU2O.js +7 -0
  129. package/dist/esm/chunks/{chunk.JEZR25US.js.map → chunk.IA27LU2O.js.map} +1 -1
  130. package/dist/esm/chunks/chunk.INQZNXG6.js +7 -0
  131. package/dist/esm/chunks/chunk.INQZNXG6.js.map +7 -0
  132. package/dist/esm/chunks/chunk.IO3TM653.js +7 -0
  133. package/dist/esm/chunks/chunk.IO3TM653.js.map +7 -0
  134. package/dist/esm/chunks/chunk.JXJVPJRO.js +177 -0
  135. package/dist/esm/chunks/{chunk.AVRBHXDT.js.map → chunk.JXJVPJRO.js.map} +1 -1
  136. package/dist/esm/chunks/chunk.K3STAW42.js +7 -0
  137. package/dist/esm/chunks/{chunk.XQLQ73NG.js.map → chunk.K3STAW42.js.map} +1 -1
  138. package/dist/esm/chunks/chunk.KM5XYTE3.js +7 -0
  139. package/dist/esm/chunks/chunk.KM5XYTE3.js.map +7 -0
  140. package/dist/esm/chunks/chunk.KPC6IS3C.js +7 -0
  141. package/dist/esm/chunks/{chunk.OTUEB7SD.js.map → chunk.KPC6IS3C.js.map} +1 -1
  142. package/dist/esm/chunks/{chunk.PRJHBUU2.js → chunk.KPNGLSCU.js} +1 -1
  143. package/dist/esm/chunks/chunk.KPNGLSCU.js.map +7 -0
  144. package/dist/esm/chunks/chunk.KV7PGQJ7.js +7 -0
  145. package/dist/esm/chunks/{chunk.KR4BNI6X.js.map → chunk.KV7PGQJ7.js.map} +1 -1
  146. package/dist/esm/chunks/chunk.LCS2O4Y7.js +7 -0
  147. package/dist/esm/chunks/chunk.LCS2O4Y7.js.map +7 -0
  148. package/dist/esm/chunks/chunk.M4KCRUKW.js +7 -0
  149. package/dist/esm/chunks/chunk.M4KCRUKW.js.map +7 -0
  150. package/dist/esm/chunks/{chunk.IHIKIZIT.js → chunk.M5JGYRH4.js} +2 -2
  151. package/dist/esm/chunks/{chunk.O6MGA3XK.js → chunk.N75VD4S4.js} +2 -2
  152. package/dist/esm/chunks/chunk.NHOGZDLN.js +7 -0
  153. package/dist/esm/chunks/chunk.NHOGZDLN.js.map +7 -0
  154. package/dist/esm/chunks/chunk.NKEAMFO4.js +7 -0
  155. package/dist/esm/chunks/{chunk.KUNIEX72.js.map → chunk.NKEAMFO4.js.map} +1 -1
  156. package/dist/esm/chunks/{chunk.KDJZN6EW.js → chunk.NW54VA4E.js} +2 -2
  157. package/dist/esm/chunks/chunk.OJGPKHHC.js +7 -0
  158. package/dist/esm/chunks/{chunk.EMCY55MX.js.map → chunk.OJGPKHHC.js.map} +2 -2
  159. package/dist/esm/chunks/chunk.OSCODMUG.js +7 -0
  160. package/dist/esm/chunks/chunk.OSCODMUG.js.map +7 -0
  161. package/dist/esm/chunks/chunk.OT3JZ6JO.js +7 -0
  162. package/dist/esm/chunks/{chunk.7PVVZC7P.js.map → chunk.OT3JZ6JO.js.map} +3 -3
  163. package/dist/esm/chunks/{chunk.BAQYPAUM.js → chunk.OXVCCHM5.js} +2 -2
  164. package/dist/esm/chunks/chunk.P5XHGSJY.js +7 -0
  165. package/dist/esm/chunks/{chunk.5FCUOZSU.js.map → chunk.P5XHGSJY.js.map} +1 -1
  166. package/dist/esm/chunks/chunk.Q5YXX4DU.js +7 -0
  167. package/dist/esm/chunks/{chunk.ZIRA4PYV.js.map → chunk.Q5YXX4DU.js.map} +1 -1
  168. package/dist/esm/chunks/{chunk.MHH26REX.js → chunk.QKTNCOVX.js} +2 -2
  169. package/dist/esm/chunks/chunk.QZ57WM3D.js +7 -0
  170. package/dist/esm/chunks/{chunk.Q2Q626DG.js.map → chunk.QZ57WM3D.js.map} +1 -1
  171. package/dist/esm/chunks/chunk.R2QENXIL.js +7 -0
  172. package/dist/esm/chunks/{chunk.LYZXJYTW.js.map → chunk.R2QENXIL.js.map} +1 -1
  173. package/dist/esm/chunks/chunk.R53VHVKB.js +12 -0
  174. package/dist/esm/chunks/chunk.R53VHVKB.js.map +7 -0
  175. package/dist/esm/chunks/{chunk.42YDA5FH.js → chunk.RDQ3QGWS.js} +2 -2
  176. package/dist/esm/chunks/chunk.RFKKHN7V.js +7 -0
  177. package/dist/esm/chunks/{chunk.KGHABAFA.js.map → chunk.RFKKHN7V.js.map} +1 -1
  178. package/dist/esm/chunks/{chunk.AR6YUJUH.js → chunk.RKG66YKS.js} +2 -2
  179. package/dist/esm/chunks/chunk.RRNSZCVJ.js +7 -0
  180. package/dist/esm/chunks/{chunk.T4J66YX5.js.map → chunk.RRNSZCVJ.js.map} +4 -4
  181. package/dist/esm/chunks/chunk.S32JKL3M.js +7 -0
  182. package/dist/esm/chunks/chunk.S32JKL3M.js.map +7 -0
  183. package/dist/esm/chunks/chunk.SJQPD3CO.js +7 -0
  184. package/dist/esm/chunks/chunk.SJQPD3CO.js.map +7 -0
  185. package/dist/esm/chunks/chunk.T235SNYZ.js +7 -0
  186. package/dist/esm/chunks/{chunk.CBY7M4X6.js.map → chunk.T235SNYZ.js.map} +1 -1
  187. package/dist/esm/chunks/chunk.T4N7KZHZ.js +7 -0
  188. package/dist/esm/chunks/chunk.T4N7KZHZ.js.map +7 -0
  189. package/dist/esm/chunks/chunk.TE6ZNUAM.js +7 -0
  190. package/dist/esm/chunks/{chunk.JZ27GPZJ.js.map → chunk.TE6ZNUAM.js.map} +2 -2
  191. package/dist/esm/chunks/{chunk.WMP2OLMG.js → chunk.TNEUDWZU.js} +2 -2
  192. package/dist/esm/chunks/{chunk.WMP2OLMG.js.map → chunk.TNEUDWZU.js.map} +2 -2
  193. package/dist/esm/chunks/{chunk.BTWJPE4Y.js → chunk.TZ67MC2N.js} +2 -2
  194. package/{styles/focus-indicator/_configuration.scss → dist/esm/chunks/chunk.U6FJJGO3.js} +1 -5
  195. package/dist/esm/chunks/chunk.U6FJJGO3.js.map +7 -0
  196. package/dist/esm/chunks/chunk.V3IHX6B2.js +7 -0
  197. package/dist/esm/chunks/{chunk.GGQL3OZB.js.map → chunk.V3IHX6B2.js.map} +1 -1
  198. package/dist/esm/chunks/chunk.V564JB6A.js +7 -0
  199. package/dist/esm/chunks/chunk.V564JB6A.js.map +7 -0
  200. package/dist/esm/chunks/{chunk.7LOMI6J3.js → chunk.VGIZJ32U.js} +2 -2
  201. package/dist/esm/chunks/chunk.VZTV4GXC.js +7 -0
  202. package/dist/esm/chunks/chunk.VZTV4GXC.js.map +7 -0
  203. package/dist/esm/chunks/chunk.W5TDBDVY.js +7 -0
  204. package/dist/esm/chunks/{chunk.BIVQ4GTK.js.map → chunk.W5TDBDVY.js.map} +1 -1
  205. package/dist/esm/chunks/chunk.WA2YP4NC.js +7 -0
  206. package/dist/esm/chunks/{chunk.MROUV35N.js.map → chunk.WA2YP4NC.js.map} +1 -1
  207. package/dist/esm/chunks/{chunk.U42I3PGF.js → chunk.WFQYTXCB.js} +2 -2
  208. package/dist/esm/chunks/chunk.WNH7EHZP.js +7 -0
  209. package/dist/esm/chunks/{chunk.FQUZWINF.js.map → chunk.WNH7EHZP.js.map} +2 -2
  210. package/dist/esm/chunks/{chunk.KWBYYSH3.js → chunk.WQHKUNR7.js} +2 -2
  211. package/dist/esm/chunks/chunk.WYSUQK6Z.js +7 -0
  212. package/dist/esm/chunks/{chunk.L27ANAIL.js.map → chunk.WYSUQK6Z.js.map} +2 -2
  213. package/dist/esm/chunks/{chunk.NBLL7VAA.js → chunk.X57DRPFB.js} +2 -2
  214. package/dist/esm/chunks/{chunk.L45HXBDS.js → chunk.X7YTDVNT.js} +2 -2
  215. package/dist/esm/chunks/chunk.XBFH6M72.js +7 -0
  216. package/dist/esm/chunks/{chunk.FXGY5IVK.js.map → chunk.XBFH6M72.js.map} +2 -2
  217. package/dist/esm/chunks/chunk.XOH2JCRS.js +7 -0
  218. package/dist/esm/chunks/{chunk.AEO2X5OZ.js.map → chunk.XOH2JCRS.js.map} +1 -1
  219. package/dist/esm/chunks/chunk.Y6D5Z56X.js +7 -0
  220. package/dist/esm/chunks/{chunk.3KEXRSB5.js.map → chunk.Y6D5Z56X.js.map} +2 -2
  221. package/dist/esm/chunks/chunk.YBPAGWVG.js +7 -0
  222. package/dist/esm/chunks/chunk.YBPAGWVG.js.map +7 -0
  223. package/dist/esm/chunks/chunk.YWDYBX3G.js +7 -0
  224. package/dist/esm/chunks/chunk.YWDYBX3G.js.map +7 -0
  225. package/dist/esm/chunks/chunk.ZHMV5SR4.js +7 -0
  226. package/dist/esm/chunks/{chunk.Z37CZMMR.js.map → chunk.ZHMV5SR4.js.map} +1 -1
  227. package/dist/esm/chunks/chunk.ZLACSRD4.js +7 -0
  228. package/dist/esm/chunks/{chunk.WJCZJ6XD.js.map → chunk.ZLACSRD4.js.map} +1 -1
  229. package/dist/esm/chunks/chunk.ZPVRRFT7.js +7 -0
  230. package/dist/esm/chunks/{chunk.W7BP2DDU.js.map → chunk.ZPVRRFT7.js.map} +2 -2
  231. package/dist/esm/chunks/chunk.ZS3T6MJS.js +7 -0
  232. package/dist/esm/chunks/{chunk.YA5OQD37.js.map → chunk.ZS3T6MJS.js.map} +2 -2
  233. package/dist/esm/chunks/chunk.ZUTQPJ2B.js +7 -0
  234. package/dist/esm/chunks/{chunk.Q74SG6BV.js.map → chunk.ZUTQPJ2B.js.map} +1 -1
  235. package/dist/esm/chunks/chunk.ZWIEYVZC.js +7 -0
  236. package/dist/esm/chunks/chunk.ZWIEYVZC.js.map +7 -0
  237. package/dist/esm/chunks/chunk.ZY3ETQ3D.js +7 -0
  238. package/dist/esm/chunks/chunk.ZY3ETQ3D.js.map +7 -0
  239. package/dist/esm/chunks/chunk.ZYCKD6K5.js +7 -0
  240. package/dist/esm/chunks/{chunk.447QNYAZ.js.map → chunk.ZYCKD6K5.js.map} +1 -1
  241. package/dist/esm/circular-progress/index.js +1 -1
  242. package/dist/esm/color-picker/index.js +1 -1
  243. package/dist/esm/core/base/index.js +1 -1
  244. package/dist/esm/core/index.js +1 -1
  245. package/dist/esm/core/utils/index.js +1 -1
  246. package/dist/esm/date-picker/index.js +1 -1
  247. package/dist/esm/date-range-picker/index.js +1 -1
  248. package/dist/esm/dialog/index.js +1 -1
  249. package/dist/esm/divider/index.js +1 -1
  250. package/dist/esm/drawer/base/index.js +1 -1
  251. package/dist/esm/drawer/drawer/index.js +1 -1
  252. package/dist/esm/drawer/index.js +1 -1
  253. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  254. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  255. package/dist/esm/expansion-panel/index.js +1 -1
  256. package/dist/esm/file-picker/index.js +1 -1
  257. package/dist/esm/floating-action-button/index.js +1 -1
  258. package/dist/esm/floating-label/index.js +1 -1
  259. package/dist/esm/focus-indicator/index.js +1 -1
  260. package/dist/esm/icon/index.js +1 -1
  261. package/dist/esm/icon-button/index.js +1 -1
  262. package/dist/esm/index.js +1 -1
  263. package/dist/esm/inline-message/index.js +1 -1
  264. package/dist/esm/keyboard-shortcut/index.js +1 -1
  265. package/dist/esm/label/index.js +1 -1
  266. package/dist/esm/label-value/index.js +1 -1
  267. package/dist/esm/linear-progress/index.js +1 -1
  268. package/dist/esm/list/index.js +1 -1
  269. package/dist/esm/list/list/index.js +1 -1
  270. package/dist/esm/list/list-item/index.js +1 -1
  271. package/dist/esm/list-dropdown/index.js +1 -1
  272. package/dist/esm/menu/index.js +1 -1
  273. package/dist/esm/open-icon/index.js +1 -1
  274. package/dist/esm/overlay/index.js +7 -0
  275. package/dist/esm/overlay/index.js.map +7 -0
  276. package/dist/esm/page-state/index.js +1 -1
  277. package/dist/esm/paginator/index.js +1 -1
  278. package/dist/esm/popover/index.js +7 -0
  279. package/dist/esm/popover/index.js.map +7 -0
  280. package/dist/esm/popup/index.js +1 -1
  281. package/dist/esm/product-icon/index.js +1 -1
  282. package/dist/esm/profile-card/index.js +1 -1
  283. package/dist/esm/quantity-field/index.js +1 -1
  284. package/dist/esm/radio/index.js +1 -1
  285. package/dist/esm/radio/radio/index.js +1 -1
  286. package/dist/esm/radio/radio-group/index.js +1 -1
  287. package/dist/esm/ripple/index.js +1 -1
  288. package/dist/esm/scaffold/index.js +1 -1
  289. package/dist/esm/select/core/index.js +1 -1
  290. package/dist/esm/select/index.js +1 -1
  291. package/dist/esm/select/option/index.js +1 -1
  292. package/dist/esm/select/option-group/index.js +1 -1
  293. package/dist/esm/select/select/index.js +1 -1
  294. package/dist/esm/select/select-dropdown/index.js +1 -1
  295. package/dist/esm/skeleton/index.js +1 -1
  296. package/dist/esm/slider/index.js +1 -1
  297. package/dist/esm/split-button/index.js +1 -1
  298. package/dist/esm/split-view/index.js +1 -1
  299. package/dist/esm/split-view/split-view/index.js +1 -1
  300. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  301. package/dist/esm/stack/index.js +1 -1
  302. package/dist/esm/state-layer/index.js +1 -1
  303. package/dist/esm/stepper/index.js +1 -1
  304. package/dist/esm/stepper/step/index.js +1 -1
  305. package/dist/esm/stepper/stepper/index.js +1 -1
  306. package/dist/esm/switch/index.js +1 -1
  307. package/dist/esm/table/index.js +1 -1
  308. package/dist/esm/tabs/index.js +1 -1
  309. package/dist/esm/tabs/tab/index.js +1 -1
  310. package/dist/esm/tabs/tab-bar/index.js +1 -1
  311. package/dist/esm/text-field/index.js +1 -1
  312. package/dist/esm/time-picker/index.js +1 -1
  313. package/dist/esm/toast/index.js +1 -1
  314. package/dist/esm/toolbar/index.js +1 -1
  315. package/dist/esm/tooltip/index.js +1 -1
  316. package/dist/esm/view-switcher/index.js +1 -1
  317. package/dist/esm/view-switcher/view/index.js +1 -1
  318. package/dist/forge-dark.css +1 -1
  319. package/dist/forge.css +1 -1
  320. package/dist/theme/forge-theme.css +1 -1
  321. package/esm/app-bar/help-button/app-bar-help-button-adapter.js +3 -3
  322. package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
  323. package/esm/app-bar/menu-button/app-bar-menu-button.js +4 -4
  324. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +3 -3
  325. package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
  326. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +3 -3
  327. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +1 -0
  328. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  329. package/esm/banner/banner.js +1 -1
  330. package/esm/button/base/base-button-adapter.d.ts +0 -3
  331. package/esm/button/base/base-button-adapter.js +5 -14
  332. package/esm/button/base/base-button-constants.d.ts +28 -28
  333. package/esm/button/base/base-button-foundation.d.ts +0 -2
  334. package/esm/button/base/base-button-foundation.js +1 -4
  335. package/esm/button/base/base-button.d.ts +8 -6
  336. package/esm/button/base/base-button.js +19 -15
  337. package/esm/button/button.js +2 -2
  338. package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +6 -14
  339. package/esm/button-toggle/button-toggle/button-toggle-adapter.js +19 -45
  340. package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +11 -15
  341. package/esm/button-toggle/button-toggle/button-toggle-constants.js +6 -17
  342. package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +18 -12
  343. package/esm/button-toggle/button-toggle/button-toggle-foundation.js +74 -30
  344. package/esm/button-toggle/button-toggle/button-toggle.d.ts +67 -14
  345. package/esm/button-toggle/button-toggle/button-toggle.js +82 -29
  346. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +7 -13
  347. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +26 -91
  348. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +20 -11
  349. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +8 -2
  350. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +20 -12
  351. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +101 -97
  352. package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +75 -9
  353. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +134 -25
  354. package/esm/calendar/calendar-dom-utils.js +1 -2
  355. package/esm/calendar/calendar-foundation.d.ts +1 -1
  356. package/esm/calendar/calendar-foundation.js +13 -16
  357. package/esm/checkbox/checkbox.js +1 -1
  358. package/esm/circular-progress/circular-progress-adapter.js +8 -12
  359. package/esm/circular-progress/circular-progress.d.ts +7 -3
  360. package/esm/circular-progress/circular-progress.js +4 -2
  361. package/esm/color-picker/color-picker.js +1 -1
  362. package/esm/constants.d.ts +1 -0
  363. package/esm/constants.js +2 -0
  364. package/esm/core/base/base-adapter.d.ts +2 -0
  365. package/esm/core/base/base-adapter.js +7 -4
  366. package/esm/core/base/index.d.ts +0 -4
  367. package/esm/core/base/index.js +0 -4
  368. package/esm/core/{base/base-focusable-component.d.ts → mixins/focus/with-focusable.d.ts} +2 -2
  369. package/esm/core/{base/base-focusable-component.js → mixins/focus/with-focusable.js} +1 -1
  370. package/esm/core/{base/base-form-associated-component.d.ts → mixins/form/with-form-associated.d.ts} +4 -10
  371. package/esm/core/{base/base-form-associated-component.js → mixins/form/with-form-associated.js} +1 -1
  372. package/esm/core/mixins/form/with-form-validity.d.ts +35 -0
  373. package/esm/core/mixins/form/with-form-validity.js +43 -0
  374. package/esm/core/mixins/interactions/longpress/with-longpress-listener.d.ts +33 -0
  375. package/esm/core/mixins/interactions/longpress/with-longpress-listener.js +82 -0
  376. package/esm/core/mixins/internals/with-default-aria.d.ts +32 -0
  377. package/esm/core/mixins/internals/with-default-aria.js +22 -0
  378. package/esm/core/mixins/internals/with-element-internals.d.ts +26 -0
  379. package/esm/core/mixins/internals/with-element-internals.js +22 -0
  380. package/esm/core/{base/base-label-aware-component.d.ts → mixins/label/with-label-aware.d.ts} +2 -2
  381. package/esm/core/utils/a11y-utils.d.ts +4 -34
  382. package/esm/core/utils/a11y-utils.js +7 -61
  383. package/esm/core/utils/deferred.d.ts +29 -0
  384. package/esm/core/utils/deferred.js +32 -0
  385. package/esm/core/utils/dismissible-stack.d.ts +74 -0
  386. package/esm/core/utils/dismissible-stack.js +133 -0
  387. package/esm/core/utils/feature-detection.d.ts +5 -0
  388. package/esm/core/utils/feature-detection.js +12 -3
  389. package/esm/core/utils/form-utils.d.ts +1 -1
  390. package/esm/core/utils/position-utils.d.ts +78 -0
  391. package/esm/core/utils/position-utils.js +197 -0
  392. package/esm/core/utils/utils.d.ts +14 -0
  393. package/esm/core/utils/utils.js +25 -7
  394. package/esm/date-range-picker/date-range-picker-foundation.d.ts +1 -0
  395. package/esm/date-range-picker/date-range-picker-foundation.js +4 -0
  396. package/esm/dialog/dialog-constants.d.ts +1 -0
  397. package/esm/dialog/dialog-constants.js +2 -1
  398. package/esm/dialog/dialog-foundation.js +3 -6
  399. package/esm/dialog/dialog.js +1 -1
  400. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  401. package/esm/expansion-panel/expansion-panel-adapter.js +0 -5
  402. package/esm/floating-action-button/floating-action-button.js +1 -1
  403. package/esm/icon-button/icon-button-component-delegate.js +1 -1
  404. package/esm/icon-button/icon-button.js +1 -1
  405. package/esm/index.d.ts +2 -0
  406. package/esm/index.js +7 -1
  407. package/esm/label/label-adapter.js +3 -3
  408. package/esm/label/label-constants.d.ts +1 -1
  409. package/esm/label/label-constants.js +3 -1
  410. package/esm/linear-progress/linear-progress-adapter.js +13 -12
  411. package/esm/linear-progress/linear-progress-constants.d.ts +6 -0
  412. package/esm/linear-progress/linear-progress-constants.js +4 -2
  413. package/esm/linear-progress/linear-progress-foundation.js +2 -1
  414. package/esm/linear-progress/linear-progress.d.ts +7 -3
  415. package/esm/linear-progress/linear-progress.js +8 -11
  416. package/esm/list/list/list.js +1 -1
  417. package/esm/list/list-item/list-item.js +1 -1
  418. package/esm/menu/menu.js +1 -5
  419. package/esm/open-icon/open-icon.js +2 -2
  420. package/esm/overlay/base/base-overlay-foundation.d.ts +50 -0
  421. package/esm/overlay/base/base-overlay-foundation.js +11 -0
  422. package/esm/overlay/base/base-overlay.d.ts +49 -0
  423. package/esm/overlay/base/base-overlay.js +106 -0
  424. package/esm/overlay/base/overlay-aware-adapter.d.ts +17 -0
  425. package/esm/overlay/base/overlay-aware-adapter.js +15 -0
  426. package/esm/overlay/base/overlay-aware-foundation.d.ts +53 -0
  427. package/esm/overlay/base/overlay-aware-foundation.js +158 -0
  428. package/esm/overlay/base/overlay-aware.d.ts +36 -0
  429. package/esm/overlay/base/overlay-aware.js +102 -0
  430. package/esm/overlay/index.d.ts +10 -0
  431. package/esm/overlay/index.js +14 -0
  432. package/esm/overlay/mixins/with-overlay-aware.d.ts +105 -0
  433. package/esm/overlay/mixins/with-overlay-aware.js +152 -0
  434. package/esm/overlay/overlay-adapter.d.ts +54 -0
  435. package/esm/overlay/overlay-adapter.js +182 -0
  436. package/esm/overlay/overlay-constants.d.ts +71 -0
  437. package/esm/overlay/overlay-constants.js +48 -0
  438. package/esm/overlay/overlay-foundation.d.ts +76 -0
  439. package/esm/overlay/overlay-foundation.js +288 -0
  440. package/esm/overlay/overlay.d.ts +90 -0
  441. package/esm/overlay/overlay.js +105 -0
  442. package/esm/paginator/paginator.js +1 -1
  443. package/esm/popover/index.d.ts +10 -0
  444. package/esm/popover/index.js +14 -0
  445. package/esm/popover/popover-adapter.d.ts +46 -0
  446. package/esm/popover/popover-adapter.js +105 -0
  447. package/esm/popover/popover-constants.d.ts +42 -0
  448. package/esm/popover/popover-constants.js +42 -0
  449. package/esm/popover/popover-foundation.d.ts +139 -0
  450. package/esm/popover/popover-foundation.js +458 -0
  451. package/esm/popover/popover.d.ts +96 -0
  452. package/esm/popover/popover.js +147 -0
  453. package/esm/popup/popup-constants.d.ts +1 -1
  454. package/esm/profile-card/profile-card.js +1 -1
  455. package/esm/radio/core/radio-group-manager.js +1 -1
  456. package/esm/radio/radio/radio-adapter.js +4 -10
  457. package/esm/radio/radio/radio-constants.d.ts +0 -2
  458. package/esm/radio/radio/radio-constants.js +1 -14
  459. package/esm/radio/radio/radio.d.ts +8 -3
  460. package/esm/radio/radio/radio.js +10 -8
  461. package/esm/radio/radio-group/radio-group-adapter.js +1 -3
  462. package/esm/radio/radio-group/radio-group-constants.d.ts +0 -2
  463. package/esm/radio/radio-group/radio-group-constants.js +1 -6
  464. package/esm/radio/radio-group/radio-group.d.ts +6 -3
  465. package/esm/radio/radio-group/radio-group.js +5 -3
  466. package/esm/slider/slider.d.ts +2 -2
  467. package/esm/slider/slider.js +2 -2
  468. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  469. package/esm/state-layer/state-layer-foundation.js +9 -10
  470. package/esm/switch/switch.js +1 -1
  471. package/esm/table/table-utils.js +2 -3
  472. package/esm/tabs/tab/tab.js +1 -1
  473. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +1 -1
  474. package/esm/tabs/tab-bar/tab-bar-adapter.js +3 -3
  475. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +1 -1
  476. package/esm/tabs/tab-bar/tab-bar-constants.js +1 -1
  477. package/esm/tabs/tab-bar/tab-bar.js +2 -2
  478. package/esm/toast/toast-constants.d.ts +1 -1
  479. package/esm/toolbar/toolbar.js +1 -1
  480. package/esm/tooltip/index.d.ts +0 -1
  481. package/esm/tooltip/index.js +0 -1
  482. package/esm/tooltip/tooltip-adapter.d.ts +30 -60
  483. package/esm/tooltip/tooltip-adapter.js +105 -97
  484. package/esm/tooltip/tooltip-constants.d.ts +44 -21
  485. package/esm/tooltip/tooltip-constants.js +27 -22
  486. package/esm/tooltip/tooltip-foundation.d.ts +72 -84
  487. package/esm/tooltip/tooltip-foundation.js +265 -192
  488. package/esm/tooltip/tooltip.d.ts +93 -26
  489. package/esm/tooltip/tooltip.js +129 -31
  490. package/package.json +2 -4
  491. package/styles/app-bar/app-bar/_core.scss +2 -0
  492. package/styles/app-bar/app-bar/app-bar.scss +17 -17
  493. package/styles/app-bar/app-bar/index.scss +0 -2
  494. package/styles/app-bar/search/_core.scss +2 -0
  495. package/styles/app-bar/search/app-bar-search.scss +5 -6
  496. package/styles/app-bar/search/index.scss +0 -2
  497. package/styles/button/_core.scss +2 -0
  498. package/styles/button/button.scss +31 -25
  499. package/styles/button/index.scss +0 -2
  500. package/styles/button-toggle/button-toggle/_core.scss +78 -0
  501. package/styles/button-toggle/button-toggle/_token-utils.scss +30 -0
  502. package/styles/button-toggle/button-toggle/button-toggle.scss +65 -11
  503. package/styles/{app-bar/search/_configuration.scss → button-toggle/button-toggle/index.scss} +1 -5
  504. package/styles/button-toggle/button-toggle-group/_core.scss +62 -0
  505. package/styles/button-toggle/button-toggle-group/_token-utils.scss +30 -0
  506. package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +123 -3
  507. package/styles/button-toggle/button-toggle-group/index.scss +8 -0
  508. package/styles/checkbox/_core.scss +3 -0
  509. package/styles/checkbox/checkbox.scss +24 -26
  510. package/styles/checkbox/index.scss +0 -2
  511. package/styles/circular-progress/_core.scss +2 -0
  512. package/styles/circular-progress/circular-progress.scss +36 -27
  513. package/styles/circular-progress/index.scss +0 -2
  514. package/styles/core/styles/elevation/index.scss +1 -1
  515. package/styles/core/styles/tokens/_token-utils.scss +14 -5
  516. package/styles/core/styles/tokens/button/_tokens.scss +4 -4
  517. package/styles/core/styles/tokens/button-toggle/button-toggle/_tokens.scss +68 -0
  518. package/styles/core/styles/tokens/button-toggle/button-toggle-group/_tokens.scss +48 -0
  519. package/styles/core/styles/tokens/checkbox/_tokens.scss +6 -6
  520. package/styles/core/styles/tokens/floating-action-button/_tokens.scss +1 -1
  521. package/styles/core/styles/tokens/icon-button/_tokens.scss +3 -3
  522. package/styles/core/styles/tokens/overlay/_tokens.scss +23 -0
  523. package/styles/core/styles/tokens/popover/_tokens.scss +56 -0
  524. package/styles/core/styles/tokens/profile-card/_tokens.scss +1 -1
  525. package/styles/core/styles/tokens/radio/_tokens.scss +1 -1
  526. package/styles/core/styles/tokens/switch/_tokens.scss +3 -3
  527. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +5 -5
  528. package/styles/core/styles/tokens/theme/_token-utils.scss +12 -11
  529. package/styles/core/styles/tokens/theme/_tokens.surface.scss +3 -0
  530. package/styles/core/styles/tokens/theme/_tokens.text.scss +4 -4
  531. package/styles/core/styles/tokens/theme/_tokens.utilities.scss +3 -0
  532. package/styles/core/styles/tokens/tooltip/_tokens.scss +53 -0
  533. package/styles/dialog/_mixins.scss +1 -1
  534. package/styles/drawer/mini-drawer/_mixins.scss +0 -2
  535. package/styles/floating-action-button/_core.scss +2 -0
  536. package/styles/floating-action-button/floating-action-button.scss +14 -14
  537. package/styles/floating-action-button/index.scss +0 -2
  538. package/styles/focus-indicator/_core.scss +2 -0
  539. package/styles/focus-indicator/focus-indicator.scss +7 -8
  540. package/styles/focus-indicator/index.scss +0 -2
  541. package/styles/forge.scss +0 -1
  542. package/styles/icon-button/_core.scss +2 -0
  543. package/styles/icon-button/icon-button.scss +29 -28
  544. package/styles/icon-button/index.scss +0 -2
  545. package/styles/label/label.scss +2 -2
  546. package/styles/linear-progress/_core.scss +2 -0
  547. package/styles/linear-progress/index.scss +0 -2
  548. package/styles/linear-progress/linear-progress.scss +29 -18
  549. package/styles/list/list/_core.scss +2 -0
  550. package/styles/list/list/index.scss +0 -2
  551. package/styles/list/list/list.scss +4 -4
  552. package/styles/list/list-item/_core.scss +2 -0
  553. package/styles/list/list-item/index.scss +0 -2
  554. package/styles/list/list-item/list-item.scss +50 -44
  555. package/styles/overlay/_core.scss +46 -0
  556. package/styles/overlay/_token-utils.scss +31 -0
  557. package/styles/{checkbox/_configuration.scss → overlay/index.scss} +1 -5
  558. package/styles/overlay/overlay.scss +66 -0
  559. package/styles/popover/_animations.scss +36 -0
  560. package/styles/popover/_core.scss +56 -0
  561. package/styles/popover/_token-utils.scss +31 -0
  562. package/styles/{list/list/_configuration.scss → popover/index.scss} +1 -5
  563. package/styles/popover/popover.scss +254 -0
  564. package/styles/profile-card/_core.scss +2 -0
  565. package/styles/profile-card/index.scss +0 -2
  566. package/styles/profile-card/profile-card.scss +9 -11
  567. package/styles/radio/radio/_core.scss +3 -0
  568. package/styles/radio/radio/index.scss +0 -2
  569. package/styles/radio/radio/radio.scss +12 -15
  570. package/styles/slider/_core.scss +2 -0
  571. package/styles/slider/index.scss +0 -2
  572. package/styles/slider/slider.scss +45 -41
  573. package/styles/split-button/index.scss +0 -1
  574. package/styles/split-button/split-button.scss +3 -2
  575. package/styles/state-layer/_core.scss +3 -2
  576. package/styles/state-layer/index.scss +0 -2
  577. package/styles/state-layer/state-layer.scss +7 -8
  578. package/styles/switch/_core.scss +3 -0
  579. package/styles/switch/index.scss +0 -2
  580. package/styles/switch/switch.scss +28 -30
  581. package/styles/tabs/tab/_core.scss +2 -0
  582. package/styles/tabs/tab/index.scss +0 -2
  583. package/styles/tabs/tab/tab.scss +27 -28
  584. package/styles/tabs/tab-bar/_core.scss +2 -0
  585. package/styles/tabs/tab-bar/index.scss +0 -2
  586. package/styles/tabs/tab-bar/tab-bar.scss +21 -23
  587. package/styles/theme/_theme-dark.scss +14 -2
  588. package/styles/theme/_theme-values.scss +2 -0
  589. package/styles/toolbar/_mixins.scss +2 -1
  590. package/styles/tooltip/_animations.scss +18 -0
  591. package/styles/tooltip/_core.scss +86 -0
  592. package/styles/tooltip/_token-utils.scss +31 -0
  593. package/styles/tooltip/index.scss +6 -0
  594. package/styles/tooltip/tooltip.scss +107 -0
  595. package/dist/esm/chunks/chunk.3KEXRSB5.js +0 -7
  596. package/dist/esm/chunks/chunk.3TKTJ3BY.js +0 -7
  597. package/dist/esm/chunks/chunk.3TKTJ3BY.js.map +0 -7
  598. package/dist/esm/chunks/chunk.447QNYAZ.js +0 -7
  599. package/dist/esm/chunks/chunk.4IMRT2B3.js +0 -7
  600. package/dist/esm/chunks/chunk.4JDJ33IU.js +0 -7
  601. package/dist/esm/chunks/chunk.4QCGBFLU.js +0 -7
  602. package/dist/esm/chunks/chunk.4QCGBFLU.js.map +0 -7
  603. package/dist/esm/chunks/chunk.4XN2WGMP.js +0 -7
  604. package/dist/esm/chunks/chunk.5FCUOZSU.js +0 -7
  605. package/dist/esm/chunks/chunk.5KYKGNGY.js +0 -7
  606. package/dist/esm/chunks/chunk.5QZPUOGG.js +0 -7
  607. package/dist/esm/chunks/chunk.5ZMM75CJ.js +0 -7
  608. package/dist/esm/chunks/chunk.5ZMM75CJ.js.map +0 -7
  609. package/dist/esm/chunks/chunk.6FUXTHO6.js +0 -7
  610. package/dist/esm/chunks/chunk.6ORVPXNN.js +0 -7
  611. package/dist/esm/chunks/chunk.6ORVPXNN.js.map +0 -7
  612. package/dist/esm/chunks/chunk.6ZJIHOIG.js +0 -7
  613. package/dist/esm/chunks/chunk.6ZJIHOIG.js.map +0 -7
  614. package/dist/esm/chunks/chunk.7PVVZC7P.js +0 -7
  615. package/dist/esm/chunks/chunk.AEO2X5OZ.js +0 -7
  616. package/dist/esm/chunks/chunk.AIPDMLJD.js +0 -7
  617. package/dist/esm/chunks/chunk.APFDK6YA.js +0 -7
  618. package/dist/esm/chunks/chunk.APFDK6YA.js.map +0 -7
  619. package/dist/esm/chunks/chunk.AVRBHXDT.js +0 -177
  620. package/dist/esm/chunks/chunk.BIVQ4GTK.js +0 -7
  621. package/dist/esm/chunks/chunk.BJD6BKGC.js +0 -31
  622. package/dist/esm/chunks/chunk.BJD6BKGC.js.map +0 -7
  623. package/dist/esm/chunks/chunk.BS73Y6IN.js +0 -7
  624. package/dist/esm/chunks/chunk.BWGDZUJV.js +0 -12
  625. package/dist/esm/chunks/chunk.BWGDZUJV.js.map +0 -7
  626. package/dist/esm/chunks/chunk.CBY7M4X6.js +0 -7
  627. package/dist/esm/chunks/chunk.CZOABXEQ.js +0 -7
  628. package/dist/esm/chunks/chunk.DLBAZD5X.js +0 -7
  629. package/dist/esm/chunks/chunk.DTWXICOY.js +0 -7
  630. package/dist/esm/chunks/chunk.DTWXICOY.js.map +0 -7
  631. package/dist/esm/chunks/chunk.EMCY55MX.js +0 -7
  632. package/dist/esm/chunks/chunk.ESQWFHCF.js +0 -7
  633. package/dist/esm/chunks/chunk.ESQWFHCF.js.map +0 -7
  634. package/dist/esm/chunks/chunk.FDZSLGIW.js +0 -7
  635. package/dist/esm/chunks/chunk.FDZSLGIW.js.map +0 -7
  636. package/dist/esm/chunks/chunk.FJ5VNWYK.js +0 -7
  637. package/dist/esm/chunks/chunk.FJ5VNWYK.js.map +0 -7
  638. package/dist/esm/chunks/chunk.FJRCWWE2.js +0 -7
  639. package/dist/esm/chunks/chunk.FJRCWWE2.js.map +0 -7
  640. package/dist/esm/chunks/chunk.FQUZWINF.js +0 -7
  641. package/dist/esm/chunks/chunk.FSILMO6U.js +0 -7
  642. package/dist/esm/chunks/chunk.FXGY5IVK.js +0 -7
  643. package/dist/esm/chunks/chunk.G67LO74A.js +0 -7
  644. package/dist/esm/chunks/chunk.G67LO74A.js.map +0 -7
  645. package/dist/esm/chunks/chunk.GGQL3OZB.js +0 -7
  646. package/dist/esm/chunks/chunk.I7OY43HW.js +0 -7
  647. package/dist/esm/chunks/chunk.I7OY43HW.js.map +0 -7
  648. package/dist/esm/chunks/chunk.I7X25KEB.js +0 -7
  649. package/dist/esm/chunks/chunk.I7X25KEB.js.map +0 -7
  650. package/dist/esm/chunks/chunk.ICIGXLJW.js +0 -7
  651. package/dist/esm/chunks/chunk.ILUXZNGY.js +0 -7
  652. package/dist/esm/chunks/chunk.ILUXZNGY.js.map +0 -7
  653. package/dist/esm/chunks/chunk.JEZR25US.js +0 -7
  654. package/dist/esm/chunks/chunk.JPI4XCQL.js +0 -7
  655. package/dist/esm/chunks/chunk.JPI4XCQL.js.map +0 -7
  656. package/dist/esm/chunks/chunk.JRSFCVYQ.js +0 -7
  657. package/dist/esm/chunks/chunk.JRSFCVYQ.js.map +0 -7
  658. package/dist/esm/chunks/chunk.JZ27GPZJ.js +0 -7
  659. package/dist/esm/chunks/chunk.K3TJMIKD.js +0 -7
  660. package/dist/esm/chunks/chunk.K3TJMIKD.js.map +0 -7
  661. package/dist/esm/chunks/chunk.KGHABAFA.js +0 -7
  662. package/dist/esm/chunks/chunk.KR4BNI6X.js +0 -7
  663. package/dist/esm/chunks/chunk.KUNIEX72.js +0 -7
  664. package/dist/esm/chunks/chunk.L27ANAIL.js +0 -7
  665. package/dist/esm/chunks/chunk.L4UXWCVD.js +0 -7
  666. package/dist/esm/chunks/chunk.L4UXWCVD.js.map +0 -7
  667. package/dist/esm/chunks/chunk.LK6QHLW2.js +0 -7
  668. package/dist/esm/chunks/chunk.LYZXJYTW.js +0 -7
  669. package/dist/esm/chunks/chunk.LZ2YQYJA.js +0 -7
  670. package/dist/esm/chunks/chunk.LZ2YQYJA.js.map +0 -7
  671. package/dist/esm/chunks/chunk.MROUV35N.js +0 -7
  672. package/dist/esm/chunks/chunk.NM7FJISF.js +0 -7
  673. package/dist/esm/chunks/chunk.NM7FJISF.js.map +0 -7
  674. package/dist/esm/chunks/chunk.NVR6KN2B.js +0 -7
  675. package/dist/esm/chunks/chunk.O6F4U4VY.js +0 -7
  676. package/dist/esm/chunks/chunk.ONII3BV3.js +0 -7
  677. package/dist/esm/chunks/chunk.OTUEB7SD.js +0 -7
  678. package/dist/esm/chunks/chunk.PMSCH6VK.js +0 -7
  679. package/dist/esm/chunks/chunk.PRJHBUU2.js.map +0 -7
  680. package/dist/esm/chunks/chunk.Q2Q626DG.js +0 -7
  681. package/dist/esm/chunks/chunk.Q4YL47ZL.js +0 -7
  682. package/dist/esm/chunks/chunk.Q4YL47ZL.js.map +0 -7
  683. package/dist/esm/chunks/chunk.Q54DACHS.js +0 -7
  684. package/dist/esm/chunks/chunk.Q74SG6BV.js +0 -7
  685. package/dist/esm/chunks/chunk.QGMWM7IT.js +0 -7
  686. package/dist/esm/chunks/chunk.QGMWM7IT.js.map +0 -7
  687. package/dist/esm/chunks/chunk.RCPUTZON.js +0 -7
  688. package/dist/esm/chunks/chunk.SBKKBQDX.js +0 -7
  689. package/dist/esm/chunks/chunk.SBKKBQDX.js.map +0 -7
  690. package/dist/esm/chunks/chunk.SVVF632P.js +0 -7
  691. package/dist/esm/chunks/chunk.SVVF632P.js.map +0 -7
  692. package/dist/esm/chunks/chunk.T4J66YX5.js +0 -7
  693. package/dist/esm/chunks/chunk.THNCYT3E.js +0 -7
  694. package/dist/esm/chunks/chunk.TSUAFZGY.js +0 -7
  695. package/dist/esm/chunks/chunk.UOEJCU6R.js +0 -7
  696. package/dist/esm/chunks/chunk.VG452D3L.js +0 -7
  697. package/dist/esm/chunks/chunk.VQPSP4HV.js +0 -7
  698. package/dist/esm/chunks/chunk.VQPSP4HV.js.map +0 -7
  699. package/dist/esm/chunks/chunk.W7BP2DDU.js +0 -7
  700. package/dist/esm/chunks/chunk.WARVAVAW.js +0 -7
  701. package/dist/esm/chunks/chunk.WEHQUUXJ.js +0 -7
  702. package/dist/esm/chunks/chunk.WEHQUUXJ.js.map +0 -7
  703. package/dist/esm/chunks/chunk.WJCZJ6XD.js +0 -7
  704. package/dist/esm/chunks/chunk.X3QZY7V4.js +0 -7
  705. package/dist/esm/chunks/chunk.XQLQ73NG.js +0 -7
  706. package/dist/esm/chunks/chunk.Y4ZS3A6F.js +0 -7
  707. package/dist/esm/chunks/chunk.YA5OQD37.js +0 -7
  708. package/dist/esm/chunks/chunk.YMSX4F3J.js +0 -7
  709. package/dist/esm/chunks/chunk.Z37CZMMR.js +0 -7
  710. package/dist/esm/chunks/chunk.ZIRA4PYV.js +0 -7
  711. package/dist/esm/chunks/chunk.ZT7U7WOX.js +0 -7
  712. package/dist/esm/chunks/chunk.ZX3CGET2.js +0 -7
  713. package/dist/esm/chunks/chunk.ZX3CGET2.js.map +0 -7
  714. package/dist/tooltip/forge-tooltip.css +0 -6
  715. package/esm/core/base/base-element-internals-component.d.ts +0 -41
  716. package/esm/core/base/base-element-internals-component.js +0 -47
  717. package/esm/tooltip/tooltip-utils.d.ts +0 -13
  718. package/esm/tooltip/tooltip-utils.js +0 -53
  719. package/styles/app-bar/app-bar/_configuration.scss +0 -16
  720. package/styles/button/_configuration.scss +0 -16
  721. package/styles/button-toggle/button-toggle/_mixins.scss +0 -117
  722. package/styles/button-toggle/button-toggle-group/_mixins.scss +0 -79
  723. package/styles/circular-progress/_configuration.scss +0 -16
  724. package/styles/floating-action-button/_configuration.scss +0 -16
  725. package/styles/icon-button/_configuration.scss +0 -16
  726. package/styles/linear-progress/_configuration.scss +0 -28
  727. package/styles/list/list-item/_configuration.scss +0 -16
  728. package/styles/radio/radio/_configuration.scss +0 -10
  729. package/styles/split-button/_configuration.scss +0 -12
  730. package/styles/state-layer/_configuration.scss +0 -10
  731. package/styles/switch/_configuration.scss +0 -10
  732. package/styles/tabs/tab/_configuration.scss +0 -27
  733. package/styles/tabs/tab-bar/_configuration.scss +0 -10
  734. package/styles/tooltip/_mixins.scss +0 -98
  735. package/styles/tooltip/_variables.scss +0 -18
  736. package/styles/tooltip/forge-tooltip.scss +0 -12
  737. /package/dist/esm/chunks/{chunk.MTSWCXTY.js.map → chunk.55D2BMXX.js.map} +0 -0
  738. /package/dist/esm/chunks/{chunk.BC7WB5RG.js.map → chunk.B53Q676I.js.map} +0 -0
  739. /package/dist/esm/chunks/{chunk.U7S4DJTU.js.map → chunk.FGHSNC2V.js.map} +0 -0
  740. /package/dist/esm/chunks/{chunk.URKQICJD.js.map → chunk.FZELFLPE.js.map} +0 -0
  741. /package/dist/esm/chunks/{chunk.5EGEZ4IY.js.map → chunk.GLUKTMQU.js.map} +0 -0
  742. /package/dist/esm/chunks/{chunk.IHIKIZIT.js.map → chunk.M5JGYRH4.js.map} +0 -0
  743. /package/dist/esm/chunks/{chunk.O6MGA3XK.js.map → chunk.N75VD4S4.js.map} +0 -0
  744. /package/dist/esm/chunks/{chunk.KDJZN6EW.js.map → chunk.NW54VA4E.js.map} +0 -0
  745. /package/dist/esm/chunks/{chunk.BAQYPAUM.js.map → chunk.OXVCCHM5.js.map} +0 -0
  746. /package/dist/esm/chunks/{chunk.MHH26REX.js.map → chunk.QKTNCOVX.js.map} +0 -0
  747. /package/dist/esm/chunks/{chunk.42YDA5FH.js.map → chunk.RDQ3QGWS.js.map} +0 -0
  748. /package/dist/esm/chunks/{chunk.AR6YUJUH.js.map → chunk.RKG66YKS.js.map} +0 -0
  749. /package/dist/esm/chunks/{chunk.BTWJPE4Y.js.map → chunk.TZ67MC2N.js.map} +0 -0
  750. /package/dist/esm/chunks/{chunk.7LOMI6J3.js.map → chunk.VGIZJ32U.js.map} +0 -0
  751. /package/dist/esm/chunks/{chunk.U42I3PGF.js.map → chunk.WFQYTXCB.js.map} +0 -0
  752. /package/dist/esm/chunks/{chunk.KWBYYSH3.js.map → chunk.WQHKUNR7.js.map} +0 -0
  753. /package/dist/esm/chunks/{chunk.NBLL7VAA.js.map → chunk.X57DRPFB.js.map} +0 -0
  754. /package/dist/esm/chunks/{chunk.L45HXBDS.js.map → chunk.X7YTDVNT.js.map} +0 -0
  755. /package/esm/core/{base/base-label-aware-component.js → mixins/label/with-label-aware.js} +0 -0
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/keyboard-shortcut/keyboard-shortcut-constants.ts", "../../src/keyboard-shortcut/keyboard-shortcut-adapter.ts", "../../src/keyboard-shortcut/keyboard-shortcut-utils.ts", "../../src/keyboard-shortcut/keyboard-shortcut-foundation.ts", "../../src/keyboard-shortcut/keyboard-shortcut.ts", "../../src/keyboard-shortcut/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}keyboard-shortcut`;\n\nconst attributes = {\n KEY: 'key',\n TARGET: 'target',\n GLOBAL: 'global',\n ALLOW_WHILE_TYPING: 'allow-while-typing',\n USE_CODE: 'use-code',\n PREVENT_DEFAULT: 'prevent-default',\n CAPTURE: 'capture',\n DISABLED: 'disabled'\n};\n\nconst selectors = {\n TOOLTIP: 'forge-tooltip'\n};\n\nconst events = {\n ACTIVATE: `forge-keyboard-shortcut-activate`\n};\n\nexport const KEYBOARD_SHORTCUT_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n events\n};\n\nexport const textInputTypes = [\n 'date',\n 'datetime',\n 'datetime-local',\n 'email',\n 'month',\n 'number',\n 'password',\n 'search',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week'\n];\n\nexport type KeyboardShortcutActivateCallback = (event: KeyboardEvent) => void;\n\nexport interface IKeyCombination {\n key: string;\n modifier?: string;\n}\n", "import { matchesSelectors } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base';\nimport { IKeyboardShortcutComponent } from './keyboard-shortcut';\nimport { KEYBOARD_SHORTCUT_CONSTANTS } from './keyboard-shortcut-constants';\n\nexport interface IKeyboardShortcutAdapter extends IBaseAdapter {\n hasTargetElement(): boolean;\n destroy(): void;\n addTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void;\n removeTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void;\n setHostStyles(): void;\n setTargetElement(target: string | undefined, global: boolean): void;\n}\n\nexport class KeyboardShortcutAdapter extends BaseAdapter<IKeyboardShortcutComponent> implements IKeyboardShortcutAdapter {\n private _targetElement: HTMLElement | null;\n\n constructor(public component: IKeyboardShortcutComponent) {\n super(component);\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public destroy(): void {\n this._targetElement = null;\n }\n\n /**\n * Adds an event listener to the target element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public addTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void {\n this._targetElement?.addEventListener(type, listener, { capture });\n }\n\n /**\n * Removes an event listener from the target element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public removeTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void {\n this._targetElement?.removeEventListener(type, listener, { capture });\n }\n\n /**\n * Sets the host element's display to none\n */\n public setHostStyles(): void {\n this.component.style.display = 'none';\n }\n\n /**\n * Sets the target element based on the provided CSS selector.\n * @param {string | undefined} selector The target element selector.\n * @param {boolean} global Whether to target the document element.\n */\n public setTargetElement(selector: string | undefined, global: boolean): void {\n if (global) {\n const doc = this._component.ownerDocument || document;\n this._targetElement = doc.documentElement;\n return;\n }\n \n if (selector) {\n if (this._component.parentElement) {\n if (matchesSelectors(this._component.parentElement, selector)) {\n this._targetElement = this._component.parentElement;\n return;\n }\n this._targetElement = this._component.parentElement.querySelector(selector);\n return;\n }\n } else {\n let sibling = this._component.previousElementSibling;\n while (sibling) {\n // Ignore <forge-tooltip> elements\n if (!matchesSelectors(sibling, KEYBOARD_SHORTCUT_CONSTANTS.selectors.TOOLTIP)) {\n this._targetElement = sibling as HTMLElement;\n return;\n }\n sibling = sibling.previousElementSibling;\n }\n this._targetElement = this._component.parentElement as HTMLElement;\n return;\n }\n }\n}\n", "import { textInputTypes, IKeyCombination } from './keyboard-shortcut-constants';\n\n/** Checks if an HTML element allows text input */\nexport function elementAcceptsTextInput(el: any): boolean {\n if (el instanceof HTMLInputElement) {\n return textInputTypes.includes(el.type);\n }\n return false;\n}\n\n/** Parses a string of key combinations into an array of keys and modifiers */\nexport function parseKeyCombinations(keys: string | null | undefined, useCode = false): IKeyCombination[] {\n if (!keys || !keys.length) {\n return [];\n }\n\n const separatedKeys = keys.split(' ').map(key => key.trim());\n return separatedKeys.map(key => {\n const keyParts = key.split('+');\n const fixedKey = useCode ? keyParts.pop() || '' : fixKey((keyParts.pop() || '').toLowerCase());\n const modifiers = keyParts.sort().join('').toLowerCase();\n return { key: fixedKey, modifier: modifiers };\n });\n}\n\n/** Checks a keyboard event for a matching key combination */\nexport function matchKeyCombination(evt: KeyboardEvent, keyCombinations: IKeyCombination[], useCode = false): boolean {\n const eventKey = useCode ? evt.code : evt.key.toLowerCase();\n const modifierKeys = getModiferKeysString(evt);\n return keyCombinations.some(combination => eventKey === combination.key && modifierKeys === combination.modifier);\n}\n\n/** Returns an array of active modifier keys from a keyboard event */\nexport function getModiferKeysString(evt: KeyboardEvent): string {\n // Ensure the modifier keys are appended in alphabetical order\n let modifierString = '';\n if (evt.altKey) {\n modifierString += 'alt';\n }\n if (evt.ctrlKey) {\n modifierString += 'control';\n }\n if (evt.metaKey) {\n modifierString += 'meta';\n }\n if (evt.shiftKey) {\n modifierString += 'shift';\n }\n return modifierString;\n}\n\n/** Returns a reserved key character from its alias */\nexport function fixKey(key: string): string {\n switch (key) {\n case 'plus':\n return '+';\n case 'space':\n return ' ';\n default:\n return key;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IKeyboardShortcutAdapter } from './keyboard-shortcut-adapter';\nimport { IKeyCombination, KEYBOARD_SHORTCUT_CONSTANTS, KeyboardShortcutActivateCallback } from './keyboard-shortcut-constants';\nimport { elementAcceptsTextInput, matchKeyCombination, parseKeyCombinations } from './keyboard-shortcut-utils';\n\nexport interface IKeyboardShortcutFoundation extends ICustomElementFoundation {\n key: string | null | undefined;\n target: string;\n global: boolean;\n allowWhileTyping: boolean;\n preventDefault: boolean;\n capture: boolean;\n useCode: boolean;\n disabled: boolean;\n activateCallback: KeyboardShortcutActivateCallback | null | undefined;\n}\n\nexport class KeyboardShortcutFoundation implements IKeyboardShortcutFoundation {\n private _key: string | null | undefined;\n private _target: string;\n private _global = false;\n private _allowWhileTyping = false;\n private _preventDefault = true;\n private _capture = false;\n private _useCode = false;\n private _disabled = false;\n private _activateCallback: KeyboardShortcutActivateCallback | null | undefined;\n private _keyCombinations: IKeyCombination[];\n private _keyDownListener: (evt: KeyboardEvent) => void;\n \n constructor(private _adapter: IKeyboardShortcutAdapter) {\n this._keyDownListener = evt => this._onKeyDown(evt);\n }\n\n public initialize(): void {\n this._initializeTargetElement();\n this._adapter.setHostStyles();\n }\n\n public disconnect(): void {\n this._disconnectTargetElement();\n this._adapter.destroy();\n }\n\n private _initializeTargetElement(): void {\n this._disconnectTargetElement();\n this._adapter.setTargetElement(this._target, this._global);\n \n if (!this._adapter.hasTargetElement()) {\n throw new Error('Unable to locate the target element.');\n }\n\n if (!this._disabled) {\n this._connectTargetElement();\n }\n }\n\n private _connectTargetElement(): void {\n if (!this._adapter.hasTargetElement) {\n return;\n }\n this._adapter.addTargetEventListener('keydown', this._keyDownListener, this._capture);\n }\n\n private _disconnectTargetElement(): void {\n if (!this._adapter.hasTargetElement) {\n return;\n }\n this._adapter.removeTargetEventListener('keydown', this._keyDownListener, this._capture);\n }\n\n private _onKeyDown(evt: KeyboardEvent): void {\n // Here we may check if the target element is disabled, but disabled elements typically can't receive focus anyway\n\n // Ignore the event if it originates from a text field\n // TODO: bypass this and allow it if a modifier key is used?\n if (!this._allowWhileTyping && elementAcceptsTextInput(evt.target)) {\n return;\n }\n\n if (matchKeyCombination(evt, this._keyCombinations, this._useCode)) {\n if (this._preventDefault) {\n evt.preventDefault();\n }\n this._adapter.emitHostEvent(KEYBOARD_SHORTCUT_CONSTANTS.events.ACTIVATE, evt);\n this._activateCallback?.call(null, evt);\n }\n }\n\n /** Sets the key combinations. */\n private _setKeyCombinations(): void {\n this._keyCombinations = parseKeyCombinations(this._key, this._useCode);\n }\n\n /** Gets/sets the key binding. */\n public get key(): string | null | undefined {\n return this._key;\n }\n public set key(value: string| null | undefined) {\n if (this._key !== value) {\n this._key = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.KEY, !!this.key, this._key || '');\n this._setKeyCombinations();\n }\n // TODO: prevent multiple shortcuts with the same keys on an element (possible?)\n }\n\n /** Gets/sets the target element selector. */\n public get target(): string {\n return this._target;\n }\n public set target(value: string) {\n if (this._target !== value) {\n this._target = value;\n this._adapter.setHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.TARGET, this._target);\n if (this._adapter.isConnected) {\n this._initializeTargetElement();\n }\n }\n }\n\n /** Gets/sets the global listener state. */\n public get global(): boolean {\n return this._global;\n }\n public set global(value: boolean) {\n if (this._global !== value) {\n this._global = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.GLOBAL, this._global);\n if (this._adapter.isConnected) {\n this._initializeTargetElement();\n }\n }\n }\n\n /** Gets/sets whether the callback will be trigger while a text input has focus. */\n public get allowWhileTyping(): boolean {\n return this._allowWhileTyping;\n }\n public set allowWhileTyping(value: boolean) {\n if (this._allowWhileTyping !== value) {\n this._allowWhileTyping = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.ALLOW_WHILE_TYPING, this._allowWhileTyping);\n }\n }\n\n /** Gets/sets whether to prevent default on keyboard events. */\n public get preventDefault(): boolean {\n return this._preventDefault;\n }\n public set preventDefault(value: boolean) {\n if (this._preventDefault !== value) {\n this._preventDefault = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.PREVENT_DEFAULT, this._preventDefault);\n }\n }\n\n /** Gets/sets whether to use capturing on keyboard events. */\n public get capture(): boolean {\n return this._capture;\n }\n public set capture(value: boolean) {\n if (this._capture !== value) {\n this._disconnectTargetElement(); // We need to disconnect first to ensure our listener is removed properly based on capturing state\n this._capture = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.CAPTURE, this.capture);\n this._connectTargetElement();\n }\n }\n\n /** Gets/sets whether to match codes instead of keys on keyboard events. */\n public get useCode(): boolean{\n return this._useCode;\n }\n public set useCode(value: boolean) {\n if (this._useCode !== value) {\n this._useCode = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.USE_CODE, this._useCode);\n this._setKeyCombinations();\n }\n }\n\n /** Gets/sets whether the event will be emitted. */\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.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.DISABLED, this._disabled);\n\n if (this._disabled) {\n this._disconnectTargetElement();\n } else {\n this._connectTargetElement();\n }\n }\n }\n\n /** Gets/sets the activation callback. */\n public get activateCallback(): KeyboardShortcutActivateCallback | null | undefined {\n return this._activateCallback;\n }\n public set activateCallback(value: KeyboardShortcutActivateCallback | null | undefined) {\n this._activateCallback = value;\n }\n}\n", "import { coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\n\nimport { KeyboardShortcutAdapter } from './keyboard-shortcut-adapter';\nimport { KeyboardShortcutFoundation } from './keyboard-shortcut-foundation';\nimport { KEYBOARD_SHORTCUT_CONSTANTS, KeyboardShortcutActivateCallback } from './keyboard-shortcut-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nexport interface IKeyboardShortcutComponent extends IBaseComponent {\n key: string | null | undefined;\n keyBinding: string | null | undefined;\n target: string;\n global: boolean;\n allowWhileTyping: boolean;\n preventDefault: boolean;\n capture: boolean;\n useCode: boolean;\n disabled: boolean;\n activateCallback: KeyboardShortcutActivateCallback | null | undefined;\n}\n\ndeclare global {\n // tslint:disable-next-line: interface-name\n interface HTMLElementTagNameMap {\n 'forge-keyboard-shortcut': IKeyboardShortcutComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-keyboard-shortcut-activate': CustomEvent<KeyboardEvent>;\n }\n}\n\n/**\n * The web component class behind the `<forge-keyboard-shortcut>` custom element.\n * \n * @tag forge-keyboard-shortcut\n */\n@CustomElement({\n name: KEYBOARD_SHORTCUT_CONSTANTS.elementName\n})\nexport class KeyboardShortcutComponent extends BaseComponent implements IKeyboardShortcutComponent {\n public static get observedAttributes(): string[] {\n return [\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.KEY,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.TARGET,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.GLOBAL,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.ALLOW_WHILE_TYPING,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.PREVENT_DEFAULT,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.CAPTURE,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.USE_CODE,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.DISABLED\n ];\n }\n\n private _foundation: KeyboardShortcutFoundation;\n\n constructor() {\n super();\n this._foundation = new KeyboardShortcutFoundation(new KeyboardShortcutAdapter(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 KEYBOARD_SHORTCUT_CONSTANTS.attributes.KEY:\n this.key = newValue;\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.TARGET:\n this.target = newValue;\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.GLOBAL:\n this.global = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.ALLOW_WHILE_TYPING:\n this.allowWhileTyping = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.PREVENT_DEFAULT:\n this.preventDefault = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.CAPTURE:\n this.capture = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.USE_CODE:\n this.useCode = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets/sets the key binding. */\n @FoundationProperty()\n public declare key: string | null | undefined;\n\n /** Alias for key. */\n public get keyBinding(): string | null | undefined {\n return this.key;\n }\n public set keyBinding(value: string | null | undefined) {\n this.key = value;\n }\n\n /** Gets/sets the target element selector. */\n @FoundationProperty()\n public declare target: string;\n\n /** Gets/sets the global listener state. */\n @FoundationProperty()\n public declare global: boolean;\n\n /** Gets/sets whether the callback will be called while in a text entry field. */\n @FoundationProperty()\n public declare allowWhileTyping: boolean;\n \n /** Gets/sets whether to prevent default on keyboard events */\n @FoundationProperty()\n public declare preventDefault: boolean;\n \n /** Gets/sets whether to use capturing on keyboard events */\n @FoundationProperty()\n public declare capture: boolean;\n \n /** Gets/sets whether to match codes instead of keys on keyboard events */\n @FoundationProperty()\n public declare useCode: boolean;\n\n /** Gets/sets whether the callback will be called. */\n @FoundationProperty()\n public declare disabled: boolean;\n\n /** Gets/sets whether the activation callback. */\n @FoundationProperty()\n public declare activateCallback: KeyboardShortcutActivateCallback | null | undefined;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { KeyboardShortcutComponent } from './keyboard-shortcut';\n\nexport * from './keyboard-shortcut-adapter';\nexport * from './keyboard-shortcut-constants';\nexport * from './keyboard-shortcut-foundation';\nexport * from './keyboard-shortcut-utils';\nexport * from './keyboard-shortcut';\n\nexport function defineKeyboardShortcutComponent(): void {\n defineCustomElement(KeyboardShortcutComponent);\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "events", "KEYBOARD_SHORTCUT_CONSTANTS", "textInputTypes", "KeyboardShortcutAdapter", "BaseAdapter", "component", "type", "listener", "capture", "_a", "selector", "global", "doc", "matchesSelectors", "sibling", "KEYBOARD_SHORTCUT_CONSTANTS", "elementAcceptsTextInput", "el", "textInputTypes", "parseKeyCombinations", "keys", "useCode", "key", "keyParts", "fixedKey", "fixKey", "modifiers", "matchKeyCombination", "evt", "keyCombinations", "eventKey", "modifierKeys", "getModiferKeysString", "combination", "modifierString", "KeyboardShortcutFoundation", "_adapter", "evt", "_a", "elementAcceptsTextInput", "matchKeyCombination", "KEYBOARD_SHORTCUT_CONSTANTS", "parseKeyCombinations", "value", "KeyboardShortcutComponent", "BaseComponent", "KeyboardShortcutFoundation", "KeyboardShortcutAdapter", "KEYBOARD_SHORTCUT_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "value", "__decorateClass", "FoundationProperty", "CustomElement", "defineKeyboardShortcutComponent", "defineCustomElement", "KeyboardShortcutComponent"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{f as t}from"./chunk.RRNSZCVJ.js";var o=500;function c(s=class{}){class r extends s{constructor(){super(...arguments);this._longpressStartListener=this._onLongpressStart.bind(this);this._longpressEndListener=this._onLongpressEnd.bind(this);this._longpressContextMenuListener=this._onLongpressContextMenu.bind(this);this._longpressClickPrevent=this._onLongpressClickPrevent.bind(this);this._longpressDelay=o}_startLongpressListener(e){let n=t?"pointerdown":"touchstart";e.addEventListener(n,this._longpressStartListener)}_stopLongpressListener(e){let n=t?"pointerdown":"touchstart";e.removeEventListener(n,this._longpressStartListener),this._unlistenLongpressEnd(e)}_onLongpressStart(e){e.target.setPointerCapture(e.pointerId),this._listenLongpressEnd(e.target),this._longpressTimeout=window.setTimeout(()=>{this._onLongpress(),t||navigator.vibrate(1),e.target.addEventListener("click",this._longpressClickPrevent,{capture:!0,once:!0})},this._longpressDelay)}_onLongpressClickPrevent(e){e.stopPropagation()}_onLongpressEnd(e){this._clearTimeout(),this._unlistenLongpressEnd(e.target)}_onLongpressContextMenu(e){this._clearTimeout(),e.target.removeEventListener("click",this._longpressClickPrevent,{capture:!0}),this._unlistenLongpressEnd(e.target)}_listenLongpressEnd(e){t?(e.addEventListener("pointerup",this._longpressEndListener),e.addEventListener("pointercancel",this._longpressEndListener),e.addEventListener("contextmenu",this._longpressContextMenuListener)):e.addEventListener("touchend",this._longpressEndListener)}_unlistenLongpressEnd(e){t?(e.removeEventListener("pointerup",this._longpressEndListener),e.removeEventListener("pointercancel",this._longpressEndListener),e.removeEventListener("contextmenu",this._longpressContextMenuListener)):e.removeEventListener("touchend",this._longpressEndListener)}_clearTimeout(){window.clearTimeout(this._longpressTimeout),this._longpressTimeout=void 0}}return r}export{c as a};
7
+ //# sourceMappingURL=chunk.C72LM2AL.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/core/mixins/interactions/longpress/with-longpress-listener.ts"],
4
+ "sourcesContent": ["import { AbstractConstructor, canUserHoverElements, MixinBase } from '../../../../constants';\n\n/**\n * The delay in milliseconds before a longpress event is detected.\n */\nexport const LONGPRESS_TRIGGER_DELAY = 500;\n\nexport declare abstract class WithLongpressListenerContract {\n /**\n * The delay in milliseconds before a longpress event is detected.\n */\n protected _longpressDelay: number;\n\n /**\n * Called when a longpress event is detected.\n */\n protected abstract _onLongpress(): void;\n\n /**\n * Called after a longpress event has been detected, but after the user has released the pointer.\n */\n protected _onLongpressEnd(evt: PointerEvent | TouchEvent): void;\n\n /**\n * Starts listening for longpress events.\n */\n protected _startLongpressListener(el: HTMLElement): void;\n\n /**\n * Stops listening for longpress events.\n */\n protected _stopLongpressListener(el: HTMLElement): void;\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function WithLongpressListener<TBase extends MixinBase<object>>(base: TBase = (class {} as unknown) as TBase) {\n abstract class LongpressListener extends base {\n private _longpressTimeout: number | undefined;\n private _longpressStartListener = this._onLongpressStart.bind(this);\n private _longpressEndListener = this._onLongpressEnd.bind(this);\n private _longpressContextMenuListener = this._onLongpressContextMenu.bind(this);\n private _longpressClickPrevent = this._onLongpressClickPrevent.bind(this);\n \n protected _longpressDelay = LONGPRESS_TRIGGER_DELAY;\n\n protected abstract _onLongpress(): void;\n\n protected _startLongpressListener(el: HTMLElement): void {\n const type = canUserHoverElements ? 'pointerdown' : 'touchstart';\n el.addEventListener(type, this._longpressStartListener);\n }\n\n protected _stopLongpressListener(el: HTMLElement): void {\n const type = canUserHoverElements ? 'pointerdown' : 'touchstart';\n el.removeEventListener(type, this._longpressStartListener);\n this._unlistenLongpressEnd(el);\n }\n\n private _onLongpressStart(evt: PointerEvent): void {\n (evt.target as HTMLElement).setPointerCapture(evt.pointerId);\n this._listenLongpressEnd(evt.target as HTMLElement);\n this._longpressTimeout = window.setTimeout(() => {\n this._onLongpress();\n\n if (!canUserHoverElements) {\n navigator.vibrate(1);\n }\n\n // We need to prevent any ghost click events from firing after a longpress is detected\n (evt.target as HTMLElement).addEventListener('click', this._longpressClickPrevent, { capture: true, once: true });\n }, this._longpressDelay);\n }\n\n private _onLongpressClickPrevent(evt: MouseEvent): void {\n evt.stopPropagation();\n }\n\n protected _onLongpressEnd(evt: PointerEvent | TouchEvent): void {\n this._clearTimeout();\n this._unlistenLongpressEnd(evt.target as HTMLElement);\n }\n\n private _onLongpressContextMenu(evt: PointerEvent | TouchEvent): void {\n this._clearTimeout();\n (evt.target as HTMLElement).removeEventListener('click', this._longpressClickPrevent, { capture: true });\n this._unlistenLongpressEnd(evt.target as HTMLElement);\n }\n\n private _listenLongpressEnd(el: HTMLElement): void {\n if (!canUserHoverElements) {\n el.addEventListener('touchend', this._longpressEndListener);\n } else {\n el.addEventListener('pointerup', this._longpressEndListener);\n el.addEventListener('pointercancel', this._longpressEndListener);\n el.addEventListener('contextmenu', this._longpressContextMenuListener);\n }\n }\n\n private _unlistenLongpressEnd(el: HTMLElement): void {\n if (!canUserHoverElements) {\n el.removeEventListener('touchend', this._longpressEndListener);\n } else {\n el.removeEventListener('pointerup', this._longpressEndListener);\n el.removeEventListener('pointercancel', this._longpressEndListener);\n el.removeEventListener('contextmenu', this._longpressContextMenuListener);\n }\n }\n\n private _clearTimeout(): void {\n window.clearTimeout(this._longpressTimeout);\n this._longpressTimeout = undefined;\n }\n }\n\n return LongpressListener as AbstractConstructor<WithLongpressListenerContract> & TBase;\n}\n"],
5
+ "mappings": "wCAKO,IAAMA,EAA0B,IA8BhC,SAASC,EAAuDC,EAAe,KAAM,CAAC,EAAwB,CACnH,MAAeC,UAA0BD,CAAK,CAA9C,kCAEE,KAAQ,wBAA0B,KAAK,kBAAkB,KAAK,IAAI,EAClE,KAAQ,sBAAwB,KAAK,gBAAgB,KAAK,IAAI,EAC9D,KAAQ,8BAAgC,KAAK,wBAAwB,KAAK,IAAI,EAC9E,KAAQ,uBAAyB,KAAK,yBAAyB,KAAK,IAAI,EAExE,KAAU,gBAAkBF,EAIlB,wBAAwBI,EAAuB,CACvD,IAAMC,EAAOC,EAAuB,cAAgB,aACpDF,EAAG,iBAAiBC,EAAM,KAAK,uBAAuB,CACxD,CAEU,uBAAuBD,EAAuB,CACtD,IAAMC,EAAOC,EAAuB,cAAgB,aACpDF,EAAG,oBAAoBC,EAAM,KAAK,uBAAuB,EACzD,KAAK,sBAAsBD,CAAE,CAC/B,CAEQ,kBAAkBG,EAAyB,CAChDA,EAAI,OAAuB,kBAAkBA,EAAI,SAAS,EAC3D,KAAK,oBAAoBA,EAAI,MAAqB,EAClD,KAAK,kBAAoB,OAAO,WAAW,IAAM,CAC/C,KAAK,aAAa,EAEbD,GACH,UAAU,QAAQ,CAAC,EAIpBC,EAAI,OAAuB,iBAAiB,QAAS,KAAK,uBAAwB,CAAE,QAAS,GAAM,KAAM,EAAK,CAAC,CAClH,EAAG,KAAK,eAAe,CACzB,CAEQ,yBAAyBA,EAAuB,CACtDA,EAAI,gBAAgB,CACtB,CAEU,gBAAgBA,EAAsC,CAC9D,KAAK,cAAc,EACnB,KAAK,sBAAsBA,EAAI,MAAqB,CACtD,CAEQ,wBAAwBA,EAAsC,CACpE,KAAK,cAAc,EAClBA,EAAI,OAAuB,oBAAoB,QAAS,KAAK,uBAAwB,CAAE,QAAS,EAAK,CAAC,EACvG,KAAK,sBAAsBA,EAAI,MAAqB,CACtD,CAEQ,oBAAoBH,EAAuB,CAC5CE,GAGHF,EAAG,iBAAiB,YAAa,KAAK,qBAAqB,EAC3DA,EAAG,iBAAiB,gBAAiB,KAAK,qBAAqB,EAC/DA,EAAG,iBAAiB,cAAe,KAAK,6BAA6B,GAJrEA,EAAG,iBAAiB,WAAY,KAAK,qBAAqB,CAM9D,CAEQ,sBAAsBA,EAAuB,CAC9CE,GAGHF,EAAG,oBAAoB,YAAa,KAAK,qBAAqB,EAC9DA,EAAG,oBAAoB,gBAAiB,KAAK,qBAAqB,EAClEA,EAAG,oBAAoB,cAAe,KAAK,6BAA6B,GAJxEA,EAAG,oBAAoB,WAAY,KAAK,qBAAqB,CAMjE,CAEQ,eAAsB,CAC5B,OAAO,aAAa,KAAK,iBAAiB,EAC1C,KAAK,kBAAoB,MAC3B,CACF,CAEA,OAAOD,CACT",
6
+ "names": ["LONGPRESS_TRIGGER_DELAY", "WithLongpressListener", "base", "LongpressListener", "el", "type", "canUserHoverElements", "evt"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{b,d as E}from"./chunk.4OG3OGVO.js";import{a as g}from"./chunk.ZY3ETQ3D.js";import{a as l}from"./chunk.NVUMRW44.js";import{a as v,b as T}from"./chunk.RRNSZCVJ.js";import{a as m,e as _,k as B}from"./chunk.TPXXHX5J.js";import{k as p}from"./chunk.J2M2MXP2.js";import{d as r}from"./chunk.M3QDAYD2.js";var c=class extends g{constructor(o){super(o)}startButtonObserver(){this._buttonChangeObserver=new MutationObserver(o=>{let s=o.reduce((t,{addedNodes:u})=>{let d=Array.from(u).filter(a=>a.nodeType===Node.ELEMENT_NODE).map(a=>a.nodeName.toLowerCase()===b.elementName?a:a.querySelector(b.elementName)).filter(a=>!!a);return t.concat(d)},[]);s.length&&(s.forEach(t=>{t.variant=this._component.variant,t.theme=this._component.theme,t.disabled=this._component.disabled,t.dense=this._component.dense}),this.setPill(this._component.pill))}),this._buttonChangeObserver.observe(this._component,{childList:!0,subtree:!0})}destroyButtonObserver(){var o;(o=this._buttonChangeObserver)==null||o.disconnect(),this._buttonChangeObserver=void 0}setVariant(o){this._getButtons().forEach(t=>t.variant=o)}setTheme(o){this._getButtons().forEach(t=>t.theme=o)}setDisabled(o){this._getButtons().forEach(t=>t.disabled=o)}setDense(o){this._getButtons().forEach(t=>t.dense=o)}setPill(o){let s=this._getButtons();s.length>2&&Array.from(s).slice(1,s.length-1).filter(({pill:d})=>d).forEach(d=>d.pill=!1);let t=s[0];t&&(t.pill=o);let u=s[s.length-1];u&&(u.pill=o)}_getButtons(){return this._component.querySelectorAll(b.elementName)}};var A=`${T}split-button`,S={VARIANT:"variant",THEME:"theme",DISABLED:"disabled",DENSE:"dense",PILL:"pill"},I={DEFAULT_VARIANT:"text",DEFAULT_THEME:"primary"},i={elementName:A,attributes:S,defaults:I};var f=class{constructor(e){this._adapter=e;this._variant=i.defaults.DEFAULT_VARIANT;this._theme=i.defaults.DEFAULT_THEME;this._disabled=!1;this._dense=!1;this._pill=!1}initialize(){this._adapter.startButtonObserver(),this._adapter.setVariant(this._variant),this._adapter.setTheme(this._theme),this._adapter.setDisabled(this._disabled),this._adapter.setDense(this._dense),this._adapter.setPill(this._pill)}destroy(){this._adapter.destroyButtonObserver()}get variant(){return this._variant}set variant(e){this._variant!==e&&(this._variant=e!=null?e:i.defaults.DEFAULT_VARIANT,this._adapter.setVariant(e),this._adapter.setHostAttribute(i.attributes.VARIANT,this._variant))}get theme(){return this._theme}set theme(e){this._theme!==e&&(this._theme=e!=null?e:i.defaults.DEFAULT_THEME,this._adapter.setTheme(this._theme),this._adapter.setHostAttribute(i.attributes.THEME,this._theme))}get disabled(){return this._disabled}set disabled(e){this._disabled!==e&&(this._disabled=e,this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled))}get dense(){return this._dense}set dense(e){this._dense!==e&&(this._dense=e,this._adapter.setDense(this._dense),this._adapter.toggleHostAttribute(i.attributes.DENSE,this._dense))}get pill(){return this._pill}set pill(e){this._pill!==e&&(this._pill=e,this._adapter.setPill(this._pill),this._adapter.toggleHostAttribute(i.attributes.PILL,this._pill))}};var N="<template><slot></slot></template>",x=":host{--_split-button-min-width:var(--forge-split-button-min-width, 0);--_split-button-gap:var(--forge-split-button-gap, var(--forge-border-thin, 1px));--_split-button-focus-indicator-offset:var(--forge-split-button-focus-indicator-offset, var(--forge-button-focus-indicator-offset, 4px));--_split-button-focus-indicator-divider-offset:var(--forge-split-button-focus-indicator-divider-offset, var(--_split-button-gap));--_split-button-focus-indicator-offset-adjusted:calc(var(--_split-button-focus-indicator-offset) + var(--_split-button-focus-indicator-divider-offset) * 2)}:host{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}:host([hidden]){display:none}::slotted(*){--forge-button-min-width:var(--_split-button-min-width);--forge-button-focus-indicator-offset:var(--_split-button-focus-indicator-offset)}::slotted(:first-child){--forge-button-shape-start-end-radius:0;--forge-button-shape-end-end-radius:0;--forge-focus-indicator-shape-start-end:0;--forge-focus-indicator-shape-end-end:0;--forge-focus-indicator-offset-inline:0 var(--_split-button-focus-indicator-offset-adjusted)}::slotted(:not(:first-child):not(:last-child)){--forge-button-shape:0;--forge-focus-indicator-shape:0;--forge-focus-indicator-offset-inline:var(--_split-button-focus-indicator-offset-adjusted)}::slotted(:last-child){--forge-button-shape-start-start-radius:0;--forge-button-shape-end-start-radius:0;--forge-focus-indicator-shape-start-start:0;--forge-focus-indicator-shape-end-start:0;--forge-focus-indicator-offset-inline:var(--_split-button-focus-indicator-offset-adjusted) 0}:host([variant=outlined]){--_split-button-focus-indicator-divider-offset:var(--forge-split-button-focus-indicator-divider-offset, 0px)}:host([variant=outlined]) ::slotted(:not(:first-child)){-webkit-margin-start:calc(-1 * var(--_split-button-gap));margin-inline-start:calc(-1 * var(--_split-button-gap))}:host(:is([variant=tonal],[variant=filled],[variant=raised],:not([variant]))) ::slotted(:not(:last-child)){-webkit-margin-end:var(--_split-button-gap);margin-inline-end:var(--_split-button-gap)}",n=class extends B{constructor(){super();_(this,N,x),this._foundation=new f(new c(this))}static get observedAttributes(){return[i.attributes.VARIANT,i.attributes.THEME,i.attributes.DISABLED,i.attributes.DENSE,i.attributes.PILL]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(o,s,t){switch(o){case i.attributes.VARIANT:this.variant=t;break;case i.attributes.THEME:this.theme=t;break;case i.attributes.DISABLED:this.disabled=p(t);break;case i.attributes.DENSE:this.dense=p(t);break;case i.attributes.PILL:this.pill=p(t);break}}};r([l()],n.prototype,"variant",2),r([l()],n.prototype,"theme",2),r([l()],n.prototype,"disabled",2),r([l()],n.prototype,"dense",2),r([l()],n.prototype,"pill",2),n=r([v({name:i.elementName,dependencies:[E]})],n);function Y(){m(n)}export{c as a,i as b,f as c,n as d,Y as e};
7
+ //# sourceMappingURL=chunk.DGG5ABL3.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/split-button/split-button-adapter.ts", "../../src/split-button/split-button-constants.ts", "../../src/split-button/split-button-foundation.ts", "../../src/split-button/split-button.ts", "../../src/split-button/index.ts"],
4
4
  "sourcesContent": ["import { ButtonTheme, BUTTON_CONSTANTS, IButtonComponent } from '../button';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { ISplitButtonComponent } from './split-button';\nimport { SplitButtonVariant } from './split-button-constants';\n\nexport interface ISplitButtonAdapter extends IBaseAdapter {\n setVariant(variant: SplitButtonVariant): void;\n setTheme(theme: ButtonTheme): void;\n setDisabled(value: boolean): void;\n setDense(value: boolean): void;\n setPill(value: boolean): void;\n startButtonObserver(): void;\n destroyButtonObserver(): void;\n}\n\nexport class SplitButtonAdapter extends BaseAdapter<ISplitButtonComponent> implements ISplitButtonAdapter {\n private _buttonChangeObserver: MutationObserver | undefined;\n\n constructor(component: ISplitButtonComponent) {\n super(component);\n }\n\n public startButtonObserver(): void {\n // This observer is used to keep the buttons in sync with the split button state when they are added to DOM\n this._buttonChangeObserver = new MutationObserver(mutations => {\n // Find all `<forge-button>` elements that are contained within the added nodes\n const addedButtons = mutations.reduce((buttons, { addedNodes }) => {\n const addedButtonNodes = Array.from(addedNodes)\n .filter(node => node.nodeType === Node.ELEMENT_NODE)\n .map((node: HTMLElement) => {\n if (node.nodeName.toLowerCase() === BUTTON_CONSTANTS.elementName) {\n return node;\n }\n return node.querySelector(BUTTON_CONSTANTS.elementName);\n })\n .filter(node => !!node) as IButtonComponent[];\n return buttons.concat(addedButtonNodes);\n }, [] as IButtonComponent[]);\n\n if (!addedButtons.length) {\n return;\n }\n \n addedButtons.forEach(button => {\n button.variant = this._component.variant;\n button.theme = this._component.theme;\n button.disabled = this._component.disabled;\n button.dense = this._component.dense;\n });\n\n this.setPill(this._component.pill);\n });\n this._buttonChangeObserver.observe(this._component, { childList: true, subtree: true });\n }\n\n public destroyButtonObserver(): void {\n this._buttonChangeObserver?.disconnect();\n this._buttonChangeObserver = undefined;\n }\n\n public setVariant(variant: SplitButtonVariant): void {\n const buttons = this._getButtons();\n buttons.forEach(button => button.variant = variant);\n }\n\n public setTheme(theme: ButtonTheme): void {\n const buttons = this._getButtons();\n buttons.forEach(button => button.theme = theme);\n }\n\n public setDisabled(value: boolean): void {\n const buttons = this._getButtons();\n buttons.forEach(button => button.disabled = value);\n }\n\n public setDense(value: boolean): void {\n const buttons = this._getButtons();\n buttons.forEach(button => button.dense = value);\n }\n\n public setPill(value: boolean): void {\n const buttons = this._getButtons();\n\n // First we reset all the middle buttons to not be pill buttons\n if (buttons.length > 2) {\n Array.from(buttons)\n .slice(1, buttons.length - 1)\n .filter(({ pill }) => pill)\n .forEach(button => button.pill = false);\n }\n\n // Only the first and last buttons need to be pill shaped\n const firstButton = buttons[0];\n if (firstButton) {\n firstButton.pill = value;\n }\n\n const lastButton = buttons[buttons.length - 1];\n if (lastButton) {\n lastButton.pill = value;\n }\n }\n\n private _getButtons(): NodeListOf<IButtonComponent> {\n return this._component.querySelectorAll(BUTTON_CONSTANTS.elementName);\n }\n}\n", "import { ButtonTheme, ButtonVariant } from '../button';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}split-button`;\n\nconst attributes = {\n VARIANT: 'variant',\n THEME: 'theme',\n DISABLED: 'disabled',\n DENSE: 'dense',\n PILL: 'pill'\n};\n\nconst defaults = {\n DEFAULT_VARIANT: 'text' as SplitButtonVariant,\n DEFAULT_THEME: 'primary' as ButtonTheme\n};\n\nexport const SPLIT_BUTTON_CONSTANTS = {\n elementName,\n attributes,\n defaults\n};\n\nexport type SplitButtonVariant = Extract<ButtonVariant, 'text' | 'outlined' | 'tonal' | 'filled' | 'raised'>;\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { ButtonTheme } from '../button/button-constants';\nimport { ISplitButtonAdapter } from './split-button-adapter';\nimport { SplitButtonVariant, SPLIT_BUTTON_CONSTANTS } from './split-button-constants';\n\nexport interface ISplitButtonFoundation extends ICustomElementFoundation {\n variant: SplitButtonVariant;\n theme: ButtonTheme;\n disabled: boolean;\n dense: boolean;\n pill: boolean;\n}\n\nexport class SplitButtonFoundation implements ISplitButtonFoundation {\n private _variant: SplitButtonVariant = SPLIT_BUTTON_CONSTANTS.defaults.DEFAULT_VARIANT;\n public _theme: ButtonTheme = SPLIT_BUTTON_CONSTANTS.defaults.DEFAULT_THEME;\n private _disabled = false;\n private _dense = false;\n private _pill = false;\n\n constructor(private readonly _adapter: ISplitButtonAdapter) {}\n\n public initialize(): void {\n this._adapter.startButtonObserver();\n\n this._adapter.setVariant(this._variant);\n this._adapter.setTheme(this._theme);\n this._adapter.setDisabled(this._disabled);\n this._adapter.setDense(this._dense);\n this._adapter.setPill(this._pill);\n }\n\n public destroy(): void {\n this._adapter.destroyButtonObserver();\n }\n\n public get variant(): SplitButtonVariant {\n return this._variant;\n }\n public set variant(value: SplitButtonVariant) {\n if (this._variant !== value) {\n this._variant = value ?? SPLIT_BUTTON_CONSTANTS.defaults.DEFAULT_VARIANT;\n this._adapter.setVariant(value);\n this._adapter.setHostAttribute(SPLIT_BUTTON_CONSTANTS.attributes.VARIANT, this._variant);\n }\n }\n\n public get theme(): ButtonTheme {\n return this._theme;\n }\n public set theme(value: ButtonTheme) {\n if (this._theme !== value) {\n this._theme = value ?? SPLIT_BUTTON_CONSTANTS.defaults.DEFAULT_THEME;\n this._adapter.setTheme(this._theme);\n this._adapter.setHostAttribute(SPLIT_BUTTON_CONSTANTS.attributes.THEME, this._theme);\n }\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(SPLIT_BUTTON_CONSTANTS.attributes.DISABLED, this._disabled);\n }\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._adapter.setDense(this._dense);\n this._adapter.toggleHostAttribute(SPLIT_BUTTON_CONSTANTS.attributes.DENSE, this._dense);\n }\n }\n\n public get pill(): boolean {\n return this._pill;\n }\n public set pill(value: boolean) {\n if (this._pill !== value) {\n this._pill = value;\n this._adapter.setPill(this._pill);\n this._adapter.toggleHostAttribute(SPLIT_BUTTON_CONSTANTS.attributes.PILL, this._pill);\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { ButtonComponent, ButtonTheme } from '../button';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { SplitButtonAdapter } from './split-button-adapter';\nimport { SplitButtonVariant, SPLIT_BUTTON_CONSTANTS } from './split-button-constants';\nimport { SplitButtonFoundation } from './split-button-foundation';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{--_split-button-min-width:var(--forge-split-button-min-width, 0);--_split-button-gap:var(--forge-split-button-gap, var(--forge-border-thin, 1px));--_split-button-focus-indicator-offset:var(--forge-split-button-focus-indicator-offset, var(--forge-button-focus-indicator-offset, 4px));--_split-button-focus-indicator-divider-offset:var(--forge-split-button-focus-indicator-divider-offset, var(--_split-button-gap));--_split-button-focus-indicator-offset-adjusted:calc(var(--_split-button-focus-indicator-offset) + var(--_split-button-focus-indicator-divider-offset) * 2)}:host{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}:host([hidden]){display:none}::slotted(*){--forge-button-min-width:var(--_split-button-min-width);--forge-button-focus-indicator-offset:var(--_split-button-focus-indicator-offset)}::slotted(:first-child){--forge-button-shape-start-end-radius:0;--forge-button-shape-end-end-radius:0;--forge-focus-indicator-shape-start-end:0;--forge-focus-indicator-shape-end-end:0;--forge-focus-indicator-offset-inline:0 var(--_split-button-focus-indicator-offset-adjusted)}::slotted(:not(:first-child):not(:last-child)){--forge-button-shape:0;--forge-focus-indicator-shape:0;--forge-focus-indicator-offset-inline:var(--_split-button-focus-indicator-offset-adjusted)}::slotted(:last-child){--forge-button-shape-start-start-radius:0;--forge-button-shape-end-start-radius:0;--forge-focus-indicator-shape-start-start:0;--forge-focus-indicator-shape-end-start:0;--forge-focus-indicator-offset-inline:var(--_split-button-focus-indicator-offset-adjusted) 0}:host([variant=outlined]){--_split-button-focus-indicator-divider-offset:var(--forge-split-button-focus-indicator-divider-offset, 0px)}:host([variant=outlined]) ::slotted(:not(:first-child)){-webkit-margin-start:calc(-1 * var(--_split-button-gap));margin-inline-start:calc(-1 * var(--_split-button-gap))}:host(:is([variant=tonal],[variant=filled],[variant=raised],:not([variant]))) ::slotted(:not(:last-child)){-webkit-margin-end:var(--_split-button-gap);margin-inline-end:var(--_split-button-gap)}';\n\nexport interface ISplitButtonComponent extends IBaseComponent {\n variant: SplitButtonVariant;\n theme: ButtonTheme;\n disabled: boolean;\n dense: boolean;\n pill: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-split-button': ISplitButtonComponent;\n }\n}\n\n/**\n * @tag forge-split-button\n * \n * @summary Split buttons are used for splitting an action into two parts.\n * \n * @property {SplitButtonVariant} variant - The variant of the buttons. Valid values are `text`, `outlined`, `tonal`, `filled`, and `raised`.\n * @property {ButtonTheme} theme - The theme of the buttons. Valid values are `primary`, `secondary`, `tertiary`, `success`, `error`, `warning`, `info`.\n * @property {boolean} disabled - Whether or not the buttons are disabled.\n * @property {boolean} dense - Whether or not the buttons are dense.\n * @property {boolean} pill - Whether or not the buttons are pill-shaped.\n * \n * @attribute {SplitButtonVariant} variant - The variant of the buttons. Valid values are `text`, `outlined`, `tonal`, `filled`, and `raised`.\n * @attribute {ButtonTheme} theme - The theme of the buttons. Valid values are `primary`, `secondary`, `tertiary`, `success`, `error`, `warning`, `info`.\n * @attribute {boolean} disabled - Whether or not the buttons are disabled.\n * @attribute {boolean} dense - Whether or not the buttons are dense.\n * @attribute {boolean} pill - Whether or not the buttons are pill-shaped.\n * \n * @cssproperty --forge-split-button-min-width - The minimum width of the slotted buttons.\n * @cssproperty --forge-split-button-gap - The gap between the slotted buttons.\n * @cssproperty --forge-split-button-focus-indicator-offset - The offset of the focus indicator around the buttons.\n * @cssproperty --forge-split-button-focus-indicator-divider-offset - The offset of the focus indicator divider when using outlined buttons.\n * \n * @slot - This is a default/unnamed slot.\n */\n@CustomElement({\n name: SPLIT_BUTTON_CONSTANTS.elementName,\n dependencies: [\n ButtonComponent\n ]\n})\nexport class SplitButtonComponent extends BaseComponent implements ISplitButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n SPLIT_BUTTON_CONSTANTS.attributes.VARIANT,\n SPLIT_BUTTON_CONSTANTS.attributes.THEME,\n SPLIT_BUTTON_CONSTANTS.attributes.DISABLED,\n SPLIT_BUTTON_CONSTANTS.attributes.DENSE,\n SPLIT_BUTTON_CONSTANTS.attributes.PILL\n ];\n }\n\n private readonly _foundation: SplitButtonFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new SplitButtonFoundation(new SplitButtonAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case SPLIT_BUTTON_CONSTANTS.attributes.VARIANT:\n this.variant = newValue as SplitButtonVariant;\n break;\n case SPLIT_BUTTON_CONSTANTS.attributes.THEME:\n this.theme = newValue as ButtonTheme;\n break;\n case SPLIT_BUTTON_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case SPLIT_BUTTON_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case SPLIT_BUTTON_CONSTANTS.attributes.PILL:\n this.pill = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare variant: SplitButtonVariant;\n\n @FoundationProperty()\n public declare theme: ButtonTheme;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare dense: boolean;\n\n @FoundationProperty()\n public declare pill: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { SplitButtonComponent } from './split-button';\n\nexport * from './split-button-adapter';\nexport * from './split-button-constants';\nexport * from './split-button-foundation';\nexport * from './split-button';\n\nexport function defineSplitButtonComponent(): void {\n defineCustomElement(SplitButtonComponent);\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["SplitButtonAdapter", "BaseAdapter", "component", "mutations", "addedButtons", "buttons", "addedNodes", "addedButtonNodes", "node", "BUTTON_CONSTANTS", "button", "_a", "variant", "theme", "value", "pill", "firstButton", "lastButton", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "defaults", "SPLIT_BUTTON_CONSTANTS", "SplitButtonFoundation", "_adapter", "SPLIT_BUTTON_CONSTANTS", "value", "template", "styles", "SplitButtonComponent", "BaseComponent", "attachShadowTemplate", "SplitButtonFoundation", "SplitButtonAdapter", "SPLIT_BUTTON_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "ButtonComponent", "defineSplitButtonComponent", "defineCustomElement", "SplitButtonComponent"]
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 s,f as D,g as L,h as y}from"./chunk.FZELFLPE.js";import{b as A}from"./chunk.FWWBFNQA.js";import{d as C}from"./chunk.WA2YP4NC.js";import{d as x}from"./chunk.3VHQPHQP.js";import{b as N}from"./chunk.QZ57WM3D.js";import{b as f}from"./chunk.4O6OEUGY.js";import{c as v}from"./chunk.5WVOPPBY.js";import{f as b}from"./chunk.74JHE77R.js";import{e as S}from"./chunk.74HZVSDM.js";import{d as E}from"./chunk.GTGXHY4A.js";import{a as c}from"./chunk.NVUMRW44.js";import{a as _,b as h}from"./chunk.RRNSZCVJ.js";import{a as u,e as T}from"./chunk.TPXXHX5J.js";import{k as g}from"./chunk.J2M2MXP2.js";import{a as m,d as a}from"./chunk.M3QDAYD2.js";var O=`${h}select-dropdown`,w={TARGET:"target",SELECTED_TEXT_TARGET:"selected-text-target",SYNC_SELECTED_TEXT:"sync-selected-text"},B=m({},w),M={SCROLLED_BOTTOM:`${O}-scrolled-bottom`},o={elementName:O,attributes:B,events:M};var l=class extends D{constructor(t){super(t);this._syncSelectedText=!1;this._originalTargetText="";this._targetDisconnectedListener=()=>this._onTargetDisconnected()}initialize(){this._tryAttach(),super.initialize()}disconnect(){super.disconnect(),this._adapter.isAttached()&&this._detach()}_onDropdownScrollEnd(){this._adapter.emitHostEvent(o.events.SCROLLED_BOTTOM)}_applyValue(t){super._applyValue(t),this._applySelection()}_applySelection(){if(super._applySelection(),this._syncSelectedText||typeof this._selectedTextBuilder=="function"){let t=this._getSelectedText();t||(t=this._originalTargetText),this._adapter.setTargetText(t||"",this._selectedTextTarget)}}_tryAttach(){this._adapter.attach(this._target),this._adapter.isAttached()&&(this._targetDisconnectedDestructor=this._adapter.setTargetDisconnectedListener(this._targetDisconnectedListener),this._originalTargetText=this._adapter.getTargetText(this._selectedTextTarget),this.initializeTarget())}_detach(){this._adapter.detach(),this._targetDisconnectedDestructor&&(this._targetDisconnectedDestructor(),this._targetDisconnectedDestructor=void 0)}_onTargetDisconnected(){this._adapter.detach()}get target(){return this._target}set target(t){this._target!==t&&(this._target=t,this._adapter.isAttached()&&this._detach(),this._tryAttach())}get selectedTextTarget(){return this._selectedTextTarget}set selectedTextTarget(t){this._selectedTextTarget!==t&&(this._selectedTextTarget=t)}get syncSelectedText(){return this._syncSelectedText}set syncSelectedText(t){this._syncSelectedText!==t&&(this._syncSelectedText=t)}};var d=class extends y{constructor(e){super(e)}initializeAccessibility(){this._targetElement.setAttribute("role","listbox"),this._targetElement.setAttribute("aria-live","polite"),this._targetElement.setAttribute("aria-haspopup","true"),this._targetElement.setAttribute("aria-expanded","false")}addClickListener(e){this._targetElement.addEventListener("click",e)}removeClickListener(e){this._targetElement&&this._targetElement.removeEventListener("click",e)}addTargetListener(e,t){let i,r;e==="keydown"&&(i=!1,r=!0),this._targetElement.addEventListener(e,t,{passive:i,capture:r})}removeTargetListener(e,t){this._targetElement&&this._targetElement.removeEventListener(e,t)}updateActiveDescendant(e){e?this._targetElement.setAttribute("aria-activedescendant",e):this._targetElement.removeAttribute("aria-activedescendant")}open(e){super.open(e),this._targetElement.setAttribute("aria-controls",`list-dropdown-popup-${e.id}`),this._targetElement.setAttribute("aria-expanded","true")}close(){this._targetElement.setAttribute("aria-expanded","false"),this._targetElement.removeAttribute("aria-activedescendant"),this._targetElement.removeAttribute("aria-controls"),super.close()}attach(e){let r=(this._component.getRootNode()||HTMLDocument||this._component.ownerDocument||document).querySelector(e);r&&(this._targetElement=r)}detach(){this._targetElement=void 0}setMultiple(e){this._targetElement&&(e?this._targetElement.setAttribute("aria-multiselectable","true"):this._targetElement.removeAttribute("aria-multiselectable"))}setTargetDisconnectedListener(e){if(!this._targetElement||!this._targetElement.parentElement)return()=>{};let t=new MutationObserver(i=>{i.some(I=>Array.from(I.removedNodes).some(R=>R===this._targetElement))&&(t.disconnect(),e())});return t.observe(this._targetElement.parentElement,{childList:!0}),()=>t.disconnect()}isAttached(){return!!this._targetElement}setTargetText(e,t){let i=this._targetElement;if(t){let r=this._getElementBySelector(t);r&&(i=r)}i&&(i.textContent=e)}getTargetText(e){let t=e?this._getElementBySelector(e):this._targetElement;return t?t.innerText:""}_getElementBySelector(e){return this._targetElement.querySelector(e)||this._getRootNode().querySelector(e)}_getRootNode(){return this._component.getRootNode()||this._component.ownerDocument||document}};var P="<template></template>",H=":host{display:none}",n=class extends L{constructor(){super();T(this,P,H),this._foundation=new l(new d(this))}static get observedAttributes(){return[o.attributes.TARGET,o.attributes.SELECTED_TEXT_TARGET,o.attributes.SYNC_SELECTED_TEXT,s.attributes.VALUE,s.attributes.MULTIPLE,s.attributes.OBSERVE_SCROLL,s.attributes.OBSERVE_SCROLL_THRESHOLD,s.attributes.POPUP_CLASSES,s.attributes.OPTION_LIMIT,s.attributes.SYNC_POPUP_WIDTH]}attributeChangedCallback(t,i,r){switch(t){case o.attributes.TARGET:this.target=r;return;case o.attributes.SELECTED_TEXT_TARGET:this.selectedTextTarget=r;return;case o.attributes.SYNC_SELECTED_TEXT:this.syncSelectedText=g(r);return}super.attributeChangedCallback(t,i,r)}};a([c()],n.prototype,"target",2),a([c()],n.prototype,"selectedTextTarget",2),a([c()],n.prototype,"syncSelectedText",2),n=a([_({name:o.elementName,dependencies:[C,A,S,v,b,x,N,f,E]})],n);function gt(){u(n)}export{o as a,l as b,d as c,n as d,gt as e};
7
+ //# sourceMappingURL=chunk.DPIWAXEW.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/select/select-dropdown/select-dropdown-constants.ts", "../../src/select/select-dropdown/select-dropdown-foundation.ts", "../../src/select/select-dropdown/select-dropdown-adapter.ts", "../../src/select/select-dropdown/select-dropdown.ts", "../../src/select/select-dropdown/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\r\n\r\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}select-dropdown`;\r\n\r\nconst observedAttributes = {\r\n TARGET: 'target',\r\n SELECTED_TEXT_TARGET: 'selected-text-target',\r\n SYNC_SELECTED_TEXT: 'sync-selected-text'\r\n};\r\n\r\nconst attributes = {\r\n ...observedAttributes\r\n};\r\n\r\nconst events = {\r\n SCROLLED_BOTTOM: `${elementName}-scrolled-bottom`\r\n};\r\n\r\nexport const SELECT_DROPDOWN_CONSTANTS = {\r\n elementName,\r\n attributes,\r\n events\r\n};\r\n", "import { ISelectDropdownAdapter } from './select-dropdown-adapter';\r\nimport { BaseSelectFoundation, IBaseSelectFoundation } from '../core/base-select-foundation';\r\nimport { SELECT_DROPDOWN_CONSTANTS } from './select-dropdown-constants';\r\n\r\nexport interface ISelectDropdownFoundation extends IBaseSelectFoundation {\r\n target: string;\r\n selectedTextTarget: string;\r\n syncSelectedText: boolean;\r\n}\r\n\r\nexport class SelectDropdownFoundation extends BaseSelectFoundation<ISelectDropdownAdapter> implements ISelectDropdownFoundation {\r\n private _target: string;\r\n private _selectedTextTarget: string;\r\n private _syncSelectedText = false;\r\n private _originalTargetText = '';\r\n private _targetDisconnectedListener: () => void;\r\n private _targetDisconnectedDestructor: () => void;\r\n\r\n constructor(adapter: ISelectDropdownAdapter) {\r\n super(adapter);\r\n this._targetDisconnectedListener = () => this._onTargetDisconnected();\r\n }\r\n\r\n public initialize(): void {\r\n this._tryAttach();\r\n super.initialize();\r\n }\r\n\r\n public disconnect(): void {\r\n super.disconnect();\r\n if (this._adapter.isAttached()) {\r\n this._detach();\r\n }\r\n }\r\n\r\n protected _onDropdownScrollEnd(): void {\r\n this._adapter.emitHostEvent(SELECT_DROPDOWN_CONSTANTS.events.SCROLLED_BOTTOM);\r\n }\r\n\r\n protected _applyValue(value: string | string[]): void {\r\n super._applyValue(value);\r\n this._applySelection();\r\n }\r\n\r\n protected _applySelection(): void {\r\n super._applySelection();\r\n if (this._syncSelectedText || typeof this._selectedTextBuilder === 'function') {\r\n let text = this._getSelectedText();\r\n if (!text) {\r\n text = this._originalTargetText;\r\n }\r\n this._adapter.setTargetText(text || '', this._selectedTextTarget);\r\n }\r\n }\r\n\r\n private _tryAttach(): void {\r\n this._adapter.attach(this._target);\r\n if (this._adapter.isAttached()) {\r\n this._targetDisconnectedDestructor = this._adapter.setTargetDisconnectedListener(this._targetDisconnectedListener);\r\n this._originalTargetText = this._adapter.getTargetText(this._selectedTextTarget);\r\n this.initializeTarget();\r\n }\r\n }\r\n\r\n private _detach(): void {\r\n this._adapter.detach();\r\n if (this._targetDisconnectedDestructor) {\r\n this._targetDisconnectedDestructor();\r\n this._targetDisconnectedDestructor = undefined as any;\r\n }\r\n }\r\n\r\n private _onTargetDisconnected(): void {\r\n this._adapter.detach();\r\n }\r\n\r\n public get target(): string {\r\n return this._target;\r\n }\r\n public set target(value: string) {\r\n if (this._target !== value) {\r\n this._target = value;\r\n if (this._adapter.isAttached()) {\r\n this._detach();\r\n }\r\n this._tryAttach();\r\n }\r\n }\r\n\r\n public get selectedTextTarget(): string {\r\n return this._selectedTextTarget;\r\n }\r\n public set selectedTextTarget(value: string) {\r\n if (this._selectedTextTarget !== value) {\r\n this._selectedTextTarget = value;\r\n }\r\n }\r\n\r\n public get syncSelectedText(): boolean {\r\n return this._syncSelectedText;\r\n }\r\n public set syncSelectedText(value: boolean) {\r\n if (this._syncSelectedText !== value) {\r\n this._syncSelectedText = value;\r\n }\r\n }\r\n}\r\n", "import { ISelectDropdownComponent } from './select-dropdown';\r\nimport { BaseSelectAdapter, IBaseSelectAdapter } from '../core/base-select-adapter';\r\nimport { IListDropdownConfig } from '../../list-dropdown/list-dropdown-constants';\r\n\r\nexport interface ISelectDropdownAdapter extends IBaseSelectAdapter {\r\n attach(selector: string): void;\r\n detach(): void;\r\n setTargetDisconnectedListener(cb: () => void): () => void;\r\n isAttached(): boolean;\r\n setTargetText(text: string, selector: string): void;\r\n getTargetText(selector: string): string;\r\n}\r\n\r\nexport class SelectDropdownAdapter extends BaseSelectAdapter implements ISelectDropdownAdapter {\r\n constructor(component: ISelectDropdownComponent) {\r\n super(component);\r\n }\r\n\r\n public initializeAccessibility(): void {\r\n this._targetElement.setAttribute('role', 'listbox');\r\n this._targetElement.setAttribute('aria-live', 'polite');\r\n this._targetElement.setAttribute('aria-haspopup', 'true');\r\n this._targetElement.setAttribute('aria-expanded', 'false');\r\n }\r\n\r\n public addClickListener(listener: (evt: Event) => void): void {\r\n this._targetElement.addEventListener('click', listener);\r\n }\r\n\r\n public removeClickListener(listener: (evt: Event) => void): void {\r\n if (this._targetElement) {\r\n this._targetElement.removeEventListener('click', listener);\r\n }\r\n }\r\n\r\n public addTargetListener(type: string, listener: (evt: Event) => void): void {\r\n let passive: boolean | undefined;\r\n let capture: boolean | undefined;\r\n \r\n if (type === 'keydown') {\r\n // We don't use a passive keydown listener because we are preventing default in this event and Angular doesn't like that\r\n // We need to use capturing to ensure that we get to this event before zone.js does\r\n passive = false;\r\n capture = true;\r\n }\r\n\r\n this._targetElement.addEventListener(type, listener, { passive, capture });\r\n }\r\n\r\n public removeTargetListener(type: string, listener: (evt: Event) => void): void {\r\n if (this._targetElement) {\r\n this._targetElement.removeEventListener(type, listener);\r\n }\r\n }\r\n\r\n public updateActiveDescendant(id: string): void {\r\n if (id) {\r\n this._targetElement.setAttribute('aria-activedescendant', id);\r\n } else {\r\n this._targetElement.removeAttribute('aria-activedescendant');\r\n }\r\n }\r\n\r\n public open(config: IListDropdownConfig): void {\r\n super.open(config);\r\n this._targetElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\r\n this._targetElement.setAttribute('aria-expanded', 'true');\r\n }\r\n\r\n public close(): void {\r\n this._targetElement.setAttribute('aria-expanded', 'false');\r\n this._targetElement.removeAttribute('aria-activedescendant');\r\n this._targetElement.removeAttribute('aria-controls');\r\n super.close();\r\n }\r\n\r\n public attach(selector: string): void {\r\n const rootNode = this._component.getRootNode() as ShadowRoot || HTMLDocument;\r\n const doc = rootNode || this._component.ownerDocument || document;\r\n const element = doc.querySelector(selector) as HTMLElement;\r\n if (element) {\r\n this._targetElement = element;\r\n }\r\n }\r\n\r\n public detach(): void {\r\n this._targetElement = undefined as any;\r\n }\r\n\r\n public setMultiple(multiple: boolean): void {\r\n if (!this._targetElement) {\r\n return;\r\n }\r\n if (multiple) {\r\n this._targetElement.setAttribute('aria-multiselectable', 'true');\r\n } else {\r\n this._targetElement.removeAttribute('aria-multiselectable');\r\n }\r\n }\r\n\r\n public setTargetDisconnectedListener(cb: () => void): () => void {\r\n if (!this._targetElement || !this._targetElement.parentElement) {\r\n return () => {};\r\n }\r\n const observer = new MutationObserver(mutations => {\r\n const isTargetRemoved = mutations.some(mutation => {\r\n return Array.from(mutation.removedNodes).some(node => node === this._targetElement);\r\n });\r\n if (isTargetRemoved) {\r\n observer.disconnect();\r\n cb();\r\n }\r\n });\r\n observer.observe(this._targetElement.parentElement, { childList: true });\r\n return () => observer.disconnect();\r\n }\r\n\r\n public isAttached(): boolean {\r\n return !!this._targetElement;\r\n }\r\n\r\n public setTargetText(text: string, selector: string): void {\r\n let target: Element = this._targetElement;\r\n if (selector) {\r\n const element = this._getElementBySelector(selector);\r\n if (element) {\r\n target = element;\r\n }\r\n }\r\n if (target) {\r\n target.textContent = text;\r\n }\r\n }\r\n\r\n public getTargetText(selector: string): string {\r\n const element = selector ? this._getElementBySelector(selector) : this._targetElement;\r\n return element ? element.innerText : '';\r\n }\r\n\r\n private _getElementBySelector(selector: string): HTMLElement | null {\r\n return this._targetElement.querySelector(selector) || this._getRootNode().querySelector(selector);\r\n }\r\n\r\n private _getRootNode(): ShadowRoot | HTMLDocument {\r\n return (this._component.getRootNode() as ShadowRoot | HTMLDocument) || this._component.ownerDocument || document;\r\n }\r\n}\r\n", "import { CustomElement, FoundationProperty, attachShadowTemplate, coerceBoolean } from '@tylertech/forge-core';\r\n\r\nimport { SelectDropdownFoundation } from './select-dropdown-foundation';\r\nimport { SELECT_DROPDOWN_CONSTANTS } from './select-dropdown-constants';\r\nimport { IBaseSelectComponent, BaseSelectComponent } from '../core/base-select';\r\nimport { BASE_SELECT_CONSTANTS } from '../core/base-select-constants';\r\nimport { SelectDropdownAdapter } from './select-dropdown-adapter';\r\nimport { OptionComponent } from '../option';\r\nimport { OptionGroupComponent } from '../option-group';\r\nimport { PopupComponent } from '../../popup';\r\nimport { ListComponent, ListItemComponent } from '../../list';\r\nimport { CircularProgressComponent } from '../../circular-progress';\r\nimport { ScaffoldComponent } from '../../scaffold';\r\nimport { ToolbarComponent } from '../../toolbar';\r\nimport { IconButtonComponent } from '../../icon-button';\r\n\r\nconst template = '<template></template>';\r\nconst styles = ':host{display:none}';\r\n\r\nexport interface ISelectDropdownComponent extends IBaseSelectComponent {\r\n target: string;\r\n selectedTextTarget: string;\r\n syncSelectedText: boolean;\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n 'forge-select-dropdown': ISelectDropdownComponent;\r\n }\r\n\r\n interface HTMLElementEventMap {\r\n 'forge-select-dropdown-scrolled-bottom': CustomEvent<void>;\r\n }\r\n}\r\n\r\n/**\r\n * The web component class behind the `<forge-select-dropdown>` custom element.\r\n * \r\n * @tag forge-select-dropdown\r\n */\r\n@CustomElement({\r\n name: SELECT_DROPDOWN_CONSTANTS.elementName,\r\n dependencies: [\r\n OptionComponent,\r\n OptionGroupComponent,\r\n PopupComponent,\r\n ListComponent,\r\n ListItemComponent,\r\n CircularProgressComponent,\r\n ScaffoldComponent,\r\n ToolbarComponent,\r\n IconButtonComponent\r\n ]\r\n})\r\nexport class SelectDropdownComponent extends BaseSelectComponent<SelectDropdownFoundation> implements ISelectDropdownComponent {\r\n public static get observedAttributes(): string[] {\r\n return [\r\n SELECT_DROPDOWN_CONSTANTS.attributes.TARGET,\r\n SELECT_DROPDOWN_CONSTANTS.attributes.SELECTED_TEXT_TARGET,\r\n SELECT_DROPDOWN_CONSTANTS.attributes.SYNC_SELECTED_TEXT,\r\n BASE_SELECT_CONSTANTS.attributes.VALUE,\r\n BASE_SELECT_CONSTANTS.attributes.MULTIPLE,\r\n BASE_SELECT_CONSTANTS.attributes.OBSERVE_SCROLL,\r\n BASE_SELECT_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD,\r\n BASE_SELECT_CONSTANTS.attributes.POPUP_CLASSES,\r\n BASE_SELECT_CONSTANTS.attributes.OPTION_LIMIT,\r\n BASE_SELECT_CONSTANTS.attributes.SYNC_POPUP_WIDTH\r\n ];\r\n }\r\n\r\n constructor() {\r\n super();\r\n attachShadowTemplate(this, template, styles);\r\n this._foundation = new SelectDropdownFoundation(new SelectDropdownAdapter(this));\r\n }\r\n\r\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\r\n switch (name) {\r\n case SELECT_DROPDOWN_CONSTANTS.attributes.TARGET:\r\n this.target = newValue;\r\n return;\r\n case SELECT_DROPDOWN_CONSTANTS.attributes.SELECTED_TEXT_TARGET:\r\n this.selectedTextTarget = newValue;\r\n return;\r\n case SELECT_DROPDOWN_CONSTANTS.attributes.SYNC_SELECTED_TEXT:\r\n this.syncSelectedText = coerceBoolean(newValue);\r\n return;\r\n }\r\n super.attributeChangedCallback(name, oldValue, newValue);\r\n }\r\n\r\n /** Sets the target element CSS selector */\r\n @FoundationProperty()\r\n public declare target: string;\r\n\r\n /** Sets the selected text element CSS selector */\r\n @FoundationProperty()\r\n public declare selectedTextTarget: string;\r\n\r\n /** Controls whether the selected text is synchronized to the target elements' text content. Default is false. */\r\n @FoundationProperty()\r\n public declare syncSelectedText: boolean;\r\n}\r\n", "import { defineCustomElement } from '@tylertech/forge-core';\r\n\r\nimport { SelectDropdownComponent } from './select-dropdown';\r\n\r\nexport * from './select-dropdown-adapter';\r\nexport * from './select-dropdown-constants';\r\nexport * from './select-dropdown-foundation';\r\nexport * from './select-dropdown';\r\n\r\nexport function defineSelectDropdownComponent(): void {\r\n defineCustomElement(SelectDropdownComponent);\r\n}\r\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "events", "SELECT_DROPDOWN_CONSTANTS", "SelectDropdownFoundation", "BaseSelectFoundation", "adapter", "SELECT_DROPDOWN_CONSTANTS", "value", "text", "SelectDropdownAdapter", "BaseSelectAdapter", "component", "listener", "type", "passive", "capture", "id", "config", "selector", "element", "multiple", "cb", "observer", "mutations", "mutation", "node", "text", "target", "template", "styles", "SelectDropdownComponent", "BaseSelectComponent", "attachShadowTemplate", "SelectDropdownFoundation", "SelectDropdownAdapter", "SELECT_DROPDOWN_CONSTANTS", "BASE_SELECT_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "OptionComponent", "OptionGroupComponent", "PopupComponent", "ListComponent", "ListItemComponent", "CircularProgressComponent", "ScaffoldComponent", "ToolbarComponent", "IconButtonComponent", "defineSelectDropdownComponent", "defineCustomElement", "SelectDropdownComponent"]
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 z}from"./chunk.KPNGLSCU.js";import{d as V}from"./chunk.5LCWC3A7.js";import{p as T}from"./chunk.HJUFU2PV.js";import{i as I,j as L,m as x,n as S,o as O,p as C,q as A}from"./chunk.QG5EYBS3.js";import{a as k}from"./chunk.YTBNAGLS.js";import{a as y}from"./chunk.ZY3ETQ3D.js";import{a as l}from"./chunk.NVUMRW44.js";import{a as m,b as E,j as n}from"./chunk.RRNSZCVJ.js";import{a as w,e as g,f as h}from"./chunk.TPXXHX5J.js";import{u as p,v as d}from"./chunk.HZUQXCOQ.js";import{b as u,c as f,k as c}from"./chunk.J2M2MXP2.js";import{d as s}from"./chunk.M3QDAYD2.js";var N=`${E}switch`,P={HIDDEN:"hidden"},F={ON:"on",SELECTED:"selected",DEFAULT_ON:"default-on",VALUE:"value",DENSE:"dense",DISABLED:"disabled",REQUIRED:"required",READONLY:"readonly",ICON:"icon",LABEL_POSITION:"label-position"},H={ROOT:".forge-switch",INPUT:"#input",LABEL:"#label",ICON_ON:"#icon-on",ICON_OFF:"#icon-off",INPUT_SLOT:"slot[name=input]",STATE_LAYER:"forge-state-layer",SLOTTED_INPUT:"input[type=checkbox]"},M={CHANGE:`${N}-change`},R={ON:"on",OFF:"off"},B=[...I],i={classes:P,selectors:H,attributes:F,elementName:N,events:M,state:R,forwardedAttributes:B};var b=class extends y{constructor(t){super(t);this._rootElement=h(t,i.selectors.ROOT),this._inputElement=h(t,i.selectors.INPUT),this._labelElement=h(t,i.selectors.LABEL),this._iconOnElement=h(t,i.selectors.ICON_ON),this._iconOffElement=h(t,i.selectors.ICON_OFF),this._stateLayerElement=h(t,i.selectors.STATE_LAYER),this._inputAdapter=new A}get _activeInputElement(){var t;return(t=this._inputAdapter.el)!=null?t:this._inputElement}initialize(){let t=this._component.querySelector(i.selectors.SLOTTED_INPUT);t?(t.slot="input",this._switchInput(t,this._inputElement)):this._initializeForwardObserver(this._inputElement),this._observeInput(t!=null?t:this._inputElement)}setOn(t){this._activeInputElement.checked=t}setDefaultOn(t){this._activeInputElement.toggleAttribute("checked",t)}setValue(t){this._activeInputElement.value=t}setDisabled(t){this._activeInputElement.disabled=t,this._stateLayerElement.disabled=t}setRequired(t){this._activeInputElement.required=t}setReadonly(t){this._activeInputElement.readOnly=t,d(this._activeInputElement,t,"aria-readonly",t.toString()),this._stateLayerElement.disabled=t}setIconVisibility(t){let o=t==="none"||t==="off",a=t==="none"||t==="on";p(this._iconOnElement,o,i.classes.HIDDEN),p(this._iconOffElement,a,i.classes.HIDDEN)}setLabelPosition(t){this._labelElement.remove(),t==="start"?this._rootElement.prepend(this._labelElement):this._rootElement.append(this._labelElement)}addRootListener(t,o){this._rootElement.addEventListener(t,o)}addInputSlotListener(t){this._inputElement.addEventListener("slotchange",t)}detectInputElement(){let t=this._inputSlotElement.assignedElements()[0];t?this._inputAdapter.attachElement(t):this._inputAdapter.attachElement(this._inputElement)}proxyClick(){this._activeInputElement.click(),this._activeInputElement.focus()}proxyLabel(t){this._labelElementText=t!=null?t:void 0,this._setAriaLabel()}syncValue(t){if(t===null){this._component[n].setFormValue(null,i.state.OFF);return}let o=new FormData;o.append(this._component.name,t),this._component[n].setFormValue(o,i.state.ON)}syncValidity(t){t?this._activeInputElement.setCustomValidity(this._component[n].validationMessage):this._activeInputElement.setCustomValidity(""),this._component[n].setValidity(this._activeInputElement.validity,this._activeInputElement.validationMessage,this._activeInputElement)}setValidity(t,o){this._component[n].setValidity(t,o,this._activeInputElement)}_initializeInput(){var t;(t=this._forwardObserver)==null||t.disconnect(),this._initializeForwardObserver(this._activeInputElement)}_initializeForwardObserver(t){this._forwardObserver=x(this._component,i.forwardedAttributes,(o,a)=>{if(o==="aria-label"){this._forwardedAriaLabel=a!=null?a:void 0,this._setAriaLabel();return}d(t,!!a,o,a!=null?a:void 0)})}_setAriaLabel(){var o;let t=!!this._forwardedAriaLabel||!!this._labelElementText;d(this._activeInputElement,t,"aria-label",(o=this._forwardedAriaLabel)!=null?o:this._labelElementText)}_switchInput(t,o){S(o,t,["type","role","checked","aria-readonly"]),O(o,t,L),C(o,t)}_observeInput(t=this._inputElement){this._inputAdapter.initialize(t,(o,a)=>{this._switchInput(o,a),this._initializeInput()})}};var v=class{constructor(e){this._adapter=e;this._on=!1;this._defaultOn=!1;this._value="on";this._dense=!1;this._disabled=!1;this._required=!1;this._readonly=!1;this._icon="on";this._labelPosition="end";this._changeListener=t=>this._handleChange(t),this._inputSlotListener=()=>this._handleInputSlotChange()}get _submittedValue(){return this._on?this._value:null}initialize(){this._adapter.initialize(),this._adapter.addRootListener("change",this._changeListener),this._adapter.addInputSlotListener(this._inputSlotListener),this._adapter.setIconVisibility(this._icon),this._adapter.syncValue(this._submittedValue)}proxyClick(){this._adapter.proxyClick()}proxyLabel(e){this._adapter.proxyLabel(e)}syncValidity(e){this._adapter.syncValidity(e)}setValidity(e,t){this._adapter.setValidity(e,t)}_handleChange(e){if(this._readonly){this._adapter.setOn(this._on);return}let o=e.target.checked,a=this._on;if(this._on=o,!this._adapter.emitHostEvent(i.events.CHANGE,o,!0,!0)){this._on=a,this._adapter.setOn(this._on);return}this._adapter.syncValue(this._submittedValue),this._setOnAttribute()}_handleInputSlotChange(){this._adapter.detectInputElement()}_setOnAttribute(){this._adapter.toggleHostAttribute(i.attributes.ON,this._on),this._adapter.toggleHostAttribute(i.attributes.SELECTED,this._on)}get on(){return this._on}set on(e){this._on!==e&&(this._on=e,this._adapter.setOn(this._on),this._adapter.syncValue(this._submittedValue),this._setOnAttribute())}get defaultOn(){return this._defaultOn}set defaultOn(e){this._defaultOn!==e&&(this._defaultOn=e,this._adapter.setDefaultOn(this._defaultOn),this._adapter.toggleHostAttribute(i.attributes.DEFAULT_ON,this._defaultOn))}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this._adapter.setValue(this._value),this._adapter.syncValue(this._submittedValue),this._adapter.toggleHostAttribute(i.attributes.VALUE,!0,this._value))}get dense(){return this._dense}set dense(e){this._dense!==e&&(this._dense=e,this._adapter.toggleHostAttribute(i.attributes.DENSE,this._dense))}get disabled(){return this._disabled}set disabled(e){this._disabled!==e&&(this._disabled=e,this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled))}get required(){return this._required}set required(e){this._required!==e&&(this._required=e,this._adapter.setRequired(this._required),this._adapter.toggleHostAttribute(i.attributes.REQUIRED,this._required))}get readonly(){return this._readonly}set readonly(e){this._readonly!==e&&(this._readonly=e,this._adapter.setReadonly(this._readonly),this._adapter.toggleHostAttribute(i.attributes.READONLY,this._readonly))}get icon(){return this._icon}set icon(e){this._icon!==e&&(this._icon=e,this._adapter.setIconVisibility(this._icon),this._adapter.setHostAttribute(i.attributes.ICON,this._icon))}get labelPosition(){return this._labelPosition}set labelPosition(e){this._labelPosition!==e&&(this._labelPosition=e,this._adapter.setLabelPosition(this._labelPosition),this._adapter.setHostAttribute(i.attributes.LABEL_POSITION,this._labelPosition))}};var q='<template><div class="forge-switch" part="switch"><div id="container" class="container"><slot name="input"><input id="input" class="input" type="checkbox" role="switch"></slot><div class="track" part="track"></div><div class="handle" part="handle"><div id="icon-off" class="icon icon__off" part="icon-off"><slot name="icon-off"><svg aria-hidden="true" viewBox="0 0 24 24"><path d="M20 13H4v-2h16v2z"/></svg></slot></div><div id="icon-on" class="icon icon__on" part="icon-on"><slot name="icon-on"><svg aria-hidden="true" viewBox="0 0 24 24"><path d="M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"/></svg></slot></div><forge-state-layer target="container" exportparts="surface:state-layer"></forge-state-layer></div><forge-focus-indicator target="container" part="focus-indicator"></forge-focus-indicator></div><label id="label" for="input" class="label" part="label"><slot></slot></label></div></template>',U=':host{display:inline-block;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}.forge-switch{--_switch-handle-size:var(--forge-switch-handle-size, 20px);--_switch-handle-scale:var(--forge-switch-handle-scale, 1);--_switch-handle-elevation:var(--forge-switch-handle-elevation, 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12));--_switch-track-border-width:var(--forge-switch-track-border-width, 0);--_switch-track-border-color:var(--forge-switch-track-border-color, transparent);--_switch-icon-color:var(--forge-switch-icon-color, var(--forge-theme-on-tertiary, #ffffff));--_switch-icon-size:var(--forge-switch-icon-size, 16px);--_switch-icon-scale:var(--forge-switch-icon-scale, 1);--_switch-state-layer-size:var(--forge-switch-state-layer-size, 40px);--_switch-state-layer-dense-size:var(--forge-switch-state-layer-dense-size, 28px);--_switch-handle-on-color:var(--forge-switch-handle-on-color, var(--forge-theme-tertiary, #3d5afe));--_switch-handle-off-color:var(--forge-switch-handle-off-color, var(--forge-theme-surface-container-high, #9e9e9e));--_switch-handle-width:var(--forge-switch-handle-width, var(--_switch-handle-size));--_switch-handle-height:var(--forge-switch-handle-height, var(--_switch-handle-size));--_switch-handle-on-scale:var(--forge-switch-handle-on-scale, var(--_switch-handle-scale));--_switch-handle-off-scale:var(--forge-switch-handle-off-scale, var(--_switch-handle-scale));--_switch-handle-shape:var(--forge-switch-handle-shape, var(--forge-shape-round, 50%));--_switch-handle-on-elevation:var(--forge-switch-handle-on-elevation, var(--_switch-handle-elevation));--_switch-handle-off-elevation:var(--forge-switch-handle-off-elevation, var(--_switch-handle-elevation));--_switch-track-on-color:var(--forge-switch-track-on-color, var(--forge-theme-tertiary-container, #d0d7ff));--_switch-track-off-color:var(--forge-switch-track-off-color, var(--forge-theme-surface-container, #e0e0e0));--_switch-track-width:var(--forge-switch-track-width, 36px);--_switch-track-height:var(--forge-switch-track-height, 14px);--_switch-track-shape:var(--forge-switch-track-shape, var(--forge-shape-full, 9999px));--_switch-track-on-border-width:var(--forge-switch-track-on-border-width, var(--_switch-track-border-width));--_switch-track-off-border-width:var(--forge-switch-track-off-border-width, var(--_switch-track-border-width));--_switch-track-on-border-color:var(--forge-switch-track-on-border-color, var(--_switch-track-border-color));--_switch-track-off-border-color:var(--forge-switch-track-off-border-color, var(--_switch-track-border-color));--_switch-icon-on-color:var(--forge-switch-icon-on-color, var(--_switch-icon-color));--_switch-icon-off-color:var(--forge-switch-icon-off-color, var(--_switch-icon-color));--_switch-icon-on-size:var(--forge-switch-icon-on-size, var(--_switch-icon-size));--_switch-icon-off-size:var(--forge-switch-icon-off-size, var(--_switch-icon-size));--_switch-icon-on-scale:var(--forge-switch-icon-on-scale, var(--_switch-icon-scale));--_switch-icon-off-scale:var(--forge-switch-icon-off-scale, var(--_switch-icon-scale));--_switch-gap:var(--forge-switch-gap, 0);--_switch-justify:var(--forge-switch-justify, space-between);--_switch-direction:var(--forge-switch-direction, initial);--_switch-state-layer-width:var(--forge-switch-state-layer-width, var(--_switch-state-layer-size));--_switch-state-layer-height:var(--forge-switch-state-layer-height, var(--_switch-state-layer-size));--_switch-state-layer-on-color:var(--forge-switch-state-layer-on-color, var(--_switch-handle-on-color));--_switch-state-layer-off-color:var(--forge-switch-state-layer-off-color, var(--_switch-color));--_switch-state-layer-dense-width:var(--forge-switch-state-layer-dense-width, var(--_switch-state-layer-dense-size));--_switch-state-layer-dense-height:var(--forge-switch-state-layer-dense-height, var(--_switch-state-layer-dense-size));--_switch-disabled-opacity:var(--forge-switch-disabled-opacity, 0.38);--_switch-handle-active-on-color:var(--forge-switch-handle-active-on-color, var(--_switch-handle-on-color));--_switch-handle-active-off-color:var(--forge-switch-handle-active-off-color, var(--_switch-handle-off-color));--_switch-handle-active-scale:var(--forge-switch-handle-active-scale, 1.2);--_switch-handle-active-on-scale:var(--forge-switch-handle-active-on-scale, var(--_switch-handle-active-scale));--_switch-handle-active-off-scale:var(--forge-switch-handle-active-off-scale, var(--_switch-handle-active-scale));--_switch-handle-active-elevation:var(--forge-switch-handle-active-elevation, var(--_switch-handle-elevation));--_switch-handle-active-on-elevation:var(--forge-switch-handle-active-on-elevation, var(--_switch-handle-active-elevation));--_switch-handle-active-off-elevation:var(--forge-switch-handle-active-off-elevation, var(--_switch-handle-active-elevation));--_switch-track-active-on-color:var(--forge-switch-track-active-on-color, var(--_switch-track-on-color));--_switch-track-active-off-color:var(--forge-switch-track-active-off-color, var(--_switch-track-off-color));--_switch-track-active-on-border-width:var(--forge-switch-track-active-on-border-width, var(--_switch-track-on-border-width));--_switch-track-active-off-border-width:var(--forge-switch-track-active-off-border-width, var(--_switch-track-off-border-width));--_switch-track-active-on-border-color:var(--forge-switch-track-active-on-border-color, var(--_switch-track-on-border-color));--_switch-track-active-off-border-color:var(--forge-switch-track-active-off-border-color, var(--_switch-track-off-border-color));--_switch-icon-active-on-color:var(--forge-switch-icon-active-on-color, var(--_switch-icon-on-color));--_switch-icon-active-off-color:var(--forge-switch-icon-active-off-color, var(--_switch-icon-off-color));--_switch-icon-active-on-scale:var(--forge-switch-icon-active-on-scale, var(--_switch-icon-on-scale));--_switch-icon-active-off-scale:var(--forge-switch-icon-active-off-scale, var(--_switch-icon-off-scale));--_switch-animation-duration:var(--forge-switch-animation-duration, var(--forge-animation-duration-short2, 100ms));--_switch-animation-timing:var(--forge-switch-animation-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_switch-active-animation-timing:var(--forge-switch-active-animation-timing, var(--forge-animation-easing-linear, cubic-bezier(0, 0, 1, 1)))}.forge-switch{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:var(--_switch-direction);flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:var(--_switch-justify);justify-content:var(--_switch-justify);gap:var(--_switch-gap);display:-webkit-box;display:flex;--_switch-current-state-layer-width:var(--_switch-state-layer-width);--_switch-current-state-layer-height:var(--_switch-state-layer-height)}.forge-switch .container{position:relative;-webkit-box-align:center;align-items:center;display:-webkit-box;display:flex;block-size:max(var(--_switch-handle-height),var(--_switch-track-height),var(--_switch-current-state-layer-height));cursor:pointer}.forge-switch .input{position:absolute;z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;margin:0;inline-size:100%;block-size:100%;cursor:unset}.forge-switch .track{-webkit-transition-property:background-color,border-color,border-width;transition-property:background-color,border-color,border-width;-webkit-transition-duration:var(--_switch-animation-duration);transition-duration:var(--_switch-animation-duration);-webkit-transition-timing-function:var(--_switch-animation-timing);transition-timing-function:var(--_switch-animation-timing);-webkit-box-sizing:border-box;box-sizing:border-box;margin-inline:calc(max(var(--_switch-handle-width),var(--_switch-current-state-layer-width))/ 2 - calc(var(--_switch-track-height)/ 2));border-width:var(--_switch-track-off-border-width);border-color:var(--_switch-track-off-border-color);border-style:solid;border-radius:var(--_switch-track-shape);inline-size:var(--_switch-track-width);block-size:var(--_switch-track-height);background-color:var(--_switch-track-off-color)}.forge-switch .handle{position:absolute;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;display:-webkit-box;display:flex;-webkit-transition-property:translate;transition-property:translate;-webkit-transition-duration:var(--_switch-animation-duration);transition-duration:var(--_switch-animation-duration);-webkit-transition-timing-function:var(--_switch-animation-timing);transition-timing-function:var(--_switch-animation-timing);border-radius:var(--_switch-handle-shape);inline-size:var(--_switch-current-state-layer-width);block-size:var(--_switch-current-state-layer-height)}.forge-switch .handle::before{content:"";position:relative;display:block;scale:var(--_switch-handle-off-scale);-webkit-transition:background-color var(--_switch-animation-duration) var(--_switch-animation-timing),scale var(--_switch-animation-duration) var(--_switch-active-animation-timing),-webkit-box-shadow var(--_switch-animation-duration) var(--_switch-animation-timing);transition:background-color var(--_switch-animation-duration) var(--_switch-animation-timing),scale var(--_switch-animation-duration) var(--_switch-active-animation-timing),-webkit-box-shadow var(--_switch-animation-duration) var(--_switch-animation-timing);transition:background-color var(--_switch-animation-duration) var(--_switch-animation-timing),box-shadow var(--_switch-animation-duration) var(--_switch-animation-timing),scale var(--_switch-animation-duration) var(--_switch-active-animation-timing);transition:background-color var(--_switch-animation-duration) var(--_switch-animation-timing),box-shadow var(--_switch-animation-duration) var(--_switch-animation-timing),scale var(--_switch-animation-duration) var(--_switch-active-animation-timing),-webkit-box-shadow var(--_switch-animation-duration) var(--_switch-animation-timing);-webkit-box-shadow:var(--_switch-handle-off-elevation);box-shadow:var(--_switch-handle-off-elevation);border-radius:var(--_switch-handle-shape);inline-size:var(--_switch-handle-width);block-size:var(--_switch-handle-height);background-color:var(--_switch-handle-off-color)}.forge-switch .icon{position:absolute;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;display:-webkit-box;display:flex;-webkit-transition-property:opacity,scale;transition-property:opacity,scale;-webkit-transition-duration:var(--_switch-animation-duration);transition-duration:var(--_switch-animation-duration);-webkit-transition-timing-function:var(--_switch-animation-timing);transition-timing-function:var(--_switch-animation-timing);inline-size:var(--_switch-icon-off-size);block-size:var(--_switch-icon-off-size);color:var(--_switch-icon-off-color);fill:var(--_switch-icon-off-color);font-size:var(--_switch-icon-off-size);--forge-icon-font-size:var(--_switch-icon-off-size)}.forge-switch .icon__on{--forge-icon-font-size:var(--_switch-icon-on-size);inline-size:var(--_switch-icon-on-size);block-size:var(--_switch-icon-on-size);color:var(--_switch-icon-on-color);fill:var(--_switch-icon-on-color);font-size:var(--_switch-icon-on-size);opacity:0;scale:0.4}.forge-switch .icon__off{opacity:1;scale:var(--_switch-icon-off-scale)}.forge-switch .label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-label-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label-font-weight,400);line-height:var(--forge-typography-label-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label-text-decoration,inherit);text-decoration:var(--forge-typography-label-text-decoration,inherit)}.forge-switch .label:empty{display:none}.forge-switch .hidden{display:none}.forge-switch ::slotted([slot=input]){position:absolute;z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;margin:0;inline-size:100%;block-size:100%;cursor:unset}:host([on]) .track{border-width:var(--_switch-track-on-border-width);border-color:var(--_switch-track-on-border-color);background-color:var(--_switch-track-on-color)}:host([on]) .handle{translate:calc(var(--_switch-track-width) - calc(var(--_switch-track-height)/ 2) * 2)}:host([on]) .handle::before{scale:var(--_switch-handle-on-scale);-webkit-box-shadow:var(--_switch-handle-on-elevation);box-shadow:var(--_switch-handle-on-elevation);background-color:var(--_switch-handle-on-color)}:host([on]) .handle .icon__on{opacity:1;scale:var(--_switch-icon-on-scale)}:host([on]) .handle .icon__off{opacity:0;scale:0.4}:host([on]) forge-state-layer{--forge-state-layer-color:var(--_switch-state-layer-on-color)}:host(:not([disabled]):not([readonly])) .forge-switch .container:active .track{border-width:var(--_switch-track-active-off-border-width);border-color:var(--_switch-track-active-off-border-color);background-color:var(--_switch-track-active-off-color)}:host(:not([disabled]):not([readonly])) .forge-switch .container:active .handle::before{scale:var(--_switch-handle-active-off-scale);-webkit-box-shadow:var(--_switch-handle-active-off-elevation);box-shadow:var(--_switch-handle-active-off-elevation);background-color:var(--_switch-handle-active-off-color)}:host(:not([disabled]):not([readonly])) .forge-switch .container:active .handle .icon{scale:var(--_switch-icon-active-off-scale);color:var(--_switch-icon-active-off-color);fill:var(--_switch-icon-active-off-color)}:host(:not([disabled]):not([readonly])[on]) .forge-switch .container:active .track{border-width:var(--_switch-track-active-on-border-width);border-color:var(--_switch-track-active-on-border-color);background-color:var(--_switch-track-active-on-color)}:host(:not([disabled]):not([readonly])[on]) .forge-switch .container:active .handle::before{scale:var(--_switch-handle-active-on-scale);-webkit-box-shadow:var(--_switch-handle-active-on-elevation);box-shadow:var(--_switch-handle-active-on-elevation);background-color:var(--_switch-handle-active-on-color)}:host(:not([disabled]):not([readonly])[on]) .forge-switch .container:active .handle .icon{scale:var(--_switch-icon-active-on-scale);color:var(--_switch-icon-active-on-color);fill:var(--_switch-icon-active-on-color)}:host([dense]) .forge-switch{--_switch-current-state-layer-width:var(--_switch-state-layer-dense-width);--_switch-current-state-layer-height:var(--_switch-state-layer-dense-height)}:host([disabled]) .forge-switch{opacity:var(--_switch-disabled-opacity)}:host([disabled]) .forge-switch .container{cursor:not-allowed}:host([disabled]) .forge-switch .handle::before{-webkit-box-shadow:none;box-shadow:none}:host([readonly]) .forge-switch .container{cursor:not-allowed}@media (prefers-reduced-motion){.switch{--_switch-animation-duration:var(--forge-switch-animation-duration, 0s)}}forge-state-layer{--forge-state-layer-color:var(--_switch-state-layer-off-color)}forge-focus-indicator{--forge-focus-indicator-shape:var(--_switch-track-shape);--forge-focus-indicator-outward-offset:0px}',r=class extends z{constructor(){super();g(this,q,U,!0),this[n]=this.attachInternals(),this._foundation=new v(new b(this))}static get observedAttributes(){return[i.attributes.ON,i.attributes.SELECTED,i.attributes.DEFAULT_ON,i.attributes.VALUE,i.attributes.DENSE,i.attributes.DISABLED,i.attributes.REQUIRED,i.attributes.READONLY,i.attributes.ICON,i.attributes.LABEL_POSITION]}get form(){return this[n].form}get labels(){return this[n].labels}get name(){var t;return(t=this.getAttribute("name"))!=null?t:""}set name(t){d(this,!!t,"name",t!=null?t:"")}get validity(){return this._foundation.syncValidity(this._hasCustomValidityError),this[n].validity}get validationMessage(){return this._foundation.syncValidity(this._hasCustomValidityError),this[n].validationMessage}get willValidate(){return this[n].willValidate}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(t,o,a){switch(t){case i.attributes.ON:case i.attributes.SELECTED:this.on=c(a);break;case i.attributes.DEFAULT_ON:this.defaultOn=c(a);break;case i.attributes.VALUE:this.value=a;break;case i.attributes.DENSE:this.dense=c(a);break;case i.attributes.DISABLED:this.disabled=c(a);break;case i.attributes.REQUIRED:this.required=c(a);break;case i.attributes.READONLY:this.readonly=c(a);break;case i.attributes.ICON:this.icon=a;break;case i.attributes.LABEL_POSITION:this.labelPosition=a;break}}setFormValue(t,o){if(this[n].setFormValue(t,o),o){let a=f(o)?o:o[this.name];this.on=a===i.state.ON;return}f(t)?this.on=!!t:t!=null&&t[this.name]?this.on=!!t[this.name]:this.on=!1}checkValidity(){return this._foundation.syncValidity(this._hasCustomValidityError),this[n].checkValidity()}reportValidity(){return this._foundation.syncValidity(this._hasCustomValidityError),this[n].reportValidity()}setCustomValidity(t){this._hasCustomValidityError=!!t,this._foundation.setValidity({customError:!!t},t)}formResetCallback(){this.on=this.defaultOn}formStateRestoreCallback(t){this.on=t===i.state.ON}formDisabledCallback(t){this.disabled=t}labelClickedCallback(){this._foundation.proxyClick()}labelChangedCallback(t){this._foundation.proxyLabel(t)}toggle(t){u(t)?this._foundation.on=t:this._foundation.on=!this._foundation.on}};n,s([l()],r.prototype,"on",2),s([l({name:"on"})],r.prototype,"selected",2),s([l()],r.prototype,"defaultOn",2),s([l()],r.prototype,"value",2),s([l()],r.prototype,"dense",2),s([l()],r.prototype,"disabled",2),s([l()],r.prototype,"required",2),s([l()],r.prototype,"readonly",2),s([l()],r.prototype,"icon",2),s([l()],r.prototype,"labelPosition",2),r=s([m({name:i.elementName,dependencies:[V,T]})],r);var D=class extends k{constructor(e){super(e)}get value(){return this._element.value}set value(e){this._element.value=e}get on(){return this._element.on}set on(e){this._element.on=e}get selected(){return this._element.selected}set selected(e){this._element.selected=e}get defaultOn(){return this._element.defaultOn}set defaultOn(e){this._element.defaultOn=e}get icon(){return this._element.icon}set icon(e){this._element.icon=e}get disabled(){return this._element.disabled}set disabled(e){this._element.disabled=e}get dense(){return this._element.dense}set dense(e){this._element.dense=e}get required(){return this._element.required}set required(e){this._element.required=e}get readonly(){return this._element.readonly}set readonly(e){this._element.readonly=e}get name(){return this._element.name}set name(e){this._element.name=e}get labelPosition(){return this._element.labelPosition}set labelPosition(e){this._element.labelPosition=e}onChange(e){this._element.addEventListener("forge-switch-change",({detail:t})=>e(t))}onFocus(e){this._element.addEventListener("focus",t=>e(t))}onBlur(e){this._element.addEventListener("blur",t=>e(t))}setLabel(e){this._element.innerText=e!=null?e:""}toggle(e){this._element.toggle(e)}_build(){return document.createElement(i.elementName)}_configure(){var e,t;(e=this._config.options)!=null&&e.id&&(this._element.id=this._config.options.id),(t=this._config.options)!=null&&t.label&&(this._element.innerText=this._config.options.label)}};function St(){w(r)}export{i as a,b,v as c,r as d,D as e,St as f};
7
+ //# sourceMappingURL=chunk.E62ZPQSM.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/switch/switch-constants.ts", "../../src/switch/switch-adapter.ts", "../../src/switch/switch-foundation.ts", "../../src/switch/switch.ts", "../../src/switch/switch-component-delegate.ts", "../../src/switch/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { INPUT_ARIA_ATTRIBUTES } from '../core';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}switch`;\n\nconst classes = {\n HIDDEN: 'hidden'\n};\n\nconst attributes = {\n ON: 'on',\n SELECTED: 'selected',\n DEFAULT_ON: 'default-on',\n VALUE: 'value',\n DENSE: 'dense',\n DISABLED: 'disabled',\n REQUIRED: 'required',\n READONLY: 'readonly',\n ICON: 'icon',\n LABEL_POSITION: 'label-position'\n};\n\nconst selectors = {\n ROOT: '.forge-switch',\n INPUT: '#input',\n LABEL: '#label',\n ICON_ON: '#icon-on',\n ICON_OFF: '#icon-off',\n INPUT_SLOT: 'slot[name=input]',\n STATE_LAYER: 'forge-state-layer',\n SLOTTED_INPUT: 'input[type=checkbox]'\n};\n\nconst events = {\n CHANGE: `${elementName}-change`\n};\n\nconst state = {\n ON: 'on',\n OFF: 'off'\n};\n\nconst forwardedAttributes = [...INPUT_ARIA_ATTRIBUTES];\n\nexport const SWITCH_CONSTANTS = {\n classes,\n selectors,\n attributes,\n elementName,\n events,\n state,\n forwardedAttributes\n};\n\nexport type SwitchLabelPosition = 'start' | 'end';\nexport type SwitchIconVisibility = 'both' | 'none' | 'off' | 'on';\n", "import { getShadowElement, toggleAttribute, toggleClass } from '@tylertech/forge-core';\nimport { internals } from '../constants';\nimport { BaseAdapter, IBaseAdapter, INPUT_PROPERTIES, SlottedElementAdapter, cloneAttributes, cloneProperties, cloneValidationMessage, forwardAttributes } from '../core';\nimport { StateLayerComponent } from '../state-layer';\nimport { ISwitchComponent } from './switch';\nimport { SWITCH_CONSTANTS, SwitchIconVisibility, SwitchLabelPosition } from './switch-constants';\n\nexport interface ISwitchAdapter extends IBaseAdapter {\n initialize(): void;\n setOn(value: boolean): void;\n setDefaultOn(value: boolean): void;\n setValue(value: string): void;\n setDisabled(value: boolean): void;\n setRequired(value: boolean): void;\n setReadonly(value: boolean): void;\n setIconVisibility(value: SwitchIconVisibility): void;\n setLabelPosition(value: SwitchLabelPosition): void;\n addRootListener(event: string, callback: EventListener): void;\n addInputSlotListener(callback: EventListener): void;\n detectInputElement(): void;\n proxyClick(): void;\n proxyLabel(value: string | null): void;\n syncValue(value: string | null): void;\n syncValidity(hasCustomValidityError: boolean): void;\n setValidity(flags?: ValidityStateFlags | undefined, message?: string | undefined): void;\n}\n\nexport class SwitchAdapter extends BaseAdapter<ISwitchComponent> implements ISwitchAdapter {\n private readonly _rootElement: HTMLElement;\n private readonly _inputElement: HTMLInputElement;\n private readonly _labelElement: HTMLElement;\n private readonly _iconOnElement: HTMLElement;\n private readonly _iconOffElement: HTMLElement;\n private readonly _inputSlotElement: HTMLSlotElement;\n private readonly _stateLayerElement: StateLayerComponent;\n private readonly _inputAdapter: SlottedElementAdapter<HTMLInputElement>;\n private _forwardObserver?: MutationObserver;\n private _forwardedAriaLabel?: string;\n private _labelElementText?: string;\n\n private get _activeInputElement(): HTMLInputElement {\n return this._inputAdapter.el ?? this._inputElement;\n }\n\n constructor(component: ISwitchComponent) {\n super(component);\n \n this._rootElement = getShadowElement(component, SWITCH_CONSTANTS.selectors.ROOT);\n this._inputElement = getShadowElement(component, SWITCH_CONSTANTS.selectors.INPUT) as HTMLInputElement;\n this._labelElement = getShadowElement(component, SWITCH_CONSTANTS.selectors.LABEL);\n this._iconOnElement = getShadowElement(component, SWITCH_CONSTANTS.selectors.ICON_ON);\n this._iconOffElement = getShadowElement(component, SWITCH_CONSTANTS.selectors.ICON_OFF);\n this._stateLayerElement = getShadowElement(component, SWITCH_CONSTANTS.selectors.STATE_LAYER) as StateLayerComponent;\n this._inputAdapter = new SlottedElementAdapter();\n }\n\n public initialize(): void {\n const slottedInput = this._component.querySelector(SWITCH_CONSTANTS.selectors.SLOTTED_INPUT) as HTMLInputElement;\n if (slottedInput) {\n slottedInput.slot = 'input';\n this._switchInput(slottedInput, this._inputElement);\n } else {\n this._initializeForwardObserver(this._inputElement);\n }\n this._observeInput(slottedInput ?? this._inputElement);\n }\n\n public setOn(value: boolean): void {\n this._activeInputElement.checked = value;\n }\n\n public setDefaultOn(value: boolean): void {\n this._activeInputElement.toggleAttribute('checked', value);\n }\n\n public setValue(value: string): void {\n this._activeInputElement.value = value;\n }\n\n public setDisabled(value: boolean): void {\n this._activeInputElement.disabled = value;\n this._stateLayerElement.disabled = value;\n }\n\n public setRequired(value: boolean): void {\n this._activeInputElement.required = value;\n }\n\n public setReadonly(value: boolean): void {\n this._activeInputElement.readOnly = value;\n toggleAttribute(this._activeInputElement, value, 'aria-readonly', value.toString());\n this._stateLayerElement.disabled = value;\n }\n\n public setIconVisibility(value: SwitchIconVisibility): void {\n const hideOn = value === 'none' || value === 'off';\n const hideOff = value === 'none' || value === 'on';\n toggleClass(this._iconOnElement, hideOn, SWITCH_CONSTANTS.classes.HIDDEN);\n toggleClass(this._iconOffElement, hideOff, SWITCH_CONSTANTS.classes.HIDDEN);\n }\n\n public setLabelPosition(value: SwitchLabelPosition): void {\n this._labelElement.remove();\n\n if (value === 'start') {\n this._rootElement.prepend(this._labelElement);\n } else {\n this._rootElement.append(this._labelElement);\n }\n }\n\n public addRootListener(event: string, callback: EventListener): void {\n this._rootElement.addEventListener(event, callback);\n }\n\n public addInputSlotListener(callback: EventListener): void {\n this._inputElement.addEventListener('slotchange', callback);\n }\n\n public detectInputElement(): void {\n const inputElement = this._inputSlotElement.assignedElements()[0] as HTMLInputElement;\n if (inputElement) {\n this._inputAdapter.attachElement(inputElement);\n } else {\n this._inputAdapter.attachElement(this._inputElement);\n }\n }\n\n public proxyClick(): void {\n this._activeInputElement.click();\n // TODO: use `{ focusVisble: false }` when supported.\n this._activeInputElement.focus();\n }\n\n public proxyLabel(value: string | null): void {\n this._labelElementText = value ?? undefined;\n this._setAriaLabel();\n }\n\n public syncValue(value: string | null): void {\n if (value === null) {\n this._component[internals].setFormValue(null, SWITCH_CONSTANTS.state.OFF);\n return;\n }\n\n const data = new FormData();\n data.append(this._component.name, value);\n this._component[internals].setFormValue(data, SWITCH_CONSTANTS.state.ON);\n }\n\n public syncValidity(hasCustomValidityError: boolean): void {\n if (hasCustomValidityError) {\n this._activeInputElement.setCustomValidity(this._component[internals].validationMessage);\n } else {\n this._activeInputElement.setCustomValidity('');\n }\n\n this._component[internals].setValidity(this._activeInputElement.validity, this._activeInputElement.validationMessage, this._activeInputElement);\n }\n\n public setValidity(flags?: ValidityStateFlags | undefined, message?: string | undefined): void {\n this._component[internals].setValidity(flags, message, this._activeInputElement);\n }\n\n private _initializeInput(): void {\n this._forwardObserver?.disconnect();\n this._initializeForwardObserver(this._activeInputElement);\n }\n\n private _initializeForwardObserver(el: HTMLElement): void {\n this._forwardObserver = forwardAttributes(this._component, SWITCH_CONSTANTS.forwardedAttributes, (name, value) => {\n // Use the connected label element as a fallback if aria-label is removed. Store the value so\n // it can be used to determine whether an updated label element should take effect.\n if (name === 'aria-label') {\n this._forwardedAriaLabel = value ?? undefined;\n this._setAriaLabel();\n return;\n }\n // Otherwise forward the attribute to the element.\n toggleAttribute(el, !!value, name, value ?? undefined);\n });\n }\n\n private _setAriaLabel(): void {\n const hasAriaLabel = !!this._forwardedAriaLabel || !!this._labelElementText;\n toggleAttribute(this._activeInputElement, hasAriaLabel, 'aria-label', this._forwardedAriaLabel ?? this._labelElementText);\n }\n \n private _switchInput(newEl: HTMLInputElement, oldEl: HTMLInputElement): void {\n cloneAttributes(oldEl, newEl, ['type', 'role', 'checked', 'aria-readonly']);\n cloneProperties(oldEl, newEl, INPUT_PROPERTIES);\n cloneValidationMessage(oldEl, newEl);\n }\n\n private _observeInput(el: HTMLInputElement = this._inputElement): void {\n this._inputAdapter.initialize(el, (newEl, oldEl) => {\n this._switchInput(newEl, oldEl);\n this._initializeInput();\n });\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { ISwitchAdapter } from './switch-adapter';\nimport { SWITCH_CONSTANTS, SwitchIconVisibility, SwitchLabelPosition } from './switch-constants';\n\nexport interface ISwitchFoundation extends ICustomElementFoundation {\n on: boolean;\n defaultOn: boolean;\n value: string;\n dense: boolean;\n disabled: boolean;\n required: boolean;\n readonly: boolean;\n icon: SwitchIconVisibility;\n labelPosition: SwitchLabelPosition;\n proxyClick(): void;\n proxyLabel(value: string | null): void;\n syncValidity(hasCustomValidityError: boolean): void;\n setValidity(flags?: ValidityStateFlags | undefined, message?: string | undefined): void;\n}\n\nexport class SwitchFoundation implements ISwitchFoundation {\n // State\n private _on = false;\n private _defaultOn = false;\n private _value = 'on';\n private _dense = false;\n private _disabled = false;\n private _required = false;\n private _readonly = false;\n private _icon: SwitchIconVisibility = 'on';\n private _labelPosition: SwitchLabelPosition = 'end';\n\n private get _submittedValue(): string | null {\n return this._on ? this._value : null;\n }\n\n // Listeners\n private readonly _changeListener: EventListener;\n private readonly _inputSlotListener: EventListener;\n\n constructor(private readonly _adapter: ISwitchAdapter) {\n this._changeListener = (evt: Event) => this._handleChange(evt);\n this._inputSlotListener = () => this._handleInputSlotChange();\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.addRootListener('change', this._changeListener);\n this._adapter.addInputSlotListener(this._inputSlotListener);\n this._adapter.setIconVisibility(this._icon);\n this._adapter.syncValue(this._submittedValue);\n }\n\n public proxyClick(): void {\n this._adapter.proxyClick();\n }\n\n public proxyLabel(value: string | null): void {\n this._adapter.proxyLabel(value);\n }\n\n public syncValidity(hasCustomValidityError: boolean): void {\n this._adapter.syncValidity(hasCustomValidityError);\n }\n\n public setValidity(flags?: ValidityStateFlags | undefined, message?: string | undefined): void {\n this._adapter.setValidity(flags, message);\n }\n\n private _handleChange(evt: Event): void {\n if (this._readonly) {\n this._adapter.setOn(this._on);\n return;\n }\n\n const target = evt.target as HTMLInputElement;\n const newValue = target.checked;\n const oldValue = this._on;\n\n this._on = newValue;\n\n const isCancelled = !this._adapter.emitHostEvent(SWITCH_CONSTANTS.events.CHANGE, newValue, true, true);\n if (isCancelled) {\n this._on = oldValue;\n this._adapter.setOn(this._on);\n return;\n }\n\n this._adapter.syncValue(this._submittedValue);\n this._setOnAttribute();\n }\n\n private _handleInputSlotChange(): void {\n this._adapter.detectInputElement();\n }\n\n private _setOnAttribute(): void {\n this._adapter.toggleHostAttribute(SWITCH_CONSTANTS.attributes.ON, this._on);\n // Also set selected for backwards compatibility\n this._adapter.toggleHostAttribute(SWITCH_CONSTANTS.attributes.SELECTED, this._on);\n }\n\n public get on(): boolean {\n return this._on;\n }\n public set on(value: boolean) {\n if (this._on !== value) {\n this._on = value;\n this._adapter.setOn(this._on);\n this._adapter.syncValue(this._submittedValue);\n this._setOnAttribute();\n }\n }\n\n public get defaultOn(): boolean {\n return this._defaultOn;\n }\n public set defaultOn(value: boolean) {\n if (this._defaultOn !== value) {\n this._defaultOn = value;\n this._adapter.setDefaultOn(this._defaultOn);\n this._adapter.toggleHostAttribute(SWITCH_CONSTANTS.attributes.DEFAULT_ON, this._defaultOn);\n }\n }\n\n public get value(): string {\n return this._value;\n }\n public set value(value: string) {\n if (this._value !== value) {\n this._value = value;\n this._adapter.setValue(this._value);\n this._adapter.syncValue(this._submittedValue);\n this._adapter.toggleHostAttribute(SWITCH_CONSTANTS.attributes.VALUE, true, this._value);\n }\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._adapter.toggleHostAttribute(SWITCH_CONSTANTS.attributes.DENSE, this._dense);\n }\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(SWITCH_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get required(): boolean {\n return this._required;\n }\n public set required(value: boolean) {\n if (this._required !== value) {\n this._required = value;\n this._adapter.setRequired(this._required);\n this._adapter.toggleHostAttribute(SWITCH_CONSTANTS.attributes.REQUIRED, this._required);\n }\n }\n\n public get readonly(): boolean {\n return this._readonly;\n }\n public set readonly(value: boolean) {\n if (this._readonly !== value) {\n this._readonly = value;\n this._adapter.setReadonly(this._readonly);\n this._adapter.toggleHostAttribute(SWITCH_CONSTANTS.attributes.READONLY, this._readonly);\n }\n }\n\n public get icon(): SwitchIconVisibility {\n return this._icon;\n }\n public set icon(value: SwitchIconVisibility) {\n if (this._icon !== value) {\n this._icon = value;\n this._adapter.setIconVisibility(this._icon);\n this._adapter.setHostAttribute(SWITCH_CONSTANTS.attributes.ICON, this._icon);\n }\n }\n\n public get labelPosition(): SwitchLabelPosition {\n return this._labelPosition;\n }\n public set labelPosition(value: SwitchLabelPosition) {\n if (this._labelPosition !== value) {\n this._labelPosition = value;\n this._adapter.setLabelPosition(this._labelPosition);\n this._adapter.setHostAttribute(SWITCH_CONSTANTS.attributes.LABEL_POSITION, this._labelPosition);\n }\n }\n}\n", "import { CustomElement, FoundationProperty, attachShadowTemplate, coerceBoolean, isDefined, isString, toggleAttribute } from '@tylertech/forge-core';\nimport { BaseNullableFormComponent, IBaseNullableFormComponent } from '../core/base/base-nullable-form-component';\nimport { FocusIndicatorComponent } from '../focus-indicator/focus-indicator';\nimport { StateLayerComponent } from '../state-layer/state-layer';\nimport { SwitchAdapter } from './switch-adapter';\nimport { SWITCH_CONSTANTS, SwitchIconVisibility, SwitchLabelPosition } from './switch-constants';\nimport { SwitchFoundation } from './switch-foundation';\nimport { ILabelAware } from '../label/label-aware';\nimport { internals } from '../constants';\n\nconst template = '<template><div class=\\\"forge-switch\\\" part=\\\"switch\\\"><div id=\\\"container\\\" class=\\\"container\\\"><slot name=\\\"input\\\"><input id=\\\"input\\\" class=\\\"input\\\" type=\\\"checkbox\\\" role=\\\"switch\\\"></slot><div class=\\\"track\\\" part=\\\"track\\\"></div><div class=\\\"handle\\\" part=\\\"handle\\\"><div id=\\\"icon-off\\\" class=\\\"icon icon__off\\\" part=\\\"icon-off\\\"><slot name=\\\"icon-off\\\"><svg aria-hidden=\\\"true\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M20 13H4v-2h16v2z\\\"/></svg></slot></div><div id=\\\"icon-on\\\" class=\\\"icon icon__on\\\" part=\\\"icon-on\\\"><slot name=\\\"icon-on\\\"><svg aria-hidden=\\\"true\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z\\\"/></svg></slot></div><forge-state-layer target=\\\"container\\\" exportparts=\\\"surface:state-layer\\\"></forge-state-layer></div><forge-focus-indicator target=\\\"container\\\" part=\\\"focus-indicator\\\"></forge-focus-indicator></div><label id=\\\"label\\\" for=\\\"input\\\" class=\\\"label\\\" part=\\\"label\\\"><slot></slot></label></div></template>';\nconst styles = ':host{display:inline-block;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}.forge-switch{--_switch-handle-size:var(--forge-switch-handle-size, 20px);--_switch-handle-scale:var(--forge-switch-handle-scale, 1);--_switch-handle-elevation:var(--forge-switch-handle-elevation, 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12));--_switch-track-border-width:var(--forge-switch-track-border-width, 0);--_switch-track-border-color:var(--forge-switch-track-border-color, transparent);--_switch-icon-color:var(--forge-switch-icon-color, var(--forge-theme-on-tertiary, #ffffff));--_switch-icon-size:var(--forge-switch-icon-size, 16px);--_switch-icon-scale:var(--forge-switch-icon-scale, 1);--_switch-state-layer-size:var(--forge-switch-state-layer-size, 40px);--_switch-state-layer-dense-size:var(--forge-switch-state-layer-dense-size, 28px);--_switch-handle-on-color:var(--forge-switch-handle-on-color, var(--forge-theme-tertiary, #3d5afe));--_switch-handle-off-color:var(--forge-switch-handle-off-color, var(--forge-theme-surface-container-high, #9e9e9e));--_switch-handle-width:var(--forge-switch-handle-width, var(--_switch-handle-size));--_switch-handle-height:var(--forge-switch-handle-height, var(--_switch-handle-size));--_switch-handle-on-scale:var(--forge-switch-handle-on-scale, var(--_switch-handle-scale));--_switch-handle-off-scale:var(--forge-switch-handle-off-scale, var(--_switch-handle-scale));--_switch-handle-shape:var(--forge-switch-handle-shape, var(--forge-shape-round, 50%));--_switch-handle-on-elevation:var(--forge-switch-handle-on-elevation, var(--_switch-handle-elevation));--_switch-handle-off-elevation:var(--forge-switch-handle-off-elevation, var(--_switch-handle-elevation));--_switch-track-on-color:var(--forge-switch-track-on-color, var(--forge-theme-tertiary-container, #d0d7ff));--_switch-track-off-color:var(--forge-switch-track-off-color, var(--forge-theme-surface-container, #e0e0e0));--_switch-track-width:var(--forge-switch-track-width, 36px);--_switch-track-height:var(--forge-switch-track-height, 14px);--_switch-track-shape:var(--forge-switch-track-shape, var(--forge-shape-full, 9999px));--_switch-track-on-border-width:var(--forge-switch-track-on-border-width, var(--_switch-track-border-width));--_switch-track-off-border-width:var(--forge-switch-track-off-border-width, var(--_switch-track-border-width));--_switch-track-on-border-color:var(--forge-switch-track-on-border-color, var(--_switch-track-border-color));--_switch-track-off-border-color:var(--forge-switch-track-off-border-color, var(--_switch-track-border-color));--_switch-icon-on-color:var(--forge-switch-icon-on-color, var(--_switch-icon-color));--_switch-icon-off-color:var(--forge-switch-icon-off-color, var(--_switch-icon-color));--_switch-icon-on-size:var(--forge-switch-icon-on-size, var(--_switch-icon-size));--_switch-icon-off-size:var(--forge-switch-icon-off-size, var(--_switch-icon-size));--_switch-icon-on-scale:var(--forge-switch-icon-on-scale, var(--_switch-icon-scale));--_switch-icon-off-scale:var(--forge-switch-icon-off-scale, var(--_switch-icon-scale));--_switch-gap:var(--forge-switch-gap, 0);--_switch-justify:var(--forge-switch-justify, space-between);--_switch-direction:var(--forge-switch-direction, initial);--_switch-state-layer-width:var(--forge-switch-state-layer-width, var(--_switch-state-layer-size));--_switch-state-layer-height:var(--forge-switch-state-layer-height, var(--_switch-state-layer-size));--_switch-state-layer-on-color:var(--forge-switch-state-layer-on-color, var(--_switch-handle-on-color));--_switch-state-layer-off-color:var(--forge-switch-state-layer-off-color, var(--_switch-color));--_switch-state-layer-dense-width:var(--forge-switch-state-layer-dense-width, var(--_switch-state-layer-dense-size));--_switch-state-layer-dense-height:var(--forge-switch-state-layer-dense-height, var(--_switch-state-layer-dense-size));--_switch-disabled-opacity:var(--forge-switch-disabled-opacity, 0.38);--_switch-handle-active-on-color:var(--forge-switch-handle-active-on-color, var(--_switch-handle-on-color));--_switch-handle-active-off-color:var(--forge-switch-handle-active-off-color, var(--_switch-handle-off-color));--_switch-handle-active-scale:var(--forge-switch-handle-active-scale, 1.2);--_switch-handle-active-on-scale:var(--forge-switch-handle-active-on-scale, var(--_switch-handle-active-scale));--_switch-handle-active-off-scale:var(--forge-switch-handle-active-off-scale, var(--_switch-handle-active-scale));--_switch-handle-active-elevation:var(--forge-switch-handle-active-elevation, var(--_switch-handle-elevation));--_switch-handle-active-on-elevation:var(--forge-switch-handle-active-on-elevation, var(--_switch-handle-active-elevation));--_switch-handle-active-off-elevation:var(--forge-switch-handle-active-off-elevation, var(--_switch-handle-active-elevation));--_switch-track-active-on-color:var(--forge-switch-track-active-on-color, var(--_switch-track-on-color));--_switch-track-active-off-color:var(--forge-switch-track-active-off-color, var(--_switch-track-off-color));--_switch-track-active-on-border-width:var(--forge-switch-track-active-on-border-width, var(--_switch-track-on-border-width));--_switch-track-active-off-border-width:var(--forge-switch-track-active-off-border-width, var(--_switch-track-off-border-width));--_switch-track-active-on-border-color:var(--forge-switch-track-active-on-border-color, var(--_switch-track-on-border-color));--_switch-track-active-off-border-color:var(--forge-switch-track-active-off-border-color, var(--_switch-track-off-border-color));--_switch-icon-active-on-color:var(--forge-switch-icon-active-on-color, var(--_switch-icon-on-color));--_switch-icon-active-off-color:var(--forge-switch-icon-active-off-color, var(--_switch-icon-off-color));--_switch-icon-active-on-scale:var(--forge-switch-icon-active-on-scale, var(--_switch-icon-on-scale));--_switch-icon-active-off-scale:var(--forge-switch-icon-active-off-scale, var(--_switch-icon-off-scale));--_switch-animation-duration:var(--forge-switch-animation-duration, var(--forge-animation-duration-short2, 100ms));--_switch-animation-timing:var(--forge-switch-animation-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_switch-active-animation-timing:var(--forge-switch-active-animation-timing, var(--forge-animation-easing-linear, cubic-bezier(0, 0, 1, 1)))}.forge-switch{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:var(--_switch-direction);flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:var(--_switch-justify);justify-content:var(--_switch-justify);gap:var(--_switch-gap);display:-webkit-box;display:flex;--_switch-current-state-layer-width:var(--_switch-state-layer-width);--_switch-current-state-layer-height:var(--_switch-state-layer-height)}.forge-switch .container{position:relative;-webkit-box-align:center;align-items:center;display:-webkit-box;display:flex;block-size:max(var(--_switch-handle-height),var(--_switch-track-height),var(--_switch-current-state-layer-height));cursor:pointer}.forge-switch .input{position:absolute;z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;margin:0;inline-size:100%;block-size:100%;cursor:unset}.forge-switch .track{-webkit-transition-property:background-color,border-color,border-width;transition-property:background-color,border-color,border-width;-webkit-transition-duration:var(--_switch-animation-duration);transition-duration:var(--_switch-animation-duration);-webkit-transition-timing-function:var(--_switch-animation-timing);transition-timing-function:var(--_switch-animation-timing);-webkit-box-sizing:border-box;box-sizing:border-box;margin-inline:calc(max(var(--_switch-handle-width),var(--_switch-current-state-layer-width))/ 2 - calc(var(--_switch-track-height)/ 2));border-width:var(--_switch-track-off-border-width);border-color:var(--_switch-track-off-border-color);border-style:solid;border-radius:var(--_switch-track-shape);inline-size:var(--_switch-track-width);block-size:var(--_switch-track-height);background-color:var(--_switch-track-off-color)}.forge-switch .handle{position:absolute;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;display:-webkit-box;display:flex;-webkit-transition-property:translate;transition-property:translate;-webkit-transition-duration:var(--_switch-animation-duration);transition-duration:var(--_switch-animation-duration);-webkit-transition-timing-function:var(--_switch-animation-timing);transition-timing-function:var(--_switch-animation-timing);border-radius:var(--_switch-handle-shape);inline-size:var(--_switch-current-state-layer-width);block-size:var(--_switch-current-state-layer-height)}.forge-switch .handle::before{content:\\\"\\\";position:relative;display:block;scale:var(--_switch-handle-off-scale);-webkit-transition:background-color var(--_switch-animation-duration) var(--_switch-animation-timing),scale var(--_switch-animation-duration) var(--_switch-active-animation-timing),-webkit-box-shadow var(--_switch-animation-duration) var(--_switch-animation-timing);transition:background-color var(--_switch-animation-duration) var(--_switch-animation-timing),scale var(--_switch-animation-duration) var(--_switch-active-animation-timing),-webkit-box-shadow var(--_switch-animation-duration) var(--_switch-animation-timing);transition:background-color var(--_switch-animation-duration) var(--_switch-animation-timing),box-shadow var(--_switch-animation-duration) var(--_switch-animation-timing),scale var(--_switch-animation-duration) var(--_switch-active-animation-timing);transition:background-color var(--_switch-animation-duration) var(--_switch-animation-timing),box-shadow var(--_switch-animation-duration) var(--_switch-animation-timing),scale var(--_switch-animation-duration) var(--_switch-active-animation-timing),-webkit-box-shadow var(--_switch-animation-duration) var(--_switch-animation-timing);-webkit-box-shadow:var(--_switch-handle-off-elevation);box-shadow:var(--_switch-handle-off-elevation);border-radius:var(--_switch-handle-shape);inline-size:var(--_switch-handle-width);block-size:var(--_switch-handle-height);background-color:var(--_switch-handle-off-color)}.forge-switch .icon{position:absolute;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;display:-webkit-box;display:flex;-webkit-transition-property:opacity,scale;transition-property:opacity,scale;-webkit-transition-duration:var(--_switch-animation-duration);transition-duration:var(--_switch-animation-duration);-webkit-transition-timing-function:var(--_switch-animation-timing);transition-timing-function:var(--_switch-animation-timing);inline-size:var(--_switch-icon-off-size);block-size:var(--_switch-icon-off-size);color:var(--_switch-icon-off-color);fill:var(--_switch-icon-off-color);font-size:var(--_switch-icon-off-size);--forge-icon-font-size:var(--_switch-icon-off-size)}.forge-switch .icon__on{--forge-icon-font-size:var(--_switch-icon-on-size);inline-size:var(--_switch-icon-on-size);block-size:var(--_switch-icon-on-size);color:var(--_switch-icon-on-color);fill:var(--_switch-icon-on-color);font-size:var(--_switch-icon-on-size);opacity:0;scale:0.4}.forge-switch .icon__off{opacity:1;scale:var(--_switch-icon-off-scale)}.forge-switch .label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-label-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label-font-weight,400);line-height:var(--forge-typography-label-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label-text-decoration,inherit);text-decoration:var(--forge-typography-label-text-decoration,inherit)}.forge-switch .label:empty{display:none}.forge-switch .hidden{display:none}.forge-switch ::slotted([slot=input]){position:absolute;z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;margin:0;inline-size:100%;block-size:100%;cursor:unset}:host([on]) .track{border-width:var(--_switch-track-on-border-width);border-color:var(--_switch-track-on-border-color);background-color:var(--_switch-track-on-color)}:host([on]) .handle{translate:calc(var(--_switch-track-width) - calc(var(--_switch-track-height)/ 2) * 2)}:host([on]) .handle::before{scale:var(--_switch-handle-on-scale);-webkit-box-shadow:var(--_switch-handle-on-elevation);box-shadow:var(--_switch-handle-on-elevation);background-color:var(--_switch-handle-on-color)}:host([on]) .handle .icon__on{opacity:1;scale:var(--_switch-icon-on-scale)}:host([on]) .handle .icon__off{opacity:0;scale:0.4}:host([on]) forge-state-layer{--forge-state-layer-color:var(--_switch-state-layer-on-color)}:host(:not([disabled]):not([readonly])) .forge-switch .container:active .track{border-width:var(--_switch-track-active-off-border-width);border-color:var(--_switch-track-active-off-border-color);background-color:var(--_switch-track-active-off-color)}:host(:not([disabled]):not([readonly])) .forge-switch .container:active .handle::before{scale:var(--_switch-handle-active-off-scale);-webkit-box-shadow:var(--_switch-handle-active-off-elevation);box-shadow:var(--_switch-handle-active-off-elevation);background-color:var(--_switch-handle-active-off-color)}:host(:not([disabled]):not([readonly])) .forge-switch .container:active .handle .icon{scale:var(--_switch-icon-active-off-scale);color:var(--_switch-icon-active-off-color);fill:var(--_switch-icon-active-off-color)}:host(:not([disabled]):not([readonly])[on]) .forge-switch .container:active .track{border-width:var(--_switch-track-active-on-border-width);border-color:var(--_switch-track-active-on-border-color);background-color:var(--_switch-track-active-on-color)}:host(:not([disabled]):not([readonly])[on]) .forge-switch .container:active .handle::before{scale:var(--_switch-handle-active-on-scale);-webkit-box-shadow:var(--_switch-handle-active-on-elevation);box-shadow:var(--_switch-handle-active-on-elevation);background-color:var(--_switch-handle-active-on-color)}:host(:not([disabled]):not([readonly])[on]) .forge-switch .container:active .handle .icon{scale:var(--_switch-icon-active-on-scale);color:var(--_switch-icon-active-on-color);fill:var(--_switch-icon-active-on-color)}:host([dense]) .forge-switch{--_switch-current-state-layer-width:var(--_switch-state-layer-dense-width);--_switch-current-state-layer-height:var(--_switch-state-layer-dense-height)}:host([disabled]) .forge-switch{opacity:var(--_switch-disabled-opacity)}:host([disabled]) .forge-switch .container{cursor:not-allowed}:host([disabled]) .forge-switch .handle::before{-webkit-box-shadow:none;box-shadow:none}:host([readonly]) .forge-switch .container{cursor:not-allowed}@media (prefers-reduced-motion){.switch{--_switch-animation-duration:var(--forge-switch-animation-duration, 0s)}}forge-state-layer{--forge-state-layer-color:var(--_switch-state-layer-off-color)}forge-focus-indicator{--forge-focus-indicator-shape:var(--_switch-track-shape);--forge-focus-indicator-outward-offset:0px}';\n\nexport interface ISwitchComponent extends IBaseNullableFormComponent, ILabelAware {\n on: boolean;\n /**\n * @deprecated use `on` instead\n */\n selected: boolean;\n defaultOn: boolean;\n dense: boolean;\n icon: SwitchIconVisibility;\n labelPosition: SwitchLabelPosition;\n toggle(force?: boolean): void;\n setFormValue(value: string | File | FormData | null, state?: string | File | FormData | null | undefined): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-switch': ISwitchComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-switch-change': CustomEvent<boolean>;\n }\n}\n\n/**\n * @tag forge-switch\n * \n * @summary Switches toggle the state of a single setting on or off.\n * \n * @description\n * Use switches to:\n * - Toggle a single item on or off, on mobile and tablet\n * - Immediately activate or deactivate something\n * \n * @property {boolean} on - Whether the switch is on the on or off state.\n * @property {boolean} selected - Deprecated. Alias for `on`.\n * @property {boolean} defaultOn - Whether the switch is on or off by default.\n * @property {string} value - The value of the switch.\n * @property {boolean} dense - The density state.\n * @property {boolean} disabled - Controls if the switch is disabled.\n * @property {boolean} required = Controls if the switch is required.\n * @property {boolean} readonly - Controls if the switch is readonly.\n * @property {SwitchIconVisibility} icon - Controls the presence of the off and on icons.\n * @property {SwitchLabelPosition} labelPosition - Whether the label appears before or after the switch.\n * \n * @attribute {string} on - Controls whether the switch is in the on or off state.\n * @attribute {string} selected - Deprecated. Alias for `on`.\n * @attribute {string} default-on - Controls whether the switch is in the on or off state by default.\n * @attribute {string} value - The value of the switch.\n * @attribute {string} dense - Sets the density state.\n * @attribute {string} disabled - Controls if the switch is disabled.\n * @attribute {string} required - Controls if the switch is required.\n * @attribute {string} readonly - Controls if the switch is readonly.\n * @attribute {string} icon - Controls the presence of the off and on icons.\n * @attribute {string} label-position - Sets whether the label appears before or after the switch.\n * \n * @method {(force?: boolean) => void} toggle - Toggles whether the switch is selected or forces a selected state.\n * \n * @event {CustomEvent} forge-switch-change - Dispatches when the switch's value changes.\n * \n * @cssproperty --forge-theme-primary - The primary color of the switch.\n * @cssproperty --forge-theme-on-primary - The color of elements placed on top of the primary color (the handle icons for example).\n * @cssproperty --forge-switch-handle-on-color - The color of the handle in the switch's on state.\n * @cssproperty --forge-switch-handle-off-color - The color of the handle in the switch's off state.\n * @cssproperty --forge-switch-handle-active-on-color - The color of the handle when the switch is active (pressed) in its on state.\n * @cssproperty --forge-switch-handle-active-off-color - The color of the handle when the switch is active (pressed) in its off state.\n * @cssproperty --forge-switch-handle-size - The inline and block size of the handle.\n * @cssproperty --forge-switch-handle-width - The inline size of the handle.\n * @cssproperty --forge-switch-handle-height - The block size of the handle.\n * @cssproperty --forge-switch-handle-scale - The scale transformation applied to the handle.\n * @cssproperty --forge-switch-handle-on-scale - The scale transformation applied to the handle in the switch's on state.\n * @cssproperty --forge-switch-handle-off-scale - The scale transformation applied to the handle in the switch's off state.\n * @cssproperty --forge-switch-handle-active-scale - The scale transformation applied to the handle when the switch is active (pressed).\n * @cssproperty --forge-switch-handle-active-on-scale - The scale transformation applied to the handle when the switch is active (pressed) in its on state.\n * @cssproperty --forge-switch-handle-active-off-scale - The scale transformation applied to the handle when the switch is active (pressed) in its off state.\n * @cssproperty --forge-switch-handle-shape - The shape of the handle.\n * @cssproperty --forge-switch-handle-elevation - The handle's shadow.\n * @cssproperty --forge-switch-handle-on-elevation - The handle's shadow in the switch's on state.\n * @cssproperty --forge-switch-handle-off-elevation - The handle's shadow in the switch's off state.\n * @cssproperty --forge-switch-handle-active-elevation - The handle's shadow when the switch is active (pressed).\n * @cssproperty --forge-switch-handle-active-on-elevation - The handle's shadow when the switch is active (pressed) in its on state.\n * @cssproperty --forge-switch-handle-active-off-elevation - The handle's shadow when the switch is active (pressed) in its off state.\n * @cssproperty --forge-switch-track-on-color - The color of the track in the switch's on state.\n * @cssproperty --forge-switch-track-off-color - The color fo the track in the switch's off state.\n * @cssproperty --forge-switch-track-active-on-color - The color of the track when the switch is active (pressed) in its on state.\n * @cssproperty --forge-switch-track-active-off-color - The color fo the track when the switch is active (pressed) in its off state.\n * @cssproperty --forge-switch-track-width - The inline size of the track.\n * @cssproperty --forge-switch-track-height - The block size of the track.\n * @cssproperty --forge-switch-track-shape - The shape of the track.\n * @cssproperty --forge-switch-track-border-width - The width of the track border.\n * @cssproperty --forge-switch-track-on-border-width - The width of the track border in the switch's on state.\n * @cssproperty --forge-switch-track-off-border-width - The width of the track border in the switch's off state.\n * @cssproperty --forge-switch-track-active-on-border-width - The width of the track border when the switch is active (pressed) in its on state.\n * @cssproperty --forge-switch-track-active-off-border-width - The width of the track border when the switch is active (pressed) in its off state.\n * @cssproperty --forge-switch-track-border-color - The color of the track border.\n * @cssproperty --forge-switch-track-on-border-color - The color of the track border in the switch's on state.\n * @cssproperty --forge-switch-track-off-border-color - The color of the track border in the switch's off state.\n * @cssproperty --forge-switch-track-active-on-border-color - The color of the track border when the switch is active (pressed) in its on state.\n * @cssproperty --forge-switch-track-active-off-border-color - The color of the track border when the switch is active (pressed) in its off state.\n * @cssproperty --forge-switch-icon-color - The color of the handle icons.\n * @cssproperty --forge-switch-icon-on-color - The color of the handle icon in the switch's on state.\n * @cssproperty --forge-switch-icon-off-color - The color of the handle icon in the switch's off state.\n * @cssproperty --forge-switch-icon-active-on-color - The color of the handle icon when the switch is active (pressed) in its on state.\n * @cssproperty --forge-switch-icon-active-off-color - The color of the handle icon when the switch is active (pressed) in its off state.\n * @cssproperty --forge-switch-icon-size - The size of the handle icon.\n * @cssproperty --forge-switch-icon-on-size - The size of the handle icon in the switch's on state.\n * @cssproperty --forge-switch-icon-off-size - The size of the handle icon in the switch's off state.\n * @cssproperty --forge-switch-icon-scale - The scale transformation applied to the handle icons.\n * @cssproperty --forge-switch-icon-on-scale - The scale transformation applied to the handle icons in the switch's on state.\n * @cssproperty --forge-switch-icon-off-scale - The scale transformation applied to the handle icons in the switch's off state.\n * @cssproperty --forge-switch-icon-active-on-scale - The scale transformation applied to the handle icons when the switch is active (pressed) in its on state.\n * @cssproperty --forge-switch-icon-active-off-scale - The scale transformation applied to the handle icons when the switch is active (pressed) in its off state.\n * @cssproperty --forge-switch-gap - The space between the switch and label.\n * @cssproperty --forge-switch-justify - How the switch and label are distributed along their main axis.\n * @cssproperty --forge-switch-direction - Whether the switch and label are arranged along the inline or block axis.\n * @cssproperty --forge-switch-state-layer-size - The inline and block size of the handle's state layer.\n * @cssproperty --forge-switch-state-layer-width - The inline size of the handle's state layer.\n * @cssproperty --forge-switch-state-layer-height - The block size of the handle's state layer.\n * @cssproperty --forge-switch-state-layer-on-color - The color of the handle's state layer when the switch is in its on state.\n * @cssproperty --forge-switch-state-layer-off-color - The color of the handle's state layer when the switch is in its off state.\n * @cssproperty --forge-switch-state-layer-dense-size - The inline and block size of the handle's state layer when the dense switch is used.\n * @cssproperty --forge-switch-state-layer-dense-width - The inline size of the handle's state layer when the dense switch is used.\n * @cssproperty --forge-switch-state-layer-dense-height - The block size of the handle's state layer when the dense switch is used.\n * @cssproperty --forge-switch-disabled-opacity - The opacity of the switch when disabled.\n * @cssproperty --forge-switch-animation-duration - The duration of animations.\n * @cssproperty --forge-switch-animation-timing - The timing function used in most animations.\n * @cssproperty --forge-switch-active-animation-timing - The timing function used in active state animations.\n * \n * @csspart switch - Styles the switch container element.\n * @csspart track - Styles the track element.\n * @csspart handle - Styles the handle element.\n * @csspart icon-on - Styles the on icon element.\n * @csspart icon-off - Styles the off icon element.\n * @csspart label - Styles the label element.\n * @csspart state-layer - Styles the state layer root element.\n * @csspart focus-indicator - Styles the focus indicator root element.\n */\n@CustomElement({\n name: SWITCH_CONSTANTS.elementName,\n dependencies: [\n FocusIndicatorComponent,\n StateLayerComponent\n ]\n})\nexport class SwitchComponent extends BaseNullableFormComponent implements ISwitchComponent {\n public static get observedAttributes(): string[] {\n return [\n SWITCH_CONSTANTS.attributes.ON,\n SWITCH_CONSTANTS.attributes.SELECTED,\n SWITCH_CONSTANTS.attributes.DEFAULT_ON,\n SWITCH_CONSTANTS.attributes.VALUE,\n SWITCH_CONSTANTS.attributes.DENSE,\n SWITCH_CONSTANTS.attributes.DISABLED,\n SWITCH_CONSTANTS.attributes.REQUIRED,\n SWITCH_CONSTANTS.attributes.READONLY,\n SWITCH_CONSTANTS.attributes.ICON,\n SWITCH_CONSTANTS.attributes.LABEL_POSITION\n ];\n }\n\n public get form(): HTMLFormElement | null {\n return this[internals].form;\n }\n\n public get labels(): NodeList {\n return this[internals].labels;\n }\n\n public get name(): string {\n return this.getAttribute('name') ?? '';\n }\n public set name(value: string) {\n toggleAttribute(this, !!value, 'name', value ?? '');\n }\n\n public get validity(): ValidityState {\n this._foundation.syncValidity(this._hasCustomValidityError);\n return this[internals].validity;\n }\n\n public get validationMessage(): string {\n this._foundation.syncValidity(this._hasCustomValidityError);\n return this[internals].validationMessage;\n }\n\n public get willValidate(): boolean {\n return this[internals].willValidate;\n }\n\n public readonly [internals]: ElementInternals;\n private readonly _foundation: SwitchFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles, true);\n this[internals] = this.attachInternals();\n this._foundation = new SwitchFoundation(new SwitchAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case SWITCH_CONSTANTS.attributes.ON:\n case SWITCH_CONSTANTS.attributes.SELECTED:\n this.on = coerceBoolean(newValue);\n break;\n case SWITCH_CONSTANTS.attributes.DEFAULT_ON:\n this.defaultOn = coerceBoolean(newValue);\n break;\n case SWITCH_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case SWITCH_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case SWITCH_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case SWITCH_CONSTANTS.attributes.REQUIRED:\n this.required = coerceBoolean(newValue);\n break;\n case SWITCH_CONSTANTS.attributes.READONLY:\n this.readonly = coerceBoolean(newValue);\n break;\n case SWITCH_CONSTANTS.attributes.ICON:\n this.icon = newValue as SwitchIconVisibility;\n break;\n case SWITCH_CONSTANTS.attributes.LABEL_POSITION:\n this.labelPosition = newValue as SwitchLabelPosition;\n break;\n }\n }\n\n public setFormValue(value: string | File | FormData | null, state?: string | File | FormData | null | undefined): void {\n this[internals].setFormValue(value, state);\n\n if (state) {\n const stateValue = isString(state) ? state : state[this.name];\n this.on = stateValue === SWITCH_CONSTANTS.state.ON;\n return;\n }\n\n if (isString(value)) {\n this.on = !!value;\n } else if (value?.[this.name]) {\n this.on = !!value[this.name];\n } else {\n this.on = false;\n }\n }\n\n public checkValidity(): boolean {\n this._foundation.syncValidity(this._hasCustomValidityError);\n return this[internals].checkValidity();\n }\n\n public reportValidity(): boolean {\n this._foundation.syncValidity(this._hasCustomValidityError);\n return this[internals].reportValidity();\n }\n\n public setCustomValidity(error: string): void {\n this._hasCustomValidityError = !!error;\n this._foundation.setValidity({ customError: !!error }, error);\n }\n\n public formResetCallback(): void {\n this.on = this.defaultOn;\n }\n\n public formStateRestoreCallback(state: string): void {\n this.on = state === SWITCH_CONSTANTS.state.ON;\n }\n\n public formDisabledCallback(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public labelClickedCallback(): void {\n this._foundation.proxyClick();\n }\n\n public labelChangedCallback(value: string | null): void {\n this._foundation.proxyLabel(value);\n }\n\n @FoundationProperty()\n public declare on: boolean;\n\n /**\n * @deprecated use `on` instead\n */\n @FoundationProperty({ name: 'on' })\n public declare selected: boolean;\n\n @FoundationProperty()\n public declare defaultOn: boolean;\n\n @FoundationProperty()\n public declare value: string;\n\n @FoundationProperty()\n public declare dense: boolean;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare required: boolean;\n\n @FoundationProperty()\n public declare readonly: boolean;\n\n @FoundationProperty()\n public declare icon: SwitchIconVisibility;\n\n @FoundationProperty()\n public declare labelPosition: SwitchLabelPosition;\n\n /**\n * Toggles the switch on or off.\n * @param force Whether to set the switch on or off.\n */\n public toggle(force?: boolean): void {\n if (isDefined(force)) {\n this._foundation.on = force as boolean;\n } else {\n this._foundation.on = !this._foundation.on;\n }\n }\n}\n", "import { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core';\nimport { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { ISwitchComponent } from './switch';\nimport { SWITCH_CONSTANTS, SwitchIconVisibility, SwitchLabelPosition } from './switch-constants';\n\nexport type SwitchComponentDelegateProps = Partial<ISwitchComponent>;\nexport interface ISwitchComponentDelegateOptions extends IFormFieldComponentDelegateOptions {\n id?: string;\n label?: string;\n}\nexport interface ISwitchComponentDelegateConfig extends IBaseComponentDelegateConfig<ISwitchComponent, ISwitchComponentDelegateOptions> {}\n\nexport class SwitchComponentDelegate extends FormFieldComponentDelegate<ISwitchComponent, ISwitchComponentDelegateOptions> {\n constructor(config?: ISwitchComponentDelegateConfig) {\n super(config);\n }\n\n public get value(): string {\n return this._element.value;\n }\n public set value(value: string) {\n this._element.value = value;\n }\n\n public get on(): boolean {\n return this._element.on;\n }\n public set on(value: boolean) {\n this._element.on = value;\n }\n\n public get selected(): boolean {\n return this._element.selected;\n }\n public set selected(value: boolean) {\n this._element.selected = value;\n }\n\n public get defaultOn(): boolean {\n return this._element.defaultOn;\n }\n public set defaultOn(value: boolean) {\n this._element.defaultOn = value;\n }\n\n public get icon(): SwitchIconVisibility {\n return this._element.icon;\n }\n public set icon(value: SwitchIconVisibility) {\n this._element.icon = value;\n }\n\n public get disabled(): boolean {\n return this._element.disabled;\n }\n public set disabled(value: boolean) {\n this._element.disabled = value;\n }\n\n public get dense(): boolean {\n return this._element.dense;\n }\n public set dense(value: boolean) {\n this._element.dense = value;\n }\n\n public get required(): boolean {\n return this._element.required;\n }\n public set required(value: boolean) {\n this._element.required = value;\n }\n\n public get readonly(): boolean {\n return this._element.readonly;\n }\n public set readonly(value: boolean) {\n this._element.readonly = value;\n }\n\n public get name(): string {\n return this._element.name;\n }\n public set name(value: string) {\n this._element.name = value;\n }\n\n public get labelPosition(): SwitchLabelPosition {\n return this._element.labelPosition;\n }\n public set labelPosition(value: SwitchLabelPosition) {\n this._element.labelPosition = value;\n }\n\n public onChange(listener: (value: boolean) => void): void {\n this._element.addEventListener('forge-switch-change', ({ detail }: CustomEvent<boolean>) => listener(detail));\n }\n\n public onFocus(listener: (evt: Event) => void): void {\n this._element.addEventListener('focus', evt => listener(evt));\n }\n\n public onBlur(listener: (evt: Event) => void): void {\n this._element.addEventListener('blur', evt => listener(evt));\n }\n\n public setLabel(text: string | null): void {\n this._element.innerText = text ?? '';\n }\n\n public toggle(force?: boolean): void {\n this._element.toggle(force);\n }\n\n protected _build(): ISwitchComponent {\n return document.createElement(SWITCH_CONSTANTS.elementName);\n }\n\n protected override _configure(): void {\n if (this._config.options?.id) {\n this._element.id = this._config.options.id;\n }\n if (this._config.options?.label) {\n this._element.innerText = this._config.options.label;\n }\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { SwitchComponent } from './switch';\n\nexport * from './switch-adapter';\nexport * from './switch-constants';\nexport * from './switch-foundation';\nexport * from './switch';\nexport * from './switch-component-delegate';\n\nexport function defineSwitchComponent(): void {\n defineCustomElement(SwitchComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "attributes", "selectors", "events", "state", "forwardedAttributes", "INPUT_ARIA_ATTRIBUTES", "SWITCH_CONSTANTS", "SwitchAdapter", "BaseAdapter", "component", "getShadowElement", "SWITCH_CONSTANTS", "SlottedElementAdapter", "_a", "slottedInput", "value", "toggleAttribute", "hideOn", "hideOff", "toggleClass", "event", "callback", "inputElement", "internals", "data", "hasCustomValidityError", "flags", "message", "el", "forwardAttributes", "name", "hasAriaLabel", "newEl", "oldEl", "cloneAttributes", "cloneProperties", "INPUT_PROPERTIES", "cloneValidationMessage", "SwitchFoundation", "_adapter", "evt", "value", "hasCustomValidityError", "flags", "message", "newValue", "oldValue", "SWITCH_CONSTANTS", "template", "styles", "SwitchComponent", "BaseNullableFormComponent", "attachShadowTemplate", "internals", "SwitchFoundation", "SwitchAdapter", "SWITCH_CONSTANTS", "_a", "value", "toggleAttribute", "name", "oldValue", "newValue", "coerceBoolean", "state", "stateValue", "isString", "error", "isDisabled", "force", "isDefined", "__decorateClass", "FoundationProperty", "CustomElement", "FocusIndicatorComponent", "StateLayerComponent", "SwitchComponentDelegate", "FormFieldComponentDelegate", "config", "value", "listener", "detail", "evt", "text", "force", "SWITCH_CONSTANTS", "_a", "_b", "defineSwitchComponent", "defineCustomElement", "SwitchComponent"]
7
+ }