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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (814) hide show
  1. package/custom-elements.json +52540 -39351
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/app-bar/index.js +1 -1
  4. package/dist/esm/app-bar/help-button/index.js +1 -1
  5. package/dist/esm/app-bar/index.js +1 -1
  6. package/dist/esm/app-bar/menu-button/index.js +1 -1
  7. package/dist/esm/app-bar/notification-button/index.js +1 -1
  8. package/dist/esm/app-bar/profile-button/index.js +1 -1
  9. package/dist/esm/app-bar/search/index.js +1 -1
  10. package/dist/esm/autocomplete/index.js +1 -1
  11. package/dist/esm/avatar/index.js +1 -1
  12. package/dist/esm/backdrop/index.js +1 -1
  13. package/dist/esm/badge/index.js +1 -1
  14. package/dist/esm/banner/index.js +1 -1
  15. package/dist/esm/bottom-sheet/index.js +1 -1
  16. package/dist/esm/busy-indicator/index.js +1 -1
  17. package/dist/esm/button/index.js +1 -1
  18. package/dist/esm/button-area/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  20. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  21. package/dist/esm/button-toggle/index.js +1 -1
  22. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  23. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/chunk.24NQGTNU.js +7 -0
  32. package/dist/esm/chunks/chunk.24NQGTNU.js.map +7 -0
  33. package/dist/esm/chunks/{chunk.PSTGTQVK.js → chunk.2JCTFKCR.js} +2 -2
  34. package/dist/esm/chunks/{chunk.3UO6S3IK.js → chunk.2OZ2HVBZ.js} +2 -2
  35. package/dist/esm/chunks/{chunk.3UO6S3IK.js.map → chunk.2OZ2HVBZ.js.map} +3 -3
  36. package/dist/esm/chunks/{chunk.4B5IOZAT.js → chunk.2YE556AM.js} +2 -2
  37. package/dist/esm/chunks/{chunk.YKZ25J6B.js → chunk.3U6A353B.js} +2 -2
  38. package/dist/esm/chunks/chunk.3VHQPHQP.js +7 -0
  39. package/dist/esm/chunks/chunk.3VHQPHQP.js.map +7 -0
  40. package/dist/esm/chunks/{chunk.LXX3YZYS.js → chunk.436USWLL.js} +2 -2
  41. package/dist/esm/chunks/{chunk.KLPF4CNX.js → chunk.4GMGQZOW.js} +2 -2
  42. package/dist/esm/chunks/{chunk.Z7PBGV4K.js → chunk.4JB3SESQ.js} +2 -2
  43. package/dist/esm/chunks/{chunk.QFY23EWU.js → chunk.4JL5LW5J.js} +2 -2
  44. package/dist/esm/chunks/chunk.4O6OEUGY.js +7 -0
  45. package/dist/esm/chunks/{chunk.RDW7Z4W5.js.map → chunk.4O6OEUGY.js.map} +2 -2
  46. package/dist/esm/chunks/chunk.4OG3OGVO.js +7 -0
  47. package/dist/esm/chunks/chunk.4OG3OGVO.js.map +7 -0
  48. package/dist/esm/chunks/chunk.4QOXI2GM.js +7 -0
  49. package/dist/esm/chunks/chunk.4QOXI2GM.js.map +7 -0
  50. package/dist/esm/chunks/chunk.55D2BMXX.js +7 -0
  51. package/dist/esm/chunks/{chunk.A72W7RW7.js → chunk.5LCWC3A7.js} +2 -2
  52. package/dist/esm/chunks/{chunk.RYNQDXFA.js → chunk.5T7TT3AB.js} +2 -2
  53. package/dist/esm/chunks/{chunk.2GYZM6ZG.js → chunk.5WVOPPBY.js} +2 -2
  54. package/dist/esm/chunks/{chunk.2GYZM6ZG.js.map → chunk.5WVOPPBY.js.map} +2 -2
  55. package/dist/esm/chunks/chunk.5XLCY232.js +7 -0
  56. package/dist/esm/chunks/chunk.5XLCY232.js.map +7 -0
  57. package/dist/esm/chunks/chunk.65WE722H.js +7 -0
  58. package/dist/esm/chunks/chunk.65WE722H.js.map +7 -0
  59. package/dist/esm/chunks/chunk.6IPX5C4B.js +7 -0
  60. package/dist/esm/chunks/chunk.6IPX5C4B.js.map +7 -0
  61. package/dist/esm/chunks/{chunk.TLFCQSJN.js → chunk.6PB5OWMP.js} +2 -2
  62. package/dist/esm/chunks/{chunk.TLFCQSJN.js.map → chunk.6PB5OWMP.js.map} +2 -2
  63. package/dist/esm/chunks/chunk.74HZVSDM.js +7 -0
  64. package/dist/esm/chunks/chunk.74HZVSDM.js.map +7 -0
  65. package/dist/esm/chunks/chunk.74JHE77R.js +7 -0
  66. package/dist/esm/chunks/{chunk.KTYYBWTN.js.map → chunk.74JHE77R.js.map} +2 -2
  67. package/dist/esm/chunks/chunk.7SYU6KRU.js +15 -0
  68. package/dist/esm/chunks/chunk.7SYU6KRU.js.map +7 -0
  69. package/dist/esm/chunks/{chunk.HHHBS6FB.js → chunk.B53Q676I.js} +2 -2
  70. package/dist/esm/chunks/{chunk.B46Q3AFP.js → chunk.BKQSLDMK.js} +2 -2
  71. package/dist/esm/chunks/{chunk.7XFU2W25.js → chunk.BX4AQRHB.js} +2 -2
  72. package/dist/esm/chunks/{chunk.7XFU2W25.js.map → chunk.BX4AQRHB.js.map} +3 -3
  73. package/dist/esm/chunks/{chunk.OUACQISE.js → chunk.BZG47SA5.js} +2 -2
  74. package/dist/esm/chunks/{chunk.OUACQISE.js.map → chunk.BZG47SA5.js.map} +1 -1
  75. package/dist/esm/chunks/{chunk.F2EBSV5Z.js → chunk.BZVLSWZR.js} +2 -2
  76. package/dist/esm/chunks/chunk.C72LM2AL.js +7 -0
  77. package/dist/esm/chunks/chunk.C72LM2AL.js.map +7 -0
  78. package/dist/esm/chunks/{chunk.BMQYEYCT.js → chunk.DGG5ABL3.js} +2 -2
  79. package/dist/esm/chunks/{chunk.PK7R6WDF.js → chunk.DPIWAXEW.js} +2 -2
  80. package/dist/esm/chunks/chunk.E62ZPQSM.js +7 -0
  81. package/dist/esm/chunks/chunk.E62ZPQSM.js.map +7 -0
  82. package/dist/esm/chunks/chunk.ECJBVX3D.js +7 -0
  83. package/dist/esm/chunks/{chunk.5VHUMZYS.js.map → chunk.ECJBVX3D.js.map} +1 -1
  84. package/dist/esm/chunks/chunk.EN2HVFJ4.js +7 -0
  85. package/dist/esm/chunks/chunk.EN2HVFJ4.js.map +7 -0
  86. package/dist/esm/chunks/chunk.EPRRK33O.js +7 -0
  87. package/dist/esm/chunks/chunk.EPRRK33O.js.map +7 -0
  88. package/dist/esm/chunks/{chunk.7PP6QHOM.js → chunk.ETDUW5K2.js} +2 -2
  89. package/dist/esm/chunks/chunk.EWFNM4WO.js +7 -0
  90. package/dist/esm/chunks/chunk.EWFNM4WO.js.map +7 -0
  91. package/dist/esm/chunks/{chunk.FYWPZFLJ.js → chunk.EWT2PBEP.js} +2 -2
  92. package/dist/esm/chunks/{chunk.FYWPZFLJ.js.map → chunk.EWT2PBEP.js.map} +2 -2
  93. package/dist/esm/chunks/{chunk.GHR7T6U2.js → chunk.FGHSNC2V.js} +2 -2
  94. package/dist/esm/chunks/{chunk.P7LC3YYW.js → chunk.FPRBYGET.js} +2 -2
  95. package/dist/esm/chunks/{chunk.7W2UWAZX.js → chunk.FQVR2QNF.js} +2 -2
  96. package/dist/esm/chunks/{chunk.IEB5KRFQ.js → chunk.FWWBFNQA.js} +2 -2
  97. package/dist/esm/chunks/{chunk.543K5Y4E.js → chunk.FZELFLPE.js} +2 -2
  98. package/dist/esm/chunks/{chunk.6Q3SV2R2.js → chunk.FZZUNYH5.js} +2 -2
  99. package/dist/esm/chunks/chunk.GHMAI3SM.js +15 -0
  100. package/dist/esm/chunks/chunk.GHMAI3SM.js.map +7 -0
  101. package/dist/esm/chunks/{chunk.CTZ3AWDW.js → chunk.GLUKTMQU.js} +2 -2
  102. package/dist/esm/chunks/{chunk.W324TWF2.js → chunk.GTBCTNMI.js} +2 -2
  103. package/dist/esm/chunks/chunk.GTGXHY4A.js +7 -0
  104. package/dist/esm/chunks/chunk.GTGXHY4A.js.map +7 -0
  105. package/dist/esm/chunks/{chunk.L4Y4RO5O.js → chunk.GURV4TDZ.js} +2 -2
  106. package/dist/esm/chunks/chunk.H6MMHAQI.js +15 -0
  107. package/dist/esm/chunks/chunk.H6MMHAQI.js.map +7 -0
  108. package/dist/esm/chunks/{chunk.FQSL747N.js → chunk.HJUFU2PV.js} +2 -2
  109. package/dist/esm/chunks/{chunk.FQSL747N.js.map → chunk.HJUFU2PV.js.map} +2 -2
  110. package/dist/esm/chunks/chunk.HPCXVNG6.js +7 -0
  111. package/dist/esm/chunks/{chunk.CZOABXEQ.js.map → chunk.HPCXVNG6.js.map} +3 -3
  112. package/dist/esm/chunks/{chunk.K7FPXAFS.js → chunk.HZUQXCOQ.js} +2 -2
  113. package/dist/esm/chunks/{chunk.K7FPXAFS.js.map → chunk.HZUQXCOQ.js.map} +2 -2
  114. package/dist/esm/chunks/{chunk.THWSN3X4.js → chunk.IA27LU2O.js} +2 -2
  115. package/dist/esm/chunks/chunk.INQZNXG6.js +7 -0
  116. package/dist/esm/chunks/chunk.INQZNXG6.js.map +7 -0
  117. package/dist/esm/chunks/chunk.IO3TM653.js +7 -0
  118. package/dist/esm/chunks/chunk.IO3TM653.js.map +7 -0
  119. package/dist/esm/chunks/{chunk.TZFUKJ24.js → chunk.JXJVPJRO.js} +2 -2
  120. package/dist/esm/chunks/{chunk.Z2RB75TN.js → chunk.K3STAW42.js} +2 -2
  121. package/dist/esm/chunks/chunk.KM5XYTE3.js +7 -0
  122. package/dist/esm/chunks/chunk.KM5XYTE3.js.map +7 -0
  123. package/dist/esm/chunks/{chunk.G2BNY5QQ.js → chunk.KPC6IS3C.js} +2 -2
  124. package/dist/esm/chunks/chunk.KPNGLSCU.js +7 -0
  125. package/dist/esm/chunks/chunk.KPNGLSCU.js.map +7 -0
  126. package/dist/esm/chunks/{chunk.VDZ7HBKM.js → chunk.KV7PGQJ7.js} +2 -2
  127. package/dist/esm/chunks/chunk.LCS2O4Y7.js +7 -0
  128. package/dist/esm/chunks/chunk.LCS2O4Y7.js.map +7 -0
  129. package/dist/esm/chunks/chunk.M4KCRUKW.js +7 -0
  130. package/dist/esm/chunks/chunk.M4KCRUKW.js.map +7 -0
  131. package/dist/esm/chunks/chunk.M5JGYRH4.js +7 -0
  132. package/dist/esm/chunks/chunk.M7RYU4HQ.js +7 -0
  133. package/dist/esm/chunks/chunk.M7RYU4HQ.js.map +7 -0
  134. package/dist/esm/chunks/chunk.N75VD4S4.js +7 -0
  135. package/dist/esm/chunks/chunk.NHOGZDLN.js +7 -0
  136. package/dist/esm/chunks/chunk.NHOGZDLN.js.map +7 -0
  137. package/dist/esm/chunks/{chunk.H7GW57Q6.js → chunk.NKEAMFO4.js} +2 -2
  138. package/dist/esm/chunks/{chunk.26E4L52W.js → chunk.NW54VA4E.js} +2 -2
  139. package/dist/esm/chunks/chunk.OJGPKHHC.js +7 -0
  140. package/dist/esm/chunks/{chunk.VD5ZL5ZN.js.map → chunk.OJGPKHHC.js.map} +2 -2
  141. package/dist/esm/chunks/chunk.OSCODMUG.js +7 -0
  142. package/dist/esm/chunks/chunk.OSCODMUG.js.map +7 -0
  143. package/dist/esm/chunks/chunk.OT3JZ6JO.js +7 -0
  144. package/dist/esm/chunks/chunk.OT3JZ6JO.js.map +7 -0
  145. package/dist/esm/chunks/{chunk.PADPL4L3.js → chunk.OUIWXKO2.js} +2 -2
  146. package/dist/esm/chunks/chunk.OXVCCHM5.js +7 -0
  147. package/dist/esm/chunks/{chunk.7ABZUBTT.js → chunk.P5XHGSJY.js} +2 -2
  148. package/dist/esm/chunks/chunk.Q5YXX4DU.js +7 -0
  149. package/dist/esm/chunks/chunk.Q5YXX4DU.js.map +7 -0
  150. package/dist/esm/chunks/chunk.QG5EYBS3.js +7 -0
  151. package/dist/esm/chunks/chunk.QG5EYBS3.js.map +7 -0
  152. package/dist/esm/chunks/{chunk.NZKIFXBU.js → chunk.QKTNCOVX.js} +2 -2
  153. package/dist/esm/chunks/{chunk.NG6UZ4OL.js → chunk.QZ57WM3D.js} +2 -2
  154. package/dist/esm/chunks/{chunk.OED5UCYT.js → chunk.R2QENXIL.js} +2 -2
  155. package/dist/esm/chunks/chunk.R53VHVKB.js +12 -0
  156. package/dist/esm/chunks/chunk.R53VHVKB.js.map +7 -0
  157. package/dist/esm/chunks/{chunk.DOEG3DWJ.js → chunk.RDQ3QGWS.js} +2 -2
  158. package/dist/esm/chunks/{chunk.GS72TBUD.js → chunk.RFKKHN7V.js} +2 -2
  159. package/dist/esm/chunks/{chunk.57PXXJA6.js → chunk.RKG66YKS.js} +2 -2
  160. package/dist/esm/chunks/chunk.RRNSZCVJ.js +7 -0
  161. package/dist/esm/chunks/chunk.RRNSZCVJ.js.map +7 -0
  162. package/dist/esm/chunks/chunk.S32JKL3M.js +7 -0
  163. package/dist/esm/chunks/chunk.S32JKL3M.js.map +7 -0
  164. package/dist/esm/chunks/chunk.SJQPD3CO.js +7 -0
  165. package/dist/esm/chunks/chunk.SJQPD3CO.js.map +7 -0
  166. package/dist/esm/chunks/{chunk.LMIKNDBS.js → chunk.T235SNYZ.js} +2 -2
  167. package/dist/esm/chunks/chunk.T4N7KZHZ.js +7 -0
  168. package/dist/esm/chunks/chunk.T4N7KZHZ.js.map +7 -0
  169. package/dist/esm/chunks/{chunk.J3B5CWKT.js → chunk.TE6ZNUAM.js} +2 -2
  170. package/dist/esm/chunks/{chunk.J3B5CWKT.js.map → chunk.TE6ZNUAM.js.map} +2 -2
  171. package/dist/esm/chunks/{chunk.DD35U4AA.js → chunk.TNEUDWZU.js} +2 -2
  172. package/dist/esm/chunks/{chunk.DD35U4AA.js.map → chunk.TNEUDWZU.js.map} +2 -2
  173. package/dist/esm/chunks/chunk.TPXXHX5J.js +7 -0
  174. package/dist/esm/chunks/{chunk.JAWV5Y5T.js.map → chunk.TPXXHX5J.js.map} +2 -2
  175. package/dist/esm/chunks/chunk.TZ67MC2N.js +7 -0
  176. package/dist/esm/chunks/{chunk.C5IB44HX.js.map → chunk.TZ67MC2N.js.map} +1 -1
  177. package/dist/esm/chunks/chunk.V3IHX6B2.js +7 -0
  178. package/dist/esm/chunks/{chunk.BFUGFHEH.js.map → chunk.V3IHX6B2.js.map} +1 -1
  179. package/dist/esm/chunks/chunk.V564JB6A.js +7 -0
  180. package/dist/esm/chunks/chunk.V564JB6A.js.map +7 -0
  181. package/dist/esm/chunks/chunk.VGIZJ32U.js +7 -0
  182. package/dist/esm/chunks/chunk.VZTV4GXC.js +7 -0
  183. package/dist/esm/chunks/chunk.VZTV4GXC.js.map +7 -0
  184. package/dist/esm/chunks/chunk.W5TDBDVY.js +7 -0
  185. package/dist/esm/chunks/{chunk.XDANTL6C.js.map → chunk.W5TDBDVY.js.map} +2 -2
  186. package/dist/esm/chunks/{chunk.U5WMRBSC.js → chunk.WA2YP4NC.js} +2 -2
  187. package/dist/esm/chunks/chunk.WFQYTXCB.js +7 -0
  188. package/dist/esm/chunks/chunk.WFQYTXCB.js.map +7 -0
  189. package/dist/esm/chunks/chunk.WNH7EHZP.js +7 -0
  190. package/dist/esm/chunks/{chunk.F6KM5FO6.js.map → chunk.WNH7EHZP.js.map} +2 -2
  191. package/dist/esm/chunks/{chunk.5C24LZNU.js → chunk.WQHKUNR7.js} +2 -2
  192. package/dist/esm/chunks/chunk.WYSUQK6Z.js +7 -0
  193. package/dist/esm/chunks/{chunk.3ZRQFXQU.js.map → chunk.WYSUQK6Z.js.map} +2 -2
  194. package/dist/esm/chunks/chunk.X57DRPFB.js +7 -0
  195. package/dist/esm/chunks/{chunk.DDXIHZFX.js → chunk.X7YTDVNT.js} +2 -2
  196. package/dist/esm/chunks/chunk.XBFH6M72.js +7 -0
  197. package/dist/esm/chunks/chunk.XBFH6M72.js.map +7 -0
  198. package/dist/esm/chunks/{chunk.7DHDFH5L.js → chunk.XOH2JCRS.js} +2 -2
  199. package/dist/esm/chunks/{chunk.IW7HALLT.js → chunk.Y6D5Z56X.js} +2 -2
  200. package/dist/esm/chunks/{chunk.IW7HALLT.js.map → chunk.Y6D5Z56X.js.map} +2 -2
  201. package/dist/esm/chunks/chunk.YBPAGWVG.js +7 -0
  202. package/dist/esm/chunks/chunk.YBPAGWVG.js.map +7 -0
  203. package/dist/esm/chunks/{chunk.KVCDAZ6B.js → chunk.YTBNAGLS.js} +2 -2
  204. package/dist/esm/chunks/chunk.YWDYBX3G.js +7 -0
  205. package/dist/esm/chunks/chunk.YWDYBX3G.js.map +7 -0
  206. package/dist/esm/chunks/{chunk.RZZBM3AW.js → chunk.ZHMV5SR4.js} +2 -2
  207. package/dist/esm/chunks/{chunk.GWJ4QCSW.js → chunk.ZLACSRD4.js} +2 -2
  208. package/dist/esm/chunks/{chunk.URCJO73M.js → chunk.ZPVRRFT7.js} +2 -2
  209. package/dist/esm/chunks/{chunk.URCJO73M.js.map → chunk.ZPVRRFT7.js.map} +1 -1
  210. package/dist/esm/chunks/chunk.ZS3T6MJS.js +7 -0
  211. package/dist/esm/chunks/{chunk.JVK64JDZ.js.map → chunk.ZS3T6MJS.js.map} +2 -2
  212. package/dist/esm/chunks/{chunk.DTKFE7YB.js → chunk.ZUTQPJ2B.js} +2 -2
  213. package/dist/esm/chunks/chunk.ZWIEYVZC.js +7 -0
  214. package/dist/esm/chunks/chunk.ZWIEYVZC.js.map +7 -0
  215. package/dist/esm/chunks/chunk.ZY3ETQ3D.js +7 -0
  216. package/dist/esm/chunks/chunk.ZY3ETQ3D.js.map +7 -0
  217. package/dist/esm/chunks/{chunk.PQQVUUHU.js → chunk.ZYCKD6K5.js} +2 -2
  218. package/dist/esm/circular-progress/index.js +1 -1
  219. package/dist/esm/color-picker/index.js +1 -1
  220. package/dist/esm/core/base/index.js +1 -1
  221. package/dist/esm/core/delegates/index.js +1 -1
  222. package/dist/esm/core/index.js +1 -1
  223. package/dist/esm/core/utils/index.js +1 -1
  224. package/dist/esm/date-picker/index.js +1 -1
  225. package/dist/esm/date-range-picker/index.js +1 -1
  226. package/dist/esm/dialog/index.js +1 -1
  227. package/dist/esm/divider/index.js +1 -1
  228. package/dist/esm/drawer/base/index.js +1 -1
  229. package/dist/esm/drawer/drawer/index.js +1 -1
  230. package/dist/esm/drawer/index.js +1 -1
  231. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  232. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  233. package/dist/esm/expansion-panel/index.js +1 -1
  234. package/dist/esm/file-picker/index.js +1 -1
  235. package/dist/esm/floating-action-button/index.js +1 -1
  236. package/dist/esm/floating-label/index.js +1 -1
  237. package/dist/esm/focus-indicator/index.js +1 -1
  238. package/dist/esm/icon/index.js +1 -1
  239. package/dist/esm/icon-button/index.js +1 -1
  240. package/dist/esm/index.js +1 -1
  241. package/dist/esm/inline-message/index.js +1 -1
  242. package/dist/esm/keyboard-shortcut/index.js +1 -1
  243. package/dist/esm/label/index.js +1 -1
  244. package/dist/esm/label-value/index.js +1 -1
  245. package/dist/esm/linear-progress/index.js +1 -1
  246. package/dist/esm/list/index.js +1 -1
  247. package/dist/esm/list/list/index.js +1 -1
  248. package/dist/esm/list/list-item/index.js +1 -1
  249. package/dist/esm/list-dropdown/index.js +1 -1
  250. package/dist/esm/menu/index.js +1 -1
  251. package/dist/esm/open-icon/index.js +1 -1
  252. package/dist/esm/overlay/index.js +7 -0
  253. package/dist/esm/overlay/index.js.map +7 -0
  254. package/dist/esm/page-state/index.js +1 -1
  255. package/dist/esm/paginator/index.js +1 -1
  256. package/dist/esm/popover/index.js +7 -0
  257. package/dist/esm/popover/index.js.map +7 -0
  258. package/dist/esm/popup/index.js +1 -1
  259. package/dist/esm/product-icon/index.js +1 -1
  260. package/dist/esm/profile-card/index.js +1 -1
  261. package/dist/esm/quantity-field/index.js +1 -1
  262. package/dist/esm/radio/index.js +1 -1
  263. package/dist/esm/radio/radio/index.js +7 -0
  264. package/dist/esm/radio/radio/index.js.map +7 -0
  265. package/dist/esm/radio/radio-group/index.js +7 -0
  266. package/dist/esm/radio/radio-group/index.js.map +7 -0
  267. package/dist/esm/ripple/index.js +1 -1
  268. package/dist/esm/scaffold/index.js +1 -1
  269. package/dist/esm/select/core/index.js +1 -1
  270. package/dist/esm/select/index.js +1 -1
  271. package/dist/esm/select/option/index.js +1 -1
  272. package/dist/esm/select/option-group/index.js +1 -1
  273. package/dist/esm/select/select/index.js +1 -1
  274. package/dist/esm/select/select-dropdown/index.js +1 -1
  275. package/dist/esm/skeleton/index.js +1 -1
  276. package/dist/esm/slider/index.js +1 -1
  277. package/dist/esm/split-button/index.js +1 -1
  278. package/dist/esm/split-view/index.js +1 -1
  279. package/dist/esm/split-view/split-view/index.js +1 -1
  280. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  281. package/dist/esm/stack/index.js +1 -1
  282. package/dist/esm/state-layer/index.js +1 -1
  283. package/dist/esm/stepper/index.js +1 -1
  284. package/dist/esm/stepper/step/index.js +1 -1
  285. package/dist/esm/stepper/stepper/index.js +1 -1
  286. package/dist/esm/switch/index.js +1 -1
  287. package/dist/esm/table/index.js +1 -1
  288. package/dist/esm/tabs/index.js +1 -1
  289. package/dist/esm/tabs/tab/index.js +1 -1
  290. package/dist/esm/tabs/tab-bar/index.js +1 -1
  291. package/dist/esm/text-field/index.js +1 -1
  292. package/dist/esm/time-picker/index.js +1 -1
  293. package/dist/esm/toast/index.js +1 -1
  294. package/dist/esm/toolbar/index.js +1 -1
  295. package/dist/esm/tooltip/index.js +1 -1
  296. package/dist/esm/view-switcher/index.js +1 -1
  297. package/dist/esm/view-switcher/view/index.js +1 -1
  298. package/dist/forge-dark.css +1 -1
  299. package/dist/forge.css +1 -1
  300. package/dist/theme/forge-theme.css +1 -1
  301. package/esm/app-bar/app-bar/app-bar.js +1 -1
  302. package/esm/app-bar/help-button/app-bar-help-button-adapter.js +3 -3
  303. package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
  304. package/esm/app-bar/menu-button/app-bar-menu-button.js +4 -4
  305. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +3 -3
  306. package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
  307. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +3 -3
  308. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +1 -0
  309. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  310. package/esm/app-bar/search/app-bar-search-adapter.d.ts +8 -43
  311. package/esm/app-bar/search/app-bar-search-adapter.js +23 -53
  312. package/esm/app-bar/search/app-bar-search-constants.d.ts +0 -15
  313. package/esm/app-bar/search/app-bar-search-constants.js +3 -20
  314. package/esm/app-bar/search/app-bar-search-foundation.d.ts +3 -37
  315. package/esm/app-bar/search/app-bar-search-foundation.js +27 -88
  316. package/esm/app-bar/search/app-bar-search.d.ts +1 -21
  317. package/esm/app-bar/search/app-bar-search.js +13 -39
  318. package/esm/banner/banner.js +1 -1
  319. package/esm/button/base/base-button-adapter.d.ts +0 -5
  320. package/esm/button/base/base-button-adapter.js +18 -18
  321. package/esm/button/base/base-button-constants.d.ts +28 -28
  322. package/esm/button/base/base-button-foundation.d.ts +0 -2
  323. package/esm/button/base/base-button-foundation.js +9 -14
  324. package/esm/button/base/base-button.d.ts +11 -7
  325. package/esm/button/base/base-button.js +21 -14
  326. package/esm/button/button-constants.d.ts +2 -0
  327. package/esm/button/button-constants.js +2 -1
  328. package/esm/button/button-foundation.d.ts +4 -0
  329. package/esm/button/button-foundation.js +10 -0
  330. package/esm/button/button.d.ts +4 -0
  331. package/esm/button/button.js +10 -2
  332. package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +6 -14
  333. package/esm/button-toggle/button-toggle/button-toggle-adapter.js +19 -45
  334. package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +11 -15
  335. package/esm/button-toggle/button-toggle/button-toggle-constants.js +6 -17
  336. package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +18 -12
  337. package/esm/button-toggle/button-toggle/button-toggle-foundation.js +74 -30
  338. package/esm/button-toggle/button-toggle/button-toggle.d.ts +67 -14
  339. package/esm/button-toggle/button-toggle/button-toggle.js +82 -29
  340. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +7 -13
  341. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +26 -91
  342. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +20 -11
  343. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +8 -2
  344. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +20 -12
  345. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +101 -97
  346. package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +75 -9
  347. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +134 -25
  348. package/esm/calendar/calendar-dom-utils.js +1 -2
  349. package/esm/calendar/calendar-foundation.d.ts +1 -1
  350. package/esm/calendar/calendar-foundation.js +13 -16
  351. package/esm/checkbox/checkbox.js +1 -1
  352. package/esm/circular-progress/circular-progress-adapter.js +8 -12
  353. package/esm/circular-progress/circular-progress.d.ts +7 -3
  354. package/esm/circular-progress/circular-progress.js +4 -2
  355. package/esm/color-picker/color-picker.js +1 -1
  356. package/esm/constants.d.ts +15 -2
  357. package/esm/constants.js +13 -0
  358. package/esm/core/base/base-adapter.d.ts +6 -0
  359. package/esm/core/base/base-adapter.js +13 -4
  360. package/esm/core/base/base-component.d.ts +4 -0
  361. package/esm/core/base/base-form-component.d.ts +0 -10
  362. package/esm/core/base/base-form-component.js +0 -6
  363. package/esm/core/base/base-nullable-form-component.d.ts +0 -10
  364. package/esm/core/base/base-nullable-form-component.js +0 -6
  365. package/esm/core/{base/base-focusable-component.d.ts → mixins/focus/with-focusable.d.ts} +11 -14
  366. package/esm/core/{base/base-focusable-component.js → mixins/focus/with-focusable.js} +15 -16
  367. package/esm/core/mixins/form/with-form-associated.d.ts +116 -0
  368. package/esm/core/mixins/form/with-form-associated.js +71 -0
  369. package/esm/core/mixins/form/with-form-validity.d.ts +35 -0
  370. package/esm/core/mixins/form/with-form-validity.js +43 -0
  371. package/esm/core/mixins/interactions/longpress/with-longpress-listener.d.ts +33 -0
  372. package/esm/core/mixins/interactions/longpress/with-longpress-listener.js +82 -0
  373. package/esm/core/mixins/internals/with-default-aria.d.ts +32 -0
  374. package/esm/core/mixins/internals/with-default-aria.js +22 -0
  375. package/esm/core/mixins/internals/with-element-internals.d.ts +26 -0
  376. package/esm/core/mixins/internals/with-element-internals.js +22 -0
  377. package/esm/core/mixins/label/with-label-aware.d.ts +33 -0
  378. package/esm/core/mixins/label/with-label-aware.js +17 -0
  379. package/esm/core/utils/a11y-utils.d.ts +126 -0
  380. package/esm/core/utils/a11y-utils.js +169 -0
  381. package/esm/core/utils/deferred.d.ts +29 -0
  382. package/esm/core/utils/deferred.js +32 -0
  383. package/esm/core/utils/dismissible-stack.d.ts +74 -0
  384. package/esm/core/utils/dismissible-stack.js +133 -0
  385. package/esm/core/utils/event-utils.d.ts +1 -0
  386. package/esm/core/utils/event-utils.js +3 -0
  387. package/esm/core/utils/feature-detection.d.ts +13 -0
  388. package/esm/core/utils/feature-detection.js +21 -0
  389. package/esm/core/utils/form-utils.d.ts +24 -0
  390. package/{styles/checkbox/_configuration.scss → esm/core/utils/form-utils.js} +1 -5
  391. package/esm/core/utils/index.d.ts +1 -0
  392. package/esm/core/utils/index.js +1 -0
  393. package/esm/core/utils/mixin-utils.d.ts +20 -0
  394. package/esm/core/utils/mixin-utils.js +15 -0
  395. package/esm/core/utils/position-utils.d.ts +78 -0
  396. package/esm/core/utils/position-utils.js +197 -0
  397. package/esm/core/utils/reflect-utils.d.ts +1 -1
  398. package/esm/core/utils/reflect-utils.js +2 -2
  399. package/esm/core/utils/utils.d.ts +14 -0
  400. package/esm/core/utils/utils.js +25 -7
  401. package/esm/date-picker/base/base-date-picker.d.ts +1 -1
  402. package/esm/date-picker/base/base-date-picker.js +4 -3
  403. package/esm/date-range-picker/date-range-picker-foundation.d.ts +1 -0
  404. package/esm/date-range-picker/date-range-picker-foundation.js +4 -0
  405. package/esm/dialog/dialog-constants.d.ts +1 -0
  406. package/esm/dialog/dialog-constants.js +2 -1
  407. package/esm/dialog/dialog-foundation.js +3 -6
  408. package/esm/dialog/dialog.js +1 -1
  409. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  410. package/esm/expansion-panel/expansion-panel-adapter.js +0 -5
  411. package/esm/floating-action-button/floating-action-button.js +1 -1
  412. package/esm/icon-button/icon-button-component-delegate.js +1 -1
  413. package/esm/icon-button/icon-button.js +1 -1
  414. package/esm/index.d.ts +6 -4
  415. package/esm/index.js +36 -29
  416. package/esm/label/label-adapter.d.ts +2 -0
  417. package/esm/label/label-adapter.js +8 -5
  418. package/esm/label/label-aware.js +2 -1
  419. package/esm/label/label-constants.d.ts +6 -2
  420. package/esm/label/label-constants.js +13 -4
  421. package/esm/label/label-foundation.d.ts +16 -0
  422. package/esm/label/label-foundation.js +69 -6
  423. package/esm/label/label.d.ts +8 -0
  424. package/esm/label/label.js +21 -3
  425. package/esm/linear-progress/linear-progress-adapter.js +13 -12
  426. package/esm/linear-progress/linear-progress-constants.d.ts +6 -0
  427. package/esm/linear-progress/linear-progress-constants.js +4 -2
  428. package/esm/linear-progress/linear-progress-foundation.js +2 -1
  429. package/esm/linear-progress/linear-progress.d.ts +7 -3
  430. package/esm/linear-progress/linear-progress.js +8 -11
  431. package/esm/list/list/list.js +1 -1
  432. package/esm/list/list-item/list-item.js +1 -1
  433. package/esm/menu/menu-adapter.d.ts +3 -3
  434. package/esm/menu/menu-constants.d.ts +1 -1
  435. package/esm/menu/menu-foundation.d.ts +1 -0
  436. package/esm/menu/menu-foundation.js +11 -4
  437. package/esm/menu/menu.js +1 -5
  438. package/esm/open-icon/open-icon.js +2 -2
  439. package/esm/overlay/base/base-overlay-foundation.d.ts +50 -0
  440. package/esm/overlay/base/base-overlay-foundation.js +11 -0
  441. package/esm/overlay/base/base-overlay.d.ts +49 -0
  442. package/esm/overlay/base/base-overlay.js +106 -0
  443. package/esm/overlay/base/overlay-aware-adapter.d.ts +17 -0
  444. package/esm/overlay/base/overlay-aware-adapter.js +15 -0
  445. package/esm/overlay/base/overlay-aware-foundation.d.ts +53 -0
  446. package/esm/overlay/base/overlay-aware-foundation.js +158 -0
  447. package/esm/overlay/base/overlay-aware.d.ts +36 -0
  448. package/esm/overlay/base/overlay-aware.js +102 -0
  449. package/esm/overlay/index.d.ts +10 -0
  450. package/esm/overlay/index.js +14 -0
  451. package/esm/overlay/mixins/with-overlay-aware.d.ts +105 -0
  452. package/esm/overlay/mixins/with-overlay-aware.js +152 -0
  453. package/esm/overlay/overlay-adapter.d.ts +54 -0
  454. package/esm/overlay/overlay-adapter.js +182 -0
  455. package/esm/overlay/overlay-constants.d.ts +71 -0
  456. package/esm/overlay/overlay-constants.js +48 -0
  457. package/esm/overlay/overlay-foundation.d.ts +76 -0
  458. package/esm/overlay/overlay-foundation.js +288 -0
  459. package/esm/overlay/overlay.d.ts +90 -0
  460. package/esm/overlay/overlay.js +105 -0
  461. package/esm/paginator/paginator-constants.d.ts +9 -0
  462. package/esm/paginator/paginator-foundation.d.ts +5 -2
  463. package/esm/paginator/paginator-foundation.js +29 -8
  464. package/esm/paginator/paginator.d.ts +3 -1
  465. package/esm/paginator/paginator.js +4 -1
  466. package/esm/popover/index.d.ts +10 -0
  467. package/esm/popover/index.js +14 -0
  468. package/esm/popover/popover-adapter.d.ts +46 -0
  469. package/esm/popover/popover-adapter.js +105 -0
  470. package/esm/popover/popover-constants.d.ts +42 -0
  471. package/esm/popover/popover-constants.js +42 -0
  472. package/esm/popover/popover-foundation.d.ts +139 -0
  473. package/esm/popover/popover-foundation.js +458 -0
  474. package/esm/popover/popover.d.ts +96 -0
  475. package/esm/popover/popover.js +147 -0
  476. package/esm/popup/popup-constants.d.ts +1 -1
  477. package/esm/profile-card/profile-card.js +1 -1
  478. package/esm/radio/core/radio-group-manager.d.ts +83 -0
  479. package/esm/radio/core/radio-group-manager.js +201 -0
  480. package/esm/radio/index.d.ts +1 -2
  481. package/esm/radio/index.js +1 -6
  482. package/esm/radio/radio/index.d.ts +10 -0
  483. package/esm/radio/radio/index.js +14 -0
  484. package/esm/radio/radio/radio-adapter.d.ts +41 -0
  485. package/esm/radio/radio/radio-adapter.js +75 -0
  486. package/{styles/focus-indicator/_configuration.scss → esm/radio/radio/radio-component-delegate.d.ts} +0 -5
  487. package/{styles/list/list/_configuration.scss → esm/radio/radio/radio-component-delegate.js} +1 -5
  488. package/esm/radio/radio/radio-constants.d.ts +37 -0
  489. package/esm/radio/radio/radio-constants.js +40 -0
  490. package/esm/radio/radio/radio-foundation.d.ts +70 -0
  491. package/esm/radio/radio/radio-foundation.js +199 -0
  492. package/esm/radio/radio/radio.d.ts +115 -0
  493. package/esm/radio/radio/radio.js +204 -0
  494. package/esm/radio/radio-group/index.d.ts +10 -0
  495. package/esm/radio/radio-group/index.js +14 -0
  496. package/esm/radio/radio-group/radio-group-adapter.d.ts +18 -0
  497. package/esm/radio/radio-group/radio-group-adapter.js +26 -0
  498. package/esm/radio/radio-group/radio-group-constants.d.ts +11 -0
  499. package/esm/radio/radio-group/radio-group-constants.js +14 -0
  500. package/esm/radio/radio-group/radio-group-foundation.d.ts +20 -0
  501. package/esm/radio/radio-group/radio-group-foundation.js +32 -0
  502. package/esm/radio/radio-group/radio-group.d.ts +47 -0
  503. package/esm/radio/radio-group/radio-group.js +83 -0
  504. package/esm/slider/slider.d.ts +2 -2
  505. package/esm/slider/slider.js +2 -2
  506. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  507. package/esm/state-layer/state-layer-foundation.js +9 -10
  508. package/esm/switch/switch.js +1 -1
  509. package/esm/table/table-utils.js +2 -3
  510. package/esm/tabs/tab/tab.js +1 -1
  511. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +1 -1
  512. package/esm/tabs/tab-bar/tab-bar-adapter.js +3 -3
  513. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +1 -1
  514. package/esm/tabs/tab-bar/tab-bar-constants.js +1 -1
  515. package/esm/tabs/tab-bar/tab-bar.js +2 -2
  516. package/esm/toast/toast-constants.d.ts +1 -1
  517. package/esm/toolbar/toolbar.js +1 -1
  518. package/esm/tooltip/index.d.ts +0 -1
  519. package/esm/tooltip/index.js +0 -1
  520. package/esm/tooltip/tooltip-adapter.d.ts +30 -60
  521. package/esm/tooltip/tooltip-adapter.js +105 -97
  522. package/esm/tooltip/tooltip-constants.d.ts +44 -21
  523. package/esm/tooltip/tooltip-constants.js +27 -22
  524. package/esm/tooltip/tooltip-foundation.d.ts +72 -84
  525. package/esm/tooltip/tooltip-foundation.js +265 -192
  526. package/esm/tooltip/tooltip.d.ts +93 -26
  527. package/esm/tooltip/tooltip.js +129 -31
  528. package/package.json +2 -4
  529. package/styles/app-bar/app-bar/_core.scss +6 -0
  530. package/styles/app-bar/app-bar/app-bar.scss +31 -17
  531. package/styles/app-bar/app-bar/index.scss +0 -2
  532. package/styles/app-bar/search/_core.scss +75 -0
  533. package/styles/app-bar/search/_token-utils.scss +30 -0
  534. package/styles/app-bar/search/app-bar-search.scss +50 -4
  535. package/styles/{switch/_configuration.scss → app-bar/search/index.scss} +1 -5
  536. package/styles/button/_core.scss +2 -0
  537. package/styles/button/button.scss +40 -25
  538. package/styles/button/index.scss +0 -2
  539. package/styles/button-toggle/button-toggle/_core.scss +78 -0
  540. package/styles/button-toggle/button-toggle/_token-utils.scss +30 -0
  541. package/styles/button-toggle/button-toggle/button-toggle.scss +65 -11
  542. package/styles/button-toggle/button-toggle/index.scss +6 -0
  543. package/styles/button-toggle/button-toggle-group/_core.scss +62 -0
  544. package/styles/button-toggle/button-toggle-group/_token-utils.scss +30 -0
  545. package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +123 -3
  546. package/styles/button-toggle/button-toggle-group/index.scss +8 -0
  547. package/styles/checkbox/_core.scss +3 -0
  548. package/styles/checkbox/checkbox.scss +24 -26
  549. package/styles/checkbox/index.scss +0 -2
  550. package/styles/circular-progress/_core.scss +2 -0
  551. package/styles/circular-progress/circular-progress.scss +36 -27
  552. package/styles/circular-progress/index.scss +0 -2
  553. package/styles/core/styles/elevation/index.scss +1 -1
  554. package/styles/core/styles/tokens/_token-utils.scss +14 -5
  555. package/styles/core/styles/tokens/app-bar/search/_tokens.scss +35 -0
  556. package/styles/core/styles/tokens/button/_tokens.scss +4 -4
  557. package/styles/core/styles/tokens/button-toggle/button-toggle/_tokens.scss +68 -0
  558. package/styles/core/styles/tokens/button-toggle/button-toggle-group/_tokens.scss +48 -0
  559. package/styles/core/styles/tokens/checkbox/_tokens.scss +6 -6
  560. package/styles/core/styles/tokens/floating-action-button/_tokens.scss +1 -1
  561. package/styles/core/styles/tokens/icon-button/_tokens.scss +3 -3
  562. package/styles/core/styles/tokens/overlay/_tokens.scss +23 -0
  563. package/styles/core/styles/tokens/popover/_tokens.scss +56 -0
  564. package/styles/core/styles/tokens/profile-card/_tokens.scss +1 -1
  565. package/styles/core/styles/tokens/radio/_tokens.scss +66 -0
  566. package/styles/core/styles/tokens/switch/_tokens.scss +3 -3
  567. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +5 -5
  568. package/styles/core/styles/tokens/theme/_token-utils.scss +12 -11
  569. package/styles/core/styles/tokens/theme/_tokens.surface.scss +3 -0
  570. package/styles/core/styles/tokens/theme/_tokens.text.scss +4 -4
  571. package/styles/core/styles/tokens/theme/_tokens.utilities.scss +3 -0
  572. package/styles/core/styles/tokens/tooltip/_tokens.scss +53 -0
  573. package/styles/dialog/_mixins.scss +1 -1
  574. package/styles/drawer/mini-drawer/_mixins.scss +0 -2
  575. package/styles/floating-action-button/_core.scss +2 -0
  576. package/styles/floating-action-button/floating-action-button.scss +14 -14
  577. package/styles/floating-action-button/index.scss +0 -2
  578. package/styles/focus-indicator/_core.scss +2 -0
  579. package/styles/focus-indicator/focus-indicator.scss +7 -8
  580. package/styles/focus-indicator/index.scss +0 -2
  581. package/styles/forge.scss +0 -1
  582. package/styles/icon-button/_core.scss +2 -0
  583. package/styles/icon-button/icon-button.scss +29 -28
  584. package/styles/icon-button/index.scss +0 -2
  585. package/styles/label/_core.scss +2 -5
  586. package/styles/label/label.scss +3 -7
  587. package/styles/linear-progress/_core.scss +2 -0
  588. package/styles/linear-progress/index.scss +0 -2
  589. package/styles/linear-progress/linear-progress.scss +29 -18
  590. package/styles/list/list/_core.scss +2 -0
  591. package/styles/list/list/index.scss +0 -2
  592. package/styles/list/list/list.scss +4 -4
  593. package/styles/list/list-item/_core.scss +2 -0
  594. package/styles/list/list-item/index.scss +0 -2
  595. package/styles/list/list-item/list-item.scss +50 -44
  596. package/styles/overlay/_core.scss +46 -0
  597. package/styles/overlay/_token-utils.scss +31 -0
  598. package/styles/overlay/index.scss +6 -0
  599. package/styles/overlay/overlay.scss +66 -0
  600. package/styles/popover/_animations.scss +36 -0
  601. package/styles/popover/_core.scss +56 -0
  602. package/styles/popover/_token-utils.scss +31 -0
  603. package/styles/popover/index.scss +6 -0
  604. package/styles/popover/popover.scss +254 -0
  605. package/styles/profile-card/_core.scss +2 -0
  606. package/styles/profile-card/index.scss +0 -2
  607. package/styles/profile-card/profile-card.scss +9 -11
  608. package/styles/radio/index.scss +6 -0
  609. package/styles/radio/radio/_core.scss +126 -0
  610. package/styles/radio/radio/_token-utils.scss +30 -0
  611. package/styles/radio/radio/index.scss +6 -0
  612. package/styles/radio/radio/radio.scss +99 -0
  613. package/styles/slider/_core.scss +2 -0
  614. package/styles/slider/index.scss +0 -2
  615. package/styles/slider/slider.scss +45 -41
  616. package/styles/split-button/index.scss +0 -1
  617. package/styles/split-button/split-button.scss +3 -2
  618. package/styles/state-layer/_core.scss +3 -2
  619. package/styles/state-layer/index.scss +0 -2
  620. package/styles/state-layer/state-layer.scss +7 -8
  621. package/styles/switch/_core.scss +9 -0
  622. package/styles/switch/index.scss +0 -2
  623. package/styles/switch/switch.scss +28 -30
  624. package/styles/tabs/tab/_core.scss +2 -0
  625. package/styles/tabs/tab/index.scss +0 -2
  626. package/styles/tabs/tab/tab.scss +27 -28
  627. package/styles/tabs/tab-bar/_core.scss +2 -0
  628. package/styles/tabs/tab-bar/index.scss +0 -2
  629. package/styles/tabs/tab-bar/tab-bar.scss +21 -23
  630. package/styles/theme/_theme-dark.scss +14 -2
  631. package/styles/theme/_theme-values.scss +2 -0
  632. package/styles/toolbar/_mixins.scss +2 -1
  633. package/styles/tooltip/_animations.scss +18 -0
  634. package/styles/tooltip/_core.scss +86 -0
  635. package/styles/tooltip/_token-utils.scss +31 -0
  636. package/styles/tooltip/index.scss +6 -0
  637. package/styles/tooltip/tooltip.scss +107 -0
  638. package/dist/esm/chunks/chunk.2GJ54C3Q.js +0 -7
  639. package/dist/esm/chunks/chunk.2GJ54C3Q.js.map +0 -7
  640. package/dist/esm/chunks/chunk.2YDKRTKP.js +0 -7
  641. package/dist/esm/chunks/chunk.2YDKRTKP.js.map +0 -7
  642. package/dist/esm/chunks/chunk.3JCHXLPT.js +0 -7
  643. package/dist/esm/chunks/chunk.3JCHXLPT.js.map +0 -7
  644. package/dist/esm/chunks/chunk.3RMBFRGC.js +0 -7
  645. package/dist/esm/chunks/chunk.3RMBFRGC.js.map +0 -7
  646. package/dist/esm/chunks/chunk.3ZRQFXQU.js +0 -7
  647. package/dist/esm/chunks/chunk.4QDN5PM6.js +0 -7
  648. package/dist/esm/chunks/chunk.4QDN5PM6.js.map +0 -7
  649. package/dist/esm/chunks/chunk.5H4G6BWX.js +0 -7
  650. package/dist/esm/chunks/chunk.5H4G6BWX.js.map +0 -7
  651. package/dist/esm/chunks/chunk.5VHUMZYS.js +0 -7
  652. package/dist/esm/chunks/chunk.6DXDNQUR.js +0 -15
  653. package/dist/esm/chunks/chunk.6DXDNQUR.js.map +0 -7
  654. package/dist/esm/chunks/chunk.6Y45DLA6.js +0 -7
  655. package/dist/esm/chunks/chunk.6Y45DLA6.js.map +0 -7
  656. package/dist/esm/chunks/chunk.7BGOH44S.js +0 -7
  657. package/dist/esm/chunks/chunk.7BGOH44S.js.map +0 -7
  658. package/dist/esm/chunks/chunk.7UXLLUTN.js +0 -7
  659. package/dist/esm/chunks/chunk.AEJGC4YG.js +0 -7
  660. package/dist/esm/chunks/chunk.AEJGC4YG.js.map +0 -7
  661. package/dist/esm/chunks/chunk.BFUGFHEH.js +0 -7
  662. package/dist/esm/chunks/chunk.BLW6QESQ.js +0 -12
  663. package/dist/esm/chunks/chunk.BLW6QESQ.js.map +0 -7
  664. package/dist/esm/chunks/chunk.C5IB44HX.js +0 -7
  665. package/dist/esm/chunks/chunk.CNRFOWHY.js +0 -7
  666. package/dist/esm/chunks/chunk.CNRFOWHY.js.map +0 -7
  667. package/dist/esm/chunks/chunk.CZOABXEQ.js +0 -7
  668. package/dist/esm/chunks/chunk.E3GVKR4E.js +0 -7
  669. package/dist/esm/chunks/chunk.E3GVKR4E.js.map +0 -7
  670. package/dist/esm/chunks/chunk.EBSBAFCX.js +0 -7
  671. package/dist/esm/chunks/chunk.EBSBAFCX.js.map +0 -7
  672. package/dist/esm/chunks/chunk.F6KM5FO6.js +0 -7
  673. package/dist/esm/chunks/chunk.FB6ZLH6P.js +0 -7
  674. package/dist/esm/chunks/chunk.FB6ZLH6P.js.map +0 -7
  675. package/dist/esm/chunks/chunk.FDZSLGIW.js +0 -7
  676. package/dist/esm/chunks/chunk.FDZSLGIW.js.map +0 -7
  677. package/dist/esm/chunks/chunk.GT3VPSXY.js +0 -7
  678. package/dist/esm/chunks/chunk.GT3VPSXY.js.map +0 -7
  679. package/dist/esm/chunks/chunk.I3NHK2S3.js +0 -7
  680. package/dist/esm/chunks/chunk.IT66AOX7.js +0 -7
  681. package/dist/esm/chunks/chunk.IT66AOX7.js.map +0 -7
  682. package/dist/esm/chunks/chunk.IVUK3W34.js +0 -7
  683. package/dist/esm/chunks/chunk.IVUK3W34.js.map +0 -7
  684. package/dist/esm/chunks/chunk.J2KHTGSB.js +0 -7
  685. package/dist/esm/chunks/chunk.J2KHTGSB.js.map +0 -7
  686. package/dist/esm/chunks/chunk.JAWV5Y5T.js +0 -7
  687. package/dist/esm/chunks/chunk.JVK64JDZ.js +0 -7
  688. package/dist/esm/chunks/chunk.KFDYMENL.js +0 -7
  689. package/dist/esm/chunks/chunk.KFDYMENL.js.map +0 -7
  690. package/dist/esm/chunks/chunk.KTYYBWTN.js +0 -7
  691. package/dist/esm/chunks/chunk.LCNR2RPT.js +0 -7
  692. package/dist/esm/chunks/chunk.LCNR2RPT.js.map +0 -7
  693. package/dist/esm/chunks/chunk.LOBKFTRM.js +0 -7
  694. package/dist/esm/chunks/chunk.LOBKFTRM.js.map +0 -7
  695. package/dist/esm/chunks/chunk.LS7WRRT2.js +0 -7
  696. package/dist/esm/chunks/chunk.LS7WRRT2.js.map +0 -7
  697. package/dist/esm/chunks/chunk.LSNAGIIH.js +0 -7
  698. package/dist/esm/chunks/chunk.LSNAGIIH.js.map +0 -7
  699. package/dist/esm/chunks/chunk.LUIKMPQR.js +0 -7
  700. package/dist/esm/chunks/chunk.LUIKMPQR.js.map +0 -7
  701. package/dist/esm/chunks/chunk.MZZJY5NX.js +0 -7
  702. package/dist/esm/chunks/chunk.MZZJY5NX.js.map +0 -7
  703. package/dist/esm/chunks/chunk.NYYXUH3X.js +0 -7
  704. package/dist/esm/chunks/chunk.OYO5O3NF.js +0 -7
  705. package/dist/esm/chunks/chunk.Q5Z6F3PI.js +0 -7
  706. package/dist/esm/chunks/chunk.Q5Z6F3PI.js.map +0 -7
  707. package/dist/esm/chunks/chunk.RCSBJQ4G.js +0 -7
  708. package/dist/esm/chunks/chunk.RCSBJQ4G.js.map +0 -7
  709. package/dist/esm/chunks/chunk.RDW7Z4W5.js +0 -7
  710. package/dist/esm/chunks/chunk.SNF35Y6C.js +0 -7
  711. package/dist/esm/chunks/chunk.SNF35Y6C.js.map +0 -7
  712. package/dist/esm/chunks/chunk.SOLF23NC.js +0 -7
  713. package/dist/esm/chunks/chunk.T34DG7BU.js +0 -7
  714. package/dist/esm/chunks/chunk.TA3MVDUU.js +0 -7
  715. package/dist/esm/chunks/chunk.TA3MVDUU.js.map +0 -7
  716. package/dist/esm/chunks/chunk.UWZWXNTW.js +0 -7
  717. package/dist/esm/chunks/chunk.UWZWXNTW.js.map +0 -7
  718. package/dist/esm/chunks/chunk.VD5ZL5ZN.js +0 -7
  719. package/dist/esm/chunks/chunk.WQGPIOL6.js +0 -7
  720. package/dist/esm/chunks/chunk.WQGPIOL6.js.map +0 -7
  721. package/dist/esm/chunks/chunk.XDANTL6C.js +0 -7
  722. package/dist/esm/chunks/chunk.XNCBGWE4.js +0 -7
  723. package/dist/esm/chunks/chunk.XNCBGWE4.js.map +0 -7
  724. package/dist/esm/chunks/chunk.ZSD7MMVB.js +0 -7
  725. package/dist/esm/chunks/chunk.ZSD7MMVB.js.map +0 -7
  726. package/dist/esm/chunks/chunk.ZVJMIBUM.js +0 -7
  727. package/dist/esm/chunks/chunk.ZVJMIBUM.js.map +0 -7
  728. package/dist/tooltip/forge-tooltip.css +0 -6
  729. package/esm/radio/radio-adapter.d.ts +0 -71
  730. package/esm/radio/radio-adapter.js +0 -260
  731. package/esm/radio/radio-constants.d.ts +0 -30
  732. package/esm/radio/radio-constants.js +0 -36
  733. package/esm/radio/radio-foundation.d.ts +0 -31
  734. package/esm/radio/radio-foundation.js +0 -80
  735. package/esm/radio/radio.d.ts +0 -33
  736. package/esm/radio/radio.js +0 -75
  737. package/esm/tooltip/tooltip-utils.d.ts +0 -13
  738. package/esm/tooltip/tooltip-utils.js +0 -53
  739. package/styles/app-bar/app-bar/_configuration.scss +0 -16
  740. package/styles/app-bar/search/_mixins.scss +0 -238
  741. package/styles/app-bar/search/_variables.scss +0 -18
  742. package/styles/button/_configuration.scss +0 -16
  743. package/styles/button-toggle/button-toggle/_mixins.scss +0 -117
  744. package/styles/button-toggle/button-toggle-group/_mixins.scss +0 -79
  745. package/styles/circular-progress/_configuration.scss +0 -16
  746. package/styles/floating-action-button/_configuration.scss +0 -16
  747. package/styles/icon-button/_configuration.scss +0 -16
  748. package/styles/linear-progress/_configuration.scss +0 -28
  749. package/styles/list/list-item/_configuration.scss +0 -16
  750. package/styles/radio/_mixins.scss +0 -309
  751. package/styles/radio/_radio-theme.scss +0 -314
  752. package/styles/radio/radio.scss +0 -19
  753. package/styles/split-button/_configuration.scss +0 -12
  754. package/styles/state-layer/_configuration.scss +0 -10
  755. package/styles/tabs/tab/_configuration.scss +0 -27
  756. package/styles/tabs/tab-bar/_configuration.scss +0 -10
  757. package/styles/tooltip/_mixins.scss +0 -98
  758. package/styles/tooltip/_variables.scss +0 -18
  759. package/styles/tooltip/forge-tooltip.scss +0 -12
  760. /package/dist/esm/chunks/{chunk.PSTGTQVK.js.map → chunk.2JCTFKCR.js.map} +0 -0
  761. /package/dist/esm/chunks/{chunk.4B5IOZAT.js.map → chunk.2YE556AM.js.map} +0 -0
  762. /package/dist/esm/chunks/{chunk.YKZ25J6B.js.map → chunk.3U6A353B.js.map} +0 -0
  763. /package/dist/esm/chunks/{chunk.LXX3YZYS.js.map → chunk.436USWLL.js.map} +0 -0
  764. /package/dist/esm/chunks/{chunk.KLPF4CNX.js.map → chunk.4GMGQZOW.js.map} +0 -0
  765. /package/dist/esm/chunks/{chunk.Z7PBGV4K.js.map → chunk.4JB3SESQ.js.map} +0 -0
  766. /package/dist/esm/chunks/{chunk.QFY23EWU.js.map → chunk.4JL5LW5J.js.map} +0 -0
  767. /package/dist/esm/chunks/{chunk.NYYXUH3X.js.map → chunk.55D2BMXX.js.map} +0 -0
  768. /package/dist/esm/chunks/{chunk.A72W7RW7.js.map → chunk.5LCWC3A7.js.map} +0 -0
  769. /package/dist/esm/chunks/{chunk.RYNQDXFA.js.map → chunk.5T7TT3AB.js.map} +0 -0
  770. /package/dist/esm/chunks/{chunk.HHHBS6FB.js.map → chunk.B53Q676I.js.map} +0 -0
  771. /package/dist/esm/chunks/{chunk.B46Q3AFP.js.map → chunk.BKQSLDMK.js.map} +0 -0
  772. /package/dist/esm/chunks/{chunk.F2EBSV5Z.js.map → chunk.BZVLSWZR.js.map} +0 -0
  773. /package/dist/esm/chunks/{chunk.BMQYEYCT.js.map → chunk.DGG5ABL3.js.map} +0 -0
  774. /package/dist/esm/chunks/{chunk.PK7R6WDF.js.map → chunk.DPIWAXEW.js.map} +0 -0
  775. /package/dist/esm/chunks/{chunk.7PP6QHOM.js.map → chunk.ETDUW5K2.js.map} +0 -0
  776. /package/dist/esm/chunks/{chunk.GHR7T6U2.js.map → chunk.FGHSNC2V.js.map} +0 -0
  777. /package/dist/esm/chunks/{chunk.P7LC3YYW.js.map → chunk.FPRBYGET.js.map} +0 -0
  778. /package/dist/esm/chunks/{chunk.7W2UWAZX.js.map → chunk.FQVR2QNF.js.map} +0 -0
  779. /package/dist/esm/chunks/{chunk.IEB5KRFQ.js.map → chunk.FWWBFNQA.js.map} +0 -0
  780. /package/dist/esm/chunks/{chunk.543K5Y4E.js.map → chunk.FZELFLPE.js.map} +0 -0
  781. /package/dist/esm/chunks/{chunk.6Q3SV2R2.js.map → chunk.FZZUNYH5.js.map} +0 -0
  782. /package/dist/esm/chunks/{chunk.CTZ3AWDW.js.map → chunk.GLUKTMQU.js.map} +0 -0
  783. /package/dist/esm/chunks/{chunk.W324TWF2.js.map → chunk.GTBCTNMI.js.map} +0 -0
  784. /package/dist/esm/chunks/{chunk.L4Y4RO5O.js.map → chunk.GURV4TDZ.js.map} +0 -0
  785. /package/dist/esm/chunks/{chunk.THWSN3X4.js.map → chunk.IA27LU2O.js.map} +0 -0
  786. /package/dist/esm/chunks/{chunk.TZFUKJ24.js.map → chunk.JXJVPJRO.js.map} +0 -0
  787. /package/dist/esm/chunks/{chunk.Z2RB75TN.js.map → chunk.K3STAW42.js.map} +0 -0
  788. /package/dist/esm/chunks/{chunk.G2BNY5QQ.js.map → chunk.KPC6IS3C.js.map} +0 -0
  789. /package/dist/esm/chunks/{chunk.VDZ7HBKM.js.map → chunk.KV7PGQJ7.js.map} +0 -0
  790. /package/dist/esm/chunks/{chunk.OYO5O3NF.js.map → chunk.M5JGYRH4.js.map} +0 -0
  791. /package/dist/esm/chunks/{chunk.T34DG7BU.js.map → chunk.N75VD4S4.js.map} +0 -0
  792. /package/dist/esm/chunks/{chunk.H7GW57Q6.js.map → chunk.NKEAMFO4.js.map} +0 -0
  793. /package/dist/esm/chunks/{chunk.26E4L52W.js.map → chunk.NW54VA4E.js.map} +0 -0
  794. /package/dist/esm/chunks/{chunk.PADPL4L3.js.map → chunk.OUIWXKO2.js.map} +0 -0
  795. /package/dist/esm/chunks/{chunk.I3NHK2S3.js.map → chunk.OXVCCHM5.js.map} +0 -0
  796. /package/dist/esm/chunks/{chunk.7ABZUBTT.js.map → chunk.P5XHGSJY.js.map} +0 -0
  797. /package/dist/esm/chunks/{chunk.NZKIFXBU.js.map → chunk.QKTNCOVX.js.map} +0 -0
  798. /package/dist/esm/chunks/{chunk.NG6UZ4OL.js.map → chunk.QZ57WM3D.js.map} +0 -0
  799. /package/dist/esm/chunks/{chunk.OED5UCYT.js.map → chunk.R2QENXIL.js.map} +0 -0
  800. /package/dist/esm/chunks/{chunk.DOEG3DWJ.js.map → chunk.RDQ3QGWS.js.map} +0 -0
  801. /package/dist/esm/chunks/{chunk.GS72TBUD.js.map → chunk.RFKKHN7V.js.map} +0 -0
  802. /package/dist/esm/chunks/{chunk.57PXXJA6.js.map → chunk.RKG66YKS.js.map} +0 -0
  803. /package/dist/esm/chunks/{chunk.LMIKNDBS.js.map → chunk.T235SNYZ.js.map} +0 -0
  804. /package/dist/esm/chunks/{chunk.SOLF23NC.js.map → chunk.VGIZJ32U.js.map} +0 -0
  805. /package/dist/esm/chunks/{chunk.U5WMRBSC.js.map → chunk.WA2YP4NC.js.map} +0 -0
  806. /package/dist/esm/chunks/{chunk.5C24LZNU.js.map → chunk.WQHKUNR7.js.map} +0 -0
  807. /package/dist/esm/chunks/{chunk.7UXLLUTN.js.map → chunk.X57DRPFB.js.map} +0 -0
  808. /package/dist/esm/chunks/{chunk.DDXIHZFX.js.map → chunk.X7YTDVNT.js.map} +0 -0
  809. /package/dist/esm/chunks/{chunk.7DHDFH5L.js.map → chunk.XOH2JCRS.js.map} +0 -0
  810. /package/dist/esm/chunks/{chunk.KVCDAZ6B.js.map → chunk.YTBNAGLS.js.map} +0 -0
  811. /package/dist/esm/chunks/{chunk.RZZBM3AW.js.map → chunk.ZHMV5SR4.js.map} +0 -0
  812. /package/dist/esm/chunks/{chunk.GWJ4QCSW.js.map → chunk.ZLACSRD4.js.map} +0 -0
  813. /package/dist/esm/chunks/{chunk.DTKFE7YB.js.map → chunk.ZUTQPJ2B.js.map} +0 -0
  814. /package/dist/esm/chunks/{chunk.PQQVUUHU.js.map → chunk.ZYCKD6K5.js.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/circular-progress/circular-progress-constants.ts", "../../src/circular-progress/circular-progress-adapter.ts", "../../src/circular-progress/circular-progress-foundation.ts", "../../src/circular-progress/circular-progress.ts", "../../src/circular-progress/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX, Theme } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}circular-progress`;\n\nconst attributes = {\n DETERMINATE: 'determinate',\n PROGRESS: 'progress',\n THEME: 'theme',\n TRACK: 'track'\n};\n\nconst classes = {\n INDETERMINATE: 'forge-circular-progress--indeterminate'\n};\n\nconst selectors = {\n ROOT: '.forge-circular-progress',\n DETERMINATE_PROGRESS_CIRCLE: '.progress',\n TEMPLATES: 'svg, .spinner'\n};\n\nexport const CIRCULAR_PROGRESS_CONSTANTS = {\n elementName,\n attributes,\n classes,\n selectors\n};\n\nexport type CircularProgressTheme = Theme;\n", "import { getShadowElement } from '@tylertech/forge-core';\n\nimport { ICircularProgressComponent } from './circular-progress';\nimport { CIRCULAR_PROGRESS_CONSTANTS } from './circular-progress-constants';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\n\nconst indeterminateTemplate = '<svg viewBox=\\\"0 0 4800 4800\\\"><circle class=\\\"track-background\\\" pathLength=\\\"100\\\"></circle></svg><div class=\\\"spinner\\\"><div class=\\\"left\\\"><div class=\\\"circle\\\"></div></div><div class=\\\"right\\\"><div class=\\\"circle\\\"></div></div></div>';\nconst determinateTemplate = '<svg viewBox=\\\"0 0 4800 4800\\\"><circle class=\\\"track-background\\\" pathLength=\\\"100\\\"></circle><circle class=\\\"track\\\" pathLength=\\\"100\\\"></circle><circle class=\\\"progress\\\" pathLength=\\\"100\\\" stroke-dashoffset=\\\"100\\\"></circle></svg>';\n\nexport interface ICircularProgressAdapter extends IBaseAdapter {\n initialize(): void;\n setDeterminate(value: boolean): void;\n setProgress(value: number): void;\n}\n\nexport class CircularProgressAdapter extends BaseAdapter<ICircularProgressComponent> implements ICircularProgressAdapter {\n private readonly _rootElement: HTMLElement;\n private _determinateProgressCircleElement: HTMLElement | undefined;\n\n constructor(component: ICircularProgressComponent) {\n super(component);\n this._rootElement = getShadowElement(this._component, CIRCULAR_PROGRESS_CONSTANTS.selectors.ROOT);\n }\n\n public initialize(): void {\n // TODO: Replace with ARIA mixin\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'progressbar');\n }\n if (!this._component.hasAttribute('aria-valuemin')) {\n this._component.setAttribute('aria-valuemin', '0');\n }\n if (!this._component.hasAttribute('aria-valuemax')) {\n this._component.setAttribute('aria-valuemax', '1');\n }\n }\n\n public setDeterminate(value: boolean): void {\n this._tryResetTemplate();\n this._rootElement.classList.toggle(CIRCULAR_PROGRESS_CONSTANTS.classes.INDETERMINATE, !value);\n \n if (value) {\n this._rootElement.insertAdjacentHTML('beforeend', determinateTemplate);\n this._determinateProgressCircleElement = getShadowElement(this._component, CIRCULAR_PROGRESS_CONSTANTS.selectors.DETERMINATE_PROGRESS_CIRCLE);\n } else {\n this._rootElement.insertAdjacentHTML('beforeend', indeterminateTemplate);\n this._component.removeAttribute('aria-valuenow');\n this._determinateProgressCircleElement = undefined;\n }\n }\n\n public setProgress(value: number): void {\n this._component.setAttribute('aria-valuenow', `${value}`);\n this._determinateProgressCircleElement?.setAttribute('stroke-dashoffset', `${(1 - value) * 100}`);\n }\n\n private _tryResetTemplate(): void {\n const elements = this._component.shadowRoot?.querySelectorAll(CIRCULAR_PROGRESS_CONSTANTS.selectors.TEMPLATES);\n elements?.forEach(el => el.remove());\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { ICircularProgressAdapter } from './circular-progress-adapter';\nimport { CircularProgressTheme, CIRCULAR_PROGRESS_CONSTANTS } from './circular-progress-constants';\n\nexport interface ICircularProgressFoundation extends ICustomElementFoundation {\n determinate: boolean;\n progress: number;\n theme: CircularProgressTheme;\n track: boolean;\n}\n\nexport class CircularProgressFoundation implements ICircularProgressFoundation {\n private _determinate = false;\n private _progress = 0;\n private _theme: CircularProgressTheme = 'primary';\n private _track = false;\n\n constructor(private _adapter: ICircularProgressAdapter) {}\n\n public initialize(): void {\n this._adapter.initialize();\n this._applyDeterminate();\n }\n\n private _applyDeterminate(): void {\n this._adapter.setDeterminate(this._determinate);\n\n if (this._determinate) {\n this._adapter.setProgress(this._progress);\n }\n }\n\n public get determinate(): boolean {\n return this._determinate;\n }\n public set determinate(value: boolean) {\n value = Boolean(value);\n if (this._determinate !== value) {\n this._determinate = value;\n this._applyDeterminate();\n this._adapter.toggleHostAttribute(CIRCULAR_PROGRESS_CONSTANTS.attributes.DETERMINATE, this._determinate);\n }\n }\n\n public get progress(): number {\n return this._progress;\n }\n public set progress(value: number) {\n if (this._progress !== value) {\n this._progress = value;\n if (this._determinate) {\n this._adapter.setProgress(this._progress);\n }\n this._adapter.setHostAttribute(CIRCULAR_PROGRESS_CONSTANTS.attributes.PROGRESS, `${this._progress}`);\n }\n }\n\n public get theme(): CircularProgressTheme {\n return this._theme;\n }\n public set theme(value: CircularProgressTheme) {\n if (this._theme !== value) {\n this._theme = value;\n this._adapter.toggleHostAttribute(CIRCULAR_PROGRESS_CONSTANTS.attributes.THEME, !!this._theme, this._theme);\n }\n }\n\n public get track(): boolean {\n return this._track;\n }\n public set track(value: boolean) {\n value = Boolean(value);\n if (this._track !== value) {\n this._track = value;\n this._adapter.toggleHostAttribute(CIRCULAR_PROGRESS_CONSTANTS.attributes.TRACK, this._track);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean, coerceNumber } from '@tylertech/forge-core';\n\nimport { CircularProgressAdapter } from './circular-progress-adapter';\nimport { CircularProgressFoundation } from './circular-progress-foundation';\nimport { CircularProgressTheme, CIRCULAR_PROGRESS_CONSTANTS } from './circular-progress-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-circular-progress\\\" part=\\\"progressbar\\\"><slot class=\\\"center-content\\\"></slot></div></template>';\nconst styles = ':host{--_circular-progress-size:var(--forge-circular-progress-size, 48px)}:host{display:-webkit-inline-box;display:inline-flex;vertical-align:middle;min-block-size:var(--_circular-progress-size);min-inline-size:var(--_circular-progress-size);position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-transition:background-color var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);transition:background-color var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);contain:strict;content-visibility:auto}:host([hidden]){display:none}.forge-circular-progress{--_circular-progress-padding:var(--forge-circular-progress-padding, 0);--_circular-progress-track-width:var(--forge-circular-progress-track-width, 12);--_circular-progress-track-color:var(--forge-circular-progress-track-color, transparent);--_circular-progress-track-fill-color:var(--forge-circular-progress-track-fill-color, var(--forge-theme-tertiary-container, #d0d7ff));--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-tertiary, #3d5afe));--_circular-progress-arc-duration:var(--forge-circular-progress-arc-duration, 1333ms);--_circular-progress-theme-transition-duration:var(--forge-circular-progress-theme-transition-duration, var(--forge-animation-duration-short3, 150ms));--_circular-progress-theme-transition-timing:var(--forge-circular-progress-theme-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)))}.forge-circular-progress{-webkit-box-flex:1;flex:1;align-self:stretch;margin:var(--_circular-progress-padding)}.forge-circular-progress--indeterminate{will-change:transform;-webkit-animation:linear infinite linear-rotate;animation:linear infinite linear-rotate;-webkit-animation-duration:calc(var(--_circular-progress-arc-duration) * 360 / 306);animation-duration:calc(var(--_circular-progress-arc-duration) * 360 / 306)}.circle,.forge-circular-progress,.left,.right,.spinner,svg{position:absolute;inset:0}.center-content{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.left{overflow:hidden;inset:0 50% 0 0}.left .circle{rotate:135deg;inset:0 -100% 0 0}.right{overflow:hidden;inset:0 0 0 50%}.right .circle{rotate:100deg;inset:0 0 0 -100%;-webkit-animation-delay:calc(-.5 * var(--_circular-progress-arc-duration)),0s;animation-delay:calc(-.5 * var(--_circular-progress-arc-duration)),0s}.circle{-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:50%;border:solid calc(var(--_circular-progress-size) * var(--_circular-progress-track-width)/ 100);border-color:var(--_circular-progress-indicator-color) var(--_circular-progress-indicator-color) transparent transparent;-webkit-transition:border-color var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);transition:border-color var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);will-change:transform;-webkit-animation:expand-arc;animation:expand-arc;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--_circular-progress-arc-duration),calc(4 * var(--_circular-progress-arc-duration));animation-duration:var(--_circular-progress-arc-duration),calc(4 * var(--_circular-progress-arc-duration));-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}svg{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}svg circle{cx:50%;cy:50%;r:calc(50% * (1 - var(--_circular-progress-track-width)/ 100));stroke-width:calc(var(--_circular-progress-track-width) * 1%);stroke-dasharray:100;fill:transparent}.progress{-webkit-transition:stroke-dashoffset .5s cubic-bezier(0, 0, .2, 1),stroke var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);transition:stroke-dashoffset .5s cubic-bezier(0, 0, .2, 1),stroke var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);stroke:var(--_circular-progress-indicator-color)}.track{stroke:transparent}.track-background{-webkit-transition:stroke var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);transition:stroke var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);stroke:var(--_circular-progress-track-color)}.spinner{will-change:transform;-webkit-animation:infinite both rotate-arc;animation:infinite both rotate-arc;-webkit-animation-duration:calc(4 * var(--_circular-progress-arc-duration));animation-duration:calc(4 * var(--_circular-progress-arc-duration));-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}:host([theme=primary]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-primary, #3f51b5));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-primary-container, #d1d5ed))}:host([theme=secondary]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-secondary, #ffc107));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-secondary-container, #fff0c3))}:host([theme=success]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-success, #2e7d32));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-success-container, #cde0ce))}:host([theme=error]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-error, #b00020));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-error-container, #ecc2c9))}:host([theme=warning]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-warning, #d14900));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-warning-container, #f4d3c2))}:host([theme=info]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-info, #1565c0));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-info-container, #c7daf0))}:host([track]) .forge-circular-progress{--_circular-progress-track-color:var(--_circular-progress-track-fill-color)}@media screen and (forced-colors:active){.progress{stroke:CanvasText}.circle{border-color:CanvasText CanvasText Canvas Canvas}}@-webkit-keyframes expand-arc{0%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}50%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}100%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}}@keyframes expand-arc{0%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}50%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}100%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}}@-webkit-keyframes rotate-arc{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes rotate-arc{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes linear-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes linear-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}';\n\nexport interface ICircularProgressComponent extends IBaseComponent {\n determinate: boolean;\n progress: number;\n theme: CircularProgressTheme;\n track: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-circular-progress': ICircularProgressComponent;\n }\n}\n\n/**\n * @tag forge-circular-progress\n * \n * @summary\n * Circular progress indicators display progress by animating along a circular track in a clockwise direction.\n * \n * @description\n * Progress indicators inform users about the status of ongoing processes.\n * - Determinate indicators display how long a process will take.\n * - Indeterminate indicators express an unspecified amount of wait time.\n *\n * @property {boolean} determinate - Controls the determinate state.\n * @property {boolean} progress - Controls the progress while in a determinate state. Accepts values from `0` to `1`.\n * @property {CircularProgressTheme} theme - Controls the theme of the progress indicator.\n * @property {boolean} track - Controls the visibility of the track background.\n * \n * @attribute {boolean} determinate - Controls the determinate state.\n * @attribute {boolean} progress - Controls the progress while in a determinate state. Accepts values from `0` to `1`.\n * @attribute {CircularProgressTheme} theme - Controls the theme of the progress indicator.\n * @attribute {boolean} track - Controls the visibility of the track background.\n * \n * @slot - The is the default/unnamed slot. Renders content at the center of the progress indicator.\n * \n * @cssproperty --forge-circular-progress-size - The height and width of the indicator container.\n * @cssproperty --forge-circular-progress-padding - The padding inside the bounding box of the container.\n * @cssproperty --forge-circular-progress-track-width - The track indicator width.\n * @cssproperty --forge-circular-progress-track-color - The track background color.\n * @cssproperty --forge-circular-progress-indicator-color - The track indicator color.\n * @cssproperty --forge-circular-progress-arc-duration - The duration of the arc animation.\n * @cssproperty --forge-circular-progress-theme-transition-duration - The duration of the theme transition.\n * @cssproperty --forge-circular-progress-theme-transition-timing - The easing function to use for the theme transition.\n * \n * @csspart progressbar - Styles the progress bar container element\n */\n@CustomElement({\n name: CIRCULAR_PROGRESS_CONSTANTS.elementName\n})\nexport class CircularProgressComponent extends BaseComponent implements ICircularProgressComponent {\n public static get observedAttributes(): string[] {\n return [\n CIRCULAR_PROGRESS_CONSTANTS.attributes.DETERMINATE,\n CIRCULAR_PROGRESS_CONSTANTS.attributes.PROGRESS,\n CIRCULAR_PROGRESS_CONSTANTS.attributes.THEME,\n CIRCULAR_PROGRESS_CONSTANTS.attributes.TRACK\n ];\n }\n\n private _foundation: CircularProgressFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new CircularProgressFoundation(new CircularProgressAdapter(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 CIRCULAR_PROGRESS_CONSTANTS.attributes.DETERMINATE:\n this.determinate = coerceBoolean(newValue);\n break;\n case CIRCULAR_PROGRESS_CONSTANTS.attributes.PROGRESS:\n this.progress = coerceNumber(newValue);\n break;\n case CIRCULAR_PROGRESS_CONSTANTS.attributes.THEME:\n this.theme = newValue as CircularProgressTheme;\n break;\n case CIRCULAR_PROGRESS_CONSTANTS.attributes.TRACK:\n this.track = coerceBoolean(newValue);\n break;\n }\n }\n \n @FoundationProperty()\n public declare determinate: boolean;\n\n @FoundationProperty()\n public declare progress: number;\n\n @FoundationProperty()\n public declare theme: CircularProgressTheme;\n\n @FoundationProperty()\n public declare track: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { CircularProgressComponent } from './circular-progress';\n\nexport * from './circular-progress-adapter';\nexport * from './circular-progress-constants';\nexport * from './circular-progress-foundation';\nexport * from './circular-progress';\n\nexport function defineCircularProgressComponent(): void {\n defineCustomElement(CircularProgressComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "selectors", "CIRCULAR_PROGRESS_CONSTANTS", "indeterminateTemplate", "determinateTemplate", "CircularProgressAdapter", "BaseAdapter", "component", "getShadowElement", "CIRCULAR_PROGRESS_CONSTANTS", "value", "_a", "elements", "el", "CircularProgressFoundation", "_adapter", "value", "CIRCULAR_PROGRESS_CONSTANTS", "template", "styles", "CircularProgressComponent", "BaseComponent", "attachShadowTemplate", "CircularProgressFoundation", "CircularProgressAdapter", "CIRCULAR_PROGRESS_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "__decorateClass", "FoundationProperty", "CustomElement", "defineCircularProgressComponent", "defineCustomElement", "CircularProgressComponent"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as z}from"./chunk.3RMBFRGC.js";import{d as T}from"./chunk.A72W7RW7.js";import{j as I,k as L,n as x,o as S,p as O,q as C,r as A}from"./chunk.LUIKMPQR.js";import{a as k}from"./chunk.KVCDAZ6B.js";import{p as V}from"./chunk.FQSL747N.js";import{a as y}from"./chunk.LS7WRRT2.js";import{a as l}from"./chunk.NVUMRW44.js";import{a as m,b as E,f as n}from"./chunk.IT66AOX7.js";import{a as w,e as g,f as h}from"./chunk.JAWV5Y5T.js";import{t as p,u as d}from"./chunk.K7FPXAFS.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}: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-handle-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-state-layer-state-layer-off-color, var(--_state-layer-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-on-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:[T,V]})],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.2YDKRTKP.js.map
@@ -1,7 +0,0 @@
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}: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-handle-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-state-layer-state-layer-off-color, var(--_state-layer-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-on-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
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as E}from"./chunk.F6KM5FO6.js";import{a as T}from"./chunk.2YDKRTKP.js";import{b as L}from"./chunk.LOBKFTRM.js";import{a as v}from"./chunk.KFDYMENL.js";import{a as g}from"./chunk.LS7WRRT2.js";import{a as s}from"./chunk.NVUMRW44.js";import{a as b,b as _}from"./chunk.IT66AOX7.js";import{a as p,e as u,f as h,k as f}from"./chunk.JAWV5Y5T.js";import{k as m}from"./chunk.J2M2MXP2.js";import{d as l}from"./chunk.M3QDAYD2.js";var C=r=>typeof r.labelClickedCallback=="function"&&typeof r.labelChangedCallback=="function";var y=`${_}label`,k={FOR:"for",DYNAMIC:"dynamic"},M={ROOT:".forge-label",SLOT:"slot"},A=[E.elementName,T.elementName,L.elementName,v.elementName],n={elementName:y,selectors:M,attributes:k,labelableChildSelectors:A};var d=class extends g{constructor(e){super(e);this._targetElement=null;this._slotElement=h(e,n.selectors.SLOT)}destroy(){var e;(e=this._targetElement)==null||e.labelChangedCallback(null),this._targetElement=null}hasTargetElement(){return!!this._targetElement}getTargetElement(){return this._targetElement}setTargetElement(e){if(e&&this._checkLabelAwareness(e)){this._targetElement=e;return}this._targetElement=null}trySetTarget(e){this._targetElement=this._locateTargetElement(e)}clickTarget(){var e;(e=this._targetElement)==null||e.labelClickedCallback()}updateTargetLabel(){var a;let e=this._component.innerText.trim();(a=this._targetElement)==null||a.labelChangedCallback(e)}addSlotChangeListener(e){this._slotElement.addEventListener("slotchange",e)}addMutationObserver(e){this._mutationObserver=new MutationObserver(e),this._mutationObserver.observe(this._component,{subtree:!0,characterData:!0,childList:!0}),e([],this._mutationObserver)}removeMutationObserver(){var e;(e=this._mutationObserver)==null||e.disconnect(),this._mutationObserver=void 0}_checkLabelAwareness(e){return C(e)?!0:(console.warn("Label target element is not label aware.",e),!1)}_locateTargetElement(e){let a;if(e)a=this._component.getRootNode().querySelector(`#${e}`);else{let o=n.labelableChildSelectors.join(",");a=this._component.querySelector(o)}return a&&!this._checkLabelAwareness(a)?null:a}};var c=class{constructor(t){this._adapter=t;this._dynamic=!1;this._isConnected=!1;this._clickListener=e=>this._handleClick(e),this._slotChangeListener=()=>this._handleSlotChange(),this._mutationCallback=()=>this._handleMutation()}initialize(){var t;this._adapter.addSlotChangeListener(this._slotChangeListener),this._adapter.trySetTarget((t=this._for)!=null?t:null),this._adapter.hasTargetElement()&&this._connect()}disconnect(){this._disconnect(),this._adapter.destroy()}update(){this._adapter.updateTargetLabel()}_handleClick(t){let e=this._adapter.getTargetElement();t.target===e||e!=null&&e.contains(t.target)||this._adapter.clickTarget()}_handleSlotChange(){!this._for&&!this._forElement&&(this._adapter.trySetTarget(null),this._tryConnect())}_handleMutation(){this._adapter.updateTargetLabel()}_connect(){this._adapter.addHostListener("click",this._clickListener),this._adapter.updateTargetLabel(),this._dynamic&&this._adapter.addMutationObserver(this._mutationCallback),this._isConnected=!0}_disconnect(){this._adapter.removeHostListener("click",this._clickListener),this._adapter.removeMutationObserver(),this._isConnected=!1}_tryConnect(){this._adapter.hasTargetElement()?this._isConnected||this._connect():this._disconnect()}get for(){return this._for}set for(t){var e,a;this._for!==t&&(this._for=t,this._adapter.toggleHostAttribute(n.attributes.FOR,!!this.for,(e=this.for)!=null?e:void 0),this._adapter.trySetTarget((a=this._for)!=null?a:null),this._tryConnect())}get forElement(){return this._forElement}set forElement(t){var e;this._forElement!==t&&(this._forElement=t,this._adapter.setTargetElement((e=this._forElement)!=null?e:null),this._tryConnect())}get dynamic(){return this._dynamic}set dynamic(t){this._dynamic!==t&&(this._dynamic=t,this._adapter.toggleHostAttribute(n.attributes.DYNAMIC,this._dynamic),this._dynamic?this._adapter.hasTargetElement()&&this._adapter.addMutationObserver(this._mutationCallback):this._adapter.removeMutationObserver())}};var N='<template><span class="forge-label" part="label"><slot></slot></span></template>',O=':host{display:inline-block}:host([hidden]){display:none}.forge-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);display:contents;cursor:default}',i=class extends f{constructor(){super();u(this,N,O),this._foundation=new c(new d(this))}static get observedAttributes(){return[n.attributes.FOR,n.attributes.DYNAMIC]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,a,o){switch(e){case n.attributes.FOR:this.for=o;break;case n.attributes.DYNAMIC:this.dynamic=m(o);break}}update(){this._foundation.update()}};l([s()],i.prototype,"for",2),l([s()],i.prototype,"forElement",2),l([s()],i.prototype,"dynamic",2),i=l([b({name:n.elementName})],i);function ae(){p(i)}export{C as a,n as b,d as c,c as d,i as e,ae as f};
7
- //# sourceMappingURL=chunk.3JCHXLPT.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/label/label-aware.ts", "../../src/label/label-constants.ts", "../../src/label/label-adapter.ts", "../../src/label/label-foundation.ts", "../../src/label/label.ts", "../../src/label/index.ts"],
4
- "sourcesContent": ["export interface ILabelAware {\n labelClickedCallback(): void;\n labelChangedCallback(value: string | null): void;\n}\n\n/**\n * Determines if an object is label aware.\n * @param obj - The object to check.\n * @returns True if the object is label aware, false otherwise.\n */\nexport const isLabelAware = (obj: any): obj is ILabelAware => {\n return typeof obj.labelClickedCallback === 'function' && typeof obj.labelChangedCallback === 'function';\n};\n", "import { BUTTON_CONSTANTS } from '../button';\nimport { CHECKBOX_CONSTANTS } from '../checkbox';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\nimport { ICON_BUTTON_CONSTANTS } from '../icon-button';\nimport { SWITCH_CONSTANTS } from '../switch';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}label`;\n\nconst attributes = {\n FOR: 'for',\n DYNAMIC: 'dynamic'\n};\n\nconst selectors = {\n ROOT: '.forge-label',\n SLOT: 'slot'\n};\n\nconst labelableChildSelectors = [\n CHECKBOX_CONSTANTS.elementName,\n SWITCH_CONSTANTS.elementName,\n BUTTON_CONSTANTS.elementName,\n ICON_BUTTON_CONSTANTS.elementName\n];\n\nexport const LABEL_CONSTANTS = {\n elementName,\n selectors,\n attributes,\n labelableChildSelectors\n};\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core';\nimport { ILabelComponent } from './label';\nimport { ILabelAware, isLabelAware } from './label-aware';\nimport { LABEL_CONSTANTS } from './label-constants';\n\nexport interface ILabelAdapter extends IBaseAdapter {\n destroy(): void;\n hasTargetElement(): boolean;\n getTargetElement(): HTMLElement | null;\n setTargetElement(el: HTMLElement | null): void;\n trySetTarget(value: string | null): void;\n clickTarget(): void;\n updateTargetLabel(): void;\n addSlotChangeListener(callback: EventListener): void;\n addMutationObserver(callback: MutationCallback): void;\n removeMutationObserver(): void;\n}\n\nexport class LabelAdapter extends BaseAdapter<ILabelComponent> implements ILabelAdapter {\n private _slotElement: HTMLElement;\n private _targetElement: ILabelAware & HTMLElement | null = null;\n private _mutationObserver?: MutationObserver;\n\n constructor(component: ILabelComponent) {\n super(component);\n this._slotElement = getShadowElement(component, LABEL_CONSTANTS.selectors.SLOT);\n }\n\n public destroy(): void {\n this._targetElement?.labelChangedCallback(null);\n this._targetElement = null;\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public getTargetElement(): HTMLElement | null {\n return this._targetElement;\n }\n\n public setTargetElement(el: HTMLElement | null): void {\n if (el && this._checkLabelAwareness(el)) {\n this._targetElement = el;\n return;\n }\n this._targetElement = null;\n }\n\n public trySetTarget(value: string | null): void {\n this._targetElement = this._locateTargetElement(value);\n }\n\n /**\n * Calls the target's `labelClickedCallback`.\n */\n public clickTarget(): void {\n this._targetElement?.labelClickedCallback();\n }\n\n /**\n * Computes the text content of the label then passes it to the target's `labelChangedCallback`.\n */\n public updateTargetLabel(): void {\n const value = this._component.innerText.trim();\n this._targetElement?.labelChangedCallback(value);\n }\n\n public addSlotChangeListener(callback: EventListener): void {\n this._slotElement.addEventListener('slotchange', callback);\n }\n\n public addMutationObserver(callback: MutationCallback): void {\n this._mutationObserver = new MutationObserver(callback);\n this._mutationObserver.observe(this._component, {\n subtree: true,\n characterData: true,\n childList: true\n });\n\n // Run the callback once to capture the current state of the label\n callback([], this._mutationObserver);\n };\n\n public removeMutationObserver(): void {\n this._mutationObserver?.disconnect();\n this._mutationObserver = undefined;\n }\n\n /**\n * Returns `true` if the provided element is label aware, `false` otherwise. If `false` a warning\n * is logged to the console.\n */\n private _checkLabelAwareness(el: HTMLElement): el is (ILabelAware & HTMLElement) {\n if (!isLabelAware(el)) {\n console.warn('Label target element is not label aware.', el);\n return false;\n }\n return true;\n }\n\n /**\n * Returns a label aware element queried from the provided id or a child element of the\n * component or `null` if none exists.\n */\n private _locateTargetElement(id: string | null): ILabelAware & HTMLElement | null {\n let targetEl: HTMLElement | null;\n\n if (id) {\n const rootNode = this._component.getRootNode() as Document | ShadowRoot;\n targetEl = rootNode.querySelector(`#${id}`);\n } else {\n // Used for nested elements within the label component\n const selector = LABEL_CONSTANTS.labelableChildSelectors.join(',');\n targetEl = this._component.querySelector(selector);\n }\n\n if (targetEl && !this._checkLabelAwareness(targetEl)) {\n return null;\n }\n\n return targetEl;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { ILabelAdapter } from './label-adapter';\nimport { LABEL_CONSTANTS } from './label-constants';\n\nexport interface ILabelFoundation extends ICustomElementFoundation {\n for: string | null | undefined;\n forElement: HTMLElement | null | undefined;\n dynamic: boolean;\n disconnect(): void;\n update(): void;\n}\n\nexport class LabelFoundation implements ILabelFoundation {\n // State\n private _for: string | null | undefined;\n private _forElement: HTMLElement | null | undefined;\n private _dynamic = false;\n private _isConnected = false;\n\n // Listeners\n private readonly _clickListener: EventListener;\n private readonly _slotChangeListener: EventListener;\n private readonly _mutationCallback: MutationCallback;\n\n constructor(private _adapter: ILabelAdapter) {\n this._clickListener = (evt: PointerEvent) => this._handleClick(evt);\n this._slotChangeListener = () => this._handleSlotChange();\n this._mutationCallback = () => this._handleMutation();\n }\n\n public initialize(): void {\n this._adapter.addSlotChangeListener(this._slotChangeListener);\n this._adapter.trySetTarget(this._for ?? null);\n if (this._adapter.hasTargetElement()) {\n this._connect();\n }\n }\n\n public disconnect(): void {\n this._disconnect();\n this._adapter.destroy();\n }\n\n public update(): void {\n this._adapter.updateTargetLabel();\n }\n\n private _handleClick(evt: PointerEvent): void {\n // Prevent duplicate clicks from a nested target element or if the event originates\n // from within the target element\n const targetEl = this._adapter.getTargetElement();\n if (evt.target === targetEl || targetEl?.contains(evt.target as Node)) {\n return;\n }\n this._adapter.clickTarget();\n }\n\n private _handleSlotChange(): void {\n if (!this._for && !this._forElement) {\n this._adapter.trySetTarget(null);\n this._tryConnect();\n }\n }\n\n private _handleMutation(): void {\n this._adapter.updateTargetLabel();\n }\n\n private _connect(): void {\n this._adapter.addHostListener('click', this._clickListener);\n this._adapter.updateTargetLabel();\n if (this._dynamic) {\n this._adapter.addMutationObserver(this._mutationCallback);\n }\n this._isConnected = true;\n }\n\n private _disconnect(): void {\n this._adapter.removeHostListener('click', this._clickListener);\n this._adapter.removeMutationObserver();\n this._isConnected = false;\n }\n\n private _tryConnect(): void {\n if (!this._adapter.hasTargetElement()) {\n this._disconnect();\n } else if (!this._isConnected) {\n this._connect();\n }\n }\n\n public get for(): string | null | undefined {\n return this._for;\n }\n public set for(value: string | null | undefined) {\n if (this._for !== value) {\n this._for = value;\n this._adapter.toggleHostAttribute(LABEL_CONSTANTS.attributes.FOR, !!this.for, this.for ?? undefined);\n this._adapter.trySetTarget(this._for ?? null);\n this._tryConnect();\n }\n }\n\n public get forElement(): HTMLElement | null | undefined {\n return this._forElement;\n }\n public set forElement(value: HTMLElement | null | undefined) {\n if (this._forElement !== value) {\n this._forElement = value;\n this._adapter.setTargetElement(this._forElement ?? null);\n this._tryConnect();\n }\n }\n\n public get dynamic(): boolean {\n return this._dynamic;\n }\n public set dynamic(value: boolean) {\n if (this._dynamic !== value) {\n this._dynamic = value;\n this._adapter.toggleHostAttribute(LABEL_CONSTANTS.attributes.DYNAMIC, this._dynamic);\n\n if (!this._dynamic) {\n this._adapter.removeMutationObserver();\n } else if (this._adapter.hasTargetElement()) {\n this._adapter.addMutationObserver(this._mutationCallback);\n }\n }\n }\n}\n", "import { CustomElement, FoundationProperty, attachShadowTemplate, coerceBoolean } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core';\nimport { LabelAdapter } from './label-adapter';\nimport { LABEL_CONSTANTS } from './label-constants';\nimport { LabelFoundation } from './label-foundation';\n\nconst template = '<template><span class=\\\"forge-label\\\" part=\\\"label\\\"><slot></slot></span></template>';\nconst style = ':host{display:inline-block}:host([hidden]){display:none}.forge-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);display:contents;cursor:default}';\n\nexport interface ILabelComponent extends IBaseComponent {\n for: string | null | undefined;\n forElement: HTMLElement | null | undefined;\n dynamic: boolean;\n update(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-label': ILabelComponent;\n }\n}\n\n/**\n * @tag forge-label\n * \n * @summary The Forge Label component is used to associate a text label with a compatible Forge\n * component.\n * \n * @property {string | null | undefined} for - The id of the associated element.\n * @property {HTMLElement | null | undefined} forElement - The associated element.\n * @property {boolean} dynamic - Propagates changes in the label's text content to the associated element.\n * \n * @attribute {string} for - The id of the associated form component.\n * @attribute {boolean} dynamic - Propagates changes in the label's text content to the associated element.\n * \n * @method update - Updates the targetted element with the label's current text content.\n * \n * @csspart label - Styles the label's root element.\n */\n@CustomElement({\n name: LABEL_CONSTANTS.elementName\n})\nexport class LabelComponent extends BaseComponent implements ILabelComponent {\n public static get observedAttributes(): string[] {\n return [\n LABEL_CONSTANTS.attributes.FOR,\n LABEL_CONSTANTS.attributes.DYNAMIC\n ];\n }\n\n private _foundation: LabelFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, style);\n this._foundation = new LabelFoundation(new LabelAdapter(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 LABEL_CONSTANTS.attributes.FOR:\n this.for = newValue;\n break;\n case LABEL_CONSTANTS.attributes.DYNAMIC:\n this.dynamic = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public for: string | null | undefined;\n\n @FoundationProperty()\n public forElement: HTMLElement | null | undefined;\n\n @FoundationProperty()\n public dynamic: boolean;\n\n /**\n * Updates the targetted element with the label's current text content.\n */\n public update(): void {\n this._foundation.update();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { LabelComponent } from './label';\n\nexport * from './label-adapter';\nexport * from './label-constants';\nexport * from './label-foundation';\nexport * from './label';\nexport * from './label-aware';\n\nexport function defineLabelComponent(): void {\n defineCustomElement(LabelComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": ["isLabelAware", "obj", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "labelableChildSelectors", "CHECKBOX_CONSTANTS", "SWITCH_CONSTANTS", "BUTTON_CONSTANTS", "ICON_BUTTON_CONSTANTS", "LABEL_CONSTANTS", "LabelAdapter", "BaseAdapter", "component", "getShadowElement", "LABEL_CONSTANTS", "_a", "el", "value", "callback", "isLabelAware", "id", "targetEl", "selector", "LabelFoundation", "_adapter", "evt", "_a", "targetEl", "value", "_b", "LABEL_CONSTANTS", "template", "style", "LabelComponent", "BaseComponent", "attachShadowTemplate", "LabelFoundation", "LabelAdapter", "LABEL_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "defineLabelComponent", "defineCustomElement", "LabelComponent"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as t}from"./chunk.RCSBJQ4G.js";import{a as e}from"./chunk.6DXDNQUR.js";var a=class extends t{constructor(){super(...arguments);this._hasCustomValidityError=!1}},o=class extends e(t){};export{a};
7
- //# sourceMappingURL=chunk.3RMBFRGC.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/core/base/base-nullable-form-component.ts"],
4
- "sourcesContent": ["import { IBaseFocusableComponent, WithFocusable } from './base-focusable-component';\nimport { BaseFormComponent, IBaseFormComponent } from './base-form-component';\n\nexport interface IBaseNullableFormComponent<T = string> extends IBaseFormComponent<T> {\n required: boolean;\n\n readonly validity: ValidityState;\n readonly validationMessage: string;\n readonly willValidate: boolean;\n\n checkValidity(): boolean;\n reportValidity(): boolean;\n setCustomValidity(error: string): void;\n}\n\nexport abstract class BaseNullableFormComponent<T = string> extends BaseFormComponent<T> {\n public abstract required: boolean;\n\n public abstract get validity(): ValidityState;\n public abstract get validationMessage(): string;\n public abstract get willValidate(): boolean;\n\n // Needed for Safari, see https://bugs.webkit.org/show_bug.cgi?id=261432\n // Replace with this.internals.validity.customError when resolved.\n protected _hasCustomValidityError = false;\n\n public abstract checkValidity(): boolean;\n public abstract reportValidity(): boolean;\n public abstract setCustomValidity(error: string): void;\n}\n\nexport interface IBaseFocusableNullableFormComponent<T = string> extends IBaseFormComponent<T>, IBaseFocusableComponent {}\n\n/**\n * Any form associated Custom HTML element that focus on the host element.\n */\nexport abstract class BaseFocusableNullableFormComponent<T = string> extends WithFocusable(BaseFormComponent)<T> implements IBaseFocusableNullableFormComponent<T> {}\n"],
5
- "mappings": "gFAeO,IAAeA,EAAf,cAA6DC,CAAqB,CAAlF,kCASL,KAAU,wBAA0B,GAKtC,EAOsBC,EAAf,cAAsEC,EAAcF,CAAiB,CAAuD,CAAC",
6
- "names": ["BaseNullableFormComponent", "BaseFormComponent", "BaseFocusableNullableFormComponent", "WithFocusable"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as F}from"./chunk.Z2RB75TN.js";import{b as Q}from"./chunk.7DHDFH5L.js";import{a as te}from"./chunk.NZKIFXBU.js";import{h as pe,i as ae}from"./chunk.DOEG3DWJ.js";import{c as ee}from"./chunk.2GYZM6ZG.js";import{f as Z}from"./chunk.KTYYBWTN.js";import{b as J}from"./chunk.XNCBGWE4.js";import{a as C,e as ie}from"./chunk.GT3VPSXY.js";import{b as oe}from"./chunk.P7LC3YYW.js";import{c as re}from"./chunk.C5IB44HX.js";import{a as se,b as le}from"./chunk.26E4L52W.js";import{a as ne}from"./chunk.ZSZFWZAI.js";import{a as D}from"./chunk.MGLWXAZO.js";import{a as j}from"./chunk.SOLF23NC.js";import{c as W,g as K,h as q}from"./chunk.FYWPZFLJ.js";import{d as Y,l as X}from"./chunk.Z7PBGV4K.js";import{a as z}from"./chunk.KVCDAZ6B.js";import{a as $}from"./chunk.CZOABXEQ.js";import{a as R}from"./chunk.LS7WRRT2.js";import{a}from"./chunk.NVUMRW44.js";import{a as H,b as G,c as V}from"./chunk.IT66AOX7.js";import{a as N,e as U,f as L}from"./chunk.JAWV5Y5T.js";import{m as B,r as M,s as k,u as A}from"./chunk.K7FPXAFS.js";import{a as y,b as h,c as x,j as T,k as f,l as S,n as w,o as P}from"./chunk.J2M2MXP2.js";import{a as E,d as p}from"./chunk.M3QDAYD2.js";var g=`${G}autocomplete`,me={MODE:"mode",MULTIPLE:"multiple",DEBOUNCE:"debounce",FILTER_ON_FOCUS:"filter-on-focus",FILTER_FOCUS_FIRST:"filter-focus-first",ALLOW_UNMATCHED:"allow-unmatched",POPUP_TARGET:"popup-target",POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold",SYNC_POPUP_WIDTH:"sync-popup-width",OPEN:"open",MATCH_KEY:"match-key",FILTER_TEXT:"filter-text",DROPDOWN_ICON_OPEN:"data-forge-dropdown-icon-open"},fe={INPUT:ne.selectors.INPUT,DROPDOWN_ICON:"[data-forge-dropdown-icon],[data-forge-dropdown-icon],[forge-dropdown-icon],.forge-dropdown-icon",CLEAR_BUTTON:"[data-forge-autocomplete-clear],[forge-autocomplete-clear]"},ve={DEFAULT_DEBOUNCE_TIME:500,NUM_SKELETON_ITEMS:3},be={CHANGE:`${g}-change`,SELECT:`${g}-select`,SCROLLED_BOTTOM:`${g}-scrolled-bottom`},o={elementName:g,attributes:me,selectors:fe,numbers:ve,events:be},ue=(e=>(e.Default="default",e.Stateless="stateless",e))(ue||{});var O=class extends R{constructor(e){super(e);this.setInputElement()}setInputElement(){let e=M(this._component,o.selectors.INPUT,!1);return e.length&&(this._inputElement=e[0]),this._inputElement}setInputAttribute(e,t){this._inputElement.setAttribute(e,t)}addInputListener(e,t){this._inputElement.addEventListener(e,t)}removeInputListener(e,t){this._inputElement.removeEventListener(e,t)}initializeInputAccessibility(e){this._inputElement.setAttribute("autocomplete","off"),this._inputElement.setAttribute("role","combobox"),this._inputElement.setAttribute("aria-live","polite"),this._inputElement.setAttribute("aria-atomic","true"),this._inputElement.setAttribute("aria-haspopup","true"),this._inputElement.setAttribute("aria-expanded","false"),this._inputElement.setAttribute("aria-autocomplete","list")}isWrappingChipField(){return!!this._component.querySelector(F.elementName)}show(e,t){this._targetElement=this._getTargetElement(t),this._targetElement&&(this._listDropdown=new pe(this._targetElement,e),this._listDropdown.open(),this._inputElement.setAttribute("aria-expanded","true"),this._inputElement.setAttribute("aria-controls",`list-dropdown-popup-${e.id}`),this._tryToggleDropdownIconRotation(!0))}hide(e){if(!this._listDropdown)return;let{targetElement:t}=this._listDropdown.dropdownElement;t.removeEventListener(C.events.BLUR,e),this.setBusyVisibility(!1),this._tryToggleDropdownIconRotation(!1),this._inputElement.removeAttribute("aria-activedescendant"),this._inputElement.removeAttribute("aria-controls"),this._inputElement.setAttribute("aria-expanded","false"),this._listDropdown.close(),this._listDropdown=void 0}setBusyVisibility(e){var t;(t=this._listDropdown)==null||t.setBusyVisibility(e)}setDismissListener(e){if(!this._listDropdown||!this._listDropdown.dropdownElement)return;let t=this._listDropdown.dropdownElement;t.targetElement&&t.targetElement.addEventListener(C.events.BLUR,e)}focus(){window.requestAnimationFrame(()=>this._inputElement.focus())}setOptions(e){var t;(t=this._listDropdown)==null||t.setOptions(e)}appendOptions(e){var t;(t=this._listDropdown)==null||t.appendOptions(e)}setSelectedText(e){this._inputElement.value=e}getInputValue(){return this._inputElement.value}setInputValue(e){this._inputElement.value=e}selectInputValue(){window.requestAnimationFrame(()=>this._inputElement.select())}isFocusWithinPopup(e){return!this._listDropdown||!this._listDropdown.dropdownElement?!1:this._listDropdown.dropdownElement.contains(e)}hasFocus(){let e=k(this._component.ownerDocument);return e===this._inputElement||this.isFocusWithinPopup(e)}hasInputElement(){return!!this._inputElement}setDropdownIconListener(e,t){window.requestAnimationFrame(()=>{let i=this._component.querySelector(o.selectors.DROPDOWN_ICON);i&&i.addEventListener(e,t)})}removeDropdownIconListener(e,t){let i=this._component.querySelector(o.selectors.DROPDOWN_ICON);i&&i.removeEventListener(e,t)}setClearButtonListener(e,t){window.requestAnimationFrame(()=>{let i=this._component.querySelector(o.selectors.CLEAR_BUTTON);i&&i.addEventListener(e,t)})}removeClearButtonListener(e,t){let i=this._component.querySelector(o.selectors.CLEAR_BUTTON);i&&i.removeEventListener(e,t)}propagateKey(e){var t;(t=this._listDropdown)==null||t.handleKey(e)}updateActiveDescendant(e){this._targetElement&&A(this._inputElement,!!e,"aria-activedescendant",e)}getTargetElementWidth(e){return this._targetElement||(this._targetElement=this._getTargetElement(e)),this._targetElement.getBoundingClientRect().width}getPopupElement(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.dropdownElement)!=null?t:null}activateFirstOption(){var e;(e=this._listDropdown)==null||e.activateFirstOption()}activateSelectedOption(){var e;(e=this._listDropdown)==null||e.activateSelectedOption()}activateOptionByIndex(e){var t;(t=this._listDropdown)==null||t.activateOption(e)}getActiveOptionIndex(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.getActiveOptionIndex())!=null?t:null}clearActiveOption(){var e;(e=this._listDropdown)==null||e.clearActiveOption()}setSelectedOptions(e){if(this._listDropdown){let t=e.map(i=>i.value);this._listDropdown.setSelectedValues(t)}}queueDropdownPositionUpdate(){this.getPopupElement()&&window.requestAnimationFrame(()=>{let e=this.getPopupElement();e==null||e.position()})}_getTargetElement(e){return e?this._component.querySelector(e)||this._getDefaultTargetElement():this._getDefaultTargetElement()}_getDefaultTargetElement(){let e=this._component.querySelector("forge-text-field");if(e&&e.shadowRoot){let i=L(e,se.selectors.ROOT);if(i)return i}let t=this._component.querySelector("forge-chip-field");if(t&&t.shadowRoot){let i=L(t,F.selectors.ROOT);if(i)return i}return this._component.querySelector("input")||this._component}_tryToggleDropdownIconRotation(e){let t=this._component.querySelector(o.selectors.DROPDOWN_ICON);t&&A(t,e,o.attributes.DROPDOWN_ICON_OPEN)}};var de=(e=>(e[e.Option=0]="Option",e[e.Group=1]="Group",e))(de||{});function v(u,d){let e=u.some(i=>h(i)&&T(i)&&i.hasOwnProperty("options")&&(i.hasOwnProperty("text")||i.hasOwnProperty("builder"))),t=u.some(i=>h(i)&&T(i)&&i.hasOwnProperty("label")&&i.hasOwnProperty("value"));return e&&d===1||t&&d===0}function ce(u,d){return u.find(e=>e.value===d)}function b(u,d,e=null){return e?!(e in u.value)||!(e in d)?!1:w(u.value[e],d[e]):w(u.value,d)}var I=class extends ae{constructor(e){super();this._adapter=e;this._isInitialized=!1;this._isDropdownOpen=!1;this._mode="default";this._multiple=!1;this._debounce=o.numbers.DEFAULT_DEBOUNCE_TIME;this._allowUnmatched=!1;this._filterOnFocus=!0;this._filterFocusFirst=!0;this._options=[];this._filterText="";this._selectedOptions=[];this._values=[];this._pendingFilterPromises=[];this._matchKey=null;this._clickListener=t=>this._onClick(t),this._focusListener=()=>this._onFocus(),this._blurListener=t=>this._onBlur(t),this._keydownListener=t=>this._onKeydown(t),this._dropdownIconClickListener=t=>this._onDropdownIconClick(t),this._dropdownScrollEndListener=()=>this._onDropdownScrollEnd(),this._dropdownIconMouseDownListener=t=>this._onDropdownIconMouseDown(t),this._clearButtonListener=t=>this._onClear(t),this._dismissListener=()=>this._onDismiss(),this._activeChangeListener=t=>this._adapter.updateActiveDescendant(t),this._targetWidthCallback=()=>this._adapter.getTargetElementWidth(this._popupTarget),this._identifier=y()}async initialize(){if(!this._adapter.hasInputElement()&&!this._adapter.setInputElement())throw new Error("An input element is required as a child of the autocomplete component.");if(this._setInputListener(),this._setFilterCallback(),this._attachListeners(),this._initializeAccessibility(),this._values.length){if(!this._selectedOptions.length){try{await this._executeFilter()}catch(e){console.error(e)}this._updateSelectedOptions(this._values)}this._adapter.setSelectedText(this._getSelectedText())}this._isInitialized=!0}disconnect(){this._isInitialized&&(this._detachListeners(),this._isInitialized=!1),this._isDropdownOpen&&this._closeDropdown()}async forceFilter({preserveValue:e}){this._options=[],await this._executeFilter(!0,!0),e&&this._options.push(...this._selectedOptions),this._applyValue(this._values)}_attachListeners(){this._adapter.addInputListener("click",this._clickListener),this._adapter.addInputListener("focus",this._focusListener),this._adapter.addInputListener("blur",this._blurListener),this._adapter.addInputListener("input",this._inputListener),this._adapter.addInputListener("keydown",this._keydownListener),this._adapter.setDropdownIconListener("click",this._dropdownIconClickListener),this._adapter.setDropdownIconListener("mousedown",this._dropdownIconMouseDownListener),this._adapter.setClearButtonListener("click",this._clearButtonListener)}_detachListeners(){this._adapter.removeInputListener("click",this._clickListener),this._adapter.removeInputListener("focus",this._focusListener),this._adapter.removeInputListener("blur",this._blurListener),this._adapter.removeInputListener("input",this._inputListener),this._adapter.removeInputListener("keydown",this._keydownListener),this._adapter.removeDropdownIconListener("click",this._dropdownIconClickListener),this._adapter.removeDropdownIconListener("mousedown",this._dropdownIconMouseDownListener),this._adapter.removeClearButtonListener("click",this._clearButtonListener)}_setInputListener(){this._inputListener=e=>this._onInput(e)}_setFilterCallback(){this._filterFn=h(this._debounce)&&this._debounce>0?P(this._debounceFilter,this._debounce,!1):this._debounceFilter}_initializeAccessibility(){this._adapter.initializeInputAccessibility(this._identifier)}get _flatOptions(){return v(this._options,1)?this._options.reduce((e,t)=>e.concat(t.options),[]):this._options}_onClick(e){!this._isDropdownOpen&&this._filterOnFocus&&this._showDropdown()}_onDropdownIconMouseDown(e){e.preventDefault()}_onDropdownIconClick(e){this._isDropdownOpen?this._closeDropdown():(this._adapter.focus(),window.requestAnimationFrame(()=>this._showDropdown()))}_onClear(e){this._filterText="",this._clearValue(),this._adapter.setSelectedText(this._getSelectedText())}_onDropdownScrollEnd(){this._adapter.emitHostEvent(o.events.SCROLLED_BOTTOM)}_onFocus(){!this._isDropdownOpen&&this._adapter.getInputValue()&&!D.isMobile&&this._adapter.selectInputValue()}_onBlur(e){this._adapter.isFocusWithinPopup(e.relatedTarget)||this._applyBlur()}_applyBlur(){this._isDropdownOpen&&this._closeDropdown(),this._mode!=="stateless"&&(this._selectedOptions.length?this._adapter.setSelectedText(this._getSelectedText()):this._allowUnmatched||(this._filterText="",this._adapter.setSelectedText("")))}_onInput(e){this._selectedOptions.length&&!this._multiple&&(!this._adapter.getInputValue()||this._allowUnmatched)&&!this._adapter.isWrappingChipField()&&(this._selectedOptions=[],this._values=[],this._emitChangeEvent()),this._filterText=this._adapter.getInputValue(),this._filterFn()}async _debounceFilter({checkFocus:e=!0}={}){if(!e&&!this._adapter.hasFocus()){this._pendingFilterPromises=[],this._isDropdownOpen&&this._closeDropdown();return}let t=this._filterText,i=this._executeFilter();this._pendingFilterPromises.push(i),this._isDropdownOpen?this._adapter.setBusyVisibility(!0):this._showDropdown({filter:!1});try{await i}catch(n){this._pendingFilterPromises=[],this._isDropdownOpen&&this._closeDropdown();return}if(t===this._filterText)this._pendingFilterPromises=[],this._onFilterComplete();else{let n=this._pendingFilterPromises.indexOf(i);n!==-1&&this._pendingFilterPromises.splice(n,1)}}_onKeydown(e){switch(e.key){case"Tab":this._isDropdownOpen&&!this._multiple&&this._selectActiveOption(!1);break;case"Esc":case"Escape":this._isDropdownOpen&&(e.preventDefault(),e.stopPropagation(),this._closeDropdown());break;case"Down":case"ArrowDown":e.preventDefault(),this._isDropdownOpen?this._adapter.propagateKey(e.key):this._showDropdown({activateFirst:!0,activateSelected:!0});break;case"Up":case"ArrowUp":e.preventDefault(),this._isDropdownOpen&&this._adapter.propagateKey(e.key);break;case"Enter":case"Home":case"End":this._isDropdownOpen&&(e.key==="Enter"&&e.stopPropagation(),e.preventDefault(),this._adapter.propagateKey(e.key));break;case"Backspace":case"Delete":let t=e.target,i=this._adapter.getInputValue(),n=t.value.substring(t.selectionStart,t.selectionEnd)===t.value,l=i.length===1&&t.selectionEnd===1,c=i.length===1&&t.selectionEnd===0,_=!i||n||l||c;!this._adapter.isWrappingChipField()&&_&&!this._multiple&&this._values.length&&this._clearValue();break}}_executeFilter(e=!0,t=!1){if(!this._filter||typeof this._filter!="function")throw new Error('A filter callback must be provided. Did you set the "filter" property?');let i=this._filter,n=e?this._filterText:"",l=t?this._getValue():null;return new Promise((c,_)=>Promise.resolve(i(n,l)).then(r=>{this._options=r,c(this._options)}).catch(r=>_(`An unexpected error occurred while filtering: ${r}`)))}_onFilterComplete(){if(!this._adapter.hasFocus()){this._isDropdownOpen&&this._closeDropdown();return}if(this._options.length){let e=this._allowUnmatched&&!this._selectedOptions.length;this._dropdownReady({userTriggered:e}),this._filterFocusFirst&&this._filterText&&this._adapter.activateFirstOption()}else this._closeDropdown()}_clearValue(){this._selectedOptions=[],this._values=[],this._isDropdownOpen&&(this._adapter.setSelectedOptions([]),this._adapter.clearActiveOption()),this._emitChangeEvent()}async _showDropdown({filter:e=!0,userTriggered:t=!0,activateFirst:i=!1,activateSelected:n=!1}={}){let l=this._allowUnmatched&&!this._selectedOptions.length;this._isDropdownOpen=!0;let c;if(this._optionBuilder){let r=this._optionBuilder;c=(m,_e)=>r(m,this._filterText,_e)}let _={options:this._options,multiple:this._multiple,selectedValues:[...this._values],id:`forge-autocomplete-${this._identifier}`,asyncStyle:"skeleton",optionLimit:this._optionLimit,popupClasses:this._popupClasses,headerBuilder:this._popupHeaderBuilder,footerBuilder:this._popupFooterBuilder,transform:r=>{if(this._filterText){let m=$(r,this._filterText);if(m)return m}return r},allowBusy:!0,optionBuilder:c,syncWidth:this._syncPopupWidth,observeScroll:this._observeScroll,observeScrollThreshold:this._observeScrollThreshold,scrollEndListener:this._dropdownScrollEndListener,activeChangeCallback:this._activeChangeListener,targetWidthCallback:this._targetWidthCallback,selectCallback:r=>this._onSelect(r),closeCallback:()=>this._closeDropdown()};if(this._adapter.show(_,this._popupTarget),this._adapter.toggleHostAttribute(o.attributes.OPEN,this._isDropdownOpen),e){this._options.length&&this._adapter.setBusyVisibility(!0);try{await this._executeFilter(l)}catch(r){console.error(r)}this._updateSelectedOptions(this._values)}this._pendingFilterPromises.length||this._dropdownReady({userTriggered:t,activateFirst:i,activateSelected:n})}_dropdownReady({userTriggered:e=!0,activateFirst:t=!1,activateSelected:i=!1}={}){if(!this._isDropdownOpen||!this._options.length||e&&!this._adapter.hasFocus()){this._closeDropdown();return}this._sortSelectedOptions(),this._adapter.setBusyVisibility(!1),this._adapter.setOptions(this._options),this._adapter.setSelectedOptions(this._selectedOptions),this._adapter.setDismissListener(this._dismissListener),i&&this._selectedOptions.length?this._adapter.activateSelectedOption():t&&this._adapter.activateFirstOption()}_closeDropdown(){this._multiple&&(this._filterText=""),this._isDropdownOpen=!1,this._adapter.hide(this._dismissListener),this._sortSelectedOptions(),this._adapter.toggleHostAttribute(o.attributes.OPEN,this._isDropdownOpen)}_sortSelectedOptions(){if(this._multiple&&this._selectedOptions.length&&v(this._options,0)){let e=[],t=[];this._options.forEach(i=>{this._selectedOptions.find(n=>b(n,i.value,this._matchKey))?e.push(i):t.push(i)}),this._options=[...e,...t]}}async _onSelect(e,t=!0){if(this._valueChanging)return;if(this._mode==="stateless"){let n={value:e};this._adapter.emitHostEvent(o.events.SELECT,n,!0,!0)&&(this._filterText="",this._multiple||this._closeDropdown());return}let i=()=>{let l=this._flatOptions.find(r=>b(r,e,this._matchKey)),c=l?l.value:"",_=l?l.label:"";if(this._multiple){let r=ce(this._selectedOptions,c);if(r){let m=this._selectedOptions.indexOf(r);this._selectedOptions.splice(m,1)}else this._selectedOptions.push(l)}else h(c)?(this._selectedOptions[0]=l,this._filterText=_):(this._selectedOptions=[],this._filterText="");this._isDropdownOpen&&this._adapter.setSelectedOptions(this._selectedOptions),this._values=this._selectedOptions.map(r=>r.value),this._adapter.setSelectedText(this._getSelectedText()),!D.isMobile&&t&&this._adapter.selectInputValue(),this._emitChangeEvent(),this._tryUpdateDropdownPosition()};this._isDropdownOpen&&!this._multiple&&this._closeDropdown(),typeof this._beforeValueChange=="function"?(this._valueChanging=Promise.resolve(this._beforeValueChange.call(null,e,this._matchKey)),await this._valueChanging?i():this._tryUpdateDropdownPosition(),this._valueChanging=void 0):i()}_selectActiveOption(e=!0){let t=this._adapter.getActiveOptionIndex();if(typeof t=="number"&&t>=0){let i=this._flatOptions[t];i&&this._onSelect(i.value,e)}}_emitChangeEvent(){this._adapter.emitHostEvent(o.events.CHANGE,this._getValue(),!0)}_tryUpdateDropdownPosition(){this._isDropdownOpen&&this._adapter.queueDropdownPositionUpdate()}_getValue(){return this._values?this._values.length?this._multiple?[...this._values]:this._values[0]:this._multiple?[]:null:null}_getSelectedText(){var e,t;return this._adapter.isWrappingChipField()?"":this._selectedTextBuilder?this._selectedTextBuilder(this._selectedOptions):this._multiple?this._values.length?this._values.length===1?(t=(e=this._selectedOptions[0])==null?void 0:e.label)!=null?t:"":`${this._values.length} options selected`:"":this._selectedOptions.filter(i=>i&&i.label).map(i=>i.label).join(" ").trim()}_onDismiss(){this._closeDropdown()}async _applyValue(e){let t=[];this._selectedOptions=[],Array.isArray(e)?t=e:t=h(e)?[e]:[],!this._multiple&&t.length>1&&(t=[t[0]]),v(t,0)?(this._values=t.map(n=>n.value),this._selectedOptions=t):this._values=t;let i=this._flatOptions;if(t.length&&i.length&&this._updateSelectedOptions(t),this._values.length&&!this._selectedOptions.length&&this._filter&&this._isInitialized){try{await this._executeFilter(!1,!0)}catch(n){console.error(n)}this._updateSelectedOptions(this._values)}this._multiple?this._filterText="":this._filterText=this._selectedOptions.length?this._selectedOptions[0].label:"",this._isInitialized&&this._adapter.setSelectedText(this._getSelectedText()),this._isDropdownOpen&&this._adapter.setSelectedOptions(this._selectedOptions)}_updateSelectedOptions(e){let t=[...this._flatOptions,...this._selectedOptions];if(this._selectedOptions.length&&(this._selectedOptions=[]),v(e,0))for(let i of e){let n=t.find(l=>b(l,i.value,this._matchKey));n?this._selectedOptions.push(n):this._selectedOptions.push(i)}else for(let i of e){let n=t.find(l=>b(l,i,this._matchKey));n?this._selectedOptions.push(n):this._allowUnmatched&&this._selectedOptions.push({label:i,value:i})}}get mode(){return this._mode}set mode(e){this._mode!==e&&(this._mode=e,this._mode==="stateless"&&(this._selectedOptions=[],this._isDropdownOpen&&this._closeDropdown()),this._adapter.setHostAttribute(o.attributes.MODE,this._mode))}get multiple(){return this._multiple}set multiple(e){this._multiple!==e&&(this._multiple=e,this._adapter.setHostAttribute(o.attributes.MULTIPLE,h(this._multiple)?this._multiple.toString():""))}get value(){return this._getValue()}set value(e){let t=[];e==null?t=[]:Array.isArray(e)?t=structuredClone(e):x(e)?t=[e]:t=[structuredClone(e)],(t.length!==this._values.length||t.some(n=>!this._values.includes(n)))&&this._applyValue(e)}get filterOnFocus(){return this._filterOnFocus}set filterOnFocus(e){this._filterOnFocus!==e&&(this._filterOnFocus=e,this._adapter.setHostAttribute(o.attributes.FILTER_ON_FOCUS,h(this._filterOnFocus)?this._filterOnFocus.toString():""))}get filterFocusFirst(){return this._filterFocusFirst}set filterFocusFirst(e){this._filterFocusFirst!==e&&(this._filterFocusFirst=e,this._adapter.toggleHostAttribute(o.attributes.FILTER_FOCUS_FIRST,this._filterFocusFirst))}get allowUnmatched(){return this._allowUnmatched}set allowUnmatched(e){this._allowUnmatched!==e&&(this._allowUnmatched=e,h(this._allowUnmatched)&&this._adapter.setHostAttribute(o.attributes.ALLOW_UNMATCHED,this._allowUnmatched.toString()))}get matchKey(){return this._matchKey}set matchKey(e){this._matchKey!==e&&(this._matchKey=e)}get popupTarget(){return this._popupTarget}set popupTarget(e){this._popupTarget!==e&&(this._popupTarget=e)}get filterText(){return this._filterText}set filterText(e){this._filterText!==e&&(this._filterText=this._allowUnmatched?e:"",this._isInitialized&&this._allowUnmatched&&(this._adapter.setInputValue(this._filterText),this._isDropdownOpen&&this._debounceFilter({checkFocus:!1})))}get popupClasses(){return Array.isArray(this._popupClasses)?[...this._popupClasses]:[this._popupClasses]}set popupClasses(e){this._popupClasses!==e&&(this._popupClasses=Array.isArray(e)?[...e]:[e])}set popupHeaderBuilder(e){this._popupHeaderBuilder=e}set popupFooterBuilder(e){this._popupFooterBuilder=e}get syncPopupWidth(){return this._syncPopupWidth}set syncPopupWidth(e){this._syncPopupWidth!==e&&(this._syncPopupWidth=e)}get optionLimit(){return this._optionLimit}set optionLimit(e){this._optionLimit!==e&&(this._optionLimit=e)}get debounce(){return this._debounce}set debounce(e){this._debounce!==e&&(this._debounce=e,this._isInitialized&&this._setFilterCallback(),this._adapter.setHostAttribute(o.attributes.DEBOUNCE,h(this._debounce)?this._debounce.toString():""))}get optionBuilder(){return this._optionBuilder}set optionBuilder(e){this._optionBuilder=e}get filter(){return this._filter}set filter(e){this._filter!==e&&(this._filter=e,this._isInitialized&&this._values.length&&!this._flatOptions.length&&this._filter&&this._executeFilter().then(()=>{this._updateSelectedOptions(this._values),this._adapter.setSelectedText(this._getSelectedText())}))}get selectedTextBuilder(){return this._selectedTextBuilder}set selectedTextBuilder(e){this._selectedTextBuilder=e,this._selectedOptions.length&&this._adapter.setSelectedText(this._getSelectedText())}get observeScroll(){return this._observeScroll}set observeScroll(e){this._observeScroll=e}get observeScrollThreshold(){return this._observeScrollThreshold}set observeScrollThreshold(e){this._observeScrollThreshold=e}appendOptions(e){this._isDropdownOpen&&(this._options=[...this._options,...e],this._adapter.appendOptions(e))}get isInitialized(){return this._isInitialized}get open(){return this._isDropdownOpen}set open(e){this._isDropdownOpen!==e&&(e?this._showDropdown({userTriggered:!1}):this._closeDropdown())}get beforeValueChange(){return this._beforeValueChange}set beforeValueChange(e){e!==this._beforeValueChange&&(this._beforeValueChange=e)}get popupElement(){return this._adapter.getPopupElement()}};var ge="<template><slot></slot></template>",Oe=":host{display:block}:host([hidden]){display:none}",s=class extends te{constructor(){super();Y.define([W,q,K]),U(this,ge,Oe),this._foundation=new I(new O(this))}static get observedAttributes(){return[o.attributes.MODE,o.attributes.MULTIPLE,o.attributes.DEBOUNCE,o.attributes.FILTER_ON_FOCUS,o.attributes.FILTER_FOCUS_FIRST,o.attributes.ALLOW_UNMATCHED,o.attributes.POPUP_TARGET,o.attributes.POPUP_CLASSES,o.attributes.OBSERVE_SCROLL,o.attributes.OBSERVE_SCROLL_THRESHOLD,o.attributes.OPTION_LIMIT,o.attributes.SYNC_POPUP_WIDTH,o.attributes.OPEN,o.attributes.MATCH_KEY,o.attributes.FILTER_TEXT]}connectedCallback(){this.querySelector(o.selectors.INPUT)?this._foundation.initialize():B(this,o.selectors.INPUT).then(()=>this._foundation.initialize())}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,t,i){switch(super.attributeChangedCallback(e,t,i),e){case o.attributes.MODE:this.mode=i;break;case o.attributes.MULTIPLE:this.multiple=f(i);break;case o.attributes.DEBOUNCE:this.debounce=S(i);break;case o.attributes.FILTER_ON_FOCUS:this.filterOnFocus=f(i);break;case o.attributes.FILTER_FOCUS_FIRST:this.filterFocusFirst=f(i);break;case o.attributes.ALLOW_UNMATCHED:this.allowUnmatched=f(i);break;case o.attributes.POPUP_TARGET:this.popupTarget=i;break;case o.attributes.OPEN:this.open=f(i);break;case o.attributes.MATCH_KEY:this.matchKey=i;break;case o.attributes.FILTER_TEXT:this.filterText=i;break}}appendOptions(e){this._foundation.appendOptions(e)}openDropdown(){this.open=!0}closeDropdown(){this.open=!1}forceFilter(e={preserveValue:!1}){this._foundation.forceFilter(e)}};p([a()],s.prototype,"mode",2),p([a()],s.prototype,"multiple",2),p([a()],s.prototype,"value",2),p([a()],s.prototype,"debounce",2),p([a()],s.prototype,"filterOnFocus",2),p([a()],s.prototype,"filterFocusFirst",2),p([a()],s.prototype,"allowUnmatched",2),p([a()],s.prototype,"popupTarget",2),p([a()],s.prototype,"filterText",2),p([a()],s.prototype,"optionBuilder",2),p([a()],s.prototype,"filter",2),p([a()],s.prototype,"selectedTextBuilder",2),p([a()],s.prototype,"open",2),p([a()],s.prototype,"matchKey",2),p([a({set:!1})],s.prototype,"isInitialized",2),p([a({set:!1})],s.prototype,"popupElement",2),p([a()],s.prototype,"beforeValueChange",2),s=p([H({name:o.elementName,dependencies:[re,ie,ee,Z,Q,oe,J,X]})],s);var he=class extends z{constructor(e){super(e)}_build(){let e=document.createElement(o.elementName);return this._attachTextField(e),e}get textFieldDelegate(){return this._textFieldDelegate}get value(){return this._element.value}set value(e){this._element.value=e}get disabled(){return this._textFieldDelegate.inputElement.disabled}set disabled(e){this._textFieldDelegate.inputElement.disabled=e}get invalid(){return this._textFieldDelegate.invalid||!1}set invalid(e){this._textFieldDelegate.invalid=e}onChange(e){this._element.addEventListener(o.events.CHANGE,t=>e(t.detail))}onFocus(e){this._textFieldDelegate.inputElement.addEventListener("focus",t=>e(t))}onBlur(e){this._textFieldDelegate.inputElement.addEventListener("blur",t=>e(t))}_attachTextField(e){var i,n,l,c,_,r;let t={props:E({},(n=(i=this._config.options)==null?void 0:i.textFieldDelegateConfig)==null?void 0:n.props),options:E({},(c=(l=this._config.options)==null?void 0:l.textFieldDelegateConfig)==null?void 0:c.options)};t.options||(t.options={}),((_=this._config.options)==null?void 0:_.useDropdownIcon)!==!1&&!((r=t.options)!=null&&r.trailingElement)&&(t.options.trailingElement=this._createDropdownIconElement()),this._textFieldDelegate=new le(t),e.appendChild(this._textFieldDelegate.element)}_createDropdownIconElement(){let e={props:{slot:"trailing",name:"arrow_drop_down"},options:{attributes:{"forge-dropdown-icon":""}}};return new j(e).element}};function Wt(){N(s)}export{o as a,ue as b,O as c,de as d,v as e,ce as f,b as g,I as h,s as i,he as j,Wt as k};
7
- //# sourceMappingURL=chunk.3ZRQFXQU.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a,d as A}from"./chunk.IVUK3W34.js";import{a as E}from"./chunk.LS7WRRT2.js";import{a as n}from"./chunk.NVUMRW44.js";import{a as f,b as I,d}from"./chunk.IT66AOX7.js";import{a as m,e as _,f as v,k as T}from"./chunk.JAWV5Y5T.js";import{d as h}from"./chunk.K7FPXAFS.js";import{k as g}from"./chunk.J2M2MXP2.js";import{a as c,d as l}from"./chunk.M3QDAYD2.js";var L=`${I}button-toggle-group`,S={VALUE:"value",MULTIPLE:"multiple",MANDATORY:"mandatory",VERTICAL:"vertical",STRETCH:"stretch",DISABLED:"disabled",DENSE:"dense"},y={VERTICAL:"forge-button-toggle-group--vertical",STRETCH:"forge-button-toggle-group--stretch"},B={ROOT:".forge-button-toggle-group"},O={CHANGE:`${L}-change`},i={elementName:L,attributes:S,classes:y,selectors:B,events:O};var u=class extends E{constructor(t){super(t);this._rootElement=v(t,i.selectors.ROOT),this._slotElement=this._rootElement.querySelector("slot")}addListener(t,s){this._rootElement.addEventListener(t,s)}removeListener(t,s){this._rootElement.removeEventListener(t,s)}addSlotChangeListener(t){this._slotElement.addEventListener("slotchange",t)}removeSlotChangeListener(t){this._slotElement.addEventListener("slotchange",t)}deselect(t){this._getButtonToggleElements().filter(e=>e!==t).forEach(e=>e.selected=!1)}applyAdjacentSelections(t){let s=this._getButtonToggleElements();for(let e=s.length-1;e>0;e--)if(s[e].removeAttribute(a.attributes.SELECTED_ADJACENT),s[e].removeAttribute(a.attributes.SELECTED_ADJACENT_VERTICAL),s[e].selected&&s[e-1].selected){let C=t?a.attributes.SELECTED_ADJACENT_VERTICAL:a.attributes.SELECTED_ADJACENT;s[e].setAttribute(C,"")}}setVertical(t){t?this._rootElement.classList.add(i.classes.VERTICAL):this._rootElement.classList.remove(i.classes.VERTICAL)}setStretch(t){t?this._rootElement.classList.add(i.classes.STRETCH):this._rootElement.classList.remove(i.classes.STRETCH),this._getButtonToggleElements().forEach(e=>{t?e.setAttribute("stretch",""):e.removeAttribute("stretch")})}setDense(t){this._getButtonToggleElements().forEach(e=>e.dense=t)}setDisabled(t){this._getButtonToggleElements().forEach(e=>e.disabled=t)}getSelectedValues(){return this._getButtonToggleElements().filter(s=>s.selected).map(s=>s.value)}applyValues(t){this._getButtonToggleElements().forEach(e=>e.selected=t.indexOf(e.value)>=0)}createOptions(t){h(this._component),t.forEach(s=>{this._component.appendChild(this._createButtonToggle(s))})}_createButtonToggle(t){let s=document.createElement(a.elementName);if(s.value=t.value,t.label)s.textContent=t.label;else if(t.icon){let e=document.createElement("i");e.textContent=t.icon,e.classList.add(d),e.setAttribute("aria-hidden","true"),s.appendChild(e)}if(t.leadingIcon){let e;t.leadingIconType==="component"?(e=document.createElement("forge-icon"),e.name=t.leadingIcon):(e=document.createElement("i"),e.textContent=t.leadingIcon,e.classList.add(d),e.setAttribute("aria-hidden","true")),e.slot="leading",s.appendChild(e)}if(t.trailingIcon){let e;t.trailingIconType==="component"?(e=document.createElement("forge-icon"),e.name=t.trailingIcon):(e=document.createElement("i"),e.textContent=t.trailingIcon,e.classList.add(d),e.setAttribute("aria-hidden","true")),e.slot="trailing",s.appendChild(e)}return s}_getButtonToggleElements(){return Array.from(this._component.querySelectorAll(a.elementName))}};var p=class{constructor(o){this._adapter=o;this._isInitialized=!1;this._multiple=!1;this._mandatory=!1;this._vertical=!1;this._stretch=!1;this._dense=!1;this._disabled=!1;this._options=[];this._values=[];this._selectListener=t=>this._onSelect(t),this._slotListener=()=>this._synchronize()}initialize(){this._options&&this._options.length&&this._applyOptions(!1),this._adapter.addListener(a.events.SELECT,this._selectListener),this._adapter.addSlotChangeListener(this._slotListener),this._adapter.setVertical(this._vertical),this._adapter.setStretch(this._stretch),this._adapter.setDense(this._dense),this._adapter.setDisabled(this._disabled),this._adapter.applyAdjacentSelections(this._vertical),this._isInitialized=!0}disconnect(){this._isInitialized=!1,this._adapter.removeListener(a.events.SELECT,this._selectListener),this._adapter.removeSlotChangeListener(this._slotListener)}_synchronize(){if(this._multiple){let o=new Set(this._adapter.getSelectedValues().concat(this._values));this._applyValue(Array.from(o))}else{let o=this._adapter.getSelectedValues().concat(this._values);this.value=o.length?o[o.length-1]:null}}_onSelect(o){let t=o.target;if(this._mandatory&&!this._adapter.getSelectedValues().length){t.selected=!0;return}this._multiple||this._adapter.deselect(t),this._adapter.applyAdjacentSelections(this._vertical),this._adapter.emitHostEvent(i.events.CHANGE,this._getValue())}_getValue(){var t;let o=this._adapter.getSelectedValues();return this._multiple?Array.from(new Set(o)):(t=o.slice(0,1)[0])!=null?t:null}_applyValue(o){let t=o instanceof Array?o:[o];!this._multiple&&t.length>1&&(t=t[0]),this._values=t,this._adapter.applyValues(t),this._multiple&&this._adapter.applyAdjacentSelections(this._vertical)}_applyOptions(o=!0){this._options&&(this._adapter.createOptions(this._options),o&&(this._adapter.setStretch(this._stretch),this._adapter.setDense(this._dense),this._adapter.setDisabled(this._disabled),this._adapter.applyAdjacentSelections(this._vertical)))}get value(){return this._isInitialized?this._getValue():this._originalValue}set value(o){this._originalValue=o,this._applyValue(o)}get multiple(){return this._multiple}set multiple(o){this._multiple!==o&&(this._multiple=o,this._adapter.setHostAttribute(i.attributes.MULTIPLE,this._multiple))}get mandatory(){return this._mandatory}set mandatory(o){this._mandatory!==o&&(this._mandatory=o,this._mandatory?this._adapter.setHostAttribute(i.attributes.MANDATORY):this._adapter.removeHostAttribute(i.attributes.MANDATORY))}get vertical(){return this._vertical}set vertical(o){this._vertical!==o&&(this._vertical=o,this._adapter.setVertical(this._vertical),this._adapter.applyAdjacentSelections(this._vertical),this._vertical?this._adapter.setHostAttribute(i.attributes.VERTICAL):this._adapter.removeHostAttribute(i.attributes.VERTICAL))}get stretch(){return this._stretch}set stretch(o){this._stretch!==o&&(this._stretch=o,this._adapter.setStretch(this._stretch),this._stretch?this._adapter.setHostAttribute(i.attributes.STRETCH):this._adapter.removeHostAttribute(i.attributes.STRETCH))}get dense(){return this._dense}set dense(o){this._dense!==o&&(this._dense=o,this._adapter.setDense(this._dense),this._dense?this._adapter.setHostAttribute(i.attributes.DENSE):this._adapter.removeHostAttribute(i.attributes.DENSE))}get disabled(){return this._disabled}set disabled(o){this._disabled!==o&&(this._disabled=o,this._adapter.setDisabled(this._disabled),this._disabled?this._adapter.setHostAttribute(i.attributes.DISABLED):this._adapter.removeHostAttribute(i.attributes.DISABLED))}get options(){return this._options.map(o=>c({},o))}set options(o){this._options=o.map(t=>c({},t)),this._isInitialized&&this._applyOptions()}};var N='<template><div class="forge-button-toggle-group" role="group" aria-label="Button group" part="root"><slot></slot></div></template>',D=".forge-button-toggle-group{display:-webkit-box;display:flex}.forge-button-toggle-group ::slotted(:not(:last-child)){--forge-button-toggle-border-right-width:0;--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-right-radius:0}.forge-button-toggle-group ::slotted(:first-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-bottom-left-radius:4px}.forge-button-toggle-group ::slotted(:last-child){--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group--vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-button-toggle-group--vertical ::slotted(:not(:last-child)){--forge-button-toggle-border-right-width:1px;--forge-button-toggle-border-bottom-width:0;--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-right-radius:0}.forge-button-toggle-group--vertical ::slotted(:first-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-top-right-radius:4px}.forge-button-toggle-group--vertical ::slotted(:last-child){--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-left-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group ::slotted(:only-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-bottom-left-radius:4px;--forge-button-toggle-border-top-right-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group--stretch{width:100%}:host{display:block}:host([hidden]){display:none}",r=class extends T{constructor(){super();_(this,N,D),this._foundation=new p(new u(this))}static get observedAttributes(){return[i.attributes.VALUE,i.attributes.MULTIPLE,i.attributes.MANDATORY,i.attributes.VERTICAL,i.attributes.STRETCH,i.attributes.DISABLED,i.attributes.DENSE]}initializedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,s,e){switch(t){case i.attributes.VALUE:this.value=e;break;case i.attributes.MULTIPLE:this.multiple=g(e);break;case i.attributes.MANDATORY:this.mandatory=g(e);break;case i.attributes.VERTICAL:this.vertical=g(e);break;case i.attributes.STRETCH:this.stretch=g(e);break;case i.attributes.DENSE:this.dense=g(e);break;case i.attributes.DISABLED:this.disabled=g(e);break}}};l([n()],r.prototype,"value",2),l([n()],r.prototype,"multiple",2),l([n()],r.prototype,"mandatory",2),l([n()],r.prototype,"vertical",2),l([n()],r.prototype,"stretch",2),l([n()],r.prototype,"dense",2),l([n()],r.prototype,"disabled",2),l([n()],r.prototype,"options",2),r=l([f({name:i.elementName,dependencies:[A]})],r);function at(){m(r)}export{i as a,u as b,p as c,r as d,at as e};
7
- //# sourceMappingURL=chunk.4QDN5PM6.js.map