@tylertech/forge 2.0.0 → 2.1.0

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 (444) hide show
  1. package/README.md +30 -13
  2. package/dist/esm/accordion/index.js +39 -0
  3. package/dist/esm/accordion/index.js.map +7 -0
  4. package/dist/esm/app-bar/help-button/index.js +58 -0
  5. package/dist/esm/app-bar/help-button/index.js.map +7 -0
  6. package/dist/esm/app-bar/index.js +136 -0
  7. package/dist/esm/app-bar/index.js.map +7 -0
  8. package/dist/esm/app-bar/menu-button/index.js +41 -0
  9. package/dist/esm/app-bar/menu-button/index.js.map +7 -0
  10. package/dist/esm/app-bar/notification-button/index.js +46 -0
  11. package/dist/esm/app-bar/notification-button/index.js.map +7 -0
  12. package/dist/esm/app-bar/profile-button/index.js +51 -0
  13. package/dist/esm/app-bar/profile-button/index.js.map +7 -0
  14. package/dist/esm/app-bar/search/index.js +43 -0
  15. package/dist/esm/app-bar/search/index.js.map +7 -0
  16. package/dist/esm/autocomplete/index.js +77 -0
  17. package/dist/esm/autocomplete/index.js.map +7 -0
  18. package/dist/esm/avatar/index.js +33 -0
  19. package/dist/esm/avatar/index.js.map +7 -0
  20. package/dist/esm/backdrop/index.js +28 -0
  21. package/dist/esm/backdrop/index.js.map +7 -0
  22. package/dist/esm/badge/index.js +31 -0
  23. package/dist/esm/badge/index.js.map +7 -0
  24. package/dist/esm/banner/index.js +45 -0
  25. package/dist/esm/banner/index.js.map +7 -0
  26. package/dist/esm/bottom-sheet/index.js +45 -0
  27. package/dist/esm/bottom-sheet/index.js.map +7 -0
  28. package/dist/esm/busy-indicator/index.js +37 -0
  29. package/dist/esm/busy-indicator/index.js.map +7 -0
  30. package/dist/esm/button/index.js +29 -0
  31. package/dist/esm/button/index.js.map +7 -0
  32. package/dist/esm/button-toggle/button-toggle/index.js +33 -0
  33. package/dist/esm/button-toggle/button-toggle/index.js.map +7 -0
  34. package/dist/esm/button-toggle/button-toggle-group/index.js +32 -0
  35. package/dist/esm/button-toggle/button-toggle-group/index.js.map +7 -0
  36. package/dist/esm/button-toggle/index.js +46 -0
  37. package/dist/esm/button-toggle/index.js.map +7 -0
  38. package/dist/esm/calendar/calendar-dropdown/index.js +35 -0
  39. package/dist/esm/calendar/calendar-dropdown/index.js.map +7 -0
  40. package/dist/esm/calendar/calendar-menu/index.js +48 -0
  41. package/dist/esm/calendar/calendar-menu/index.js.map +7 -0
  42. package/dist/esm/calendar/core/index.js +13 -0
  43. package/dist/esm/calendar/core/index.js.map +7 -0
  44. package/dist/esm/calendar/index.js +199 -0
  45. package/dist/esm/calendar/index.js.map +7 -0
  46. package/dist/esm/card/index.js +22 -0
  47. package/dist/esm/card/index.js.map +7 -0
  48. package/dist/esm/checkbox/index.js +44 -0
  49. package/dist/esm/checkbox/index.js.map +7 -0
  50. package/dist/esm/chip-field/index.js +51 -0
  51. package/dist/esm/chip-field/index.js.map +7 -0
  52. package/dist/esm/chips/chip/index.js +42 -0
  53. package/dist/esm/chips/chip/index.js.map +7 -0
  54. package/dist/esm/chips/chip-set/index.js +42 -0
  55. package/dist/esm/chips/chip-set/index.js.map +7 -0
  56. package/dist/esm/chips/index.js +55 -0
  57. package/dist/esm/chips/index.js.map +7 -0
  58. package/dist/esm/chunks/chunk.2F6PST3N.js +476 -0
  59. package/dist/esm/chunks/chunk.2F6PST3N.js.map +7 -0
  60. package/dist/esm/chunks/chunk.2FXYTBYG.js +1450 -0
  61. package/dist/esm/chunks/chunk.2FXYTBYG.js.map +7 -0
  62. package/dist/esm/chunks/chunk.2LQMHAC7.js +187 -0
  63. package/dist/esm/chunks/chunk.2LQMHAC7.js.map +7 -0
  64. package/dist/esm/chunks/chunk.2LSEVYAC.js +342 -0
  65. package/dist/esm/chunks/chunk.2LSEVYAC.js.map +7 -0
  66. package/dist/esm/chunks/chunk.2NUAEZY7.js +221 -0
  67. package/dist/esm/chunks/chunk.2NUAEZY7.js.map +7 -0
  68. package/dist/esm/chunks/chunk.35U3UPDV.js +70 -0
  69. package/dist/esm/chunks/chunk.35U3UPDV.js.map +7 -0
  70. package/dist/esm/chunks/chunk.3KCCCXWS.js +344 -0
  71. package/dist/esm/chunks/chunk.3KCCCXWS.js.map +7 -0
  72. package/dist/esm/chunks/chunk.3NOZRZ7R.js +145 -0
  73. package/dist/esm/chunks/chunk.3NOZRZ7R.js.map +7 -0
  74. package/dist/esm/chunks/chunk.3ZKORL4I.js +212 -0
  75. package/dist/esm/chunks/chunk.3ZKORL4I.js.map +7 -0
  76. package/dist/esm/chunks/chunk.4BG22DGY.js +317 -0
  77. package/dist/esm/chunks/chunk.4BG22DGY.js.map +7 -0
  78. package/dist/esm/chunks/chunk.4HQ5VELO.js +793 -0
  79. package/dist/esm/chunks/chunk.4HQ5VELO.js.map +7 -0
  80. package/dist/esm/chunks/chunk.4JURZYE4.js +410 -0
  81. package/dist/esm/chunks/chunk.4JURZYE4.js.map +7 -0
  82. package/dist/esm/chunks/chunk.4UKSUUTX.js +296 -0
  83. package/dist/esm/chunks/chunk.4UKSUUTX.js.map +7 -0
  84. package/dist/esm/chunks/chunk.4V5O2CPU.js +417 -0
  85. package/dist/esm/chunks/chunk.4V5O2CPU.js.map +7 -0
  86. package/dist/esm/chunks/chunk.52F6VUCF.js +273 -0
  87. package/dist/esm/chunks/chunk.52F6VUCF.js.map +7 -0
  88. package/dist/esm/chunks/chunk.5EEEKOOK.js +552 -0
  89. package/dist/esm/chunks/chunk.5EEEKOOK.js.map +7 -0
  90. package/dist/esm/chunks/chunk.5NXVVSTU.js +243 -0
  91. package/dist/esm/chunks/chunk.5NXVVSTU.js.map +7 -0
  92. package/dist/esm/chunks/chunk.5VKAVHLM.js +610 -0
  93. package/dist/esm/chunks/chunk.5VKAVHLM.js.map +7 -0
  94. package/dist/esm/chunks/chunk.6KTLOA7V.js +6 -0
  95. package/dist/esm/chunks/chunk.6KTLOA7V.js.map +7 -0
  96. package/dist/esm/chunks/chunk.6V463G4I.js +105 -0
  97. package/dist/esm/chunks/chunk.6V463G4I.js.map +7 -0
  98. package/dist/esm/chunks/chunk.7FC5CPLE.js +603 -0
  99. package/dist/esm/chunks/chunk.7FC5CPLE.js.map +7 -0
  100. package/dist/esm/chunks/chunk.7G2S3DCM.js +458 -0
  101. package/dist/esm/chunks/chunk.7G2S3DCM.js.map +7 -0
  102. package/dist/esm/chunks/chunk.7I2XNJBL.js +593 -0
  103. package/dist/esm/chunks/chunk.7I2XNJBL.js.map +7 -0
  104. package/dist/esm/chunks/chunk.7KILTPJ6.js +72 -0
  105. package/dist/esm/chunks/chunk.7KILTPJ6.js.map +7 -0
  106. package/dist/esm/chunks/chunk.7XGNGXLR.js +648 -0
  107. package/dist/esm/chunks/chunk.7XGNGXLR.js.map +7 -0
  108. package/dist/esm/chunks/chunk.7Y4NHCJH.js +338 -0
  109. package/dist/esm/chunks/chunk.7Y4NHCJH.js.map +7 -0
  110. package/dist/esm/chunks/chunk.AHQ6QX3J.js +716 -0
  111. package/dist/esm/chunks/chunk.AHQ6QX3J.js.map +7 -0
  112. package/dist/esm/chunks/chunk.AYOZGYGO.js +21 -0
  113. package/dist/esm/chunks/chunk.AYOZGYGO.js.map +7 -0
  114. package/dist/esm/chunks/chunk.BKMWXPAS.js +439 -0
  115. package/dist/esm/chunks/chunk.BKMWXPAS.js.map +7 -0
  116. package/dist/esm/chunks/chunk.BOWCSPCH.js +2428 -0
  117. package/dist/esm/chunks/chunk.BOWCSPCH.js.map +7 -0
  118. package/dist/esm/chunks/chunk.BYN27JXZ.js +51 -0
  119. package/dist/esm/chunks/chunk.BYN27JXZ.js.map +7 -0
  120. package/dist/esm/chunks/chunk.BZPQIDQP.js +602 -0
  121. package/dist/esm/chunks/chunk.BZPQIDQP.js.map +7 -0
  122. package/dist/esm/chunks/chunk.C2MR3RDF.js +202 -0
  123. package/dist/esm/chunks/chunk.C2MR3RDF.js.map +7 -0
  124. package/dist/esm/chunks/chunk.C64YUJHS.js +55 -0
  125. package/dist/esm/chunks/chunk.C64YUJHS.js.map +7 -0
  126. package/dist/esm/chunks/chunk.CGHKW6S6.js +683 -0
  127. package/dist/esm/chunks/chunk.CGHKW6S6.js.map +7 -0
  128. package/dist/esm/chunks/chunk.CKS5A4YN.js +6 -0
  129. package/dist/esm/chunks/chunk.CKS5A4YN.js.map +7 -0
  130. package/dist/esm/chunks/chunk.COF6DD6T.js +293 -0
  131. package/dist/esm/chunks/chunk.COF6DD6T.js.map +7 -0
  132. package/dist/esm/chunks/chunk.D4XU5MZN.js +1203 -0
  133. package/dist/esm/chunks/chunk.D4XU5MZN.js.map +7 -0
  134. package/dist/esm/chunks/chunk.D5DMZ7ZG.js +350 -0
  135. package/dist/esm/chunks/chunk.D5DMZ7ZG.js.map +7 -0
  136. package/dist/esm/chunks/chunk.DB7ZQBES.js +244 -0
  137. package/dist/esm/chunks/chunk.DB7ZQBES.js.map +7 -0
  138. package/dist/esm/chunks/chunk.E4NCI7MS.js +6 -0
  139. package/dist/esm/chunks/chunk.E4NCI7MS.js.map +7 -0
  140. package/dist/esm/chunks/chunk.EA7XMXI5.js +200 -0
  141. package/dist/esm/chunks/chunk.EA7XMXI5.js.map +7 -0
  142. package/dist/esm/chunks/chunk.EARNUKJ2.js +401 -0
  143. package/dist/esm/chunks/chunk.EARNUKJ2.js.map +7 -0
  144. package/dist/esm/chunks/chunk.EKIW7VYG.js +419 -0
  145. package/dist/esm/chunks/chunk.EKIW7VYG.js.map +7 -0
  146. package/dist/esm/chunks/chunk.EL6B2ODN.js +52 -0
  147. package/dist/esm/chunks/chunk.EL6B2ODN.js.map +7 -0
  148. package/dist/esm/chunks/chunk.ETP6HSXO.js +513 -0
  149. package/dist/esm/chunks/chunk.ETP6HSXO.js.map +7 -0
  150. package/dist/esm/chunks/chunk.ETQIBLKP.js +978 -0
  151. package/dist/esm/chunks/chunk.ETQIBLKP.js.map +7 -0
  152. package/dist/esm/chunks/chunk.EWQENJ4W.js +505 -0
  153. package/dist/esm/chunks/chunk.EWQENJ4W.js.map +7 -0
  154. package/dist/esm/chunks/chunk.EY57VTRF.js +33 -0
  155. package/dist/esm/chunks/chunk.EY57VTRF.js.map +7 -0
  156. package/dist/esm/chunks/chunk.FBUQQD2T.js +732 -0
  157. package/dist/esm/chunks/chunk.FBUQQD2T.js.map +7 -0
  158. package/dist/esm/chunks/chunk.FMMPWQKC.js +439 -0
  159. package/dist/esm/chunks/chunk.FMMPWQKC.js.map +7 -0
  160. package/dist/esm/chunks/chunk.FWJ7SIFA.js +433 -0
  161. package/dist/esm/chunks/chunk.FWJ7SIFA.js.map +7 -0
  162. package/dist/esm/chunks/chunk.FZQCBRPK.js +6 -0
  163. package/dist/esm/chunks/chunk.FZQCBRPK.js.map +7 -0
  164. package/dist/esm/chunks/chunk.G6FY472A.js +658 -0
  165. package/dist/esm/chunks/chunk.G6FY472A.js.map +7 -0
  166. package/dist/esm/chunks/chunk.GS2AXUCN.js +150 -0
  167. package/dist/esm/chunks/chunk.GS2AXUCN.js.map +7 -0
  168. package/dist/esm/chunks/chunk.HHHMDDTU.js +297 -0
  169. package/dist/esm/chunks/chunk.HHHMDDTU.js.map +7 -0
  170. package/dist/esm/chunks/chunk.HZISALRH.js +20 -0
  171. package/dist/esm/chunks/chunk.HZISALRH.js.map +7 -0
  172. package/dist/esm/chunks/chunk.IBH5GL7A.js +258 -0
  173. package/dist/esm/chunks/chunk.IBH5GL7A.js.map +7 -0
  174. package/dist/esm/chunks/chunk.IWXT6VVJ.js +222 -0
  175. package/dist/esm/chunks/chunk.IWXT6VVJ.js.map +7 -0
  176. package/dist/esm/chunks/chunk.J6LOWXOG.js +654 -0
  177. package/dist/esm/chunks/chunk.J6LOWXOG.js.map +7 -0
  178. package/dist/esm/chunks/chunk.JICZQ2BO.js +168 -0
  179. package/dist/esm/chunks/chunk.JICZQ2BO.js.map +7 -0
  180. package/dist/esm/chunks/chunk.JKC5PU23.js +42 -0
  181. package/dist/esm/chunks/chunk.JKC5PU23.js.map +7 -0
  182. package/dist/esm/chunks/chunk.JQQOZMKQ.js +2994 -0
  183. package/dist/esm/chunks/chunk.JQQOZMKQ.js.map +7 -0
  184. package/dist/esm/chunks/chunk.JVQP6BJ3.js +1591 -0
  185. package/dist/esm/chunks/chunk.JVQP6BJ3.js.map +7 -0
  186. package/dist/esm/chunks/chunk.K2PCTUVN.js +139 -0
  187. package/dist/esm/chunks/chunk.K2PCTUVN.js.map +7 -0
  188. package/dist/esm/chunks/chunk.KCK3G74Y.js +634 -0
  189. package/dist/esm/chunks/chunk.KCK3G74Y.js.map +7 -0
  190. package/dist/esm/chunks/chunk.KI3IHPS2.js +801 -0
  191. package/dist/esm/chunks/chunk.KI3IHPS2.js.map +7 -0
  192. package/dist/esm/chunks/chunk.KRW2IAIU.js +445 -0
  193. package/dist/esm/chunks/chunk.KRW2IAIU.js.map +7 -0
  194. package/dist/esm/chunks/chunk.KZ2QNQK2.js +21 -0
  195. package/dist/esm/chunks/chunk.KZ2QNQK2.js.map +7 -0
  196. package/dist/esm/chunks/chunk.KZATVOA6.js +68 -0
  197. package/dist/esm/chunks/chunk.KZATVOA6.js.map +7 -0
  198. package/dist/esm/chunks/chunk.LCWRP2UI.js +59 -0
  199. package/dist/esm/chunks/chunk.LCWRP2UI.js.map +7 -0
  200. package/dist/esm/chunks/chunk.LM5TVNZY.js +71 -0
  201. package/dist/esm/chunks/chunk.LM5TVNZY.js.map +7 -0
  202. package/dist/esm/chunks/chunk.MAGJQ2PP.js +964 -0
  203. package/dist/esm/chunks/chunk.MAGJQ2PP.js.map +7 -0
  204. package/dist/esm/chunks/chunk.MEFT5FQC.js +158 -0
  205. package/dist/esm/chunks/chunk.MEFT5FQC.js.map +7 -0
  206. package/dist/esm/chunks/chunk.MHEJZJT3.js +6 -0
  207. package/dist/esm/chunks/chunk.MHEJZJT3.js.map +7 -0
  208. package/dist/esm/chunks/chunk.MMIZOYAS.js +147 -0
  209. package/dist/esm/chunks/chunk.MMIZOYAS.js.map +7 -0
  210. package/dist/esm/chunks/chunk.MNFGVNDI.js +6 -0
  211. package/dist/esm/chunks/chunk.MNFGVNDI.js.map +7 -0
  212. package/dist/esm/chunks/chunk.NQOD2XB3.js +840 -0
  213. package/dist/esm/chunks/chunk.NQOD2XB3.js.map +7 -0
  214. package/dist/esm/chunks/chunk.NRI7SWVX.js +1347 -0
  215. package/dist/esm/chunks/chunk.NRI7SWVX.js.map +7 -0
  216. package/dist/esm/chunks/chunk.NX5SKZLU.js +50 -0
  217. package/dist/esm/chunks/chunk.NX5SKZLU.js.map +7 -0
  218. package/dist/esm/chunks/chunk.O6UHX6FK.js +463 -0
  219. package/dist/esm/chunks/chunk.O6UHX6FK.js.map +7 -0
  220. package/dist/esm/chunks/chunk.OJI6ZRYW.js +561 -0
  221. package/dist/esm/chunks/chunk.OJI6ZRYW.js.map +7 -0
  222. package/dist/esm/chunks/chunk.OQRMHHPB.js +1335 -0
  223. package/dist/esm/chunks/chunk.OQRMHHPB.js.map +7 -0
  224. package/dist/esm/chunks/chunk.OYO6NUZY.js +52 -0
  225. package/dist/esm/chunks/chunk.OYO6NUZY.js.map +7 -0
  226. package/dist/esm/chunks/chunk.P43Z3YAS.js +507 -0
  227. package/dist/esm/chunks/chunk.P43Z3YAS.js.map +7 -0
  228. package/dist/esm/chunks/chunk.P7NOYP4O.js +73 -0
  229. package/dist/esm/chunks/chunk.P7NOYP4O.js.map +7 -0
  230. package/dist/esm/chunks/chunk.PBGL3BRX.js +27 -0
  231. package/dist/esm/chunks/chunk.PBGL3BRX.js.map +7 -0
  232. package/dist/esm/chunks/chunk.PCYIY5OY.js +461 -0
  233. package/dist/esm/chunks/chunk.PCYIY5OY.js.map +7 -0
  234. package/dist/esm/chunks/chunk.Q4YMHFRY.js +155 -0
  235. package/dist/esm/chunks/chunk.Q4YMHFRY.js.map +7 -0
  236. package/dist/esm/chunks/chunk.QD7EPCL6.js +144 -0
  237. package/dist/esm/chunks/chunk.QD7EPCL6.js.map +7 -0
  238. package/dist/esm/chunks/chunk.QQDDGRY6.js +6 -0
  239. package/dist/esm/chunks/chunk.QQDDGRY6.js.map +7 -0
  240. package/dist/esm/chunks/chunk.RNPIV3BY.js +540 -0
  241. package/dist/esm/chunks/chunk.RNPIV3BY.js.map +7 -0
  242. package/dist/esm/chunks/chunk.RR7HDQU6.js +236 -0
  243. package/dist/esm/chunks/chunk.RR7HDQU6.js.map +7 -0
  244. package/dist/esm/chunks/chunk.RV3E762Y.js +73 -0
  245. package/dist/esm/chunks/chunk.RV3E762Y.js.map +7 -0
  246. package/dist/esm/chunks/chunk.RWCC6E4O.js +52 -0
  247. package/dist/esm/chunks/chunk.RWCC6E4O.js.map +7 -0
  248. package/dist/esm/chunks/chunk.SJZ54RE3.js +56 -0
  249. package/dist/esm/chunks/chunk.SJZ54RE3.js.map +7 -0
  250. package/dist/esm/chunks/chunk.SKISCNSC.js +559 -0
  251. package/dist/esm/chunks/chunk.SKISCNSC.js.map +7 -0
  252. package/dist/esm/chunks/chunk.SKLCDWYQ.js +6 -0
  253. package/dist/esm/chunks/chunk.SKLCDWYQ.js.map +7 -0
  254. package/dist/esm/chunks/chunk.SNAZ6JSS.js +22 -0
  255. package/dist/esm/chunks/chunk.SNAZ6JSS.js.map +7 -0
  256. package/dist/esm/chunks/chunk.ST3R6JEE.js +73 -0
  257. package/dist/esm/chunks/chunk.ST3R6JEE.js.map +7 -0
  258. package/dist/esm/chunks/chunk.TLCGGWBO.js +6 -0
  259. package/dist/esm/chunks/chunk.TLCGGWBO.js.map +7 -0
  260. package/dist/esm/chunks/chunk.U35QQZVK.js +422 -0
  261. package/dist/esm/chunks/chunk.U35QQZVK.js.map +7 -0
  262. package/dist/esm/chunks/chunk.U6FJJGO3.js +6 -0
  263. package/dist/esm/chunks/chunk.U6FJJGO3.js.map +7 -0
  264. package/dist/esm/chunks/chunk.VAPJ75PS.js +21 -0
  265. package/dist/esm/chunks/chunk.VAPJ75PS.js.map +7 -0
  266. package/dist/esm/chunks/chunk.VHO7NUMI.js +37 -0
  267. package/dist/esm/chunks/chunk.VHO7NUMI.js.map +7 -0
  268. package/dist/esm/chunks/chunk.VK6LIH3B.js +13 -0
  269. package/dist/esm/chunks/chunk.VK6LIH3B.js.map +7 -0
  270. package/dist/esm/chunks/chunk.VTXXZ5KT.js +450 -0
  271. package/dist/esm/chunks/chunk.VTXXZ5KT.js.map +7 -0
  272. package/dist/esm/chunks/chunk.WAJDLUSQ.js +56 -0
  273. package/dist/esm/chunks/chunk.WAJDLUSQ.js.map +7 -0
  274. package/dist/esm/chunks/chunk.WF2MFLG4.js +6 -0
  275. package/dist/esm/chunks/chunk.WF2MFLG4.js.map +7 -0
  276. package/dist/esm/chunks/chunk.WINL2C7Q.js +6 -0
  277. package/dist/esm/chunks/chunk.WINL2C7Q.js.map +7 -0
  278. package/dist/esm/chunks/chunk.WIYLQTSX.js +3550 -0
  279. package/dist/esm/chunks/chunk.WIYLQTSX.js.map +7 -0
  280. package/dist/esm/chunks/chunk.WT4W2IFT.js +92 -0
  281. package/dist/esm/chunks/chunk.WT4W2IFT.js.map +7 -0
  282. package/dist/esm/chunks/chunk.WXFCZJJI.js +52 -0
  283. package/dist/esm/chunks/chunk.WXFCZJJI.js.map +7 -0
  284. package/dist/esm/chunks/chunk.XEF6G5NS.js +248 -0
  285. package/dist/esm/chunks/chunk.XEF6G5NS.js.map +7 -0
  286. package/dist/esm/chunks/chunk.XGMOOPIE.js +136 -0
  287. package/dist/esm/chunks/chunk.XGMOOPIE.js.map +7 -0
  288. package/dist/esm/chunks/chunk.XIDZXGD4.js +912 -0
  289. package/dist/esm/chunks/chunk.XIDZXGD4.js.map +7 -0
  290. package/dist/esm/chunks/chunk.XJVLHRVJ.js +59 -0
  291. package/dist/esm/chunks/chunk.XJVLHRVJ.js.map +7 -0
  292. package/dist/esm/chunks/chunk.XO3XVXWW.js +72 -0
  293. package/dist/esm/chunks/chunk.XO3XVXWW.js.map +7 -0
  294. package/dist/esm/chunks/chunk.XY3ZHN7Y.js +649 -0
  295. package/dist/esm/chunks/chunk.XY3ZHN7Y.js.map +7 -0
  296. package/dist/esm/chunks/chunk.Y2TDQIA4.js +307 -0
  297. package/dist/esm/chunks/chunk.Y2TDQIA4.js.map +7 -0
  298. package/dist/esm/chunks/chunk.YCW56AVX.js +176 -0
  299. package/dist/esm/chunks/chunk.YCW56AVX.js.map +7 -0
  300. package/dist/esm/chunks/chunk.YDPSV74L.js +742 -0
  301. package/dist/esm/chunks/chunk.YDPSV74L.js.map +7 -0
  302. package/dist/esm/chunks/chunk.YJ5X3WZ4.js +110 -0
  303. package/dist/esm/chunks/chunk.YJ5X3WZ4.js.map +7 -0
  304. package/dist/esm/chunks/chunk.ZABF5CI6.js +760 -0
  305. package/dist/esm/chunks/chunk.ZABF5CI6.js.map +7 -0
  306. package/dist/esm/chunks/chunk.ZG4NZM2P.js +173 -0
  307. package/dist/esm/chunks/chunk.ZG4NZM2P.js.map +7 -0
  308. package/dist/esm/chunks/chunk.ZUM5YLB2.js +291 -0
  309. package/dist/esm/chunks/chunk.ZUM5YLB2.js.map +7 -0
  310. package/dist/esm/circular-progress/index.js +28 -0
  311. package/dist/esm/circular-progress/index.js.map +7 -0
  312. package/dist/esm/color-picker/index.js +49 -0
  313. package/dist/esm/color-picker/index.js.map +7 -0
  314. package/dist/esm/core/base/index.js +21 -0
  315. package/dist/esm/core/base/index.js.map +7 -0
  316. package/dist/esm/core/delegates/index.js +20 -0
  317. package/dist/esm/core/delegates/index.js.map +7 -0
  318. package/dist/esm/core/index.js +83 -0
  319. package/dist/esm/core/index.js.map +7 -0
  320. package/dist/esm/core/mask/index.js +26 -0
  321. package/dist/esm/core/mask/index.js.map +7 -0
  322. package/dist/esm/core/utils/index.js +46 -0
  323. package/dist/esm/core/utils/index.js.map +7 -0
  324. package/dist/esm/date-picker/index.js +62 -0
  325. package/dist/esm/date-picker/index.js.map +7 -0
  326. package/dist/esm/date-range-picker/index.js +64 -0
  327. package/dist/esm/date-range-picker/index.js.map +7 -0
  328. package/dist/esm/dialog/index.js +44 -0
  329. package/dist/esm/dialog/index.js.map +7 -0
  330. package/dist/esm/divider/index.js +22 -0
  331. package/dist/esm/divider/index.js.map +7 -0
  332. package/dist/esm/drawer/base/index.js +25 -0
  333. package/dist/esm/drawer/base/index.js.map +7 -0
  334. package/dist/esm/drawer/drawer/index.js +25 -0
  335. package/dist/esm/drawer/drawer/index.js.map +7 -0
  336. package/dist/esm/drawer/index.js +56 -0
  337. package/dist/esm/drawer/index.js.map +7 -0
  338. package/dist/esm/drawer/mini-drawer/index.js +25 -0
  339. package/dist/esm/drawer/mini-drawer/index.js.map +7 -0
  340. package/dist/esm/drawer/modal-drawer/index.js +30 -0
  341. package/dist/esm/drawer/modal-drawer/index.js.map +7 -0
  342. package/dist/esm/expansion-panel/index.js +38 -0
  343. package/dist/esm/expansion-panel/index.js.map +7 -0
  344. package/dist/esm/file-picker/index.js +41 -0
  345. package/dist/esm/file-picker/index.js.map +7 -0
  346. package/dist/esm/floating-action-button/index.js +29 -0
  347. package/dist/esm/floating-action-button/index.js.map +7 -0
  348. package/dist/esm/floating-label/index.js +23 -0
  349. package/dist/esm/floating-label/index.js.map +7 -0
  350. package/dist/esm/icon/index.js +53 -0
  351. package/dist/esm/icon/index.js.map +7 -0
  352. package/dist/esm/icon-button/index.js +37 -0
  353. package/dist/esm/icon-button/index.js.map +7 -0
  354. package/dist/esm/index.js +1275 -0
  355. package/dist/esm/index.js.map +7 -0
  356. package/dist/esm/inline-message/index.js +22 -0
  357. package/dist/esm/inline-message/index.js.map +7 -0
  358. package/dist/esm/keyboard-shortcut/index.js +41 -0
  359. package/dist/esm/keyboard-shortcut/index.js.map +7 -0
  360. package/dist/esm/label-value/index.js +32 -0
  361. package/dist/esm/label-value/index.js.map +7 -0
  362. package/dist/esm/linear-progress/index.js +24 -0
  363. package/dist/esm/linear-progress/index.js.map +7 -0
  364. package/dist/esm/list/index.js +44 -0
  365. package/dist/esm/list/index.js.map +7 -0
  366. package/dist/esm/list/list/index.js +33 -0
  367. package/dist/esm/list/list/index.js.map +7 -0
  368. package/dist/esm/list/list-item/index.js +31 -0
  369. package/dist/esm/list/list-item/index.js.map +7 -0
  370. package/dist/esm/list-dropdown/index.js +55 -0
  371. package/dist/esm/list-dropdown/index.js.map +7 -0
  372. package/dist/esm/menu/index.js +53 -0
  373. package/dist/esm/menu/index.js.map +7 -0
  374. package/dist/esm/open-icon/index.js +37 -0
  375. package/dist/esm/open-icon/index.js.map +7 -0
  376. package/dist/esm/page-state/index.js +22 -0
  377. package/dist/esm/page-state/index.js.map +7 -0
  378. package/dist/esm/paginator/index.js +66 -0
  379. package/dist/esm/paginator/index.js.map +7 -0
  380. package/dist/esm/popup/index.js +31 -0
  381. package/dist/esm/popup/index.js.map +7 -0
  382. package/dist/esm/product-icon/index.js +29 -0
  383. package/dist/esm/product-icon/index.js.map +7 -0
  384. package/dist/esm/profile-card/index.js +37 -0
  385. package/dist/esm/profile-card/index.js.map +7 -0
  386. package/dist/esm/quantity-field/index.js +46 -0
  387. package/dist/esm/quantity-field/index.js.map +7 -0
  388. package/dist/esm/radio/index.js +26 -0
  389. package/dist/esm/radio/index.js.map +7 -0
  390. package/dist/esm/ripple/index.js +32 -0
  391. package/dist/esm/ripple/index.js.map +7 -0
  392. package/dist/esm/scaffold/index.js +22 -0
  393. package/dist/esm/scaffold/index.js.map +7 -0
  394. package/dist/esm/select/core/index.js +60 -0
  395. package/dist/esm/select/core/index.js.map +7 -0
  396. package/dist/esm/select/index.js +114 -0
  397. package/dist/esm/select/index.js.map +7 -0
  398. package/dist/esm/select/option/index.js +28 -0
  399. package/dist/esm/select/option/index.js.map +7 -0
  400. package/dist/esm/select/option-group/index.js +22 -0
  401. package/dist/esm/select/option-group/index.js.map +7 -0
  402. package/dist/esm/select/select/index.js +63 -0
  403. package/dist/esm/select/select/index.js.map +7 -0
  404. package/dist/esm/select/select-dropdown/index.js +59 -0
  405. package/dist/esm/select/select-dropdown/index.js.map +7 -0
  406. package/dist/esm/skeleton/index.js +22 -0
  407. package/dist/esm/skeleton/index.js.map +7 -0
  408. package/dist/esm/slider/index.js +35 -0
  409. package/dist/esm/slider/index.js.map +7 -0
  410. package/dist/esm/stepper/index.js +55 -0
  411. package/dist/esm/stepper/index.js.map +7 -0
  412. package/dist/esm/stepper/step/index.js +40 -0
  413. package/dist/esm/stepper/step/index.js.map +7 -0
  414. package/dist/esm/stepper/stepper/index.js +43 -0
  415. package/dist/esm/stepper/stepper/index.js.map +7 -0
  416. package/dist/esm/switch/index.js +34 -0
  417. package/dist/esm/switch/index.js.map +7 -0
  418. package/dist/esm/table/index.js +57 -0
  419. package/dist/esm/table/index.js.map +7 -0
  420. package/dist/esm/tabs/index.js +61 -0
  421. package/dist/esm/tabs/index.js.map +7 -0
  422. package/dist/esm/tabs/tab/index.js +33 -0
  423. package/dist/esm/tabs/tab/index.js.map +7 -0
  424. package/dist/esm/tabs/tab-bar/index.js +47 -0
  425. package/dist/esm/tabs/tab-bar/index.js.map +7 -0
  426. package/dist/esm/text-field/index.js +39 -0
  427. package/dist/esm/text-field/index.js.map +7 -0
  428. package/dist/esm/theme/index.js +17 -0
  429. package/dist/esm/theme/index.js.map +7 -0
  430. package/dist/esm/time-picker/index.js +92 -0
  431. package/dist/esm/time-picker/index.js.map +7 -0
  432. package/dist/esm/toast/index.js +42 -0
  433. package/dist/esm/toast/index.js.map +7 -0
  434. package/dist/esm/toolbar/index.js +22 -0
  435. package/dist/esm/toolbar/index.js.map +7 -0
  436. package/dist/esm/tooltip/index.js +34 -0
  437. package/dist/esm/tooltip/index.js.map +7 -0
  438. package/dist/esm/utils/index.js +17 -0
  439. package/dist/esm/utils/index.js.map +7 -0
  440. package/dist/esm/view-switcher/index.js +40 -0
  441. package/dist/esm/view-switcher/index.js.map +7 -0
  442. package/dist/esm/view-switcher/view/index.js +22 -0
  443. package/dist/esm/view-switcher/view/index.js.map +7 -0
  444. package/package.json +1 -1
