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

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 (578) hide show
  1. package/custom-elements.json +8607 -3358
  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.3KEXRSB5.js +7 -0
  32. package/dist/esm/chunks/{chunk.IW7HALLT.js.map → chunk.3KEXRSB5.js.map} +1 -1
  33. package/dist/esm/chunks/chunk.3TKTJ3BY.js +7 -0
  34. package/dist/esm/chunks/chunk.3TKTJ3BY.js.map +7 -0
  35. package/dist/esm/chunks/{chunk.DOEG3DWJ.js → chunk.42YDA5FH.js} +2 -2
  36. package/dist/esm/chunks/chunk.447QNYAZ.js +7 -0
  37. package/dist/esm/chunks/{chunk.PQQVUUHU.js.map → chunk.447QNYAZ.js.map} +1 -1
  38. package/dist/esm/chunks/chunk.4IMRT2B3.js +7 -0
  39. package/dist/esm/chunks/{chunk.F2EBSV5Z.js.map → chunk.4IMRT2B3.js.map} +1 -1
  40. package/dist/esm/chunks/chunk.4JDJ33IU.js +7 -0
  41. package/dist/esm/chunks/{chunk.LXX3YZYS.js.map → chunk.4JDJ33IU.js.map} +1 -1
  42. package/dist/esm/chunks/chunk.4QCGBFLU.js +7 -0
  43. package/dist/esm/chunks/{chunk.J2KHTGSB.js.map → chunk.4QCGBFLU.js.map} +1 -1
  44. package/dist/esm/chunks/chunk.4XN2WGMP.js +7 -0
  45. package/dist/esm/chunks/{chunk.RDW7Z4W5.js.map → chunk.4XN2WGMP.js.map} +1 -1
  46. package/dist/esm/chunks/{chunk.CTZ3AWDW.js → chunk.5EGEZ4IY.js} +2 -2
  47. package/dist/esm/chunks/chunk.5FCUOZSU.js +7 -0
  48. package/dist/esm/chunks/{chunk.7ABZUBTT.js.map → chunk.5FCUOZSU.js.map} +1 -1
  49. package/dist/esm/chunks/chunk.5KYKGNGY.js +7 -0
  50. package/dist/esm/chunks/{chunk.4B5IOZAT.js.map → chunk.5KYKGNGY.js.map} +1 -1
  51. package/dist/esm/chunks/chunk.5QZPUOGG.js +7 -0
  52. package/dist/esm/chunks/{chunk.6Q3SV2R2.js.map → chunk.5QZPUOGG.js.map} +1 -1
  53. package/dist/esm/chunks/chunk.5ZMM75CJ.js +7 -0
  54. package/dist/esm/chunks/{chunk.MZZJY5NX.js.map → chunk.5ZMM75CJ.js.map} +1 -1
  55. package/dist/esm/chunks/chunk.6FUXTHO6.js +7 -0
  56. package/dist/esm/chunks/{chunk.KLPF4CNX.js.map → chunk.6FUXTHO6.js.map} +1 -1
  57. package/dist/esm/chunks/chunk.6ORVPXNN.js +7 -0
  58. package/dist/esm/chunks/{chunk.4QDN5PM6.js.map → chunk.6ORVPXNN.js.map} +1 -1
  59. package/dist/esm/chunks/chunk.6ZJIHOIG.js +7 -0
  60. package/dist/esm/chunks/chunk.6ZJIHOIG.js.map +7 -0
  61. package/dist/esm/chunks/chunk.7LOMI6J3.js +7 -0
  62. package/dist/esm/chunks/chunk.7PVVZC7P.js +7 -0
  63. package/dist/esm/chunks/chunk.7PVVZC7P.js.map +7 -0
  64. package/dist/esm/chunks/chunk.AEO2X5OZ.js +7 -0
  65. package/dist/esm/chunks/{chunk.7DHDFH5L.js.map → chunk.AEO2X5OZ.js.map} +1 -1
  66. package/dist/esm/chunks/chunk.AIPDMLJD.js +7 -0
  67. package/dist/esm/chunks/{chunk.Z7PBGV4K.js.map → chunk.AIPDMLJD.js.map} +1 -1
  68. package/dist/esm/chunks/chunk.APFDK6YA.js +7 -0
  69. package/dist/esm/chunks/{chunk.2YDKRTKP.js.map → chunk.APFDK6YA.js.map} +1 -1
  70. package/dist/esm/chunks/{chunk.57PXXJA6.js → chunk.AR6YUJUH.js} +2 -2
  71. package/dist/esm/chunks/chunk.AVRBHXDT.js +177 -0
  72. package/dist/esm/chunks/{chunk.TZFUKJ24.js.map → chunk.AVRBHXDT.js.map} +1 -1
  73. package/dist/esm/chunks/chunk.BAQYPAUM.js +7 -0
  74. package/dist/esm/chunks/{chunk.HHHBS6FB.js → chunk.BC7WB5RG.js} +2 -2
  75. package/dist/esm/chunks/chunk.BIVQ4GTK.js +7 -0
  76. package/dist/esm/chunks/{chunk.XDANTL6C.js.map → chunk.BIVQ4GTK.js.map} +2 -2
  77. package/dist/esm/chunks/chunk.BJD6BKGC.js +31 -0
  78. package/dist/esm/chunks/chunk.BJD6BKGC.js.map +7 -0
  79. package/dist/esm/chunks/chunk.BS73Y6IN.js +7 -0
  80. package/dist/esm/chunks/{chunk.QFY23EWU.js.map → chunk.BS73Y6IN.js.map} +1 -1
  81. package/dist/esm/chunks/chunk.BTWJPE4Y.js +7 -0
  82. package/dist/esm/chunks/{chunk.C5IB44HX.js.map → chunk.BTWJPE4Y.js.map} +1 -1
  83. package/dist/esm/chunks/chunk.BWGDZUJV.js +12 -0
  84. package/dist/esm/chunks/chunk.BWGDZUJV.js.map +7 -0
  85. package/dist/esm/chunks/{chunk.7XFU2W25.js → chunk.BX4AQRHB.js} +2 -2
  86. package/dist/esm/chunks/{chunk.7XFU2W25.js.map → chunk.BX4AQRHB.js.map} +3 -3
  87. package/dist/esm/chunks/chunk.CBY7M4X6.js +7 -0
  88. package/dist/esm/chunks/{chunk.LMIKNDBS.js.map → chunk.CBY7M4X6.js.map} +1 -1
  89. package/dist/esm/chunks/chunk.DLBAZD5X.js +7 -0
  90. package/dist/esm/chunks/{chunk.5VHUMZYS.js.map → chunk.DLBAZD5X.js.map} +1 -1
  91. package/dist/esm/chunks/chunk.DTWXICOY.js +7 -0
  92. package/dist/esm/chunks/{chunk.2GJ54C3Q.js.map → chunk.DTWXICOY.js.map} +1 -1
  93. package/dist/esm/chunks/{chunk.VD5ZL5ZN.js → chunk.EMCY55MX.js} +2 -2
  94. package/dist/esm/chunks/chunk.ESQWFHCF.js +7 -0
  95. package/dist/esm/chunks/{chunk.Q5Z6F3PI.js.map → chunk.ESQWFHCF.js.map} +1 -1
  96. package/dist/esm/chunks/{chunk.FYWPZFLJ.js → chunk.EWT2PBEP.js} +2 -2
  97. package/dist/esm/chunks/{chunk.FYWPZFLJ.js.map → chunk.EWT2PBEP.js.map} +2 -2
  98. package/dist/esm/chunks/chunk.FJ5VNWYK.js +7 -0
  99. package/dist/esm/chunks/{chunk.XNCBGWE4.js.map → chunk.FJ5VNWYK.js.map} +1 -1
  100. package/dist/esm/chunks/chunk.FJRCWWE2.js +7 -0
  101. package/dist/esm/chunks/chunk.FJRCWWE2.js.map +7 -0
  102. package/dist/esm/chunks/chunk.FQUZWINF.js +7 -0
  103. package/dist/esm/chunks/{chunk.F6KM5FO6.js.map → chunk.FQUZWINF.js.map} +1 -1
  104. package/dist/esm/chunks/chunk.FSILMO6U.js +7 -0
  105. package/dist/esm/chunks/{chunk.7PP6QHOM.js.map → chunk.FSILMO6U.js.map} +1 -1
  106. package/dist/esm/chunks/chunk.FXGY5IVK.js +7 -0
  107. package/dist/esm/chunks/chunk.FXGY5IVK.js.map +7 -0
  108. package/dist/esm/chunks/chunk.G67LO74A.js +7 -0
  109. package/dist/esm/chunks/chunk.G67LO74A.js.map +7 -0
  110. package/dist/esm/chunks/chunk.GGQL3OZB.js +7 -0
  111. package/dist/esm/chunks/{chunk.BFUGFHEH.js.map → chunk.GGQL3OZB.js.map} +1 -1
  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.I7OY43HW.js +7 -0
  115. package/dist/esm/chunks/{chunk.KFDYMENL.js.map → chunk.I7OY43HW.js.map} +1 -1
  116. package/dist/esm/chunks/{chunk.E3GVKR4E.js → chunk.I7X25KEB.js} +2 -2
  117. package/dist/esm/chunks/chunk.ICIGXLJW.js +7 -0
  118. package/dist/esm/chunks/{chunk.W324TWF2.js.map → chunk.ICIGXLJW.js.map} +1 -1
  119. package/dist/esm/chunks/chunk.IHIKIZIT.js +7 -0
  120. package/dist/esm/chunks/chunk.ILUXZNGY.js +7 -0
  121. package/dist/esm/chunks/{chunk.SNF35Y6C.js.map → chunk.ILUXZNGY.js.map} +1 -1
  122. package/dist/esm/chunks/chunk.JEZR25US.js +7 -0
  123. package/dist/esm/chunks/{chunk.THWSN3X4.js.map → chunk.JEZR25US.js.map} +1 -1
  124. package/dist/esm/chunks/{chunk.2GYZM6ZG.js → chunk.JHELTQKA.js} +2 -2
  125. package/dist/esm/chunks/{chunk.UWZWXNTW.js → chunk.JPI4XCQL.js} +2 -2
  126. package/dist/esm/chunks/chunk.JRSFCVYQ.js +7 -0
  127. package/dist/esm/chunks/{chunk.WQGPIOL6.js.map → chunk.JRSFCVYQ.js.map} +1 -1
  128. package/dist/esm/chunks/chunk.JZ27GPZJ.js +7 -0
  129. package/dist/esm/chunks/{chunk.J3B5CWKT.js.map → chunk.JZ27GPZJ.js.map} +1 -1
  130. package/dist/esm/chunks/chunk.K3TJMIKD.js +7 -0
  131. package/dist/esm/chunks/{chunk.LCNR2RPT.js.map → chunk.K3TJMIKD.js.map} +1 -1
  132. package/dist/esm/chunks/{chunk.26E4L52W.js → chunk.KDJZN6EW.js} +2 -2
  133. package/dist/esm/chunks/chunk.KGHABAFA.js +7 -0
  134. package/dist/esm/chunks/{chunk.GS72TBUD.js.map → chunk.KGHABAFA.js.map} +1 -1
  135. package/dist/esm/chunks/chunk.KR4BNI6X.js +7 -0
  136. package/dist/esm/chunks/{chunk.VDZ7HBKM.js.map → chunk.KR4BNI6X.js.map} +1 -1
  137. package/dist/esm/chunks/chunk.KUNIEX72.js +7 -0
  138. package/dist/esm/chunks/{chunk.H7GW57Q6.js.map → chunk.KUNIEX72.js.map} +1 -1
  139. package/dist/esm/chunks/{chunk.5C24LZNU.js → chunk.KWBYYSH3.js} +2 -2
  140. package/dist/esm/chunks/chunk.L27ANAIL.js +7 -0
  141. package/dist/esm/chunks/{chunk.3ZRQFXQU.js.map → chunk.L27ANAIL.js.map} +1 -1
  142. package/dist/esm/chunks/{chunk.DDXIHZFX.js → chunk.L45HXBDS.js} +2 -2
  143. package/dist/esm/chunks/chunk.L4UXWCVD.js +7 -0
  144. package/dist/esm/chunks/{chunk.5H4G6BWX.js.map → chunk.L4UXWCVD.js.map} +1 -1
  145. package/dist/esm/chunks/chunk.LK6QHLW2.js +7 -0
  146. package/dist/esm/chunks/{chunk.P7LC3YYW.js.map → chunk.LK6QHLW2.js.map} +1 -1
  147. package/dist/esm/chunks/chunk.LYZXJYTW.js +7 -0
  148. package/dist/esm/chunks/{chunk.OED5UCYT.js.map → chunk.LYZXJYTW.js.map} +1 -1
  149. package/dist/esm/chunks/chunk.LZ2YQYJA.js +7 -0
  150. package/dist/esm/chunks/chunk.LZ2YQYJA.js.map +7 -0
  151. package/dist/esm/chunks/chunk.M7RYU4HQ.js +7 -0
  152. package/dist/esm/chunks/chunk.M7RYU4HQ.js.map +7 -0
  153. package/dist/esm/chunks/{chunk.NZKIFXBU.js → chunk.MHH26REX.js} +2 -2
  154. package/dist/esm/chunks/chunk.MROUV35N.js +7 -0
  155. package/dist/esm/chunks/{chunk.U5WMRBSC.js.map → chunk.MROUV35N.js.map} +1 -1
  156. package/dist/esm/chunks/chunk.MTSWCXTY.js +7 -0
  157. package/dist/esm/chunks/chunk.NBLL7VAA.js +7 -0
  158. package/dist/esm/chunks/chunk.NM7FJISF.js +7 -0
  159. package/dist/esm/chunks/chunk.NM7FJISF.js.map +7 -0
  160. package/dist/esm/chunks/chunk.NVR6KN2B.js +7 -0
  161. package/dist/esm/chunks/{chunk.B46Q3AFP.js.map → chunk.NVR6KN2B.js.map} +1 -1
  162. package/dist/esm/chunks/chunk.O6F4U4VY.js +7 -0
  163. package/dist/esm/chunks/{chunk.IEB5KRFQ.js.map → chunk.O6F4U4VY.js.map} +1 -1
  164. package/dist/esm/chunks/chunk.O6MGA3XK.js +7 -0
  165. package/dist/esm/chunks/chunk.ONII3BV3.js +7 -0
  166. package/dist/esm/chunks/{chunk.TLFCQSJN.js.map → chunk.ONII3BV3.js.map} +1 -1
  167. package/dist/esm/chunks/chunk.OTUEB7SD.js +7 -0
  168. package/dist/esm/chunks/{chunk.G2BNY5QQ.js.map → chunk.OTUEB7SD.js.map} +1 -1
  169. package/dist/esm/chunks/{chunk.PADPL4L3.js → chunk.OUIWXKO2.js} +2 -2
  170. package/dist/esm/chunks/chunk.PMSCH6VK.js +7 -0
  171. package/dist/esm/chunks/{chunk.3UO6S3IK.js.map → chunk.PMSCH6VK.js.map} +1 -1
  172. package/dist/esm/chunks/chunk.PRJHBUU2.js +7 -0
  173. package/dist/esm/chunks/chunk.PRJHBUU2.js.map +7 -0
  174. package/dist/esm/chunks/chunk.Q2Q626DG.js +7 -0
  175. package/dist/esm/chunks/{chunk.NG6UZ4OL.js.map → chunk.Q2Q626DG.js.map} +1 -1
  176. package/dist/esm/chunks/chunk.Q4YL47ZL.js +7 -0
  177. package/dist/esm/chunks/{chunk.IVUK3W34.js.map → chunk.Q4YL47ZL.js.map} +1 -1
  178. package/dist/esm/chunks/chunk.Q54DACHS.js +7 -0
  179. package/dist/esm/chunks/{chunk.PSTGTQVK.js.map → chunk.Q54DACHS.js.map} +1 -1
  180. package/dist/esm/chunks/chunk.Q74SG6BV.js +7 -0
  181. package/dist/esm/chunks/{chunk.DTKFE7YB.js.map → chunk.Q74SG6BV.js.map} +1 -1
  182. package/dist/esm/chunks/chunk.QG5EYBS3.js +7 -0
  183. package/dist/esm/chunks/chunk.QG5EYBS3.js.map +7 -0
  184. package/dist/esm/chunks/chunk.QGMWM7IT.js +7 -0
  185. package/dist/esm/chunks/{chunk.CNRFOWHY.js.map → chunk.QGMWM7IT.js.map} +1 -1
  186. package/dist/esm/chunks/chunk.RCPUTZON.js +7 -0
  187. package/dist/esm/chunks/{chunk.FQSL747N.js.map → chunk.RCPUTZON.js.map} +1 -1
  188. package/dist/esm/chunks/chunk.SBKKBQDX.js +7 -0
  189. package/dist/esm/chunks/{chunk.6Y45DLA6.js.map → chunk.SBKKBQDX.js.map} +1 -1
  190. package/dist/esm/chunks/chunk.SVVF632P.js +7 -0
  191. package/dist/esm/chunks/chunk.SVVF632P.js.map +7 -0
  192. package/dist/esm/chunks/chunk.T4J66YX5.js +7 -0
  193. package/dist/esm/chunks/chunk.T4J66YX5.js.map +7 -0
  194. package/dist/esm/chunks/chunk.THNCYT3E.js +7 -0
  195. package/dist/esm/chunks/{chunk.OUACQISE.js.map → chunk.THNCYT3E.js.map} +2 -2
  196. package/dist/esm/chunks/chunk.TPXXHX5J.js +7 -0
  197. package/dist/esm/chunks/{chunk.JAWV5Y5T.js.map → chunk.TPXXHX5J.js.map} +2 -2
  198. package/dist/esm/chunks/chunk.TSUAFZGY.js +7 -0
  199. package/dist/esm/chunks/{chunk.L4Y4RO5O.js.map → chunk.TSUAFZGY.js.map} +1 -1
  200. package/dist/esm/chunks/chunk.U42I3PGF.js +7 -0
  201. package/dist/esm/chunks/chunk.U42I3PGF.js.map +7 -0
  202. package/dist/esm/chunks/{chunk.GHR7T6U2.js → chunk.U7S4DJTU.js} +2 -2
  203. package/dist/esm/chunks/chunk.UOEJCU6R.js +7 -0
  204. package/dist/esm/chunks/{chunk.PK7R6WDF.js.map → chunk.UOEJCU6R.js.map} +1 -1
  205. package/dist/esm/chunks/{chunk.543K5Y4E.js → chunk.URKQICJD.js} +2 -2
  206. package/dist/esm/chunks/chunk.VG452D3L.js +7 -0
  207. package/dist/esm/chunks/{chunk.A72W7RW7.js.map → chunk.VG452D3L.js.map} +1 -1
  208. package/dist/esm/chunks/chunk.VQPSP4HV.js +7 -0
  209. package/dist/esm/chunks/{chunk.LSNAGIIH.js.map → chunk.VQPSP4HV.js.map} +1 -1
  210. package/dist/esm/chunks/chunk.W7BP2DDU.js +7 -0
  211. package/dist/esm/chunks/{chunk.URCJO73M.js.map → chunk.W7BP2DDU.js.map} +1 -1
  212. package/dist/esm/chunks/chunk.WARVAVAW.js +7 -0
  213. package/dist/esm/chunks/{chunk.BMQYEYCT.js.map → chunk.WARVAVAW.js.map} +1 -1
  214. package/dist/esm/chunks/chunk.WEHQUUXJ.js +7 -0
  215. package/dist/esm/chunks/{chunk.GT3VPSXY.js.map → chunk.WEHQUUXJ.js.map} +1 -1
  216. package/dist/esm/chunks/chunk.WJCZJ6XD.js +7 -0
  217. package/dist/esm/chunks/{chunk.GWJ4QCSW.js.map → chunk.WJCZJ6XD.js.map} +1 -1
  218. package/dist/esm/chunks/{chunk.DD35U4AA.js → chunk.WMP2OLMG.js} +2 -2
  219. package/dist/esm/chunks/chunk.X3QZY7V4.js +7 -0
  220. package/dist/esm/chunks/{chunk.7W2UWAZX.js.map → chunk.X3QZY7V4.js.map} +1 -1
  221. package/dist/esm/chunks/chunk.XQLQ73NG.js +7 -0
  222. package/dist/esm/chunks/{chunk.Z2RB75TN.js.map → chunk.XQLQ73NG.js.map} +1 -1
  223. package/dist/esm/chunks/chunk.Y4ZS3A6F.js +7 -0
  224. package/dist/esm/chunks/{chunk.KTYYBWTN.js.map → chunk.Y4ZS3A6F.js.map} +1 -1
  225. package/dist/esm/chunks/chunk.YA5OQD37.js +7 -0
  226. package/dist/esm/chunks/{chunk.JVK64JDZ.js.map → chunk.YA5OQD37.js.map} +1 -1
  227. package/dist/esm/chunks/chunk.YMSX4F3J.js +7 -0
  228. package/dist/esm/chunks/{chunk.RYNQDXFA.js.map → chunk.YMSX4F3J.js.map} +1 -1
  229. package/dist/esm/chunks/{chunk.KVCDAZ6B.js → chunk.YTBNAGLS.js} +2 -2
  230. package/dist/esm/chunks/chunk.Z37CZMMR.js +7 -0
  231. package/dist/esm/chunks/{chunk.RZZBM3AW.js.map → chunk.Z37CZMMR.js.map} +1 -1
  232. package/dist/esm/chunks/chunk.ZIRA4PYV.js +7 -0
  233. package/dist/esm/chunks/chunk.ZIRA4PYV.js.map +7 -0
  234. package/dist/esm/chunks/chunk.ZT7U7WOX.js +7 -0
  235. package/dist/esm/chunks/{chunk.YKZ25J6B.js.map → chunk.ZT7U7WOX.js.map} +1 -1
  236. package/dist/esm/chunks/{chunk.FB6ZLH6P.js → chunk.ZX3CGET2.js} +2 -2
  237. package/dist/esm/circular-progress/index.js +1 -1
  238. package/dist/esm/color-picker/index.js +1 -1
  239. package/dist/esm/core/base/index.js +1 -1
  240. package/dist/esm/core/delegates/index.js +1 -1
  241. package/dist/esm/core/index.js +1 -1
  242. package/dist/esm/core/utils/index.js +1 -1
  243. package/dist/esm/date-picker/index.js +1 -1
  244. package/dist/esm/date-range-picker/index.js +1 -1
  245. package/dist/esm/dialog/index.js +1 -1
  246. package/dist/esm/divider/index.js +1 -1
  247. package/dist/esm/drawer/base/index.js +1 -1
  248. package/dist/esm/drawer/drawer/index.js +1 -1
  249. package/dist/esm/drawer/index.js +1 -1
  250. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  251. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  252. package/dist/esm/expansion-panel/index.js +1 -1
  253. package/dist/esm/file-picker/index.js +1 -1
  254. package/dist/esm/floating-action-button/index.js +1 -1
  255. package/dist/esm/floating-label/index.js +1 -1
  256. package/dist/esm/focus-indicator/index.js +1 -1
  257. package/dist/esm/icon/index.js +1 -1
  258. package/dist/esm/icon-button/index.js +1 -1
  259. package/dist/esm/index.js +1 -1
  260. package/dist/esm/inline-message/index.js +1 -1
  261. package/dist/esm/keyboard-shortcut/index.js +1 -1
  262. package/dist/esm/label/index.js +1 -1
  263. package/dist/esm/label-value/index.js +1 -1
  264. package/dist/esm/linear-progress/index.js +1 -1
  265. package/dist/esm/list/index.js +1 -1
  266. package/dist/esm/list/list/index.js +1 -1
  267. package/dist/esm/list/list-item/index.js +1 -1
  268. package/dist/esm/list-dropdown/index.js +1 -1
  269. package/dist/esm/menu/index.js +1 -1
  270. package/dist/esm/open-icon/index.js +1 -1
  271. package/dist/esm/page-state/index.js +1 -1
  272. package/dist/esm/paginator/index.js +1 -1
  273. package/dist/esm/popup/index.js +1 -1
  274. package/dist/esm/product-icon/index.js +1 -1
  275. package/dist/esm/profile-card/index.js +1 -1
  276. package/dist/esm/quantity-field/index.js +1 -1
  277. package/dist/esm/radio/index.js +1 -1
  278. package/dist/esm/radio/radio/index.js +7 -0
  279. package/dist/esm/radio/radio/index.js.map +7 -0
  280. package/dist/esm/radio/radio-group/index.js +7 -0
  281. package/dist/esm/ripple/index.js +1 -1
  282. package/dist/esm/scaffold/index.js +1 -1
  283. package/dist/esm/select/core/index.js +1 -1
  284. package/dist/esm/select/index.js +1 -1
  285. package/dist/esm/select/option/index.js +1 -1
  286. package/dist/esm/select/option-group/index.js +1 -1
  287. package/dist/esm/select/select/index.js +1 -1
  288. package/dist/esm/select/select-dropdown/index.js +1 -1
  289. package/dist/esm/skeleton/index.js +1 -1
  290. package/dist/esm/slider/index.js +1 -1
  291. package/dist/esm/split-button/index.js +1 -1
  292. package/dist/esm/split-view/index.js +1 -1
  293. package/dist/esm/split-view/split-view/index.js +1 -1
  294. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  295. package/dist/esm/stack/index.js +1 -1
  296. package/dist/esm/state-layer/index.js +1 -1
  297. package/dist/esm/stepper/index.js +1 -1
  298. package/dist/esm/stepper/step/index.js +1 -1
  299. package/dist/esm/stepper/stepper/index.js +1 -1
  300. package/dist/esm/switch/index.js +1 -1
  301. package/dist/esm/table/index.js +1 -1
  302. package/dist/esm/tabs/index.js +1 -1
  303. package/dist/esm/tabs/tab/index.js +1 -1
  304. package/dist/esm/tabs/tab-bar/index.js +1 -1
  305. package/dist/esm/text-field/index.js +1 -1
  306. package/dist/esm/time-picker/index.js +1 -1
  307. package/dist/esm/toast/index.js +1 -1
  308. package/dist/esm/toolbar/index.js +1 -1
  309. package/dist/esm/tooltip/index.js +1 -1
  310. package/dist/esm/view-switcher/index.js +1 -1
  311. package/dist/esm/view-switcher/view/index.js +1 -1
  312. package/esm/app-bar/app-bar/app-bar.js +1 -1
  313. package/esm/app-bar/search/app-bar-search-adapter.d.ts +8 -43
  314. package/esm/app-bar/search/app-bar-search-adapter.js +23 -53
  315. package/esm/app-bar/search/app-bar-search-constants.d.ts +0 -15
  316. package/esm/app-bar/search/app-bar-search-constants.js +3 -20
  317. package/esm/app-bar/search/app-bar-search-foundation.d.ts +3 -37
  318. package/esm/app-bar/search/app-bar-search-foundation.js +27 -88
  319. package/esm/app-bar/search/app-bar-search.d.ts +1 -21
  320. package/esm/app-bar/search/app-bar-search.js +13 -39
  321. package/esm/button/base/base-button-adapter.d.ts +0 -2
  322. package/esm/button/base/base-button-adapter.js +13 -4
  323. package/esm/button/base/base-button-foundation.js +8 -10
  324. package/esm/button/base/base-button.d.ts +7 -5
  325. package/esm/button/base/base-button.js +5 -2
  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 +9 -1
  332. package/esm/constants.d.ts +14 -2
  333. package/esm/constants.js +11 -0
  334. package/esm/core/base/base-adapter.d.ts +4 -0
  335. package/esm/core/base/base-adapter.js +6 -0
  336. package/esm/core/base/base-component.d.ts +4 -0
  337. package/esm/core/base/base-element-internals-component.d.ts +41 -0
  338. package/esm/core/base/base-element-internals-component.js +47 -0
  339. package/esm/core/base/base-focusable-component.d.ts +11 -14
  340. package/esm/core/base/base-focusable-component.js +14 -15
  341. package/esm/core/base/base-form-associated-component.d.ts +122 -0
  342. package/esm/core/base/base-form-associated-component.js +71 -0
  343. package/esm/core/base/base-form-component.d.ts +0 -10
  344. package/esm/core/base/base-form-component.js +0 -6
  345. package/esm/core/base/base-label-aware-component.d.ts +33 -0
  346. package/esm/core/base/base-label-aware-component.js +17 -0
  347. package/esm/core/base/base-nullable-form-component.d.ts +0 -10
  348. package/esm/core/base/base-nullable-form-component.js +0 -6
  349. package/esm/core/base/index.d.ts +4 -0
  350. package/esm/core/base/index.js +4 -0
  351. package/esm/core/utils/a11y-utils.d.ts +156 -0
  352. package/esm/core/utils/a11y-utils.js +223 -0
  353. package/esm/core/utils/event-utils.d.ts +1 -0
  354. package/esm/core/utils/event-utils.js +3 -0
  355. package/esm/core/utils/feature-detection.d.ts +8 -0
  356. package/esm/core/utils/feature-detection.js +12 -0
  357. package/esm/core/utils/form-utils.d.ts +24 -0
  358. package/{dist/esm/chunks/chunk.U6FJJGO3.js → esm/core/utils/form-utils.js} +1 -1
  359. package/esm/core/utils/index.d.ts +1 -0
  360. package/esm/core/utils/index.js +1 -0
  361. package/esm/core/utils/mixin-utils.d.ts +20 -0
  362. package/esm/core/utils/mixin-utils.js +15 -0
  363. package/esm/core/utils/reflect-utils.d.ts +1 -1
  364. package/esm/core/utils/reflect-utils.js +2 -2
  365. package/esm/date-picker/base/base-date-picker.d.ts +1 -1
  366. package/esm/date-picker/base/base-date-picker.js +4 -3
  367. package/esm/index.d.ts +4 -4
  368. package/esm/index.js +29 -28
  369. package/esm/label/label-adapter.d.ts +2 -0
  370. package/esm/label/label-adapter.js +5 -2
  371. package/esm/label/label-aware.js +2 -1
  372. package/esm/label/label-constants.d.ts +6 -2
  373. package/esm/label/label-constants.js +12 -5
  374. package/esm/label/label-foundation.d.ts +16 -0
  375. package/esm/label/label-foundation.js +69 -6
  376. package/esm/label/label.d.ts +8 -0
  377. package/esm/label/label.js +21 -3
  378. package/esm/menu/menu-adapter.d.ts +3 -3
  379. package/esm/menu/menu-constants.d.ts +1 -1
  380. package/esm/menu/menu-foundation.d.ts +1 -0
  381. package/esm/menu/menu-foundation.js +11 -4
  382. package/esm/paginator/paginator-constants.d.ts +9 -0
  383. package/esm/paginator/paginator-foundation.d.ts +5 -2
  384. package/esm/paginator/paginator-foundation.js +29 -8
  385. package/esm/paginator/paginator.d.ts +3 -1
  386. package/esm/paginator/paginator.js +3 -0
  387. package/esm/radio/core/radio-group-manager.d.ts +83 -0
  388. package/esm/radio/core/radio-group-manager.js +201 -0
  389. package/esm/radio/index.d.ts +1 -2
  390. package/esm/radio/index.js +1 -6
  391. package/esm/radio/radio/index.d.ts +10 -0
  392. package/esm/radio/radio/index.js +14 -0
  393. package/esm/radio/radio/radio-adapter.d.ts +41 -0
  394. package/esm/radio/radio/radio-adapter.js +81 -0
  395. package/esm/radio/radio/radio-component-delegate.d.ts +5 -0
  396. package/esm/radio/radio/radio-component-delegate.js +6 -0
  397. package/esm/radio/radio/radio-constants.d.ts +39 -0
  398. package/esm/radio/radio/radio-constants.js +53 -0
  399. package/esm/radio/radio/radio-foundation.d.ts +70 -0
  400. package/esm/radio/radio/radio-foundation.js +199 -0
  401. package/esm/radio/radio/radio.d.ts +110 -0
  402. package/esm/radio/radio/radio.js +202 -0
  403. package/esm/radio/radio-group/index.d.ts +10 -0
  404. package/esm/radio/radio-group/index.js +14 -0
  405. package/esm/radio/radio-group/radio-group-adapter.d.ts +18 -0
  406. package/esm/radio/radio-group/radio-group-adapter.js +28 -0
  407. package/esm/radio/radio-group/radio-group-constants.d.ts +13 -0
  408. package/esm/radio/radio-group/radio-group-constants.js +19 -0
  409. package/esm/radio/radio-group/radio-group-foundation.d.ts +20 -0
  410. package/esm/radio/radio-group/radio-group-foundation.js +32 -0
  411. package/esm/radio/radio-group/radio-group.d.ts +44 -0
  412. package/esm/radio/radio-group/radio-group.js +81 -0
  413. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  414. package/package.json +1 -1
  415. package/styles/app-bar/app-bar/_core.scss +4 -0
  416. package/styles/app-bar/app-bar/app-bar.scss +15 -1
  417. package/styles/app-bar/search/_configuration.scss +10 -0
  418. package/styles/app-bar/search/_core.scss +73 -0
  419. package/styles/app-bar/search/_token-utils.scss +30 -0
  420. package/styles/app-bar/search/app-bar-search.scss +51 -4
  421. package/styles/app-bar/search/index.scss +8 -0
  422. package/styles/button/button.scss +9 -0
  423. package/styles/core/styles/tokens/app-bar/search/_tokens.scss +35 -0
  424. package/styles/core/styles/tokens/radio/_tokens.scss +66 -0
  425. package/styles/label/_core.scss +2 -5
  426. package/styles/label/label.scss +1 -5
  427. package/styles/radio/index.scss +6 -0
  428. package/styles/radio/radio/_configuration.scss +10 -0
  429. package/styles/radio/radio/_core.scss +123 -0
  430. package/styles/radio/radio/_token-utils.scss +30 -0
  431. package/styles/radio/radio/index.scss +8 -0
  432. package/styles/radio/radio/radio.scss +102 -0
  433. package/styles/switch/_core.scss +6 -0
  434. package/dist/esm/chunks/chunk.2GJ54C3Q.js +0 -7
  435. package/dist/esm/chunks/chunk.2YDKRTKP.js +0 -7
  436. package/dist/esm/chunks/chunk.3JCHXLPT.js +0 -7
  437. package/dist/esm/chunks/chunk.3JCHXLPT.js.map +0 -7
  438. package/dist/esm/chunks/chunk.3RMBFRGC.js +0 -7
  439. package/dist/esm/chunks/chunk.3RMBFRGC.js.map +0 -7
  440. package/dist/esm/chunks/chunk.3UO6S3IK.js +0 -7
  441. package/dist/esm/chunks/chunk.3ZRQFXQU.js +0 -7
  442. package/dist/esm/chunks/chunk.4B5IOZAT.js +0 -7
  443. package/dist/esm/chunks/chunk.4QDN5PM6.js +0 -7
  444. package/dist/esm/chunks/chunk.5H4G6BWX.js +0 -7
  445. package/dist/esm/chunks/chunk.5VHUMZYS.js +0 -7
  446. package/dist/esm/chunks/chunk.6DXDNQUR.js +0 -15
  447. package/dist/esm/chunks/chunk.6DXDNQUR.js.map +0 -7
  448. package/dist/esm/chunks/chunk.6Q3SV2R2.js +0 -7
  449. package/dist/esm/chunks/chunk.6Y45DLA6.js +0 -7
  450. package/dist/esm/chunks/chunk.7ABZUBTT.js +0 -7
  451. package/dist/esm/chunks/chunk.7BGOH44S.js +0 -7
  452. package/dist/esm/chunks/chunk.7BGOH44S.js.map +0 -7
  453. package/dist/esm/chunks/chunk.7DHDFH5L.js +0 -7
  454. package/dist/esm/chunks/chunk.7PP6QHOM.js +0 -7
  455. package/dist/esm/chunks/chunk.7UXLLUTN.js +0 -7
  456. package/dist/esm/chunks/chunk.7W2UWAZX.js +0 -7
  457. package/dist/esm/chunks/chunk.A72W7RW7.js +0 -7
  458. package/dist/esm/chunks/chunk.AEJGC4YG.js +0 -7
  459. package/dist/esm/chunks/chunk.AEJGC4YG.js.map +0 -7
  460. package/dist/esm/chunks/chunk.B46Q3AFP.js +0 -7
  461. package/dist/esm/chunks/chunk.BFUGFHEH.js +0 -7
  462. package/dist/esm/chunks/chunk.BLW6QESQ.js +0 -12
  463. package/dist/esm/chunks/chunk.BLW6QESQ.js.map +0 -7
  464. package/dist/esm/chunks/chunk.BMQYEYCT.js +0 -7
  465. package/dist/esm/chunks/chunk.C5IB44HX.js +0 -7
  466. package/dist/esm/chunks/chunk.CNRFOWHY.js +0 -7
  467. package/dist/esm/chunks/chunk.DTKFE7YB.js +0 -7
  468. package/dist/esm/chunks/chunk.EBSBAFCX.js +0 -7
  469. package/dist/esm/chunks/chunk.EBSBAFCX.js.map +0 -7
  470. package/dist/esm/chunks/chunk.F2EBSV5Z.js +0 -7
  471. package/dist/esm/chunks/chunk.F6KM5FO6.js +0 -7
  472. package/dist/esm/chunks/chunk.FQSL747N.js +0 -7
  473. package/dist/esm/chunks/chunk.G2BNY5QQ.js +0 -7
  474. package/dist/esm/chunks/chunk.GS72TBUD.js +0 -7
  475. package/dist/esm/chunks/chunk.GT3VPSXY.js +0 -7
  476. package/dist/esm/chunks/chunk.GWJ4QCSW.js +0 -7
  477. package/dist/esm/chunks/chunk.H7GW57Q6.js +0 -7
  478. package/dist/esm/chunks/chunk.I3NHK2S3.js +0 -7
  479. package/dist/esm/chunks/chunk.IEB5KRFQ.js +0 -7
  480. package/dist/esm/chunks/chunk.IT66AOX7.js +0 -7
  481. package/dist/esm/chunks/chunk.IT66AOX7.js.map +0 -7
  482. package/dist/esm/chunks/chunk.IVUK3W34.js +0 -7
  483. package/dist/esm/chunks/chunk.IW7HALLT.js +0 -7
  484. package/dist/esm/chunks/chunk.J2KHTGSB.js +0 -7
  485. package/dist/esm/chunks/chunk.J3B5CWKT.js +0 -7
  486. package/dist/esm/chunks/chunk.JAWV5Y5T.js +0 -7
  487. package/dist/esm/chunks/chunk.JVK64JDZ.js +0 -7
  488. package/dist/esm/chunks/chunk.KFDYMENL.js +0 -7
  489. package/dist/esm/chunks/chunk.KLPF4CNX.js +0 -7
  490. package/dist/esm/chunks/chunk.KTYYBWTN.js +0 -7
  491. package/dist/esm/chunks/chunk.L4Y4RO5O.js +0 -7
  492. package/dist/esm/chunks/chunk.LCNR2RPT.js +0 -7
  493. package/dist/esm/chunks/chunk.LMIKNDBS.js +0 -7
  494. package/dist/esm/chunks/chunk.LOBKFTRM.js +0 -7
  495. package/dist/esm/chunks/chunk.LOBKFTRM.js.map +0 -7
  496. package/dist/esm/chunks/chunk.LS7WRRT2.js +0 -7
  497. package/dist/esm/chunks/chunk.LS7WRRT2.js.map +0 -7
  498. package/dist/esm/chunks/chunk.LSNAGIIH.js +0 -7
  499. package/dist/esm/chunks/chunk.LUIKMPQR.js +0 -7
  500. package/dist/esm/chunks/chunk.LUIKMPQR.js.map +0 -7
  501. package/dist/esm/chunks/chunk.LXX3YZYS.js +0 -7
  502. package/dist/esm/chunks/chunk.MZZJY5NX.js +0 -7
  503. package/dist/esm/chunks/chunk.NG6UZ4OL.js +0 -7
  504. package/dist/esm/chunks/chunk.NYYXUH3X.js +0 -7
  505. package/dist/esm/chunks/chunk.OED5UCYT.js +0 -7
  506. package/dist/esm/chunks/chunk.OUACQISE.js +0 -7
  507. package/dist/esm/chunks/chunk.OYO5O3NF.js +0 -7
  508. package/dist/esm/chunks/chunk.P7LC3YYW.js +0 -7
  509. package/dist/esm/chunks/chunk.PK7R6WDF.js +0 -7
  510. package/dist/esm/chunks/chunk.PQQVUUHU.js +0 -7
  511. package/dist/esm/chunks/chunk.PSTGTQVK.js +0 -7
  512. package/dist/esm/chunks/chunk.Q5Z6F3PI.js +0 -7
  513. package/dist/esm/chunks/chunk.QFY23EWU.js +0 -7
  514. package/dist/esm/chunks/chunk.RCSBJQ4G.js +0 -7
  515. package/dist/esm/chunks/chunk.RCSBJQ4G.js.map +0 -7
  516. package/dist/esm/chunks/chunk.RDW7Z4W5.js +0 -7
  517. package/dist/esm/chunks/chunk.RYNQDXFA.js +0 -7
  518. package/dist/esm/chunks/chunk.RZZBM3AW.js +0 -7
  519. package/dist/esm/chunks/chunk.SNF35Y6C.js +0 -7
  520. package/dist/esm/chunks/chunk.SOLF23NC.js +0 -7
  521. package/dist/esm/chunks/chunk.T34DG7BU.js +0 -7
  522. package/dist/esm/chunks/chunk.TA3MVDUU.js +0 -7
  523. package/dist/esm/chunks/chunk.TA3MVDUU.js.map +0 -7
  524. package/dist/esm/chunks/chunk.THWSN3X4.js +0 -7
  525. package/dist/esm/chunks/chunk.TLFCQSJN.js +0 -7
  526. package/dist/esm/chunks/chunk.TZFUKJ24.js +0 -177
  527. package/dist/esm/chunks/chunk.U5WMRBSC.js +0 -7
  528. package/dist/esm/chunks/chunk.URCJO73M.js +0 -7
  529. package/dist/esm/chunks/chunk.VDZ7HBKM.js +0 -7
  530. package/dist/esm/chunks/chunk.W324TWF2.js +0 -7
  531. package/dist/esm/chunks/chunk.WQGPIOL6.js +0 -7
  532. package/dist/esm/chunks/chunk.XDANTL6C.js +0 -7
  533. package/dist/esm/chunks/chunk.XNCBGWE4.js +0 -7
  534. package/dist/esm/chunks/chunk.YKZ25J6B.js +0 -7
  535. package/dist/esm/chunks/chunk.Z2RB75TN.js +0 -7
  536. package/dist/esm/chunks/chunk.Z7PBGV4K.js +0 -7
  537. package/dist/esm/chunks/chunk.ZSD7MMVB.js +0 -7
  538. package/dist/esm/chunks/chunk.ZSD7MMVB.js.map +0 -7
  539. package/dist/esm/chunks/chunk.ZVJMIBUM.js +0 -7
  540. package/dist/esm/chunks/chunk.ZVJMIBUM.js.map +0 -7
  541. package/esm/radio/radio-adapter.d.ts +0 -71
  542. package/esm/radio/radio-adapter.js +0 -260
  543. package/esm/radio/radio-constants.d.ts +0 -30
  544. package/esm/radio/radio-constants.js +0 -36
  545. package/esm/radio/radio-foundation.d.ts +0 -31
  546. package/esm/radio/radio-foundation.js +0 -80
  547. package/esm/radio/radio.d.ts +0 -33
  548. package/esm/radio/radio.js +0 -75
  549. package/styles/app-bar/search/_mixins.scss +0 -238
  550. package/styles/app-bar/search/_variables.scss +0 -18
  551. package/styles/radio/_mixins.scss +0 -309
  552. package/styles/radio/_radio-theme.scss +0 -314
  553. package/styles/radio/radio.scss +0 -19
  554. /package/dist/esm/chunks/{chunk.DOEG3DWJ.js.map → chunk.42YDA5FH.js.map} +0 -0
  555. /package/dist/esm/chunks/{chunk.CTZ3AWDW.js.map → chunk.5EGEZ4IY.js.map} +0 -0
  556. /package/dist/esm/chunks/{chunk.SOLF23NC.js.map → chunk.7LOMI6J3.js.map} +0 -0
  557. /package/dist/esm/chunks/{chunk.57PXXJA6.js.map → chunk.AR6YUJUH.js.map} +0 -0
  558. /package/dist/esm/chunks/{chunk.I3NHK2S3.js.map → chunk.BAQYPAUM.js.map} +0 -0
  559. /package/dist/esm/chunks/{chunk.HHHBS6FB.js.map → chunk.BC7WB5RG.js.map} +0 -0
  560. /package/dist/esm/chunks/{chunk.VD5ZL5ZN.js.map → chunk.EMCY55MX.js.map} +0 -0
  561. /package/dist/esm/chunks/{chunk.E3GVKR4E.js.map → chunk.I7X25KEB.js.map} +0 -0
  562. /package/dist/esm/chunks/{chunk.OYO5O3NF.js.map → chunk.IHIKIZIT.js.map} +0 -0
  563. /package/dist/esm/chunks/{chunk.2GYZM6ZG.js.map → chunk.JHELTQKA.js.map} +0 -0
  564. /package/dist/esm/chunks/{chunk.UWZWXNTW.js.map → chunk.JPI4XCQL.js.map} +0 -0
  565. /package/dist/esm/chunks/{chunk.26E4L52W.js.map → chunk.KDJZN6EW.js.map} +0 -0
  566. /package/dist/esm/chunks/{chunk.5C24LZNU.js.map → chunk.KWBYYSH3.js.map} +0 -0
  567. /package/dist/esm/chunks/{chunk.DDXIHZFX.js.map → chunk.L45HXBDS.js.map} +0 -0
  568. /package/dist/esm/chunks/{chunk.NZKIFXBU.js.map → chunk.MHH26REX.js.map} +0 -0
  569. /package/dist/esm/chunks/{chunk.NYYXUH3X.js.map → chunk.MTSWCXTY.js.map} +0 -0
  570. /package/dist/esm/chunks/{chunk.7UXLLUTN.js.map → chunk.NBLL7VAA.js.map} +0 -0
  571. /package/dist/esm/chunks/{chunk.T34DG7BU.js.map → chunk.O6MGA3XK.js.map} +0 -0
  572. /package/dist/esm/chunks/{chunk.PADPL4L3.js.map → chunk.OUIWXKO2.js.map} +0 -0
  573. /package/dist/esm/chunks/{chunk.GHR7T6U2.js.map → chunk.U7S4DJTU.js.map} +0 -0
  574. /package/dist/esm/chunks/{chunk.543K5Y4E.js.map → chunk.URKQICJD.js.map} +0 -0
  575. /package/dist/esm/chunks/{chunk.DD35U4AA.js.map → chunk.WMP2OLMG.js.map} +0 -0
  576. /package/dist/esm/chunks/{chunk.KVCDAZ6B.js.map → chunk.YTBNAGLS.js.map} +0 -0
  577. /package/dist/esm/chunks/{chunk.FB6ZLH6P.js.map → chunk.ZX3CGET2.js.map} +0 -0
  578. /package/dist/esm/{chunks/chunk.U6FJJGO3.js.map → radio/radio-group/index.js.map} +0 -0
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/button-toggle/button-toggle-group/button-toggle-group-constants.ts", "../../src/button-toggle/button-toggle-group/button-toggle-group-adapter.ts", "../../src/button-toggle/button-toggle-group/button-toggle-group-foundation.ts", "../../src/button-toggle/button-toggle-group/button-toggle-group.ts", "../../src/button-toggle/button-toggle-group/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}button-toggle-group`;\n\nconst attributes = {\n VALUE: 'value',\n MULTIPLE: 'multiple',\n MANDATORY: 'mandatory',\n VERTICAL: 'vertical',\n STRETCH: 'stretch',\n DISABLED: 'disabled',\n DENSE: 'dense'\n};\n\nconst classes = {\n VERTICAL: 'forge-button-toggle-group--vertical',\n STRETCH: 'forge-button-toggle-group--stretch'\n};\n\nconst selectors = {\n ROOT: '.forge-button-toggle-group'\n};\n\nconst events = {\n CHANGE: `${elementName}-change`\n};\n\nexport const BUTTON_TOGGLE_GROUP_CONSTANTS = {\n elementName,\n attributes,\n classes,\n selectors,\n events\n};\n\nexport type IButtonToggleGroupChangeEventData<T = any> = T;\nexport type ButtonToggleIconType = 'font' | 'component';\n\nexport interface IButtonToggleOption {\n label?: string;\n icon?: string;\n value: any;\n leadingIcon?: string;\n leadingIconType?: ButtonToggleIconType;\n trailingIcon?: string;\n trailingIconType?: ButtonToggleIconType;\n}\n", "import { getShadowElement, removeAllChildren } from '@tylertech/forge-core';\nimport { ICON_CLASS_NAME } from '../../constants';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IButtonToggleComponent } from '../button-toggle/button-toggle';\nimport { BUTTON_TOGGLE_CONSTANTS } from '../button-toggle/button-toggle-constants';\nimport { IButtonToggleGroupComponent } from './button-toggle-group';\nimport { BUTTON_TOGGLE_GROUP_CONSTANTS, IButtonToggleOption } from './button-toggle-group-constants';\n\nexport interface IButtonToggleGroupAdapter extends IBaseAdapter {\n addListener(type: string, listener: (evt: Event) => void): void;\n removeListener(type: string, listener: (evt: Event) => void): void;\n addSlotChangeListener(listener: (evt: Event) => void): void;\n removeSlotChangeListener(listener: (evt: Event) => void): void;\n deselect(selectedToggle: IButtonToggleComponent): void;\n applyAdjacentSelections(isVertical: boolean): void;\n setVertical(isVertical: boolean): void;\n setStretch(value: boolean): void;\n setDense(value: boolean): void;\n setDisabled(value: boolean): void;\n getSelectedValues(): any[];\n applyValues(values: any[]): void;\n createOptions(options: IButtonToggleOption[]): void;\n}\n\nexport class ButtonToggleGroupAdapter extends BaseAdapter<IButtonToggleGroupComponent> implements IButtonToggleGroupAdapter {\n private _rootElement: HTMLElement;\n private _slotElement: HTMLSlotElement;\n\n constructor(component: IButtonToggleGroupComponent) {\n super(component);\n this._rootElement = getShadowElement(component, BUTTON_TOGGLE_GROUP_CONSTANTS.selectors.ROOT);\n this._slotElement = this._rootElement.querySelector('slot') as HTMLSlotElement;\n }\n\n public addListener(type: string, listener: (evt: Event) => void): void {\n this._rootElement.addEventListener(type, listener);\n }\n\n public removeListener(type: string, listener: (evt: Event) => void): void {\n this._rootElement.removeEventListener(type, listener);\n }\n\n public addSlotChangeListener(listener: EventListener): void {\n this._slotElement.addEventListener('slotchange', listener);\n }\n public removeSlotChangeListener(listener: EventListener): void {\n this._slotElement.addEventListener('slotchange', listener);\n }\n\n public deselect(selectedToggle: IButtonToggleComponent): void {\n const toggles = this._getButtonToggleElements();\n toggles.filter(t => t !== selectedToggle).forEach(t => t.selected = false);\n }\n\n public applyAdjacentSelections(isVertical: boolean): void {\n const toggles = this._getButtonToggleElements();\n for (let i = toggles.length - 1; i > 0; i--) {\n toggles[i].removeAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.SELECTED_ADJACENT);\n toggles[i].removeAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.SELECTED_ADJACENT_VERTICAL);\n if (toggles[i].selected && toggles[i - 1].selected) {\n const attr = isVertical ? BUTTON_TOGGLE_CONSTANTS.attributes.SELECTED_ADJACENT_VERTICAL : BUTTON_TOGGLE_CONSTANTS.attributes.SELECTED_ADJACENT;\n toggles[i].setAttribute(attr, '');\n }\n }\n }\n\n public setVertical(isVertical: boolean): void {\n if (isVertical) {\n this._rootElement.classList.add(BUTTON_TOGGLE_GROUP_CONSTANTS.classes.VERTICAL);\n } else {\n this._rootElement.classList.remove(BUTTON_TOGGLE_GROUP_CONSTANTS.classes.VERTICAL);\n }\n }\n\n public setStretch(value: boolean): void {\n if (value) {\n this._rootElement.classList.add(BUTTON_TOGGLE_GROUP_CONSTANTS.classes.STRETCH);\n } else {\n this._rootElement.classList.remove(BUTTON_TOGGLE_GROUP_CONSTANTS.classes.STRETCH);\n }\n\n const toggles = this._getButtonToggleElements();\n toggles.forEach(toggle => {\n if (value) {\n toggle.setAttribute('stretch', '');\n } else {\n toggle.removeAttribute('stretch');\n }\n });\n }\n\n public setDense(value: boolean): void {\n const toggles = this._getButtonToggleElements();\n toggles.forEach(t => t.dense = value);\n }\n\n public setDisabled(value: boolean): void {\n const toggles = this._getButtonToggleElements();\n toggles.forEach(t => t.disabled = value);\n }\n\n public getSelectedValues(): any[] {\n const toggles = this._getButtonToggleElements();\n return toggles.filter(t => t.selected).map(t => t.value);\n }\n\n public applyValues(values: any[]): void {\n const toggles = this._getButtonToggleElements();\n toggles.forEach(t => t.selected = values.indexOf(t.value) >= 0);\n }\n\n public createOptions(options: IButtonToggleOption[]): void {\n removeAllChildren(this._component);\n options.forEach(o => {\n this._component.appendChild(this._createButtonToggle(o));\n });\n }\n\n private _createButtonToggle(option: IButtonToggleOption): IButtonToggleComponent {\n const buttonToggle = document.createElement(BUTTON_TOGGLE_CONSTANTS.elementName) as IButtonToggleComponent;\n buttonToggle.value = option.value;\n\n if (option.label) {\n buttonToggle.textContent = option.label;\n } else if (option.icon) {\n const icon = document.createElement('i');\n icon.textContent = option.icon;\n icon.classList.add(ICON_CLASS_NAME);\n icon.setAttribute('aria-hidden', 'true');\n buttonToggle.appendChild(icon);\n }\n\n if (option.leadingIcon) {\n let leadingIcon;\n if (option.leadingIconType === 'component') {\n leadingIcon = document.createElement('forge-icon');\n leadingIcon.name = option.leadingIcon;\n } else {\n leadingIcon = document.createElement('i');\n leadingIcon.textContent = option.leadingIcon;\n leadingIcon.classList.add(ICON_CLASS_NAME);\n leadingIcon.setAttribute('aria-hidden', 'true');\n }\n leadingIcon.slot = 'leading';\n buttonToggle.appendChild(leadingIcon);\n }\n\n if (option.trailingIcon) {\n let trailingIcon;\n if (option.trailingIconType === 'component') {\n trailingIcon = document.createElement('forge-icon');\n trailingIcon.name = option.trailingIcon;\n } else {\n trailingIcon = document.createElement('i');\n trailingIcon.textContent = option.trailingIcon;\n trailingIcon.classList.add(ICON_CLASS_NAME);\n trailingIcon.setAttribute('aria-hidden', 'true');\n }\n trailingIcon.slot = 'trailing';\n buttonToggle.appendChild(trailingIcon);\n }\n\n return buttonToggle;\n }\n\n private _getButtonToggleElements(): IButtonToggleComponent[] {\n return Array.from(this._component.querySelectorAll(BUTTON_TOGGLE_CONSTANTS.elementName));\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IButtonToggleComponent } from '../button-toggle/button-toggle';\nimport { BUTTON_TOGGLE_CONSTANTS, IButtonToggleSelectEventData } from '../button-toggle/button-toggle-constants';\nimport { IButtonToggleGroupAdapter } from './button-toggle-group-adapter';\nimport { BUTTON_TOGGLE_GROUP_CONSTANTS, IButtonToggleOption } from './button-toggle-group-constants';\n\nexport interface IButtonToggleGroupFoundation extends ICustomElementFoundation {\n value: any;\n multiple: boolean;\n stretch: boolean;\n mandatory: boolean;\n vertical: boolean;\n dense: boolean;\n disabled: boolean;\n options: IButtonToggleOption[];\n}\n\nexport class ButtonToggleGroupFoundation implements IButtonToggleGroupFoundation {\n private _isInitialized = false;\n private _multiple = false;\n private _mandatory = false;\n private _vertical = false;\n private _stretch = false;\n private _dense = false;\n private _disabled = false;\n private _options: IButtonToggleOption[] = [];\n private _values: any[] = [];\n private _originalValue: any;\n private _selectListener: (evt: CustomEvent<IButtonToggleSelectEventData>) => void;\n private _slotListener: () => void;\n\n constructor(private _adapter: IButtonToggleGroupAdapter) {\n this._selectListener = evt => this._onSelect(evt);\n this._slotListener = () => this._synchronize();\n }\n\n public initialize(): void {\n if (this._options && this._options.length) {\n this._applyOptions(false);\n }\n\n this._adapter.addListener(BUTTON_TOGGLE_CONSTANTS.events.SELECT, this._selectListener);\n this._adapter.addSlotChangeListener(this._slotListener);\n this._adapter.setVertical(this._vertical);\n this._adapter.setStretch(this._stretch);\n this._adapter.setDense(this._dense);\n this._adapter.setDisabled(this._disabled);\n this._adapter.applyAdjacentSelections(this._vertical);\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._isInitialized = false;\n this._adapter.removeListener(BUTTON_TOGGLE_CONSTANTS.events.SELECT, this._selectListener);\n this._adapter.removeSlotChangeListener(this._slotListener);\n }\n\n private _synchronize(): void {\n if (!this._multiple) {\n const selectedValues = this._adapter.getSelectedValues().concat(this._values);\n this.value = selectedValues.length ? selectedValues[selectedValues.length - 1] : null;\n } else {\n const selectedValues = new Set(this._adapter.getSelectedValues().concat(this._values));\n this._applyValue(Array.from(selectedValues));\n }\n }\n\n private _onSelect(evt: CustomEvent<IButtonToggleSelectEventData>): void {\n const target = evt.target as IButtonToggleComponent;\n\n // When in mandatory mode we need to ensure at least one element is selected. If there are no selections\n // then we need to reselect the target toggle because it was deselected\n if (this._mandatory) {\n const values = this._adapter.getSelectedValues();\n if (!values.length) {\n target.selected = true;\n return;\n }\n }\n\n // When not in multiple mode, we deselect all toggles, except for the one that was just changed\n if (!this._multiple) {\n this._adapter.deselect(target);\n }\n\n this._adapter.applyAdjacentSelections(this._vertical);\n this._adapter.emitHostEvent(BUTTON_TOGGLE_GROUP_CONSTANTS.events.CHANGE, this._getValue());\n }\n\n private _getValue(): any {\n const selections = this._adapter.getSelectedValues();\n return this._multiple ? Array.from(new Set(selections)) : selections.slice(0, 1)[0] ?? null;\n }\n\n private _applyValue(value: any): void {\n let values = value instanceof Array ? value : [value];\n if (!this._multiple && values.length > 1) {\n values = values[0];\n }\n this._values = values;\n this._adapter.applyValues(values);\n if (this._multiple) {\n this._adapter.applyAdjacentSelections(this._vertical);\n }\n }\n\n private _applyOptions(init = true): void {\n if (this._options) {\n this._adapter.createOptions(this._options);\n\n if (init) {\n this._adapter.setStretch(this._stretch);\n this._adapter.setDense(this._dense);\n this._adapter.setDisabled(this._disabled);\n this._adapter.applyAdjacentSelections(this._vertical);\n }\n }\n }\n\n public get value(): any {\n if (!this._isInitialized) {\n return this._originalValue;\n }\n return this._getValue();\n }\n public set value(value: any) {\n this._originalValue = value;\n this._applyValue(value);\n }\n\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._adapter.setHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MULTIPLE, this._multiple as any);\n }\n }\n\n public get mandatory(): boolean {\n return this._mandatory;\n }\n public set mandatory(value: boolean) {\n if (this._mandatory !== value) {\n this._mandatory = value;\n if (this._mandatory) {\n this._adapter.setHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MANDATORY);\n } else {\n this._adapter.removeHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MANDATORY);\n }\n }\n }\n\n public get vertical(): boolean {\n return this._vertical;\n }\n public set vertical(value: boolean) {\n if (this._vertical !== value) {\n this._vertical = value;\n this._adapter.setVertical(this._vertical);\n this._adapter.applyAdjacentSelections(this._vertical);\n if (this._vertical) {\n this._adapter.setHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.VERTICAL);\n } else {\n this._adapter.removeHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.VERTICAL);\n }\n }\n }\n\n public get stretch(): boolean {\n return this._stretch;\n }\n public set stretch(value: boolean) {\n if (this._stretch !== value) {\n this._stretch = value;\n this._adapter.setStretch(this._stretch);\n if (this._stretch) {\n this._adapter.setHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.STRETCH);\n } else {\n this._adapter.removeHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.STRETCH);\n }\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n if (this._dense !== value) {\n this._dense = value;\n this._adapter.setDense(this._dense);\n if (this._dense) {\n this._adapter.setHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DENSE);\n } else {\n this._adapter.removeHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DENSE);\n }\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 if (this._disabled) {\n this._adapter.setHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DISABLED);\n } else {\n this._adapter.removeHostAttribute(BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DISABLED);\n }\n }\n }\n\n public get options(): IButtonToggleOption[] {\n return this._options.map(o => ({ ...o }));\n }\n public set options(value: IButtonToggleOption[]) {\n this._options = value.map(o => ({ ...o }));\n if (this._isInitialized) {\n this._applyOptions();\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { ButtonToggleComponent } from '../button-toggle/button-toggle';\nimport { ButtonToggleGroupAdapter } from './button-toggle-group-adapter';\nimport { BUTTON_TOGGLE_GROUP_CONSTANTS, IButtonToggleGroupChangeEventData, IButtonToggleOption } from './button-toggle-group-constants';\nimport { ButtonToggleGroupFoundation } from './button-toggle-group-foundation';\n\nconst template = '<template><div class=\\\"forge-button-toggle-group\\\" role=\\\"group\\\" aria-label=\\\"Button group\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-button-toggle-group{display:-webkit-box;display:flex}.forge-button-toggle-group ::slotted(:not(:last-child)){--forge-button-toggle-border-right-width:0;--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-right-radius:0}.forge-button-toggle-group ::slotted(:first-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-bottom-left-radius:4px}.forge-button-toggle-group ::slotted(:last-child){--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group--vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-button-toggle-group--vertical ::slotted(:not(:last-child)){--forge-button-toggle-border-right-width:1px;--forge-button-toggle-border-bottom-width:0;--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-right-radius:0}.forge-button-toggle-group--vertical ::slotted(:first-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-top-right-radius:4px}.forge-button-toggle-group--vertical ::slotted(:last-child){--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-left-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group ::slotted(:only-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-bottom-left-radius:4px;--forge-button-toggle-border-top-right-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group--stretch{width:100%}:host{display:block}:host([hidden]){display:none}';\n\nexport interface IButtonToggleGroupComponent extends IBaseComponent {\n value: any;\n multiple: boolean;\n stretch: boolean;\n mandatory: boolean;\n vertical: boolean;\n disabled: boolean;\n dense: boolean;\n options: IButtonToggleOption[];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-button-toggle-group': IButtonToggleGroupComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-button-toggle-group-change': CustomEvent<IButtonToggleGroupChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-button-toggle-group>` custom element.\n * \n * @tag forge-button-toggle-group\n */\n@CustomElement({\n name: BUTTON_TOGGLE_GROUP_CONSTANTS.elementName,\n dependencies: [ButtonToggleComponent]\n})\nexport class ButtonToggleGroupComponent extends BaseComponent implements IButtonToggleGroupComponent {\n public static get observedAttributes(): string[] {\n return [\n BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.VALUE,\n BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MULTIPLE,\n BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MANDATORY,\n BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.VERTICAL,\n BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.STRETCH,\n BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DISABLED,\n BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DENSE\n ];\n }\n\n private _foundation: ButtonToggleGroupFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ButtonToggleGroupFoundation(new ButtonToggleGroupAdapter(this));\n }\n\n public initializedCallback(): 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 BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.MANDATORY:\n this.mandatory = coerceBoolean(newValue);\n break;\n case BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.VERTICAL:\n this.vertical = coerceBoolean(newValue);\n break;\n case BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.STRETCH:\n this.stretch = coerceBoolean(newValue);\n break;\n case BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case BUTTON_TOGGLE_GROUP_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare value: any;\n\n @FoundationProperty()\n public declare multiple: boolean;\n\n @FoundationProperty()\n public declare mandatory: boolean;\n\n @FoundationProperty()\n public declare vertical: boolean;\n\n @FoundationProperty()\n public declare stretch: boolean;\n\n @FoundationProperty()\n public declare dense: boolean;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare options: IButtonToggleOption[];\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ButtonToggleGroupComponent } from './button-toggle-group';\n\nexport * from './button-toggle-group-adapter';\nexport * from './button-toggle-group-constants';\nexport * from './button-toggle-group-foundation';\nexport * from './button-toggle-group';\n\nexport function defineButtonToggleGroupComponent(): void {\n defineCustomElement(ButtonToggleGroupComponent);\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "selectors", "events", "BUTTON_TOGGLE_GROUP_CONSTANTS", "ButtonToggleGroupAdapter", "BaseAdapter", "component", "getShadowElement", "BUTTON_TOGGLE_GROUP_CONSTANTS", "type", "listener", "selectedToggle", "t", "isVertical", "toggles", "i", "BUTTON_TOGGLE_CONSTANTS", "attr", "value", "toggle", "values", "options", "removeAllChildren", "o", "option", "buttonToggle", "icon", "ICON_CLASS_NAME", "leadingIcon", "trailingIcon", "ButtonToggleGroupFoundation", "_adapter", "evt", "BUTTON_TOGGLE_CONSTANTS", "selectedValues", "target", "BUTTON_TOGGLE_GROUP_CONSTANTS", "_a", "selections", "value", "values", "init", "__spreadValues", "o", "template", "styles", "ButtonToggleGroupComponent", "BaseComponent", "attachShadowTemplate", "ButtonToggleGroupFoundation", "ButtonToggleGroupAdapter", "BUTTON_TOGGLE_GROUP_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "ButtonToggleComponent", "defineButtonToggleGroupComponent", "defineCustomElement", "ButtonToggleGroupComponent"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ var t="forge-",e=500,o="tyler-icons",r="https://cdn.forge.tylertech.com/",s=Symbol("getFormValue"),n=Symbol("getFormState"),a=Symbol("getValidityMessage"),p=Symbol("ElementInternals"),c=Symbol("inputType"),i=Symbol("isFocusable"),l=Symbol("setDefaultAria");export{t as a,e as b,o as c,r as d,s as e,n as f,a as g,p as h,c as i,i as j,l as k};
7
+ //# sourceMappingURL=chunk.6ZJIHOIG.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants.ts"],
4
+ "sourcesContent": ["import type { IBaseComponent } from './core/base/base-component';\n\nexport const COMPONENT_NAME_PREFIX = 'forge-';\nexport const KEYSTROKE_DEBOUNCE_THRESHOLD = 500;\nexport const ICON_CLASS_NAME = 'tyler-icons';\nexport const CDN_BASE_URL = 'https://cdn.forge.tylertech.com/';\n\n/** A method symbol that gets the submitted value of a form-associated component. */\nexport const getFormValue = Symbol('getFormValue');\n\n/** A method symbol that gets the form state of a form-associated component. */\nexport const getFormState = Symbol('getFormState');\n\n/** A method symbol that gets the validation message of a form-associated component. */\nexport const getValidationMessage = Symbol('getValidityMessage');\n\n/** A property symbol that references the `ElementInternals` instance of an element. */\nexport const internals = Symbol('ElementInternals');\n\n/** A property symbol that sets the type of an internal input element used to create validations messages */\nexport const inputType = Symbol('inputType');\n\n/** A property symbol that indicates whether or not a `Focusable` element can be focused. */\nexport const isFocusable = Symbol('isFocusable');\n\n/** A method symbol that sets default ARIA on the `ElementInternals` instance of an element if\n * supported or sprouts attributes if not. */\nexport const setDefaultAria = Symbol('setDefaultAria');\n\nexport type Theme = 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'error' | 'info';\nexport type Density = 'small' | 'medium' | 'large';\n\nexport type AbstractConstructor<T> = abstract new (...args: any[]) => T;\nexport type MixinBase<TBase = IBaseComponent> = AbstractConstructor<TBase>;\n\n/**\n * The `focusVisible` property is an experimental feature that is not yet supported by all browsers.\n * \n * We will use this to allow for setting focus to elements programmatically and showing the focus indicator.\n */\nexport type ExperimentalFocusOptions = FocusOptions & { focusVisible?: boolean };\n"],
5
+ "mappings": "AAEO,IAAMA,EAAwB,SACxBC,EAA+B,IAC/BC,EAAkB,cAClBC,EAAe,mCAGfC,EAAe,OAAO,cAAc,EAGpCC,EAAe,OAAO,cAAc,EAGpCC,EAAuB,OAAO,oBAAoB,EAGlDC,EAAY,OAAO,kBAAkB,EAGrCC,EAAY,OAAO,WAAW,EAG9BC,EAAc,OAAO,aAAa,EAIlCC,EAAiB,OAAO,gBAAgB",
6
+ "names": ["COMPONENT_NAME_PREFIX", "KEYSTROKE_DEBOUNCE_THRESHOLD", "ICON_CLASS_NAME", "CDN_BASE_URL", "getFormValue", "getFormState", "getValidationMessage", "internals", "inputType", "isFocusable", "setDefaultAria"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as t,b as o,d as m,l as r}from"./chunk.AIPDMLJD.js";import{a as n}from"./chunk.OUIWXKO2.js";import{a as e}from"./chunk.TPXXHX5J.js";var p=class extends n{constructor(i){super(i)}_build(){return document.createElement(t.elementName)}};function D(){e(r)}window&&!window[o]&&(window[o]=m);export{p as a,D as b};
7
+ //# sourceMappingURL=chunk.7LOMI6J3.js.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as F}from"./chunk.MHH26REX.js";import{d as A}from"./chunk.DTWXICOY.js";import{e as B,h as H,j as K}from"./chunk.42YDA5FH.js";import{c as k}from"./chunk.JHELTQKA.js";import{a as x,b as m}from"./chunk.Y4ZS3A6F.js";import{b as N}from"./chunk.FJ5VNWYK.js";import{e as V}from"./chunk.WEHQUUXJ.js";import{d as P}from"./chunk.EWT2PBEP.js";import{d as w}from"./chunk.AIPDMLJD.js";import{a as T}from"./chunk.3TKTJ3BY.js";import{a as p}from"./chunk.NVUMRW44.js";import{a as y}from"./chunk.T4J66YX5.js";import{a as S,c as D}from"./chunk.6ZJIHOIG.js";import{a as L,e as C}from"./chunk.TPXXHX5J.js";import{m as M}from"./chunk.HZUQXCOQ.js";import{a as g,b as O,i as I,k as _}from"./chunk.J2M2MXP2.js";import{a as c,b,d as a}from"./chunk.M3QDAYD2.js";var l=`${S}menu`,G={POPUP:"forge-menu__popup",MENU:"mdc-menu"},U={TOGGLE:`.${l}__toggle,[${l}-toggle],forge-button,forge-icon-button,forge-fab,button,[type=button],[role=button],a,[tabindex]:not([tabindex^="-"])`,MENU_LIST:"forge-list"},R={OPEN:"open",PLACEMENT:"placement",SELECTED_INDEX:"selected-index",SELECTED_VALUE:"selected-value",DENSE:"dense",ICON_CLASS:"icon-class",PERSIST_SELECTION:"persist-selection",MODE:"mode",SYNC_POPUP_WIDTH:"sync-popup-width",POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold"},$={SELECT:`${l}-select`,OPEN:`${l}-open`,CLOSE:`${l}-close`,ACTIVE_CHANGE:`${l}-active-change`},z={CHILD_MOUSE_LEAVE_TIMEOUT:300,POPUP_MOUSE_LEAVE_TIMEOUT:500},i={elementName:l,classes:G,selectors:U,attributes:R,events:$,numbers:z};var u=class extends T{constructor(e){super(e);this._childMenus=new Map}getDropdownElement(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.dropdownElement)!=null?t:null}hasTargetElement(){return!!this._targetElement}initializeTarget(){this._targetElement=this._component.querySelector(i.selectors.TOGGLE),this._targetElement||(this._targetElement=this._component.firstElementChild)}initializeAccessibility(e){this._targetElement&&(this._targetElement.setAttribute("aria-atomic","true"),this._targetElement.setAttribute("aria-live","assertive"),this._targetElement.setAttribute("aria-haspopup","true"),this._targetElement.setAttribute("aria-expanded","false"),this._targetElement.hasAttribute("aria-label")||this._targetElement.setAttribute("aria-label",this._targetElement.textContent||""))}addTargetListener(e,t,n=!1){this._targetElement&&this._targetElement.addEventListener(e,t,n)}removeTargetListener(e,t){this._targetElement&&this._targetElement.removeEventListener(e,t)}attachMenu(e){this._listDropdown||!this._targetElement||(this._listDropdown=new H(this._targetElement,e),this._listDropdown.open(),this._targetElement.setAttribute("aria-expanded","true"),this._targetElement.setAttribute("aria-controls",`list-dropdown-popup-${e.id}`))}setOptions(e){this._listDropdown&&this._listDropdown.setOptions(e)}detachMenu(){this._targetElement&&(this._targetElement.removeAttribute("aria-activedescendant"),this._targetElement.removeAttribute("aria-expanded"),this._targetElement.removeAttribute("aria-controls")),this._listDropdown&&(this._listDropdown.close(),this._listDropdown.destroy(),this._listDropdown=void 0)}setActiveOption(e){var t;(t=this._listDropdown)==null||t.activateOption(e)}activateFirstOption(){var e;(e=this._listDropdown)==null||e.activateFirstOption()}setCascadeTargetInactive(){let e=this._targetElement;e!=null&&e.active&&(e.active=!1)}getActiveOptionIndex(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.getActiveOptionIndex())!=null?t:-1}focusTarget(){this._targetElement&&this._targetElement.focus()}isTargetFocused(){return document.activeElement===this._targetElement}updateActiveDescendant(e){this._targetElement&&(e?this._targetElement.setAttribute("aria-activedescendant",e):this._targetElement.removeAttribute("aria-activedescendant"))}addDropdownListener(e,t){!this._listDropdown||!this._listDropdown.dropdownElement||this._listDropdown.dropdownElement.addEventListener(e,t)}isOwnElement(e){return!this._targetElement||!this._listDropdown||!this._listDropdown.dropdownElement?!1:this._targetElement.contains(e)||!!this._listDropdown.dropdownElement.contains(e)}propagateKey(e){var t;(t=this._listDropdown)==null||t.handleKey(e)}proxyKeyboardEventToChild(e,t){if(!this.getDropdownElement())return;let n=this._getOpenChildMenu(t);n&&n.propagateKeyEvent(e)}toggleChildMenu(e,t){let r=this._getListItems()[e].parentElement;r&&r.tagName.toLowerCase()===i.elementName&&(t===void 0?r.open=!r.open:r.open=t,r.activateFirstOption())}createChildMenu(e,t,n,o,r){let d=document.createElement("forge-menu");return d.style.display="block",d.addEventListener(i.events.OPEN,()=>{this._childMenus.set(e,d),n(e)}),d.addEventListener(i.events.CLOSE,()=>{this._childMenus.delete(e),o(e)}),d.addEventListener(i.events.SELECT,E=>{E.stopPropagation(),r(b(c({},E.detail),{parentValue:t}))}),d}closeOtherChildMenus(e){let t=[];this._childMenus.forEach((n,o)=>{o!==e&&(n.open=!1,t.push(o))}),t.forEach(n=>this._childMenus.delete(n))}setSelectedValues(e){var t;(t=this._listDropdown)==null||t.setSelectedValues(e)}_getOpenChildMenu(e){if(!this.getDropdownElement())return null;let t=this._getOwnList(e);return t?t.querySelector(`${i.elementName}[${i.attributes.OPEN}]`):null}_getOwnList(e){let t=this.getDropdownElement();return t?t.querySelector(`${m.elementName}[id="list-dropdown-list-${e}"]`):null}_getListItems(){let e=this.getDropdownElement();if(!e)return[];let t=e.querySelector(m.elementName);return t?Array.from(t.querySelectorAll(x.elementName)):[]}};var h=class extends K{constructor(e){super({popupTimeout:i.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,targetTimeout:i.numbers.CHILD_MOUSE_LEAVE_TIMEOUT});this._adapter=e;this._placement="bottom-start";this._fallbackPlacements=[];this._dense=!1;this._iconClass=D;this._persistSelection=!1;this._mode="click";this._identifier=g(),this._clickListener=t=>this._onTargetClick(t),this._blurListener=t=>this._onTargetBlur(t),this._selectListener=t=>this._handleSelectEvent(t),this._keydownListener=t=>this.onKeydown(t),this._activeChangeListener=t=>this._onActiveOptionChanged(t)}initialize(){this._adapter.initializeTarget(),this._adapter.initializeAccessibility(this._identifier),this._initializeInteractionListeners()}disconnect(){this._open&&this._closeDropdown(),this._destroyInteractionListeners()}activateFirstOption(){this._adapter.activateFirstOption()}_applyMode(){this._adapter.hasTargetElement()&&(this._mode!=="cascade"?this._adapter.addTargetListener("click",this._clickListener):this._attachCascadingListeners())}_initializeInteractionListeners(){this._adapter.hasTargetElement()&&(this._applyMode(),this._adapter.addTargetListener("keydown",this._keydownListener,!0),this._adapter.addTargetListener("focusout",this._blurListener))}_destroyInteractionListeners(){this._adapter.hasTargetElement()&&(this._adapter.removeTargetListener("keydown",this._clickListener),this._adapter.removeTargetListener("focusout",this._blurListener),this._adapter.removeTargetListener("click",this._clickListener),this._detachCascadingListeners())}_attachCascadingListeners(){this._adapter.addTargetListener("mouseenter",this._targetMouseEnterListener),this._adapter.addTargetListener("mouseleave",this._targetMouseLeaveListener),this._adapter.addDocumentListener("mousemove",this._documentMouseMoveListener)}_detachCascadingListeners(){this._adapter.removeTargetListener("mouseenter",this._targetMouseEnterListener),this._adapter.removeTargetListener("mouseleave",this._targetMouseLeaveListener),this._adapter.removeDocumentListener("mousemove",this._documentMouseMoveListener)}get _nonDividerOptions(){return this._flatOptions.filter(e=>!e.divider)}get _flatOptions(){return this._flattenOptions(this._options)}_flattenOptions(e){return B(e,1)?e.reduce((t,n)=>n.options?t.concat(n.options):t,[]):e}_onTargetClick(e){if(this._open){this._closeDropdown();return}this.open=!this._open,this._open&&this._adapter.focusTarget()}_onTargetBlur(e){this._open&&this._closeDropdown()}_onActiveOptionChanged(e){let t={id:e},n=this._adapter.emitHostEvent(i.events.ACTIVE_CHANGE,t,!0,!0);this._mode!=="cascade"&&n&&this._adapter.updateActiveDescendant(e)}onKeydown(e){if(this._childOpen){this._adapter.proxyKeyboardEventToChild(e,this._identifier);return}switch(e.code){case"Tab":this._open&&this._selectActiveOption();break;case"Escape":this._open&&(e.preventDefault(),e.stopPropagation(),this._closeDropdown());break;case"Space":e.preventDefault(),this._open?this._closeDropdown():this._openDropdown({fromKeyboard:!0});break;case"Home":case"End":this._open&&(e.preventDefault(),this._adapter.propagateKey(e.code));break;case"Enter":if(e.preventDefault(),!this._open){e.preventDefault(),this._openDropdown({fromKeyboard:!0});return}e.stopImmediatePropagation(),this._adapter.propagateKey(e.code);let t=this._adapter.getActiveOptionIndex(),n=this._nonDividerOptions[t];n&&n.options&&n.options.length&&this._adapter.toggleChildMenu(t);break;case"ArrowUp":case"ArrowDown":if(this._open&&e.stopImmediatePropagation(),e.preventDefault(),!this._open&&e.code==="ArrowDown"){this._openDropdown({fromKeyboard:!0}),this._adapter.activateFirstOption();return}this._adapter.propagateKey(e.code);break;case"ArrowLeft":this._open&&e.stopImmediatePropagation(),this._mode==="cascade"&&this._open&&this._closeDropdown();break;case"ArrowRight":if(this._open&&e.stopImmediatePropagation(),!this._open)return;let o=this._adapter.getActiveOptionIndex(),r=this._nonDividerOptions[o];if(r&&r.options){this._adapter.toggleChildMenu(o,e.code==="ArrowRight");return}break}}async _openMenu({fromKeyboard:e}={}){this._open=!0;let t=[];if(typeof this._optionsFactory=="function")this._loadOptionsAsync(),this._options=[];else{if(!this._options||!this._options.length)return;t=this._options}this._persistSelection||t.forEach(r=>r.selected=!1),this._mapIconToLeadingIcon();let n=this._persistSelection?this._getSelectedValues():[],o={id:this._identifier,type:"menu",options:this._options,selectedValues:n,iconClass:this._iconClass,dense:this._dense,multiple:!1,popupStatic:!0,allowBusy:!0,asyncStyle:"spinner",optionBuilder:this._optionBuilder,optionLimit:this._optionLimit,headerBuilder:this._popupHeaderBuilder,footerBuilder:this._popupFooterBuilder,observeScroll:this._observeScroll,observeScrollThreshold:this._observeScrollThreshold,popupPlacement:this._placement,popupFallbackPlacements:this._fallbackPlacements,activeStartIndex:e?0:void 0,popupClasses:[i.classes.POPUP,i.classes.MENU,...this._popupClasses],syncWidth:this._syncPopupWidth,activeChangeCallback:this._activeChangeListener,selectCallback:this._selectListener,popupOffset:this._popupOffset,cascadingElementFactory:r=>this._createCascadingElement(r)};this._adapter.setHostAttribute(i.attributes.OPEN,""),this._adapter.attachMenu(o),this._mode==="cascade"&&(this._adapter.addDropdownListener("mouseenter",this._childPopupMouseEnterListener),this._adapter.addDropdownListener("mouseleave",this._childPopupMouseLeaveListener)),this._adapter.addDropdownListener(i.events.ACTIVE_CHANGE,r=>{this._onActiveOptionChanged(r.detail.id)}),this._adapter.emitHostEvent(i.events.OPEN)}_closeMenu(){this._open=!1,this._childOpen=!1,this._adapter.detachMenu(),this._activeMouseLeaveTimeout!==void 0&&window.clearTimeout(this._activeMouseLeaveTimeout),this._adapter.removeHostAttribute(i.attributes.OPEN),this._adapter.emitHostEvent(i.events.CLOSE)}_loadOptionsAsync(){return this._optionsFactory?Promise.resolve(this._optionsFactory()).then(e=>{if(this._persistSelection||this._flattenOptions(e).filter(n=>n.selected).forEach(n=>n.selected=!1),this._open)if(e&&I(e)&&e.length){this._options=e,this._adapter.setOptions(e);let t=this._getSelectedValues();t.length&&this._adapter.setSelectedValues(t)}else this._open&&this._closeDropdown()}).catch(e=>{console.error("An unexpected error ocurred while opening the menu:",e),this._open&&this._closeDropdown()}):(this._open&&this._closeMenu(),Promise.resolve())}_handleSelectEvent(e){let t=this._nonDividerOptions.findIndex(n=>n.value===e);t<0||this._selectOptionByIndex(t)}_selectActiveOption(){let e=this._adapter.getActiveOptionIndex();e>=0&&this._nonDividerOptions[e]&&this._selectOptionByIndex(e)}_selectOptionByIndex(e){let{options:t,value:n}=this._nonDividerOptions[e];if(t){this._adapter.setActiveOption(e);return}this._closeDropdown();let o={index:e,value:n};!this._adapter.emitHostEvent(i.events.SELECT,o,!0,!0)||(this._selectedValue=this._persistSelection?n:void 0)}_getSelectedValues(){let e=this._flatOptions.filter(t=>t.selected).map(t=>t.value);return this._selectedValue!==void 0&&e.push(this._selectedValue),e}_onCascadingOptionSelected(e){this._persistSelection&&(this._selectedValue=e.value),this._adapter.emitHostEvent(i.events.SELECT,e),this._closeDropdown()}_onCascadingChildOpen(e){super._clearMouseLeaveTimeout(),this._adapter.closeOtherChildMenus(e),this._childOpen=!0,this._adapter.setActiveOption(e)}_onCascadingChildClose(e){this._childOpen=!1}_closeDropdown(){this._closeMenu()}_openDropdown({fromKeyboard:e}={}){this._openMenu({fromKeyboard:e})}_setCascadeTargetInactive(){this._adapter.setCascadeTargetInactive()}_isOwnElement(e){return this._adapter.isOwnElement(e)}_createCascadingElement({index:e,options:t,parentValue:n}){let o=this._adapter.createChildMenu(e,n,this._onCascadingChildOpen.bind(this),this._onCascadingChildClose.bind(this),this._onCascadingOptionSelected.bind(this));return o.mode="cascade",o.popupOffset={x:0,y:-8},o.dense=this._dense,o.placement="right-start",o.fallbackPlacements=["left-start","right-start"],o.persistSelection=this._persistSelection,this._persistSelection&&(o.selectedValue=this._selectedValue),o.options=t,o.optionBuilder=this._optionBuilder,o.iconClass=this._iconClass,o}_mapIconToLeadingIcon(){this._flatOptions.filter(e=>e.icon).forEach(e=>e.leadingIcon=e.icon)}get open(){return this._open}set open(e){e=!!e,this._open!==e&&(this._open=e,e?this._openDropdown():this._closeDropdown())}set options(e){if(typeof e=="function")this.optionsFactory=e;else if(this.optionsFactory=void 0,this._options=e.map(t=>c({},t)),this._open&&(this._mapIconToLeadingIcon(),this._adapter.setOptions(this._options),this._persistSelection)){let t=this._getSelectedValues();t.length&&this._adapter.setSelectedValues(t)}}get options(){return this._options?this._flatOptions.map(e=>c({},e)):[]}set optionsFactory(e){this._optionsFactory=e}set selectedIndex(e){let t=this._nonDividerOptions[e];t&&t.value!==this._selectedValue&&(this.selectedValue=t.value)}get selectedIndex(){return this._selectedValue!==void 0?this._nonDividerOptions.findIndex(e=>e.value===this._selectedValue):-1}set selectedValue(e){this._selectedValue!==e&&(this._selectedValue=e,this._adapter.setSelectedValues(this._selectedValue))}get selectedValue(){return this._selectedValue}get placement(){return this._placement}set placement(e){this._placement!==e&&(this._placement=e||"bottom-start",this._adapter.setHostAttribute(i.attributes.PLACEMENT,this._placement))}get fallbackPlacements(){return this._fallbackPlacements}set fallbackPlacements(e){this._fallbackPlacements=Array.isArray(e)?e:[]}get dense(){return this._dense}set dense(e){this._dense=e}get iconClass(){return this._iconClass}set iconClass(e){this._iconClass=e}get persistSelection(){return this._persistSelection}set persistSelection(e){this._persistSelection!==e&&(this._persistSelection=e,this._adapter.toggleHostAttribute(i.attributes.PERSIST_SELECTION,this._persistSelection),this._persistSelection||(this._flatOptions.forEach(t=>t.selected=!1),this._selectedValue=void 0))}get mode(){return this._mode}set mode(e){this._mode!==e&&(this._mode=e,this._destroyInteractionListeners(),this._applyMode(),this._adapter.setHostAttribute(i.attributes.MODE,this._mode))}get popupOffset(){return this._popupOffset}set popupOffset(e){this._popupOffset=e}get optionBuilder(){return this._optionBuilder}set optionBuilder(e){this._optionBuilder=e}get popupElement(){return this._adapter.getDropdownElement()}};var q="<template><slot></slot></template>",W=":host{display:-webkit-inline-box;display:inline-flex}:host([hidden]){display:none}",s=class extends F{constructor(){super();w.define(P),this._foundation=new h(new u(this)),C(this,q,W)}static get observedAttributes(){return[i.attributes.OPEN,i.attributes.PLACEMENT,i.attributes.SELECTED_INDEX,i.attributes.SELECTED_VALUE,i.attributes.DENSE,i.attributes.ICON_CLASS,i.attributes.PERSIST_SELECTION,i.attributes.MODE,i.attributes.SYNC_POPUP_WIDTH,i.attributes.POPUP_CLASSES,i.attributes.OPTION_LIMIT,i.attributes.OBSERVE_SCROLL,i.attributes.OBSERVE_SCROLL_THRESHOLD]}connectedCallback(){this.querySelector(i.selectors.TOGGLE)?this._foundation.initialize():M(this,i.selectors.TOGGLE).then(()=>this._foundation.initialize())}attributeChangedCallback(e,t,n){switch(super.attributeChangedCallback(e,t,n),e){case i.attributes.OPEN:this._foundation.open=O(n);break;case i.attributes.PLACEMENT:this._foundation.placement=n;break;case i.attributes.SELECTED_INDEX:this._foundation.selectedIndex=Number(n);break;case i.attributes.SELECTED_VALUE:this._foundation.selectedValue=n;break;case i.attributes.DENSE:this._foundation.dense=_(n);break;case i.attributes.ICON_CLASS:this._foundation.iconClass=n;break;case i.attributes.PERSIST_SELECTION:this.persistSelection=_(n);break;case i.attributes.MODE:this.mode=n;break}}disconnectedCallback(){this._foundation.disconnect()}propagateKeyEvent(e){this._foundation.onKeydown(e)}activateFirstOption(){this._foundation.activateFirstOption()}};a([p()],s.prototype,"open",2),a([p()],s.prototype,"options",2),a([p()],s.prototype,"selectedIndex",2),a([p()],s.prototype,"selectedValue",2),a([p()],s.prototype,"placement",2),a([p()],s.prototype,"fallbackPlacements",2),a([p()],s.prototype,"dense",2),a([p()],s.prototype,"iconClass",2),a([p()],s.prototype,"persistSelection",2),a([p()],s.prototype,"mode",2),a([p()],s.prototype,"popupOffset",2),a([p()],s.prototype,"optionBuilder",2),a([p({set:!1})],s.prototype,"popupElement",2),s=a([y({name:i.elementName,dependencies:[V,k,A,N]})],s);function Ze(){L(s)}export{i as a,u as b,h as c,s as d,Ze as e};
7
+ //# sourceMappingURL=chunk.7PVVZC7P.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/menu/menu-constants.ts", "../../src/menu/menu-adapter.ts", "../../src/menu/menu-foundation.ts", "../../src/menu/menu.ts", "../../src/menu/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { IListDropdownOption, IListDropdownOptionGroup } from '../list-dropdown';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}menu`;\n\nconst classes = {\n POPUP: 'forge-menu__popup',\n MENU: 'mdc-menu'\n};\n\nconst selectors = {\n TOGGLE: `.${elementName}__toggle,[${elementName}-toggle],forge-button,forge-icon-button,forge-fab,button,[type=button],[role=button],a,[tabindex]:not([tabindex^=\"-\"])`,\n MENU_LIST: 'forge-list'\n};\n\nconst attributes = {\n OPEN: 'open',\n PLACEMENT: 'placement',\n SELECTED_INDEX: 'selected-index',\n SELECTED_VALUE: 'selected-value',\n DENSE: 'dense',\n ICON_CLASS: 'icon-class',\n PERSIST_SELECTION: 'persist-selection',\n MODE: 'mode',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SELECT: `${elementName}-select`,\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n ACTIVE_CHANGE: `${elementName}-active-change`\n};\n\nconst numbers = {\n CHILD_MOUSE_LEAVE_TIMEOUT: 300,\n POPUP_MOUSE_LEAVE_TIMEOUT: 500\n};\n\nexport const MENU_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers\n};\n\nexport interface IMenuSelectEventData<T = any, K = any> {\n index: number;\n value?: T;\n parentValue?: K;\n}\n\nexport interface IMenuActiveChangeEventData {\n id: string;\n}\n\nexport interface IMenuOption<T = any> extends IListDropdownOption<T> {\n icon?: string;\n selected?: boolean;\n}\n\nexport interface IMenuOptionGroup extends IListDropdownOptionGroup {}\n\nexport type MenuOptionBuilder = (option: IMenuOption, parentElement: HTMLElement) => HTMLElement | string | void;\nexport type MenuOptionFactory = (() => Array<IMenuOption | IMenuOptionGroup>) | (() => Promise<Array<IMenuOption | IMenuOptionGroup>>);\nexport type MenuMode = 'click' | 'cascade';\n", "import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IMenuOption } from './index';\nimport { IMenuComponent } from './menu';\nimport { MENU_CONSTANTS, IMenuSelectEventData, IMenuOptionGroup } from './menu-constants';\nimport { IListDropdownConfig, IListDropdown, ListDropdown } from '../list-dropdown';\nimport { IListComponent, IListItemComponent, LIST_CONSTANTS, LIST_ITEM_CONSTANTS } from '../list';\n\nexport interface IMenuAdapter extends IBaseAdapter {\n getDropdownElement(): HTMLElement | null;\n initializeTarget(): void;\n initializeAccessibility(id: string): void;\n hasTargetElement(): boolean;\n addTargetListener(event: string, callback: (event: Event) => void, bubbles?: boolean): void;\n removeTargetListener(event: string, callback: (event: Event) => void): void;\n attachMenu(config: IListDropdownConfig): void;\n detachMenu(): void;\n setOptions(options: Array<IMenuOption | IMenuOptionGroup>): void;\n getActiveOptionIndex(): number;\n setActiveOption(index: number): void;\n activateFirstOption(): void;\n setCascadeTargetInactive(): void;\n propagateKey(key: string): void;\n proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void;\n toggleChildMenu(index: number, open?: boolean): void;\n focusTarget(): void;\n isTargetFocused(): boolean;\n updateActiveDescendant(id: string): void;\n isOwnElement(element: Element): boolean;\n addDropdownListener(type: string, listener: (evt: any) => void): void;\n createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent;\n closeOtherChildMenus(excludeIndex?: number): void;\n setSelectedValues(values: any[]): void;\n}\n\nexport class MenuAdapter extends BaseAdapter<IMenuComponent> implements IMenuAdapter {\n private _targetElement: HTMLElement | null;\n private _listDropdown?: IListDropdown;\n private _childMenus = new Map<number, IMenuComponent>();\n\n constructor(component: IMenuComponent) {\n super(component);\n }\n\n public getDropdownElement(): HTMLElement | null {\n return this._listDropdown?.dropdownElement ?? null;\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public initializeTarget(): void {\n this._targetElement = this._component.querySelector(MENU_CONSTANTS.selectors.TOGGLE);\n if (!this._targetElement) {\n this._targetElement = this._component.firstElementChild as HTMLElement;\n }\n }\n\n public initializeAccessibility(id: string): void {\n if (!this._targetElement) {\n return;\n }\n\n this._targetElement.setAttribute('aria-atomic', 'true');\n this._targetElement.setAttribute('aria-live', 'assertive');\n this._targetElement.setAttribute('aria-haspopup', 'true');\n this._targetElement.setAttribute('aria-expanded', 'false');\n\n if (!this._targetElement.hasAttribute('aria-label')) {\n this._targetElement.setAttribute('aria-label', this._targetElement.textContent || '');\n }\n }\n\n public addTargetListener(event: string, callback: (event: Event) => void, bubbles = false): void {\n if (this._targetElement) {\n this._targetElement.addEventListener(event, callback, bubbles);\n }\n }\n\n public removeTargetListener(event: string, callback: (event: Event) => void): void {\n if (this._targetElement) {\n this._targetElement.removeEventListener(event, callback);\n }\n }\n\n public attachMenu(config: IListDropdownConfig): void {\n if (this._listDropdown || !this._targetElement) {\n return;\n }\n this._listDropdown = new ListDropdown(this._targetElement as HTMLElement, config);\n this._listDropdown.open();\n this._targetElement.setAttribute('aria-expanded', 'true');\n this._targetElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n }\n\n public setOptions(options: Array<IMenuOption | IMenuOptionGroup>): void {\n if (this._listDropdown) {\n this._listDropdown.setOptions(options);\n }\n }\n\n public detachMenu(): void {\n if (this._targetElement) {\n this._targetElement.removeAttribute('aria-activedescendant');\n this._targetElement.removeAttribute('aria-expanded');\n this._targetElement.removeAttribute('aria-controls');\n }\n\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public setCascadeTargetInactive(): void {\n const listItem = this._targetElement as IListItemComponent;\n if (listItem?.active) {\n listItem.active = false;\n }\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public focusTarget(): void {\n if (this._targetElement) {\n this._targetElement.focus();\n }\n }\n\n public isTargetFocused(): boolean {\n return document.activeElement === this._targetElement;\n }\n\n public updateActiveDescendant(id: string): void {\n if (!this._targetElement) {\n return;\n }\n if (id) {\n this._targetElement.setAttribute('aria-activedescendant', id);\n } else {\n this._targetElement.removeAttribute('aria-activedescendant');\n }\n }\n\n public addDropdownListener(type: string, listener: (evt: any) => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n this._listDropdown.dropdownElement.addEventListener(type, listener);\n }\n\n public isOwnElement(el: Element): boolean {\n if (!this._targetElement || !this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._targetElement.contains(el) || !!this._listDropdown.dropdownElement.contains(el);\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void {\n if (!this.getDropdownElement()) {\n return;\n }\n const openMenu = this._getOpenChildMenu(id);\n if (openMenu) {\n openMenu.propagateKeyEvent(evt);\n }\n }\n\n public toggleChildMenu(index: number, open?: boolean): void {\n const listItems = this._getListItems();\n const listItem = listItems[index];\n const childMenu = listItem.parentElement as IMenuComponent;\n if (childMenu && childMenu.tagName.toLowerCase() === MENU_CONSTANTS.elementName) {\n if (open === undefined) {\n childMenu.open = !childMenu.open;\n } else {\n childMenu.open = open;\n }\n childMenu.activateFirstOption();\n }\n }\n\n public createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent {\n const menu = document.createElement('forge-menu');\n menu.style.display = 'block';\n\n // Set listeners to notify the parent menu when anything important happens within a child menu that needs to be propagated to the root menu\n menu.addEventListener(MENU_CONSTANTS.events.OPEN, () => {\n this._childMenus.set(index, menu);\n openCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.CLOSE, () => {\n this._childMenus.delete(index);\n closeCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.SELECT, (evt: CustomEvent<IMenuSelectEventData>) => {\n evt.stopPropagation();\n selectCb({ ...evt.detail, parentValue });\n });\n\n return menu;\n }\n\n public closeOtherChildMenus(excludeIndex?: number): void {\n const menusToRemove: number[] = [];\n this._childMenus.forEach((menu, index) => {\n if (index !== excludeIndex) {\n menu.open = false;\n menusToRemove.push(index);\n }\n });\n menusToRemove.forEach(index => this._childMenus.delete(index));\n }\n\n public setSelectedValues(values: any[]): void {\n this._listDropdown?.setSelectedValues(values);\n }\n\n private _getOpenChildMenu(id: string): IMenuComponent | null {\n if (!this.getDropdownElement()) {\n return null;\n }\n const list = this._getOwnList(id);\n return list ? list.querySelector(`${MENU_CONSTANTS.elementName}[${MENU_CONSTANTS.attributes.OPEN}]`) : null;\n }\n\n private _getOwnList(id: string): IListComponent | null {\n const popup = this.getDropdownElement();\n if (!popup) {\n return null;\n }\n return popup.querySelector(`${LIST_CONSTANTS.elementName}[id=\"list-dropdown-list-${id}\"]`);\n }\n\n private _getListItems(): IListItemComponent[] {\n const popup = this.getDropdownElement();\n if (!popup) {\n return [];\n }\n const listElement = popup.querySelector(LIST_CONSTANTS.elementName);\n if (listElement) {\n return Array.from(listElement.querySelectorAll(LIST_ITEM_CONSTANTS.elementName)) as IListItemComponent[];\n }\n return [];\n }\n}\n", "import { ICustomElementFoundation, isArray, randomChars } from '@tylertech/forge-core';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { CascadingListDropdownAwareFoundation, IListDropdownCascadingElementFactoryConfig, IListDropdownConfig, ListDropdownAsyncStyle, ListDropdownType } from '../list-dropdown';\nimport { isListDropdownOptionType, ListDropdownOptionType } from '../list-dropdown/list-dropdown-utils';\nimport { IPopupPosition, PopupPlacement } from '../popup';\nimport { IMenuOption } from './index';\nimport { IMenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\n\nexport interface IMenuFoundation extends ICustomElementFoundation {\n initialize(): void;\n disconnect(): void;\n onKeydown(evt: KeyboardEvent): void;\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup>;\n optionsFactory: MenuOptionFactory | undefined;\n selectedIndex: number;\n selectedValue: any;\n placement: PopupPlacement;\n fallbackPlacements: PopupPlacement[];\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n activateFirstOption(): void;\n}\n\nexport class MenuFoundation extends CascadingListDropdownAwareFoundation<IMenuOption | IMenuOptionGroup> implements IMenuFoundation {\n private _optionsFactory: MenuOptionFactory | undefined;\n private _placement: PopupPlacement = 'bottom-start';\n private _fallbackPlacements: PopupPlacement[] = [];\n private _dense = false;\n private _selectedValue: any;\n private _iconClass = ICON_CLASS_NAME;\n private _persistSelection = false;\n private _mode: MenuMode = 'click';\n private _popupOffset: IPopupPosition;\n private _optionBuilder: MenuOptionBuilder | undefined;\n private _identifier: string;\n private _clickListener: (evt: MouseEvent) => void;\n private _blurListener: (evt: MouseEvent) => void;\n private _selectListener: (value: any) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _activeChangeListener: (id: string) => void;\n \n constructor(private _adapter: IMenuAdapter) {\n super({\n popupTimeout: MENU_CONSTANTS.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,\n targetTimeout: MENU_CONSTANTS.numbers.CHILD_MOUSE_LEAVE_TIMEOUT\n });\n this._identifier = randomChars();\n this._clickListener = evt => this._onTargetClick(evt);\n this._blurListener = evt => this._onTargetBlur(evt);\n this._selectListener = value => this._handleSelectEvent(value);\n this._keydownListener = evt => this.onKeydown(evt);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n }\n\n public initialize(): void {\n this._adapter.initializeTarget();\n this._adapter.initializeAccessibility(this._identifier);\n this._initializeInteractionListeners();\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._destroyInteractionListeners();\n }\n\n public activateFirstOption(): void {\n this._adapter.activateFirstOption();\n }\n\n private _applyMode(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n\n if (this._mode !== 'cascade') {\n this._adapter.addTargetListener('click', this._clickListener);\n } else {\n this._attachCascadingListeners();\n }\n }\n\n private _initializeInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._applyMode();\n this._adapter.addTargetListener('keydown', this._keydownListener, true);\n this._adapter.addTargetListener('focusout', this._blurListener);\n }\n\n private _destroyInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._adapter.removeTargetListener('keydown', this._clickListener);\n this._adapter.removeTargetListener('focusout', this._blurListener);\n this._adapter.removeTargetListener('click', this._clickListener);\n this._detachCascadingListeners();\n }\n\n protected _attachCascadingListeners(): void {\n this._adapter.addTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.addTargetListener('mouseleave', this._targetMouseLeaveListener);\n\n // We listen for document mousemove events only to track mouse coords for use when determining\n // if popups should open/close after specific delays\n this._adapter.addDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n protected _detachCascadingListeners(): void {\n this._adapter.removeTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.removeTargetListener('mouseleave', this._targetMouseLeaveListener);\n this._adapter.removeDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n private get _nonDividerOptions(): IMenuOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n private get _flatOptions(): IMenuOption[] {\n return this._flattenOptions(this._options);\n }\n\n private _flattenOptions(options: Array<IMenuOption | IMenuOptionGroup>): IMenuOption[] {\n if (isListDropdownOptionType(options, ListDropdownOptionType.Group)) {\n return (options as IMenuOptionGroup[])\n .reduce((previousValue, currentValue) => {\n return currentValue.options ? previousValue.concat(currentValue.options) : previousValue;\n }, [] as IMenuOption[]);\n }\n return options as IMenuOption[];\n }\n\n private _onTargetClick(evt: MouseEvent): void {\n if (this._open) {\n this._closeDropdown();\n return;\n }\n this.open = !this._open;\n if (this._open) {\n this._adapter.focusTarget();\n }\n }\n\n private _onTargetBlur(evt: Event): void {\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n private _onActiveOptionChanged(id: string): void {\n // We need to dispatch an event when the active descendant changes to propagate that to the proper target element\n const data: IMenuActiveChangeEventData = { id };\n const canSetActiveDescendant = this._adapter.emitHostEvent(MENU_CONSTANTS.events.ACTIVE_CHANGE, data, true, true);\n if (this._mode !== 'cascade' && canSetActiveDescendant) {\n this._adapter.updateActiveDescendant(id);\n }\n }\n\n public onKeydown(evt: KeyboardEvent): void {\n // If we have any child menus open, we need to proxy the keyboard events to those and exit\n if (this._childOpen) {\n this._adapter.proxyKeyboardEventToChild(evt, this._identifier);\n return;\n }\n\n switch (evt.code) {\n case 'Tab':\n if (this._open) {\n this._selectActiveOption();\n }\n break;\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n evt.stopPropagation();\n this._closeDropdown();\n }\n break;\n case 'Space':\n evt.preventDefault();\n\n if (this._open) {\n this._closeDropdown();\n } else {\n this._openDropdown({ fromKeyboard: true });\n }\n break;\n case 'Home':\n case 'End':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateKey(evt.code);\n }\n break;\n case 'Enter':\n evt.preventDefault();\n\n if (!this._open) {\n evt.preventDefault();\n this._openDropdown({ fromKeyboard: true });\n return;\n }\n\n evt.stopImmediatePropagation();\n\n this._adapter.propagateKey(evt.code);\n\n // Check if we need to toggle the child menu open state\n const activeIndex = this._adapter.getActiveOptionIndex();\n const activeOption = this._nonDividerOptions[activeIndex];\n if (activeOption && activeOption.options && activeOption.options.length) {\n this._adapter.toggleChildMenu(activeIndex);\n }\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n\n evt.preventDefault();\n\n if (!this._open && evt.code === 'ArrowDown') {\n this._openDropdown({ fromKeyboard: true });\n this._adapter.activateFirstOption();\n return;\n }\n\n this._adapter.propagateKey(evt.code);\n break;\n case 'ArrowLeft':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (this._mode === 'cascade' && this._open) {\n this._closeDropdown();\n }\n break;\n case 'ArrowRight':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (!this._open) {\n return;\n }\n const hoveredIndex = this._adapter.getActiveOptionIndex();\n const hoveredOption = this._nonDividerOptions[hoveredIndex];\n if (hoveredOption && hoveredOption.options) {\n this._adapter.toggleChildMenu(hoveredIndex, evt.code === 'ArrowRight');\n return;\n }\n break;\n }\n }\n\n private async _openMenu({ fromKeyboard }: { fromKeyboard?: boolean } = {}): Promise<void> {\n this._open = true;\n let options: IMenuOption[] = [];\n\n if (typeof this._optionsFactory === 'function') {\n this._loadOptionsAsync();\n this._options = [];\n } else {\n if (!this._options || !this._options.length) {\n return;\n }\n options = this._options as IMenuOption[];\n }\n\n if (!this._persistSelection) {\n options.forEach(o => o.selected = false);\n }\n\n this._mapIconToLeadingIcon();\n\n const selectedValues = this._persistSelection ? this._getSelectedValues() : [];\n\n const config: IListDropdownConfig = {\n id: this._identifier,\n type: ListDropdownType.Menu,\n options: this._options,\n selectedValues,\n iconClass: this._iconClass,\n dense: this._dense,\n multiple: false,\n popupStatic: true,\n allowBusy: true,\n asyncStyle: ListDropdownAsyncStyle.Spinner,\n optionBuilder: this._optionBuilder,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n popupPlacement: this._placement,\n popupFallbackPlacements: this._fallbackPlacements,\n activeStartIndex: fromKeyboard ? 0 : undefined,\n popupClasses: [\n MENU_CONSTANTS.classes.POPUP,\n MENU_CONSTANTS.classes.MENU,\n ...this._popupClasses as string[]\n ],\n syncWidth: this._syncPopupWidth,\n activeChangeCallback: this._activeChangeListener,\n selectCallback: this._selectListener,\n popupOffset: this._popupOffset,\n cascadingElementFactory: params => this._createCascadingElement(params)\n };\n\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.OPEN, '');\n this._adapter.attachMenu(config);\n\n // If this menu is in a hover mode, we need to listen for mouse enter/leave events to know when the user is hovering over the popup\n if (this._mode === 'cascade') {\n this._adapter.addDropdownListener('mouseenter', this._childPopupMouseEnterListener);\n this._adapter.addDropdownListener('mouseleave', this._childPopupMouseLeaveListener);\n }\n \n this._adapter.addDropdownListener(MENU_CONSTANTS.events.ACTIVE_CHANGE, (evt: CustomEvent<IMenuActiveChangeEventData>) => {\n this._onActiveOptionChanged(evt.detail.id);\n });\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.OPEN);\n }\n\n private _closeMenu(): void {\n this._open = false;\n this._childOpen = false;\n this._adapter.detachMenu();\n\n if (this._activeMouseLeaveTimeout !== undefined) {\n window.clearTimeout(this._activeMouseLeaveTimeout);\n }\n\n this._adapter.removeHostAttribute(MENU_CONSTANTS.attributes.OPEN);\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.CLOSE);\n }\n\n private _loadOptionsAsync(): Promise<void> {\n if (!this._optionsFactory) {\n if (this._open) {\n this._closeMenu();\n }\n return Promise.resolve();\n }\n\n return Promise.resolve(this._optionsFactory())\n .then(results => {\n if (!this._persistSelection) {\n const flatResults = this._flattenOptions(results);\n flatResults.filter(o => o.selected).forEach(o => o.selected = false);\n }\n\n if (this._open) {\n if (results && isArray(results) && results.length) {\n this._options = results;\n this._adapter.setOptions(results);\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n } else if (this._open) {\n this._closeDropdown();\n }\n }\n })\n .catch(e => {\n console.error('An unexpected error ocurred while opening the menu:', e);\n if (this._open) {\n this._closeDropdown();\n }\n });\n }\n\n private _handleSelectEvent(value: any): void {\n const index = this._nonDividerOptions.findIndex(o => o.value === value);\n if (index < 0) {\n return;\n }\n this._selectOptionByIndex(index);\n }\n\n private _selectActiveOption(): void {\n const index = this._adapter.getActiveOptionIndex();\n if (index >= 0 && this._nonDividerOptions[index]) {\n this._selectOptionByIndex(index);\n }\n }\n\n private _selectOptionByIndex(index: number): void {\n const { options, value } = this._nonDividerOptions[index];\n\n // We ignore selections if the option has child options\n if (options) {\n this._adapter.setActiveOption(index);\n return;\n }\n\n this._closeDropdown();\n \n const data: IMenuSelectEventData = { index, value };\n const isCancelled = !this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data, true, true);\n if (!isCancelled) {\n this._selectedValue = this._persistSelection ? value : undefined;\n }\n }\n\n private _getSelectedValues(): any[] {\n const values = this._flatOptions.filter(o => o.selected).map(o => o.value);\n if (this._selectedValue !== undefined) {\n values.push(this._selectedValue);\n }\n return values;\n }\n\n /** Called when a child menu option is selected. */\n protected _onCascadingOptionSelected(data: IMenuSelectEventData): void {\n if (this._persistSelection) {\n this._selectedValue = data.value;\n }\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data);\n this._closeDropdown();\n }\n\n /** Called when a child menu is opened off of one of our menu options. */\n protected _onCascadingChildOpen(index: number): void {\n super._clearMouseLeaveTimeout();\n this._adapter.closeOtherChildMenus(index);\n this._childOpen = true;\n this._adapter.setActiveOption(index);\n }\n\n /** Called when a child menu is closed off of one of our menu options. */\n protected _onCascadingChildClose(index: number): void {\n this._childOpen = false;\n }\n\n protected _closeDropdown(): void {\n this._closeMenu();\n }\n\n protected _openDropdown({ fromKeyboard }: { fromKeyboard?: boolean } = {}): void {\n this._openMenu({ fromKeyboard });\n }\n\n protected _setCascadeTargetInactive(): void {\n this._adapter.setCascadeTargetInactive();\n }\n\n protected _isOwnElement(element: Element): boolean {\n return this._adapter.isOwnElement(element);\n }\n\n private _createCascadingElement({ index, options, parentValue }: IListDropdownCascadingElementFactoryConfig): HTMLElement {\n const menu = this._adapter.createChildMenu(\n index,\n parentValue,\n this._onCascadingChildOpen.bind(this),\n this._onCascadingChildClose.bind(this),\n this._onCascadingOptionSelected.bind(this)\n );\n menu.mode = 'cascade';\n menu.popupOffset = { x: 0, y: -8 };\n menu.dense = this._dense;\n menu.placement = 'right-start';\n menu.fallbackPlacements = ['left-start', 'right-start']; // Cascading menus should only fallback to left or right placement if needed\n menu.persistSelection = this._persistSelection;\n if (this._persistSelection) {\n menu.selectedValue = this._selectedValue;\n }\n menu.options = options;\n menu.optionBuilder = this._optionBuilder;\n menu.iconClass = this._iconClass;\n\n return menu;\n }\n\n private _mapIconToLeadingIcon(): void {\n // For backwards compatibility with old API, map the old \"icon\" property to the new \"leadingIcon\" property (if exists)\n this._flatOptions.filter(o => o.icon).forEach(o => o.leadingIcon = o.icon);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n value = Boolean(value);\n if (this._open !== value) {\n this._open = value;\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public set options(options: IMenuOption[]) {\n if (typeof options === 'function') {\n this.optionsFactory = options;\n } else {\n this.optionsFactory = undefined;\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n this._options = options.map(o => ({ ...o }));\n \n if (this._open) {\n this._mapIconToLeadingIcon();\n this._adapter.setOptions(this._options as IMenuOption[]);\n if (this._persistSelection) {\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n }\n }\n }\n }\n public get options(): IMenuOption[] {\n if (!this._options) {\n return [];\n }\n\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n return this._flatOptions.map(o => ({ ...o }));\n }\n\n public set optionsFactory(factory: MenuOptionFactory | undefined) {\n this._optionsFactory = factory;\n }\n\n public set selectedIndex(value: number) {\n const option = this._nonDividerOptions[value];\n if (option && option.value !== this._selectedValue) {\n this.selectedValue = option.value;\n }\n }\n public get selectedIndex(): number {\n return this._selectedValue !== undefined ? this._nonDividerOptions.findIndex(o => o.value === this._selectedValue) : -1;\n }\n\n public set selectedValue(value: any) {\n if (this._selectedValue !== value) {\n this._selectedValue = value;\n this._adapter.setSelectedValues(this._selectedValue);\n }\n }\n public get selectedValue(): any {\n return this._selectedValue;\n }\n\n public get placement(): PopupPlacement {\n return this._placement;\n }\n public set placement(value: PopupPlacement) {\n if (this._placement !== value) {\n this._placement = value || 'bottom-start';\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.PLACEMENT, this._placement);\n }\n }\n\n public get fallbackPlacements(): PopupPlacement[] {\n return this._fallbackPlacements;\n }\n public set fallbackPlacements(value: PopupPlacement[]) {\n this._fallbackPlacements = Array.isArray(value) ? value : [];\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n this._dense = value;\n }\n\n public get iconClass(): string {\n return this._iconClass;\n }\n public set iconClass(value: string) {\n this._iconClass = value;\n }\n\n public get persistSelection(): boolean {\n return this._persistSelection;\n }\n public set persistSelection(value: boolean) {\n if (this._persistSelection === value) {\n return;\n }\n\n this._persistSelection = value;\n this._adapter.toggleHostAttribute(MENU_CONSTANTS.attributes.PERSIST_SELECTION, this._persistSelection);\n\n if (!this._persistSelection) {\n this._flatOptions.forEach(o => o.selected = false);\n this._selectedValue = undefined;\n }\n }\n\n public get mode(): MenuMode {\n return this._mode;\n }\n public set mode(value: MenuMode) {\n if (this._mode !== value) {\n this._mode = value;\n this._destroyInteractionListeners();\n this._applyMode();\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.MODE, this._mode);\n }\n }\n\n public get popupOffset(): IPopupPosition {\n return this._popupOffset;\n }\n public set popupOffset(value: IPopupPosition) {\n this._popupOffset = value;\n }\n\n public get optionBuilder(): MenuOptionBuilder | undefined {\n return this._optionBuilder;\n }\n public set optionBuilder(cb: MenuOptionBuilder | undefined) {\n this._optionBuilder = cb;\n }\n\n public get popupElement(): HTMLElement | null {\n return this._adapter.getDropdownElement();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChild, FoundationProperty, isDefined } from '@tylertech/forge-core';\nimport { tylIconArrowRight } from '@tylertech/tyler-icons/standard';\nimport { CircularProgressComponent } from '../circular-progress';\nimport { IconRegistry } from '../icon';\nimport { LinearProgressComponent } from '../linear-progress';\nimport { ListComponent } from '../list';\nimport { IListDropdownAware, ListDropdownAware } from '../list-dropdown/list-dropdown-aware';\nimport { IPopupPosition, PopupComponent, PopupPlacement } from '../popup';\nimport { MenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOption, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\nimport { MenuFoundation } from './menu-foundation';\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:-webkit-inline-box;display:inline-flex}:host([hidden]){display:none}';\n\nexport interface IMenuComponent extends IListDropdownAware {\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n selectedIndex: number;\n selectedValue: number;\n placement: PopupPlacement;\n fallbackPlacements: PopupPlacement[];\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n popupElement: HTMLElement | undefined;\n propagateKeyEvent(evt: KeyboardEvent): void;\n activateFirstOption(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-menu': IMenuComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-menu-select': CustomEvent<IMenuSelectEventData>;\n 'forge-menu-open': CustomEvent<void>;\n 'forge-menu-close': CustomEvent<void>;\n 'forge-menu-active-change': CustomEvent<IMenuActiveChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-menu>` custom element.\n * \n * @tag forge-menu\n */\n@CustomElement({\n name: MENU_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ListComponent,\n CircularProgressComponent,\n LinearProgressComponent\n ]\n})\nexport class MenuComponent extends ListDropdownAware implements IMenuComponent {\n public static get observedAttributes(): string[] {\n return [\n MENU_CONSTANTS.attributes.OPEN,\n MENU_CONSTANTS.attributes.PLACEMENT,\n MENU_CONSTANTS.attributes.SELECTED_INDEX,\n MENU_CONSTANTS.attributes.SELECTED_VALUE,\n MENU_CONSTANTS.attributes.DENSE,\n MENU_CONSTANTS.attributes.ICON_CLASS,\n MENU_CONSTANTS.attributes.PERSIST_SELECTION,\n MENU_CONSTANTS.attributes.MODE,\n MENU_CONSTANTS.attributes.SYNC_POPUP_WIDTH,\n MENU_CONSTANTS.attributes.POPUP_CLASSES,\n MENU_CONSTANTS.attributes.OPTION_LIMIT,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD\n ];\n }\n\n private _foundation: MenuFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconArrowRight);\n this._foundation = new MenuFoundation(new MenuAdapter(this));\n attachShadowTemplate(this, template, styles);\n }\n\n public connectedCallback(): void {\n if (this.querySelector(MENU_CONSTANTS.selectors.TOGGLE)) {\n this._foundation.initialize();\n } else {\n ensureChild(this, MENU_CONSTANTS.selectors.TOGGLE).then(() => this._foundation.initialize());\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case MENU_CONSTANTS.attributes.OPEN:\n this._foundation.open = isDefined(newValue);\n break;\n case MENU_CONSTANTS.attributes.PLACEMENT:\n this._foundation.placement = newValue as PopupPlacement;\n break;\n case MENU_CONSTANTS.attributes.SELECTED_INDEX:\n this._foundation.selectedIndex = Number(newValue);\n break;\n case MENU_CONSTANTS.attributes.SELECTED_VALUE:\n this._foundation.selectedValue = newValue;\n break;\n case MENU_CONSTANTS.attributes.DENSE:\n this._foundation.dense = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.ICON_CLASS:\n this._foundation.iconClass = newValue;\n break;\n case MENU_CONSTANTS.attributes.PERSIST_SELECTION:\n this.persistSelection = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.MODE:\n this.mode = newValue as MenuMode;\n break;\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n /** Gets/sets the open state. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Gets/sets the array of options to display in the menu. */\n @FoundationProperty()\n public declare options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n\n /** Gets/sets the selected option to the index. Does not support cascading menus. */\n @FoundationProperty()\n public declare selectedIndex: number;\n\n /** Gets/sets the value of the option to select. */\n @FoundationProperty()\n public declare selectedValue: any;\n\n /** Gets/sets the menu placement (default is bottom-left). */\n @FoundationProperty()\n public declare placement: `${PopupPlacement}`;\n\n /** Gets/sets the fallback menu placement for overriding the default of any side. */\n @FoundationProperty()\n public declare fallbackPlacements: `${PopupPlacement}`[];\n\n /** Gets/sets dense state of the list options used in the menu popup. */\n @FoundationProperty()\n public declare dense: boolean;\n\n /** Gets/sets the class name to use for option icons. */\n @FoundationProperty()\n public declare iconClass: string;\n\n /**\n * Gets/sets whether selection of menu items is persisted.\n * @deprecated Please use `<forge-select-dropdown>` for handling selection states.\n */\n @FoundationProperty()\n public declare persistSelection: boolean;\n\n /** Gets/sets the mode that this menu is using. */\n @FoundationProperty()\n public declare mode: MenuMode;\n\n /** Sets the position adjustment on the internal popup element. */\n @FoundationProperty()\n public declare popupOffset: IPopupPosition;\n\n /** Sets the callback that will be executed for each option in the dropdown for producing custom option templates. */\n @FoundationProperty()\n public declare optionBuilder: MenuOptionBuilder;\n\n /** Gets the currently active popup element when the dropdown is open. */\n @FoundationProperty({ set: false })\n public declare popupElement: HTMLElement | undefined;\n\n /** Force propagates the key event from another element this component. */\n public propagateKeyEvent(evt: KeyboardEvent): void {\n this._foundation.onKeydown(evt);\n }\n\n public activateFirstOption(): void {\n this._foundation.activateFirstOption();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { MenuComponent } from './menu';\n\nexport * from './menu-adapter';\nexport * from './menu-constants';\nexport * from './menu-foundation';\nexport * from './menu';\n\nexport function defineMenuComponent(): void {\n defineCustomElement(MenuComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "selectors", "attributes", "events", "numbers", "MENU_CONSTANTS", "MenuAdapter", "BaseAdapter", "component", "_a", "_b", "MENU_CONSTANTS", "id", "event", "callback", "bubbles", "config", "ListDropdown", "options", "index", "listItem", "type", "listener", "el", "key", "evt", "openMenu", "open", "childMenu", "parentValue", "openCb", "closeCb", "selectCb", "menu", "__spreadProps", "__spreadValues", "excludeIndex", "menusToRemove", "values", "list", "popup", "LIST_CONSTANTS", "listElement", "LIST_ITEM_CONSTANTS", "MenuFoundation", "CascadingListDropdownAwareFoundation", "_adapter", "MENU_CONSTANTS", "ICON_CLASS_NAME", "randomChars", "evt", "value", "id", "o", "options", "isListDropdownOptionType", "previousValue", "currentValue", "data", "canSetActiveDescendant", "activeIndex", "activeOption", "hoveredIndex", "hoveredOption", "fromKeyboard", "selectedValues", "config", "params", "results", "isArray", "index", "values", "element", "parentValue", "menu", "__spreadValues", "factory", "option", "cb", "template", "styles", "MenuComponent", "ListDropdownAware", "IconRegistry", "tylIconArrowRight", "MenuFoundation", "MenuAdapter", "attachShadowTemplate", "MENU_CONSTANTS", "ensureChild", "name", "oldValue", "newValue", "isDefined", "coerceBoolean", "evt", "__decorateClass", "FoundationProperty", "CustomElement", "PopupComponent", "ListComponent", "CircularProgressComponent", "LinearProgressComponent", "defineMenuComponent", "defineCustomElement", "MenuComponent"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as i}from"./chunk.T4J66YX5.js";import{a as n}from"./chunk.6ZJIHOIG.js";import{a as o,e as t,k as d}from"./chunk.TPXXHX5J.js";import{d as r}from"./chunk.M3QDAYD2.js";var a=`${n}divider`,s={ROOT:".forge-divider"},m={elementName:a,classes:s};var l='<template><div class="forge-divider" role="separator" part="root"></div></template>',p=".forge-divider{border:none;border-bottom-color:#e0e0e0;border-bottom-color:var(--forge-theme-border-color,#e0e0e0);border-bottom-width:1px;border-bottom-width:var(--forge-divider-width,1px);margin:0;margin:var(--forge-divider-margin,0);height:0;border-bottom-style:solid}:host{display:block;contain:content}:host([hidden]){display:none}:host-context(forge-drawer) .forge-divider{margin:var(--forge-divider-drawer-margin,4px) 0}:host([vertical]){display:inline-block;height:100%}:host([vertical]) .forge-divider{border:none;border-right-color:#e0e0e0;border-right-color:var(--forge-theme-border-color,#e0e0e0);border-right-width:1px;border-right-width:var(--forge-divider-width,1px);margin:0;margin:var(--forge-divider-margin,0);height:100%;width:0;border-right-style:solid}",e=class extends d{constructor(){super(),t(this,l,p)}};e=r([i({name:m.elementName})],e);function I(){o(e)}export{m as a,e as b,I as c};
7
+ //# sourceMappingURL=chunk.AEO2X5OZ.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/divider/divider-constants.ts", "../../src/divider/divider.ts", "../../src/divider/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}divider`;\nconst classes = {\n ROOT: '.forge-divider'\n};\n\nexport const DIVIDER_CONSTANTS = {\n elementName,\n classes\n};\n", "import { attachShadowTemplate, CustomElement } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { DIVIDER_CONSTANTS } from './divider-constants';\n\nconst template = '<template><div class=\\\"forge-divider\\\" role=\\\"separator\\\" part=\\\"root\\\"></div></template>';\nconst styles = '.forge-divider{border:none;border-bottom-color:#e0e0e0;border-bottom-color:var(--forge-theme-border-color,#e0e0e0);border-bottom-width:1px;border-bottom-width:var(--forge-divider-width,1px);margin:0;margin:var(--forge-divider-margin,0);height:0;border-bottom-style:solid}:host{display:block;contain:content}:host([hidden]){display:none}:host-context(forge-drawer) .forge-divider{margin:var(--forge-divider-drawer-margin,4px) 0}:host([vertical]){display:inline-block;height:100%}:host([vertical]) .forge-divider{border:none;border-right-color:#e0e0e0;border-right-color:var(--forge-theme-border-color,#e0e0e0);border-right-width:1px;border-right-width:var(--forge-divider-width,1px);margin:0;margin:var(--forge-divider-margin,0);height:100%;width:0;border-right-style:solid}';\n\nexport interface IDividerComponent extends IBaseComponent {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-divider': IDividerComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-divider>` element.\n * \n * @tag forge-divider\n */\n@CustomElement({\n name: DIVIDER_CONSTANTS.elementName\n})\nexport class DividerComponent extends BaseComponent implements IDividerComponent {\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { DividerComponent } from './divider';\n\nexport * from './divider-constants';\nexport * from './divider';\n\nexport function defineDividerComponent(): void {\n defineCustomElement(DividerComponent);\n}\n"],
5
- "mappings": "6IAEA,IAAMA,EAA2C,GAAGC,WAC9CC,EAAU,CACd,KAAM,gBACR,EAEaC,EAAoB,CAC/B,YAAAH,EACA,QAAAE,CACF,ECNA,IAAME,EAAW,sFACXC,EAAS,wwBAkBFC,EAAN,cAA+BC,CAA2C,CAC/E,aAAc,CACZ,MAAM,EACNC,EAAqB,KAAMJ,EAAUC,CAAM,CAC7C,CACF,EALaC,EAANG,EAAA,CAHNC,EAAc,CACb,KAAMC,EAAkB,WAC1B,CAAC,GACYL,GChBN,SAASM,GAA+B,CAC7CC,EAAoBC,CAAgB,CACtC",
5
+ "mappings": "8KAEA,IAAMA,EAA2C,GAAGC,WAC9CC,EAAU,CACd,KAAM,gBACR,EAEaC,EAAoB,CAC/B,YAAAH,EACA,QAAAE,CACF,ECNA,IAAME,EAAW,sFACXC,EAAS,wwBAkBFC,EAAN,cAA+BC,CAA2C,CAC/E,aAAc,CACZ,MAAM,EACNC,EAAqB,KAAMJ,EAAUC,CAAM,CAC7C,CACF,EALaC,EAANG,EAAA,CAHNC,EAAc,CACb,KAAMC,EAAkB,WAC1B,CAAC,GACYL,GChBN,SAASM,GAA+B,CAC7CC,EAAoBC,CAAgB,CACtC",
6
6
  "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "DIVIDER_CONSTANTS", "template", "styles", "DividerComponent", "BaseComponent", "attachShadowTemplate", "__decorateClass", "CustomElement", "DIVIDER_CONSTANTS", "defineDividerComponent", "defineCustomElement", "DividerComponent"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{r as T}from"./chunk.QG5EYBS3.js";import{a as I}from"./chunk.3TKTJ3BY.js";import{a as d}from"./chunk.NVUMRW44.js";import{a as v}from"./chunk.T4J66YX5.js";import{a as g,d as x}from"./chunk.6ZJIHOIG.js";import{e as m,k as y}from"./chunk.TPXXHX5J.js";import{k as _}from"./chunk.J2M2MXP2.js";import{a as f,d as l}from"./chunk.M3QDAYD2.js";var O=`${g}icon`,B={NAME:"name",SRC:"src",LAZY:"lazy",EXTERNAL:"external",EXTERNAL_TYPE:"external-type",VIEWBOX:"viewbox"},U=f({},B),z={LAZY_ROOT_MARGIN:50,DEFAULT_WIDTH:24,DEFAULT_HEIGHT:24},R={DEFAULT_NETWORK_BASE_URL:`${x}v1/icons/svg`},r={elementName:O,attributes:U,numbers:z,strings:R},H="forgeIcons";var u=class extends I{constructor(t){super(t)}canLazyLoad(){return!!window.IntersectionObserver}observeVisibility(t){this._observer=new IntersectionObserver(i=>{i.some(s=>s.isIntersecting)&&(this.destroyVisibilityObserver(),t())},{rootMargin:`${r.numbers.LAZY_ROOT_MARGIN}px`}),this._observer.observe(this._component)}destroyVisibilityObserver(){this._observer&&(this._observer.disconnect(),this._observer=void 0)}setContent(t){var p;let i=this._component.shadowRoot,s=i.querySelector("style");i.innerHTML=t,t&&((p=i.firstElementChild)==null||p.setAttribute("aria-hidden","true")),s&&i.appendChild(s)}};var n=class n{static define(e,t){if(Array.isArray(e))return e.filter(p=>n._isIconObject(p)).forEach(p=>n._register(p.name,p.data));let{name:i,data:s}=n._parseIcon(e,t);n._register(i,s)}static remove(e){let t=n._isIconObject(e)?e.name:e;n._icons.delete(t)}static removeListener(e,t){let i=n._listeners.get(e);Array.isArray(i)&&i.includes(t)&&i.splice(i.indexOf(t),1)}static clear(){n._icons.clear(),n._listeners.clear()}static get(e){return n._icons.get(e)}static getIconNames(){return Array.from(n._icons.keys())}static awaitIcon(e,t){var s;if(n._icons.has(e)){t();return}let i=(s=n._listeners.get(e))!=null?s:[];n._listeners.set(e,[...i,t])}static get size(){return n._icons.size}static _register(e,t){n._icons.set(e,t),n._invalidateListeners(e)}static _invalidateListeners(e){let t=n._listeners.get(e);Array.isArray(t)&&t.length&&(t.forEach(i=>i()),n._listeners.delete(e))}static _parseIcon(e,t=""){return n._isIconObject(e)?e:{name:e,data:t}}static _isIconObject(e){return typeof e=="object"&&e.hasOwnProperty("name")&&e.hasOwnProperty("data")}};n._icons=new Map,n._listeners=new Map;var c=n;var b=new Map;function E(o,e,t=!0){if(!o||!o.includes("svg"))return"";!e&&!o.includes("viewBox")&&(e=`0 0 ${r.numbers.DEFAULT_WIDTH} ${r.numbers.DEFAULT_HEIGHT}`);let i=T(o,e);return t&&i&&(i.setAttribute("part","svg"),i.querySelectorAll("path").forEach(s=>{s.setAttribute("part",s.tagName.toLowerCase())})),i?i.outerHTML:""}function A(o){return c.get(o)}function L(o,e){c.awaitIcon(o,e)}function C(o,e){c.removeListener(o,e)}function N(o,e){let t=b.get(o);if(!t)if(typeof fetch!="undefined"&&typeof document!="undefined")t=fetch(o).then(async i=>{if(i.ok){let s=await i.text()||"";return c.define({name:e,data:s}),b.delete(o),s}return c.define({name:e,data:""}),""}),b.set(o,t);else return c.define({name:e,data:""}),Promise.resolve("");return t||Promise.resolve("")}function w(o){return["standard","extended","custom"].includes(o)?o:""}var h=class{constructor(e){this._adapter=e;this._external=!1;this._externalType="standard";this._lazyListener=()=>this._loadIcon()}initialize(){this._applyIcon()}disconnect(){this._adapter.destroyVisibilityObserver(),this._clearIconQueue(),this._tryRemoveListener()}_safeApplyIcon(){this._adapter.isConnected&&(this._clearIconQueue(),this._queueIconUpdate())}_tryRemoveListener(){this._registrationListener&&this._name&&C(this._name,this._registrationListener)}_applyIcon(){this._lazy&&this._adapter.canLazyLoad()?this._adapter.observeVisibility(this._lazyListener):this._loadIcon()}_clearIconQueue(){this._applyTimer&&(clearTimeout(this._applyTimer),this._applyTimer=void 0)}_queueIconUpdate(){this._applyTimer=window.setTimeout(()=>{this._applyTimer=void 0,this._applyIcon()})}async _loadIcon(){try{if(this._src)this._setIconContent(this._src);else if(this._name){let e=this._tryGetIcon(this._name);if(!e){if(!this._external){this._registrationListener=()=>this._applyIcon(),L(this._name,this._registrationListener),this._adapter.setContent("");return}if(!this._externalType)throw new Error(`Invalid external type provided for icon: ${this._name}`);let t=this._getExternalUrl(this._name,this._externalType);t&&(e=await N(t,this._name))}this._setIconContent(e)}else this._adapter.setContent("")}catch(e){throw this._adapter.setContent(""),e}}_setIconContent(e){let t=E(e,this._viewbox);this._adapter.setContent(t)}_tryGetIcon(e){return A(e)}_getExternalUrl(e,t){if(typeof this._externalUrlBuilder=="function")return this._externalUrlBuilder(e,t);let i=w(this._externalType);return`${r.strings.DEFAULT_NETWORK_BASE_URL}${i?`/${i}`:""}/${e}.svg`}get name(){return this._name}set name(e){this._name!==e&&(this._registrationListener&&this._tryRemoveListener(),this._name=(e||"").replace(/\s+/,""),this._safeApplyIcon(),this._adapter.toggleHostAttribute(r.attributes.NAME,!!this._name,this._name))}get src(){return this._src}set src(e){this._src!==e&&(this._src=e,this._adapter.isConnected&&this._applyIcon())}get lazy(){return this._lazy}set lazy(e){this._lazy!==e&&(this._lazy=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.LAZY,`${this._lazy}`))}get external(){return this._external}set external(e){this._external!==e&&(this._external=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.EXTERNAL,`${this._external}`))}get externalType(){return this._externalType}set externalType(e){this._externalType!==e&&(this._externalType=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.EXTERNAL_TYPE,`${this._externalType}`))}get externalUrlBuilder(){return this._externalUrlBuilder}set externalUrlBuilder(e){this._externalUrlBuilder!==e&&(this._externalUrlBuilder=e,this._safeApplyIcon())}get viewbox(){return this._viewbox}set viewbox(e){this._viewbox!==e&&(this._viewbox=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.VIEWBOX,`${this.viewbox}`))}layout(){this._adapter.isConnected&&this._applyIcon()}};var S="<template></template>",M=':host{font-size:24px;font-size:var(--forge-icon-font-size, 24px);display:inline-block;contain:content;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host>svg{fill:currentColor;fill:var(--forge-icon-theme-color,currentColor);stroke:currentColor;stroke:var(--forge-icon-theme-color,currentColor);display:block;width:1em;height:1em;stroke-width:0}:host([hidden]){display:none}:host([theme=primary]){color:var("primary")}:host([theme=secondary]){color:var("secondary")}:host([theme=warning]){color:#d14900;color:var("warning", #d14900)}:host([theme=danger]){color:#b00020;color:var("danger", #b00020)}:host([theme=success]){color:#2e7d32;color:var("success", #2e7d32)}:host([theme=info]){color:#424242;color:var("info", #424242)}:host([theme=tertiary]){color:#3d5afe;color:var("tertiary", #3d5afe)}',a=class extends y{constructor(){super();m(this,S,M),this._foundation=new h(new u(this))}static get observedAttributes(){return[r.attributes.NAME,r.attributes.SRC,r.attributes.LAZY,r.attributes.EXTERNAL,r.attributes.EXTERNAL_TYPE,r.attributes.VIEWBOX]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,s){switch(t){case r.attributes.NAME:this.name=s;break;case r.attributes.SRC:this.src=s;break;case r.attributes.LAZY:this.lazy=_(s);break;case r.attributes.EXTERNAL:this.external=_(s);break;case r.attributes.EXTERNAL_TYPE:this.externalType=s;break;case r.attributes.VIEWBOX:this.viewbox=s;break}}layout(){this._foundation.layout()}};l([d()],a.prototype,"name",2),l([d()],a.prototype,"src",2),l([d()],a.prototype,"lazy",2),l([d()],a.prototype,"external",2),l([d()],a.prototype,"externalType",2),l([d()],a.prototype,"externalUrlBuilder",2),l([d()],a.prototype,"viewbox",2),a=l([v({name:r.elementName})],a);export{r as a,H as b,u as c,c as d,E as e,A as f,L as g,C as h,N as i,w as j,h as k,a as l};
7
+ //# sourceMappingURL=chunk.AIPDMLJD.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/icon/icon-constants.ts", "../../src/icon/icon-adapter.ts", "../../src/icon/icon-registry.ts", "../../src/icon/icon-utils.ts", "../../src/icon/icon-foundation.ts", "../../src/icon/icon.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX, CDN_BASE_URL } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}icon`;\n\nconst observedAttributes = {\n NAME: 'name',\n SRC: 'src',\n LAZY: 'lazy',\n EXTERNAL: 'external',\n EXTERNAL_TYPE: 'external-type',\n VIEWBOX: 'viewbox'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst numbers = {\n LAZY_ROOT_MARGIN: 50,\n DEFAULT_WIDTH: 24,\n DEFAULT_HEIGHT: 24\n};\n\nconst strings = {\n DEFAULT_NETWORK_BASE_URL: `${CDN_BASE_URL}v1/icons/svg`\n};\n\nexport const ICON_CONSTANTS = {\n elementName,\n attributes,\n numbers,\n strings\n};\n\nexport const ICON_REGISTRY_KEY = 'forgeIcons';\n\nexport declare type IconUrlBuilder = (name: string, type: IconExternalType) => string;\nexport declare type IconExternalType = '' | 'custom' | 'standard' | 'extended';\n", "import { IIconComponent } from './icon';\nimport { BaseAdapter, IBaseAdapter } from '../core';\nimport { ICON_CONSTANTS } from './icon-constants';\n\nexport interface IIconAdapter extends IBaseAdapter {\n canLazyLoad(): boolean;\n observeVisibility(listener: () => void): void;\n destroyVisibilityObserver(): void;\n setContent(content: string): void;\n}\n\nexport class IconAdapter extends BaseAdapter<IIconComponent> implements IIconAdapter {\n private _observer: IntersectionObserver | undefined;\n\n constructor(component: IIconComponent) {\n super(component);\n }\n\n public canLazyLoad(): boolean {\n return !!window.IntersectionObserver;\n }\n\n public observeVisibility(listener: () => void): void {\n this._observer = new IntersectionObserver(entries => {\n if (entries.some(entry => entry.isIntersecting)) {\n this.destroyVisibilityObserver();\n listener();\n }\n }, { rootMargin: `${ICON_CONSTANTS.numbers.LAZY_ROOT_MARGIN}px` });\n this._observer.observe(this._component);\n }\n\n public destroyVisibilityObserver(): void {\n if (this._observer) {\n this._observer.disconnect();\n this._observer = undefined;\n }\n }\n\n public setContent(content: string): void {\n const shadowRoot = this._component.shadowRoot as ShadowRoot;\n const styleTag = shadowRoot.querySelector('style');\n shadowRoot.innerHTML = content;\n if (content) {\n shadowRoot.firstElementChild?.setAttribute('aria-hidden', 'true');\n }\n if (styleTag) {\n shadowRoot.appendChild(styleTag);\n }\n }\n}\n", "/** The shape of an SVG icon that can be defined with the icon registry. */\nexport interface IIcon {\n /** The unique name of the icon. */\n name: string;\n /** The SVG icon data. */\n data: string;\n}\n\n/**\n * The registry for SVG icon instances being used within the current context.\n */\nexport class IconRegistry {\n private static _icons = new Map<string, string>();\n private static _listeners = new Map<string, Array<() => void>>();\n\n /**\n * Defines a new icon.\n * @param icon The icon(s) to register.\n */\n public static define(icon: IIcon | IIcon[] | string, svgData?: string): void {\n if (Array.isArray(icon)) {\n return icon.filter(i => IconRegistry._isIconObject(i))\n .forEach(i => IconRegistry._register(i.name, i.data));\n }\n const { name, data } = IconRegistry._parseIcon(icon, svgData);\n IconRegistry._register(name, data);\n }\n\n /**\n * Removes a defined icon.\n * @param icon The icon to unregister.\n */\n public static remove(icon: IIcon | string): void {\n const key = IconRegistry._isIconObject(icon) ? icon.name : icon;\n IconRegistry._icons.delete(key);\n }\n\n /**\n * Removes a listener\n * @param key The icon name.\n * @param listener The listener callback.\n */\n public static removeListener(key: string, listener: () => void): void {\n const listeners = IconRegistry._listeners.get(key);\n if (Array.isArray(listeners) && listeners.includes(listener)) {\n listeners.splice(listeners.indexOf(listener), 1);\n }\n }\n\n /** Removes all defined icons. */\n public static clear(): void {\n IconRegistry._icons.clear();\n IconRegistry._listeners.clear();\n }\n\n /** Gets the icon data by its name, or `undefined` if not found. */\n public static get(name: string): string | undefined {\n return IconRegistry._icons.get(name);\n }\n\n /** Gets the names of registered icons. */\n public static getIconNames(): string[] {\n return Array.from(IconRegistry._icons.keys());\n }\n\n /** Registers a listener to be notified when an icon with the provided key is registered in the future. */\n public static awaitIcon(key: string, listener: () => void): void {\n if (IconRegistry._icons.has(key)) {\n listener();\n return;\n }\n const listeners = IconRegistry._listeners.get(key) ?? [];\n IconRegistry._listeners.set(key, [...listeners, listener]);\n }\n\n /** Gets the number of defined icons in the registry. */\n public static get size(): number {\n return IconRegistry._icons.size;\n }\n\n /** Registers an icon, and attempts to invalidate any listeners. */\n private static _register(key: string, value: string): void {\n IconRegistry._icons.set(key, value);\n IconRegistry._invalidateListeners(key);\n }\n\n /** Gets all listeners for a specific key, calls the listeners (if any are found), and removes the listeners after they are called. */\n private static _invalidateListeners(key: string): void {\n const listeners = IconRegistry._listeners.get(key);\n if (Array.isArray(listeners) && listeners.length) {\n listeners.forEach(listener => listener());\n IconRegistry._listeners.delete(key);\n }\n }\n\n /** Normalizes incoming parameters to an `IIcon` type. */\n private static _parseIcon(icon: IIcon | string, data = ''): IIcon {\n if (IconRegistry._isIconObject(icon)) {\n return icon;\n }\n return { name: icon, data };\n }\n\n /** Determines if the provided `icon` matches the `IIcon` shape. */\n private static _isIconObject(icon: any): icon is IIcon {\n return typeof icon === 'object' && icon.hasOwnProperty('name') && icon.hasOwnProperty('data');\n }\n}\n", "import { IconRegistry } from './icon-registry';\nimport { ICON_CONSTANTS } from './icon-constants';\nimport { createSvgFromString } from '../core/utils/svg-utils';\n\nconst _activeIconRequests = new Map<string, Promise<any>>();\n\n/** Determines if the provided SVG icon content is valid */\nexport function sanitizeSvgContent(svgContent: string | undefined, customViewBox?: string, usePartAttrs = true): string {\n if (!svgContent || !svgContent.includes('svg')) {\n return '';\n }\n \n if (!customViewBox && !svgContent.includes('viewBox')) {\n customViewBox = `0 0 ${ICON_CONSTANTS.numbers.DEFAULT_WIDTH} ${ICON_CONSTANTS.numbers.DEFAULT_HEIGHT}`;\n }\n\n const svgElement = createSvgFromString(svgContent, customViewBox);\n\n if (usePartAttrs && svgElement) {\n svgElement.setAttribute('part', 'svg');\n svgElement.querySelectorAll('path').forEach(node => {\n node.setAttribute('part', node.tagName.toLowerCase());\n });\n }\n\n return svgElement ? svgElement.outerHTML : '';\n}\n\nexport function getCachedIcon(key: string): string | undefined {\n return IconRegistry.get(key);\n}\n\nexport function awaitIconDefinition(key: string, listener: () => void): void {\n IconRegistry.awaitIcon(key, listener);\n}\n\nexport function removeIconListener(key: string, listener: () => void): void {\n IconRegistry.removeListener(key, listener);\n}\n\nexport function fetchIconContent(url: string, name: string): Promise<string> {\n // Check if we already have an active request for this URL\n let request = _activeIconRequests.get(url);\n\n if (!request) {\n if (typeof fetch !== 'undefined' && typeof document !== 'undefined') {\n // we don't already have a request\n request = fetch(url).then(async response => {\n if (response.ok) {\n const data = await response.text() || '';\n IconRegistry.define({ name, data });\n _activeIconRequests.delete(url);\n return data;\n }\n IconRegistry.define({ name, data: '' });\n return '';\n });\n\n // Cache this request in case of duplicate requests\n _activeIconRequests.set(url, request);\n } else {\n // set to empty for ssr scenarios and resolve promise\n IconRegistry.define({ name, data: '' });\n return Promise.resolve('');\n }\n }\n\n return request || Promise.resolve('');\n}\n\nexport function sanitizeExternalType(type: string): string {\n const isValidType = ['standard', 'extended', 'custom'].includes(type);\n return isValidType ? type : '';\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IIconAdapter } from './icon-adapter';\nimport { ICON_CONSTANTS, IconUrlBuilder, IconExternalType } from './icon-constants';\nimport { sanitizeSvgContent, fetchIconContent, getCachedIcon, sanitizeExternalType, awaitIconDefinition, removeIconListener } from './icon-utils';\n\nexport interface IIconFoundation extends ICustomElementFoundation {\n name: string | undefined;\n src: string | undefined;\n lazy: boolean;\n external: boolean;\n externalType: IconExternalType;\n externalUrlBuilder: IconUrlBuilder;\n viewbox: string;\n layout(): void;\n}\n\nexport class IconFoundation implements IIconFoundation {\n private _name: string | undefined;\n private _src: string | undefined;\n private _lazy: boolean;\n private _external = false;\n private _externalType: IconExternalType = 'standard';\n private _externalUrlBuilder: IconUrlBuilder;\n private _viewbox: string;\n private _applyTimer: number | undefined;\n private _lazyListener: () => void;\n private _registrationListener: () => void;\n\n constructor(private _adapter: IIconAdapter) {\n this._lazyListener = () => this._loadIcon();\n }\n\n public initialize(): void {\n this._applyIcon();\n }\n\n public disconnect(): void {\n this._adapter.destroyVisibilityObserver();\n this._clearIconQueue();\n this._tryRemoveListener();\n }\n\n private _safeApplyIcon(): void {\n if (!this._adapter.isConnected) {\n return;\n }\n this._clearIconQueue();\n this._queueIconUpdate();\n }\n\n private _tryRemoveListener(): void {\n if (this._registrationListener && this._name) {\n removeIconListener(this._name, this._registrationListener);\n }\n }\n\n private _applyIcon(): void {\n if (this._lazy && this._adapter.canLazyLoad()) {\n this._adapter.observeVisibility(this._lazyListener);\n } else {\n this._loadIcon();\n }\n }\n\n private _clearIconQueue(): void {\n if (this._applyTimer) {\n clearTimeout(this._applyTimer);\n this._applyTimer = undefined;\n }\n }\n\n private _queueIconUpdate(): void {\n this._applyTimer = window.setTimeout(() => {\n this._applyTimer = undefined;\n this._applyIcon();\n });\n }\n\n private async _loadIcon(): Promise<void> {\n try {\n if (this._src) {\n // We were provided direct icon source content so just set that\n this._setIconContent(this._src);\n } else if (this._name) {\n // Let's attempt to get our icon from the cache\n let content = this._tryGetIcon(this._name);\n\n if (!content) {\n if (!this._external) {\n // We attach a listener to the registry to let us know when the icon is registered\n this._registrationListener = () => this._applyIcon();\n awaitIconDefinition(this._name, this._registrationListener);\n\n // For now, we render nothing...\n this._adapter.setContent('');\n return;\n }\n \n // We don't have a registry icon, so let's try the network to fetch it\n if (!this._externalType) {\n throw new Error(`Invalid external type provided for icon: ${this._name}`);\n }\n const url = this._getExternalUrl(this._name, this._externalType);\n if (url) {\n content = await fetchIconContent(url, this._name);\n }\n }\n\n this._setIconContent(content);\n } else {\n this._adapter.setContent('');\n }\n } catch (e) {\n this._adapter.setContent('');\n throw e;\n }\n }\n\n private _setIconContent(svgContent: string | undefined): void {\n const content = sanitizeSvgContent(svgContent, this._viewbox);\n this._adapter.setContent(content);\n }\n\n private _tryGetIcon(key: string): string | undefined {\n return getCachedIcon(key);\n }\n\n private _getExternalUrl(name: string, type: IconExternalType): string {\n if (typeof this._externalUrlBuilder === 'function') {\n return this._externalUrlBuilder(name, type);\n }\n const setName = sanitizeExternalType(this._externalType);\n return `${ICON_CONSTANTS.strings.DEFAULT_NETWORK_BASE_URL}${setName ? `/${setName}` : ''}/${name}.svg`;\n }\n\n public get name(): string | undefined {\n return this._name;\n }\n public set name(value: string | undefined) {\n if (this._name !== value) {\n // We need to remove our listener for the previous name if we have any\n if (!!this._registrationListener) {\n this._tryRemoveListener();\n }\n this._name = (value || '').replace(/\\s+/, '');\n this._safeApplyIcon();\n this._adapter.toggleHostAttribute(ICON_CONSTANTS.attributes.NAME, !!this._name, this._name);\n }\n }\n\n public get src(): string | undefined {\n return this._src;\n }\n public set src(value: string | undefined) {\n if (this._src !== value) {\n this._src = value;\n if (this._adapter.isConnected) {\n this._applyIcon();\n }\n }\n }\n\n public get lazy(): boolean {\n return this._lazy;\n }\n public set lazy(value: boolean) {\n if (this._lazy !== value) {\n this._lazy = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.LAZY, `${this._lazy}`);\n }\n }\n\n public get external(): boolean {\n return this._external;\n }\n public set external(value: boolean) {\n if (this._external !== value) {\n this._external = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL, `${this._external}`);\n }\n }\n\n public get externalType(): IconExternalType {\n return this._externalType;\n }\n public set externalType(value: IconExternalType) {\n if (this._externalType !== value) {\n this._externalType = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL_TYPE, `${this._externalType}`);\n }\n }\n\n public get externalUrlBuilder(): IconUrlBuilder {\n return this._externalUrlBuilder;\n }\n public set externalUrlBuilder(cb: IconUrlBuilder) {\n if (this._externalUrlBuilder !== cb) {\n this._externalUrlBuilder = cb;\n this._safeApplyIcon();\n }\n }\n \n public get viewbox(): string {\n return this._viewbox;\n }\n public set viewbox(value: string) {\n if (this._viewbox !== value) {\n this._viewbox = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.VIEWBOX, `${this.viewbox}`);\n }\n }\n\n public layout(): void {\n if (this._adapter.isConnected) {\n this._applyIcon();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { IconAdapter } from './icon-adapter';\nimport { IconFoundation } from './icon-foundation';\nimport { ICON_CONSTANTS, IconUrlBuilder, IconExternalType } from './icon-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template></template>';\nconst styles = ':host{font-size:24px;font-size:var(--forge-icon-font-size, 24px);display:inline-block;contain:content;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host>svg{fill:currentColor;fill:var(--forge-icon-theme-color,currentColor);stroke:currentColor;stroke:var(--forge-icon-theme-color,currentColor);display:block;width:1em;height:1em;stroke-width:0}:host([hidden]){display:none}:host([theme=primary]){color:var(\\\"primary\\\")}:host([theme=secondary]){color:var(\\\"secondary\\\")}:host([theme=warning]){color:#d14900;color:var(\\\"warning\\\", #d14900)}:host([theme=danger]){color:#b00020;color:var(\\\"danger\\\", #b00020)}:host([theme=success]){color:#2e7d32;color:var(\\\"success\\\", #2e7d32)}:host([theme=info]){color:#424242;color:var(\\\"info\\\", #424242)}:host([theme=tertiary]){color:#3d5afe;color:var(\\\"tertiary\\\", #3d5afe)}';\n\nexport interface IIconComponent extends IBaseComponent {\n name: string | undefined;\n src: string | undefined;\n lazy: boolean;\n external: boolean;\n externalType: IconExternalType;\n externalUrlBuilder: IconUrlBuilder;\n viewbox: string;\n layout(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-icon': IIconComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-icon>` custom element.\n * \n * @tag forge-icon\n */\n@CustomElement({\n name: ICON_CONSTANTS.elementName\n})\nexport class IconComponent extends BaseComponent implements IIconComponent {\n public static get observedAttributes(): string[] {\n return [\n ICON_CONSTANTS.attributes.NAME,\n ICON_CONSTANTS.attributes.SRC,\n ICON_CONSTANTS.attributes.LAZY,\n ICON_CONSTANTS.attributes.EXTERNAL,\n ICON_CONSTANTS.attributes.EXTERNAL_TYPE,\n ICON_CONSTANTS.attributes.VIEWBOX\n ];\n }\n\n private _foundation: IconFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new IconFoundation(new IconAdapter(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 ICON_CONSTANTS.attributes.NAME:\n this.name = newValue;\n break;\n case ICON_CONSTANTS.attributes.SRC:\n this.src = newValue;\n break;\n case ICON_CONSTANTS.attributes.LAZY:\n this.lazy = coerceBoolean(newValue);\n break;\n case ICON_CONSTANTS.attributes.EXTERNAL:\n this.external = coerceBoolean(newValue);\n break;\n case ICON_CONSTANTS.attributes.EXTERNAL_TYPE:\n this.externalType = newValue as IconExternalType;\n break;\n case ICON_CONSTANTS.attributes.VIEWBOX:\n this.viewbox = newValue;\n break;\n }\n }\n\n /** The name of the icon within the icon registry to be used. */\n @FoundationProperty()\n public declare name: string | undefined;\n\n /** Provides the ability to set the SVG string content directly. */\n @FoundationProperty()\n public declare src: string | undefined;\n\n /** Controls whether the icon will be loaded dynamically when it comes into view. False by default. */\n @FoundationProperty()\n public declare lazy: boolean;\n\n /** Controls whether external network requests are allowed for this icon. Only pertains for icons that aren't defined in the registry. */\n @FoundationProperty()\n public declare external: boolean;\n\n /** The type of icon to load externally. Possible values: \"standard\", \"extended\", \"custom\". */\n @FoundationProperty()\n public declare externalType: IconExternalType;\n\n /** A callback that can be provided to generate a URL that will be used to fetch an SVG icon. */\n @FoundationProperty()\n public declare externalUrlBuilder: IconUrlBuilder;\n\n /** A custom value to apply to the `viewBox` attribute on the internal `<svg>` element. */\n @FoundationProperty()\n public declare viewbox: string;\n\n /** Forces a reload of the icon. */\n public layout(): void {\n this._foundation.layout();\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "numbers", "strings", "CDN_BASE_URL", "ICON_CONSTANTS", "ICON_REGISTRY_KEY", "IconAdapter", "BaseAdapter", "component", "listener", "entries", "entry", "ICON_CONSTANTS", "content", "_a", "shadowRoot", "styleTag", "_IconRegistry", "icon", "svgData", "i", "name", "data", "key", "listener", "listeners", "_a", "value", "IconRegistry", "_activeIconRequests", "sanitizeSvgContent", "svgContent", "customViewBox", "usePartAttrs", "ICON_CONSTANTS", "svgElement", "createSvgFromString", "node", "getCachedIcon", "key", "IconRegistry", "awaitIconDefinition", "listener", "removeIconListener", "fetchIconContent", "url", "name", "request", "response", "data", "sanitizeExternalType", "type", "IconFoundation", "_adapter", "removeIconListener", "content", "awaitIconDefinition", "url", "fetchIconContent", "svgContent", "sanitizeSvgContent", "key", "getCachedIcon", "name", "type", "setName", "sanitizeExternalType", "ICON_CONSTANTS", "value", "cb", "template", "styles", "IconComponent", "BaseComponent", "attachShadowTemplate", "IconFoundation", "IconAdapter", "ICON_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as z}from"./chunk.PRJHBUU2.js";import{d as V}from"./chunk.VG452D3L.js";import{i as I,j as L,m as x,n as S,o as O,p as C,q as A}from"./chunk.QG5EYBS3.js";import{a as k}from"./chunk.YTBNAGLS.js";import{p as T}from"./chunk.RCPUTZON.js";import{a as y}from"./chunk.3TKTJ3BY.js";import{a as l}from"./chunk.NVUMRW44.js";import{a as m}from"./chunk.T4J66YX5.js";import{a as E,h as n}from"./chunk.6ZJIHOIG.js";import{a as w,e as g,f as h}from"./chunk.TPXXHX5J.js";import{u as p,v as d}from"./chunk.HZUQXCOQ.js";import{b as u,c as f,k as c}from"./chunk.J2M2MXP2.js";import{d as s}from"./chunk.M3QDAYD2.js";var N=`${E}switch`,P={HIDDEN:"hidden"},F={ON:"on",SELECTED:"selected",DEFAULT_ON:"default-on",VALUE:"value",DENSE:"dense",DISABLED:"disabled",REQUIRED:"required",READONLY:"readonly",ICON:"icon",LABEL_POSITION:"label-position"},H={ROOT:".forge-switch",INPUT:"#input",LABEL:"#label",ICON_ON:"#icon-on",ICON_OFF:"#icon-off",INPUT_SLOT:"slot[name=input]",STATE_LAYER:"forge-state-layer",SLOTTED_INPUT:"input[type=checkbox]"},M={CHANGE:`${N}-change`},R={ON:"on",OFF:"off"},B=[...I],i={classes:P,selectors:H,attributes:F,elementName:N,events:M,state:R,forwardedAttributes:B};var b=class extends y{constructor(t){super(t);this._rootElement=h(t,i.selectors.ROOT),this._inputElement=h(t,i.selectors.INPUT),this._labelElement=h(t,i.selectors.LABEL),this._iconOnElement=h(t,i.selectors.ICON_ON),this._iconOffElement=h(t,i.selectors.ICON_OFF),this._stateLayerElement=h(t,i.selectors.STATE_LAYER),this._inputAdapter=new A}get _activeInputElement(){var t;return(t=this._inputAdapter.el)!=null?t:this._inputElement}initialize(){let t=this._component.querySelector(i.selectors.SLOTTED_INPUT);t?(t.slot="input",this._switchInput(t,this._inputElement)):this._initializeForwardObserver(this._inputElement),this._observeInput(t!=null?t:this._inputElement)}setOn(t){this._activeInputElement.checked=t}setDefaultOn(t){this._activeInputElement.toggleAttribute("checked",t)}setValue(t){this._activeInputElement.value=t}setDisabled(t){this._activeInputElement.disabled=t,this._stateLayerElement.disabled=t}setRequired(t){this._activeInputElement.required=t}setReadonly(t){this._activeInputElement.readOnly=t,d(this._activeInputElement,t,"aria-readonly",t.toString()),this._stateLayerElement.disabled=t}setIconVisibility(t){let o=t==="none"||t==="off",a=t==="none"||t==="on";p(this._iconOnElement,o,i.classes.HIDDEN),p(this._iconOffElement,a,i.classes.HIDDEN)}setLabelPosition(t){this._labelElement.remove(),t==="start"?this._rootElement.prepend(this._labelElement):this._rootElement.append(this._labelElement)}addRootListener(t,o){this._rootElement.addEventListener(t,o)}addInputSlotListener(t){this._inputElement.addEventListener("slotchange",t)}detectInputElement(){let t=this._inputSlotElement.assignedElements()[0];t?this._inputAdapter.attachElement(t):this._inputAdapter.attachElement(this._inputElement)}proxyClick(){this._activeInputElement.click(),this._activeInputElement.focus()}proxyLabel(t){this._labelElementText=t!=null?t:void 0,this._setAriaLabel()}syncValue(t){if(t===null){this._component[n].setFormValue(null,i.state.OFF);return}let o=new FormData;o.append(this._component.name,t),this._component[n].setFormValue(o,i.state.ON)}syncValidity(t){t?this._activeInputElement.setCustomValidity(this._component[n].validationMessage):this._activeInputElement.setCustomValidity(""),this._component[n].setValidity(this._activeInputElement.validity,this._activeInputElement.validationMessage,this._activeInputElement)}setValidity(t,o){this._component[n].setValidity(t,o,this._activeInputElement)}_initializeInput(){var t;(t=this._forwardObserver)==null||t.disconnect(),this._initializeForwardObserver(this._activeInputElement)}_initializeForwardObserver(t){this._forwardObserver=x(this._component,i.forwardedAttributes,(o,a)=>{if(o==="aria-label"){this._forwardedAriaLabel=a!=null?a:void 0,this._setAriaLabel();return}d(t,!!a,o,a!=null?a:void 0)})}_setAriaLabel(){var o;let t=!!this._forwardedAriaLabel||!!this._labelElementText;d(this._activeInputElement,t,"aria-label",(o=this._forwardedAriaLabel)!=null?o:this._labelElementText)}_switchInput(t,o){S(o,t,["type","role","checked","aria-readonly"]),O(o,t,L),C(o,t)}_observeInput(t=this._inputElement){this._inputAdapter.initialize(t,(o,a)=>{this._switchInput(o,a),this._initializeInput()})}};var v=class{constructor(e){this._adapter=e;this._on=!1;this._defaultOn=!1;this._value="on";this._dense=!1;this._disabled=!1;this._required=!1;this._readonly=!1;this._icon="on";this._labelPosition="end";this._changeListener=t=>this._handleChange(t),this._inputSlotListener=()=>this._handleInputSlotChange()}get _submittedValue(){return this._on?this._value:null}initialize(){this._adapter.initialize(),this._adapter.addRootListener("change",this._changeListener),this._adapter.addInputSlotListener(this._inputSlotListener),this._adapter.setIconVisibility(this._icon),this._adapter.syncValue(this._submittedValue)}proxyClick(){this._adapter.proxyClick()}proxyLabel(e){this._adapter.proxyLabel(e)}syncValidity(e){this._adapter.syncValidity(e)}setValidity(e,t){this._adapter.setValidity(e,t)}_handleChange(e){if(this._readonly){this._adapter.setOn(this._on);return}let o=e.target.checked,a=this._on;if(this._on=o,!this._adapter.emitHostEvent(i.events.CHANGE,o,!0,!0)){this._on=a,this._adapter.setOn(this._on);return}this._adapter.syncValue(this._submittedValue),this._setOnAttribute()}_handleInputSlotChange(){this._adapter.detectInputElement()}_setOnAttribute(){this._adapter.toggleHostAttribute(i.attributes.ON,this._on),this._adapter.toggleHostAttribute(i.attributes.SELECTED,this._on)}get on(){return this._on}set on(e){this._on!==e&&(this._on=e,this._adapter.setOn(this._on),this._adapter.syncValue(this._submittedValue),this._setOnAttribute())}get defaultOn(){return this._defaultOn}set defaultOn(e){this._defaultOn!==e&&(this._defaultOn=e,this._adapter.setDefaultOn(this._defaultOn),this._adapter.toggleHostAttribute(i.attributes.DEFAULT_ON,this._defaultOn))}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this._adapter.setValue(this._value),this._adapter.syncValue(this._submittedValue),this._adapter.toggleHostAttribute(i.attributes.VALUE,!0,this._value))}get dense(){return this._dense}set dense(e){this._dense!==e&&(this._dense=e,this._adapter.toggleHostAttribute(i.attributes.DENSE,this._dense))}get disabled(){return this._disabled}set disabled(e){this._disabled!==e&&(this._disabled=e,this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled))}get required(){return this._required}set required(e){this._required!==e&&(this._required=e,this._adapter.setRequired(this._required),this._adapter.toggleHostAttribute(i.attributes.REQUIRED,this._required))}get readonly(){return this._readonly}set readonly(e){this._readonly!==e&&(this._readonly=e,this._adapter.setReadonly(this._readonly),this._adapter.toggleHostAttribute(i.attributes.READONLY,this._readonly))}get icon(){return this._icon}set icon(e){this._icon!==e&&(this._icon=e,this._adapter.setIconVisibility(this._icon),this._adapter.setHostAttribute(i.attributes.ICON,this._icon))}get labelPosition(){return this._labelPosition}set labelPosition(e){this._labelPosition!==e&&(this._labelPosition=e,this._adapter.setLabelPosition(this._labelPosition),this._adapter.setHostAttribute(i.attributes.LABEL_POSITION,this._labelPosition))}};var q='<template><div class="forge-switch" part="switch"><div id="container" class="container"><slot name="input"><input id="input" class="input" type="checkbox" role="switch"></slot><div class="track" part="track"></div><div class="handle" part="handle"><div id="icon-off" class="icon icon__off" part="icon-off"><slot name="icon-off"><svg aria-hidden="true" viewBox="0 0 24 24"><path d="M20 13H4v-2h16v2z"/></svg></slot></div><div id="icon-on" class="icon icon__on" part="icon-on"><slot name="icon-on"><svg aria-hidden="true" viewBox="0 0 24 24"><path d="M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"/></svg></slot></div><forge-state-layer target="container" exportparts="surface:state-layer"></forge-state-layer></div><forge-focus-indicator target="container" part="focus-indicator"></forge-focus-indicator></div><label id="label" for="input" class="label" part="label"><slot></slot></label></div></template>',U=':host{display:inline-block}: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:[V,T]})],r);var D=class extends k{constructor(e){super(e)}get value(){return this._element.value}set value(e){this._element.value=e}get on(){return this._element.on}set on(e){this._element.on=e}get selected(){return this._element.selected}set selected(e){this._element.selected=e}get defaultOn(){return this._element.defaultOn}set defaultOn(e){this._element.defaultOn=e}get icon(){return this._element.icon}set icon(e){this._element.icon=e}get disabled(){return this._element.disabled}set disabled(e){this._element.disabled=e}get dense(){return this._element.dense}set dense(e){this._element.dense=e}get required(){return this._element.required}set required(e){this._element.required=e}get readonly(){return this._element.readonly}set readonly(e){this._element.readonly=e}get name(){return this._element.name}set name(e){this._element.name=e}get labelPosition(){return this._element.labelPosition}set labelPosition(e){this._element.labelPosition=e}onChange(e){this._element.addEventListener("forge-switch-change",({detail:t})=>e(t))}onFocus(e){this._element.addEventListener("focus",t=>e(t))}onBlur(e){this._element.addEventListener("blur",t=>e(t))}setLabel(e){this._element.innerText=e!=null?e:""}toggle(e){this._element.toggle(e)}_build(){return document.createElement(i.elementName)}_configure(){var e,t;(e=this._config.options)!=null&&e.id&&(this._element.id=this._config.options.id),(t=this._config.options)!=null&&t.label&&(this._element.innerText=this._config.options.label)}};function St(){w(r)}export{i as a,b,v as c,r as d,D as e,St as f};
7
+ //# sourceMappingURL=chunk.APFDK6YA.js.map