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

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 (906) 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.YS5JZHJ6.js → chunk.24SQJBSQ.js} +2 -2
  33. package/dist/esm/chunks/{chunk.PDDBNHVU.js → chunk.2GUWHBUU.js} +2 -2
  34. package/dist/esm/chunks/{chunk.PDDBNHVU.js.map → chunk.2GUWHBUU.js.map} +2 -2
  35. package/dist/esm/chunks/chunk.37B332ZK.js +7 -0
  36. package/dist/esm/chunks/{chunk.SOKORSUV.js.map → chunk.37B332ZK.js.map} +3 -3
  37. package/dist/esm/chunks/chunk.3IUQ4C47.js +7 -0
  38. package/dist/esm/chunks/chunk.3IUQ4C47.js.map +7 -0
  39. package/dist/esm/chunks/{chunk.IZRURH7C.js → chunk.3KAKJGUS.js} +2 -2
  40. package/dist/esm/chunks/chunk.3PMONORO.js +7 -0
  41. package/dist/esm/chunks/chunk.3PMONORO.js.map +7 -0
  42. package/dist/esm/chunks/chunk.473WRJ5G.js +7 -0
  43. package/dist/esm/chunks/chunk.5A665C5E.js +7 -0
  44. package/dist/esm/chunks/chunk.5A665C5E.js.map +7 -0
  45. package/dist/esm/chunks/chunk.5ADUSMC7.js +7 -0
  46. package/dist/esm/chunks/chunk.5ADUSMC7.js.map +7 -0
  47. package/dist/esm/chunks/{chunk.USQEIRST.js → chunk.5MB6CTBA.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.6E5WHIPF.js +7 -0
  52. package/dist/esm/chunks/chunk.6E5WHIPF.js.map +7 -0
  53. package/dist/esm/chunks/{chunk.4NABD6XG.js → chunk.6VS3LYAF.js} +2 -2
  54. package/dist/esm/chunks/chunk.72BKSMAZ.js +7 -0
  55. package/dist/esm/chunks/{chunk.3TIBP6QT.js.map → chunk.72BKSMAZ.js.map} +3 -3
  56. package/dist/esm/chunks/chunk.77C7S7ZS.js +7 -0
  57. package/dist/esm/chunks/chunk.77C7S7ZS.js.map +7 -0
  58. package/dist/esm/chunks/chunk.7AAICE77.js +7 -0
  59. package/dist/esm/chunks/chunk.7AAICE77.js.map +7 -0
  60. package/dist/esm/chunks/chunk.7IPAW4D2.js +7 -0
  61. package/dist/esm/chunks/{chunk.MCR34SZQ.js.map → chunk.7IPAW4D2.js.map} +1 -1
  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.A2NB7CIK.js +7 -0
  65. package/dist/esm/chunks/chunk.A2NB7CIK.js.map +7 -0
  66. package/dist/esm/chunks/{chunk.AOSBUJWW.js → chunk.A7BCLPP4.js} +2 -2
  67. package/dist/esm/chunks/chunk.AFWWND2C.js +7 -0
  68. package/dist/esm/chunks/chunk.AFWWND2C.js.map +7 -0
  69. package/dist/esm/chunks/{chunk.7UBIT4NP.js → chunk.AG6IRMLZ.js} +2 -2
  70. package/dist/esm/chunks/{chunk.A4UH52SA.js → chunk.AGLI4WR4.js} +2 -2
  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.DJSHVUEM.js +18 -0
  86. package/dist/esm/chunks/{chunk.MGLWXAZO.js.map → chunk.DJSHVUEM.js.map} +4 -4
  87. package/dist/esm/chunks/chunk.DKERDHXH.js +7 -0
  88. package/dist/esm/chunks/{chunk.JVWJHSPM.js.map → chunk.DKERDHXH.js.map} +1 -1
  89. package/dist/esm/chunks/chunk.DZJ6HBAG.js +7 -0
  90. package/dist/esm/chunks/chunk.DZJ6HBAG.js.map +7 -0
  91. package/dist/esm/chunks/{chunk.2537XOFQ.js → chunk.E2BE52ME.js} +2 -2
  92. package/dist/esm/chunks/chunk.EHVCEEV2.js +7 -0
  93. package/dist/esm/chunks/chunk.EHVCEEV2.js.map +7 -0
  94. package/dist/esm/chunks/{chunk.UEYPCCFG.js → chunk.ENUKGA2U.js} +2 -2
  95. package/dist/esm/chunks/chunk.EO3GP6DP.js +7 -0
  96. package/dist/esm/chunks/chunk.EO3GP6DP.js.map +7 -0
  97. package/dist/esm/chunks/{chunk.XYBVD3IE.js → chunk.EUJBIOGT.js} +2 -2
  98. package/dist/esm/chunks/{chunk.XYBVD3IE.js.map → chunk.EUJBIOGT.js.map} +2 -2
  99. package/dist/esm/chunks/chunk.FLBYVCQ6.js +7 -0
  100. package/dist/esm/chunks/chunk.FLBYVCQ6.js.map +7 -0
  101. package/dist/esm/chunks/chunk.FLF5RTYO.js +7 -0
  102. package/dist/esm/chunks/chunk.FLF5RTYO.js.map +7 -0
  103. package/dist/esm/chunks/chunk.GBAVJILM.js +7 -0
  104. package/dist/esm/chunks/chunk.GBAVJILM.js.map +7 -0
  105. package/dist/esm/chunks/chunk.GG7IQL46.js +7 -0
  106. package/dist/esm/chunks/{chunk.HBAC6E7O.js.map → chunk.GG7IQL46.js.map} +1 -1
  107. package/dist/esm/chunks/chunk.GIENHEMN.js +7 -0
  108. package/dist/esm/chunks/chunk.GIENHEMN.js.map +7 -0
  109. package/dist/esm/chunks/{chunk.FOSKVNVV.js → chunk.H4VQXV2H.js} +2 -2
  110. package/dist/esm/chunks/{chunk.FOSKVNVV.js.map → chunk.H4VQXV2H.js.map} +2 -2
  111. package/dist/esm/chunks/{chunk.GA6AO6FJ.js → chunk.H5RW3A4M.js} +2 -2
  112. package/dist/esm/chunks/chunk.HG4IDRAC.js +7 -0
  113. package/dist/esm/chunks/chunk.HG4IDRAC.js.map +7 -0
  114. package/dist/esm/chunks/{chunk.CSOKFDFQ.js → chunk.HSADKCGS.js} +2 -2
  115. package/dist/esm/chunks/chunk.I7YON2TC.js +7 -0
  116. package/dist/esm/chunks/chunk.I7YON2TC.js.map +7 -0
  117. package/dist/esm/chunks/chunk.IEABOPNB.js +7 -0
  118. package/dist/esm/chunks/{chunk.22C7GQLX.js → chunk.IL4S57WO.js} +2 -2
  119. package/dist/esm/chunks/{chunk.HMJODLAS.js → chunk.IQYOLMPG.js} +2 -2
  120. package/dist/esm/chunks/chunk.ISLJNJEE.js +7 -0
  121. package/dist/esm/chunks/chunk.ISLJNJEE.js.map +7 -0
  122. package/dist/esm/chunks/{chunk.QG5EYBS3.js → chunk.J2Y5KPON.js} +2 -2
  123. package/dist/esm/chunks/{chunk.QG5EYBS3.js.map → chunk.J2Y5KPON.js.map} +2 -2
  124. package/dist/esm/chunks/{chunk.7IJUN75W.js → chunk.JE5LSPXG.js} +2 -2
  125. package/dist/esm/chunks/{chunk.7IJUN75W.js.map → chunk.JE5LSPXG.js.map} +3 -3
  126. package/dist/esm/chunks/{chunk.GTKYO6VB.js → chunk.JGURMVW7.js} +2 -2
  127. package/dist/esm/chunks/{chunk.YXHMD73U.js → chunk.K6GJNDTY.js} +2 -2
  128. package/dist/esm/chunks/{chunk.QUWEAFGI.js → chunk.KEOLH7G3.js} +2 -2
  129. package/dist/esm/chunks/chunk.KLU54MDQ.js +7 -0
  130. package/dist/esm/chunks/chunk.KLU54MDQ.js.map +7 -0
  131. package/dist/esm/chunks/chunk.KO6ODCZC.js +7 -0
  132. package/dist/esm/chunks/chunk.KO6ODCZC.js.map +7 -0
  133. package/dist/esm/chunks/chunk.KTPEFU7V.js +7 -0
  134. package/dist/esm/chunks/{chunk.5UGN5FYV.js.map → chunk.KTPEFU7V.js.map} +2 -2
  135. package/dist/esm/chunks/chunk.L4QSPQDE.js +7 -0
  136. package/dist/esm/chunks/{chunk.DCCFF327.js.map → chunk.L4QSPQDE.js.map} +2 -2
  137. package/dist/esm/chunks/chunk.LGSCBWNR.js +7 -0
  138. package/dist/esm/chunks/chunk.LGSCBWNR.js.map +7 -0
  139. package/dist/esm/chunks/{chunk.BIQTNLIF.js → chunk.LNTTU2GL.js} +2 -2
  140. package/dist/esm/chunks/chunk.LSMHIVX2.js +7 -0
  141. package/dist/esm/chunks/{chunk.V7ILFIOR.js.map → chunk.LSMHIVX2.js.map} +1 -1
  142. package/dist/esm/chunks/{chunk.2AM2BKEO.js → chunk.MFQRXVKO.js} +2 -2
  143. package/dist/esm/chunks/{chunk.JLSFTWPE.js → chunk.MTIPIEXA.js} +2 -2
  144. package/dist/esm/chunks/chunk.MX4JX4GT.js +7 -0
  145. package/dist/esm/chunks/{chunk.UOD3A7M4.js.map → chunk.MX4JX4GT.js.map} +1 -1
  146. package/dist/esm/chunks/chunk.NEQX2QVX.js +7 -0
  147. package/dist/esm/chunks/chunk.NEQX2QVX.js.map +7 -0
  148. package/dist/esm/chunks/chunk.NWVQ5HK2.js +7 -0
  149. package/dist/esm/chunks/{chunk.BETICEYY.js.map → chunk.NWVQ5HK2.js.map} +2 -2
  150. package/dist/esm/chunks/chunk.O5WAQQNR.js +7 -0
  151. package/dist/esm/chunks/{chunk.ZYKP23JP.js.map → chunk.O5WAQQNR.js.map} +2 -2
  152. package/dist/esm/chunks/{chunk.JSTCCUKZ.js → chunk.OEI35LFU.js} +2 -2
  153. package/dist/esm/chunks/{chunk.6GSVB5NB.js → chunk.OLFOVKQG.js} +2 -2
  154. package/dist/esm/chunks/chunk.OLFOVKQG.js.map +7 -0
  155. package/dist/esm/chunks/{chunk.IWVAI6XM.js → chunk.OOAJHLW4.js} +2 -2
  156. package/dist/esm/chunks/chunk.OOAJHLW4.js.map +7 -0
  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.PFIIBXTS.js +7 -0
  162. package/dist/esm/chunks/chunk.PFIIBXTS.js.map +7 -0
  163. package/dist/esm/chunks/chunk.Q7TBWGKN.js +12 -0
  164. package/dist/esm/chunks/chunk.Q7TBWGKN.js.map +7 -0
  165. package/dist/esm/chunks/chunk.QCPV5DEG.js +7 -0
  166. package/dist/esm/chunks/{chunk.R3AWIPPK.js → chunk.QIZBZGYT.js} +2 -2
  167. package/dist/esm/chunks/{chunk.2XPAYTK4.js → chunk.QKTK5XUE.js} +2 -2
  168. package/dist/esm/chunks/chunk.QLGJS37N.js +7 -0
  169. package/dist/esm/chunks/chunk.QLGJS37N.js.map +7 -0
  170. package/dist/esm/chunks/{chunk.R66CYS27.js → chunk.QTY25OTN.js} +2 -2
  171. package/dist/esm/chunks/chunk.QUXMLWBJ.js +7 -0
  172. package/dist/esm/chunks/{chunk.BEUQVZKZ.js.map → chunk.QUXMLWBJ.js.map} +1 -1
  173. package/dist/esm/chunks/{chunk.BSV27GU7.js → chunk.QVATEY5S.js} +2 -2
  174. package/dist/esm/chunks/chunk.RFT3BAJ2.js +7 -0
  175. package/dist/esm/chunks/chunk.RFT3BAJ2.js.map +7 -0
  176. package/dist/esm/chunks/{chunk.SHBDQPPH.js → chunk.RONMNRSH.js} +2 -2
  177. package/dist/esm/chunks/{chunk.FRTSXX33.js → chunk.RSYEG2RW.js} +2 -2
  178. package/dist/esm/chunks/{chunk.A6BIUNPW.js → chunk.RXBLU4OJ.js} +2 -2
  179. package/dist/esm/chunks/{chunk.FBDRM4YN.js → chunk.S7KEO2CH.js} +2 -2
  180. package/dist/esm/chunks/{chunk.XU3YSZPA.js → chunk.SQ3AZAHF.js} +2 -2
  181. package/dist/esm/chunks/{chunk.35MHQH7Z.js → chunk.SROEDYPL.js} +2 -2
  182. package/dist/esm/chunks/chunk.T7NWP7DB.js +7 -0
  183. package/dist/esm/chunks/chunk.T7NWP7DB.js.map +7 -0
  184. package/dist/esm/chunks/{chunk.PXRGQHWR.js → chunk.TQWZDM6T.js} +2 -2
  185. package/dist/esm/chunks/chunk.U6J4VHU6.js +7 -0
  186. package/dist/esm/chunks/{chunk.STSAE2XP.js.map → chunk.U6J4VHU6.js.map} +1 -1
  187. package/dist/esm/chunks/{chunk.6JVMCBCR.js → chunk.UKBE2FMZ.js} +2 -2
  188. package/dist/esm/chunks/{chunk.MDDX4MJU.js → chunk.UPSXYWPD.js} +2 -2
  189. package/dist/esm/chunks/{chunk.MDDX4MJU.js.map → chunk.UPSXYWPD.js.map} +2 -2
  190. package/dist/esm/chunks/chunk.USTVZ6MZ.js +7 -0
  191. package/dist/esm/chunks/chunk.USTVZ6MZ.js.map +7 -0
  192. package/dist/esm/chunks/chunk.VGIRVTBJ.js +7 -0
  193. package/dist/esm/chunks/chunk.VGIRVTBJ.js.map +7 -0
  194. package/dist/esm/chunks/chunk.VRSPT7WX.js +7 -0
  195. package/dist/esm/chunks/{chunk.UQQQSJVM.js.map → chunk.VRSPT7WX.js.map} +3 -3
  196. package/dist/esm/chunks/chunk.W4HANHUO.js +7 -0
  197. package/dist/esm/chunks/chunk.W6FT6MKN.js +7 -0
  198. package/dist/esm/chunks/chunk.W6FT6MKN.js.map +7 -0
  199. package/dist/esm/chunks/{chunk.2W276VOR.js → chunk.WMJSYYXQ.js} +2 -2
  200. package/dist/esm/chunks/chunk.WXVVOFNK.js +7 -0
  201. package/dist/esm/chunks/chunk.WXVVOFNK.js.map +7 -0
  202. package/dist/esm/chunks/{chunk.OSBNFFCI.js → chunk.XATVDHDW.js} +2 -2
  203. package/dist/esm/chunks/chunk.XATVDHDW.js.map +7 -0
  204. package/dist/esm/chunks/{chunk.4AEQ7KVU.js → chunk.XTJGWT5F.js} +2 -2
  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 +17 -18
  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 +4 -3
  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/scaffold/_tokens.scss +18 -0
  566. package/styles/core/styles/tokens/select/_tokens.scss +18 -0
  567. package/styles/core/styles/tokens/stepper/step/_tokens.scss +62 -0
  568. package/styles/core/styles/tokens/toast/_tokens.scss +39 -0
  569. package/styles/dialog/_animations.scss +82 -0
  570. package/styles/dialog/_core.scss +310 -0
  571. package/styles/dialog/_token-utils.scss +30 -0
  572. package/styles/dialog/dialog.scss +356 -6
  573. package/styles/dialog/forge-dialog-utils.scss +23 -6
  574. package/styles/dialog/index.scss +7 -0
  575. package/styles/{field-next → field}/_core.layout.scss +6 -4
  576. package/styles/field/_core.scss +200 -50
  577. package/styles/{field-next → field}/_core.shape.scss +5 -0
  578. package/styles/{field-next → field}/_core.variant.scss +1 -0
  579. package/styles/{field-next → field}/field.scss +39 -12
  580. package/styles/forge-core.scss +2 -6
  581. package/styles/forge.scss +0 -4
  582. package/styles/icon/_core.scss +27 -0
  583. package/styles/icon/_token-utils.scss +30 -0
  584. package/styles/icon/icon.scss +27 -12
  585. package/styles/icon/index.scss +6 -0
  586. package/styles/label-value/_core.scss +85 -0
  587. package/styles/label-value/_token-utils.scss +30 -0
  588. package/styles/label-value/index.scss +6 -0
  589. package/styles/label-value/label-value.scss +71 -3
  590. package/styles/list/list/_core.scss +6 -2
  591. package/styles/list/list/list.scss +4 -0
  592. package/styles/list/list-item/_core.scss +3 -0
  593. package/styles/popover/_animations.scss +30 -0
  594. package/styles/popover/_core.scss +43 -6
  595. package/styles/popover/popover.scss +227 -170
  596. package/styles/scaffold/_core.scss +98 -0
  597. package/styles/scaffold/_token-utils.scss +30 -0
  598. package/styles/scaffold/index.scss +6 -0
  599. package/styles/scaffold/scaffold.scss +85 -5
  600. package/{dist/esm/chunks/chunk.WF2MFLG4.js → styles/select/index.scss} +1 -1
  601. package/styles/select/select/_core.scss +31 -15
  602. package/styles/select/select/_token-utils.scss +31 -0
  603. package/styles/select/select/select.scss +50 -8
  604. package/styles/split-view/split-view/split-view.scss +0 -1
  605. package/styles/split-view/split-view-panel/_mixins.scss +1 -0
  606. package/styles/split-view/split-view-panel/split-view-panel.scss +7 -1
  607. package/styles/stepper/step/_core.scss +391 -0
  608. package/styles/stepper/step/_token-utils.scss +31 -0
  609. package/styles/stepper/step/step.scss +261 -81
  610. package/styles/stepper/stepper/_core.scss +49 -0
  611. package/styles/stepper/stepper/stepper.scss +38 -4
  612. package/styles/switch/_core.scss +3 -2
  613. package/styles/theme/_theme-dark.scss +8 -8
  614. package/styles/toast/_animations.scss +42 -0
  615. package/styles/toast/_core.scss +73 -0
  616. package/styles/toast/_token-utils.scss +30 -0
  617. package/styles/toast/index.scss +6 -0
  618. package/styles/toast/toast.scss +173 -6
  619. package/styles/utils/_mixins-core.scss +5 -9
  620. package/dist/dialog/forge-dialog.css +0 -6
  621. package/dist/esm/chunks/chunk.24MZM3AY.js +0 -7
  622. package/dist/esm/chunks/chunk.24MZM3AY.js.map +0 -7
  623. package/dist/esm/chunks/chunk.3L77JY5H.js +0 -7
  624. package/dist/esm/chunks/chunk.3TIBP6QT.js +0 -7
  625. package/dist/esm/chunks/chunk.3U222LE4.js +0 -7
  626. package/dist/esm/chunks/chunk.45PPQY45.js +0 -177
  627. package/dist/esm/chunks/chunk.45PPQY45.js.map +0 -7
  628. package/dist/esm/chunks/chunk.4UU6PWR2.js +0 -7
  629. package/dist/esm/chunks/chunk.4UU6PWR2.js.map +0 -7
  630. package/dist/esm/chunks/chunk.5A34DJLZ.js +0 -7
  631. package/dist/esm/chunks/chunk.5A34DJLZ.js.map +0 -7
  632. package/dist/esm/chunks/chunk.5UGN5FYV.js +0 -7
  633. package/dist/esm/chunks/chunk.5UZ2DEW3.js +0 -7
  634. package/dist/esm/chunks/chunk.5UZ2DEW3.js.map +0 -7
  635. package/dist/esm/chunks/chunk.656X22EF.js +0 -7
  636. package/dist/esm/chunks/chunk.656X22EF.js.map +0 -7
  637. package/dist/esm/chunks/chunk.66YURKP2.js +0 -7
  638. package/dist/esm/chunks/chunk.66YURKP2.js.map +0 -7
  639. package/dist/esm/chunks/chunk.6GSVB5NB.js.map +0 -7
  640. package/dist/esm/chunks/chunk.AFJ7QEVI.js +0 -7
  641. package/dist/esm/chunks/chunk.AFJ7QEVI.js.map +0 -7
  642. package/dist/esm/chunks/chunk.BETICEYY.js +0 -7
  643. package/dist/esm/chunks/chunk.BEUQVZKZ.js +0 -7
  644. package/dist/esm/chunks/chunk.BMQAVBWZ.js +0 -7
  645. package/dist/esm/chunks/chunk.BMQAVBWZ.js.map +0 -7
  646. package/dist/esm/chunks/chunk.CIUPY66Y.js +0 -7
  647. package/dist/esm/chunks/chunk.CIUPY66Y.js.map +0 -7
  648. package/dist/esm/chunks/chunk.CSCZRSDT.js +0 -7
  649. package/dist/esm/chunks/chunk.CSCZRSDT.js.map +0 -7
  650. package/dist/esm/chunks/chunk.CWBDPBYO.js +0 -7
  651. package/dist/esm/chunks/chunk.CWBDPBYO.js.map +0 -7
  652. package/dist/esm/chunks/chunk.D7RH43XD.js +0 -7
  653. package/dist/esm/chunks/chunk.D7RH43XD.js.map +0 -7
  654. package/dist/esm/chunks/chunk.DCCFF327.js +0 -7
  655. package/dist/esm/chunks/chunk.EO3HELQ2.js +0 -15
  656. package/dist/esm/chunks/chunk.FB4MXEIW.js +0 -7
  657. package/dist/esm/chunks/chunk.FB4MXEIW.js.map +0 -7
  658. package/dist/esm/chunks/chunk.G2HRYIIZ.js +0 -7
  659. package/dist/esm/chunks/chunk.G2HRYIIZ.js.map +0 -7
  660. package/dist/esm/chunks/chunk.G3GTO5ZC.js +0 -7
  661. package/dist/esm/chunks/chunk.G3GTO5ZC.js.map +0 -7
  662. package/dist/esm/chunks/chunk.GL2H6QOP.js +0 -7
  663. package/dist/esm/chunks/chunk.GL2H6QOP.js.map +0 -7
  664. package/dist/esm/chunks/chunk.HBAC6E7O.js +0 -7
  665. package/dist/esm/chunks/chunk.HYTFCFP6.js +0 -7
  666. package/dist/esm/chunks/chunk.HYTFCFP6.js.map +0 -7
  667. package/dist/esm/chunks/chunk.IM36A2ZI.js +0 -7
  668. package/dist/esm/chunks/chunk.IM36A2ZI.js.map +0 -7
  669. package/dist/esm/chunks/chunk.IWVAI6XM.js.map +0 -7
  670. package/dist/esm/chunks/chunk.JCEKCW4B.js +0 -7
  671. package/dist/esm/chunks/chunk.JCEKCW4B.js.map +0 -7
  672. package/dist/esm/chunks/chunk.JVWJHSPM.js +0 -7
  673. package/dist/esm/chunks/chunk.KDUH2DUE.js +0 -7
  674. package/dist/esm/chunks/chunk.KRKKMTXR.js +0 -7
  675. package/dist/esm/chunks/chunk.KRKKMTXR.js.map +0 -7
  676. package/dist/esm/chunks/chunk.LKA5HQQY.js +0 -7
  677. package/dist/esm/chunks/chunk.LKA5HQQY.js.map +0 -7
  678. package/dist/esm/chunks/chunk.MC3UAHWS.js +0 -7
  679. package/dist/esm/chunks/chunk.MC3UAHWS.js.map +0 -7
  680. package/dist/esm/chunks/chunk.MCR34SZQ.js +0 -7
  681. package/dist/esm/chunks/chunk.MGLWXAZO.js +0 -18
  682. package/dist/esm/chunks/chunk.MPUP6QAP.js +0 -7
  683. package/dist/esm/chunks/chunk.MZRAL4MY.js +0 -7
  684. package/dist/esm/chunks/chunk.MZRAL4MY.js.map +0 -7
  685. package/dist/esm/chunks/chunk.N632SJ7X.js +0 -7
  686. package/dist/esm/chunks/chunk.N632SJ7X.js.map +0 -7
  687. package/dist/esm/chunks/chunk.NHOGZDLN.js +0 -7
  688. package/dist/esm/chunks/chunk.NHOGZDLN.js.map +0 -7
  689. package/dist/esm/chunks/chunk.NIUX6DVF.js +0 -12
  690. package/dist/esm/chunks/chunk.NIUX6DVF.js.map +0 -7
  691. package/dist/esm/chunks/chunk.OSBNFFCI.js.map +0 -7
  692. package/dist/esm/chunks/chunk.OY3TG55O.js +0 -7
  693. package/dist/esm/chunks/chunk.OY3TG55O.js.map +0 -7
  694. package/dist/esm/chunks/chunk.QCRO5NSG.js +0 -7
  695. package/dist/esm/chunks/chunk.QCRO5NSG.js.map +0 -7
  696. package/dist/esm/chunks/chunk.QKYCMDLB.js +0 -7
  697. package/dist/esm/chunks/chunk.R6VPRRTT.js +0 -7
  698. package/dist/esm/chunks/chunk.RFCIELJM.js +0 -7
  699. package/dist/esm/chunks/chunk.RFCIELJM.js.map +0 -7
  700. package/dist/esm/chunks/chunk.RJC42RNR.js +0 -7
  701. package/dist/esm/chunks/chunk.RJC42RNR.js.map +0 -7
  702. package/dist/esm/chunks/chunk.SKBOB2BD.js +0 -7
  703. package/dist/esm/chunks/chunk.SKBOB2BD.js.map +0 -7
  704. package/dist/esm/chunks/chunk.SOKORSUV.js +0 -7
  705. package/dist/esm/chunks/chunk.STSAE2XP.js +0 -7
  706. package/dist/esm/chunks/chunk.SWKKDBO6.js +0 -7
  707. package/dist/esm/chunks/chunk.SWKKDBO6.js.map +0 -7
  708. package/dist/esm/chunks/chunk.SYKZ74SL.js +0 -7
  709. package/dist/esm/chunks/chunk.SYKZ74SL.js.map +0 -7
  710. package/dist/esm/chunks/chunk.UKVC23E5.js +0 -7
  711. package/dist/esm/chunks/chunk.UKVC23E5.js.map +0 -7
  712. package/dist/esm/chunks/chunk.UOD3A7M4.js +0 -7
  713. package/dist/esm/chunks/chunk.UQQQSJVM.js +0 -7
  714. package/dist/esm/chunks/chunk.V3X77TCO.js +0 -7
  715. package/dist/esm/chunks/chunk.V3X77TCO.js.map +0 -7
  716. package/dist/esm/chunks/chunk.V7ILFIOR.js +0 -7
  717. package/dist/esm/chunks/chunk.VBJ4WUVH.js +0 -7
  718. package/dist/esm/chunks/chunk.VBJ4WUVH.js.map +0 -7
  719. package/dist/esm/chunks/chunk.VZ2XONDI.js +0 -7
  720. package/dist/esm/chunks/chunk.VZ2XONDI.js.map +0 -7
  721. package/dist/esm/chunks/chunk.WAMFFIMP.js +0 -7
  722. package/dist/esm/chunks/chunk.WAMFFIMP.js.map +0 -7
  723. package/dist/esm/chunks/chunk.WBCQTZPS.js +0 -7
  724. package/dist/esm/chunks/chunk.WBCQTZPS.js.map +0 -7
  725. package/dist/esm/chunks/chunk.WBI34ZVP.js +0 -7
  726. package/dist/esm/chunks/chunk.WF2MFLG4.js.map +0 -7
  727. package/dist/esm/chunks/chunk.WPVGFQNY.js +0 -7
  728. package/dist/esm/chunks/chunk.WPVGFQNY.js.map +0 -7
  729. package/dist/esm/chunks/chunk.XAZ6EDIZ.js +0 -7
  730. package/dist/esm/chunks/chunk.XCI7O2KJ.js +0 -7
  731. package/dist/esm/chunks/chunk.XCI7O2KJ.js.map +0 -7
  732. package/dist/esm/chunks/chunk.XNJROSDZ.js +0 -7
  733. package/dist/esm/chunks/chunk.XNJROSDZ.js.map +0 -7
  734. package/dist/esm/chunks/chunk.Z6GRWPPN.js +0 -7
  735. package/dist/esm/chunks/chunk.Z6GRWPPN.js.map +0 -7
  736. package/dist/esm/chunks/chunk.ZLNI2M3F.js +0 -7
  737. package/dist/esm/chunks/chunk.ZLNI2M3F.js.map +0 -7
  738. package/dist/esm/chunks/chunk.ZSZFWZAI.js +0 -7
  739. package/dist/esm/chunks/chunk.ZSZFWZAI.js.map +0 -7
  740. package/dist/esm/chunks/chunk.ZYKP23JP.js +0 -7
  741. package/dist/esm/field-next/index.js +0 -7
  742. package/dist/esm/floating-label/index.js +0 -7
  743. package/dist/esm/floating-label/index.js.map +0 -7
  744. package/dist/esm/popup/index.js +0 -7
  745. package/dist/esm/popup/index.js.map +0 -7
  746. package/dist/esm/ripple/index.js +0 -7
  747. package/dist/esm/ripple/index.js.map +0 -7
  748. package/dist/floating-label/forge-floating-label.css +0 -6
  749. package/dist/form-field/forge-form-field.css +0 -6
  750. package/dist/ripple/forge-ripple.css +0 -6
  751. package/dist/scaffold/forge-scaffold.css +0 -6
  752. package/esm/backdrop/backdrop-adapter.d.ts +0 -36
  753. package/esm/backdrop/backdrop-adapter.js +0 -40
  754. package/esm/backdrop/backdrop-foundation.d.ts +0 -38
  755. package/esm/backdrop/backdrop-foundation.js +0 -82
  756. package/esm/field-next/field-adapter.d.ts +0 -56
  757. package/esm/field-next/field-adapter.js +0 -132
  758. package/esm/field-next/field-constants.d.ts +0 -95
  759. package/esm/field-next/field-constants.js +0 -64
  760. package/esm/field-next/field-foundation.js +0 -221
  761. package/esm/field-next/field.d.ts +0 -205
  762. package/esm/field-next/field.js +0 -287
  763. package/esm/floating-label/floating-label-adapter.d.ts +0 -23
  764. package/esm/floating-label/floating-label-adapter.js +0 -32
  765. package/esm/floating-label/floating-label-constants.d.ts +0 -13
  766. package/esm/floating-label/floating-label-constants.js +0 -14
  767. package/esm/floating-label/floating-label-foundation.d.ts +0 -20
  768. package/esm/floating-label/floating-label-foundation.js +0 -74
  769. package/esm/floating-label/floating-label.d.ts +0 -31
  770. package/esm/floating-label/floating-label.js +0 -34
  771. package/esm/floating-label/index.d.ts +0 -9
  772. package/esm/floating-label/index.js +0 -9
  773. package/esm/label-value/label-value-adapter.d.ts +0 -24
  774. package/esm/label-value/label-value-adapter.js +0 -47
  775. package/esm/label-value/label-value-foundation.d.ts +0 -33
  776. package/esm/label-value/label-value-foundation.js +0 -80
  777. package/esm/popup/index.d.ts +0 -10
  778. package/esm/popup/index.js +0 -14
  779. package/esm/popup/popup-adapter.d.ts +0 -45
  780. package/esm/popup/popup-adapter.js +0 -152
  781. package/esm/popup/popup-constants.d.ts +0 -55
  782. package/esm/popup/popup-constants.js +0 -53
  783. package/esm/popup/popup-foundation.d.ts +0 -72
  784. package/esm/popup/popup-foundation.js +0 -258
  785. package/esm/popup/popup.d.ts +0 -59
  786. package/esm/popup/popup.js +0 -102
  787. package/esm/ripple/forge-ripple.d.ts +0 -17
  788. package/esm/ripple/forge-ripple.js +0 -22
  789. package/esm/ripple/index.d.ts +0 -11
  790. package/esm/ripple/index.js +0 -15
  791. package/esm/ripple/ripple-adapter.d.ts +0 -23
  792. package/esm/ripple/ripple-adapter.js +0 -47
  793. package/esm/ripple/ripple-constants.d.ts +0 -15
  794. package/esm/ripple/ripple-constants.js +0 -19
  795. package/esm/ripple/ripple-foundation.d.ts +0 -30
  796. package/esm/ripple/ripple-foundation.js +0 -48
  797. package/esm/ripple/ripple.d.ts +0 -36
  798. package/esm/ripple/ripple.js +0 -65
  799. package/styles/backdrop/_mixins.scss +0 -31
  800. package/styles/backdrop/_variables.scss +0 -12
  801. package/styles/card/_mixins.scss +0 -47
  802. package/styles/card/_variables.scss +0 -9
  803. package/styles/chip-field/_base.scss +0 -299
  804. package/styles/chip-field/_mixins.scss +0 -26
  805. package/styles/chip-field/_selector.scss +0 -228
  806. package/styles/chip-field/_variables.scss +0 -76
  807. package/styles/dialog/_mixins.scss +0 -199
  808. package/styles/dialog/_variables.scss +0 -22
  809. package/styles/dialog/forge-dialog.scss +0 -8
  810. package/styles/field/_base.scss +0 -636
  811. package/styles/field/_selector.scss +0 -560
  812. package/styles/field/_utils.scss +0 -48
  813. package/styles/field/_variables.scss +0 -123
  814. package/styles/field-next/_core.scss +0 -213
  815. package/styles/floating-label/_mixins.scss +0 -291
  816. package/styles/floating-label/_variables.scss +0 -15
  817. package/styles/floating-label/forge-floating-label.scss +0 -8
  818. package/styles/form-field/_mixins.scss +0 -71
  819. package/styles/form-field/forge-form-field.scss +0 -8
  820. package/styles/icon/_mixins.scss +0 -37
  821. package/styles/icon/_variables.scss +0 -10
  822. package/styles/label-value/_mixins.scss +0 -205
  823. package/styles/label-value/_variables.scss +0 -12
  824. package/styles/popup/_mixins.scss +0 -86
  825. package/styles/popup/_variables.scss +0 -7
  826. package/styles/popup/forge-popup.scss +0 -8
  827. package/styles/popup/popup.scss +0 -20
  828. package/styles/ripple/forge-ripple.scss +0 -17
  829. package/styles/scaffold/_mixins.scss +0 -194
  830. package/styles/scaffold/forge-scaffold.scss +0 -43
  831. package/styles/select/select/_base.scss +0 -84
  832. package/styles/select/select/_mixins.scss +0 -25
  833. package/styles/select/select/_selector.scss +0 -90
  834. package/styles/select/select/_variables.scss +0 -16
  835. package/styles/stepper/step/_mixins.scss +0 -416
  836. package/styles/stepper/step/_variables.scss +0 -21
  837. package/styles/stepper/stepper/_mixins.scss +0 -113
  838. package/styles/toast/_mixins.scss +0 -242
  839. package/styles/toast/_variables.scss +0 -52
  840. /package/dist/esm/chunks/{chunk.YS5JZHJ6.js.map → chunk.24SQJBSQ.js.map} +0 -0
  841. /package/dist/esm/chunks/{chunk.IZRURH7C.js.map → chunk.3KAKJGUS.js.map} +0 -0
  842. /package/dist/esm/chunks/{chunk.KDUH2DUE.js.map → chunk.473WRJ5G.js.map} +0 -0
  843. /package/dist/esm/chunks/{chunk.USQEIRST.js.map → chunk.5MB6CTBA.js.map} +0 -0
  844. /package/dist/esm/chunks/{chunk.47U6GVGZ.js.map → chunk.5UOX22ML.js.map} +0 -0
  845. /package/dist/esm/chunks/{chunk.4NABD6XG.js.map → chunk.6VS3LYAF.js.map} +0 -0
  846. /package/dist/esm/chunks/{chunk.AOSBUJWW.js.map → chunk.A7BCLPP4.js.map} +0 -0
  847. /package/dist/esm/chunks/{chunk.7UBIT4NP.js.map → chunk.AG6IRMLZ.js.map} +0 -0
  848. /package/dist/esm/chunks/{chunk.A4UH52SA.js.map → chunk.AGLI4WR4.js.map} +0 -0
  849. /package/dist/esm/chunks/{chunk.WTUXAH7Z.js.map → chunk.AOVXNX7P.js.map} +0 -0
  850. /package/dist/esm/chunks/{chunk.AN2E2SSN.js.map → chunk.ASLHRT3N.js.map} +0 -0
  851. /package/dist/esm/chunks/{chunk.CBLUXYH2.js.map → chunk.BHE6Z5Y2.js.map} +0 -0
  852. /package/dist/esm/chunks/{chunk.2WRAXA3H.js.map → chunk.BQ52JYLA.js.map} +0 -0
  853. /package/dist/esm/chunks/{chunk.ROMRJIFR.js.map → chunk.CE35CVDV.js.map} +0 -0
  854. /package/dist/esm/chunks/{chunk.ZPXMKY72.js.map → chunk.CEGBMUSR.js.map} +0 -0
  855. /package/dist/esm/chunks/{chunk.GBGGUYTE.js.map → chunk.CFAI4K3E.js.map} +0 -0
  856. /package/dist/esm/chunks/{chunk.ZIGVO6FN.js.map → chunk.CGFSMACZ.js.map} +0 -0
  857. /package/dist/esm/chunks/{chunk.2537XOFQ.js.map → chunk.E2BE52ME.js.map} +0 -0
  858. /package/dist/esm/chunks/{chunk.UEYPCCFG.js.map → chunk.ENUKGA2U.js.map} +0 -0
  859. /package/dist/esm/chunks/{chunk.GA6AO6FJ.js.map → chunk.H5RW3A4M.js.map} +0 -0
  860. /package/dist/esm/chunks/{chunk.CSOKFDFQ.js.map → chunk.HSADKCGS.js.map} +0 -0
  861. /package/dist/esm/chunks/{chunk.WBI34ZVP.js.map → chunk.IEABOPNB.js.map} +0 -0
  862. /package/dist/esm/chunks/{chunk.22C7GQLX.js.map → chunk.IL4S57WO.js.map} +0 -0
  863. /package/dist/esm/chunks/{chunk.HMJODLAS.js.map → chunk.IQYOLMPG.js.map} +0 -0
  864. /package/dist/esm/chunks/{chunk.GTKYO6VB.js.map → chunk.JGURMVW7.js.map} +0 -0
  865. /package/dist/esm/chunks/{chunk.YXHMD73U.js.map → chunk.K6GJNDTY.js.map} +0 -0
  866. /package/dist/esm/chunks/{chunk.QUWEAFGI.js.map → chunk.KEOLH7G3.js.map} +0 -0
  867. /package/dist/esm/chunks/{chunk.BIQTNLIF.js.map → chunk.LNTTU2GL.js.map} +0 -0
  868. /package/dist/esm/chunks/{chunk.2AM2BKEO.js.map → chunk.MFQRXVKO.js.map} +0 -0
  869. /package/dist/esm/chunks/{chunk.JLSFTWPE.js.map → chunk.MTIPIEXA.js.map} +0 -0
  870. /package/dist/esm/chunks/{chunk.JSTCCUKZ.js.map → chunk.OEI35LFU.js.map} +0 -0
  871. /package/dist/esm/chunks/{chunk.QKYCMDLB.js.map → chunk.QCPV5DEG.js.map} +0 -0
  872. /package/dist/esm/chunks/{chunk.R3AWIPPK.js.map → chunk.QIZBZGYT.js.map} +0 -0
  873. /package/dist/esm/chunks/{chunk.2XPAYTK4.js.map → chunk.QKTK5XUE.js.map} +0 -0
  874. /package/dist/esm/chunks/{chunk.R66CYS27.js.map → chunk.QTY25OTN.js.map} +0 -0
  875. /package/dist/esm/chunks/{chunk.BSV27GU7.js.map → chunk.QVATEY5S.js.map} +0 -0
  876. /package/dist/esm/chunks/{chunk.SHBDQPPH.js.map → chunk.RONMNRSH.js.map} +0 -0
  877. /package/dist/esm/chunks/{chunk.FRTSXX33.js.map → chunk.RSYEG2RW.js.map} +0 -0
  878. /package/dist/esm/chunks/{chunk.A6BIUNPW.js.map → chunk.RXBLU4OJ.js.map} +0 -0
  879. /package/dist/esm/chunks/{chunk.FBDRM4YN.js.map → chunk.S7KEO2CH.js.map} +0 -0
  880. /package/dist/esm/chunks/{chunk.XU3YSZPA.js.map → chunk.SQ3AZAHF.js.map} +0 -0
  881. /package/dist/esm/chunks/{chunk.35MHQH7Z.js.map → chunk.SROEDYPL.js.map} +0 -0
  882. /package/dist/esm/chunks/{chunk.PXRGQHWR.js.map → chunk.TQWZDM6T.js.map} +0 -0
  883. /package/dist/esm/chunks/{chunk.6JVMCBCR.js.map → chunk.UKBE2FMZ.js.map} +0 -0
  884. /package/dist/esm/chunks/{chunk.3L77JY5H.js.map → chunk.W4HANHUO.js.map} +0 -0
  885. /package/dist/esm/chunks/{chunk.2W276VOR.js.map → chunk.WMJSYYXQ.js.map} +0 -0
  886. /package/dist/esm/chunks/{chunk.4AEQ7KVU.js.map → chunk.XTJGWT5F.js.map} +0 -0
  887. /package/dist/esm/chunks/{chunk.YNXWVL4B.js.map → chunk.YPNSK2CK.js.map} +0 -0
  888. /package/dist/esm/chunks/{chunk.MPUP6QAP.js.map → chunk.YWJVZVZX.js.map} +0 -0
  889. /package/dist/esm/chunks/{chunk.6XLTVIUD.js.map → chunk.ZA7JY3AY.js.map} +0 -0
  890. /package/dist/esm/{field-next → field}/base/index.js.map +0 -0
  891. /package/dist/esm/{field-next → field}/index.js.map +0 -0
  892. /package/esm/{field-next → field}/base/base-field-adapter.d.ts +0 -0
  893. /package/esm/{field-next → field}/base/base-field-adapter.js +0 -0
  894. /package/esm/{field-next → field}/base/base-field-constants.d.ts +0 -0
  895. /package/esm/{field-next → field}/base/base-field-constants.js +0 -0
  896. /package/esm/{field-next → field}/base/base-field-foundation.d.ts +0 -0
  897. /package/esm/{field-next → field}/base/base-field.d.ts +0 -0
  898. /package/esm/{field-next → field}/base/base-field.js +0 -0
  899. /package/esm/{field-next → field}/base/index.d.ts +0 -0
  900. /package/esm/{field-next → field}/base/index.js +0 -0
  901. /package/esm/{field-next → field}/index.d.ts +0 -0
  902. /package/esm/{field-next → field}/index.js +0 -0
  903. /package/styles/{field-next → field}/_core.slotted.scss +0 -0
  904. /package/styles/{field-next → field}/_core.state.scss +0 -0
  905. /package/styles/{field-next → field}/_token-utils.scss +0 -0
  906. /package/styles/{field-next → field}/index.scss +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/list-dropdown/list-dropdown-constants.ts", "../../../../../../node_modules/@tylertech/forge-core/esm/events/event-aware.js", "../../../../../../node_modules/@tylertech/forge-core/esm/scroll/scroll-types.js", "../../../../../../node_modules/@tylertech/forge-core/esm/scroll/scroll-axis-observer.js", "../../src/list-dropdown/list-dropdown-utils.ts", "../../src/list-dropdown/list-dropdown-foundation.ts", "../../src/list-dropdown/list-dropdown-adapter.ts", "../../src/list-dropdown/list-dropdown.ts", "../../src/list-dropdown/list-dropdown-aware-foundation.ts", "../../src/list-dropdown/cascading-list-dropdown-aware-foundation.ts"],
4
+ "sourcesContent": ["import type { IIconComponent } from '../icon';\nimport type { IOverlayOffset } from '../overlay/overlay-constants';\nimport { PositionPlacement } from '../core/utils/position-utils';\n\nconst attributes = {\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n CONSTRAIN_POPUP_WIDTH: 'constrain-popup-width',\n WRAP_OPTION_TEXT: 'wrap-option-text',\n\n // Internal\n CHECKBOX_ELEMENT: 'data-list-dropdown-checkbox',\n DATA_ALLOW_FOCUS: 'data-list-dropdown-allow-focus'\n};\n\nconst classes = {\n GROUP_WRAPPER: 'forge-list-dropdown__group-wrapper'\n};\n\nexport const LIST_DROPDOWN_CONSTANTS = {\n attributes,\n classes\n};\n\nexport type ListDropdownOptionBuilder<T = HTMLElement> = (option: IListDropdownOption, parentElement: T) => HTMLElement | string | void;\nexport type ListDropdownHeaderBuilder = () => HTMLElement;\nexport type ListDropdownFooterBuilder = () => HTMLElement;\nexport type ListDropdownOptionGroupBuilder<T = any> = (option: IListDropdownOptionGroup<T>) => HTMLElement | string;\nexport type ListDropdownTransformCallback = (label: string) => string | HTMLElement;\nexport type ListDropdownIconType = 'font' | 'component';\n\nexport interface IBaseListDropdownOption<T = any> {\n value: T;\n label: string;\n secondaryLabel?: string;\n disabled?: boolean;\n divider?: boolean;\n optionClass?: string | string[];\n leadingIcon?: string;\n leadingIconClass?: string;\n leadingIconType?: ListDropdownIconType;\n leadingIconComponentProps?: Partial<IIconComponent>;\n trailingIcon?: string;\n trailingIconClass?: string;\n trailingIconType?: ListDropdownIconType;\n trailingIconComponentProps?: Partial<IIconComponent>;\n leadingBuilder?: () => HTMLElement;\n trailingBuilder?: () => HTMLElement;\n}\n\nexport interface IListDropdownOption<T = any> extends IBaseListDropdownOption<T> {\n options?: Array<IListDropdownOption | IListDropdownOptionGroup>;\n elementAttributes?: Map<string, string>;\n}\n\nexport interface IListDropdownOptionGroup<T = any, K = any> {\n text?: string;\n value?: K;\n builder?: ListDropdownOptionGroupBuilder;\n options: IListDropdownOption<T>[];\n}\n\nexport interface IListDropdownSelectEventData {\n value: IListDropdownOption | IListDropdownOption[];\n}\n\nexport interface IListDropdownConfig<T = any> {\n id: string;\n options: Array<IListDropdownOption | IListDropdownOptionGroup>;\n selectCallback: (value: T) => void;\n \n // Optional values\n activeChangeCallback?: (id: string) => void;\n closeCallback?: () => void;\n syncWidth?: boolean;\n constrainViewportWidth?: boolean;\n wrapOptionText?: boolean;\n selectedValues?: T[];\n multiple?: boolean;\n activeStartIndex?: number;\n visibleStartIndex?: number;\n transform?: ListDropdownTransformCallback;\n allowBusy?: boolean;\n asyncStyle?: ListDropdownAsyncStyle;\n iconClass?: string;\n dense?: boolean;\n type?: ListDropdownType;\n popupClasses?: string | string[];\n popupOffset?: IOverlayOffset;\n popupStatic?: boolean;\n popupPlacement?: PositionPlacement;\n popupFallbackPlacements?: PositionPlacement[];\n optionLimit?: number;\n optionBuilder?: ListDropdownOptionBuilder;\n observeScroll?: boolean;\n observeScrollThreshold?: number;\n targetWidthCallback?: () => number;\n scrollEndListener?: () => void;\n headerBuilder?: ListDropdownHeaderBuilder;\n footerBuilder?: ListDropdownFooterBuilder;\n cascade?: boolean;\n cascadingElementFactory?: (config: IListDropdownCascadingElementFactoryConfig) => HTMLElement;\n}\n\nexport interface IListDropdownCascadingElementFactoryConfig {\n index: number;\n options: Array<IListDropdownOption | IListDropdownOptionGroup>;\n parentValue: any;\n}\n\nexport const DEFAULT_LIST_DROPDOWN_CONFIG: Partial<IListDropdownConfig> = {\n options: [],\n syncWidth: false,\n selectedValues: [],\n multiple: false\n};\n\nexport interface IListDropdownOpenConfig extends IListDropdownConfig {}\n\nexport enum ListDropdownType {\n None = 'none',\n Standard = 'standard',\n Menu = 'menu'\n}\n\nexport enum ListDropdownAsyncStyle {\n Spinner = 'spinner',\n Skeleton = 'skeleton'\n}\n", "export class EventAware {\n constructor() {\n this._listenerMap = new Map();\n }\n _emit(type, data) {\n const listeners = this._listenerMap.get(type);\n if (listeners && listeners.length) {\n listeners.forEach(cb => cb({ type, data }));\n }\n }\n hasListeners(type) {\n return type ? this._listenerMap.has(type) : this._listenerMap.size > 0;\n }\n addListener(type, listener) {\n if (!this._listenerMap.has(type)) {\n this._listenerMap.set(type, [listener]);\n }\n else {\n const listeners = this._listenerMap.get(type);\n if (listeners) {\n listeners.push(listener);\n }\n }\n }\n removeListener(type, listener) {\n const listeners = this._listenerMap.get(type);\n if (listeners && listeners.length && listeners.includes(listener)) {\n listeners.splice(listeners.indexOf(listener), 1);\n if (!listeners.length) {\n this._listenerMap.delete(type);\n }\n }\n }\n}\n", "export var ScrollDirection;\n(function (ScrollDirection) {\n ScrollDirection[\"Up\"] = \"up\";\n ScrollDirection[\"Down\"] = \"down\";\n ScrollDirection[\"Left\"] = \"left\";\n ScrollDirection[\"Right\"] = \"right\";\n})(ScrollDirection || (ScrollDirection = {}));\nexport var ScrollEvents;\n(function (ScrollEvents) {\n ScrollEvents[\"Scroll\"] = \"scroll\";\n ScrollEvents[\"Scrolled\"] = \"scrolled\";\n ScrollEvents[\"ScrolledStart\"] = \"scrolled-start\";\n ScrollEvents[\"ScrolledEnd\"] = \"scrolled-end\";\n})(ScrollEvents || (ScrollEvents = {}));\n", "import { EventAware } from '../events/event-aware';\nimport { ScrollEvents, ScrollDirection } from './scroll-types';\nimport { isDefined, throttle, isNumber } from '../utils';\nconst DEFAULT_SCROLL_THROTTLE = 100;\n/**\n * Provides facilties for observing and reacting to scroll events and information on a given element.\n */\nexport class ScrollAxisObserver extends EventAware {\n constructor(_element, _config = {}) {\n super();\n this._element = _element;\n this._config = _config;\n this._axis = 'vertical';\n this._scrollThreshold = 0;\n this._lastScrollPosition = 0;\n this._lastScrollTop = 0;\n this._lastScrollLeft = 0;\n this._isListening = false;\n this._initialize();\n }\n destroy() {\n this.stop();\n }\n start() {\n if (!this._isListening) {\n this._element.addEventListener('scroll', this._scrollListener);\n this._isListening = true;\n }\n }\n stop() {\n this._element.removeEventListener('scroll', this._scrollListener);\n this._isListening = false;\n }\n _initialize() {\n if (this._config.throttle) {\n const wait = this._config.throttleTime || DEFAULT_SCROLL_THROTTLE;\n this._scrollListener = throttle(() => this._onScroll(), wait);\n }\n else {\n this._scrollListener = () => this._onScroll();\n }\n if (!isDefined(this._config.paused) || !this._config.paused) {\n this.start();\n }\n if (isDefined(this._config.axis)) {\n this._axis = this._config.axis;\n }\n if (isDefined(this._config.scrollThreshold) && isNumber(this._config.scrollThreshold)) {\n this._scrollThreshold = this._config.scrollThreshold;\n }\n }\n _isScrollAxis() {\n const isVertical = this._lastScrollTop !== this._element.scrollTop;\n const isHorizontal = this._lastScrollLeft !== this._element.scrollLeft;\n return (this._axis === 'vertical' && isVertical) || (this._axis === 'horizontal' && isHorizontal);\n }\n _onScroll() {\n if (!this._isScrollAxis()) {\n return;\n }\n const position = this.scrollPosition;\n const direction = this._lastScrollPosition - position < 0 ? this._axis === 'vertical' ? ScrollDirection.Down : ScrollDirection.Right : this._axis === 'vertical' ? ScrollDirection.Up : ScrollDirection.Left;\n this._emit(ScrollEvents.Scroll, { direction, position });\n if (this._lastScrollPosition <= this._scrollThreshold && position > this._scrollThreshold) {\n this._emit(ScrollEvents.Scrolled, true);\n }\n else if (this._lastScrollPosition >= this._scrollThreshold && (this._scrollThreshold > 0 ? position < this._scrollThreshold : position === 0)) {\n this._emit(ScrollEvents.Scrolled, false);\n }\n const scrollStart = Math.round(position - this._scrollThreshold);\n const scrollEnd = Math.round(this.scrollSize - position);\n if (this._lastScrollPosition >= this._scrollThreshold && scrollStart <= 0) {\n this._emit(ScrollEvents.ScrolledStart);\n }\n else if (this._lastScrollPosition <= (this.scrollSize - this._scrollThreshold) && scrollEnd <= this._scrollThreshold) {\n this._emit(ScrollEvents.ScrolledEnd);\n }\n this._lastScrollPosition = position || 0;\n this._lastScrollTop = this._element.scrollTop || 0;\n this._lastScrollLeft = this._element.scrollLeft || 0;\n }\n get scrollPosition() {\n return this._axis === 'vertical' ? this._element.scrollTop : this._element.scrollLeft;\n }\n get isScrolled() {\n return this.scrollPosition > this._scrollThreshold;\n }\n get isScrolledStart() {\n return this.scrollPosition === 0;\n }\n get isScrolledEnd() {\n return this.scrollPosition === this._element.scrollWidth;\n }\n get isScrollable() {\n if (this._axis === 'vertical') {\n return this._element.scrollHeight > this._element.clientHeight;\n }\n return this._element.scrollWidth > this._element.clientWidth;\n }\n get scrollSize() {\n return (this._axis === 'vertical' ? this._element.scrollHeight : this._element.scrollWidth) - this.elementSize;\n }\n get elementSize() {\n return this._axis === 'vertical' ? this._element.clientHeight : this._element.clientWidth;\n }\n setScrollPosition(position) {\n if (this._axis === 'vertical') {\n this._element.scrollTop = position;\n }\n else {\n this._element.scrollLeft = position;\n }\n }\n}\n", "import { addClass, getEventPath, isDeepEqual, isDefined, isObject } from '@tylertech/forge-core';\nimport { tylIconCheckBox, tylIconCheckBoxOutlineBlank } from '@tylertech/tyler-icons/standard';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { IIconComponent } from '../icon';\nimport { ILinearProgressComponent, LINEAR_PROGRESS_CONSTANTS } from '../linear-progress';\nimport { IListComponent, LIST_CONSTANTS } from '../list/list';\nimport { POPOVER_CONSTANTS } from '../popover';\nimport { IPopoverComponent } from '../popover/popover';\nimport { ISkeletonComponent, SKELETON_CONSTANTS } from '../skeleton';\nimport { IListDropdownCascadingElementFactoryConfig, IListDropdownOpenConfig, IListDropdownOption, IListDropdownOptionGroup, ListDropdownAsyncStyle, ListDropdownIconType, ListDropdownType, LIST_DROPDOWN_CONSTANTS } from './list-dropdown-constants';\n\nexport enum ListDropdownOptionType { Option, Group }\n\n/**\n * Creates the floating dropdown element container.\n * @param config \n * @param targetElement \n */\nexport function createDropdown(config: IListDropdownOpenConfig, targetElement: HTMLElement): IPopoverComponent {\n const dropdownElement = createPopupDropdown(config, targetElement);\n const dropdownId = `list-dropdown-popup-${config.id}`;\n\n // Prevent mousedown events from changing focus. We keep focus in the target element at all times while open.\n dropdownElement.addEventListener('mousedown', evt => {\n const composedPath = getEventPath(evt);\n\n // We allow for custom header and footer templates and these elements could be focusable so we need to allow access into them\n const isFromCustomTemplate = composedPath.find(el => el.nodeType === 1 && el.hasAttribute(LIST_DROPDOWN_CONSTANTS.attributes.DATA_ALLOW_FOCUS));\n if (isFromCustomTemplate) {\n return;\n }\n\n const isWithinDropdownElement = composedPath.find(el => el.id === dropdownId || el.id === config.id);\n if (isWithinDropdownElement) {\n evt.preventDefault();\n }\n });\n\n if (config.id) {\n dropdownElement.id = dropdownId;\n }\n if (config.popupClasses) {\n addClass(config.popupClasses, dropdownElement);\n }\n\n return dropdownElement;\n}\n\nexport function createPopupDropdown(config: IListDropdownOpenConfig, targetElement: HTMLElement): IPopoverComponent {\n const popoverElement = document.createElement('forge-popover');\n popoverElement.anchorElement = targetElement;\n popoverElement.placement = config.popupPlacement || 'bottom-start';\n popoverElement.persistent = Boolean(config.popupStatic);\n\n if (config.popupFallbackPlacements?.length) {\n popoverElement.fallbackPlacements = config.popupFallbackPlacements;\n }\n\n if (config.constrainViewportWidth) {\n popoverElement.setAttribute(POPOVER_CONSTANTS.attributes.CONSTRAIN_VIEWPORT_WIDTH, '');\n }\n\n if (config.popupOffset) {\n popoverElement.offset = config.popupOffset;\n }\n\n // Set the animations based on our type\n if (config.type === ListDropdownType.None) {\n popoverElement.animationType = 'none';\n }\n\n return popoverElement;\n}\n\nexport function createList(config: IListDropdownOpenConfig): IListComponent {\n const listElement = document.createElement(LIST_CONSTANTS.elementName) as IListComponent;\n listElement.id = `list-dropdown-list-${config.id}`;\n listElement.propagateClick = false;\n\n // Set roles and other attributes based on our type\n switch (config.type) {\n case ListDropdownType.Menu:\n listElement.setAttribute('role', 'menu');\n listElement.setAttribute('aria-orientation', 'vertical');\n break;\n default:\n listElement.setAttribute('role', 'listbox');\n }\n\n return listElement;\n}\n\n/**\n * Creates the list to place inside of the dropdown.\n * @param config \n */\nexport function createListItems(config: IListDropdownOpenConfig, listElement: IListComponent, options?: Array<IListDropdownOption | IListDropdownOptionGroup>, startIndex = 0, renderSelected = true): void {\n // Ensure the options are provided in the form a group (if no groups provided, then we have one anonymous group of options)\n const groups = getOptionsByGroup(options || config.options);\n const flatOptions = getFlattenedOptions(groups);\n\n const limitOptions = config.optionLimit ? true : false;\n let optionLimit = config.optionLimit || 0;\n let optionIdIndex = startIndex;\n\n // Iterate over our groups and render the optional headers and options for that group\n for (const group of groups) {\n let optionParent: IListComponent | HTMLElement = listElement;\n\n // Check for a group header builder callback\n if (group.builder && typeof group.builder === 'function') {\n const headerElement = group.builder(group);\n if (headerElement) {\n const groupWrapper = document.createElement('div');\n groupWrapper.classList.add(LIST_DROPDOWN_CONSTANTS.classes.GROUP_WRAPPER);\n optionParent = groupWrapper;\n\n if (typeof headerElement === 'string') {\n groupWrapper.innerHTML = headerElement;\n } else if (headerElement instanceof HTMLElement) {\n groupWrapper.appendChild(headerElement);\n }\n\n listElement.appendChild(groupWrapper);\n }\n } else if (group.text) {\n // We are rendering just text as a group header so create the group header element with predefined styles\n const groupWrapper = document.createElement('div');\n groupWrapper.classList.add(LIST_DROPDOWN_CONSTANTS.classes.GROUP_WRAPPER);\n\n const listHeaderElement = document.createElement('div');\n listHeaderElement.textContent = group.text;\n listHeaderElement.classList.add('forge-typography--overline');\n listHeaderElement.style.fontFamily = 'Roboto,sans-serif';\n listHeaderElement.style.fontSize = '0.75rem';\n listHeaderElement.style.lineHeight = '2rem';\n listHeaderElement.style.letterSpacing = '0.16667em';\n listHeaderElement.style.fontWeight = '500';\n listHeaderElement.style.margin = '4px 8px';\n\n optionParent = groupWrapper;\n groupWrapper.appendChild(listHeaderElement);\n listElement.appendChild(groupWrapper);\n }\n\n // Loop over the options for this group\n for (const option of group.options) {\n // First we check if this option is just a divider\n if (option.divider) {\n const dividerElement = createDivider();\n listElement.appendChild(dividerElement);\n continue;\n }\n\n // Check if an option limit has been provided to reduce amount of options that need to be rendered\n if (limitOptions && --optionLimit < 0) {\n break;\n }\n \n // Create and configure the list element\n const isSelected = config.selectedValues ? config.selectedValues.some(v => isDeepEqual(v, option.value)) : false;\n\n // We don't render selected options that are appended dynamically since those are always displayed at the top of the list\n if (!renderSelected && isSelected) {\n continue;\n }\n\n let listItemElement = document.createElement('forge-list-item');\n listItemElement.value = option.value;\n listItemElement.id = `list-dropdown-option-${config.id}-${optionIdIndex++}`;\n\n if (config.wrapOptionText) {\n listItemElement.wrap = true;\n }\n \n // Add any CSS classes to the option list-item\n if (option.optionClass && (typeof option.optionClass === 'string' || Array.isArray(option.optionClass) && option.optionClass.length)) {\n addClass(option.optionClass, listItemElement);\n }\n\n if (config.dense) {\n listItemElement.dense = true;\n }\n\n // Check for a custom option template builder\n if (config.optionBuilder && typeof config.optionBuilder === 'function') {\n const element = config.optionBuilder(option, listItemElement);\n if (element) {\n if (typeof element === 'string') {\n listItemElement.innerHTML = element;\n } else {\n listItemElement.appendChild(element);\n }\n }\n } else {\n if (typeof config.transform !== 'function') {\n listItemElement.textContent = option.label || '';\n } else {\n const result = config.transform(option.label);\n if (typeof result === 'string') {\n listItemElement.textContent = result;\n } else if (typeof result === 'object' && (result as HTMLElement).nodeType !== undefined) {\n listItemElement.appendChild(result);\n }\n }\n }\n\n // Check for secondary (subtitle) text\n if (option.secondaryLabel) {\n const secondaryLabelElement = document.createElement('span');\n secondaryLabelElement.slot = 'subtitle';\n secondaryLabelElement.textContent = option.secondaryLabel;\n listItemElement.twoLine = true;\n listItemElement.appendChild(secondaryLabelElement);\n }\n\n // If multiple selections are enabled then we need to create and append a leading checkbox element\n if (config.multiple) {\n const checkboxElement = createCheckboxElement(isSelected);\n listItemElement.appendChild(checkboxElement);\n listItemElement.setAttribute('aria-selected', `${isSelected}`);\n listItemElement.setAttribute('aria-checked', `${isSelected}`);\n }\n\n if (option.elementAttributes) {\n option.elementAttributes.forEach((value: string, key: string) => {\n listItemElement.setAttribute(key, value);\n });\n }\n\n // Leading element/icon\n if (option.leadingBuilder) {\n const element = option.leadingBuilder();\n if (isObject(element)) {\n element.slot = 'leading';\n listItemElement.appendChild(element);\n }\n } else if (option.leadingIcon) {\n const leadingIconElement = createIconElement(option.leadingIconType, option.leadingIcon, option.leadingIconClass || config.iconClass, option.leadingIconComponentProps);\n leadingIconElement.slot = 'leading';\n listItemElement.appendChild(leadingIconElement);\n }\n\n // Trailing element/icon\n if (option.trailingBuilder) {\n const element = option.trailingBuilder();\n if (isObject(element)) {\n element.slot = 'trailing';\n listItemElement.appendChild(element);\n }\n } else if (option.trailingIcon) {\n const trailingIconElement = createIconElement(option.trailingIconType, option.trailingIcon, option.trailingIconClass || config.iconClass, option.trailingIconComponentProps);\n trailingIconElement.slot = 'trailing';\n listItemElement.appendChild(trailingIconElement);\n }\n\n // Update the disabled state\n if (option.disabled) {\n listItemElement.disabled = option.disabled;\n listItemElement.setAttribute('aria-disabled', 'true');\n } else {\n listItemElement.setAttribute('aria-disabled', 'false');\n }\n\n // Update the selected state\n if (isSelected) {\n listItemElement.selected = true;\n }\n listItemElement.setAttribute('aria-selected', isSelected ? 'true' : 'false');\n\n // If we have any child options, we need to render a child menu for this list item\n if (!option.disabled && typeof config.cascadingElementFactory === 'function' && Array.isArray(option.options) && option.options.length) {\n // Create the trailing indicator icon to show that a child menu exists for this option. \n const optionIconElement = document.createElement('forge-icon');\n optionIconElement.name = 'arrow_right';\n optionIconElement.slot = 'trailing';\n listItemElement.appendChild(optionIconElement);\n\n const nonDividerOptions = flatOptions.filter(o => !o.divider);\n\n // Create the nested cascading element wrapper\n const factoryConfig: IListDropdownCascadingElementFactoryConfig = {\n index: nonDividerOptions.indexOf(option),\n options: option.options,\n parentValue: option.value\n };\n const cascadingElement = config.cascadingElementFactory.call(null, factoryConfig);\n cascadingElement.appendChild(listItemElement);\n listItemElement = cascadingElement;\n }\n\n optionParent.appendChild(listItemElement);\n }\n }\n}\n\nexport function createCheckboxElement(selected: boolean): HTMLElement {\n const checkboxElement = document.createElement('forge-icon');\n checkboxElement.setAttribute(LIST_DROPDOWN_CONSTANTS.attributes.CHECKBOX_ELEMENT, '');\n checkboxElement.name = selected ? tylIconCheckBox.name : tylIconCheckBoxOutlineBlank.name;\n checkboxElement.slot = 'leading';\n checkboxElement.style.marginRight = '16px';\n checkboxElement.style.verticalAlign = 'middle';\n return checkboxElement;\n}\n\nfunction createDivider(): HTMLElement {\n const divider = document.createElement('forge-divider');\n divider.setAttribute('aria-hidden', 'true');\n return divider;\n}\n\nfunction createIconElement(type: ListDropdownIconType = 'font', iconName: string, iconClass?: string, componentProps?: Partial<IIconComponent>): HTMLElement {\n if (type === 'component') {\n const icon = document.createElement('forge-icon');\n if (iconClass) {\n icon.classList.add(iconClass);\n }\n icon.setAttribute('aria-hidden', 'true');\n icon.name = iconName;\n if (componentProps) {\n Object.assign(icon, componentProps);\n }\n return icon;\n }\n\n const iconElement = document.createElement('i');\n iconElement.classList.add(iconClass || ICON_CLASS_NAME);\n iconElement.setAttribute('aria-hidden', 'true');\n iconElement.textContent = iconName;\n return iconElement;\n}\n\nexport function createAsyncElement(asyncStyle?: ListDropdownAsyncStyle): HTMLElement {\n switch (asyncStyle) {\n case ListDropdownAsyncStyle.Skeleton:\n return createSkeletonElement();\n default:\n return createSpinnerElement();\n }\n}\n\nfunction createSpinnerElement(): HTMLElement {\n const div = document.createElement('div');\n div.style.display = 'flex';\n div.style.justifyContent = 'center';\n div.style.alignItems = 'center';\n div.style.padding = '8px';\n div.style.boxSizing = 'border-box';\n\n const spinner = document.createElement('forge-circular-progress');\n spinner.style.setProperty('--forge-circular-progress-size', '24px');\n div.appendChild(spinner);\n\n return div;\n}\n\nfunction createSkeletonElement(): HTMLElement {\n const list = document.createElement('forge-list');\n const div = document.createElement('div');\n div.style.minWidth = '192px';\n for (let i = 0; i < 3; i++) {\n const listItemSkeleton = document.createElement(SKELETON_CONSTANTS.elementName) as ISkeletonComponent;\n listItemSkeleton.setAttribute('list-item', '');\n div.appendChild(listItemSkeleton);\n }\n list.appendChild(div);\n return list;\n}\n\nexport function createBusyElement(): ILinearProgressComponent {\n const linearProgress = document.createElement(LINEAR_PROGRESS_CONSTANTS.elementName) as ILinearProgressComponent;\n linearProgress.determinate = false;\n linearProgress.style.position = 'absolute';\n linearProgress.style.top = '0';\n linearProgress.style.left = '0';\n linearProgress.style.right = '0';\n linearProgress.style.width = '100%';\n return linearProgress;\n}\n\nfunction getOptionsByGroup(options: Array<IListDropdownOption | IListDropdownOptionGroup>): IListDropdownOptionGroup[] {\n return isListDropdownOptionType(options, ListDropdownOptionType.Group) ? (options as IListDropdownOptionGroup[]) : [{ text: '', options }] as IListDropdownOptionGroup[];\n}\n\n/**\n * Determines if the provided options are of the specified type.\n * @param options The options either grouped or individual.\n * @param type The type of option to detect.\n */\nexport function isListDropdownOptionType(options: Array<IListDropdownOption | IListDropdownOptionGroup>, type: ListDropdownOptionType): type is ListDropdownOptionType {\n const isOptionGroups = options.some((o: IListDropdownOption | IListDropdownOptionGroup) => isDefined(o) && isObject(o) && o.hasOwnProperty('options') && (o.hasOwnProperty('text') || o.hasOwnProperty('builder')));\n const isOptionTypes = options.some((o: IListDropdownOption | IListDropdownOptionGroup) => isDefined(o) && isObject(o) && o.hasOwnProperty('label') && o.hasOwnProperty('value'));\n return (isOptionGroups && type === ListDropdownOptionType.Group) || (isOptionTypes && type === ListDropdownOptionType.Option);\n}\n\nexport function getFlattenedOptions(options: Array<IListDropdownOptionGroup | IListDropdownOption>): IListDropdownOption[] {\n if (isListDropdownOptionType(options, ListDropdownOptionType.Group)) {\n const groups = options as IListDropdownOptionGroup[];\n return groups.reduce((flatOpts, group) => flatOpts.concat(group.options), [] as IListDropdownOption[]);\n }\n return [...options as IListDropdownOption[]];\n}\n", "import { IListDropdownAdapter } from './list-dropdown-adapter';\nimport { DEFAULT_LIST_DROPDOWN_CONFIG, IListDropdownConfig, IListDropdownOption, IListDropdownOptionGroup } from './list-dropdown-constants';\nimport { getFlattenedOptions } from './list-dropdown-utils';\n\nexport interface IListDropdownFoundation {\n dropdownElement: HTMLElement | undefined;\n open(): void;\n close(): Promise<void>;\n getActiveOptionIndex(): number;\n getActiveOption(): IListDropdownOption | undefined;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n activateSelectedOption(): void;\n activateFirstOption(): number;\n activateOption(index: number): void;\n setSelectedValues(values: any): void;\n clearActiveOption(): void;\n setOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void;\n appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void;\n scrollSelectedOptionIntoView(animate?: boolean): void;\n setScrollBottomListener(listener: () => void, threshold?: number): void;\n removeScrollBottomListener(): void;\n setBusyVisibility(isVisible: boolean): void;\n handleKey(key: string): void;\n}\n\nexport class ListDropdownFoundation implements IListDropdownFoundation {\n private _config: IListDropdownConfig;\n private _open = false;\n private _selectListener: (value: any, id: string) => void;\n private _closeListener: () => void;\n private _scrollEndListener: () => void;\n\n constructor(private _adapter: IListDropdownAdapter, config: IListDropdownConfig) {\n this._config = Object.assign({ ...DEFAULT_LIST_DROPDOWN_CONFIG }, { ...config });\n this._selectListener = (value, id) => this._onSelect(value, id);\n this._closeListener = () => {\n if (typeof this._config.closeCallback === 'function') {\n this._config.closeCallback();\n }\n };\n this._scrollEndListener = () => {\n if (this._config.observeScroll && typeof this._config.scrollEndListener === 'function') {\n this._config.scrollEndListener();\n }\n };\n }\n\n public destroy(): void {\n this._adapter.remove();\n }\n\n public open(): void {\n if (!this._open) {\n this._open = true;\n this._adapter.open(this._config, this._selectListener, this._closeListener);\n window.requestAnimationFrame(() => {\n if (this._open) {\n this.activateInitialOption();\n }\n });\n\n if (this._config.observeScroll && this._config.scrollEndListener) {\n this._adapter.setScrollBottomListener(this._scrollEndListener, this._config.observeScrollThreshold || 0);\n }\n }\n }\n\n public async close(): Promise<void> {\n if (this._open) {\n this._open = false;\n if (this._config.observeScroll && this._config.scrollEndListener) {\n this._adapter.removeScrollBottomListener(this._scrollEndListener);\n }\n await this._adapter.close();\n }\n }\n\n private _onSelect(value: any, id: string): void {\n if (typeof this._config.activeChangeCallback === 'function') {\n this._config.activeChangeCallback(id);\n }\n\n if (typeof this._config.selectCallback === 'function') {\n this._config.selectCallback(value);\n }\n\n if (this._open) {\n const sync = this._config.syncWidth === undefined ? true : false;\n // Keep the popup width at least the same as the target if the target size has now changed\n this._adapter.syncWidth(sync);\n }\n }\n\n public getActiveOptionIndex(): number {\n return this._adapter.getActiveOptionIndex();\n }\n\n public getActiveOption(): IListDropdownOption | undefined {\n const index = this.getActiveOptionIndex();\n return index >= 0 ? this._nonDividerOptions[index] : undefined;\n }\n \n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n return this._adapter.toggleOptionMultiple(index, isSelected);\n }\n\n public activateSelectedOption(): void {\n this._adapter.activateSelectedOption(this._config);\n }\n\n public activateFirstOption(): number {\n const index = this._nonDividerOptions.findIndex(o => !o.disabled);\n if (index !== -1) {\n this.activateOption(index);\n }\n return index;\n }\n\n public activateLastOption(): number {\n const options = this._nonDividerOptions;\n const index = (options.length - 1) - options.findIndex(o => !o.disabled);\n if (index !== -1) {\n this.activateOption(index);\n }\n return index;\n }\n\n public activateOption(index: number, animate?: boolean): void {\n return this._adapter.activateOption(index, this._config.activeChangeCallback, animate);\n }\n\n public activateInitialOption(): void {\n if (typeof this._config.activeStartIndex === 'number' && this._nonDividerOptions[this._config.activeStartIndex]) {\n this.activateOption(this._config.activeStartIndex, false);\n this._adapter.scrollSelectedOptionIntoView(false);\n } else if (this._config.selectedValues && this._config.selectedValues.length) {\n this._adapter.scrollSelectedOptionIntoView(false);\n } else if (typeof this._config.visibleStartIndex === 'number' && this._nonDividerOptions[this._config.visibleStartIndex]) {\n this._adapter.scrollOptionIntoView(this._config.visibleStartIndex);\n }\n }\n\n public setSelectedValues(values: any[]): void {\n if (!Array.isArray(values)) {\n values = [values];\n }\n if (!this._config.multiple && values.length > 1) {\n values = [values[0]];\n }\n this._config.selectedValues = values;\n this._adapter.setSelectedValues(values, this._config.multiple);\n }\n\n public clearActiveOption(): void {\n this._adapter.clearActiveOption();\n }\n\n public setOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void {\n this._config.options = options;\n if (!this._open) {\n return;\n }\n this._adapter.setOptions(this._config);\n this.activateInitialOption();\n }\n\n public appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void {\n this._config.options = [...this._config.options, ...options] as Array<IListDropdownOption | IListDropdownOptionGroup>;\n if (!this._open) {\n return;\n }\n this._adapter.appendOptions(options, this._config);\n }\n\n public get dropdownElement(): HTMLElement | undefined {\n return this._adapter.dropdownElement;\n }\n\n public scrollSelectedOptionIntoView(animate = true): void {\n this._adapter.scrollSelectedOptionIntoView(animate);\n }\n\n public setScrollBottomListener(listener: () => void, threshold?: number): void {\n this._config.scrollEndListener = listener;\n this._config.observeScroll = true;\n this._config.observeScrollThreshold = threshold;\n this._adapter.setScrollBottomListener(this._scrollEndListener, this._config.observeScrollThreshold || 0);\n }\n\n public removeScrollBottomListener(): void {\n this._config.scrollEndListener = undefined;\n this._adapter.removeScrollBottomListener(this._scrollEndListener);\n }\n\n public setBusyVisibility(isVisible: boolean): void {\n if (!this._config.allowBusy) {\n return;\n }\n this._adapter.setBusyVisibility(isVisible);\n }\n\n public handleKey(key: string): void {\n switch (key) {\n case 'Enter':\n case 'NumpadEnter':\n const activeOptionIndex = this.getActiveOptionIndex();\n const activeOption = this._nonDividerOptions[activeOptionIndex];\n if (this._canSelectOption(activeOption)) {\n const id = this._adapter.getActiveOptionIdByIndex(activeOptionIndex);\n if (id) {\n this._onSelect(activeOption.value, id);\n }\n }\n break;\n case 'Up':\n case 'ArrowUp':\n case 'Down':\n case 'ArrowDown':\n const options = this._nonDividerOptions;\n if (options.length && options.every(o => !this._canSelectOption(o))) {\n return;\n }\n const index = this._getNextActiveOptionIndex(key);\n this.activateOption(index);\n break;\n case 'Home':\n this.activateFirstOption();\n break;\n case 'End':\n this.activateLastOption();\n break;\n }\n }\n\n private _canSelectOption(option: IListDropdownOption): boolean {\n return option && !option.disabled && !option.divider;\n }\n\n private _getNextActiveOptionIndex(key: string): number {\n let index = this._adapter.getActiveOptionIndex();\n if (index === -1) {\n index = this._adapter.getSelectedOptionIndex();\n }\n if (key === 'ArrowUp' || key === 'Up') {\n return this._getPreviousHighlightableOptionIndex(index, this._nonDividerOptions);\n }\n return this._getNextHighlightableOptionIndex(index, this._nonDividerOptions);\n }\n\n private _getPreviousHighlightableOptionIndex(startIndex: number, options: IListDropdownOption[]): number {\n const index = startIndex <= 0 ? options.length - 1 : startIndex - 1;\n if (options[index].disabled) {\n return this._getPreviousHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _getNextHighlightableOptionIndex(startIndex: number, options: IListDropdownOption[]): number {\n const index = startIndex === options.length - 1 ? 0 : startIndex + 1;\n if (options[index].disabled) {\n return this._getNextHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private get _flatOptions(): IListDropdownOption[] {\n return getFlattenedOptions(this._config.options);\n }\n\n private get _nonDividerOptions(): IListDropdownOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n}\n", "import { IListDropdownOption, IListDropdownOpenConfig, IListDropdownOptionGroup, LIST_DROPDOWN_CONSTANTS, ListDropdownType } from './list-dropdown-constants';\nimport { createDropdown, createList, createListItems, createAsyncElement, createBusyElement, createCheckboxElement } from './list-dropdown-utils';\nimport { IListComponent } from '../list/list';\nimport { LIST_ITEM_CONSTANTS, IListItemComponent } from '../list/list-item';\nimport { ScrollEvents, getShadowElement, IScrollObserverConfiguration, ScrollAxisObserver, removeAllChildren, isFunction, removeElement, replaceElement, createVisuallyHiddenElement, isDeepEqual, tryScrollIntoView, closestElement } from '@tylertech/forge-core';\nimport { ILinearProgressComponent } from '../linear-progress';\nimport { ICON_CONSTANTS, IIconComponent } from '../icon';\nimport { IPopoverComponent, POPOVER_CONSTANTS } from '../popover';\n\nexport interface IListDropdownAdapter {\n dropdownElement: HTMLElement | undefined;\n open(config: IListDropdownOpenConfig, selectCallback: (value: any, id: string) => void, closeCb: () => void): void;\n close(): void;\n remove(): void;\n setScrollBottomListener(listener: () => void, scrollThreshold: number): void;\n removeScrollBottomListener(listener: () => void): void;\n getActiveOptionIndex(): number;\n getSelectedOptionIndex(): number;\n getActiveOptionIdByIndex(index: number): string | null;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n scrollOptionIntoView(index: number): void;\n scrollSelectedOptionIntoView(animate?: boolean): void;\n activateSelectedOption(config: IListDropdownOpenConfig): void;\n activateOption(index: number, activeChangeCallback: ((id: string) => void) | undefined, animate?: boolean): void;\n setSelectedValues(values: any[], multiple?: boolean): void;\n clearActiveOption(): void;\n syncWidth(sync: boolean, targetWidthCallback?: () => number): void;\n setOptions(config: IListDropdownOpenConfig): void;\n appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>, config: IListDropdownOpenConfig): void;\n setBusyVisibility(isVisible: boolean): void;\n getScreenWidth(): number;\n}\n\nexport class ListDropdownAdapter implements IListDropdownAdapter {\n private _dropdownElement: IPopoverComponent | undefined;\n private _listElement: IListComponent | undefined;\n private _announcerElement: HTMLElement | undefined;\n private _scrollObserver: ScrollAxisObserver | undefined;\n private _asyncElement: HTMLElement | undefined;\n private _busyElement: ILinearProgressComponent;\n private _headerElement: HTMLElement;\n private _footerElement: HTMLElement;\n\n constructor(private _targetElement: HTMLElement) {}\n\n public get dropdownElement(): HTMLElement | undefined {\n return this._dropdownElement;\n }\n\n public open(config: IListDropdownOpenConfig, selectCallback: (value: any, id: string) => void, closeCb: () => void): void {\n // Now lets create the popup and append the children\n this._dropdownElement = createDropdown(config, this._targetElement);\n\n if (config.type !== ListDropdownType.None && config.type !== ListDropdownType.Menu) {\n this._dropdownElement.preset = 'dropdown';\n }\n\n this.syncWidth(!!config.syncWidth, config.targetWidthCallback);\n\n // If we are configured to show a busy indicator (linear progress bar across the top), then create and append it first\n if (config.allowBusy) {\n this._busyElement = createBusyElement();\n this._busyElement.style.display = 'none';\n this._dropdownElement.appendChild(this._busyElement);\n }\n\n // Create the header element if a builder exists\n if (config.headerBuilder) {\n this._headerElement = config.headerBuilder();\n if (this._headerElement) {\n this._headerElement.setAttribute(LIST_DROPDOWN_CONSTANTS.attributes.DATA_ALLOW_FOCUS, '');\n }\n }\n \n // Create the footer element if a builder exists\n if (config.footerBuilder) {\n this._footerElement = config.footerBuilder();\n if (this._footerElement) {\n this._footerElement.setAttribute(LIST_DROPDOWN_CONSTANTS.attributes.DATA_ALLOW_FOCUS, '');\n }\n }\n\n // Create the list from our config\n this._listElement = createList(config);\n\n // Add the listener for when list items are selected from the dropdown\n this._listElement.addEventListener('forge-list-item-select', evt => {\n evt.detail.listItem.setAttribute('aria-selected', 'true');\n selectCallback(evt.detail.value, evt.detail.listItem.id);\n });\n\n // Determine if we need to show the list or the async element first\n if (config.options.length) {\n // Now we can create an append the list items\n createListItems(config, this._listElement);\n this._dropdownElement.appendChild(this._listElement);\n\n // Always append the optional header element **first**\n if (this._headerElement) {\n this._dropdownElement.insertAdjacentElement('afterbegin', this._headerElement);\n }\n\n // Always append the optional footer element **last**\n if (this._footerElement) {\n this._dropdownElement.appendChild(this._footerElement);\n }\n } else if (config.allowBusy) {\n this._asyncElement = createAsyncElement(config.asyncStyle);\n this._dropdownElement.appendChild(this._asyncElement);\n }\n\n // Create the announcer element for a11y\n this._announcerElement = createVisuallyHiddenElement();\n this._announcerElement.id = `${config.id}-activedescendant`;\n this._dropdownElement.appendChild(this._announcerElement);\n\n // Append to root node\n const hostDocument = this._targetElement.ownerDocument ?? document;\n const hostElement = (closestElement(POPOVER_CONSTANTS.selectors.HOST, this._targetElement) as HTMLElement) ?? hostDocument.body;\n hostElement.appendChild(this._dropdownElement);\n\n // Open the popup\n this._dropdownElement.setAttribute(POPOVER_CONSTANTS.attributes.HOST, '');\n this._dropdownElement.open = true;\n }\n\n public async close(): Promise<void> {\n if (!this._dropdownElement) {\n return;\n }\n await this._dropdownElement.hideAsync();\n this.remove();\n }\n\n public remove(): void {\n this._dropdownElement?.remove();\n this._dropdownElement = undefined;\n this._listElement = undefined;\n this._announcerElement = undefined;\n }\n\n public setScrollBottomListener(listener: () => void, scrollThreshold: number): void {\n if (this._dropdownElement) {\n if (!this._scrollObserver) {\n const scrollConfig: IScrollObserverConfiguration = { scrollThreshold };\n const scrollContainer = getShadowElement(this._dropdownElement, POPOVER_CONSTANTS.selectors.SURFACE) as HTMLElement;\n this._scrollObserver = new ScrollAxisObserver(scrollContainer, scrollConfig);\n this._scrollObserver.addListener(ScrollEvents.ScrolledEnd, listener);\n }\n }\n }\n\n public removeScrollBottomListener(listener: () => void): void {\n if (this._scrollObserver) {\n this._scrollObserver.removeListener(ScrollEvents.ScrolledEnd, listener);\n }\n }\n\n public getActiveOptionIndex(): number {\n if (!this._dropdownElement) {\n return -1;\n }\n const listItems = this._getListItemElements();\n const activeListItem = [...listItems].reverse().find(li => li.active);\n return activeListItem ? listItems.indexOf(activeListItem) : -1;\n }\n\n public getSelectedOptionIndex(): number {\n const listItems = this._getListItemElements();\n return listItems.findIndex(li => li.selected);\n }\n\n public getActiveOptionIdByIndex(index: number): string | null {\n if (!this._dropdownElement) {\n return null;\n }\n const listItems = this._getListItemElements();\n const item = listItems[index];\n return item ? item.id : null;\n }\n\n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n if (!this._dropdownElement) {\n return;\n }\n\n const listItems = this._getListItemElements();\n if (listItems.length && listItems[index]) {\n this._toggleSelectedOption(listItems[index], isSelected);\n }\n }\n\n public scrollOptionIntoView(index: number, animate = true): void {\n const listItem = this._getListItemElements()[index];\n if (listItem) {\n this._scrollListItemIntoView(listItem, animate ? 'smooth' : 'auto', 'center');\n }\n }\n\n public scrollSelectedOptionIntoView(animate = true): void {\n const listItem = this._getSelectedListItem();\n this._scrollListItemIntoView(listItem, animate ? 'smooth' : 'auto', 'center');\n }\n\n public activateSelectedOption(config: IListDropdownOpenConfig): void {\n const listItems = this._getListItemElements();\n if (listItems.length) {\n const activeListItems = listItems.filter(li => li.active);\n activeListItems.forEach(li => li.active = false);\n }\n \n const listItem = this._getSelectedListItem();\n if (listItem) {\n this._activateListOption(listItem, config.activeChangeCallback);\n }\n }\n\n public activateOption(index: number, activeChangeCallback: ((id: string) => void) | undefined, animate = true): void {\n if (!this._dropdownElement) {\n return;\n }\n const listItems = this._getListItemElements();\n if (listItems.length) {\n const activeListItems = listItems.filter(li => li.active);\n activeListItems.forEach(li => li.active = false);\n this._activateListOption(listItems[index], activeChangeCallback);\n this._scrollListItemIntoView(listItems[index], animate ? 'smooth' : 'auto');\n }\n }\n\n public setSelectedValues(values: any[], multiple = false): void {\n if (!this._dropdownElement) {\n return;\n }\n const listItems = this._getListItemElements();\n for (const listItem of listItems) {\n const isSelected = values.some(v => isDeepEqual(v, listItem.value));\n listItem.selected = isSelected;\n\n if (multiple) {\n const checkboxElement = listItem.querySelector(`[${LIST_DROPDOWN_CONSTANTS.attributes.CHECKBOX_ELEMENT}]`) as IIconComponent;\n if (checkboxElement) {\n const newCheckboxElement = createCheckboxElement(isSelected);\n replaceElement(newCheckboxElement, checkboxElement);\n }\n }\n }\n }\n\n public clearActiveOption(): void {\n const listItems = this._getListItemElements();\n listItems.forEach(li => li.active = false);\n }\n\n public syncWidth(sync: boolean, targetWidthCallback?: () => number): void {\n if (this._dropdownElement) {\n const propertyName = sync ? '--forge-popover-width' : '--forge-popover-min-width';\n this._dropdownElement.style.setProperty(propertyName, `${this._getTargetElementWidth(targetWidthCallback)}px`);\n }\n }\n\n public setOptions(config: IListDropdownOpenConfig): void {\n if (!this._dropdownElement || !this._listElement) {\n return;\n }\n if (this._asyncElement && this._asyncElement.isConnected) {\n removeElement(this._asyncElement);\n }\n if (this._busyElement) {\n this._busyElement.style.display = 'none';\n }\n if (!this._listElement.isConnected) {\n this._dropdownElement.appendChild(this._listElement);\n }\n \n removeAllChildren(this._listElement);\n createListItems(config, this._listElement);\n\n if (this._headerElement && !this._headerElement.isConnected) {\n this._dropdownElement.insertAdjacentElement('afterbegin', this._headerElement);\n }\n if (this._footerElement && !this._footerElement.isConnected) {\n this._dropdownElement.insertAdjacentElement('beforeend', this._footerElement);\n }\n if ('position' in this._dropdownElement && typeof this._dropdownElement.position === 'function') {\n this._dropdownElement.position();\n }\n }\n\n public appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>, config: IListDropdownOpenConfig): void {\n if (!this._dropdownElement || !this._listElement) {\n return;\n }\n createListItems(config, this._listElement, options, this._listElement.childElementCount, false);\n }\n\n public setBusyVisibility(isVisible: boolean): void {\n if (!this._dropdownElement) {\n return;\n }\n if (isVisible) {\n this._busyElement.style.removeProperty('display');\n } else {\n this._busyElement.style.display = 'none';\n }\n }\n\n public getScreenWidth(): number {\n return window.innerWidth;\n }\n\n private _getListItemElements(): IListItemComponent[] {\n return this._dropdownElement ? Array.from(this._dropdownElement.querySelectorAll(LIST_ITEM_CONSTANTS.elementName)) as IListItemComponent[] : [];\n }\n\n private _toggleSelectedOption(listItem: IListItemComponent, isSelected: boolean): void {\n if (!this._dropdownElement) {\n return;\n }\n\n // First we need to remove the active state from any other list items\n const listItems = this._getListItemElements();\n if (listItems.length) {\n const activeItems = listItems.filter(li => li !== listItem && li.active);\n activeItems.forEach(ai => ai.active = false);\n }\n\n // Now we can toggle the selected state and sync the active state\n listItem.selected = isSelected;\n listItem.setAttribute('aria-selected', `${isSelected}`);\n listItem.setAttribute('aria-checked', `${isSelected}`);\n\n // Toggle the checkbox icon based on the selected state\n const checkboxElement = listItem.querySelector(`${ICON_CONSTANTS.elementName}[slot=leading]`) as IIconComponent;\n if (checkboxElement) {\n const newCheckboxElement = createCheckboxElement(isSelected);\n replaceElement(newCheckboxElement, checkboxElement);\n }\n }\n\n private _getTargetElementWidth(cb?: () => number): number {\n if (cb && isFunction(cb)) {\n return cb();\n }\n return this._targetElement.getBoundingClientRect().width;\n }\n\n private _activateListOption(listItem: IListItemComponent | undefined, activeChangeCallback?: (id: string) => void): void {\n if (listItem && !listItem.disabled) {\n listItem.active = true;\n if (activeChangeCallback && isFunction(activeChangeCallback)) {\n activeChangeCallback(listItem.id);\n }\n }\n }\n\n private _scrollListItemIntoView(listItem: HTMLElement | undefined, behavior: 'auto' | 'smooth' = 'auto', block: 'nearest' | 'center' = 'nearest'): void {\n if (listItem && this._dropdownElement && this._dropdownElement.isConnected) {\n const scrollContainer = getShadowElement(this._dropdownElement, POPOVER_CONSTANTS.selectors.SURFACE) as HTMLElement;\n if (scrollContainer) {\n tryScrollIntoView(scrollContainer, listItem, behavior, block);\n }\n }\n }\n\n private _getSelectedListItem(): IListItemComponent | undefined {\n const listItems = this._getListItemElements();\n return listItems.find(li => li.selected);\n }\n}\n", "import { tylIconCheckBox, tylIconCheckBoxOutlineBlank } from '@tylertech/tyler-icons/standard';\n\nimport { IListDropdownConfig, IListDropdownOption, IListDropdownOptionGroup } from './list-dropdown-constants';\nimport { ListDropdownFoundation } from './list-dropdown-foundation';\nimport { ListDropdownAdapter } from './list-dropdown-adapter';\nimport { IconRegistry } from '../icon';\n\nexport interface IListDropdown {\n dropdownElement: HTMLElement | undefined;\n open(): void;\n close(): Promise<void>;\n destroy(): void;\n getActiveOptionIndex(): number;\n getActiveOption(): IListDropdownOption | undefined;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n activateSelectedOption(): void;\n activateFirstOption(): number;\n activateOption(index: number): void;\n activateInitialOption(): void;\n clearActiveOption(): void;\n setSelectedValues(values: any[]): void;\n setOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void;\n appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void;\n scrollSelectedOptionIntoView(animate?: boolean): void;\n setScrollBottomListener(listener: () => void, threshold?: number): void;\n removeScrollBottomListener(): void;\n setBusyVisibility(isVisible: boolean): void;\n handleKey(key: string): void;\n}\n\nexport class ListDropdown implements IListDropdown {\n private _foundation: ListDropdownFoundation;\n\n constructor(private _targetElement: HTMLElement, config: IListDropdownConfig) {\n IconRegistry.define([tylIconCheckBox, tylIconCheckBoxOutlineBlank]);\n this._foundation = new ListDropdownFoundation(new ListDropdownAdapter(this._targetElement), config);\n }\n\n public destroy(): void {\n this._foundation.destroy();\n }\n\n /** Opens the dropdown. */\n public open(): void {\n this._foundation.open();\n }\n\n /** Closes the dropdown. */\n public close(): Promise<void> {\n return this._foundation.close();\n }\n\n /** Gets the currently highlighted option index in the dropdown. */\n public getActiveOptionIndex(): number {\n return this._foundation.getActiveOptionIndex();\n }\n\n public getActiveOption(): IListDropdownOption | undefined {\n return this._foundation.getActiveOption();\n }\n \n /** Toggles the selected option by index. Only applies when in multiselect mode. */\n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n return this._foundation.toggleOptionMultiple(index, isSelected);\n }\n \n /** Activates the first selected option. */\n public activateSelectedOption(): void {\n this._foundation.activateSelectedOption();\n }\n\n /** Activates the first non-disabled option. */\n public activateFirstOption(): number {\n return this._foundation.activateFirstOption();\n }\n\n /** Activates (highlights) an option by index. */\n public activateOption(index: number): void {\n return this._foundation.activateOption(index);\n }\n\n /** Activates the first activatable option. */\n public activateInitialOption(): void {\n return this._foundation.activateInitialOption();\n }\n\n /** Clears the active option from the dropdown */\n public clearActiveOption(): void {\n this._foundation.clearActiveOption();\n }\n\n /** Sets the selected values. Only applies when in multiselect mode. */\n public setSelectedValues(values: any[]): void {\n return this._foundation.setSelectedValues(values);\n }\n\n public get dropdownElement(): HTMLElement | undefined {\n return this._foundation.dropdownElement;\n }\n\n public setOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void {\n this._foundation.setOptions(options);\n }\n\n public appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void {\n this._foundation.appendOptions(options);\n }\n\n public scrollSelectedOptionIntoView(animate?: boolean): void {\n this._foundation.scrollSelectedOptionIntoView();\n }\n\n public setScrollBottomListener(listener: () => void, threshold?: number): void {\n this._foundation.setScrollBottomListener(listener, threshold);\n }\n\n public removeScrollBottomListener(): void {\n this._foundation.removeScrollBottomListener();\n }\n\n public setBusyVisibility(isVisible: boolean): void {\n this._foundation.setBusyVisibility(isVisible);\n }\n\n public handleKey(key: string): void {\n this._foundation.handleKey(key);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { ListDropdownHeaderBuilder, ListDropdownFooterBuilder } from './list-dropdown-constants';\n\nexport interface IListDropdownAwareFoundation extends ICustomElementFoundation {\n popupClasses: string | string[];\n popupHeaderBuilder: ListDropdownHeaderBuilder;\n popupFooterBuilder: ListDropdownHeaderBuilder;\n syncPopupWidth: boolean;\n optionLimit: number;\n observeScroll: boolean;\n observeScrollThreshold: number;\n constrainPopupWidth: boolean;\n wrapOptionText: boolean;\n}\n\nexport abstract class ListDropdownAwareFoundation implements IListDropdownAwareFoundation {\n protected _popupClasses: string | string[] = [];\n protected _popupHeaderBuilder: ListDropdownHeaderBuilder;\n protected _popupFooterBuilder: ListDropdownFooterBuilder;\n protected _syncPopupWidth = false;\n protected _optionLimit = 0;\n protected _observeScroll = false;\n protected _observeScrollThreshold = 0;\n protected _constrainPopupWidth = true;\n protected _wrapOptionText = false;\n\n public get syncPopupWidth(): boolean {\n return this._syncPopupWidth;\n }\n public set syncPopupWidth(value: boolean) {\n this._syncPopupWidth = value;\n }\n\n public get popupClasses(): string | string[] {\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[]) {\n if (typeof value === 'string') {\n value = [value];\n }\n if (Array.isArray(value)) {\n this._popupClasses = value;\n }\n }\n\n public get observeScroll(): boolean {\n return this._observeScroll;\n }\n public set observeScroll(value: boolean) {\n this._observeScroll = value;\n }\n\n public get observeScrollThreshold(): number {\n return this._observeScrollThreshold;\n }\n public set observeScrollThreshold(value: number) {\n this._observeScrollThreshold = value;\n }\n\n public get optionLimit(): number {\n return this._optionLimit;\n }\n public set optionLimit(value: number) {\n this._optionLimit = value;\n }\n\n public get popupHeaderBuilder(): ListDropdownHeaderBuilder {\n return this._popupHeaderBuilder;\n }\n public set popupHeaderBuilder(value: ListDropdownHeaderBuilder) {\n this._popupHeaderBuilder = value;\n }\n\n public get popupFooterBuilder(): ListDropdownFooterBuilder {\n return this._popupFooterBuilder;\n }\n public set popupFooterBuilder(value: ListDropdownFooterBuilder) {\n this._popupFooterBuilder = value;\n }\n\n public get constrainPopupWidth(): boolean {\n return this._constrainPopupWidth;\n }\n public set constrainPopupWidth(value: boolean) {\n this._constrainPopupWidth = value;\n }\n\n public get wrapOptionText(): boolean {\n return this._wrapOptionText;\n }\n public set wrapOptionText(value: boolean) {\n this._wrapOptionText = value;\n }\n\n protected _applySelection(): void {}\n}\n", "import { IListDropdownAwareFoundation, ListDropdownAwareFoundation } from './list-dropdown-aware-foundation';\n\nexport interface ICascadingListDropdownAwareFoundation extends IListDropdownAwareFoundation {}\n\nexport interface ICascadingListDropdownAwareFoundationConfiguration {\n popupTimeout: number;\n targetTimeout: number;\n}\n\nexport abstract class CascadingListDropdownAwareFoundation<T> extends ListDropdownAwareFoundation implements ICascadingListDropdownAwareFoundation {\n protected _open = false;\n protected _options: T[] = [];\n protected _childOpen = false;\n protected _popupHasMouse = false; // Used to determine if the popup element is under the users mouse\n protected _mouseCoords: { x: number; y: number };\n protected _activeMouseLeaveTimeout: number;\n protected _targetMouseEnterListener: (evt: MouseEvent) => void;\n protected _targetMouseLeaveListener: (evt: MouseEvent) => void;\n protected _childPopupMouseEnterListener: (evt: MouseEvent) => void;\n protected _childPopupMouseLeaveListener: (evt: MouseEvent) => void;\n protected _documentMouseMoveListener: (evt: MouseEvent) => void;\n \n protected abstract _attachCascadingListeners(): void;\n protected abstract _detachCascadingListeners(): void;\n protected abstract _onCascadingOptionSelected(data: any): void;\n protected abstract _onCascadingChildOpen(index: number): void;\n protected abstract _onCascadingChildClose(index: number): void;\n protected abstract _closeDropdown(): void;\n protected abstract _openDropdown({ fromKeyboard }: { fromKeyboard?: boolean }): void;\n protected abstract _setCascadeTargetInactive(): void;\n protected abstract _isOwnElement(element: Element): boolean;\n\n constructor(private _config: ICascadingListDropdownAwareFoundationConfiguration) {\n super();\n this._targetMouseEnterListener = evt => this._onTargetMouseEnter(evt);\n this._targetMouseLeaveListener = evt => this._onTargetMouseLeave(evt);\n this._childPopupMouseEnterListener = () => this._onChildPopupMouseEnter();\n this._childPopupMouseLeaveListener = () => this._onChildPopupMouseLeave();\n this._documentMouseMoveListener = evt => this._mouseCoords = { x: evt.pageX, y: evt.pageY };\n }\n\n private _onChildPopupMouseEnter(): void {\n this._popupHasMouse = true;\n }\n\n private _onChildPopupMouseLeave(): void {\n this._popupHasMouse = false;\n setTimeout(() => {\n const mouseElement = document.elementFromPoint(this._mouseCoords.x, this._mouseCoords.y);\n if (!this._popupHasMouse && !this._childOpen && (!mouseElement || !this._isOwnElement(mouseElement))) {\n this._setCascadeTargetInactive();\n this._closeDropdown();\n }\n }, this._config.popupTimeout);\n }\n\n private _onTargetMouseEnter(evt: MouseEvent): void {\n if (!this._options.length) {\n return;\n }\n this._openDropdown({ fromKeyboard: false });\n }\n\n private _onTargetMouseLeave(evt: MouseEvent): void {\n // We wrap this in a timeout to allow for the user to take an indirect path toward an open child menu. This\n // allows for the popup to stay open while the user is moving their mouse to it (makes the transition easier and more smooth)\n this._activeMouseLeaveTimeout = window.setTimeout(() => {\n // Ignore this if our open state has changed, or if we have a child popup open now\n if (!this._open || this._childOpen) {\n return;\n }\n if (this._mouseCoords) {\n // We ignore this event if the mouse moved to an element within our own popup\n const mouseElement = document.elementFromPoint(this._mouseCoords.x, this._mouseCoords.y);\n if (mouseElement && this._isOwnElement(mouseElement)) {\n return;\n }\n }\n this._setCascadeTargetInactive();\n this._closeDropdown();\n }, this._config.targetTimeout);\n }\n\n protected _clearMouseLeaveTimeout(): void {\n if (this._activeMouseLeaveTimeout !== undefined) {\n window.clearTimeout(this._activeMouseLeaveTimeout);\n }\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["attributes", "classes", "LIST_DROPDOWN_CONSTANTS", "DEFAULT_LIST_DROPDOWN_CONFIG", "ListDropdownType", "ListDropdownAsyncStyle", "EventAware", "type", "data", "listeners", "cb", "listener", "ScrollDirection", "ScrollEvents", "DEFAULT_SCROLL_THROTTLE", "ScrollAxisObserver", "EventAware", "_element", "_config", "wait", "throttle", "isDefined", "isNumber", "isVertical", "isHorizontal", "position", "direction", "ScrollDirection", "ScrollEvents", "scrollStart", "scrollEnd", "createDropdown", "config", "targetElement", "dropdownElement", "createPopupDropdown", "dropdownId", "evt", "composedPath", "getEventPath", "el", "LIST_DROPDOWN_CONSTANTS", "addClass", "_a", "popoverElement", "POPOVER_CONSTANTS", "createList", "listElement", "LIST_CONSTANTS", "createListItems", "options", "startIndex", "renderSelected", "groups", "getOptionsByGroup", "flatOptions", "getFlattenedOptions", "limitOptions", "optionLimit", "optionIdIndex", "group", "optionParent", "headerElement", "groupWrapper", "listHeaderElement", "option", "dividerElement", "createDivider", "isSelected", "v", "isDeepEqual", "listItemElement", "element", "result", "secondaryLabelElement", "checkboxElement", "createCheckboxElement", "value", "key", "isObject", "leadingIconElement", "createIconElement", "trailingIconElement", "optionIconElement", "factoryConfig", "o", "cascadingElement", "selected", "tylIconCheckBox", "tylIconCheckBoxOutlineBlank", "divider", "type", "iconName", "iconClass", "componentProps", "icon", "iconElement", "ICON_CLASS_NAME", "createAsyncElement", "asyncStyle", "createSkeletonElement", "createSpinnerElement", "div", "spinner", "list", "i", "listItemSkeleton", "SKELETON_CONSTANTS", "createBusyElement", "linearProgress", "LINEAR_PROGRESS_CONSTANTS", "isListDropdownOptionType", "isOptionGroups", "isDefined", "isOptionTypes", "flatOpts", "ListDropdownFoundation", "_adapter", "config", "__spreadValues", "DEFAULT_LIST_DROPDOWN_CONFIG", "value", "id", "sync", "index", "isSelected", "o", "options", "animate", "values", "listener", "threshold", "isVisible", "key", "activeOptionIndex", "activeOption", "option", "startIndex", "getFlattenedOptions", "ListDropdownAdapter", "_targetElement", "config", "selectCallback", "closeCb", "_a", "_b", "createDropdown", "createBusyElement", "LIST_DROPDOWN_CONSTANTS", "createList", "evt", "createListItems", "createAsyncElement", "createVisuallyHiddenElement", "hostDocument", "closestElement", "POPOVER_CONSTANTS", "listener", "scrollThreshold", "scrollConfig", "scrollContainer", "getShadowElement", "ScrollAxisObserver", "ScrollEvents", "listItems", "activeListItem", "li", "index", "item", "isSelected", "animate", "listItem", "activeChangeCallback", "values", "multiple", "v", "isDeepEqual", "checkboxElement", "newCheckboxElement", "createCheckboxElement", "replaceElement", "sync", "targetWidthCallback", "propertyName", "removeElement", "removeAllChildren", "options", "isVisible", "LIST_ITEM_CONSTANTS", "ai", "ICON_CONSTANTS", "cb", "isFunction", "behavior", "block", "tryScrollIntoView", "ListDropdown", "_targetElement", "config", "IconRegistry", "tylIconCheckBox", "tylIconCheckBoxOutlineBlank", "ListDropdownFoundation", "ListDropdownAdapter", "index", "isSelected", "values", "options", "animate", "listener", "threshold", "isVisible", "key", "ListDropdownAwareFoundation", "value", "CascadingListDropdownAwareFoundation", "ListDropdownAwareFoundation", "_config", "evt", "mouseElement"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{b as _,d as m}from"./chunk.FLF5RTYO.js";import{a as v,p as f}from"./chunk.ASLHRT3N.js";import{a as g}from"./chunk.HSADKCGS.js";import{a as c,b as h}from"./chunk.VRSPT7WX.js";import{a as b,e as l,f as a,k as p}from"./chunk.LNTTU2GL.js";import{j as d,r as u}from"./chunk.L4QSPQDE.js";import{k as i}from"./chunk.J2M2MXP2.js";import{d as s}from"./chunk.M3QDAYD2.js";var E=`${h}deprecated-button`,w={TYPE:"type",DISABLED:"disabled",FULL_WIDTH:"full-width"},C={BUTTON:"button,a"},e={elementName:E,attributes:w,selectors:C};var T='<template><slot></slot><forge-focus-indicator part="focus-indicator"></forge-focus-indicator><forge-state-layer exportparts="surface:state-layer"></forge-state-layer></template>',B=':host{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-primary, #3f51b5));--_button-text-color:var(--forge-button-text-color, var(--_button-primary-color));--_button-disabled-color:var(--forge-button-disabled-color, var(--forge-theme-surface-container, #e0e0e0));--_button-padding:var(--forge-button-padding, 8px);--_button-display:var(--forge-button-display, inline-flex);--_button-justify:var(--forge-button-justify, center);--_button-shape:var(--forge-button-shape, var(--forge-shape-medium, 4px));--_button-height:var(--forge-button-height, 36px);--_button-min-width:var(--forge-button-min-width, 64px);--_button-spacing:var(--forge-button-spacing, var(--forge-spacing-xsmall, 8px));--_button-border-width:var(--forge-button-border-width, medium);--_button-border-style:var(--forge-button-border-style, none);--_button-border-color:var(--forge-button-border-color, currentColor);--_button-shape-start-start-radius:var(--forge-button-shape-start-start-radius, var(--_button-shape));--_button-shape-start-end-radius:var(--forge-button-shape-start-end-radius, var(--_button-shape));--_button-shape-end-start-radius:var(--forge-button-shape-end-start-radius, var(--_button-shape));--_button-shape-end-end-radius:var(--forge-button-shape-end-end-radius, var(--_button-shape));--_button-padding-block:var(--forge-button-padding-block, var(--_button-padding));--_button-padding-inline:var(--forge-button-padding-inline, var(--_button-padding));--_button-background:var(--forge-button-background, transparent);--_button-hover-background:var(--forge-button-hover-background, var(--_button-background));--_button-active-background:var(--forge-button-active-background, var(--_button-background));--_button-color:var(--forge-button-color, var(--_button-text-color));--_button-icon-size:var(--forge-button-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.125));--_button-shadow:var(--forge-button-shadow, none);--_button-hover-shadow:var(--forge-button-hover-shadow, none);--_button-active-shadow:var(--forge-button-active-shadow, none);--_button-cursor:var(--forge-button-cursor, pointer);--_button-transition-duration:var(--forge-button-transition-duration, var(--forge-animation-duration-short3, 150ms));--_button-transition-timing:var(--forge-button-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_button-outlined-background:var(--forge-button-outlined-background, var(--_button-background));--_button-outlined-color:var(--forge-button-outlined-color, var(--_button-primary-color));--_button-outlined-border-width:var(--forge-button-outlined-border-width, var(--forge-border-thin, 1px));--_button-outlined-border-style:var(--forge-button-outlined-border-style, solid);--_button-outlined-border-color:var(--forge-button-outlined-border-color, var(--_button-primary-color));--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-primary-container, #d1d5ed));--_button-tonal-disabled-background:var(--forge-button-tonal-disabled-background, var(--_button-disabled-color));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-primary-container, #222c62));--_button-tonal-disabled-color:var(--forge-button-tonal-disabled-color, var(--_button-disabled-text-color));--_button-filled-background:var(--forge-button-filled-background, var(--_button-primary-color));--_button-filled-disabled-background:var(--forge-button-filled-disabled-background, var(--_button-disabled-color));--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-primary, #ffffff));--_button-filled-disabled-color:var(--forge-button-filled-disabled-color, var(--_button-disabled-text-color));--_button-raised-shadow:var(--forge-button-raised-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));--_button-raised-hover-shadow:var(--forge-button-raised-hover-shadow, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12));--_button-raised-active-shadow:var(--forge-button-raised-active-shadow, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12));--_button-raised-disabled-shadow:var(--forge-button-raised-disabled-shadow, none);--_button-link-color:var(--forge-button-link-color, var(--_button-primary-color));--_button-link-text-decoration:var(--forge-button-link-text-decoration, underline);--_button-link-height:var(--forge-button-link-height, auto);--_button-link-padding:var(--forge-button-link-padding, 0);--_button-link-line-height:var(--forge-button-link-line-height, normal);--_button-link-width:var(--forge-button-link-width, auto);--_button-link-hover-text-decoration:var(--forge-button-link-hover-text-decoration, none);--_button-link-active-opacity:var(--forge-button-link-active-opacity, 0.65);--_button-link-transition-duration:var(--forge-button-link-transition-duration, var(--forge-animation-duration-short3, 150ms));--_button-link-transition-timing:var(--forge-button-link-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_button-disabled-cursor:var(--forge-button-disabled-cursor, not-allowed);--_button-disabled-text-color:var(--forge-button-disabled-text-color, var(--forge-theme-text-low, rgba(0, 0, 0, 0.38)));--_button-disabled-background:var(--forge-button-disabled-background, transparent);--_button-disabled-border-color:var(--forge-button-disabled-border-color, var(--_button-disabled-color));--_button-disabled-shadow:var(--forge-button-disabled-shadow, none);--_button-dense-height:var(--forge-button-dense-height, 24px);--_button-pill-shape:var(--forge-button-pill-shape, var(--forge-shape-full, 9999px));--_button-pill-padding-inline:var(--forge-button-pill-padding-inline, var(--forge-spacing-small, 12px));--_button-focus-indicator-offset:var(--forge-button-focus-indicator-offset, 4px);--_button-text-focus-indicator-offset:var(--forge-button-text-focus-indicator-offset, 0px);--_button-link-focus-indicator-offset:var(--forge-button-link-focus-indicator-offset, 2px);--_button-popover-icon-transition-duration:var(--forge-button-popover-icon-transition-duration, var(--forge-animation-duration-short3, 150ms));--_button-popover-icon-transition-timing:var(--forge-button-popover-icon-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_button-popover-icon-open-rotation:var(--forge-button-popover-icon-open-rotation, 180deg)}:host{display:var(--_button-display);position:relative;outline:0;-webkit-tap-highlight-color:transparent;border-radius:var(--_button-shape)}:host([hidden]){display:none}::slotted(:is(button,a)){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-button-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-button-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-button-font-size-scale, .875)));font-weight:var(--forge-typography-button-font-weight,500);line-height:var(--forge-typography-button-line-height, normal);letter-spacing:var(--forge-typography-button-letter-spacing, .0714285714em);text-transform:var(--forge-typography-button-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-button-text-decoration,inherit);text-decoration:var(--forge-typography-button-text-decoration,inherit);position:relative;display:var(--_button-display);-webkit-box-align:center;align-items:center;-webkit-box-pack:var(--_button-justify);justify-content:var(--_button-justify);gap:var(--_button-spacing);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;min-inline-size:var(--_button-min-width);height:var(--_button-height);inline-size:100%;border-width:var(--_button-border-width);border-style:var(--_button-border-style);border-color:var(--_button-border-color);border-start-start-radius:var(--_button-shape-start-start-radius);border-start-end-radius:var(--_button-shape-start-end-radius);border-end-start-radius:var(--_button-shape-end-start-radius);border-end-end-radius:var(--_button-shape-end-end-radius);padding-block:var(--_button-padding-block);padding-inline:var(--_button-padding-inline);-webkit-box-shadow:var(--_button-shadow);box-shadow:var(--_button-shadow);outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;vertical-align:middle;text-decoration:none;white-space:nowrap;background:var(--_button-background);color:var(--_button-color);cursor:var(--_button-cursor);-webkit-transition-property:background,-webkit-box-shadow;transition-property:background,-webkit-box-shadow;transition-property:box-shadow,background;transition-property:box-shadow,background,-webkit-box-shadow;-webkit-transition-duration:var(--_button-transition-duration);transition-duration:var(--_button-transition-duration);-webkit-transition-timing-function:var(--_button-transition-timing);transition-timing-function:var(--_button-transition-timing);--forge-icon-font-size:1.25em}::slotted(:is(button,a))::-moz-focus-inner{padding:0;border:0}::slotted(:is(button,a)):hover{--_button-shadow:var(--_button-hover-shadow);background:var(--_button-hover-background)}::slotted(:is(button,a)):active{--_button-shadow:var(--_button-active-shadow);background:var(--_button-active-background)}::slotted(a){text-decoration:none;--forge-typography-link-text-decoration:none}forge-state-layer{--forge-state-layer-color:var(--_button-color)}forge-focus-indicator{--forge-focus-indicator-color:var(--_button-primary-color);--forge-focus-indicator-outward-offset:var(--_button-focus-indicator-offset)}:host(:is(:not([type],[type*=text]))) ::slotted(:is(button,a)){--_button-focus-indicator-offset:var(--_button-text-focus-indicator-offset)}:host(:is([type*=unelevated],[type*=raised])) ::slotted(:is(button,a)){--_button-background:var(--_button-filled-background);--_button-color:var(--_button-filled-color)}:host(:is([type*=unelevated],[type*=raised])) forge-state-layer{--forge-state-layer-color:var(--_button-filled-color)}:host([type*=raised]) ::slotted(:is(button,a)){--_button-shadow:var(--_button-raised-shadow)}:host([type*=raised]) ::slotted(:is(button,a)):hover{--_button-shadow:var(--_button-raised-hover-shadow)}:host([type*=raised]) ::slotted(:is(button,a)):active{--_button-shadow:var(--_button-raised-active-shadow)}:host([type*=outlined]) ::slotted(:is(button,a)){--_button-background:var(--_button-outlined-background);--_button-color:var(--_button-outlined-color);--_button-border-width:var(--_button-outlined-border-width);--_button-border-style:var(--_button-outlined-border-style);--_button-border-color:var(--_button-outlined-border-color)}:host([full-width]){width:100%}:host(:is([dense],[type*=dense])) ::slotted(:is(button,a)){--_button-height:var(--_button-dense-height)}:host([disabled]){cursor:var(--_button-disabled-cursor)}:host([disabled]) ::slotted(button[disabled]){--_button-background:var(--_button-disabled-background);--_button-color:var(--_button-disabled-text-color);--_button-shadow:var(--_button-disabled-shadow);pointer-events:none}:host([type*=outlined][disabled]) ::slotted(button[disabled]){--_button-border-color:var(--_button-disabled-border-color)}:host(:is([type*=unelevated],[type*=raised])[disabled]) ::slotted(button[disabled]){--_button-background:var(--_button-filled-disabled-background);--_button-color:var(--_button-filled-disabled-color)}:host([type*=raised][disabled]) ::slotted(button[disabled]){--_button-shadow:var(--_button-raised-disabled-shadow)}',r=class extends p{constructor(){super();this._buttonOrAnchorElement=null;this._disabled=!1;this._fullWidth=!1;this._buttonChangeListener=this._onButtonChange.bind(this);this._keydownListener=t=>this._onKeydown(t);l(this,T,B),this._slotElement=a(this,"slot:not([name])"),this._focusIndicator=a(this,_.elementName),this._stateLayer=a(this,v.elementName)}static get observedAttributes(){return Object.values(e.attributes)}connectedCallback(){this._slotElement.addEventListener("slotchange",this._buttonChangeListener),this.children.length?this._initialize():d(this).then(()=>this._initialize())}disconnectedCallback(){this._detachButton()}attributeChangedCallback(t,o,n){switch(t){case e.attributes.TYPE:this.type=n;return;case e.attributes.DISABLED:this.disabled=i(n);return;case e.attributes.FULL_WIDTH:this.fullWidth=i(n);return}}_onKeydown(t){(t.key==="Enter"||t.key===" ")&&this._stateLayer.playAnimation()}_onButtonChange(){this._detachButton(),this._initialize()}_initialize(){this._buttonOrAnchorElement=this.querySelector(e.selectors.BUTTON),this._buttonOrAnchorElement&&(this._stateLayer.targetElement=this._buttonOrAnchorElement,this._focusIndicator.targetElement=this._buttonOrAnchorElement,this._buttonOrAnchorElement.addEventListener("keydown",this._keydownListener),this._buttonOrAnchorElement instanceof HTMLButtonElement&&this._disabled&&!this._buttonOrAnchorElement.disabled?this._buttonOrAnchorElement.disabled=!0:this.disabled=this._buttonOrAnchorElement instanceof HTMLButtonElement&&this._buttonOrAnchorElement.disabled,this._buttonOrAnchorElement instanceof HTMLButtonElement&&(this._buttonAttrMutationObserver=new MutationObserver(t=>{t.some(o=>o.attributeName==="disabled")&&this._syncDisabledState()}),this._buttonAttrMutationObserver.observe(this._buttonOrAnchorElement,{attributes:!0,attributeFilter:["disabled"]})))}_syncDisabledState(){let t=this._buttonOrAnchorElement instanceof HTMLButtonElement&&this._buttonOrAnchorElement.disabled;u(this,t,e.attributes.DISABLED)}_detachButton(){var t;(t=this._buttonOrAnchorElement)==null||t.removeEventListener("keydown",this._keydownListener),this._buttonAttrMutationObserver&&(this._buttonAttrMutationObserver.disconnect(),this._buttonAttrMutationObserver=void 0)}get type(){return this._type}set type(t){this._type!==t&&(this._type=t,this.setAttribute(e.attributes.TYPE,this._type))}get disabled(){return this._disabled}set disabled(t){var o;this._disabled!==t&&(this._disabled=t,(o=this._buttonOrAnchorElement)==null||o.toggleAttribute(e.attributes.DISABLED,this._disabled),this.toggleAttribute(e.attributes.DISABLED,this._disabled))}get fullWidth(){return this._fullWidth}set fullWidth(t){this._fullWidth!==t&&(this._fullWidth=t,this.toggleAttribute(e.attributes.FULL_WIDTH,this._fullWidth))}focus(t){var o;(o=this._buttonOrAnchorElement)==null||o.focus(t)}};r=s([c({name:e.elementName,dependencies:[m,f]})],r);var y=class extends g{constructor(t){super(t)}destroy(){this._buttonElement=void 0}get buttonElement(){return this._buttonElement}_build(){var o,n;let t=document.createElement(e.elementName);return this._buttonElement=document.createElement("button"),this._buttonElement.type=((o=this._config.options)==null?void 0:o.type)||"button",this._buttonElement.textContent=((n=this._config.options)==null?void 0:n.text)||"",t.appendChild(this._buttonElement),t}onClick(t){var o;(o=this._buttonElement)==null||o.addEventListener("click",t)}onFocus(t){var o;(o=this._buttonElement)==null||o.addEventListener("focus",n=>t(n))}onBlur(t){var o;(o=this._buttonElement)==null||o.addEventListener("blur",n=>t(n))}};function $(){b(r)}export{e as a,r as b,y as c,$ as d};
7
+ //# sourceMappingURL=chunk.7IPAW4D2.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/deprecated/button/deprecated-button-constants.ts", "../../src/deprecated/button/deprecated-button.ts", "../../src/deprecated/button/deprecated-button-component-delegate.ts", "../../src/deprecated/button/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}deprecated-button`;\n\nconst attributes = {\n TYPE: 'type',\n DISABLED: 'disabled',\n FULL_WIDTH: 'full-width'\n};\n\nconst selectors = {\n BUTTON: 'button,a'\n};\n\nexport const DEPRECATED_BUTTON_CONSTANTS = {\n elementName,\n attributes,\n selectors\n};\n\nexport type DeprecatedButtonType = 'text' | 'raised' | 'unelevated' | 'outlined' | 'dense';\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChildren, getShadowElement, toggleAttribute } from '@tylertech/forge-core';\nimport { FocusIndicatorComponent, FOCUS_INDICATOR_CONSTANTS, IFocusIndicatorComponent } from '../../focus-indicator';\nimport { IStateLayerComponent, StateLayerComponent, STATE_LAYER_CONSTANTS } from '../../state-layer';\nimport { DeprecatedButtonType, DEPRECATED_BUTTON_CONSTANTS } from './deprecated-button-constants';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nconst template = '<template><slot></slot><forge-focus-indicator part=\\\"focus-indicator\\\"></forge-focus-indicator><forge-state-layer exportparts=\\\"surface:state-layer\\\"></forge-state-layer></template>';\nconst styles = ':host{--_button-primary-color:var(--forge-button-primary-color, var(--forge-theme-primary, #3f51b5));--_button-text-color:var(--forge-button-text-color, var(--_button-primary-color));--_button-disabled-color:var(--forge-button-disabled-color, var(--forge-theme-surface-container, #e0e0e0));--_button-padding:var(--forge-button-padding, 8px);--_button-display:var(--forge-button-display, inline-flex);--_button-justify:var(--forge-button-justify, center);--_button-shape:var(--forge-button-shape, var(--forge-shape-medium, 4px));--_button-height:var(--forge-button-height, 36px);--_button-min-width:var(--forge-button-min-width, 64px);--_button-spacing:var(--forge-button-spacing, var(--forge-spacing-xsmall, 8px));--_button-border-width:var(--forge-button-border-width, medium);--_button-border-style:var(--forge-button-border-style, none);--_button-border-color:var(--forge-button-border-color, currentColor);--_button-shape-start-start-radius:var(--forge-button-shape-start-start-radius, var(--_button-shape));--_button-shape-start-end-radius:var(--forge-button-shape-start-end-radius, var(--_button-shape));--_button-shape-end-start-radius:var(--forge-button-shape-end-start-radius, var(--_button-shape));--_button-shape-end-end-radius:var(--forge-button-shape-end-end-radius, var(--_button-shape));--_button-padding-block:var(--forge-button-padding-block, var(--_button-padding));--_button-padding-inline:var(--forge-button-padding-inline, var(--_button-padding));--_button-background:var(--forge-button-background, transparent);--_button-hover-background:var(--forge-button-hover-background, var(--_button-background));--_button-active-background:var(--forge-button-active-background, var(--_button-background));--_button-color:var(--forge-button-color, var(--_button-text-color));--_button-icon-size:var(--forge-button-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.125));--_button-shadow:var(--forge-button-shadow, none);--_button-hover-shadow:var(--forge-button-hover-shadow, none);--_button-active-shadow:var(--forge-button-active-shadow, none);--_button-cursor:var(--forge-button-cursor, pointer);--_button-transition-duration:var(--forge-button-transition-duration, var(--forge-animation-duration-short3, 150ms));--_button-transition-timing:var(--forge-button-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_button-outlined-background:var(--forge-button-outlined-background, var(--_button-background));--_button-outlined-color:var(--forge-button-outlined-color, var(--_button-primary-color));--_button-outlined-border-width:var(--forge-button-outlined-border-width, var(--forge-border-thin, 1px));--_button-outlined-border-style:var(--forge-button-outlined-border-style, solid);--_button-outlined-border-color:var(--forge-button-outlined-border-color, var(--_button-primary-color));--_button-tonal-background:var(--forge-button-tonal-background, var(--forge-theme-primary-container, #d1d5ed));--_button-tonal-disabled-background:var(--forge-button-tonal-disabled-background, var(--_button-disabled-color));--_button-tonal-color:var(--forge-button-tonal-color, var(--forge-theme-on-primary-container, #222c62));--_button-tonal-disabled-color:var(--forge-button-tonal-disabled-color, var(--_button-disabled-text-color));--_button-filled-background:var(--forge-button-filled-background, var(--_button-primary-color));--_button-filled-disabled-background:var(--forge-button-filled-disabled-background, var(--_button-disabled-color));--_button-filled-color:var(--forge-button-filled-color, var(--forge-theme-on-primary, #ffffff));--_button-filled-disabled-color:var(--forge-button-filled-disabled-color, var(--_button-disabled-text-color));--_button-raised-shadow:var(--forge-button-raised-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));--_button-raised-hover-shadow:var(--forge-button-raised-hover-shadow, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12));--_button-raised-active-shadow:var(--forge-button-raised-active-shadow, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12));--_button-raised-disabled-shadow:var(--forge-button-raised-disabled-shadow, none);--_button-link-color:var(--forge-button-link-color, var(--_button-primary-color));--_button-link-text-decoration:var(--forge-button-link-text-decoration, underline);--_button-link-height:var(--forge-button-link-height, auto);--_button-link-padding:var(--forge-button-link-padding, 0);--_button-link-line-height:var(--forge-button-link-line-height, normal);--_button-link-width:var(--forge-button-link-width, auto);--_button-link-hover-text-decoration:var(--forge-button-link-hover-text-decoration, none);--_button-link-active-opacity:var(--forge-button-link-active-opacity, 0.65);--_button-link-transition-duration:var(--forge-button-link-transition-duration, var(--forge-animation-duration-short3, 150ms));--_button-link-transition-timing:var(--forge-button-link-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_button-disabled-cursor:var(--forge-button-disabled-cursor, not-allowed);--_button-disabled-text-color:var(--forge-button-disabled-text-color, var(--forge-theme-text-low, rgba(0, 0, 0, 0.38)));--_button-disabled-background:var(--forge-button-disabled-background, transparent);--_button-disabled-border-color:var(--forge-button-disabled-border-color, var(--_button-disabled-color));--_button-disabled-shadow:var(--forge-button-disabled-shadow, none);--_button-dense-height:var(--forge-button-dense-height, 24px);--_button-pill-shape:var(--forge-button-pill-shape, var(--forge-shape-full, 9999px));--_button-pill-padding-inline:var(--forge-button-pill-padding-inline, var(--forge-spacing-small, 12px));--_button-focus-indicator-offset:var(--forge-button-focus-indicator-offset, 4px);--_button-text-focus-indicator-offset:var(--forge-button-text-focus-indicator-offset, 0px);--_button-link-focus-indicator-offset:var(--forge-button-link-focus-indicator-offset, 2px);--_button-popover-icon-transition-duration:var(--forge-button-popover-icon-transition-duration, var(--forge-animation-duration-short3, 150ms));--_button-popover-icon-transition-timing:var(--forge-button-popover-icon-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_button-popover-icon-open-rotation:var(--forge-button-popover-icon-open-rotation, 180deg)}:host{display:var(--_button-display);position:relative;outline:0;-webkit-tap-highlight-color:transparent;border-radius:var(--_button-shape)}:host([hidden]){display:none}::slotted(:is(button,a)){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-button-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-button-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-button-font-size-scale, .875)));font-weight:var(--forge-typography-button-font-weight,500);line-height:var(--forge-typography-button-line-height, normal);letter-spacing:var(--forge-typography-button-letter-spacing, .0714285714em);text-transform:var(--forge-typography-button-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-button-text-decoration,inherit);text-decoration:var(--forge-typography-button-text-decoration,inherit);position:relative;display:var(--_button-display);-webkit-box-align:center;align-items:center;-webkit-box-pack:var(--_button-justify);justify-content:var(--_button-justify);gap:var(--_button-spacing);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;min-inline-size:var(--_button-min-width);height:var(--_button-height);inline-size:100%;border-width:var(--_button-border-width);border-style:var(--_button-border-style);border-color:var(--_button-border-color);border-start-start-radius:var(--_button-shape-start-start-radius);border-start-end-radius:var(--_button-shape-start-end-radius);border-end-start-radius:var(--_button-shape-end-start-radius);border-end-end-radius:var(--_button-shape-end-end-radius);padding-block:var(--_button-padding-block);padding-inline:var(--_button-padding-inline);-webkit-box-shadow:var(--_button-shadow);box-shadow:var(--_button-shadow);outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;vertical-align:middle;text-decoration:none;white-space:nowrap;background:var(--_button-background);color:var(--_button-color);cursor:var(--_button-cursor);-webkit-transition-property:background,-webkit-box-shadow;transition-property:background,-webkit-box-shadow;transition-property:box-shadow,background;transition-property:box-shadow,background,-webkit-box-shadow;-webkit-transition-duration:var(--_button-transition-duration);transition-duration:var(--_button-transition-duration);-webkit-transition-timing-function:var(--_button-transition-timing);transition-timing-function:var(--_button-transition-timing);--forge-icon-font-size:1.25em}::slotted(:is(button,a))::-moz-focus-inner{padding:0;border:0}::slotted(:is(button,a)):hover{--_button-shadow:var(--_button-hover-shadow);background:var(--_button-hover-background)}::slotted(:is(button,a)):active{--_button-shadow:var(--_button-active-shadow);background:var(--_button-active-background)}::slotted(a){text-decoration:none;--forge-typography-link-text-decoration:none}forge-state-layer{--forge-state-layer-color:var(--_button-color)}forge-focus-indicator{--forge-focus-indicator-color:var(--_button-primary-color);--forge-focus-indicator-outward-offset:var(--_button-focus-indicator-offset)}:host(:is(:not([type],[type*=text]))) ::slotted(:is(button,a)){--_button-focus-indicator-offset:var(--_button-text-focus-indicator-offset)}:host(:is([type*=unelevated],[type*=raised])) ::slotted(:is(button,a)){--_button-background:var(--_button-filled-background);--_button-color:var(--_button-filled-color)}:host(:is([type*=unelevated],[type*=raised])) forge-state-layer{--forge-state-layer-color:var(--_button-filled-color)}:host([type*=raised]) ::slotted(:is(button,a)){--_button-shadow:var(--_button-raised-shadow)}:host([type*=raised]) ::slotted(:is(button,a)):hover{--_button-shadow:var(--_button-raised-hover-shadow)}:host([type*=raised]) ::slotted(:is(button,a)):active{--_button-shadow:var(--_button-raised-active-shadow)}:host([type*=outlined]) ::slotted(:is(button,a)){--_button-background:var(--_button-outlined-background);--_button-color:var(--_button-outlined-color);--_button-border-width:var(--_button-outlined-border-width);--_button-border-style:var(--_button-outlined-border-style);--_button-border-color:var(--_button-outlined-border-color)}:host([full-width]){width:100%}:host(:is([dense],[type*=dense])) ::slotted(:is(button,a)){--_button-height:var(--_button-dense-height)}:host([disabled]){cursor:var(--_button-disabled-cursor)}:host([disabled]) ::slotted(button[disabled]){--_button-background:var(--_button-disabled-background);--_button-color:var(--_button-disabled-text-color);--_button-shadow:var(--_button-disabled-shadow);pointer-events:none}:host([type*=outlined][disabled]) ::slotted(button[disabled]){--_button-border-color:var(--_button-disabled-border-color)}:host(:is([type*=unelevated],[type*=raised])[disabled]) ::slotted(button[disabled]){--_button-background:var(--_button-filled-disabled-background);--_button-color:var(--_button-filled-disabled-color)}:host([type*=raised][disabled]) ::slotted(button[disabled]){--_button-shadow:var(--_button-raised-disabled-shadow)}';\n\n/**\n * @deprecated Use `IButtonComponent` component instead.\n */\nexport interface IDeprecatedButtonComponent extends IBaseComponent {\n type: string;\n disabled: boolean;\n fullWidth: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-deprecated-button': IDeprecatedButtonComponent;\n }\n}\n\n/**\n * @tag forge-deprecated-button\n * \n * @deprecated Use the `<forge-button>` element instead.\n */\n@CustomElement({\n name: DEPRECATED_BUTTON_CONSTANTS.elementName,\n dependencies: [\n FocusIndicatorComponent,\n StateLayerComponent\n ]\n})\nexport class DeprecatedButtonComponent extends BaseComponent implements IDeprecatedButtonComponent {\n public static get observedAttributes(): string[] {\n return Object.values(DEPRECATED_BUTTON_CONSTANTS.attributes);\n }\n\n private _slotElement: HTMLSlotElement;\n private _focusIndicator: IFocusIndicatorComponent;\n private _stateLayer: IStateLayerComponent;\n private _buttonOrAnchorElement: HTMLButtonElement | HTMLAnchorElement | null = null;\n private _type: DeprecatedButtonType;\n private _disabled = false;\n private _fullWidth = false;\n private _buttonChangeListener = this._onButtonChange.bind(this);\n private _buttonAttrMutationObserver: MutationObserver | undefined;\n private _keydownListener = (evt: KeyboardEvent): void => this._onKeydown(evt);\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._slotElement = getShadowElement(this, 'slot:not([name])') as HTMLSlotElement;\n this._focusIndicator = getShadowElement(this, FOCUS_INDICATOR_CONSTANTS.elementName) as IFocusIndicatorComponent;\n this._stateLayer = getShadowElement(this, STATE_LAYER_CONSTANTS.elementName) as IStateLayerComponent;\n }\n\n public connectedCallback(): void {\n this._slotElement.addEventListener('slotchange', this._buttonChangeListener);\n\n if (this.children.length) {\n this._initialize();\n } else {\n ensureChildren(this).then(() => this._initialize());\n }\n }\n\n public disconnectedCallback(): void {\n this._detachButton();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case DEPRECATED_BUTTON_CONSTANTS.attributes.TYPE:\n this.type = newValue as DeprecatedButtonType;\n return;\n case DEPRECATED_BUTTON_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n return;\n case DEPRECATED_BUTTON_CONSTANTS.attributes.FULL_WIDTH:\n this.fullWidth = coerceBoolean(newValue);\n return;\n }\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n if (evt.key === 'Enter' || evt.key === ' ') {\n this._stateLayer.playAnimation();\n }\n }\n\n private _onButtonChange(): void {\n this._detachButton();\n this._initialize();\n }\n\n private _initialize(): void {\n this._buttonOrAnchorElement = this.querySelector<HTMLButtonElement | HTMLAnchorElement>(DEPRECATED_BUTTON_CONSTANTS.selectors.BUTTON);\n if (!this._buttonOrAnchorElement) {\n return;\n }\n\n this._stateLayer.targetElement = this._buttonOrAnchorElement;\n this._focusIndicator.targetElement = this._buttonOrAnchorElement;\n\n this._buttonOrAnchorElement.addEventListener('keydown', this._keydownListener);\n \n // Sync disabled state\n if (this._buttonOrAnchorElement instanceof HTMLButtonElement && this._disabled && !this._buttonOrAnchorElement.disabled) {\n this._buttonOrAnchorElement.disabled = true;\n } else {\n this.disabled = this._buttonOrAnchorElement instanceof HTMLButtonElement && this._buttonOrAnchorElement.disabled;\n }\n\n // Listen for disabled attribute changes on the button\n if (this._buttonOrAnchorElement instanceof HTMLButtonElement) {\n this._buttonAttrMutationObserver = new MutationObserver(mutationList => {\n if (mutationList.some(mutation => mutation.attributeName === 'disabled')) {\n this._syncDisabledState();\n }\n });\n this._buttonAttrMutationObserver.observe(this._buttonOrAnchorElement, { attributes: true, attributeFilter: ['disabled'] });\n }\n }\n\n private _syncDisabledState(): void {\n const isDisabled = this._buttonOrAnchorElement instanceof HTMLButtonElement && this._buttonOrAnchorElement.disabled;\n toggleAttribute(this, isDisabled, DEPRECATED_BUTTON_CONSTANTS.attributes.DISABLED);\n }\n\n private _detachButton(): void {\n this._buttonOrAnchorElement?.removeEventListener('keydown', this._keydownListener);\n\n if (this._buttonAttrMutationObserver) {\n this._buttonAttrMutationObserver.disconnect();\n this._buttonAttrMutationObserver = undefined;\n }\n }\n\n public get type(): DeprecatedButtonType {\n return this._type;\n }\n public set type(value: DeprecatedButtonType) {\n if (this._type !== value) {\n this._type = value;\n this.setAttribute(DEPRECATED_BUTTON_CONSTANTS.attributes.TYPE, this._type);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._buttonOrAnchorElement?.toggleAttribute(DEPRECATED_BUTTON_CONSTANTS.attributes.DISABLED, this._disabled);\n this.toggleAttribute(DEPRECATED_BUTTON_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get fullWidth(): boolean {\n return this._fullWidth;\n }\n public set fullWidth(value: boolean) {\n if (this._fullWidth !== value) {\n this._fullWidth = value;\n this.toggleAttribute(DEPRECATED_BUTTON_CONSTANTS.attributes.FULL_WIDTH, this._fullWidth);\n }\n }\n\n public override focus(options?: FocusOptions | undefined): void {\n this._buttonOrAnchorElement?.focus(options);\n }\n}\n", "import { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../../core/delegates/base-component-delegate';\nimport { IDeprecatedButtonComponent } from './deprecated-button';\nimport { DEPRECATED_BUTTON_CONSTANTS } from './deprecated-button-constants';\n\nexport type DeprecatedButtonComponentDelegateProps = Partial<IDeprecatedButtonComponent>;\nexport interface IDeprecatedButtonComponentDelegateOptions extends IBaseComponentDelegateOptions {\n type?: 'button' | 'submit';\n text?: string;\n}\nexport interface IDeprecatedButtonComponentDelegateConfig extends IBaseComponentDelegateConfig<IDeprecatedButtonComponent, IDeprecatedButtonComponentDelegateOptions> {}\n\nexport class DeprecatedButtonComponentDelegate extends BaseComponentDelegate<IDeprecatedButtonComponent, IDeprecatedButtonComponentDelegateOptions> {\n private _buttonElement?: HTMLButtonElement;\n\n constructor(config?: IDeprecatedButtonComponentDelegateConfig) {\n super(config);\n }\n\n public override destroy(): void {\n this._buttonElement = undefined;\n }\n\n public get buttonElement(): HTMLButtonElement | undefined {\n return this._buttonElement;\n }\n\n protected _build(): IDeprecatedButtonComponent {\n const component = document.createElement(DEPRECATED_BUTTON_CONSTANTS.elementName);\n\n this._buttonElement = document.createElement('button');\n this._buttonElement.type = this._config.options?.type || 'button';\n this._buttonElement.textContent = this._config.options?.text || '';\n component.appendChild(this._buttonElement);\n\n return component;\n }\n\n public onClick(listener: (evt: MouseEvent) => void): void {\n this._buttonElement?.addEventListener('click', listener);\n }\n\n public onFocus(listener: (evt: Event) => void): void {\n this._buttonElement?.addEventListener('focus', evt => listener(evt));\n }\n\n public onBlur(listener: (evt: Event) => void): void {\n this._buttonElement?.addEventListener('blur', evt => listener(evt));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { DeprecatedButtonComponent } from './deprecated-button';\n\nexport * from './deprecated-button';\nexport * from './deprecated-button-component-delegate';\nexport * from './deprecated-button-constants';\n\n/**\n * @deprecated Use `defineButtonComponent()` instead for the `<forge-button>` element.\n */\nexport function defineDeprecatedButtonComponent(): void {\n defineCustomElement(DeprecatedButtonComponent);\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "DEPRECATED_BUTTON_CONSTANTS", "template", "styles", "DeprecatedButtonComponent", "BaseComponent", "evt", "attachShadowTemplate", "getShadowElement", "FOCUS_INDICATOR_CONSTANTS", "STATE_LAYER_CONSTANTS", "DEPRECATED_BUTTON_CONSTANTS", "ensureChildren", "name", "oldValue", "newValue", "coerceBoolean", "mutationList", "mutation", "isDisabled", "toggleAttribute", "_a", "value", "options", "__decorateClass", "CustomElement", "FocusIndicatorComponent", "StateLayerComponent", "DeprecatedButtonComponentDelegate", "BaseComponentDelegate", "config", "_a", "_b", "component", "DEPRECATED_BUTTON_CONSTANTS", "listener", "evt", "defineDeprecatedButtonComponent", "defineCustomElement", "DeprecatedButtonComponent"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{d as y}from"./chunk.QVATEY5S.js";import{b as N}from"./chunk.SROEDYPL.js";import{d as B}from"./chunk.QIZBZGYT.js";import{a as E}from"./chunk.37B332ZK.js";import{l as I}from"./chunk.T7NWP7DB.js";import{a as o}from"./chunk.NVUMRW44.js";import{a as A}from"./chunk.OLFOVKQG.js";import{a as T,b as x}from"./chunk.VRSPT7WX.js";import{a as v,e as b,f as n,k as O}from"./chunk.LNTTU2GL.js";import{c as d}from"./chunk.L4QSPQDE.js";import{k as f,l as m}from"./chunk.J2M2MXP2.js";import{a as p,b as g,d as a}from"./chunk.M3QDAYD2.js";var h=`${x}profile-card`,L={FULL_NAME:"full-name",EMAIL:"email",SIGN_OUT:"sign-out",PROFILE:"profile",SIGN_OUT_TEXT:"sign-out-text",PROFILE_TEXT:"profile-text",AVATAR_TEXT:"avatar-text",AVATAR_ICON:"avatar-icon",AVATAR_IMAGE_URL:"avatar-image-url",AVATAR_LETTER_COUNT:"avatar-letter-count"},C={FULL_NAME:".full-name",EMAIL:".email",AVATAR:".avatar > forge-avatar",ACTION_TOOLBAR:"#action-toolbar",PROFILE_BUTTON:"#profile-button",SIGN_OUT_BUTTON:"#sign-out-button"},U={SHOW_SIGN_OUT_BUTTON:!0,SHOW_PROFILE_BUTTON:!1,SIGN_OUT_BUTTON_TEXT:"Sign out",PROFILE_BUTTON_TEXT:"Profile"},P={SIGN_OUT:`${h}-sign-out`,PROFILE:`${h}-profile`},i={elementName:h,attributes:L,selectors:C,defaults:U,events:P};var l=class extends A{constructor(e){super(e);this._fullNameElement=n(e,i.selectors.FULL_NAME),this._emailElement=n(e,i.selectors.EMAIL),this._avatarElement=n(e,i.selectors.AVATAR),this._actionToolbar=n(e,i.selectors.ACTION_TOOLBAR),this._profileButton=n(e,i.selectors.PROFILE_BUTTON),this._signOutButton=n(e,i.selectors.SIGN_OUT_BUTTON)}setFullName(e){this._fullNameElement.textContent=e}setEmail(e){this._emailElement.textContent=e}setAvatarText(e){d(this._avatarElement),this._avatarElement.text=e}setAvatarIcon(e){if(e){let _=new E({props:{name:e}});this._avatarElement.replaceChildren(_.element)}else d(this._avatarElement)}setAvatarImageUrl(e){this._avatarElement.imageUrl=e}setAvatarLetterCount(e){this._avatarElement.letterCount=e}setActionToolbarVisibility(e){e?this._actionToolbar.style.removeProperty("display"):this._actionToolbar.style.display="none"}setProfileButtonVisibility(e){e?this._profileButton.style.removeProperty("display"):this._profileButton.style.display="none"}setSignOutButtonVisibility(e){e?this._signOutButton.style.removeProperty("display"):this._signOutButton.style.display="none"}setSignOutButtonText(e){this._signOutButton.textContent=e}setProfileButtonText(e){this._profileButton.textContent=e}setProfileButtonListener(e){this._profileButton.addEventListener("click",e)}setSignOutButtonListener(e){this._signOutButton.addEventListener("click",e)}requestProfileButtonFocus(e){window.requestAnimationFrame(()=>this._profileButton.focus(e))}requestSignOutButtonFocus(e){window.requestAnimationFrame(()=>this._signOutButton.focus(e))}};var u=class{constructor(t){this._adapter=t;this._showSignOutButton=i.defaults.SHOW_SIGN_OUT_BUTTON;this._showProfileButton=i.defaults.SHOW_PROFILE_BUTTON;this._signOutButtonText=i.defaults.SIGN_OUT_BUTTON_TEXT;this._profileButtonText=i.defaults.PROFILE_BUTTON_TEXT;this._profileListener=e=>this._onProfileButtonClick(e),this._signOutListener=e=>this._onSignOutButtonClick(e)}initialize(){this._adapter.setProfileButtonListener(this._profileListener),this._adapter.setSignOutButtonListener(this._signOutListener)}focus(t){this._showSignOutButton?this._adapter.requestSignOutButtonFocus(g(p({},t),{focusVisible:!0})):this._showProfileButton&&this._adapter.requestProfileButtonFocus(g(p({},t),{focusVisible:!0}))}_setActionVisibility(){let t=this._showSignOutButton||this._showProfileButton;this._adapter.setActionToolbarVisibility(t),this._adapter.setSignOutButtonVisibility(this._showSignOutButton),this._adapter.setProfileButtonVisibility(this._showProfileButton)}_onProfileButtonClick(t){t.stopPropagation(),this._adapter.emitHostEvent(i.events.PROFILE)}_onSignOutButtonClick(t){t.stopPropagation(),this._adapter.emitHostEvent(i.events.SIGN_OUT)}get fullName(){return this._fullName}set fullName(t){this._fullName!==t&&(this._fullName=t!=null?t:"",this._adapter.setFullName(this._fullName),this._avatarText||this._adapter.setAvatarText(this._fullName),this._adapter.toggleHostAttribute(i.attributes.FULL_NAME,!!this._fullName,this._fullName))}get email(){return this._email}set email(t){this._email!==t&&(this._email=t!=null?t:"",this._adapter.setEmail(this._email),this._adapter.toggleHostAttribute(i.attributes.EMAIL,!!this._email,this._email))}get avatarText(){return this._avatarText}set avatarText(t){this._avatarText!==t&&(this._avatarText=t!=null?t:"",this._adapter.setAvatarText(this._avatarText),this._adapter.toggleHostAttribute(i.attributes.AVATAR_TEXT,!!this._avatarText,this._avatarText))}get avatarIcon(){return this._avatarIcon}set avatarIcon(t){this._avatarIcon!==t&&(this._avatarIcon=t!=null?t:"",this._adapter.setAvatarIcon(this._avatarIcon),this._adapter.toggleHostAttribute(i.attributes.AVATAR_ICON,!!this._avatarIcon,this._avatarIcon))}get avatarImageUrl(){return this._avatarImageUrl}set avatarImageUrl(t){this._avatarImageUrl!==t&&(this._avatarImageUrl=t,this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.toggleHostAttribute(i.attributes.AVATAR_IMAGE_URL,!!this._avatarImageUrl,this._avatarImageUrl))}get avatarLetterCount(){return this._avatarLetterCount}set avatarLetterCount(t){this._avatarLetterCount!==t&&(this._avatarLetterCount=t,this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.toggleHostAttribute(i.attributes.AVATAR_LETTER_COUNT,!!this._avatarLetterCount,`${this._avatarLetterCount}`))}get signOut(){return this._showSignOutButton}set signOut(t){t=!!t,this._showSignOutButton!==t&&(this._showSignOutButton=t,this._setActionVisibility(),this._adapter.toggleHostAttribute(i.attributes.SIGN_OUT,this._showSignOutButton))}get profile(){return this._showProfileButton}set profile(t){t=!!t,this._showProfileButton!==t&&(this._showProfileButton=t,this._setActionVisibility(),this._adapter.toggleHostAttribute(i.attributes.PROFILE,this._showProfileButton))}get signOutText(){return this._signOutButtonText}set signOutText(t){if(this._signOutButtonText!==t){this._signOutButtonText=t||i.defaults.SIGN_OUT_BUTTON_TEXT,this._adapter.setSignOutButtonText(this._signOutButtonText);let e=this._signOutButtonText!==i.defaults.SIGN_OUT_BUTTON_TEXT;this._adapter.toggleHostAttribute(i.attributes.SIGN_OUT_TEXT,e,this._signOutButtonText)}}get profileText(){return this._profileButtonText}set profileText(t){if(this._profileButtonText!==t){this._profileButtonText=t||i.defaults.PROFILE_BUTTON_TEXT,this._adapter.setProfileButtonText(this._profileButtonText);let e=t!==i.defaults.PROFILE_BUTTON_TEXT;this._adapter.toggleHostAttribute(i.attributes.PROFILE_TEXT,e,this._profileButtonText)}}};var R='<template><div class="forge-profile-card" part="root"><div class="info-container"><div class="avatar"><forge-avatar part="avatar"></forge-avatar></div><div class="info-text"><div class="full-name" part="name"></div><div class="email" part="email"></div></div></div><slot></slot><forge-toolbar inverted id="action-toolbar"><forge-button variant="outlined" slot="end" style="display: none;" part="profile-button" id="profile-button">Profile</forge-button><forge-button slot="end" part="sign-out-button" id="sign-out-button">Sign out</forge-button></forge-toolbar></div></template>',S=':host{display:block}:host([hidden]){display:none}.forge-profile-card{--_profile-card-min-width:var(--forge-profile-card-min-width, 360px);--_profile-card-shape:var(--forge-profile-card-shape, var(--forge-shape-medium, 4px));--_profile-card-avatar-size:var(--forge-profile-card-avatar-size, 56px)}.forge-profile-card{min-width:var(--_profile-card-min-width);border-radius:var(--_profile-card-shape)}@media (max-width:399px){.forge-profile-card{width:100vw;min-width:unset;overflow:auto}}.forge-profile-card .info-container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding-block:var(--forge-spacing-xsmall,8px);padding-inline:var(--forge-spacing-medium,16px)}.forge-profile-card .avatar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:var(--forge-spacing-xsmall,8px);-webkit-margin-end:var(--forge-spacing-medium,16px);margin-inline-end:var(--forge-spacing-medium,16px);--forge-avatar-size:var(--_profile-card-avatar-size)}.forge-profile-card .text{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-profile-card .full-name{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-heading2-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-heading2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-heading2-font-size-scale, 1)));font-weight:var(--forge-typography-heading2-font-weight,500);line-height:var(--forge-typography-heading2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-heading2-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-heading2-letter-spacing, .0125em);text-transform:var(--forge-typography-heading2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-heading2-text-decoration,inherit);text-decoration:var(--forge-typography-heading2-text-decoration,inherit)}.forge-profile-card .email{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-subheading1-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-subheading1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-subheading1-font-size-scale, .875)));font-weight:var(--forge-typography-subheading1-font-weight,400);line-height:var(--forge-typography-subheading1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-subheading1-line-height-scale, 1.125)));letter-spacing:var(--forge-typography-subheading1-letter-spacing, normal);text-transform:var(--forge-typography-subheading1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-subheading1-text-decoration,inherit);text-decoration:var(--forge-typography-subheading1-text-decoration,inherit);color:var(--forge-theme-text-medium,rgba(0,0,0,.6))}#action-toolbar{--forge-toolbar-background:var(--forge-theme-surface-bright, #ffffff);--forge-toolbar-padding:8px}#action-toolbar forge-button:not(:last-of-type){-webkit-margin-end:8px;margin-inline-end:8px}',r=class extends O{constructor(){super();b(this,R,S),this._foundation=new u(new l(this))}static get observedAttributes(){return[i.attributes.FULL_NAME,i.attributes.EMAIL,i.attributes.SIGN_OUT,i.attributes.PROFILE,i.attributes.SIGN_OUT_TEXT,i.attributes.PROFILE_TEXT,i.attributes.AVATAR_TEXT,i.attributes.AVATAR_ICON,i.attributes.AVATAR_IMAGE_URL,i.attributes.AVATAR_LETTER_COUNT]}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(e,_,s){switch(e){case i.attributes.FULL_NAME:this.fullName=s;break;case i.attributes.EMAIL:this.email=s;break;case i.attributes.SIGN_OUT:this.signOut=f(s);break;case i.attributes.PROFILE:this.profile=f(s);break;case i.attributes.SIGN_OUT_TEXT:this.signOutText=s;break;case i.attributes.PROFILE_TEXT:this.profileText=s;break;case i.attributes.AVATAR_TEXT:this.avatarText=s;break;case i.attributes.AVATAR_ICON:this.avatarIcon=s;break;case i.attributes.AVATAR_IMAGE_URL:this.avatarImageUrl=s;break;case i.attributes.AVATAR_LETTER_COUNT:this.avatarLetterCount=m(s);break}}focus(e){this._foundation.focus(e)}};a([o()],r.prototype,"fullName",2),a([o()],r.prototype,"email",2),a([o()],r.prototype,"signOut",2),a([o()],r.prototype,"profile",2),a([o()],r.prototype,"signOutText",2),a([o()],r.prototype,"profileText",2),a([o()],r.prototype,"avatarText",2),a([o()],r.prototype,"avatarIcon",2),a([o()],r.prototype,"avatarImageUrl",2),a([o()],r.prototype,"avatarLetterCount",2),r=a([T({name:i.elementName,dependencies:[N,B,I,y]})],r);function st(){v(r)}export{i as a,l as b,u as c,r as d,st as e};
7
+ //# sourceMappingURL=chunk.7Y3BUR7Q.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/profile-card/profile-card-constants.ts", "../../src/profile-card/profile-card-adapter.ts", "../../src/profile-card/profile-card-foundation.ts", "../../src/profile-card/profile-card.ts", "../../src/profile-card/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}profile-card`;\n\nconst attributes = {\n FULL_NAME: 'full-name',\n EMAIL: 'email',\n SIGN_OUT: 'sign-out',\n PROFILE: 'profile',\n SIGN_OUT_TEXT: 'sign-out-text',\n PROFILE_TEXT: 'profile-text',\n AVATAR_TEXT: 'avatar-text',\n AVATAR_ICON: 'avatar-icon',\n AVATAR_IMAGE_URL: 'avatar-image-url',\n AVATAR_LETTER_COUNT: 'avatar-letter-count'\n};\n\nconst selectors = {\n FULL_NAME: '.full-name',\n EMAIL: '.email',\n AVATAR: '.avatar > forge-avatar',\n ACTION_TOOLBAR: '#action-toolbar',\n PROFILE_BUTTON: '#profile-button',\n SIGN_OUT_BUTTON: '#sign-out-button'\n};\n\nconst defaults = {\n SHOW_SIGN_OUT_BUTTON: true,\n SHOW_PROFILE_BUTTON: false,\n SIGN_OUT_BUTTON_TEXT: 'Sign out',\n PROFILE_BUTTON_TEXT: 'Profile'\n};\n\nconst events = {\n SIGN_OUT: `${elementName}-sign-out`,\n PROFILE: `${elementName}-profile`\n};\n\nexport const PROFILE_CARD_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n defaults,\n events\n};\n", "import { getShadowElement, removeAllChildren } from '@tylertech/forge-core';\nimport { ExperimentalFocusOptions } from '../constants';\nimport { IAvatarComponent } from '../avatar';\nimport { IButtonComponent } from '../button';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IconComponentDelegate } from '../icon';\nimport { IToolbarComponent } from '../toolbar';\nimport { IProfileCardComponent } from './profile-card';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\n\nexport interface IProfileCardAdapter extends IBaseAdapter {\n setFullName(value: string): void;\n setEmail(value: string): void;\n setAvatarText(value: string): void;\n setAvatarIcon(value: string): void;\n setAvatarImageUrl(value: string): void;\n setAvatarLetterCount(count: number): void;\n setActionToolbarVisibility(isVisible: boolean): void;\n setProfileButtonVisibility(isVisible: boolean): void;\n setSignOutButtonVisibility(isVisible: boolean): void;\n setSignOutButtonText(value: string): void;\n setProfileButtonText(value: string): void;\n setProfileButtonListener(listener: (evt: Event) => void): void;\n setSignOutButtonListener(listener: (evt: Event) => void): void;\n requestProfileButtonFocus(options?: ExperimentalFocusOptions): void;\n requestSignOutButtonFocus(options?: ExperimentalFocusOptions): void;\n}\n\nexport class ProfileCardAdapter extends BaseAdapter<IProfileCardComponent> implements IProfileCardAdapter {\n private _fullNameElement: HTMLElement;\n private _emailElement: HTMLElement;\n private _avatarElement: IAvatarComponent;\n private _actionToolbar: IToolbarComponent;\n private _profileButton: IButtonComponent;\n private _signOutButton: IButtonComponent;\n\n constructor(component: IProfileCardComponent) {\n super(component);\n this._fullNameElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.FULL_NAME);\n this._emailElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.EMAIL);\n this._avatarElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.AVATAR) as IAvatarComponent;\n this._actionToolbar = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.ACTION_TOOLBAR) as IToolbarComponent;\n this._profileButton = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.PROFILE_BUTTON) as IButtonComponent;\n this._signOutButton = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.SIGN_OUT_BUTTON) as IButtonComponent;\n }\n\n public setFullName(value: string): void {\n this._fullNameElement.textContent = value;\n }\n\n public setEmail(value: string): void {\n this._emailElement.textContent = value;\n }\n\n public setAvatarText(value: string): void {\n removeAllChildren(this._avatarElement);\n this._avatarElement.text = value;\n }\n\n public setAvatarIcon(value: string): void {\n if (value) {\n const iconDelegate = new IconComponentDelegate({ props: { name: value }});\n this._avatarElement.replaceChildren(iconDelegate.element);\n } else {\n removeAllChildren(this._avatarElement);\n }\n }\n\n public setAvatarImageUrl(value: string): void {\n this._avatarElement.imageUrl = value;\n }\n\n public setAvatarLetterCount(count: number): void {\n this._avatarElement.letterCount = count;\n }\n\n public setActionToolbarVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._actionToolbar.style.removeProperty('display');\n } else {\n this._actionToolbar.style.display = 'none';\n }\n }\n\n public setProfileButtonVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._profileButton.style.removeProperty('display');\n } else {\n this._profileButton.style.display = 'none';\n }\n }\n\n public setSignOutButtonVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._signOutButton.style.removeProperty('display');\n } else {\n this._signOutButton.style.display = 'none';\n }\n }\n\n public setSignOutButtonText(value: string): void {\n this._signOutButton.textContent = value;\n }\n \n public setProfileButtonText(value: string): void {\n this._profileButton.textContent = value;\n }\n\n public setProfileButtonListener(listener: (evt: Event) => void): void {\n this._profileButton.addEventListener('click', listener);\n }\n\n public setSignOutButtonListener(listener: (evt: Event) => void): void {\n this._signOutButton.addEventListener('click', listener);\n }\n\n public requestProfileButtonFocus(options?: ExperimentalFocusOptions): void {\n window.requestAnimationFrame(() => this._profileButton.focus(options));\n }\n\n public requestSignOutButtonFocus(options?: ExperimentalFocusOptions): void {\n window.requestAnimationFrame(() => this._signOutButton.focus(options));\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IProfileCardAdapter } from './profile-card-adapter';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\n\nexport interface IProfileCardFoundation extends ICustomElementFoundation {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n signOutText: string;\n profileText: string;\n avatarText: string;\n avatarIcon: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n focus(options?: FocusOptions): void;\n}\n\nexport class ProfileCardFoundation implements IProfileCardFoundation {\n private _fullName: string;\n private _email: string;\n private _avatarText: string;\n private _avatarIcon: string;\n private _avatarImageUrl: string;\n private _avatarLetterCount: number;\n private _showSignOutButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_SIGN_OUT_BUTTON;\n private _showProfileButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_PROFILE_BUTTON;\n private _signOutButtonText = PROFILE_CARD_CONSTANTS.defaults.SIGN_OUT_BUTTON_TEXT;\n private _profileButtonText = PROFILE_CARD_CONSTANTS.defaults.PROFILE_BUTTON_TEXT;\n\n private _profileListener: (evt: Event) => void;\n private _signOutListener: (evt: Event) => void;\n\n constructor(private _adapter: IProfileCardAdapter) {\n this._profileListener = evt => this._onProfileButtonClick(evt);\n this._signOutListener = evt => this._onSignOutButtonClick(evt);\n }\n\n public initialize(): void {\n this._adapter.setProfileButtonListener(this._profileListener);\n this._adapter.setSignOutButtonListener(this._signOutListener);\n }\n\n public focus(options?: FocusOptions): void {\n if (this._showSignOutButton) {\n this._adapter.requestSignOutButtonFocus({ ...options, focusVisible: true } );\n } else if (this._showProfileButton) {\n this._adapter.requestProfileButtonFocus({ ...options, focusVisible: true } );\n }\n }\n\n private _setActionVisibility(): void {\n const showActionToolbar = this._showSignOutButton || this._showProfileButton;\n this._adapter.setActionToolbarVisibility(showActionToolbar);\n this._adapter.setSignOutButtonVisibility(this._showSignOutButton);\n this._adapter.setProfileButtonVisibility(this._showProfileButton);\n }\n\n private _onProfileButtonClick(evt: Event): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.PROFILE);\n }\n\n private _onSignOutButtonClick(evt: Event): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.SIGN_OUT);\n }\n\n public get fullName(): string {\n return this._fullName;\n }\n public set fullName(value: string) {\n if (this._fullName !== value) {\n this._fullName = value ?? '';\n this._adapter.setFullName(this._fullName);\n if (!this._avatarText) {\n this._adapter.setAvatarText(this._fullName);\n }\n this._adapter.toggleHostAttribute(PROFILE_CARD_CONSTANTS.attributes.FULL_NAME, !!this._fullName, this._fullName);\n }\n }\n\n public get email(): string {\n return this._email;\n }\n public set email(value: string) {\n if (this._email !== value) {\n this._email = value ?? '';\n this._adapter.setEmail(this._email);\n this._adapter.toggleHostAttribute(PROFILE_CARD_CONSTANTS.attributes.EMAIL, !!this._email, this._email);\n }\n }\n\n public get avatarText(): string {\n return this._avatarText;\n }\n public set avatarText(value: string) {\n if (this._avatarText !== value) {\n this._avatarText = value ?? '';\n this._adapter.setAvatarText(this._avatarText);\n this._adapter.toggleHostAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT, !!this._avatarText, this._avatarText);\n }\n }\n\n public get avatarIcon(): string {\n return this._avatarIcon;\n }\n public set avatarIcon(value: string) {\n if (this._avatarIcon !== value) {\n this._avatarIcon = value ?? '';\n this._adapter.setAvatarIcon(this._avatarIcon);\n this._adapter.toggleHostAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_ICON, !!this._avatarIcon, this._avatarIcon);\n }\n }\n\n public get avatarImageUrl(): string {\n return this._avatarImageUrl;\n }\n public set avatarImageUrl(value: string) {\n if (this._avatarImageUrl !== value) {\n this._avatarImageUrl = value;\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.toggleHostAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL, !!this._avatarImageUrl, this._avatarImageUrl);\n }\n }\n\n public get avatarLetterCount(): number {\n return this._avatarLetterCount;\n }\n public set avatarLetterCount(value: number) {\n if (this._avatarLetterCount !== value) {\n this._avatarLetterCount = value;\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.toggleHostAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT, !!this._avatarLetterCount, `${this._avatarLetterCount}`);\n }\n }\n\n public get signOut(): boolean {\n return this._showSignOutButton;\n }\n public set signOut(value: boolean) {\n value = Boolean(value);\n if (this._showSignOutButton !== value) {\n this._showSignOutButton = value;\n this._setActionVisibility();\n this._adapter.toggleHostAttribute(PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT, this._showSignOutButton);\n }\n }\n\n public get profile(): boolean {\n return this._showProfileButton;\n }\n public set profile(value: boolean) {\n value = Boolean(value);\n if (this._showProfileButton !== value) {\n this._showProfileButton = value;\n this._setActionVisibility();\n this._adapter.toggleHostAttribute(PROFILE_CARD_CONSTANTS.attributes.PROFILE, this._showProfileButton);\n }\n }\n\n public get signOutText(): string {\n return this._signOutButtonText;\n }\n public set signOutText(value: string) {\n if (this._signOutButtonText !== value) {\n this._signOutButtonText = value || PROFILE_CARD_CONSTANTS.defaults.SIGN_OUT_BUTTON_TEXT;\n this._adapter.setSignOutButtonText(this._signOutButtonText);\n\n const hasSignOutTextAttr = this._signOutButtonText !== PROFILE_CARD_CONSTANTS.defaults.SIGN_OUT_BUTTON_TEXT;\n this._adapter.toggleHostAttribute(PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT_TEXT, hasSignOutTextAttr, this._signOutButtonText);\n }\n }\n\n public get profileText(): string {\n return this._profileButtonText;\n }\n public set profileText(value: string) {\n if (this._profileButtonText !== value) {\n this._profileButtonText = value || PROFILE_CARD_CONSTANTS.defaults.PROFILE_BUTTON_TEXT;\n this._adapter.setProfileButtonText(this._profileButtonText);\n\n const hasProfileAttr = value !== PROFILE_CARD_CONSTANTS.defaults.PROFILE_BUTTON_TEXT;\n this._adapter.toggleHostAttribute(PROFILE_CARD_CONSTANTS.attributes.PROFILE_TEXT, hasProfileAttr, this._profileButtonText);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, coerceNumber, FoundationProperty } from '@tylertech/forge-core';\nimport { ProfileCardAdapter } from './profile-card-adapter';\nimport { ProfileCardFoundation } from './profile-card-foundation';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\nimport { ButtonComponent } from '../button';\nimport { AvatarComponent } from '../avatar';\nimport { IconComponent } from '../icon/icon';\nimport { ToolbarComponent } from '../toolbar';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-profile-card\\\" part=\\\"root\\\"><div class=\\\"info-container\\\"><div class=\\\"avatar\\\"><forge-avatar part=\\\"avatar\\\"></forge-avatar></div><div class=\\\"info-text\\\"><div class=\\\"full-name\\\" part=\\\"name\\\"></div><div class=\\\"email\\\" part=\\\"email\\\"></div></div></div><slot></slot><forge-toolbar inverted id=\\\"action-toolbar\\\"><forge-button variant=\\\"outlined\\\" slot=\\\"end\\\" style=\\\"display: none;\\\" part=\\\"profile-button\\\" id=\\\"profile-button\\\">Profile</forge-button><forge-button slot=\\\"end\\\" part=\\\"sign-out-button\\\" id=\\\"sign-out-button\\\">Sign out</forge-button></forge-toolbar></div></template>';\nconst styles = ':host{display:block}:host([hidden]){display:none}.forge-profile-card{--_profile-card-min-width:var(--forge-profile-card-min-width, 360px);--_profile-card-shape:var(--forge-profile-card-shape, var(--forge-shape-medium, 4px));--_profile-card-avatar-size:var(--forge-profile-card-avatar-size, 56px)}.forge-profile-card{min-width:var(--_profile-card-min-width);border-radius:var(--_profile-card-shape)}@media (max-width:399px){.forge-profile-card{width:100vw;min-width:unset;overflow:auto}}.forge-profile-card .info-container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding-block:var(--forge-spacing-xsmall,8px);padding-inline:var(--forge-spacing-medium,16px)}.forge-profile-card .avatar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:var(--forge-spacing-xsmall,8px);-webkit-margin-end:var(--forge-spacing-medium,16px);margin-inline-end:var(--forge-spacing-medium,16px);--forge-avatar-size:var(--_profile-card-avatar-size)}.forge-profile-card .text{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-profile-card .full-name{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-heading2-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-heading2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-heading2-font-size-scale, 1)));font-weight:var(--forge-typography-heading2-font-weight,500);line-height:var(--forge-typography-heading2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-heading2-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-heading2-letter-spacing, .0125em);text-transform:var(--forge-typography-heading2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-heading2-text-decoration,inherit);text-decoration:var(--forge-typography-heading2-text-decoration,inherit)}.forge-profile-card .email{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-subheading1-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-subheading1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-subheading1-font-size-scale, .875)));font-weight:var(--forge-typography-subheading1-font-weight,400);line-height:var(--forge-typography-subheading1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-subheading1-line-height-scale, 1.125)));letter-spacing:var(--forge-typography-subheading1-letter-spacing, normal);text-transform:var(--forge-typography-subheading1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-subheading1-text-decoration,inherit);text-decoration:var(--forge-typography-subheading1-text-decoration,inherit);color:var(--forge-theme-text-medium,rgba(0,0,0,.6))}#action-toolbar{--forge-toolbar-background:var(--forge-theme-surface-bright, #ffffff);--forge-toolbar-padding:8px}#action-toolbar forge-button:not(:last-of-type){-webkit-margin-end:8px;margin-inline-end:8px}';\n\nexport interface IProfileCardComponent extends IBaseComponent {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n signOutText: string;\n profileText: string;\n avatarText: string;\n avatarIcon: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-profile-card': IProfileCardComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-profile-card-sign-out': CustomEvent<void>;\n 'forge-profile-card-profile': CustomEvent<void>;\n }\n}\n\n/**\n * @tag forge-profile-card\n */\n@CustomElement({\n name: PROFILE_CARD_CONSTANTS.elementName,\n dependencies: [\n ToolbarComponent,\n ButtonComponent,\n IconComponent,\n AvatarComponent\n ]\n})\nexport class ProfileCardComponent extends BaseComponent implements IProfileCardComponent {\n public static get observedAttributes(): string[] {\n return [\n PROFILE_CARD_CONSTANTS.attributes.FULL_NAME,\n PROFILE_CARD_CONSTANTS.attributes.EMAIL,\n PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT,\n PROFILE_CARD_CONSTANTS.attributes.PROFILE,\n PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT_TEXT,\n PROFILE_CARD_CONSTANTS.attributes.PROFILE_TEXT,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_ICON,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT\n ];\n }\n\n private _foundation: ProfileCardFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ProfileCardFoundation(new ProfileCardAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case PROFILE_CARD_CONSTANTS.attributes.FULL_NAME:\n this.fullName = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.EMAIL:\n this.email = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT:\n this.signOut = coerceBoolean(newValue);\n break;\n case PROFILE_CARD_CONSTANTS.attributes.PROFILE:\n this.profile = coerceBoolean(newValue);\n break;\n case PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT_TEXT:\n this.signOutText = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.PROFILE_TEXT:\n this.profileText = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT:\n this.avatarText = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_ICON:\n this.avatarIcon = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL:\n this.avatarImageUrl = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT:\n this.avatarLetterCount = coerceNumber(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare fullName: string;\n\n @FoundationProperty()\n public declare email: string;\n\n @FoundationProperty()\n public declare signOut: boolean;\n\n @FoundationProperty()\n public declare profile: boolean;\n\n @FoundationProperty()\n public declare signOutText: string;\n\n @FoundationProperty()\n public declare profileText: string;\n\n @FoundationProperty()\n public declare avatarText: string;\n\n @FoundationProperty()\n public declare avatarIcon: string;\n\n @FoundationProperty()\n public declare avatarImageUrl: string;\n\n @FoundationProperty()\n public declare avatarLetterCount: number;\n\n public override focus(options?: FocusOptions): void {\n this._foundation.focus(options);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ProfileCardComponent } from './profile-card';\n\nexport * from './profile-card-adapter';\nexport * from './profile-card-constants';\nexport * from './profile-card-foundation';\nexport * from './profile-card';\n\nexport function defineProfileCardComponent(): void {\n defineCustomElement(ProfileCardComponent);\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "defaults", "events", "PROFILE_CARD_CONSTANTS", "ProfileCardAdapter", "BaseAdapter", "component", "getShadowElement", "PROFILE_CARD_CONSTANTS", "value", "removeAllChildren", "iconDelegate", "IconComponentDelegate", "count", "isVisible", "listener", "options", "ProfileCardFoundation", "_adapter", "PROFILE_CARD_CONSTANTS", "evt", "options", "__spreadProps", "__spreadValues", "showActionToolbar", "value", "hasSignOutTextAttr", "hasProfileAttr", "template", "styles", "ProfileCardComponent", "BaseComponent", "attachShadowTemplate", "ProfileCardFoundation", "ProfileCardAdapter", "PROFILE_CARD_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "options", "__decorateClass", "FoundationProperty", "CustomElement", "ToolbarComponent", "ButtonComponent", "IconComponent", "AvatarComponent", "defineProfileCardComponent", "defineCustomElement", "ProfileCardComponent"]
7
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.RFT3BAJ2.js";import{a as k,b as O,c as H,d as S}from"./chunk.72BKSMAZ.js";import{g as x}from"./chunk.3IUQ4C47.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.A2NB7CIK.js.map