@tylertech/forge 3.0.0-next.1 → 3.0.0-next.3

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 (390) hide show
  1. package/custom-elements.json +758 -172
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/help-button/index.js +1 -1
  4. package/dist/esm/app-bar/index.js +1 -1
  5. package/dist/esm/app-bar/menu-button/index.js +1 -1
  6. package/dist/esm/app-bar/notification-button/index.js +1 -1
  7. package/dist/esm/app-bar/profile-button/index.js +1 -1
  8. package/dist/esm/app-bar/search/index.js +1 -1
  9. package/dist/esm/autocomplete/index.js +1 -1
  10. package/dist/esm/avatar/index.js +1 -1
  11. package/dist/esm/backdrop/index.js +1 -1
  12. package/dist/esm/badge/index.js +1 -1
  13. package/dist/esm/banner/index.js +1 -1
  14. package/dist/esm/bottom-sheet/index.js +1 -1
  15. package/dist/esm/busy-indicator/index.js +1 -1
  16. package/dist/esm/button/index.js +1 -1
  17. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  18. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  19. package/dist/esm/button-toggle/index.js +1 -1
  20. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  21. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  22. package/dist/esm/calendar/core/index.js +1 -1
  23. package/dist/esm/calendar/index.js +1 -1
  24. package/dist/esm/card/index.js +1 -1
  25. package/dist/esm/checkbox/index.js +1 -1
  26. package/dist/esm/chip-field/index.js +1 -1
  27. package/dist/esm/chips/chip/index.js +1 -1
  28. package/dist/esm/chips/chip-set/index.js +1 -1
  29. package/dist/esm/chips/index.js +1 -1
  30. package/dist/esm/chunks/chunk.2R72ZTIK.js +7 -0
  31. package/dist/esm/chunks/{chunk.DT7MZR5Y.js.map → chunk.2R72ZTIK.js.map} +2 -2
  32. package/dist/esm/chunks/{chunk.BJZ7RB5F.js → chunk.3CTKWBV2.js} +1 -1
  33. package/dist/esm/chunks/{chunk.BJZ7RB5F.js.map → chunk.3CTKWBV2.js.map} +1 -1
  34. package/dist/esm/chunks/chunk.3GZF7UI2.js +7 -0
  35. package/dist/esm/chunks/{chunk.O4FB4BV5.js → chunk.3OT44DTM.js} +2 -2
  36. package/dist/esm/chunks/{chunk.O4FB4BV5.js.map → chunk.3OT44DTM.js.map} +1 -1
  37. package/dist/esm/chunks/chunk.3QD73Z4F.js +7 -0
  38. package/dist/esm/chunks/{chunk.6OKJPSUE.js.map → chunk.3QD73Z4F.js.map} +1 -1
  39. package/dist/esm/chunks/{chunk.O73S5LF3.js → chunk.423SNVSH.js} +2 -2
  40. package/dist/esm/chunks/chunk.44IUAOBP.js +7 -0
  41. package/dist/esm/chunks/{chunk.YPZNIYQL.js.map → chunk.44IUAOBP.js.map} +2 -2
  42. package/dist/esm/chunks/{chunk.N4PVZUJX.js → chunk.465MOF4A.js} +2 -2
  43. package/dist/esm/chunks/{chunk.N4PVZUJX.js.map → chunk.465MOF4A.js.map} +1 -1
  44. package/dist/esm/chunks/{chunk.AFLH5HUG.js → chunk.46LZNRRP.js} +2 -2
  45. package/dist/esm/chunks/{chunk.PALRSBSY.js → chunk.4B3BP62N.js} +2 -2
  46. package/dist/esm/chunks/{chunk.PALRSBSY.js.map → chunk.4B3BP62N.js.map} +1 -1
  47. package/dist/esm/chunks/{chunk.RYMPSU4J.js → chunk.4DJEZHRT.js} +2 -2
  48. package/dist/esm/chunks/{chunk.RYMPSU4J.js.map → chunk.4DJEZHRT.js.map} +1 -1
  49. package/dist/esm/chunks/{chunk.BJE6O5ES.js → chunk.4RNNHXMU.js} +2 -2
  50. package/dist/esm/chunks/{chunk.BJE6O5ES.js.map → chunk.4RNNHXMU.js.map} +1 -1
  51. package/dist/esm/chunks/{chunk.I5BAZWUF.js → chunk.4UHXQAOT.js} +2 -2
  52. package/dist/esm/chunks/{chunk.I5BAZWUF.js.map → chunk.4UHXQAOT.js.map} +1 -1
  53. package/dist/esm/chunks/{chunk.FRYLJWYL.js → chunk.4ZWV37ZJ.js} +2 -2
  54. package/dist/esm/chunks/{chunk.FRYLJWYL.js.map → chunk.4ZWV37ZJ.js.map} +1 -1
  55. package/dist/esm/chunks/{chunk.BE7PZANN.js → chunk.55FCNVG5.js} +2 -2
  56. package/dist/esm/chunks/{chunk.BE7PZANN.js.map → chunk.55FCNVG5.js.map} +1 -1
  57. package/dist/esm/chunks/{chunk.5FPFRE4H.js → chunk.56D6S5XJ.js} +2 -2
  58. package/dist/esm/chunks/{chunk.5FPFRE4H.js.map → chunk.56D6S5XJ.js.map} +1 -1
  59. package/dist/esm/chunks/{chunk.UT7QUGAO.js → chunk.5MPUISW3.js} +2 -2
  60. package/dist/esm/chunks/{chunk.NW7NV2A2.js → chunk.5XY7WBMA.js} +2 -2
  61. package/dist/esm/chunks/{chunk.NW7NV2A2.js.map → chunk.5XY7WBMA.js.map} +1 -1
  62. package/dist/esm/chunks/{chunk.Q7LFOS2I.js → chunk.6BBI2QGA.js} +2 -2
  63. package/dist/esm/chunks/{chunk.Q7LFOS2I.js.map → chunk.6BBI2QGA.js.map} +1 -1
  64. package/dist/esm/chunks/chunk.6DWTTNEC.js +7 -0
  65. package/dist/esm/chunks/{chunk.CKYHP5MC.js.map → chunk.6DWTTNEC.js.map} +1 -1
  66. package/dist/esm/chunks/{chunk.IUOBRBDZ.js → chunk.6HMCSEKV.js} +2 -2
  67. package/dist/esm/chunks/{chunk.XZ4WI7VK.js → chunk.6IWW463U.js} +2 -2
  68. package/dist/esm/chunks/{chunk.XZ4WI7VK.js.map → chunk.6IWW463U.js.map} +1 -1
  69. package/dist/esm/chunks/chunk.7IP3XTE3.js +7 -0
  70. package/dist/esm/chunks/{chunk.C7AN6FMW.js.map → chunk.7IP3XTE3.js.map} +1 -1
  71. package/dist/esm/chunks/{chunk.KU5CXXGS.js → chunk.7KEUUHXY.js} +2 -2
  72. package/dist/esm/chunks/{chunk.WP4QOOIS.js → chunk.7VWG4IEN.js} +2 -2
  73. package/dist/esm/chunks/{chunk.ESR2NHOS.js → chunk.A2BJ47Q6.js} +2 -2
  74. package/dist/esm/chunks/{chunk.ESR2NHOS.js.map → chunk.A2BJ47Q6.js.map} +1 -1
  75. package/dist/esm/chunks/{chunk.RE5X26QT.js → chunk.ADXALX5F.js} +124 -24
  76. package/dist/esm/chunks/{chunk.RE5X26QT.js.map → chunk.ADXALX5F.js.map} +1 -1
  77. package/dist/esm/chunks/chunk.BSKIHRND.js +7 -0
  78. package/dist/esm/chunks/{chunk.BTBHIIGI.js.map → chunk.BSKIHRND.js.map} +1 -1
  79. package/dist/esm/chunks/{chunk.MSF55AA3.js → chunk.BSNL353K.js} +2 -2
  80. package/dist/esm/chunks/{chunk.MSF55AA3.js.map → chunk.BSNL353K.js.map} +1 -1
  81. package/dist/esm/chunks/chunk.BTTHTLD3.js +7 -0
  82. package/dist/esm/chunks/{chunk.ROR6JMAE.js.map → chunk.BTTHTLD3.js.map} +1 -1
  83. package/dist/esm/chunks/chunk.C66IQMR6.js +7 -0
  84. package/dist/esm/chunks/{chunk.ZFHPUAYX.js.map → chunk.C66IQMR6.js.map} +2 -2
  85. package/dist/esm/chunks/{chunk.PN26D52V.js → chunk.CFDK4RCW.js} +1 -1
  86. package/dist/esm/chunks/{chunk.PN26D52V.js.map → chunk.CFDK4RCW.js.map} +1 -1
  87. package/dist/esm/chunks/{chunk.SSRQFKNH.js → chunk.CY7UCG25.js} +2 -2
  88. package/dist/esm/chunks/{chunk.SSRQFKNH.js.map → chunk.CY7UCG25.js.map} +1 -1
  89. package/dist/esm/chunks/{chunk.U6WGJELL.js → chunk.DMCBAYQX.js} +1 -1
  90. package/dist/esm/chunks/{chunk.U6WGJELL.js.map → chunk.DMCBAYQX.js.map} +1 -1
  91. package/dist/esm/chunks/{chunk.T76JYRPR.js → chunk.E5H7OQXZ.js} +2 -2
  92. package/dist/esm/chunks/{chunk.T76JYRPR.js.map → chunk.E5H7OQXZ.js.map} +1 -1
  93. package/dist/esm/chunks/{chunk.J2H5RXTX.js → chunk.EASEKF35.js} +2 -2
  94. package/dist/esm/chunks/{chunk.J2H5RXTX.js.map → chunk.EASEKF35.js.map} +1 -1
  95. package/dist/esm/chunks/{chunk.WY7DECJD.js → chunk.ELENDYRJ.js} +2 -2
  96. package/dist/esm/chunks/{chunk.WY7DECJD.js.map → chunk.ELENDYRJ.js.map} +1 -1
  97. package/dist/esm/chunks/{chunk.LDN4HLF7.js → chunk.F6CILMKB.js} +2 -2
  98. package/dist/esm/chunks/{chunk.LDN4HLF7.js.map → chunk.F6CILMKB.js.map} +1 -1
  99. package/dist/esm/chunks/{chunk.3KQL7VAZ.js → chunk.FDZSLGIW.js} +2 -2
  100. package/dist/esm/chunks/{chunk.3KQL7VAZ.js.map → chunk.FDZSLGIW.js.map} +1 -1
  101. package/dist/esm/chunks/chunk.FHW6LV4A.js +7 -0
  102. package/dist/esm/chunks/{chunk.V7WKXEZC.js.map → chunk.FHW6LV4A.js.map} +1 -1
  103. package/dist/esm/chunks/chunk.G3ZS3UHM.js +7 -0
  104. package/dist/esm/chunks/chunk.G3ZS3UHM.js.map +7 -0
  105. package/dist/esm/chunks/{chunk.ARJ3EVVO.js → chunk.G4IN6Y46.js} +2 -2
  106. package/dist/esm/chunks/{chunk.F2B24WLK.js → chunk.GFWFEBAH.js} +2 -2
  107. package/dist/esm/chunks/{chunk.F2B24WLK.js.map → chunk.GFWFEBAH.js.map} +1 -1
  108. package/dist/esm/chunks/chunk.GZ2QNJ5E.js +7 -0
  109. package/dist/esm/chunks/{chunk.YBEBD4CN.js.map → chunk.GZ2QNJ5E.js.map} +1 -1
  110. package/dist/esm/chunks/{chunk.LYOQ2RGP.js → chunk.H4H75YUA.js} +2 -2
  111. package/dist/esm/chunks/{chunk.LYOQ2RGP.js.map → chunk.H4H75YUA.js.map} +1 -1
  112. package/dist/esm/chunks/chunk.H5MJBEK5.js +7 -0
  113. package/dist/esm/chunks/chunk.HHC5NEUF.js +7 -0
  114. package/dist/esm/chunks/{chunk.5WNKQTXX.js.map → chunk.HHC5NEUF.js.map} +1 -1
  115. package/dist/esm/chunks/{chunk.CLM6MNKC.js → chunk.HNSUYOCY.js} +2 -2
  116. package/dist/esm/chunks/{chunk.CLM6MNKC.js.map → chunk.HNSUYOCY.js.map} +1 -1
  117. package/dist/esm/chunks/{chunk.RBAVT3XQ.js → chunk.HVYK2OWE.js} +2 -2
  118. package/dist/esm/chunks/chunk.HZYRCFVC.js +7 -0
  119. package/dist/esm/chunks/{chunk.SAQVWOVK.js.map → chunk.HZYRCFVC.js.map} +2 -2
  120. package/dist/esm/chunks/{chunk.P3IA2WTO.js → chunk.I3MZQIAF.js} +2 -2
  121. package/dist/esm/chunks/{chunk.P3IA2WTO.js.map → chunk.I3MZQIAF.js.map} +1 -1
  122. package/dist/esm/chunks/chunk.I4347LUX.js +7 -0
  123. package/dist/esm/chunks/{chunk.MXTDW27J.js.map → chunk.I4347LUX.js.map} +2 -2
  124. package/dist/esm/chunks/{chunk.HBMNXZES.js → chunk.INRH62VL.js} +2 -2
  125. package/dist/esm/chunks/{chunk.HBMNXZES.js.map → chunk.INRH62VL.js.map} +1 -1
  126. package/dist/esm/chunks/{chunk.HV6SPRC4.js → chunk.IOYABCVW.js} +2 -2
  127. package/dist/esm/chunks/{chunk.HV6SPRC4.js.map → chunk.IOYABCVW.js.map} +1 -1
  128. package/dist/esm/chunks/chunk.JUIFPTRV.js +7 -0
  129. package/dist/esm/chunks/{chunk.G3ZTZ4AN.js.map → chunk.JUIFPTRV.js.map} +1 -1
  130. package/dist/esm/chunks/chunk.KFERUCAD.js +7 -0
  131. package/dist/esm/chunks/{chunk.4NI63FGK.js.map → chunk.KFERUCAD.js.map} +1 -1
  132. package/dist/esm/chunks/{chunk.XHV3GQ7L.js → chunk.L6DKEDFM.js} +2 -2
  133. package/dist/esm/chunks/{chunk.XHV3GQ7L.js.map → chunk.L6DKEDFM.js.map} +1 -1
  134. package/dist/esm/chunks/{chunk.4DAIIJ37.js → chunk.LEVFMI2Q.js} +1 -1
  135. package/dist/esm/chunks/{chunk.4DAIIJ37.js.map → chunk.LEVFMI2Q.js.map} +1 -1
  136. package/dist/esm/chunks/{chunk.KE6GOYAB.js → chunk.LHFZFVHB.js} +2 -2
  137. package/dist/esm/chunks/{chunk.KE6GOYAB.js.map → chunk.LHFZFVHB.js.map} +1 -1
  138. package/dist/esm/chunks/{chunk.TR5YMNJJ.js → chunk.LQQIN7JE.js} +2 -2
  139. package/dist/esm/chunks/{chunk.TR5YMNJJ.js.map → chunk.LQQIN7JE.js.map} +1 -1
  140. package/dist/esm/chunks/{chunk.INCKI5IX.js → chunk.LSFIZAUF.js} +2 -2
  141. package/dist/esm/chunks/{chunk.INCKI5IX.js.map → chunk.LSFIZAUF.js.map} +1 -1
  142. package/dist/esm/chunks/chunk.M3QDAYD2.js +7 -0
  143. package/dist/esm/chunks/chunk.MGLWXAZO.js +18 -0
  144. package/dist/esm/chunks/{chunk.YI4JTY4T.js.map → chunk.MGLWXAZO.js.map} +2 -2
  145. package/dist/esm/chunks/chunk.MLXGGGER.js +129 -0
  146. package/dist/esm/chunks/{chunk.ILRWZHH3.js.map → chunk.MLXGGGER.js.map} +1 -1
  147. package/dist/esm/chunks/chunk.MT3CYR5E.js +7 -0
  148. package/dist/esm/chunks/{chunk.Y5A7RQ5M.js.map → chunk.MT3CYR5E.js.map} +1 -1
  149. package/dist/esm/chunks/chunk.N64ASFPE.js +7 -0
  150. package/dist/esm/chunks/{chunk.RB5BTA5N.js.map → chunk.N64ASFPE.js.map} +1 -1
  151. package/dist/esm/chunks/chunk.NEMJIVPU.js +7 -0
  152. package/dist/esm/chunks/{chunk.4WPFFNLH.js.map → chunk.NEMJIVPU.js.map} +1 -1
  153. package/dist/esm/chunks/chunk.NRXPO3SY.js +7 -0
  154. package/dist/esm/chunks/{chunk.7A6MX6CS.js.map → chunk.NRXPO3SY.js.map} +1 -1
  155. package/dist/esm/chunks/{chunk.UF43SSFY.js → chunk.NTLWWOZJ.js} +2 -2
  156. package/dist/esm/chunks/{chunk.UF43SSFY.js.map → chunk.NTLWWOZJ.js.map} +1 -1
  157. package/dist/esm/chunks/chunk.NVHTEFBA.js +33 -0
  158. package/dist/esm/chunks/{chunk.V4TCOZLK.js.map → chunk.NVHTEFBA.js.map} +1 -1
  159. package/dist/esm/chunks/{chunk.KTGSZEAG.js → chunk.NVUMRW44.js} +1 -1
  160. package/dist/esm/chunks/{chunk.KTGSZEAG.js.map → chunk.NVUMRW44.js.map} +1 -1
  161. package/dist/esm/chunks/chunk.O4KZV4MX.js +7 -0
  162. package/dist/esm/chunks/{chunk.242YUZKU.js.map → chunk.O4KZV4MX.js.map} +1 -1
  163. package/dist/esm/chunks/{chunk.ZUNZKRRK.js → chunk.OAHA3QOH.js} +2 -2
  164. package/dist/esm/chunks/{chunk.2BNDXFI5.js → chunk.PJOH4JKH.js} +2 -2
  165. package/dist/esm/chunks/{chunk.2BNDXFI5.js.map → chunk.PJOH4JKH.js.map} +1 -1
  166. package/dist/esm/chunks/chunk.PKZYVWEG.js +7 -0
  167. package/dist/esm/chunks/chunk.PTQTIY7L.js +57 -0
  168. package/dist/esm/chunks/chunk.PTQTIY7L.js.map +7 -0
  169. package/dist/esm/chunks/{chunk.VAKNDCLP.js → chunk.Q56WQPYG.js} +76 -24
  170. package/dist/esm/chunks/{chunk.VAKNDCLP.js.map → chunk.Q56WQPYG.js.map} +1 -1
  171. package/dist/esm/chunks/chunk.QA3Z44IQ.js +7 -0
  172. package/dist/esm/chunks/{chunk.72AUOVCD.js.map → chunk.QA3Z44IQ.js.map} +1 -1
  173. package/dist/esm/chunks/{chunk.Y4GKBJGI.js → chunk.QH2GB3PD.js} +2 -2
  174. package/dist/esm/chunks/{chunk.Y4GKBJGI.js.map → chunk.QH2GB3PD.js.map} +2 -2
  175. package/dist/esm/chunks/{chunk.G45OZEIS.js → chunk.QUJL4A23.js} +2 -2
  176. package/dist/esm/chunks/{chunk.RG6CDWEX.js → chunk.QWKDOAOE.js} +2 -2
  177. package/dist/esm/chunks/{chunk.RG6CDWEX.js.map → chunk.QWKDOAOE.js.map} +1 -1
  178. package/dist/esm/chunks/chunk.R2E6CGZE.js +129 -0
  179. package/dist/esm/chunks/chunk.R2E6CGZE.js.map +7 -0
  180. package/dist/esm/chunks/chunk.R4B7JSSA.js +7 -0
  181. package/dist/esm/chunks/{chunk.4BEI55KI.js.map → chunk.R4B7JSSA.js.map} +1 -1
  182. package/dist/esm/chunks/chunk.RFLASSCI.js +7 -0
  183. package/dist/esm/chunks/{chunk.47A2CN5U.js.map → chunk.RFLASSCI.js.map} +1 -1
  184. package/dist/esm/chunks/chunk.RWPPN4XB.js +7 -0
  185. package/dist/esm/chunks/{chunk.M2QU3LUR.js.map → chunk.RWPPN4XB.js.map} +2 -2
  186. package/dist/esm/chunks/{chunk.H4Z4DHPA.js → chunk.RXBGYGVH.js} +2 -2
  187. package/dist/esm/chunks/{chunk.7UKA4E5A.js → chunk.S5EJVD5E.js} +2 -2
  188. package/dist/esm/chunks/{chunk.7UKA4E5A.js.map → chunk.S5EJVD5E.js.map} +1 -1
  189. package/dist/esm/chunks/{chunk.77Y3EABF.js → chunk.SCP23NBN.js} +2 -2
  190. package/dist/esm/chunks/{chunk.77Y3EABF.js.map → chunk.SCP23NBN.js.map} +1 -1
  191. package/dist/esm/chunks/{chunk.XQ2EQIDS.js → chunk.SCQVDO5I.js} +2 -2
  192. package/dist/esm/chunks/{chunk.XQ2EQIDS.js.map → chunk.SCQVDO5I.js.map} +1 -1
  193. package/dist/esm/chunks/chunk.T64UW37U.js +7 -0
  194. package/dist/esm/chunks/{chunk.JHBCYICS.js.map → chunk.T64UW37U.js.map} +1 -1
  195. package/dist/esm/chunks/{chunk.MHOS3IHQ.js → chunk.T7KUZYQ3.js} +2 -2
  196. package/dist/esm/chunks/{chunk.MHOS3IHQ.js.map → chunk.T7KUZYQ3.js.map} +1 -1
  197. package/dist/esm/chunks/{chunk.VC2BG2RS.js → chunk.TG4ZRHKV.js} +2 -2
  198. package/dist/esm/chunks/{chunk.VC2BG2RS.js.map → chunk.TG4ZRHKV.js.map} +1 -1
  199. package/dist/esm/chunks/{chunk.G5MGGEFP.js → chunk.TKDMM2ZZ.js} +2 -2
  200. package/dist/esm/chunks/{chunk.HPDBSBQJ.js → chunk.TLRRYVSN.js} +124 -24
  201. package/dist/esm/chunks/{chunk.HPDBSBQJ.js.map → chunk.TLRRYVSN.js.map} +1 -1
  202. package/dist/esm/chunks/chunk.UHTQGET5.js +201 -0
  203. package/dist/esm/chunks/{chunk.4FSAAN6W.js.map → chunk.UHTQGET5.js.map} +1 -1
  204. package/dist/esm/chunks/{chunk.SXTTEIIH.js → chunk.UROMKMFI.js} +2 -2
  205. package/dist/esm/chunks/{chunk.SXTTEIIH.js.map → chunk.UROMKMFI.js.map} +1 -1
  206. package/dist/esm/chunks/{chunk.Y72NANFX.js → chunk.UUUF27IU.js} +2 -2
  207. package/dist/esm/chunks/{chunk.Y72NANFX.js.map → chunk.UUUF27IU.js.map} +1 -1
  208. package/dist/esm/chunks/{chunk.DONAMICM.js → chunk.UV3WIHCM.js} +1 -1
  209. package/dist/esm/chunks/{chunk.DONAMICM.js.map → chunk.UV3WIHCM.js.map} +1 -1
  210. package/dist/esm/chunks/chunk.UVQIUEXO.js +7 -0
  211. package/dist/esm/chunks/{chunk.E6CYXNS2.js.map → chunk.UVQIUEXO.js.map} +2 -2
  212. package/dist/esm/chunks/{chunk.J6WCFQSS.js → chunk.UZENE2NC.js} +2 -2
  213. package/dist/esm/chunks/{chunk.J6WCFQSS.js.map → chunk.UZENE2NC.js.map} +1 -1
  214. package/dist/esm/chunks/chunk.VOGCDMLL.js +12 -0
  215. package/dist/esm/chunks/{chunk.K2C4W3CO.js → chunk.W6MDMZTN.js} +2 -2
  216. package/dist/esm/chunks/{chunk.Y66GSZJB.js → chunk.WDTA5G7R.js} +1 -1
  217. package/dist/esm/chunks/{chunk.Y66GSZJB.js.map → chunk.WDTA5G7R.js.map} +1 -1
  218. package/dist/esm/chunks/{chunk.XUW3GG46.js → chunk.XCNL2LI6.js} +2 -2
  219. package/dist/esm/chunks/{chunk.JEN6YP2Q.js → chunk.XGWGJFWC.js} +2 -2
  220. package/dist/esm/chunks/chunk.XIQFHO5R.js +7 -0
  221. package/dist/esm/chunks/{chunk.FVRSGKJD.js.map → chunk.XIQFHO5R.js.map} +2 -2
  222. package/dist/esm/chunks/chunk.XX5QEV5W.js +7 -0
  223. package/dist/esm/chunks/{chunk.44IJE5UL.js.map → chunk.XX5QEV5W.js.map} +1 -1
  224. package/dist/esm/chunks/chunk.YM6VAIY2.js +7 -0
  225. package/dist/esm/chunks/{chunk.7BOXIJAM.js → chunk.YMG4QDOY.js} +2 -2
  226. package/dist/esm/chunks/{chunk.7BOXIJAM.js.map → chunk.YMG4QDOY.js.map} +1 -1
  227. package/dist/esm/chunks/{chunk.MLV25D2G.js → chunk.YTOYNJMD.js} +2 -2
  228. package/dist/esm/chunks/{chunk.K6AFP52A.js → chunk.YYXEUR4Y.js} +2 -2
  229. package/dist/esm/chunks/{chunk.K6AFP52A.js.map → chunk.YYXEUR4Y.js.map} +1 -1
  230. package/dist/esm/chunks/{chunk.UBD2DPQN.js → chunk.ZB54OC26.js} +2 -2
  231. package/dist/esm/chunks/{chunk.UBD2DPQN.js.map → chunk.ZB54OC26.js.map} +1 -1
  232. package/dist/esm/chunks/{chunk.X5LGVZGO.js → chunk.ZJXVI6A7.js} +2 -2
  233. package/dist/esm/chunks/{chunk.X5LGVZGO.js.map → chunk.ZJXVI6A7.js.map} +1 -1
  234. package/dist/esm/circular-progress/index.js +1 -1
  235. package/dist/esm/color-picker/index.js +1 -1
  236. package/dist/esm/core/base/index.js +1 -1
  237. package/dist/esm/core/delegates/index.js +1 -1
  238. package/dist/esm/core/index.js +1 -1
  239. package/dist/esm/core/mask/index.js +1 -1
  240. package/dist/esm/core/utils/index.js +1 -1
  241. package/dist/esm/date-picker/index.js +1 -1
  242. package/dist/esm/date-range-picker/index.js +1 -1
  243. package/dist/esm/dialog/index.js +1 -1
  244. package/dist/esm/divider/index.js +1 -1
  245. package/dist/esm/drawer/base/index.js +1 -1
  246. package/dist/esm/drawer/drawer/index.js +1 -1
  247. package/dist/esm/drawer/index.js +1 -1
  248. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  249. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  250. package/dist/esm/expansion-panel/index.js +1 -1
  251. package/dist/esm/file-picker/index.js +1 -1
  252. package/dist/esm/floating-action-button/index.js +1 -1
  253. package/dist/esm/floating-label/index.js +1 -1
  254. package/dist/esm/icon/index.js +1 -1
  255. package/dist/esm/icon-button/index.js +1 -1
  256. package/dist/esm/index.js +1 -1
  257. package/dist/esm/inline-message/index.js +1 -1
  258. package/dist/esm/keyboard-shortcut/index.js +1 -1
  259. package/dist/esm/label-value/index.js +1 -1
  260. package/dist/esm/linear-progress/index.js +1 -1
  261. package/dist/esm/list/index.js +1 -1
  262. package/dist/esm/list/list/index.js +1 -1
  263. package/dist/esm/list/list-item/index.js +1 -1
  264. package/dist/esm/list-dropdown/index.js +1 -1
  265. package/dist/esm/menu/index.js +1 -1
  266. package/dist/esm/open-icon/index.js +1 -1
  267. package/dist/esm/page-state/index.js +1 -1
  268. package/dist/esm/paginator/index.js +1 -1
  269. package/dist/esm/popup/index.js +1 -1
  270. package/dist/esm/product-icon/index.js +1 -1
  271. package/dist/esm/profile-card/index.js +1 -1
  272. package/dist/esm/quantity-field/index.js +1 -1
  273. package/dist/esm/radio/index.js +1 -1
  274. package/dist/esm/ripple/index.js +1 -1
  275. package/dist/esm/scaffold/index.js +1 -1
  276. package/dist/esm/select/core/index.js +1 -1
  277. package/dist/esm/select/index.js +1 -1
  278. package/dist/esm/select/option/index.js +1 -1
  279. package/dist/esm/select/option-group/index.js +1 -1
  280. package/dist/esm/select/select/index.js +1 -1
  281. package/dist/esm/select/select-dropdown/index.js +1 -1
  282. package/dist/esm/skeleton/index.js +1 -1
  283. package/dist/esm/slider/index.js +1 -1
  284. package/dist/esm/split-view/index.js +1 -1
  285. package/dist/esm/split-view/split-view/index.js +1 -1
  286. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  287. package/dist/esm/stack/index.js +1 -1
  288. package/dist/esm/stepper/index.js +1 -1
  289. package/dist/esm/stepper/step/index.js +1 -1
  290. package/dist/esm/stepper/stepper/index.js +1 -1
  291. package/dist/esm/switch/index.js +1 -1
  292. package/dist/esm/table/index.js +1 -1
  293. package/dist/esm/tabs/index.js +1 -1
  294. package/dist/esm/tabs/tab/index.js +1 -1
  295. package/dist/esm/tabs/tab-bar/index.js +1 -1
  296. package/dist/esm/text-field/index.js +1 -1
  297. package/dist/esm/theme/index.js +1 -1
  298. package/dist/esm/time-picker/index.js +1 -1
  299. package/dist/esm/toast/index.js +1 -1
  300. package/dist/esm/toolbar/index.js +1 -1
  301. package/dist/esm/tooltip/index.js +1 -1
  302. package/dist/esm/utils/index.js +1 -1
  303. package/dist/esm/view-switcher/index.js +1 -1
  304. package/dist/esm/view-switcher/view/index.js +1 -1
  305. package/esm/circular-progress/circular-progress-adapter.d.ts +6 -13
  306. package/esm/circular-progress/circular-progress-adapter.js +25 -25
  307. package/esm/circular-progress/circular-progress-constants.d.ts +6 -2
  308. package/esm/circular-progress/circular-progress-constants.js +8 -3
  309. package/esm/circular-progress/circular-progress-foundation.d.ts +0 -8
  310. package/esm/circular-progress/circular-progress-foundation.js +9 -27
  311. package/esm/circular-progress/circular-progress.d.ts +24 -5
  312. package/esm/circular-progress/circular-progress.js +28 -16
  313. package/esm/core/base/base-component.d.ts +1 -2
  314. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  315. package/package.json +1 -2
  316. package/styles/circular-progress/_mixins.scss +13 -307
  317. package/styles/circular-progress/circular-progress.scss +8 -0
  318. package/styles/core/style-layer/circular-progress/_animations.scss +64 -0
  319. package/styles/core/style-layer/circular-progress/_core.scss +131 -0
  320. package/styles/core/style-layer/circular-progress/_variables.scss +14 -0
  321. package/styles/core/style-layer/circular-progress/index.scss +121 -0
  322. package/styles/core/style-layer/core/_config.scss +6 -0
  323. package/dist/esm/chunks/chunk.242YUZKU.js +0 -7
  324. package/dist/esm/chunks/chunk.2DXG2R3M.js +0 -73
  325. package/dist/esm/chunks/chunk.2DXG2R3M.js.map +0 -7
  326. package/dist/esm/chunks/chunk.44IJE5UL.js +0 -7
  327. package/dist/esm/chunks/chunk.47A2CN5U.js +0 -7
  328. package/dist/esm/chunks/chunk.4BEI55KI.js +0 -7
  329. package/dist/esm/chunks/chunk.4FSAAN6W.js +0 -29
  330. package/dist/esm/chunks/chunk.4NI63FGK.js +0 -7
  331. package/dist/esm/chunks/chunk.4WPFFNLH.js +0 -7
  332. package/dist/esm/chunks/chunk.5WNKQTXX.js +0 -7
  333. package/dist/esm/chunks/chunk.6OKJPSUE.js +0 -7
  334. package/dist/esm/chunks/chunk.72AUOVCD.js +0 -7
  335. package/dist/esm/chunks/chunk.7A6MX6CS.js +0 -7
  336. package/dist/esm/chunks/chunk.ABLKZXJ3.js +0 -12
  337. package/dist/esm/chunks/chunk.BTBHIIGI.js +0 -7
  338. package/dist/esm/chunks/chunk.C7AN6FMW.js +0 -7
  339. package/dist/esm/chunks/chunk.CKYHP5MC.js +0 -7
  340. package/dist/esm/chunks/chunk.DT7MZR5Y.js +0 -7
  341. package/dist/esm/chunks/chunk.DYNEJBYK.js +0 -7
  342. package/dist/esm/chunks/chunk.E6CYXNS2.js +0 -7
  343. package/dist/esm/chunks/chunk.EGRUD7S7.js +0 -7
  344. package/dist/esm/chunks/chunk.F3MP6AXF.js +0 -29
  345. package/dist/esm/chunks/chunk.F3MP6AXF.js.map +0 -7
  346. package/dist/esm/chunks/chunk.FVRSGKJD.js +0 -7
  347. package/dist/esm/chunks/chunk.G3ZTZ4AN.js +0 -7
  348. package/dist/esm/chunks/chunk.IGTXLDZS.js +0 -7
  349. package/dist/esm/chunks/chunk.ILRWZHH3.js +0 -29
  350. package/dist/esm/chunks/chunk.JHBCYICS.js +0 -7
  351. package/dist/esm/chunks/chunk.JHY2CKEH.js +0 -7
  352. package/dist/esm/chunks/chunk.M2QU3LUR.js +0 -7
  353. package/dist/esm/chunks/chunk.MCIQXNKY.js +0 -7
  354. package/dist/esm/chunks/chunk.MXTDW27J.js +0 -7
  355. package/dist/esm/chunks/chunk.RB5BTA5N.js +0 -7
  356. package/dist/esm/chunks/chunk.ROR6JMAE.js +0 -7
  357. package/dist/esm/chunks/chunk.SAQVWOVK.js +0 -7
  358. package/dist/esm/chunks/chunk.TWZXQQQO.js +0 -29
  359. package/dist/esm/chunks/chunk.TWZXQQQO.js.map +0 -7
  360. package/dist/esm/chunks/chunk.V4TCOZLK.js +0 -29
  361. package/dist/esm/chunks/chunk.V7WKXEZC.js +0 -7
  362. package/dist/esm/chunks/chunk.Y5A7RQ5M.js +0 -7
  363. package/dist/esm/chunks/chunk.YBEBD4CN.js +0 -7
  364. package/dist/esm/chunks/chunk.YI4JTY4T.js +0 -14
  365. package/dist/esm/chunks/chunk.YPZNIYQL.js +0 -7
  366. package/dist/esm/chunks/chunk.ZFHPUAYX.js +0 -7
  367. package/styles/circular-progress/_keyframes.scss +0 -185
  368. package/styles/circular-progress/_variables.scss +0 -50
  369. /package/dist/esm/chunks/{chunk.IGTXLDZS.js.map → chunk.3GZF7UI2.js.map} +0 -0
  370. /package/dist/esm/chunks/{chunk.O73S5LF3.js.map → chunk.423SNVSH.js.map} +0 -0
  371. /package/dist/esm/chunks/{chunk.AFLH5HUG.js.map → chunk.46LZNRRP.js.map} +0 -0
  372. /package/dist/esm/chunks/{chunk.UT7QUGAO.js.map → chunk.5MPUISW3.js.map} +0 -0
  373. /package/dist/esm/chunks/{chunk.IUOBRBDZ.js.map → chunk.6HMCSEKV.js.map} +0 -0
  374. /package/dist/esm/chunks/{chunk.KU5CXXGS.js.map → chunk.7KEUUHXY.js.map} +0 -0
  375. /package/dist/esm/chunks/{chunk.WP4QOOIS.js.map → chunk.7VWG4IEN.js.map} +0 -0
  376. /package/dist/esm/chunks/{chunk.ARJ3EVVO.js.map → chunk.G4IN6Y46.js.map} +0 -0
  377. /package/dist/esm/chunks/{chunk.JHY2CKEH.js.map → chunk.H5MJBEK5.js.map} +0 -0
  378. /package/dist/esm/chunks/{chunk.RBAVT3XQ.js.map → chunk.HVYK2OWE.js.map} +0 -0
  379. /package/dist/esm/chunks/{chunk.MCIQXNKY.js.map → chunk.M3QDAYD2.js.map} +0 -0
  380. /package/dist/esm/chunks/{chunk.ZUNZKRRK.js.map → chunk.OAHA3QOH.js.map} +0 -0
  381. /package/dist/esm/chunks/{chunk.EGRUD7S7.js.map → chunk.PKZYVWEG.js.map} +0 -0
  382. /package/dist/esm/chunks/{chunk.G45OZEIS.js.map → chunk.QUJL4A23.js.map} +0 -0
  383. /package/dist/esm/chunks/{chunk.H4Z4DHPA.js.map → chunk.RXBGYGVH.js.map} +0 -0
  384. /package/dist/esm/chunks/{chunk.G5MGGEFP.js.map → chunk.TKDMM2ZZ.js.map} +0 -0
  385. /package/dist/esm/chunks/{chunk.ABLKZXJ3.js.map → chunk.VOGCDMLL.js.map} +0 -0
  386. /package/dist/esm/chunks/{chunk.K2C4W3CO.js.map → chunk.W6MDMZTN.js.map} +0 -0
  387. /package/dist/esm/chunks/{chunk.XUW3GG46.js.map → chunk.XCNL2LI6.js.map} +0 -0
  388. /package/dist/esm/chunks/{chunk.JEN6YP2Q.js.map → chunk.XGWGJFWC.js.map} +0 -0
  389. /package/dist/esm/chunks/{chunk.DYNEJBYK.js.map → chunk.YM6VAIY2.js.map} +0 -0
  390. /package/dist/esm/chunks/{chunk.MLV25D2G.js.map → chunk.YTOYNJMD.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/circular-progress/circular-progress-constants.ts", "../../src/circular-progress/circular-progress-adapter.ts", "../../src/circular-progress/circular-progress-foundation.ts", "../../src/circular-progress/circular-progress.ts", "../../src/circular-progress/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}circular-progress`;\n\nconst attributes = {\n DETERMINATE: 'determinate',\n PROGRESS: 'progress',\n ARIA_LABEL: 'data-aria-label'\n};\n\nconst classes = {\n INDETERMINATE: 'forge-circular-progress--indeterminate'\n};\n\nconst selectors = {\n ROOT: '.forge-circular-progress',\n DETERMINATE_PROGRESS_CIRCLE: '.progress',\n TEMPLATES: 'svg, .spinner'\n};\n\nexport const CIRCULAR_PROGRESS_CONSTANTS = {\n elementName,\n attributes,\n classes,\n selectors\n};\n", "import { getShadowElement, toggleAttribute } from '@tylertech/forge-core';\n\nimport { ICircularProgressComponent } from './circular-progress';\nimport { CIRCULAR_PROGRESS_CONSTANTS } from './circular-progress-constants';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\n\nconst indeterminateTemplate = '<svg viewBox=\\\"0 0 4800 4800\\\"><circle class=\\\"track-background\\\" pathLength=\\\"100\\\"></circle></svg><div class=\\\"spinner\\\"><div class=\\\"left\\\"><div class=\\\"circle\\\"></div></div><div class=\\\"right\\\"><div class=\\\"circle\\\"></div></div></div>';\nconst determinateTemplate = '<svg viewBox=\\\"0 0 4800 4800\\\"><circle class=\\\"track-background\\\" pathLength=\\\"100\\\"></circle><circle class=\\\"track\\\" pathLength=\\\"100\\\"></circle><circle class=\\\"progress\\\" pathLength=\\\"100\\\" stroke-dashoffset=\\\"100\\\"></circle></svg>';\n\nexport interface ICircularProgressAdapter extends IBaseAdapter {\n setDeterminate(value: boolean): void;\n setProgress(value: number): void;\n setAriaLabel(value: string): void;\n}\n\nexport class CircularProgressAdapter extends BaseAdapter<ICircularProgressComponent> implements ICircularProgressAdapter {\n private _rootElement: HTMLElement;\n private _determinateProgressCircleElement: HTMLElement | undefined;\n\n constructor(component: ICircularProgressComponent) {\n super(component);\n this._rootElement = getShadowElement(this._component, CIRCULAR_PROGRESS_CONSTANTS.selectors.ROOT);\n }\n\n public setDeterminate(value: boolean): void {\n this._tryResetTemplate();\n this._rootElement.classList.toggle(CIRCULAR_PROGRESS_CONSTANTS.classes.INDETERMINATE, !value);\n \n if (value) {\n this._rootElement.insertAdjacentHTML('beforeend', determinateTemplate);\n this._determinateProgressCircleElement = getShadowElement(this._component, CIRCULAR_PROGRESS_CONSTANTS.selectors.DETERMINATE_PROGRESS_CIRCLE);\n } else {\n this._rootElement.insertAdjacentHTML('beforeend', indeterminateTemplate);\n this._rootElement.removeAttribute('aria-valuenow');\n this._determinateProgressCircleElement = undefined;\n }\n }\n\n public setProgress(value: number): void {\n this._rootElement.setAttribute('aria-valuenow', `${value}`);\n this._determinateProgressCircleElement?.setAttribute('stroke-dashoffset', `${(1 - value) * 100}`);\n }\n\n public setAriaLabel(value: string): void {\n toggleAttribute(this._rootElement, !!value, 'aria-label', value);\n }\n\n private _tryResetTemplate(): void {\n const elements = this._component.shadowRoot?.querySelectorAll(CIRCULAR_PROGRESS_CONSTANTS.selectors.TEMPLATES);\n elements?.forEach(el => el.remove());\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { ICircularProgressAdapter } from './circular-progress-adapter';\nimport { CIRCULAR_PROGRESS_CONSTANTS } from './circular-progress-constants';\n\nexport interface ICircularProgressFoundation extends ICustomElementFoundation {\n determinate: boolean;\n progress: number;\n}\n\nexport class CircularProgressFoundation implements ICircularProgressFoundation {\n private _determinate = false;\n private _progress = 0;\n\n constructor(private _adapter: ICircularProgressAdapter) {}\n\n public initialize(): void {\n this._applyDeterminate();\n }\n\n private _applyDeterminate(): void {\n this._adapter.setDeterminate(this._determinate);\n\n if (this._determinate) {\n this._adapter.setProgress(this._progress);\n }\n }\n\n public get determinate(): boolean {\n return this._determinate;\n }\n public set determinate(value: boolean) {\n value = Boolean(value);\n if (this._determinate !== value) {\n this._determinate = value;\n this._applyDeterminate();\n this._adapter.toggleHostAttribute(CIRCULAR_PROGRESS_CONSTANTS.attributes.DETERMINATE, this._determinate);\n }\n }\n\n public get progress(): number {\n return this._progress;\n }\n public set progress(value: number) {\n if (this._progress !== value) {\n this._progress = value;\n if (this._determinate) {\n this._adapter.setProgress(this._progress);\n }\n this._adapter.setHostAttribute(CIRCULAR_PROGRESS_CONSTANTS.attributes.PROGRESS, `${this._progress}`);\n }\n }\n\n public set ariaLabel(value: string) {\n this._adapter.setAriaLabel(value);\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean, coerceNumber } from '@tylertech/forge-core';\n\nimport { CircularProgressAdapter } from './circular-progress-adapter';\nimport { CircularProgressFoundation } from './circular-progress-foundation';\nimport { CIRCULAR_PROGRESS_CONSTANTS } from './circular-progress-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-circular-progress\\\" role=\\\"progressbar\\\" aria-valuemin=\\\"0\\\" aria-valuemax=\\\"1\\\" part=\\\"progressbar\\\"><slot class=\\\"center-content\\\"></slot></div></template>';\nconst styles = ':host{display:-webkit-inline-box;display:inline-flex;vertical-align:middle;min-block-size:var(--forge-circular-progress-size,48px);min-inline-size:var(--forge-circular-progress-size,48px);position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;contain:strict;content-visibility:auto}:host([hidden]){display:none}@layer base{.forge-circular-progress{--_size:var(--forge-circular-progress-size, 48px);--_spacing:var(--forge-circular-progress-padding, 0);--_track-width:var(--forge-circular-progress-indicator-width, 12);--_track-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-tertiary, #3d5afe));--_track-background:var(--forge-circular-progress-indicator-background-color, var(--mdc-theme-text-disabled-on-background, rgba(0, 0, 0, 0.12)));--_arc-duration:1333ms;--_cycle-duration:calc(4 * var(--_arc-duration));--_linear-duration:calc(var(--_arc-duration) * 360 / 306);-webkit-box-flex:1;flex:1;align-self:stretch;margin:var(--_spacing)}.forge-circular-progress--indeterminate{will-change:transform;-webkit-animation:linear infinite linear-rotate;animation:linear infinite linear-rotate;-webkit-animation-duration:var(--_linear-duration);animation-duration:var(--_linear-duration)}.circle,.forge-circular-progress,.left,.right,.spinner,svg{position:absolute;inset:0}}@layer indeterminate{.left{overflow:hidden;inset:0 50% 0 0}.left .circle{rotate:135deg;inset:0 -100% 0 0}.right{overflow:hidden;inset:0 0 0 50%}.right .circle{rotate:100deg;inset:0 0 0 -100%;-webkit-animation-delay:calc(-.5 * var(--_arc-duration)),0s;animation-delay:calc(-.5 * var(--_arc-duration)),0s}.circle{-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:50%;border:solid calc(var(--_size) * var(--_track-width)/ 100);border-color:var(--_track-color) var(--_track-color) transparent transparent;will-change:transform;-webkit-animation:expand-arc;animation:expand-arc;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--_arc-duration),var(--_cycle-duration);animation-duration:var(--_arc-duration),var(--_cycle-duration);-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}}@layer determinate{svg{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}svg circle{cx:50%;cy:50%;r:calc(50% * (1 - var(--_track-width)/ 100));stroke-width:calc(var(--_track-width) * 1%);stroke-dasharray:100;fill:transparent}.progress{-webkit-transition:stroke-dashoffset .5s cubic-bezier(0, 0, .2, 1);transition:stroke-dashoffset .5s cubic-bezier(0, 0, .2, 1);stroke:var(--_track-color)}.track{stroke:transparent}.track-background{stroke:var(--_track-background)}.spinner{will-change:transform;-webkit-animation:infinite both rotate-arc;animation:infinite both rotate-arc;-webkit-animation-duration:var(--_cycle-duration);animation-duration:var(--_cycle-duration);-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}}@media screen and (forced-colors:active){.progress{stroke:CanvasText}.circle{border-color:CanvasText CanvasText Canvas Canvas}}@-webkit-keyframes expand-arc{0%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}50%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}100%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}}@keyframes expand-arc{0%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}50%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}100%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}}@-webkit-keyframes rotate-arc{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes rotate-arc{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes linear-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes linear-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.center-content{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}';\n\nexport interface ICircularProgressComponent extends IBaseComponent {\n determinate: boolean;\n progress: number;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-circular-progress': ICircularProgressComponent;\n }\n}\n\n/**\n * @tag forge-circular-progress\n * \n * @summary\n * Circular progress indicators display progress by animating along a circular track in a clockwise direction.\n * \n * @description\n * Progress indicators inform users about the status of ongoing processes.\n * - Determinate indicators display how long a process will take.\n * - Indeterminate indicators express an unspecified amount of wait time.\n *\n * @property {boolean} determinate - Controls the determinate state.\n * @property {boolean} progress - Controls the progress while in a determinate state. Accepts values from `0` to `1`.\n * \n * @attribute {boolean} determinate - Controls the determinate state.\n * @attribute {string} data-aria-label - Propagates an `aria-label` to the underlying progressbar element.\n * \n * @slot - The is the default/unnamed slot. Renders content at the center of the progress indicator.\n * \n * @cssproperty --forge-circular-progress-size - The height and width of the indicator container.\n * @cssproperty --forge-circular-progress-padding - The padding inside the bounding box of the container.\n * @cssproperty --forge-circular-progress-indicator-width - The active indicator width.\n * @cssproperty --forge-circular-progress-indicator-color - The active indicator color.\n * @cssproperty --forge-circular-progress-indicator-background-color - The indicator background color.\n * \n * @csspart progressbar - Styles the progress bar container element\n */\n@CustomElement({\n name: CIRCULAR_PROGRESS_CONSTANTS.elementName\n})\nexport class CircularProgressComponent extends BaseComponent implements ICircularProgressComponent {\n public static get observedAttributes(): string[] {\n return [\n CIRCULAR_PROGRESS_CONSTANTS.attributes.DETERMINATE,\n CIRCULAR_PROGRESS_CONSTANTS.attributes.PROGRESS,\n CIRCULAR_PROGRESS_CONSTANTS.attributes.ARIA_LABEL\n ];\n }\n\n private _foundation: CircularProgressFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new CircularProgressFoundation(new CircularProgressAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case CIRCULAR_PROGRESS_CONSTANTS.attributes.DETERMINATE:\n this.determinate = coerceBoolean(newValue);\n break;\n case CIRCULAR_PROGRESS_CONSTANTS.attributes.PROGRESS:\n this.progress = coerceNumber(newValue);\n break;\n case CIRCULAR_PROGRESS_CONSTANTS.attributes.ARIA_LABEL:\n this._foundation.ariaLabel = newValue;\n break;\n }\n }\n \n @FoundationProperty()\n public declare determinate: boolean;\n\n @FoundationProperty()\n public declare progress: number;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { CircularProgressComponent } from './circular-progress';\n\nexport * from './circular-progress-adapter';\nexport * from './circular-progress-constants';\nexport * from './circular-progress-foundation';\nexport * from './circular-progress';\n\nexport function defineCircularProgressComponent(): void {\n defineCustomElement(CircularProgressComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "selectors", "CIRCULAR_PROGRESS_CONSTANTS", "indeterminateTemplate", "determinateTemplate", "CircularProgressAdapter", "BaseAdapter", "component", "getShadowElement", "CIRCULAR_PROGRESS_CONSTANTS", "value", "_a", "toggleAttribute", "elements", "el", "CircularProgressFoundation", "_adapter", "value", "CIRCULAR_PROGRESS_CONSTANTS", "template", "styles", "CircularProgressComponent", "BaseComponent", "attachShadowTemplate", "CircularProgressFoundation", "CircularProgressAdapter", "CIRCULAR_PROGRESS_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "__decorateClass", "FoundationProperty", "CustomElement", "defineCircularProgressComponent", "defineCustomElement", "CircularProgressComponent"]
7
+ }
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{a as e}from"./chunk.47A2CN5U.js";var o=class extends e{constructor(n){super(n)}};export{o as a};
7
- //# sourceMappingURL=chunk.ARJ3EVVO.js.map
6
+ import{a as e}from"./chunk.RFLASSCI.js";var o=class extends e{constructor(n){super(n)}};export{o as a};
7
+ //# sourceMappingURL=chunk.G4IN6Y46.js.map
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{a as f}from"./chunk.G5MGGEFP.js";import{a as p}from"./chunk.KTGSZEAG.js";import{a as k,b as v}from"./chunk.BE7PZANN.js";import{a as b,e as l,g as A,l as h}from"./chunk.Y4GKBJGI.js";import{f as i}from"./chunk.MCIQXNKY.js";var _=`${v}backdrop`,y={CONTAINER:".forge-backdrop"},E={OPACITY:.54,DELAY:0,TRANSITION_DURATION:150},O={DELAY:"delay",MAX_OPACITY:"max-opacity",APPEARANCE:"appearance",FIXED:"fixed"},g={BACKDROP_CLICK:`${_}-click`},e={elementName:_,selectors:y,numbers:E,attributes:O,events:g};var n=class extends f{constructor(a){super(a);this._backdropElement=A(a,e.selectors.CONTAINER)}setBackdropOpacity(a){this._backdropElement.style.opacity=a.toString()}addBackdropEventListener(a,o){this._backdropElement.addEventListener("click",o)}removeBackdropEventListener(a,o){this._backdropElement.removeEventListener("click",o)}};var s=class{constructor(t){this._adapter=t;this._delay=e.numbers.DELAY;this._maxOpacity=e.numbers.OPACITY;this._adapter.addBackdropEventListener("click",this._onClick.bind(this))}initialize(){this._adapter.setBackdropOpacity(0),this._applyAppearance(),this._adapter.setHostAttribute(e.attributes.DELAY,this._delay.toString()),this.fadeIn()}fadeOut(){return new Promise(t=>{this._adapter.setBackdropOpacity(0),setTimeout(()=>t(),e.numbers.TRANSITION_DURATION)})}fadeIn(){return new Promise(t=>{setTimeout(()=>{this._adapter.setBackdropOpacity(this._maxOpacity),setTimeout(()=>t(),e.numbers.TRANSITION_DURATION)},this.delay)})}_onClick(t){t.stopPropagation(),this._adapter.emitHostEvent(e.events.BACKDROP_CLICK,void 0,!0,!0)}disconnect(){this._adapter.removeBackdropEventListener("click",this._onClick)}_applyAppearance(){this._appearance?this._adapter.setHostAttribute(e.attributes.APPEARANCE,String(this._appearance)):this._adapter.removeHostAttribute(e.attributes.APPEARANCE)}set delay(t){this._delay!==t&&(this._delay=t,this._adapter.setHostAttribute(e.attributes.DELAY,this._delay.toString()))}get delay(){return this._delay}set maxOpacity(t){this._maxOpacity!==t&&(this._maxOpacity=t,this._adapter.setHostAttribute(e.attributes.MAX_OPACITY,this._maxOpacity.toString()))}get maxOpacity(){return this._maxOpacity}get appearance(){return this._appearance}set appearance(t){this._appearance!==t&&(this._appearance=t,this._applyAppearance())}};var I='<template><div class="forge-backdrop" part="root"></div></template>',C=".forge-backdrop{z-index:7;z-index:var(--forge-z-index-backdrop,7);background-color:rgba(0,0,0,.54);background-color:var(--forge-backdrop-theme-background,rgba(0,0,0,.54));position:absolute;top:0;bottom:0;left:0;right:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);opacity:0}:host{display:block}:host([hidden]){display:none}:host([fixed]) .forge-backdrop{position:fixed}:host([appearance=light]){--forge-backdrop-theme-background:rgba(255, 255, 255, 0.54)}:host([appearance=dark]){--forge-backdrop-theme-background:rgba(0, 0, 0, 0.54)}",r=class extends h{constructor(){super();l(this,I,C),this._foundation=new s(new n(this))}static get observedAttributes(){return[e.attributes.DELAY,e.attributes.MAX_OPACITY]}connectedCallback(){if(this.hasAttribute(e.attributes.DELAY)&&this.getAttribute(e.attributes.DELAY)){let a=Number(this.getAttribute(e.attributes.DELAY));this.delay=a>=0?a:e.numbers.DELAY}if(this.hasAttribute(e.attributes.MAX_OPACITY)){let a=Number(this.getAttribute(e.attributes.MAX_OPACITY));this.maxOpacity=a>=0&&a<=1?a:e.numbers.OPACITY}this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(a,o,c){switch(a){case e.attributes.DELAY:let u=Number(c);this.delay=u>=0?u:e.numbers.DELAY;break;case e.attributes.MAX_OPACITY:let d=Number(c);this.maxOpacity=d>=0&&d<=1?d:e.numbers.OPACITY;break;case e.attributes.APPEARANCE:this.appearance=c;break}}fadeOut(){return this._foundation.fadeOut()}fadeIn(){return this._foundation.fadeIn()}};i([p()],r.prototype,"delay",2),i([p()],r.prototype,"appearance",2),i([p()],r.prototype,"maxOpacity",2),r=i([k({name:e.elementName})],r);function V(){b(r)}export{e as a,n as b,s as c,r as d,V as e};
7
- //# sourceMappingURL=chunk.F2B24WLK.js.map
6
+ import{a as p}from"./chunk.NVUMRW44.js";import{a as f}from"./chunk.TKDMM2ZZ.js";import{a as k,b as v}from"./chunk.55FCNVG5.js";import{a as b,e as l,g as A,l as h}from"./chunk.QH2GB3PD.js";import{d as i}from"./chunk.M3QDAYD2.js";var _=`${v}backdrop`,y={CONTAINER:".forge-backdrop"},E={OPACITY:.54,DELAY:0,TRANSITION_DURATION:150},O={DELAY:"delay",MAX_OPACITY:"max-opacity",APPEARANCE:"appearance",FIXED:"fixed"},g={BACKDROP_CLICK:`${_}-click`},e={elementName:_,selectors:y,numbers:E,attributes:O,events:g};var n=class extends f{constructor(a){super(a);this._backdropElement=A(a,e.selectors.CONTAINER)}setBackdropOpacity(a){this._backdropElement.style.opacity=a.toString()}addBackdropEventListener(a,o){this._backdropElement.addEventListener("click",o)}removeBackdropEventListener(a,o){this._backdropElement.removeEventListener("click",o)}};var s=class{constructor(t){this._adapter=t;this._delay=e.numbers.DELAY;this._maxOpacity=e.numbers.OPACITY;this._adapter.addBackdropEventListener("click",this._onClick.bind(this))}initialize(){this._adapter.setBackdropOpacity(0),this._applyAppearance(),this._adapter.setHostAttribute(e.attributes.DELAY,this._delay.toString()),this.fadeIn()}fadeOut(){return new Promise(t=>{this._adapter.setBackdropOpacity(0),setTimeout(()=>t(),e.numbers.TRANSITION_DURATION)})}fadeIn(){return new Promise(t=>{setTimeout(()=>{this._adapter.setBackdropOpacity(this._maxOpacity),setTimeout(()=>t(),e.numbers.TRANSITION_DURATION)},this.delay)})}_onClick(t){t.stopPropagation(),this._adapter.emitHostEvent(e.events.BACKDROP_CLICK,void 0,!0,!0)}disconnect(){this._adapter.removeBackdropEventListener("click",this._onClick)}_applyAppearance(){this._appearance?this._adapter.setHostAttribute(e.attributes.APPEARANCE,String(this._appearance)):this._adapter.removeHostAttribute(e.attributes.APPEARANCE)}set delay(t){this._delay!==t&&(this._delay=t,this._adapter.setHostAttribute(e.attributes.DELAY,this._delay.toString()))}get delay(){return this._delay}set maxOpacity(t){this._maxOpacity!==t&&(this._maxOpacity=t,this._adapter.setHostAttribute(e.attributes.MAX_OPACITY,this._maxOpacity.toString()))}get maxOpacity(){return this._maxOpacity}get appearance(){return this._appearance}set appearance(t){this._appearance!==t&&(this._appearance=t,this._applyAppearance())}};var I='<template><div class="forge-backdrop" part="root"></div></template>',C=".forge-backdrop{z-index:7;z-index:var(--forge-z-index-backdrop,7);background-color:rgba(0,0,0,.54);background-color:var(--forge-backdrop-theme-background,rgba(0,0,0,.54));position:absolute;top:0;bottom:0;left:0;right:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);opacity:0}:host{display:block}:host([hidden]){display:none}:host([fixed]) .forge-backdrop{position:fixed}:host([appearance=light]){--forge-backdrop-theme-background:rgba(255, 255, 255, 0.54)}:host([appearance=dark]){--forge-backdrop-theme-background:rgba(0, 0, 0, 0.54)}",r=class extends h{constructor(){super();l(this,I,C),this._foundation=new s(new n(this))}static get observedAttributes(){return[e.attributes.DELAY,e.attributes.MAX_OPACITY]}connectedCallback(){if(this.hasAttribute(e.attributes.DELAY)&&this.getAttribute(e.attributes.DELAY)){let a=Number(this.getAttribute(e.attributes.DELAY));this.delay=a>=0?a:e.numbers.DELAY}if(this.hasAttribute(e.attributes.MAX_OPACITY)){let a=Number(this.getAttribute(e.attributes.MAX_OPACITY));this.maxOpacity=a>=0&&a<=1?a:e.numbers.OPACITY}this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(a,o,c){switch(a){case e.attributes.DELAY:let u=Number(c);this.delay=u>=0?u:e.numbers.DELAY;break;case e.attributes.MAX_OPACITY:let d=Number(c);this.maxOpacity=d>=0&&d<=1?d:e.numbers.OPACITY;break;case e.attributes.APPEARANCE:this.appearance=c;break}}fadeOut(){return this._foundation.fadeOut()}fadeIn(){return this._foundation.fadeIn()}};i([p()],r.prototype,"delay",2),i([p()],r.prototype,"appearance",2),i([p()],r.prototype,"maxOpacity",2),r=i([k({name:e.elementName})],r);function q(){b(r)}export{e as a,n as b,s as c,r as d,q as e};
7
+ //# sourceMappingURL=chunk.GFWFEBAH.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/backdrop/backdrop-constants.ts", "../../src/backdrop/backdrop-adapter.ts", "../../src/backdrop/backdrop-foundation.ts", "../../src/backdrop/backdrop.ts", "../../src/backdrop/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}backdrop`;\n\nconst selectors = {\n CONTAINER: '.forge-backdrop'\n};\n\nconst numbers = {\n OPACITY: 0.54,\n DELAY: 0,\n TRANSITION_DURATION: 150\n};\n\nconst attributes = {\n DELAY: 'delay',\n MAX_OPACITY: 'max-opacity',\n APPEARANCE: 'appearance',\n FIXED: 'fixed'\n};\n\nconst events = {\n BACKDROP_CLICK: `${elementName}-click`\n};\n\nexport const BACKDROP_CONSTANTS = {\n elementName,\n selectors,\n numbers,\n attributes,\n events\n};\n\nexport type BackdropAppearance = 'light' | 'dark' | undefined;\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IBackdropComponent } from './backdrop';\nimport { BACKDROP_CONSTANTS } from './backdrop-constants';\n\nexport interface IBackdropAdapter extends IBaseAdapter {\n setBackdropOpacity: (opacity: number) => void;\n addBackdropEventListener: (type: string, listener: (evt: Event) => void) => void;\n removeBackdropEventListener: (type: string, listener: (evt: Event) => void) => void;\n}\n\n/**\n * Provides facilities for interacting with the internal DOM of `BackdropComponent`.\n */\nexport class BackdropAdapter extends BaseAdapter<IBackdropComponent> implements IBackdropAdapter {\n private _backdropElement: HTMLElement;\n\n constructor(component: IBackdropComponent) {\n super(component);\n this._backdropElement = getShadowElement(component, BACKDROP_CONSTANTS.selectors.CONTAINER);\n }\n\n /**\n * Sets the backdrop element opacity.\n * @param opacity The opacity amount.\n */\n public setBackdropOpacity(opacity: number): void {\n this._backdropElement.style.opacity = opacity.toString();\n }\n\n /**\n * Adds a click event to the backdrop container element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public addBackdropEventListener(type: string, listener: (evt: Event) => void): void {\n this._backdropElement.addEventListener('click', listener);\n }\n\n /**\n * Removes a click event from the backdrop container element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public removeBackdropEventListener(type: string, listener: (evt: Event) => void): void {\n this._backdropElement.removeEventListener('click', listener);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IBackdropAdapter } from './backdrop-adapter';\nimport { BackdropAppearance, BACKDROP_CONSTANTS } from './backdrop-constants';\n\n\nexport interface IBackdropFoundation extends ICustomElementFoundation {\n fadeOut(): Promise<void>;\n fadeIn(): Promise<void>;\n appearance: BackdropAppearance;\n}\n\nexport class BackdropFoundation implements IBackdropFoundation {\n private _delay: number = BACKDROP_CONSTANTS.numbers.DELAY;\n private _maxOpacity: number = BACKDROP_CONSTANTS.numbers.OPACITY;\n private _appearance: BackdropAppearance;\n\n constructor(private _adapter: IBackdropAdapter) {\n this._adapter.addBackdropEventListener('click', this._onClick.bind(this));\n }\n\n public initialize(): void {\n this._adapter.setBackdropOpacity(0);\n this._applyAppearance();\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.DELAY, this._delay.toString());\n this.fadeIn();\n }\n\n /**\n * Starts the fade-out animation to animate the backdrop to 0% opacity.\n */\n public fadeOut(): Promise<void> {\n return new Promise<void>(resolve => {\n this._adapter.setBackdropOpacity(0);\n setTimeout(() => resolve(), BACKDROP_CONSTANTS.numbers.TRANSITION_DURATION);\n });\n }\n\n /**\n * Starts the fade-in animation to animate the backdrop to max opacity.\n */\n public fadeIn(): Promise<void> {\n return new Promise<void>(resolve => {\n setTimeout(() => {\n this._adapter.setBackdropOpacity(this._maxOpacity);\n setTimeout(() => resolve(), BACKDROP_CONSTANTS.numbers.TRANSITION_DURATION);\n }, this.delay);\n });\n }\n\n private _onClick(evt: Event): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, undefined, true, true);\n }\n\n public disconnect(): void {\n this._adapter.removeBackdropEventListener('click', this._onClick);\n }\n\n private _applyAppearance(): void {\n if (this._appearance) {\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.APPEARANCE, String(this._appearance));\n } else {\n this._adapter.removeHostAttribute(BACKDROP_CONSTANTS.attributes.APPEARANCE);\n }\n }\n\n public set delay(value: number) {\n if (this._delay !== value) {\n this._delay = value;\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.DELAY, this._delay.toString());\n }\n }\n public get delay(): number {\n return this._delay;\n }\n\n public set maxOpacity(value: number) {\n if (this._maxOpacity !== value) {\n this._maxOpacity = value;\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.MAX_OPACITY, this._maxOpacity.toString());\n }\n }\n public get maxOpacity(): number {\n return this._maxOpacity;\n }\n\n public get appearance(): BackdropAppearance {\n return this._appearance;\n }\n public set appearance(value: BackdropAppearance) {\n if (this._appearance !== value) {\n this._appearance = value;\n this._applyAppearance();\n }\n }\n}\n", "import { attachShadowTemplate, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { BackdropAdapter } from './backdrop-adapter';\nimport { BackdropAppearance, BACKDROP_CONSTANTS } from './backdrop-constants';\nimport { BackdropFoundation } from './backdrop-foundation';\n\nconst template = '<template><div class=\\\"forge-backdrop\\\" part=\\\"root\\\"></div></template>';\nconst styles = '.forge-backdrop{z-index:7;z-index:var(--forge-z-index-backdrop,7);background-color:rgba(0,0,0,.54);background-color:var(--forge-backdrop-theme-background,rgba(0,0,0,.54));position:absolute;top:0;bottom:0;left:0;right:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);opacity:0}:host{display:block}:host([hidden]){display:none}:host([fixed]) .forge-backdrop{position:fixed}:host([appearance=light]){--forge-backdrop-theme-background:rgba(255, 255, 255, 0.54)}:host([appearance=dark]){--forge-backdrop-theme-background:rgba(0, 0, 0, 0.54)}';\n\nexport interface IBackdropComponent extends IBaseComponent {\n delay: number;\n maxOpacity: number;\n appearance: BackdropAppearance;\n fadeOut(): Promise<void>;\n fadeIn(): Promise<void>;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-backdrop': IBackdropComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-backdrop-click': CustomEvent<void>;\n }\n}\n\n/**\n * A web component that renders a backdrop covering its parent container with a semi-opaque element.\n * \n * @tag forge-backdrop\n */\n@CustomElement({\n name: BACKDROP_CONSTANTS.elementName\n})\nexport class BackdropComponent extends BaseComponent {\n public static get observedAttributes(): string[] {\n return [\n BACKDROP_CONSTANTS.attributes.DELAY,\n BACKDROP_CONSTANTS.attributes.MAX_OPACITY\n ];\n }\n\n protected _foundation: BackdropFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new BackdropFoundation(new BackdropAdapter(this));\n }\n\n public connectedCallback(): void {\n if (this.hasAttribute(BACKDROP_CONSTANTS.attributes.DELAY) && this.getAttribute(BACKDROP_CONSTANTS.attributes.DELAY)) {\n const inDelay = Number(this.getAttribute(BACKDROP_CONSTANTS.attributes.DELAY));\n this.delay = inDelay >= 0 ? inDelay : BACKDROP_CONSTANTS.numbers.DELAY;\n }\n\n if (this.hasAttribute(BACKDROP_CONSTANTS.attributes.MAX_OPACITY)) {\n const inMaxOpacity = Number(this.getAttribute(BACKDROP_CONSTANTS.attributes.MAX_OPACITY));\n this.maxOpacity = inMaxOpacity >= 0 && inMaxOpacity <= 1 ? inMaxOpacity : BACKDROP_CONSTANTS.numbers.OPACITY;\n }\n\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 BACKDROP_CONSTANTS.attributes.DELAY:\n const delayValue = Number(newValue);\n this.delay = delayValue >= 0 ? delayValue : BACKDROP_CONSTANTS.numbers.DELAY;\n break;\n case BACKDROP_CONSTANTS.attributes.MAX_OPACITY:\n const opacityValue = Number(newValue);\n this.maxOpacity = opacityValue >= 0 && opacityValue <= 1 ? opacityValue : BACKDROP_CONSTANTS.numbers.OPACITY;\n break;\n case BACKDROP_CONSTANTS.attributes.APPEARANCE:\n this.appearance = newValue as BackdropAppearance;\n break;\n }\n }\n\n /**\n * The time in milliseconds to delay the fade in animation of the opacity.\n * Note: The element will start with 0% opacity when the component is rendered.\n */\n @FoundationProperty()\n public declare delay: number;\n\n /** Controls whether the theme defaults to light vs dark compatibility. */\n @FoundationProperty()\n public declare appearance: BackdropAppearance;\n\n /** The max opacity to fade the element to. This defines how opaque the backdrop is when visible. */\n @FoundationProperty()\n public declare maxOpacity: number;\n\n /**\n * Starts the fade-out animation to animate the backdrop to 0% opacity.\n */\n public fadeOut(): Promise<void> {\n return this._foundation.fadeOut();\n }\n\n /**\n * Starts the fade-in animation to animate the backdrop to max opacity.\n */\n public fadeIn(): Promise<void> {\n return this._foundation.fadeIn();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { BackdropComponent } from './backdrop';\n\nexport * from './backdrop-adapter';\nexport * from './backdrop-constants';\nexport * from './backdrop-foundation';\nexport * from './backdrop';\n\nexport function defineBackdropComponent(): void {\n defineCustomElement(BackdropComponent);\n}\n"],
5
- "mappings": "oOAEA,IAAMA,EAA2C,GAAGC,YAE9CC,EAAY,CAChB,UAAW,iBACb,EAEMC,EAAU,CACd,QAAS,IACT,MAAO,EACP,oBAAqB,GACvB,EAEMC,EAAa,CACjB,MAAO,QACP,YAAa,cACb,WAAY,aACZ,MAAO,OACT,EAEMC,EAAS,CACb,eAAgB,GAAGL,SACrB,EAEaM,EAAqB,CAChC,YAAAN,EACA,UAAAE,EACA,QAAAC,EACA,WAAAC,EACA,OAAAC,CACF,ECjBO,IAAME,EAAN,cAA8BC,CAA4D,CAG/F,YAAYC,EAA+B,CACzC,MAAMA,CAAS,EACf,KAAK,iBAAmBC,EAAiBD,EAAWE,EAAmB,UAAU,SAAS,CAC5F,CAMO,mBAAmBC,EAAuB,CAC/C,KAAK,iBAAiB,MAAM,QAAUA,EAAQ,SAAS,CACzD,CAOO,yBAAyBC,EAAcC,EAAsC,CAClF,KAAK,iBAAiB,iBAAiB,QAASA,CAAQ,CAC1D,CAOO,4BAA4BD,EAAcC,EAAsC,CACrF,KAAK,iBAAiB,oBAAoB,QAASA,CAAQ,CAC7D,CACF,ECpCO,IAAMC,EAAN,KAAwD,CAK7D,YAAoBC,EAA4B,CAA5B,cAAAA,EAJpB,KAAQ,OAAiBC,EAAmB,QAAQ,MACpD,KAAQ,YAAsBA,EAAmB,QAAQ,QAIvD,KAAK,SAAS,yBAAyB,QAAS,KAAK,SAAS,KAAK,IAAI,CAAC,CAC1E,CAEO,YAAmB,CACxB,KAAK,SAAS,mBAAmB,CAAC,EAClC,KAAK,iBAAiB,EACtB,KAAK,SAAS,iBAAiBA,EAAmB,WAAW,MAAO,KAAK,OAAO,SAAS,CAAC,EAC1F,KAAK,OAAO,CACd,CAKO,SAAyB,CAC9B,OAAO,IAAI,QAAcC,GAAW,CAClC,KAAK,SAAS,mBAAmB,CAAC,EAClC,WAAW,IAAMA,EAAQ,EAAGD,EAAmB,QAAQ,mBAAmB,CAC5E,CAAC,CACH,CAKO,QAAwB,CAC7B,OAAO,IAAI,QAAcC,GAAW,CAClC,WAAW,IAAM,CACf,KAAK,SAAS,mBAAmB,KAAK,WAAW,EACjD,WAAW,IAAMA,EAAQ,EAAGD,EAAmB,QAAQ,mBAAmB,CAC5E,EAAG,KAAK,KAAK,CACf,CAAC,CACH,CAEQ,SAASE,EAAkB,CACjCA,EAAI,gBAAgB,EACpB,KAAK,SAAS,cAAcF,EAAmB,OAAO,eAAgB,OAAW,GAAM,EAAI,CAC7F,CAEO,YAAmB,CACxB,KAAK,SAAS,4BAA4B,QAAS,KAAK,QAAQ,CAClE,CAEQ,kBAAyB,CAC3B,KAAK,YACP,KAAK,SAAS,iBAAiBA,EAAmB,WAAW,WAAY,OAAO,KAAK,WAAW,CAAC,EAEjG,KAAK,SAAS,oBAAoBA,EAAmB,WAAW,UAAU,CAE9E,CAEA,IAAW,MAAMG,EAAe,CAC1B,KAAK,SAAWA,IAClB,KAAK,OAASA,EACd,KAAK,SAAS,iBAAiBH,EAAmB,WAAW,MAAO,KAAK,OAAO,SAAS,CAAC,EAE9F,CACA,IAAW,OAAgB,CACzB,OAAO,KAAK,MACd,CAEA,IAAW,WAAWG,EAAe,CAC/B,KAAK,cAAgBA,IACvB,KAAK,YAAcA,EACnB,KAAK,SAAS,iBAAiBH,EAAmB,WAAW,YAAa,KAAK,YAAY,SAAS,CAAC,EAEzG,CACA,IAAW,YAAqB,CAC9B,OAAO,KAAK,WACd,CAEA,IAAW,YAAiC,CAC1C,OAAO,KAAK,WACd,CACA,IAAW,WAAWG,EAA2B,CAC3C,KAAK,cAAgBA,IACvB,KAAK,YAAcA,EACnB,KAAK,iBAAiB,EAE1B,CACF,ECzFA,IAAMC,EAAW,sEACXC,EAAS,4tBA4BFC,EAAN,cAAgCC,CAAc,CAUnD,aAAc,CACZ,MAAM,EACNC,EAAqB,KAAMJ,EAAUC,CAAM,EAC3C,KAAK,YAAc,IAAII,EAAmB,IAAIC,EAAgB,IAAI,CAAC,CACrE,CAbA,WAAkB,oBAA+B,CAC/C,MAAO,CACLC,EAAmB,WAAW,MAC9BA,EAAmB,WAAW,WAChC,CACF,CAUO,mBAA0B,CAC/B,GAAI,KAAK,aAAaA,EAAmB,WAAW,KAAK,GAAK,KAAK,aAAaA,EAAmB,WAAW,KAAK,EAAG,CACpH,IAAMC,EAAU,OAAO,KAAK,aAAaD,EAAmB,WAAW,KAAK,CAAC,EAC7E,KAAK,MAAQC,GAAW,EAAIA,EAAUD,EAAmB,QAAQ,KACnE,CAEA,GAAI,KAAK,aAAaA,EAAmB,WAAW,WAAW,EAAG,CAChE,IAAME,EAAe,OAAO,KAAK,aAAaF,EAAmB,WAAW,WAAW,CAAC,EACxF,KAAK,WAAaE,GAAgB,GAAKA,GAAgB,EAAIA,EAAeF,EAAmB,QAAQ,OACvG,CAEA,KAAK,YAAY,WAAW,CAC9B,CAEO,sBAA6B,CAClC,KAAK,YAAY,WAAW,CAC9B,CAEO,yBAAyBG,EAAcC,EAAkBC,EAAwB,CACtF,OAAQF,QACDH,EAAmB,WAAW,MACjC,IAAMM,EAAa,OAAOD,CAAQ,EAClC,KAAK,MAAQC,GAAc,EAAIA,EAAaN,EAAmB,QAAQ,MACvE,WACGA,EAAmB,WAAW,YACjC,IAAMO,EAAe,OAAOF,CAAQ,EACpC,KAAK,WAAaE,GAAgB,GAAKA,GAAgB,EAAIA,EAAeP,EAAmB,QAAQ,QACrG,WACGA,EAAmB,WAAW,WACjC,KAAK,WAAaK,EAClB,MAEN,CAoBO,SAAyB,CAC9B,OAAO,KAAK,YAAY,QAAQ,CAClC,CAKO,QAAwB,CAC7B,OAAO,KAAK,YAAY,OAAO,CACjC,CACF,EAvBiBG,EAAA,CADdC,EAAmB,GAtDTd,EAuDI,qBAIAa,EAAA,CADdC,EAAmB,GA1DTd,EA2DI,0BAIAa,EAAA,CADdC,EAAmB,GA9DTd,EA+DI,0BA/DJA,EAANa,EAAA,CAHNE,EAAc,CACb,KAAMV,EAAmB,WAC3B,CAAC,GACYL,GC1BN,SAASgB,GAAgC,CAC9CC,EAAoBC,CAAiB,CACvC",
5
+ "mappings": "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",
6
6
  "names": ["elementName", "COMPONENT_NAME_PREFIX", "selectors", "numbers", "attributes", "events", "BACKDROP_CONSTANTS", "BackdropAdapter", "BaseAdapter", "component", "getShadowElement", "BACKDROP_CONSTANTS", "opacity", "type", "listener", "BackdropFoundation", "_adapter", "BACKDROP_CONSTANTS", "resolve", "evt", "value", "template", "styles", "BackdropComponent", "BaseComponent", "attachShadowTemplate", "BackdropFoundation", "BackdropAdapter", "BACKDROP_CONSTANTS", "inDelay", "inMaxOpacity", "name", "oldValue", "newValue", "delayValue", "opacityValue", "__decorateClass", "FoundationProperty", "CustomElement", "defineBackdropComponent", "defineCustomElement", "BackdropComponent"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as k}from"./chunk.T7KUZYQ3.js";import{d as K}from"./chunk.G3ZS3UHM.js";import{e as V,h as B,j as H}from"./chunk.A2BJ47Q6.js";import{b as A}from"./chunk.Q56WQPYG.js";import{e as F}from"./chunk.FHW6LV4A.js";import{c as x}from"./chunk.LHFZFVHB.js";import{a as m,b as N}from"./chunk.QWKDOAOE.js";import{d as P}from"./chunk.MZLPUI6R.js";import{d as w}from"./chunk.T64UW37U.js";import{a as p}from"./chunk.NVUMRW44.js";import{a as S}from"./chunk.TKDMM2ZZ.js";import{a as T,b as D,d as y}from"./chunk.55FCNVG5.js";import{a as L,e as C}from"./chunk.QH2GB3PD.js";import{m as M}from"./chunk.CFDK4RCW.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=`${D}menu`,U={POPUP:"forge-menu__popup",MENU:"mdc-menu"},G={TOGGLE:`.${l}__toggle,[${l}-toggle],button,[type=button],[role=button],a,[tabindex]:not([tabindex^="-"])`,MENU_LIST:"forge-list"},R={OPEN:"open",PLACEMENT:"placement",SELECTED_INDEX:"selected-index",SELECTED_VALUE:"selected-value",DENSE:"dense",ICON_CLASS:"icon-class",PERSIST_SELECTION:"persist-selection",MODE:"mode",SYNC_POPUP_WIDTH:"sync-popup-width",POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold"},$={SELECT:`${l}-select`,OPEN:`${l}-open`,CLOSE:`${l}-close`,ACTIVE_CHANGE:`${l}-active-change`},z={CHILD_MOUSE_LEAVE_TIMEOUT:300,POPUP_MOUSE_LEAVE_TIMEOUT:500},i={elementName:l,classes:U,selectors:G,attributes:R,events:$,numbers:z};var u=class extends S{constructor(e){super(e);this._childMenus=new Map}getDropdownElement(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.dropdownElement)!=null?t:null}hasTargetElement(){return!!this._targetElement}initializeTarget(){this._targetElement=this._component.querySelector(i.selectors.TOGGLE),this._targetElement||(this._targetElement=this._component.firstElementChild)}initializeAccessibility(e){this._targetElement&&(this._targetElement.setAttribute("aria-atomic","true"),this._targetElement.setAttribute("aria-live","assertive"),this._targetElement.setAttribute("aria-haspopup","true"),this._targetElement.setAttribute("aria-expanded","false"),this._targetElement.hasAttribute("aria-label")||this._targetElement.setAttribute("aria-label",this._targetElement.textContent||""))}addTargetListener(e,t,n=!1){this._targetElement&&this._targetElement.addEventListener(e,t,n)}removeTargetListener(e,t){this._targetElement&&this._targetElement.removeEventListener(e,t)}attachMenu(e){this._listDropdown||!this._targetElement||(this._listDropdown=new B(this._targetElement,e),this._listDropdown.open(),this._targetElement.setAttribute("aria-expanded","true"),this._targetElement.setAttribute("aria-controls",`list-dropdown-popup-${e.id}`))}setOptions(e){this._listDropdown&&this._listDropdown.setOptions(e)}detachMenu(){this._targetElement&&(this._targetElement.removeAttribute("aria-activedescendant"),this._targetElement.removeAttribute("aria-expanded"),this._targetElement.removeAttribute("aria-controls")),this._listDropdown&&(this._listDropdown.close(),this._listDropdown.destroy(),this._listDropdown=void 0)}setActiveOption(e){var t;(t=this._listDropdown)==null||t.activateOption(e)}activateFirstOption(){var e;(e=this._listDropdown)==null||e.activateFirstOption()}setCascadeTargetInactive(){let e=this._targetElement;e!=null&&e.active&&(e.active=!1)}getActiveOptionIndex(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.getActiveOptionIndex())!=null?t:-1}focusTarget(){this._targetElement&&this._targetElement.focus()}isTargetFocused(){return document.activeElement===this._targetElement}updateActiveDescendant(e){this._targetElement&&(e?this._targetElement.setAttribute("aria-activedescendant",e):this._targetElement.removeAttribute("aria-activedescendant"))}addDropdownListener(e,t){!this._listDropdown||!this._listDropdown.dropdownElement||this._listDropdown.dropdownElement.addEventListener(e,t)}isOwnElement(e){return!this._targetElement||!this._listDropdown||!this._listDropdown.dropdownElement?!1:this._targetElement.contains(e)||!!this._listDropdown.dropdownElement.contains(e)}propagateKey(e){var t;(t=this._listDropdown)==null||t.handleKey(e)}proxyKeyboardEventToChild(e,t){if(!this.getDropdownElement())return;let n=this._getOpenChildMenu(t);n&&n.propagateKeyEvent(e)}toggleChildMenu(e,t){let r=this._getListItems()[e].parentElement;r&&r.tagName.toLowerCase()===i.elementName&&(t===void 0?r.open=!r.open:r.open=t,r.activateFirstOption())}createChildMenu(e,t,n,o,r){let d=document.createElement("forge-menu");return d.style.display="block",d.addEventListener(i.events.OPEN,()=>{this._childMenus.set(e,d),n(e)}),d.addEventListener(i.events.CLOSE,()=>{this._childMenus.delete(e),o(e)}),d.addEventListener(i.events.SELECT,f=>{f.stopPropagation(),r(b(c({},f.detail),{parentValue:t}))}),d}closeOtherChildMenus(e){let t=[];this._childMenus.forEach((n,o)=>{o!==e&&(n.open=!1,t.push(o))}),t.forEach(n=>this._childMenus.delete(n))}setSelectedValues(e){var t;(t=this._listDropdown)==null||t.setSelectedValues(e)}_getOpenChildMenu(e){if(!this.getDropdownElement())return null;let t=this._getOwnList(e);return t?t.querySelector(`${i.elementName}[${i.attributes.OPEN}]`):null}_getOwnList(e){let t=this.getDropdownElement();return t?t.querySelector(`${m.elementName}[id="list-dropdown-list-${e}"]`):null}_getListItems(){let e=this.getDropdownElement();if(!e)return[];let t=e.querySelector(m.elementName);return t?Array.from(t.querySelectorAll(N.elementName)):[]}};var h=class extends H{constructor(e){super({popupTimeout:i.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,targetTimeout:i.numbers.CHILD_MOUSE_LEAVE_TIMEOUT});this._adapter=e;this._placement="bottom-start";this._fallbackPlacements=[];this._dense=!1;this._iconClass=y;this._persistSelection=!1;this._mode="click";this._identifier=g(),this._clickListener=t=>this._onTargetClick(t),this._blurListener=t=>this._onTargetBlur(t),this._selectListener=t=>this._handleSelectEvent(t),this._keydownListener=t=>this.onKeydown(t),this._activeChangeListener=t=>this._onActiveOptionChanged(t)}initialize(){this._adapter.initializeTarget(),this._adapter.initializeAccessibility(this._identifier),this._initializeInteractionListeners()}disconnect(){this._open&&this._closeDropdown(),this._destroyInteractionListeners()}activateFirstOption(){this._adapter.activateFirstOption()}_applyMode(){this._adapter.hasTargetElement()&&(this._mode!=="cascade"?this._adapter.addTargetListener("click",this._clickListener):this._attachCascadingListeners())}_initializeInteractionListeners(){this._adapter.hasTargetElement()&&(this._applyMode(),this._adapter.addTargetListener("keydown",this._keydownListener,!0),this._adapter.addTargetListener("focusout",this._blurListener))}_destroyInteractionListeners(){this._adapter.hasTargetElement()&&(this._adapter.removeTargetListener("keydown",this._clickListener),this._adapter.removeTargetListener("focusout",this._blurListener),this._adapter.removeTargetListener("click",this._clickListener),this._detachCascadingListeners())}_attachCascadingListeners(){this._adapter.addTargetListener("mouseenter",this._targetMouseEnterListener),this._adapter.addTargetListener("mouseleave",this._targetMouseLeaveListener),this._adapter.addDocumentListener("mousemove",this._documentMouseMoveListener)}_detachCascadingListeners(){this._adapter.removeTargetListener("mouseenter",this._targetMouseEnterListener),this._adapter.removeTargetListener("mouseleave",this._targetMouseLeaveListener),this._adapter.removeDocumentListener("mousemove",this._documentMouseMoveListener)}get _nonDividerOptions(){return this._flatOptions.filter(e=>!e.divider)}get _flatOptions(){return V(this._options,1)?this._options.reduce((e,t)=>e.concat(t.options),[]):this._options}_onTargetClick(e){if(this._open){this._closeDropdown();return}this.open=!this._open,this._open&&this._adapter.focusTarget()}_onTargetBlur(e){this._open&&this._closeDropdown()}_onActiveOptionChanged(e){let t={id:e},n=this._adapter.emitHostEvent(i.events.ACTIVE_CHANGE,t,!0,!0);this._mode!=="cascade"&&n&&this._adapter.updateActiveDescendant(e)}onKeydown(e){if(this._childOpen){this._adapter.proxyKeyboardEventToChild(e,this._identifier);return}switch(e.code){case"Tab":this._open&&this._selectActiveOption();break;case"Escape":this._open&&(e.preventDefault(),e.stopPropagation(),this._closeDropdown());break;case"Space":e.preventDefault(),this._open?this._closeDropdown():this._openDropdown({fromKeyboard:!0});break;case"Home":case"End":this._open&&(e.preventDefault(),this._adapter.propagateKey(e.code));break;case"Enter":if(e.preventDefault(),!this._open){e.preventDefault(),this._openDropdown({fromKeyboard:!0});return}e.stopImmediatePropagation(),this._adapter.propagateKey(e.code);let t=this._adapter.getActiveOptionIndex(),n=this._nonDividerOptions[t];n&&n.options&&n.options.length&&this._adapter.toggleChildMenu(t);break;case"ArrowUp":case"ArrowDown":if(this._open&&e.stopImmediatePropagation(),e.preventDefault(),!this._open&&e.code==="ArrowDown"){this._openDropdown({fromKeyboard:!0}),this._adapter.activateFirstOption();return}this._adapter.propagateKey(e.code);break;case"ArrowLeft":this._open&&e.stopImmediatePropagation(),this._mode==="cascade"&&this._open&&this._closeDropdown();break;case"ArrowRight":if(this._open&&e.stopImmediatePropagation(),!this._open)return;let o=this._adapter.getActiveOptionIndex(),r=this._nonDividerOptions[o];if(r&&r.options){this._adapter.toggleChildMenu(o,e.code==="ArrowRight");return}break}}async _openMenu({fromKeyboard:e}={}){this._open=!0;let t=[];if(typeof this._optionsFactory=="function")this._loadOptionsAsync(),this._options=[];else{if(!this._options||!this._options.length)return;t=this._options}this._persistSelection||t.forEach(r=>r.selected=!1),this._mapIconToLeadingIcon();let n=this._persistSelection?this._getSelectedValues():[],o={id:this._identifier,type:"menu",options:this._options,selectedValues:n,iconClass:this._iconClass,dense:this._dense,multiple:!1,popupStatic:!0,allowBusy:!0,asyncStyle:"spinner",optionBuilder:this._optionBuilder,optionLimit:this._optionLimit,headerBuilder:this._popupHeaderBuilder,footerBuilder:this._popupFooterBuilder,observeScroll:this._observeScroll,observeScrollThreshold:this._observeScrollThreshold,popupPlacement:this._placement,popupFallbackPlacements:this._fallbackPlacements,activeStartIndex:e?0:void 0,popupClasses:[i.classes.POPUP,i.classes.MENU,...this._popupClasses],syncWidth:this._syncPopupWidth,activeChangeCallback:this._activeChangeListener,selectCallback:this._selectListener,popupOffset:this._popupOffset,cascadingElementFactory:r=>this._createCascadingElement(r)};this._adapter.setHostAttribute(i.attributes.OPEN,""),this._adapter.attachMenu(o),this._mode==="cascade"&&(this._adapter.addDropdownListener("mouseenter",this._childPopupMouseEnterListener),this._adapter.addDropdownListener("mouseleave",this._childPopupMouseLeaveListener)),this._adapter.addDropdownListener(i.events.ACTIVE_CHANGE,r=>{this._onActiveOptionChanged(r.detail.id)}),this._adapter.emitHostEvent(i.events.OPEN)}_closeMenu(){this._open=!1,this._childOpen=!1,this._adapter.detachMenu(),this._activeMouseLeaveTimeout!==void 0&&window.clearTimeout(this._activeMouseLeaveTimeout),this._adapter.removeHostAttribute(i.attributes.OPEN),this._adapter.emitHostEvent(i.events.CLOSE)}_loadOptionsAsync(){return this._optionsFactory?Promise.resolve(this._optionsFactory()).then(e=>{if(this._persistSelection||e.forEach(t=>t.selected=!1),this._open)if(e&&I(e)&&e.length){this._options=e,this._adapter.setOptions(e);let t=this._getSelectedValues();t.length&&this._adapter.setSelectedValues(t)}else this._open&&this._closeDropdown()}).catch(e=>{console.error("An unexpected error ocurred while opening the menu:",e),this._open&&this._closeDropdown()}):(this._open&&this._closeMenu(),Promise.resolve())}_handleSelectEvent(e){let t=this._nonDividerOptions.findIndex(n=>n.value===e);t<0||this._selectOptionByIndex(t)}_selectActiveOption(){let e=this._adapter.getActiveOptionIndex();e>=0&&this._nonDividerOptions[e]&&this._selectOptionByIndex(e)}_selectOptionByIndex(e){let{options:t,value:n}=this._nonDividerOptions[e];if(t){this._adapter.setActiveOption(e);return}this._closeDropdown();let o={index:e,value:n};!this._adapter.emitHostEvent(i.events.SELECT,o,!0,!0)||(this._selectedValue=this._persistSelection?n:void 0)}_getSelectedValues(){let e=this._flatOptions.filter(t=>t.selected).map(t=>t.value);return this._selectedValue!==void 0&&e.push(this._selectedValue),e}_onCascadingOptionSelected(e){this._persistSelection&&(this._selectedValue=e.value),this._adapter.emitHostEvent(i.events.SELECT,e),this._closeDropdown()}_onCascadingChildOpen(e){super._clearMouseLeaveTimeout(),this._adapter.closeOtherChildMenus(e),this._childOpen=!0,this._adapter.setActiveOption(e)}_onCascadingChildClose(e){this._childOpen=!1}_closeDropdown(){this._closeMenu()}_openDropdown({fromKeyboard:e}={}){this._openMenu({fromKeyboard:e})}_setCascadeTargetInactive(){this._adapter.setCascadeTargetInactive()}_isOwnElement(e){return this._adapter.isOwnElement(e)}_createCascadingElement({index:e,options:t,parentValue:n}){let o=this._adapter.createChildMenu(e,n,this._onCascadingChildOpen.bind(this),this._onCascadingChildClose.bind(this),this._onCascadingOptionSelected.bind(this));return o.mode="cascade",o.popupOffset={x:0,y:-8},o.dense=this._dense,o.placement="right-start",o.fallbackPlacements=["left-start","right-start"],o.persistSelection=this._persistSelection,this._persistSelection&&(o.selectedValue=this._selectedValue),o.options=t,o.optionBuilder=this._optionBuilder,o.iconClass=this._iconClass,o}_mapIconToLeadingIcon(){this._flatOptions.filter(e=>e.icon).forEach(e=>e.leadingIcon=e.icon)}get open(){return this._open}set open(e){e=!!e,this._open!==e&&(this._open=e,e?this._openDropdown():this._closeDropdown())}set options(e){if(typeof e=="function")this.optionsFactory=e;else if(this.optionsFactory=void 0,this._options=e.map(t=>c({},t)),this._open&&(this._mapIconToLeadingIcon(),this._adapter.setOptions(this._options),this._persistSelection)){let t=this._getSelectedValues();t.length&&this._adapter.setSelectedValues(t)}}get options(){return this._options?this._flatOptions.map(e=>c({},e)):[]}set optionsFactory(e){this._optionsFactory=e}set selectedIndex(e){let t=this._nonDividerOptions[e];t&&t.value!==this._selectedValue&&(this.selectedValue=t.value)}get selectedIndex(){return this._selectedValue!==void 0?this._nonDividerOptions.findIndex(e=>e.value===this._selectedValue):-1}set selectedValue(e){this._selectedValue!==e&&(this._selectedValue=e,this._adapter.setSelectedValues(this._selectedValue))}get selectedValue(){return this._selectedValue}get placement(){return this._placement}set placement(e){this._placement!==e&&(this._placement=e||"bottom-start",this._adapter.setHostAttribute(i.attributes.PLACEMENT,this._placement))}get fallbackPlacements(){return this._fallbackPlacements}set fallbackPlacements(e){this._fallbackPlacements=Array.isArray(e)?e:[]}get dense(){return this._dense}set dense(e){this._dense=e}get iconClass(){return this._iconClass}set iconClass(e){this._iconClass=e}get persistSelection(){return this._persistSelection}set persistSelection(e){this._persistSelection!==e&&(this._persistSelection=e,this._adapter.toggleHostAttribute(i.attributes.PERSIST_SELECTION,this._persistSelection),this._persistSelection||(this._flatOptions.forEach(t=>t.selected=!1),this._selectedValue=void 0))}get mode(){return this._mode}set mode(e){this._mode!==e&&(this._mode=e,this._destroyInteractionListeners(),this._applyMode(),this._adapter.setHostAttribute(i.attributes.MODE,this._mode))}get popupOffset(){return this._popupOffset}set popupOffset(e){this._popupOffset=e}get optionBuilder(){return this._optionBuilder}set optionBuilder(e){this._optionBuilder=e}get popupElement(){return this._adapter.getDropdownElement()}};var q="<template><slot></slot></template>",W=":host{display:inline-block}:host([hidden]){display:none}",s=class extends k{constructor(){super();w.define(P),this._foundation=new h(new u(this)),C(this,q,W)}static get observedAttributes(){return[i.attributes.OPEN,i.attributes.PLACEMENT,i.attributes.SELECTED_INDEX,i.attributes.SELECTED_VALUE,i.attributes.DENSE,i.attributes.ICON_CLASS,i.attributes.PERSIST_SELECTION,i.attributes.MODE,i.attributes.SYNC_POPUP_WIDTH,i.attributes.POPUP_CLASSES,i.attributes.OPTION_LIMIT,i.attributes.OBSERVE_SCROLL,i.attributes.OBSERVE_SCROLL_THRESHOLD]}connectedCallback(){this.querySelector(i.selectors.TOGGLE)?this._foundation.initialize():M(this,i.selectors.TOGGLE).then(()=>this._foundation.initialize())}attributeChangedCallback(e,t,n){switch(super.attributeChangedCallback(e,t,n),e){case i.attributes.OPEN:this._foundation.open=O(n);break;case i.attributes.PLACEMENT:this._foundation.placement=n;break;case i.attributes.SELECTED_INDEX:this._foundation.selectedIndex=Number(n);break;case i.attributes.SELECTED_VALUE:this._foundation.selectedValue=n;break;case i.attributes.DENSE:this._foundation.dense=_(n);break;case i.attributes.ICON_CLASS:this._foundation.iconClass=n;break;case i.attributes.PERSIST_SELECTION:this.persistSelection=_(n);break;case i.attributes.MODE:this.mode=n;break}}disconnectedCallback(){this._foundation.disconnect()}propagateKeyEvent(e){this._foundation.onKeydown(e)}activateFirstOption(){this._foundation.activateFirstOption()}};a([p()],s.prototype,"open",2),a([p()],s.prototype,"options",2),a([p()],s.prototype,"selectedIndex",2),a([p()],s.prototype,"selectedValue",2),a([p()],s.prototype,"placement",2),a([p()],s.prototype,"fallbackPlacements",2),a([p()],s.prototype,"dense",2),a([p()],s.prototype,"iconClass",2),a([p()],s.prototype,"persistSelection",2),a([p()],s.prototype,"mode",2),a([p()],s.prototype,"popupOffset",2),a([p()],s.prototype,"optionBuilder",2),a([p({set:!1})],s.prototype,"popupElement",2),s=a([T({name:i.elementName,dependencies:[F,x,K,A]})],s);function Qe(){L(s)}export{i as a,u as b,h as c,s as d,Qe as e};
