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

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 (725) hide show
  1. package/custom-elements.json +17342 -11782
  2. package/dist/button/forge-button.css +1 -1
  3. package/dist/esm/accordion/index.js +1 -1
  4. package/dist/esm/app-bar/help-button/index.js +1 -1
  5. package/dist/esm/app-bar/index.js +1 -1
  6. package/dist/esm/app-bar/menu-button/index.js +1 -1
  7. package/dist/esm/app-bar/notification-button/index.js +1 -1
  8. package/dist/esm/app-bar/profile-button/index.js +1 -1
  9. package/dist/esm/app-bar/search/index.js +1 -1
  10. package/dist/esm/autocomplete/index.js +1 -1
  11. package/dist/esm/avatar/index.js +1 -1
  12. package/dist/esm/backdrop/index.js +1 -1
  13. package/dist/esm/badge/index.js +1 -1
  14. package/dist/esm/banner/index.js +1 -1
  15. package/dist/esm/bottom-sheet/index.js +1 -1
  16. package/dist/esm/busy-indicator/index.js +1 -1
  17. package/dist/esm/button/index.js +1 -1
  18. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  20. package/dist/esm/button-toggle/index.js +1 -1
  21. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  22. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  23. package/dist/esm/calendar/core/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/chunk.2O6IZ7XZ.js +7 -0
  32. package/dist/esm/chunks/chunk.2O6IZ7XZ.js.map +7 -0
  33. package/dist/esm/chunks/{chunk.77Y3EABF.js → chunk.2QSDH3PC.js} +2 -2
  34. package/dist/esm/chunks/{chunk.77Y3EABF.js.map → chunk.2QSDH3PC.js.map} +1 -1
  35. package/dist/esm/chunks/{chunk.J2H5RXTX.js → chunk.2TQONIPK.js} +2 -2
  36. package/dist/esm/chunks/{chunk.J2H5RXTX.js.map → chunk.2TQONIPK.js.map} +1 -1
  37. package/dist/esm/chunks/chunk.2VP57RZO.js +7 -0
  38. package/dist/esm/chunks/{chunk.C7AN6FMW.js.map → chunk.2VP57RZO.js.map} +2 -2
  39. package/dist/esm/chunks/{chunk.VC2BG2RS.js → chunk.2ZTERGYF.js} +2 -2
  40. package/dist/esm/chunks/{chunk.VC2BG2RS.js.map → chunk.2ZTERGYF.js.map} +1 -1
  41. package/dist/esm/chunks/{chunk.X5LGVZGO.js → chunk.33EJTOVA.js} +2 -2
  42. package/dist/esm/chunks/chunk.33EJTOVA.js.map +7 -0
  43. package/dist/esm/chunks/{chunk.BJZ7RB5F.js → chunk.3CTKWBV2.js} +1 -1
  44. package/dist/esm/chunks/{chunk.BJZ7RB5F.js.map → chunk.3CTKWBV2.js.map} +1 -1
  45. package/dist/esm/chunks/chunk.3JDFBEF7.js +7 -0
  46. package/dist/esm/chunks/chunk.44IUAOBP.js +7 -0
  47. package/dist/esm/chunks/{chunk.YPZNIYQL.js.map → chunk.44IUAOBP.js.map} +2 -2
  48. package/dist/esm/chunks/chunk.44UCSD46.js +7 -0
  49. package/dist/esm/chunks/{chunk.DT7MZR5Y.js.map → chunk.44UCSD46.js.map} +2 -2
  50. package/dist/esm/chunks/chunk.46VQ2S2Z.js +7 -0
  51. package/dist/esm/chunks/{chunk.ZFHPUAYX.js.map → chunk.46VQ2S2Z.js.map} +2 -2
  52. package/dist/esm/chunks/{chunk.SSRQFKNH.js → chunk.4WB3FGEL.js} +2 -2
  53. package/dist/esm/chunks/{chunk.SSRQFKNH.js.map → chunk.4WB3FGEL.js.map} +1 -1
  54. package/dist/esm/chunks/chunk.4WVHON6T.js +129 -0
  55. package/dist/esm/chunks/chunk.4WVHON6T.js.map +7 -0
  56. package/dist/esm/chunks/{chunk.TR5YMNJJ.js → chunk.57IVD67K.js} +2 -2
  57. package/dist/esm/chunks/{chunk.TR5YMNJJ.js.map → chunk.57IVD67K.js.map} +1 -1
  58. package/dist/esm/chunks/{chunk.H4Z4DHPA.js → chunk.5CMQ7DNL.js} +2 -2
  59. package/dist/esm/chunks/{chunk.XHV3GQ7L.js → chunk.5IQGVS6U.js} +2 -2
  60. package/dist/esm/chunks/{chunk.XHV3GQ7L.js.map → chunk.5IQGVS6U.js.map} +2 -2
  61. package/dist/esm/chunks/chunk.5M6Y2RU6.js +7 -0
  62. package/dist/esm/chunks/{chunk.Y5A7RQ5M.js.map → chunk.5M6Y2RU6.js.map} +1 -1
  63. package/dist/esm/chunks/chunk.5V5ABSHI.js +7 -0
  64. package/dist/esm/chunks/{chunk.G5MGGEFP.js.map → chunk.5V5ABSHI.js.map} +1 -1
  65. package/dist/esm/chunks/{chunk.XZ4WI7VK.js → chunk.6MPXRRMB.js} +2 -2
  66. package/dist/esm/chunks/{chunk.XZ4WI7VK.js.map → chunk.6MPXRRMB.js.map} +1 -1
  67. package/dist/esm/chunks/{chunk.PALRSBSY.js → chunk.6VDF54LZ.js} +2 -2
  68. package/dist/esm/chunks/{chunk.PALRSBSY.js.map → chunk.6VDF54LZ.js.map} +1 -1
  69. package/dist/esm/chunks/chunk.74DEHKGT.js +12 -0
  70. package/dist/esm/chunks/chunk.74DEHKGT.js.map +7 -0
  71. package/dist/esm/chunks/{chunk.IUOBRBDZ.js → chunk.7DHFTAWI.js} +2 -2
  72. package/dist/esm/chunks/chunk.7G72CBOJ.js +7 -0
  73. package/dist/esm/chunks/{chunk.V7WKXEZC.js.map → chunk.7G72CBOJ.js.map} +1 -1
  74. package/dist/esm/chunks/{chunk.N4PVZUJX.js → chunk.7TGGJGTG.js} +2 -2
  75. package/dist/esm/chunks/{chunk.N4PVZUJX.js.map → chunk.7TGGJGTG.js.map} +2 -2
  76. package/dist/esm/chunks/chunk.7WVTJIVR.js +7 -0
  77. package/dist/esm/chunks/{chunk.ROR6JMAE.js.map → chunk.7WVTJIVR.js.map} +1 -1
  78. package/dist/esm/chunks/chunk.7ZQMJLHE.js +7 -0
  79. package/dist/esm/chunks/{chunk.5FPFRE4H.js → chunk.AHHNJSZK.js} +2 -2
  80. package/dist/esm/chunks/{chunk.5FPFRE4H.js.map → chunk.AHHNJSZK.js.map} +1 -1
  81. package/dist/esm/chunks/chunk.BBKRPL6R.js +7 -0
  82. package/dist/esm/chunks/chunk.BBKRPL6R.js.map +7 -0
  83. package/dist/esm/chunks/chunk.BIFQ4VOJ.js +7 -0
  84. package/dist/esm/chunks/chunk.BIFQ4VOJ.js.map +7 -0
  85. package/dist/esm/chunks/chunk.BNFJRFLW.js +7 -0
  86. package/dist/esm/chunks/chunk.BNFJRFLW.js.map +7 -0
  87. package/dist/esm/chunks/{chunk.PN26D52V.js → chunk.CFDK4RCW.js} +1 -1
  88. package/dist/esm/chunks/{chunk.PN26D52V.js.map → chunk.CFDK4RCW.js.map} +1 -1
  89. package/dist/esm/chunks/chunk.CRWP7H46.js +7 -0
  90. package/dist/esm/chunks/chunk.CRWP7H46.js.map +7 -0
  91. package/dist/esm/chunks/chunk.D2Y2CRRY.js +7 -0
  92. package/dist/esm/chunks/chunk.D2Y2CRRY.js.map +7 -0
  93. package/dist/esm/chunks/{chunk.U6WGJELL.js → chunk.DMCBAYQX.js} +1 -1
  94. package/dist/esm/chunks/{chunk.U6WGJELL.js.map → chunk.DMCBAYQX.js.map} +1 -1
  95. package/dist/esm/chunks/{chunk.BE7PZANN.js → chunk.DTZFWZPB.js} +2 -2
  96. package/dist/esm/chunks/{chunk.BE7PZANN.js.map → chunk.DTZFWZPB.js.map} +1 -1
  97. package/dist/esm/chunks/chunk.DXZ5LVFJ.js +7 -0
  98. package/dist/esm/chunks/chunk.DXZ5LVFJ.js.map +7 -0
  99. package/dist/esm/chunks/chunk.E6KWYFZG.js +7 -0
  100. package/dist/esm/chunks/{chunk.4BEI55KI.js.map → chunk.E6KWYFZG.js.map} +1 -1
  101. package/dist/esm/chunks/{chunk.JEN6YP2Q.js → chunk.E7Z3IRWV.js} +2 -2
  102. package/dist/esm/chunks/chunk.ECRL6O3V.js +7 -0
  103. package/dist/esm/chunks/chunk.ECRL6O3V.js.map +7 -0
  104. package/dist/esm/chunks/{chunk.K2C4W3CO.js → chunk.EDEYCLDU.js} +2 -2
  105. package/dist/esm/chunks/chunk.EYZ25QUP.js +7 -0
  106. package/dist/esm/chunks/chunk.EYZ25QUP.js.map +7 -0
  107. package/dist/esm/chunks/chunk.F776DWXU.js +7 -0
  108. package/dist/esm/chunks/chunk.F776DWXU.js.map +7 -0
  109. package/dist/esm/chunks/{chunk.3KQL7VAZ.js → chunk.FDZSLGIW.js} +2 -2
  110. package/dist/esm/chunks/{chunk.3KQL7VAZ.js.map → chunk.FDZSLGIW.js.map} +1 -1
  111. package/dist/esm/chunks/chunk.FIBGOPNP.js +7 -0
  112. package/dist/esm/chunks/chunk.FIBGOPNP.js.map +7 -0
  113. package/dist/esm/chunks/{chunk.K6AFP52A.js → chunk.FUPNTFG7.js} +2 -2
  114. package/dist/esm/chunks/{chunk.K6AFP52A.js.map → chunk.FUPNTFG7.js.map} +2 -2
  115. package/dist/esm/chunks/{chunk.MZLPUI6R.js → chunk.FYWPZFLJ.js} +2 -2
  116. package/dist/esm/chunks/{chunk.MZLPUI6R.js.map → chunk.FYWPZFLJ.js.map} +2 -2
  117. package/dist/esm/chunks/{chunk.ARJ3EVVO.js → chunk.G4IN6Y46.js} +2 -2
  118. package/dist/esm/chunks/{chunk.KE6GOYAB.js → chunk.GT3XBPZY.js} +2 -2
  119. package/dist/esm/chunks/{chunk.KE6GOYAB.js.map → chunk.GT3XBPZY.js.map} +1 -1
  120. package/dist/esm/chunks/chunk.H5D54EHO.js +7 -0
  121. package/dist/esm/chunks/{chunk.JHBCYICS.js.map → chunk.H5D54EHO.js.map} +1 -1
  122. package/dist/esm/chunks/chunk.HRGTAVNA.js +7 -0
  123. package/dist/esm/chunks/{chunk.J6WCFQSS.js.map → chunk.HRGTAVNA.js.map} +2 -2
  124. package/dist/esm/chunks/chunk.HXJCTE47.js +7 -0
  125. package/dist/esm/chunks/{chunk.KU5CXXGS.js → chunk.IDD54B5P.js} +2 -2
  126. package/dist/esm/chunks/chunk.ISC7SZSP.js +7 -0
  127. package/dist/esm/chunks/chunk.ISC7SZSP.js.map +7 -0
  128. package/dist/esm/chunks/{chunk.LYOQ2RGP.js → chunk.IWA3CYIB.js} +2 -2
  129. package/dist/esm/chunks/{chunk.LYOQ2RGP.js.map → chunk.IWA3CYIB.js.map} +1 -1
  130. package/dist/esm/chunks/{chunk.T76JYRPR.js → chunk.J3UFSHDY.js} +2 -2
  131. package/dist/esm/chunks/{chunk.T76JYRPR.js.map → chunk.J3UFSHDY.js.map} +2 -2
  132. package/dist/esm/chunks/chunk.JL4XB4RI.js +7 -0
  133. package/dist/esm/chunks/chunk.JL4XB4RI.js.map +7 -0
  134. package/dist/esm/chunks/chunk.JTIPXKV6.js +7 -0
  135. package/dist/esm/chunks/{chunk.6OKJPSUE.js.map → chunk.JTIPXKV6.js.map} +2 -2
  136. package/dist/esm/chunks/chunk.KSCUIS5C.js +7 -0
  137. package/dist/esm/chunks/chunk.KSCUIS5C.js.map +7 -0
  138. package/dist/esm/chunks/chunk.L3M6DPQB.js +12 -0
  139. package/dist/esm/chunks/chunk.L3M6DPQB.js.map +7 -0
  140. package/dist/esm/chunks/{chunk.4DAIIJ37.js → chunk.LEVFMI2Q.js} +1 -1
  141. package/dist/esm/chunks/{chunk.4DAIIJ37.js.map → chunk.LEVFMI2Q.js.map} +1 -1
  142. package/dist/esm/chunks/chunk.LHBF47UY.js +7 -0
  143. package/dist/esm/chunks/chunk.LHBF47UY.js.map +7 -0
  144. package/dist/esm/chunks/chunk.LM57DOG3.js +7 -0
  145. package/dist/esm/chunks/chunk.LM57DOG3.js.map +7 -0
  146. package/dist/esm/chunks/chunk.LYYWQGS6.js +7 -0
  147. package/dist/esm/chunks/chunk.LYYWQGS6.js.map +7 -0
  148. package/dist/esm/chunks/chunk.M2M47T4L.js +7 -0
  149. package/dist/esm/chunks/{chunk.MXTDW27J.js.map → chunk.M2M47T4L.js.map} +2 -2
  150. package/dist/esm/chunks/chunk.M3QDAYD2.js +7 -0
  151. package/dist/esm/chunks/chunk.MF36FG2X.js +7 -0
  152. package/dist/esm/chunks/{chunk.INCKI5IX.js.map → chunk.MF36FG2X.js.map} +1 -1
  153. package/dist/esm/chunks/chunk.MGLWXAZO.js +18 -0
  154. package/dist/esm/chunks/{chunk.YI4JTY4T.js.map → chunk.MGLWXAZO.js.map} +2 -2
  155. package/dist/esm/chunks/{chunk.BJE6O5ES.js → chunk.MGWY7YIL.js} +2 -2
  156. package/dist/esm/chunks/{chunk.BJE6O5ES.js.map → chunk.MGWY7YIL.js.map} +2 -2
  157. package/dist/esm/chunks/{chunk.O4FB4BV5.js → chunk.MJSLXZBM.js} +2 -2
  158. package/dist/esm/chunks/{chunk.O4FB4BV5.js.map → chunk.MJSLXZBM.js.map} +2 -2
  159. package/dist/esm/chunks/{chunk.XQ2EQIDS.js → chunk.N7PQ2MUQ.js} +2 -2
  160. package/dist/esm/chunks/{chunk.XQ2EQIDS.js.map → chunk.N7PQ2MUQ.js.map} +2 -2
  161. package/dist/esm/chunks/chunk.NF4J3Q5X.js +7 -0
  162. package/dist/esm/chunks/chunk.NF4J3Q5X.js.map +7 -0
  163. package/dist/esm/chunks/chunk.NK7H3MMM.js +7 -0
  164. package/dist/esm/chunks/{chunk.Y4GKBJGI.js.map → chunk.NK7H3MMM.js.map} +3 -3
  165. package/dist/esm/chunks/{chunk.KTGSZEAG.js → chunk.NVUMRW44.js} +1 -1
  166. package/dist/esm/chunks/{chunk.KTGSZEAG.js.map → chunk.NVUMRW44.js.map} +1 -1
  167. package/dist/esm/chunks/{chunk.ZUNZKRRK.js → chunk.OAHA3QOH.js} +2 -2
  168. package/dist/esm/chunks/{chunk.CLM6MNKC.js → chunk.OTD2SFQJ.js} +2 -2
  169. package/dist/esm/chunks/{chunk.CLM6MNKC.js.map → chunk.OTD2SFQJ.js.map} +1 -1
  170. package/dist/esm/chunks/{chunk.FRYLJWYL.js → chunk.P5QIB6OY.js} +2 -2
  171. package/dist/esm/chunks/{chunk.FRYLJWYL.js.map → chunk.P5QIB6OY.js.map} +1 -1
  172. package/dist/esm/chunks/{chunk.UBD2DPQN.js → chunk.PHBOQRF6.js} +2 -2
  173. package/dist/esm/chunks/{chunk.UBD2DPQN.js.map → chunk.PHBOQRF6.js.map} +1 -1
  174. package/dist/esm/chunks/{chunk.MLV25D2G.js → chunk.PHTOULRR.js} +2 -2
  175. package/dist/esm/chunks/chunk.QI3GKORL.js +7 -0
  176. package/dist/esm/chunks/chunk.QI3GKORL.js.map +7 -0
  177. package/dist/esm/chunks/{chunk.RYMPSU4J.js → chunk.QL45FKVJ.js} +2 -2
  178. package/dist/esm/chunks/{chunk.RYMPSU4J.js.map → chunk.QL45FKVJ.js.map} +2 -2
  179. package/dist/esm/chunks/chunk.QLJBPFP5.js +7 -0
  180. package/dist/esm/chunks/chunk.QLJBPFP5.js.map +7 -0
  181. package/dist/esm/chunks/{chunk.WP4QOOIS.js → chunk.QZK3WEH6.js} +2 -2
  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.F2B24WLK.js → chunk.RGPNNISQ.js} +2 -2
  185. package/dist/esm/chunks/{chunk.F2B24WLK.js.map → chunk.RGPNNISQ.js.map} +1 -1
  186. package/dist/esm/chunks/chunk.SAXRW6GB.js +7 -0
  187. package/dist/esm/chunks/chunk.SAXRW6GB.js.map +7 -0
  188. package/dist/esm/chunks/chunk.SEP3L4QL.js +7 -0
  189. package/dist/esm/chunks/{chunk.RB5BTA5N.js.map → chunk.SEP3L4QL.js.map} +2 -2
  190. package/dist/esm/chunks/{chunk.2BNDXFI5.js → chunk.SN5LPTHH.js} +2 -2
  191. package/dist/esm/chunks/{chunk.2BNDXFI5.js.map → chunk.SN5LPTHH.js.map} +2 -2
  192. package/dist/esm/chunks/chunk.SQVBT7HU.js +7 -0
  193. package/dist/esm/chunks/chunk.SQVBT7HU.js.map +7 -0
  194. package/dist/esm/chunks/chunk.SZIM4KFZ.js +7 -0
  195. package/dist/esm/chunks/chunk.SZIM4KFZ.js.map +7 -0
  196. package/dist/esm/chunks/chunk.T5X6UNH7.js +7 -0
  197. package/dist/esm/chunks/{chunk.MHOS3IHQ.js.map → chunk.T5X6UNH7.js.map} +1 -1
  198. package/dist/esm/chunks/{chunk.HBMNXZES.js → chunk.TL6WVBGT.js} +2 -2
  199. package/dist/esm/chunks/{chunk.HBMNXZES.js.map → chunk.TL6WVBGT.js.map} +1 -1
  200. package/dist/esm/chunks/chunk.TT2VTZJ6.js +7 -0
  201. package/dist/esm/chunks/{chunk.242YUZKU.js.map → chunk.TT2VTZJ6.js.map} +1 -1
  202. package/dist/esm/chunks/{chunk.UT7QUGAO.js → chunk.U4GYQOPY.js} +2 -2
  203. package/dist/esm/chunks/{chunk.P3IA2WTO.js → chunk.UCM6CGFM.js} +2 -2
  204. package/dist/esm/chunks/{chunk.P3IA2WTO.js.map → chunk.UCM6CGFM.js.map} +1 -1
  205. package/dist/esm/chunks/chunk.UKFJHDO7.js +7 -0
  206. package/dist/esm/chunks/{chunk.E6CYXNS2.js.map → chunk.UKFJHDO7.js.map} +2 -2
  207. package/dist/esm/chunks/{chunk.DONAMICM.js → chunk.UV3WIHCM.js} +1 -1
  208. package/dist/esm/chunks/{chunk.DONAMICM.js.map → chunk.UV3WIHCM.js.map} +1 -1
  209. package/dist/esm/chunks/chunk.VNOJO2PF.js +7 -0
  210. package/dist/esm/chunks/{chunk.BTBHIIGI.js.map → chunk.VNOJO2PF.js.map} +1 -1
  211. package/dist/esm/chunks/{chunk.SXTTEIIH.js → chunk.WBYXVMYI.js} +2 -2
  212. package/dist/esm/chunks/{chunk.SXTTEIIH.js.map → chunk.WBYXVMYI.js.map} +1 -1
  213. package/dist/esm/chunks/chunk.WH6C36MO.js +7 -0
  214. package/dist/esm/chunks/chunk.WH6C36MO.js.map +7 -0
  215. package/dist/esm/chunks/{chunk.G45OZEIS.js → chunk.WO7KEM5K.js} +2 -2
  216. package/dist/esm/chunks/{chunk.RBAVT3XQ.js → chunk.WYP2M5FR.js} +2 -2
  217. package/dist/esm/chunks/chunk.X3YNJSDT.js +7 -0
  218. package/dist/esm/chunks/{chunk.4WPFFNLH.js.map → chunk.X3YNJSDT.js.map} +1 -1
  219. package/dist/esm/chunks/chunk.XATLSSAW.js +7 -0
  220. package/dist/esm/chunks/{chunk.5WNKQTXX.js.map → chunk.XATLSSAW.js.map} +2 -2
  221. package/dist/esm/chunks/chunk.XIQFHO5R.js +7 -0
  222. package/dist/esm/chunks/{chunk.FVRSGKJD.js.map → chunk.XIQFHO5R.js.map} +2 -2
  223. package/dist/esm/chunks/{chunk.O73S5LF3.js → chunk.XOM2FYQ2.js} +2 -2
  224. package/dist/esm/chunks/{chunk.XUW3GG46.js → chunk.XRESQBNE.js} +2 -2
  225. package/dist/esm/chunks/{chunk.AFLH5HUG.js → chunk.Y5UJ23LB.js} +2 -2
  226. package/dist/esm/chunks/chunk.YDY2IGBF.js +7 -0
  227. package/dist/esm/chunks/chunk.YDY2IGBF.js.map +7 -0
  228. package/dist/esm/chunks/{chunk.7UKA4E5A.js → chunk.YQXX5KSW.js} +2 -2
  229. package/dist/esm/chunks/{chunk.7UKA4E5A.js.map → chunk.YQXX5KSW.js.map} +1 -1
  230. package/dist/esm/chunks/chunk.YWCLKUK7.js +7 -0
  231. package/dist/esm/chunks/{chunk.Q7LFOS2I.js.map → chunk.YWCLKUK7.js.map} +1 -1
  232. package/dist/esm/chunks/chunk.YZLASVCK.js +177 -0
  233. package/dist/esm/chunks/chunk.YZLASVCK.js.map +7 -0
  234. package/dist/esm/chunks/chunk.Z4J4D5FD.js +7 -0
  235. package/dist/esm/chunks/{chunk.4NI63FGK.js.map → chunk.Z4J4D5FD.js.map} +2 -2
  236. package/dist/esm/chunks/chunk.ZAJB7G4V.js +7 -0
  237. package/dist/esm/chunks/{chunk.YBEBD4CN.js.map → chunk.ZAJB7G4V.js.map} +1 -1
  238. package/dist/esm/chunks/chunk.ZDAXNM2P.js +7 -0
  239. package/dist/esm/chunks/chunk.ZDAXNM2P.js.map +7 -0
  240. package/dist/esm/chunks/chunk.ZMRDW25U.js +7 -0
  241. package/dist/esm/circular-progress/index.js +1 -1
  242. package/dist/esm/color-picker/index.js +1 -1
  243. package/dist/esm/core/base/index.js +1 -1
  244. package/dist/esm/core/delegates/index.js +1 -1
  245. package/dist/esm/core/index.js +1 -1
  246. package/dist/esm/core/mask/index.js +1 -1
  247. package/dist/esm/core/utils/index.js +1 -1
  248. package/dist/esm/date-picker/index.js +1 -1
  249. package/dist/esm/date-range-picker/index.js +1 -1
  250. package/dist/esm/dialog/index.js +1 -1
  251. package/dist/esm/divider/index.js +1 -1
  252. package/dist/esm/drawer/base/index.js +1 -1
  253. package/dist/esm/drawer/drawer/index.js +1 -1
  254. package/dist/esm/drawer/index.js +1 -1
  255. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  256. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  257. package/dist/esm/expansion-panel/index.js +1 -1
  258. package/dist/esm/file-picker/index.js +1 -1
  259. package/dist/esm/floating-action-button/index.js +1 -1
  260. package/dist/esm/floating-label/index.js +1 -1
  261. package/dist/esm/focus-indicator/index.js +7 -0
  262. package/dist/esm/focus-indicator/index.js.map +7 -0
  263. package/dist/esm/icon/index.js +1 -1
  264. package/dist/esm/icon-button/index.js +1 -1
  265. package/dist/esm/index.js +1 -1
  266. package/dist/esm/inline-message/index.js +1 -1
  267. package/dist/esm/keyboard-shortcut/index.js +1 -1
  268. package/dist/esm/label-value/index.js +1 -1
  269. package/dist/esm/linear-progress/index.js +1 -1
  270. package/dist/esm/list/index.js +1 -1
  271. package/dist/esm/list/list/index.js +1 -1
  272. package/dist/esm/list/list-item/index.js +1 -1
  273. package/dist/esm/list-dropdown/index.js +1 -1
  274. package/dist/esm/menu/index.js +1 -1
  275. package/dist/esm/open-icon/index.js +1 -1
  276. package/dist/esm/page-state/index.js +1 -1
  277. package/dist/esm/paginator/index.js +1 -1
  278. package/dist/esm/popup/index.js +1 -1
  279. package/dist/esm/product-icon/index.js +1 -1
  280. package/dist/esm/profile-card/index.js +1 -1
  281. package/dist/esm/quantity-field/index.js +1 -1
  282. package/dist/esm/radio/index.js +1 -1
  283. package/dist/esm/ripple/index.js +1 -1
  284. package/dist/esm/scaffold/index.js +1 -1
  285. package/dist/esm/select/core/index.js +1 -1
  286. package/dist/esm/select/index.js +1 -1
  287. package/dist/esm/select/option/index.js +1 -1
  288. package/dist/esm/select/option-group/index.js +1 -1
  289. package/dist/esm/select/select/index.js +1 -1
  290. package/dist/esm/select/select-dropdown/index.js +1 -1
  291. package/dist/esm/skeleton/index.js +1 -1
  292. package/dist/esm/slider/index.js +1 -1
  293. package/dist/esm/split-view/index.js +1 -1
  294. package/dist/esm/split-view/split-view/index.js +1 -1
  295. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  296. package/dist/esm/stack/index.js +1 -1
  297. package/dist/esm/state-layer/index.js +7 -0
  298. package/dist/esm/state-layer/index.js.map +7 -0
  299. package/dist/esm/stepper/index.js +1 -1
  300. package/dist/esm/stepper/step/index.js +1 -1
  301. package/dist/esm/stepper/stepper/index.js +1 -1
  302. package/dist/esm/switch/index.js +1 -1
  303. package/dist/esm/table/index.js +1 -1
  304. package/dist/esm/tabs/index.js +1 -1
  305. package/dist/esm/tabs/tab/index.js +1 -1
  306. package/dist/esm/tabs/tab-bar/index.js +1 -1
  307. package/dist/esm/text-field/index.js +1 -1
  308. package/dist/esm/theme/index.js +1 -1
  309. package/dist/esm/time-picker/index.js +1 -1
  310. package/dist/esm/toast/index.js +1 -1
  311. package/dist/esm/toolbar/index.js +1 -1
  312. package/dist/esm/tooltip/index.js +1 -1
  313. package/dist/esm/utils/index.js +1 -1
  314. package/dist/esm/view-switcher/index.js +1 -1
  315. package/dist/esm/view-switcher/view/index.js +1 -1
  316. package/dist/forge-dark.css +1 -1
  317. package/dist/forge.css +1 -1
  318. package/dist/icon-button/forge-icon-button.css +1 -1
  319. package/dist/table/forge-table.css +1 -1
  320. package/dist/theme/forge-theme.css +1 -1
  321. package/esm/accordion/accordion.js +4 -4
  322. package/esm/app-bar/app-bar.js +6 -6
  323. package/esm/app-bar/notification-button/app-bar-notification-button.js +5 -5
  324. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -1
  325. package/esm/app-bar/profile-button/app-bar-profile-button.js +4 -4
  326. package/esm/app-bar/search/app-bar-search.js +6 -6
  327. package/esm/autocomplete/autocomplete-adapter.d.ts +0 -2
  328. package/esm/autocomplete/autocomplete-adapter.js +0 -4
  329. package/esm/autocomplete/autocomplete-component-delegate.d.ts +1 -1
  330. package/esm/autocomplete/autocomplete-constants.d.ts +5 -4
  331. package/esm/autocomplete/autocomplete-constants.js +1 -0
  332. package/esm/autocomplete/autocomplete-foundation.d.ts +5 -0
  333. package/esm/autocomplete/autocomplete-foundation.js +12 -12
  334. package/esm/autocomplete/autocomplete.d.ts +3 -0
  335. package/esm/autocomplete/autocomplete.js +13 -6
  336. package/esm/avatar/avatar-component-delegate.d.ts +1 -1
  337. package/esm/avatar/avatar.js +5 -5
  338. package/esm/backdrop/backdrop-constants.d.ts +1 -1
  339. package/esm/backdrop/backdrop.js +5 -5
  340. package/esm/badge/badge-component-delegate.d.ts +1 -1
  341. package/esm/badge/badge.js +5 -5
  342. package/esm/banner/banner.js +7 -7
  343. package/esm/bottom-sheet/bottom-sheet.js +6 -6
  344. package/esm/busy-indicator/busy-indicator-constants.d.ts +1 -1
  345. package/esm/busy-indicator/busy-indicator.js +6 -6
  346. package/esm/button/button-component-delegate.d.ts +1 -1
  347. package/esm/button/button.d.ts +1 -0
  348. package/esm/button/button.js +11 -5
  349. package/esm/button-toggle/button-toggle/button-toggle.js +7 -7
  350. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +2 -2
  351. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +5 -5
  352. package/esm/calendar/calendar-component-delegate.d.ts +1 -1
  353. package/esm/calendar/calendar-constants.d.ts +10 -10
  354. package/esm/calendar/calendar-dropdown/calendar-dropdown.js +5 -5
  355. package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +2 -2
  356. package/esm/calendar/calendar-menu/calendar-menu.js +6 -6
  357. package/esm/calendar/calendar.js +7 -7
  358. package/esm/card/card-constants.d.ts +2 -2
  359. package/esm/card/card-constants.js +2 -2
  360. package/esm/card/card.d.ts +19 -8
  361. package/esm/card/card.js +34 -25
  362. package/esm/checkbox/checkbox-adapter.d.ts +1 -0
  363. package/esm/checkbox/checkbox-adapter.js +9 -2
  364. package/esm/checkbox/checkbox-component-delegate.d.ts +1 -1
  365. package/esm/checkbox/checkbox.js +4 -4
  366. package/esm/chip-field/chip-field-component-delegate.d.ts +1 -1
  367. package/esm/chip-field/chip-field-foundation.d.ts +1 -1
  368. package/esm/chip-field/chip-field.js +1 -1
  369. package/esm/chips/chip/chip.js +7 -7
  370. package/esm/chips/chip-set/chip-set.js +5 -5
  371. package/esm/circular-progress/circular-progress-adapter.d.ts +7 -14
  372. package/esm/circular-progress/circular-progress-adapter.js +25 -25
  373. package/esm/circular-progress/circular-progress-constants.d.ts +6 -2
  374. package/esm/circular-progress/circular-progress-constants.js +8 -3
  375. package/esm/circular-progress/circular-progress-foundation.d.ts +0 -8
  376. package/esm/circular-progress/circular-progress-foundation.js +9 -27
  377. package/esm/circular-progress/circular-progress.d.ts +24 -5
  378. package/esm/circular-progress/circular-progress.js +33 -21
  379. package/esm/color-picker/color-picker-constants.d.ts +2 -2
  380. package/esm/color-picker/color-picker.js +7 -7
  381. package/esm/core/base/base-component.d.ts +1 -2
  382. package/esm/core/delegates/base-component-delegate.d.ts +1 -1
  383. package/esm/core/delegates/base-component-delegate.js +3 -3
  384. package/esm/core/delegates/form-field-component-delegate.d.ts +1 -1
  385. package/esm/core/mask/time-segment-parser.d.ts +1 -1
  386. package/esm/core/testing/pointer.d.ts +13 -0
  387. package/esm/core/testing/pointer.js +42 -0
  388. package/esm/core/utils/utils.d.ts +33 -2
  389. package/esm/core/utils/utils.js +74 -6
  390. package/esm/date-picker/base/base-date-picker-adapter.d.ts +2 -2
  391. package/esm/date-picker/base/base-date-picker-foundation.d.ts +2 -2
  392. package/esm/date-picker/base/base-date-picker-foundation.js +8 -5
  393. package/esm/date-picker/date-picker-adapter.js +5 -7
  394. package/esm/date-picker/date-picker-component-delegate.d.ts +1 -1
  395. package/esm/date-range-picker/date-range-picker-adapter.d.ts +4 -2
  396. package/esm/date-range-picker/date-range-picker-adapter.js +20 -18
  397. package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +1 -1
  398. package/esm/date-range-picker/date-range-picker-foundation.d.ts +4 -1
  399. package/esm/date-range-picker/date-range-picker-foundation.js +48 -14
  400. package/esm/dialog/dialog-constants.d.ts +2 -2
  401. package/esm/dialog/dialog.js +5 -5
  402. package/esm/drawer/base/base-drawer-constants.d.ts +1 -1
  403. package/esm/expansion-panel/expansion-panel-constants.d.ts +2 -0
  404. package/esm/expansion-panel/expansion-panel-constants.js +3 -1
  405. package/esm/expansion-panel/expansion-panel-foundation.js +4 -1
  406. package/esm/expansion-panel/expansion-panel.js +6 -6
  407. package/esm/field/field-adapter.d.ts +4 -2
  408. package/esm/field/field-adapter.js +5 -2
  409. package/esm/field/field-constants.d.ts +3 -3
  410. package/esm/field/field-foundation.d.ts +2 -2
  411. package/esm/field/field-foundation.js +7 -9
  412. package/esm/field/field.js +3 -3
  413. package/esm/file-picker/file-picker-component-delegate.d.ts +1 -1
  414. package/esm/file-picker/file-picker.js +6 -6
  415. package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +1 -1
  416. package/esm/floating-action-button/floating-action-button.js +6 -6
  417. package/esm/focus-indicator/focus-indicator-adapter.d.ts +29 -0
  418. package/esm/focus-indicator/focus-indicator-adapter.js +39 -0
  419. package/esm/focus-indicator/focus-indicator-constants.d.ts +15 -0
  420. package/esm/focus-indicator/focus-indicator-constants.js +19 -0
  421. package/esm/focus-indicator/focus-indicator-foundation.d.ts +43 -0
  422. package/esm/focus-indicator/focus-indicator-foundation.js +110 -0
  423. package/esm/focus-indicator/focus-indicator.d.ts +67 -0
  424. package/esm/focus-indicator/focus-indicator.js +112 -0
  425. package/esm/focus-indicator/index.d.ts +10 -0
  426. package/esm/focus-indicator/index.js +14 -0
  427. package/esm/icon/icon.js +5 -5
  428. package/esm/icon-button/icon-button-component-delegate.d.ts +1 -1
  429. package/esm/icon-button/icon-button.d.ts +1 -0
  430. package/esm/icon-button/icon-button.js +16 -9
  431. package/esm/index.d.ts +2 -0
  432. package/esm/index.js +6 -0
  433. package/esm/keyboard-shortcut/keyboard-shortcut.js +4 -4
  434. package/esm/label-value/label-value-component-delegate.d.ts +1 -1
  435. package/esm/label-value/label-value-constants.d.ts +1 -1
  436. package/esm/label-value/label-value.js +5 -5
  437. package/esm/linear-progress/linear-progress-adapter.d.ts +23 -0
  438. package/esm/linear-progress/linear-progress-adapter.js +34 -0
  439. package/esm/linear-progress/linear-progress-constants.d.ts +6 -2
  440. package/esm/linear-progress/linear-progress-constants.js +8 -3
  441. package/esm/linear-progress/linear-progress-foundation.d.ts +26 -0
  442. package/esm/linear-progress/linear-progress-foundation.js +53 -0
  443. package/esm/linear-progress/linear-progress.d.ts +32 -25
  444. package/esm/linear-progress/linear-progress.js +49 -107
  445. package/esm/list/list/list.js +5 -5
  446. package/esm/list/list-item/list-item-adapter.d.ts +3 -3
  447. package/esm/list/list-item/list-item-adapter.js +2 -2
  448. package/esm/list/list-item/list-item-foundation.d.ts +1 -0
  449. package/esm/list/list-item/list-item-foundation.js +8 -1
  450. package/esm/list/list-item/list-item.js +6 -6
  451. package/esm/list-dropdown/list-dropdown-adapter.js +4 -5
  452. package/esm/list-dropdown/list-dropdown-constants.d.ts +6 -6
  453. package/esm/list-dropdown/list-dropdown-utils.d.ts +1 -1
  454. package/esm/list-dropdown/list-dropdown-utils.js +7 -4
  455. package/esm/menu/menu-constants.d.ts +3 -3
  456. package/esm/menu/menu.js +6 -6
  457. package/esm/open-icon/open-icon.js +6 -6
  458. package/esm/paginator/paginator-constants.d.ts +1 -1
  459. package/esm/paginator/paginator-foundation.js +2 -0
  460. package/esm/paginator/paginator.js +12 -12
  461. package/esm/popup/popup-constants.d.ts +2 -2
  462. package/esm/popup/popup.js +5 -5
  463. package/esm/product-icon/product-icon.js +5 -5
  464. package/esm/profile-card/profile-card.js +6 -6
  465. package/esm/quantity-field/quantity-field-component-delegate.d.ts +1 -1
  466. package/esm/quantity-field/quantity-field.js +6 -6
  467. package/esm/radio/radio-adapter.d.ts +1 -0
  468. package/esm/radio/radio-adapter.js +9 -2
  469. package/esm/radio/radio.js +5 -5
  470. package/esm/ripple/forge-ripple.d.ts +2 -0
  471. package/esm/ripple/forge-ripple.js +4 -0
  472. package/esm/ripple/ripple.js +4 -4
  473. package/esm/select/core/base-select-constants.d.ts +4 -4
  474. package/esm/select/option/option.js +4 -4
  475. package/esm/select/option-group/option-group.js +3 -3
  476. package/esm/select/select/select-adapter.d.ts +1 -1
  477. package/esm/select/select/select.js +1 -1
  478. package/esm/select/select-component-delegate.d.ts +1 -1
  479. package/esm/slider/slider-adapter.d.ts +79 -0
  480. package/esm/slider/slider-adapter.js +178 -0
  481. package/esm/slider/slider-component-delegate.d.ts +19 -3
  482. package/esm/slider/slider-component-delegate.js +48 -0
  483. package/esm/slider/slider-constants.d.ts +55 -19
  484. package/esm/slider/slider-constants.js +56 -14
  485. package/esm/slider/slider-foundation.d.ts +94 -0
  486. package/esm/slider/slider-foundation.js +313 -0
  487. package/esm/slider/slider-utils.d.ts +9 -0
  488. package/esm/slider/slider-utils.js +56 -0
  489. package/esm/slider/slider.d.ts +134 -66
  490. package/esm/slider/slider.js +240 -249
  491. package/esm/split-view/split-view/split-view-adapter.js +3 -1
  492. package/esm/split-view/split-view/split-view-constants.d.ts +1 -1
  493. package/esm/split-view/split-view/split-view.js +5 -5
  494. package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +2 -2
  495. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +18 -18
  496. package/esm/split-view/split-view-panel/split-view-panel.js +7 -7
  497. package/esm/stack/stack-constants.d.ts +1 -1
  498. package/esm/stack/stack.js +5 -5
  499. package/esm/state-layer/index.d.ts +10 -0
  500. package/esm/state-layer/index.js +14 -0
  501. package/esm/state-layer/state-layer-adapter.d.ts +41 -0
  502. package/esm/state-layer/state-layer-adapter.js +101 -0
  503. package/esm/state-layer/state-layer-constants.d.ts +79 -0
  504. package/esm/state-layer/state-layer-constants.js +89 -0
  505. package/esm/state-layer/state-layer-foundation.d.ts +57 -0
  506. package/esm/state-layer/state-layer-foundation.js +237 -0
  507. package/esm/state-layer/state-layer-utils.d.ts +26 -0
  508. package/esm/state-layer/state-layer-utils.js +54 -0
  509. package/esm/state-layer/state-layer.d.ts +66 -0
  510. package/esm/state-layer/state-layer.js +96 -0
  511. package/esm/stepper/step/step-constants.d.ts +1 -1
  512. package/esm/stepper/step/step.js +13 -13
  513. package/esm/stepper/stepper/stepper-constants.d.ts +2 -2
  514. package/esm/stepper/stepper/stepper.js +5 -5
  515. package/esm/switch/switch-component-delegate.d.ts +1 -1
  516. package/esm/switch/switch-constants.d.ts +1 -1
  517. package/esm/switch/switch.js +19 -12
  518. package/esm/table/table.js +5 -5
  519. package/esm/table/types.d.ts +4 -4
  520. package/esm/tabs/tab/tab-adapter.d.ts +14 -40
  521. package/esm/tabs/tab/tab-adapter.js +57 -79
  522. package/esm/tabs/tab/tab-constants.d.ts +13 -14
  523. package/esm/tabs/tab/tab-constants.js +17 -10
  524. package/esm/tabs/tab/tab-foundation.d.ts +23 -23
  525. package/esm/tabs/tab/tab-foundation.js +66 -62
  526. package/esm/tabs/tab/tab.d.ts +56 -20
  527. package/esm/tabs/tab/tab.js +88 -39
  528. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +49 -87
  529. package/esm/tabs/tab-bar/tab-bar-adapter.js +114 -188
  530. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +15 -45
  531. package/esm/tabs/tab-bar/tab-bar-constants.js +22 -56
  532. package/esm/tabs/tab-bar/tab-bar-foundation.d.ts +56 -65
  533. package/esm/tabs/tab-bar/tab-bar-foundation.js +241 -302
  534. package/esm/tabs/tab-bar/tab-bar.d.ts +51 -36
  535. package/esm/tabs/tab-bar/tab-bar.js +89 -57
  536. package/esm/text-field/text-field-adapter.d.ts +1 -1
  537. package/esm/text-field/text-field-adapter.js +4 -3
  538. package/esm/text-field/text-field-component-delegate.d.ts +1 -1
  539. package/esm/text-field/text-field.js +1 -1
  540. package/esm/theme/theme-utils.d.ts +2 -2
  541. package/esm/time-picker/time-picker-adapter.js +4 -7
  542. package/esm/time-picker/time-picker-component-delegate.d.ts +1 -1
  543. package/esm/time-picker/time-picker-constants.d.ts +6 -6
  544. package/esm/time-picker/time-picker-foundation.js +9 -6
  545. package/esm/time-picker/time-picker.js +6 -6
  546. package/esm/toast/toast-constants.d.ts +2 -2
  547. package/esm/toast/toast.js +7 -7
  548. package/esm/toolbar/toolbar.js +5 -5
  549. package/esm/tooltip/tooltip-constants.d.ts +1 -1
  550. package/esm/tooltip/tooltip.js +4 -4
  551. package/esm/utils/color-utils.js +1 -0
  552. package/esm/view-switcher/view-switcher.js +5 -5
  553. package/package.json +1 -3
  554. package/styles/app-bar/_mixins.scss +8 -1
  555. package/styles/card/_mixins.scss +8 -7
  556. package/styles/circular-progress/_animations.scss +69 -0
  557. package/styles/circular-progress/_configuration.scss +30 -0
  558. package/styles/circular-progress/_core.scss +122 -0
  559. package/styles/circular-progress/circular-progress.scss +92 -3
  560. package/styles/circular-progress/index.scss +8 -0
  561. package/styles/core/styles/core/_config.scss +6 -0
  562. package/styles/core/styles/elevation/index.scss +61 -0
  563. package/styles/core/styles/theme/index.scss +48 -0
  564. package/styles/core/styles/tokens/_color-palette.scss +299 -0
  565. package/styles/core/styles/tokens/_utils.scss +43 -0
  566. package/styles/core/styles/tokens/circular-progress/_tokens.scss +21 -0
  567. package/styles/core/styles/tokens/focus-indicator/_tokens.scss +30 -0
  568. package/styles/core/styles/tokens/index.scss +10 -0
  569. package/styles/core/styles/tokens/linear-progress/_tokens.scss +23 -0
  570. package/styles/core/styles/tokens/slider/_tokens.scss +47 -0
  571. package/styles/core/styles/tokens/state-layer/_tokens.scss +23 -0
  572. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +71 -0
  573. package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +19 -0
  574. package/styles/core/styles/tokens/theme/_elevation.scss +105 -0
  575. package/styles/core/styles/tokens/theme/_shape.scss +13 -0
  576. package/styles/core/styles/tokens/theme/_tokens.scss +133 -0
  577. package/styles/core/styles/tokens/typography/_tokens.scss +73 -0
  578. package/styles/focus-indicator/_animations.scss +36 -0
  579. package/styles/focus-indicator/_configuration.scss +23 -0
  580. package/styles/focus-indicator/_core.scss +52 -0
  581. package/styles/focus-indicator/focus-indicator.scss +55 -0
  582. package/styles/focus-indicator/index.scss +8 -0
  583. package/styles/linear-progress/_animations.scss +129 -0
  584. package/styles/linear-progress/_configuration.scss +29 -0
  585. package/styles/linear-progress/_core.scss +99 -0
  586. package/styles/linear-progress/index.scss +8 -0
  587. package/styles/linear-progress/linear-progress.scss +101 -18
  588. package/styles/slider/_configuration.scss +60 -0
  589. package/styles/slider/_core.scss +343 -0
  590. package/styles/slider/index.scss +7 -0
  591. package/styles/slider/slider.scss +186 -14
  592. package/styles/state-layer/_configuration.scss +17 -0
  593. package/styles/state-layer/_core.scss +124 -0
  594. package/styles/state-layer/index.scss +7 -0
  595. package/styles/state-layer/state-layer.scss +38 -0
  596. package/styles/tabs/tab/_configuration.scss +64 -0
  597. package/styles/tabs/tab/_core.scss +189 -0
  598. package/styles/tabs/tab/index.scss +7 -0
  599. package/styles/tabs/tab/tab.scss +168 -15
  600. package/styles/tabs/tab-bar/_configuration.scss +13 -0
  601. package/styles/tabs/tab-bar/_core.scss +60 -0
  602. package/styles/tabs/tab-bar/index.scss +7 -0
  603. package/styles/tabs/tab-bar/tab-bar.scss +66 -5
  604. package/styles/theme/_theme-dark.scss +4 -8
  605. package/styles/theme/_theme.scss +3 -36
  606. package/dist/esm/chunks/chunk.242YUZKU.js +0 -7
  607. package/dist/esm/chunks/chunk.2DXG2R3M.js +0 -73
  608. package/dist/esm/chunks/chunk.2DXG2R3M.js.map +0 -7
  609. package/dist/esm/chunks/chunk.44IJE5UL.js +0 -7
  610. package/dist/esm/chunks/chunk.44IJE5UL.js.map +0 -7
  611. package/dist/esm/chunks/chunk.47A2CN5U.js +0 -7
  612. package/dist/esm/chunks/chunk.4BEI55KI.js +0 -7
  613. package/dist/esm/chunks/chunk.4FSAAN6W.js +0 -29
  614. package/dist/esm/chunks/chunk.4FSAAN6W.js.map +0 -7
  615. package/dist/esm/chunks/chunk.4NI63FGK.js +0 -7
  616. package/dist/esm/chunks/chunk.4WPFFNLH.js +0 -7
  617. package/dist/esm/chunks/chunk.5WNKQTXX.js +0 -7
  618. package/dist/esm/chunks/chunk.6OKJPSUE.js +0 -7
  619. package/dist/esm/chunks/chunk.72AUOVCD.js +0 -7
  620. package/dist/esm/chunks/chunk.72AUOVCD.js.map +0 -7
  621. package/dist/esm/chunks/chunk.7A6MX6CS.js +0 -7
  622. package/dist/esm/chunks/chunk.7A6MX6CS.js.map +0 -7
  623. package/dist/esm/chunks/chunk.7BOXIJAM.js +0 -7
  624. package/dist/esm/chunks/chunk.7BOXIJAM.js.map +0 -7
  625. package/dist/esm/chunks/chunk.ABLKZXJ3.js +0 -12
  626. package/dist/esm/chunks/chunk.ABLKZXJ3.js.map +0 -7
  627. package/dist/esm/chunks/chunk.BTBHIIGI.js +0 -7
  628. package/dist/esm/chunks/chunk.C7AN6FMW.js +0 -7
  629. package/dist/esm/chunks/chunk.CKYHP5MC.js +0 -7
  630. package/dist/esm/chunks/chunk.CKYHP5MC.js.map +0 -7
  631. package/dist/esm/chunks/chunk.DT7MZR5Y.js +0 -7
  632. package/dist/esm/chunks/chunk.DYNEJBYK.js +0 -7
  633. package/dist/esm/chunks/chunk.E6CYXNS2.js +0 -7
  634. package/dist/esm/chunks/chunk.EGRUD7S7.js +0 -7
  635. package/dist/esm/chunks/chunk.ESR2NHOS.js +0 -7
  636. package/dist/esm/chunks/chunk.ESR2NHOS.js.map +0 -7
  637. package/dist/esm/chunks/chunk.F3MP6AXF.js +0 -29
  638. package/dist/esm/chunks/chunk.F3MP6AXF.js.map +0 -7
  639. package/dist/esm/chunks/chunk.FVRSGKJD.js +0 -7
  640. package/dist/esm/chunks/chunk.G3ZTZ4AN.js +0 -7
  641. package/dist/esm/chunks/chunk.G3ZTZ4AN.js.map +0 -7
  642. package/dist/esm/chunks/chunk.G5MGGEFP.js +0 -7
  643. package/dist/esm/chunks/chunk.HPDBSBQJ.js +0 -29
  644. package/dist/esm/chunks/chunk.HPDBSBQJ.js.map +0 -7
  645. package/dist/esm/chunks/chunk.HV6SPRC4.js +0 -7
  646. package/dist/esm/chunks/chunk.HV6SPRC4.js.map +0 -7
  647. package/dist/esm/chunks/chunk.I5BAZWUF.js +0 -7
  648. package/dist/esm/chunks/chunk.I5BAZWUF.js.map +0 -7
  649. package/dist/esm/chunks/chunk.IGTXLDZS.js +0 -7
  650. package/dist/esm/chunks/chunk.ILRWZHH3.js +0 -29
  651. package/dist/esm/chunks/chunk.ILRWZHH3.js.map +0 -7
  652. package/dist/esm/chunks/chunk.INCKI5IX.js +0 -7
  653. package/dist/esm/chunks/chunk.J6WCFQSS.js +0 -7
  654. package/dist/esm/chunks/chunk.JHBCYICS.js +0 -7
  655. package/dist/esm/chunks/chunk.JHY2CKEH.js +0 -7
  656. package/dist/esm/chunks/chunk.LDN4HLF7.js +0 -7
  657. package/dist/esm/chunks/chunk.LDN4HLF7.js.map +0 -7
  658. package/dist/esm/chunks/chunk.M2QU3LUR.js +0 -7
  659. package/dist/esm/chunks/chunk.M2QU3LUR.js.map +0 -7
  660. package/dist/esm/chunks/chunk.MCIQXNKY.js +0 -7
  661. package/dist/esm/chunks/chunk.MHOS3IHQ.js +0 -7
  662. package/dist/esm/chunks/chunk.MSF55AA3.js +0 -7
  663. package/dist/esm/chunks/chunk.MSF55AA3.js.map +0 -7
  664. package/dist/esm/chunks/chunk.MXTDW27J.js +0 -7
  665. package/dist/esm/chunks/chunk.NW7NV2A2.js +0 -7
  666. package/dist/esm/chunks/chunk.NW7NV2A2.js.map +0 -7
  667. package/dist/esm/chunks/chunk.Q7LFOS2I.js +0 -7
  668. package/dist/esm/chunks/chunk.RB5BTA5N.js +0 -7
  669. package/dist/esm/chunks/chunk.RE5X26QT.js +0 -29
  670. package/dist/esm/chunks/chunk.RE5X26QT.js.map +0 -7
  671. package/dist/esm/chunks/chunk.RG6CDWEX.js +0 -7
  672. package/dist/esm/chunks/chunk.RG6CDWEX.js.map +0 -7
  673. package/dist/esm/chunks/chunk.ROR6JMAE.js +0 -7
  674. package/dist/esm/chunks/chunk.SAQVWOVK.js +0 -7
  675. package/dist/esm/chunks/chunk.SAQVWOVK.js.map +0 -7
  676. package/dist/esm/chunks/chunk.TWZXQQQO.js +0 -29
  677. package/dist/esm/chunks/chunk.TWZXQQQO.js.map +0 -7
  678. package/dist/esm/chunks/chunk.UF43SSFY.js +0 -7
  679. package/dist/esm/chunks/chunk.UF43SSFY.js.map +0 -7
  680. package/dist/esm/chunks/chunk.V4TCOZLK.js +0 -29
  681. package/dist/esm/chunks/chunk.V4TCOZLK.js.map +0 -7
  682. package/dist/esm/chunks/chunk.V7WKXEZC.js +0 -7
  683. package/dist/esm/chunks/chunk.VAKNDCLP.js +0 -29
  684. package/dist/esm/chunks/chunk.VAKNDCLP.js.map +0 -7
  685. package/dist/esm/chunks/chunk.WY7DECJD.js +0 -7
  686. package/dist/esm/chunks/chunk.WY7DECJD.js.map +0 -7
  687. package/dist/esm/chunks/chunk.X5LGVZGO.js.map +0 -7
  688. package/dist/esm/chunks/chunk.Y4GKBJGI.js +0 -7
  689. package/dist/esm/chunks/chunk.Y5A7RQ5M.js +0 -7
  690. package/dist/esm/chunks/chunk.Y66GSZJB.js +0 -7
  691. package/dist/esm/chunks/chunk.Y66GSZJB.js.map +0 -7
  692. package/dist/esm/chunks/chunk.Y72NANFX.js +0 -7
  693. package/dist/esm/chunks/chunk.Y72NANFX.js.map +0 -7
  694. package/dist/esm/chunks/chunk.YBEBD4CN.js +0 -7
  695. package/dist/esm/chunks/chunk.YI4JTY4T.js +0 -14
  696. package/dist/esm/chunks/chunk.YPZNIYQL.js +0 -7
  697. package/dist/esm/chunks/chunk.ZFHPUAYX.js +0 -7
  698. package/styles/circular-progress/_keyframes.scss +0 -185
  699. package/styles/circular-progress/_mixins.scss +0 -320
  700. package/styles/circular-progress/_variables.scss +0 -50
  701. package/styles/linear-progress/_mixins.scss +0 -11
  702. package/styles/linear-progress/_variables.scss +0 -15
  703. package/styles/tabs/tab/_mixins.scss +0 -165
  704. package/styles/tabs/tab/_variables.scss +0 -9
  705. package/styles/tabs/tab-bar/_mixins.scss +0 -78
  706. /package/dist/esm/chunks/{chunk.IGTXLDZS.js.map → chunk.3JDFBEF7.js.map} +0 -0
  707. /package/dist/esm/chunks/{chunk.H4Z4DHPA.js.map → chunk.5CMQ7DNL.js.map} +0 -0
  708. /package/dist/esm/chunks/{chunk.IUOBRBDZ.js.map → chunk.7DHFTAWI.js.map} +0 -0
  709. /package/dist/esm/chunks/{chunk.EGRUD7S7.js.map → chunk.7ZQMJLHE.js.map} +0 -0
  710. /package/dist/esm/chunks/{chunk.JEN6YP2Q.js.map → chunk.E7Z3IRWV.js.map} +0 -0
  711. /package/dist/esm/chunks/{chunk.K2C4W3CO.js.map → chunk.EDEYCLDU.js.map} +0 -0
  712. /package/dist/esm/chunks/{chunk.ARJ3EVVO.js.map → chunk.G4IN6Y46.js.map} +0 -0
  713. /package/dist/esm/chunks/{chunk.DYNEJBYK.js.map → chunk.HXJCTE47.js.map} +0 -0
  714. /package/dist/esm/chunks/{chunk.KU5CXXGS.js.map → chunk.IDD54B5P.js.map} +0 -0
  715. /package/dist/esm/chunks/{chunk.MCIQXNKY.js.map → chunk.M3QDAYD2.js.map} +0 -0
  716. /package/dist/esm/chunks/{chunk.ZUNZKRRK.js.map → chunk.OAHA3QOH.js.map} +0 -0
  717. /package/dist/esm/chunks/{chunk.MLV25D2G.js.map → chunk.PHTOULRR.js.map} +0 -0
  718. /package/dist/esm/chunks/{chunk.WP4QOOIS.js.map → chunk.QZK3WEH6.js.map} +0 -0
  719. /package/dist/esm/chunks/{chunk.UT7QUGAO.js.map → chunk.U4GYQOPY.js.map} +0 -0
  720. /package/dist/esm/chunks/{chunk.G45OZEIS.js.map → chunk.WO7KEM5K.js.map} +0 -0
  721. /package/dist/esm/chunks/{chunk.RBAVT3XQ.js.map → chunk.WYP2M5FR.js.map} +0 -0
  722. /package/dist/esm/chunks/{chunk.O73S5LF3.js.map → chunk.XOM2FYQ2.js.map} +0 -0
  723. /package/dist/esm/chunks/{chunk.XUW3GG46.js.map → chunk.XRESQBNE.js.map} +0 -0
  724. /package/dist/esm/chunks/{chunk.AFLH5HUG.js.map → chunk.Y5UJ23LB.js.map} +0 -0
  725. /package/dist/esm/chunks/{chunk.JHY2CKEH.js.map → chunk.ZMRDW25U.js.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/autocomplete/autocomplete-constants.ts", "../../src/autocomplete/autocomplete-adapter.ts", "../../src/autocomplete/autocomplete-utils.ts", "../../src/autocomplete/autocomplete-foundation.ts", "../../src/autocomplete/autocomplete.ts", "../../src/autocomplete/autocomplete-component-delegate.ts", "../../src/autocomplete/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX, KEYSTROKE_DEBOUNCE_THRESHOLD } from '../constants';\nimport { IListItemComponent } from '../list';\nimport { IListDropdownConfig, IListDropdownOption, IListDropdownOptionGroup, ListDropdownOptionGroupBuilder } from '../list-dropdown';\nimport { IPopupPosition } from '../popup';\nimport { FIELD_CONSTANTS } from '../field/field-constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}autocomplete`;\n\nconst attributes = {\n MODE: 'mode',\n MULTIPLE: 'multiple',\n DEBOUNCE: 'debounce',\n FILTER_ON_FOCUS: 'filter-on-focus',\n ALLOW_UNMATCHED: 'allow-unmatched',\n POPUP_TARGET: 'popup-target',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n OPEN: 'open',\n MATCH_KEY: 'match-key',\n FILTER_TEXT: 'filter-text',\n DROPDOWN_ICON_OPEN: 'data-forge-dropdown-icon-open'\n};\n\nconst selectors = {\n INPUT: FIELD_CONSTANTS.selectors.INPUT,\n DROPDOWN_ICON: '[data-forge-dropdown-icon],[data-forge-dropdown-icon],[forge-dropdown-icon],.forge-dropdown-icon',\n CLEAR_BUTTON: '[data-forge-autocomplete-clear],[forge-autocomplete-clear]'\n};\n\nconst numbers = {\n DEFAULT_DEBOUNCE_TIME: KEYSTROKE_DEBOUNCE_THRESHOLD,\n NUM_SKELETON_ITEMS: 3\n};\n\nconst events = {\n CHANGE: `${elementName}-change`,\n SELECT: `${elementName}-select`,\n SCROLLED_BOTTOM: `${elementName}-scrolled-bottom`\n};\n\nexport const AUTOCOMPLETE_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n numbers,\n events\n};\n\nexport type AutocompleteOptionBuilder<T = any> = (option: IAutocompleteOption<T>, filterText: string, parentElement: IListItemComponent) => HTMLElement;\nexport type AutocompleteOptionGroupBuilder<T = any> = ListDropdownOptionGroupBuilder<T>;\nexport type AutocompleteFilterCallback<T = any> = (filterText: string, value: T | null) => IAutocompleteOption<T>[] | IAutocompleteOptionGroup<T>[] | Promise<IAutocompleteOption<T>[] | IAutocompleteOptionGroup<T>[]>;\nexport type AutocompleteSelectedTextBuilder<T = any> = (selectedOptions: Array<IAutocompleteOption<T>>) => string;\n\nexport enum AutocompleteMode {\n Default = 'default',\n Stateless = 'stateless'\n}\n\nexport interface IAutocompleteOption<T = any> extends IListDropdownOption<T> {}\nexport interface IAutocompleteOptionGroup<T = any> extends IListDropdownOptionGroup<T> {}\n\nexport interface IAutocompletePopupConfiguration {\n filterText: string;\n popupTarget: string;\n dropdownConfig: IListDropdownConfig;\n popupClasses: string[];\n popupOffset: IPopupPosition;\n syncPopupWidth: boolean;\n listener: (value: string) => void;\n scrollEndListener: () => void;\n}\n\nexport interface IAutocompleteSelectEventData<T = any> {\n value: T;\n}\n", "import { getShadowElement, deepQuerySelectorAll, getActiveElement, toggleAttribute } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IAutocompleteComponent } from './autocomplete';\nimport { AUTOCOMPLETE_CONSTANTS, IAutocompleteOption, IAutocompleteOptionGroup } from './autocomplete-constants';\nimport { TEXT_FIELD_CONSTANTS } from '../text-field';\nimport { IListDropdown, IListDropdownConfig, ListDropdown } from '../list-dropdown';\nimport { CHIP_FIELD_CONSTANTS } from '../chip-field';\nimport { IPopupComponent, POPUP_CONSTANTS } from '../popup';\n\nexport interface IAutocompleteAdapter extends IBaseAdapter {\n setInputElement(): HTMLInputElement;\n setInputAttribute(name: string, value: string): void;\n addInputListener(type: string, listener: (evt: Event) => void): void;\n removeInputListener(type: string, listener: (evt: Event) => void): void;\n initializeInputAccessibility(identifier: string): void;\n isWrappingChipField(): boolean;\n show(config: IListDropdownConfig, popupTarget: string): void;\n hide(listener: () => void): void;\n focus(): void;\n setOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;\n appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;\n setSelectedText(value: string): void;\n getInputValue(): string;\n setInputValue(value: string): void;\n selectInputValue(): void;\n setDismissListener(listener: () => void): void;\n toggleOptionMultiple(index: number, selected: boolean): void;\n isFocusWithinPopup(target: HTMLElement): boolean;\n hasFocus(): boolean;\n hasInputElement(): boolean;\n setDropdownIconListener(type: string, listener: EventListener): void;\n removeDropdownIconListener(type: string, listener: EventListener): void;\n setClearButtonListener(type: string, listener: EventListener): void;\n removeClearButtonListener(type: string, listener: EventListener): void;\n getPopupElement(): HTMLElement | null;\n propagateKey(key: string): void;\n updateActiveDescendant(id: string): void;\n getTargetElementWidth(selector: string): number;\n activateFirstOption(): void;\n activateSelectedOption(): void;\n activateOptionByIndex(value: number): void;\n setBusyVisibility(busy: boolean): void;\n getActiveOptionIndex(): number | null;\n clearActiveOption(): void;\n setSelectedOptions(options: IAutocompleteOption[]): void;\n queueDropdownPositionUpdate(): void;\n}\n\n/**\n * The DOM adapter for the `<forge-autocomplete>` element.\n */\nexport class AutocompleteAdapter extends BaseAdapter<IAutocompleteComponent> implements IAutocompleteAdapter {\n private _inputElement: HTMLInputElement;\n private _listDropdown?: IListDropdown;\n private _targetElement?: HTMLElement;\n \n constructor(component: IAutocompleteComponent) {\n super(component);\n this.setInputElement();\n }\n\n public setInputElement(): HTMLInputElement {\n const inputElements = deepQuerySelectorAll(this._component, AUTOCOMPLETE_CONSTANTS.selectors.INPUT, false);\n if (inputElements.length) {\n this._inputElement = inputElements[0] as HTMLInputElement;\n }\n return this._inputElement;\n }\n\n public setInputAttribute(name: string, value: string): void {\n this._inputElement.setAttribute(name, value);\n }\n\n public addInputListener(type: string, listener: (evt: Event) => void): void {\n this._inputElement.addEventListener(type, listener);\n }\n\n public removeInputListener(type: string, listener: (evt: Event) => void): void {\n this._inputElement.removeEventListener(type, listener);\n }\n\n public initializeInputAccessibility(identifier: string): void {\n this._inputElement.setAttribute('autocomplete', 'off');\n this._inputElement.setAttribute('role', 'combobox');\n this._inputElement.setAttribute('aria-live', 'polite');\n this._inputElement.setAttribute('aria-atomic', 'true');\n this._inputElement.setAttribute('aria-haspopup', 'true');\n this._inputElement.setAttribute('aria-expanded', 'false');\n this._inputElement.setAttribute('aria-autocomplete', 'list');\n }\n\n public isWrappingChipField(): boolean {\n return !!this._component.querySelector(CHIP_FIELD_CONSTANTS.elementName);\n }\n\n public show(config: IListDropdownConfig, popupTarget: string): void {\n this._targetElement = this._getTargetElement(popupTarget);\n if (!this._targetElement) {\n return;\n }\n this._listDropdown = new ListDropdown(this._targetElement, config);\n this._listDropdown.open();\n this._inputElement.setAttribute('aria-expanded', 'true');\n this._inputElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n this._tryToggleDropdownIconRotation(true);\n }\n\n public hide(listener: () => void): void {\n if (!this._listDropdown) {\n return;\n }\n const { targetElement } = this._listDropdown.dropdownElement as IPopupComponent;\n targetElement.removeEventListener(POPUP_CONSTANTS.events.BLUR, listener);\n this.setBusyVisibility(false);\n this._tryToggleDropdownIconRotation(false);\n this._inputElement.removeAttribute('aria-activedescendant');\n this._inputElement.removeAttribute('aria-controls');\n this._inputElement.setAttribute('aria-expanded', 'false');\n this._listDropdown.close();\n this._listDropdown = undefined;\n }\n\n\n public setBusyVisibility(isVisible: boolean): void {\n this._listDropdown?.setBusyVisibility(isVisible);\n }\n\n public toggleOptionMultiple(index: number, selected: boolean): void {\n this._listDropdown?.toggleOptionMultiple(index, selected);\n }\n\n public setDismissListener(listener: () => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n const dropdownElement = this._listDropdown.dropdownElement as IPopupComponent;\n if (dropdownElement.targetElement) {\n dropdownElement.targetElement.addEventListener(POPUP_CONSTANTS.events.BLUR, listener);\n }\n }\n\n public focus(): void {\n window.requestAnimationFrame(() => this._inputElement.focus());\n }\n\n public setOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void {\n this._listDropdown?.setOptions(options);\n }\n\n public appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void {\n this._listDropdown?.appendOptions(options);\n }\n\n public setSelectedText(value: string): void {\n this._inputElement.value = value;\n }\n\n public getInputValue(): string {\n return this._inputElement.value;\n }\n\n public setInputValue(value: string): void {\n this._inputElement.value = value;\n }\n\n public selectInputValue(): void {\n window.requestAnimationFrame(() => this._inputElement.select());\n }\n\n public isFocusWithinPopup(target: HTMLElement): boolean {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._listDropdown.dropdownElement.contains(target);\n }\n\n public hasFocus(): boolean {\n const activeElement = getActiveElement() as HTMLElement;\n return activeElement === this._inputElement || this.isFocusWithinPopup(activeElement);\n }\n\n public hasInputElement(): boolean {\n return !!this._inputElement;\n }\n\n public setDropdownIconListener(type: string, listener: EventListener): void {\n window.requestAnimationFrame(() => {\n const dropdownIcon = this._component.querySelector(AUTOCOMPLETE_CONSTANTS.selectors.DROPDOWN_ICON);\n if (dropdownIcon) {\n dropdownIcon.addEventListener(type, listener);\n }\n });\n }\n\n public removeDropdownIconListener(type: string, listener: EventListener): void {\n const dropdownIcon = this._component.querySelector(AUTOCOMPLETE_CONSTANTS.selectors.DROPDOWN_ICON);\n if (dropdownIcon) {\n dropdownIcon.removeEventListener(type, listener);\n }\n }\n\n public setClearButtonListener(type: string, listener: EventListener): void {\n window.requestAnimationFrame(() => {\n const clearButton = this._component.querySelector(AUTOCOMPLETE_CONSTANTS.selectors.CLEAR_BUTTON);\n if (clearButton) {\n clearButton.addEventListener(type, listener);\n }\n });\n }\n\n public removeClearButtonListener(type: string, listener: EventListener): void {\n const clearButton = this._component.querySelector(AUTOCOMPLETE_CONSTANTS.selectors.CLEAR_BUTTON);\n if (clearButton) {\n clearButton.removeEventListener(type, listener);\n }\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public updateActiveDescendant(id: string): void {\n if (!this._targetElement) {\n return;\n }\n toggleAttribute(this._inputElement, !!id, 'aria-activedescendant', id);\n }\n\n public getTargetElementWidth(selector: string): number {\n if (!this._targetElement) {\n this._targetElement = this._getTargetElement(selector);\n }\n return this._targetElement.getBoundingClientRect().width;\n }\n\n public getPopupElement(): HTMLElement | null {\n return this._listDropdown?.dropdownElement ?? null;\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public activateSelectedOption(): void {\n this._listDropdown?.activateSelectedOption();\n }\n\n public activateOptionByIndex(value: number): void {\n this._listDropdown?.activateOption(value);\n }\n\n public getActiveOptionIndex(): number | null {\n return this._listDropdown?.getActiveOptionIndex() ?? null;\n }\n\n public clearActiveOption(): void {\n this._listDropdown?.clearActiveOption();\n }\n\n public setSelectedOptions(options: IAutocompleteOption[]): void {\n if (this._listDropdown) {\n const values = options.map(o => o.value);\n this._listDropdown.setSelectedValues(values);\n }\n }\n\n public queueDropdownPositionUpdate(): void {\n if (!this.getPopupElement()) {\n return;\n }\n // We need to wait for the next animation frame to ensure that the layout has been updated\n window.requestAnimationFrame(() => {\n const dropdownEl = this.getPopupElement() as IPopupComponent | undefined;\n dropdownEl?.position();\n });\n }\n\n private _getTargetElement(selector?: string): HTMLElement {\n return selector ? this._component.querySelector(selector) || this._getDefaultTargetElement() : this._getDefaultTargetElement();\n }\n\n private _getDefaultTargetElement(): HTMLElement {\n // This component is often used with the text-field, if so, let's target our popup around one if its internal elements for proper alignnment\n const textField = this._component.querySelector('forge-text-field');\n if (textField && textField.shadowRoot) {\n const textFieldRoot = getShadowElement(textField, TEXT_FIELD_CONSTANTS.selectors.ROOT) as HTMLElement;\n if (textFieldRoot) {\n return textFieldRoot;\n }\n }\n\n // This component is often used with the chip-field, if so, let's target our popup around one if its internal elements for proper alignnment\n const chipField = this._component.querySelector('forge-chip-field');\n if (chipField && chipField.shadowRoot) {\n const chipFieldRoot = getShadowElement(chipField, CHIP_FIELD_CONSTANTS.selectors.ROOT) as HTMLElement;\n if (chipFieldRoot) {\n return chipFieldRoot;\n }\n }\n\n return this._component.querySelector('input') || this._component;\n }\n\n private _tryToggleDropdownIconRotation(state: boolean): void {\n const dropdownIcon = this._component.querySelector(AUTOCOMPLETE_CONSTANTS.selectors.DROPDOWN_ICON) as HTMLElement;\n if (dropdownIcon) {\n toggleAttribute(dropdownIcon, state, AUTOCOMPLETE_CONSTANTS.attributes.DROPDOWN_ICON_OPEN);\n }\n }\n}\n", "import { IAutocompleteOption, IAutocompleteOptionGroup } from './autocomplete-constants';\nimport { isDefined, isObject, isDeepEqual } from '@tylertech/forge-core';\n\n/** The available option types. */\nexport enum OptionType { Option, Group }\n\n/**\n * Determines if the provided options are of the specified type.\n * @param options The options either grouped or individual.\n * @param type The type of option to detect.\n */\nexport function isOptionType(options: IAutocompleteOption[] | IAutocompleteOptionGroup[], type: OptionType): boolean {\n const isOptionGroups = options.some((o: IAutocompleteOption | IAutocompleteOptionGroup) => isDefined(o) && isObject(o) && o.hasOwnProperty('options') && (o.hasOwnProperty('text') || o.hasOwnProperty('builder')));\n const isOptionTypes = options.some((o: IAutocompleteOption | IAutocompleteOptionGroup) => isDefined(o) && isObject(o) && o.hasOwnProperty('label') && o.hasOwnProperty('value'));\n return (isOptionGroups && type === OptionType.Group) || (isOptionTypes && type === OptionType.Option);\n}\n\n/** A utility function to find the matching option in the provided options by the value provided. */\nexport function getSelectedOption(options: IAutocompleteOption[], value: string): IAutocompleteOption | undefined {\n return options.find(o => o.value === value);\n}\n\n/** A predicate function that will determine if an option value is equal regardless of primitive type or complex object type. */\nexport function optionEqualPredicate(option: IAutocompleteOption, value: any, property: string | null = null): boolean {\n if (property) {\n if (!(property in option.value) || !(property in value)) {\n return false;\n }\n return isDeepEqual(option.value[property], value[property]);\n }\n return isDeepEqual(option.value, value);\n}\n", "import { debounce, isDefined, isString, Platform, randomChars } from '@tylertech/forge-core';\nimport { highlightTextHTML } from '../core';\nimport { IListItemComponent } from '../list';\nimport { IListDropdownConfig, IListDropdownOption, ListDropdownAsyncStyle, ListDropdownFooterBuilder, ListDropdownHeaderBuilder, ListDropdownOptionBuilder } from '../list-dropdown';\nimport { IListDropdownAwareFoundation, ListDropdownAwareFoundation } from '../list-dropdown/list-dropdown-aware-foundation';\nimport { IAutocompleteAdapter } from './autocomplete-adapter';\nimport { AutocompleteFilterCallback, AutocompleteMode, AutocompleteOptionBuilder, AutocompleteSelectedTextBuilder, AUTOCOMPLETE_CONSTANTS, IAutocompleteOption, IAutocompleteOptionGroup, IAutocompleteSelectEventData } from './autocomplete-constants';\nimport { getSelectedOption, isOptionType, optionEqualPredicate, OptionType } from './autocomplete-utils';\n\nexport interface IAutocompleteFoundation extends IListDropdownAwareFoundation {\n mode: AutocompleteMode;\n multiple: boolean;\n value: string | string[] | IAutocompleteOption | IAutocompleteOption[] | null | undefined;\n debounce: number;\n filterOnFocus: boolean;\n allowUnmatched: boolean;\n popupTarget: string;\n filterText: string;\n optionBuilder: AutocompleteOptionBuilder | null | undefined;\n filter: AutocompleteFilterCallback | null | undefined;\n selectedTextBuilder: AutocompleteSelectedTextBuilder;\n isInitialized: boolean;\n open: boolean;\n matchKey: string | null | undefined;\n appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;\n beforeValueChange: (value: any) => boolean | Promise<boolean>;\n}\n\n/**\n * The foundation class behind the `<forge-autocomplete>` element.\n */\nexport class AutocompleteFoundation extends ListDropdownAwareFoundation implements IAutocompleteFoundation {\n private _isInitialized = false;\n private _isDropdownOpen = false;\n private _mode: AutocompleteMode = AutocompleteMode.Default;\n private _multiple = false;\n private _debounce = AUTOCOMPLETE_CONSTANTS.numbers.DEFAULT_DEBOUNCE_TIME;\n private _allowUnmatched = false;\n private _popupTarget: string;\n private _filterOnFocus = true;\n private _optionBuilder?: AutocompleteOptionBuilder | null;\n private _filter?: AutocompleteFilterCallback | null;\n private _selectedTextBuilder: AutocompleteSelectedTextBuilder;\n private _options: IAutocompleteOption[] | IAutocompleteOptionGroup[] = [];\n private _filterText = '';\n private _selectedOptions: IAutocompleteOption[] = [];\n private _values: any[] = [];\n private _pendingFilterPromises: Array<Promise<IAutocompleteOption[] | IAutocompleteOptionGroup[]>> = [];\n private _identifier: string;\n private _matchKey?: string | null = null;\n private _filterFn: () => Promise<void>;\n private _clickListener: (evt: MouseEvent) => void;\n private _focusListener: (evt: FocusEvent) => void;\n private _blurListener: (evt: FocusEvent) => void;\n private _inputListener: (evt: KeyboardEvent) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _dropdownIconClickListener: (evt: MouseEvent) => void;\n private _dropdownIconMouseDownListener: (evt: MouseEvent) => void;\n private _clearButtonListener: (evt: MouseEvent) => void;\n private _dropdownScrollEndListener: () => void;\n private _dismissListener: () => void;\n private _activeChangeListener: (id: string) => void;\n private _targetWidthCallback: () => number;\n private _beforeValueChange: (value: any) => boolean | Promise<boolean>;\n private _valueChanging: Promise<boolean> | undefined;\n\n constructor(private _adapter: IAutocompleteAdapter) {\n super();\n this._clickListener = evt => this._onClick(evt);\n this._focusListener = () => this._onFocus();\n this._blurListener = evt => this._onBlur(evt);\n this._keydownListener = evt => this._onKeydown(evt);\n this._dropdownIconClickListener = evt => this._onDropdownIconClick(evt);\n this._dropdownScrollEndListener = () => this._onDropdownScrollEnd();\n this._dropdownIconMouseDownListener = evt => this._onDropdownIconMouseDown(evt);\n this._clearButtonListener = evt => this._onClear(evt);\n this._dismissListener = () => this._onDismiss();\n this._activeChangeListener = id => this._adapter.updateActiveDescendant(id);\n this._targetWidthCallback = () => this._adapter.getTargetElementWidth(this._popupTarget);\n this._identifier = randomChars();\n }\n\n public async initialize(): Promise<void> {\n if (!this._adapter.hasInputElement() && !this._adapter.setInputElement()) {\n throw new Error('An input element is required as a child of the autocomplete component.');\n }\n\n this._setInputListener();\n this._setFilterCallback();\n this._attachListeners();\n this._initializeAccessibility();\n\n if (this._values.length) {\n if (!this._selectedOptions.length) {\n try {\n await this._executeFilter();\n } catch (e) {\n console.error(e);\n }\n this._updateSelectedOptions(this._values);\n }\n this._adapter.setSelectedText(this._getSelectedText());\n }\n\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n if (this._isInitialized) {\n this._detachListeners();\n this._isInitialized = false;\n }\n if (this._isDropdownOpen) {\n this._closeDropdown();\n }\n }\n\n private _attachListeners(): void {\n this._adapter.addInputListener('click', this._clickListener);\n this._adapter.addInputListener('focus', this._focusListener);\n this._adapter.addInputListener('blur', this._blurListener);\n this._adapter.addInputListener('input', this._inputListener);\n this._adapter.addInputListener('keydown', this._keydownListener);\n this._adapter.setDropdownIconListener('click', this._dropdownIconClickListener);\n this._adapter.setDropdownIconListener('mousedown', this._dropdownIconMouseDownListener);\n this._adapter.setClearButtonListener('click', this._clearButtonListener);\n }\n\n private _detachListeners(): void {\n this._adapter.removeInputListener('click', this._clickListener);\n this._adapter.removeInputListener('focus', this._focusListener);\n this._adapter.removeInputListener('blur', this._blurListener);\n this._adapter.removeInputListener('input', this._inputListener);\n this._adapter.removeInputListener('keydown', this._keydownListener);\n this._adapter.removeDropdownIconListener('click', this._dropdownIconClickListener);\n this._adapter.removeDropdownIconListener('mousedown', this._dropdownIconMouseDownListener);\n this._adapter.removeClearButtonListener('click', this._clearButtonListener);\n }\n\n private _setInputListener(): void {\n this._inputListener = (evt: KeyboardEvent) => this._onInput(evt);\n }\n\n private _setFilterCallback(): void {\n this._filterFn = isDefined(this._debounce) && this._debounce > 0 ? debounce(this._debounceFilter, this._debounce, false) : this._debounceFilter;\n }\n\n private _initializeAccessibility(): void {\n this._adapter.initializeInputAccessibility(this._identifier);\n }\n\n private get _flatOptions(): IAutocompleteOption[] {\n if (isOptionType(this._options, OptionType.Group)) {\n return (this._options as IAutocompleteOptionGroup[]).reduce((previousValue, currentValue) => previousValue.concat(currentValue.options), [] as IAutocompleteOption[]);\n }\n return this._options as IAutocompleteOption[];\n }\n\n private _onClick(evt: MouseEvent): void {\n if (!this._isDropdownOpen && this._filterOnFocus) {\n this._showDropdown();\n }\n }\n\n private _onDropdownIconMouseDown(evt: MouseEvent): void {\n evt.preventDefault(); // Always avoid changing focus when clicking the dropdown\n }\n\n private _onDropdownIconClick(evt: MouseEvent): void {\n if (!this._isDropdownOpen) {\n this._adapter.focus();\n window.requestAnimationFrame(() => this._showDropdown());\n } else {\n this._closeDropdown();\n }\n }\n\n private _onClear(evt: MouseEvent): void {\n this._clearValue();\n this._adapter.setSelectedText(this._getSelectedText());\n }\n\n private _onDropdownScrollEnd(): void {\n this._adapter.emitHostEvent(AUTOCOMPLETE_CONSTANTS.events.SCROLLED_BOTTOM);\n }\n\n private _onFocus(): void {\n if (!this._isDropdownOpen && this._adapter.getInputValue() && !Platform.isMobile) {\n this._adapter.selectInputValue();\n }\n }\n\n private _onBlur(evt: FocusEvent): void {\n // If the blur event was triggered by an element within the popup then ignore it\n if (this._adapter.isFocusWithinPopup(evt.relatedTarget as HTMLElement)) {\n return;\n }\n\n this._applyBlur();\n }\n\n private _applyBlur(): void {\n if (this._isDropdownOpen) {\n this._closeDropdown();\n }\n\n // If we are in stateless mode, we don't need to do anything further\n if (this._mode === AutocompleteMode.Stateless) {\n return;\n }\n\n if (!this._selectedOptions.length) {\n if (!this._allowUnmatched) {\n this._filterText = '';\n this._adapter.setSelectedText('');\n }\n } else {\n this._adapter.setSelectedText(this._getSelectedText());\n }\n }\n\n private _onInput(evt: KeyboardEvent): void {\n if (this._selectedOptions.length && !this._multiple && (!this._adapter.getInputValue() || this._allowUnmatched) && !this._adapter.isWrappingChipField()) {\n this._selectedOptions = [];\n this._values = [];\n this._emitChangeEvent();\n }\n this._filterText = this._adapter.getInputValue();\n this._filterFn();\n }\n\n private async _debounceFilter({ checkFocus = true } = {}): Promise<void> {\n // There is the potential that the user could have started a filter, then moved focus to another element\n // while a debounced filter is running. This check detects that scenario and stops all pending filters.\n if (!checkFocus && !this._adapter.hasFocus()) {\n this._pendingFilterPromises = [];\n if (this._isDropdownOpen) {\n this._closeDropdown();\n }\n return;\n }\n\n // Keep track of these variables so we can use them when each filter callback completes\n const filterText = this._filterText; // Filter text just before the execution\n const filterPromise = this._executeFilter(); // Execute the filter and keep track of the filter promise object for use after it resolves\n\n // Keep track of all pending promises\n this._pendingFilterPromises.push(filterPromise);\n\n // If the dropdown is open, show the spinner and execute the filter. If not open, then we need to\n // show the dropdown (which will handle showing the spinner and executing the filter for us) so\n // we use the promise from that method instead.\n if (this._isDropdownOpen) {\n this._adapter.setBusyVisibility(true);\n } else {\n this._showDropdown({ filter: false });\n }\n\n try {\n await filterPromise;\n } catch {\n // When an exception occurs, we just flush the pending promises and clean up\n this._pendingFilterPromises = [];\n if (this._isDropdownOpen) {\n this._closeDropdown();\n }\n return;\n }\n\n // We only continue if the filter text before this result matches the latest filter text\n if (filterText === this._filterText) {\n this._pendingFilterPromises = [];\n this._onFilterComplete();\n } else {\n // If this is not the latest filter result, we ignore it and remove it from the pending promises\n const promiseIndex = this._pendingFilterPromises.indexOf(filterPromise);\n if (promiseIndex !== -1) {\n this._pendingFilterPromises.splice(promiseIndex, 1);\n }\n }\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n switch (evt.key) {\n case 'Tab':\n if (this._isDropdownOpen && !this._multiple) {\n this._selectActiveOption(false);\n }\n break;\n case 'Esc':\n case 'Escape':\n if (this._isDropdownOpen) {\n evt.preventDefault();\n evt.stopPropagation();\n this._closeDropdown();\n }\n break;\n case 'Down':\n case 'ArrowDown':\n evt.preventDefault();\n if (!this._isDropdownOpen) {\n this._showDropdown({ activateFirst: true, activateSelected: true });\n } else {\n this._adapter.propagateKey(evt.key);\n }\n break;\n case 'Up':\n case 'ArrowUp':\n evt.preventDefault();\n if (this._isDropdownOpen) {\n this._adapter.propagateKey(evt.key);\n }\n break;\n case 'Enter':\n case 'Home':\n case 'End':\n if (this._isDropdownOpen) {\n if (evt.key === 'Enter') {\n evt.stopPropagation();\n }\n evt.preventDefault();\n this._adapter.propagateKey(evt.key);\n }\n break;\n case 'Backspace':\n case 'Delete':\n const input = evt.target as HTMLInputElement;\n const value = this._adapter.getInputValue();\n const isRemovingAllChars = input.value.substring(input.selectionStart as number, input.selectionEnd as number) === input.value;\n const isBackspacingLastChar = value.length === 1 && input.selectionEnd === 1;\n const isDeletingLastChar = value.length === 1 && input.selectionEnd === 0;\n const isEmpty = !value || isRemovingAllChars || isBackspacingLastChar || isDeletingLastChar;\n \n // We only clear the value on empty when not around a chip-field and NOT in multiple mode\n if (!this._adapter.isWrappingChipField() && isEmpty && !this._multiple && this._values.length) {\n this._clearValue();\n }\n break;\n }\n }\n\n private _executeFilter(sendFilterText = true, sendValue = false): Promise<IAutocompleteOption[] | IAutocompleteOptionGroup[]> {\n if (!this._filter || typeof this._filter !== 'function') {\n throw new Error('A filter callback must be provided. Did you set the \"filter\" property?');\n }\n const filter = this._filter;\n\n const filterText = sendFilterText ? this._filterText : '';\n const value = sendValue ? this._getValue() : null;\n\n return new Promise<IAutocompleteOption[] | IAutocompleteOptionGroup[]>((resolve, reject) => {\n return Promise.resolve(filter(filterText, value))\n .then(options => {\n this._options = options;\n resolve(this._options);\n })\n .catch(e => reject(`An unexpected error occurred while filtering: ${e}`));\n });\n }\n\n private _onFilterComplete(): void {\n if (!this._adapter.hasFocus()) {\n if (this._isDropdownOpen) {\n this._closeDropdown();\n }\n return;\n }\n\n if (this._options.length) {\n const sendFilterText = this._allowUnmatched && !this._selectedOptions.length;\n this._dropdownReady({ userTriggered: sendFilterText });\n if (this._filterText) {\n this._adapter.activateFirstOption();\n }\n } else {\n this._closeDropdown();\n }\n }\n\n private _clearValue(): void {\n this._selectedOptions = [];\n this._values = [];\n\n if (this._isDropdownOpen) {\n this._adapter.setSelectedOptions([]);\n this._adapter.clearActiveOption();\n }\n\n this._emitChangeEvent();\n }\n\n private async _showDropdown({ filter = true, userTriggered = true, activateFirst = false, activateSelected = false } = {}): Promise<void> {\n const sendFilterText = this._allowUnmatched && !this._selectedOptions.length;\n this._isDropdownOpen = true;\n let listOptionBuilder: ListDropdownOptionBuilder<HTMLElement> | undefined;\n if (this._optionBuilder) {\n const optionBuilder = this._optionBuilder;\n listOptionBuilder = (option: IListDropdownOption, parentElement: HTMLElement) => {\n return optionBuilder(option, this._filterText, parentElement as IListItemComponent);\n };\n }\n const config: IListDropdownConfig = {\n options: this._options,\n multiple: this._multiple,\n selectedValues: [...this._values],\n id: `forge-autocomplete-${this._identifier}`,\n asyncStyle: ListDropdownAsyncStyle.Skeleton,\n optionLimit: this._optionLimit,\n popupClasses: this._popupClasses,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n transform: label => {\n if (this._filterText) {\n // Highlight the filter text within the label\n const highlightElement = highlightTextHTML(label, this._filterText);\n if (highlightElement) {\n return highlightElement;\n }\n }\n return label;\n },\n allowBusy: true,\n optionBuilder: listOptionBuilder,\n syncWidth: this._syncPopupWidth,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n scrollEndListener: this._dropdownScrollEndListener,\n activeChangeCallback: this._activeChangeListener,\n targetWidthCallback: this._targetWidthCallback,\n selectCallback: (value: any) => this._onSelect(value),\n closeCallback: () => this._closeDropdown()\n };\n\n this._adapter.show(config, this._popupTarget);\n this._adapter.toggleHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.OPEN, this._isDropdownOpen);\n\n if (filter) {\n if (this._options.length) {\n this._adapter.setBusyVisibility(true);\n }\n try {\n await this._executeFilter(sendFilterText);\n } catch (e) {\n console.error(e);\n }\n this._updateSelectedOptions(this._values);\n }\n\n // If we have any pending filter promises, then we will let those complete and update the dropdown separately after\n if (this._pendingFilterPromises.length) {\n return;\n }\n\n this._dropdownReady({ userTriggered, activateFirst, activateSelected });\n }\n\n private _dropdownReady({ userTriggered = true, activateFirst = false, activateSelected = false } = {}): void {\n if (!this._isDropdownOpen || !this._options.length || (userTriggered && !this._adapter.hasFocus())) {\n this._closeDropdown();\n return;\n }\n\n this._sortSelectedOptions();\n this._adapter.setBusyVisibility(false);\n this._adapter.setOptions(this._options);\n this._adapter.setSelectedOptions(this._selectedOptions);\n this._adapter.setDismissListener(this._dismissListener);\n\n if (activateSelected && this._selectedOptions.length) {\n this._adapter.activateSelectedOption();\n } else if (activateFirst) {\n this._adapter.activateFirstOption();\n }\n }\n\n private _closeDropdown(): void {\n if (this._multiple) {\n this._filterText = '';\n }\n this._isDropdownOpen = false;\n this._adapter.hide(this._dismissListener);\n this._sortSelectedOptions();\n this._adapter.toggleHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.OPEN, this._isDropdownOpen);\n }\n\n private _sortSelectedOptions(): void {\n // When in multiple selection mode, we need to make sure that the selected options appear at the top of the list\n if (this._multiple && this._selectedOptions.length && isOptionType(this._options, OptionType.Option)) {\n const selectedOptions: IAutocompleteOption[] = [];\n const unselectedOptions: IAutocompleteOption[] = [];\n\n (this._options as IAutocompleteOption[]).forEach(option => {\n if (this._selectedOptions.find(o => optionEqualPredicate(o, option.value, this._matchKey))) {\n selectedOptions.push(option);\n } else {\n unselectedOptions.push(option);\n }\n });\n\n this._options = [...selectedOptions, ...unselectedOptions];\n }\n }\n\n /**\n * Handles selecting an item in the dropdown.\n * @param {string} selectedValue The string value to select.\n */\n private async _onSelect(selectedValue: string, keepFocus = true): Promise<void> {\n if (this._valueChanging) {\n return;\n }\n\n // If we are in stateless mode, then we need to just emit an event when selecting an option. The\n // selected values are not tracked in stateless mode\n if (this._mode === AutocompleteMode.Stateless) {\n const data: IAutocompleteSelectEventData = { value: selectedValue };\n const result = this._adapter.emitHostEvent(AUTOCOMPLETE_CONSTANTS.events.SELECT, data, true, true);\n if (result) {\n this._filterText = '';\n if (!this._multiple) {\n this._closeDropdown();\n }\n }\n return;\n }\n\n const select = (): void => {\n const flatOptions = this._flatOptions;\n const option = flatOptions.find(o => optionEqualPredicate(o, selectedValue, this._matchKey)) as IAutocompleteOption;\n const value = option ? option.value : '';\n const label = option ? option.label : '';\n\n if (this._multiple) {\n const optionIndex = flatOptions.findIndex(o => optionEqualPredicate(o, selectedValue, this._matchKey));\n if (optionIndex >= 0) {\n const selected = this._selectedOptions.some(o => optionEqualPredicate(o, selectedValue, this._matchKey));\n this._adapter.toggleOptionMultiple(optionIndex, selected);\n }\n const selectedOption = getSelectedOption(this._selectedOptions, value);\n if (selectedOption) {\n const index = this._selectedOptions.indexOf(selectedOption);\n this._selectedOptions.splice(index, 1);\n } else {\n this._selectedOptions.push(option);\n }\n } else {\n if (isDefined(value)) {\n this._selectedOptions[0] = option;\n this._filterText = label;\n } else {\n this._selectedOptions = [];\n this._filterText = '';\n }\n }\n\n // Update the dropdown selection status if its open\n if (this._isDropdownOpen) {\n this._adapter.setSelectedOptions(this._selectedOptions);\n }\n\n // Keep the values in sync with the currently selected options\n this._values = this._selectedOptions.map(o => o.value);\n\n // Update the selected text in the input\n this._adapter.setSelectedText(this._getSelectedText());\n\n // Select the text in the input to allow for the next filter\n if (!Platform.isMobile && keepFocus) {\n this._adapter.selectInputValue();\n }\n\n if (this._multiple) {\n // If we're in multiselect mode, we need to toggle the selected option\n const index = flatOptions.findIndex(o => optionEqualPredicate(o, selectedValue, this._matchKey));\n const isSelected = this._values.includes(selectedValue);\n this._adapter.toggleOptionMultiple(index, isSelected);\n }\n\n this._emitChangeEvent();\n this._tryUpdateDropdownPosition();\n };\n\n // We close the dropdown immediately if in single selection mode\n if (this._isDropdownOpen && !this._multiple) {\n this._closeDropdown();\n }\n\n if (typeof this._beforeValueChange === 'function') {\n this._valueChanging = Promise.resolve(this._beforeValueChange.call(null, selectedValue, this._matchKey));\n const shouldContinue = await this._valueChanging;\n if (shouldContinue) {\n select();\n } else {\n this._tryUpdateDropdownPosition();\n }\n this._valueChanging = undefined;\n } else {\n select();\n }\n }\n\n private _selectActiveOption(keepFocus = true): void {\n const activeOptionIndex = this._adapter.getActiveOptionIndex();\n if (typeof activeOptionIndex === 'number' && activeOptionIndex >= 0) {\n const option = this._flatOptions[activeOptionIndex];\n if (option) {\n this._onSelect(option.value, keepFocus);\n }\n }\n }\n\n private _emitChangeEvent(): void {\n this._adapter.emitHostEvent(AUTOCOMPLETE_CONSTANTS.events.CHANGE, this._getValue(), true);\n }\n\n private _tryUpdateDropdownPosition(): void {\n if (this._isDropdownOpen) {\n this._adapter.queueDropdownPositionUpdate();\n }\n }\n\n /**\n * Retrieves the current value(s) from the selected options array based on whether\n * we are in multi-select mode or not.\n */\n private _getValue(): string | string[] | null | undefined {\n if (!this._values) {\n return null;\n }\n\n if (!this._values.length) {\n return this._multiple ? [] : null;\n }\n\n return this._multiple ? [...this._values] : this._values[0];\n }\n\n /**\n * Creates the selected text value from the selected label values.\n */\n private _getSelectedText(): string {\n if (this._adapter.isWrappingChipField()) {\n return '';\n }\n\n if (this._selectedTextBuilder) {\n return this._selectedTextBuilder(this._selectedOptions);\n } else {\n if (this._multiple) {\n if (this._values.length) {\n if (this._values.length === 1) {\n return this._selectedOptions[0]?.label ?? '';\n } else {\n return `${this._values.length} options selected`;\n }\n } else {\n return '';\n }\n } else {\n return this._selectedOptions.filter(o => o && o.label).map(o => o.label).join(' ').trim();\n }\n }\n }\n\n /**\n * Handles the user dismissing the dropdown. This is only called if the blur event was triggered\n * from within the popup element itself (in a custom template most likely).\n * @param keepFocus Keep focus on the dropdown or not.\n */\n private _onDismiss(): void {\n this._closeDropdown();\n }\n\n private async _applyValue(value: string | string[] | IAutocompleteOption | IAutocompleteOption[] | null | undefined): Promise<void> {\n let values: any[] = [];\n this._selectedOptions = [];\n\n if (!Array.isArray(value)) {\n values = isDefined(value) ? [value] : [];\n } else {\n values = value;\n }\n\n // If this is not a multi-select, then make sure we only allow one selected value\n if (!this._multiple && values.length > 1) {\n values = [values[0]];\n }\n\n if (isOptionType(values, OptionType.Option)) {\n this._values = values.map((o: IAutocompleteOption) => o.value);\n this._selectedOptions = values as IAutocompleteOption[];\n } else {\n this._values = values as any[];\n }\n\n // Ensure that the values passed are actually existing options\n const allOptions = this._flatOptions;\n if (values.length && allOptions.length) {\n this._updateSelectedOptions(values);\n }\n\n // Execute the filter now if we have a value, but not options yet (only if it has been initialized already)\n if (this._values.length && !this._selectedOptions.length && !!this._filter && this._isInitialized) {\n try {\n await this._executeFilter(false, true);\n } catch (e) {\n console.error(e);\n }\n this._updateSelectedOptions(this._values);\n }\n\n // Update filter text to match the label when on in multiselect mode\n if (!this._multiple) {\n this._filterText = this._selectedOptions.length ? this._selectedOptions[0].label : '';\n } else {\n this._filterText = '';\n }\n\n // Update the state of the component based on the existence of a selected value\n if (this._isInitialized) {\n this._adapter.setSelectedText(this._getSelectedText());\n }\n\n // When the value is changed programmatically we should update the selected options\n if (this._isDropdownOpen) {\n this._adapter.setSelectedOptions(this._selectedOptions);\n }\n }\n\n private _updateSelectedOptions(values: Array<any | IAutocompleteOption>): void {\n const flatOptions = [...this._flatOptions, ...this._selectedOptions];\n\n if (this._selectedOptions.length) {\n this._selectedOptions = [];\n }\n\n if (isOptionType(values, OptionType.Option)) {\n for (const option of values as IAutocompleteOption[]) {\n const actualOption = flatOptions.find(o => optionEqualPredicate(o, option.value, this._matchKey));\n if (actualOption) {\n this._selectedOptions.push(actualOption);\n } else {\n this._selectedOptions.push(option);\n }\n }\n } else {\n for (const value of values as any[]) {\n const actualOption = flatOptions.find(o => optionEqualPredicate(o, value, this._matchKey));\n if (actualOption) {\n this._selectedOptions.push(actualOption);\n } else if (this._allowUnmatched) {\n this._selectedOptions.push({ label: value, value });\n }\n }\n }\n }\n\n /** Gets/sets the mode state. */\n public get mode(): AutocompleteMode {\n return this._mode;\n }\n public set mode(value: AutocompleteMode) {\n if (this._mode !== value) {\n this._mode = value;\n if (this._mode === AutocompleteMode.Stateless) {\n this._selectedOptions = [];\n if (this._isDropdownOpen) {\n this._closeDropdown();\n }\n }\n this._adapter.setHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.MODE, this._mode);\n }\n }\n\n /** Gets/sets the multi-select state. */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._adapter.setHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.MULTIPLE, isDefined(this._multiple) ? this._multiple.toString() : '');\n }\n }\n\n /** Gets/sets the value of the component. */\n public get value(): string | string[] | IAutocompleteOption | IAutocompleteOption[] | null | undefined {\n return this._getValue();\n }\n public set value(value: string | string[] | IAutocompleteOption | IAutocompleteOption[] | null | undefined) {\n let values: Array<string | IAutocompleteOption | IAutocompleteOption[] | string[]> = [];\n\n if (value == null) {\n values = [];\n } else if (Array.isArray(value)) {\n values = JSON.parse(JSON.stringify(value));\n } else if (isString(value)) {\n values = [value];\n } else {\n values = [JSON.parse(JSON.stringify(value))];\n }\n\n const hasNewValue = values.length !== this._values.length || values.some(v => !this._values.includes(v));\n if (!hasNewValue) {\n return;\n }\n\n // We only apply the new values if they have actually changed\n this._applyValue(value);\n }\n\n\n /** Gets/sets filter on focus settings which controls whether the dropdown displays automatically when focused. */\n public get filterOnFocus(): boolean {\n return this._filterOnFocus;\n }\n public set filterOnFocus(value: boolean) {\n if (this._filterOnFocus !== value) {\n this._filterOnFocus = value;\n this._adapter.setHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.FILTER_ON_FOCUS, isDefined(this._filterOnFocus) ? this._filterOnFocus.toString() : '');\n }\n }\n\n /** Controls whether unmatched text entered by the user will stay visible an option in the dropdown is not found. */\n public get allowUnmatched(): boolean {\n return this._allowUnmatched;\n }\n public set allowUnmatched(value: boolean) {\n if (this._allowUnmatched !== value) {\n this._allowUnmatched = value;\n\n if (isDefined(this._allowUnmatched)) {\n this._adapter.setHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.ALLOW_UNMATCHED, this._allowUnmatched.toString());\n }\n }\n }\n\n /** Gets/sets the property key to match the value to an option. */\n public get matchKey(): string | null | undefined {\n return this._matchKey;\n }\n public set matchKey(value: string | null | undefined) {\n if (this._matchKey !== value) {\n this._matchKey = value;\n }\n }\n\n /** Gets/sets the selector that will be used to find an element to attach the popup to. Defaults to the input element. */\n public get popupTarget(): string {\n return this._popupTarget;\n }\n public set popupTarget(value: string) {\n if (this._popupTarget !== value) {\n this._popupTarget = value;\n }\n }\n\n /**\n * Gets/sets the filter text.\n * \n * Setting the filter text only applies when allowUnmatched is enabled.\n */\n public get filterText(): string {\n return this._filterText;\n }\n public set filterText(value: string) {\n if (this._filterText !== value) {\n this._filterText = this._allowUnmatched ? value : '';\n\n if (this._isInitialized && this._allowUnmatched) {\n this._adapter.setInputValue(this._filterText);\n\n if (this._isDropdownOpen) {\n this._debounceFilter({ checkFocus: false });\n }\n }\n }\n }\n\n /** Gets/sets the list of classes to apply to the popup element. */\n public get popupClasses(): string | string[] {\n return Array.isArray(this._popupClasses) ? [...this._popupClasses] : [this._popupClasses];\n }\n public set popupClasses(value: string | string[]) {\n if (this._popupClasses !== value) {\n this._popupClasses = Array.isArray(value) ? [...value] : [value];\n }\n }\n\n /** Gets/sets the builder callback to use for the popup header. */\n public set popupHeaderBuilder(value: ListDropdownHeaderBuilder) {\n this._popupHeaderBuilder = value;\n }\n\n /** Gets/sets the builder callback to use for the popup footer. */\n public set popupFooterBuilder(value: ListDropdownFooterBuilder) {\n this._popupFooterBuilder = value;\n }\n\n /** Gets/sets whether the popup width is synchronized with the popup target. */\n public get syncPopupWidth(): boolean {\n return this._syncPopupWidth;\n }\n public set syncPopupWidth(value: boolean) {\n if (this._syncPopupWidth !== value) {\n this._syncPopupWidth = value;\n }\n }\n\n /** Gets/sets the maximum number of options to display in the dropdown. */\n public get optionLimit(): number {\n return this._optionLimit;\n }\n public set optionLimit(value: number) {\n if (this._optionLimit !== value) {\n this._optionLimit = value;\n }\n }\n\n /** Gets/sets the debounce delay (milliseconds) for keyboard events. */\n public get debounce(): number {\n return this._debounce;\n }\n public set debounce(value: number) {\n if (this._debounce !== value) {\n this._debounce = value;\n\n if (this._isInitialized) {\n this._setFilterCallback();\n }\n\n this._adapter.setHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.DEBOUNCE, isDefined(this._debounce) ? this._debounce.toString() : '');\n }\n }\n\n /** Sets the item builder callback that will be executed when building the option list in the dropdown. */\n public get optionBuilder(): AutocompleteOptionBuilder | null | undefined {\n return this._optionBuilder;\n }\n public set optionBuilder(fn: AutocompleteOptionBuilder | null | undefined) {\n this._optionBuilder = fn;\n }\n\n /** Sets the filter callback that will be executed when fetching options for the autocomplete dropdown. */\n public get filter(): AutocompleteFilterCallback | null | undefined {\n return this._filter;\n }\n public set filter(cb: AutocompleteFilterCallback | null | undefined) {\n if (this._filter !== cb) {\n this._filter = cb;\n\n // If we have a value, but don't have any options yet then execute the filter\n if (this._isInitialized && this._values.length && !this._flatOptions.length && !!this._filter) {\n this._executeFilter().then(() => {\n this._updateSelectedOptions(this._values);\n this._adapter.setSelectedText(this._getSelectedText());\n });\n }\n }\n }\n\n /** Sets the selected text builder callback that will be executed when getting the selected text. */\n public get selectedTextBuilder(): AutocompleteSelectedTextBuilder {\n return this._selectedTextBuilder;\n }\n public set selectedTextBuilder(fn: AutocompleteSelectedTextBuilder) {\n this._selectedTextBuilder = fn;\n\n // If there are selected options, set the selected text again\n if (this._selectedOptions.length) {\n this._adapter.setSelectedText(this._getSelectedText());\n }\n }\n\n public get observeScroll(): boolean {\n return this._observeScroll;\n }\n public set observeScroll(value: boolean) {\n this._observeScroll = value;\n }\n\n public get observeScrollThreshold(): number {\n return this._observeScrollThreshold;\n }\n public set observeScrollThreshold(value: number) {\n this._observeScrollThreshold = value;\n }\n\n public appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void {\n if (!this._isDropdownOpen) {\n return;\n }\n this._options = [...this._options, ...options] as IAutocompleteOption[] | IAutocompleteOptionGroup[];\n this._adapter.appendOptions(options);\n }\n\n public get isInitialized(): boolean {\n return this._isInitialized;\n }\n\n public get open(): boolean {\n return this._isDropdownOpen;\n }\n public set open(value: boolean) {\n if (this._isDropdownOpen !== value) {\n if (value) {\n this._showDropdown({ userTriggered: false });\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public get beforeValueChange(): (value: any) => boolean | Promise<boolean> {\n return this._beforeValueChange;\n }\n public set beforeValueChange(value: (value: any) => boolean | Promise<boolean>) {\n if (value !== this._beforeValueChange) {\n this._beforeValueChange = value;\n }\n }\n\n public get popupElement(): HTMLElement | null {\n return this._adapter.getPopupElement();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, ensureChild, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank } from '@tylertech/tyler-icons/standard';\nimport { DividerComponent } from '../divider';\nimport { IconComponent, IconRegistry } from '../icon';\nimport { LinearProgressComponent } from '../linear-progress';\nimport { ListComponent, ListItemComponent } from '../list';\nimport { IListDropdownAware, ListDropdownAware } from '../list-dropdown/list-dropdown-aware';\nimport { PopupComponent } from '../popup';\nimport { SkeletonComponent } from '../skeleton';\nimport { TextFieldComponent } from '../text-field';\nimport { AutocompleteAdapter } from './autocomplete-adapter';\nimport { AutocompleteFilterCallback, AutocompleteMode, AutocompleteOptionBuilder, AutocompleteSelectedTextBuilder, AUTOCOMPLETE_CONSTANTS, IAutocompleteOption, IAutocompleteOptionGroup, IAutocompleteSelectEventData } from './autocomplete-constants';\nimport { AutocompleteFoundation } from './autocomplete-foundation';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:block}:host([hidden]){display:none}';\n\nexport interface IAutocompleteComponent extends IListDropdownAware {\n mode: `${AutocompleteMode}`;\n multiple: boolean;\n value: any;\n debounce: number;\n filterOnFocus: boolean;\n allowUnmatched: boolean;\n matchKey: string | null | undefined;\n popupTarget: string;\n filterText: string;\n filter: AutocompleteFilterCallback | null | undefined;\n optionBuilder: AutocompleteOptionBuilder | null | undefined;\n selectedTextBuilder: AutocompleteSelectedTextBuilder;\n popupElement: HTMLElement | null;\n beforeValueChange: (value: any) => boolean | Promise<boolean>;\n isInitialized: boolean;\n open: boolean;\n appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;\n openDropdown(): void;\n closeDropdown(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-autocomplete': IAutocompleteComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-autocomplete-change': CustomEvent<any>;\n 'forge-autocomplete-select': CustomEvent<IAutocompleteSelectEventData>;\n 'forge-autocomplete-scrolled-bottom': CustomEvent<void>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-autocomplete>` element.\n * \n * @tag forge-autocomplete\n */\n@CustomElement({\n name: AUTOCOMPLETE_CONSTANTS.elementName,\n dependencies: [\n TextFieldComponent,\n PopupComponent,\n ListComponent,\n ListItemComponent,\n DividerComponent,\n SkeletonComponent,\n LinearProgressComponent,\n IconComponent\n ]\n})\nexport class AutocompleteComponent extends ListDropdownAware implements IAutocompleteComponent {\n public static get observedAttributes(): string[] {\n return [\n AUTOCOMPLETE_CONSTANTS.attributes.MODE,\n AUTOCOMPLETE_CONSTANTS.attributes.MULTIPLE,\n AUTOCOMPLETE_CONSTANTS.attributes.DEBOUNCE,\n AUTOCOMPLETE_CONSTANTS.attributes.FILTER_ON_FOCUS,\n AUTOCOMPLETE_CONSTANTS.attributes.ALLOW_UNMATCHED,\n AUTOCOMPLETE_CONSTANTS.attributes.POPUP_TARGET,\n AUTOCOMPLETE_CONSTANTS.attributes.POPUP_CLASSES,\n AUTOCOMPLETE_CONSTANTS.attributes.OBSERVE_SCROLL,\n AUTOCOMPLETE_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD,\n AUTOCOMPLETE_CONSTANTS.attributes.OPTION_LIMIT,\n AUTOCOMPLETE_CONSTANTS.attributes.SYNC_POPUP_WIDTH,\n AUTOCOMPLETE_CONSTANTS.attributes.OPEN,\n AUTOCOMPLETE_CONSTANTS.attributes.MATCH_KEY,\n AUTOCOMPLETE_CONSTANTS.attributes.FILTER_TEXT\n ];\n }\n\n private _foundation: AutocompleteFoundation;\n\n constructor() {\n super();\n IconRegistry.define([tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new AutocompleteFoundation(new AutocompleteAdapter(this));\n }\n\n public connectedCallback(): void {\n if (this.querySelector(AUTOCOMPLETE_CONSTANTS.selectors.INPUT)) {\n this._foundation.initialize();\n } else {\n ensureChild(this, AUTOCOMPLETE_CONSTANTS.selectors.INPUT).then(() => this._foundation.initialize());\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case AUTOCOMPLETE_CONSTANTS.attributes.MODE:\n this.mode = newValue as AutocompleteMode;\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.DEBOUNCE:\n this.debounce = coerceNumber(newValue);\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.FILTER_ON_FOCUS:\n this.filterOnFocus = coerceBoolean(newValue);\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.ALLOW_UNMATCHED:\n this.allowUnmatched = coerceBoolean(newValue);\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.POPUP_TARGET:\n this.popupTarget = newValue;\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.MATCH_KEY:\n this.matchKey = newValue;\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.FILTER_TEXT:\n this.filterText = newValue;\n break;\n }\n }\n\n /** Gets/sets the interaction mode. */\n @FoundationProperty()\n public declare mode: `${AutocompleteMode}`;\n\n /** Gets/sets the multi-select state. */\n @FoundationProperty()\n public declare multiple: boolean;\n\n /** Gets/sets the value. */\n @FoundationProperty()\n public declare value: any;\n\n /** Gets/sets the debounce delay (milliseconds) for keyboard events. */\n @FoundationProperty()\n public declare debounce: number;\n\n /** Gets/sets filter on focus settings which controls whether the dropdown displays automatically when focused. */\n @FoundationProperty()\n public declare filterOnFocus: boolean;\n\n /** Controls whether unmatched text entered by the user will stay visible an option in the dropdown is not found. */\n @FoundationProperty()\n public declare allowUnmatched: boolean;\n\n /** Gets/sets the selector that will be used to find an element to attach the popup to. Defaults to the input element. */\n @FoundationProperty()\n public declare popupTarget: string;\n\n /**\n * Gets/sets the filter text.\n * \n * Setting the filter text only applies when allowUnmatched is enabled.\n */\n @FoundationProperty()\n public declare filterText: string;\n\n /** Sets the option builder callback that will be executed when building the option list in the dropdown. */\n @FoundationProperty()\n public declare optionBuilder: AutocompleteOptionBuilder | null | undefined;\n\n /** Sets the filter callback that will be executed when fetching options for the autocomplete dropdown. */\n @FoundationProperty()\n public declare filter: AutocompleteFilterCallback | null | undefined;\n\n /** Sets the selected text builder callback that will be executed when getting the selected text. */\n @FoundationProperty()\n public declare selectedTextBuilder: AutocompleteSelectedTextBuilder;\n\n /** Controls the open state of the dropdown. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Gets/sets the property key to match the value to an option. */\n @FoundationProperty()\n public declare matchKey: string | null | undefined;\n\n /** Returns whether the component has been initialized or not yet. */\n @FoundationProperty({ set: false })\n public declare isInitialized: boolean;\n\n /** Gets the currently active popup element when the dropdown is open. */\n @FoundationProperty({ set: false })\n public declare popupElement: HTMLElement | null;\n\n /** Sets the callback to be executed when the user selects an option, before the UI is updated to allow for validation. */\n @FoundationProperty()\n public declare beforeValueChange: (value: any) => boolean | Promise<boolean>;\n\n /** Adds options to the dropdown while it is open. Has no effect if the dropdown is closed. */\n public appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void {\n this._foundation.appendOptions(options);\n }\n\n /** Opens the dropdown. */\n public openDropdown(): void {\n this.open = true;\n }\n\n /** Closes the dropdown. */\n public closeDropdown(): void {\n this.open = false;\n }\n}\n", "import { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core/delegates/form-field-component-delegate';\nimport { ITextFieldComponent, TextFieldComponentDelegate, ITextFieldComponentDelegateOptions } from '../text-field';\nimport { IAutocompleteComponent } from './autocomplete';\nimport { AUTOCOMPLETE_CONSTANTS } from './autocomplete-constants';\nimport { IconComponentDelegate, IIconComponentDelegateConfig } from '../icon';\nimport { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { ITextFieldComponentDelegateConfig } from '../text-field/text-field-component-delegate';\n\nexport type AutocompleteComponentDelegateProps = Partial<IAutocompleteComponent>;\nexport interface IAutocompleteComponentDelegateOptions extends IFormFieldComponentDelegateOptions {\n useDropdownIcon?: boolean;\n textFieldDelegateConfig?: ITextFieldComponentDelegateConfig;\n}\n\nexport interface IAutocompleteComponentDelegateConfig extends IBaseComponentDelegateConfig<IAutocompleteComponent, IAutocompleteComponentDelegateOptions> {}\n\nexport class AutocompleteComponentDelegate extends FormFieldComponentDelegate<IAutocompleteComponent, IAutocompleteComponentDelegateOptions> {\n private _textFieldDelegate: TextFieldComponentDelegate;\n\n constructor(config?: IAutocompleteComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IAutocompleteComponent {\n const autocomplete = document.createElement(AUTOCOMPLETE_CONSTANTS.elementName) as IAutocompleteComponent;\n this._attachTextField(autocomplete);\n return autocomplete;\n }\n\n public get textFieldDelegate(): TextFieldComponentDelegate {\n return this._textFieldDelegate;\n }\n\n public get value(): any {\n return this._element.value;\n }\n public set value(value: any) {\n this._element.value = value;\n }\n\n public get disabled(): boolean {\n return this._textFieldDelegate.inputElement.disabled;\n }\n public set disabled(value: boolean) {\n this._textFieldDelegate.inputElement.disabled = value;\n }\n\n public get invalid(): boolean {\n return this._textFieldDelegate.invalid || false;\n }\n public set invalid(value: boolean) {\n this._textFieldDelegate.invalid = value;\n }\n\n public onChange(listener: (value: string) => void): void {\n this._element.addEventListener(AUTOCOMPLETE_CONSTANTS.events.CHANGE, (evt: CustomEvent) => listener(evt.detail));\n }\n\n public onFocus(listener: (evt: FocusEvent) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('focus', (evt: FocusEvent) => listener(evt));\n }\n\n public onBlur(listener: (evt: FocusEvent) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('blur', (evt: FocusEvent) => listener(evt));\n }\n\n private _attachTextField(autocomplete: IAutocompleteComponent): void {\n const textFieldConfig: ITextFieldComponentDelegateConfig = {\n props: { ...this._config.options?.textFieldDelegateConfig?.props },\n options: { ...this._config.options?.textFieldDelegateConfig?.options }\n };\n\n if (!textFieldConfig.options) {\n textFieldConfig.options = {};\n }\n\n if (this._config.options?.useDropdownIcon !== false && !textFieldConfig.options?.trailingElement) {\n textFieldConfig.options.trailingElement = this._createDropdownIconElement();\n }\n\n this._textFieldDelegate = new TextFieldComponentDelegate(textFieldConfig);\n autocomplete.appendChild(this._textFieldDelegate.element);\n }\n\n private _createDropdownIconElement(): HTMLElement {\n const config: IIconComponentDelegateConfig = {\n props: {\n slot: 'trailing',\n name: 'arrow_drop_down'\n },\n options: {\n attributes: { 'forge-dropdown-icon': '' }\n }\n };\n return new IconComponentDelegate(config).element;\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AutocompleteComponent } from './autocomplete';\n\nexport * from './autocomplete-adapter';\nexport * from './autocomplete-component-delegate';\nexport * from './autocomplete-constants';\nexport * from './autocomplete-foundation';\nexport * from './autocomplete-utils';\nexport * from './autocomplete';\n\nexport function defineAutocompleteComponent(): void {\n defineCustomElement(AutocompleteComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "FIELD_CONSTANTS", "numbers", "events", "AUTOCOMPLETE_CONSTANTS", "AutocompleteMode", "AutocompleteAdapter", "BaseAdapter", "component", "inputElements", "deepQuerySelectorAll", "AUTOCOMPLETE_CONSTANTS", "name", "value", "type", "listener", "identifier", "CHIP_FIELD_CONSTANTS", "config", "popupTarget", "ListDropdown", "targetElement", "POPUP_CONSTANTS", "isVisible", "_a", "index", "selected", "dropdownElement", "options", "target", "activeElement", "getActiveElement", "dropdownIcon", "clearButton", "key", "id", "toggleAttribute", "selector", "_b", "values", "o", "dropdownEl", "textField", "textFieldRoot", "getShadowElement", "TEXT_FIELD_CONSTANTS", "chipField", "chipFieldRoot", "state", "OptionType", "isOptionType", "options", "type", "isOptionGroups", "o", "isDefined", "isObject", "isOptionTypes", "getSelectedOption", "value", "optionEqualPredicate", "option", "property", "isDeepEqual", "AutocompleteFoundation", "ListDropdownAwareFoundation", "_adapter", "AUTOCOMPLETE_CONSTANTS", "evt", "id", "randomChars", "isDefined", "debounce", "isOptionType", "previousValue", "currentValue", "Platform", "checkFocus", "filterText", "filterPromise", "e", "promiseIndex", "input", "value", "isRemovingAllChars", "isBackspacingLastChar", "isDeletingLastChar", "isEmpty", "sendFilterText", "sendValue", "filter", "resolve", "reject", "options", "userTriggered", "activateFirst", "activateSelected", "listOptionBuilder", "optionBuilder", "option", "parentElement", "config", "label", "highlightElement", "highlightTextHTML", "selectedOptions", "unselectedOptions", "o", "optionEqualPredicate", "selectedValue", "keepFocus", "data", "select", "flatOptions", "optionIndex", "selected", "selectedOption", "getSelectedOption", "index", "isSelected", "activeOptionIndex", "_a", "_b", "values", "allOptions", "actualOption", "isString", "v", "fn", "cb", "template", "styles", "AutocompleteComponent", "ListDropdownAware", "IconRegistry", "tylIconArrowDropDown", "tylIconCheckBox", "tylIconCheckBoxOutlineBlank", "attachShadowTemplate", "AutocompleteFoundation", "AutocompleteAdapter", "AUTOCOMPLETE_CONSTANTS", "ensureChild", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "options", "__decorateClass", "FoundationProperty", "CustomElement", "TextFieldComponent", "PopupComponent", "ListComponent", "ListItemComponent", "DividerComponent", "SkeletonComponent", "LinearProgressComponent", "IconComponent", "AutocompleteComponentDelegate", "FormFieldComponentDelegate", "config", "autocomplete", "AUTOCOMPLETE_CONSTANTS", "value", "listener", "evt", "_a", "_b", "_c", "_d", "_e", "_f", "textFieldConfig", "__spreadValues", "TextFieldComponentDelegate", "IconComponentDelegate", "defineAutocompleteComponent", "defineCustomElement", "AutocompleteComponent"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as v}from"./chunk.O4FB4BV5.js";import{a as S}from"./chunk.6YPD6CQM.js";import{a as h}from"./chunk.4DAIIJ37.js";import{a as A}from"./chunk.V7WKXEZC.js";import{a as M}from"./chunk.G45OZEIS.js";import{b as y}from"./chunk.BE7PZANN.js";import{f as L,v as C,w as b}from"./chunk.PN26D52V.js";import{i as I}from"./chunk.J2M2MXP2.js";import{a as O,b as N}from"./chunk.MCIQXNKY.js";var c=`${y}calendar`,Y={ALLOW_SINGLE_DATE_RANGE:"allow-single-date-range",CLEAR_BUTTON:"clear-button",CONSTRAIN_TO_ENABLED:"constrain-to-enabled",FIRST_DAY_OF_WEEK:"first-day-of-week",FIXED_HEIGHT:"static-height",LIST_YEARS:"list-years",LOCALE:"locale",MAX:"max",MENU_ANIMATION:"menu-animation",MIN:"min",MODE:"mode",MONTH:"month",PREVENT_FOCUS:"prevent-focus",READONLY:"readonly",SELECTION_FOLLOWS_MONTH:"selection-follows-month",SHOW_HEADER:"show-header",SHOW_OTHER_MONTHS:"show-other-months",SHOW_TODAY:"show-today",TODAY_BUTTON:"today-button",VIEW:"view",YEAR:"year",YEAR_RANGE:"year-range"},W=N(O({},Y),{DATA_DATE:"data-date",DATA_EVENT_THEME:"data-event-theme",POPUP_CONTEXT:"forge-popup-context"}),E={ALLOW_SINGLE_DATE_RANGE:"forge-calendar--allow-single-date-range",DATE:"forge-calendar__date",DATE_GRID:"forge-calendar__date-grid",DATE_INNER:"forge-calendar__date__inner",DATE_OTHER_MONTH:"forge-calendar__date--other-month",DATE_SPACER:"forge-calendar__date-spacer",DATE_SELECTED:"forge-calendar__date--selected",DATE_TODAY:"forge-calendar__date--today",DATE_VIEW:"forge-calendar__date-view",DATE_VIEW_ROW:"forge-calendar__date-view__row",DATE_WRAPPER:"forge-calendar__date-wrapper",DAY:"forge-calendar__day",EVENT:"forge-calendar__event",EVENT_OVERFLOW:"forge-calendar__event--overflow",EVENT_WRAPPER:"forge-calendar__event__wrapper",FIXED_HEIGHT:"forge-calendar--fixed-height",FOOTER:"forge-calendar__footer",HEADER:"forge-calendar__header",MDC_RIPPLE_UPGRADED_FOCUSED:"mdc-ripple-upgraded--background-focused",MONTH_MENU_OPEN:"forge-calendar--month-menu-open",PREVENT_FOCUS:"forge-calendar--prevent-focus",RANGE:"forge-calendar__range",RANGE_END:"forge-calendar__range--end",RANGE_START:"forge-calendar__range--start",RANGE_TARGET:"forge-calendar__range__target",READONLY:"forge-calendar--readonly",RTL:"forge-calendar--rtl",SHOW_OTHER_MONTHS:"forge-calendar--show-other-months",SHOW_TODAY:"forge-calendar--show-today",VIEW:"forge-calendar__view",YEAR_MENU_OPEN:"forge-calendar--year-menu-open"},d={ACCESSIBLE_HEADER:"accessible-header",ACCESSIBLE_MONTH:"accessible-month",ACCESSIBLE_YEAR:"accessible-year",CLEAR_BUTTON:"clear-button",DATE_GRID:"date-grid",DATE_VIEW:"date-view",DAY_ROW:"day-row",FOOTER:"footer",HEADER:"header",MENU:"menu",MONTH_BUTTON:"month-button",NEXT_BUTTON:"next-button",NEXT_BUTTON_TOOLTIP:"next-button-tooltip",PREVIOUS_BUTTON:"previous-button",PREVIOUS_BUTTON_TOOLTIP:"previous-button-tooltip",TODAY_BUTTON:"today-button",YEAR_BUTTON:"year-button"},V={SUNDAY:"sunday",MONDAY:"monday",TUESDAY:"tuesday",WEDNESDAY:"wednesday",THURSDAY:"thursday",FRIDAY:"friday",SATURDAY:"saturday"},G=N(O({},V),{CLEAR_BUTTON:"clear-button",DATE:"date",DATE_OTHER_MONTH:"date-other-month",DATE_VIEW:"date-view",DATE_WRAPPER:"date-wrapper",DAY:"day",EVENT:"event",EVENT_WRAPPER:"event-wrapper",FOOTER:"footer",HEADER:"header",MONTH_BUTTON:"month-button",MONTH_BUTTON_ELEMENT:"month-button-element",NEXT_BUTTON:"next-button",PREVIOUS_BUTTON:"previous-button",RANGE:"range",RANGE_END:"range-end",RANGE_START:"range-start",TODAY:"today",TODAY_BUTTON:"today-button",WEEKEND:"weekend",YEAR_BUTTON:"year-button",YEAR_BUTTON_ELEMENT:"year-button-element"}),$={ACCESSIBLE_HEADER:`#${d.ACCESSIBLE_HEADER}`,ACCESSIBLE_MONTH:`#${d.ACCESSIBLE_MONTH}`,ACCESSIBLE_YEAR:`#${d.ACCESSIBLE_YEAR}`,CALENDAR:".forge-calendar",CLEAR_BUTTON:`#${d.CLEAR_BUTTON}`,DATE:`.${E.DATE}`,DATE_GRID:`#${d.DATE_GRID}`,DATE_INNER:`.${E.DATE_INNER}`,DATE_OTHER_MONTH:`.${E.DATE_OTHER_MONTH}`,DATE_SPACER:`.${E.DATE_SPACER}`,DATE_SELECTED:`.${E.DATE_SELECTED}`,DATE_TODAY:`.${E.DATE_TODAY}`,DATE_VIEW:`#${d.DATE_VIEW}`,DATE_WRAPPER:`.${E.DATE_WRAPPER}`,DAY_ROW:`#${d.DAY_ROW}`,EVENT_WRAPPER:`.${E.EVENT_WRAPPER}`,FOOTER:`#${d.FOOTER}`,HEADER:`#${d.HEADER}`,MENU:v.elementName,MONTH_BUTTON:`#${d.MONTH_BUTTON}`,NEXT_BUTTON:`#${d.NEXT_BUTTON}`,NEXT_BUTTON_TOOLTIP:`#${d.NEXT_BUTTON_TOOLTIP}`,PREVIOUS_BUTTON:`#${d.PREVIOUS_BUTTON}`,PREVIOUS_BUTTON_TOOLTIP:`#${d.PREVIOUS_BUTTON_TOOLTIP}`,RANGE:`.${E.RANGE}`,RANGE_END:`.${E.RANGE_END}`,RANGE_START:`.${E.RANGE_START}`,TODAY_BUTTON:`#${d.TODAY_BUTTON}`,TOOLTIP:M.elementName,VIEW:"#view",YEAR_BUTTON:`#${d.YEAR_BUTTON}`},k={DATE_SELECT:`${c}-date-select`,FOCUS_CHANGE:`${c}-focus-change`,MONTH_CHANGE:`${c}-month-change`,VIEW_CHANGE:`${c}-view-change`},F={DEFAULT_MAX_YEAR_OFFSET:50,DEFAULT_MIN_YEAR_OFFSET:50,FINAL_WEEK_BEGIN_INDEX:35,MONTH_LENGTH:42,PENULTIMATE_WEEK_BEGIN_INDEX:28,WEEK_LENGTH:7,YEARS_IN_VIEW:20},a={elementName:c,attributes:W,classes:E,ids:d,parts:G,selectors:$,events:k,numbers:F},f=(o=>(o[o.Sunday=0]="Sunday",o[o.Monday=1]="Monday",o[o.Tuesday=2]="Tuesday",o[o.Wednesday=3]="Wednesday",o[o.Thursday=4]="Thursday",o[o.Friday=5]="Friday",o[o.Saturday=6]="Saturday",o))(f||{}),z=(r=>(r[r.First=1]="First",r[r.Last=2]="Last",r[r.Current=3]="Current",r))(z||{});function R(t,n,e){return e||(e=navigator.language),new Date(2017,0,t+1).toLocaleString(e,{weekday:n})}function H(t,n,e){return e||(e=navigator.language),new Date(1970,0,t).toLocaleDateString(e,{day:n})}function P(t,n,e){return e||(e=navigator.language),new Date(1970,t,1).toLocaleString(e,{month:n})}function B(t,n,e){return e||(e=navigator.language),new Date(t,0,1).toLocaleDateString(e,{year:n})}function ne(t){t||(t=navigator.language);let n=t.match(/^([a-z]{2,3})(?:-([a-z]{3})(?=$|-))?(?:-([a-z]{4})(?=$|-))?(?:-([a-z]{2}|\d{3})(?=$|-))?/i);if(!n||!n.length)return 1;let e=n[1],r=n[4],i="AEAFBHDJDZEGIQIRJOKWLYOMQASDSY".match(/../g),s="AGARASAUBDBRBSBTBWBZCACNCODMDOETGTGUHKHNIDILINJMJPKEKHKRLAMHMMMOMTMXMZNINPPAPEPHPKPRPTPYSASGSVTHTTTWUMUSVEVIWSYEZAZW".match(/../g),l=["ar","arq","arz","fa"],o="amasbndzengnguhehiidjajvkmknkolomhmlmrmtmyneomorpapssdsmsnsutatethtnurzhzu".match(/../g);return r?s&&s.includes(r)?0:i&&i.includes(r)?6:1:o&&o.includes(e)?0:l&&l.includes(e)?6:1}function ae(t){switch(t||(t=navigator.language),t.split("-")[1]){case"DZ":case"BH":case"BD":case"EG":case"IQ":case"IL":case"JO":case"KW":case"LY":case"MV":case"MR":case"NP":case"OM":case"QA":case"SA":case"SD":case"SY":case"AE":case"YE":case"AF":case"IR":return[4,5];case"BN":return[0,5];default:return[0,6]}}function re(t){return t||(t=navigator.language),["ar","arc","ckb","dv","fa","ha","he","khw","ks","ps","sd","ur","uz-AF","yi"].some(e=>t?t.startsWith(e):!1)}function X(t){return`d${t}`}function _(t){let n=String(t.getMonth()).padStart(2,"0"),e=String(t.getDate()).padStart(2,"0"),r=t.getFullYear();return["d",r,n,e].join("")}function K(t){let n=String(t.getMonth()).padStart(2,"0"),e=String(t.getDate()).padStart(2,"0"),r=t.getFullYear();return["e",r,n,e].join("")}function ue(t,n){let e=document.createElement("div");return e.classList.add(a.classes.DAY),e.id=X(t),e.setAttribute("role","columnheader"),e.setAttribute("aria-label",R(t,"long",n)),e.setAttribute("part",a.parts.DAY),e.textContent=R(t,"short",n),e}function Te(t,n,e){var i;let r=document.createElement("div");return r.classList.add(a.classes.DATE_VIEW_ROW),r.setAttribute("role","row"),n>0&&!((i=t[0])!=null&&i.thisMonth)?(t.forEach(s=>r.appendChild(U(s.date))),r.setAttribute("aria-hidden","true")):t.forEach(s=>{let l=s.thisMonth||(e==null?void 0:e.showOtherMonths)?Z(s,e==null?void 0:e.locale):U(s.date);(s.thisMonth||(e==null?void 0:e.showOtherMonths))&&(e==null?void 0:e.builder)&&(l=e.builder(s,l)),r.appendChild(l)}),r}function Z(t,n){let e=document.createElement("div"),r=document.createElement("div"),i=document.createElement("div"),s=document.createElement("div"),l=t.date.getDay();e.id=_(t.date),e.tabIndex=-1,e.classList.add(a.classes.DATE),e.classList.toggle(a.classes.DATE_TODAY,t.today),e.classList.toggle(a.classes.DATE_SELECTED,t.selected),e.classList.toggle(a.classes.DATE_OTHER_MONTH,!t.thisMonth),e.setAttribute("role","gridcell"),e.setAttribute("aria-disabled",t.disabled.toString()),e.setAttribute("aria-label",`${t.today?"Today, ":""}${t.date.toLocaleDateString(n!=null?n:navigator.language,{weekday:"long",month:"long",day:"numeric",year:"numeric"})}`),e.setAttribute("aria-selected",t.selected.toString()),e.setAttribute(a.attributes.DATA_DATE,t.date.toDateString()),e.toggleAttribute("disabled",t.disabled),e.setAttribute("part",a.parts.DATE_WRAPPER);let o="";switch(l){case 0:o=a.parts.SUNDAY;break;case 1:o=a.parts.MONDAY;break;case 2:o=a.parts.TUESDAY;break;case 3:o=a.parts.WEDNESDAY;break;case 4:o=a.parts.THURSDAY;break;case 5:o=a.parts.FRIDAY;break;case 6:o=a.parts.SATURDAY;break}return b(i,"part",o),b(i,"part",a.parts.DATE),C(i,"part",a.parts.TODAY,t.today),C(i,"part",a.parts.DATE_OTHER_MONTH,!t.thisMonth),r.classList.add(a.classes.RANGE_TARGET),e.appendChild(r),i.textContent=H(t.date.getDate(),"numeric",n),i.classList.add(a.classes.DATE_INNER),e.appendChild(i),s.classList.add("mdc-ripple-surface"),e.appendChild(s),e}function U(t){let n=document.createElement("span");return n.classList.add(a.classes.DATE_SPACER),n.id=_(t),n}function pe(t){let n=document.createElement("div");return n.classList.add(a.classes.EVENT_WRAPPER),n.id=K(t),n.setAttribute("part",a.parts.EVENT_WRAPPER),n}function me(t,n){let e=document.createElement("forge-icon");if(e.classList.add(a.classes.EVENT),e.setAttribute("part",a.parts.EVENT),n)e.classList.add(a.classes.EVENT_OVERFLOW),e.name="add";else{let r='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"></path><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z" stroke="var(--forge-calendar-event-stroke-color)" stroke-width="4px" paint-order="stroke"></path></svg>';e.src=r,e.setAttribute(a.attributes.DATA_EVENT_THEME,t.color)}return e}function Ae(t){let n=document.createElement("forge-tooltip");return n.text=t,n.setAttribute("aria-hidden","true"),n}function _e(){let t=document.createElement("div");t.classList.add(a.classes.HEADER),t.id=a.ids.HEADER,t.setAttribute("part",a.parts.HEADER);let n=document.createElement("forge-icon-button"),e=document.createElement("button"),r=document.createElement("forge-icon"),i=document.createElement("forge-tooltip");n.setAttribute("part",a.parts.PREVIOUS_BUTTON),e.id=a.ids.PREVIOUS_BUTTON,e.type="button",e.setAttribute("aria-label","Previous"),r.setAttribute("name","keyboard_arrow_left"),i.id=a.ids.PREVIOUS_BUTTON_TOOLTIP,i.setAttribute("aria-hidden","true"),i.innerText="Previous",n.appendChild(e),n.appendChild(i),e.appendChild(r);let s=document.createElement("forge-icon-button"),l=document.createElement("button"),o=document.createElement("forge-icon"),u=document.createElement("forge-tooltip");s.setAttribute("part",a.parts.NEXT_BUTTON),l.id=a.ids.NEXT_BUTTON,l.type="button",l.setAttribute("aria-label","Next"),o.setAttribute("name","keyboard_arrow_right"),u.id=a.ids.NEXT_BUTTON_TOOLTIP,u.setAttribute("aria-hidden","true"),u.innerText="Next",s.appendChild(l),s.appendChild(u),l.appendChild(o);let g=document.createElement("forge-button"),T=document.createElement("button");g.setAttribute("part",a.parts.MONTH_BUTTON),T.id=a.ids.MONTH_BUTTON,T.type="button",T.setAttribute("aria-pressed","false"),g.appendChild(T);let D=document.createElement("forge-button"),p=document.createElement("button");D.setAttribute("part",a.parts.YEAR_BUTTON),p.id=a.ids.YEAR_BUTTON,p.type="button",p.setAttribute("aria-pressed","false"),D.appendChild(p);let m=document.createElement("div");return m.setAttribute("aria-live","polite"),m.appendChild(g),m.appendChild(D),t.appendChild(n),t.appendChild(m),t.appendChild(s),t}function ge(t,n){let e=document.createElement("span"),r=document.createElement("forge-icon");return e.innerHTML=P(t,"long",n),r.setAttribute("name","arrow_drop_down"),[e,r]}function De(t,n){let e=document.createElement("span"),r=document.createElement("forge-icon");return e.innerHTML=B(t,"numeric",n),r.setAttribute("name","arrow_drop_down"),[e,r]}function Oe(){let t=document.createElement("div");t.id=a.ids.ACCESSIBLE_HEADER,t.setAttribute("aria-live","polite");let n=document.createElement("span");n.id=a.ids.ACCESSIBLE_MONTH;let e=document.createElement("span");return e.id=a.ids.ACCESSIBLE_YEAR,t.appendChild(n),t.appendChild(e),t}function Ne(){let t=document.createElement("div");return t.id=a.ids.FOOTER,t.classList.add(a.classes.FOOTER),t.setAttribute("part",a.parts.FOOTER),t}function Ce(){let t=document.createElement("forge-button"),n=document.createElement("button");return t.id=a.ids.CLEAR_BUTTON,t.setAttribute("part",a.parts.CLEAR_BUTTON),n.type="button",n.innerText="Clear",t.appendChild(n),t}function be(){let t=document.createElement("forge-button"),n=document.createElement("button");return t.id=a.ids.TODAY_BUTTON,t.setAttribute("part",a.parts.TODAY_BUTTON),n.type="button",n.innerText="Today",t.appendChild(n),t}function he(t,n){let e=h(t).find(r=>r.classList&&r.classList.contains(a.classes.DATE));return!e||!n&&e.hasAttribute("disabled")?null:e}function fe(t,n){let e=h(t).find(r=>r.id===n);return e!=null?e:null}function Re(t,n,e,r){t.tabIndex=r?-1:n,t.classList.toggle(a.classes.MDC_RIPPLE_UPGRADED_FOCUSED,r&&n>-1),n>-1&&e&&!r?t.focus():t.blur()}var j={POPUP:"forge-calendar-dropdown__popup"},x={classes:j};var w=class{constructor(n,e){this._popupClasses=[];this.targetElement=n,this.id=e}get isOpen(){var n,e;return(e=(n=this.dropdownElement)==null?void 0:n.open)!=null?e:!1}get popupClasses(){return this._popupClasses}set popupClasses(n){this._popupClasses=n?I(n)?[...n]:[n]:[]}close(){!this.dropdownElement||(this.dropdownElement.open=!1,this.dropdownElement=void 0,this.calendar=void 0)}destroy(){this.close()}open(n){this.calendar=this._createCalendar(n),this._announcerElement=S(),this._announcerElement.id=`${this.id}-activedescendant`,this.dropdownElement=this._createDropdown(),this.dropdownElement.appendChild(this.calendar),this.dropdownElement.appendChild(this._announcerElement),this.dropdownElement.static=!0,this.calendar.addEventListener(a.events.FOCUS_CHANGE,e=>{var i;let r=`${this.id}-activedescendent-`;switch(e.detail.type){case"date":r+=_(e.detail.value);break;case"month":r+=`month-${e.detail.value.toString()}`;break;case"year":r+=`year-${e.detail.value.toString()}`;break}(i=this.activeChangeCallback)==null||i.call(this,r),this._announcerElement&&(this._announcerElement.id=r,this._announcerElement.setAttribute("aria-selected",e.detail.selected.toString()),this._announcerElement.textContent=e.detail.text)}),this.dropdownElement.open=!0,window.requestAnimationFrame(()=>{setTimeout(()=>{this.dropdownElement&&this.dropdownElement.open&&this.calendar&&this.calendar.isConnected&&this.calendar.layout()},A.numbers.ANIMATION_DURATION)})}propagateKeyboardEvent(n){var e;(e=this.calendar)==null||e.handleKey(n)}_createCalendar(n){let e=document.createElement(a.elementName);return Object.assign(e,n),e}_createDropdown(){let n=document.createElement(A.elementName);return n.targetElement=this.targetElement,n.placement="bottom-start",n.animationType="menu",n.classList.add(x.classes.POPUP),n.id=this.id,L(this._popupClasses,n),n.addEventListener(A.events.CLOSE,()=>{this.closeCallback&&this.closeCallback()}),n}};export{a,f as b,z as c,R as d,H as e,P as f,B as g,ne as h,ae as i,re as j,X as k,_ as l,K as m,ue as n,Te as o,Z as p,U as q,pe as r,me as s,Ae as t,_e as u,ge as v,De as w,Oe as x,Ne as y,Ce as z,be as A,he as B,fe as C,Re as D,x as E,w as F};
