@tylertech/forge 3.0.0-next.21 → 3.0.0-next.23

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 (908) hide show
  1. package/custom-elements.json +33600 -39264
  2. package/dist/dialog/forge-dialog-utils.css +1 -1
  3. package/dist/esm/accordion/index.js +1 -1
  4. package/dist/esm/app-bar/app-bar/index.js +1 -1
  5. package/dist/esm/app-bar/help-button/index.js +1 -1
  6. package/dist/esm/app-bar/index.js +1 -1
  7. package/dist/esm/app-bar/menu-button/index.js +1 -1
  8. package/dist/esm/app-bar/notification-button/index.js +1 -1
  9. package/dist/esm/app-bar/profile-button/index.js +1 -1
  10. package/dist/esm/app-bar/search/index.js +1 -1
  11. package/dist/esm/autocomplete/index.js +1 -1
  12. package/dist/esm/avatar/index.js +1 -1
  13. package/dist/esm/backdrop/index.js +1 -1
  14. package/dist/esm/badge/index.js +1 -1
  15. package/dist/esm/banner/index.js +1 -1
  16. package/dist/esm/bottom-sheet/index.js +1 -1
  17. package/dist/esm/busy-indicator/index.js +1 -1
  18. package/dist/esm/button/index.js +1 -1
  19. package/dist/esm/button-area/index.js +1 -1
  20. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  21. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  22. package/dist/esm/button-toggle/index.js +1 -1
  23. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  24. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  25. package/dist/esm/calendar/index.js +1 -1
  26. package/dist/esm/card/index.js +1 -1
  27. package/dist/esm/checkbox/index.js +1 -1
  28. package/dist/esm/chip-field/index.js +1 -1
  29. package/dist/esm/chips/chip/index.js +1 -1
  30. package/dist/esm/chips/chip-set/index.js +1 -1
  31. package/dist/esm/chips/index.js +1 -1
  32. package/dist/esm/chunks/{chunk.PDDBNHVU.js → chunk.2GUWHBUU.js} +2 -2
  33. package/dist/esm/chunks/{chunk.PDDBNHVU.js.map → chunk.2GUWHBUU.js.map} +2 -2
  34. package/dist/esm/chunks/chunk.2W23MOPP.js +7 -0
  35. package/dist/esm/chunks/chunk.2W23MOPP.js.map +7 -0
  36. package/dist/esm/chunks/{chunk.OSBNFFCI.js → chunk.32APLNN2.js} +2 -2
  37. package/dist/esm/chunks/chunk.32APLNN2.js.map +7 -0
  38. package/dist/esm/chunks/chunk.37B332ZK.js +7 -0
  39. package/dist/esm/chunks/{chunk.SOKORSUV.js.map → chunk.37B332ZK.js.map} +3 -3
  40. package/dist/esm/chunks/chunk.3II7OT2I.js +7 -0
  41. package/dist/esm/chunks/chunk.3II7OT2I.js.map +7 -0
  42. package/dist/esm/chunks/{chunk.IZRURH7C.js → chunk.3KAKJGUS.js} +2 -2
  43. package/dist/esm/chunks/chunk.3PMONORO.js +7 -0
  44. package/dist/esm/chunks/chunk.3PMONORO.js.map +7 -0
  45. package/dist/esm/chunks/chunk.473WRJ5G.js +7 -0
  46. package/dist/esm/chunks/{chunk.USQEIRST.js → chunk.5MB6CTBA.js} +2 -2
  47. package/dist/esm/chunks/{chunk.YS5JZHJ6.js → chunk.5QIWLZG3.js} +2 -2
  48. package/dist/esm/chunks/chunk.5SUJNEC7.js +7 -0
  49. package/dist/esm/chunks/chunk.5SUJNEC7.js.map +7 -0
  50. package/dist/esm/chunks/{chunk.47U6GVGZ.js → chunk.5UOX22ML.js} +2 -2
  51. package/dist/esm/chunks/{chunk.4NABD6XG.js → chunk.6VS3LYAF.js} +2 -2
  52. package/dist/esm/chunks/chunk.72BKSMAZ.js +7 -0
  53. package/dist/esm/chunks/{chunk.3TIBP6QT.js.map → chunk.72BKSMAZ.js.map} +3 -3
  54. package/dist/esm/chunks/chunk.77C7S7ZS.js +7 -0
  55. package/dist/esm/chunks/chunk.77C7S7ZS.js.map +7 -0
  56. package/dist/esm/chunks/chunk.7AAICE77.js +7 -0
  57. package/dist/esm/chunks/chunk.7AAICE77.js.map +7 -0
  58. package/dist/esm/chunks/chunk.7IPAW4D2.js +7 -0
  59. package/dist/esm/chunks/{chunk.MCR34SZQ.js.map → chunk.7IPAW4D2.js.map} +1 -1
  60. package/dist/esm/chunks/chunk.7RLY2O3H.js +7 -0
  61. package/dist/esm/chunks/chunk.7RLY2O3H.js.map +7 -0
  62. package/dist/esm/chunks/chunk.7Y3BUR7Q.js +7 -0
  63. package/dist/esm/chunks/{chunk.3U222LE4.js.map → chunk.7Y3BUR7Q.js.map} +1 -1
  64. package/dist/esm/chunks/{chunk.AOSBUJWW.js → chunk.A7BCLPP4.js} +2 -2
  65. package/dist/esm/chunks/chunk.AFWWND2C.js +7 -0
  66. package/dist/esm/chunks/chunk.AFWWND2C.js.map +7 -0
  67. package/dist/esm/chunks/{chunk.7UBIT4NP.js → chunk.AG6IRMLZ.js} +2 -2
  68. package/dist/esm/chunks/{chunk.A4UH52SA.js → chunk.AGLI4WR4.js} +2 -2
  69. package/dist/esm/chunks/chunk.AIJK3CTV.js +12 -0
  70. package/dist/esm/chunks/chunk.AIJK3CTV.js.map +7 -0
  71. package/dist/esm/chunks/{chunk.WTUXAH7Z.js → chunk.AOVXNX7P.js} +2 -2
  72. package/dist/esm/chunks/{chunk.AN2E2SSN.js → chunk.ASLHRT3N.js} +2 -2
  73. package/dist/esm/chunks/chunk.BEFAXPXJ.js +15 -0
  74. package/dist/esm/chunks/{chunk.EO3HELQ2.js.map → chunk.BEFAXPXJ.js.map} +1 -1
  75. package/dist/esm/chunks/{chunk.CBLUXYH2.js → chunk.BHE6Z5Y2.js} +2 -2
  76. package/dist/esm/chunks/{chunk.2WRAXA3H.js → chunk.BQ52JYLA.js} +2 -2
  77. package/dist/esm/chunks/chunk.BQZKOIAW.js +7 -0
  78. package/dist/esm/chunks/chunk.BQZKOIAW.js.map +7 -0
  79. package/dist/esm/chunks/chunk.BV7EAQST.js +7 -0
  80. package/dist/esm/chunks/chunk.BV7EAQST.js.map +7 -0
  81. package/dist/esm/chunks/{chunk.ROMRJIFR.js → chunk.CE35CVDV.js} +2 -2
  82. package/dist/esm/chunks/{chunk.ZPXMKY72.js → chunk.CEGBMUSR.js} +2 -2
  83. package/dist/esm/chunks/{chunk.GBGGUYTE.js → chunk.CFAI4K3E.js} +2 -2
  84. package/dist/esm/chunks/{chunk.ZIGVO6FN.js → chunk.CGFSMACZ.js} +2 -2
  85. package/dist/esm/chunks/chunk.CLYGTLXN.js +7 -0
  86. package/dist/esm/chunks/chunk.CLYGTLXN.js.map +7 -0
  87. package/dist/esm/chunks/chunk.DJSHVUEM.js +18 -0
  88. package/dist/esm/chunks/{chunk.MGLWXAZO.js.map → chunk.DJSHVUEM.js.map} +4 -4
  89. package/dist/esm/chunks/chunk.DKERDHXH.js +7 -0
  90. package/dist/esm/chunks/{chunk.JVWJHSPM.js.map → chunk.DKERDHXH.js.map} +1 -1
  91. package/dist/esm/chunks/{chunk.UEYPCCFG.js → chunk.ENUKGA2U.js} +2 -2
  92. package/dist/esm/chunks/chunk.EO3GP6DP.js +7 -0
  93. package/dist/esm/chunks/chunk.EO3GP6DP.js.map +7 -0
  94. package/dist/esm/chunks/chunk.FLBYVCQ6.js +7 -0
  95. package/dist/esm/chunks/chunk.FLBYVCQ6.js.map +7 -0
  96. package/dist/esm/chunks/chunk.FLF5RTYO.js +7 -0
  97. package/dist/esm/chunks/chunk.FLF5RTYO.js.map +7 -0
  98. package/dist/esm/chunks/chunk.GBAVJILM.js +7 -0
  99. package/dist/esm/chunks/chunk.GBAVJILM.js.map +7 -0
  100. package/dist/esm/chunks/chunk.GG7IQL46.js +7 -0
  101. package/dist/esm/chunks/{chunk.HBAC6E7O.js.map → chunk.GG7IQL46.js.map} +1 -1
  102. package/dist/esm/chunks/chunk.GIENHEMN.js +7 -0
  103. package/dist/esm/chunks/chunk.GIENHEMN.js.map +7 -0
  104. package/dist/esm/chunks/chunk.GRYO5XP2.js +7 -0
  105. package/dist/esm/chunks/chunk.GRYO5XP2.js.map +7 -0
  106. package/dist/esm/chunks/{chunk.FOSKVNVV.js → chunk.H4VQXV2H.js} +2 -2
  107. package/dist/esm/chunks/{chunk.FOSKVNVV.js.map → chunk.H4VQXV2H.js.map} +2 -2
  108. package/dist/esm/chunks/{chunk.GA6AO6FJ.js → chunk.H5RW3A4M.js} +2 -2
  109. package/dist/esm/chunks/chunk.HD2SLIL2.js +7 -0
  110. package/dist/esm/chunks/{chunk.V7ILFIOR.js.map → chunk.HD2SLIL2.js.map} +1 -1
  111. package/dist/esm/chunks/chunk.HG4IDRAC.js +7 -0
  112. package/dist/esm/chunks/chunk.HG4IDRAC.js.map +7 -0
  113. package/dist/esm/chunks/{chunk.CSOKFDFQ.js → chunk.HSADKCGS.js} +2 -2
  114. package/dist/esm/chunks/chunk.I7YON2TC.js +7 -0
  115. package/dist/esm/chunks/chunk.I7YON2TC.js.map +7 -0
  116. package/dist/esm/chunks/chunk.IEABOPNB.js +7 -0
  117. package/dist/esm/chunks/{chunk.22C7GQLX.js → chunk.IL4S57WO.js} +2 -2
  118. package/dist/esm/chunks/{chunk.HMJODLAS.js → chunk.IQYOLMPG.js} +2 -2
  119. package/dist/esm/chunks/{chunk.QG5EYBS3.js → chunk.J2Y5KPON.js} +2 -2
  120. package/dist/esm/chunks/{chunk.QG5EYBS3.js.map → chunk.J2Y5KPON.js.map} +2 -2
  121. package/dist/esm/chunks/{chunk.GTKYO6VB.js → chunk.JGURMVW7.js} +2 -2
  122. package/dist/esm/chunks/{chunk.YXHMD73U.js → chunk.K6GJNDTY.js} +2 -2
  123. package/dist/esm/chunks/{chunk.XYBVD3IE.js → chunk.KCCW4AMU.js} +2 -2
  124. package/dist/esm/chunks/{chunk.XYBVD3IE.js.map → chunk.KCCW4AMU.js.map} +2 -2
  125. package/dist/esm/chunks/{chunk.QUWEAFGI.js → chunk.KEOLH7G3.js} +2 -2
  126. package/dist/esm/chunks/chunk.KLU54MDQ.js +7 -0
  127. package/dist/esm/chunks/chunk.KLU54MDQ.js.map +7 -0
  128. package/dist/esm/chunks/chunk.KO6ODCZC.js +7 -0
  129. package/dist/esm/chunks/chunk.KO6ODCZC.js.map +7 -0
  130. package/dist/esm/chunks/chunk.L4QSPQDE.js +7 -0
  131. package/dist/esm/chunks/{chunk.DCCFF327.js.map → chunk.L4QSPQDE.js.map} +2 -2
  132. package/dist/esm/chunks/{chunk.BIQTNLIF.js → chunk.LNTTU2GL.js} +2 -2
  133. package/dist/esm/chunks/{chunk.7IJUN75W.js → chunk.LY2Z2Z7S.js} +2 -2
  134. package/dist/esm/chunks/{chunk.7IJUN75W.js.map → chunk.LY2Z2Z7S.js.map} +3 -3
  135. package/dist/esm/chunks/{chunk.2AM2BKEO.js → chunk.MFQRXVKO.js} +2 -2
  136. package/dist/esm/chunks/chunk.MFS7AVW6.js +7 -0
  137. package/dist/esm/chunks/chunk.MFS7AVW6.js.map +7 -0
  138. package/dist/esm/chunks/{chunk.JLSFTWPE.js → chunk.MTIPIEXA.js} +2 -2
  139. package/dist/esm/chunks/chunk.MX4JX4GT.js +7 -0
  140. package/dist/esm/chunks/{chunk.UOD3A7M4.js.map → chunk.MX4JX4GT.js.map} +1 -1
  141. package/dist/esm/chunks/chunk.NEQX2QVX.js +7 -0
  142. package/dist/esm/chunks/chunk.NEQX2QVX.js.map +7 -0
  143. package/dist/esm/chunks/chunk.NWVQ5HK2.js +7 -0
  144. package/dist/esm/chunks/{chunk.BETICEYY.js.map → chunk.NWVQ5HK2.js.map} +2 -2
  145. package/dist/esm/chunks/chunk.O5WAQQNR.js +7 -0
  146. package/dist/esm/chunks/{chunk.ZYKP23JP.js.map → chunk.O5WAQQNR.js.map} +2 -2
  147. package/dist/esm/chunks/{chunk.JSTCCUKZ.js → chunk.OEI35LFU.js} +2 -2
  148. package/dist/esm/chunks/chunk.OJ7JO4O6.js +7 -0
  149. package/dist/esm/chunks/chunk.OJ7JO4O6.js.map +7 -0
  150. package/dist/esm/chunks/{chunk.6GSVB5NB.js → chunk.OLFOVKQG.js} +2 -2
  151. package/dist/esm/chunks/chunk.OLFOVKQG.js.map +7 -0
  152. package/dist/esm/chunks/{chunk.IWVAI6XM.js → chunk.OOAJHLW4.js} +2 -2
  153. package/dist/esm/chunks/chunk.OOAJHLW4.js.map +7 -0
  154. package/dist/esm/chunks/chunk.OQHDHS2C.js +7 -0
  155. package/dist/esm/chunks/chunk.OQHDHS2C.js.map +7 -0
  156. package/dist/esm/chunks/{chunk.2537XOFQ.js → chunk.OREDK5MJ.js} +2 -2
  157. package/dist/esm/chunks/chunk.OVXEOEJF.js +7 -0
  158. package/dist/esm/chunks/chunk.OVXEOEJF.js.map +7 -0
  159. package/dist/esm/chunks/chunk.PC6TW5XE.js +7 -0
  160. package/dist/esm/chunks/chunk.PC6TW5XE.js.map +7 -0
  161. package/dist/esm/chunks/chunk.QCPV5DEG.js +7 -0
  162. package/dist/esm/chunks/{chunk.R3AWIPPK.js → chunk.QIZBZGYT.js} +2 -2
  163. package/dist/esm/chunks/{chunk.2XPAYTK4.js → chunk.QKTK5XUE.js} +2 -2
  164. package/dist/esm/chunks/chunk.QLGJS37N.js +7 -0
  165. package/dist/esm/chunks/chunk.QLGJS37N.js.map +7 -0
  166. package/dist/esm/chunks/{chunk.R66CYS27.js → chunk.QTY25OTN.js} +2 -2
  167. package/dist/esm/chunks/chunk.QUXMLWBJ.js +7 -0
  168. package/dist/esm/chunks/{chunk.BEUQVZKZ.js.map → chunk.QUXMLWBJ.js.map} +1 -1
  169. package/dist/esm/chunks/{chunk.BSV27GU7.js → chunk.QVATEY5S.js} +2 -2
  170. package/dist/esm/chunks/{chunk.FRTSXX33.js → chunk.RSYEG2RW.js} +2 -2
  171. package/dist/esm/chunks/{chunk.A6BIUNPW.js → chunk.RXBLU4OJ.js} +2 -2
  172. package/dist/esm/chunks/{chunk.FBDRM4YN.js → chunk.S7KEO2CH.js} +2 -2
  173. package/dist/esm/chunks/{chunk.XU3YSZPA.js → chunk.SQ3AZAHF.js} +2 -2
  174. package/dist/esm/chunks/{chunk.35MHQH7Z.js → chunk.SROEDYPL.js} +2 -2
  175. package/dist/esm/chunks/{chunk.SHBDQPPH.js → chunk.SZOZIJZI.js} +2 -2
  176. package/dist/esm/chunks/chunk.T7NWP7DB.js +7 -0
  177. package/dist/esm/chunks/chunk.T7NWP7DB.js.map +7 -0
  178. package/dist/esm/chunks/{chunk.PXRGQHWR.js → chunk.TQWZDM6T.js} +2 -2
  179. package/dist/esm/chunks/chunk.TSSZQPLE.js +7 -0
  180. package/dist/esm/chunks/{chunk.5UGN5FYV.js.map → chunk.TSSZQPLE.js.map} +2 -2
  181. package/dist/esm/chunks/chunk.U6J4VHU6.js +7 -0
  182. package/dist/esm/chunks/{chunk.STSAE2XP.js.map → chunk.U6J4VHU6.js.map} +1 -1
  183. package/dist/esm/chunks/{chunk.6JVMCBCR.js → chunk.UKBE2FMZ.js} +2 -2
  184. package/dist/esm/chunks/{chunk.MDDX4MJU.js → chunk.UPSXYWPD.js} +2 -2
  185. package/dist/esm/chunks/{chunk.MDDX4MJU.js.map → chunk.UPSXYWPD.js.map} +2 -2
  186. package/dist/esm/chunks/chunk.USTVZ6MZ.js +7 -0
  187. package/dist/esm/chunks/chunk.USTVZ6MZ.js.map +7 -0
  188. package/dist/esm/chunks/chunk.V6KUOCAR.js +7 -0
  189. package/dist/esm/chunks/chunk.V6KUOCAR.js.map +7 -0
  190. package/dist/esm/chunks/chunk.VGIRVTBJ.js +7 -0
  191. package/dist/esm/chunks/chunk.VGIRVTBJ.js.map +7 -0
  192. package/dist/esm/chunks/{chunk.4AEQ7KVU.js → chunk.VJZ7VDG5.js} +2 -2
  193. package/dist/esm/chunks/chunk.VL5RWSAV.js +7 -0
  194. package/dist/esm/chunks/chunk.VL5RWSAV.js.map +7 -0
  195. package/dist/esm/chunks/chunk.VRSPT7WX.js +7 -0
  196. package/dist/esm/chunks/{chunk.UQQQSJVM.js.map → chunk.VRSPT7WX.js.map} +3 -3
  197. package/dist/esm/chunks/chunk.W4HANHUO.js +7 -0
  198. package/dist/esm/chunks/{chunk.2W276VOR.js → chunk.WMJSYYXQ.js} +2 -2
  199. package/dist/esm/chunks/chunk.WXVVOFNK.js +7 -0
  200. package/dist/esm/chunks/chunk.WXVVOFNK.js.map +7 -0
  201. package/dist/esm/chunks/chunk.X77NKT6Z.js +7 -0
  202. package/dist/esm/chunks/chunk.X77NKT6Z.js.map +7 -0
  203. package/dist/esm/chunks/chunk.XZ23XHFE.js +7 -0
  204. package/dist/esm/chunks/chunk.XZ23XHFE.js.map +7 -0
  205. package/dist/esm/chunks/chunk.YNCTSMT6.js +7 -0
  206. package/dist/esm/chunks/chunk.YNCTSMT6.js.map +7 -0
  207. package/dist/esm/chunks/{chunk.YNXWVL4B.js → chunk.YPNSK2CK.js} +2 -2
  208. package/dist/esm/chunks/chunk.YRAEFQJW.js +7 -0
  209. package/dist/esm/chunks/{chunk.XAZ6EDIZ.js.map → chunk.YRAEFQJW.js.map} +3 -3
  210. package/dist/esm/chunks/chunk.YWJVZVZX.js +7 -0
  211. package/dist/esm/chunks/{chunk.6XLTVIUD.js → chunk.ZA7JY3AY.js} +2 -2
  212. package/dist/esm/chunks/chunk.ZG6YF2HI.js +7 -0
  213. package/dist/esm/chunks/{chunk.R6VPRRTT.js.map → chunk.ZG6YF2HI.js.map} +1 -1
  214. package/dist/esm/circular-progress/index.js +1 -1
  215. package/dist/esm/color-picker/index.js +1 -1
  216. package/dist/esm/core/base/index.js +1 -1
  217. package/dist/esm/core/delegates/index.js +1 -1
  218. package/dist/esm/core/index.js +1 -1
  219. package/dist/esm/core/utils/index.js +1 -1
  220. package/dist/esm/date-picker/index.js +1 -1
  221. package/dist/esm/date-range-picker/index.js +1 -1
  222. package/dist/esm/deprecated/button/index.js +1 -1
  223. package/dist/esm/deprecated/index.js +1 -1
  224. package/dist/esm/dialog/index.js +1 -1
  225. package/dist/esm/divider/index.js +1 -1
  226. package/dist/esm/drawer/base/index.js +1 -1
  227. package/dist/esm/drawer/drawer/index.js +1 -1
  228. package/dist/esm/drawer/index.js +1 -1
  229. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  230. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  231. package/dist/esm/expansion-panel/index.js +1 -1
  232. package/dist/esm/{field-next → field}/base/index.js +1 -1
  233. package/dist/esm/field/index.js +7 -0
  234. package/dist/esm/file-picker/index.js +1 -1
  235. package/dist/esm/floating-action-button/index.js +1 -1
  236. package/dist/esm/focus-indicator/index.js +1 -1
  237. package/dist/esm/icon/index.js +1 -1
  238. package/dist/esm/icon-button/index.js +1 -1
  239. package/dist/esm/index.js +1 -1
  240. package/dist/esm/inline-message/index.js +1 -1
  241. package/dist/esm/keyboard-shortcut/index.js +1 -1
  242. package/dist/esm/label/index.js +1 -1
  243. package/dist/esm/label-value/index.js +1 -1
  244. package/dist/esm/linear-progress/index.js +1 -1
  245. package/dist/esm/list/index.js +1 -1
  246. package/dist/esm/list/list/index.js +1 -1
  247. package/dist/esm/list/list-item/index.js +1 -1
  248. package/dist/esm/list-dropdown/index.js +1 -1
  249. package/dist/esm/menu/index.js +1 -1
  250. package/dist/esm/open-icon/index.js +1 -1
  251. package/dist/esm/overlay/index.js +1 -1
  252. package/dist/esm/page-state/index.js +1 -1
  253. package/dist/esm/paginator/index.js +1 -1
  254. package/dist/esm/popover/index.js +1 -1
  255. package/dist/esm/profile-card/index.js +1 -1
  256. package/dist/esm/quantity-field/index.js +1 -1
  257. package/dist/esm/radio/index.js +1 -1
  258. package/dist/esm/radio/radio/index.js +1 -1
  259. package/dist/esm/radio/radio-group/index.js +1 -1
  260. package/dist/esm/scaffold/index.js +1 -1
  261. package/dist/esm/select/core/index.js +1 -1
  262. package/dist/esm/select/index.js +1 -1
  263. package/dist/esm/select/option/index.js +1 -1
  264. package/dist/esm/select/option-group/index.js +1 -1
  265. package/dist/esm/select/select/index.js +1 -1
  266. package/dist/esm/select/select-dropdown/index.js +1 -1
  267. package/dist/esm/skeleton/index.js +1 -1
  268. package/dist/esm/slider/index.js +1 -1
  269. package/dist/esm/split-button/index.js +1 -1
  270. package/dist/esm/split-view/index.js +1 -1
  271. package/dist/esm/split-view/split-view/index.js +1 -1
  272. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  273. package/dist/esm/stack/index.js +1 -1
  274. package/dist/esm/state-layer/index.js +1 -1
  275. package/dist/esm/stepper/index.js +1 -1
  276. package/dist/esm/stepper/step/index.js +1 -1
  277. package/dist/esm/stepper/stepper/index.js +1 -1
  278. package/dist/esm/switch/index.js +1 -1
  279. package/dist/esm/table/index.js +1 -1
  280. package/dist/esm/tabs/index.js +1 -1
  281. package/dist/esm/tabs/tab/index.js +1 -1
  282. package/dist/esm/tabs/tab-bar/index.js +1 -1
  283. package/dist/esm/text-field/index.js +1 -1
  284. package/dist/esm/time-picker/index.js +1 -1
  285. package/dist/esm/toast/index.js +1 -1
  286. package/dist/esm/toolbar/index.js +1 -1
  287. package/dist/esm/tooltip/index.js +1 -1
  288. package/dist/esm/view-switcher/index.js +1 -1
  289. package/dist/esm/view-switcher/view/index.js +1 -1
  290. package/dist/forge-core.css +1 -1
  291. package/dist/forge-dark.css +1 -1
  292. package/dist/forge.css +1 -1
  293. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +6 -6
  294. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +18 -10
  295. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +3 -3
  296. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +13 -17
  297. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +4 -4
  298. package/esm/app-bar/profile-button/app-bar-profile-button.js +3 -3
  299. package/esm/autocomplete/autocomplete-adapter.d.ts +6 -2
  300. package/esm/autocomplete/autocomplete-adapter.js +27 -23
  301. package/esm/autocomplete/autocomplete-constants.d.ts +2 -2
  302. package/esm/autocomplete/autocomplete-constants.js +1 -2
  303. package/esm/autocomplete/autocomplete-foundation.js +3 -5
  304. package/esm/autocomplete/autocomplete.js +2 -2
  305. package/esm/backdrop/backdrop-constants.d.ts +10 -13
  306. package/esm/backdrop/backdrop-constants.js +12 -17
  307. package/esm/backdrop/backdrop.d.ts +17 -29
  308. package/esm/backdrop/backdrop.js +79 -50
  309. package/esm/backdrop/index.d.ts +0 -2
  310. package/esm/backdrop/index.js +0 -2
  311. package/esm/bottom-sheet/bottom-sheet-adapter.d.ts +2 -2
  312. package/esm/bottom-sheet/bottom-sheet-adapter.js +12 -5
  313. package/esm/bottom-sheet/bottom-sheet-foundation.js +1 -1
  314. package/esm/bottom-sheet/bottom-sheet.js +2 -2
  315. package/esm/busy-indicator/busy-indicator-adapter.d.ts +2 -6
  316. package/esm/busy-indicator/busy-indicator-adapter.js +8 -6
  317. package/esm/busy-indicator/busy-indicator-foundation.js +1 -1
  318. package/esm/button/base/base-button-foundation.js +2 -1
  319. package/esm/calendar/calendar-constants.d.ts +1 -1
  320. package/esm/calendar/calendar-constants.js +1 -1
  321. package/esm/calendar/calendar-dropdown/calendar-dropdown.d.ts +6 -4
  322. package/esm/calendar/calendar-dropdown/calendar-dropdown.js +21 -25
  323. package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +1 -1
  324. package/esm/calendar/calendar-menu/calendar-menu-constants.js +1 -1
  325. package/esm/calendar/calendar-menu/calendar-menu.js +3 -3
  326. package/esm/calendar/calendar.js +3 -3
  327. package/esm/card/card-constants.d.ts +2 -5
  328. package/esm/card/card-constants.js +4 -10
  329. package/esm/card/card.d.ts +10 -5
  330. package/esm/card/card.js +14 -16
  331. package/esm/checkbox/checkbox-adapter.d.ts +0 -34
  332. package/esm/checkbox/checkbox-adapter.js +10 -105
  333. package/esm/checkbox/checkbox-constants.d.ts +13 -4
  334. package/esm/checkbox/checkbox-constants.js +8 -11
  335. package/esm/checkbox/checkbox-foundation.d.ts +5 -11
  336. package/esm/checkbox/checkbox-foundation.js +24 -35
  337. package/esm/checkbox/checkbox.d.ts +24 -24
  338. package/esm/checkbox/checkbox.js +65 -83
  339. package/esm/chip-field/chip-field-adapter.d.ts +48 -22
  340. package/esm/chip-field/chip-field-adapter.js +130 -30
  341. package/esm/chip-field/chip-field-component-delegate.js +1 -1
  342. package/esm/chip-field/chip-field-constants.d.ts +18 -16
  343. package/esm/chip-field/chip-field-constants.js +19 -20
  344. package/esm/chip-field/chip-field-foundation.d.ts +26 -16
  345. package/esm/chip-field/chip-field-foundation.js +128 -74
  346. package/esm/chip-field/chip-field.d.ts +9 -6
  347. package/esm/chip-field/chip-field.js +24 -11
  348. package/esm/chips/chip/chip.js +1 -1
  349. package/esm/constants.d.ts +2 -0
  350. package/esm/constants.js +2 -0
  351. package/esm/core/base/base-adapter.d.ts +1 -0
  352. package/esm/core/controllers/move-controller.d.ts +32 -0
  353. package/esm/core/controllers/move-controller.js +40 -0
  354. package/esm/core/mixins/interactions/moveable/with-moveable.d.ts +30 -0
  355. package/esm/core/mixins/interactions/moveable/with-moveable.js +131 -0
  356. package/esm/core/utils/dismissible-stack.d.ts +6 -0
  357. package/esm/core/utils/dismissible-stack.js +9 -0
  358. package/esm/core/utils/feature-detection.d.ts +5 -0
  359. package/esm/core/utils/feature-detection.js +7 -0
  360. package/esm/core/utils/index.d.ts +2 -0
  361. package/esm/core/utils/index.js +2 -0
  362. package/esm/core/utils/svg-utils.d.ts +1 -1
  363. package/esm/core/utils/svg-utils.js +2 -2
  364. package/esm/date-picker/date-picker.d.ts +0 -2
  365. package/esm/date-picker/date-picker.js +2 -4
  366. package/esm/date-range-picker/date-range-picker-adapter.js +1 -1
  367. package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +1 -1
  368. package/esm/date-range-picker/date-range-picker.js +2 -2
  369. package/esm/dialog/dialog-adapter.d.ts +44 -62
  370. package/esm/dialog/dialog-adapter.js +107 -135
  371. package/esm/dialog/dialog-constants.d.ts +51 -28
  372. package/esm/dialog/dialog-constants.js +36 -33
  373. package/esm/dialog/dialog-foundation.d.ts +59 -75
  374. package/esm/dialog/dialog-foundation.js +218 -360
  375. package/esm/dialog/dialog.d.ts +127 -46
  376. package/esm/dialog/dialog.js +161 -60
  377. package/esm/drawer/modal-drawer/modal-drawer-adapter.js +1 -1
  378. package/esm/drawer/modal-drawer/modal-drawer-foundation.js +5 -6
  379. package/esm/{field-next → field}/base/base-field-foundation.js +14 -0
  380. package/esm/{field-next/field-foundation.d.ts → field/base/with-base-field.d.ts} +24 -39
  381. package/esm/field/base/with-base-field.js +210 -0
  382. package/esm/field/field-adapter.d.ts +49 -92
  383. package/esm/field/field-adapter.js +114 -154
  384. package/esm/field/field-constants.d.ts +82 -30
  385. package/esm/field/field-constants.js +51 -29
  386. package/esm/field/field-foundation.d.ts +78 -48
  387. package/esm/field/field-foundation.js +171 -273
  388. package/esm/field/field.d.ts +202 -24
  389. package/esm/field/field.js +267 -37
  390. package/esm/focus-indicator/focus-indicator-constants.d.ts +5 -0
  391. package/esm/focus-indicator/focus-indicator-constants.js +7 -2
  392. package/esm/focus-indicator/focus-indicator-foundation.d.ts +5 -0
  393. package/esm/focus-indicator/focus-indicator-foundation.js +21 -3
  394. package/esm/focus-indicator/focus-indicator.d.ts +5 -0
  395. package/esm/focus-indicator/focus-indicator.js +9 -7
  396. package/esm/icon/icon-adapter.d.ts +4 -2
  397. package/esm/icon/icon-adapter.js +13 -9
  398. package/esm/icon/icon-constants.d.ts +14 -2
  399. package/esm/icon/icon-constants.js +3 -1
  400. package/esm/icon/icon-foundation.d.ts +6 -2
  401. package/esm/icon/icon-foundation.js +50 -18
  402. package/esm/icon/icon-registry.d.ts +8 -2
  403. package/esm/icon/icon-registry.js +15 -2
  404. package/esm/icon/icon-utils.d.ts +6 -3
  405. package/esm/icon/icon-utils.js +6 -7
  406. package/esm/icon/icon.d.ts +35 -4
  407. package/esm/icon/icon.js +44 -18
  408. package/esm/icon/index.js +0 -6
  409. package/esm/icon-button/icon-button-component-delegate.d.ts +2 -2
  410. package/esm/index.d.ts +1 -4
  411. package/esm/index.js +2 -9
  412. package/esm/label-value/index.d.ts +0 -2
  413. package/esm/label-value/index.js +0 -2
  414. package/esm/label-value/label-value-constants.d.ts +7 -12
  415. package/esm/label-value/label-value-constants.js +7 -17
  416. package/esm/label-value/label-value.d.ts +44 -16
  417. package/esm/label-value/label-value.js +78 -36
  418. package/esm/list/list/list.d.ts +2 -3
  419. package/esm/list/list/list.js +4 -5
  420. package/esm/list/list-item/list-item.d.ts +1 -0
  421. package/esm/list/list-item/list-item.js +2 -1
  422. package/esm/list-dropdown/list-dropdown-adapter.d.ts +3 -1
  423. package/esm/list-dropdown/list-dropdown-adapter.js +24 -9
  424. package/esm/list-dropdown/list-dropdown-constants.d.ts +6 -5
  425. package/esm/list-dropdown/list-dropdown-foundation.d.ts +2 -2
  426. package/esm/list-dropdown/list-dropdown-foundation.js +3 -5
  427. package/esm/list-dropdown/list-dropdown-utils.d.ts +3 -3
  428. package/esm/list-dropdown/list-dropdown-utils.js +11 -19
  429. package/esm/list-dropdown/list-dropdown.d.ts +2 -2
  430. package/esm/list-dropdown/list-dropdown.js +1 -1
  431. package/esm/menu/menu-adapter.d.ts +4 -2
  432. package/esm/menu/menu-adapter.js +8 -2
  433. package/esm/menu/menu-foundation.d.ts +11 -10
  434. package/esm/menu/menu-foundation.js +9 -6
  435. package/esm/menu/menu.d.ts +8 -7
  436. package/esm/menu/menu.js +2 -2
  437. package/esm/overlay/overlay-adapter.d.ts +0 -1
  438. package/esm/overlay/overlay-adapter.js +1 -2
  439. package/esm/paginator/paginator.js +1 -1
  440. package/esm/popover/popover-adapter.d.ts +9 -0
  441. package/esm/popover/popover-adapter.js +41 -3
  442. package/esm/popover/popover-constants.d.ts +17 -0
  443. package/esm/popover/popover-constants.js +11 -6
  444. package/esm/popover/popover-foundation.d.ts +7 -1
  445. package/esm/popover/popover-foundation.js +35 -7
  446. package/esm/popover/popover.d.ts +15 -1
  447. package/esm/popover/popover.js +28 -15
  448. package/esm/radio/core/radio-group-manager.d.ts +18 -1
  449. package/esm/radio/core/radio-group-manager.js +27 -6
  450. package/esm/radio/radio/radio-adapter.js +4 -2
  451. package/esm/radio/radio/radio-component-delegate.d.ts +38 -0
  452. package/esm/radio/radio/radio-component-delegate.js +88 -1
  453. package/esm/radio/radio/radio-constants.d.ts +11 -0
  454. package/esm/radio/radio/radio-constants.js +3 -1
  455. package/esm/radio/radio/radio-foundation.js +3 -2
  456. package/esm/radio/radio/radio.d.ts +8 -3
  457. package/esm/radio/radio/radio.js +18 -19
  458. package/esm/radio/radio-group/radio-group-constants.d.ts +3 -0
  459. package/esm/radio/radio-group/radio-group-constants.js +3 -1
  460. package/esm/radio/radio-group/radio-group.js +5 -5
  461. package/esm/scaffold/scaffold-constants.d.ts +6 -0
  462. package/esm/scaffold/scaffold-constants.js +7 -1
  463. package/esm/scaffold/scaffold.d.ts +30 -2
  464. package/esm/scaffold/scaffold.js +43 -4
  465. package/esm/select/core/base-select-adapter.d.ts +5 -3
  466. package/esm/select/core/base-select-adapter.js +10 -9
  467. package/esm/select/core/base-select-constants.d.ts +11 -0
  468. package/esm/select/core/base-select-constants.js +1 -0
  469. package/esm/select/core/base-select-foundation.js +3 -3
  470. package/esm/select/core/base-select.d.ts +3 -3
  471. package/esm/select/select/select-adapter.d.ts +14 -60
  472. package/esm/select/select/select-adapter.js +52 -111
  473. package/esm/select/select/select-constants.d.ts +16 -14
  474. package/esm/select/select/select-constants.js +8 -16
  475. package/esm/select/select/select-foundation.d.ts +12 -58
  476. package/esm/select/select/select-foundation.js +45 -240
  477. package/esm/select/select/select.d.ts +17 -27
  478. package/esm/select/select/select.js +54 -62
  479. package/esm/select/select-dropdown/select-dropdown-adapter.d.ts +2 -2
  480. package/esm/select/select-dropdown/select-dropdown-adapter.js +1 -1
  481. package/esm/select/select-dropdown/select-dropdown.d.ts +0 -2
  482. package/esm/select/select-dropdown/select-dropdown.js +2 -4
  483. package/esm/slider/slider.d.ts +2 -2
  484. package/esm/slider/slider.js +2 -2
  485. package/esm/split-view/split-view/split-view.js +1 -1
  486. package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +5 -10
  487. package/esm/split-view/split-view-panel/split-view-panel-adapter.js +7 -15
  488. package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +3 -3
  489. package/esm/split-view/split-view-panel/split-view-panel-constants.js +3 -3
  490. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +0 -1
  491. package/esm/split-view/split-view-panel/split-view-panel-utils.js +2 -2
  492. package/esm/split-view/split-view-panel/split-view-panel.d.ts +0 -2
  493. package/esm/split-view/split-view-panel/split-view-panel.js +6 -6
  494. package/esm/stepper/step/step-adapter.d.ts +2 -9
  495. package/esm/stepper/step/step-adapter.js +3 -18
  496. package/esm/stepper/step/step-constants.js +21 -21
  497. package/esm/stepper/step/step-foundation.js +0 -2
  498. package/esm/stepper/step/step.d.ts +53 -0
  499. package/esm/stepper/step/step.js +60 -3
  500. package/esm/stepper/stepper/stepper-constants.js +9 -9
  501. package/esm/stepper/stepper/stepper.js +1 -1
  502. package/esm/switch/switch-adapter.d.ts +0 -32
  503. package/esm/switch/switch-adapter.js +15 -107
  504. package/esm/switch/switch-component-delegate.js +1 -1
  505. package/esm/switch/switch-constants.d.ts +24 -14
  506. package/esm/switch/switch-constants.js +11 -14
  507. package/esm/switch/switch-foundation.d.ts +5 -11
  508. package/esm/switch/switch-foundation.js +25 -31
  509. package/esm/switch/switch.d.ts +19 -19
  510. package/esm/switch/switch.js +59 -81
  511. package/esm/text-field/text-field-adapter.d.ts +2 -2
  512. package/esm/text-field/text-field-adapter.js +5 -2
  513. package/esm/text-field/text-field-foundation.d.ts +2 -2
  514. package/esm/text-field/text-field-foundation.js +2 -2
  515. package/esm/text-field/text-field.d.ts +1 -1
  516. package/esm/text-field/text-field.js +2 -2
  517. package/esm/time-picker/time-picker-adapter.d.ts +6 -2
  518. package/esm/time-picker/time-picker-adapter.js +7 -3
  519. package/esm/time-picker/time-picker-foundation.js +10 -10
  520. package/esm/time-picker/time-picker.js +2 -2
  521. package/esm/toast/toast-adapter.d.ts +18 -69
  522. package/esm/toast/toast-adapter.js +24 -121
  523. package/esm/toast/toast-constants.d.ts +25 -36
  524. package/esm/toast/toast-constants.js +20 -40
  525. package/esm/toast/toast-foundation.d.ts +22 -37
  526. package/esm/toast/toast-foundation.js +92 -92
  527. package/esm/toast/toast.d.ts +83 -24
  528. package/esm/toast/toast.js +126 -29
  529. package/esm/tooltip/tooltip-adapter.d.ts +1 -0
  530. package/esm/tooltip/tooltip-foundation.js +3 -0
  531. package/esm/tooltip/tooltip.d.ts +3 -1
  532. package/esm/tooltip/tooltip.js +4 -0
  533. package/package.json +1 -6
  534. package/styles/backdrop/_animations.scss +24 -0
  535. package/styles/backdrop/_core.scss +41 -0
  536. package/styles/backdrop/_token-utils.scss +30 -0
  537. package/styles/backdrop/backdrop.scss +38 -11
  538. package/{esm/radio/radio-group/radio-group-component-delegate.js → styles/backdrop/index.scss} +1 -0
  539. package/styles/bottom-sheet/_mixins.scss +3 -8
  540. package/styles/bottom-sheet/bottom-sheet.scss +0 -4
  541. package/styles/calendar/calendar-menu/calendar-menu.scss +1 -1
  542. package/styles/calendar/calendar.scss +1 -1
  543. package/styles/card/_core.scss +35 -0
  544. package/styles/card/_token-utils.scss +30 -0
  545. package/styles/card/card.scss +37 -3
  546. package/{esm/radio/radio-group/radio-group-component-delegate.d.ts → styles/card/index.scss} +1 -0
  547. package/styles/checkbox/_core.scss +9 -20
  548. package/styles/checkbox/checkbox.scss +2 -8
  549. package/styles/chip-field/_core.scss +21 -17
  550. package/styles/chip-field/_token-utils.scss +30 -0
  551. package/styles/chip-field/chip-field.scss +68 -3
  552. package/{dist/popup/forge-popup.css → styles/chip-field/index.scss} +1 -1
  553. package/styles/chips/chip/_core.scss +1 -1
  554. package/styles/core/styles/tokens/backdrop/_tokens.scss +29 -0
  555. package/styles/core/styles/tokens/card/_tokens.scss +33 -0
  556. package/styles/core/styles/tokens/checkbox/_tokens.scss +5 -4
  557. package/styles/core/styles/tokens/chip-field/_tokens.scss +16 -0
  558. package/styles/core/styles/tokens/dialog/_tokens.scss +82 -0
  559. package/styles/core/styles/tokens/field/_tokens.scss +3 -1
  560. package/styles/core/styles/tokens/icon/_tokens.scss +20 -0
  561. package/styles/core/styles/tokens/label-value/_tokens.scss +34 -0
  562. package/styles/core/styles/tokens/list/list/_tokens.scss +2 -3
  563. package/styles/core/styles/tokens/list/list-item/_tokens.scss +7 -4
  564. package/styles/core/styles/tokens/popover/_tokens.scss +29 -7
  565. package/styles/core/styles/tokens/radio/_tokens.scss +1 -1
  566. package/styles/core/styles/tokens/scaffold/_tokens.scss +18 -0
  567. package/styles/core/styles/tokens/select/_tokens.scss +18 -0
  568. package/styles/core/styles/tokens/stepper/step/_tokens.scss +62 -0
  569. package/styles/core/styles/tokens/switch/_tokens.scss +1 -1
  570. package/styles/core/styles/tokens/toast/_tokens.scss +39 -0
  571. package/styles/dialog/_animations.scss +82 -0
  572. package/styles/dialog/_core.scss +310 -0
  573. package/styles/dialog/_token-utils.scss +30 -0
  574. package/styles/dialog/dialog.scss +356 -6
  575. package/styles/dialog/forge-dialog-utils.scss +23 -6
  576. package/styles/dialog/index.scss +7 -0
  577. package/styles/{field-next → field}/_core.layout.scss +6 -4
  578. package/styles/field/_core.scss +200 -50
  579. package/styles/{field-next → field}/_core.shape.scss +5 -0
  580. package/styles/{field-next → field}/_core.variant.scss +1 -0
  581. package/styles/{field-next → field}/field.scss +39 -12
  582. package/styles/forge-core.scss +2 -6
  583. package/styles/forge.scss +0 -4
  584. package/styles/icon/_core.scss +27 -0
  585. package/styles/icon/_token-utils.scss +30 -0
  586. package/styles/icon/icon.scss +27 -12
  587. package/styles/icon/index.scss +6 -0
  588. package/styles/label-value/_core.scss +85 -0
  589. package/styles/label-value/_token-utils.scss +30 -0
  590. package/styles/label-value/index.scss +6 -0
  591. package/styles/label-value/label-value.scss +71 -3
  592. package/styles/list/list/_core.scss +6 -2
  593. package/styles/list/list/list.scss +4 -0
  594. package/styles/list/list-item/_core.scss +3 -0
  595. package/styles/popover/_animations.scss +30 -0
  596. package/styles/popover/_core.scss +43 -6
  597. package/styles/popover/popover.scss +227 -170
  598. package/styles/scaffold/_core.scss +98 -0
  599. package/styles/scaffold/_token-utils.scss +30 -0
  600. package/styles/scaffold/index.scss +6 -0
  601. package/styles/scaffold/scaffold.scss +85 -5
  602. package/{dist/esm/chunks/chunk.WF2MFLG4.js → styles/select/index.scss} +1 -1
  603. package/styles/select/select/_core.scss +31 -15
  604. package/styles/select/select/_token-utils.scss +31 -0
  605. package/styles/select/select/select.scss +50 -8
  606. package/styles/split-view/split-view/split-view.scss +0 -1
  607. package/styles/split-view/split-view-panel/_mixins.scss +1 -0
  608. package/styles/split-view/split-view-panel/split-view-panel.scss +7 -1
  609. package/styles/stepper/step/_core.scss +391 -0
  610. package/styles/stepper/step/_token-utils.scss +31 -0
  611. package/styles/stepper/step/step.scss +261 -81
  612. package/styles/stepper/stepper/_core.scss +49 -0
  613. package/styles/stepper/stepper/stepper.scss +38 -4
  614. package/styles/switch/_core.scss +3 -2
  615. package/styles/theme/_theme-dark.scss +8 -8
  616. package/styles/toast/_animations.scss +42 -0
  617. package/styles/toast/_core.scss +73 -0
  618. package/styles/toast/_token-utils.scss +30 -0
  619. package/styles/toast/index.scss +6 -0
  620. package/styles/toast/toast.scss +173 -6
  621. package/styles/utils/_mixins-core.scss +5 -9
  622. package/dist/dialog/forge-dialog.css +0 -6
  623. package/dist/esm/chunks/chunk.24MZM3AY.js +0 -7
  624. package/dist/esm/chunks/chunk.24MZM3AY.js.map +0 -7
  625. package/dist/esm/chunks/chunk.3L77JY5H.js +0 -7
  626. package/dist/esm/chunks/chunk.3TIBP6QT.js +0 -7
  627. package/dist/esm/chunks/chunk.3U222LE4.js +0 -7
  628. package/dist/esm/chunks/chunk.45PPQY45.js +0 -177
  629. package/dist/esm/chunks/chunk.45PPQY45.js.map +0 -7
  630. package/dist/esm/chunks/chunk.4UU6PWR2.js +0 -7
  631. package/dist/esm/chunks/chunk.4UU6PWR2.js.map +0 -7
  632. package/dist/esm/chunks/chunk.5A34DJLZ.js +0 -7
  633. package/dist/esm/chunks/chunk.5A34DJLZ.js.map +0 -7
  634. package/dist/esm/chunks/chunk.5UGN5FYV.js +0 -7
  635. package/dist/esm/chunks/chunk.5UZ2DEW3.js +0 -7
  636. package/dist/esm/chunks/chunk.5UZ2DEW3.js.map +0 -7
  637. package/dist/esm/chunks/chunk.656X22EF.js +0 -7
  638. package/dist/esm/chunks/chunk.656X22EF.js.map +0 -7
  639. package/dist/esm/chunks/chunk.66YURKP2.js +0 -7
  640. package/dist/esm/chunks/chunk.66YURKP2.js.map +0 -7
  641. package/dist/esm/chunks/chunk.6GSVB5NB.js.map +0 -7
  642. package/dist/esm/chunks/chunk.AFJ7QEVI.js +0 -7
  643. package/dist/esm/chunks/chunk.AFJ7QEVI.js.map +0 -7
  644. package/dist/esm/chunks/chunk.BETICEYY.js +0 -7
  645. package/dist/esm/chunks/chunk.BEUQVZKZ.js +0 -7
  646. package/dist/esm/chunks/chunk.BMQAVBWZ.js +0 -7
  647. package/dist/esm/chunks/chunk.BMQAVBWZ.js.map +0 -7
  648. package/dist/esm/chunks/chunk.CIUPY66Y.js +0 -7
  649. package/dist/esm/chunks/chunk.CIUPY66Y.js.map +0 -7
  650. package/dist/esm/chunks/chunk.CSCZRSDT.js +0 -7
  651. package/dist/esm/chunks/chunk.CSCZRSDT.js.map +0 -7
  652. package/dist/esm/chunks/chunk.CWBDPBYO.js +0 -7
  653. package/dist/esm/chunks/chunk.CWBDPBYO.js.map +0 -7
  654. package/dist/esm/chunks/chunk.D7RH43XD.js +0 -7
  655. package/dist/esm/chunks/chunk.D7RH43XD.js.map +0 -7
  656. package/dist/esm/chunks/chunk.DCCFF327.js +0 -7
  657. package/dist/esm/chunks/chunk.EO3HELQ2.js +0 -15
  658. package/dist/esm/chunks/chunk.FB4MXEIW.js +0 -7
  659. package/dist/esm/chunks/chunk.FB4MXEIW.js.map +0 -7
  660. package/dist/esm/chunks/chunk.G2HRYIIZ.js +0 -7
  661. package/dist/esm/chunks/chunk.G2HRYIIZ.js.map +0 -7
  662. package/dist/esm/chunks/chunk.G3GTO5ZC.js +0 -7
  663. package/dist/esm/chunks/chunk.G3GTO5ZC.js.map +0 -7
  664. package/dist/esm/chunks/chunk.GL2H6QOP.js +0 -7
  665. package/dist/esm/chunks/chunk.GL2H6QOP.js.map +0 -7
  666. package/dist/esm/chunks/chunk.HBAC6E7O.js +0 -7
  667. package/dist/esm/chunks/chunk.HYTFCFP6.js +0 -7
  668. package/dist/esm/chunks/chunk.HYTFCFP6.js.map +0 -7
  669. package/dist/esm/chunks/chunk.IM36A2ZI.js +0 -7
  670. package/dist/esm/chunks/chunk.IM36A2ZI.js.map +0 -7
  671. package/dist/esm/chunks/chunk.IWVAI6XM.js.map +0 -7
  672. package/dist/esm/chunks/chunk.JCEKCW4B.js +0 -7
  673. package/dist/esm/chunks/chunk.JCEKCW4B.js.map +0 -7
  674. package/dist/esm/chunks/chunk.JVWJHSPM.js +0 -7
  675. package/dist/esm/chunks/chunk.KDUH2DUE.js +0 -7
  676. package/dist/esm/chunks/chunk.KRKKMTXR.js +0 -7
  677. package/dist/esm/chunks/chunk.KRKKMTXR.js.map +0 -7
  678. package/dist/esm/chunks/chunk.LKA5HQQY.js +0 -7
  679. package/dist/esm/chunks/chunk.LKA5HQQY.js.map +0 -7
  680. package/dist/esm/chunks/chunk.MC3UAHWS.js +0 -7
  681. package/dist/esm/chunks/chunk.MC3UAHWS.js.map +0 -7
  682. package/dist/esm/chunks/chunk.MCR34SZQ.js +0 -7
  683. package/dist/esm/chunks/chunk.MGLWXAZO.js +0 -18
  684. package/dist/esm/chunks/chunk.MPUP6QAP.js +0 -7
  685. package/dist/esm/chunks/chunk.MZRAL4MY.js +0 -7
  686. package/dist/esm/chunks/chunk.MZRAL4MY.js.map +0 -7
  687. package/dist/esm/chunks/chunk.N632SJ7X.js +0 -7
  688. package/dist/esm/chunks/chunk.N632SJ7X.js.map +0 -7
  689. package/dist/esm/chunks/chunk.NHOGZDLN.js +0 -7
  690. package/dist/esm/chunks/chunk.NHOGZDLN.js.map +0 -7
  691. package/dist/esm/chunks/chunk.NIUX6DVF.js +0 -12
  692. package/dist/esm/chunks/chunk.NIUX6DVF.js.map +0 -7
  693. package/dist/esm/chunks/chunk.OSBNFFCI.js.map +0 -7
  694. package/dist/esm/chunks/chunk.OY3TG55O.js +0 -7
  695. package/dist/esm/chunks/chunk.OY3TG55O.js.map +0 -7
  696. package/dist/esm/chunks/chunk.QCRO5NSG.js +0 -7
  697. package/dist/esm/chunks/chunk.QCRO5NSG.js.map +0 -7
  698. package/dist/esm/chunks/chunk.QKYCMDLB.js +0 -7
  699. package/dist/esm/chunks/chunk.R6VPRRTT.js +0 -7
  700. package/dist/esm/chunks/chunk.RFCIELJM.js +0 -7
  701. package/dist/esm/chunks/chunk.RFCIELJM.js.map +0 -7
  702. package/dist/esm/chunks/chunk.RJC42RNR.js +0 -7
  703. package/dist/esm/chunks/chunk.RJC42RNR.js.map +0 -7
  704. package/dist/esm/chunks/chunk.SKBOB2BD.js +0 -7
  705. package/dist/esm/chunks/chunk.SKBOB2BD.js.map +0 -7
  706. package/dist/esm/chunks/chunk.SOKORSUV.js +0 -7
  707. package/dist/esm/chunks/chunk.STSAE2XP.js +0 -7
  708. package/dist/esm/chunks/chunk.SWKKDBO6.js +0 -7
  709. package/dist/esm/chunks/chunk.SWKKDBO6.js.map +0 -7
  710. package/dist/esm/chunks/chunk.SYKZ74SL.js +0 -7
  711. package/dist/esm/chunks/chunk.SYKZ74SL.js.map +0 -7
  712. package/dist/esm/chunks/chunk.UKVC23E5.js +0 -7
  713. package/dist/esm/chunks/chunk.UKVC23E5.js.map +0 -7
  714. package/dist/esm/chunks/chunk.UOD3A7M4.js +0 -7
  715. package/dist/esm/chunks/chunk.UQQQSJVM.js +0 -7
  716. package/dist/esm/chunks/chunk.V3X77TCO.js +0 -7
  717. package/dist/esm/chunks/chunk.V3X77TCO.js.map +0 -7
  718. package/dist/esm/chunks/chunk.V7ILFIOR.js +0 -7
  719. package/dist/esm/chunks/chunk.VBJ4WUVH.js +0 -7
  720. package/dist/esm/chunks/chunk.VBJ4WUVH.js.map +0 -7
  721. package/dist/esm/chunks/chunk.VZ2XONDI.js +0 -7
  722. package/dist/esm/chunks/chunk.VZ2XONDI.js.map +0 -7
  723. package/dist/esm/chunks/chunk.WAMFFIMP.js +0 -7
  724. package/dist/esm/chunks/chunk.WAMFFIMP.js.map +0 -7
  725. package/dist/esm/chunks/chunk.WBCQTZPS.js +0 -7
  726. package/dist/esm/chunks/chunk.WBCQTZPS.js.map +0 -7
  727. package/dist/esm/chunks/chunk.WBI34ZVP.js +0 -7
  728. package/dist/esm/chunks/chunk.WF2MFLG4.js.map +0 -7
  729. package/dist/esm/chunks/chunk.WPVGFQNY.js +0 -7
  730. package/dist/esm/chunks/chunk.WPVGFQNY.js.map +0 -7
  731. package/dist/esm/chunks/chunk.XAZ6EDIZ.js +0 -7
  732. package/dist/esm/chunks/chunk.XCI7O2KJ.js +0 -7
  733. package/dist/esm/chunks/chunk.XCI7O2KJ.js.map +0 -7
  734. package/dist/esm/chunks/chunk.XNJROSDZ.js +0 -7
  735. package/dist/esm/chunks/chunk.XNJROSDZ.js.map +0 -7
  736. package/dist/esm/chunks/chunk.Z6GRWPPN.js +0 -7
  737. package/dist/esm/chunks/chunk.Z6GRWPPN.js.map +0 -7
  738. package/dist/esm/chunks/chunk.ZLNI2M3F.js +0 -7
  739. package/dist/esm/chunks/chunk.ZLNI2M3F.js.map +0 -7
  740. package/dist/esm/chunks/chunk.ZSZFWZAI.js +0 -7
  741. package/dist/esm/chunks/chunk.ZSZFWZAI.js.map +0 -7
  742. package/dist/esm/chunks/chunk.ZYKP23JP.js +0 -7
  743. package/dist/esm/field-next/index.js +0 -7
  744. package/dist/esm/floating-label/index.js +0 -7
  745. package/dist/esm/floating-label/index.js.map +0 -7
  746. package/dist/esm/popup/index.js +0 -7
  747. package/dist/esm/popup/index.js.map +0 -7
  748. package/dist/esm/ripple/index.js +0 -7
  749. package/dist/esm/ripple/index.js.map +0 -7
  750. package/dist/floating-label/forge-floating-label.css +0 -6
  751. package/dist/form-field/forge-form-field.css +0 -6
  752. package/dist/ripple/forge-ripple.css +0 -6
  753. package/dist/scaffold/forge-scaffold.css +0 -6
  754. package/esm/backdrop/backdrop-adapter.d.ts +0 -36
  755. package/esm/backdrop/backdrop-adapter.js +0 -40
  756. package/esm/backdrop/backdrop-foundation.d.ts +0 -38
  757. package/esm/backdrop/backdrop-foundation.js +0 -82
  758. package/esm/field-next/field-adapter.d.ts +0 -56
  759. package/esm/field-next/field-adapter.js +0 -132
  760. package/esm/field-next/field-constants.d.ts +0 -95
  761. package/esm/field-next/field-constants.js +0 -64
  762. package/esm/field-next/field-foundation.js +0 -221
  763. package/esm/field-next/field.d.ts +0 -205
  764. package/esm/field-next/field.js +0 -287
  765. package/esm/floating-label/floating-label-adapter.d.ts +0 -23
  766. package/esm/floating-label/floating-label-adapter.js +0 -32
  767. package/esm/floating-label/floating-label-constants.d.ts +0 -13
  768. package/esm/floating-label/floating-label-constants.js +0 -14
  769. package/esm/floating-label/floating-label-foundation.d.ts +0 -20
  770. package/esm/floating-label/floating-label-foundation.js +0 -74
  771. package/esm/floating-label/floating-label.d.ts +0 -31
  772. package/esm/floating-label/floating-label.js +0 -34
  773. package/esm/floating-label/index.d.ts +0 -9
  774. package/esm/floating-label/index.js +0 -9
  775. package/esm/label-value/label-value-adapter.d.ts +0 -24
  776. package/esm/label-value/label-value-adapter.js +0 -47
  777. package/esm/label-value/label-value-foundation.d.ts +0 -33
  778. package/esm/label-value/label-value-foundation.js +0 -80
  779. package/esm/popup/index.d.ts +0 -10
  780. package/esm/popup/index.js +0 -14
  781. package/esm/popup/popup-adapter.d.ts +0 -45
  782. package/esm/popup/popup-adapter.js +0 -152
  783. package/esm/popup/popup-constants.d.ts +0 -55
  784. package/esm/popup/popup-constants.js +0 -53
  785. package/esm/popup/popup-foundation.d.ts +0 -72
  786. package/esm/popup/popup-foundation.js +0 -258
  787. package/esm/popup/popup.d.ts +0 -59
  788. package/esm/popup/popup.js +0 -102
  789. package/esm/ripple/forge-ripple.d.ts +0 -17
  790. package/esm/ripple/forge-ripple.js +0 -22
  791. package/esm/ripple/index.d.ts +0 -11
  792. package/esm/ripple/index.js +0 -15
  793. package/esm/ripple/ripple-adapter.d.ts +0 -23
  794. package/esm/ripple/ripple-adapter.js +0 -47
  795. package/esm/ripple/ripple-constants.d.ts +0 -15
  796. package/esm/ripple/ripple-constants.js +0 -19
  797. package/esm/ripple/ripple-foundation.d.ts +0 -30
  798. package/esm/ripple/ripple-foundation.js +0 -48
  799. package/esm/ripple/ripple.d.ts +0 -36
  800. package/esm/ripple/ripple.js +0 -65
  801. package/styles/backdrop/_mixins.scss +0 -31
  802. package/styles/backdrop/_variables.scss +0 -12
  803. package/styles/card/_mixins.scss +0 -47
  804. package/styles/card/_variables.scss +0 -9
  805. package/styles/chip-field/_base.scss +0 -299
  806. package/styles/chip-field/_mixins.scss +0 -26
  807. package/styles/chip-field/_selector.scss +0 -228
  808. package/styles/chip-field/_variables.scss +0 -76
  809. package/styles/dialog/_mixins.scss +0 -199
  810. package/styles/dialog/_variables.scss +0 -22
  811. package/styles/dialog/forge-dialog.scss +0 -8
  812. package/styles/field/_base.scss +0 -636
  813. package/styles/field/_selector.scss +0 -560
  814. package/styles/field/_utils.scss +0 -48
  815. package/styles/field/_variables.scss +0 -123
  816. package/styles/field-next/_core.scss +0 -213
  817. package/styles/floating-label/_mixins.scss +0 -291
  818. package/styles/floating-label/_variables.scss +0 -15
  819. package/styles/floating-label/forge-floating-label.scss +0 -8
  820. package/styles/form-field/_mixins.scss +0 -71
  821. package/styles/form-field/forge-form-field.scss +0 -8
  822. package/styles/icon/_mixins.scss +0 -37
  823. package/styles/icon/_variables.scss +0 -10
  824. package/styles/label-value/_mixins.scss +0 -205
  825. package/styles/label-value/_variables.scss +0 -12
  826. package/styles/popup/_mixins.scss +0 -86
  827. package/styles/popup/_variables.scss +0 -7
  828. package/styles/popup/forge-popup.scss +0 -8
  829. package/styles/popup/popup.scss +0 -20
  830. package/styles/ripple/forge-ripple.scss +0 -17
  831. package/styles/scaffold/_mixins.scss +0 -194
  832. package/styles/scaffold/forge-scaffold.scss +0 -43
  833. package/styles/select/select/_base.scss +0 -84
  834. package/styles/select/select/_mixins.scss +0 -25
  835. package/styles/select/select/_selector.scss +0 -90
  836. package/styles/select/select/_variables.scss +0 -16
  837. package/styles/stepper/step/_mixins.scss +0 -416
  838. package/styles/stepper/step/_variables.scss +0 -21
  839. package/styles/stepper/stepper/_mixins.scss +0 -113
  840. package/styles/toast/_mixins.scss +0 -242
  841. package/styles/toast/_variables.scss +0 -52
  842. /package/dist/esm/chunks/{chunk.IZRURH7C.js.map → chunk.3KAKJGUS.js.map} +0 -0
  843. /package/dist/esm/chunks/{chunk.KDUH2DUE.js.map → chunk.473WRJ5G.js.map} +0 -0
  844. /package/dist/esm/chunks/{chunk.USQEIRST.js.map → chunk.5MB6CTBA.js.map} +0 -0
  845. /package/dist/esm/chunks/{chunk.YS5JZHJ6.js.map → chunk.5QIWLZG3.js.map} +0 -0
  846. /package/dist/esm/chunks/{chunk.47U6GVGZ.js.map → chunk.5UOX22ML.js.map} +0 -0
  847. /package/dist/esm/chunks/{chunk.4NABD6XG.js.map → chunk.6VS3LYAF.js.map} +0 -0
  848. /package/dist/esm/chunks/{chunk.AOSBUJWW.js.map → chunk.A7BCLPP4.js.map} +0 -0
  849. /package/dist/esm/chunks/{chunk.7UBIT4NP.js.map → chunk.AG6IRMLZ.js.map} +0 -0
  850. /package/dist/esm/chunks/{chunk.A4UH52SA.js.map → chunk.AGLI4WR4.js.map} +0 -0
  851. /package/dist/esm/chunks/{chunk.WTUXAH7Z.js.map → chunk.AOVXNX7P.js.map} +0 -0
  852. /package/dist/esm/chunks/{chunk.AN2E2SSN.js.map → chunk.ASLHRT3N.js.map} +0 -0
  853. /package/dist/esm/chunks/{chunk.CBLUXYH2.js.map → chunk.BHE6Z5Y2.js.map} +0 -0
  854. /package/dist/esm/chunks/{chunk.2WRAXA3H.js.map → chunk.BQ52JYLA.js.map} +0 -0
  855. /package/dist/esm/chunks/{chunk.ROMRJIFR.js.map → chunk.CE35CVDV.js.map} +0 -0
  856. /package/dist/esm/chunks/{chunk.ZPXMKY72.js.map → chunk.CEGBMUSR.js.map} +0 -0
  857. /package/dist/esm/chunks/{chunk.GBGGUYTE.js.map → chunk.CFAI4K3E.js.map} +0 -0
  858. /package/dist/esm/chunks/{chunk.ZIGVO6FN.js.map → chunk.CGFSMACZ.js.map} +0 -0
  859. /package/dist/esm/chunks/{chunk.UEYPCCFG.js.map → chunk.ENUKGA2U.js.map} +0 -0
  860. /package/dist/esm/chunks/{chunk.GA6AO6FJ.js.map → chunk.H5RW3A4M.js.map} +0 -0
  861. /package/dist/esm/chunks/{chunk.CSOKFDFQ.js.map → chunk.HSADKCGS.js.map} +0 -0
  862. /package/dist/esm/chunks/{chunk.WBI34ZVP.js.map → chunk.IEABOPNB.js.map} +0 -0
  863. /package/dist/esm/chunks/{chunk.22C7GQLX.js.map → chunk.IL4S57WO.js.map} +0 -0
  864. /package/dist/esm/chunks/{chunk.HMJODLAS.js.map → chunk.IQYOLMPG.js.map} +0 -0
  865. /package/dist/esm/chunks/{chunk.GTKYO6VB.js.map → chunk.JGURMVW7.js.map} +0 -0
  866. /package/dist/esm/chunks/{chunk.YXHMD73U.js.map → chunk.K6GJNDTY.js.map} +0 -0
  867. /package/dist/esm/chunks/{chunk.QUWEAFGI.js.map → chunk.KEOLH7G3.js.map} +0 -0
  868. /package/dist/esm/chunks/{chunk.BIQTNLIF.js.map → chunk.LNTTU2GL.js.map} +0 -0
  869. /package/dist/esm/chunks/{chunk.2AM2BKEO.js.map → chunk.MFQRXVKO.js.map} +0 -0
  870. /package/dist/esm/chunks/{chunk.JLSFTWPE.js.map → chunk.MTIPIEXA.js.map} +0 -0
  871. /package/dist/esm/chunks/{chunk.JSTCCUKZ.js.map → chunk.OEI35LFU.js.map} +0 -0
  872. /package/dist/esm/chunks/{chunk.2537XOFQ.js.map → chunk.OREDK5MJ.js.map} +0 -0
  873. /package/dist/esm/chunks/{chunk.QKYCMDLB.js.map → chunk.QCPV5DEG.js.map} +0 -0
  874. /package/dist/esm/chunks/{chunk.R3AWIPPK.js.map → chunk.QIZBZGYT.js.map} +0 -0
  875. /package/dist/esm/chunks/{chunk.2XPAYTK4.js.map → chunk.QKTK5XUE.js.map} +0 -0
  876. /package/dist/esm/chunks/{chunk.R66CYS27.js.map → chunk.QTY25OTN.js.map} +0 -0
  877. /package/dist/esm/chunks/{chunk.BSV27GU7.js.map → chunk.QVATEY5S.js.map} +0 -0
  878. /package/dist/esm/chunks/{chunk.FRTSXX33.js.map → chunk.RSYEG2RW.js.map} +0 -0
  879. /package/dist/esm/chunks/{chunk.A6BIUNPW.js.map → chunk.RXBLU4OJ.js.map} +0 -0
  880. /package/dist/esm/chunks/{chunk.FBDRM4YN.js.map → chunk.S7KEO2CH.js.map} +0 -0
  881. /package/dist/esm/chunks/{chunk.XU3YSZPA.js.map → chunk.SQ3AZAHF.js.map} +0 -0
  882. /package/dist/esm/chunks/{chunk.35MHQH7Z.js.map → chunk.SROEDYPL.js.map} +0 -0
  883. /package/dist/esm/chunks/{chunk.SHBDQPPH.js.map → chunk.SZOZIJZI.js.map} +0 -0
  884. /package/dist/esm/chunks/{chunk.PXRGQHWR.js.map → chunk.TQWZDM6T.js.map} +0 -0
  885. /package/dist/esm/chunks/{chunk.6JVMCBCR.js.map → chunk.UKBE2FMZ.js.map} +0 -0
  886. /package/dist/esm/chunks/{chunk.4AEQ7KVU.js.map → chunk.VJZ7VDG5.js.map} +0 -0
  887. /package/dist/esm/chunks/{chunk.3L77JY5H.js.map → chunk.W4HANHUO.js.map} +0 -0
  888. /package/dist/esm/chunks/{chunk.2W276VOR.js.map → chunk.WMJSYYXQ.js.map} +0 -0
  889. /package/dist/esm/chunks/{chunk.YNXWVL4B.js.map → chunk.YPNSK2CK.js.map} +0 -0
  890. /package/dist/esm/chunks/{chunk.MPUP6QAP.js.map → chunk.YWJVZVZX.js.map} +0 -0
  891. /package/dist/esm/chunks/{chunk.6XLTVIUD.js.map → chunk.ZA7JY3AY.js.map} +0 -0
  892. /package/dist/esm/{field-next → field}/base/index.js.map +0 -0
  893. /package/dist/esm/{field-next → field}/index.js.map +0 -0
  894. /package/esm/{field-next → field}/base/base-field-adapter.d.ts +0 -0
  895. /package/esm/{field-next → field}/base/base-field-adapter.js +0 -0
  896. /package/esm/{field-next → field}/base/base-field-constants.d.ts +0 -0
  897. /package/esm/{field-next → field}/base/base-field-constants.js +0 -0
  898. /package/esm/{field-next → field}/base/base-field-foundation.d.ts +0 -0
  899. /package/esm/{field-next → field}/base/base-field.d.ts +0 -0
  900. /package/esm/{field-next → field}/base/base-field.js +0 -0
  901. /package/esm/{field-next → field}/base/index.d.ts +0 -0
  902. /package/esm/{field-next → field}/base/index.js +0 -0
  903. /package/esm/{field-next → field}/index.d.ts +0 -0
  904. /package/esm/{field-next → field}/index.js +0 -0
  905. /package/styles/{field-next → field}/_core.slotted.scss +0 -0
  906. /package/styles/{field-next → field}/_core.state.scss +0 -0
  907. /package/styles/{field-next → field}/_token-utils.scss +0 -0
  908. /package/styles/{field-next → field}/index.scss +0 -0
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{b as t}from"./chunk.VRSPT7WX.js";import{a as o,b as r}from"./chunk.M3QDAYD2.js";var e=`${t}popover`,s={ARROW:"arrow",ANIMATION_TYPE:"animation-type",TRIGGER_TYPE:"trigger-type",LONGPRESS_DELAY:"longpress-delay",PERSISTENT_HOVER:"persistent-hover",HOVER_DELAY:"hover-delay",HOVER_DISMISS_DELAY:"hover-dismiss-delay",PRESET:"preset"},p=r(o({},s),{OPEN:"open",HOST:"forge-popover-host",CONSTRAIN_VIEWPORT_WIDTH:"constrain-viewport-width"}),n={ARROW:"arrow",EXITING:"exiting"},E={SURFACE:".forge-popover",HOST:`:is(forge-dialog,forge-popover,[${p.HOST}])`},i={ARROW:"arrow"},T={BEFORETOGGLE:`${e}-beforetoggle`,TOGGLE:`${e}-toggle`},a={TRIGGER_TYPE:"click",HOVER_DELAY:0,PRESET:"popover"},R={elementName:e,observedAttributes:s,attributes:p,classes:n,selectors:E,parts:i,events:T,defaults:a},P=500;export{R as a,P as b};
7
+ //# sourceMappingURL=chunk.WXVVOFNK.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/popover/popover-constants.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { OverlayLightDismissReason } from '../overlay';\n\nconst elementName = `${COMPONENT_NAME_PREFIX}popover`;\n\nconst observedAttributes = {\n ARROW: 'arrow',\n ANIMATION_TYPE: 'animation-type',\n TRIGGER_TYPE: 'trigger-type',\n LONGPRESS_DELAY: 'longpress-delay',\n PERSISTENT_HOVER: 'persistent-hover',\n HOVER_DELAY: 'hover-delay',\n HOVER_DISMISS_DELAY: 'hover-dismiss-delay',\n PRESET: 'preset'\n};\n\nconst attributes = {\n ...observedAttributes,\n OPEN: 'open',\n HOST: 'forge-popover-host',\n CONSTRAIN_VIEWPORT_WIDTH: 'constrain-viewport-width'\n};\n\nconst classes = {\n ARROW: 'arrow',\n EXITING: 'exiting'\n};\n\nconst selectors = {\n SURFACE: '.forge-popover',\n HOST: `:is(forge-dialog,forge-popover,[${attributes.HOST}])`\n};\n\nconst parts = {\n ARROW: 'arrow'\n};\n\nconst events = {\n BEFORETOGGLE: `${elementName}-beforetoggle`,\n TOGGLE: `${elementName}-toggle`\n};\n\nconst defaults = {\n TRIGGER_TYPE: 'click' as PopoverTriggerType,\n HOVER_DELAY: 0,\n PRESET: 'popover' as PopoverPreset\n};\n\nexport const POPOVER_CONSTANTS = {\n elementName,\n observedAttributes,\n attributes,\n classes,\n selectors,\n parts,\n events,\n defaults\n};\n\nexport const POPOVER_HOVER_TIMEOUT = 500;\n\nexport type PopoverAnimationType = 'none' | 'zoom' | 'slide' | 'fade';\nexport type PopoverTriggerType = 'click' | 'hover' | 'focus' | 'longpress' | 'doubleclick' | 'contextmenu' | 'manual';\nexport type PopoverDismissReason = OverlayLightDismissReason | PopoverTriggerType | 'destroy';\nexport type PopoverPreset = 'popover' | 'dropdown';\n\nexport interface IPopoverToggleEventData {\n newState: 'closed' | 'open';\n oldState: 'closed' | 'open';\n}\n"],
5
+ "mappings": "uFAGA,IAAMA,EAAc,GAAGC,WAEjBC,EAAqB,CACzB,MAAO,QACP,eAAgB,iBAChB,aAAc,eACd,gBAAiB,kBACjB,iBAAkB,mBAClB,YAAa,cACb,oBAAqB,sBACrB,OAAQ,QACV,EAEMC,EAAaC,EAAAC,EAAA,GACdH,GADc,CAEjB,KAAM,OACN,KAAM,qBACN,yBAA0B,0BAC5B,GAEMI,EAAU,CACd,MAAO,QACP,QAAS,SACX,EAEMC,EAAY,CAChB,QAAS,iBACT,KAAM,mCAAmCJ,EAAW,QACtD,EAEMK,EAAQ,CACZ,MAAO,OACT,EAEMC,EAAS,CACb,aAAc,GAAGT,iBACjB,OAAQ,GAAGA,UACb,EAEMU,EAAW,CACf,aAAc,QACd,YAAa,EACb,OAAQ,SACV,EAEaC,EAAoB,CAC/B,YAAAX,EACA,mBAAAE,EACA,WAAAC,EACA,QAAAG,EACA,UAAAC,EACA,MAAAC,EACA,OAAAC,EACA,SAAAC,CACF,EAEaE,EAAwB",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadProps", "__spreadValues", "classes", "selectors", "parts", "events", "defaults", "POPOVER_CONSTANTS", "POPOVER_HOVER_TIMEOUT"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as T}from"./chunk.7RLY2O3H.js";import{a as L}from"./chunk.GRYO5XP2.js";import{a as D}from"./chunk.V6KUOCAR.js";import{a as f}from"./chunk.LEVFMI2Q.js";import{a as O,b as x}from"./chunk.PC6TW5XE.js";import{a as y}from"./chunk.GIENHEMN.js";import{a}from"./chunk.NVUMRW44.js";import{a as H}from"./chunk.OLFOVKQG.js";import{a as S,b as B}from"./chunk.VRSPT7WX.js";import{a as C,e as k,f as b}from"./chunk.LNTTU2GL.js";import{h as E,o as m,q as l}from"./chunk.L4QSPQDE.js";import{k as d}from"./chunk.J2M2MXP2.js";import{a as _,b as g,d as s}from"./chunk.M3QDAYD2.js";var c=`${B}bottom-sheet`,N={DRAGGING:"forge-bottom-sheet--dragging",FULLSCREEN:"forge-bottom-sheet--fullscreen",OPEN:"forge-bottom-sheet--open",SCROLLABLE:"forge-bottom-sheet--scrollable"},A={BACKDROP_CLOSE:"backdrop-close",ESCAPE_CLOSE:"escape-close",FULLSCREEN:"fullscreen",INITIAL_FOCUS:`${c}-focus`,OPEN:`${c}-open`,SHOW_BACKDROP:"show-backdrop"},P={BACKDROP:O.elementName,CONTAINER:".forge-bottom-sheet",CONTENT_BODY:"[forge-bottom-sheet-body]",INITIAL_FOCUS:`[${A.INITIAL_FOCUS}]`,HOST:`[${c}-host]`},w={BEFORE_CLOSE:"forge-bottom-sheet-before-close",CLOSE:"forge-bottom-sheet-close",OPEN:"forge-bottom-sheet-open",READY:"forge-bottom-sheet-ready",DRAG_START:"forge-bottom-sheet-drag-start",DRAGGED:"forge-bottom-sheet-dragged",DRAG_END:"forge-bottom-sheet-drag-end",DRAG_CANCEL:"forge-bottom-sheet-drag-cancel",FULLSCREEN:"forge-bottom-sheet-fullscreen"},o={elementName:c,classes:N,selectors:P,attributes:A,events:w};var p=class extends H{constructor(e){super(e);this._backdropElement=b(e,o.selectors.BACKDROP),this._containerElement=b(e,o.selectors.CONTAINER)}initializeAccessibility(){this._component.hasAttribute("role")||(this._component.setAttribute("role","dialog"),this._component.setAttribute("aria-modal","true"))}setVisibility(e){this.setBackdropVisibility(e),l(this._containerElement,e,o.classes.OPEN)}attach(){(document.querySelector(o.selectors.HOST)||document.body).appendChild(this._component)}detach(){E(this._component)}registerTransitionEndHandler(e){this._containerElement.addEventListener("transitionend",e)}deregisterTransitionEndHandler(e){this._containerElement.removeEventListener("transitionend",e)}setBodyListener(e,i,n){document.body.addEventListener(e,i,n)}removeBodyListener(e,i){document.body.removeEventListener(e,i)}setDocumentListener(e,i){document.addEventListener(e,i)}removeDocumentListener(e,i){document.removeEventListener(e,i)}registerBackdropClickHandler(e){this._backdropElement.addEventListener("click",e)}deregisterBackdropClickHandler(e){this._backdropElement.removeEventListener("click",e)}getOpenBottomSheets(e){return document.querySelectorAll(e)}trySetInitialFocus(){let e=m(this._component,o.selectors.INITIAL_FOCUS);e&&e.length&&e[e.length-1].focus()}isScrollable(){let e=this._getContentElement();return e?e.scrollHeight>e.offsetHeight:!1}isContentChild(e){let i=this._getContentElement();return i?i.contains(e):!1}initScrollable(){let e=this.isScrollable();l(this._component,e,o.classes.SCROLLABLE),l(this._containerElement,e,o.classes.SCROLLABLE)}setDragging(e){l(this._containerElement,e,o.classes.DRAGGING),l(this._component,e,o.classes.DRAGGING)}setBackdropVisibility(e){window.requestAnimationFrame(()=>{this._component.open?this._backdropElement.fadeIn():this._backdropElement.fadeOut()})}setFullscreen(e){l(this._containerElement,e,o.classes.FULLSCREEN)}tryLayoutChildren(){let e=[y.elementName,D.elementName,L.elementName,T.elementName];Array.from(this._component.querySelectorAll(e.join(","))).filter(n=>typeof n.layout=="function").forEach(n=>n.layout())}setContainerHeight(e){if(e!=null){let i=Math.min(100,100*e/window.innerHeight);this._containerElement.style.maxHeight=`${i}%`}else this._containerElement.style.removeProperty("max-height")}getContainerBounds(){return this._containerElement.getBoundingClientRect()}setDragTargetHandler(e,i){this._containerElement.addEventListener(e,i)}removeDragTargetHandler(e,i){this._containerElement.removeEventListener(e,i)}setBodyScrollHandler(e){let i=this._getContentElement();i&&i.addEventListener("scroll",e)}_getContentElement(){let e=Array.from(m(this._component,o.selectors.CONTENT_BODY,!1));return e.length?e[0]:null}};var h=class{constructor(t){this._adapter=t;this._open=!1;this._backdropClose=!0;this._escapeClose=!0;this._fullscreen=!1;this._showBackdrop=!1;this._isDragging=!1;this._bodyScrollHandler=()=>this._onBodyScroll();this._dragStartHandler=t=>this._onDragStart(t);this._dragMoveHandler=t=>this._onDragMove(t);this._dragEndHandler=()=>this._onDragEnd();this._dragCancelHandler=()=>this._onDragCancel();this._openTransitionEndHandler=e=>this._onOpenTransitionEnd(),this._closeTransitionEndHandler=e=>this._onCloseTransitionEnd(),this._documentKeydownHandler=e=>this._onDocumentKeydown(e),this._backdropClickHandler=e=>this._onBackdropClick(e)}initialize(){this._adapter.initializeAccessibility()}destroy(){this._open&&(this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler),this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler),this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler))}_setOpen(t){this._open=t,this._open?this._openBottomSheet():this._closeBottomSheet(),this._adapter.toggleHostAttribute(o.attributes.OPEN,this._open)}_openBottomSheet(){this._adapter.attach(),this._adapter.setBodyAttribute(o.attributes.OPEN,"true"),this._adapter.registerTransitionEndHandler(this._openTransitionEndHandler),this._setDocumentKeydownListener(this._escapeClose),this._setBackdropClickListener(this._backdropClose),window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{this._adapter.setVisibility(!0),this._adapter.emitHostEvent(o.events.OPEN),this._adapter.trySetInitialFocus(),this._adapter.initScrollable()})})}_closeBottomSheet(){this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler),this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler),this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler),this._adapter.registerTransitionEndHandler(this._closeTransitionEndHandler),this._adapter.setVisibility(!1)}_onCloseTransitionEnd(){this._adapter.emitHostEvent(o.events.CLOSE),this._adapter.detach(),this._adapter.getOpenBottomSheets(o.elementName).length||this._adapter.removeBodyAttribute(o.attributes.OPEN)}_onOpenTransitionEnd(){this._open&&(this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler),this._adapter.emitHostEvent(o.events.READY),this._adapter.tryLayoutChildren(),this._adapter.isScrollable()&&this._initScrollableHandlers())}_onDocumentKeydown(t){t.stopPropagation(),t.key&&(t.key==="Escape"||t.key==="Esc")&&this._tryClose()}_onBackdropClick(t){t.stopPropagation(),this._tryClose()}async _tryClose(){if(this._adapter.emitHostEvent(o.events.BEFORE_CLOSE,void 0,void 0,!0)){if(!this._beforeCloseCallback){this.open=!1;return}try{if(await Promise.resolve(this._beforeCloseCallback())){this.open=!1;return}}catch(e){return}}}_setBackdropClickListener(t){this._open&&(t?this._adapter.registerBackdropClickHandler(this._backdropClickHandler):this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler))}_setDocumentKeydownListener(t){this._open&&(t?this._adapter.addDocumentListener("keydown",this._documentKeydownHandler):this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler))}set backdropClose(t){t=!!t,this._backdropClose!==t&&(this._backdropClose=t,this._setBackdropClickListener(this._backdropClose),this._adapter.toggleHostAttribute(o.attributes.BACKDROP_CLOSE,this._backdropClose))}get backdropClose(){return this._backdropClose}set escapeClose(t){t=!!t,this._escapeClose!==t&&(this._escapeClose=t,this._setDocumentKeydownListener(this._escapeClose),this._adapter.toggleHostAttribute(o.attributes.ESCAPE_CLOSE,this._escapeClose))}get escapeClose(){return this._escapeClose}get open(){return this._open}set open(t){if(this._open!==t&&(t=!!t,t!==this._open)){let e=t?this._openCallback:this._closeCallback;e?Promise.resolve(e()).then(()=>{this._setOpen(t)}).catch(()=>{}):this._setOpen(t)}}get fullscreen(){return this._fullscreen}set fullscreen(t){this._fullscreen!==t&&(this._fullscreen=t,this._adapter.setFullscreen(this._fullscreen),this._adapter.toggleHostAttribute(o.attributes.FULLSCREEN,this._fullscreen))}get showBackdrop(){return this._showBackdrop}set showBackdrop(t){this._showBackdrop!==t&&(this._showBackdrop=t,this._adapter.setBackdropVisibility(t),this._adapter.toggleHostAttribute(o.attributes.SHOW_BACKDROP,this._showBackdrop))}get openCallback(){return this._openCallback}set openCallback(t){this._openCallback=t}get closeCallback(){return this._closeCallback}set closeCallback(t){this._closeCallback=t}get beforeCloseCallback(){return this._beforeCloseCallback}set beforeCloseCallback(t){this._beforeCloseCallback=t}_initScrollableHandlers(){!this._fullscreen&&this._adapter.isScrollable()&&(this._adapter.setDragTargetHandler("mousedown",this._dragStartHandler),this._adapter.setDragTargetHandler("touchstart",this._dragStartHandler),this._adapter.setBodyScrollHandler(this._bodyScrollHandler))}_onBodyScroll(){!this._fullscreen&&!this._isDragging&&(this.fullscreen=!0,this._adapter.emitHostEvent(o.events.FULLSCREEN,this._fullscreen))}_onDragStart(t){if(this._fullscreen){let n=f(t);if(this._adapter.isScrollable()&&this._adapter.isContentChild(n[0]))return}t.stopPropagation();let e=this._adapter.getContainerBounds(),i=t instanceof MouseEvent?t.clientY:t.touches[0].clientY;this._dragContext={top:i-e.top,height:e.height},this._adapter.setBodyListener("mousemove",this._dragMoveHandler,{passive:!1}),this._adapter.setBodyListener("touchmove",this._dragMoveHandler,{passive:!1}),this._adapter.setBodyListener("mouseup",this._dragEndHandler),this._adapter.setBodyListener("touchend",this._dragEndHandler),this._adapter.setBodyListener("touchcancel",this._dragCancelHandler)}_onDragMove(t){if(t.stopPropagation(),t.preventDefault(),!this._dragContext)return;let e=t instanceof MouseEvent?t.clientY:t.touches[0].clientY,i={y:window.innerHeight-e+this._dragContext.top};if(!this._isDragging){if(this._isDragging=!0,!this._adapter.emitHostEvent(o.events.DRAG_START,i,!0,!0))return;this._adapter.setDragging(!0)}let n=this._fullscreen?i:{y:Math.max(i.y,this._dragContext.height)};(!this._lastPosition||n.y!==this._lastPosition.y)&&this._adapter.emitHostEvent(o.events.DRAGGED,n,!0,!0)&&(this._lastPosition=g(_({},n),{clientY:e}),this._adapter.setContainerHeight(n.y))}_onDragEnd(){if(this._lastPosition){let t=this._lastPosition.clientY,e=this._dragContext;e&&(this._fullscreen&&t>0?(this.fullscreen=!1,this._adapter.emitHostEvent(o.events.FULLSCREEN,this._fullscreen)):!this._fullscreen&&t<e.height+e.top&&(this.fullscreen=!0,this._adapter.emitHostEvent(o.events.FULLSCREEN,this._fullscreen)))}this._isDragging&&this._adapter.emitHostEvent(o.events.DRAG_END),this._dragComplete()}_onDragCancel(){this._isDragging&&this._adapter.emitHostEvent(o.events.DRAG_CANCEL),this._dragComplete()}_dragComplete(){this._adapter.setDragging(!1),this._adapter.removeBodyListener("mousemove",this._dragMoveHandler),this._adapter.removeBodyListener("touchmove",this._dragMoveHandler),this._adapter.removeBodyListener("mouseup",this._dragEndHandler),this._adapter.removeBodyListener("touchend",this._dragEndHandler),this._adapter.removeBodyListener("touchcancel",this._dragCancelHandler),this._adapter.setContainerHeight(null),this._lastPosition=void 0,this._dragContext=void 0,this._isDragging=!1}};var I='<template><forge-backdrop fixed part="backdrop"></forge-backdrop><div class="forge-bottom-sheet" part="root"><slot></slot></div></template>',R=".forge-bottom-sheet{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);border-radius:4px 4px 0 0;border-radius:var(--forge-bottom-sheet-border-radius,4px 4px 0 0);max-width:50%;max-width:var(--forge-bottom-sheet-desktop-max-width,50%);z-index:8;z-index:var(--forge-z-index-dialog,8);-webkit-box-sizing:border-box;box-sizing:border-box;position:fixed;bottom:0;right:0;left:0;max-height:50%;margin:0 auto;display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1),-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1)}@media (max-width:600px){.forge-bottom-sheet{max-width:100%;width:100%;margin:0;border-radius:0}}.forge-bottom-sheet--open{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms);transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms)}.forge-bottom-sheet--fullscreen.forge-bottom-sheet--open{height:100%;max-height:100%;-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in;transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in}.forge-bottom-sheet--dragging{-webkit-transition:none!important;transition:none!important}.forge-bottom-sheet--scrollable{height:100%}:host{z-index:8;z-index:var(--forge-z-index-dialog,8);position:fixed}:host([hidden]){display:none}",r=class extends HTMLElement{constructor(){super();k(this,I,R),this._foundation=new h(new p(this))}static get observedAttributes(){return[o.attributes.BACKDROP_CLOSE,o.attributes.ESCAPE_CLOSE,o.attributes.OPEN,o.attributes.FULLSCREEN,o.attributes.SHOW_BACKDROP]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,i,n){switch(e){case o.attributes.BACKDROP_CLOSE:this.backdropClose=d(n);break;case o.attributes.ESCAPE_CLOSE:this.escapeClose=d(n);break;case o.attributes.OPEN:this.open=d(n);break;case o.attributes.FULLSCREEN:this.fullscreen=d(n);break;case o.attributes.SHOW_BACKDROP:this.showBackdrop=d(n);break}}};s([a()],r.prototype,"backdropClose",2),s([a()],r.prototype,"escapeClose",2),s([a()],r.prototype,"open",2),s([a()],r.prototype,"fullscreen",2),s([a()],r.prototype,"showBackdrop",2),s([a()],r.prototype,"openCallback",2),s([a()],r.prototype,"closeCallback",2),s([a()],r.prototype,"beforeCloseCallback",2),r=s([S({name:o.elementName,dependencies:[x]})],r);function ue(){C(r)}export{o as a,p as b,h as c,r as d,ue as e};
7
+ //# sourceMappingURL=chunk.X77NKT6Z.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/bottom-sheet/bottom-sheet-constants.ts", "../../src/bottom-sheet/bottom-sheet-adapter.ts", "../../src/bottom-sheet/bottom-sheet-foundation.ts", "../../src/bottom-sheet/bottom-sheet.ts", "../../src/bottom-sheet/index.ts"],
4
+ "sourcesContent": ["import { BACKDROP_CONSTANTS } from '../backdrop';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}bottom-sheet`;\n\nconst classes = {\n DRAGGING: 'forge-bottom-sheet--dragging',\n FULLSCREEN: 'forge-bottom-sheet--fullscreen',\n OPEN: 'forge-bottom-sheet--open',\n SCROLLABLE: 'forge-bottom-sheet--scrollable'\n};\n\nconst attributes = {\n BACKDROP_CLOSE: 'backdrop-close',\n ESCAPE_CLOSE: 'escape-close',\n FULLSCREEN: 'fullscreen',\n INITIAL_FOCUS: `${elementName}-focus`,\n OPEN: `${elementName}-open`,\n SHOW_BACKDROP: 'show-backdrop'\n};\n\nconst selectors = {\n BACKDROP: BACKDROP_CONSTANTS.elementName,\n CONTAINER: '.forge-bottom-sheet',\n CONTENT_BODY: '[forge-bottom-sheet-body]',\n INITIAL_FOCUS: `[${attributes.INITIAL_FOCUS}]`,\n HOST: `[${elementName}-host]`\n};\n\nconst events = {\n BEFORE_CLOSE: `forge-bottom-sheet-before-close`,\n CLOSE: `forge-bottom-sheet-close`,\n OPEN: `forge-bottom-sheet-open`,\n READY: `forge-bottom-sheet-ready`,\n DRAG_START: `forge-bottom-sheet-drag-start`,\n DRAGGED: `forge-bottom-sheet-dragged`,\n DRAG_END: `forge-bottom-sheet-drag-end`,\n DRAG_CANCEL: `forge-bottom-sheet-drag-cancel`,\n FULLSCREEN: `forge-bottom-sheet-fullscreen`\n};\n\nexport const BOTTOM_SHEET_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events\n};\n\nexport interface IBottomSheetDragEventData {\n y: number;\n}\n\nexport interface IBottomSheetDragStartEventData extends IBottomSheetDragEventData {}\n\nexport interface IBottomSheetDragContext {\n top: number;\n height: number;\n}\n", "import { getShadowElement, removeElement, deepQuerySelectorAll, toggleClass } from '@tylertech/forge-core';\nimport { BACKDROP_CONSTANTS, IBackdropComponent } from '../backdrop';\nimport { CHECKBOX_CONSTANTS } from '../checkbox';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { ICON_BUTTON_CONSTANTS } from '../icon-button';\nimport { RADIO_CONSTANTS } from '../radio';\nimport { SWITCH_CONSTANTS } from '../switch';\nimport { IBottomSheetComponent } from './bottom-sheet';\nimport { BOTTOM_SHEET_CONSTANTS } from './bottom-sheet-constants';\n\nexport interface IBottomSheetAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n setVisibility(visible: boolean): void;\n attach(): void;\n detach(): void;\n registerTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n deregisterTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n setBodyListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void;\n removeBodyListener(type: string, listener: (evt: Event) => void): void;\n setDocumentListener(type: string, listener: (evt: Event) => void): void;\n removeDocumentListener(type: string, listener: (evt: Event) => void): void;\n registerBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n deregisterBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n getOpenBottomSheets: (selector: string) => NodeListOf<HTMLElement>;\n trySetInitialFocus: () => void;\n isScrollable(): boolean;\n isContentChild(el: HTMLElement): boolean;\n initScrollable(): void;\n setDragging(isDragging: boolean): void;\n setBackdropVisibility(value: boolean): void;\n setFullscreen(value: boolean): void;\n tryLayoutChildren(): void;\n setContainerHeight(height: number | null): void;\n getContainerBounds(): DOMRect;\n setDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n setBodyScrollHandler(listener: (evt: Event) => void): void;\n}\n\n/**\n * Provides facilities for interacting with the internal DOM of `BottomSheetComponent`.\n */\nexport class BottomSheetAdapter extends BaseAdapter<IBottomSheetComponent> implements IBottomSheetAdapter {\n private _backdropElement: IBackdropComponent;\n private _containerElement: HTMLElement;\n\n constructor(component: IBottomSheetComponent) {\n super(component);\n this._backdropElement = getShadowElement(component, BOTTOM_SHEET_CONSTANTS.selectors.BACKDROP) as IBackdropComponent;\n this._containerElement = getShadowElement(component, BOTTOM_SHEET_CONSTANTS.selectors.CONTAINER);\n }\n\n public initializeAccessibility(): void {\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'dialog');\n this._component.setAttribute('aria-modal', 'true');\n }\n }\n\n public setVisibility(visible: boolean): void {\n this.setBackdropVisibility(visible);\n toggleClass(this._containerElement, visible, BOTTOM_SHEET_CONSTANTS.classes.OPEN);\n }\n\n public attach(): void {\n const hostElement = document.querySelector(BOTTOM_SHEET_CONSTANTS.selectors.HOST) || document.body;\n hostElement.appendChild(this._component);\n }\n\n public detach(): void {\n removeElement(this._component);\n }\n\n public registerTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._containerElement.addEventListener('transitionend', handler);\n }\n\n public deregisterTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._containerElement.removeEventListener('transitionend', handler);\n }\n\n public setBodyListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void {\n document.body.addEventListener(type, listener, options);\n }\n\n public removeBodyListener(type: string, listener: (evt: Event) => void): void {\n document.body.removeEventListener(type, listener);\n }\n\n public setDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.addEventListener(type, listener);\n }\n\n public removeDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.removeEventListener(type, listener);\n }\n\n public registerBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement.addEventListener('click', handler);\n }\n\n public deregisterBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement.removeEventListener('click', handler);\n }\n\n public getOpenBottomSheets(selector: string): NodeListOf<HTMLElement> {\n return document.querySelectorAll(selector);\n }\n\n public trySetInitialFocus(): void {\n const elements = deepQuerySelectorAll(this._component, BOTTOM_SHEET_CONSTANTS.selectors.INITIAL_FOCUS);\n if (elements && elements.length) {\n const initialElement = elements[elements.length - 1] as HTMLElement;\n initialElement.focus();\n }\n }\n\n public isScrollable(): boolean {\n const contentElement = this._getContentElement();\n return contentElement ? contentElement.scrollHeight > contentElement.offsetHeight : false;\n }\n\n public isContentChild(el: HTMLElement): boolean {\n const contentElement = this._getContentElement();\n return contentElement ? contentElement.contains(el) : false;\n }\n\n public initScrollable(): void {\n const isScrollable = this.isScrollable();\n toggleClass(this._component, isScrollable, BOTTOM_SHEET_CONSTANTS.classes.SCROLLABLE);\n toggleClass(this._containerElement, isScrollable, BOTTOM_SHEET_CONSTANTS.classes.SCROLLABLE);\n }\n\n public setDragging(isDragging: boolean): void {\n toggleClass(this._containerElement, isDragging, BOTTOM_SHEET_CONSTANTS.classes.DRAGGING);\n toggleClass(this._component, isDragging, BOTTOM_SHEET_CONSTANTS.classes.DRAGGING);\n }\n\n public setBackdropVisibility(value: boolean): void {\n window.requestAnimationFrame(() => {\n if (this._component.open) {\n this._backdropElement.fadeIn();\n } else {\n this._backdropElement.fadeOut();\n }\n });\n }\n\n public setFullscreen(value: boolean): void {\n toggleClass(this._containerElement, value, BOTTOM_SHEET_CONSTANTS.classes.FULLSCREEN);\n }\n\n public tryLayoutChildren(): void {\n const layoutChildren = [ICON_BUTTON_CONSTANTS.elementName, SWITCH_CONSTANTS.elementName, CHECKBOX_CONSTANTS.elementName, RADIO_CONSTANTS.elementName];\n const commonLayoutElements = Array.from(this._component.querySelectorAll(layoutChildren.join(','))) as any[];\n commonLayoutElements.filter(el => typeof el.layout === 'function').forEach(el => el.layout());\n }\n\n public setContainerHeight(height: number | null): void {\n if (height != null) {\n const percent = Math.min(100, 100 * height / window.innerHeight);\n this._containerElement.style.maxHeight = `${percent}%`;\n } else {\n this._containerElement.style.removeProperty('max-height');\n }\n }\n\n public getContainerBounds(): DOMRect {\n return this._containerElement.getBoundingClientRect() as DOMRect;\n }\n\n public setDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n this._containerElement.addEventListener(type, listener);\n }\n\n public removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n this._containerElement.removeEventListener(type, listener);\n }\n\n public setBodyScrollHandler(listener: (evt: MouseEvent) => void): void {\n const contentElement = this._getContentElement();\n if (contentElement) {\n contentElement.addEventListener('scroll', listener);\n }\n }\n\n private _getContentElement(): HTMLElement | null {\n const contentElements = Array.from(deepQuerySelectorAll(this._component, BOTTOM_SHEET_CONSTANTS.selectors.CONTENT_BODY, false)) as HTMLElement[];\n return contentElements.length ? contentElements[0] : null;\n }\n}\n", "import { ICustomElementFoundation, getEventPath } from '@tylertech/forge-core';\n\nimport { IBottomSheetAdapter } from './bottom-sheet-adapter';\nimport { BOTTOM_SHEET_CONSTANTS, IBottomSheetDragContext, IBottomSheetDragStartEventData } from './bottom-sheet-constants';\n\nexport interface IBottomSheetFoundation extends ICustomElementFoundation {\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n showBackdrop: boolean;\n openCallback: () => void | Promise<void>;\n closeCallback: () => void | Promise<void>;\n beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n\nexport class BottomSheetFoundation implements IBottomSheetFoundation {\n private _open = false;\n private _backdropClose = true;\n private _escapeClose = true;\n private _fullscreen = false;\n private _showBackdrop = false;\n private _openCallback: () => void | Promise<void>;\n private _closeCallback: () => void | Promise<void>;\n private _beforeCloseCallback: () => boolean | Promise<boolean>;\n private _openTransitionEndHandler: (evt: TransitionEvent) => void;\n private _closeTransitionEndHandler: (evt: TransitionEvent) => void;\n private _documentKeydownHandler: (evt: KeyboardEvent) => void;\n private _backdropClickHandler: (evt: CustomEvent) => void;\n private _isDragging = false;\n private _dragContext: IBottomSheetDragContext | undefined;\n private _lastPosition: { y: number; clientY: number } | undefined;\n private _bodyScrollHandler = (): void => this._onBodyScroll();\n private _dragStartHandler = ($event: MouseEvent): void => this._onDragStart($event);\n private _dragMoveHandler = ($event: MouseEvent): void => this._onDragMove($event);\n private _dragEndHandler = (): void => this._onDragEnd();\n private _dragCancelHandler = (): void => this._onDragCancel();\n\n constructor(public _adapter: IBottomSheetAdapter) {\n this._openTransitionEndHandler = (_evt: TransitionEvent) => this._onOpenTransitionEnd();\n this._closeTransitionEndHandler = (_evt: TransitionEvent) => this._onCloseTransitionEnd();\n this._documentKeydownHandler = (evt: KeyboardEvent) => this._onDocumentKeydown(evt);\n this._backdropClickHandler = (evt: CustomEvent) => this._onBackdropClick(evt);\n }\n\n public initialize(): void {\n this._adapter.initializeAccessibility();\n }\n\n public destroy(): void {\n if (this._open) {\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n\n private _setOpen(open: boolean): void {\n this._open = open;\n if (this._open) {\n this._openBottomSheet();\n } else {\n this._closeBottomSheet();\n }\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN, this._open);\n }\n\n private _openBottomSheet(): void {\n this._adapter.attach();\n this._adapter.setBodyAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN, 'true');\n this._adapter.registerTransitionEndHandler(this._openTransitionEndHandler);\n this._setDocumentKeydownListener(this._escapeClose);\n this._setBackdropClickListener(this._backdropClose);\n\n // Ensure transitions are triggered properly\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n this._adapter.setVisibility(true);\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.OPEN);\n this._adapter.trySetInitialFocus();\n this._adapter.initScrollable();\n });\n });\n }\n\n private _closeBottomSheet(): void {\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n this._adapter.registerTransitionEndHandler(this._closeTransitionEndHandler);\n\n this._adapter.setVisibility(false);\n }\n\n private _onCloseTransitionEnd(): void {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.CLOSE);\n this._adapter.detach();\n const openBottomSheets = this._adapter.getOpenBottomSheets(BOTTOM_SHEET_CONSTANTS.elementName);\n if (!openBottomSheets.length) {\n this._adapter.removeBodyAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN);\n }\n }\n\n private _onOpenTransitionEnd(): void {\n if (!this._open) {\n return;\n }\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.READY);\n this._adapter.tryLayoutChildren();\n if (this._adapter.isScrollable()) {\n this._initScrollableHandlers();\n }\n }\n\n private _onDocumentKeydown(evt: KeyboardEvent): void {\n evt.stopPropagation();\n if (evt.key && (evt.key === 'Escape' || evt.key === 'Esc')) {\n this._tryClose();\n }\n }\n\n private _onBackdropClick(evt: CustomEvent): void {\n evt.stopPropagation();\n this._tryClose();\n }\n\n private async _tryClose(): Promise<void> {\n const isCancelled = !this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.BEFORE_CLOSE, undefined, undefined, true);\n if (isCancelled) {\n return;\n }\n\n if (!this._beforeCloseCallback) {\n this.open = false;\n return;\n }\n\n try {\n const shouldClose = await Promise.resolve(this._beforeCloseCallback());\n if (shouldClose) {\n this.open = false;\n return;\n }\n } catch (err) {\n return;\n }\n }\n\n private _setBackdropClickListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach) {\n this._adapter.registerBackdropClickHandler(this._backdropClickHandler);\n } else {\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n\n private _setDocumentKeydownListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach) {\n this._adapter.addDocumentListener('keydown', this._documentKeydownHandler);\n } else {\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n }\n }\n\n /** Controls whether clicking the backdrop closes the bottom sheet or not. */\n public set backdropClose(value: boolean) {\n value = Boolean(value);\n if (this._backdropClose !== value) {\n this._backdropClose = value;\n this._setBackdropClickListener(this._backdropClose);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE, this._backdropClose);\n }\n }\n public get backdropClose(): boolean {\n return this._backdropClose;\n }\n\n /** Controls whether pressing the escape key closes the sheet or not. */\n public set escapeClose(value: boolean) {\n value = Boolean(value);\n if (this._escapeClose !== value) {\n this._escapeClose = value;\n this._setDocumentKeydownListener(this._escapeClose);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE, this._escapeClose);\n }\n }\n public get escapeClose(): boolean {\n return this._escapeClose;\n }\n\n public get open(): boolean {\n return this._open;\n }\n\n public set open(value: boolean) {\n if (this._open !== value) {\n value = Boolean(value);\n if (value !== this._open) {\n const callback = value ? this._openCallback : this._closeCallback;\n if (callback) {\n Promise.resolve(callback())\n .then(() => {\n this._setOpen(value);\n })\n .catch(() => { });\n } else {\n this._setOpen(value);\n }\n }\n }\n }\n\n public get fullscreen(): boolean {\n return this._fullscreen;\n }\n public set fullscreen(value: boolean) {\n if (this._fullscreen !== value) {\n this._fullscreen = value;\n this._adapter.setFullscreen(this._fullscreen);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN, this._fullscreen);\n }\n }\n\n public get showBackdrop(): boolean {\n return this._showBackdrop;\n }\n public set showBackdrop(value: boolean) {\n if (this._showBackdrop !== value) {\n this._showBackdrop = value;\n this._adapter.setBackdropVisibility(value);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP, this._showBackdrop);\n }\n }\n\n public get openCallback(): () => void | Promise<void> {\n return this._openCallback;\n }\n public set openCallback(callback: () => void | Promise<void>) {\n this._openCallback = callback;\n }\n\n public get closeCallback(): () => void | Promise<void> {\n return this._closeCallback;\n }\n public set closeCallback(callback: () => void | Promise<void>) {\n this._closeCallback = callback;\n }\n\n public get beforeCloseCallback(): () => boolean | Promise<boolean> {\n return this._beforeCloseCallback;\n }\n public set beforeCloseCallback(callback: () => boolean | Promise<boolean>) {\n this._beforeCloseCallback = callback;\n }\n\n /** If scrollable, allow drag to/from fullscreen, and make fullscreen on scroll. */\n private _initScrollableHandlers(): void {\n if (!this._fullscreen && this._adapter.isScrollable()) {\n this._adapter.setDragTargetHandler('mousedown', this._dragStartHandler);\n this._adapter.setDragTargetHandler('touchstart', this._dragStartHandler);\n this._adapter.setBodyScrollHandler(this._bodyScrollHandler);\n }\n }\n\n private _onBodyScroll(): void {\n if (!this._fullscreen && !this._isDragging) {\n this.fullscreen = true;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n }\n }\n\n private _onDragStart(evt: MouseEvent | TouchEvent): void {\n if (this._fullscreen) {\n const eventPath = getEventPath(evt);\n const isWithinScrollContainer = this._adapter.isScrollable() && this._adapter.isContentChild(eventPath[0]);\n if (isWithinScrollContainer) {\n // We ignore drag events that originate from within the scrollable content when in full screen mode (to allow for scroll interactions)\n return;\n }\n }\n\n evt.stopPropagation();\n const bounds = this._adapter.getContainerBounds();\n const clientY = evt instanceof MouseEvent ? evt.clientY : evt.touches[0].clientY;\n this._dragContext = {\n top: clientY - bounds.top,\n height: bounds.height\n };\n this._adapter.setBodyListener('mousemove', this._dragMoveHandler, { passive: false });\n this._adapter.setBodyListener('touchmove', this._dragMoveHandler, { passive: false });\n this._adapter.setBodyListener('mouseup', this._dragEndHandler);\n this._adapter.setBodyListener('touchend', this._dragEndHandler);\n this._adapter.setBodyListener('touchcancel', this._dragCancelHandler);\n }\n\n private _onDragMove(evt: MouseEvent | TouchEvent): void {\n evt.stopPropagation();\n evt.preventDefault();\n if (!this._dragContext) {\n return;\n }\n const clientY = evt instanceof MouseEvent ? evt.clientY : evt.touches[0].clientY;\n const height = { y: window.innerHeight - clientY + this._dragContext.top };\n\n // If this is the beginning of the move sequence, we emit the start event (to allow for preventing default) and\n // then update the surface position if not prevented\n if (!this._isDragging) {\n this._isDragging = true;\n const canDrag = this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_START, height as IBottomSheetDragStartEventData, true, true);\n if (!canDrag) {\n return;\n }\n this._adapter.setDragging(true);\n }\n\n // If not fullscreen, clamp to minimum of original height.\n const newPosition = this._fullscreen ? height : { y: Math.max(height.y, this._dragContext.height) };\n\n // Only update the position if it actually changed\n if (!this._lastPosition || newPosition.y !== this._lastPosition.y) {\n const canMove = this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAGGED, newPosition as IBottomSheetDragStartEventData, true, true);\n if (canMove) {\n this._lastPosition = { ...newPosition, clientY };\n this._adapter.setContainerHeight(newPosition.y);\n }\n }\n }\n\n private _onDragEnd(): void {\n if (this._lastPosition) {\n const clientY = this._lastPosition.clientY;\n const dragContext = this._dragContext;\n if (dragContext) {\n if (this._fullscreen && clientY > 0) {\n this.fullscreen = false;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n } else if (!this._fullscreen && clientY < dragContext.height + dragContext.top) {\n this.fullscreen = true;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n }\n }\n }\n if (this._isDragging) {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_END);\n }\n this._dragComplete();\n }\n\n private _onDragCancel(): void {\n if (this._isDragging) {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_CANCEL);\n }\n this._dragComplete();\n }\n\n private _dragComplete(): void {\n this._adapter.setDragging(false);\n this._adapter.removeBodyListener('mousemove', this._dragMoveHandler);\n this._adapter.removeBodyListener('touchmove', this._dragMoveHandler);\n this._adapter.removeBodyListener('mouseup', this._dragEndHandler);\n this._adapter.removeBodyListener('touchend', this._dragEndHandler);\n this._adapter.removeBodyListener('touchcancel', this._dragCancelHandler);\n this._adapter.setContainerHeight(null);\n this._lastPosition = undefined;\n this._dragContext = undefined;\n this._isDragging = false;\n }\n}\n", "import { attachShadowTemplate, CustomElement, FoundationProperty, ICustomElement, upgradeProperty, coerceBoolean } from '@tylertech/forge-core';\n\nimport { BackdropComponent } from '../backdrop';\nimport { BottomSheetAdapter } from './bottom-sheet-adapter';\nimport { BOTTOM_SHEET_CONSTANTS, IBottomSheetDragEventData, IBottomSheetDragStartEventData } from './bottom-sheet-constants';\nimport { BottomSheetFoundation } from './bottom-sheet-foundation';\n\nconst template = '<template><forge-backdrop fixed part=\\\"backdrop\\\"></forge-backdrop><div class=\\\"forge-bottom-sheet\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-bottom-sheet{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);border-radius:4px 4px 0 0;border-radius:var(--forge-bottom-sheet-border-radius,4px 4px 0 0);max-width:50%;max-width:var(--forge-bottom-sheet-desktop-max-width,50%);z-index:8;z-index:var(--forge-z-index-dialog,8);-webkit-box-sizing:border-box;box-sizing:border-box;position:fixed;bottom:0;right:0;left:0;max-height:50%;margin:0 auto;display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1),-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1)}@media (max-width:600px){.forge-bottom-sheet{max-width:100%;width:100%;margin:0;border-radius:0}}.forge-bottom-sheet--open{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms);transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms)}.forge-bottom-sheet--fullscreen.forge-bottom-sheet--open{height:100%;max-height:100%;-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in;transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in}.forge-bottom-sheet--dragging{-webkit-transition:none!important;transition:none!important}.forge-bottom-sheet--scrollable{height:100%}:host{z-index:8;z-index:var(--forge-z-index-dialog,8);position:fixed}:host([hidden]){display:none}';\n\nexport interface IBottomSheetComponent extends ICustomElement {\n showBackdrop: boolean;\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n openCallback: () => void | Promise<void>;\n closeCallback: () => void | Promise<void>;\n beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n\ndeclare global {\n // tslint:disable-next-line: interface-name\n interface HTMLElementTagNameMap {\n 'forge-bottom-sheet': IBottomSheetComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-bottom-sheet-open': CustomEvent<void>;\n 'forge-bottom-sheet-close': CustomEvent<void>;\n 'forge-bottom-sheet-before-close': CustomEvent<void>;\n 'forge-bottom-sheet-before-open': CustomEvent<void>;\n 'forge-bottom-sheet-ready': CustomEvent<void>;\n 'forge-bottom-sheet-drag-start': CustomEvent<IBottomSheetDragStartEventData>;\n 'forge-bottom-sheet-dragged': CustomEvent<IBottomSheetDragEventData>;\n 'forge-bottom-sheet-drag-end': CustomEvent<void>;\n 'forge-bottom-sheet-drag-cancel': CustomEvent<void>;\n 'forge-bottom-sheet-fullscreen': CustomEvent<boolean>;\n }\n}\n\n/**\n * The web component class behind the `<forge-bottom-sheet>` custom element.\n * \n * @tag forge-bottom-sheet\n */\n@CustomElement({\n name: BOTTOM_SHEET_CONSTANTS.elementName,\n dependencies: [BackdropComponent]\n})\nexport class BottomSheetComponent extends HTMLElement implements IBottomSheetComponent {\n public static get observedAttributes(): string[] {\n return [\n BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE,\n BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE,\n BOTTOM_SHEET_CONSTANTS.attributes.OPEN,\n BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN,\n BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP\n ];\n }\n\n private _foundation: BottomSheetFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new BottomSheetFoundation(new BottomSheetAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, _oldValue: string, newValue: string): void {\n switch (name) {\n case BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE:\n this.backdropClose = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE:\n this.escapeClose = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN:\n this.fullscreen = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP:\n this.showBackdrop = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Controls whether clicking the backdrop closes the bottom-sheet or not. Default is true. */\n @FoundationProperty()\n public declare backdropClose: boolean;\n\n /** Controls whether pressing the escape key closes the bottom-sheet or not. Default is true. */\n @FoundationProperty()\n public declare escapeClose: boolean;\n\n /** Controls whether the bottom-sheet is open or not. Default is false. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Controls whether the bottom-sheet is full screen or not. Default is false. */\n @FoundationProperty()\n public declare fullscreen: boolean;\n\n /** Shows a backdrop to prevent interacting with other content until the bottom sheet is dismissed. Default is false. */\n @FoundationProperty()\n public declare showBackdrop: boolean;\n\n /** The function to call when the bottom-sheet wants to open. */\n @FoundationProperty()\n public declare openCallback: () => void | Promise<void>;\n\n /** the function to call when the bottom-sheet wants to close. */\n @FoundationProperty()\n public declare closeCallback: () => void | Promise<void>;\n\n /** the function to call when the bottom-sheet wants to close. */\n @FoundationProperty()\n public declare beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { BottomSheetComponent } from './bottom-sheet';\n\nexport * from './bottom-sheet-adapter';\nexport * from './bottom-sheet-constants';\nexport * from './bottom-sheet-foundation';\nexport * from './bottom-sheet';\n\nexport function defineBottomSheetComponent(): void {\n defineCustomElement(BottomSheetComponent);\n}\n"],
5
+ "mappings": "2jBAGA,IAAMA,EAA2C,GAAGC,gBAE9CC,EAAU,CACd,SAAU,+BACV,WAAY,iCACZ,KAAM,2BACN,WAAY,gCACd,EAEMC,EAAa,CACjB,eAAgB,iBAChB,aAAc,eACd,WAAY,aACZ,cAAe,GAAGH,UAClB,KAAM,GAAGA,SACT,cAAe,eACjB,EAEMI,EAAY,CAChB,SAAUC,EAAmB,YAC7B,UAAW,sBACX,aAAc,4BACd,cAAe,IAAIF,EAAW,iBAC9B,KAAM,IAAIH,SACZ,EAEMM,EAAS,CACb,aAAc,kCACd,MAAO,2BACP,KAAM,0BACN,MAAO,2BACP,WAAY,gCACZ,QAAS,6BACT,SAAU,8BACV,YAAa,iCACb,WAAY,+BACd,EAEaC,EAAyB,CACpC,YAAAP,EACA,QAAAE,EACA,UAAAE,EACA,WAAAD,EACA,OAAAG,CACF,ECLO,IAAME,EAAN,cAAiCC,CAAkE,CAIxG,YAAYC,EAAkC,CAC5C,MAAMA,CAAS,EACf,KAAK,iBAAmBC,EAAiBD,EAAWE,EAAuB,UAAU,QAAQ,EAC7F,KAAK,kBAAoBD,EAAiBD,EAAWE,EAAuB,UAAU,SAAS,CACjG,CAEO,yBAAgC,CAChC,KAAK,WAAW,aAAa,MAAM,IACtC,KAAK,WAAW,aAAa,OAAQ,QAAQ,EAC7C,KAAK,WAAW,aAAa,aAAc,MAAM,EAErD,CAEO,cAAcC,EAAwB,CAC3C,KAAK,sBAAsBA,CAAO,EAClCC,EAAY,KAAK,kBAAmBD,EAASD,EAAuB,QAAQ,IAAI,CAClF,CAEO,QAAe,EACA,SAAS,cAAcA,EAAuB,UAAU,IAAI,GAAK,SAAS,MAClF,YAAY,KAAK,UAAU,CACzC,CAEO,QAAe,CACpBG,EAAc,KAAK,UAAU,CAC/B,CAEO,6BAA6BC,EAA+C,CACjF,KAAK,kBAAkB,iBAAiB,gBAAiBA,CAAO,CAClE,CAEO,+BAA+BA,EAA+C,CACnF,KAAK,kBAAkB,oBAAoB,gBAAiBA,CAAO,CACrE,CAEO,gBAAgBC,EAAcC,EAAgCC,EAAyC,CAC5G,SAAS,KAAK,iBAAiBF,EAAMC,EAAUC,CAAO,CACxD,CAEO,mBAAmBF,EAAcC,EAAsC,CAC5E,SAAS,KAAK,oBAAoBD,EAAMC,CAAQ,CAClD,CAEO,oBAAoBD,EAAcC,EAAsC,CAC7E,SAAS,iBAAiBD,EAAMC,CAAQ,CAC1C,CAEO,uBAAuBD,EAAcC,EAAsC,CAChF,SAAS,oBAAoBD,EAAMC,CAAQ,CAC7C,CAEO,6BAA6BF,EAA2C,CAC7E,KAAK,iBAAiB,iBAAiB,QAASA,CAAO,CACzD,CAEO,+BAA+BA,EAA2C,CAC/E,KAAK,iBAAiB,oBAAoB,QAASA,CAAO,CAC5D,CAEO,oBAAoBI,EAA2C,CACpE,OAAO,SAAS,iBAAiBA,CAAQ,CAC3C,CAEO,oBAA2B,CAChC,IAAMC,EAAWC,EAAqB,KAAK,WAAYV,EAAuB,UAAU,aAAa,EACjGS,GAAYA,EAAS,QACAA,EAASA,EAAS,OAAS,CAAC,EACpC,MAAM,CAEzB,CAEO,cAAwB,CAC7B,IAAME,EAAiB,KAAK,mBAAmB,EAC/C,OAAOA,EAAiBA,EAAe,aAAeA,EAAe,aAAe,EACtF,CAEO,eAAeC,EAA0B,CAC9C,IAAMD,EAAiB,KAAK,mBAAmB,EAC/C,OAAOA,EAAiBA,EAAe,SAASC,CAAE,EAAI,EACxD,CAEO,gBAAuB,CAC5B,IAAMC,EAAe,KAAK,aAAa,EACvCX,EAAY,KAAK,WAAYW,EAAcb,EAAuB,QAAQ,UAAU,EACpFE,EAAY,KAAK,kBAAmBW,EAAcb,EAAuB,QAAQ,UAAU,CAC7F,CAEO,YAAYc,EAA2B,CAC5CZ,EAAY,KAAK,kBAAmBY,EAAYd,EAAuB,QAAQ,QAAQ,EACvFE,EAAY,KAAK,WAAYY,EAAYd,EAAuB,QAAQ,QAAQ,CAClF,CAEO,sBAAsBe,EAAsB,CACjD,OAAO,sBAAsB,IAAM,CAC7B,KAAK,WAAW,KAClB,KAAK,iBAAiB,OAAO,EAE7B,KAAK,iBAAiB,QAAQ,CAElC,CAAC,CACH,CAEO,cAAcA,EAAsB,CACzCb,EAAY,KAAK,kBAAmBa,EAAOf,EAAuB,QAAQ,UAAU,CACtF,CAEO,mBAA0B,CAC/B,IAAMgB,EAAiB,CAACC,EAAsB,YAAaC,EAAiB,YAAaC,EAAmB,YAAaC,EAAgB,WAAW,EACvH,MAAM,KAAK,KAAK,WAAW,iBAAiBJ,EAAe,KAAK,GAAG,CAAC,CAAC,EAC7E,OAAOJ,GAAM,OAAOA,EAAG,QAAW,UAAU,EAAE,QAAQA,GAAMA,EAAG,OAAO,CAAC,CAC9F,CAEO,mBAAmBS,EAA6B,CACrD,GAAIA,GAAU,KAAM,CAClB,IAAMC,EAAU,KAAK,IAAI,IAAK,IAAMD,EAAS,OAAO,WAAW,EAC/D,KAAK,kBAAkB,MAAM,UAAY,GAAGC,UAE5C,KAAK,kBAAkB,MAAM,eAAe,YAAY,CAE5D,CAEO,oBAA8B,CACnC,OAAO,KAAK,kBAAkB,sBAAsB,CACtD,CAEO,qBAAqBjB,EAAcC,EAA2C,CACnF,KAAK,kBAAkB,iBAAiBD,EAAMC,CAAQ,CACxD,CAEO,wBAAwBD,EAAcC,EAA2C,CACtF,KAAK,kBAAkB,oBAAoBD,EAAMC,CAAQ,CAC3D,CAEO,qBAAqBA,EAA2C,CACrE,IAAMK,EAAiB,KAAK,mBAAmB,EAC3CA,GACFA,EAAe,iBAAiB,SAAUL,CAAQ,CAEtD,CAEQ,oBAAyC,CAC/C,IAAMiB,EAAkB,MAAM,KAAKb,EAAqB,KAAK,WAAYV,EAAuB,UAAU,aAAc,EAAK,CAAC,EAC9H,OAAOuB,EAAgB,OAASA,EAAgB,CAAC,EAAI,IACvD,CACF,EC9KO,IAAMC,EAAN,KAA8D,CAsBnE,YAAmBC,EAA+B,CAA/B,cAAAA,EArBnB,KAAQ,MAAQ,GAChB,KAAQ,eAAiB,GACzB,KAAQ,aAAe,GACvB,KAAQ,YAAc,GACtB,KAAQ,cAAgB,GAQxB,KAAQ,YAAc,GAGtB,KAAQ,mBAAqB,IAAY,KAAK,cAAc,EAC5D,KAAQ,kBAAqBC,GAA6B,KAAK,aAAaA,CAAM,EAClF,KAAQ,iBAAoBA,GAA6B,KAAK,YAAYA,CAAM,EAChF,KAAQ,gBAAkB,IAAY,KAAK,WAAW,EACtD,KAAQ,mBAAqB,IAAY,KAAK,cAAc,EAG1D,KAAK,0BAA6BC,GAA0B,KAAK,qBAAqB,EACtF,KAAK,2BAA8BA,GAA0B,KAAK,sBAAsB,EACxF,KAAK,wBAA2BC,GAAuB,KAAK,mBAAmBA,CAAG,EAClF,KAAK,sBAAyBA,GAAqB,KAAK,iBAAiBA,CAAG,CAC9E,CAEO,YAAmB,CACxB,KAAK,SAAS,wBAAwB,CACxC,CAEO,SAAgB,CACjB,KAAK,QACP,KAAK,SAAS,+BAA+B,KAAK,yBAAyB,EAC3E,KAAK,SAAS,uBAAuB,UAAW,KAAK,uBAAuB,EAC5E,KAAK,SAAS,+BAA+B,KAAK,qBAAqB,EAE3E,CAEQ,SAASC,EAAqB,CACpC,KAAK,MAAQA,EACT,KAAK,MACP,KAAK,iBAAiB,EAEtB,KAAK,kBAAkB,EAEzB,KAAK,SAAS,oBAAoBC,EAAuB,WAAW,KAAM,KAAK,KAAK,CACtF,CAEQ,kBAAyB,CAC/B,KAAK,SAAS,OAAO,EACrB,KAAK,SAAS,iBAAiBA,EAAuB,WAAW,KAAM,MAAM,EAC7E,KAAK,SAAS,6BAA6B,KAAK,yBAAyB,EACzE,KAAK,4BAA4B,KAAK,YAAY,EAClD,KAAK,0BAA0B,KAAK,cAAc,EAGlD,OAAO,sBAAsB,IAAM,CACjC,OAAO,sBAAsB,IAAM,CACjC,KAAK,SAAS,cAAc,EAAI,EAChC,KAAK,SAAS,cAAcA,EAAuB,OAAO,IAAI,EAC9D,KAAK,SAAS,mBAAmB,EACjC,KAAK,SAAS,eAAe,CAC/B,CAAC,CACH,CAAC,CACH,CAEQ,mBAA0B,CAChC,KAAK,SAAS,+BAA+B,KAAK,yBAAyB,EAC3E,KAAK,SAAS,uBAAuB,UAAW,KAAK,uBAAuB,EAC5E,KAAK,SAAS,+BAA+B,KAAK,qBAAqB,EACvE,KAAK,SAAS,6BAA6B,KAAK,0BAA0B,EAE1E,KAAK,SAAS,cAAc,EAAK,CACnC,CAEQ,uBAA8B,CACpC,KAAK,SAAS,cAAcA,EAAuB,OAAO,KAAK,EAC/D,KAAK,SAAS,OAAO,EACI,KAAK,SAAS,oBAAoBA,EAAuB,WAAW,EACvE,QACpB,KAAK,SAAS,oBAAoBA,EAAuB,WAAW,IAAI,CAE5E,CAEQ,sBAA6B,CAC9B,KAAK,QAGV,KAAK,SAAS,+BAA+B,KAAK,yBAAyB,EAC3E,KAAK,SAAS,cAAcA,EAAuB,OAAO,KAAK,EAC/D,KAAK,SAAS,kBAAkB,EAC5B,KAAK,SAAS,aAAa,GAC7B,KAAK,wBAAwB,EAEjC,CAEQ,mBAAmBF,EAA0B,CACnDA,EAAI,gBAAgB,EAChBA,EAAI,MAAQA,EAAI,MAAQ,UAAYA,EAAI,MAAQ,QAClD,KAAK,UAAU,CAEnB,CAEQ,iBAAiBA,EAAwB,CAC/CA,EAAI,gBAAgB,EACpB,KAAK,UAAU,CACjB,CAEA,MAAc,WAA2B,CAEvC,GADqB,KAAK,SAAS,cAAcE,EAAuB,OAAO,aAAc,OAAW,OAAW,EAAI,EAKvH,IAAI,CAAC,KAAK,qBAAsB,CAC9B,KAAK,KAAO,GACZ,OAGF,GAAI,CAEF,GADoB,MAAM,QAAQ,QAAQ,KAAK,qBAAqB,CAAC,EACpD,CACf,KAAK,KAAO,GACZ,OAEJ,OAASC,EAAP,CACA,MACF,EACF,CAEQ,0BAA0BC,EAAuB,CAClD,KAAK,QAINA,EACF,KAAK,SAAS,6BAA6B,KAAK,qBAAqB,EAErE,KAAK,SAAS,+BAA+B,KAAK,qBAAqB,EAE3E,CAEQ,4BAA4BA,EAAuB,CACpD,KAAK,QAINA,EACF,KAAK,SAAS,oBAAoB,UAAW,KAAK,uBAAuB,EAEzE,KAAK,SAAS,uBAAuB,UAAW,KAAK,uBAAuB,EAEhF,CAGA,IAAW,cAAcC,EAAgB,CACvCA,EAAQ,EAAQA,EACZ,KAAK,iBAAmBA,IAC1B,KAAK,eAAiBA,EACtB,KAAK,0BAA0B,KAAK,cAAc,EAClD,KAAK,SAAS,oBAAoBH,EAAuB,WAAW,eAAgB,KAAK,cAAc,EAE3G,CACA,IAAW,eAAyB,CAClC,OAAO,KAAK,cACd,CAGA,IAAW,YAAYG,EAAgB,CACrCA,EAAQ,EAAQA,EACZ,KAAK,eAAiBA,IACxB,KAAK,aAAeA,EACpB,KAAK,4BAA4B,KAAK,YAAY,EAClD,KAAK,SAAS,oBAAoBH,EAAuB,WAAW,aAAc,KAAK,YAAY,EAEvG,CACA,IAAW,aAAuB,CAChC,OAAO,KAAK,YACd,CAEA,IAAW,MAAgB,CACzB,OAAO,KAAK,KACd,CAEA,IAAW,KAAKG,EAAgB,CAC9B,GAAI,KAAK,QAAUA,IACjBA,EAAQ,EAAQA,EACZA,IAAU,KAAK,OAAO,CACxB,IAAMC,EAAWD,EAAQ,KAAK,cAAgB,KAAK,eAC/CC,EACF,QAAQ,QAAQA,EAAS,CAAC,EACvB,KAAK,IAAM,CACV,KAAK,SAASD,CAAK,CACrB,CAAC,EACA,MAAM,IAAM,CAAE,CAAC,EAElB,KAAK,SAASA,CAAK,EAI3B,CAEA,IAAW,YAAsB,CAC/B,OAAO,KAAK,WACd,CACA,IAAW,WAAWA,EAAgB,CAChC,KAAK,cAAgBA,IACvB,KAAK,YAAcA,EACnB,KAAK,SAAS,cAAc,KAAK,WAAW,EAC5C,KAAK,SAAS,oBAAoBH,EAAuB,WAAW,WAAY,KAAK,WAAW,EAEpG,CAEA,IAAW,cAAwB,CACjC,OAAO,KAAK,aACd,CACA,IAAW,aAAaG,EAAgB,CAClC,KAAK,gBAAkBA,IACzB,KAAK,cAAgBA,EACrB,KAAK,SAAS,sBAAsBA,CAAK,EACzC,KAAK,SAAS,oBAAoBH,EAAuB,WAAW,cAAe,KAAK,aAAa,EAEzG,CAEA,IAAW,cAA2C,CACpD,OAAO,KAAK,aACd,CACA,IAAW,aAAaI,EAAsC,CAC5D,KAAK,cAAgBA,CACvB,CAEA,IAAW,eAA4C,CACrD,OAAO,KAAK,cACd,CACA,IAAW,cAAcA,EAAsC,CAC7D,KAAK,eAAiBA,CACxB,CAEA,IAAW,qBAAwD,CACjE,OAAO,KAAK,oBACd,CACA,IAAW,oBAAoBA,EAA4C,CACzE,KAAK,qBAAuBA,CAC9B,CAGQ,yBAAgC,CAClC,CAAC,KAAK,aAAe,KAAK,SAAS,aAAa,IAClD,KAAK,SAAS,qBAAqB,YAAa,KAAK,iBAAiB,EACtE,KAAK,SAAS,qBAAqB,aAAc,KAAK,iBAAiB,EACvE,KAAK,SAAS,qBAAqB,KAAK,kBAAkB,EAE9D,CAEQ,eAAsB,CACxB,CAAC,KAAK,aAAe,CAAC,KAAK,cAC7B,KAAK,WAAa,GAClB,KAAK,SAAS,cAAcJ,EAAuB,OAAO,WAAY,KAAK,WAAW,EAE1F,CAEQ,aAAaF,EAAoC,CACvD,GAAI,KAAK,YAAa,CACpB,IAAMO,EAAYC,EAAaR,CAAG,EAElC,GADgC,KAAK,SAAS,aAAa,GAAK,KAAK,SAAS,eAAeO,EAAU,CAAC,CAAC,EAGvG,OAIJP,EAAI,gBAAgB,EACpB,IAAMS,EAAS,KAAK,SAAS,mBAAmB,EAC1CC,EAAUV,aAAe,WAAaA,EAAI,QAAUA,EAAI,QAAQ,CAAC,EAAE,QACzE,KAAK,aAAe,CAClB,IAAKU,EAAUD,EAAO,IACtB,OAAQA,EAAO,MACjB,EACA,KAAK,SAAS,gBAAgB,YAAa,KAAK,iBAAkB,CAAE,QAAS,EAAM,CAAC,EACpF,KAAK,SAAS,gBAAgB,YAAa,KAAK,iBAAkB,CAAE,QAAS,EAAM,CAAC,EACpF,KAAK,SAAS,gBAAgB,UAAW,KAAK,eAAe,EAC7D,KAAK,SAAS,gBAAgB,WAAY,KAAK,eAAe,EAC9D,KAAK,SAAS,gBAAgB,cAAe,KAAK,kBAAkB,CACtE,CAEQ,YAAYT,EAAoC,CAGtD,GAFAA,EAAI,gBAAgB,EACpBA,EAAI,eAAe,EACf,CAAC,KAAK,aACR,OAEF,IAAMU,EAAUV,aAAe,WAAaA,EAAI,QAAUA,EAAI,QAAQ,CAAC,EAAE,QACnEW,EAAS,CAAE,EAAG,OAAO,YAAcD,EAAU,KAAK,aAAa,GAAI,EAIzE,GAAI,CAAC,KAAK,YAAa,CAGrB,GAFA,KAAK,YAAc,GAEf,CADY,KAAK,SAAS,cAAcR,EAAuB,OAAO,WAAYS,EAA0C,GAAM,EAAI,EAExI,OAEF,KAAK,SAAS,YAAY,EAAI,EAIhC,IAAMC,EAAc,KAAK,YAAcD,EAAS,CAAE,EAAG,KAAK,IAAIA,EAAO,EAAG,KAAK,aAAa,MAAM,CAAE,GAG9F,CAAC,KAAK,eAAiBC,EAAY,IAAM,KAAK,cAAc,IAC9C,KAAK,SAAS,cAAcV,EAAuB,OAAO,QAASU,EAA+C,GAAM,EAAI,IAE1I,KAAK,cAAgBC,EAAAC,EAAA,GAAKF,GAAL,CAAkB,QAAAF,CAAQ,GAC/C,KAAK,SAAS,mBAAmBE,EAAY,CAAC,EAGpD,CAEQ,YAAmB,CACzB,GAAI,KAAK,cAAe,CACtB,IAAMF,EAAU,KAAK,cAAc,QAC7BK,EAAc,KAAK,aACrBA,IACE,KAAK,aAAeL,EAAU,GAChC,KAAK,WAAa,GAClB,KAAK,SAAS,cAAcR,EAAuB,OAAO,WAAY,KAAK,WAAW,GAC7E,CAAC,KAAK,aAAeQ,EAAUK,EAAY,OAASA,EAAY,MACzE,KAAK,WAAa,GAClB,KAAK,SAAS,cAAcb,EAAuB,OAAO,WAAY,KAAK,WAAW,IAIxF,KAAK,aACP,KAAK,SAAS,cAAcA,EAAuB,OAAO,QAAQ,EAEpE,KAAK,cAAc,CACrB,CAEQ,eAAsB,CACxB,KAAK,aACP,KAAK,SAAS,cAAcA,EAAuB,OAAO,WAAW,EAEvE,KAAK,cAAc,CACrB,CAEQ,eAAsB,CAC5B,KAAK,SAAS,YAAY,EAAK,EAC/B,KAAK,SAAS,mBAAmB,YAAa,KAAK,gBAAgB,EACnE,KAAK,SAAS,mBAAmB,YAAa,KAAK,gBAAgB,EACnE,KAAK,SAAS,mBAAmB,UAAW,KAAK,eAAe,EAChE,KAAK,SAAS,mBAAmB,WAAY,KAAK,eAAe,EACjE,KAAK,SAAS,mBAAmB,cAAe,KAAK,kBAAkB,EACvE,KAAK,SAAS,mBAAmB,IAAI,EACrC,KAAK,cAAgB,OACrB,KAAK,aAAe,OACpB,KAAK,YAAc,EACrB,CACF,ECjXA,IAAMc,EAAW,8IACXC,EAAS,87EA0CFC,EAAN,cAAmC,WAA6C,CAarF,aAAc,CACZ,MAAM,EACNC,EAAqB,KAAMH,EAAUC,CAAM,EAC3C,KAAK,YAAc,IAAIG,EAAsB,IAAIC,EAAmB,IAAI,CAAC,CAC3E,CAhBA,WAAkB,oBAA+B,CAC/C,MAAO,CACLC,EAAuB,WAAW,eAClCA,EAAuB,WAAW,aAClCA,EAAuB,WAAW,KAClCA,EAAuB,WAAW,WAClCA,EAAuB,WAAW,aACpC,CACF,CAUO,mBAA0B,CAC/B,KAAK,YAAY,WAAW,CAC9B,CAEO,sBAA6B,CAClC,KAAK,YAAY,QAAQ,CAC3B,CAEO,yBAAyBC,EAAcC,EAAmBC,EAAwB,CACvF,OAAQF,EAAM,CACZ,KAAKD,EAAuB,WAAW,eACrC,KAAK,cAAgBI,EAAcD,CAAQ,EAC3C,MACF,KAAKH,EAAuB,WAAW,aACrC,KAAK,YAAcI,EAAcD,CAAQ,EACzC,MACF,KAAKH,EAAuB,WAAW,KACrC,KAAK,KAAOI,EAAcD,CAAQ,EAClC,MACF,KAAKH,EAAuB,WAAW,WACrC,KAAK,WAAaI,EAAcD,CAAQ,EACxC,MACF,KAAKH,EAAuB,WAAW,cACrC,KAAK,aAAeI,EAAcD,CAAQ,EAC1C,KACJ,CACF,CAiCF,EA7BiBE,EAAA,CADdC,EAAmB,GAhDTV,EAiDI,6BAIAS,EAAA,CADdC,EAAmB,GApDTV,EAqDI,2BAIAS,EAAA,CADdC,EAAmB,GAxDTV,EAyDI,oBAIAS,EAAA,CADdC,EAAmB,GA5DTV,EA6DI,0BAIAS,EAAA,CADdC,EAAmB,GAhETV,EAiEI,4BAIAS,EAAA,CADdC,EAAmB,GApETV,EAqEI,4BAIAS,EAAA,CADdC,EAAmB,GAxETV,EAyEI,6BAIAS,EAAA,CADdC,EAAmB,GA5ETV,EA6EI,mCA7EJA,EAANS,EAAA,CAJNE,EAAc,CACb,KAAMP,EAAuB,YAC7B,aAAc,CAACQ,CAAiB,CAClC,CAAC,GACYZ,GCzCN,SAASa,IAAmC,CACjDC,EAAoBC,CAAoB,CAC1C",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "attributes", "selectors", "BACKDROP_CONSTANTS", "events", "BOTTOM_SHEET_CONSTANTS", "BottomSheetAdapter", "BaseAdapter", "component", "getShadowElement", "BOTTOM_SHEET_CONSTANTS", "visible", "toggleClass", "removeElement", "handler", "type", "listener", "options", "selector", "elements", "deepQuerySelectorAll", "contentElement", "el", "isScrollable", "isDragging", "value", "layoutChildren", "ICON_BUTTON_CONSTANTS", "SWITCH_CONSTANTS", "CHECKBOX_CONSTANTS", "RADIO_CONSTANTS", "height", "percent", "contentElements", "BottomSheetFoundation", "_adapter", "$event", "_evt", "evt", "open", "BOTTOM_SHEET_CONSTANTS", "err", "attach", "value", "callback", "eventPath", "getEventPath", "bounds", "clientY", "height", "newPosition", "__spreadProps", "__spreadValues", "dragContext", "template", "styles", "BottomSheetComponent", "attachShadowTemplate", "BottomSheetFoundation", "BottomSheetAdapter", "BOTTOM_SHEET_CONSTANTS", "name", "_oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "BackdropComponent", "defineBottomSheetComponent", "defineCustomElement", "BottomSheetComponent"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{e as D}from"./chunk.NWVQ5HK2.js";import{a as d,d as A}from"./chunk.MFS7AVW6.js";import{a as k,b as O,c as H,d as S}from"./chunk.72BKSMAZ.js";import{g as x}from"./chunk.CLYGTLXN.js";import{e as L}from"./chunk.UV3WIHCM.js";import{a as F}from"./chunk.SQ3AZAHF.js";import{a as I}from"./chunk.NVUMRW44.js";import{a as T,b as M}from"./chunk.VRSPT7WX.js";import{a as y,e as C,f as p}from"./chunk.LNTTU2GL.js";import{r as E}from"./chunk.L4QSPQDE.js";import{a as _,k as v}from"./chunk.J2M2MXP2.js";import{a as g,d as f}from"./chunk.M3QDAYD2.js";var b=`${M}chip-field`,N={ADD_ON_BLUR:"add-on-blur"},V=g({},N),z={CONTAINER:".container",INPUT:"input",MEMBER_SLOT:"slot[name=member]",MEMBER:"[slot=member]"},P={HAS_MEMBERS:"has-members"},K={MEMBER_ADDED:`${b}-member-added`,MEMBER_REMOVED:`${b}-member-removed`},j=["disabled","placeholder"],U={TEXTAREA:"TEXTAREA",LABEL:"LABEL"},n={elementName:b,observedAttributes:N,attributes:V,selectors:z,classes:P,events:K,observedInputAttributes:j,tagNames:U};var m=class extends H{constructor(e){super(e);this._fieldElement=p(e,d.elementName),this._containerElement=p(e,n.selectors.CONTAINER),this._memberSlot=p(e,n.selectors.MEMBER_SLOT),this._fieldElement.setAttribute("exportparts",Object.values(d.parts).join(", "))}get hasValue(){return!!this._component.querySelector(n.selectors.MEMBER)||this.hasInputValue}get hasPlaceholder(){var e;return!!((e=this._inputElement)!=null&&e.placeholder)}get hasInputValue(){var e;return!!((e=this._inputElement)!=null&&e.value)}get inputHasFocus(){var e;return!!((e=this._inputElement)!=null&&e.matches(":focus"))}get popoverTargetElement(){return this._popoverTargetElement||(this._popoverTargetElement=p(this._fieldElement,d.selectors.POPOVER_TARGET)),this._popoverTargetElement}initialize(){this._inputElement=this._component.querySelector("input:not([type=checkbox]):not([type=radio])")}addRootListener(e,t,i){this._fieldElement.addEventListener(e,t,i)}removeRootListener(e,t,i){this._fieldElement.removeEventListener(e,t,i)}addInputListener(e,t){var i;(i=this._inputElement)==null||i.addEventListener(e,t)}removeInputListener(e,t){var i;(i=this._inputElement)==null||i.removeEventListener(e,t)}clickInput(){var e;(e=this._inputElement)==null||e.click()}tryAddValueChangeListener(e,t){var i;(i=this._destroyValueChangerListener)==null||i.call(this),this._inputElement&&(this._destroyValueChangerListener=L(e,this._inputElement,"value",t))}removeValueChangeListener(){var e;(e=this._destroyValueChangerListener)==null||e.call(this)}focusInput(){var e;(e=this._inputElement)==null||e.focus()}getSlottedMemberElements(){return this._memberSlot.assignedElements()}click(){this.focusInput()}applyLabel(e){this._inputElement&&E(this._inputElement,!!e,"aria-label",e!=null?e:"")}tryFloatLabel(e){if(e!==void 0){this._component.floatLabel=e;return}this._component.floatLabel=this.hasValue||this.hasPlaceholder}handleDefaultSlotChange(e,t){var o,a;(o=this._inputMutationObserver)==null||o.disconnect();let i=e.assignedElements();this._inputElement=i.find(r=>r.matches(n.selectors.INPUT)),this._inputElement&&(this._component.disabled&&(this._inputElement.disabled=!0),this._inputMutationObserver=new MutationObserver(r=>{r.forEach(l=>{if(l.attributeName){let B=l.target.getAttribute(l.attributeName),R=l.attributeName;t(R,B)}})}),(a=this._inputMutationObserver)==null||a.observe(this._inputElement,{attributes:!0,attributeFilter:n.observedInputAttributes}),Object.values(n.observedInputAttributes).forEach(r=>{let l=r;this._inputElement&&t(l,this._inputElement.getAttribute(l))}))}tryConnectSlottedLabel(e){if(!this._inputElement)return;let t=e.assignedElements({flatten:!0}),i=t.find(r=>r.matches(x.elementName));if(i){i.forElement=this._component,i.clickTarget=this._inputElement;return}let o=t.find(r=>r.tagName===n.tagNames.LABEL);if(!o||o.control)return;let a=this._inputElement.id||`forge-input-${_()}`;this._inputElement.id=a,o.htmlFor=a}toggleContainerClass(e,t){this._containerElement.classList.toggle(e,t)}setDisabled(e){this._inputElement&&(this._inputElement.disabled=e)}};var h=class extends S{constructor(e){super(e);this._addOnBlur=!1;this._mouseDownListener=this._onMouseDown.bind(this);this._clickListener=this._onClick.bind(this);this._rootKeyDownListener=this._onRootKeyDown.bind(this);this._inputKeyDownListener=this._onKeyDown.bind(this);this._slotChangeListener=this._onSlotChange.bind(this);this._inputAttributeListener=this._onInputAttributeChange.bind(this);this._valueChangeListener=this._onValueChange.bind(this);this._inputListener=this._onValueChange.bind(this);this._blurListener=this._onBlur.bind(this)}initialize(){this._adapter.initialize(),this._adapter.addRootListener("mousedown",this._mouseDownListener,{capture:!0}),this._adapter.addRootListener("click",this._clickListener),this._adapter.addRootListener("keydown",this._rootKeyDownListener),this._adapter.addInputListener("keydown",this._inputKeyDownListener),this._adapter.addRootListener("slotchange",this._slotChangeListener),this._adapter.addRootListener("input",this._inputListener),this._adapter.tryAddValueChangeListener(this,this._valueChangeListener),this._addOnBlur&&this._adapter.addInputListener("blur",this._blurListener)}destroy(){this._adapter.removeRootListener("mousedown",this._mouseDownListener,{capture:!0}),this._adapter.removeRootListener("click",this._clickListener),this._adapter.removeRootListener("keydown",this._rootKeyDownListener),this._adapter.removeInputListener("keydown",this._inputKeyDownListener),this._adapter.removeRootListener("slotchange",this._slotChangeListener),this._adapter.removeRootListener("input",this._inputListener),this._adapter.removeInputListener("blur",this._blurListener),this._adapter.removeValueChangeListener()}_onBlur(e){let t=e.target;this._addOnBlur&&this._addMember(t),t.value=""}_onMouseDown(e){if(this._disabled||this._adapter.inputHasFocus){e.preventDefault(),e.stopPropagation();return}}_onClick(e){this._disabled||(this._adapter.focusInput(),this._adapter.clickInput())}_onValueChange(){this._tryFloatLabel()}_onSlotChange(e){let t=e.target;switch(t.name){case"label":this._adapter.tryConnectSlottedLabel(t);break;case"member":this._adapter.toggleContainerClass(n.classes.HAS_MEMBERS,t.assignedElements().length>0),this._adapter.tryFloatLabel(),this._adapter.getSlottedMemberElements().forEach(i=>i.tabIndex=-1);break;case"":this._adapter.handleDefaultSlotChange(t,this._inputAttributeListener),this._adapter.tryAddValueChangeListener(this,this._valueChangeListener),this._tryFloatLabel();break}}_onInputAttributeChange(e,t){switch(e){case"disabled":this.disabled=t!==null;break;case"placeholder":this._tryFloatLabel();break}}_onRootKeyDown({key:e}){if(!this._adapter.hasInputValue)switch(e){case"ArrowRight":this._focusNextMember();break;case"ArrowLeft":this._focusPreviousMember();break;case"Backspace":case"Delete":this._removeMember();break}}_onKeyDown({target:e,key:t}){let i=e;switch(t){case"Enter":this._addMember(i);break;case"Escape":i.value="";break;case"Tab":this._addOnBlur||(i.value="");break}}_focusNextMember(){let e=this._adapter.getSlottedMemberElements();if(!(!e.length||this._adapter.inputHasFocus))for(let t=0;t<e.length;t++){let i=e.at(t),o=e.at(t+1);if(i&&this._isMemberActive(i))if(o){o.focus();break}else this._adapter.focusInput()}}_focusPreviousMember(){let e=this._adapter.getSlottedMemberElements();if(e.length){if(this._adapter.inputHasFocus){e[e.length-1].focus();return}for(let t=0;t<e.length;t++){let i=e.at(t-1),o=e.at(t);if(o&&this._isMemberActive(o)&&i){i.focus();break}}}}_isMemberActive(e){return e.matches(":focus-within")}_getActiveMember(){var t;return(t=this._adapter.getSlottedMemberElements().find(i=>this._isMemberActive(i)))!=null?t:null}_addMember(e){let t=e.value.trim();t.length>0&&this._adapter.emitHostEvent(n.events.MEMBER_ADDED,t),e.value=""}_removeMember(){let e=this._getActiveMember();e||(e=this._adapter.getSlottedMemberElements().at(-1)),e&&(this._focusNextMember(),this._adapter.emitHostEvent(n.events.MEMBER_REMOVED,e))}get addOnBlur(){return this._addOnBlur}set addOnBlur(e){e=!!e,this._addOnBlur!==e&&(this._addOnBlur=e,this._adapter.isConnected&&(this._addOnBlur?this._adapter.addInputListener("blur",this._blurListener):this._adapter.removeInputListener("blur",this._blurListener)),this._adapter.toggleHostAttribute(n.attributes.ADD_ON_BLUR,this._addOnBlur))}get popoverTargetElement(){return this._adapter.popoverTargetElement}get disabled(){return super.disabled}set disabled(e){this.disabled!==e&&(super.disabled=e,this._adapter.setDisabled(e))}};var $='<template><forge-field id="field" multiline><slot slot="label" name="label"></slot><slot slot="start" name="start"></slot><div class="container" data-forge-field-input><slot name="member"></slot><slot></slot></div><slot slot="end" name="end"></slot><slot slot="accessory" name="accessory"></slot><slot slot="support-text-start" name="support-text-start"></slot><slot slot="support-text-end" name="support-text-end"></slot><slot slot="start" name="leading"></slot><slot slot="end" name="trailing"></slot><slot slot="accessory" name="addon-end"></slot><slot slot="support-text-start" name="helper-text"></slot></forge-field></template>',X="@-webkit-keyframes float-in-label-animation{from{translate:0;opacity:40%}to{translate:var(--_field-floating-label-translation);opacity:100%}}@keyframes float-in-label-animation{from{translate:0;opacity:40%}to{translate:var(--_field-floating-label-translation);opacity:100%}}@-webkit-keyframes float-out-label-animation{from{translate:var(--_field-floating-label-translation);opacity:40%}to{translate:0;opacity:100%}}@keyframes float-out-label-animation{from{translate:var(--_field-floating-label-translation);opacity:40%}to{translate:0;opacity:100%}}@-webkit-keyframes float-in-input-animation{from{translate:0}to{translate:0 calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8))}}@keyframes float-in-input-animation{from{translate:0}to{translate:0 calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8))}}@-webkit-keyframes float-out-input-animation{from{translate:0 calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8))}to{translate:0}}@keyframes float-out-input-animation{from{translate:0 calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8))}to{translate:0}}@-webkit-keyframes resize-container-inset-label-background-animation{from{opacity:0%}to{opacity:100%}}@keyframes resize-container-inset-label-background-animation{from{opacity:0%}to{opacity:100%}}:host{display:block}:host([hidden]){display:none}forge-field{--_chip-field-member-spacing:var(--forge-chip-field-member-spacing, var(--forge-spacing-xsmall, 8px));--_chip-field-content-spacing:var(--forge-chip-field-content-spacing, var(--forge-spacing-xxsmall, 4px))}.container{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center;gap:var(--_chip-field-member-spacing);block-size:auto}.container.has-members{margin-block:var(--_chip-field-content-spacing)}.container.has-members ::slotted(input){block-size:auto;inline-size:auto}::slotted(input){-webkit-box-flex:1;flex-grow:1;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;outline:0;border:none;background-color:transparent;padding-block:0;padding-inline:0;inline-size:100%;block-size:100%;color:inherit;font:inherit;text-overflow:ellipsis}forge-field{display:contents;--forge-field-multiline-resize:none}forge-field::part(label)::after{content:none}:host([theme=primary]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-primary, #3f51b5);--forge-chip-field-color:var(--forge-theme-on-primary, #ffffff)}:host([theme=secondary]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-secondary, #ffc107);--forge-chip-field-color:var(--forge-theme-on-secondary, #000000)}:host([theme=tertiary]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-tertiary, #3d5afe);--forge-chip-field-color:var(--forge-theme-on-tertiary, #ffffff)}:host([theme=success]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-success, #2e7d32);--forge-chip-field-color:var(--forge-theme-on-success, #ffffff)}:host([theme=warning]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-warning, #d14900);--forge-chip-field-color:var(--forge-theme-on-warning, #ffffff)}:host([theme=error]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-error, #b00020);--forge-chip-field-color:var(--forge-theme-on-error, #ffffff)}:host([theme=info]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-info, #1565c0);--forge-chip-field-color:var(--forge-theme-on-info, #ffffff)}",s=class extends O{constructor(){super();C(this,$,X),this._foundation=new h(new m(this))}static get observedAttributes(){return[...Object.values(k.observedAttributes),...Object.values(n.observedAttributes)]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,t,i){switch(super.attributeChangedCallback(e,t,i),e){case n.attributes.ADD_ON_BLUR:this.addOnBlur=v(i);return}}get popoverTargetElement(){return this._foundation.popoverTargetElement}click(){this._foundation.click()}};f([I()],s.prototype,"addOnBlur",2),s=f([T({name:n.elementName,dependencies:[A,D]})],s);var w=class extends F{constructor(e){super(e)}_build(){var t,i;let e=document.createElement(n.elementName);return this._inputElement=this._buildInputElement(e),(t=this._config.options)!=null&&t.leadingElement&&(this._config.options.leadingElement.slot="leading",e.appendChild(this._config.options.leadingElement)),(i=this._config.options)!=null&&i.trailingElement&&(this._config.options.trailingElement.slot="trailing",e.appendChild(this._config.options.trailingElement)),e.appendChild(this._inputElement),e}_configure(){var e,t;(e=this._config.options)!=null&&e.helperText&&this.setHelperText(this._config.options.helperText),typeof((t=this._config.options)==null?void 0:t.label)=="string"&&this._createLabel(this._config.options.label)}get value(){return this._inputElement.value}set value(e){this._inputElement.value=e}get disabled(){return this._inputElement.disabled}set disabled(e){this._inputElement.disabled=e}get invalid(){return this._element.invalid||!1}set invalid(e){this._element.invalid=e}get inputElement(){return this._inputElement}get labelElement(){return this._labelElement}onChange(e){this._inputElement.addEventListener("input",t=>e(t.target.value))}onFocus(e){this._inputElement.addEventListener("focus",t=>e(t))}onBlur(e){this._inputElement.addEventListener("blur",t=>e(t))}setLabel(e){e?this._labelElement?this._labelElement.textContent=e:this._createLabel(e):this._labelElement&&(this._element.removeChild(this._labelElement),this._labelElement=void 0)}setHelperText(e){e?(this._helperTextElement||(this._helperTextElement=document.createElement("span"),this._helperTextElement.slot="helper-text",this._element.appendChild(this._helperTextElement)),this._helperTextElement.textContent=e):this._helperTextElement&&(this._element.removeChild(this._helperTextElement),this._helperTextElement=void 0)}floatLabel(e){this._element.floatLabel=e}_createLabel(e){var t;this._labelElement=document.createElement("label"),this._labelElement.textContent=e,(t=this._config.options)!=null&&t.id&&this._labelElement.setAttribute("for",this._config.options.id),this._element.appendChild(this._labelElement)}_buildInputElement(e){var i,o,a,r,l;let t=document.createElement("input");return t.type=((i=this._config.options)==null?void 0:i.type)||"text",((o=this._config.options)==null?void 0:o.value)!==void 0&&(t.value=this._config.options.value),(a=this._config.options)!=null&&a.id&&(t.id=this._config.options.id),typeof((r=this._config.options)==null?void 0:r.placeholder)=="string"&&(t.placeholder=(l=this._config.options)==null?void 0:l.placeholder),e.appendChild(t),t}};function ke(){y(s)}export{n as a,m as b,h as c,s as d,w as e,ke as f};
7
+ //# sourceMappingURL=chunk.XZ23XHFE.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/chip-field/chip-field-constants.ts", "../../src/chip-field/chip-field-adapter.ts", "../../src/chip-field/chip-field-foundation.ts", "../../src/chip-field/chip-field.ts", "../../src/chip-field/chip-field-component-delegate.ts", "../../src/chip-field/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}chip-field`;\n\nconst observedAttributes = {\n ADD_ON_BLUR: 'add-on-blur'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst selectors = {\n CONTAINER: '.container',\n INPUT: 'input',\n MEMBER_SLOT: 'slot[name=member]',\n MEMBER: '[slot=member]'\n};\n\nconst classes = {\n HAS_MEMBERS: 'has-members'\n};\n\nconst events = {\n MEMBER_ADDED: `${elementName}-member-added`,\n MEMBER_REMOVED: `${elementName}-member-removed`\n};\n\nconst observedInputAttributes = ['disabled', 'placeholder'];\n\nconst tagNames = {\n TEXTAREA: 'TEXTAREA',\n LABEL: 'LABEL'\n};\n\nexport const CHIP_FIELD_CONSTANTS = {\n elementName,\n observedAttributes,\n attributes,\n selectors,\n classes,\n events,\n observedInputAttributes,\n tagNames\n};\n\n\nexport {\n type FieldDensity as ChipFieldDensityType,\n type FieldShape as ChipFieldShapeType\n} from '../field/base/base-field-constants';\n\n\nexport type ChipFieldInputAttributeObserver = (name: keyof typeof observedInputAttributes, value: string | null) => void;\nexport type ChipFieldValueChangeListener = (value: string | null) => void;\n", "import { getShadowElement, listenOwnProperty, randomChars, toggleAttribute } from '@tylertech/forge-core';\nimport { IChipFieldComponent } from './chip-field';\nimport { ChipFieldInputAttributeObserver, ChipFieldValueChangeListener, CHIP_FIELD_CONSTANTS } from './chip-field-constants';\nimport { BaseFieldAdapter, IBaseFieldAdapter } from '../field/base/base-field-adapter';\nimport { FIELD_CONSTANTS } from '../field/field-constants';\nimport { IFieldComponent } from '../field';\nimport { LabelComponent, LABEL_CONSTANTS } from '../label';\n\nexport interface IChipFieldAdapter extends IBaseFieldAdapter {\n readonly popoverTargetElement: HTMLElement;\n readonly hasInputValue: boolean;\n readonly inputHasFocus: boolean;\n initialize(): void;\n addRootListener(type: string, listener: EventListener, options?: EventListenerOptions): void;\n removeRootListener(type: string, listener: EventListener, options?: EventListenerOptions): void;\n addInputListener(type: string, listener: EventListener): void;\n removeInputListener(type: string, listener: EventListener): void;\n clickInput(): void;\n tryAddValueChangeListener(context: unknown, listener: ChipFieldValueChangeListener): void;\n removeValueChangeListener(): void;\n getSlottedMemberElements(): HTMLElement[];\n focusInput(): void;\n handleDefaultSlotChange(slot: HTMLSlotElement, listener: ChipFieldInputAttributeObserver): void;\n tryConnectSlottedLabel(slot: HTMLSlotElement): void;\n toggleContainerClass(className: string, force?: boolean): void;\n setDisabled(value: boolean): void;\n}\n\nexport class ChipFieldAdapter extends BaseFieldAdapter implements IChipFieldAdapter {\n protected readonly _fieldElement: IFieldComponent;\n private _containerElement: HTMLElement;\n private _memberSlot: HTMLSlotElement;\n private _popoverTargetElement: HTMLElement;\n private _inputElement: HTMLInputElement | undefined;\n private _inputMutationObserver?: MutationObserver;\n private _destroyValueChangerListener: (() => void) | undefined;\n\n public get hasValue(): boolean {\n const hasMembers = !!this._component.querySelector(CHIP_FIELD_CONSTANTS.selectors.MEMBER);\n return hasMembers || this.hasInputValue;\n }\n\n public get hasPlaceholder(): boolean {\n return !!this._inputElement?.placeholder;\n }\n\n public get hasInputValue(): boolean {\n return !!this._inputElement?.value;\n }\n\n public get inputHasFocus(): boolean {\n return !!this._inputElement?.matches(':focus');\n }\n\n public get popoverTargetElement(): HTMLElement {\n if (!this._popoverTargetElement) {\n this._popoverTargetElement = getShadowElement(this._fieldElement, FIELD_CONSTANTS.selectors.POPOVER_TARGET) as HTMLElement;\n }\n return this._popoverTargetElement;\n }\n\n constructor(component: IChipFieldComponent) {\n super(component);\n this._fieldElement = getShadowElement(component, FIELD_CONSTANTS.elementName) as IFieldComponent;\n this._containerElement = getShadowElement(component, CHIP_FIELD_CONSTANTS.selectors.CONTAINER) as HTMLElement;\n this._memberSlot = getShadowElement(component, CHIP_FIELD_CONSTANTS.selectors.MEMBER_SLOT) as HTMLSlotElement;\n\n this._fieldElement.setAttribute('exportparts', Object.values(FIELD_CONSTANTS.parts).join(', '));\n }\n\n public initialize(): void {\n this._inputElement = this._component.querySelector('input:not([type=checkbox]):not([type=radio])') as HTMLInputElement;\n }\n \n public addRootListener(type: string, listener: EventListener, options?: EventListenerOptions): void {\n this._fieldElement.addEventListener(type, listener, options);\n }\n\n public removeRootListener(type: string, listener: EventListener, options?: EventListenerOptions): void {\n this._fieldElement.removeEventListener(type, listener, options);\n }\n\n public addInputListener(type: string, listener: EventListener): void {\n this._inputElement?.addEventListener(type, listener);\n }\n\n public removeInputListener(type: string, listener: EventListener): void {\n this._inputElement?.removeEventListener(type, listener);\n }\n \n public clickInput(): void {\n this._inputElement?.click();\n }\n\n public tryAddValueChangeListener(context: unknown, listener: ChipFieldValueChangeListener): void {\n this._destroyValueChangerListener?.();\n if (this._inputElement) {\n this._destroyValueChangerListener = listenOwnProperty(context, this._inputElement, 'value', listener);\n }\n }\n\n public removeValueChangeListener(): void {\n this._destroyValueChangerListener?.();\n }\n\n public focusInput(): void {\n this._inputElement?.focus();\n }\n\n public getSlottedMemberElements(): HTMLElement[] {\n return this._memberSlot.assignedElements() as HTMLElement[];\n }\n\n public click(): void {\n this.focusInput();\n }\n\n public applyLabel(value: string | null): void {\n /* c8 ignore next 3 */\n if (!this._inputElement) {\n return;\n }\n toggleAttribute(this._inputElement, !!value, 'aria-label', value ?? '');\n }\n\n public tryFloatLabel(force?: boolean | undefined): void {\n if (force !== undefined) {\n this._component.floatLabel = force;\n return;\n }\n this._component.floatLabel = this.hasValue || this.hasPlaceholder;\n }\n\n public handleDefaultSlotChange(slot: HTMLSlotElement, listener: ChipFieldInputAttributeObserver): void {\n this._inputMutationObserver?.disconnect();\n\n const assignedElements = slot.assignedElements();\n this._inputElement = assignedElements.find(el => el.matches(CHIP_FIELD_CONSTANTS.selectors.INPUT)) as HTMLInputElement;\n \n if (this._inputElement) {\n if (this._component.disabled) {\n this._inputElement.disabled = true;\n }\n\n this._inputMutationObserver = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.attributeName) {\n const element = mutation.target as HTMLElement;\n const attribute = element.getAttribute(mutation.attributeName);\n const attributeName = mutation.attributeName as keyof typeof CHIP_FIELD_CONSTANTS.observedInputAttributes;\n listener(attributeName, attribute);\n }\n });\n });\n this._inputMutationObserver?.observe(this._inputElement, { attributes: true, attributeFilter: CHIP_FIELD_CONSTANTS.observedInputAttributes });\n\n // Call the listener with each observed attribute to capture the initial state\n Object.values(CHIP_FIELD_CONSTANTS.observedInputAttributes).forEach(value => {\n const attributeName = value as keyof typeof CHIP_FIELD_CONSTANTS.observedInputAttributes;\n if (this._inputElement) {\n listener(attributeName, this._inputElement.getAttribute(attributeName as string));\n }\n });\n }\n }\n\n public tryConnectSlottedLabel(slot: HTMLSlotElement): void {\n /* c8 ignore next 3 */\n if (!this._inputElement) {\n return;\n }\n\n const elements = slot.assignedElements({ flatten: true });\n\n // Attempt to find and connect a `<forge-label>` element\n const forgeLabel = elements.find(el => el.matches(LABEL_CONSTANTS.elementName)) as LabelComponent | undefined;\n if (forgeLabel) {\n forgeLabel.forElement = this._component;\n forgeLabel.clickTarget = this._inputElement;\n return;\n }\n \n // Attempt to find and connect a `<label>` element\n const label = elements.find(el => el.tagName === CHIP_FIELD_CONSTANTS.tagNames.LABEL) as HTMLLabelElement | undefined;\n if (!label || label.control) {\n return;\n }\n\n const id = this._inputElement.id || `forge-input-${randomChars()}`;\n this._inputElement.id = id;\n label.htmlFor = id;\n }\n\n public toggleContainerClass(className: string, force?: boolean): void {\n this._containerElement.classList.toggle(className, force);\n }\n\n public setDisabled(value: boolean): void {\n if (this._inputElement) {\n this._inputElement.disabled = value;\n }\n }\n}\n", "import { IChipFieldAdapter } from './chip-field-adapter';\nimport { ChipFieldInputAttributeObserver, ChipFieldValueChangeListener, CHIP_FIELD_CONSTANTS } from './chip-field-constants';\nimport { BaseFieldFoundation, IBaseFieldFoundation } from '../field/base/base-field-foundation';\n\nexport interface IChipFieldFoundation extends IBaseFieldFoundation {\n addOnBlur: boolean;\n readonly popoverTargetElement: HTMLElement;\n}\n\nexport class ChipFieldFoundation extends BaseFieldFoundation<IChipFieldAdapter> implements IChipFieldFoundation {\n private _addOnBlur = false;\n\n private _mouseDownListener: EventListener = this._onMouseDown.bind(this);\n private _clickListener: EventListener = this._onClick.bind(this);\n private _rootKeyDownListener: EventListener = this._onRootKeyDown.bind(this);\n private _inputKeyDownListener: EventListener = this._onKeyDown.bind(this);\n private _slotChangeListener: EventListener = this._onSlotChange.bind(this);\n private _inputAttributeListener: ChipFieldInputAttributeObserver = this._onInputAttributeChange.bind(this);\n private _valueChangeListener: ChipFieldValueChangeListener = this._onValueChange.bind(this);\n private _inputListener: EventListener = this._onValueChange.bind(this);\n private _blurListener: EventListener = this._onBlur.bind(this);\n\n constructor(adapter: IChipFieldAdapter) {\n super(adapter);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.addRootListener('mousedown', this._mouseDownListener, { capture: true });\n this._adapter.addRootListener('click', this._clickListener);\n this._adapter.addRootListener('keydown', this._rootKeyDownListener);\n this._adapter.addInputListener('keydown', this._inputKeyDownListener);\n this._adapter.addRootListener('slotchange', this._slotChangeListener);\n this._adapter.addRootListener('input', this._inputListener);\n this._adapter.tryAddValueChangeListener(this, this._valueChangeListener);\n\n if (this._addOnBlur) {\n this._adapter.addInputListener('blur', this._blurListener);\n }\n }\n\n public destroy(): void {\n this._adapter.removeRootListener('mousedown', this._mouseDownListener, { capture: true });\n this._adapter.removeRootListener('click', this._clickListener);\n this._adapter.removeRootListener('keydown', this._rootKeyDownListener);\n this._adapter.removeInputListener('keydown', this._inputKeyDownListener);\n this._adapter.removeRootListener('slotchange', this._slotChangeListener);\n this._adapter.removeRootListener('input', this._inputListener);\n this._adapter.removeInputListener('blur', this._blurListener);\n this._adapter.removeValueChangeListener();\n }\n\n protected _onBlur(event: FocusEvent): void {\n const input = event.target as HTMLInputElement;\n\n if (this._addOnBlur) {\n this._addMember(input);\n }\n\n input.value = '';\n }\n\n private _onMouseDown(evt: MouseEvent): void {\n if (this._disabled || this._adapter.inputHasFocus) {\n evt.preventDefault();\n evt.stopPropagation();\n return;\n }\n }\n\n private _onClick(_evt: MouseEvent): void {\n if (this._disabled) {\n return;\n }\n this._adapter.focusInput();\n this._adapter.clickInput();\n }\n\n private _onValueChange(): void {\n this._tryFloatLabel();\n }\n\n private _onSlotChange(evt: Event): void {\n const target = evt.target as HTMLSlotElement;\n switch (target.name) {\n case 'label':\n this._adapter.tryConnectSlottedLabel(target);\n break;\n case 'member':\n this._adapter.toggleContainerClass(CHIP_FIELD_CONSTANTS.classes.HAS_MEMBERS, target.assignedElements().length > 0);\n this._adapter.tryFloatLabel();\n this._adapter.getSlottedMemberElements().forEach(x => x.tabIndex = -1);\n break;\n case '':\n this._adapter.handleDefaultSlotChange(target, this._inputAttributeListener);\n this._adapter.tryAddValueChangeListener(this, this._valueChangeListener);\n this._tryFloatLabel();\n break;\n }\n }\n\n private _onInputAttributeChange(name: keyof typeof CHIP_FIELD_CONSTANTS.observedInputAttributes, value: string | null): void {\n switch (name) {\n case 'disabled':\n this.disabled = value !== null;\n break;\n case 'placeholder':\n this._tryFloatLabel();\n break;\n }\n }\n\n private _onRootKeyDown({ key }: KeyboardEvent): void {\n if (this._adapter.hasInputValue) {\n return;\n }\n\n switch (key) {\n case 'ArrowRight':\n this._focusNextMember();\n break;\n case 'ArrowLeft':\n this._focusPreviousMember();\n break;\n case 'Backspace':\n case 'Delete':\n this._removeMember();\n break;\n }\n }\n\n private _onKeyDown({ target, key }: KeyboardEvent): void {\n const input = target as HTMLInputElement;\n switch (key) {\n case 'Enter':\n this._addMember(input);\n break;\n case 'Escape':\n input.value = '';\n break;\n case 'Tab':\n if (!this._addOnBlur) {\n input.value = '';\n }\n break;\n }\n }\n\n private _focusNextMember(): void {\n const members = this._adapter.getSlottedMemberElements();\n if (!members.length || this._adapter.inputHasFocus) {\n return;\n }\n\n for (let i = 0; i < members.length; i++) {\n const member = members.at(i);\n const nextMember = members.at(i + 1);\n\n if (member && this._isMemberActive(member)) {\n if (nextMember) {\n nextMember.focus();\n break;\n } else {\n this._adapter.focusInput();\n }\n }\n }\n }\n\n private _focusPreviousMember(): void {\n const members = this._adapter.getSlottedMemberElements();\n if (!members.length) {\n return;\n }\n\n if (this._adapter.inputHasFocus) {\n members[members.length - 1].focus();\n return;\n }\n\n for (let i = 0; i < members.length; i++) {\n const previousMember = members.at(i - 1);\n const member = members.at(i);\n\n if (member && this._isMemberActive(member) && previousMember) {\n previousMember.focus();\n break;\n }\n }\n }\n\n private _isMemberActive(el: HTMLElement): boolean {\n return el.matches(':focus-within');\n }\n\n private _getActiveMember(): HTMLElement | null {\n const members = this._adapter.getSlottedMemberElements();\n return members.find(x => this._isMemberActive(x)) ?? null;\n }\n\n private _addMember(input: HTMLInputElement): void {\n const cleanInputValue = input.value.trim();\n if (cleanInputValue.length > 0) {\n this._adapter.emitHostEvent(CHIP_FIELD_CONSTANTS.events.MEMBER_ADDED, cleanInputValue);\n }\n input.value = '';\n }\n\n private _removeMember(): void {\n let memberToRemove: HTMLElement | null | undefined = this._getActiveMember();\n if (!memberToRemove) {\n const members = this._adapter.getSlottedMemberElements();\n memberToRemove = members.at(-1);\n }\n\n if (!memberToRemove) {\n return;\n }\n\n this._focusNextMember();\n this._adapter.emitHostEvent(CHIP_FIELD_CONSTANTS.events.MEMBER_REMOVED, memberToRemove);\n }\n\n public get addOnBlur(): boolean {\n return this._addOnBlur;\n }\n public set addOnBlur(value: boolean) {\n value = Boolean(value);\n if (this._addOnBlur !== value) {\n this._addOnBlur = value;\n\n if (this._adapter.isConnected) {\n if (this._addOnBlur) {\n this._adapter.addInputListener('blur', this._blurListener);\n } else {\n this._adapter.removeInputListener('blur', this._blurListener);\n }\n }\n\n this._adapter.toggleHostAttribute(CHIP_FIELD_CONSTANTS.attributes.ADD_ON_BLUR, this._addOnBlur);\n }\n }\n\n public get popoverTargetElement(): HTMLElement {\n return this._adapter.popoverTargetElement;\n }\n\n public override get disabled(): boolean {\n return super.disabled;\n }\n public override set disabled(value: boolean) {\n if (this.disabled === value) {\n return;\n }\n super.disabled = value;\n this._adapter.setDisabled(value);\n }\n}\n", "import { CustomElement, FoundationProperty, attachShadowTemplate, coerceBoolean } from '@tylertech/forge-core';\nimport { ChipFieldAdapter } from './chip-field-adapter';\nimport { ChipFieldFoundation } from './chip-field-foundation';\nimport { CHIP_FIELD_CONSTANTS } from './chip-field-constants';\nimport { ChipComponent } from '../chips';\nimport { BaseField, IBaseField } from '../field/base/base-field';\nimport { BASE_FIELD_CONSTANTS, FieldComponent } from '../field';\n\nconst template = '<template><forge-field id=\\\"field\\\" multiline><slot slot=\\\"label\\\" name=\\\"label\\\"></slot><slot slot=\\\"start\\\" name=\\\"start\\\"></slot><div class=\\\"container\\\" data-forge-field-input><slot name=\\\"member\\\"></slot><slot></slot></div><slot slot=\\\"end\\\" name=\\\"end\\\"></slot><slot slot=\\\"accessory\\\" name=\\\"accessory\\\"></slot><slot slot=\\\"support-text-start\\\" name=\\\"support-text-start\\\"></slot><slot slot=\\\"support-text-end\\\" name=\\\"support-text-end\\\"></slot><slot slot=\\\"start\\\" name=\\\"leading\\\"></slot><slot slot=\\\"end\\\" name=\\\"trailing\\\"></slot><slot slot=\\\"accessory\\\" name=\\\"addon-end\\\"></slot><slot slot=\\\"support-text-start\\\" name=\\\"helper-text\\\"></slot></forge-field></template>';\nconst styles = '@-webkit-keyframes float-in-label-animation{from{translate:0;opacity:40%}to{translate:var(--_field-floating-label-translation);opacity:100%}}@keyframes float-in-label-animation{from{translate:0;opacity:40%}to{translate:var(--_field-floating-label-translation);opacity:100%}}@-webkit-keyframes float-out-label-animation{from{translate:var(--_field-floating-label-translation);opacity:40%}to{translate:0;opacity:100%}}@keyframes float-out-label-animation{from{translate:var(--_field-floating-label-translation);opacity:40%}to{translate:0;opacity:100%}}@-webkit-keyframes float-in-input-animation{from{translate:0}to{translate:0 calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8))}}@keyframes float-in-input-animation{from{translate:0}to{translate:0 calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8))}}@-webkit-keyframes float-out-input-animation{from{translate:0 calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8))}to{translate:0}}@keyframes float-out-input-animation{from{translate:0 calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8))}to{translate:0}}@-webkit-keyframes resize-container-inset-label-background-animation{from{opacity:0%}to{opacity:100%}}@keyframes resize-container-inset-label-background-animation{from{opacity:0%}to{opacity:100%}}:host{display:block}:host([hidden]){display:none}forge-field{--_chip-field-member-spacing:var(--forge-chip-field-member-spacing, var(--forge-spacing-xsmall, 8px));--_chip-field-content-spacing:var(--forge-chip-field-content-spacing, var(--forge-spacing-xxsmall, 4px))}.container{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center;gap:var(--_chip-field-member-spacing);block-size:auto}.container.has-members{margin-block:var(--_chip-field-content-spacing)}.container.has-members ::slotted(input){block-size:auto;inline-size:auto}::slotted(input){-webkit-box-flex:1;flex-grow:1;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;outline:0;border:none;background-color:transparent;padding-block:0;padding-inline:0;inline-size:100%;block-size:100%;color:inherit;font:inherit;text-overflow:ellipsis}forge-field{display:contents;--forge-field-multiline-resize:none}forge-field::part(label)::after{content:none}:host([theme=primary]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-primary, #3f51b5);--forge-chip-field-color:var(--forge-theme-on-primary, #ffffff)}:host([theme=secondary]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-secondary, #ffc107);--forge-chip-field-color:var(--forge-theme-on-secondary, #000000)}:host([theme=tertiary]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-tertiary, #3d5afe);--forge-chip-field-color:var(--forge-theme-on-tertiary, #ffffff)}:host([theme=success]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-success, #2e7d32);--forge-chip-field-color:var(--forge-theme-on-success, #ffffff)}:host([theme=warning]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-warning, #d14900);--forge-chip-field-color:var(--forge-theme-on-warning, #ffffff)}:host([theme=error]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-error, #b00020);--forge-chip-field-color:var(--forge-theme-on-error, #ffffff)}:host([theme=info]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-info, #1565c0);--forge-chip-field-color:var(--forge-theme-on-info, #ffffff)}';\n\nexport interface IChipFieldComponent extends IBaseField {\n addOnBlur: boolean;\n readonly popoverTargetElement: HTMLElement;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-chip-field': IChipFieldComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-chip-field-member-added': CustomEvent<string>;\n 'forge-chip-field-member-removed': CustomEvent<HTMLElement>;\n }\n}\n\n/**\n * @tag forge-chip-field\n */\n@CustomElement({\n name: CHIP_FIELD_CONSTANTS.elementName,\n dependencies: [\n FieldComponent,\n ChipComponent\n ]\n})\nexport class ChipFieldComponent extends BaseField<ChipFieldFoundation> implements IChipFieldComponent {\n public static get observedAttributes(): string[] {\n return [\n ...Object.values(BASE_FIELD_CONSTANTS.observedAttributes),\n ...Object.values(CHIP_FIELD_CONSTANTS.observedAttributes)\n ];\n }\n\n protected _foundation: ChipFieldFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ChipFieldFoundation(new ChipFieldAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case CHIP_FIELD_CONSTANTS.attributes.ADD_ON_BLUR:\n this.addOnBlur = coerceBoolean(newValue);\n return;\n }\n }\n\n @FoundationProperty()\n public declare addOnBlur: boolean;\n\n public get popoverTargetElement(): HTMLElement {\n return this._foundation.popoverTargetElement;\n }\n\n public override click(): void {\n this._foundation.click();\n }\n}\n", "import { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core/delegates/form-field-component-delegate';\nimport { IChipFieldComponent } from './chip-field';\nimport { CHIP_FIELD_CONSTANTS } from './chip-field-constants';\n\nexport type ChipFieldComponentDelegateProps = Partial<IChipFieldComponent>;\nexport interface IChipFieldComponentDelegateOptions extends IFormFieldComponentDelegateOptions {\n id?: string;\n label?: string;\n type?: string;\n value?: string;\n helperText?: string;\n placeholder?: string;\n leadingElement?: HTMLElement;\n trailingElement?: HTMLElement;\n}\nexport interface IChipFieldComponentDelegateConfig extends IBaseComponentDelegateConfig<IChipFieldComponent, IChipFieldComponentDelegateOptions> {}\n\nexport class ChipFieldComponentDelegate extends FormFieldComponentDelegate<IChipFieldComponent, IChipFieldComponentDelegateOptions> {\n private _inputElement: HTMLInputElement;\n private _labelElement: HTMLLabelElement | undefined;\n private _helperTextElement: HTMLSpanElement | undefined;\n\n constructor(config?: IChipFieldComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IChipFieldComponent {\n const chipField = document.createElement(CHIP_FIELD_CONSTANTS.elementName);\n\n this._inputElement = this._buildInputElement(chipField);\n\n if (this._config.options?.leadingElement) {\n this._config.options.leadingElement.slot = 'leading';\n chipField.appendChild(this._config.options.leadingElement);\n }\n if (this._config.options?.trailingElement) {\n this._config.options.trailingElement.slot = 'trailing';\n chipField.appendChild(this._config.options.trailingElement);\n }\n\n chipField.appendChild(this._inputElement);\n return chipField;\n }\n\n protected override _configure(): void {\n if (this._config.options?.helperText) {\n this.setHelperText(this._config.options.helperText);\n }\n if (typeof this._config.options?.label === 'string') {\n this._createLabel(this._config.options.label);\n }\n }\n\n public get value(): string {\n return this._inputElement.value;\n }\n public set value(value: string) {\n this._inputElement.value = value;\n }\n\n public get disabled(): boolean {\n return this._inputElement.disabled;\n }\n public set disabled(value: boolean) {\n this._inputElement.disabled = value;\n }\n\n public get invalid(): boolean {\n return this._element.invalid || false;\n }\n public set invalid(value: boolean) {\n this._element.invalid = value;\n }\n\n public get inputElement(): HTMLInputElement {\n return this._inputElement;\n }\n\n public get labelElement(): HTMLLabelElement | undefined {\n return this._labelElement;\n }\n\n public onChange(listener: (value: string) => void): void {\n this._inputElement.addEventListener('input', evt => listener((evt.target as HTMLInputElement).value));\n }\n\n public onFocus(listener: (evt: Event) => void): void {\n this._inputElement.addEventListener('focus', evt => listener(evt));\n }\n\n public onBlur(listener: (evt: Event) => void): void {\n this._inputElement.addEventListener('blur', evt => listener(evt));\n }\n\n public setLabel(text: string | null): void {\n if (text) {\n if (this._labelElement) {\n this._labelElement.textContent = text;\n } else {\n this._createLabel(text);\n }\n } else if (this._labelElement) {\n this._element.removeChild(this._labelElement);\n this._labelElement = undefined;\n }\n }\n\n public setHelperText(text: string | null): void {\n if (text) {\n if (!this._helperTextElement) {\n this._helperTextElement = document.createElement('span');\n this._helperTextElement.slot = 'helper-text';\n this._element.appendChild(this._helperTextElement);\n }\n this._helperTextElement.textContent = text;\n } else if (this._helperTextElement) {\n this._element.removeChild(this._helperTextElement);\n this._helperTextElement = undefined;\n }\n }\n\n public floatLabel(value: boolean): void {\n this._element.floatLabel = value;\n }\n\n private _createLabel(text: string): void {\n this._labelElement = document.createElement('label');\n this._labelElement.textContent = text;\n if (this._config.options?.id) {\n this._labelElement.setAttribute('for', this._config.options.id);\n }\n this._element.appendChild(this._labelElement);\n }\n\n private _buildInputElement(chipField: IChipFieldComponent): HTMLInputElement {\n const inputElement = document.createElement('input');\n inputElement.type = this._config.options?.type || 'text';\n\n if (this._config.options?.value !== undefined) {\n inputElement.value = this._config.options.value;\n }\n if (this._config.options?.id) {\n inputElement.id = this._config.options.id;\n }\n if (typeof this._config.options?.placeholder === 'string') {\n inputElement.placeholder = this._config.options?.placeholder;\n }\n\n chipField.appendChild(inputElement);\n return inputElement;\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ChipFieldComponent } from './chip-field';\n\nexport * from './chip-field-adapter';\nexport * from './chip-field-component-delegate';\nexport * from './chip-field-constants';\nexport * from './chip-field-foundation';\nexport * from './chip-field';\n\nexport function defineChipFieldComponent(): void {\n defineCustomElement(ChipFieldComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "selectors", "classes", "events", "observedInputAttributes", "tagNames", "CHIP_FIELD_CONSTANTS", "ChipFieldAdapter", "BaseFieldAdapter", "component", "getShadowElement", "FIELD_CONSTANTS", "CHIP_FIELD_CONSTANTS", "_a", "type", "listener", "options", "context", "listenOwnProperty", "value", "toggleAttribute", "force", "slot", "_b", "assignedElements", "el", "mutations", "mutation", "attribute", "attributeName", "elements", "forgeLabel", "LABEL_CONSTANTS", "label", "id", "randomChars", "className", "ChipFieldFoundation", "BaseFieldFoundation", "adapter", "event", "input", "evt", "_evt", "target", "CHIP_FIELD_CONSTANTS", "x", "name", "value", "key", "members", "i", "member", "nextMember", "previousMember", "el", "_a", "cleanInputValue", "memberToRemove", "template", "styles", "ChipFieldComponent", "BaseField", "attachShadowTemplate", "ChipFieldFoundation", "ChipFieldAdapter", "BASE_FIELD_CONSTANTS", "CHIP_FIELD_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "FieldComponent", "ChipComponent", "ChipFieldComponentDelegate", "FormFieldComponentDelegate", "config", "_a", "_b", "chipField", "CHIP_FIELD_CONSTANTS", "value", "listener", "evt", "text", "_c", "_d", "_e", "inputElement", "defineChipFieldComponent", "defineCustomElement", "ChipFieldComponent"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as N}from"./chunk.AGLI4WR4.js";import{e as F,h as V,j as B}from"./chunk.7AAICE77.js";import{c as x}from"./chunk.2GUWHBUU.js";import{a as P,b as m}from"./chunk.O5WAQQNR.js";import{c as k}from"./chunk.USTVZ6MZ.js";import{d as w}from"./chunk.RLQB7224.js";import{d as A}from"./chunk.T7NWP7DB.js";import{a as p}from"./chunk.NVUMRW44.js";import{a as D}from"./chunk.OLFOVKQG.js";import{a as y,b as T,d as S}from"./chunk.VRSPT7WX.js";import{a as L,e as C}from"./chunk.LNTTU2GL.js";import{k as M}from"./chunk.L4QSPQDE.js";import{a as g,b as O,i as I,k as _}from"./chunk.J2M2MXP2.js";import{a as c,b,d as a}from"./chunk.M3QDAYD2.js";var l=`${T}menu`,H={POPUP:"forge-menu__popup",MENU:"mdc-menu"},K={TOGGLE:`.${l}__toggle,[${l}-toggle],forge-button,forge-icon-button,forge-fab,button,[type=button],[role=button],a,[tabindex]:not([tabindex^="-"])`,MENU_LIST:"forge-list"},G={OPEN:"open",PLACEMENT:"placement",SELECTED_INDEX:"selected-index",SELECTED_VALUE:"selected-value",DENSE:"dense",ICON_CLASS:"icon-class",PERSIST_SELECTION:"persist-selection",MODE:"mode",SYNC_POPUP_WIDTH:"sync-popup-width",POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold"},U={SELECT:`${l}-select`,OPEN:`${l}-open`,CLOSE:`${l}-close`,ACTIVE_CHANGE:`${l}-active-change`},R={CHILD_MOUSE_LEAVE_TIMEOUT:300,POPUP_MOUSE_LEAVE_TIMEOUT:500},i={elementName:l,classes:H,selectors:K,attributes:G,events:U,numbers:R};var u=class extends D{constructor(e){super(e);this._childMenus=new Map}getDropdownElement(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.dropdownElement)!=null?t:null}hasTargetElement(){return!!this._targetElement}initializeTarget(){this._targetElement=this._component.querySelector(i.selectors.TOGGLE),this._targetElement||(this._targetElement=this._component.firstElementChild)}initializeAccessibility(e){this._targetElement&&(this._targetElement.setAttribute("aria-atomic","true"),this._targetElement.setAttribute("aria-live","assertive"),this._targetElement.setAttribute("aria-haspopup","true"),this._targetElement.setAttribute("aria-expanded","false"),this._targetElement.hasAttribute("aria-label")||this._targetElement.setAttribute("aria-label",this._targetElement.textContent||""))}addTargetListener(e,t,n=!1){this._targetElement&&this._targetElement.addEventListener(e,t,n)}removeTargetListener(e,t){this._targetElement&&this._targetElement.removeEventListener(e,t)}attachMenu(e){this._listDropdown||!this._targetElement||(this._listDropdown=new V(this._targetElement,e),this._listDropdown.open(),this._targetElement.setAttribute("aria-expanded","true"),this._targetElement.setAttribute("aria-controls",`list-dropdown-popup-${e.id}`))}setOptions(e){this._listDropdown&&this._listDropdown.setOptions(e)}destroyListDropdown(){this._listDropdown&&(this._listDropdown.destroy(),this._listDropdown=void 0)}async detachMenu(){this._targetElement&&(this._targetElement.removeAttribute("aria-activedescendant"),this._targetElement.removeAttribute("aria-expanded"),this._targetElement.removeAttribute("aria-controls")),this._listDropdown&&(await this._listDropdown.close(),this._listDropdown.destroy(),this._listDropdown=void 0)}setActiveOption(e){var t;(t=this._listDropdown)==null||t.activateOption(e)}activateFirstOption(){var e;(e=this._listDropdown)==null||e.activateFirstOption()}setCascadeTargetInactive(){let e=this._targetElement;e!=null&&e.active&&(e.active=!1)}getActiveOptionIndex(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.getActiveOptionIndex())!=null?t:-1}focusTarget(){this._targetElement&&this._targetElement.focus()}isTargetFocused(){return document.activeElement===this._targetElement}updateActiveDescendant(e){this._targetElement&&(e?this._targetElement.setAttribute("aria-activedescendant",e):this._targetElement.removeAttribute("aria-activedescendant"))}addDropdownListener(e,t){!this._listDropdown||!this._listDropdown.dropdownElement||this._listDropdown.dropdownElement.addEventListener(e,t)}isOwnElement(e){return!this._targetElement||!this._listDropdown||!this._listDropdown.dropdownElement?!1:this._targetElement.contains(e)||!!this._listDropdown.dropdownElement.contains(e)}propagateKey(e){var t;(t=this._listDropdown)==null||t.handleKey(e)}proxyKeyboardEventToChild(e,t){if(!this.getDropdownElement())return;let n=this._getOpenChildMenu(t);n&&n.propagateKeyEvent(e)}toggleChildMenu(e,t){let r=this._getListItems()[e].parentElement;r&&r.tagName.toLowerCase()===i.elementName&&(t===void 0?r.open=!r.open:r.open=t,r.activateFirstOption())}createChildMenu(e,t,n,o,r){let d=document.createElement("forge-menu");return d.style.display="block",d.addEventListener(i.events.OPEN,()=>{this._childMenus.set(e,d),n(e)}),d.addEventListener(i.events.CLOSE,()=>{this._childMenus.delete(e),o(e)}),d.addEventListener(i.events.SELECT,E=>{E.stopPropagation(),r(b(c({},E.detail),{parentValue:t}))}),d}closeOtherChildMenus(e){let t=[];this._childMenus.forEach((n,o)=>{o!==e&&(n.open=!1,t.push(o))}),t.forEach(n=>this._childMenus.delete(n))}setSelectedValues(e){var t;(t=this._listDropdown)==null||t.setSelectedValues(e)}_getOpenChildMenu(e){if(!this.getDropdownElement())return null;let t=this._getOwnList(e);return t?t.querySelector(`${i.elementName}[${i.attributes.OPEN}]`):null}_getOwnList(e){let t=this.getDropdownElement();return t?t.querySelector(`${m.elementName}[id="list-dropdown-list-${e}"]`):null}_getListItems(){let e=this.getDropdownElement();if(!e)return[];let t=e.querySelector(m.elementName);return t?Array.from(t.querySelectorAll(P.elementName)):[]}};var h=class extends B{constructor(e){super({popupTimeout:i.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,targetTimeout:i.numbers.CHILD_MOUSE_LEAVE_TIMEOUT});this._adapter=e;this._placement="bottom-start";this._fallbackPlacements=[];this._dense=!1;this._iconClass=S;this._persistSelection=!1;this._mode="click";this._identifier=g(),this._clickListener=t=>this._onTargetClick(t),this._blurListener=t=>this._onTargetBlur(t),this._selectListener=t=>this._handleSelectEvent(t),this._keydownListener=t=>this.onKeydown(t),this._activeChangeListener=t=>this._onActiveOptionChanged(t)}initialize(){this._adapter.initializeTarget(),this._adapter.initializeAccessibility(this._identifier),this._initializeInteractionListeners()}disconnect(){this._closeMenu({destroy:!0}),this._destroyInteractionListeners()}activateFirstOption(){this._adapter.activateFirstOption()}_applyMode(){this._adapter.hasTargetElement()&&(this._mode!=="cascade"?this._adapter.addTargetListener("click",this._clickListener):this._attachCascadingListeners())}_initializeInteractionListeners(){this._adapter.hasTargetElement()&&(this._applyMode(),this._adapter.addTargetListener("keydown",this._keydownListener,!0),this._adapter.addTargetListener("focusout",this._blurListener))}_destroyInteractionListeners(){this._adapter.hasTargetElement()&&(this._adapter.removeTargetListener("keydown",this._clickListener),this._adapter.removeTargetListener("focusout",this._blurListener),this._adapter.removeTargetListener("click",this._clickListener),this._detachCascadingListeners())}_attachCascadingListeners(){this._adapter.addTargetListener("mouseenter",this._targetMouseEnterListener),this._adapter.addTargetListener("mouseleave",this._targetMouseLeaveListener),this._adapter.addDocumentListener("mousemove",this._documentMouseMoveListener)}_detachCascadingListeners(){this._adapter.removeTargetListener("mouseenter",this._targetMouseEnterListener),this._adapter.removeTargetListener("mouseleave",this._targetMouseLeaveListener),this._adapter.removeDocumentListener("mousemove",this._documentMouseMoveListener)}get _nonDividerOptions(){return this._flatOptions.filter(e=>!e.divider)}get _flatOptions(){return this._flattenOptions(this._options)}_flattenOptions(e){return F(e,1)?e.reduce((t,n)=>n.options?t.concat(n.options):t,[]):e}_onTargetClick(e){if(this._open){this._closeDropdown();return}this.open=!this._open,this._open&&this._adapter.focusTarget()}_onTargetBlur(e){this._open&&this._closeDropdown()}_onActiveOptionChanged(e){let t={id:e},n=this._adapter.emitHostEvent(i.events.ACTIVE_CHANGE,t,!0,!0);this._mode!=="cascade"&&n&&this._adapter.updateActiveDescendant(e)}onKeydown(e){if(this._childOpen){this._adapter.proxyKeyboardEventToChild(e,this._identifier);return}switch(e.code){case"Tab":this._open&&this._selectActiveOption();break;case"Escape":this._open&&(e.preventDefault(),e.stopPropagation(),this._closeDropdown());break;case"Space":e.preventDefault(),this._open?this._closeDropdown():this._openDropdown({fromKeyboard:!0});break;case"Home":case"End":this._open&&(e.preventDefault(),this._adapter.propagateKey(e.code));break;case"Enter":if(e.preventDefault(),!this._open){e.preventDefault(),this._openDropdown({fromKeyboard:!0});return}e.stopImmediatePropagation(),this._adapter.propagateKey(e.code);let t=this._adapter.getActiveOptionIndex(),n=this._nonDividerOptions[t];n&&n.options&&n.options.length&&this._adapter.toggleChildMenu(t);break;case"ArrowUp":case"ArrowDown":if(this._open&&e.stopImmediatePropagation(),e.preventDefault(),!this._open&&e.code==="ArrowDown"){this._openDropdown({fromKeyboard:!0}),this._adapter.activateFirstOption();return}this._adapter.propagateKey(e.code);break;case"ArrowLeft":this._open&&e.stopImmediatePropagation(),this._mode==="cascade"&&this._open&&this._closeDropdown();break;case"ArrowRight":if(this._open&&e.stopImmediatePropagation(),!this._open)return;let o=this._adapter.getActiveOptionIndex(),r=this._nonDividerOptions[o];if(r&&r.options){this._adapter.toggleChildMenu(o,e.code==="ArrowRight");return}break}}async _openMenu({fromKeyboard:e}={}){this._open=!0;let t=[];if(typeof this._optionsFactory=="function")this._loadOptionsAsync(),this._options=[];else{if(!this._options||!this._options.length)return;t=this._options}this._persistSelection||t.forEach(r=>r.selected=!1),this._mapIconToLeadingIcon();let n=this._persistSelection?this._getSelectedValues():[],o={id:this._identifier,type:"menu",options:this._options,selectedValues:n,iconClass:this._iconClass,dense:this._dense,multiple:!1,popupStatic:!0,allowBusy:!0,asyncStyle:"spinner",optionBuilder:this._optionBuilder,optionLimit:this._optionLimit,headerBuilder:this._popupHeaderBuilder,footerBuilder:this._popupFooterBuilder,observeScroll:this._observeScroll,observeScrollThreshold:this._observeScrollThreshold,popupPlacement:this._placement,popupFallbackPlacements:this._fallbackPlacements,activeStartIndex:e?0:void 0,popupClasses:[i.classes.POPUP,i.classes.MENU,...this._popupClasses],syncWidth:this._syncPopupWidth,activeChangeCallback:this._activeChangeListener,selectCallback:this._selectListener,popupOffset:this._popupOffset,cascadingElementFactory:r=>this._createCascadingElement(r)};this._adapter.setHostAttribute(i.attributes.OPEN,""),this._adapter.attachMenu(o),this._mode==="cascade"&&(this._adapter.addDropdownListener("mouseenter",this._childPopupMouseEnterListener),this._adapter.addDropdownListener("mouseleave",this._childPopupMouseLeaveListener)),this._adapter.addDropdownListener(i.events.ACTIVE_CHANGE,r=>{this._onActiveOptionChanged(r.detail.id)}),this._adapter.emitHostEvent(i.events.OPEN)}_closeMenu({destroy:e=!1}={}){this._open=!1,this._childOpen=!1,e?this._adapter.destroyListDropdown():this._adapter.detachMenu(),this._activeMouseLeaveTimeout!==void 0&&window.clearTimeout(this._activeMouseLeaveTimeout),this._adapter.removeHostAttribute(i.attributes.OPEN),this._adapter.emitHostEvent(i.events.CLOSE)}_loadOptionsAsync(){return this._optionsFactory?Promise.resolve(this._optionsFactory()).then(e=>{if(this._persistSelection||this._flattenOptions(e).filter(n=>n.selected).forEach(n=>n.selected=!1),this._open)if(e&&I(e)&&e.length){this._options=e,this._mapIconToLeadingIcon(),this._adapter.setOptions(e);let t=this._getSelectedValues();t.length&&this._adapter.setSelectedValues(t)}else this._open&&this._closeDropdown()}).catch(e=>{console.error("An unexpected error ocurred while opening the menu:",e),this._open&&this._closeDropdown()}):(this._open&&this._closeMenu(),Promise.resolve())}_handleSelectEvent(e){let t=this._nonDividerOptions.findIndex(n=>n.value===e);t<0||this._selectOptionByIndex(t)}_selectActiveOption(){let e=this._adapter.getActiveOptionIndex();e>=0&&this._nonDividerOptions[e]&&this._selectOptionByIndex(e)}_selectOptionByIndex(e){let{options:t,value:n}=this._nonDividerOptions[e];if(t){this._adapter.setActiveOption(e);return}this._closeDropdown();let o={index:e,value:n};!this._adapter.emitHostEvent(i.events.SELECT,o,!0,!0)||(this._selectedValue=this._persistSelection?n:void 0)}_getSelectedValues(){let e=this._flatOptions.filter(t=>t.selected).map(t=>t.value);return this._selectedValue!==void 0&&e.push(this._selectedValue),e}_onCascadingOptionSelected(e){this._persistSelection&&(this._selectedValue=e.value),this._adapter.emitHostEvent(i.events.SELECT,e),this._closeDropdown()}_onCascadingChildOpen(e){super._clearMouseLeaveTimeout(),this._adapter.closeOtherChildMenus(e),this._childOpen=!0,this._adapter.setActiveOption(e)}_onCascadingChildClose(e){this._childOpen=!1}_closeDropdown(){this._closeMenu()}_openDropdown({fromKeyboard:e}={}){this._openMenu({fromKeyboard:e})}_setCascadeTargetInactive(){this._adapter.setCascadeTargetInactive()}_isOwnElement(e){return this._adapter.isOwnElement(e)}_createCascadingElement({index:e,options:t,parentValue:n}){let o=this._adapter.createChildMenu(e,n,this._onCascadingChildOpen.bind(this),this._onCascadingChildClose.bind(this),this._onCascadingOptionSelected.bind(this));return o.mode="cascade",o.popupOffset={mainAxis:0,crossAxis:-8},o.dense=this._dense,o.placement="right-start",o.fallbackPlacements=["left-start","right-start"],o.persistSelection=this._persistSelection,this._persistSelection&&(o.selectedValue=this._selectedValue),o.options=t,o.optionBuilder=this._optionBuilder,o.iconClass=this._iconClass,o}_mapIconToLeadingIcon(){this._flatOptions.filter(e=>e.icon).forEach(e=>e.leadingIcon=e.icon)}get open(){return this._open}set open(e){e=!!e,this._open!==e&&(this._open=e,e?this._openDropdown():this._closeDropdown())}set options(e){if(typeof e=="function")this.optionsFactory=e;else if(this.optionsFactory=void 0,this._options=e.map(t=>c({},t)),this._open&&(this._mapIconToLeadingIcon(),this._adapter.setOptions(this._options),this._persistSelection)){let t=this._getSelectedValues();t.length&&this._adapter.setSelectedValues(t)}}get options(){return this._options?this._flatOptions.map(e=>c({},e)):[]}set optionsFactory(e){this._optionsFactory=e}set selectedIndex(e){let t=this._nonDividerOptions[e];t&&t.value!==this._selectedValue&&(this.selectedValue=t.value)}get selectedIndex(){return this._selectedValue!==void 0?this._nonDividerOptions.findIndex(e=>e.value===this._selectedValue):-1}set selectedValue(e){this._selectedValue!==e&&(this._selectedValue=e,this._adapter.setSelectedValues(this._selectedValue))}get selectedValue(){return this._selectedValue}get placement(){return this._placement}set placement(e){this._placement!==e&&(this._placement=e||"bottom-start",this._adapter.setHostAttribute(i.attributes.PLACEMENT,this._placement))}get fallbackPlacements(){return this._fallbackPlacements}set fallbackPlacements(e){this._fallbackPlacements=Array.isArray(e)?e:[]}get dense(){return this._dense}set dense(e){this._dense=e}get iconClass(){return this._iconClass}set iconClass(e){this._iconClass=e}get persistSelection(){return this._persistSelection}set persistSelection(e){this._persistSelection!==e&&(this._persistSelection=e,this._adapter.toggleHostAttribute(i.attributes.PERSIST_SELECTION,this._persistSelection),this._persistSelection||(this._flatOptions.forEach(t=>t.selected=!1),this._selectedValue=void 0))}get mode(){return this._mode}set mode(e){this._mode!==e&&(this._mode=e,this._destroyInteractionListeners(),this._applyMode(),this._adapter.setHostAttribute(i.attributes.MODE,this._mode))}get popupOffset(){return this._popupOffset}set popupOffset(e){this._popupOffset=e}get optionBuilder(){return this._optionBuilder}set optionBuilder(e){this._optionBuilder=e}get popupElement(){return this._adapter.getDropdownElement()}};var $="<template><slot></slot></template>",z=":host{display:-webkit-inline-box;display:inline-flex}:host([hidden]){display:none}",s=class extends N{constructor(){super();A.define(w),this._foundation=new h(new u(this)),C(this,$,z)}static get observedAttributes(){return[i.attributes.OPEN,i.attributes.PLACEMENT,i.attributes.SELECTED_INDEX,i.attributes.SELECTED_VALUE,i.attributes.DENSE,i.attributes.ICON_CLASS,i.attributes.PERSIST_SELECTION,i.attributes.MODE,i.attributes.SYNC_POPUP_WIDTH,i.attributes.POPUP_CLASSES,i.attributes.OPTION_LIMIT,i.attributes.OBSERVE_SCROLL,i.attributes.OBSERVE_SCROLL_THRESHOLD]}connectedCallback(){this.querySelector(i.selectors.TOGGLE)?this._foundation.initialize():M(this,i.selectors.TOGGLE).then(()=>this._foundation.initialize())}attributeChangedCallback(e,t,n){switch(super.attributeChangedCallback(e,t,n),e){case i.attributes.OPEN:this._foundation.open=O(n);break;case i.attributes.PLACEMENT:this._foundation.placement=n;break;case i.attributes.SELECTED_INDEX:this._foundation.selectedIndex=Number(n);break;case i.attributes.SELECTED_VALUE:this._foundation.selectedValue=n;break;case i.attributes.DENSE:this._foundation.dense=_(n);break;case i.attributes.ICON_CLASS:this._foundation.iconClass=n;break;case i.attributes.PERSIST_SELECTION:this.persistSelection=_(n);break;case i.attributes.MODE:this.mode=n;break}}disconnectedCallback(){this._foundation.disconnect()}propagateKeyEvent(e){this._foundation.onKeydown(e)}activateFirstOption(){this._foundation.activateFirstOption()}};a([p()],s.prototype,"open",2),a([p()],s.prototype,"options",2),a([p()],s.prototype,"selectedIndex",2),a([p()],s.prototype,"selectedValue",2),a([p()],s.prototype,"placement",2),a([p()],s.prototype,"fallbackPlacements",2),a([p()],s.prototype,"dense",2),a([p()],s.prototype,"iconClass",2),a([p()],s.prototype,"persistSelection",2),a([p()],s.prototype,"mode",2),a([p()],s.prototype,"popupOffset",2),a([p()],s.prototype,"optionBuilder",2),a([p({set:!1})],s.prototype,"popupElement",2),s=a([y({name:i.elementName,dependencies:[k,x]})],s);function We(){L(s)}export{i as a,u as b,h as c,s as d,We as e};
7
+ //# sourceMappingURL=chunk.YNCTSMT6.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/menu/menu-constants.ts", "../../src/menu/menu-adapter.ts", "../../src/menu/menu-foundation.ts", "../../src/menu/menu.ts", "../../src/menu/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { IListDropdownOption, IListDropdownOptionGroup } from '../list-dropdown';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}menu`;\n\nconst classes = {\n POPUP: 'forge-menu__popup',\n MENU: 'mdc-menu'\n};\n\nconst selectors = {\n TOGGLE: `.${elementName}__toggle,[${elementName}-toggle],forge-button,forge-icon-button,forge-fab,button,[type=button],[role=button],a,[tabindex]:not([tabindex^=\"-\"])`,\n MENU_LIST: 'forge-list'\n};\n\nconst attributes = {\n OPEN: 'open',\n PLACEMENT: 'placement',\n SELECTED_INDEX: 'selected-index',\n SELECTED_VALUE: 'selected-value',\n DENSE: 'dense',\n ICON_CLASS: 'icon-class',\n PERSIST_SELECTION: 'persist-selection',\n MODE: 'mode',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SELECT: `${elementName}-select`,\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n ACTIVE_CHANGE: `${elementName}-active-change`\n};\n\nconst numbers = {\n CHILD_MOUSE_LEAVE_TIMEOUT: 300,\n POPUP_MOUSE_LEAVE_TIMEOUT: 500\n};\n\nexport const MENU_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers\n};\n\nexport interface IMenuSelectEventData<T = any, K = any> {\n index: number;\n value?: T;\n parentValue?: K;\n}\n\nexport interface IMenuActiveChangeEventData {\n id: string;\n}\n\nexport interface IMenuOption<T = any> extends IListDropdownOption<T> {\n icon?: string;\n selected?: boolean;\n}\n\nexport interface IMenuOptionGroup extends IListDropdownOptionGroup {}\n\nexport type MenuOptionBuilder = (option: IMenuOption, parentElement: HTMLElement) => HTMLElement | string | void;\nexport type MenuOptionFactory = (() => Array<IMenuOption | IMenuOptionGroup>) | (() => Promise<Array<IMenuOption | IMenuOptionGroup>>);\nexport type MenuMode = 'click' | 'cascade';\n", "import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IMenuOption } from './index';\nimport { IMenuComponent } from './menu';\nimport { MENU_CONSTANTS, IMenuSelectEventData, IMenuOptionGroup } from './menu-constants';\nimport { IListDropdownConfig, IListDropdown, ListDropdown } from '../list-dropdown';\nimport { IListComponent, IListItemComponent, LIST_CONSTANTS, LIST_ITEM_CONSTANTS } from '../list';\n\nexport interface IMenuAdapter extends IBaseAdapter {\n getDropdownElement(): HTMLElement | null;\n initializeTarget(): void;\n initializeAccessibility(id: string): void;\n hasTargetElement(): boolean;\n addTargetListener(event: string, callback: (event: Event) => void, bubbles?: boolean): void;\n removeTargetListener(event: string, callback: (event: Event) => void): void;\n destroyListDropdown(): void;\n attachMenu(config: IListDropdownConfig): void;\n detachMenu(): Promise<void>;\n setOptions(options: Array<IMenuOption | IMenuOptionGroup>): void;\n getActiveOptionIndex(): number;\n setActiveOption(index: number): void;\n activateFirstOption(): void;\n setCascadeTargetInactive(): void;\n propagateKey(key: string): void;\n proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void;\n toggleChildMenu(index: number, open?: boolean): void;\n focusTarget(): void;\n isTargetFocused(): boolean;\n updateActiveDescendant(id: string): void;\n isOwnElement(element: Element): boolean;\n addDropdownListener(type: string, listener: (evt: any) => void): void;\n createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent;\n closeOtherChildMenus(excludeIndex?: number): void;\n setSelectedValues(values: any[]): void;\n}\n\nexport class MenuAdapter extends BaseAdapter<IMenuComponent> implements IMenuAdapter {\n private _targetElement: HTMLElement | null;\n private _listDropdown?: IListDropdown;\n private _childMenus = new Map<number, IMenuComponent>();\n\n constructor(component: IMenuComponent) {\n super(component);\n }\n\n public getDropdownElement(): HTMLElement | null {\n return this._listDropdown?.dropdownElement ?? null;\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public initializeTarget(): void {\n this._targetElement = this._component.querySelector(MENU_CONSTANTS.selectors.TOGGLE);\n if (!this._targetElement) {\n this._targetElement = this._component.firstElementChild as HTMLElement;\n }\n }\n\n public initializeAccessibility(id: string): void {\n if (!this._targetElement) {\n return;\n }\n\n this._targetElement.setAttribute('aria-atomic', 'true');\n this._targetElement.setAttribute('aria-live', 'assertive');\n this._targetElement.setAttribute('aria-haspopup', 'true');\n this._targetElement.setAttribute('aria-expanded', 'false');\n\n if (!this._targetElement.hasAttribute('aria-label')) {\n this._targetElement.setAttribute('aria-label', this._targetElement.textContent || '');\n }\n }\n\n public addTargetListener(event: string, callback: (event: Event) => void, bubbles = false): void {\n if (this._targetElement) {\n this._targetElement.addEventListener(event, callback, bubbles);\n }\n }\n\n public removeTargetListener(event: string, callback: (event: Event) => void): void {\n if (this._targetElement) {\n this._targetElement.removeEventListener(event, callback);\n }\n }\n\n public attachMenu(config: IListDropdownConfig): void {\n if (this._listDropdown || !this._targetElement) {\n return;\n }\n this._listDropdown = new ListDropdown(this._targetElement as HTMLElement, config);\n this._listDropdown.open();\n this._targetElement.setAttribute('aria-expanded', 'true');\n this._targetElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n }\n\n public setOptions(options: Array<IMenuOption | IMenuOptionGroup>): void {\n if (this._listDropdown) {\n this._listDropdown.setOptions(options);\n }\n }\n\n public destroyListDropdown(): void {\n if (this._listDropdown) {\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public async detachMenu(): Promise<void> {\n if (this._targetElement) {\n this._targetElement.removeAttribute('aria-activedescendant');\n this._targetElement.removeAttribute('aria-expanded');\n this._targetElement.removeAttribute('aria-controls');\n }\n\n if (this._listDropdown) {\n await this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public setCascadeTargetInactive(): void {\n const listItem = this._targetElement as IListItemComponent;\n if (listItem?.active) {\n listItem.active = false;\n }\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public focusTarget(): void {\n if (this._targetElement) {\n this._targetElement.focus();\n }\n }\n\n public isTargetFocused(): boolean {\n return document.activeElement === this._targetElement;\n }\n\n public updateActiveDescendant(id: string): void {\n if (!this._targetElement) {\n return;\n }\n if (id) {\n this._targetElement.setAttribute('aria-activedescendant', id);\n } else {\n this._targetElement.removeAttribute('aria-activedescendant');\n }\n }\n\n public addDropdownListener(type: string, listener: (evt: any) => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n this._listDropdown.dropdownElement.addEventListener(type, listener);\n }\n\n public isOwnElement(el: Element): boolean {\n if (!this._targetElement || !this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._targetElement.contains(el) || !!this._listDropdown.dropdownElement.contains(el);\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void {\n if (!this.getDropdownElement()) {\n return;\n }\n const openMenu = this._getOpenChildMenu(id);\n if (openMenu) {\n openMenu.propagateKeyEvent(evt);\n }\n }\n\n public toggleChildMenu(index: number, open?: boolean): void {\n const listItems = this._getListItems();\n const listItem = listItems[index];\n const childMenu = listItem.parentElement as IMenuComponent;\n if (childMenu && childMenu.tagName.toLowerCase() === MENU_CONSTANTS.elementName) {\n if (open === undefined) {\n childMenu.open = !childMenu.open;\n } else {\n childMenu.open = open;\n }\n childMenu.activateFirstOption();\n }\n }\n\n public createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent {\n const menu = document.createElement('forge-menu');\n menu.style.display = 'block';\n\n // Set listeners to notify the parent menu when anything important happens within a child menu that needs to be propagated to the root menu\n menu.addEventListener(MENU_CONSTANTS.events.OPEN, () => {\n this._childMenus.set(index, menu);\n openCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.CLOSE, () => {\n this._childMenus.delete(index);\n closeCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.SELECT, (evt: CustomEvent<IMenuSelectEventData>) => {\n evt.stopPropagation();\n selectCb({ ...evt.detail, parentValue });\n });\n\n return menu;\n }\n\n public closeOtherChildMenus(excludeIndex?: number): void {\n const menusToRemove: number[] = [];\n this._childMenus.forEach((menu, index) => {\n if (index !== excludeIndex) {\n menu.open = false;\n menusToRemove.push(index);\n }\n });\n menusToRemove.forEach(index => this._childMenus.delete(index));\n }\n\n public setSelectedValues(values: any[]): void {\n this._listDropdown?.setSelectedValues(values);\n }\n\n private _getOpenChildMenu(id: string): IMenuComponent | null {\n if (!this.getDropdownElement()) {\n return null;\n }\n const list = this._getOwnList(id);\n return list ? list.querySelector(`${MENU_CONSTANTS.elementName}[${MENU_CONSTANTS.attributes.OPEN}]`) : null;\n }\n\n private _getOwnList(id: string): IListComponent | null {\n const popup = this.getDropdownElement();\n if (!popup) {\n return null;\n }\n return popup.querySelector(`${LIST_CONSTANTS.elementName}[id=\"list-dropdown-list-${id}\"]`);\n }\n\n private _getListItems(): IListItemComponent[] {\n const popup = this.getDropdownElement();\n if (!popup) {\n return [];\n }\n const listElement = popup.querySelector(LIST_CONSTANTS.elementName);\n if (listElement) {\n return Array.from(listElement.querySelectorAll(LIST_ITEM_CONSTANTS.elementName)) as IListItemComponent[];\n }\n return [];\n }\n}\n", "import { ICustomElementFoundation, isArray, randomChars } from '@tylertech/forge-core';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { PositionPlacement } from '../core/utils/position-utils';\nimport { CascadingListDropdownAwareFoundation, IListDropdownCascadingElementFactoryConfig, IListDropdownConfig, ListDropdownAsyncStyle, ListDropdownType } from '../list-dropdown';\nimport { isListDropdownOptionType, ListDropdownOptionType } from '../list-dropdown/list-dropdown-utils';\nimport type { IOverlayOffset } from '../overlay/overlay-constants';\nimport { IMenuOption } from './index';\nimport { IMenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\n\nexport interface IMenuFoundation extends ICustomElementFoundation {\n initialize(): void;\n disconnect(): void;\n onKeydown(evt: KeyboardEvent): void;\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup>;\n optionsFactory: MenuOptionFactory | undefined;\n selectedIndex: number;\n selectedValue: any;\n placement: PositionPlacement;\n fallbackPlacements: PositionPlacement[];\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IOverlayOffset;\n optionBuilder: MenuOptionBuilder | undefined;\n activateFirstOption(): void;\n}\n\nexport class MenuFoundation extends CascadingListDropdownAwareFoundation<IMenuOption | IMenuOptionGroup> implements IMenuFoundation {\n private _optionsFactory: MenuOptionFactory | undefined;\n private _placement: PositionPlacement = 'bottom-start';\n private _fallbackPlacements: PositionPlacement[] = [];\n private _dense = false;\n private _selectedValue: any;\n private _iconClass = ICON_CLASS_NAME;\n private _persistSelection = false;\n private _mode: MenuMode = 'click';\n private _popupOffset: IOverlayOffset;\n private _optionBuilder: MenuOptionBuilder | undefined;\n private _identifier: string;\n private _clickListener: (evt: MouseEvent) => void;\n private _blurListener: (evt: MouseEvent) => void;\n private _selectListener: (value: any) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _activeChangeListener: (id: string) => void;\n \n constructor(private _adapter: IMenuAdapter) {\n super({\n popupTimeout: MENU_CONSTANTS.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,\n targetTimeout: MENU_CONSTANTS.numbers.CHILD_MOUSE_LEAVE_TIMEOUT\n });\n this._identifier = randomChars();\n this._clickListener = evt => this._onTargetClick(evt);\n this._blurListener = evt => this._onTargetBlur(evt);\n this._selectListener = value => this._handleSelectEvent(value);\n this._keydownListener = evt => this.onKeydown(evt);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n }\n\n public initialize(): void {\n this._adapter.initializeTarget();\n this._adapter.initializeAccessibility(this._identifier);\n this._initializeInteractionListeners();\n }\n\n public disconnect(): void {\n this._closeMenu({ destroy: true });\n this._destroyInteractionListeners();\n }\n\n public activateFirstOption(): void {\n this._adapter.activateFirstOption();\n }\n\n private _applyMode(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n\n if (this._mode !== 'cascade') {\n this._adapter.addTargetListener('click', this._clickListener);\n } else {\n this._attachCascadingListeners();\n }\n }\n\n private _initializeInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._applyMode();\n this._adapter.addTargetListener('keydown', this._keydownListener, true);\n this._adapter.addTargetListener('focusout', this._blurListener);\n }\n\n private _destroyInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._adapter.removeTargetListener('keydown', this._clickListener);\n this._adapter.removeTargetListener('focusout', this._blurListener);\n this._adapter.removeTargetListener('click', this._clickListener);\n this._detachCascadingListeners();\n }\n\n protected _attachCascadingListeners(): void {\n this._adapter.addTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.addTargetListener('mouseleave', this._targetMouseLeaveListener);\n\n // We listen for document mousemove events only to track mouse coords for use when determining\n // if popups should open/close after specific delays\n this._adapter.addDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n protected _detachCascadingListeners(): void {\n this._adapter.removeTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.removeTargetListener('mouseleave', this._targetMouseLeaveListener);\n this._adapter.removeDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n private get _nonDividerOptions(): IMenuOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n private get _flatOptions(): IMenuOption[] {\n return this._flattenOptions(this._options);\n }\n\n private _flattenOptions(options: Array<IMenuOption | IMenuOptionGroup>): IMenuOption[] {\n if (isListDropdownOptionType(options, ListDropdownOptionType.Group)) {\n return (options as IMenuOptionGroup[])\n .reduce((previousValue, currentValue) => {\n return currentValue.options ? previousValue.concat(currentValue.options) : previousValue;\n }, [] as IMenuOption[]);\n }\n return options as IMenuOption[];\n }\n\n private _onTargetClick(evt: MouseEvent): void {\n if (this._open) {\n this._closeDropdown();\n return;\n }\n this.open = !this._open;\n if (this._open) {\n this._adapter.focusTarget();\n }\n }\n\n private _onTargetBlur(evt: Event): void {\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n private _onActiveOptionChanged(id: string): void {\n // We need to dispatch an event when the active descendant changes to propagate that to the proper target element\n const data: IMenuActiveChangeEventData = { id };\n const canSetActiveDescendant = this._adapter.emitHostEvent(MENU_CONSTANTS.events.ACTIVE_CHANGE, data, true, true);\n if (this._mode !== 'cascade' && canSetActiveDescendant) {\n this._adapter.updateActiveDescendant(id);\n }\n }\n\n public onKeydown(evt: KeyboardEvent): void {\n // If we have any child menus open, we need to proxy the keyboard events to those and exit\n if (this._childOpen) {\n this._adapter.proxyKeyboardEventToChild(evt, this._identifier);\n return;\n }\n\n switch (evt.code) {\n case 'Tab':\n if (this._open) {\n this._selectActiveOption();\n }\n break;\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n evt.stopPropagation();\n this._closeDropdown();\n }\n break;\n case 'Space':\n evt.preventDefault();\n\n if (this._open) {\n this._closeDropdown();\n } else {\n this._openDropdown({ fromKeyboard: true });\n }\n break;\n case 'Home':\n case 'End':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateKey(evt.code);\n }\n break;\n case 'Enter':\n evt.preventDefault();\n\n if (!this._open) {\n evt.preventDefault();\n this._openDropdown({ fromKeyboard: true });\n return;\n }\n\n evt.stopImmediatePropagation();\n\n this._adapter.propagateKey(evt.code);\n\n // Check if we need to toggle the child menu open state\n const activeIndex = this._adapter.getActiveOptionIndex();\n const activeOption = this._nonDividerOptions[activeIndex];\n if (activeOption && activeOption.options && activeOption.options.length) {\n this._adapter.toggleChildMenu(activeIndex);\n }\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n\n evt.preventDefault();\n\n if (!this._open && evt.code === 'ArrowDown') {\n this._openDropdown({ fromKeyboard: true });\n this._adapter.activateFirstOption();\n return;\n }\n\n this._adapter.propagateKey(evt.code);\n break;\n case 'ArrowLeft':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (this._mode === 'cascade' && this._open) {\n this._closeDropdown();\n }\n break;\n case 'ArrowRight':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (!this._open) {\n return;\n }\n const hoveredIndex = this._adapter.getActiveOptionIndex();\n const hoveredOption = this._nonDividerOptions[hoveredIndex];\n if (hoveredOption && hoveredOption.options) {\n this._adapter.toggleChildMenu(hoveredIndex, evt.code === 'ArrowRight');\n return;\n }\n break;\n }\n }\n\n private async _openMenu({ fromKeyboard }: { fromKeyboard?: boolean } = {}): Promise<void> {\n this._open = true;\n let options: IMenuOption[] = [];\n\n if (typeof this._optionsFactory === 'function') {\n this._loadOptionsAsync();\n this._options = [];\n } else {\n if (!this._options || !this._options.length) {\n return;\n }\n options = this._options as IMenuOption[];\n }\n\n if (!this._persistSelection) {\n options.forEach(o => o.selected = false);\n }\n\n this._mapIconToLeadingIcon();\n\n const selectedValues = this._persistSelection ? this._getSelectedValues() : [];\n\n const config: IListDropdownConfig = {\n id: this._identifier,\n type: ListDropdownType.Menu,\n options: this._options,\n selectedValues,\n iconClass: this._iconClass,\n dense: this._dense,\n multiple: false,\n popupStatic: true,\n allowBusy: true,\n asyncStyle: ListDropdownAsyncStyle.Spinner,\n optionBuilder: this._optionBuilder,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n popupPlacement: this._placement,\n popupFallbackPlacements: this._fallbackPlacements,\n activeStartIndex: fromKeyboard ? 0 : undefined,\n popupClasses: [\n MENU_CONSTANTS.classes.POPUP,\n MENU_CONSTANTS.classes.MENU,\n ...this._popupClasses as string[]\n ],\n syncWidth: this._syncPopupWidth,\n activeChangeCallback: this._activeChangeListener,\n selectCallback: this._selectListener,\n popupOffset: this._popupOffset,\n cascadingElementFactory: params => this._createCascadingElement(params)\n };\n\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.OPEN, '');\n this._adapter.attachMenu(config);\n\n // If this menu is in a hover mode, we need to listen for mouse enter/leave events to know when the user is hovering over the popup\n if (this._mode === 'cascade') {\n this._adapter.addDropdownListener('mouseenter', this._childPopupMouseEnterListener);\n this._adapter.addDropdownListener('mouseleave', this._childPopupMouseLeaveListener);\n }\n \n this._adapter.addDropdownListener(MENU_CONSTANTS.events.ACTIVE_CHANGE, (evt: CustomEvent<IMenuActiveChangeEventData>) => {\n this._onActiveOptionChanged(evt.detail.id);\n });\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.OPEN);\n }\n\n private _closeMenu({ destroy = false } = {}): void {\n this._open = false;\n this._childOpen = false;\n\n if (destroy) {\n this._adapter.destroyListDropdown();\n } else {\n this._adapter.detachMenu();\n }\n\n if (this._activeMouseLeaveTimeout !== undefined) {\n window.clearTimeout(this._activeMouseLeaveTimeout);\n }\n\n this._adapter.removeHostAttribute(MENU_CONSTANTS.attributes.OPEN);\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.CLOSE);\n }\n\n private _loadOptionsAsync(): Promise<void> {\n if (!this._optionsFactory) {\n if (this._open) {\n this._closeMenu();\n }\n return Promise.resolve();\n }\n\n return Promise.resolve(this._optionsFactory())\n .then(results => {\n if (!this._persistSelection) {\n const flatResults = this._flattenOptions(results);\n flatResults.filter(o => o.selected).forEach(o => o.selected = false);\n }\n\n if (this._open) {\n if (results && isArray(results) && results.length) {\n this._options = results;\n this._mapIconToLeadingIcon();\n this._adapter.setOptions(results);\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n } else if (this._open) {\n this._closeDropdown();\n }\n }\n })\n .catch(e => {\n console.error('An unexpected error ocurred while opening the menu:', e);\n if (this._open) {\n this._closeDropdown();\n }\n });\n }\n\n private _handleSelectEvent(value: any): void {\n const index = this._nonDividerOptions.findIndex(o => o.value === value);\n if (index < 0) {\n return;\n }\n this._selectOptionByIndex(index);\n }\n\n private _selectActiveOption(): void {\n const index = this._adapter.getActiveOptionIndex();\n if (index >= 0 && this._nonDividerOptions[index]) {\n this._selectOptionByIndex(index);\n }\n }\n\n private _selectOptionByIndex(index: number): void {\n const { options, value } = this._nonDividerOptions[index];\n\n // We ignore selections if the option has child options\n if (options) {\n this._adapter.setActiveOption(index);\n return;\n }\n\n this._closeDropdown();\n \n const data: IMenuSelectEventData = { index, value };\n const isCancelled = !this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data, true, true);\n if (!isCancelled) {\n this._selectedValue = this._persistSelection ? value : undefined;\n }\n }\n\n private _getSelectedValues(): any[] {\n const values = this._flatOptions.filter(o => o.selected).map(o => o.value);\n if (this._selectedValue !== undefined) {\n values.push(this._selectedValue);\n }\n return values;\n }\n\n /** Called when a child menu option is selected. */\n protected _onCascadingOptionSelected(data: IMenuSelectEventData): void {\n if (this._persistSelection) {\n this._selectedValue = data.value;\n }\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data);\n this._closeDropdown();\n }\n\n /** Called when a child menu is opened off of one of our menu options. */\n protected _onCascadingChildOpen(index: number): void {\n super._clearMouseLeaveTimeout();\n this._adapter.closeOtherChildMenus(index);\n this._childOpen = true;\n this._adapter.setActiveOption(index);\n }\n\n /** Called when a child menu is closed off of one of our menu options. */\n protected _onCascadingChildClose(index: number): void {\n this._childOpen = false;\n }\n\n protected _closeDropdown(): void {\n this._closeMenu();\n }\n\n protected _openDropdown({ fromKeyboard }: { fromKeyboard?: boolean } = {}): void {\n this._openMenu({ fromKeyboard });\n }\n\n protected _setCascadeTargetInactive(): void {\n this._adapter.setCascadeTargetInactive();\n }\n\n protected _isOwnElement(element: Element): boolean {\n return this._adapter.isOwnElement(element);\n }\n\n private _createCascadingElement({ index, options, parentValue }: IListDropdownCascadingElementFactoryConfig): HTMLElement {\n const menu = this._adapter.createChildMenu(\n index,\n parentValue,\n this._onCascadingChildOpen.bind(this),\n this._onCascadingChildClose.bind(this),\n this._onCascadingOptionSelected.bind(this)\n );\n menu.mode = 'cascade';\n menu.popupOffset = { mainAxis: 0, crossAxis: -8 };\n menu.dense = this._dense;\n menu.placement = 'right-start';\n menu.fallbackPlacements = ['left-start', 'right-start']; // Cascading menus should only fallback to left or right placement if needed\n menu.persistSelection = this._persistSelection;\n if (this._persistSelection) {\n menu.selectedValue = this._selectedValue;\n }\n menu.options = options;\n menu.optionBuilder = this._optionBuilder;\n menu.iconClass = this._iconClass;\n\n return menu;\n }\n\n private _mapIconToLeadingIcon(): void {\n // For backwards compatibility with old API, map the old \"icon\" property to the new \"leadingIcon\" property (if exists)\n this._flatOptions.filter(o => o.icon).forEach(o => o.leadingIcon = o.icon);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n value = Boolean(value);\n if (this._open !== value) {\n this._open = value;\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public set options(options: IMenuOption[]) {\n if (typeof options === 'function') {\n this.optionsFactory = options;\n } else {\n this.optionsFactory = undefined;\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n this._options = options.map(o => ({ ...o }));\n \n if (this._open) {\n this._mapIconToLeadingIcon();\n this._adapter.setOptions(this._options as IMenuOption[]);\n if (this._persistSelection) {\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n }\n }\n }\n }\n public get options(): IMenuOption[] {\n if (!this._options) {\n return [];\n }\n\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n return this._flatOptions.map(o => ({ ...o }));\n }\n\n public set optionsFactory(factory: MenuOptionFactory | undefined) {\n this._optionsFactory = factory;\n }\n\n public set selectedIndex(value: number) {\n const option = this._nonDividerOptions[value];\n if (option && option.value !== this._selectedValue) {\n this.selectedValue = option.value;\n }\n }\n public get selectedIndex(): number {\n return this._selectedValue !== undefined ? this._nonDividerOptions.findIndex(o => o.value === this._selectedValue) : -1;\n }\n\n public set selectedValue(value: any) {\n if (this._selectedValue !== value) {\n this._selectedValue = value;\n this._adapter.setSelectedValues(this._selectedValue);\n }\n }\n public get selectedValue(): any {\n return this._selectedValue;\n }\n\n public get placement(): PositionPlacement {\n return this._placement;\n }\n public set placement(value: PositionPlacement) {\n if (this._placement !== value) {\n this._placement = value || 'bottom-start';\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.PLACEMENT, this._placement);\n }\n }\n\n public get fallbackPlacements(): PositionPlacement[] {\n return this._fallbackPlacements;\n }\n public set fallbackPlacements(value: PositionPlacement[]) {\n this._fallbackPlacements = Array.isArray(value) ? value : [];\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n this._dense = value;\n }\n\n public get iconClass(): string {\n return this._iconClass;\n }\n public set iconClass(value: string) {\n this._iconClass = value;\n }\n\n public get persistSelection(): boolean {\n return this._persistSelection;\n }\n public set persistSelection(value: boolean) {\n if (this._persistSelection === value) {\n return;\n }\n\n this._persistSelection = value;\n this._adapter.toggleHostAttribute(MENU_CONSTANTS.attributes.PERSIST_SELECTION, this._persistSelection);\n\n if (!this._persistSelection) {\n this._flatOptions.forEach(o => o.selected = false);\n this._selectedValue = undefined;\n }\n }\n\n public get mode(): MenuMode {\n return this._mode;\n }\n public set mode(value: MenuMode) {\n if (this._mode !== value) {\n this._mode = value;\n this._destroyInteractionListeners();\n this._applyMode();\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.MODE, this._mode);\n }\n }\n\n public get popupOffset(): IOverlayOffset {\n return this._popupOffset;\n }\n public set popupOffset(value: IOverlayOffset) {\n this._popupOffset = value;\n }\n\n public get optionBuilder(): MenuOptionBuilder | undefined {\n return this._optionBuilder;\n }\n public set optionBuilder(cb: MenuOptionBuilder | undefined) {\n this._optionBuilder = cb;\n }\n\n public get popupElement(): HTMLElement | null {\n return this._adapter.getDropdownElement();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChild, FoundationProperty, isDefined } from '@tylertech/forge-core';\nimport { tylIconArrowRight } from '@tylertech/tyler-icons/standard';\nimport { PositionPlacement } from '../core/utils/position-utils';\nimport { IconRegistry } from '../icon';\nimport { ListComponent } from '../list';\nimport { IListDropdownAware, ListDropdownAware } from '../list-dropdown/list-dropdown-aware';\nimport type { IOverlayOffset } from '../overlay/overlay-constants';\nimport { PopoverComponent } from '../popover';\nimport { MenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOption, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\nimport { MenuFoundation } from './menu-foundation';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:-webkit-inline-box;display:inline-flex}:host([hidden]){display:none}';\n\nexport interface IMenuComponent extends IListDropdownAware {\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n selectedIndex: number;\n selectedValue: number;\n placement: PositionPlacement;\n fallbackPlacements: PositionPlacement[];\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IOverlayOffset;\n optionBuilder: MenuOptionBuilder | undefined;\n popupElement: HTMLElement | undefined;\n propagateKeyEvent(evt: KeyboardEvent): void;\n activateFirstOption(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-menu': IMenuComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-menu-select': CustomEvent<IMenuSelectEventData>;\n 'forge-menu-open': CustomEvent<void>;\n 'forge-menu-close': CustomEvent<void>;\n 'forge-menu-active-change': CustomEvent<IMenuActiveChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-menu>` custom element.\n * \n * @tag forge-menu\n */\n@CustomElement({\n name: MENU_CONSTANTS.elementName,\n dependencies: [\n PopoverComponent,\n ListComponent\n ]\n})\nexport class MenuComponent extends ListDropdownAware implements IMenuComponent {\n public static get observedAttributes(): string[] {\n return [\n MENU_CONSTANTS.attributes.OPEN,\n MENU_CONSTANTS.attributes.PLACEMENT,\n MENU_CONSTANTS.attributes.SELECTED_INDEX,\n MENU_CONSTANTS.attributes.SELECTED_VALUE,\n MENU_CONSTANTS.attributes.DENSE,\n MENU_CONSTANTS.attributes.ICON_CLASS,\n MENU_CONSTANTS.attributes.PERSIST_SELECTION,\n MENU_CONSTANTS.attributes.MODE,\n MENU_CONSTANTS.attributes.SYNC_POPUP_WIDTH,\n MENU_CONSTANTS.attributes.POPUP_CLASSES,\n MENU_CONSTANTS.attributes.OPTION_LIMIT,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD\n ];\n }\n\n private _foundation: MenuFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconArrowRight);\n this._foundation = new MenuFoundation(new MenuAdapter(this));\n attachShadowTemplate(this, template, styles);\n }\n\n public connectedCallback(): void {\n if (this.querySelector(MENU_CONSTANTS.selectors.TOGGLE)) {\n this._foundation.initialize();\n } else {\n ensureChild(this, MENU_CONSTANTS.selectors.TOGGLE).then(() => this._foundation.initialize());\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case MENU_CONSTANTS.attributes.OPEN:\n this._foundation.open = isDefined(newValue);\n break;\n case MENU_CONSTANTS.attributes.PLACEMENT:\n this._foundation.placement = newValue as PositionPlacement;\n break;\n case MENU_CONSTANTS.attributes.SELECTED_INDEX:\n this._foundation.selectedIndex = Number(newValue);\n break;\n case MENU_CONSTANTS.attributes.SELECTED_VALUE:\n this._foundation.selectedValue = newValue;\n break;\n case MENU_CONSTANTS.attributes.DENSE:\n this._foundation.dense = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.ICON_CLASS:\n this._foundation.iconClass = newValue;\n break;\n case MENU_CONSTANTS.attributes.PERSIST_SELECTION:\n this.persistSelection = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.MODE:\n this.mode = newValue as MenuMode;\n break;\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n /** Gets/sets the open state. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Gets/sets the array of options to display in the menu. */\n @FoundationProperty()\n public declare options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n\n /** Gets/sets the selected option to the index. Does not support cascading menus. */\n @FoundationProperty()\n public declare selectedIndex: number;\n\n /** Gets/sets the value of the option to select. */\n @FoundationProperty()\n public declare selectedValue: any;\n\n /** Gets/sets the menu placement (default is bottom-left). */\n @FoundationProperty()\n public declare placement: `${PositionPlacement}`;\n\n /** Gets/sets the fallback menu placement for overriding the default of any side. */\n @FoundationProperty()\n public declare fallbackPlacements: `${PositionPlacement}`[];\n\n /** Gets/sets dense state of the list options used in the menu popup. */\n @FoundationProperty()\n public declare dense: boolean;\n\n /** Gets/sets the class name to use for option icons. */\n @FoundationProperty()\n public declare iconClass: string;\n\n /**\n * Gets/sets whether selection of menu items is persisted.\n * @deprecated Please use `<forge-select-dropdown>` for handling selection states.\n */\n @FoundationProperty()\n public declare persistSelection: boolean;\n\n /** Gets/sets the mode that this menu is using. */\n @FoundationProperty()\n public declare mode: MenuMode;\n\n /** Sets the position adjustment on the internal popup element. */\n @FoundationProperty()\n public declare popupOffset: IOverlayOffset;\n\n /** Sets the callback that will be executed for each option in the dropdown for producing custom option templates. */\n @FoundationProperty()\n public declare optionBuilder: MenuOptionBuilder;\n\n /**\n * Gets the currently active popup element when the dropdown is open.\n * @readonly\n */\n @FoundationProperty({ set: false })\n public declare popupElement: HTMLElement | undefined;\n\n /** Force propagates the key event from another element this component. */\n public propagateKeyEvent(evt: KeyboardEvent): void {\n this._foundation.onKeydown(evt);\n }\n\n public activateFirstOption(): void {\n this._foundation.activateFirstOption();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { MenuComponent } from './menu';\n\nexport * from './menu-adapter';\nexport * from './menu-constants';\nexport * from './menu-foundation';\nexport * from './menu';\n\nexport function defineMenuComponent(): void {\n defineCustomElement(MenuComponent);\n}\n"],
5
+ "mappings": "wnBAGA,IAAMA,EAA2C,GAAGC,QAE9CC,EAAU,CACd,MAAO,oBACP,KAAM,UACR,EAEMC,EAAY,CAChB,OAAQ,IAAIH,cAAwBA,0HACpC,UAAW,YACb,EAEMI,EAAa,CACjB,KAAM,OACN,UAAW,YACX,eAAgB,iBAChB,eAAgB,iBAChB,MAAO,QACP,WAAY,aACZ,kBAAmB,oBACnB,KAAM,OACN,iBAAkB,mBAClB,cAAe,gBACf,aAAc,eACd,eAAgB,iBAChB,yBAA0B,0BAC5B,EAEMC,EAAS,CACb,OAAQ,GAAGL,WACX,KAAM,GAAGA,SACT,MAAO,GAAGA,UACV,cAAe,GAAGA,iBACpB,EAEMM,EAAU,CACd,0BAA2B,IAC3B,0BAA2B,GAC7B,EAEaC,EAAiB,CAC5B,YAAAP,EACA,QAAAE,EACA,UAAAC,EACA,WAAAC,EACA,OAAAC,EACA,QAAAC,CACF,ECfO,IAAME,EAAN,cAA0BC,CAAoD,CAKnF,YAAYC,EAA2B,CACrC,MAAMA,CAAS,EAHjB,KAAQ,YAAc,IAAI,GAI1B,CAEO,oBAAyC,CA5ClD,IAAAC,EAAAC,EA6CI,OAAOA,GAAAD,EAAA,KAAK,gBAAL,YAAAA,EAAoB,kBAApB,KAAAC,EAAuC,IAChD,CAEO,kBAA4B,CACjC,MAAO,CAAC,CAAC,KAAK,cAChB,CAEO,kBAAyB,CAC9B,KAAK,eAAiB,KAAK,WAAW,cAAcC,EAAe,UAAU,MAAM,EAC9E,KAAK,iBACR,KAAK,eAAiB,KAAK,WAAW,kBAE1C,CAEO,wBAAwBC,EAAkB,CAC1C,KAAK,iBAIV,KAAK,eAAe,aAAa,cAAe,MAAM,EACtD,KAAK,eAAe,aAAa,YAAa,WAAW,EACzD,KAAK,eAAe,aAAa,gBAAiB,MAAM,EACxD,KAAK,eAAe,aAAa,gBAAiB,OAAO,EAEpD,KAAK,eAAe,aAAa,YAAY,GAChD,KAAK,eAAe,aAAa,aAAc,KAAK,eAAe,aAAe,EAAE,EAExF,CAEO,kBAAkBC,EAAeC,EAAkCC,EAAU,GAAa,CAC3F,KAAK,gBACP,KAAK,eAAe,iBAAiBF,EAAOC,EAAUC,CAAO,CAEjE,CAEO,qBAAqBF,EAAeC,EAAwC,CAC7E,KAAK,gBACP,KAAK,eAAe,oBAAoBD,EAAOC,CAAQ,CAE3D,CAEO,WAAWE,EAAmC,CAC/C,KAAK,eAAiB,CAAC,KAAK,iBAGhC,KAAK,cAAgB,IAAIC,EAAa,KAAK,eAA+BD,CAAM,EAChF,KAAK,cAAc,KAAK,EACxB,KAAK,eAAe,aAAa,gBAAiB,MAAM,EACxD,KAAK,eAAe,aAAa,gBAAiB,uBAAuBA,EAAO,IAAI,EACtF,CAEO,WAAWE,EAAsD,CAClE,KAAK,eACP,KAAK,cAAc,WAAWA,CAAO,CAEzC,CAEO,qBAA4B,CAC7B,KAAK,gBACP,KAAK,cAAc,QAAQ,EAC3B,KAAK,cAAgB,OAEzB,CAEA,MAAa,YAA4B,CACnC,KAAK,iBACP,KAAK,eAAe,gBAAgB,uBAAuB,EAC3D,KAAK,eAAe,gBAAgB,eAAe,EACnD,KAAK,eAAe,gBAAgB,eAAe,GAGjD,KAAK,gBACP,MAAM,KAAK,cAAc,MAAM,EAC/B,KAAK,cAAc,QAAQ,EAC3B,KAAK,cAAgB,OAEzB,CAEO,gBAAgBC,EAAqB,CA3H9C,IAAAV,GA4HIA,EAAA,KAAK,gBAAL,MAAAA,EAAoB,eAAeU,EACrC,CAEO,qBAA4B,CA/HrC,IAAAV,GAgIIA,EAAA,KAAK,gBAAL,MAAAA,EAAoB,qBACtB,CAEO,0BAAiC,CACtC,IAAMW,EAAW,KAAK,eAClBA,GAAA,MAAAA,EAAU,SACZA,EAAS,OAAS,GAEtB,CAEO,sBAA+B,CA1IxC,IAAAX,EAAAC,EA2II,OAAOA,GAAAD,EAAA,KAAK,gBAAL,YAAAA,EAAoB,yBAApB,KAAAC,EAA8C,EACvD,CAEO,aAAoB,CACrB,KAAK,gBACP,KAAK,eAAe,MAAM,CAE9B,CAEO,iBAA2B,CAChC,OAAO,SAAS,gBAAkB,KAAK,cACzC,CAEO,uBAAuBE,EAAkB,CACzC,KAAK,iBAGNA,EACF,KAAK,eAAe,aAAa,wBAAyBA,CAAE,EAE5D,KAAK,eAAe,gBAAgB,uBAAuB,EAE/D,CAEO,oBAAoBS,EAAcC,EAAoC,CACvE,CAAC,KAAK,eAAiB,CAAC,KAAK,cAAc,iBAG/C,KAAK,cAAc,gBAAgB,iBAAiBD,EAAMC,CAAQ,CACpE,CAEO,aAAaC,EAAsB,CACxC,MAAI,CAAC,KAAK,gBAAkB,CAAC,KAAK,eAAiB,CAAC,KAAK,cAAc,gBAC9D,GAEF,KAAK,eAAe,SAASA,CAAE,GAAK,CAAC,CAAC,KAAK,cAAc,gBAAgB,SAASA,CAAE,CAC7F,CAEO,aAAaC,EAAmB,CAjLzC,IAAAf,GAkLIA,EAAA,KAAK,gBAAL,MAAAA,EAAoB,UAAUe,EAChC,CAEO,0BAA0BC,EAAoBb,EAAkB,CACrE,GAAI,CAAC,KAAK,mBAAmB,EAC3B,OAEF,IAAMc,EAAW,KAAK,kBAAkBd,CAAE,EACtCc,GACFA,EAAS,kBAAkBD,CAAG,CAElC,CAEO,gBAAgBN,EAAeQ,EAAsB,CAG1D,IAAMC,EAFY,KAAK,cAAc,EACVT,CAAK,EACL,cACvBS,GAAaA,EAAU,QAAQ,YAAY,IAAMjB,EAAe,cAC9DgB,IAAS,OACXC,EAAU,KAAO,CAACA,EAAU,KAE5BA,EAAU,KAAOD,EAEnBC,EAAU,oBAAoB,EAElC,CAEO,gBAAgBT,EAAeU,EAAkBC,EAAiCC,EAAkCC,EAAgE,CACzL,IAAMC,EAAO,SAAS,cAAc,YAAY,EAChD,OAAAA,EAAK,MAAM,QAAU,QAGrBA,EAAK,iBAAiBtB,EAAe,OAAO,KAAM,IAAM,CACtD,KAAK,YAAY,IAAIQ,EAAOc,CAAI,EAChCH,EAAOX,CAAK,CACd,CAAC,EACDc,EAAK,iBAAiBtB,EAAe,OAAO,MAAO,IAAM,CACvD,KAAK,YAAY,OAAOQ,CAAK,EAC7BY,EAAQZ,CAAK,CACf,CAAC,EACDc,EAAK,iBAAiBtB,EAAe,OAAO,OAASc,GAA2C,CAC9FA,EAAI,gBAAgB,EACpBO,EAASE,EAAAC,EAAA,GAAKV,EAAI,QAAT,CAAiB,YAAAI,CAAY,EAAC,CACzC,CAAC,EAEMI,CACT,CAEO,qBAAqBG,EAA6B,CACvD,IAAMC,EAA0B,CAAC,EACjC,KAAK,YAAY,QAAQ,CAACJ,EAAMd,IAAU,CACpCA,IAAUiB,IACZH,EAAK,KAAO,GACZI,EAAc,KAAKlB,CAAK,EAE5B,CAAC,EACDkB,EAAc,QAAQlB,GAAS,KAAK,YAAY,OAAOA,CAAK,CAAC,CAC/D,CAEO,kBAAkBmB,EAAqB,CA7OhD,IAAA7B,GA8OIA,EAAA,KAAK,gBAAL,MAAAA,EAAoB,kBAAkB6B,EACxC,CAEQ,kBAAkB1B,EAAmC,CAC3D,GAAI,CAAC,KAAK,mBAAmB,EAC3B,OAAO,KAET,IAAM2B,EAAO,KAAK,YAAY3B,CAAE,EAChC,OAAO2B,EAAOA,EAAK,cAAc,GAAG5B,EAAe,eAAeA,EAAe,WAAW,OAAO,EAAI,IACzG,CAEQ,YAAYC,EAAmC,CACrD,IAAM4B,EAAQ,KAAK,mBAAmB,EACtC,OAAKA,EAGEA,EAAM,cAAc,GAAGC,EAAe,sCAAsC7B,KAAM,EAFhF,IAGX,CAEQ,eAAsC,CAC5C,IAAM4B,EAAQ,KAAK,mBAAmB,EACtC,GAAI,CAACA,EACH,MAAO,CAAC,EAEV,IAAME,EAAcF,EAAM,cAAcC,EAAe,WAAW,EAClE,OAAIC,EACK,MAAM,KAAKA,EAAY,iBAAiBC,EAAoB,WAAW,CAAC,EAE1E,CAAC,CACV,CACF,EC9OO,IAAMC,EAAN,cAA6BC,CAAgG,CAkBlI,YAAoBC,EAAwB,CAC1C,MAAM,CACJ,aAAcC,EAAe,QAAQ,0BACrC,cAAeA,EAAe,QAAQ,yBACxC,CAAC,EAJiB,cAAAD,EAhBpB,KAAQ,WAAgC,eACxC,KAAQ,oBAA2C,CAAC,EACpD,KAAQ,OAAS,GAEjB,KAAQ,WAAaE,EACrB,KAAQ,kBAAoB,GAC5B,KAAQ,MAAkB,QAexB,KAAK,YAAcC,EAAY,EAC/B,KAAK,eAAiBC,GAAO,KAAK,eAAeA,CAAG,EACpD,KAAK,cAAgBA,GAAO,KAAK,cAAcA,CAAG,EAClD,KAAK,gBAAkBC,GAAS,KAAK,mBAAmBA,CAAK,EAC7D,KAAK,iBAAmBD,GAAO,KAAK,UAAUA,CAAG,EACjD,KAAK,sBAAwBE,GAAM,KAAK,uBAAuBA,CAAE,CACnE,CAEO,YAAmB,CACxB,KAAK,SAAS,iBAAiB,EAC/B,KAAK,SAAS,wBAAwB,KAAK,WAAW,EACtD,KAAK,gCAAgC,CACvC,CAEO,YAAmB,CACxB,KAAK,WAAW,CAAE,QAAS,EAAK,CAAC,EACjC,KAAK,6BAA6B,CACpC,CAEO,qBAA4B,CACjC,KAAK,SAAS,oBAAoB,CACpC,CAEQ,YAAmB,CACpB,KAAK,SAAS,iBAAiB,IAIhC,KAAK,QAAU,UACjB,KAAK,SAAS,kBAAkB,QAAS,KAAK,cAAc,EAE5D,KAAK,0BAA0B,EAEnC,CAEQ,iCAAwC,CACzC,KAAK,SAAS,iBAAiB,IAGpC,KAAK,WAAW,EAChB,KAAK,SAAS,kBAAkB,UAAW,KAAK,iBAAkB,EAAI,EACtE,KAAK,SAAS,kBAAkB,WAAY,KAAK,aAAa,EAChE,CAEQ,8BAAqC,CACtC,KAAK,SAAS,iBAAiB,IAGpC,KAAK,SAAS,qBAAqB,UAAW,KAAK,cAAc,EACjE,KAAK,SAAS,qBAAqB,WAAY,KAAK,aAAa,EACjE,KAAK,SAAS,qBAAqB,QAAS,KAAK,cAAc,EAC/D,KAAK,0BAA0B,EACjC,CAEU,2BAAkC,CAC1C,KAAK,SAAS,kBAAkB,aAAc,KAAK,yBAAyB,EAC5E,KAAK,SAAS,kBAAkB,aAAc,KAAK,yBAAyB,EAI5E,KAAK,SAAS,oBAAoB,YAAa,KAAK,0BAA0B,CAChF,CAEU,2BAAkC,CAC1C,KAAK,SAAS,qBAAqB,aAAc,KAAK,yBAAyB,EAC/E,KAAK,SAAS,qBAAqB,aAAc,KAAK,yBAAyB,EAC/E,KAAK,SAAS,uBAAuB,YAAa,KAAK,0BAA0B,CACnF,CAEA,IAAY,oBAAoC,CAC9C,OAAO,KAAK,aAAa,OAAOC,GAAK,CAACA,EAAE,OAAO,CACjD,CAEA,IAAY,cAA8B,CACxC,OAAO,KAAK,gBAAgB,KAAK,QAAQ,CAC3C,CAEQ,gBAAgBC,EAA+D,CACrF,OAAIC,EAAyBD,GAAqC,EACxDA,EACL,OAAO,CAACE,EAAeC,IACfA,EAAa,QAAUD,EAAc,OAAOC,EAAa,OAAO,EAAID,EAC1E,CAAC,CAAkB,EAEnBF,CACT,CAEQ,eAAeJ,EAAuB,CAC5C,GAAI,KAAK,MAAO,CACd,KAAK,eAAe,EACpB,OAEF,KAAK,KAAO,CAAC,KAAK,MACd,KAAK,OACP,KAAK,SAAS,YAAY,CAE9B,CAEQ,cAAcA,EAAkB,CAClC,KAAK,OACP,KAAK,eAAe,CAExB,CAEQ,uBAAuBE,EAAkB,CAE/C,IAAMM,EAAmC,CAAE,GAAAN,CAAG,EACxCO,EAAyB,KAAK,SAAS,cAAcZ,EAAe,OAAO,cAAeW,EAAM,GAAM,EAAI,EAC5G,KAAK,QAAU,WAAaC,GAC9B,KAAK,SAAS,uBAAuBP,CAAE,CAE3C,CAEO,UAAUF,EAA0B,CAEzC,GAAI,KAAK,WAAY,CACnB,KAAK,SAAS,0BAA0BA,EAAK,KAAK,WAAW,EAC7D,OAGF,OAAQA,EAAI,KAAM,CAChB,IAAK,MACC,KAAK,OACP,KAAK,oBAAoB,EAE3B,MACF,IAAK,SACC,KAAK,QACPA,EAAI,eAAe,EACnBA,EAAI,gBAAgB,EACpB,KAAK,eAAe,GAEtB,MACF,IAAK,QACHA,EAAI,eAAe,EAEf,KAAK,MACP,KAAK,eAAe,EAEpB,KAAK,cAAc,CAAE,aAAc,EAAK,CAAC,EAE3C,MACF,IAAK,OACL,IAAK,MACC,KAAK,QACPA,EAAI,eAAe,EACnB,KAAK,SAAS,aAAaA,EAAI,IAAI,GAErC,MACF,IAAK,QAGH,GAFAA,EAAI,eAAe,EAEf,CAAC,KAAK,MAAO,CACfA,EAAI,eAAe,EACnB,KAAK,cAAc,CAAE,aAAc,EAAK,CAAC,EACzC,OAGFA,EAAI,yBAAyB,EAE7B,KAAK,SAAS,aAAaA,EAAI,IAAI,EAGnC,IAAMU,EAAc,KAAK,SAAS,qBAAqB,EACjDC,EAAe,KAAK,mBAAmBD,CAAW,EACpDC,GAAgBA,EAAa,SAAWA,EAAa,QAAQ,QAC/D,KAAK,SAAS,gBAAgBD,CAAW,EAE3C,MACF,IAAK,UACL,IAAK,YAOH,GANI,KAAK,OACPV,EAAI,yBAAyB,EAG/BA,EAAI,eAAe,EAEf,CAAC,KAAK,OAASA,EAAI,OAAS,YAAa,CAC3C,KAAK,cAAc,CAAE,aAAc,EAAK,CAAC,EACzC,KAAK,SAAS,oBAAoB,EAClC,OAGF,KAAK,SAAS,aAAaA,EAAI,IAAI,EACnC,MACF,IAAK,YACC,KAAK,OACPA,EAAI,yBAAyB,EAE3B,KAAK,QAAU,WAAa,KAAK,OACnC,KAAK,eAAe,EAEtB,MACF,IAAK,aAIH,GAHI,KAAK,OACPA,EAAI,yBAAyB,EAE3B,CAAC,KAAK,MACR,OAEF,IAAMY,EAAe,KAAK,SAAS,qBAAqB,EAClDC,EAAgB,KAAK,mBAAmBD,CAAY,EAC1D,GAAIC,GAAiBA,EAAc,QAAS,CAC1C,KAAK,SAAS,gBAAgBD,EAAcZ,EAAI,OAAS,YAAY,EACrE,OAEF,KACJ,CACF,CAEA,MAAc,UAAU,CAAE,aAAAc,CAAa,EAAgC,CAAC,EAAkB,CACxF,KAAK,MAAQ,GACb,IAAIV,EAAyB,CAAC,EAE9B,GAAI,OAAO,KAAK,iBAAoB,WAClC,KAAK,kBAAkB,EACvB,KAAK,SAAW,CAAC,MACZ,CACL,GAAI,CAAC,KAAK,UAAY,CAAC,KAAK,SAAS,OACnC,OAEFA,EAAU,KAAK,SAGZ,KAAK,mBACRA,EAAQ,QAAQD,GAAKA,EAAE,SAAW,EAAK,EAGzC,KAAK,sBAAsB,EAE3B,IAAMY,EAAiB,KAAK,kBAAoB,KAAK,mBAAmB,EAAI,CAAC,EAEvEC,EAA8B,CAClC,GAAI,KAAK,YACT,YACA,QAAS,KAAK,SACd,eAAAD,EACA,UAAW,KAAK,WAChB,MAAO,KAAK,OACZ,SAAU,GACV,YAAa,GACb,UAAW,GACX,qBACA,cAAe,KAAK,eACpB,YAAa,KAAK,aAClB,cAAe,KAAK,oBACpB,cAAe,KAAK,oBACpB,cAAe,KAAK,eACpB,uBAAwB,KAAK,wBAC7B,eAAgB,KAAK,WACrB,wBAAyB,KAAK,oBAC9B,iBAAkBD,EAAe,EAAI,OACrC,aAAc,CACZjB,EAAe,QAAQ,MACvBA,EAAe,QAAQ,KACvB,GAAG,KAAK,aACV,EACA,UAAW,KAAK,gBAChB,qBAAsB,KAAK,sBAC3B,eAAgB,KAAK,gBACrB,YAAa,KAAK,aAClB,wBAAyBoB,GAAU,KAAK,wBAAwBA,CAAM,CACxE,EAEA,KAAK,SAAS,iBAAiBpB,EAAe,WAAW,KAAM,EAAE,EACjE,KAAK,SAAS,WAAWmB,CAAM,EAG3B,KAAK,QAAU,YACjB,KAAK,SAAS,oBAAoB,aAAc,KAAK,6BAA6B,EAClF,KAAK,SAAS,oBAAoB,aAAc,KAAK,6BAA6B,GAGpF,KAAK,SAAS,oBAAoBnB,EAAe,OAAO,cAAgBG,GAAiD,CACvH,KAAK,uBAAuBA,EAAI,OAAO,EAAE,CAC3C,CAAC,EACD,KAAK,SAAS,cAAcH,EAAe,OAAO,IAAI,CACxD,CAEQ,WAAW,CAAE,QAAAqB,EAAU,EAAM,EAAI,CAAC,EAAS,CACjD,KAAK,MAAQ,GACb,KAAK,WAAa,GAEdA,EACF,KAAK,SAAS,oBAAoB,EAElC,KAAK,SAAS,WAAW,EAGvB,KAAK,2BAA6B,QACpC,OAAO,aAAa,KAAK,wBAAwB,EAGnD,KAAK,SAAS,oBAAoBrB,EAAe,WAAW,IAAI,EAChE,KAAK,SAAS,cAAcA,EAAe,OAAO,KAAK,CACzD,CAEQ,mBAAmC,CACzC,OAAK,KAAK,gBAOH,QAAQ,QAAQ,KAAK,gBAAgB,CAAC,EAC1C,KAAKsB,GAAW,CAMf,GALK,KAAK,mBACY,KAAK,gBAAgBA,CAAO,EACpC,OAAOhB,GAAKA,EAAE,QAAQ,EAAE,QAAQA,GAAKA,EAAE,SAAW,EAAK,EAGjE,KAAK,MACP,GAAIgB,GAAWC,EAAQD,CAAO,GAAKA,EAAQ,OAAQ,CACjD,KAAK,SAAWA,EAChB,KAAK,sBAAsB,EAC3B,KAAK,SAAS,WAAWA,CAAO,EAChC,IAAMJ,EAAiB,KAAK,mBAAmB,EAC3CA,EAAe,QACjB,KAAK,SAAS,kBAAkBA,CAAc,OAEvC,KAAK,OACd,KAAK,eAAe,CAG1B,CAAC,EACA,MAAM,GAAK,CACV,QAAQ,MAAM,sDAAuD,CAAC,EAClE,KAAK,OACP,KAAK,eAAe,CAExB,CAAC,GAhCG,KAAK,OACP,KAAK,WAAW,EAEX,QAAQ,QAAQ,EA8B3B,CAEQ,mBAAmBd,EAAkB,CAC3C,IAAMoB,EAAQ,KAAK,mBAAmB,UAAUlB,GAAKA,EAAE,QAAUF,CAAK,EAClEoB,EAAQ,GAGZ,KAAK,qBAAqBA,CAAK,CACjC,CAEQ,qBAA4B,CAClC,IAAMA,EAAQ,KAAK,SAAS,qBAAqB,EAC7CA,GAAS,GAAK,KAAK,mBAAmBA,CAAK,GAC7C,KAAK,qBAAqBA,CAAK,CAEnC,CAEQ,qBAAqBA,EAAqB,CAChD,GAAM,CAAE,QAAAjB,EAAS,MAAAH,CAAM,EAAI,KAAK,mBAAmBoB,CAAK,EAGxD,GAAIjB,EAAS,CACX,KAAK,SAAS,gBAAgBiB,CAAK,EACnC,OAGF,KAAK,eAAe,EAEpB,IAAMb,EAA6B,CAAE,MAAAa,EAAO,MAAApB,CAAM,EAC9B,CAAC,KAAK,SAAS,cAAcJ,EAAe,OAAO,OAAQW,EAAM,GAAM,EAAI,IAE7F,KAAK,eAAiB,KAAK,kBAAoBP,EAAQ,OAE3D,CAEQ,oBAA4B,CAClC,IAAMqB,EAAS,KAAK,aAAa,OAAOnB,GAAKA,EAAE,QAAQ,EAAE,IAAIA,GAAKA,EAAE,KAAK,EACzE,OAAI,KAAK,iBAAmB,QAC1BmB,EAAO,KAAK,KAAK,cAAc,EAE1BA,CACT,CAGU,2BAA2Bd,EAAkC,CACjE,KAAK,oBACP,KAAK,eAAiBA,EAAK,OAE7B,KAAK,SAAS,cAAcX,EAAe,OAAO,OAAQW,CAAI,EAC9D,KAAK,eAAe,CACtB,CAGU,sBAAsBa,EAAqB,CACnD,MAAM,wBAAwB,EAC9B,KAAK,SAAS,qBAAqBA,CAAK,EACxC,KAAK,WAAa,GAClB,KAAK,SAAS,gBAAgBA,CAAK,CACrC,CAGU,uBAAuBA,EAAqB,CACpD,KAAK,WAAa,EACpB,CAEU,gBAAuB,CAC/B,KAAK,WAAW,CAClB,CAEU,cAAc,CAAE,aAAAP,CAAa,EAAgC,CAAC,EAAS,CAC/E,KAAK,UAAU,CAAE,aAAAA,CAAa,CAAC,CACjC,CAEU,2BAAkC,CAC1C,KAAK,SAAS,yBAAyB,CACzC,CAEU,cAAcS,EAA2B,CACjD,OAAO,KAAK,SAAS,aAAaA,CAAO,CAC3C,CAEQ,wBAAwB,CAAE,MAAAF,EAAO,QAAAjB,EAAS,YAAAoB,CAAY,EAA4D,CACxH,IAAMC,EAAO,KAAK,SAAS,gBACzBJ,EACAG,EACA,KAAK,sBAAsB,KAAK,IAAI,EACpC,KAAK,uBAAuB,KAAK,IAAI,EACrC,KAAK,2BAA2B,KAAK,IAAI,CAC3C,EACA,OAAAC,EAAK,KAAO,UACZA,EAAK,YAAc,CAAE,SAAU,EAAG,UAAW,EAAG,EAChDA,EAAK,MAAQ,KAAK,OAClBA,EAAK,UAAY,cACjBA,EAAK,mBAAqB,CAAC,aAAc,aAAa,EACtDA,EAAK,iBAAmB,KAAK,kBACzB,KAAK,oBACPA,EAAK,cAAgB,KAAK,gBAE5BA,EAAK,QAAUrB,EACfqB,EAAK,cAAgB,KAAK,eAC1BA,EAAK,UAAY,KAAK,WAEfA,CACT,CAEQ,uBAA8B,CAEpC,KAAK,aAAa,OAAOtB,GAAKA,EAAE,IAAI,EAAE,QAAQA,GAAKA,EAAE,YAAcA,EAAE,IAAI,CAC3E,CAEA,IAAW,MAAgB,CACzB,OAAO,KAAK,KACd,CACA,IAAW,KAAKF,EAAgB,CAC9BA,EAAQ,EAAQA,EACZ,KAAK,QAAUA,IACjB,KAAK,MAAQA,EACTA,EACF,KAAK,cAAc,EAEnB,KAAK,eAAe,EAG1B,CAEA,IAAW,QAAQG,EAAwB,CACzC,GAAI,OAAOA,GAAY,WACrB,KAAK,eAAiBA,UAEtB,KAAK,eAAiB,OAEtB,KAAK,SAAWA,EAAQ,IAAID,GAAMuB,EAAA,GAAKvB,EAAI,EAEvC,KAAK,QACP,KAAK,sBAAsB,EAC3B,KAAK,SAAS,WAAW,KAAK,QAAyB,EACnD,KAAK,mBAAmB,CAC1B,IAAMY,EAAiB,KAAK,mBAAmB,EAC3CA,EAAe,QACjB,KAAK,SAAS,kBAAkBA,CAAc,EAKxD,CACA,IAAW,SAAyB,CAClC,OAAK,KAAK,SAKH,KAAK,aAAa,IAAIZ,GAAMuB,EAAA,GAAKvB,EAAI,EAJnC,CAAC,CAKZ,CAEA,IAAW,eAAewB,EAAwC,CAChE,KAAK,gBAAkBA,CACzB,CAEA,IAAW,cAAc1B,EAAe,CACtC,IAAM2B,EAAS,KAAK,mBAAmB3B,CAAK,EACxC2B,GAAUA,EAAO,QAAU,KAAK,iBAClC,KAAK,cAAgBA,EAAO,MAEhC,CACA,IAAW,eAAwB,CACjC,OAAO,KAAK,iBAAmB,OAAY,KAAK,mBAAmB,UAAUzB,GAAKA,EAAE,QAAU,KAAK,cAAc,EAAI,EACvH,CAEA,IAAW,cAAcF,EAAY,CAC/B,KAAK,iBAAmBA,IAC1B,KAAK,eAAiBA,EACtB,KAAK,SAAS,kBAAkB,KAAK,cAAc,EAEvD,CACA,IAAW,eAAqB,CAC9B,OAAO,KAAK,cACd,CAEA,IAAW,WAA+B,CACxC,OAAO,KAAK,UACd,CACA,IAAW,UAAUA,EAA0B,CACzC,KAAK,aAAeA,IACtB,KAAK,WAAaA,GAAS,eAC3B,KAAK,SAAS,iBAAiBJ,EAAe,WAAW,UAAW,KAAK,UAAU,EAEvF,CAEA,IAAW,oBAA0C,CACnD,OAAO,KAAK,mBACd,CACA,IAAW,mBAAmBI,EAA4B,CACxD,KAAK,oBAAsB,MAAM,QAAQA,CAAK,EAAIA,EAAQ,CAAC,CAC7D,CAEA,IAAW,OAAiB,CAC1B,OAAO,KAAK,MACd,CACA,IAAW,MAAMA,EAAgB,CAC/B,KAAK,OAASA,CAChB,CAEA,IAAW,WAAoB,CAC7B,OAAO,KAAK,UACd,CACA,IAAW,UAAUA,EAAe,CAClC,KAAK,WAAaA,CACpB,CAEA,IAAW,kBAA4B,CACrC,OAAO,KAAK,iBACd,CACA,IAAW,iBAAiBA,EAAgB,CACtC,KAAK,oBAAsBA,IAI/B,KAAK,kBAAoBA,EACzB,KAAK,SAAS,oBAAoBJ,EAAe,WAAW,kBAAmB,KAAK,iBAAiB,EAEhG,KAAK,oBACR,KAAK,aAAa,QAAQM,GAAKA,EAAE,SAAW,EAAK,EACjD,KAAK,eAAiB,QAE1B,CAEA,IAAW,MAAiB,CAC1B,OAAO,KAAK,KACd,CACA,IAAW,KAAKF,EAAiB,CAC3B,KAAK,QAAUA,IACjB,KAAK,MAAQA,EACb,KAAK,6BAA6B,EAClC,KAAK,WAAW,EAChB,KAAK,SAAS,iBAAiBJ,EAAe,WAAW,KAAM,KAAK,KAAK,EAE7E,CAEA,IAAW,aAA8B,CACvC,OAAO,KAAK,YACd,CACA,IAAW,YAAYI,EAAuB,CAC5C,KAAK,aAAeA,CACtB,CAEA,IAAW,eAA+C,CACxD,OAAO,KAAK,cACd,CACA,IAAW,cAAc4B,EAAmC,CAC1D,KAAK,eAAiBA,CACxB,CAEA,IAAW,cAAmC,CAC5C,OAAO,KAAK,SAAS,mBAAmB,CAC1C,CACF,ECpnBA,IAAMC,EAAW,qCACXC,EAAS,qFA6CFC,EAAN,cAA4BC,CAA4C,CAqB7E,aAAc,CACZ,MAAM,EACNC,EAAa,OAAOC,CAAiB,EACrC,KAAK,YAAc,IAAIC,EAAe,IAAIC,EAAY,IAAI,CAAC,EAC3DC,EAAqB,KAAMR,EAAUC,CAAM,CAC7C,CAzBA,WAAkB,oBAA+B,CAC/C,MAAO,CACLQ,EAAe,WAAW,KAC1BA,EAAe,WAAW,UAC1BA,EAAe,WAAW,eAC1BA,EAAe,WAAW,eAC1BA,EAAe,WAAW,MAC1BA,EAAe,WAAW,WAC1BA,EAAe,WAAW,kBAC1BA,EAAe,WAAW,KAC1BA,EAAe,WAAW,iBAC1BA,EAAe,WAAW,cAC1BA,EAAe,WAAW,aAC1BA,EAAe,WAAW,eAC1BA,EAAe,WAAW,wBAC5B,CACF,CAWO,mBAA0B,CAC3B,KAAK,cAAcA,EAAe,UAAU,MAAM,EACpD,KAAK,YAAY,WAAW,EAE5BC,EAAY,KAAMD,EAAe,UAAU,MAAM,EAAE,KAAK,IAAM,KAAK,YAAY,WAAW,CAAC,CAE/F,CAEO,yBAAyBE,EAAcC,EAAkBC,EAAwB,CAEtF,OADA,MAAM,yBAAyBF,EAAMC,EAAUC,CAAQ,EAC/CF,EAAM,CACZ,KAAKF,EAAe,WAAW,KAC7B,KAAK,YAAY,KAAOK,EAAUD,CAAQ,EAC1C,MACF,KAAKJ,EAAe,WAAW,UAC7B,KAAK,YAAY,UAAYI,EAC7B,MACF,KAAKJ,EAAe,WAAW,eAC7B,KAAK,YAAY,cAAgB,OAAOI,CAAQ,EAChD,MACF,KAAKJ,EAAe,WAAW,eAC7B,KAAK,YAAY,cAAgBI,EACjC,MACF,KAAKJ,EAAe,WAAW,MAC7B,KAAK,YAAY,MAAQM,EAAcF,CAAQ,EAC/C,MACF,KAAKJ,EAAe,WAAW,WAC7B,KAAK,YAAY,UAAYI,EAC7B,MACF,KAAKJ,EAAe,WAAW,kBAC7B,KAAK,iBAAmBM,EAAcF,CAAQ,EAC9C,MACF,KAAKJ,EAAe,WAAW,KAC7B,KAAK,KAAOI,EACZ,KACJ,CACF,CAEO,sBAA6B,CAClC,KAAK,YAAY,WAAW,CAC9B,CA6DO,kBAAkBG,EAA0B,CACjD,KAAK,YAAY,UAAUA,CAAG,CAChC,CAEO,qBAA4B,CACjC,KAAK,YAAY,oBAAoB,CACvC,CACF,EAhEiBC,EAAA,CADdC,EAAmB,GAvEThB,EAwEI,oBAIAe,EAAA,CADdC,EAAmB,GA3EThB,EA4EI,uBAIAe,EAAA,CADdC,EAAmB,GA/EThB,EAgFI,6BAIAe,EAAA,CADdC,EAAmB,GAnFThB,EAoFI,6BAIAe,EAAA,CADdC,EAAmB,GAvFThB,EAwFI,yBAIAe,EAAA,CADdC,EAAmB,GA3FThB,EA4FI,kCAIAe,EAAA,CADdC,EAAmB,GA/FThB,EAgGI,qBAIAe,EAAA,CADdC,EAAmB,GAnGThB,EAoGI,yBAOAe,EAAA,CADdC,EAAmB,GA1GThB,EA2GI,gCAIAe,EAAA,CADdC,EAAmB,GA9GThB,EA+GI,oBAIAe,EAAA,CADdC,EAAmB,GAlHThB,EAmHI,2BAIAe,EAAA,CADdC,EAAmB,GAtHThB,EAuHI,6BAOAe,EAAA,CADdC,EAAmB,CAAE,IAAK,EAAM,CAAC,GA7HvBhB,EA8HI,4BA9HJA,EAANe,EAAA,CAPNE,EAAc,CACb,KAAMV,EAAe,YACrB,aAAc,CACZW,EACAC,CACF,CACF,CAAC,GACYnB,GCjDN,SAASoB,IAA4B,CAC1CC,EAAoBC,CAAa,CACnC",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "selectors", "attributes", "events", "numbers", "MENU_CONSTANTS", "MenuAdapter", "BaseAdapter", "component", "_a", "_b", "MENU_CONSTANTS", "id", "event", "callback", "bubbles", "config", "ListDropdown", "options", "index", "listItem", "type", "listener", "el", "key", "evt", "openMenu", "open", "childMenu", "parentValue", "openCb", "closeCb", "selectCb", "menu", "__spreadProps", "__spreadValues", "excludeIndex", "menusToRemove", "values", "list", "popup", "LIST_CONSTANTS", "listElement", "LIST_ITEM_CONSTANTS", "MenuFoundation", "CascadingListDropdownAwareFoundation", "_adapter", "MENU_CONSTANTS", "ICON_CLASS_NAME", "randomChars", "evt", "value", "id", "o", "options", "isListDropdownOptionType", "previousValue", "currentValue", "data", "canSetActiveDescendant", "activeIndex", "activeOption", "hoveredIndex", "hoveredOption", "fromKeyboard", "selectedValues", "config", "params", "destroy", "results", "isArray", "index", "values", "element", "parentValue", "menu", "__spreadValues", "factory", "option", "cb", "template", "styles", "MenuComponent", "ListDropdownAware", "IconRegistry", "tylIconArrowRight", "MenuFoundation", "MenuAdapter", "attachShadowTemplate", "MENU_CONSTANTS", "ensureChild", "name", "oldValue", "newValue", "isDefined", "coerceBoolean", "evt", "__decorateClass", "FoundationProperty", "CustomElement", "PopoverComponent", "ListComponent", "defineMenuComponent", "defineCustomElement", "MenuComponent"]
7
+ }