7
+ //# sourceMappingURL=chunk.GZ2QNJ5E.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
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
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { IListDropdownOption, IListDropdownOptionGroup } from '../list-dropdown';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}menu`;\n\nconst classes = {\n POPUP: 'forge-menu__popup',\n MENU: 'mdc-menu'\n};\n\nconst selectors = {\n TOGGLE: `.${elementName}__toggle,[${elementName}-toggle],button,[type=button],[role=button],a,[tabindex]:not([tabindex^=\"-\"])`,\n MENU_LIST: 'forge-list'\n};\n\nconst attributes = {\n OPEN: 'open',\n PLACEMENT: 'placement',\n SELECTED_INDEX: 'selected-index',\n SELECTED_VALUE: 'selected-value',\n DENSE: 'dense',\n ICON_CLASS: 'icon-class',\n PERSIST_SELECTION: 'persist-selection',\n MODE: 'mode',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SELECT: `${elementName}-select`,\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n ACTIVE_CHANGE: `${elementName}-active-change`\n};\n\nconst numbers = {\n CHILD_MOUSE_LEAVE_TIMEOUT: 300,\n POPUP_MOUSE_LEAVE_TIMEOUT: 500\n};\n\nexport const MENU_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers\n};\n\nexport interface IMenuSelectEventData<T = any, K = any> {\n index: number;\n value?: T;\n parentValue?: K;\n}\n\nexport interface IMenuActiveChangeEventData {\n id: string;\n}\n\nexport interface IMenuOption<T = any> extends IListDropdownOption<T> {\n icon?: string;\n selected?: boolean;\n}\n\nexport interface IMenuOptionGroup extends IListDropdownOptionGroup {}\n\nexport type MenuOptionBuilder = (option: IMenuOption, parentElement: HTMLElement) => HTMLElement | string | void;\nexport type MenuOptionFactory = (() => IMenuOption[]) | (() => Promise<IMenuOption[]>);\nexport type MenuMode = 'click' | 'cascade';\n", "import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IMenuOption } from './index';\nimport { IMenuComponent } from './menu';\nimport { MENU_CONSTANTS, IMenuSelectEventData } from './menu-constants';\nimport { IListDropdownConfig, IListDropdown, ListDropdown } from '../list-dropdown';\nimport { IListComponent, IListItemComponent, LIST_CONSTANTS, LIST_ITEM_CONSTANTS } from '../list';\n\nexport interface IMenuAdapter extends IBaseAdapter {\n getDropdownElement(): HTMLElement | null;\n initializeTarget(): void;\n initializeAccessibility(id: string): void;\n hasTargetElement(): boolean;\n addTargetListener(event: string, callback: (event: Event) => void, bubbles?: boolean): void;\n removeTargetListener(event: string, callback: (event: Event) => void): void;\n attachMenu(config: IListDropdownConfig): void;\n detachMenu(): void;\n setOptions(options: IMenuOption[]): void;\n getActiveOptionIndex(): number;\n setActiveOption(index: number): void;\n activateFirstOption(): void;\n setCascadeTargetInactive(): void;\n propagateKey(key: string): void;\n proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void;\n toggleChildMenu(index: number, open?: boolean): void;\n focusTarget(): void;\n isTargetFocused(): boolean;\n updateActiveDescendant(id: string): void;\n isOwnElement(element: Element): boolean;\n addDropdownListener(type: string, listener: (evt: any) => void): void;\n createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent;\n closeOtherChildMenus(excludeIndex?: number): void;\n setSelectedValues(values: any[]): void;\n}\n\nexport class MenuAdapter extends BaseAdapter<IMenuComponent> implements IMenuAdapter {\n private _targetElement: HTMLElement | null;\n private _listDropdown?: IListDropdown;\n private _childMenus = new Map<number, IMenuComponent>();\n\n constructor(component: IMenuComponent) {\n super(component);\n }\n\n public getDropdownElement(): HTMLElement | null {\n return this._listDropdown?.dropdownElement ?? null;\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public initializeTarget(): void {\n this._targetElement = this._component.querySelector(MENU_CONSTANTS.selectors.TOGGLE);\n if (!this._targetElement) {\n this._targetElement = this._component.firstElementChild as HTMLElement;\n }\n }\n\n public initializeAccessibility(id: string): void {\n if (!this._targetElement) {\n return;\n }\n\n this._targetElement.setAttribute('aria-atomic', 'true');\n this._targetElement.setAttribute('aria-live', 'assertive');\n this._targetElement.setAttribute('aria-haspopup', 'true');\n this._targetElement.setAttribute('aria-expanded', 'false');\n\n if (!this._targetElement.hasAttribute('aria-label')) {\n this._targetElement.setAttribute('aria-label', this._targetElement.textContent || '');\n }\n }\n\n public addTargetListener(event: string, callback: (event: Event) => void, bubbles = false): void {\n if (this._targetElement) {\n this._targetElement.addEventListener(event, callback, bubbles);\n }\n }\n\n public removeTargetListener(event: string, callback: (event: Event) => void): void {\n if (this._targetElement) {\n this._targetElement.removeEventListener(event, callback);\n }\n }\n\n public attachMenu(config: IListDropdownConfig): void {\n if (this._listDropdown || !this._targetElement) {\n return;\n }\n this._listDropdown = new ListDropdown(this._targetElement as HTMLElement, config);\n this._listDropdown.open();\n this._targetElement.setAttribute('aria-expanded', 'true');\n this._targetElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n }\n\n public setOptions(options: IMenuOption[]): void {\n if (this._listDropdown) {\n this._listDropdown.setOptions(options);\n }\n }\n\n public detachMenu(): void {\n if (this._targetElement) {\n this._targetElement.removeAttribute('aria-activedescendant');\n this._targetElement.removeAttribute('aria-expanded');\n this._targetElement.removeAttribute('aria-controls');\n }\n\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public setCascadeTargetInactive(): void {\n const listItem = this._targetElement as IListItemComponent;\n if (listItem?.active) {\n listItem.active = false;\n }\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public focusTarget(): void {\n if (this._targetElement) {\n this._targetElement.focus();\n }\n }\n\n public isTargetFocused(): boolean {\n return document.activeElement === this._targetElement;\n }\n\n public updateActiveDescendant(id: string): void {\n if (!this._targetElement) {\n return;\n }\n if (id) {\n this._targetElement.setAttribute('aria-activedescendant', id);\n } else {\n this._targetElement.removeAttribute('aria-activedescendant');\n }\n }\n\n public addDropdownListener(type: string, listener: (evt: any) => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n this._listDropdown.dropdownElement.addEventListener(type, listener);\n }\n\n public isOwnElement(el: Element): boolean {\n if (!this._targetElement || !this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._targetElement.contains(el) || !!this._listDropdown.dropdownElement.contains(el);\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void {\n if (!this.getDropdownElement()) {\n return;\n }\n const openMenu = this._getOpenChildMenu(id);\n if (openMenu) {\n openMenu.propagateKeyEvent(evt);\n }\n }\n\n public toggleChildMenu(index: number, open?: boolean): void {\n const listItems = this._getListItems();\n const listItem = listItems[index];\n const childMenu = listItem.parentElement as IMenuComponent;\n if (childMenu && childMenu.tagName.toLowerCase() === MENU_CONSTANTS.elementName) {\n if (open === undefined) {\n childMenu.open = !childMenu.open;\n } else {\n childMenu.open = open;\n }\n childMenu.activateFirstOption();\n }\n }\n\n public createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent {\n const menu = document.createElement('forge-menu');\n menu.style.display = 'block';\n\n // Set listeners to notify the parent menu when anything important happens within a child menu that needs to be propagated to the root menu\n menu.addEventListener(MENU_CONSTANTS.events.OPEN, () => {\n this._childMenus.set(index, menu);\n openCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.CLOSE, () => {\n this._childMenus.delete(index);\n closeCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.SELECT, (evt: CustomEvent<IMenuSelectEventData>) => {\n evt.stopPropagation();\n selectCb({ ...evt.detail, parentValue });\n });\n\n return menu;\n }\n\n public closeOtherChildMenus(excludeIndex?: number): void {\n const menusToRemove: number[] = [];\n this._childMenus.forEach((menu, index) => {\n if (index !== excludeIndex) {\n menu.open = false;\n menusToRemove.push(index);\n }\n });\n menusToRemove.forEach(index => this._childMenus.delete(index));\n }\n\n public setSelectedValues(values: any[]): void {\n this._listDropdown?.setSelectedValues(values);\n }\n\n private _getOpenChildMenu(id: string): IMenuComponent | null {\n if (!this.getDropdownElement()) {\n return null;\n }\n const list = this._getOwnList(id);\n return list ? list.querySelector(`${MENU_CONSTANTS.elementName}[${MENU_CONSTANTS.attributes.OPEN}]`) : null;\n }\n\n private _getOwnList(id: string): IListComponent | null {\n const popup = this.getDropdownElement();\n if (!popup) {\n return null;\n }\n return popup.querySelector(`${LIST_CONSTANTS.elementName}[id=\"list-dropdown-list-${id}\"]`);\n }\n\n private _getListItems(): IListItemComponent[] {\n const popup = this.getDropdownElement();\n if (!popup) {\n return [];\n }\n const listElement = popup.querySelector(LIST_CONSTANTS.elementName);\n if (listElement) {\n return Array.from(listElement.querySelectorAll(LIST_ITEM_CONSTANTS.elementName)) as IListItemComponent[];\n }\n return [];\n }\n}\n", "import { ICustomElementFoundation, isArray, randomChars } from '@tylertech/forge-core';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { CascadingListDropdownAwareFoundation, IListDropdownCascadingElementFactoryConfig, IListDropdownConfig, ListDropdownAsyncStyle, ListDropdownType } from '../list-dropdown';\nimport { isListDropdownOptionType, ListDropdownOptionType } from '../list-dropdown/list-dropdown-utils';\nimport { IPopupPosition, PopupPlacement } from '../popup';\nimport { IMenuOption } from './index';\nimport { IMenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\n\nexport interface IMenuFoundation extends ICustomElementFoundation {\n initialize(): void;\n disconnect(): void;\n onKeydown(evt: KeyboardEvent): void;\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup>;\n optionsFactory: MenuOptionFactory | undefined;\n selectedIndex: number;\n selectedValue: any;\n placement: PopupPlacement;\n fallbackPlacements: PopupPlacement[];\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n activateFirstOption(): void;\n}\n\nexport class MenuFoundation extends CascadingListDropdownAwareFoundation<IMenuOption | IMenuOptionGroup> implements IMenuFoundation {\n private _optionsFactory: MenuOptionFactory | undefined;\n private _placement: PopupPlacement = 'bottom-start';\n private _fallbackPlacements: PopupPlacement[] = [];\n private _dense = false;\n private _selectedValue: any;\n private _iconClass = ICON_CLASS_NAME;\n private _persistSelection = false;\n private _mode: MenuMode = 'click';\n private _popupOffset: IPopupPosition;\n private _optionBuilder: MenuOptionBuilder | undefined;\n private _identifier: string;\n private _clickListener: (evt: MouseEvent) => void;\n private _blurListener: (evt: MouseEvent) => void;\n private _selectListener: (value: any) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _activeChangeListener: (id: string) => void;\n \n constructor(private _adapter: IMenuAdapter) {\n super({\n popupTimeout: MENU_CONSTANTS.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,\n targetTimeout: MENU_CONSTANTS.numbers.CHILD_MOUSE_LEAVE_TIMEOUT\n });\n this._identifier = randomChars();\n this._clickListener = evt => this._onTargetClick(evt);\n this._blurListener = evt => this._onTargetBlur(evt);\n this._selectListener = value => this._handleSelectEvent(value);\n this._keydownListener = evt => this.onKeydown(evt);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n }\n\n public initialize(): void {\n this._adapter.initializeTarget();\n this._adapter.initializeAccessibility(this._identifier);\n this._initializeInteractionListeners();\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._destroyInteractionListeners();\n }\n\n public activateFirstOption(): void {\n this._adapter.activateFirstOption();\n }\n\n private _applyMode(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n\n if (this._mode !== 'cascade') {\n this._adapter.addTargetListener('click', this._clickListener);\n } else {\n this._attachCascadingListeners();\n }\n }\n\n private _initializeInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._applyMode();\n this._adapter.addTargetListener('keydown', this._keydownListener, true);\n this._adapter.addTargetListener('focusout', this._blurListener);\n }\n\n private _destroyInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._adapter.removeTargetListener('keydown', this._clickListener);\n this._adapter.removeTargetListener('focusout', this._blurListener);\n this._adapter.removeTargetListener('click', this._clickListener);\n this._detachCascadingListeners();\n }\n\n protected _attachCascadingListeners(): void {\n this._adapter.addTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.addTargetListener('mouseleave', this._targetMouseLeaveListener);\n\n // We listen for document mousemove events only to track mouse coords for use when determining\n // if popups should open/close after specific delays\n this._adapter.addDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n protected _detachCascadingListeners(): void {\n this._adapter.removeTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.removeTargetListener('mouseleave', this._targetMouseLeaveListener);\n this._adapter.removeDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n private get _nonDividerOptions(): IMenuOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n private get _flatOptions(): IMenuOption[] {\n if (isListDropdownOptionType(this._options, ListDropdownOptionType.Group)) {\n return (this._options as IMenuOptionGroup[]).reduce((previousValue, currentValue) => previousValue.concat(currentValue.options), [] as IMenuOption[]) as IMenuOption[];\n }\n return this._options as IMenuOption[];\n }\n\n private _onTargetClick(evt: MouseEvent): void {\n if (this._open) {\n this._closeDropdown();\n return;\n }\n this.open = !this._open;\n if (this._open) {\n this._adapter.focusTarget();\n }\n }\n\n private _onTargetBlur(evt: Event): void {\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n private _onActiveOptionChanged(id: string): void {\n // We need to dispatch an event when the active descendant changes to propagate that to the proper target element\n const data: IMenuActiveChangeEventData = { id };\n const canSetActiveDescendant = this._adapter.emitHostEvent(MENU_CONSTANTS.events.ACTIVE_CHANGE, data, true, true);\n if (this._mode !== 'cascade' && canSetActiveDescendant) {\n this._adapter.updateActiveDescendant(id);\n }\n }\n\n public onKeydown(evt: KeyboardEvent): void {\n // If we have any child menus open, we need to proxy the keyboard events to those and exit\n if (this._childOpen) {\n this._adapter.proxyKeyboardEventToChild(evt, this._identifier);\n return;\n }\n\n switch (evt.code) {\n case 'Tab':\n if (this._open) {\n this._selectActiveOption();\n }\n break;\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n evt.stopPropagation();\n this._closeDropdown();\n }\n break;\n case 'Space':\n evt.preventDefault();\n\n if (this._open) {\n this._closeDropdown();\n } else {\n this._openDropdown({ fromKeyboard: true });\n }\n break;\n case 'Home':\n case 'End':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateKey(evt.code);\n }\n break;\n case 'Enter':\n evt.preventDefault();\n\n if (!this._open) {\n evt.preventDefault();\n this._openDropdown({ fromKeyboard: true });\n return;\n }\n\n evt.stopImmediatePropagation();\n\n this._adapter.propagateKey(evt.code);\n\n // Check if we need to toggle the child menu open state\n const activeIndex = this._adapter.getActiveOptionIndex();\n const activeOption = this._nonDividerOptions[activeIndex];\n if (activeOption && activeOption.options && activeOption.options.length) {\n this._adapter.toggleChildMenu(activeIndex);\n }\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n\n evt.preventDefault();\n\n if (!this._open && evt.code === 'ArrowDown') {\n this._openDropdown({ fromKeyboard: true });\n this._adapter.activateFirstOption();\n return;\n }\n\n this._adapter.propagateKey(evt.code);\n break;\n case 'ArrowLeft':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (this._mode === 'cascade' && this._open) {\n this._closeDropdown();\n }\n break;\n case 'ArrowRight':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (!this._open) {\n return;\n }\n const hoveredIndex = this._adapter.getActiveOptionIndex();\n const hoveredOption = this._nonDividerOptions[hoveredIndex];\n if (hoveredOption && hoveredOption.options) {\n this._adapter.toggleChildMenu(hoveredIndex, evt.code === 'ArrowRight');\n return;\n }\n break;\n }\n }\n\n private async _openMenu({ fromKeyboard }: { fromKeyboard?: boolean } = {}): Promise<void> {\n this._open = true;\n let options: IMenuOption[] = [];\n\n if (typeof this._optionsFactory === 'function') {\n this._loadOptionsAsync();\n this._options = [];\n } else {\n if (!this._options || !this._options.length) {\n return;\n }\n options = this._options as IMenuOption[];\n }\n\n if (!this._persistSelection) {\n options.forEach(o => o.selected = false);\n }\n\n this._mapIconToLeadingIcon();\n\n const selectedValues = this._persistSelection ? this._getSelectedValues() : [];\n\n const config: IListDropdownConfig = {\n id: this._identifier,\n type: ListDropdownType.Menu,\n options: this._options,\n selectedValues,\n iconClass: this._iconClass,\n dense: this._dense,\n multiple: false,\n popupStatic: true,\n allowBusy: true,\n asyncStyle: ListDropdownAsyncStyle.Spinner,\n optionBuilder: this._optionBuilder,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n popupPlacement: this._placement,\n popupFallbackPlacements: this._fallbackPlacements,\n activeStartIndex: fromKeyboard ? 0 : undefined,\n popupClasses: [\n MENU_CONSTANTS.classes.POPUP,\n MENU_CONSTANTS.classes.MENU,\n ...this._popupClasses as string[]\n ],\n syncWidth: this._syncPopupWidth,\n activeChangeCallback: this._activeChangeListener,\n selectCallback: this._selectListener,\n popupOffset: this._popupOffset,\n cascadingElementFactory: params => this._createCascadingElement(params)\n };\n\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.OPEN, '');\n this._adapter.attachMenu(config);\n\n // If this menu is in a hover mode, we need to listen for mouse enter/leave events to know when the user is hovering over the popup\n if (this._mode === 'cascade') {\n this._adapter.addDropdownListener('mouseenter', this._childPopupMouseEnterListener);\n this._adapter.addDropdownListener('mouseleave', this._childPopupMouseLeaveListener);\n }\n \n this._adapter.addDropdownListener(MENU_CONSTANTS.events.ACTIVE_CHANGE, (evt: CustomEvent<IMenuActiveChangeEventData>) => {\n this._onActiveOptionChanged(evt.detail.id);\n });\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.OPEN);\n }\n\n private _closeMenu(): void {\n this._open = false;\n this._childOpen = false;\n this._adapter.detachMenu();\n\n if (this._activeMouseLeaveTimeout !== undefined) {\n window.clearTimeout(this._activeMouseLeaveTimeout);\n }\n\n this._adapter.removeHostAttribute(MENU_CONSTANTS.attributes.OPEN);\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.CLOSE);\n }\n\n private _loadOptionsAsync(): Promise<void> {\n if (!this._optionsFactory) {\n if (this._open) {\n this._closeMenu();\n }\n return Promise.resolve();\n }\n\n return Promise.resolve(this._optionsFactory())\n .then(results => {\n if (!this._persistSelection) {\n results.forEach(o => o.selected = false);\n }\n\n if (this._open) {\n if (results && isArray(results) && results.length) {\n this._options = results;\n this._adapter.setOptions(results);\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n } else if (this._open) {\n this._closeDropdown();\n }\n }\n })\n .catch(e => {\n console.error('An unexpected error ocurred while opening the menu:', e);\n if (this._open) {\n this._closeDropdown();\n }\n });\n }\n\n private _handleSelectEvent(value: any): void {\n const index = this._nonDividerOptions.findIndex(o => o.value === value);\n if (index < 0) {\n return;\n }\n this._selectOptionByIndex(index);\n }\n\n private _selectActiveOption(): void {\n const index = this._adapter.getActiveOptionIndex();\n if (index >= 0 && this._nonDividerOptions[index]) {\n this._selectOptionByIndex(index);\n }\n }\n\n private _selectOptionByIndex(index: number): void {\n const { options, value } = this._nonDividerOptions[index];\n\n // We ignore selections if the option has child options\n if (options) {\n this._adapter.setActiveOption(index);\n return;\n }\n\n this._closeDropdown();\n \n const data: IMenuSelectEventData = { index, value };\n const isCancelled = !this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data, true, true);\n if (!isCancelled) {\n this._selectedValue = this._persistSelection ? value : undefined;\n }\n }\n\n private _getSelectedValues(): any[] {\n const values = this._flatOptions.filter(o => o.selected).map(o => o.value);\n if (this._selectedValue !== undefined) {\n values.push(this._selectedValue);\n }\n return values;\n }\n\n /** Called when a child menu option is selected. */\n protected _onCascadingOptionSelected(data: IMenuSelectEventData): void {\n if (this._persistSelection) {\n this._selectedValue = data.value;\n }\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data);\n this._closeDropdown();\n }\n\n /** Called when a child menu is opened off of one of our menu options. */\n protected _onCascadingChildOpen(index: number): void {\n super._clearMouseLeaveTimeout();\n this._adapter.closeOtherChildMenus(index);\n this._childOpen = true;\n this._adapter.setActiveOption(index);\n }\n\n /** Called when a child menu is closed off of one of our menu options. */\n protected _onCascadingChildClose(index: number): void {\n this._childOpen = false;\n }\n\n protected _closeDropdown(): void {\n this._closeMenu();\n }\n\n protected _openDropdown({ fromKeyboard }: { fromKeyboard?: boolean } = {}): void {\n this._openMenu({ fromKeyboard });\n }\n\n protected _setCascadeTargetInactive(): void {\n this._adapter.setCascadeTargetInactive();\n }\n\n protected _isOwnElement(element: Element): boolean {\n return this._adapter.isOwnElement(element);\n }\n\n private _createCascadingElement({ index, options, parentValue }: IListDropdownCascadingElementFactoryConfig): HTMLElement {\n const menu = this._adapter.createChildMenu(\n index,\n parentValue,\n this._onCascadingChildOpen.bind(this),\n this._onCascadingChildClose.bind(this),\n this._onCascadingOptionSelected.bind(this)\n );\n menu.mode = 'cascade';\n menu.popupOffset = { x: 0, y: -8 };\n menu.dense = this._dense;\n menu.placement = 'right-start';\n menu.fallbackPlacements = ['left-start', 'right-start']; // Cascading menus should only fallback to left or right placement if needed\n menu.persistSelection = this._persistSelection;\n if (this._persistSelection) {\n menu.selectedValue = this._selectedValue;\n }\n menu.options = options;\n menu.optionBuilder = this._optionBuilder;\n menu.iconClass = this._iconClass;\n\n return menu;\n }\n\n private _mapIconToLeadingIcon(): void {\n // For backwards compatibility with old API, map the old \"icon\" property to the new \"leadingIcon\" property (if exists)\n this._flatOptions.filter(o => o.icon).forEach(o => o.leadingIcon = o.icon);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n value = Boolean(value);\n if (this._open !== value) {\n this._open = value;\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public set options(options: IMenuOption[]) {\n if (typeof options === 'function') {\n this.optionsFactory = options;\n } else {\n this.optionsFactory = undefined;\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone\n // function to the core library.\n this._options = options.map(o => ({ ...o }));\n \n if (this._open) {\n this._mapIconToLeadingIcon();\n this._adapter.setOptions(this._options as IMenuOption[]);\n if (this._persistSelection) {\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n }\n }\n }\n }\n public get options(): IMenuOption[] {\n if (!this._options) {\n return [];\n }\n\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone\n // function to the core library.\n return this._flatOptions.map(o => ({ ...o }));\n }\n\n public set optionsFactory(factory: MenuOptionFactory | undefined) {\n this._optionsFactory = factory;\n }\n\n public set selectedIndex(value: number) {\n const option = this._nonDividerOptions[value];\n if (option && option.value !== this._selectedValue) {\n this.selectedValue = option.value;\n }\n }\n public get selectedIndex(): number {\n return this._selectedValue !== undefined ? this._nonDividerOptions.findIndex(o => o.value === this._selectedValue) : -1;\n }\n\n public set selectedValue(value: any) {\n if (this._selectedValue !== value) {\n this._selectedValue = value;\n this._adapter.setSelectedValues(this._selectedValue);\n }\n }\n public get selectedValue(): any {\n return this._selectedValue;\n }\n\n public get placement(): PopupPlacement {\n return this._placement;\n }\n public set placement(value: PopupPlacement) {\n if (this._placement !== value) {\n this._placement = value || 'bottom-start';\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.PLACEMENT, this._placement);\n }\n }\n\n public get fallbackPlacements(): PopupPlacement[] {\n return this._fallbackPlacements;\n }\n public set fallbackPlacements(value: PopupPlacement[]) {\n this._fallbackPlacements = Array.isArray(value) ? value : [];\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n this._dense = value;\n }\n\n public get iconClass(): string {\n return this._iconClass;\n }\n public set iconClass(value: string) {\n this._iconClass = value;\n }\n\n public get persistSelection(): boolean {\n return this._persistSelection;\n }\n public set persistSelection(value: boolean) {\n if (this._persistSelection === value) {\n return;\n }\n\n this._persistSelection = value;\n this._adapter.toggleHostAttribute(MENU_CONSTANTS.attributes.PERSIST_SELECTION, this._persistSelection);\n\n if (!this._persistSelection) {\n this._flatOptions.forEach(o => o.selected = false);\n this._selectedValue = undefined;\n }\n }\n\n public get mode(): MenuMode {\n return this._mode;\n }\n public set mode(value: MenuMode) {\n if (this._mode !== value) {\n this._mode = value;\n this._destroyInteractionListeners();\n this._applyMode();\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.MODE, this._mode);\n }\n }\n\n public get popupOffset(): IPopupPosition {\n return this._popupOffset;\n }\n public set popupOffset(value: IPopupPosition) {\n this._popupOffset = value;\n }\n\n public get optionBuilder(): MenuOptionBuilder | undefined {\n return this._optionBuilder;\n }\n public set optionBuilder(cb: MenuOptionBuilder | undefined) {\n this._optionBuilder = cb;\n }\n\n public get popupElement(): HTMLElement | null {\n return this._adapter.getDropdownElement();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChild, FoundationProperty, isDefined } from '@tylertech/forge-core';\nimport { tylIconArrowRight } from '@tylertech/tyler-icons/standard';\nimport { CircularProgressComponent } from '../circular-progress';\nimport { IconRegistry } from '../icon';\nimport { LinearProgressComponent } from '../linear-progress';\nimport { ListComponent } from '../list';\nimport { IListDropdownAware, ListDropdownAware } from '../list-dropdown/list-dropdown-aware';\nimport { IPopupPosition, PopupComponent, PopupPlacement } from '../popup';\nimport { MenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOption, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\nimport { MenuFoundation } from './menu-foundation';\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:inline-block}:host([hidden]){display:none}';\n\nexport interface IMenuComponent extends IListDropdownAware {\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n selectedIndex: number;\n selectedValue: number;\n placement: PopupPlacement;\n fallbackPlacements: PopupPlacement[];\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n popupElement: HTMLElement | undefined;\n propagateKeyEvent(evt: KeyboardEvent): void;\n activateFirstOption(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-menu': IMenuComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-menu-select': CustomEvent<IMenuSelectEventData>;\n 'forge-menu-open': CustomEvent<void>;\n 'forge-menu-close': CustomEvent<void>;\n 'forge-menu-active-change': CustomEvent<IMenuActiveChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-menu>` custom element.\n * \n * @tag forge-menu\n */\n@CustomElement({\n name: MENU_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ListComponent,\n CircularProgressComponent,\n LinearProgressComponent\n ]\n})\nexport class MenuComponent extends ListDropdownAware implements IMenuComponent {\n public static get observedAttributes(): string[] {\n return [\n MENU_CONSTANTS.attributes.OPEN,\n MENU_CONSTANTS.attributes.PLACEMENT,\n MENU_CONSTANTS.attributes.SELECTED_INDEX,\n MENU_CONSTANTS.attributes.SELECTED_VALUE,\n MENU_CONSTANTS.attributes.DENSE,\n MENU_CONSTANTS.attributes.ICON_CLASS,\n MENU_CONSTANTS.attributes.PERSIST_SELECTION,\n MENU_CONSTANTS.attributes.MODE,\n MENU_CONSTANTS.attributes.SYNC_POPUP_WIDTH,\n MENU_CONSTANTS.attributes.POPUP_CLASSES,\n MENU_CONSTANTS.attributes.OPTION_LIMIT,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD\n ];\n }\n\n private _foundation: MenuFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconArrowRight);\n this._foundation = new MenuFoundation(new MenuAdapter(this));\n attachShadowTemplate(this, template, styles);\n }\n\n public connectedCallback(): void {\n if (this.querySelector(MENU_CONSTANTS.selectors.TOGGLE)) {\n this._foundation.initialize();\n } else {\n ensureChild(this, MENU_CONSTANTS.selectors.TOGGLE).then(() => this._foundation.initialize());\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case MENU_CONSTANTS.attributes.OPEN:\n this._foundation.open = isDefined(newValue);\n break;\n case MENU_CONSTANTS.attributes.PLACEMENT:\n this._foundation.placement = newValue as PopupPlacement;\n break;\n case MENU_CONSTANTS.attributes.SELECTED_INDEX:\n this._foundation.selectedIndex = Number(newValue);\n break;\n case MENU_CONSTANTS.attributes.SELECTED_VALUE:\n this._foundation.selectedValue = newValue;\n break;\n case MENU_CONSTANTS.attributes.DENSE:\n this._foundation.dense = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.ICON_CLASS:\n this._foundation.iconClass = newValue;\n break;\n case MENU_CONSTANTS.attributes.PERSIST_SELECTION:\n this.persistSelection = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.MODE:\n this.mode = newValue as MenuMode;\n break;\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n /** Gets/sets the open state. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Gets/sets the array of options to display in the menu. */\n @FoundationProperty()\n public declare options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n\n /** Gets/sets the selected option to the index. Does not support cascading menus. */\n @FoundationProperty()\n public declare selectedIndex: number;\n\n /** Gets/sets the value of the option to select. */\n @FoundationProperty()\n public declare selectedValue: any;\n\n /** Gets/sets the menu placement (default is bottom-left). */\n @FoundationProperty()\n public declare placement: `${PopupPlacement}`;\n\n /** Gets/sets the fallback menu placement for overriding the default of any side. */\n @FoundationProperty()\n public declare fallbackPlacements: `${PopupPlacement}`[];\n\n /** Gets/sets dense state of the list options used in the menu popup. */\n @FoundationProperty()\n public declare dense: boolean;\n\n /** Gets/sets the class name to use for option icons. */\n @FoundationProperty()\n public declare iconClass: string;\n\n /**\n * Gets/sets whether selection of menu items is persisted.\n * @deprecated Please use `<forge-select-dropdown>` for handling selection states.\n */\n @FoundationProperty()\n public declare persistSelection: boolean;\n\n /** Gets/sets the mode that this menu is using. */\n @FoundationProperty()\n public declare mode: MenuMode;\n\n /** Sets the position adjustment on the internal popup element. */\n @FoundationProperty()\n public declare popupOffset: IPopupPosition;\n\n /** Sets the callback that will be executed for each option in the dropdown for producing custom option templates. */\n @FoundationProperty()\n public declare optionBuilder: MenuOptionBuilder;\n\n /** Gets the currently active popup element when the dropdown is open. */\n @FoundationProperty({ set: false })\n public declare popupElement: HTMLElement | undefined;\n\n /** Force propagates the key event from another element this component. */\n public propagateKeyEvent(evt: KeyboardEvent): void {\n this._foundation.onKeydown(evt);\n }\n\n public activateFirstOption(): void {\n this._foundation.activateFirstOption();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { MenuComponent } from './menu';\n\nexport * from './menu-adapter';\nexport * from './menu-constants';\nexport * from './menu-foundation';\nexport * from './menu';\n\nexport function defineMenuComponent(): void {\n defineCustomElement(MenuComponent);\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
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", "isListDropdownOptionType", "previousValue", "currentValue", "data", "canSetActiveDescendant", "activeIndex", "activeOption", "hoveredIndex", "hoveredOption", "fromKeyboard", "options", "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
7
  }
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{a as _}from"./chunk.G5MGGEFP.js";import{a as r}from"./chunk.KTGSZEAG.js";import{a as d,b}from"./chunk.BE7PZANN.js";import{a as p,l as g}from"./chunk.Y4GKBJGI.js";import{k as c}from"./chunk.J2M2MXP2.js";import{f as s}from"./chunk.MCIQXNKY.js";var o=class extends _{constructor(t){super(t)}};var u=`${b}option`,h={DISABLED:"disabled",DIVIDER:"divider",LABEL:"label",LEADING_ICON_CLASS:"leading-icon-class",LEADING_ICON_TYPE:"leading-icon-type",LEADING_ICON:"leading-icon",OPTION_CLASS:"option-class",TRAILING_ICON_CLASS:"trailing-icon-class",TRAILING_ICON_TYPE:"trailing-icon-type",TRAILING_ICON:"trailing-icon",VALUE:"value"},L={VALUE_CHANGE:`${u}-value-change`},i={elementName:u,attributes:h,events:L};var l=class{constructor(t){this._adapter=t;this._disabled=!1;this._divider=!1;this._optionClass=[]}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._adapter.emitHostEvent(i.events.VALUE_CHANGE,this._value))}get label(){return this._label}set label(t){this._label!==t&&(this._label=t,this._adapter.toggleHostAttribute(i.attributes.LABEL,!!this._label,this._label))}get disabled(){return this._disabled}set disabled(t){this._disabled!==t&&(this._disabled=t,this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled))}get divider(){return this._divider}set divider(t){this._divider!==t&&(this._divider=t,this._adapter.toggleHostAttribute(i.attributes.DIVIDER,this._divider))}get optionClass(){return this._optionClass}set optionClass(t){t?typeof t=="string"&&(t=t.split(" ")):t=[],t=t.filter(a=>a&&!/\s+/.test(a)),this._optionClass.toString()!==t.toString()&&(this._optionClass=t,this._adapter.toggleHostAttribute(i.attributes.OPTION_CLASS,this._optionClass&&!!this._optionClass.length,this._optionClass.join(" ")))}get leadingIcon(){return this._leadingIcon}set leadingIcon(t){this._leadingIcon!==t&&(this._leadingIcon=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON,!!this._leadingIcon,this._leadingIcon))}get leadingIconClass(){return this._leadingIconClass}set leadingIconClass(t){this._leadingIconClass!==t&&(this._leadingIconClass=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON_CLASS,!!this._leadingIconClass,this._leadingIconClass))}get leadingIconType(){return this._leadingIconType}set leadingIconType(t){this._leadingIconType!==t&&(this._leadingIconType=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON_TYPE,!!this._leadingIconType,this._leadingIconType))}get trailingIcon(){return this._trailingIcon}set trailingIcon(t){this._trailingIcon!==t&&(this._trailingIcon=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON,!!this._trailingIcon,this._trailingIcon))}get trailingIconClass(){return this._trailingIconClass}set trailingIconClass(t){this._trailingIconClass!==t&&(this._trailingIconClass=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON_CLASS,!!this._trailingIconClass,this._trailingIconClass))}get trailingIconType(){return this._trailingIconType}set trailingIconType(t){this._trailingIconType!==t&&(this._trailingIconType=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON_TYPE,!!this._trailingIconType,this._trailingIconType))}get leadingBuilder(){return this._leadingBuilder}set leadingBuilder(t){this._leadingBuilder!==t&&(this._leadingBuilder=t)}get trailingBuilder(){return this._trailingBuilder}set trailingBuilder(t){this._trailingBuilder!==t&&(this._trailingBuilder=t)}};var e=class extends g{constructor(){super();this._foundation=new l(new o(this))}static get observedAttributes(){return[i.attributes.VALUE,i.attributes.LABEL,i.attributes.DISABLED,i.attributes.DIVIDER,i.attributes.OPTION_CLASS,i.attributes.LEADING_ICON,i.attributes.LEADING_ICON_CLASS,i.attributes.LEADING_ICON_TYPE,i.attributes.TRAILING_ICON,i.attributes.TRAILING_ICON_CLASS,i.attributes.TRAILING_ICON_TYPE]}initializedCallback(){this.hasAttribute("role")||this.setAttribute("role","option")}attributeChangedCallback(a,T,n){switch(a){case i.attributes.VALUE:this.value=n;break;case i.attributes.LABEL:this.label=n;break;case i.attributes.DISABLED:this.disabled=c(n);break;case i.attributes.DIVIDER:this.divider=this.hasAttribute(i.attributes.DIVIDER);break;case i.attributes.OPTION_CLASS:this.optionClass=n;break;case i.attributes.LEADING_ICON:this.leadingIcon=n;break;case i.attributes.LEADING_ICON_CLASS:this.leadingIconClass=n;break;case i.attributes.LEADING_ICON_TYPE:this.leadingIconType=n;break;case i.attributes.TRAILING_ICON:this.trailingIcon=n;break;case i.attributes.TRAILING_ICON_CLASS:this.trailingIconClass=n;break;case i.attributes.TRAILING_ICON_TYPE:this.trailingIconType=n;break}}};s([r()],e.prototype,"value",2),s([r()],e.prototype,"label",2),s([r()],e.prototype,"disabled",2),s([r()],e.prototype,"divider",2),s([r()],e.prototype,"optionClass",2),s([r()],e.prototype,"leadingIcon",2),s([r()],e.prototype,"leadingIconClass",2),s([r()],e.prototype,"leadingIconType",2),s([r()],e.prototype,"trailingIcon",2),s([r()],e.prototype,"trailingIconClass",2),s([r()],e.prototype,"trailingIconType",2),s([r()],e.prototype,"leadingBuilder",2),s([r()],e.prototype,"trailingBuilder",2),e=s([d({name:i.elementName})],e);function x(){p(e)}export{o as a,i as b,l as c,e as d,x as e};
7
- //# sourceMappingURL=chunk.LYOQ2RGP.js.map
6
+ import{a as r}from"./chunk.NVUMRW44.js";import{a as _}from"./chunk.TKDMM2ZZ.js";import{a as d,b}from"./chunk.55FCNVG5.js";import{a as p,l as g}from"./chunk.QH2GB3PD.js";import{k as c}from"./chunk.J2M2MXP2.js";import{d as s}from"./chunk.M3QDAYD2.js";var o=class extends _{constructor(t){super(t)}};var u=`${b}option`,h={DISABLED:"disabled",DIVIDER:"divider",LABEL:"label",LEADING_ICON_CLASS:"leading-icon-class",LEADING_ICON_TYPE:"leading-icon-type",LEADING_ICON:"leading-icon",OPTION_CLASS:"option-class",TRAILING_ICON_CLASS:"trailing-icon-class",TRAILING_ICON_TYPE:"trailing-icon-type",TRAILING_ICON:"trailing-icon",VALUE:"value"},L={VALUE_CHANGE:`${u}-value-change`},i={elementName:u,attributes:h,events:L};var l=class{constructor(t){this._adapter=t;this._disabled=!1;this._divider=!1;this._optionClass=[]}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._adapter.emitHostEvent(i.events.VALUE_CHANGE,this._value))}get label(){return this._label}set label(t){this._label!==t&&(this._label=t,this._adapter.toggleHostAttribute(i.attributes.LABEL,!!this._label,this._label))}get disabled(){return this._disabled}set disabled(t){this._disabled!==t&&(this._disabled=t,this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled))}get divider(){return this._divider}set divider(t){this._divider!==t&&(this._divider=t,this._adapter.toggleHostAttribute(i.attributes.DIVIDER,this._divider))}get optionClass(){return this._optionClass}set optionClass(t){t?typeof t=="string"&&(t=t.split(" ")):t=[],t=t.filter(a=>a&&!/\s+/.test(a)),this._optionClass.toString()!==t.toString()&&(this._optionClass=t,this._adapter.toggleHostAttribute(i.attributes.OPTION_CLASS,this._optionClass&&!!this._optionClass.length,this._optionClass.join(" ")))}get leadingIcon(){return this._leadingIcon}set leadingIcon(t){this._leadingIcon!==t&&(this._leadingIcon=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON,!!this._leadingIcon,this._leadingIcon))}get leadingIconClass(){return this._leadingIconClass}set leadingIconClass(t){this._leadingIconClass!==t&&(this._leadingIconClass=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON_CLASS,!!this._leadingIconClass,this._leadingIconClass))}get leadingIconType(){return this._leadingIconType}set leadingIconType(t){this._leadingIconType!==t&&(this._leadingIconType=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON_TYPE,!!this._leadingIconType,this._leadingIconType))}get trailingIcon(){return this._trailingIcon}set trailingIcon(t){this._trailingIcon!==t&&(this._trailingIcon=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON,!!this._trailingIcon,this._trailingIcon))}get trailingIconClass(){return this._trailingIconClass}set trailingIconClass(t){this._trailingIconClass!==t&&(this._trailingIconClass=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON_CLASS,!!this._trailingIconClass,this._trailingIconClass))}get trailingIconType(){return this._trailingIconType}set trailingIconType(t){this._trailingIconType!==t&&(this._trailingIconType=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON_TYPE,!!this._trailingIconType,this._trailingIconType))}get leadingBuilder(){return this._leadingBuilder}set leadingBuilder(t){this._leadingBuilder!==t&&(this._leadingBuilder=t)}get trailingBuilder(){return this._trailingBuilder}set trailingBuilder(t){this._trailingBuilder!==t&&(this._trailingBuilder=t)}};var e=class extends g{constructor(){super();this._foundation=new l(new o(this))}static get observedAttributes(){return[i.attributes.VALUE,i.attributes.LABEL,i.attributes.DISABLED,i.attributes.DIVIDER,i.attributes.OPTION_CLASS,i.attributes.LEADING_ICON,i.attributes.LEADING_ICON_CLASS,i.attributes.LEADING_ICON_TYPE,i.attributes.TRAILING_ICON,i.attributes.TRAILING_ICON_CLASS,i.attributes.TRAILING_ICON_TYPE]}initializedCallback(){this.hasAttribute("role")||this.setAttribute("role","option")}attributeChangedCallback(a,T,n){switch(a){case i.attributes.VALUE:this.value=n;break;case i.attributes.LABEL:this.label=n;break;case i.attributes.DISABLED:this.disabled=c(n);break;case i.attributes.DIVIDER:this.divider=this.hasAttribute(i.attributes.DIVIDER);break;case i.attributes.OPTION_CLASS:this.optionClass=n;break;case i.attributes.LEADING_ICON:this.leadingIcon=n;break;case i.attributes.LEADING_ICON_CLASS:this.leadingIconClass=n;break;case i.attributes.LEADING_ICON_TYPE:this.leadingIconType=n;break;case i.attributes.TRAILING_ICON:this.trailingIcon=n;break;case i.attributes.TRAILING_ICON_CLASS:this.trailingIconClass=n;break;case i.attributes.TRAILING_ICON_TYPE:this.trailingIconType=n;break}}};s([r()],e.prototype,"value",2),s([r()],e.prototype,"label",2),s([r()],e.prototype,"disabled",2),s([r()],e.prototype,"divider",2),s([r()],e.prototype,"optionClass",2),s([r()],e.prototype,"leadingIcon",2),s([r()],e.prototype,"leadingIconClass",2),s([r()],e.prototype,"leadingIconType",2),s([r()],e.prototype,"trailingIcon",2),s([r()],e.prototype,"trailingIconClass",2),s([r()],e.prototype,"trailingIconType",2),s([r()],e.prototype,"leadingBuilder",2),s([r()],e.prototype,"trailingBuilder",2),e=s([d({name:i.elementName})],e);function k(){p(e)}export{o as a,i as b,l as c,e as d,k as e};
7
+ //# sourceMappingURL=chunk.H4H75YUA.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/select/option/option-adapter.ts", "../../src/select/option/option-constants.ts", "../../src/select/option/option-foundation.ts", "../../src/select/option/option.ts", "../../src/select/option/index.ts"],
4
4
  "sourcesContent": ["import { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IOptionComponent } from './option';\n\nexport interface IOptionAdapter extends IBaseAdapter {\n setHostAttribute(name: string, value: string): void;\n removeHostAttribute(name: string): void;\n}\n\n/**\n * The DOM adapter behind the `<forge-option>` element.\n */\nexport class OptionAdapter extends BaseAdapter<IOptionComponent> {\n constructor(component: IOptionComponent) {\n super(component);\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}option`;\n\nconst attributes = {\n DISABLED: 'disabled',\n DIVIDER: 'divider',\n LABEL: 'label',\n LEADING_ICON_CLASS: 'leading-icon-class',\n LEADING_ICON_TYPE: 'leading-icon-type',\n LEADING_ICON: 'leading-icon',\n OPTION_CLASS: 'option-class',\n TRAILING_ICON_CLASS: 'trailing-icon-class',\n TRAILING_ICON_TYPE: 'trailing-icon-type',\n TRAILING_ICON: 'trailing-icon',\n VALUE: 'value'\n};\n\nconst events = {\n VALUE_CHANGE: `${elementName}-value-change`\n};\n\nexport const OPTION_CONSTANTS = {\n elementName,\n attributes,\n events\n};\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IBaseListDropdownOption, ListDropdownIconType } from '../../list-dropdown/list-dropdown-constants';\nimport { IOptionAdapter } from './option-adapter';\nimport { OPTION_CONSTANTS } from './option-constants';\n\nexport interface IOptionFoundation extends ICustomElementFoundation, Required<IBaseListDropdownOption> {}\n\n/** The foundation class behind the `<forge-option>` element. */\nexport class OptionFoundation implements IOptionFoundation {\n private _value: any;\n private _label: string;\n private _disabled = false;\n private _divider = false;\n private _optionClass: string[] = [];\n private _leadingIcon: string;\n private _leadingIconClass: string;\n private _leadingIconType: ListDropdownIconType;\n private _trailingIcon: string;\n private _trailingIconClass: string;\n private _trailingIconType: ListDropdownIconType;\n private _leadingBuilder: () => HTMLElement;\n private _trailingBuilder: () => HTMLElement;\n\n constructor(private _adapter: IOptionAdapter) {}\n\n /** Gets/sets the value of this option. */\n public get value(): any {\n return this._value;\n }\n public set value(value: any) {\n if (this._value !== value) {\n this._value = value;\n this._adapter.emitHostEvent(OPTION_CONSTANTS.events.VALUE_CHANGE, this._value);\n }\n }\n\n /** Gets/sets the label of this option. */\n public get label(): string {\n return this._label;\n }\n public set label(value: string) {\n if (this._label !== value) {\n this._label = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.LABEL, !!this._label, this._label);\n }\n }\n\n /** Gets/sets the disabled status of this option. */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n /** Gets/sets the whether this option is a divider. */\n public get divider(): boolean {\n return this._divider;\n }\n public set divider(value: boolean) {\n if (this._divider !== value) {\n this._divider = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.DIVIDER, this._divider);\n }\n }\n\n /** Gets/sets the classes of this option. */\n public get optionClass(): string | string[] {\n return this._optionClass;\n }\n public set optionClass(value: string | string[]) {\n if (!value) {\n value = [];\n } else if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n value = value.filter(v => v && !/\\s+/.test(v));\n\n if (this._optionClass.toString() !== value.toString()) {\n this._optionClass = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS, this._optionClass && !!this._optionClass.length, this._optionClass.join(' '));\n }\n }\n\n /** Gets/sets the leading icon of this option. */\n public get leadingIcon(): string {\n return this._leadingIcon;\n }\n public set leadingIcon(value: string) {\n if (this._leadingIcon !== value) {\n this._leadingIcon = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON, !!this._leadingIcon, this._leadingIcon);\n }\n }\n\n /** Gets/sets the leading icon class of this option. */\n public get leadingIconClass(): string {\n return this._leadingIconClass;\n }\n public set leadingIconClass(value: string) {\n if (this._leadingIconClass !== value) {\n this._leadingIconClass = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS, !!this._leadingIconClass, this._leadingIconClass);\n }\n }\n\n /** Gets/sets the leading icon type of this option. */\n public get leadingIconType(): ListDropdownIconType {\n return this._leadingIconType;\n }\n public set leadingIconType(value: ListDropdownIconType) {\n if (this._leadingIconType !== value) {\n this._leadingIconType = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE, !!this._leadingIconType, this._leadingIconType);\n }\n }\n\n /** Gets/sets the trailing icon of this option. */\n public get trailingIcon(): string {\n return this._trailingIcon;\n }\n public set trailingIcon(value: string) {\n if (this._trailingIcon !== value) {\n this._trailingIcon = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON, !!this._trailingIcon, this._trailingIcon);\n }\n }\n\n /** Gets/sets the trailing icon class of this option. */\n public get trailingIconClass(): string {\n return this._trailingIconClass;\n }\n public set trailingIconClass(value: string) {\n if (this._trailingIconClass !== value) {\n this._trailingIconClass = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS, !!this._trailingIconClass, this._trailingIconClass);\n }\n }\n\n /** Gets/sets the trailing icon type of this option. */\n public get trailingIconType(): ListDropdownIconType {\n return this._trailingIconType;\n }\n public set trailingIconType(value: ListDropdownIconType) {\n if (this._trailingIconType !== value) {\n this._trailingIconType = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE, !!this._trailingIconType, this._trailingIconType);\n }\n }\n\n /** Gets/sets the leading builder of this option. */\n public get leadingBuilder(): (() => HTMLElement) {\n return this._leadingBuilder;\n }\n public set leadingBuilder(value: (() => HTMLElement)) {\n if (this._leadingBuilder !== value) {\n this._leadingBuilder = value;\n }\n }\n\n /** Gets/sets the trailing builder of this option. */\n public get trailingBuilder(): (() => HTMLElement) {\n return this._trailingBuilder;\n }\n public set trailingBuilder(value: (() => HTMLElement)) {\n if (this._trailingBuilder !== value) {\n this._trailingBuilder = value;\n }\n }\n}\n", "import { coerceBoolean, CustomElement, FoundationProperty, ICustomElement } from '@tylertech/forge-core';\nimport { BaseComponent } from '../../core/base/base-component';\nimport { IBaseListDropdownOption, ListDropdownIconType } from '../../list-dropdown/list-dropdown-constants';\nimport { OptionAdapter } from './option-adapter';\nimport { OPTION_CONSTANTS } from './option-constants';\nimport { OptionFoundation } from './option-foundation';\n\nexport interface IOptionComponent extends ICustomElement, Required<IBaseListDropdownOption> {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-option': IOptionComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-option>` element.\n * \n * @tag forge-option\n */\n@CustomElement({\n name: OPTION_CONSTANTS.elementName\n})\nexport class OptionComponent extends BaseComponent implements IOptionComponent {\n public static get observedAttributes(): string[] {\n return [\n OPTION_CONSTANTS.attributes.VALUE,\n OPTION_CONSTANTS.attributes.LABEL,\n OPTION_CONSTANTS.attributes.DISABLED,\n OPTION_CONSTANTS.attributes.DIVIDER,\n OPTION_CONSTANTS.attributes.OPTION_CLASS,\n OPTION_CONSTANTS.attributes.LEADING_ICON,\n OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS,\n OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE,\n OPTION_CONSTANTS.attributes.TRAILING_ICON,\n OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS,\n OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE\n ];\n }\n\n private _foundation: OptionFoundation;\n\n constructor() {\n super();\n this._foundation = new OptionFoundation(new OptionAdapter(this));\n }\n\n public initializedCallback(): void {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'option');\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case OPTION_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case OPTION_CONSTANTS.attributes.LABEL:\n this.label = newValue;\n break;\n case OPTION_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case OPTION_CONSTANTS.attributes.DIVIDER:\n this.divider = this.hasAttribute(OPTION_CONSTANTS.attributes.DIVIDER);\n break;\n case OPTION_CONSTANTS.attributes.OPTION_CLASS:\n this.optionClass = newValue;\n break;\n case OPTION_CONSTANTS.attributes.LEADING_ICON:\n this.leadingIcon = newValue;\n break;\n case OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS:\n this.leadingIconClass = newValue;\n break;\n case OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE:\n this.leadingIconType = newValue as ListDropdownIconType;\n break;\n case OPTION_CONSTANTS.attributes.TRAILING_ICON:\n this.trailingIcon = newValue;\n break;\n case OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS:\n this.trailingIconClass = newValue;\n break;\n case OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE:\n this.trailingIconType = newValue as ListDropdownIconType;\n break;\n }\n }\n\n /** Gets/sets the value of this option. */\n @FoundationProperty()\n public declare value: any;\n\n /** Gets/sets the label of this option. */\n @FoundationProperty()\n public declare label: string;\n\n /** Gets/sets the disabled status of this option. */\n @FoundationProperty()\n public declare disabled: boolean;\n\n /** Gets/sets the whether this option is a divider. */\n @FoundationProperty()\n public declare divider: boolean;\n\n /** Gets/sets the classes of this option. */\n @FoundationProperty()\n public declare optionClass: string | string[];\n\n /** Gets/sets the leading icon of this option. */\n @FoundationProperty()\n public declare leadingIcon: string;\n\n /** Gets/sets the leading icon class of this option. */\n @FoundationProperty()\n public declare leadingIconClass: string;\n\n /** Gets/sets the leading icon type of this option. */\n @FoundationProperty()\n public declare leadingIconType: ListDropdownIconType;\n\n /** Gets/sets the trailing icon of this option. */\n @FoundationProperty()\n public declare trailingIcon: string;\n\n /** Gets/sets the trailing icon class of this option. */\n @FoundationProperty()\n public declare trailingIconClass: string;\n\n /** Gets/sets the trailing icon type of this option. */\n @FoundationProperty()\n public declare trailingIconType: ListDropdownIconType;\n\n /** Gets/sets the leading builder of this option. */\n @FoundationProperty()\n public declare leadingBuilder: () => HTMLElement;\n\n /** Gets/sets the trailing builder of this option. */\n @FoundationProperty()\n public declare trailingBuilder: () => HTMLElement;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { OptionComponent } from './option';\n\nexport * from './option-adapter';\nexport * from './option-constants';\nexport * from './option-foundation';\nexport * from './option';\n\nexport function defineOptionComponent(): void {\n defineCustomElement(OptionComponent);\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["OptionAdapter", "BaseAdapter", "component", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "events", "OPTION_CONSTANTS", "OptionFoundation", "_adapter", "value", "OPTION_CONSTANTS", "v", "OptionComponent", "BaseComponent", "OptionFoundation", "OptionAdapter", "OPTION_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "defineOptionComponent", "defineCustomElement", "OptionComponent"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{d as e}from"./chunk.TLRRYVSN.js";import{a as o}from"./chunk.QH2GB3PD.js";function t(){o(e)}export{t as a};
7
+ //# sourceMappingURL=chunk.H5MJBEK5.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 c,f as B,g as M,h as Y}from"./chunk.HNSUYOCY.js";import{b as q}from"./chunk.SCP23NBN.js";import{d as H}from"./chunk.H4H75YUA.js";import{d as N}from"./chunk.G3ZS3UHM.js";import{b as W}from"./chunk.7VWG4IEN.js";import{b as P}from"./chunk.INRH62VL.js";import{e as F}from"./chunk.FHW6LV4A.js";import{c as I}from"./chunk.LHFZFVHB.js";import{e as z}from"./chunk.QWKDOAOE.js";import{d as O}from"./chunk.OAHA3QOH.js";import{a as t}from"./chunk.GO5A4GKZ.js";import{a as L}from"./chunk.LEVFMI2Q.js";import{b as R}from"./chunk.NRXPO3SY.js";import{c as w,g as A,h as k}from"./chunk.MZLPUI6R.js";import{d as D,l as C}from"./chunk.T64UW37U.js";import{a as n}from"./chunk.NVUMRW44.js";import{a as T,b as S}from"./chunk.55FCNVG5.js";import{a as E,e as x,g as f}from"./chunk.QH2GB3PD.js";import{o as y,t as s,u as d}from"./chunk.CFDK4RCW.js";import{b as v,k as b}from"./chunk.J2M2MXP2.js";import{d as a}from"./chunk.M3QDAYD2.js";var U=`${S}select`,h={ROOT:"forge-select",OPENED:"forge-select--opened",SELECTED_TEXT:"forge-select__selected-text",DROPDOWN:"forge-select__dropdown",LABEL_FLOAT:"forge-select--label-float",GROUP_WRAPPER:"forge-select__group-wrapper"},V={ROOT:`.${h.ROOT}`,SELECTED_TEXT:`.${h.SELECTED_TEXT}`,LABEL:"label#select-label",LEADING_SLOT:"slot[name=leading]",ADDON_END_SLOT:"slot[name=addon-end]"},G={TYPE:"type",VALUE:"value",LABEL:"label",MULTIPLE:"multiple",DISABLED:"disabled",PLACEHOLDER:"placeholder",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold"},X={SCROLLED_BOTTOM:`${U}-scrolled-bottom`},o={elementName:U,classes:h,selectors:V,attributes:G,events:X};var g=class extends Y{constructor(e){super(e);this._selectElement=f(e,o.selectors.ROOT),this._leadingSlot=f(e,o.selectors.LEADING_SLOT),this._addonEndSlot=f(this._component,o.selectors.ADDON_END_SLOT),this._selectedTextElement=f(e,o.selectors.SELECTED_TEXT),this._targetElement=this._selectElement}initializeLabel(){this._labelElement=f(this._component,o.selectors.LABEL)}hasLabel(){return!!this._labelElement}initializeAccessibility(){this._component.setAttribute("role","combobox"),this._component.setAttribute("aria-haspopup","true"),this._component.setAttribute("aria-expanded","false"),(!this._component.hasAttribute("tabindex")||this._component.tabIndex===-1)&&(this._component.tabIndex=0)}initializeFloatingLabel(){return new O(this._labelElement)}setLabel(e){(!this._component.hasAttribute("aria-label")||this._component.getAttribute("aria-label")===this._labelElement.textContent)&&this._component.setAttribute("aria-label",e),this._labelElement.textContent=e}addRootClass(e){this._selectElement.classList.add(e)}removeRootClass(e){this._selectElement.classList.remove(e)}setPlaceholderText(e){d(this._selectedTextElement,!!e,"placeholder",e)}addClickListener(e){this._component.addEventListener("click",e)}removeClickListener(e){this._component.removeEventListener("click",e)}addMouseDownListener(e){this._component.addEventListener("mousedown",e)}removeMouseDownListener(e){this._component.removeEventListener("mousedown",e)}addTargetListener(e,i){this._component.addEventListener(e,i)}removeTargetListener(e,i){this._component.removeEventListener(e,i)}open(e){super.open(e),this._component.setAttribute("aria-controls",`list-dropdown-popup-${e.id}`),this._component.setAttribute("aria-expanded","true"),s(this._selectElement,!0,o.classes.OPENED)}close(){this._component.setAttribute("aria-expanded","false"),this._component.removeAttribute("aria-activedescendant"),this._component.removeAttribute("aria-controls"),s(this._selectElement,!1,o.classes.OPENED),super.close()}updateActiveDescendant(e){d(this._component,!!e,"aria-activedescendant",e)}setSelectedText(e){this._selectedTextElement.textContent=e}setLeadingListener(e){this._leadingSlot.addEventListener("slotchange",e)}removeLeadingListener(e){this._leadingSlot.removeEventListener("slotchange",e)}setAddonEndListener(e){this._addonEndSlot.addEventListener("slotchange",e)}removeAddonEndListener(e){this._addonEndSlot.removeEventListener("slotchange",e)}hasLeadingElement(){return this._leadingSlot.assignedNodes().length>0}setDisabled(e){s(this._selectElement,e,t.classes.DISABLED),d(this._component,e,"aria-disabled","true"),this._component.tabIndex=e?-1:0}setInvalid(e){s(this._selectElement,e,t.classes.INVALID),d(this._component,e,"aria-invalid","true")}setRequired(e){s(this._selectElement,e,t.classes.REQUIRED),d(this._component,e,"aria-required","true")}setRoomy(e){s(this._selectElement,e,t.classes.ROOMY)}setDense(e){s(this._selectElement,e,t.classes.DENSE)}setMultiple(e){e?this.setHostAttribute("aria-multiselectable","true"):this.removeHostAttribute("aria-multiselectable")}getLabelWidth(e,i){return y(this._labelElement.innerText,{fontSize:e,fontFamily:i})}getLabelFontMetrics(){let e=getComputedStyle(this._labelElement);return{fontSize:parseInt(e.fontSize||"16",10),fontFamily:e.fontFamily||"Roboto"}}getTargetWidth(){return this._selectElement.getBoundingClientRect().width}hasAddonEndNodes(){return this._addonEndSlot?this._addonEndSlot.assignedNodes().length>0:!1}setFocus(){this._component.focus()}isWithinSelf(e){return!!this._component.shadowRoot&&this._component.shadowRoot.contains(e)||this._component.contains(e)}};var p=class extends B{constructor(e){super(e);this._shape="default";this._label="";this._disabled=!1;this._invalid=!1;this._required=!1;this._floatLabelType="auto";this._density="default";this._isInitialized=!1;this._leadingChangeListener=i=>this._onLeadingSlotChanged(i),this._addonEndChangeListener=i=>this._onAddonEndSlotChanged(i),this._targetWidthCallback=()=>this._adapter.getTargetWidth(),this._mousedownListener=i=>this._onMouseDown(i)}initialize(){super.initialize(),super.initializeTarget(),this._initializeLabel(),this._initializeAccessibility(),this._adapter.setPlaceholderText(this._placeholder),this._applyDensity(),this._setShapeType(),this._detectLeadingElement(),this._detectAddonEndContent(),this._adapter.addMouseDownListener(this._mousedownListener),this._adapter.setLeadingListener(this._leadingChangeListener),this._adapter.setAddonEndListener(this._addonEndChangeListener),this._disabled&&this._adapter.setDisabled(!0),this._invalid&&this._adapter.setInvalid(!0),this._isInitialized=!0}disconnect(){super.disconnect(),this._adapter.removeMouseDownListener(this._mousedownListener),this._adapter.removeLeadingListener(this._leadingChangeListener),this._adapter.removeAddonEndListener(this._leadingChangeListener),this._floatingLabelInstance&&(this._floatingLabelInstance.destroy(),this._floatingLabelInstance=void 0)}_initializeLabel(){if(this._adapter.initializeLabel(),this._updateLabel(),this._floatingLabelInstance=this._adapter.initializeFloatingLabel(),this._floatLabelType==="always")this._floatLabel(!0);else{let e=!!this._getSelectedText(),i=!!this._placeholder;this._floatLabel(e||i)}}_destroyLabel(){this._floatingLabelInstance&&(this._floatingLabelInstance.destroy(),this._floatingLabelInstance=void 0)}_initializeValue(){super._initializeValue(),this._selectedValues.length&&this._floatLabel(!0)}_initializeAccessibility(){this._adapter.setMultiple(this._multiple),this._required&&this._adapter.setHostAttribute("aria-required","true"),this._disabled&&this._adapter.setHostAttribute("aria-disabled","true"),this._invalid&&this._adapter.setHostAttribute("aria-invalid","true")}_onMouseDown(e){this._adapter.isWithinSelf(e.target)&&e.preventDefault()}_onLeadingSlotChanged(e){this._detectLeadingElement()}_onAddonEndSlotChanged(e){this._detectAddonEndContent()}_detectLeadingElement(){this._adapter.hasLeadingElement()?this._adapter.addRootClass(t.classes.LEADING):this._adapter.removeRootClass(t.classes.LEADING)}_detectAddonEndContent(){this._adapter.hasAddonEndNodes()?this._adapter.addRootClass(t.classes.ADDON_END):this._adapter.removeRootClass(t.classes.ADDON_END)}_onClick(e){this._disabled||L(e).find(r=>r.classList&&r.classList.contains(t.classes.ADDON_END_CONTAINER))||(this.setFocus(),super._onClick(e))}_onFocus(e){this._disabled||(this._setFocused(),super._onFocus(e))}_floatLabel(e){this._floatingLabelInstance&&(e?this._adapter.addRootClass(o.classes.LABEL_FLOAT):this._adapter.removeRootClass(o.classes.LABEL_FLOAT),this._floatLabelType==="always"&&(e=!0),this._floatingLabelInstance.float(e,this._floatLabelType==="always"))}_onBlur(e){super._onBlur(e),this._setBlurred()}_onDismiss(){super._onDismiss(),this._setBlurred()}_onDropdownScrollEnd(){this._adapter.emitHostEvent(o.events.SCROLLED_BOTTOM)}async _onSelect(e,i,r=!0){let u=await super._onSelect(e,i,r);return u&&(this._adapter.setSelectedText(this._getSelectedText()),r&&!this._multiple&&this._adapter.setFocus()),u}_setFocused(){this._adapter.addRootClass(t.classes.FOCUSED),this._floatLabel(!0)}_setBlurred(){var e;this._adapter.removeRootClass(t.classes.FOCUSED),!this._selectedValues.length&&!((e=this._placeholder)!=null&&e.length)&&this._floatLabel(!1)}_reset(){var e;super._reset(),this._adapter.setSelectedText(""),this._floatLabel(!((e=this._placeholder)!=null&&e.length))}_updateLabel(){this._adapter.hasLabel()&&this._adapter.setLabel(this._label),this._label&&this._density!=="dense"?this._adapter.addRootClass(t.classes.LABEL):this._adapter.removeRootClass(t.classes.LABEL)}_applyValue(e){super._applyValue(e);let i=this._getSelectedText();this._adapter.setSelectedText(i),this._open||this._floatLabel(!!i||!!this._placeholder)}_applyDensity(){this._adapter.setRoomy(this._density==="roomy"),this._adapter.setDense(this._density==="dense")}_setShapeType(){this._shape==="rounded"?this._adapter.addRootClass(t.classes.SHAPE_ROUNDED):this._adapter.removeRootClass(t.classes.SHAPE_ROUNDED)}setFocus(){this._adapter.setFocus()}get label(){return this._label}set label(e){this._label!==e&&(this._label=e,this._updateLabel(),this._label?(this._initializeLabel(),this._adapter.setHostAttribute(o.attributes.LABEL,this._label)):(this._destroyLabel(),this.required=!1,this._adapter.removeHostAttribute(o.attributes.LABEL)))}get shape(){return this._shape}set shape(e){this._shape!==e&&(this._shape=e,this._isInitialized&&this._setShapeType(),this._adapter.setHostAttribute(t.attributes.SHAPE,this._shape))}get disabled(){return this._disabled}set disabled(e){this._disabled!==e&&(this._disabled=e,this._adapter.setDisabled(this._disabled),this._initializeLabel())}get invalid(){return this._invalid}set invalid(e){this._invalid!==e&&(this._invalid=e,this._adapter.setInvalid(this._invalid))}get required(){return this._required}set required(e){this._required!==e&&(this._required=e,this._adapter.setRequired(this._required),this._adapter.toggleHostAttribute(t.attributes.REQUIRED,this._required))}get density(){return this._density}set density(e){this._density!==e&&(this._density=e,this._applyDensity(),this._adapter.setHostAttribute(t.attributes.DENSITY,this._density.toString()),this._initializeLabel())}get floatLabelType(){return this._floatLabelType}set floatLabelType(e){this._floatLabelType!==e&&(this._floatLabelType=e,this._floatLabel(this._floatLabelType==="always"||!!this._placeholder),this._adapter.setHostAttribute(t.attributes.FLOAT_LABEL_TYPE,v(this._floatLabelType)?this._floatLabelType.toString():""))}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder!==e&&(this._placeholder=e,this._adapter.setPlaceholderText(this._placeholder),this._initializeLabel())}};var $='<template><div class="forge-select__wrapper" part="root"><div class="forge-select forge-field" part="container"><div class="forge-select__leading-container" part="leading-container"><slot name="leading"></slot></div><div class="forge-field__label-input-container" part="label-input-container"><div id="selected-text" class="forge-select__selected-text" part="text" aria-live="assertive" aria-atomic="true"></div><label id="select-label" aria-hidden="true" part="label"></label></div><forge-icon class="forge-select__dropdown-icon" name="arrow_drop_down" part="icon"></forge-icon><div class="forge-field__addon-end-container" part="addon-end-container"><slot name="addon-end"></slot></div></div><slot name="helper-text"></slot></div></template>',Q='.forge-select{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;z-index:1;z-index:var(--forge-z-index-surface,1);margin-top:0;margin-top:var(--forge-select-margin-top,0)}.forge-select.forge-field--disabled{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);cursor:not-allowed}.forge-select:not(.forge-field--dense):not(.forge-field--roomy){height:3rem;height:var(--forge-select-height,3rem)}.forge-select.forge-field--roomy:not(.forge-field--dense){height:3.5rem;height:var(--forge-select-height,3.5rem)}.forge-select.forge-field--dense:not(.forge-field--roomy){height:1.5rem;height:var(--forge-select-height,1.5rem)}.forge-field::before{content:"";display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;z-index:-1;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;max-width:100%;height:100%;pointer-events:none;border-style:solid;border-style:var(--forge-select-border-style,solid);border-width:1px;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);background-color:transparent;background-color:var(--forge-select-theme-background,transparent);text-align:left}.forge-field[dir=rtl]::before,[dir=rtl] .forge-field::before{text-align:right}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused)::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-icon-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused):hover::before{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled)::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-field--invalid:not(.forge-field--disabled)::before{border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-field--invalid:not(.forge-field--disabled):not(.forge-field--focused):hover::before{border-color:#db8a98;border-color:var(--forge-theme-error-hover,#db8a98)}.forge-field--disabled::before{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--shape-rounded){border-radius:4px}.forge-field:not(.forge-field--shape-rounded)::before{border-radius:4px}.forge-field--shape-rounded{border-radius:28px}.forge-field--shape-rounded::before{border-radius:28px}.forge-field--disabled::before{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-field--focused::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);border-width:2px}.forge-field__label-input-container{position:relative;-webkit-box-flex:1;flex:1 1 0.0001px;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;min-width:0}.forge-field~::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;min-height:1.5rem;line-height:normal;padding-top:4px;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-field:not(.forge-field--dense):not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field--roomy:not(.forge-field--dense)~::slotted([slot=helper-text]){font-size:.875rem}.forge-field--dense:not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field~::slotted([slot=helper-text]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled)~::slotted([slot=helper-text]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field:not(.forge-field--shape-rounded)~::slotted([slot=helper-text]){margin-left:12px}.forge-field--shape-rounded~::slotted([slot=helper-text]){margin-left:32px}.forge-field ::slotted([slot=leading]){display:-webkit-box;display:flex;align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=leading]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=leading]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=leading]){margin:0 4px}.forge-field ::slotted([slot=leading]:not(forge-icon-button)){padding:6px}.forge-field__addon-end-container{display:none}.forge-field--addon-end .forge-field__addon-end-container{height:100%;width:auto;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 4px;border-left-width:1px;border-left-style:solid;-webkit-transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.54);border-left-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container:hover{border-left-color:rgba(0,0,0,.87);border-left-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#3f51b5;border-left-color:var(--mdc-theme-primary,#3f51b5)}.forge-field.forge-field--invalid:not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#b00020;border-left-color:var(--mdc-theme-error,#b00020)}.forge-field.forge-field--invalid:not(.forge-field--focused):not(.forge-field--disabled) .forge-field__addon-end-container:hover{border-left-color:#db8a98;border-left-color:var(--forge-theme-error-hover,#db8a98)}.forge-field.forge-field--disabled .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.12);border-left-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=addon-end]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=addon-end]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=addon-end]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-select__leading-container{display:-webkit-box;display:flex;align-self:center}.forge-field label{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65));pointer-events:none;right:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);font-size:var(--mdc-typography-subtitle1-font-size, 1rem);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.1rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;-webkit-transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field label[dir=rtl],[dir=rtl] .forge-field label{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.forge-field--dense:not(.forge-field--roomy) label{display:none}.forge-field--required label::after{content:none}.forge-field--required label::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:"*";margin-right:4px}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{font-size:1rem}.forge-field--roomy:not(.forge-field--dense) label{font-size:1rem}.forge-field--disabled label{color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-field--invalid:not(.forge-field--disabled) label{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{top:1rem}.forge-field--roomy:not(.forge-field--dense) label{top:1.285rem}.forge-field:not(.forge-field--shape-rounded):not(.forge-field--leading) label{left:12px!important}.forge-field--shape-rounded:not(.forge-field--leading) label{left:32px!important}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end):not(.forge-field--shape-rounded) label{padding-right:12px}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end).forge-field--shape-rounded label{padding-right:32px}.forge-field label.forge-floating-label--float-above{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65))}.forge-field--disabled label.forge-floating-label--float-above{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-field--invalid:not(.forge-field--disabled) label.forge-floating-label--float-above{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label.forge-floating-label--float-above{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above{-webkit-transform:translateY(-.54rem) scale(.8125);transform:translateY(-.54rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above{-webkit-transform:translateY(-.72rem) scale(.8125);transform:translateY(-.72rem) scale(.8125);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.62rem) scale(1);transform:translateY(-.62rem) scale(1);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.8rem) scale(1);transform:translateY(-.8rem) scale(1);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.62rem) scale(.8125);transform:translateY(-.62rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.8rem) scale(.8125);transform:translateY(-.8rem) scale(.8125);cursor:auto}.forge-field .forge-select__selected-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));display:block;overflow:hidden;text-overflow:ellipsis;align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;white-space:nowrap;-webkit-transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);border:none;background:0 0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;line-height:normal;min-width:0;font-size:var(--forge-select-font-size, 1rem);padding:0 12px;padding-right:0}.forge-field:not(.forge-field--disabled) .forge-select__selected-text{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--disabled .forge-select__selected-text{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6));cursor:not-allowed}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{font-size:1rem;font-size:var(--forge-select-font-size, 1rem)}.forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{font-size:1rem;font-size:var(--forge-select-font-size, 1rem)}.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{font-size:.875rem;font-size:var(--forge-select-font-size, .875rem)}.forge-field .forge-select__selected-text{padding:0 12px}.forge-field--label .forge-select__selected-text{padding-top:24px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-top:29px}.forge-field--shape-rounded:not(.forge-field--leading) .forge-select__selected-text{padding-left:32px}.forge-field--leading .forge-select__selected-text{padding-left:0}.forge-field--label .forge-select__selected-text{padding-bottom:3px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-bottom:8px}.forge-field:not(.forge-field--label):not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height, 3rem)}.forge-field:not(.forge-field--label).forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{line-height:var(--forge-select-height-roomy, 3.5rem)}.forge-field:not(.forge-field--label).forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height-dense, 1.5rem)}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{padding:0 8px}.forge-field .forge-select__selected-text:empty::before{content:attr(placeholder);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field .forge-select--label .forge-select__selected-text{padding-top:25px}.forge-field .forge-select__dropdown-icon{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:24px;height:100%;-webkit-box-flex:0;flex:none;-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);pointer-events:none;margin-right:8px}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) .forge-select__dropdown-icon{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) .forge-select__dropdown-icon{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled .forge-select__dropdown-icon{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__dropdown-icon{margin-right:4px}:host{display:block;contain:layout}:host(:focus){outline:0}:host([hidden]){display:none}',l=class extends M{constructor(){super();D.define([w,k,A]),x(this,$,Q),this._foundation=new p(new g(this))}static get observedAttributes(){return[t.attributes.DENSITY,t.attributes.FLOAT_LABEL_TYPE,t.attributes.SHAPE,t.attributes.INVALID,t.attributes.REQUIRED,o.attributes.LABEL,o.attributes.MULTIPLE,o.attributes.VALUE,o.attributes.DISABLED,o.attributes.PLACEHOLDER,o.attributes.OBSERVE_SCROLL,o.attributes.OBSERVE_SCROLL_THRESHOLD,c.attributes.POPUP_CLASSES,c.attributes.OPTION_LIMIT,c.attributes.SYNC_POPUP_WIDTH,c.attributes.CONSTRAIN_POPUP_WIDTH,c.attributes.WRAP_OPTION_TEXT]}attributeChangedCallback(e,i,r){switch(e){case t.attributes.DENSITY:this.density=r;return;case t.attributes.FLOAT_LABEL_TYPE:this.floatLabelType=r;return;case t.attributes.SHAPE:this.shape=r;break;case t.attributes.INVALID:this.invalid=b(r);return;case t.attributes.REQUIRED:this.required=b(r);return;case o.attributes.LABEL:this.label=r;return;case o.attributes.DISABLED:this.disabled=b(r);return;case o.attributes.PLACEHOLDER:this.placeholder=r;return}super.attributeChangedCallback(e,i,r)}};a([n()],l.prototype,"label",2),a([n()],l.prototype,"disabled",2),a([n()],l.prototype,"invalid",2),a([n()],l.prototype,"required",2),a([n()],l.prototype,"density",2),a([n()],l.prototype,"floatLabelType",2),a([n()],l.prototype,"shape",2),a([n()],l.prototype,"placeholder",2),l=a([T({name:o.elementName,dependencies:[H,q,F,I,z,N,C,W,P,R]})],l);function He(){E(l)}export{o as a,g as b,p as c,l as d,He as e};
7
+ //# sourceMappingURL=chunk.HHC5NEUF.js.map