7
- //# sourceMappingURL=chunk.DT7MZR5Y.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{e}from"./chunk.C7AN6FMW.js";import{a as o}from"./chunk.Y4GKBJGI.js";function t(){o(e)}export{t as a};
7
- //# sourceMappingURL=chunk.DYNEJBYK.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as q,b as x,c as v,d as X}from"./chunk.DONAMICM.js";import{c as re,f as ce}from"./chunk.G3ZTZ4AN.js";import{a as M,d as ne}from"./chunk.LDN4HLF7.js";import{a as H}from"./chunk.4DAIIJ37.js";import{b as te}from"./chunk.MZLPUI6R.js";import{a as ae}from"./chunk.G45OZEIS.js";import{a as ie,d as oe,l as se}from"./chunk.JHBCYICS.js";import{a as Y}from"./chunk.ARJ3EVVO.js";import{a as le}from"./chunk.47A2CN5U.js";import{a as U}from"./chunk.G5MGGEFP.js";import{a as b}from"./chunk.KTGSZEAG.js";import{a as J,b as ee}from"./chunk.BE7PZANN.js";import{a as j,l as Q}from"./chunk.Y4GKBJGI.js";import{d as R,e as F,f as p,g as D,i as W,j as K,t as $}from"./chunk.PN26D52V.js";import{b as L,c as G,d as I,h as y,j as g,k as h,l as V,o as Z}from"./chunk.J2M2MXP2.js";import{a as C,f as _}from"./chunk.MCIQXNKY.js";var w=class{constructor(e){this._key=e,this._items=[]}getItems(){return[...this._items]}count(){return this._items.length}setKey(e){this._key=e}add(e){return e instanceof Array||(e=[e]),e.forEach(t=>{this.exists(t)||this._items.push(t)}),this}remove(e){e instanceof Array||(e=[e]);for(let t=e.length-1;t>=0;t--)this.exists(e[t])&&this._items.splice(this._items.indexOf(this._getItem(e[t])),1);return this}clear(){return this._items=[],this}exists(e){return this._getItem(e)!==null}_getItem(e){return this._key?x(this._items,v(this._key,e))||null:this._items.find(t=>t===e)||null}};var S=`${ee}table`,de={TABLE:"forge-table",TABLE_DENSE:"forge-table--dense",TABLE_ROOMY:"forge-table--roomy",TABLE_RESIZABLE:"forge-table--resizable",TABLE_RESIZING:"forge-table--resizing",TABLE_RESIZE_HANDLE:"forge-table__resize-handle",TABLE_NO_WRAP_CONTENT:"forge-table--no-wrap-content",TABLE_LAYOUT_FIXED:"forge-table--layout-fixed",TABLE_FILTER_VISIBLE:"forge-table--filter-visible",TABLE_FIXED:"forge-table--fixed",TABLE_HEAD:"forge-table-head",TABLE_HEAD_ROW:"forge-table-head__row",TABLE_HEAD_ROW_FILTER:"forge-table-head__row__filter",TABLE_HEAD_CELL:"forge-table-head__cell",TABLE_HEAD_CELL_CONTAINER:"forge-table-head__cell-container",TABLE_HEAD_CELL_SORTABLE:"forge-table-head__cell--sortable",TABLE_HEAD_CELL_SORT_ICON:"forge-table-head__cell-sort-icon",TABLE_HEAD_CELL_TEXT:"forge-table-head__cell-text",TABLE_HEAD_CELL_SORT_ICON_ACTIVE:"forge-table-head__cell-sort-icon--active",TABLE_HEAD_CELL_SORTED_ASCENDING:"forge-table-head__cell--sorted-ascending",TABLE_HEAD_CELL_SORTED_DESCENDING:"forge-table-head__cell--sorted-descending",TABLE_HEAD_CELL_SORT_ORDER:"forge-table-head__cell__sort-order",TABLE_HEAD_CELL_SORT_ORDER_HIDDEN:"forge-table-head__cell__sort-order--hidden",TABLE_BODY:"forge-table-body",TABLE_BODY_ROW:"forge-table-body__row",TABLE_BODY_ROW_SELECTED:"forge-table-body__row--selected",TABLE_BODY_ROW_CLICKABLE:"forge-table-body__row--clickable",TABLE_BODY_CELL:"forge-table-body__cell",TABLE_ROW:"forge-table-row",TABLE_ROW_EXPANDED:"forge-table-row--expanded",TABLE_ROW_EXPANDABLE_CONTENT:"forge-table-row__expandable-content",TABLE_ROW_EXPANDABLE_CONTENT_CELL:"forge-table-row__expandable-content-cell",TABLE_CELL:"forge-table-cell",TABLE_CELL_SELECT:"forge-table-cell__select",TABLE_CELL_SELECT_CHECKBOX:"forge-table-cell__select-checkbox",TABLE_CELL_SELECT_CHECKBOX_CONTAINER:"forge-table-cell__select-checkbox-container",TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_RIGHT:"forge-table-cell__select-checkbox-container--align-right",TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_LEFT:"forge-table-cell__select-checkbox-container--align-left",TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_CENTER:"forge-table-cell__select-checkbox-container--align-center",TABLE_CELL_CONTAINER:"forge-table-cell__container",TABLE_CELL_CONTAINER_TEXT:"forge-table-cell__container-text",TABLE_CELL_CENTER:"forge-table-cell--center",TABLE_CELL_RIGHT:"forge-table-cell--right",TABLE_CELL_RESIZABLE:"forge-table-cell--resizing"},_e={TABLE:".forge-table",CHECKBOX_INPUT:"forge-checkbox > input[type=checkbox]:not([forge-ignore])",SELECT_ALL_TEMPLATE_CHECKBOX_INPUT:"input[type=checkbox]:not([forge-ignore])",ROW_SELECTED:`.${de.TABLE_BODY_ROW_SELECTED}`},be={SELECT:"select",MULTISELECT:"multiselect",SELECT_KEY:"select-key",DENSE:"dense",ROOMY:"roomy",FILTER:"filter",FIXED_HEADERS:"fixed-headers",LAYOUT_TYPE:"layout-type",WRAP_CONTENT:"wrap-content",RESIZABLE:"resizable",MIN_RESIZE_WIDTH:"min-resize-width",ALLOW_ROW_CLICK:"allow-row-click",MULTI_COLUMN_SORT:"multi-column-sort",SELECT_CHECKBOX_ALIGNMENT:"select-checkbox-alignment",TOOLTIP_SELECT:"tooltip-select",TOOLTIP_SELECT_ALL:"tooltip-select-all",CHECKBOX_TYPE:"forge-checkbox-type",CUSTOM_CELL_TEMPLATE:"data-cell-template",CUSTOM_CELL_TEMPLATE_STOP_PROPAGATION:"data-cell-template-stop-propagation"},pe={ROW_CLICK:`${S}-row-click`,SELECT:`${S}-select`,SELECT_DOUBLE:`${S}-select-double`,SELECT_ALL:`${S}-select-all`,SORT:`${S}-sort`,FILTER:`${S}-filter`,INITIALIZED:`${S}-initialized`,COLUMN_RESIZE:`${S}-column-resize`},Te={SELECT_ALL:"select-all",SELECT_ROW:"select-row",DEFAULT_LAYOUT_TYPE:"auto"},Ce={SORT_DOWN:"arrow_downward"},he={DEFAULT_FILTER_DEBOUNCE_TIME:750,MIN_RESIZE_WIDTH:100,RESIZE_HOVER_DURATION:150},o={elementName:S,classes:de,selectors:_e,attributes:be,events:pe,strings:Te,icons:Ce,numbers:he};var B=(l=>(l.Left="left",l.Right="right",l.Center="center",l))(B||{}),O=(l=>(l.Ascending="ASC",l.Descending="DESC",l.Unset="UNSET",l))(O||{}),Le=(n=>(n.InputText="text",n.InputNumber="number",n.Select="select",n.SelectMultiple="select-multiple",n.Date="date",n.DateRange="date-range",n))(Le||{});function me(f){return f&&typeof f=="object"&&"content"in f}var a=class{static createTable(e){a._resetTable(e.tableElement);let t=a._createTableHead(e),l=a._createTableBody(e);e.clickListener&&(a._attachRowClickListeners(l,e.clickListener,e.doubleClickListener),a._addRowClickAttributes(l)),e.fixedHeaders&&a.setFixedHeaders(e),e.resizable&&a.setResizable(e),e.dense&&a.setDenseState(e.tableElement,e.dense),e.wrapContent&&a.setWrapContentState(e.tableElement,e.wrapContent),e.selectListener&&a._addSelectColumn(t,l,e.selectListener,e.selectAllListener,e.selectAllTemplate,e.selectCheckboxAlignment,e.data,e.tooltipSelect,e.tooltipSelectAll),(e.resizable||e.columnConfigurations.some(i=>!!i.sortable))&&(a._attachHeadRowMouseDownListener(t,e.headRowMouseDownListener),a._isMac()&&a._attachHeadRowContextMenuListener(t,e.headRowContextMenuListener)),a.setLayoutType(e),a._setTableHead(e.tableElement,t),e.filter&&a.setFilterRow(e),a._setTableBody(e.tableElement,l)}static _setTableHead(e,t){e.tHead?F(t,e.tHead):e.appendChild(t)}static _setTableBody(e,t){e.tBodies.length?F(t,e.tBodies[0]):e.appendChild(t)}static recreateTableBody(e){let t=a._createTableBody(e);e.clickListener&&(a._attachRowClickListeners(t,e.clickListener,e.doubleClickListener),a._addRowClickAttributes(t)),e.selectListener&&(a._createBodySelectColumn(t,e.selectCheckboxAlignment,e.data,e.tooltipSelect,e.tooltipSelectAll),a._attachRowSelectListeners(t,e.selectListener)),a._setTableBody(e.tableElement,t)}static _resetTable(e){R(e)}static _createMultisortTooltip(){let e=document.createElement(ae.elementName);return e.textContent="Ctrl + click to sort multiple columns",e.position="bottom",e.delay=0,e}static _createTableHead(e){let t=document.createElement("thead"),l=t.insertRow();p([o.classes.TABLE_ROW,o.classes.TABLE_HEAD_ROW],l);let i=!1;for(let s=0;s<e.columnConfigurations.length;s++){let n=e.columnConfigurations[s],r=document.createElement("th");r.scope="col",p([o.classes.TABLE_CELL,o.classes.TABLE_HEAD_CELL],r);let c=document.createElement("div");if(c.classList.add(o.classes.TABLE_HEAD_CELL_CONTAINER),e.multiColumnSort){let d=a._createMultisortTooltip();c.appendChild(d)}if(n.align&&a._setCellAlignmentClass(c,n.align),L(n.width)){let d=K(n.width);d&&(r.style.width=d)}if(e.resizable&&n.resizable!==!1){let d=document.createElement("div");d.classList.add(o.classes.TABLE_RESIZE_HANDLE),r.appendChild(d)}L(n.headerCellStyle)&&g(n.headerCellStyle)&&(Object.assign(r.style,n.headerCellStyle),Object.assign(c.style,n.headerCellStyle));let m=document.createElement("span");if(m.classList.add(o.classes.TABLE_HEAD_CELL_TEXT),m.textContent=n.header&&typeof n.header=="string"?n.header.trim():"",n.sortable){r.classList.add(o.classes.TABLE_HEAD_CELL_SORTABLE);let d=document.createElement("span");p([o.classes.TABLE_HEAD_CELL_SORT_ORDER_HIDDEN,o.classes.TABLE_HEAD_CELL_SORT_ORDER],d);let u=document.createElement(ie.elementName);u.name=o.icons.SORT_DOWN,p([o.classes.TABLE_HEAD_CELL_SORT_ICON],u),e.multiColumnSort?typeof n.initialSort=="object"&&n.initialSort.sortOrder&&(d.textContent=n.initialSort.sortOrder.toString(),e.columnConfigurations.filter(T=>typeof T.initialSort=="object").length>1&&D(o.classes.TABLE_HEAD_CELL_SORT_ORDER_HIDDEN,d),r.classList.add(o.classes.TABLE_HEAD_CELL_SORTED_DESCENDING),u.classList.add(o.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE),a._setColumnSortDirection(r,n.initialSort.direction)):e.sortedColumn===s&&!i&&!e.multiColumnSort&&(r.classList.add(o.classes.TABLE_HEAD_CELL_SORTED_DESCENDING),u.classList.add(o.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE),a._setColumnSortDirection(r,e.sortDirection),i=!0),c.appendChild(u),c.appendChild(d)}typeof n.headerTemplate=="function"?Promise.resolve(n.headerTemplate(s,c,n)).then(d=>{if(d){let u=document.createElement("div");p(o.classes.TABLE_CELL_CONTAINER,u),typeof d=="string"?u.innerHTML=d:a._prepend(d,u),u.setAttribute(o.attributes.CUSTOM_CELL_TEMPLATE,""),a._prepend(u,c)}}):a._prepend(m,c),r.appendChild(c),l.appendChild(r)}return t}static setSortDirection(e,t,l){let i=a._getHeaderCellByIndex(e,t);a._setColumnSortDirection(i,l)}static _setColumnSortDirection(e,t){e.classList.contains(o.classes.TABLE_HEAD_CELL_SORTED_ASCENDING)&&e.classList.remove(o.classes.TABLE_HEAD_CELL_SORTED_ASCENDING),e.classList.contains(o.classes.TABLE_HEAD_CELL_SORTED_DESCENDING)&&e.classList.remove(o.classes.TABLE_HEAD_CELL_SORTED_DESCENDING),!t||t==="DESC"?e.classList.add(o.classes.TABLE_HEAD_CELL_SORTED_DESCENDING):e.classList.add(o.classes.TABLE_HEAD_CELL_SORTED_ASCENDING)}static _createTableBody(e){let t=document.createElement("tbody");return a._getOrderedRowData(e.columnConfigurations,e.data).forEach((i,s)=>{let n=t.insertRow();p([o.classes.TABLE_ROW,o.classes.TABLE_BODY_ROW],n),a._populateRowCells(e,n,i,s),typeof e.rowCreatedCallback=="function"&&e.rowCreatedCallback(n,s,C({},e.data[s].data))}),t}static _populateRowCells(e,t,l,i){for(let s=0;s<l.length;s++){let n=e.columnConfigurations[s],r=t.insertCell();if(p([o.classes.TABLE_CELL,o.classes.TABLE_BODY_CELL],r),L(n.width)){let m=K(n.width);m&&(r.style.width=m)}let c=document.createElement("div");if(c.classList.add(o.classes.TABLE_CELL_CONTAINER),L(n.cellStyle)&&g(n.cellStyle)&&(Object.assign(r.style,n.cellStyle),Object.assign(c.style,n.cellStyle)),n.template&&typeof n.template=="function"){let m=e.data[i]?e.data[i].data:void 0;Promise.resolve(n.template(i,c,m,s)).then(d=>{let u=me(d)?d:{content:d,stopClickPropagation:n.stopCellTemplateClickPropagation};!u.content||(typeof u.content=="string"?c.innerHTML=u.content:c.appendChild(u.content),c.setAttribute(o.attributes.CUSTOM_CELL_TEMPLATE,""),u.stopClickPropagation&&c.setAttribute(o.attributes.CUSTOM_CELL_TEMPLATE_STOP_PROPAGATION,""))})}else if(n.property){let m=document.createElement("span");m.classList.add(o.classes.TABLE_CELL_CONTAINER_TEXT),c.appendChild(m),n.transform&&typeof n.transform=="function"?Promise.resolve(n.transform(l[s])).then(d=>m.textContent=d):l[s]==null?m.textContent="":m.textContent=l[s].toString()}if(n.align&&a._setCellAlignmentClass(c,n.align),r.appendChild(c),L(n.columnSpan)){if(n.columnSpan==="all"){r.colSpan=l.length-s;break}else if(typeof n.columnSpan=="number"&&n.columnSpan>0){let m=n.columnSpan;n.columnSpan>l.length-s&&(m=l.length),r.colSpan=m,s=s+(m-1)}}typeof e.cellCreatedCallback=="function"&&e.cellCreatedCallback(r,i,s)}}static _setCellAlignmentClass(e,t){switch(t){case"center":e.classList.add(o.classes.TABLE_CELL_CENTER);break;case"right":e.classList.add(o.classes.TABLE_CELL_RIGHT);break}}static _getNonExpandedRows(e){return Array.from(e).filter(t=>!t.classList.contains(o.classes.TABLE_ROW_EXPANDABLE_CONTENT))}static _getExpandedRows(e){return Array.from(e).filter(t=>t.classList.contains(o.classes.TABLE_ROW_EXPANDABLE_CONTENT))}static _createColumnDataMap(e,t){return e.map(l=>({config:l,data:t.map(i=>{if(l.property){let s=q(i.data,l.property);return L(s)?s:null}return null})}))}static _getOrderedRowData(e,t){let l=a._createColumnDataMap(e,t),i=[];for(let s of l)for(let n=0;n<s.data.length;n++)i[n]||(i[n]=[]),i[n].push(s.data[n]);return i}static _attachRowClickListeners(e,t,l){a._getNonExpandedRows(e.rows).forEach(s=>{s.addEventListener("click",t),l&&s.addEventListener("dblclick",l)})}static _addRowClickAttributes(e){a._getNonExpandedRows(e.rows).forEach(l=>{l.classList.add(o.classes.TABLE_BODY_ROW_CLICKABLE)})}static _removeRowClickAttributes(e){a._getNonExpandedRows(e.rows).forEach(l=>{l.classList.remove(o.classes.TABLE_BODY_ROW_CLICKABLE)})}static _attachRowSelectListeners(e,t){a._getNonExpandedRows(e.rows).forEach(i=>a._attachRowSelectListener(i,t))}static _attachRowSelectListener(e,t){let l=a._getCheckboxElement(e);l==null||l.addEventListener("click",t)}static _detachRowSelectListeners(e,t){Array.from(e.rows).forEach(l=>{let i=a._getCheckboxElement(l);i==null||i.removeEventListener("click",t)})}static _detachRowClickListeners(e,t,l){Array.from(e.rows).forEach(i=>{i.removeEventListener("click",t),i.removeEventListener("dblclick",l)})}static _attachSelectAllListener(e,t){let l=e.rows[e.rows.length-1],i=a._getCheckboxElement(l);if(!i)throw new Error("Checkbox element not found.");i.addEventListener("change",t)}static _tryAttachSelectAllTemplateListener(e,t){let l=e.rows[e.rows.length-1],i=a._tryGetSelectAllCheckboxElement(l);i&&i.addEventListener("change",t)}static _detachSelectAllListener(e,t){let l=e.rows[e.rows.length-1],i=a._tryGetSelectAllCheckboxElement(l);!i||i.removeEventListener("change",t)}static _attachHeadRowMouseDownListener(e,t){let l=e.rows[0];if(!l)throw new Error("Missing table header row. Unable to attach sort listener.");l.addEventListener("mousedown",t)}static _attachHeadRowContextMenuListener(e,t){let l=e.rows[0];if(!l)throw new Error("Missing table header row. Unable to attach sort listener.");l.addEventListener("contextmenu",t)}static _createSelectColumn(e,t,l,i,s,n,r,c,m){e&&a._createHeadSelectColumn(e,l,i,s,n,m),t&&a._createBodySelectColumn(t,n,r,c,m)}static _createHeadSelectColumn(e,t,l,i,s,n){var r;if(Array.from(e.rows).forEach(c=>{let m=document.createElement("th");p([o.classes.TABLE_CELL,o.classes.TABLE_HEAD_CELL],m),c.insertBefore(m,c.cells.item(0))}),t){let c=(r=e.rows.item(e.rows.length-1))==null?void 0:r.cells.item(0);c.classList.add(o.classes.TABLE_CELL_SELECT),typeof l=="function"?a._renderSelectAllTemplate(l,e).then(()=>{typeof i=="function"&&i()}):c==null||c.appendChild(a._createCheckboxElement(!0,s,null,null,null,n))}}static _createBodySelectColumn(e,t,l,i,s){if(a._getNonExpandedRows(e.rows).forEach((r,c)=>a._addRowSelectColumn(r,t,c,l[c],i,s)),e.rows.length){let r=e.rows.item(0);r&&a._updateExpandedRowColspan(e.rows,r.cells.length)}}static _addRowSelectColumn(e,t,l,i,s,n){let r=e.insertCell(0);p([o.classes.TABLE_CELL,o.classes.TABLE_BODY_CELL,o.classes.TABLE_CELL_SELECT],r),r.appendChild(a._createCheckboxElement(!1,t,l,i,s,n))}static _destroySelectColumn(e,t){let l=a._getNonExpandedRows(t.rows);if(Array.from(e.rows).forEach(i=>i.removeChild(i.cells.item(0))),Array.from(l).forEach(i=>i.removeChild(i.cells.item(0))),t.rows.length){let i=t.rows.item(0);i&&a._updateExpandedRowColspan(t.rows,i.cells.length)}}static _hasSelectColumn(e,t){return[...Array.from(e.rows),...Array.from(t.rows)].some(i=>i.cells.item(0).classList.contains(o.classes.TABLE_CELL_SELECT))}static _createCheckboxElement(e,t,l,i,s,n){let r=document.createElement("div");if(r.classList.add(o.classes.TABLE_CELL_SELECT_CHECKBOX_CONTAINER),t)switch(t){case"center":r.classList.add(o.classes.TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_CENTER);break;case"left":r.classList.add(o.classes.TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_LEFT);break;case"right":r.classList.add(o.classes.TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_RIGHT);break}let c=document.createElement(re.elementName),m=document.createElement("input");m.type="checkbox";let d=s||"";i&&typeof s=="function"&&(d=s.call(null,l,i.data));let u=document.createElement("forge-tooltip");return u.position="left",e?u.textContent=n||"":u.textContent=d,m.setAttribute("aria-label","Select row"),c.appendChild(m),r.appendChild(u),r.appendChild(c),r}static _getCheckboxElement(e){let t=e.querySelector(`.${o.classes.TABLE_CELL_SELECT}`);return t?t.querySelector(o.selectors.CHECKBOX_INPUT):null}static _tryGetSelectAllCheckboxElement(e){let t=e.querySelector(`.${o.classes.TABLE_CELL_SELECT}`);return t?t.querySelector(o.selectors.CHECKBOX_INPUT)||t.querySelector(o.selectors.SELECT_ALL_TEMPLATE_CHECKBOX_INPUT):null}static _setSelectedCheckboxState(e,t){e&&(e.checked=t)}static _setIndeterminateCheckboxState(e,t){e&&(e.indeterminate=t)}static _setRowSelectedState(e,t){t?e.classList.contains(o.classes.TABLE_BODY_ROW_SELECTED)||e.classList.add(o.classes.TABLE_BODY_ROW_SELECTED):e.classList.remove(o.classes.TABLE_BODY_ROW_SELECTED)}static _updateExpandedRowColspan(e,t){a._getExpandedRows(e).forEach(i=>{let s=i.cells.item(0);s&&(s.colSpan=t)})}static updateSelectedState(e,t){a._setRowSelectedState(e,t);let l=a._getCheckboxElement(e);l&&a._setSelectedCheckboxState(l,t)}static getRowByIndex(e,t){return a._getNonExpandedRows(e.tBodies[0].rows)[t]}static updateSelectAllState(e,t,l){if(!e.tHead)return;let i=e.tHead.rows[e.tHead.rows.length-1],s=a._tryGetSelectAllCheckboxElement(i);s&&(a._setSelectedCheckboxState(s,t),a._setIndeterminateCheckboxState(s,!!l))}static setSelectedRows(e,t,l,i,s=!1){if(!e.tBodies.length)return;s||a.clearSelectedRows(e);let n=e.tBodies[0].rows,r=0;i.length&&Array.from(n).forEach((c,m)=>{let d=l[m];if(x(i,v(t,d))){a._setRowSelectedState(c,!0);let T=a._getCheckboxElement(c);T&&a._setSelectedCheckboxState(T,!0),r++}}),a.updateSelectAllState(e,r>0&&n.length===r)}static clearSelectedRows(e){if(!e.tBodies.length)return;a._getNonExpandedRows(e.tBodies[0].rows).forEach(l=>{a._setRowSelectedState(l,!1);let i=a._getCheckboxElement(l);i&&a._setSelectedCheckboxState(i,!1)})}static setSortedColumn(e,t,l){let i=a._getHeaderCellByIndex(e,t);a._getSortIconElementFromHeaderCell(i).classList.add(o.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE),a._setColumnSortDirection(i,l)}static setMultiSortColumnSortNumber(e,t,l,i){let r=a._getHeaderCellByIndex(e,l).querySelector(`.${o.classes.TABLE_HEAD_CELL_CONTAINER}`).querySelector(`.${o.classes.TABLE_HEAD_CELL_SORT_ORDER}`);r&&($(r,typeof i!="number"||!t,o.classes.TABLE_HEAD_CELL_SORT_ORDER_HIDDEN),i&&(r.textContent=i.toString()))}static removeColumnSort(e,t){let l=a._getHeaderCellByIndex(e,t);l.classList.contains(o.classes.TABLE_HEAD_CELL_SORTED_ASCENDING)&&l.classList.remove(o.classes.TABLE_HEAD_CELL_SORTED_ASCENDING),l.classList.contains(o.classes.TABLE_HEAD_CELL_SORTED_DESCENDING)&&l.classList.remove(o.classes.TABLE_HEAD_CELL_SORTED_DESCENDING);let i=a._getSortIconElementFromHeaderCell(l);i&&i.classList.contains(o.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE)&&i.classList.remove(o.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE)}static _getHeaderCellByIndex(e,t){if(!e.tHead)throw new Error("Table head element cannot be null.");return e.tHead.rows.item(0).cells.item(t)}static _getSortIconElementFromHeaderCell(e){return e.querySelector(`.${o.classes.TABLE_HEAD_CELL_SORT_ICON}`)}static setSelectColumnVisibility(e,t,l,i,s,n,r,c,m){let d=e.tHead,u=e.tBodies[0];!d||!u||(t?a._addSelectColumn(d,u,l,i,s,n,r,c,m):a._hasSelectColumn(d,u)&&(l&&a._detachRowSelectListeners(u,l),i&&a._detachSelectAllListener(d,i),a._destroySelectColumn(d,u)))}static _addSelectColumn(e,t,l,i,s,n,r,c,m){a._createSelectColumn(e,t,!!i,s,()=>{i&&a._tryAttachSelectAllTemplateListener(e,i)},n,r,c,m),l&&a._attachRowSelectListeners(t,l),i&&!s&&a._tryAttachSelectAllTemplateListener(e,i)}static setDenseState(e,t){e.classList.contains(o.classes.TABLE_DENSE)&&e.classList.remove(o.classes.TABLE_DENSE),t&&e.classList.add(o.classes.TABLE_DENSE)}static setRoomyState(e,t){e.classList.contains(o.classes.TABLE_ROOMY)&&e.classList.remove(o.classes.TABLE_ROOMY),t&&e.classList.add(o.classes.TABLE_ROOMY)}static setResizable(e){let t=e.tableElement.tHead;e.resizable?(e.tableElement.classList.add(o.classes.TABLE_RESIZABLE),a._addResizeHandles(t,e)):(e.tableElement.classList.remove(o.classes.TABLE_RESIZABLE),a._removeResizeHandles(t,e))}static _addResizeHandles(e,t){if(!e)return;let l=e.rows.item(0);if(l){let i=Array.from(l.cells);t.selectListener&&(i=i.slice(1));for(let s of i){let n=i.indexOf(s);if(t.columnConfigurations[n].resizable!==!1){let c=document.createElement("div");c.classList.add(o.classes.TABLE_RESIZE_HANDLE),s.appendChild(c)}}}}static _removeResizeHandles(e,t){if(!e)return;let l=e.rows.item(0);if(l){let i=Array.from(l.cells);t.selectListener&&(i=i.slice(1));for(let s of i){let n=document.querySelector(`.${o.classes.TABLE_RESIZE_HANDLE}`);n&&s.removeChild(n)}}}static setWrapContentState(e,t){t?e.classList.remove(o.classes.TABLE_NO_WRAP_CONTENT):e.classList.add(o.classes.TABLE_NO_WRAP_CONTENT)}static setSelectAllVisibility(e,t,l,i,s,n){let r=e.tHead;if(!r)return;!t&&l&&a._detachSelectAllListener(r,l);let m=r.rows[r.rows.length-1].cells.item(0);t?m.childElementCount||(m.classList.add(o.classes.TABLE_CELL_SELECT),i?a._renderSelectAllTemplate(i,r).then(()=>{l&&a._tryAttachSelectAllTemplateListener(r,l)}):m.appendChild(a._createCheckboxElement(!0,s||null,null,null,null,n)),l&&!i&&a._attachSelectAllListener(r,l)):(l&&a._detachSelectAllListener(r,l),R(m))}static setFilterRow(e){if(!e.tableElement.tHead)return;let t=a._getFilterRowElement(e.tableElement.tHead),l;if(e.filter?e.tableElement.classList.add(o.classes.TABLE_FILTER_VISIBLE):e.tableElement.classList.remove(o.classes.TABLE_FILTER_VISIBLE),e.filter&&!t){if(e.columnConfigurations.every(s=>!s.filter))return;e.selectListener&&e.selectAllListener&&(l=e.tableElement.tHead.rows[e.tableElement.tHead.rows.length-1].cells.item(0));let i=a._createFilterRowElement(e);i&&l&&Array.from(l.children).forEach(s=>{var n;(n=i.cells.item(0))==null||n.appendChild(s)})}else if(!e.filter&&t){if(e.selectListener&&e.selectAllListener){l=t.cells.item(0);let i=Array.from(e.tableElement.tHead.rows).indexOf(t)-1,s=e.tableElement.tHead.rows.item(i);s&&Array.from(l.children).forEach(n=>{var r;(r=s.cells.item(0))==null||r.appendChild(n)})}W(t)}}static _createFilterRowElement(e){if(!e.tableElement.tHead)throw new Error("Table head element cannot be null.");let t=e.tableElement.tHead.insertRow();if(p([o.classes.TABLE_ROW,o.classes.TABLE_HEAD_ROW_FILTER],t),e.selectListener){let l=document.createElement("th");p([o.classes.TABLE_CELL,o.classes.TABLE_HEAD_CELL],l),t.insertBefore(l,t.cells[0]),l.classList.add(o.classes.TABLE_CELL_SELECT)}return e.columnConfigurations.forEach((l,i)=>{let s=document.createElement("th");if(p([o.classes.TABLE_CELL,o.classes.TABLE_HEAD_CELL],s),l.filter&&L(l.filterDelegate)){let n=document.createElement("div");n.classList.add(o.classes.TABLE_HEAD_CELL_CONTAINER),l.align&&a._setCellAlignmentClass(n,l.align);let r=a._createFilterElement(l,i,e.filterListener);n.appendChild(r),s.appendChild(n)}t.appendChild(s)}),t}static _createFilterElement(e,t,l){let i;if(y(e.filterDelegate))i=e.filterDelegate();else if(e.filterDelegate instanceof Y||e.filterDelegate instanceof le)i=e.filterDelegate;else throw new Error("Invalid filter delegate.");if(!!l&&i instanceof Y&&y(i.onChange))if(!L(e.filterDebounceTime)||I(e.filterDebounceTime)){let s=L(e.filterDebounceTime)?e.filterDebounceTime:o.numbers.DEFAULT_FILTER_DEBOUNCE_TIME;i.onChange(Z(n=>l(n,t),s))}else i.onChange(s=>l(s,t));return i.element}static _getFilterRowElement(e){if(!!e)return Array.from(e.rows).find(t=>t.classList.contains(o.classes.TABLE_HEAD_ROW_FILTER))}static async expandRow(e,t,l){let i=e.tableElement.tBodies[0],n=a._getNonExpandedRows(i.rows)[t];n.classList.add(o.classes.TABLE_ROW_EXPANDED);let r=Array.from(i.rows).indexOf(n),c=i.insertRow(r+1);p([o.classes.TABLE_ROW,o.classes.TABLE_BODY_ROW,o.classes.TABLE_ROW_EXPANDABLE_CONTENT],c);let m=c.insertCell();m.setAttribute("colspan",n.cells.length.toString()),m.classList.add(o.classes.TABLE_ROW_EXPANDABLE_CONTENT_CELL);let d=document.createElement("div"),u=document.createElement(M.elementName);u.appendChild(d),m.appendChild(u);let T=l;if(y(l)){let ue=e.data[t]?e.data[t].data:void 0,Ee=l(t,d,ue);try{let A=await Promise.resolve(Ee);T=me(A)?A.content:A}catch(A){console.error("Failed to load row template "+A.message),T=""}}T&&a._setRowTemplate(d,T),window.requestAnimationFrame(()=>u.open=!0)}static _setRowTemplate(e,t){G(t)?e.innerHTML=t:e.appendChild(t)}static collapseRow(e,t){if(!e.tableElement||!e.tableElement.tBodies.length||!e.tableElement.tBodies[0].rows.length)return Promise.resolve();let l=e.tableElement.tBodies[0],s=a._getNonExpandedRows(l.rows)[t],n=Array.from(l.rows).indexOf(s);if(s&&s.classList.contains(o.classes.TABLE_ROW_EXPANDED)){let r=l.rows[n+1],c=r.querySelector(M.elementName);if(c&&c.open)return c.open=!1,new Promise(m=>{setTimeout(()=>{s.classList.remove(o.classes.TABLE_ROW_EXPANDED),W(r),m()},M.numbers.COLLAPSE_ANIMATION_DURATION)})}return Promise.resolve()}static isRowExpanded(e,t){let l=e.tableElement.tBodies[0],s=a._getNonExpandedRows(l.rows)[t];return s&&s.classList.contains(o.classes.TABLE_ROW_EXPANDED)}static setFixedHeaders(e){e.fixedHeaders?e.tableElement.classList.add(o.classes.TABLE_FIXED):e.tableElement.classList.remove(o.classes.TABLE_FIXED)}static setLayoutType(e){e.layoutType==="fixed"?e.tableElement.classList.add(o.classes.TABLE_LAYOUT_FIXED):e.tableElement.classList.remove(o.classes.TABLE_LAYOUT_FIXED)}static normalizeColumnWidths(e){let t=e.tableElement;if(t.tHead&&t.tHead.rows.length){let l=Array.from(t.tHead.rows[0].cells);for(let i of l){let s=getComputedStyle(i).width;i.style.width&&i.style.width!==s&&(i.style.width=s)}}}static setColumnResizeIndicatorVisibility(e,t,l){let i=e.tableElement;if(i.tHead&&i.tHead.rows.length){let s=Array.from(i.tHead.rows);for(let n of s){let r=n.cells[t];r&&(l?r.classList.add(o.classes.TABLE_CELL_RESIZABLE):r.classList.remove(o.classes.TABLE_CELL_RESIZABLE))}}if(i.tBodies.length){let s=Array.from(i.tBodies[0].rows);for(let n of s){let r=n.cells[t];r&&(l?r.classList.add(o.classes.TABLE_CELL_RESIZABLE):r.classList.remove(o.classes.TABLE_CELL_RESIZABLE))}}}static setRowClickListeners(e,t,l,i){let s=e.tBodies[0];!s||(t?a._attachRowClickListeners(s,l,i):a._detachRowClickListeners(s,l,i))}static setRowClickAttributes(e,t){let l=e.tBodies[0];!l||(t?a._addRowClickAttributes(l):a._removeRowClickAttributes(l))}static getOwnerDocument(e){return e.ownerDocument||document}static _prepend(e,t){let l=t.childNodes.item(0);l?t.insertBefore(e,l):t.appendChild(e)}static _isMac(){return!!(navigator&&navigator.platform&&navigator.platform.substr(0,3)==="Mac")}static _renderSelectAllTemplate(e,t){return Promise.resolve(e()).then(l=>{let i=t.rows.item(t.rows.length-1);if(!i)return;let s=i.cells.item(0);l&&s&&(typeof l=="string"?s.innerHTML=l:l instanceof HTMLElement&&s.appendChild(l),s.setAttribute(o.attributes.CUSTOM_CELL_TEMPLATE,""))})}};var N=class extends U{constructor(t){super(t)}initialize(){this._tableElement||(this._tableElement=document.createElement("table"),this._tableElement.classList.add(o.classes.TABLE),this._component.children.length&&R(this._component),this._component.appendChild(this._tableElement))}getTableElement(){return this._tableElement||this.initialize(),this._tableElement}createTable(t){return a.createTable(t)}recreateTableBody(t){a.recreateTableBody(t)}setSelectedRows(t,l,i,s,n=!1){a.setSelectedRows(t,l,i,s,n)}clearSelectedRows(t){a.clearSelectedRows(t)}updateSelectedState(t,l){a.updateSelectedState(t,l)}updateSelectAllState(t,l,i){a.updateSelectAllState(t,l,i)}setSortedColumn(t,l,i){a.setSortedColumn(t,l,i)}removeColumnSort(t,l){a.removeColumnSort(t,l)}setSortDirection(t,l,i){a.setSortDirection(t,l,i)}setSelectColumnVisibility(t,l,i,s,n,r,c,m,d){a.setSelectColumnVisibility(t,l,i,s||null,n||null,r||null,c||[],m||null,d||null)}setDense(t,l){a.setDenseState(t,l)}setRoomy(t,l){a.setRoomyState(t,l)}setResizable(t){a.setResizable(t)}setSelectAllVisibility(t,l,i,s,n,r=null){a.setSelectAllVisibility(t,l,i,s,n||null,r||null)}setFilterRow(t){a.setFilterRow(t)}expandRow(t,l,i){return a.expandRow(t,l,i)}collapseRow(t,l){return a.collapseRow(t,l)}isRowExpanded(t,l){return a.isRowExpanded(t,l)}setFixedHeaders(t){a.setFixedHeaders(t)}setTableLayoutType(t){a.setLayoutType(t)}setWrapContentState(t){a.setWrapContentState(t.tableElement,t.wrapContent)}addDocumentListener(t,l){a.getOwnerDocument(this._component).addEventListener(t,l)}removeDocumentListener(t,l){a.getOwnerDocument(this._component).removeEventListener(t,l)}normalizeColumnWidths(t){a.normalizeColumnWidths(t)}setResizeColumnVisibility(t,l,i){a.setColumnResizeIndicatorVisibility(t,l,i)}addTableClass(t){p(t,this._tableElement)}removeTableClass(t){D(t,this._tableElement)}setRowClickListeners(t,l,i,s){a.setRowClickListeners(t,l,i,s)}setRowClickAttributes(t,l){a.setRowClickAttributes(t,l)}};var k=class{constructor(){this._sortedColumns=[]}get sortedColumns(){return[...this._sortedColumns.map(e=>C({},e))]}addSortColumn(e){this._sortedColumns.push(C({},e)),this._updateSortNumbers()}updateSortColumn(e){let t=this._sortedColumns.find(l=>l.columnIndex===e.columnIndex);if(t)switch(t.direction){case"ASC":this.removeSortColumn(e);break;case"DESC":t.direction="ASC";break;case"UNSET":t.direction="DESC";break}}setSortColumns(e){this._sortedColumns=[...e.map(t=>C({},t))]}removeSortColumn(e){typeof e=="number"?this._sortedColumns.splice(e,1):this._sortedColumns.splice(this._sortedColumns.indexOf(e),1),this._updateSortNumbers()}isSortColumn(e){return typeof e=="number"?this._sortedColumns.some(t=>t.columnIndex===e):this._sortedColumns.includes(e)}clearMultiSort(){this._sortedColumns=[]}getSortColumn(e){return this._sortedColumns.find(t=>t.columnIndex===e)}_updateSortNumbers(){this._sortedColumns.every(e=>typeof e.sortOrder=="number")&&this._sortedColumns.sort((e,t)=>e.sortOrder-t.sortOrder),this._sortedColumns.forEach((e,t)=>e.sortOrder=t+1)}};var P=class{constructor(e,t=!1){this.data=e;this.selected=t}};var z=class{constructor(e){this._adapter=e;this._tableRows=[];this._data=[];this._columnConfigurations=[];this._select=!1;this._multiselect=!0;this._dense=!1;this._roomy=!1;this._filter=!1;this._fixedHeaders=!1;this._layoutType=o.strings.DEFAULT_LAYOUT_TYPE;this._wrapContent=!0;this._resizable=!1;this._minResizeWidth=o.numbers.MIN_RESIZE_WIDTH;this._multiColumnSort=!1;this._selectCheckboxAlignment="center";this._isAllSelected=!1;this._sortedColumnIndex=-1;this._rendered=!1;this._allowRowClick=!1;this._multiSortManager=new k;this._rowClickListener=t=>this._onRowClick(t),this._rowDoubleClickListener=t=>this._onRowDoubleClick(t),this._selectRowListener=t=>this._onRowSelected(t),this._selectAllListener=t=>this._onSelectAll(t),this._headRowMouseDownListener=t=>this._onHeadRowMouseDown(t),this._headRowContextMenuListener=t=>this._onHeadRowContextMenu(t),this._documentMouseMoveListener=t=>this._onMouseMove(t),this._documentMouseUpListener=t=>this._onMouseUp(t),this._filterListener=(t,l)=>this._onFilter(t,l),this._selectionManager=new w(this._selectKey),this._hiddenColumnManager=new w}initialize(){this.connect(),this._adapter.setHostAttribute(o.attributes.SELECT,this._select.toString()),this._adapter.setHostAttribute(o.attributes.MULTISELECT,this._multiselect.toString()),this._adapter.setHostAttribute(o.attributes.DENSE,this._dense.toString()),this._adapter.setHostAttribute(o.attributes.ROOMY,this._roomy.toString()),this._adapter.setHostAttribute(o.attributes.FILTER,this._filter.toString()),this._adapter.emitHostEvent(o.events.INITIALIZED,void 0,!1)}connect(){this._adapter.initialize()}disconnect(){this._resizeDescriptor=void 0,this._adapter.removeDocumentListener("mousemove",this._documentMouseMoveListener),this._adapter.removeDocumentListener("mouseup",this._documentMouseUpListener)}set data(e){Array.isArray(e)&&e.length>0?g(e[0])?this._data=e.map(t=>C({},t)):this._data=[...e]:this._data=[],this._tableRows=this._data.map(t=>new P(t,this._selectionManager.exists(t))),this._renderBody()}get data(){return JSON.parse(JSON.stringify(this._data))}set columnConfigurations(e){this._columnConfigurations=e.map(t=>C({},t)),this._hiddenColumnManager.clear(),this._columnConfigurations.forEach(t=>{t.hidden&&this._hiddenColumnManager.add(t)}),this._refreshTableSort(),this.render()}get columnConfigurations(){return this._columnConfigurations.map(e=>C({},e))}get _visibleColumnConfigurations(){return this._columnConfigurations.filter(e=>!this._hiddenColumnManager.exists(e))}get _tableConfiguration(){return{tableElement:this._adapter.getTableElement(),columnConfigurations:this._visibleColumnConfigurations,data:this._tableRows,clickListener:this._allowRowClick?this._rowClickListener:null,doubleClickListener:this._allowRowClick?this._rowDoubleClickListener:null,selectListener:this._select?this._selectRowListener:null,selectAllListener:this._multiselect?this._selectAllListener:null,headRowMouseDownListener:this._headRowMouseDownListener,headRowContextMenuListener:this._headRowContextMenuListener,filterListener:this._filter?this._filterListener:null,sortDirection:this._sortDirection,sortedColumn:this._sortedColumnIndex,multiColumnSort:this._multiColumnSort,filter:this._filter,wrapContent:this._wrapContent,fixedHeaders:this._fixedHeaders,layoutType:this._layoutType,dense:this._dense,resizable:this._resizable,rowCreatedCallback:this._rowCreatedCallback,cellCreatedCallback:this._cellCreatedCallback,selectAllTemplate:this._selectAllTemplate,selectCheckboxAlignment:this._selectCheckboxAlignment,tooltipSelect:this._tooltipSelect,tooltipSelectAll:this._tooltipSelectAll}}set select(e){this._select!==e&&(this._select=e,this._adapter.setSelectColumnVisibility(this._adapter.getTableElement(),this._select,this._selectRowListener,this._multiselect?this._selectAllListener:void 0,this._multiselect?this._selectAllTemplate:null,this._selectCheckboxAlignment,this._tableRows,this._tooltipSelect,this._tooltipSelectAll),this._updateSelections(!0),this._select?this._adapter.setHostAttribute(o.attributes.SELECT,this._select.toString()):this._adapter.removeHostAttribute(o.attributes.SELECT))}get select(){return this._select}set multiselect(e){this._multiselect!==e&&(this._multiselect=e,this._select&&(this._adapter.setSelectAllVisibility(this._adapter.getTableElement(),this._multiselect,this._multiselect?this._selectAllListener:null,this._multiselect?this.selectAllTemplate:null,this._selectCheckboxAlignment,this._tooltipSelectAll),this._updateSelections(!0)),this._adapter.setHostAttribute(o.attributes.MULTISELECT,this._multiselect.toString()))}get multiselect(){return this._multiselect}get selectKey(){return Array.isArray(this._selectKey)?[...this._selectKey]:this._selectKey}set selectKey(e){this._originalSelectKey!==e&&(Array.isArray(e)?(this._originalSelectKey=[...e],this._selectKey=[...e]):(this._originalSelectKey=e,this._selectKey=[e]),this._selectionManager.setKey(this._selectKey),this._updateSelections(!1))}get dense(){return this._dense}set dense(e){this._dense!==e&&(this._dense=e,this._adapter.setDense(this._adapter.getTableElement(),this._dense),this._adapter.setHostAttribute(o.attributes.DENSE,this._dense.toString()))}get roomy(){return this._roomy}set roomy(e){e!==this._roomy&&(this._roomy=e,this._applyRoomy())}set filter(e){this._filter!==e&&(this._filter=e,this._adapter.setFilterRow(this._tableConfiguration),this._adapter.setHostAttribute(o.attributes.FILTER,this._filter.toString()))}get filter(){return this._filter}set fixedHeaders(e){this._fixedHeaders!==e&&(this._fixedHeaders=e,this._adapter.setFixedHeaders(this._tableConfiguration))}get fixedHeaders(){return this._fixedHeaders}get layoutType(){return this._layoutType}set layoutType(e){this._layoutType!==e&&(this._layoutType=e,this._adapter.setTableLayoutType(this._tableConfiguration))}get wrapContent(){return this._wrapContent}set wrapContent(e){this._wrapContent!==e&&(this._wrapContent=e,this._adapter.setWrapContentState(this._tableConfiguration))}get resizable(){return this._resizable}set resizable(e){this._resizable!==e&&(this._resizable=e,this._adapter.setResizable(this._tableConfiguration))}get minResizeWidth(){return this._minResizeWidth}set minResizeWidth(e){this._minResizeWidth!==e&&(this._minResizeWidth=e,I(this._minResizeWidth)?this._minResizeWidth<0&&(this._minResizeWidth=0):this._minResizeWidth=o.numbers.MIN_RESIZE_WIDTH)}get allowRowClick(){return this._allowRowClick}set allowRowClick(e){this._allowRowClick!==e&&(this._allowRowClick=e,this._rendered&&(this._adapter.setRowClickListeners(this._adapter.getTableElement(),this._allowRowClick,this._rowClickListener,this._rowDoubleClickListener),this._adapter.setRowClickAttributes(this._adapter.getTableElement(),this._allowRowClick)))}get multiColumnSort(){return this._multiColumnSort}set multiColumnSort(e){e!==this._multiColumnSort&&(this._multiColumnSort=e,this._refreshTableSort(),this.render())}get selectCheckboxAlignment(){return this._selectCheckboxAlignment}set selectCheckboxAlignment(e){e!==this._selectCheckboxAlignment&&(this._selectCheckboxAlignment=e,this._adapter.setHostAttribute(o.attributes.SELECT_CHECKBOX_ALIGNMENT,e),this.render())}get tooltipSelect(){return this._tooltipSelect}set tooltipSelect(e){e!==this._tooltipSelect&&(this._tooltipSelect=e,typeof e=="string"&&this._adapter.setHostAttribute(o.attributes.TOOLTIP_SELECT,e),this.render())}get tooltipSelectAll(){return this._tooltipSelectAll}set tooltipSelectAll(e){e!==this._tooltipSelectAll&&(this._tooltipSelectAll=e,this._adapter.setHostAttribute(o.attributes.TOOLTIP_SELECT_ALL,e),this.render())}get selectAllTemplate(){return this._selectAllTemplate}set selectAllTemplate(e){e!==this._selectAllTemplate&&(this._selectAllTemplate=e,this.render())}get rowCreated(){return this._rowCreatedCallback}set rowCreated(e){this._rowCreatedCallback=e}get cellCreated(){return this._cellCreatedCallback}set cellCreated(e){this._cellCreatedCallback=e}isRowSelected(e){let t=v(Array.isArray(this._selectKey)?this._selectKey:[this._selectKey],e);return this.selectKey?!!this._selectionManager.getItems().find(l=>X(l,t)):this._selectionManager.exists(e)}getSelectedRows(){return this._selectionManager.getItems()}selectRows(e,t){if(!this._selectKey)throw new Error("You must set a selectKey to select rows.");(!this._multiselect||t)&&this.clearSelections(),e&&e.length&&(this._selectionManager.add(e),this._updateSelections(!t))}deselectRows(e){e&&e.length&&(this._selectionManager.remove(e),this._updateSelections(!1))}clearSelections(){let e=this._adapter.getTableElement();this._selectionManager.clear(),this._tableRows.forEach(t=>t.selected=!1),this._isAllSelected=!1,this._adapter.clearSelectedRows(e),this._select&&this._multiselect&&this._adapter.updateSelectAllState(e,!1)}hideColumn(e){let t=this._columnConfigurations[e];this._sortedColumnIndex===e&&(this._sortedColumnIndex=-1),this._hiddenColumnManager.exists(t)||(this._hiddenColumnManager.add(t),this.render())}showColumn(e){let t=this._columnConfigurations[e];this._hiddenColumnManager.exists(t)&&(this._hiddenColumnManager.remove(t),this.render())}isColumnHidden(e){let t=this._columnConfigurations[e];return!!t&&this._hiddenColumnManager.exists(t)}render(){this._adapter.createTable(this._tableConfiguration),this._renderSelections(),this._rendered=!0}_renderBody(){!this._rendered||(this._adapter.recreateTableBody(this._tableConfiguration),this._renderSelections())}_renderSelections(){this.select&&(this._isAllSelected=this._getSelectAllState(),this._multiselect&&this._adapter.updateSelectAllState(this._adapter.getTableElement(),this._isAllSelected,this._isIndeterminate(this._isAllSelected)));let e=this._selectionManager.getItems();e.length&&this._adapter.setSelectedRows(this._adapter.getTableElement(),this._selectKey,this._data,e,!1)}expandRow(e,t){if(!this._rendered)throw new Error("Cannot expand a row before the table has rendered.");if(e<0||e>this._tableRows.length)throw new Error(`Invalid row index: ${e}.`);return this._adapter.expandRow(this._tableConfiguration,e,t)}collapseRow(e){return!this._rendered||e<0||e>this._tableRows.length?Promise.resolve():this._adapter.collapseRow(this._tableConfiguration,e)}isRowExpanded(e){return this._adapter.isRowExpanded(this._tableConfiguration,e)}selectRowsByIndex(e,t){let l=e.map(i=>this._data[i]).filter(i=>!!i);this.selectRows(l,!t)}deselectRowsByIndex(e){let t=e.map(l=>this._data[l]).filter(l=>!!l);this.deselectRows(t)}_getSelectAllState(){return this._tableRows.length>0&&this._tableRows.every(e=>e.selected)}_updateSelections(e){this._tableRows.forEach(l=>l.selected=this._selectionManager.exists(l.data));let t=this._getSelectAllState();this._adapter.setSelectedRows(this._adapter.getTableElement(),this._selectKey,this._data,this._selectionManager.getItems(),e),(t!==this._isAllSelected||this._isIndeterminate(t))&&(this._isAllSelected=t,this._multiselect&&this._adapter.updateSelectAllState(this._adapter.getTableElement(),this._isAllSelected,this._isIndeterminate(this._isAllSelected)))}_onRowClick(e){if(e.stopImmediatePropagation(),e.target.tagName==="INPUT"&&e.target.type==="checkbox")return;let i=H(e).filter(m=>m.nodeType===1).find(m=>m.hasAttribute(o.attributes.CUSTOM_CELL_TEMPLATE));if(i&&i.hasAttribute(o.attributes.CUSTOM_CELL_TEMPLATE_STOP_PROPAGATION))return;let{index:n,data:r}=this._getSelectedRowFromEvent(e),c={index:n,data:r};this._adapter.emitHostEvent(o.events.ROW_CLICK,c,!0,!1)}_onRowDoubleClick(e){if(e.stopPropagation(),e.target.tagName==="INPUT"&&e.target.type==="checkbox")return;let t=this._getSelectedRowFromEvent(e),l={index:t.index,data:t.data};this._adapter.emitHostEvent(o.events.SELECT_DOUBLE,l,!0,!1)}_onRowSelected(e){let t=this._getSelectedRowFromEvent(e);this._multiselect||this._tableRows.filter(r=>r.selected).forEach(r=>{X(r.data,v(this._selectKey,t.data))||this.deselectRows([r.data])});let l=!this._selectionManager.exists(t.data);this._adapter.updateSelectedState(t.rowElement,l),l?this._selectionManager.add(t.data):this._selectionManager.remove(t.data),this._tableRows[t.index].selected=l;let i=[t.index],s=!1;if(this._multiselect){if(e.shiftKey&&this._previouslyClickedRow&&(i=this._shiftSelectRows(t),i.includes(this._previouslyClickedRow.index))){let r=i.indexOf(this._previouslyClickedRow.index);i.splice(r,1)}s=this._getSelectAllState(),this._adapter.updateSelectAllState(this._adapter.getTableElement(),s,this._isIndeterminate(s))}for(let n of i){let r=this._tableRows[n].data,m={selected:this._selectionManager.exists(r),index:n,data:r};this._adapter.emitHostEvent(o.events.SELECT,m,!0,!1)}if(this._isAllSelected!==s){this._isAllSelected=s;let n={status:this._isAllSelected,count:this._tableRows.filter(r=>r.selected).length,data:[...this._data],targetType:"row"};this._adapter.emitHostEvent(o.events.SELECT_ALL,n,!0,!1)}this._previouslyClickedRow=C({},t)}_getSelectedRowFromEvent(e){let l=H(e).find(r=>r.tagName==="TR"),i=l.parentElement,s=this._getNonExpandedRows(i).findIndex(r=>r===l),n=this._tableRows[s].data;return{rowElement:l,index:s,data:n}}_getNonExpandedRows(e){return Array.from(e.rows).filter(t=>!t.classList.contains(o.classes.TABLE_ROW_EXPANDABLE_CONTENT))}_onSelectAll(e){e.stopPropagation(),this._isAllSelected=!this._isAllSelected;let t=this._adapter.getTableElement();this._adapter.updateSelectAllState(t,this._isAllSelected),this._tableRows.forEach((i,s)=>{i.selected=this._isAllSelected,this._isAllSelected?this._selectionManager.add(i.data):this._selectionManager.remove(i.data);let n=a.getRowByIndex(t,s);n&&this._adapter.updateSelectedState(n,this._isAllSelected)});let l={status:this._isAllSelected,count:this._tableRows.filter(i=>i.selected).length,data:[...this._data],targetType:"select-all"};this._adapter.emitHostEvent(o.events.SELECT_ALL,l,!0,!1)}_onHeadRowContextMenu(e){e.preventDefault()}_onHeadRowMouseDown(e){if(e.button!==0)return;let t=H(e),l=e.target,i=t.find(r=>r.tagName==="TR"),s=t.find(r=>r.tagName==="TH"),n=Array.from(i.cells).findIndex(r=>r===s);this._headCellMouseDownIndex=n,l!==s&&l.classList.contains(o.classes.TABLE_RESIZE_HANDLE)&&(this._resizeDescriptor={element:s,startWidth:s.offsetWidth,startX:e.pageX,width:s.offsetWidth,index:this._select?n-1:n},this._adapter.addDocumentListener("mousemove",this._documentMouseMoveListener),this._adapter.setResizeColumnVisibility(this._tableConfiguration,n,!0)),this._adapter.addDocumentListener("mouseup",this._documentMouseUpListener)}_onMouseMove(e){if(this._resizeDescriptor){let t=this._resizeDescriptor.startWidth+(e.pageX-this._resizeDescriptor.startX);t<this._minResizeWidth&&(t=this._minResizeWidth),this._resizeDescriptor.width=t,this._resizeDescriptor.element.style.width=`${t}px`,this._adapter.addTableClass(o.classes.TABLE_RESIZING)}}_onMouseUp(e){if(this._adapter.removeDocumentListener("mousemove",this._documentMouseMoveListener),this._adapter.removeDocumentListener("mouseup",this._documentMouseUpListener),this._adapter.removeTableClass(o.classes.TABLE_RESIZING),this._headCellMouseDownIndex!==void 0){if(this._resizeDescriptor){this._adapter.normalizeColumnWidths(this._tableConfiguration),this._adapter.setResizeColumnVisibility(this._tableConfiguration,this._headCellMouseDownIndex,!1);let t={index:this._resizeDescriptor.index,width:this._resizeDescriptor.width};this._adapter.emitHostEvent(o.events.COLUMN_RESIZE,t),this._resizeDescriptor=void 0}else this._tableConfiguration.tableElement.tHead.contains(e.target)&&(this._multiColumnSort?this._onMultiSort(this._headCellMouseDownIndex,e.ctrlKey):this._onSort(this._headCellMouseDownIndex));this._headCellMouseDownIndex=void 0}}_onSort(e){let t=this._select?e-1:e,l=t>=0?this._visibleColumnConfigurations[t]:null;if(!l||!l.sortable)return;let i="ASC",s=t===this._sortedColumnIndex,n=this._sortDirection==="ASC"||this._sortDirection===void 0,r=s&&this._sortDirection==="DESC";s&&n&&(i="DESC"),r&&!l.preventUnsort&&(i="UNSET");let c={direction:i,columnIndex:t};if(!!this._adapter.emitHostEvent(o.events.SORT,c,!0,!0)){if(s&&this._sortDirection==="DESC"&&!l.preventUnsort){this._adapter.removeColumnSort(this._adapter.getTableElement(),this._select?this._sortedColumnIndex+1:this._sortedColumnIndex),this._sortedColumnIndex=-1;return}this._sortDirection=i,t===this._sortedColumnIndex?this._adapter.setSortDirection(this._adapter.getTableElement(),e,this._sortDirection):(this._sortedColumnIndex>=0&&this._adapter.removeColumnSort(this._adapter.getTableElement(),this._select?this._sortedColumnIndex+1:this._sortedColumnIndex),this._sortedColumnIndex=t,this._adapter.setSortedColumn(this._adapter.getTableElement(),e,this._sortDirection))}}_onMultiSort(e,t){let l=this._select?e-1:e,i=l>=0?this._visibleColumnConfigurations[l]:null;if(!i||!i.sortable)return;let s=this._multiSortManager.sortedColumns,n=this._multiSortManager.getSortColumn(l);n?this._multiSortManager.updateSortColumn(n):t?this._multiSortManager.addSortColumn({direction:"DESC",columnIndex:l,propertyName:i.property}):(this._multiSortManager.clearMultiSort(),this._multiSortManager.addSortColumn({direction:"DESC",columnIndex:l,propertyName:i.property}));let r=this._multiSortManager.sortedColumns.map(d=>C({},d));if(!this._adapter.emitHostEvent(o.events.SORT,r,!0,!0)){this._multiSortManager.setSortColumns(s);return}let m=this._multiSortManager.sortedColumns.length>1;for(let d=0;d<this._visibleColumnConfigurations.length;d++){let u=this._select?d+1:d;if(!this._multiSortManager.isSortColumn(d))this._adapter.removeColumnSort(this._adapter.getTableElement(),u),a.setMultiSortColumnSortNumber(this._adapter.getTableElement(),m,u,null);else{let T=this._multiSortManager.getSortColumn(d);T&&(this._adapter.setSortedColumn(this._adapter.getTableElement(),u,T.direction),a.setMultiSortColumnSortNumber(this._adapter.getTableElement(),m,u,T.sortOrder||null))}}}_onFilter(e,t){let l={value:e,columnIndex:t};this._adapter.emitHostEvent(o.events.FILTER,l,!0,!1)}_shiftSelectRows(e){let t=[];if(this._previouslyClickedRow){let l=this._previouslyClickedRow.index,i=e.index,s=i>=l?l:i,n=i>=l?i:l;n+=n>s?1:0,s+=s>n?1:0;let r=d=>this.selectRows(d,!1),c=this._tableRows.find(d=>d.selected&&d.data===e.data),m=this._tableRows.find(d=>{var u;return d.data===((u=this._previouslyClickedRow)==null?void 0:u.data)&&!d.selected});(!c||m)&&(r=d=>this.deselectRows(d));for(let d=s;d<n;d++)t.push(d);r(this.data.filter((d,u)=>t.includes(u)))}return t}_isIndeterminate(e){return!e&&this.getSelectedRows().length>0&&this._data.length!==this.getSelectedRows().length}_applyRoomy(){this._adapter.setRoomy(this._adapter.getTableElement(),this._roomy),this._adapter.setHostAttribute(o.attributes.ROOMY,this._roomy.toString())}_refreshTableSort(){if(this._sortedColumnIndex=this._visibleColumnConfigurations.findIndex(e=>e.initialSort),this._sortDirection=this._sortedColumnIndex>=0?this._visibleColumnConfigurations[this._sortedColumnIndex].sortDirection:void 0,this._multiColumnSort){let e=[];this._visibleColumnConfigurations.forEach((t,l)=>{typeof t.initialSort=="object"&&e.push({columnIndex:l,direction:t.initialSort.direction,sortOrder:t.initialSort.sortOrder,propertyName:t.property})}),this._multiSortManager.setSortColumns(e)}}};var E=class extends Q{constructor(){super();oe.define(te),this._foundation=new z(new N(this))}static get observedAttributes(){return[o.attributes.SELECT,o.attributes.MULTISELECT,o.attributes.SELECT_KEY,o.attributes.DENSE,o.attributes.ROOMY,o.attributes.FILTER,o.attributes.FIXED_HEADERS,o.attributes.LAYOUT_TYPE,o.attributes.WRAP_CONTENT,o.attributes.RESIZABLE,o.attributes.MIN_RESIZE_WIDTH,o.attributes.ALLOW_ROW_CLICK,o.attributes.MULTI_COLUMN_SORT,o.attributes.SELECT_CHECKBOX_ALIGNMENT,o.attributes.TOOLTIP_SELECT,o.attributes.TOOLTIP_SELECT_ALL]}initializedCallback(){this._foundation.initialize()}connectedCallback(){this._foundation.connect()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,l,i){switch(t){case o.attributes.SELECT:this.select=h(i);break;case o.attributes.MULTISELECT:this.multiselect=h(i);break;case o.attributes.SELECT_KEY:this.selectKey=i;break;case o.attributes.DENSE:this.dense=h(i);break;case o.attributes.ROOMY:this.roomy=h(i);break;case o.attributes.FILTER:this.filter=h(i);break;case o.attributes.FIXED_HEADERS:this.fixedHeaders=h(i);break;case o.attributes.LAYOUT_TYPE:this.layoutType=i;break;case o.attributes.WRAP_CONTENT:this.wrapContent=h(i);break;case o.attributes.RESIZABLE:this.resizable=h(i);break;case o.attributes.MIN_RESIZE_WIDTH:this.minResizeWidth=V(i);break;case o.attributes.ALLOW_ROW_CLICK:this.allowRowClick=h(i);break;case o.attributes.MULTI_COLUMN_SORT:this.multiColumnSort=h(i);break;case o.attributes.SELECT_CHECKBOX_ALIGNMENT:this.selectCheckboxAlignment=this.getAttribute(o.attributes.SELECT_CHECKBOX_ALIGNMENT)||"center";break;case o.attributes.TOOLTIP_SELECT:this.tooltipSelect=i;break;case o.attributes.TOOLTIP_SELECT_ALL:this.tooltipSelectAll=i;break}}hideColumn(t){this._foundation.hideColumn(t)}showColumn(t){this._foundation.showColumn(t)}isColumnHidden(t){return this._foundation.isColumnHidden(t)}getSelectedRows(){return this._foundation.getSelectedRows()}selectRow(t){this._foundation.selectRows([t],!1)}selectRows(t,l=!1){this._foundation.selectRows(t,!l)}deselectRow(t){this._foundation.deselectRows([t])}deselectRows(t){this._foundation.deselectRows(t)}clearSelections(){this._foundation.clearSelections()}render(){this._foundation.render()}expandRow(t,l){return this._foundation.expandRow(t,l)}collapseRow(t){return this._foundation.collapseRow(t)}isRowExpanded(t){return this._foundation.isRowExpanded(t)}selectRowsByIndex(t,l){typeof t=="number"?this._foundation.selectRowsByIndex([t],l):Array.isArray(t)&&this._foundation.selectRowsByIndex(t,l)}deselectRowsByIndex(t){typeof t=="number"?this._foundation.deselectRowsByIndex([t]):Array.isArray(t)&&this._foundation.deselectRowsByIndex(t)}isRowSelected(t){return this._foundation.isRowSelected(t)}};_([b()],E.prototype,"data",2),_([b()],E.prototype,"columnConfigurations",2),_([b()],E.prototype,"select",2),_([b()],E.prototype,"multiselect",2),_([b()],E.prototype,"selectKey",2),_([b()],E.prototype,"tooltipSelect",2),_([b()],E.prototype,"tooltipSelectAll",2),_([b()],E.prototype,"dense",2),_([b()],E.prototype,"roomy",2),_([b()],E.prototype,"filter",2),_([b()],E.prototype,"fixedHeaders",2),_([b()],E.prototype,"layoutType",2),_([b()],E.prototype,"wrapContent",2),_([b()],E.prototype,"resizable",2),_([b()],E.prototype,"minResizeWidth",2),_([b()],E.prototype,"allowRowClick",2),_([b()],E.prototype,"multiColumnSort",2),_([b()],E.prototype,"rowCreated",2),_([b()],E.prototype,"cellCreated",2),_([b()],E.prototype,"selectAllTemplate",2),_([b()],E.prototype,"selectCheckboxAlignment",2),E=_([J({name:o.elementName,dependencies:[ne,se,ce]})],E);function El(){j(E)}export{o as a,B as b,O as c,Le as d,N as e,P as f,z as g,E as h,El as i};
7
- //# sourceMappingURL=chunk.E6CYXNS2.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as n,b as r}from"./chunk.BE7PZANN.js";import{a as o,e as m,l as p}from"./chunk.Y4GKBJGI.js";import{f as t}from"./chunk.MCIQXNKY.js";var s=`${r}view`,a={elementName:s};var i="<template><slot></slot></template>",l=":host{display:block}:host([hidden]){display:none}",e=class extends p{constructor(){super(),m(this,i,l)}};e=t([n({name:a.elementName})],e);function M(){o(e)}export{a,e as b,M as c};
7
- //# sourceMappingURL=chunk.EGRUD7S7.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as J}from"./chunk.KU5CXXGS.js";import{a as Y,b as H}from"./chunk.RG6CDWEX.js";import{a as k}from"./chunk.6YPD6CQM.js";import{a as z}from"./chunk.4DAIIJ37.js";import{a as X}from"./chunk.VAKNDCLP.js";import{a as b}from"./chunk.V7WKXEZC.js";import{g,h as O}from"./chunk.MZLPUI6R.js";import{a as j,d as q}from"./chunk.JHBCYICS.js";import{d as $}from"./chunk.BE7PZANN.js";import{g as B}from"./chunk.Y4GKBJGI.js";import{d as R,e as P,f as M,i as U,x as K}from"./chunk.PN26D52V.js";import{b as h,d as V,h as A,j as v,n as L,p as G}from"./chunk.J2M2MXP2.js";import{a as x}from"./chunk.MCIQXNKY.js";var ce={POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold",SYNC_POPUP_WIDTH:"sync-popup-width",CONSTRAIN_POPUP_WIDTH:"constrain-popup-width",WRAP_OPTION_TEXT:"wrap-option-text",CHECKBOX_ELEMENT:"data-list-dropdown-checkbox",DATA_ALLOW_FOCUS:"data-list-dropdown-allow-focus"},ue={GROUP_WRAPPER:"forge-list-dropdown__group-wrapper"},m={attributes:ce,classes:ue},Q={options:[],syncWidth:!1,selectedValues:[],multiple:!1},Z=(o=>(o.None="none",o.Standard="standard",o.Menu="menu",o))(Z||{}),ee=(t=>(t.Spinner="spinner",t.Skeleton="skeleton",t))(ee||{});var I=class{constructor(){this._listenerMap=new Map}_emit(e,t){let o=this._listenerMap.get(e);o&&o.length&&o.forEach(n=>n({type:e,data:t}))}hasListeners(e){return e?this._listenerMap.has(e):this._listenerMap.size>0}addListener(e,t){if(!this._listenerMap.has(e))this._listenerMap.set(e,[t]);else{let o=this._listenerMap.get(e);o&&o.push(t)}}removeListener(e,t){let o=this._listenerMap.get(e);o&&o.length&&o.includes(t)&&(o.splice(o.indexOf(t),1),o.length||this._listenerMap.delete(e))}};var _;(function(i){i.Up="up",i.Down="down",i.Left="left",i.Right="right"})(_||(_={}));var u;(function(i){i.Scroll="scroll",i.Scrolled="scrolled",i.ScrolledStart="scrolled-start",i.ScrolledEnd="scrolled-end"})(u||(u={}));var me=100,E=class extends I{constructor(e,t={}){super(),this._element=e,this._config=t,this._axis="vertical",this._scrollThreshold=0,this._lastScrollPosition=0,this._lastScrollTop=0,this._lastScrollLeft=0,this._isListening=!1,this._initialize()}destroy(){this.stop()}start(){this._isListening||(this._element.addEventListener("scroll",this._scrollListener),this._isListening=!0)}stop(){this._element.removeEventListener("scroll",this._scrollListener),this._isListening=!1}_initialize(){if(this._config.throttle){let e=this._config.throttleTime||me;this._scrollListener=G(()=>this._onScroll(),e)}else this._scrollListener=()=>this._onScroll();(!h(this._config.paused)||!this._config.paused)&&this.start(),h(this._config.axis)&&(this._axis=this._config.axis),h(this._config.scrollThreshold)&&V(this._config.scrollThreshold)&&(this._scrollThreshold=this._config.scrollThreshold)}_isScrollAxis(){let e=this._lastScrollTop!==this._element.scrollTop,t=this._lastScrollLeft!==this._element.scrollLeft;return this._axis==="vertical"&&e||this._axis==="horizontal"&&t}_onScroll(){if(!this._isScrollAxis())return;let e=this.scrollPosition,t=this._lastScrollPosition-e<0?this._axis==="vertical"?_.Down:_.Right:this._axis==="vertical"?_.Up:_.Left;this._emit(u.Scroll,{direction:t,position:e}),this._lastScrollPosition<=this._scrollThreshold&&e>this._scrollThreshold?this._emit(u.Scrolled,!0):this._lastScrollPosition>=this._scrollThreshold&&(this._scrollThreshold>0?e<this._scrollThreshold:e===0)&&this._emit(u.Scrolled,!1);let o=Math.round(e-this._scrollThreshold),n=Math.round(this.scrollSize-e);this._lastScrollPosition>=this._scrollThreshold&&o<=0?this._emit(u.ScrolledStart):this._lastScrollPosition<=this.scrollSize-this._scrollThreshold&&n<=this._scrollThreshold&&this._emit(u.ScrolledEnd),this._lastScrollPosition=e||0,this._lastScrollTop=this._element.scrollTop||0,this._lastScrollLeft=this._element.scrollLeft||0}get scrollPosition(){return this._axis==="vertical"?this._element.scrollTop:this._element.scrollLeft}get isScrolled(){return this.scrollPosition>this._scrollThreshold}get isScrolledStart(){return this.scrollPosition===0}get isScrolledEnd(){return this.scrollPosition===this._element.scrollWidth}get isScrollable(){return this._axis==="vertical"?this._element.scrollHeight>this._element.clientHeight:this._element.scrollWidth>this._element.clientWidth}get scrollSize(){return(this._axis==="vertical"?this._element.scrollHeight:this._element.scrollWidth)-this.elementSize}get elementSize(){return this._axis==="vertical"?this._element.clientHeight:this._element.clientWidth}setScrollPosition(e){this._axis==="vertical"?this._element.scrollTop=e:this._element.scrollLeft=e}};function ie(i,e){let t=he(i,e),o=`list-dropdown-popup-${i.id}`;switch(t.addEventListener("mousedown",n=>{let a=z(n);if(a.find(c=>c.nodeType===1&&c.hasAttribute(m.attributes.DATA_ALLOW_FOCUS)))return;a.find(c=>c.id===o||c.id===i.id)&&n.preventDefault()}),i.type){case"menu":t.setAttribute("role","menu"),t.setAttribute("aria-orientation","vertical");break;default:t.setAttribute("role","listbox")}return i.id&&(t.id=o),i.popupClasses&&M(i.popupClasses,t),t}function he(i,e){var o;let t=document.createElement("forge-popup");switch(t.targetElement=e,t.placement=i.popupPlacement||"bottom-start",t.manageFocus=!1,t.static=!!i.popupStatic,(o=i.popupFallbackPlacements)!=null&&o.length&&(t.fallbackPlacements=i.popupFallbackPlacements),i.constrainViewportWidth&&t.setAttribute(b.attributes.CONSTRAIN_VIEWPORT_WIDTH,""),i.popupOffset&&(t.offset=i.popupOffset),i.type){case"menu":t.animationType="menu";break;case"none":t.animationType="none";break;default:t.animationType="dropdown"}return t}function oe(i){let e=document.createElement(Y.elementName);return e.id=`list-dropdown-list-${i.id}`,e.propagateClick=!1,e}function w(i,e,t){let o=be(t||i.options),n=N(o),a=!!i.optionLimit,p=i.optionLimit||0,f=0;for(let c of o){let T=e;if(c.builder&&typeof c.builder=="function"){let s=c.builder(c);if(s){let d=document.createElement("div");d.classList.add(m.classes.GROUP_WRAPPER),T=d,typeof s=="string"?d.innerHTML=s:s instanceof HTMLElement&&d.appendChild(s),e.appendChild(d)}}else if(c.text){let s=document.createElement("div");s.classList.add(m.classes.GROUP_WRAPPER);let d=document.createElement("div");d.textContent=c.text,d.classList.add("forge-typography--overline"),d.style.fontFamily="Roboto,sans-serif",d.style.fontSize="0.75rem",d.style.lineHeight="2rem",d.style.letterSpacing="0.16667em",d.style.fontWeight="500",d.style.margin="4px 8px",T=s,s.appendChild(d),e.appendChild(s)}for(let s of c.options){if(s.divider){let r=_e();e.appendChild(r);continue}if(a&&--p<0)break;f++;let d=i.selectedValues?i.selectedValues.some(r=>L(r,s.value)):!1,l=document.createElement("forge-list-item");switch(l.value=s.value,l.id=`list-dropdown-option-${i.id}-${f}`,l.style.cursor="pointer",i.wrapOptionText&&(l.wrap=!0),s.optionClass&&(typeof s.optionClass=="string"||Array.isArray(s.optionClass)&&s.optionClass.length)&&M(s.optionClass,l),i.type){case"menu":l.setAttribute("role","menuitem");break;case"none":break;default:l.setAttribute("role","option")}if(i.dense&&(l.dense=!0),i.optionBuilder&&typeof i.optionBuilder=="function"){let r=i.optionBuilder(s,l);r&&(typeof r=="string"?l.innerHTML=r:l.appendChild(r))}else if(typeof i.transform!="function")l.textContent=s.label||"";else{let r=i.transform(s.label);typeof r=="string"?l.textContent=r:typeof r=="object"&&r.nodeType!==void 0&&l.appendChild(r)}if(i.multiple){let r=y(d);l.appendChild(r),l.setAttribute("aria-selected",`${d}`),l.setAttribute("aria-checked",`${d}`)}if(s.elementAttributes&&s.elementAttributes.forEach((r,F)=>{l.setAttribute(F,r)}),s.leadingBuilder){let r=s.leadingBuilder();v(r)&&(r.slot="leading",l.appendChild(r))}else if(s.leadingIcon){let r=te(s.leadingIconType,s.leadingIcon,s.leadingIconClass||i.iconClass);r.slot="leading",l.appendChild(r)}if(s.trailingBuilder){let r=s.trailingBuilder();v(r)&&(r.slot="trailing",l.appendChild(r))}else if(s.trailingIcon){let r=te(s.trailingIconType,s.trailingIcon,s.trailingIconClass||i.iconClass);r.slot="trailing",l.appendChild(r)}if(s.disabled?(l.disabled=s.disabled,l.setAttribute("aria-disabled","true")):(l.style.cursor="pointer",l.setAttribute("aria-disabled","false")),d&&(l.selected=!0),l.setAttribute("aria-selected",d?"true":"false"),!s.disabled&&typeof i.cascadingElementFactory=="function"&&Array.isArray(s.options)&&s.options.length){let r=document.createElement("forge-icon");r.name="arrow_right",r.slot="trailing",l.appendChild(r);let de={index:n.filter(ae=>!ae.divider).indexOf(s),options:s.options,parentValue:s.value},W=i.cascadingElementFactory.call(null,de);W.appendChild(l),l=W}T.appendChild(l)}}}function y(i){let e=document.createElement("forge-icon");return e.setAttribute(m.attributes.CHECKBOX_ELEMENT,""),e.name=i?O.name:g.name,e.slot="leading",e.style.marginRight="16px",e.style.verticalAlign="middle",e}function _e(){let i=document.createElement("forge-divider");return i.setAttribute("aria-hidden","true"),i}function te(i="font",e,t){if(i==="component"){let n=document.createElement("forge-icon");return t&&n.classList.add(t),n.setAttribute("aria-hidden","true"),n.name=e,n}let o=document.createElement("i");return o.classList.add(t||$),o.setAttribute("aria-hidden","true"),o.textContent=e,o}function ne(i){switch(i){case"skeleton":return ve();default:return fe()}}function fe(){let i=document.createElement("div");i.style.display="flex",i.style.justifyContent="center",i.style.alignItems="center",i.style.padding="8px",i.style.boxSizing="border-box";let e=document.createElement("forge-circular-progress");return e.style.setProperty("--forge-circular-progress-size","24px"),i.appendChild(e),i}function ve(){let i=document.createElement("forge-list"),e=document.createElement("div");e.style.minWidth="192px";for(let t=0;t<3;t++){let o=document.createElement(J.elementName);o.setAttribute("list-item",""),e.appendChild(o)}return i.appendChild(e),i}function se(){let i=document.createElement(X.elementName);return i.determinate=!1,i.style.position="absolute",i.style.top="0",i.style.left="0",i.style.right="0",i.style.width="100%",i}function be(i){return re(i,1)?i:[{text:"",options:i}]}function re(i,e){let t=i.some(n=>h(n)&&v(n)&&n.hasOwnProperty("options")&&(n.hasOwnProperty("text")||n.hasOwnProperty("builder"))),o=i.some(n=>h(n)&&v(n)&&n.hasOwnProperty("label")&&n.hasOwnProperty("value"));return t&&e===1||o&&e===0}function N(i){return re(i,1)?i.reduce((t,o)=>t.concat(o.options),[]):[...i]}var C=class{constructor(e,t){this._adapter=e;this._open=!1;this._config=Object.assign(x({},Q),x({},t)),this._selectListener=(o,n)=>this._onSelect(o,n),this._closeListener=()=>{typeof this._config.closeCallback=="function"&&this._config.closeCallback()},this._scrollEndListener=()=>{this._config.observeScroll&&typeof this._config.scrollEndListener=="function"&&this._config.scrollEndListener()}}destroy(){this._open&&this.close()}open(){this._open||(this._open=!0,this._adapter.open(this._config,this._selectListener,this._closeListener),window.requestAnimationFrame(()=>{this._open&&this.activateInitialOption()}),this._config.observeScroll&&this._config.scrollEndListener&&this._adapter.setScrollBottomListener(this._scrollEndListener,this._config.observeScrollThreshold||0))}close(){this._open&&(this._open=!1,this._adapter.close(),this._config.observeScroll&&this._config.scrollEndListener&&this._adapter.removeScrollBottomListener(this._scrollEndListener))}_onSelect(e,t){if(typeof this._config.activeChangeCallback=="function"&&this._config.activeChangeCallback(t),typeof this._config.selectCallback=="function"&&this._config.selectCallback(e),this._open){let o=this._config.syncWidth===void 0;this._adapter.syncWidth(o)}}getActiveOptionIndex(){return this._adapter.getActiveOptionIndex()}getActiveOption(){let e=this.getActiveOptionIndex();return e>=0?this._nonDividerOptions[e]:void 0}toggleOptionMultiple(e,t){return this._adapter.toggleOptionMultiple(e,t)}activateSelectedOption(){this._adapter.activateSelectedOption(this._config)}activateFirstOption(){let e=this._nonDividerOptions.findIndex(t=>!t.disabled);return e!==-1&&this.activateOption(e),e}activateLastOption(){let e=this._nonDividerOptions,t=e.length-1-e.findIndex(o=>!o.disabled);return t!==-1&&this.activateOption(t),t}activateOption(e,t){return this._adapter.activateOption(e,this._config.activeChangeCallback,t)}activateInitialOption(){typeof this._config.activeStartIndex=="number"&&this._nonDividerOptions[this._config.activeStartIndex]?(this.activateOption(this._config.activeStartIndex,!1),this._adapter.scrollSelectedOptionIntoView(!1)):this._config.selectedValues&&this._config.selectedValues.length?this._adapter.scrollSelectedOptionIntoView(!1):typeof this._config.visibleStartIndex=="number"&&this._nonDividerOptions[this._config.visibleStartIndex]&&this._adapter.scrollOptionIntoView(this._config.visibleStartIndex)}setSelectedValues(e){Array.isArray(e)||(e=[e]),!this._config.multiple&&e.length>1&&(e=[e[0]]),this._config.selectedValues=e,this._adapter.setSelectedValues(e,this._config.multiple)}clearActiveOption(){this._adapter.clearActiveOption()}setOptions(e){this._config.options=e,this._open&&(this._adapter.setOptions(this._config),this.activateInitialOption())}appendOptions(e){this._config.options=[...this._config.options,...e],this._open&&this._adapter.appendOptions(e,this._config)}get dropdownElement(){return this._adapter.dropdownElement}scrollSelectedOptionIntoView(e=!0){this._adapter.scrollSelectedOptionIntoView(e)}setScrollBottomListener(e,t){this._config.scrollEndListener=e,this._config.observeScroll=!0,this._config.observeScrollThreshold=t,this._adapter.setScrollBottomListener(this._scrollEndListener,this._config.observeScrollThreshold||0)}removeScrollBottomListener(){this._config.scrollEndListener=void 0,this._adapter.removeScrollBottomListener(this._scrollEndListener)}setBusyVisibility(e){!this._config.allowBusy||this._adapter.setBusyVisibility(e)}handleKey(e){switch(e){case"Enter":case"NumpadEnter":let t=this.getActiveOptionIndex(),o=this._nonDividerOptions[t];if(this._canSelectOption(o)){let p=this._adapter.getActiveOptionIdByIndex(t);p&&this._onSelect(o.value,p)}break;case"Up":case"ArrowUp":case"Down":case"ArrowDown":let n=this._nonDividerOptions;if(n.length&&n.every(p=>!this._canSelectOption(p)))return;let a=this._getNextActiveOptionIndex(e);this.activateOption(a);break;case"Home":this.activateFirstOption();break;case"End":this.activateLastOption();break}}_canSelectOption(e){return e&&!e.disabled&&!e.divider}_getNextActiveOptionIndex(e){let t=this._adapter.getActiveOptionIndex();return t===-1&&(t=this._adapter.getSelectedOptionIndex()),e==="ArrowUp"||e==="Up"?this._getPreviousHighlightableOptionIndex(t,this._nonDividerOptions):this._getNextHighlightableOptionIndex(t,this._nonDividerOptions)}_getPreviousHighlightableOptionIndex(e,t){let o=e<=0?t.length-1:e-1;return t[o].disabled?this._getPreviousHighlightableOptionIndex(o,t):o}_getNextHighlightableOptionIndex(e,t){let o=e===t.length-1?0:e+1;return t[o].disabled?this._getNextHighlightableOptionIndex(o,t):o}get _flatOptions(){return N(this._config.options)}get _nonDividerOptions(){return this._flatOptions.filter(e=>!e.divider)}};var S=class{constructor(e){this._targetElement=e}get dropdownElement(){return this._dropdownElement}open(e,t,o){this._dropdownElement=ie(e,this._targetElement),this.syncWidth(!!e.syncWidth,e.targetWidthCallback),e.allowBusy&&(this._busyElement=se(),this._busyElement.style.display="none",this._dropdownElement.appendChild(this._busyElement)),e.headerBuilder&&(this._headerElement=e.headerBuilder(),this._headerElement&&this._headerElement.setAttribute(m.attributes.DATA_ALLOW_FOCUS,"")),e.footerBuilder&&(this._footerElement=e.footerBuilder(),this._footerElement&&this._footerElement.setAttribute(m.attributes.DATA_ALLOW_FOCUS,"")),this._listElement=oe(e),this._listElement.addEventListener(H.events.SELECT,n=>{n.detail.listItem.setAttribute("aria-selected","true"),t(n.detail.value,n.detail.listItem.id)}),e.options.length?(w(e,this._listElement),this._dropdownElement.appendChild(this._listElement),this._headerElement&&this._dropdownElement.insertAdjacentElement("afterbegin",this._headerElement),this._footerElement&&this._dropdownElement.appendChild(this._footerElement)):e.allowBusy&&(this._asyncElement=ne(e.asyncStyle),this._dropdownElement.appendChild(this._asyncElement)),this._announcerElement=k(),this._announcerElement.id=`${e.id}-activedescendant`,this._dropdownElement.appendChild(this._announcerElement),this._dropdownElement.open=!0}close(){!this._dropdownElement||(this._dropdownElement.open=!1,this._dropdownElement=void 0,this._listElement=void 0,this._announcerElement=void 0)}setScrollBottomListener(e,t){if(this._dropdownElement&&!this._scrollObserver){let o=B(this._dropdownElement,b.selectors.CONTAINER),n={scrollThreshold:t};this._scrollObserver=new E(o,n),this._scrollObserver.addListener(u.ScrolledEnd,e)}}removeScrollBottomListener(e){this._scrollObserver&&this._scrollObserver.removeListener(u.ScrolledEnd,e)}getActiveOptionIndex(){if(!this._dropdownElement)return-1;let e=this._getListItemElements(),t=[...e].reverse().find(o=>o.active);return t?e.indexOf(t):-1}getSelectedOptionIndex(){return this._getListItemElements().findIndex(t=>t.selected)}getActiveOptionIdByIndex(e){if(!this._dropdownElement)return null;let o=this._getListItemElements()[e];return o?o.id:null}toggleOptionMultiple(e,t){if(!this._dropdownElement)return;let o=this._getListItemElements();o.length&&o[e]&&this._toggleSelectedOption(o[e],t)}scrollOptionIntoView(e,t=!0){let o=this._getListItemElements()[e];o&&this._scrollListItemIntoView(o,t?"smooth":"auto","center")}scrollSelectedOptionIntoView(e=!0){let t=this._getSelectedListItem();this._scrollListItemIntoView(t,e?"smooth":"auto","center")}activateSelectedOption(e){let t=this._getListItemElements();t.length&&t.filter(a=>a.active).forEach(a=>a.active=!1);let o=this._getSelectedListItem();o&&this._activateListOption(o,e.activeChangeCallback)}activateOption(e,t,o=!0){if(!this._dropdownElement)return;let n=this._getListItemElements();n.length&&(n.filter(p=>p.active).forEach(p=>p.active=!1),this._activateListOption(n[e],t),this._scrollListItemIntoView(n[e],o?"smooth":"auto"))}setSelectedValues(e,t=!1){if(!this._dropdownElement)return;let o=this._getListItemElements();for(let n of o){let a=e.some(p=>L(p,n.value));if(n.selected=a,t){let p=n.querySelector(`[${m.attributes.CHECKBOX_ELEMENT}]`);if(p){let f=y(a);P(f,p)}}}}clearActiveOption(){this._getListItemElements().forEach(t=>t.active=!1)}syncWidth(e,t){this._dropdownElement&&(this._dropdownElement.style[e?"width":"minWidth"]=`${this._getTargetElementWidth(t)}px`)}setOptions(e){!this._dropdownElement||!this._listElement||(this._asyncElement&&this._asyncElement.isConnected&&U(this._asyncElement),this._busyElement&&this._busyElement.close(),this._listElement.isConnected||this._dropdownElement.appendChild(this._listElement),R(this._listElement),w(e,this._listElement),this._headerElement&&!this._headerElement.isConnected&&this._dropdownElement.insertAdjacentElement("afterbegin",this._headerElement),this._footerElement&&!this._footerElement.isConnected&&this._dropdownElement.insertAdjacentElement("beforeend",this._footerElement),"position"in this._dropdownElement&&typeof this._dropdownElement.position=="function"&&this._dropdownElement.position())}appendOptions(e,t){!this._dropdownElement||!this._listElement||w(t,this._listElement,e)}setBusyVisibility(e){!this._dropdownElement||(e?(this._busyElement.style.removeProperty("display"),this._busyElement.open()):this._busyElement.close())}getScreenWidth(){return window.innerWidth}_getListItemElements(){return this._dropdownElement?Array.from(this._dropdownElement.querySelectorAll(H.elementName)):[]}_toggleSelectedOption(e,t){if(!this._dropdownElement)return;let o=this._getListItemElements();if(o.length){let a=o.filter(p=>p!==e&&p.active);a.length&&a.forEach(p=>p.active=!1)}e.selected=t,e.setAttribute("aria-selected",`${t}`),e.setAttribute("aria-checked",`${t}`),t&&(e.active=!0);let n=e.querySelector(`${j.elementName}[slot=leading]`);if(n){let a=y(t);P(a,n)}}_getTargetElementWidth(e){return e&&A(e)?e():this._targetElement.getBoundingClientRect().width}_activateListOption(e,t){e&&!e.disabled&&(e.active=!0,t&&A(t)&&t(e.id))}_scrollListItemIntoView(e,t="auto",o="nearest"){if(e&&this._dropdownElement&&this._dropdownElement.isConnected){let n=B(this._dropdownElement,b.selectors.CONTAINER);n&&K(n,e,t,o)}}_getSelectedListItem(){return this._getListItemElements().find(t=>t.selected)}};var le=class{constructor(e,t){this._targetElement=e;q.define([O,g]),this._foundation=new C(new S(this._targetElement),t)}destroy(){this._foundation.destroy()}open(){this._foundation.open()}close(){this._foundation.close()}getActiveOptionIndex(){return this._foundation.getActiveOptionIndex()}getActiveOption(){return this._foundation.getActiveOption()}toggleOptionMultiple(e,t){return this._foundation.toggleOptionMultiple(e,t)}activateSelectedOption(){this._foundation.activateSelectedOption()}activateFirstOption(){return this._foundation.activateFirstOption()}activateOption(e){return this._foundation.activateOption(e)}activateInitialOption(){return this._foundation.activateInitialOption()}clearActiveOption(){this._foundation.clearActiveOption()}setSelectedValues(e){return this._foundation.setSelectedValues(e)}get dropdownElement(){return this._foundation.dropdownElement}setOptions(e){this._foundation.setOptions(e)}appendOptions(e){this._foundation.appendOptions(e)}scrollSelectedOptionIntoView(e){this._foundation.scrollSelectedOptionIntoView()}setScrollBottomListener(e,t){this._foundation.setScrollBottomListener(e,t)}removeScrollBottomListener(){this._foundation.removeScrollBottomListener()}setBusyVisibility(e){this._foundation.setBusyVisibility(e)}handleKey(e){this._foundation.handleKey(e)}};var D=class{constructor(){this._popupClasses=[];this._syncPopupWidth=!1;this._optionLimit=0;this._observeScroll=!1;this._observeScrollThreshold=0;this._constrainPopupWidth=!0;this._wrapOptionText=!1}get syncPopupWidth(){return this._syncPopupWidth}set syncPopupWidth(e){this._syncPopupWidth=e}get popupClasses(){return this._popupClasses}set popupClasses(e){typeof e=="string"&&(e=[e]),Array.isArray(e)&&(this._popupClasses=e)}get observeScroll(){return this._observeScroll}set observeScroll(e){this._observeScroll=e}get observeScrollThreshold(){return this._observeScrollThreshold}set observeScrollThreshold(e){this._observeScrollThreshold=e}get optionLimit(){return this._optionLimit}set optionLimit(e){this._optionLimit=e}get popupHeaderBuilder(){return this._popupHeaderBuilder}set popupHeaderBuilder(e){this._popupHeaderBuilder=e}get popupFooterBuilder(){return this._popupFooterBuilder}set popupFooterBuilder(e){this._popupFooterBuilder=e}get constrainPopupWidth(){return this._constrainPopupWidth}set constrainPopupWidth(e){this._constrainPopupWidth=e}get wrapOptionText(){return this._wrapOptionText}set wrapOptionText(e){this._wrapOptionText=e}_applySelection(){}};var pe=class extends D{constructor(t){super();this._config=t;this._open=!1;this._options=[];this._childOpen=!1;this._popupHasMouse=!1;this._targetMouseEnterListener=o=>this._onTargetMouseEnter(o),this._targetMouseLeaveListener=o=>this._onTargetMouseLeave(o),this._childPopupMouseEnterListener=()=>this._onChildPopupMouseEnter(),this._childPopupMouseLeaveListener=()=>this._onChildPopupMouseLeave(),this._documentMouseMoveListener=o=>this._mouseCoords={x:o.pageX,y:o.pageY}}_onChildPopupMouseEnter(){this._popupHasMouse=!0}_onChildPopupMouseLeave(){this._popupHasMouse=!1,setTimeout(()=>{let t=document.elementFromPoint(this._mouseCoords.x,this._mouseCoords.y);!this._popupHasMouse&&!this._childOpen&&(!t||!this._isOwnElement(t))&&(this._setCascadeTargetInactive(),this._closeDropdown())},this._config.popupTimeout)}_onTargetMouseEnter(t){!this._options.length||this._openDropdown({fromKeyboard:!1})}_onTargetMouseLeave(t){this._activeMouseLeaveTimeout=window.setTimeout(()=>{if(!(!this._open||this._childOpen)){if(this._mouseCoords){let o=document.elementFromPoint(this._mouseCoords.x,this._mouseCoords.y);if(o&&this._isOwnElement(o))return}this._setCascadeTargetInactive(),this._closeDropdown()}},this._config.targetTimeout)}_clearMouseLeaveTimeout(){this._activeMouseLeaveTimeout!==void 0&&window.clearTimeout(this._activeMouseLeaveTimeout)}};export{m as a,Q as b,Z as c,ee as d,re as e,C as f,S as g,le as h,D as i,pe as j};
7
- //# sourceMappingURL=chunk.ESR2NHOS.js.map