@@ -0,0 +1,1203 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import {
7
+ SKELETON_CONSTANTS
8
+ } from "./chunk.EL6B2ODN.js";
9
+ import {
10
+ LIST_CONSTANTS,
11
+ LIST_ITEM_CONSTANTS
12
+ } from "./chunk.G6FY472A.js";
13
+ import {
14
+ createVisuallyHiddenElement
15
+ } from "./chunk.PBGL3BRX.js";
16
+ import {
17
+ getEventPath
18
+ } from "./chunk.EY57VTRF.js";
19
+ import {
20
+ LINEAR_PROGRESS_CONSTANTS
21
+ } from "./chunk.RNPIV3BY.js";
22
+ import {
23
+ POPUP_CONSTANTS
24
+ } from "./chunk.5EEEKOOK.js";
25
+ import {
26
+ tylIconCheckBox,
27
+ tylIconCheckBoxOutlineBlank
28
+ } from "./chunk.GS2AXUCN.js";
29
+ import {
30
+ ICON_CONSTANTS,
31
+ IconRegistry
32
+ } from "./chunk.P43Z3YAS.js";
33
+ import {
34
+ ICON_CLASS_NAME
35
+ } from "./chunk.35U3UPDV.js";
36
+ import {
37
+ getShadowElement
38
+ } from "./chunk.K2PCTUVN.js";
39
+ import {
40
+ addClass,
41
+ removeAllChildren,
42
+ removeElement,
43
+ replaceElement,
44
+ tryScrollIntoView
45
+ } from "./chunk.4JURZYE4.js";
46
+ import {
47
+ isDeepEqual,
48
+ isDefined,
49
+ isFunction,
50
+ isNumber,
51
+ isObject,
52
+ throttle
53
+ } from "./chunk.MEFT5FQC.js";
54
+ import {
55
+ __spreadValues
56
+ } from "./chunk.LM5TVNZY.js";
57
+
58
+ // dist/build/lib/staging/src/list-dropdown/list-dropdown-constants.ts
59
+ var attributes = {
60
+ POPUP_CLASSES: "popup-classes",
61
+ OPTION_LIMIT: "option-limit",
62
+ OBSERVE_SCROLL: "observe-scroll",
63
+ OBSERVE_SCROLL_THRESHOLD: "observe-scroll-threshold",
64
+ SYNC_POPUP_WIDTH: "sync-popup-width",
65
+ CHECKBOX_ELEMENT: "data-list-dropdown-checkbox",
66
+ DATA_ALLOW_FOCUS: "data-list-dropdown-allow-focus"
67
+ };
68
+ var classes = {
69
+ GROUP_WRAPPER: "forge-list-dropdown__group-wrapper"
70
+ };
71
+ var LIST_DROPDOWN_CONSTANTS = {
72
+ attributes,
73
+ classes
74
+ };
75
+ var DEFAULT_LIST_DROPDOWN_CONFIG = {
76
+ options: [],
77
+ syncWidth: false,
78
+ selectedValues: [],
79
+ multiple: false
80
+ };
81
+ var ListDropdownType = /* @__PURE__ */ ((ListDropdownType2) => {
82
+ ListDropdownType2["None"] = "none";
83
+ ListDropdownType2["Standard"] = "standard";
84
+ ListDropdownType2["Menu"] = "menu";
85
+ return ListDropdownType2;
86
+ })(ListDropdownType || {});
87
+ var ListDropdownAsyncStyle = /* @__PURE__ */ ((ListDropdownAsyncStyle2) => {
88
+ ListDropdownAsyncStyle2["Spinner"] = "spinner";
89
+ ListDropdownAsyncStyle2["Skeleton"] = "skeleton";
90
+ return ListDropdownAsyncStyle2;
91
+ })(ListDropdownAsyncStyle || {});
92
+
93
+ // node_modules/@tylertech/forge-core/esm/events/event-aware.js
94
+ var EventAware = class {
95
+ constructor() {
96
+ this._listenerMap = /* @__PURE__ */ new Map();
97
+ }
98
+ _emit(type, data) {
99
+ const listeners = this._listenerMap.get(type);
100
+ if (listeners && listeners.length) {
101
+ listeners.forEach((cb) => cb({ type, data }));
102
+ }
103
+ }
104
+ hasListeners(type) {
105
+ return type ? this._listenerMap.has(type) : this._listenerMap.size > 0;
106
+ }
107
+ addListener(type, listener) {
108
+ if (!this._listenerMap.has(type)) {
109
+ this._listenerMap.set(type, [listener]);
110
+ } else {
111
+ const listeners = this._listenerMap.get(type);
112
+ if (listeners) {
113
+ listeners.push(listener);
114
+ }
115
+ }
116
+ }
117
+ removeListener(type, listener) {
118
+ const listeners = this._listenerMap.get(type);
119
+ if (listeners && listeners.length && listeners.includes(listener)) {
120
+ listeners.splice(listeners.indexOf(listener), 1);
121
+ if (!listeners.length) {
122
+ this._listenerMap.delete(type);
123
+ }
124
+ }
125
+ }
126
+ };
127
+
128
+ // node_modules/@tylertech/forge-core/esm/scroll/scroll-types.js
129
+ var ScrollDirection;
130
+ (function(ScrollDirection2) {
131
+ ScrollDirection2["Up"] = "up";
132
+ ScrollDirection2["Down"] = "down";
133
+ ScrollDirection2["Left"] = "left";
134
+ ScrollDirection2["Right"] = "right";
135
+ })(ScrollDirection || (ScrollDirection = {}));
136
+ var ScrollEvents;
137
+ (function(ScrollEvents2) {
138
+ ScrollEvents2["Scroll"] = "scroll";
139
+ ScrollEvents2["Scrolled"] = "scrolled";
140
+ ScrollEvents2["ScrolledStart"] = "scrolled-start";
141
+ ScrollEvents2["ScrolledEnd"] = "scrolled-end";
142
+ })(ScrollEvents || (ScrollEvents = {}));
143
+
144
+ // node_modules/@tylertech/forge-core/esm/scroll/scroll-axis-observer.js
145
+ var DEFAULT_SCROLL_THROTTLE = 100;
146
+ var ScrollAxisObserver = class extends EventAware {
147
+ constructor(_element, _config = {}) {
148
+ super();
149
+ this._element = _element;
150
+ this._config = _config;
151
+ this._axis = "vertical";
152
+ this._scrollThreshold = 0;
153
+ this._lastScrollPosition = 0;
154
+ this._lastScrollTop = 0;
155
+ this._lastScrollLeft = 0;
156
+ this._isListening = false;
157
+ this._initialize();
158
+ }
159
+ destroy() {
160
+ this.stop();
161
+ }
162
+ start() {
163
+ if (!this._isListening) {
164
+ this._element.addEventListener("scroll", this._scrollListener);
165
+ this._isListening = true;
166
+ }
167
+ }
168
+ stop() {
169
+ this._element.removeEventListener("scroll", this._scrollListener);
170
+ this._isListening = false;
171
+ }
172
+ _initialize() {
173
+ if (this._config.throttle) {
174
+ const wait = this._config.throttleTime || DEFAULT_SCROLL_THROTTLE;
175
+ this._scrollListener = throttle(() => this._onScroll(), wait);
176
+ } else {
177
+ this._scrollListener = () => this._onScroll();
178
+ }
179
+ if (!isDefined(this._config.paused) || !this._config.paused) {
180
+ this.start();
181
+ }
182
+ if (isDefined(this._config.axis)) {
183
+ this._axis = this._config.axis;
184
+ }
185
+ if (isDefined(this._config.scrollThreshold) && isNumber(this._config.scrollThreshold)) {
186
+ this._scrollThreshold = this._config.scrollThreshold;
187
+ }
188
+ }
189
+ _isScrollAxis() {
190
+ const isVertical = this._lastScrollTop !== this._element.scrollTop;
191
+ const isHorizontal = this._lastScrollLeft !== this._element.scrollLeft;
192
+ return this._axis === "vertical" && isVertical || this._axis === "horizontal" && isHorizontal;
193
+ }
194
+ _onScroll() {
195
+ if (!this._isScrollAxis()) {
196
+ return;
197
+ }
198
+ const position = this.scrollPosition;
199
+ const direction = this._lastScrollPosition - position < 0 ? this._axis === "vertical" ? ScrollDirection.Down : ScrollDirection.Right : this._axis === "vertical" ? ScrollDirection.Up : ScrollDirection.Left;
200
+ this._emit(ScrollEvents.Scroll, { direction, position });
201
+ if (this._lastScrollPosition <= this._scrollThreshold && position > this._scrollThreshold) {
202
+ this._emit(ScrollEvents.Scrolled, true);
203
+ } else if (this._lastScrollPosition >= this._scrollThreshold && (this._scrollThreshold > 0 ? position < this._scrollThreshold : position === 0)) {
204
+ this._emit(ScrollEvents.Scrolled, false);
205
+ }
206
+ const scrollStart = Math.round(position - this._scrollThreshold);
207
+ const scrollEnd = Math.round(this.scrollSize - position);
208
+ if (this._lastScrollPosition >= this._scrollThreshold && scrollStart <= 0) {
209
+ this._emit(ScrollEvents.ScrolledStart);
210
+ } else if (this._lastScrollPosition <= this.scrollSize - this._scrollThreshold && scrollEnd <= this._scrollThreshold) {
211
+ this._emit(ScrollEvents.ScrolledEnd);
212
+ }
213
+ this._lastScrollPosition = position || 0;
214
+ this._lastScrollTop = this._element.scrollTop || 0;
215
+ this._lastScrollLeft = this._element.scrollLeft || 0;
216
+ }
217
+ get scrollPosition() {
218
+ return this._axis === "vertical" ? this._element.scrollTop : this._element.scrollLeft;
219
+ }
220
+ get isScrolled() {
221
+ return this.scrollPosition > this._scrollThreshold;
222
+ }
223
+ get isScrolledStart() {
224
+ return this.scrollPosition === 0;
225
+ }
226
+ get isScrolledEnd() {
227
+ return this.scrollPosition === this._element.scrollWidth;
228
+ }
229
+ get isScrollable() {
230
+ if (this._axis === "vertical") {
231
+ return this._element.scrollHeight > this._element.clientHeight;
232
+ }
233
+ return this._element.scrollWidth > this._element.clientWidth;
234
+ }
235
+ get scrollSize() {
236
+ return (this._axis === "vertical" ? this._element.scrollHeight : this._element.scrollWidth) - this.elementSize;
237
+ }
238
+ get elementSize() {
239
+ return this._axis === "vertical" ? this._element.clientHeight : this._element.clientWidth;
240
+ }
241
+ setScrollPosition(position) {
242
+ if (this._axis === "vertical") {
243
+ this._element.scrollTop = position;
244
+ } else {
245
+ this._element.scrollLeft = position;
246
+ }
247
+ }
248
+ };
249
+
250
+ // dist/build/lib/staging/src/list-dropdown/list-dropdown-utils.ts
251
+ function createDropdown(config, targetElement) {
252
+ const dropdownElement = createPopupDropdown(config, targetElement);
253
+ const dropdownId = `list-dropdown-popup-${config.id}`;
254
+ dropdownElement.addEventListener("mousedown", (evt) => {
255
+ const composedPath = getEventPath(evt);
256
+ const isFromCustomTemplate = composedPath.find((el) => el.nodeType === 1 && el.hasAttribute(LIST_DROPDOWN_CONSTANTS.attributes.DATA_ALLOW_FOCUS));
257
+ if (isFromCustomTemplate) {
258
+ return;
259
+ }
260
+ const isWithinDropdownElement = composedPath.find((el) => el.id === dropdownId || el.id === config.id);
261
+ if (isWithinDropdownElement) {
262
+ evt.preventDefault();
263
+ }
264
+ });
265
+ switch (config.type) {
266
+ case "menu" /* Menu */:
267
+ dropdownElement.setAttribute("role", "menu");
268
+ dropdownElement.setAttribute("aria-orientation", "vertical");
269
+ break;
270
+ default:
271
+ dropdownElement.setAttribute("role", "listbox");
272
+ }
273
+ if (config.id) {
274
+ dropdownElement.id = dropdownId;
275
+ }
276
+ if (config.popupClasses) {
277
+ addClass(config.popupClasses, dropdownElement);
278
+ }
279
+ return dropdownElement;
280
+ }
281
+ function createPopupDropdown(config, targetElement) {
282
+ const popupElement = document.createElement(POPUP_CONSTANTS.elementName);
283
+ popupElement.targetElement = targetElement;
284
+ popupElement.placement = config.popupPlacement || "bottom-start";
285
+ popupElement.manageFocus = false;
286
+ popupElement.static = !!config.popupStatic;
287
+ if (config.popupOffset) {
288
+ popupElement.offset = config.popupOffset;
289
+ }
290
+ switch (config.type) {
291
+ case "menu" /* Menu */:
292
+ popupElement.animationType = "menu" /* Menu */;
293
+ break;
294
+ case "none" /* None */:
295
+ popupElement.animationType = "none" /* None */;
296
+ break;
297
+ default:
298
+ popupElement.animationType = "dropdown" /* Dropdown */;
299
+ }
300
+ return popupElement;
301
+ }
302
+ function createList(config) {
303
+ const listElement = document.createElement(LIST_CONSTANTS.elementName);
304
+ listElement.id = `list-dropdown-list-${config.id}`;
305
+ listElement.propagateClick = false;
306
+ return listElement;
307
+ }
308
+ function createListItems(config, listElement, options) {
309
+ const groups = getOptionsByGroup(options || config.options);
310
+ const limitOptions = config.optionLimit ? true : false;
311
+ let optionLimit = config.optionLimit || 0;
312
+ let optionIndex = 0;
313
+ for (const group of groups) {
314
+ let optionParent = listElement;
315
+ if (group.builder && typeof group.builder === "function") {
316
+ const headerElement = group.builder(group);
317
+ if (headerElement) {
318
+ const groupWrapper = document.createElement("div");
319
+ groupWrapper.classList.add(LIST_DROPDOWN_CONSTANTS.classes.GROUP_WRAPPER);
320
+ optionParent = groupWrapper;
321
+ groupWrapper.appendChild(headerElement);
322
+ listElement.appendChild(groupWrapper);
323
+ }
324
+ } else if (group.text) {
325
+ const groupWrapper = document.createElement("div");
326
+ groupWrapper.classList.add(LIST_DROPDOWN_CONSTANTS.classes.GROUP_WRAPPER);
327
+ const listHeaderElement = document.createElement("div");
328
+ listHeaderElement.textContent = group.text;
329
+ listHeaderElement.classList.add("forge-typography--overline");
330
+ listHeaderElement.style.fontFamily = "Roboto,sans-serif";
331
+ listHeaderElement.style.fontSize = "0.75rem";
332
+ listHeaderElement.style.lineHeight = "2rem";
333
+ listHeaderElement.style.letterSpacing = "0.16667em";
334
+ listHeaderElement.style.fontWeight = "500";
335
+ listHeaderElement.style.margin = "4px 8px";
336
+ optionParent = groupWrapper;
337
+ groupWrapper.appendChild(listHeaderElement);
338
+ listElement.appendChild(groupWrapper);
339
+ }
340
+ for (const option of group.options) {
341
+ if (option.divider) {
342
+ const dividerElement = createDivider();
343
+ listElement.appendChild(dividerElement);
344
+ continue;
345
+ }
346
+ if (limitOptions && --optionLimit < 0) {
347
+ break;
348
+ }
349
+ optionIndex++;
350
+ const isSelected = config.selectedValues ? config.selectedValues.some((v) => isDeepEqual(v, option.value)) : false;
351
+ let listItemElement = document.createElement(LIST_ITEM_CONSTANTS.elementName);
352
+ listItemElement.value = option.value;
353
+ listItemElement.id = `list-dropdown-option-${config.id}-${optionIndex}`;
354
+ listItemElement.style.cursor = "pointer";
355
+ if (option.optionClass && (typeof option.optionClass === "string" || Array.isArray(option.optionClass) && option.optionClass.length)) {
356
+ addClass(option.optionClass, listItemElement);
357
+ }
358
+ switch (config.type) {
359
+ case "menu" /* Menu */:
360
+ listItemElement.setAttribute("role", "menuitem");
361
+ break;
362
+ case "none" /* None */:
363
+ break;
364
+ default:
365
+ listItemElement.setAttribute("role", "option");
366
+ }
367
+ if (config.dense) {
368
+ listItemElement.dense = true;
369
+ }
370
+ if (config.optionBuilder && typeof config.optionBuilder === "function") {
371
+ const element = config.optionBuilder(option, listItemElement);
372
+ if (element) {
373
+ if (typeof element === "string") {
374
+ listItemElement.innerHTML = element;
375
+ } else {
376
+ listItemElement.appendChild(element);
377
+ }
378
+ }
379
+ } else {
380
+ if (typeof config.transform !== "function") {
381
+ listItemElement.textContent = option.label || "";
382
+ } else {
383
+ const result = config.transform(option.label);
384
+ if (typeof result === "string") {
385
+ listItemElement.textContent = result;
386
+ } else if (typeof result === "object" && result.nodeType !== void 0) {
387
+ listItemElement.appendChild(result);
388
+ }
389
+ }
390
+ }
391
+ if (option.leadingBuilder) {
392
+ const element = option.leadingBuilder();
393
+ if (isObject(element)) {
394
+ element.slot = "leading";
395
+ listItemElement.appendChild(element);
396
+ }
397
+ } else if (option.leadingIcon) {
398
+ const leadingIconElement = createIconElement(option.leadingIconType, option.leadingIcon, option.leadingIconClass || config.iconClass);
399
+ leadingIconElement.slot = "leading";
400
+ listItemElement.appendChild(leadingIconElement);
401
+ }
402
+ if (option.trailingBuilder) {
403
+ const element = option.trailingBuilder();
404
+ if (isObject(element)) {
405
+ element.slot = "trailing";
406
+ listItemElement.appendChild(element);
407
+ }
408
+ } else if (option.trailingIcon) {
409
+ const trailingIconElement = createIconElement(option.trailingIconType, option.trailingIcon, option.trailingIconClass || config.iconClass);
410
+ trailingIconElement.slot = "trailing";
411
+ listItemElement.appendChild(trailingIconElement);
412
+ }
413
+ if (option.disabled) {
414
+ listItemElement.disabled = option.disabled;
415
+ listItemElement.setAttribute("aria-disabled", "true");
416
+ } else {
417
+ listItemElement.style.cursor = "pointer";
418
+ listItemElement.setAttribute("aria-disabled", "false");
419
+ }
420
+ if (isSelected) {
421
+ listItemElement.selected = true;
422
+ }
423
+ listItemElement.setAttribute("aria-selected", isSelected ? "true" : "false");
424
+ if (config.multiple) {
425
+ const checkboxElement = createCheckboxElement(isSelected);
426
+ listItemElement.appendChild(checkboxElement);
427
+ listItemElement.setAttribute("aria-selected", `${isSelected}`);
428
+ listItemElement.setAttribute("aria-checked", `${isSelected}`);
429
+ }
430
+ if (option.elementAttributes) {
431
+ option.elementAttributes.forEach((value, key) => {
432
+ listItemElement.setAttribute(key, value);
433
+ });
434
+ }
435
+ if (!option.disabled && typeof config.cascadingElementFactory === "function" && Array.isArray(option.options) && option.options.length) {
436
+ const optionIconElement = document.createElement("forge-icon");
437
+ optionIconElement.name = "arrow_right";
438
+ optionIconElement.slot = "trailing";
439
+ listItemElement.appendChild(optionIconElement);
440
+ const nonDividerOptions = group.options.filter((o) => !o.divider);
441
+ const factoryConfig = {
442
+ index: nonDividerOptions.indexOf(option),
443
+ options: option.options,
444
+ parentValue: option.value
445
+ };
446
+ const cascadingElement = config.cascadingElementFactory.call(null, factoryConfig);
447
+ cascadingElement.appendChild(listItemElement);
448
+ listItemElement = cascadingElement;
449
+ }
450
+ optionParent.appendChild(listItemElement);
451
+ }
452
+ }
453
+ }
454
+ function createCheckboxElement(selected) {
455
+ const checkboxElement = document.createElement("forge-icon");
456
+ checkboxElement.setAttribute(LIST_DROPDOWN_CONSTANTS.attributes.CHECKBOX_ELEMENT, "");
457
+ checkboxElement.name = selected ? tylIconCheckBox.name : tylIconCheckBoxOutlineBlank.name;
458
+ checkboxElement.slot = "leading";
459
+ checkboxElement.style.marginRight = "16px";
460
+ checkboxElement.style.verticalAlign = "middle";
461
+ return checkboxElement;
462
+ }
463
+ function createDivider() {
464
+ const divider = document.createElement("forge-divider");
465
+ divider.setAttribute("aria-hidden", "true");
466
+ return divider;
467
+ }
468
+ function createIconElement(type = "font", iconName, iconClass) {
469
+ if (type === "component") {
470
+ const icon = document.createElement("forge-icon");
471
+ if (iconClass) {
472
+ icon.classList.add(iconClass);
473
+ }
474
+ icon.setAttribute("aria-hidden", "true");
475
+ icon.name = iconName;
476
+ return icon;
477
+ }
478
+ const iconElement = document.createElement("i");
479
+ iconElement.classList.add(iconClass || ICON_CLASS_NAME);
480
+ iconElement.setAttribute("aria-hidden", "true");
481
+ iconElement.textContent = iconName;
482
+ return iconElement;
483
+ }
484
+ function createAsyncElement(asyncStyle) {
485
+ switch (asyncStyle) {
486
+ case "skeleton" /* Skeleton */:
487
+ return createSkeletonElement();
488
+ default:
489
+ return createSpinnerElement();
490
+ }
491
+ }
492
+ function createSpinnerElement() {
493
+ const div = document.createElement("div");
494
+ div.style.display = "flex";
495
+ div.style.justifyContent = "center";
496
+ div.style.alignItems = "center";
497
+ div.style.padding = "8px";
498
+ div.style.boxSizing = "border-box";
499
+ const spinner = document.createElement("forge-circular-progress");
500
+ spinner.style.setProperty("--forge-circular-progress-size", "24px");
501
+ div.appendChild(spinner);
502
+ return div;
503
+ }
504
+ function createSkeletonElement() {
505
+ const list = document.createElement("forge-list");
506
+ const div = document.createElement("div");
507
+ div.style.minWidth = "192px";
508
+ for (let i = 0; i < 3; i++) {
509
+ const listItemSkeleton = document.createElement(SKELETON_CONSTANTS.elementName);
510
+ listItemSkeleton.setAttribute("list-item", "");
511
+ div.appendChild(listItemSkeleton);
512
+ }
513
+ list.appendChild(div);
514
+ return list;
515
+ }
516
+ function createBusyElement() {
517
+ const linearProgress = document.createElement(LINEAR_PROGRESS_CONSTANTS.elementName);
518
+ linearProgress.determinate = false;
519
+ linearProgress.style.position = "absolute";
520
+ linearProgress.style.top = "0";
521
+ linearProgress.style.left = "0";
522
+ linearProgress.style.right = "0";
523
+ linearProgress.style.width = "100%";
524
+ return linearProgress;
525
+ }
526
+ function getOptionsByGroup(options) {
527
+ return isListDropdownOptionType(options, 1 /* Group */) ? options : [{ text: "", options }];
528
+ }
529
+ function isListDropdownOptionType(options, type) {
530
+ const isOptionGroups = options.some((o) => isDefined(o) && isObject(o) && o.hasOwnProperty("options") && (o.hasOwnProperty("text") || o.hasOwnProperty("builder")));
531
+ const isOptionTypes = options.some((o) => isDefined(o) && isObject(o) && o.hasOwnProperty("label") && o.hasOwnProperty("value"));
532
+ return isOptionGroups && type === 1 /* Group */ || isOptionTypes && type === 0 /* Option */;
533
+ }
534
+
535
+ // dist/build/lib/staging/src/list-dropdown/list-dropdown-foundation.ts
536
+ var ListDropdownFoundation = class {
537
+ constructor(_adapter, config) {
538
+ this._adapter = _adapter;
539
+ this._open = false;
540
+ this._config = Object.assign(__spreadValues({}, DEFAULT_LIST_DROPDOWN_CONFIG), __spreadValues({}, config));
541
+ this._selectListener = (value, id) => this._onSelect(value, id);
542
+ this._closeListener = () => {
543
+ if (typeof this._config.closeCallback === "function") {
544
+ this._config.closeCallback();
545
+ }
546
+ };
547
+ this._scrollEndListener = () => {
548
+ if (this._config.observeScroll && typeof this._config.scrollEndListener === "function") {
549
+ this._config.scrollEndListener();
550
+ }
551
+ };
552
+ }
553
+ destroy() {
554
+ if (this._open) {
555
+ this.close();
556
+ }
557
+ }
558
+ open() {
559
+ if (!this._open) {
560
+ this._open = true;
561
+ this._adapter.open(this._config, this._selectListener, this._closeListener);
562
+ window.requestAnimationFrame(() => {
563
+ if (this._open) {
564
+ this.activateInitialOption();
565
+ }
566
+ });
567
+ if (this._config.observeScroll && this._config.scrollEndListener) {
568
+ this._adapter.setScrollBottomListener(this._scrollEndListener, this._config.observeScrollThreshold || 0);
569
+ }
570
+ }
571
+ }
572
+ close() {
573
+ if (this._open) {
574
+ this._open = false;
575
+ this._adapter.close();
576
+ if (this._config.observeScroll && this._config.scrollEndListener) {
577
+ this._adapter.removeScrollBottomListener(this._scrollEndListener);
578
+ }
579
+ }
580
+ }
581
+ _onSelect(value, id) {
582
+ if (typeof this._config.activeChangeCallback === "function") {
583
+ this._config.activeChangeCallback(id);
584
+ }
585
+ if (typeof this._config.selectCallback === "function") {
586
+ this._config.selectCallback(value);
587
+ }
588
+ if (this._open) {
589
+ const sync = this._config.syncWidth === void 0 ? true : false;
590
+ this._adapter.syncWidth(sync);
591
+ }
592
+ }
593
+ getActiveOptionIndex() {
594
+ return this._adapter.getActiveOptionIndex();
595
+ }
596
+ getActiveOption() {
597
+ const index = this.getActiveOptionIndex();
598
+ return index >= 0 ? this._nonDividerOptions[index] : void 0;
599
+ }
600
+ toggleOptionMultiple(index, isSelected) {
601
+ return this._adapter.toggleOptionMultiple(index, isSelected);
602
+ }
603
+ activateSelectedOption() {
604
+ this._adapter.activateSelectedOption(this._config);
605
+ }
606
+ activateFirstOption() {
607
+ const index = this._nonDividerOptions.findIndex((o) => !o.disabled);
608
+ if (index !== -1) {
609
+ this.activateOption(index);
610
+ }
611
+ return index;
612
+ }
613
+ activateLastOption() {
614
+ const options = this._nonDividerOptions;
615
+ const index = options.length - 1 - options.findIndex((o) => !o.disabled);
616
+ if (index !== -1) {
617
+ this.activateOption(index);
618
+ }
619
+ return index;
620
+ }
621
+ activateOption(index, animate) {
622
+ return this._adapter.activateOption(index, this._config.activeChangeCallback, animate);
623
+ }
624
+ activateInitialOption() {
625
+ if (typeof this._config.activeStartIndex === "number" && this._nonDividerOptions[this._config.activeStartIndex]) {
626
+ this.activateOption(this._config.activeStartIndex, false);
627
+ this._adapter.scrollSelectedOptionIntoView(false);
628
+ } else if (this._config.selectedValues && this._config.selectedValues.length) {
629
+ this._adapter.scrollSelectedOptionIntoView(false);
630
+ }
631
+ }
632
+ setSelectedValues(values) {
633
+ if (!Array.isArray(values)) {
634
+ values = [values];
635
+ }
636
+ if (!this._config.multiple && values.length > 1) {
637
+ values = [values[0]];
638
+ }
639
+ this._config.selectedValues = values;
640
+ this._adapter.setSelectedValues(values, this._config.multiple);
641
+ }
642
+ clearActiveOption() {
643
+ this._adapter.clearActiveOption();
644
+ }
645
+ setOptions(options) {
646
+ this._config.options = options;
647
+ if (!this._open) {
648
+ return;
649
+ }
650
+ this._adapter.setOptions(this._config);
651
+ this.activateInitialOption();
652
+ }
653
+ appendOptions(options) {
654
+ this._config.options = [...this._config.options, ...options];
655
+ if (!this._open) {
656
+ return;
657
+ }
658
+ this._adapter.appendOptions(options, this._config);
659
+ }
660
+ get dropdownElement() {
661
+ return this._adapter.dropdownElement;
662
+ }
663
+ scrollSelectedOptionIntoView(animate = true) {
664
+ this._adapter.scrollSelectedOptionIntoView(animate);
665
+ }
666
+ setScrollBottomListener(listener, threshold) {
667
+ this._config.scrollEndListener = listener;
668
+ this._config.observeScroll = true;
669
+ this._config.observeScrollThreshold = threshold;
670
+ this._adapter.setScrollBottomListener(this._scrollEndListener, this._config.observeScrollThreshold || 0);
671
+ }
672
+ removeScrollBottomListener() {
673
+ this._config.scrollEndListener = void 0;
674
+ this._adapter.removeScrollBottomListener(this._scrollEndListener);
675
+ }
676
+ setBusyVisibility(isVisible) {
677
+ if (!this._config.allowBusy) {
678
+ return;
679
+ }
680
+ this._adapter.setBusyVisibility(isVisible);
681
+ }
682
+ handleKey(key) {
683
+ switch (key) {
684
+ case "Enter":
685
+ const activeOptionIndex = this.getActiveOptionIndex();
686
+ const activeOption = this._nonDividerOptions[activeOptionIndex];
687
+ if (this._canSelectOption(activeOption)) {
688
+ const id = this._adapter.getActiveOptionIdByIndex(activeOptionIndex);
689
+ if (id) {
690
+ this._onSelect(activeOption.value, id);
691
+ }
692
+ }
693
+ break;
694
+ case "Up":
695
+ case "ArrowUp":
696
+ case "Down":
697
+ case "ArrowDown":
698
+ const options = this._nonDividerOptions;
699
+ if (options.length && options.every((o) => !this._canSelectOption(o))) {
700
+ return;
701
+ }
702
+ const index = this._getNextActiveOptionIndex(key);
703
+ this.activateOption(index);
704
+ break;
705
+ case "Home":
706
+ this.activateFirstOption();
707
+ break;
708
+ case "End":
709
+ this.activateLastOption();
710
+ break;
711
+ }
712
+ }
713
+ _canSelectOption(option) {
714
+ return option && !option.disabled && !option.divider;
715
+ }
716
+ _getNextActiveOptionIndex(key) {
717
+ let index = this._adapter.getActiveOptionIndex();
718
+ if (index === -1) {
719
+ index = this._adapter.getSelectedOptionIndex();
720
+ }
721
+ if (key === "ArrowUp" || key === "Up") {
722
+ return this._getPreviousHighlightableOptionIndex(index, this._nonDividerOptions);
723
+ }
724
+ return this._getNextHighlightableOptionIndex(index, this._nonDividerOptions);
725
+ }
726
+ _getPreviousHighlightableOptionIndex(startIndex, options) {
727
+ const index = startIndex <= 0 ? options.length - 1 : startIndex - 1;
728
+ if (options[index].disabled) {
729
+ return this._getPreviousHighlightableOptionIndex(index, options);
730
+ }
731
+ return index;
732
+ }
733
+ _getNextHighlightableOptionIndex(startIndex, options) {
734
+ const index = startIndex === options.length - 1 ? 0 : startIndex + 1;
735
+ if (options[index].disabled) {
736
+ return this._getNextHighlightableOptionIndex(index, options);
737
+ }
738
+ return index;
739
+ }
740
+ get _flatOptions() {
741
+ if (isListDropdownOptionType(this._config.options, 1 /* Group */)) {
742
+ const groups = this._config.options;
743
+ return groups.reduce((flatOpts, group) => flatOpts.concat(group.options), []);
744
+ }
745
+ return [...this._config.options];
746
+ }
747
+ get _nonDividerOptions() {
748
+ return this._flatOptions.filter((o) => !o.divider);
749
+ }
750
+ };
751
+
752
+ // dist/build/lib/staging/src/list-dropdown/list-dropdown-adapter.ts
753
+ var ListDropdownAdapter = class {
754
+ constructor(_targetElement) {
755
+ this._targetElement = _targetElement;
756
+ }
757
+ get dropdownElement() {
758
+ return this._dropdownElement;
759
+ }
760
+ open(config, selectCallback, closeCb) {
761
+ this._dropdownElement = createDropdown(config, this._targetElement);
762
+ this.syncWidth(!!config.syncWidth, config.targetWidthCallback);
763
+ if (config.allowBusy) {
764
+ this._busyElement = createBusyElement();
765
+ this._busyElement.style.display = "none";
766
+ this._dropdownElement.appendChild(this._busyElement);
767
+ }
768
+ if (config.headerBuilder) {
769
+ this._headerElement = config.headerBuilder();
770
+ if (this._headerElement) {
771
+ this._headerElement.setAttribute(LIST_DROPDOWN_CONSTANTS.attributes.DATA_ALLOW_FOCUS, "");
772
+ }
773
+ }
774
+ if (config.footerBuilder) {
775
+ this._footerElement = config.footerBuilder();
776
+ if (this._footerElement) {
777
+ this._footerElement.setAttribute(LIST_DROPDOWN_CONSTANTS.attributes.DATA_ALLOW_FOCUS, "");
778
+ }
779
+ }
780
+ this._listElement = createList(config);
781
+ this._listElement.addEventListener(LIST_ITEM_CONSTANTS.events.SELECT, (evt) => {
782
+ evt.detail.listItem.setAttribute("aria-selected", "true");
783
+ selectCallback(evt.detail.value, evt.detail.listItem.id);
784
+ });
785
+ if (config.options.length) {
786
+ createListItems(config, this._listElement);
787
+ this._dropdownElement.appendChild(this._listElement);
788
+ if (this._headerElement) {
789
+ this._dropdownElement.insertAdjacentElement("afterbegin", this._headerElement);
790
+ }
791
+ if (this._footerElement) {
792
+ this._dropdownElement.appendChild(this._footerElement);
793
+ }
794
+ } else if (config.allowBusy) {
795
+ this._asyncElement = createAsyncElement(config.asyncStyle);
796
+ this._dropdownElement.appendChild(this._asyncElement);
797
+ }
798
+ this._announcerElement = createVisuallyHiddenElement();
799
+ this._announcerElement.id = `${config.id}-activedescendant`;
800
+ this._dropdownElement.appendChild(this._announcerElement);
801
+ this._dropdownElement.open = true;
802
+ }
803
+ close() {
804
+ if (!this._dropdownElement) {
805
+ return;
806
+ }
807
+ this._dropdownElement.open = false;
808
+ this._dropdownElement = void 0;
809
+ this._listElement = void 0;
810
+ this._announcerElement = void 0;
811
+ }
812
+ setScrollBottomListener(listener, scrollThreshold) {
813
+ if (this._dropdownElement) {
814
+ if (!this._scrollObserver) {
815
+ const scrollTarget = getShadowElement(this._dropdownElement, POPUP_CONSTANTS.selectors.CONTAINER);
816
+ const scrollConfig = { scrollThreshold };
817
+ this._scrollObserver = new ScrollAxisObserver(scrollTarget, scrollConfig);
818
+ this._scrollObserver.addListener(ScrollEvents.ScrolledEnd, listener);
819
+ }
820
+ }
821
+ }
822
+ removeScrollBottomListener(listener) {
823
+ if (this._scrollObserver) {
824
+ this._scrollObserver.removeListener(ScrollEvents.ScrolledEnd, listener);
825
+ }
826
+ }
827
+ getActiveOptionIndex() {
828
+ if (!this._dropdownElement) {
829
+ return -1;
830
+ }
831
+ const listItems = this._getListItemElements();
832
+ const activeListItem = [...listItems].reverse().find((li) => li.active);
833
+ return activeListItem ? listItems.indexOf(activeListItem) : -1;
834
+ }
835
+ getSelectedOptionIndex() {
836
+ const listItems = this._getListItemElements();
837
+ return listItems.findIndex((li) => li.selected);
838
+ }
839
+ getActiveOptionIdByIndex(index) {
840
+ if (!this._dropdownElement) {
841
+ return null;
842
+ }
843
+ const listItems = this._getListItemElements();
844
+ const item = listItems[index];
845
+ return item ? item.id : null;
846
+ }
847
+ toggleOptionMultiple(index, isSelected) {
848
+ if (!this._dropdownElement) {
849
+ return;
850
+ }
851
+ const listItems = this._getListItemElements();
852
+ if (listItems.length && listItems[index]) {
853
+ this._toggleSelectedOption(listItems[index], isSelected);
854
+ }
855
+ }
856
+ scrollSelectedOptionIntoView(animate = true) {
857
+ const listItem = this._getSelectedListItem();
858
+ this._scrollListItemIntoView(listItem, animate ? "smooth" : "auto", "center");
859
+ }
860
+ activateSelectedOption(config) {
861
+ const listItems = this._getListItemElements();
862
+ if (listItems.length) {
863
+ const activeListItems = listItems.filter((li) => li.active);
864
+ activeListItems.forEach((li) => li.active = false);
865
+ }
866
+ const listItem = this._getSelectedListItem();
867
+ if (listItem) {
868
+ this._activateListOption(listItem, config.activeChangeCallback);
869
+ }
870
+ }
871
+ activateOption(index, activeChangeCallback, animate = true) {
872
+ if (!this._dropdownElement) {
873
+ return;
874
+ }
875
+ const listItems = this._getListItemElements();
876
+ if (listItems.length) {
877
+ const activeListItems = listItems.filter((li) => li.active);
878
+ activeListItems.forEach((li) => li.active = false);
879
+ this._activateListOption(listItems[index], activeChangeCallback);
880
+ this._scrollListItemIntoView(listItems[index], animate ? "smooth" : "auto");
881
+ }
882
+ }
883
+ setSelectedValues(values, multiple = false) {
884
+ if (!this._dropdownElement) {
885
+ return;
886
+ }
887
+ const listItems = this._getListItemElements();
888
+ for (const listItem of listItems) {
889
+ const isSelected = values.some((v) => isDeepEqual(v, listItem.value));
890
+ listItem.selected = isSelected;
891
+ if (multiple) {
892
+ const checkboxElement = listItem.querySelector(`[${LIST_DROPDOWN_CONSTANTS.attributes.CHECKBOX_ELEMENT}]`);
893
+ if (checkboxElement) {
894
+ const newCheckboxElement = createCheckboxElement(isSelected);
895
+ replaceElement(newCheckboxElement, checkboxElement);
896
+ }
897
+ }
898
+ }
899
+ }
900
+ clearActiveOption() {
901
+ const listItems = this._getListItemElements();
902
+ listItems.forEach((li) => li.active = false);
903
+ }
904
+ syncWidth(sync, targetWidthCallback) {
905
+ if (this._dropdownElement) {
906
+ this._dropdownElement.style[sync ? "width" : "minWidth"] = `${this._getTargetElementWidth(targetWidthCallback)}px`;
907
+ }
908
+ }
909
+ setOptions(config) {
910
+ if (!this._dropdownElement || !this._listElement) {
911
+ return;
912
+ }
913
+ if (this._asyncElement && this._asyncElement.isConnected) {
914
+ removeElement(this._asyncElement);
915
+ }
916
+ if (this._busyElement) {
917
+ this._busyElement.close();
918
+ }
919
+ if (!this._listElement.isConnected) {
920
+ this._dropdownElement.appendChild(this._listElement);
921
+ }
922
+ removeAllChildren(this._listElement);
923
+ createListItems(config, this._listElement);
924
+ if (this._headerElement && !this._headerElement.isConnected) {
925
+ this._dropdownElement.insertAdjacentElement("afterbegin", this._headerElement);
926
+ }
927
+ if (this._footerElement && !this._footerElement.isConnected) {
928
+ this._dropdownElement.insertAdjacentElement("beforeend", this._footerElement);
929
+ }
930
+ if ("position" in this._dropdownElement && typeof this._dropdownElement.position === "function") {
931
+ this._dropdownElement.position();
932
+ }
933
+ }
934
+ appendOptions(options, config) {
935
+ if (!this._dropdownElement || !this._listElement) {
936
+ return;
937
+ }
938
+ createListItems(config, this._listElement, options);
939
+ }
940
+ setBusyVisibility(isVisible) {
941
+ if (!this._dropdownElement) {
942
+ return;
943
+ }
944
+ if (isVisible) {
945
+ this._busyElement.style.removeProperty("display");
946
+ this._busyElement.open();
947
+ } else {
948
+ this._busyElement.close();
949
+ }
950
+ }
951
+ getScreenWidth() {
952
+ return window.innerWidth;
953
+ }
954
+ _getListItemElements() {
955
+ return this._dropdownElement ? Array.from(this._dropdownElement.querySelectorAll(LIST_ITEM_CONSTANTS.elementName)) : [];
956
+ }
957
+ _toggleSelectedOption(listItem, isSelected) {
958
+ if (!this._dropdownElement) {
959
+ return;
960
+ }
961
+ const listItems = this._getListItemElements();
962
+ if (listItems.length) {
963
+ const activeItems = listItems.filter((li) => li !== listItem && li.active);
964
+ if (activeItems.length) {
965
+ activeItems.forEach((ai) => ai.active = false);
966
+ }
967
+ }
968
+ listItem.selected = isSelected;
969
+ listItem.setAttribute("aria-selected", `${isSelected}`);
970
+ listItem.setAttribute("aria-checked", `${isSelected}`);
971
+ if (isSelected) {
972
+ listItem.active = true;
973
+ }
974
+ const checkboxElement = listItem.querySelector(`${ICON_CONSTANTS.elementName}[slot=leading]`);
975
+ if (checkboxElement) {
976
+ const newCheckboxElement = createCheckboxElement(isSelected);
977
+ replaceElement(newCheckboxElement, checkboxElement);
978
+ }
979
+ }
980
+ _getTargetElementWidth(cb) {
981
+ if (cb && isFunction(cb)) {
982
+ return cb();
983
+ }
984
+ return this._targetElement.getBoundingClientRect().width;
985
+ }
986
+ _activateListOption(listItem, activeChangeCallback) {
987
+ if (listItem && !listItem.disabled) {
988
+ listItem.active = true;
989
+ if (activeChangeCallback && isFunction(activeChangeCallback)) {
990
+ activeChangeCallback(listItem.id);
991
+ }
992
+ }
993
+ }
994
+ _scrollListItemIntoView(listItem, behavior = "auto", block = "nearest") {
995
+ if (listItem && this._dropdownElement && this._dropdownElement.isConnected) {
996
+ const scrollContainer = getShadowElement(this._dropdownElement, POPUP_CONSTANTS.selectors.CONTAINER);
997
+ if (scrollContainer) {
998
+ tryScrollIntoView(scrollContainer, listItem, behavior, block);
999
+ }
1000
+ }
1001
+ }
1002
+ _getSelectedListItem() {
1003
+ const listItems = this._getListItemElements();
1004
+ return listItems.find((li) => li.selected);
1005
+ }
1006
+ };
1007
+
1008
+ // dist/build/lib/staging/src/list-dropdown/list-dropdown.ts
1009
+ var ListDropdown = class {
1010
+ constructor(_targetElement, config) {
1011
+ this._targetElement = _targetElement;
1012
+ IconRegistry.define([tylIconCheckBox, tylIconCheckBoxOutlineBlank]);
1013
+ this._foundation = new ListDropdownFoundation(new ListDropdownAdapter(this._targetElement), config);
1014
+ }
1015
+ destroy() {
1016
+ this._foundation.destroy();
1017
+ }
1018
+ open() {
1019
+ this._foundation.open();
1020
+ }
1021
+ close() {
1022
+ this._foundation.close();
1023
+ }
1024
+ getActiveOptionIndex() {
1025
+ return this._foundation.getActiveOptionIndex();
1026
+ }
1027
+ getActiveOption() {
1028
+ return this._foundation.getActiveOption();
1029
+ }
1030
+ toggleOptionMultiple(index, isSelected) {
1031
+ return this._foundation.toggleOptionMultiple(index, isSelected);
1032
+ }
1033
+ activateSelectedOption() {
1034
+ this._foundation.activateSelectedOption();
1035
+ }
1036
+ activateFirstOption() {
1037
+ return this._foundation.activateFirstOption();
1038
+ }
1039
+ activateOption(index) {
1040
+ return this._foundation.activateOption(index);
1041
+ }
1042
+ activateInitialOption() {
1043
+ return this._foundation.activateInitialOption();
1044
+ }
1045
+ clearActiveOption() {
1046
+ this._foundation.clearActiveOption();
1047
+ }
1048
+ setSelectedValues(values) {
1049
+ return this._foundation.setSelectedValues(values);
1050
+ }
1051
+ get dropdownElement() {
1052
+ return this._foundation.dropdownElement;
1053
+ }
1054
+ setOptions(options) {
1055
+ this._foundation.setOptions(options);
1056
+ }
1057
+ appendOptions(options) {
1058
+ this._foundation.appendOptions(options);
1059
+ }
1060
+ scrollSelectedOptionIntoView(animate) {
1061
+ this._foundation.scrollSelectedOptionIntoView();
1062
+ }
1063
+ setScrollBottomListener(listener, threshold) {
1064
+ this._foundation.setScrollBottomListener(listener, threshold);
1065
+ }
1066
+ removeScrollBottomListener() {
1067
+ this._foundation.removeScrollBottomListener();
1068
+ }
1069
+ setBusyVisibility(isVisible) {
1070
+ this._foundation.setBusyVisibility(isVisible);
1071
+ }
1072
+ handleKey(key) {
1073
+ this._foundation.handleKey(key);
1074
+ }
1075
+ };
1076
+
1077
+ // dist/build/lib/staging/src/list-dropdown/list-dropdown-aware-foundation.ts
1078
+ var ListDropdownAwareFoundation = class {
1079
+ constructor() {
1080
+ this._popupClasses = [];
1081
+ this._syncPopupWidth = false;
1082
+ this._optionLimit = 0;
1083
+ this._observeScroll = false;
1084
+ this._observeScrollThreshold = 0;
1085
+ }
1086
+ get syncPopupWidth() {
1087
+ return this._syncPopupWidth;
1088
+ }
1089
+ set syncPopupWidth(value) {
1090
+ this._syncPopupWidth = value;
1091
+ }
1092
+ get popupClasses() {
1093
+ return this._popupClasses;
1094
+ }
1095
+ set popupClasses(value) {
1096
+ if (typeof value === "string") {
1097
+ value = [value];
1098
+ }
1099
+ if (Array.isArray(value)) {
1100
+ this._popupClasses = value;
1101
+ }
1102
+ }
1103
+ get observeScroll() {
1104
+ return this._observeScroll;
1105
+ }
1106
+ set observeScroll(value) {
1107
+ this._observeScroll = value;
1108
+ }
1109
+ get observeScrollThreshold() {
1110
+ return this._observeScrollThreshold;
1111
+ }
1112
+ set observeScrollThreshold(value) {
1113
+ this._observeScrollThreshold = value;
1114
+ }
1115
+ get optionLimit() {
1116
+ return this._optionLimit;
1117
+ }
1118
+ set optionLimit(value) {
1119
+ this._optionLimit = value;
1120
+ }
1121
+ get popupHeaderBuilder() {
1122
+ return this._popupHeaderBuilder;
1123
+ }
1124
+ set popupHeaderBuilder(value) {
1125
+ this._popupHeaderBuilder = value;
1126
+ }
1127
+ get popupFooterBuilder() {
1128
+ return this._popupFooterBuilder;
1129
+ }
1130
+ set popupFooterBuilder(value) {
1131
+ this._popupFooterBuilder = value;
1132
+ }
1133
+ _applySelection() {
1134
+ }
1135
+ };
1136
+
1137
+ // dist/build/lib/staging/src/list-dropdown/cascading-list-dropdown-aware-foundation.ts
1138
+ var CascadingListDropdownAwareFoundation = class extends ListDropdownAwareFoundation {
1139
+ constructor(_config) {
1140
+ super();
1141
+ this._config = _config;
1142
+ this._open = false;
1143
+ this._options = [];
1144
+ this._childOpen = false;
1145
+ this._popupHasMouse = false;
1146
+ this._targetMouseEnterListener = (evt) => this._onTargetMouseEnter(evt);
1147
+ this._targetMouseLeaveListener = (evt) => this._onTargetMouseLeave(evt);
1148
+ this._childPopupMouseEnterListener = () => this._onChildPopupMouseEnter();
1149
+ this._childPopupMouseLeaveListener = () => this._onChildPopupMouseLeave();
1150
+ this._documentMouseMoveListener = (evt) => this._mouseCoords = { x: evt.pageX, y: evt.pageY };
1151
+ }
1152
+ _onChildPopupMouseEnter() {
1153
+ this._popupHasMouse = true;
1154
+ }
1155
+ _onChildPopupMouseLeave() {
1156
+ this._popupHasMouse = false;
1157
+ setTimeout(() => {
1158
+ const mouseElement = document.elementFromPoint(this._mouseCoords.x, this._mouseCoords.y);
1159
+ if (!this._popupHasMouse && !this._childOpen && (!mouseElement || !this._isOwnElement(mouseElement))) {
1160
+ this._closeDropdown();
1161
+ }
1162
+ }, this._config.popupTimeout);
1163
+ }
1164
+ _onTargetMouseEnter(evt) {
1165
+ if (!this._options.length) {
1166
+ return;
1167
+ }
1168
+ this._openDropdown();
1169
+ }
1170
+ _onTargetMouseLeave(evt) {
1171
+ this._activeMouseLeaveTimeout = window.setTimeout(() => {
1172
+ if (!this._open || this._childOpen) {
1173
+ return;
1174
+ }
1175
+ if (this._mouseCoords) {
1176
+ const mouseElement = document.elementFromPoint(this._mouseCoords.x, this._mouseCoords.y);
1177
+ if (mouseElement && this._isOwnElement(mouseElement)) {
1178
+ return;
1179
+ }
1180
+ }
1181
+ this._closeDropdown();
1182
+ }, this._config.targetTimeout);
1183
+ }
1184
+ _clearMouseLeaveTimeout() {
1185
+ if (this._activeMouseLeaveTimeout !== void 0) {
1186
+ window.clearTimeout(this._activeMouseLeaveTimeout);
1187
+ }
1188
+ }
1189
+ };
1190
+
1191
+ export {
1192
+ LIST_DROPDOWN_CONSTANTS,
1193
+ DEFAULT_LIST_DROPDOWN_CONFIG,
1194
+ ListDropdownType,
1195
+ ListDropdownAsyncStyle,
1196
+ isListDropdownOptionType,
1197
+ ListDropdownFoundation,
1198
+ ListDropdownAdapter,
1199
+ ListDropdown,
1200
+ ListDropdownAwareFoundation,
1201
+ CascadingListDropdownAwareFoundation
1202
+ };
1203
+ //# sourceMappingURL=chunk.D4XU5MZN.js.map