@tylertech/forge 2.13.0 → 2.13.2

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 (1605) hide show
  1. package/README.md +14 -3
  2. package/custom-elements.json +99 -2
  3. package/dist/busy-indicator/forge-busy-indicator.css +1 -1
  4. package/dist/button/forge-button.css +1 -1
  5. package/dist/dialog/forge-dialog-utils.css +1 -1
  6. package/dist/dialog/forge-dialog.css +1 -1
  7. package/dist/esm/accordion/index.js +2 -2
  8. package/dist/esm/app-bar/help-button/index.js +2 -2
  9. package/dist/esm/app-bar/index.js +2 -2
  10. package/dist/esm/app-bar/menu-button/index.js +2 -2
  11. package/dist/esm/app-bar/notification-button/index.js +2 -2
  12. package/dist/esm/app-bar/profile-button/index.js +2 -2
  13. package/dist/esm/app-bar/search/index.js +2 -2
  14. package/dist/esm/autocomplete/index.js +2 -2
  15. package/dist/esm/avatar/index.js +2 -2
  16. package/dist/esm/backdrop/index.js +2 -2
  17. package/dist/esm/badge/index.js +2 -2
  18. package/dist/esm/banner/index.js +2 -2
  19. package/dist/esm/bottom-sheet/index.js +2 -2
  20. package/dist/esm/busy-indicator/index.js +2 -2
  21. package/dist/esm/button/index.js +2 -2
  22. package/dist/esm/button-toggle/button-toggle/index.js +2 -2
  23. package/dist/esm/button-toggle/button-toggle-group/index.js +2 -2
  24. package/dist/esm/button-toggle/index.js +2 -2
  25. package/dist/esm/calendar/calendar-dropdown/index.js +2 -2
  26. package/dist/esm/calendar/calendar-menu/index.js +2 -2
  27. package/dist/esm/calendar/core/index.js +1 -1
  28. package/dist/esm/calendar/index.js +2 -2
  29. package/dist/esm/card/index.js +2 -2
  30. package/dist/esm/checkbox/index.js +2 -2
  31. package/dist/esm/chip-field/index.js +2 -2
  32. package/dist/esm/chips/chip/index.js +2 -2
  33. package/dist/esm/chips/chip-set/index.js +2 -2
  34. package/dist/esm/chips/index.js +2 -2
  35. package/dist/esm/chunks/chunk.24D46RLZ.js +1 -1
  36. package/dist/esm/chunks/chunk.2CEW64ZM.js +7 -0
  37. package/dist/esm/chunks/{chunk.MNBJMPJ6.js.map → chunk.2CEW64ZM.js.map} +2 -2
  38. package/dist/esm/chunks/chunk.2GY2VPJG.js +1 -1
  39. package/dist/esm/chunks/chunk.2LHBE2QZ.js +7 -0
  40. package/dist/esm/chunks/{chunk.YHHIPP2F.js.map → chunk.2LHBE2QZ.js.map} +1 -1
  41. package/dist/esm/chunks/{chunk.4T5TGQFG.js → chunk.2ZQ3ZDPN.js} +3 -3
  42. package/dist/esm/chunks/{chunk.4T5TGQFG.js.map → chunk.2ZQ3ZDPN.js.map} +0 -0
  43. package/dist/esm/chunks/chunk.36VS7FMU.js +7 -0
  44. package/dist/esm/chunks/{chunk.FPV4XEUK.js.map → chunk.36VS7FMU.js.map} +2 -2
  45. package/dist/esm/chunks/chunk.3L7T5WYL.js +7 -0
  46. package/dist/esm/chunks/{chunk.BCUBTR5O.js.map → chunk.3L7T5WYL.js.map} +1 -1
  47. package/dist/esm/chunks/chunk.3MP6OFVU.js +7 -0
  48. package/dist/esm/chunks/{chunk.KYCC3C3M.js.map → chunk.3MP6OFVU.js.map} +3 -3
  49. package/dist/esm/chunks/chunk.3STDLL5U.js +7 -0
  50. package/dist/esm/chunks/{chunk.WNOSTPQQ.js.map → chunk.3STDLL5U.js.map} +2 -2
  51. package/dist/esm/chunks/{chunk.PZTAIVJW.js → chunk.4K3IV4GI.js} +3 -3
  52. package/dist/esm/chunks/{chunk.PZTAIVJW.js.map → chunk.4K3IV4GI.js.map} +2 -2
  53. package/dist/esm/chunks/chunk.55BOUOT6.js +7 -0
  54. package/dist/esm/chunks/{chunk.QJPH24V4.js.map → chunk.55BOUOT6.js.map} +2 -2
  55. package/dist/esm/chunks/chunk.5BDTX7CR.js +7 -0
  56. package/dist/esm/chunks/chunk.5BDTX7CR.js.map +7 -0
  57. package/dist/esm/chunks/chunk.5EQPGUZH.js +7 -0
  58. package/dist/esm/chunks/{chunk.MGTNCCW3.js.map → chunk.5EQPGUZH.js.map} +1 -1
  59. package/dist/esm/chunks/{chunk.A23NSEWA.js → chunk.5PXABBKU.js} +3 -3
  60. package/dist/esm/chunks/{chunk.A23NSEWA.js.map → chunk.5PXABBKU.js.map} +0 -0
  61. package/dist/esm/chunks/chunk.5TVWDATE.js +7 -0
  62. package/dist/esm/chunks/{chunk.APGFXXJ7.js.map → chunk.5TVWDATE.js.map} +1 -1
  63. package/dist/esm/chunks/chunk.6KTLOA7V.js +1 -1
  64. package/dist/esm/chunks/chunk.6LXDG4W5.js +7 -0
  65. package/dist/esm/chunks/{chunk.Y7Q6QI5V.js.map → chunk.6LXDG4W5.js.map} +2 -2
  66. package/dist/esm/chunks/chunk.7MVBJ37L.js +7 -0
  67. package/dist/esm/chunks/{chunk.OG2BI3UW.js.map → chunk.7MVBJ37L.js.map} +2 -2
  68. package/dist/esm/chunks/{chunk.QEHJJKFZ.js → chunk.7R6TYPPS.js} +3 -3
  69. package/dist/esm/chunks/{chunk.QEHJJKFZ.js.map → chunk.7R6TYPPS.js.map} +2 -2
  70. package/dist/esm/chunks/chunk.7TDB3VFH.js +7 -0
  71. package/dist/esm/chunks/{chunk.LLHA3SQR.js.map → chunk.7TDB3VFH.js.map} +2 -2
  72. package/dist/esm/chunks/chunk.AJJILT3A.js +1 -1
  73. package/dist/esm/chunks/chunk.ALJ3FDXL.js +7 -0
  74. package/dist/esm/chunks/{chunk.BX7242PC.js.map → chunk.ALJ3FDXL.js.map} +2 -2
  75. package/dist/esm/chunks/chunk.AMFXGOSA.js +1 -1
  76. package/dist/esm/chunks/chunk.AWCBH5KW.js +1 -1
  77. package/dist/esm/chunks/chunk.B3IJU6XJ.js +1 -1
  78. package/dist/esm/chunks/chunk.B52LJRGH.js +29 -0
  79. package/dist/esm/chunks/{chunk.YWKKZLZ2.js.map → chunk.B52LJRGH.js.map} +2 -2
  80. package/dist/esm/chunks/chunk.BCD4AAI2.js +7 -0
  81. package/dist/esm/chunks/chunk.BCD4AAI2.js.map +7 -0
  82. package/dist/esm/chunks/chunk.BCP2YATB.js +7 -0
  83. package/dist/esm/chunks/{chunk.J6CIWTDH.js.map → chunk.BCP2YATB.js.map} +2 -2
  84. package/dist/esm/chunks/chunk.BMFJLHDR.js +7 -0
  85. package/dist/esm/chunks/{chunk.54QFNVMG.js.map → chunk.BMFJLHDR.js.map} +1 -1
  86. package/dist/esm/chunks/chunk.BTI5I25G.js +12 -0
  87. package/dist/esm/chunks/{chunk.ON3JVSSR.js.map → chunk.BTI5I25G.js.map} +0 -0
  88. package/dist/esm/chunks/chunk.BYRJ7577.js +7 -0
  89. package/dist/esm/chunks/{chunk.K43ZNKT2.js.map → chunk.BYRJ7577.js.map} +0 -0
  90. package/dist/esm/chunks/chunk.CKS5A4YN.js +1 -1
  91. package/dist/esm/chunks/chunk.D4SNVKDA.js +1 -1
  92. package/dist/esm/chunks/chunk.DB2WESQC.js +7 -0
  93. package/dist/esm/chunks/{chunk.I2YRKTG7.js.map → chunk.DB2WESQC.js.map} +2 -2
  94. package/dist/esm/chunks/chunk.DLAIQJHL.js +7 -0
  95. package/dist/esm/chunks/{chunk.JNOCXQVB.js.map → chunk.DLAIQJHL.js.map} +2 -2
  96. package/dist/esm/chunks/chunk.DRXMITOO.js +29 -0
  97. package/dist/esm/chunks/{chunk.K753A3KI.js.map → chunk.DRXMITOO.js.map} +2 -2
  98. package/dist/esm/chunks/chunk.DURRORXO.js +29 -0
  99. package/dist/esm/chunks/{chunk.HUWXZ4ZN.js.map → chunk.DURRORXO.js.map} +1 -1
  100. package/dist/esm/chunks/chunk.E37HEAJ5.js +1 -1
  101. package/dist/esm/chunks/chunk.E43TT4RI.js +1 -1
  102. package/dist/esm/chunks/chunk.E4NCI7MS.js +1 -1
  103. package/dist/esm/chunks/chunk.EC6JSIQW.js +1 -1
  104. package/dist/esm/chunks/chunk.EDU7RQD7.js +7 -0
  105. package/dist/esm/chunks/{chunk.NGIBMR3Q.js.map → chunk.EDU7RQD7.js.map} +2 -2
  106. package/dist/esm/chunks/chunk.ETIN6DEM.js +7 -0
  107. package/dist/esm/chunks/{chunk.RST65QIB.js.map → chunk.ETIN6DEM.js.map} +2 -2
  108. package/dist/esm/chunks/chunk.F2GXZPID.js +7 -0
  109. package/dist/esm/chunks/chunk.F2GXZPID.js.map +7 -0
  110. package/dist/esm/chunks/{chunk.YPUWII7L.js → chunk.F3Q62EMG.js} +3 -3
  111. package/dist/esm/chunks/chunk.F3Q62EMG.js.map +7 -0
  112. package/dist/esm/chunks/chunk.F5I55MXD.js +1 -1
  113. package/dist/esm/chunks/{chunk.URBXDOF7.js → chunk.FL6SJHQU.js} +3 -3
  114. package/dist/esm/chunks/{chunk.URBXDOF7.js.map → chunk.FL6SJHQU.js.map} +0 -0
  115. package/dist/esm/chunks/chunk.FZQCBRPK.js +1 -1
  116. package/dist/esm/chunks/chunk.G76HB2FK.js +1 -1
  117. package/dist/esm/chunks/chunk.GEMZPO6Z.js +7 -0
  118. package/dist/esm/chunks/{chunk.B5ABD4CZ.js.map → chunk.GEMZPO6Z.js.map} +1 -1
  119. package/dist/esm/chunks/chunk.GVQVA7P3.js +1 -1
  120. package/dist/esm/chunks/chunk.GXUYYBVO.js +29 -0
  121. package/dist/esm/chunks/{chunk.T7ZJDAXV.js.map → chunk.GXUYYBVO.js.map} +1 -1
  122. package/dist/esm/chunks/chunk.HHJJJ73Y.js +29 -0
  123. package/dist/esm/chunks/{chunk.XYBFFTXS.js.map → chunk.HHJJJ73Y.js.map} +1 -1
  124. package/dist/esm/chunks/chunk.HPJ4AQIE.js +7 -0
  125. package/dist/esm/chunks/chunk.HPJ4AQIE.js.map +7 -0
  126. package/dist/esm/chunks/chunk.HWQEGQDD.js +7 -0
  127. package/dist/esm/chunks/{chunk.5K5SIZRX.js.map → chunk.HWQEGQDD.js.map} +2 -2
  128. package/dist/esm/chunks/{chunk.6APYGKNX.js → chunk.HWVLZ44Q.js} +3 -3
  129. package/dist/esm/chunks/{chunk.6APYGKNX.js.map → chunk.HWVLZ44Q.js.map} +0 -0
  130. package/dist/esm/chunks/chunk.HYMB3XDK.js +9 -0
  131. package/dist/esm/chunks/chunk.HYMB3XDK.js.map +7 -0
  132. package/dist/esm/chunks/{chunk.IMK2LFWR.js → chunk.IARIRFXO.js} +3 -3
  133. package/dist/esm/chunks/chunk.IARIRFXO.js.map +7 -0
  134. package/dist/esm/chunks/chunk.IMZ5PF4C.js +7 -0
  135. package/dist/esm/chunks/{chunk.IFZXG3LI.js.map → chunk.IMZ5PF4C.js.map} +2 -2
  136. package/dist/esm/chunks/chunk.JMXJXZTS.js +7 -0
  137. package/dist/esm/chunks/{chunk.BOENNFXE.js.map → chunk.JMXJXZTS.js.map} +1 -1
  138. package/dist/esm/chunks/chunk.JXY6MTP3.js +7 -0
  139. package/dist/esm/chunks/{chunk.YAJT3P6V.js.map → chunk.JXY6MTP3.js.map} +2 -2
  140. package/dist/esm/chunks/chunk.KBMLP7UT.js +7 -0
  141. package/dist/esm/chunks/{chunk.OUEF6VQ6.js.map → chunk.KBMLP7UT.js.map} +2 -2
  142. package/dist/esm/chunks/chunk.L54GENPD.js +7 -0
  143. package/dist/esm/chunks/{chunk.5WMEFHVN.js.map → chunk.L54GENPD.js.map} +1 -1
  144. package/dist/esm/chunks/{chunk.DGDT4UQT.js → chunk.LGEYSCS2.js} +3 -3
  145. package/dist/esm/chunks/{chunk.DGDT4UQT.js.map → chunk.LGEYSCS2.js.map} +2 -2
  146. package/dist/esm/chunks/chunk.LZHDRATV.js +7 -0
  147. package/dist/esm/chunks/{chunk.IJIKFXUT.js.map → chunk.LZHDRATV.js.map} +2 -2
  148. package/dist/esm/chunks/chunk.LZMYHIO2.js +1 -1
  149. package/dist/esm/chunks/{chunk.JB2N65SR.js → chunk.M4KJNCLO.js} +3 -3
  150. package/dist/esm/chunks/{chunk.JB2N65SR.js.map → chunk.M4KJNCLO.js.map} +2 -2
  151. package/dist/esm/chunks/{chunk.QOZLQPKE.js → chunk.MBS5VMYY.js} +3 -3
  152. package/dist/esm/chunks/{chunk.QOZLQPKE.js.map → chunk.MBS5VMYY.js.map} +2 -2
  153. package/dist/esm/chunks/{chunk.F2TKPPK7.js → chunk.MBWEYW6M.js} +3 -3
  154. package/dist/esm/chunks/{chunk.F2TKPPK7.js.map → chunk.MBWEYW6M.js.map} +2 -2
  155. package/dist/esm/chunks/chunk.MCIQXNKY.js +1 -1
  156. package/dist/esm/chunks/chunk.MHEJZJT3.js +1 -1
  157. package/dist/esm/chunks/chunk.MIYZJUXH.js +1 -1
  158. package/dist/esm/chunks/chunk.MMVZJLXE.js +7 -0
  159. package/dist/esm/chunks/{chunk.HN4PXH3D.js.map → chunk.MMVZJLXE.js.map} +3 -3
  160. package/dist/esm/chunks/chunk.MNFGVNDI.js +1 -1
  161. package/dist/esm/chunks/{chunk.VLTJFKGZ.js → chunk.MNPORZ4F.js} +3 -3
  162. package/dist/esm/chunks/{chunk.VLTJFKGZ.js.map → chunk.MNPORZ4F.js.map} +0 -0
  163. package/dist/esm/chunks/chunk.MWD47ZZU.js +7 -0
  164. package/dist/esm/chunks/{chunk.CV5E5W6I.js.map → chunk.MWD47ZZU.js.map} +2 -2
  165. package/dist/esm/chunks/chunk.MYNPY3AQ.js +7 -0
  166. package/dist/esm/chunks/{chunk.VMWS5OOZ.js.map → chunk.MYNPY3AQ.js.map} +1 -1
  167. package/dist/esm/chunks/chunk.N24NHF7Y.js +7 -0
  168. package/dist/esm/chunks/{chunk.TLHI6K2R.js.map → chunk.N24NHF7Y.js.map} +2 -2
  169. package/dist/esm/chunks/chunk.N46G56GG.js +7 -0
  170. package/dist/esm/chunks/{chunk.RGWUF3J2.js.map → chunk.N46G56GG.js.map} +2 -2
  171. package/dist/esm/chunks/{chunk.6SGRP4FO.js → chunk.NV2HNCQH.js} +3 -3
  172. package/dist/esm/chunks/{chunk.6SGRP4FO.js.map → chunk.NV2HNCQH.js.map} +0 -0
  173. package/dist/esm/chunks/{chunk.SHT6BCLY.js → chunk.NYMNX3S7.js} +3 -3
  174. package/dist/esm/chunks/{chunk.SHT6BCLY.js.map → chunk.NYMNX3S7.js.map} +0 -0
  175. package/dist/esm/chunks/chunk.O2R6MBT5.js +7 -0
  176. package/dist/esm/chunks/chunk.O2R6MBT5.js.map +7 -0
  177. package/dist/esm/chunks/chunk.O5I3ZMDA.js +7 -0
  178. package/dist/esm/chunks/{chunk.WV45FGTW.js.map → chunk.O5I3ZMDA.js.map} +0 -0
  179. package/dist/esm/chunks/{chunk.WIUER75G.js → chunk.OJFI5I6O.js} +3 -3
  180. package/dist/esm/chunks/{chunk.WIUER75G.js.map → chunk.OJFI5I6O.js.map} +2 -2
  181. package/dist/esm/chunks/chunk.OLNFXF3V.js +7 -0
  182. package/dist/esm/chunks/{chunk.P6B3UWJ5.js.map → chunk.OLNFXF3V.js.map} +2 -2
  183. package/dist/esm/chunks/chunk.ON6FJ2D6.js +7 -0
  184. package/dist/esm/chunks/{chunk.XXA6KNXT.js.map → chunk.ON6FJ2D6.js.map} +1 -1
  185. package/dist/esm/chunks/{chunk.BSZ2LBJX.js → chunk.OOW3UKT4.js} +3 -3
  186. package/dist/esm/chunks/{chunk.BSZ2LBJX.js.map → chunk.OOW3UKT4.js.map} +0 -0
  187. package/dist/esm/chunks/chunk.ORF746AF.js +7 -0
  188. package/dist/esm/chunks/{chunk.RPPBBBYG.js.map → chunk.ORF746AF.js.map} +2 -2
  189. package/dist/esm/chunks/{chunk.J3NHIF6W.js → chunk.PBJEZJTY.js} +3 -3
  190. package/dist/esm/chunks/{chunk.J3NHIF6W.js.map → chunk.PBJEZJTY.js.map} +0 -0
  191. package/dist/esm/chunks/chunk.PCSCKTFS.js +7 -0
  192. package/dist/esm/chunks/chunk.PCSCKTFS.js.map +7 -0
  193. package/dist/esm/chunks/chunk.PYG4YVBA.js +1 -1
  194. package/dist/esm/chunks/chunk.Q3RRONZQ.js +7 -0
  195. package/dist/esm/chunks/{chunk.Q6L7T6OJ.js.map → chunk.Q3RRONZQ.js.map} +2 -2
  196. package/dist/esm/chunks/chunk.QH4DLM3R.js +7 -0
  197. package/dist/esm/chunks/{chunk.2SAHWDGJ.js.map → chunk.QH4DLM3R.js.map} +2 -2
  198. package/dist/esm/chunks/chunk.QIJHHDYF.js +7 -0
  199. package/dist/esm/chunks/chunk.QIJHHDYF.js.map +7 -0
  200. package/dist/esm/chunks/chunk.QMRLSOAB.js +7 -0
  201. package/dist/esm/chunks/chunk.QMRLSOAB.js.map +7 -0
  202. package/dist/esm/chunks/chunk.QQDDGRY6.js +1 -1
  203. package/dist/esm/chunks/chunk.QZHEP4X2.js +1 -1
  204. package/dist/esm/chunks/chunk.R4NDFXVA.js +1 -1
  205. package/dist/esm/chunks/chunk.S76NW5JY.js +7 -0
  206. package/dist/esm/chunks/{chunk.EJ4ASQET.js.map → chunk.S76NW5JY.js.map} +2 -2
  207. package/dist/esm/chunks/chunk.SKLCDWYQ.js +1 -1
  208. package/dist/esm/chunks/chunk.SLSVRMAS.js +7 -0
  209. package/dist/esm/chunks/{chunk.7O7V3N4A.js.map → chunk.SLSVRMAS.js.map} +2 -2
  210. package/dist/esm/chunks/chunk.STS5TIUV.js +1 -1
  211. package/dist/esm/chunks/chunk.SVGEVCXA.js +1 -1
  212. package/dist/esm/chunks/chunk.TCAOLSLI.js +7 -0
  213. package/dist/esm/chunks/{chunk.35U4OX7S.js.map → chunk.TCAOLSLI.js.map} +2 -2
  214. package/dist/esm/chunks/chunk.TLCGGWBO.js +1 -1
  215. package/dist/esm/chunks/chunk.TLS4ALGU.js +7 -0
  216. package/dist/esm/chunks/{chunk.DQBSFX46.js.map → chunk.TLS4ALGU.js.map} +2 -2
  217. package/dist/esm/chunks/chunk.U6FJJGO3.js +1 -1
  218. package/dist/esm/chunks/chunk.UOWU5VVK.js +7 -0
  219. package/dist/esm/chunks/{chunk.3UMBCR4P.js.map → chunk.UOWU5VVK.js.map} +2 -2
  220. package/dist/esm/chunks/chunk.UUX4QJ4D.js +1 -1
  221. package/dist/esm/chunks/chunk.V55E5JD5.js +7 -0
  222. package/dist/esm/chunks/{chunk.444GNOS4.js.map → chunk.V55E5JD5.js.map} +2 -2
  223. package/dist/esm/chunks/chunk.VHKQHMK3.js +7 -0
  224. package/dist/esm/chunks/{chunk.33Q5FK2H.js.map → chunk.VHKQHMK3.js.map} +2 -2
  225. package/dist/esm/chunks/chunk.VW4JVRH7.js +7 -0
  226. package/dist/esm/chunks/{chunk.O3G6ZLJN.js.map → chunk.VW4JVRH7.js.map} +0 -0
  227. package/dist/esm/chunks/{chunk.6QMDYUVT.js → chunk.WEUNLYMQ.js} +3 -3
  228. package/dist/esm/chunks/{chunk.6QMDYUVT.js.map → chunk.WEUNLYMQ.js.map} +2 -2
  229. package/dist/esm/chunks/chunk.WF2MFLG4.js +1 -1
  230. package/dist/esm/chunks/chunk.WINL2C7Q.js +1 -1
  231. package/dist/esm/chunks/{chunk.6XXKSGW5.js → chunk.WOHCW6KW.js} +3 -3
  232. package/dist/esm/chunks/{chunk.6XXKSGW5.js.map → chunk.WOHCW6KW.js.map} +2 -2
  233. package/dist/esm/chunks/chunk.WU24GAQY.js +7 -0
  234. package/dist/esm/chunks/{chunk.BFNAQQCU.js.map → chunk.WU24GAQY.js.map} +2 -2
  235. package/dist/esm/chunks/chunk.X2RP4QW3.js +1 -1
  236. package/dist/esm/chunks/chunk.X5JLUP7O.js +7 -0
  237. package/dist/esm/chunks/{chunk.PFD2SVJ4.js.map → chunk.X5JLUP7O.js.map} +2 -2
  238. package/dist/esm/chunks/chunk.XSZ4S77A.js +7 -0
  239. package/dist/esm/chunks/{chunk.7NXPOEXV.js.map → chunk.XSZ4S77A.js.map} +2 -2
  240. package/dist/esm/chunks/chunk.Y4L7AVUS.js +7 -0
  241. package/dist/esm/chunks/{chunk.G77PXLAU.js.map → chunk.Y4L7AVUS.js.map} +2 -2
  242. package/dist/esm/chunks/chunk.Y5GQ2BA7.js +29 -0
  243. package/dist/esm/chunks/{chunk.OOBE3XRM.js.map → chunk.Y5GQ2BA7.js.map} +2 -2
  244. package/dist/esm/chunks/chunk.Y6FFG7XO.js +1 -1
  245. package/dist/esm/chunks/{chunk.HSJQA42U.js → chunk.YG2KLPHA.js} +3 -3
  246. package/dist/esm/chunks/{chunk.HSJQA42U.js.map → chunk.YG2KLPHA.js.map} +0 -0
  247. package/dist/esm/chunks/chunk.YONRMJU5.js +7 -0
  248. package/dist/esm/chunks/chunk.YONRMJU5.js.map +7 -0
  249. package/dist/esm/chunks/chunk.YWRCWMNO.js +7 -0
  250. package/dist/esm/chunks/{chunk.Y6MPWPZU.js.map → chunk.YWRCWMNO.js.map} +2 -2
  251. package/dist/esm/chunks/chunk.Z4MN5NB5.js +7 -0
  252. package/dist/esm/chunks/{chunk.4KBQ5AJJ.js.map → chunk.Z4MN5NB5.js.map} +2 -2
  253. package/dist/esm/chunks/chunk.Z6S62LZJ.js +7 -0
  254. package/dist/esm/chunks/chunk.Z6S62LZJ.js.map +7 -0
  255. package/dist/esm/chunks/chunk.ZAGCOV55.js +7 -0
  256. package/dist/esm/chunks/{chunk.J2ODMCFS.js.map → chunk.ZAGCOV55.js.map} +2 -2
  257. package/dist/esm/chunks/chunk.ZFD3OE45.js +7 -0
  258. package/dist/esm/chunks/{chunk.DIYJJHWP.js.map → chunk.ZFD3OE45.js.map} +1 -1
  259. package/dist/esm/chunks/chunk.ZMXKZJRM.js +7 -0
  260. package/dist/esm/chunks/{chunk.5XQVZQ4U.js.map → chunk.ZMXKZJRM.js.map} +2 -2
  261. package/dist/esm/chunks/{chunk.75KFBRF6.js → chunk.ZPBGKHHM.js} +3 -3
  262. package/dist/esm/chunks/chunk.ZPBGKHHM.js.map +7 -0
  263. package/dist/esm/circular-progress/index.js +2 -2
  264. package/dist/esm/color-picker/index.js +2 -2
  265. package/dist/esm/core/base/index.js +2 -2
  266. package/dist/esm/core/delegates/index.js +1 -1
  267. package/dist/esm/core/index.js +2 -2
  268. package/dist/esm/core/mask/index.js +2 -2
  269. package/dist/esm/core/utils/index.js +2 -2
  270. package/dist/esm/date-picker/index.js +2 -2
  271. package/dist/esm/date-range-picker/index.js +2 -2
  272. package/dist/esm/dialog/index.js +2 -2
  273. package/dist/esm/divider/index.js +2 -2
  274. package/dist/esm/drawer/base/index.js +2 -2
  275. package/dist/esm/drawer/drawer/index.js +2 -2
  276. package/dist/esm/drawer/index.js +2 -2
  277. package/dist/esm/drawer/mini-drawer/index.js +2 -2
  278. package/dist/esm/drawer/modal-drawer/index.js +2 -2
  279. package/dist/esm/expansion-panel/index.js +2 -2
  280. package/dist/esm/file-picker/index.js +2 -2
  281. package/dist/esm/floating-action-button/index.js +2 -2
  282. package/dist/esm/floating-label/index.js +1 -1
  283. package/dist/esm/icon/index.js +2 -2
  284. package/dist/esm/icon-button/index.js +2 -2
  285. package/dist/esm/index.js +2 -2
  286. package/dist/esm/inline-message/index.js +2 -2
  287. package/dist/esm/keyboard-shortcut/index.js +2 -2
  288. package/dist/esm/label-value/index.js +2 -2
  289. package/dist/esm/linear-progress/index.js +2 -2
  290. package/dist/esm/list/index.js +2 -2
  291. package/dist/esm/list/list/index.js +2 -2
  292. package/dist/esm/list/list-item/index.js +2 -2
  293. package/dist/esm/list-dropdown/index.js +2 -2
  294. package/dist/esm/menu/index.js +2 -2
  295. package/dist/esm/open-icon/index.js +2 -2
  296. package/dist/esm/page-state/index.js +2 -2
  297. package/dist/esm/paginator/index.js +2 -2
  298. package/dist/esm/popup/index.js +2 -2
  299. package/dist/esm/product-icon/index.js +2 -2
  300. package/dist/esm/profile-card/index.js +2 -2
  301. package/dist/esm/quantity-field/index.js +2 -2
  302. package/dist/esm/radio/index.js +2 -2
  303. package/dist/esm/ripple/index.js +2 -2
  304. package/dist/esm/scaffold/index.js +2 -2
  305. package/dist/esm/select/core/index.js +2 -2
  306. package/dist/esm/select/index.js +2 -2
  307. package/dist/esm/select/option/index.js +2 -2
  308. package/dist/esm/select/option-group/index.js +2 -2
  309. package/dist/esm/select/select/index.js +2 -2
  310. package/dist/esm/select/select-dropdown/index.js +2 -2
  311. package/dist/esm/skeleton/index.js +2 -2
  312. package/dist/esm/slider/index.js +2 -2
  313. package/dist/esm/split-view/core/index.js +1 -1
  314. package/dist/esm/split-view/index.js +2 -2
  315. package/dist/esm/split-view/split-view/index.js +2 -2
  316. package/dist/esm/split-view/split-view-panel/index.js +2 -2
  317. package/dist/esm/stepper/index.js +2 -2
  318. package/dist/esm/stepper/step/index.js +2 -2
  319. package/dist/esm/stepper/stepper/index.js +2 -2
  320. package/dist/esm/switch/index.js +2 -2
  321. package/dist/esm/table/index.js +2 -2
  322. package/dist/esm/tabs/index.js +2 -2
  323. package/dist/esm/tabs/tab/index.js +2 -2
  324. package/dist/esm/tabs/tab-bar/index.js +2 -2
  325. package/dist/esm/text-field/index.js +2 -2
  326. package/dist/esm/theme/index.js +1 -1
  327. package/dist/esm/time-picker/index.js +2 -2
  328. package/dist/esm/toast/index.js +2 -2
  329. package/dist/esm/toolbar/index.js +2 -2
  330. package/dist/esm/tooltip/index.js +2 -2
  331. package/dist/esm/utils/index.js +1 -1
  332. package/dist/esm/view-switcher/index.js +2 -2
  333. package/dist/esm/view-switcher/view/index.js +2 -2
  334. package/dist/expansion-panel/forge-expansion-panel.css +1 -1
  335. package/dist/floating-action-button/forge-floating-action-button.css +1 -1
  336. package/dist/floating-label/forge-floating-label.css +1 -1
  337. package/dist/forge-core.css +1 -1
  338. package/dist/forge-dark.css +1 -1
  339. package/dist/forge.css +1 -1
  340. package/dist/form-field/forge-form-field.css +1 -1
  341. package/dist/icon-button/forge-icon-button.css +1 -1
  342. package/dist/popup/forge-popup.css +1 -1
  343. package/dist/quantity-field/forge-quantity-field.css +1 -1
  344. package/dist/ripple/forge-ripple.css +1 -1
  345. package/dist/scaffold/forge-scaffold.css +1 -1
  346. package/dist/table/forge-table.css +1 -1
  347. package/dist/theme/forge-theme.css +1 -1
  348. package/dist/tooltip/forge-tooltip.css +1 -1
  349. package/dist/typography/forge-form.css +1 -1
  350. package/dist/typography/forge-typography.css +1 -1
  351. package/dist/utils/forge-flex.css +1 -1
  352. package/dist/utils/forge-grid.css +1 -1
  353. package/dist/utils/forge-utils.css +1 -1
  354. package/esm/accordion/accordion-adapter.d.ts +1 -1
  355. package/esm/accordion/accordion-adapter.js +1 -1
  356. package/esm/accordion/accordion-constants.d.ts +1 -1
  357. package/esm/accordion/accordion-constants.js +1 -1
  358. package/esm/accordion/accordion-foundation.d.ts +1 -1
  359. package/esm/accordion/accordion-foundation.js +1 -1
  360. package/esm/accordion/accordion.d.ts +1 -1
  361. package/esm/accordion/accordion.js +1 -1
  362. package/esm/accordion/index.d.ts +1 -1
  363. package/esm/accordion/index.js +1 -1
  364. package/esm/app-bar/app-bar-adapter.d.ts +1 -1
  365. package/esm/app-bar/app-bar-adapter.js +1 -1
  366. package/esm/app-bar/app-bar-constants.d.ts +1 -1
  367. package/esm/app-bar/app-bar-constants.js +1 -1
  368. package/esm/app-bar/app-bar-foundation.d.ts +1 -1
  369. package/esm/app-bar/app-bar-foundation.js +1 -1
  370. package/esm/app-bar/app-bar.d.ts +1 -1
  371. package/esm/app-bar/app-bar.js +1 -1
  372. package/esm/app-bar/help-button/app-bar-help-button-adapter.d.ts +1 -1
  373. package/esm/app-bar/help-button/app-bar-help-button-adapter.js +1 -1
  374. package/esm/app-bar/help-button/app-bar-help-button-constants.d.ts +1 -1
  375. package/esm/app-bar/help-button/app-bar-help-button-constants.js +1 -1
  376. package/esm/app-bar/help-button/app-bar-help-button-foundation.d.ts +1 -1
  377. package/esm/app-bar/help-button/app-bar-help-button-foundation.js +1 -1
  378. package/esm/app-bar/help-button/app-bar-help-button.d.ts +1 -1
  379. package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
  380. package/esm/app-bar/help-button/index.d.ts +1 -1
  381. package/esm/app-bar/help-button/index.js +1 -1
  382. package/esm/app-bar/index.d.ts +1 -1
  383. package/esm/app-bar/index.js +1 -1
  384. package/esm/app-bar/menu-button/app-bar-menu-button-constants.d.ts +1 -1
  385. package/esm/app-bar/menu-button/app-bar-menu-button-constants.js +1 -1
  386. package/esm/app-bar/menu-button/app-bar-menu-button.d.ts +1 -1
  387. package/esm/app-bar/menu-button/app-bar-menu-button.js +1 -1
  388. package/esm/app-bar/menu-button/index.d.ts +1 -1
  389. package/esm/app-bar/menu-button/index.js +1 -1
  390. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +1 -1
  391. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +1 -1
  392. package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +1 -1
  393. package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +1 -1
  394. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +1 -1
  395. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +1 -1
  396. package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +1 -1
  397. package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
  398. package/esm/app-bar/notification-button/index.d.ts +1 -1
  399. package/esm/app-bar/notification-button/index.js +1 -1
  400. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +1 -1
  401. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +1 -1
  402. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -1
  403. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +1 -1
  404. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +1 -1
  405. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +1 -1
  406. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +1 -1
  407. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  408. package/esm/app-bar/profile-button/index.d.ts +1 -1
  409. package/esm/app-bar/profile-button/index.js +1 -1
  410. package/esm/app-bar/search/app-bar-search-adapter.d.ts +1 -1
  411. package/esm/app-bar/search/app-bar-search-adapter.js +1 -1
  412. package/esm/app-bar/search/app-bar-search-constants.d.ts +1 -1
  413. package/esm/app-bar/search/app-bar-search-constants.js +1 -1
  414. package/esm/app-bar/search/app-bar-search-foundation.d.ts +1 -1
  415. package/esm/app-bar/search/app-bar-search-foundation.js +1 -1
  416. package/esm/app-bar/search/app-bar-search.d.ts +1 -1
  417. package/esm/app-bar/search/app-bar-search.js +1 -1
  418. package/esm/app-bar/search/index.d.ts +1 -1
  419. package/esm/app-bar/search/index.js +1 -1
  420. package/esm/autocomplete/autocomplete-adapter.d.ts +1 -1
  421. package/esm/autocomplete/autocomplete-adapter.js +1 -1
  422. package/esm/autocomplete/autocomplete-component-delegate.d.ts +1 -1
  423. package/esm/autocomplete/autocomplete-component-delegate.js +1 -1
  424. package/esm/autocomplete/autocomplete-constants.d.ts +1 -1
  425. package/esm/autocomplete/autocomplete-constants.js +1 -1
  426. package/esm/autocomplete/autocomplete-foundation.d.ts +1 -1
  427. package/esm/autocomplete/autocomplete-foundation.js +1 -1
  428. package/esm/autocomplete/autocomplete-utils.d.ts +1 -1
  429. package/esm/autocomplete/autocomplete-utils.js +1 -1
  430. package/esm/autocomplete/autocomplete.d.ts +1 -1
  431. package/esm/autocomplete/autocomplete.js +1 -1
  432. package/esm/autocomplete/index.d.ts +1 -1
  433. package/esm/autocomplete/index.js +1 -1
  434. package/esm/avatar/avatar-adapter.d.ts +1 -1
  435. package/esm/avatar/avatar-adapter.js +1 -1
  436. package/esm/avatar/avatar-component-delegate.d.ts +1 -1
  437. package/esm/avatar/avatar-component-delegate.js +1 -1
  438. package/esm/avatar/avatar-constants.d.ts +1 -1
  439. package/esm/avatar/avatar-constants.js +1 -1
  440. package/esm/avatar/avatar-foundation.d.ts +1 -1
  441. package/esm/avatar/avatar-foundation.js +1 -1
  442. package/esm/avatar/avatar.d.ts +1 -1
  443. package/esm/avatar/avatar.js +1 -1
  444. package/esm/avatar/index.d.ts +1 -1
  445. package/esm/avatar/index.js +1 -1
  446. package/esm/backdrop/backdrop-adapter.d.ts +1 -1
  447. package/esm/backdrop/backdrop-adapter.js +1 -1
  448. package/esm/backdrop/backdrop-constants.d.ts +1 -1
  449. package/esm/backdrop/backdrop-constants.js +1 -1
  450. package/esm/backdrop/backdrop-foundation.d.ts +1 -1
  451. package/esm/backdrop/backdrop-foundation.js +1 -1
  452. package/esm/backdrop/backdrop.d.ts +1 -1
  453. package/esm/backdrop/backdrop.js +1 -1
  454. package/esm/backdrop/index.d.ts +1 -1
  455. package/esm/backdrop/index.js +1 -1
  456. package/esm/badge/badge-adapter.d.ts +1 -1
  457. package/esm/badge/badge-adapter.js +1 -1
  458. package/esm/badge/badge-component-delegate.d.ts +1 -1
  459. package/esm/badge/badge-component-delegate.js +1 -1
  460. package/esm/badge/badge-constants.d.ts +1 -1
  461. package/esm/badge/badge-constants.js +1 -1
  462. package/esm/badge/badge-foundation.d.ts +1 -1
  463. package/esm/badge/badge-foundation.js +1 -1
  464. package/esm/badge/badge.d.ts +1 -1
  465. package/esm/badge/badge.js +1 -1
  466. package/esm/badge/index.d.ts +1 -1
  467. package/esm/badge/index.js +1 -1
  468. package/esm/banner/banner-adapter.d.ts +1 -1
  469. package/esm/banner/banner-adapter.js +1 -1
  470. package/esm/banner/banner-constants.d.ts +1 -1
  471. package/esm/banner/banner-constants.js +1 -1
  472. package/esm/banner/banner-foundation.d.ts +1 -1
  473. package/esm/banner/banner-foundation.js +1 -1
  474. package/esm/banner/banner.d.ts +1 -1
  475. package/esm/banner/banner.js +1 -1
  476. package/esm/banner/index.d.ts +1 -1
  477. package/esm/banner/index.js +1 -1
  478. package/esm/bottom-sheet/bottom-sheet-adapter.d.ts +1 -1
  479. package/esm/bottom-sheet/bottom-sheet-adapter.js +1 -1
  480. package/esm/bottom-sheet/bottom-sheet-constants.d.ts +1 -1
  481. package/esm/bottom-sheet/bottom-sheet-constants.js +1 -1
  482. package/esm/bottom-sheet/bottom-sheet-foundation.d.ts +1 -1
  483. package/esm/bottom-sheet/bottom-sheet-foundation.js +1 -1
  484. package/esm/bottom-sheet/bottom-sheet.d.ts +1 -1
  485. package/esm/bottom-sheet/bottom-sheet.js +1 -1
  486. package/esm/bottom-sheet/index.d.ts +1 -1
  487. package/esm/bottom-sheet/index.js +1 -1
  488. package/esm/busy-indicator/busy-indicator-adapter.d.ts +1 -1
  489. package/esm/busy-indicator/busy-indicator-adapter.js +1 -1
  490. package/esm/busy-indicator/busy-indicator-constants.d.ts +1 -1
  491. package/esm/busy-indicator/busy-indicator-constants.js +1 -1
  492. package/esm/busy-indicator/busy-indicator-foundation.d.ts +1 -1
  493. package/esm/busy-indicator/busy-indicator-foundation.js +1 -1
  494. package/esm/busy-indicator/busy-indicator.d.ts +1 -1
  495. package/esm/busy-indicator/busy-indicator.js +1 -1
  496. package/esm/busy-indicator/index.d.ts +1 -1
  497. package/esm/busy-indicator/index.js +1 -1
  498. package/esm/button/button-component-delegate.d.ts +1 -1
  499. package/esm/button/button-component-delegate.js +1 -1
  500. package/esm/button/button-constants.d.ts +1 -1
  501. package/esm/button/button-constants.js +1 -1
  502. package/esm/button/button.d.ts +1 -1
  503. package/esm/button/button.js +2 -2
  504. package/esm/button/index.d.ts +1 -1
  505. package/esm/button/index.js +1 -1
  506. package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +1 -1
  507. package/esm/button-toggle/button-toggle/button-toggle-adapter.js +1 -1
  508. package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +1 -1
  509. package/esm/button-toggle/button-toggle/button-toggle-constants.js +1 -1
  510. package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +1 -1
  511. package/esm/button-toggle/button-toggle/button-toggle-foundation.js +1 -1
  512. package/esm/button-toggle/button-toggle/button-toggle.d.ts +1 -1
  513. package/esm/button-toggle/button-toggle/button-toggle.js +1 -1
  514. package/esm/button-toggle/button-toggle/index.d.ts +1 -1
  515. package/esm/button-toggle/button-toggle/index.js +1 -1
  516. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +1 -1
  517. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +23 -9
  518. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +4 -1
  519. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +1 -1
  520. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +1 -1
  521. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +1 -1
  522. package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +1 -1
  523. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +1 -1
  524. package/esm/button-toggle/button-toggle-group/index.d.ts +1 -1
  525. package/esm/button-toggle/button-toggle-group/index.js +1 -1
  526. package/esm/button-toggle/index.d.ts +1 -1
  527. package/esm/button-toggle/index.js +1 -1
  528. package/esm/calendar/calendar-adapter.d.ts +1 -1
  529. package/esm/calendar/calendar-adapter.js +1 -1
  530. package/esm/calendar/calendar-component-delegate.d.ts +1 -1
  531. package/esm/calendar/calendar-component-delegate.js +1 -1
  532. package/esm/calendar/calendar-constants.d.ts +1 -1
  533. package/esm/calendar/calendar-constants.js +1 -1
  534. package/esm/calendar/calendar-dom-utils.d.ts +1 -1
  535. package/esm/calendar/calendar-dom-utils.js +1 -1
  536. package/esm/calendar/calendar-dropdown/calendar-dropdown-constants.d.ts +1 -1
  537. package/esm/calendar/calendar-dropdown/calendar-dropdown-constants.js +1 -1
  538. package/esm/calendar/calendar-dropdown/calendar-dropdown.d.ts +1 -1
  539. package/esm/calendar/calendar-dropdown/calendar-dropdown.js +1 -1
  540. package/esm/calendar/calendar-dropdown/index.d.ts +1 -1
  541. package/esm/calendar/calendar-dropdown/index.js +1 -1
  542. package/esm/calendar/calendar-foundation.d.ts +1 -1
  543. package/esm/calendar/calendar-foundation.js +1 -1
  544. package/esm/calendar/calendar-locale-utils.d.ts +1 -1
  545. package/esm/calendar/calendar-locale-utils.js +1 -1
  546. package/esm/calendar/calendar-menu/calendar-menu-adapter.d.ts +1 -1
  547. package/esm/calendar/calendar-menu/calendar-menu-adapter.js +1 -1
  548. package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +1 -1
  549. package/esm/calendar/calendar-menu/calendar-menu-constants.js +1 -1
  550. package/esm/calendar/calendar-menu/calendar-menu-foundation.d.ts +1 -1
  551. package/esm/calendar/calendar-menu/calendar-menu-foundation.js +1 -1
  552. package/esm/calendar/calendar-menu/calendar-menu-utils.d.ts +1 -1
  553. package/esm/calendar/calendar-menu/calendar-menu-utils.js +1 -1
  554. package/esm/calendar/calendar-menu/calendar-menu.d.ts +1 -1
  555. package/esm/calendar/calendar-menu/calendar-menu.js +1 -1
  556. package/esm/calendar/calendar-menu/index.d.ts +1 -1
  557. package/esm/calendar/calendar-menu/index.js +1 -1
  558. package/esm/calendar/calendar-utils.d.ts +1 -1
  559. package/esm/calendar/calendar-utils.js +1 -1
  560. package/esm/calendar/calendar.d.ts +1 -1
  561. package/esm/calendar/calendar.js +1 -1
  562. package/esm/calendar/core/calendar-base.d.ts +1 -1
  563. package/esm/calendar/core/calendar-base.js +1 -1
  564. package/esm/calendar/core/date-range.d.ts +1 -1
  565. package/esm/calendar/core/date-range.js +1 -1
  566. package/esm/calendar/core/index.d.ts +1 -1
  567. package/esm/calendar/core/index.js +1 -1
  568. package/esm/calendar/index.d.ts +1 -1
  569. package/esm/calendar/index.js +1 -1
  570. package/esm/card/card-constants.d.ts +1 -1
  571. package/esm/card/card-constants.js +1 -1
  572. package/esm/card/card.d.ts +1 -1
  573. package/esm/card/card.js +1 -1
  574. package/esm/card/index.d.ts +1 -1
  575. package/esm/card/index.js +1 -1
  576. package/esm/checkbox/checkbox-adapter.d.ts +1 -1
  577. package/esm/checkbox/checkbox-adapter.js +1 -1
  578. package/esm/checkbox/checkbox-component-delegate.d.ts +1 -1
  579. package/esm/checkbox/checkbox-component-delegate.js +1 -1
  580. package/esm/checkbox/checkbox-constants.d.ts +1 -1
  581. package/esm/checkbox/checkbox-constants.js +1 -1
  582. package/esm/checkbox/checkbox-foundation.d.ts +1 -1
  583. package/esm/checkbox/checkbox-foundation.js +1 -1
  584. package/esm/checkbox/checkbox.d.ts +1 -1
  585. package/esm/checkbox/checkbox.js +1 -1
  586. package/esm/checkbox/index.d.ts +1 -1
  587. package/esm/checkbox/index.js +1 -1
  588. package/esm/chip-field/chip-field-adapter.d.ts +1 -1
  589. package/esm/chip-field/chip-field-adapter.js +1 -1
  590. package/esm/chip-field/chip-field-component-delegate.d.ts +1 -1
  591. package/esm/chip-field/chip-field-component-delegate.js +1 -1
  592. package/esm/chip-field/chip-field-constants.d.ts +2 -2
  593. package/esm/chip-field/chip-field-constants.js +1 -1
  594. package/esm/chip-field/chip-field-foundation.d.ts +1 -1
  595. package/esm/chip-field/chip-field-foundation.js +1 -1
  596. package/esm/chip-field/chip-field.d.ts +1 -1
  597. package/esm/chip-field/chip-field.js +1 -1
  598. package/esm/chip-field/index.d.ts +1 -1
  599. package/esm/chip-field/index.js +1 -1
  600. package/esm/chips/chip/chip-adapter.d.ts +1 -1
  601. package/esm/chips/chip/chip-adapter.js +1 -1
  602. package/esm/chips/chip/chip-constants.d.ts +1 -1
  603. package/esm/chips/chip/chip-constants.js +1 -1
  604. package/esm/chips/chip/chip-foundation.d.ts +1 -1
  605. package/esm/chips/chip/chip-foundation.js +1 -1
  606. package/esm/chips/chip/chip.d.ts +1 -1
  607. package/esm/chips/chip/chip.js +1 -1
  608. package/esm/chips/chip/index.d.ts +1 -1
  609. package/esm/chips/chip/index.js +1 -1
  610. package/esm/chips/chip-set/chip-set-adapter.d.ts +1 -1
  611. package/esm/chips/chip-set/chip-set-adapter.js +1 -1
  612. package/esm/chips/chip-set/chip-set-constants.d.ts +1 -1
  613. package/esm/chips/chip-set/chip-set-constants.js +1 -1
  614. package/esm/chips/chip-set/chip-set-foundation.d.ts +1 -1
  615. package/esm/chips/chip-set/chip-set-foundation.js +1 -1
  616. package/esm/chips/chip-set/chip-set.d.ts +1 -1
  617. package/esm/chips/chip-set/chip-set.js +1 -1
  618. package/esm/chips/chip-set/index.d.ts +1 -1
  619. package/esm/chips/chip-set/index.js +1 -1
  620. package/esm/chips/index.d.ts +1 -1
  621. package/esm/chips/index.js +1 -1
  622. package/esm/circular-progress/circular-progress-adapter.d.ts +1 -1
  623. package/esm/circular-progress/circular-progress-adapter.js +1 -1
  624. package/esm/circular-progress/circular-progress-constants.d.ts +1 -1
  625. package/esm/circular-progress/circular-progress-constants.js +1 -1
  626. package/esm/circular-progress/circular-progress-foundation.d.ts +1 -1
  627. package/esm/circular-progress/circular-progress-foundation.js +1 -1
  628. package/esm/circular-progress/circular-progress.d.ts +1 -1
  629. package/esm/circular-progress/circular-progress.js +1 -1
  630. package/esm/circular-progress/index.d.ts +1 -1
  631. package/esm/circular-progress/index.js +1 -1
  632. package/esm/color-picker/color-picker-adapter.d.ts +1 -1
  633. package/esm/color-picker/color-picker-adapter.js +1 -1
  634. package/esm/color-picker/color-picker-constants.d.ts +1 -1
  635. package/esm/color-picker/color-picker-constants.js +1 -1
  636. package/esm/color-picker/color-picker-foundation.d.ts +1 -1
  637. package/esm/color-picker/color-picker-foundation.js +1 -1
  638. package/esm/color-picker/color-picker-gradient-slider.d.ts +1 -1
  639. package/esm/color-picker/color-picker-gradient-slider.js +1 -1
  640. package/esm/color-picker/color-picker-slider.d.ts +1 -1
  641. package/esm/color-picker/color-picker-slider.js +1 -1
  642. package/esm/color-picker/color-picker-utils.d.ts +1 -1
  643. package/esm/color-picker/color-picker-utils.js +1 -1
  644. package/esm/color-picker/color-picker.d.ts +1 -1
  645. package/esm/color-picker/color-picker.js +1 -1
  646. package/esm/color-picker/index.d.ts +1 -1
  647. package/esm/color-picker/index.js +1 -1
  648. package/esm/constants.d.ts +1 -1
  649. package/esm/constants.js +1 -1
  650. package/esm/core/base/base-adapter.d.ts +1 -1
  651. package/esm/core/base/base-adapter.js +1 -1
  652. package/esm/core/base/base-component.d.ts +1 -1
  653. package/esm/core/base/base-component.js +1 -1
  654. package/esm/core/base/index.d.ts +1 -1
  655. package/esm/core/base/index.js +1 -1
  656. package/esm/core/delegates/base-component-delegate.d.ts +1 -1
  657. package/esm/core/delegates/base-component-delegate.js +1 -1
  658. package/esm/core/delegates/form-field-component-delegate.d.ts +1 -1
  659. package/esm/core/delegates/form-field-component-delegate.js +1 -1
  660. package/esm/core/delegates/index.d.ts +1 -1
  661. package/esm/core/delegates/index.js +1 -1
  662. package/esm/core/index.d.ts +1 -1
  663. package/esm/core/index.js +1 -1
  664. package/esm/core/mask/date-input-mask.d.ts +1 -1
  665. package/esm/core/mask/date-input-mask.js +1 -1
  666. package/esm/core/mask/index.d.ts +1 -1
  667. package/esm/core/mask/index.js +1 -1
  668. package/esm/core/mask/time-input-mask.d.ts +1 -1
  669. package/esm/core/mask/time-input-mask.js +1 -1
  670. package/esm/core/utils/date-utils.d.ts +1 -1
  671. package/esm/core/utils/date-utils.js +1 -1
  672. package/esm/core/utils/event-utils.d.ts +1 -1
  673. package/esm/core/utils/event-utils.js +1 -1
  674. package/esm/core/utils/index.d.ts +1 -1
  675. package/esm/core/utils/index.js +1 -1
  676. package/esm/core/utils/svg-utils.d.ts +1 -1
  677. package/esm/core/utils/svg-utils.js +1 -1
  678. package/esm/core/utils/time-utils.d.ts +1 -1
  679. package/esm/core/utils/time-utils.js +1 -1
  680. package/esm/core/utils/utils.d.ts +1 -1
  681. package/esm/core/utils/utils.js +1 -1
  682. package/esm/date-picker/base/base-date-picker-adapter.d.ts +1 -1
  683. package/esm/date-picker/base/base-date-picker-adapter.js +1 -1
  684. package/esm/date-picker/base/base-date-picker-constants.d.ts +1 -1
  685. package/esm/date-picker/base/base-date-picker-constants.js +1 -1
  686. package/esm/date-picker/base/base-date-picker-foundation.d.ts +1 -1
  687. package/esm/date-picker/base/base-date-picker-foundation.js +1 -1
  688. package/esm/date-picker/base/base-date-picker-utils.d.ts +1 -1
  689. package/esm/date-picker/base/base-date-picker-utils.js +1 -1
  690. package/esm/date-picker/base/base-date-picker.d.ts +1 -1
  691. package/esm/date-picker/base/base-date-picker.js +1 -1
  692. package/esm/date-picker/date-picker-adapter.d.ts +1 -1
  693. package/esm/date-picker/date-picker-adapter.js +1 -1
  694. package/esm/date-picker/date-picker-component-delegate.d.ts +1 -1
  695. package/esm/date-picker/date-picker-component-delegate.js +1 -1
  696. package/esm/date-picker/date-picker-constants.d.ts +1 -1
  697. package/esm/date-picker/date-picker-constants.js +1 -1
  698. package/esm/date-picker/date-picker-foundation.d.ts +1 -1
  699. package/esm/date-picker/date-picker-foundation.js +1 -1
  700. package/esm/date-picker/date-picker.d.ts +1 -1
  701. package/esm/date-picker/date-picker.js +1 -1
  702. package/esm/date-picker/index.d.ts +1 -1
  703. package/esm/date-picker/index.js +1 -1
  704. package/esm/date-range-picker/date-range-picker-adapter.d.ts +1 -1
  705. package/esm/date-range-picker/date-range-picker-adapter.js +1 -1
  706. package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +1 -1
  707. package/esm/date-range-picker/date-range-picker-component-delegate.js +1 -1
  708. package/esm/date-range-picker/date-range-picker-constants.d.ts +1 -1
  709. package/esm/date-range-picker/date-range-picker-constants.js +1 -1
  710. package/esm/date-range-picker/date-range-picker-foundation.d.ts +1 -1
  711. package/esm/date-range-picker/date-range-picker-foundation.js +1 -1
  712. package/esm/date-range-picker/date-range-picker.d.ts +1 -1
  713. package/esm/date-range-picker/date-range-picker.js +7 -7
  714. package/esm/date-range-picker/index.d.ts +1 -1
  715. package/esm/date-range-picker/index.js +1 -1
  716. package/esm/dialog/dialog-adapter.d.ts +1 -1
  717. package/esm/dialog/dialog-adapter.js +1 -1
  718. package/esm/dialog/dialog-constants.d.ts +1 -1
  719. package/esm/dialog/dialog-constants.js +1 -1
  720. package/esm/dialog/dialog-foundation.d.ts +1 -1
  721. package/esm/dialog/dialog-foundation.js +3 -2
  722. package/esm/dialog/dialog.d.ts +1 -1
  723. package/esm/dialog/dialog.js +1 -1
  724. package/esm/dialog/index.d.ts +1 -1
  725. package/esm/dialog/index.js +1 -1
  726. package/esm/divider/divider-constants.d.ts +1 -1
  727. package/esm/divider/divider-constants.js +1 -1
  728. package/esm/divider/divider.d.ts +1 -1
  729. package/esm/divider/divider.js +1 -1
  730. package/esm/divider/index.d.ts +1 -1
  731. package/esm/divider/index.js +1 -1
  732. package/esm/drawer/base/base-drawer-adapter.d.ts +1 -1
  733. package/esm/drawer/base/base-drawer-adapter.js +1 -1
  734. package/esm/drawer/base/base-drawer-constants.d.ts +1 -1
  735. package/esm/drawer/base/base-drawer-constants.js +1 -1
  736. package/esm/drawer/base/base-drawer-foundation.d.ts +1 -1
  737. package/esm/drawer/base/base-drawer-foundation.js +1 -1
  738. package/esm/drawer/base/base-drawer.d.ts +1 -1
  739. package/esm/drawer/base/base-drawer.js +4 -4
  740. package/esm/drawer/base/index.d.ts +1 -1
  741. package/esm/drawer/base/index.js +1 -1
  742. package/esm/drawer/drawer/drawer-constants.d.ts +1 -1
  743. package/esm/drawer/drawer/drawer-constants.js +1 -1
  744. package/esm/drawer/drawer/drawer.d.ts +1 -1
  745. package/esm/drawer/drawer/drawer.js +1 -1
  746. package/esm/drawer/drawer/index.d.ts +1 -1
  747. package/esm/drawer/drawer/index.js +1 -1
  748. package/esm/drawer/index.d.ts +1 -1
  749. package/esm/drawer/index.js +1 -1
  750. package/esm/drawer/mini-drawer/index.d.ts +1 -1
  751. package/esm/drawer/mini-drawer/index.js +1 -1
  752. package/esm/drawer/mini-drawer/mini-drawer-constants.d.ts +1 -1
  753. package/esm/drawer/mini-drawer/mini-drawer-constants.js +1 -1
  754. package/esm/drawer/mini-drawer/mini-drawer.d.ts +1 -1
  755. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  756. package/esm/drawer/modal-drawer/index.d.ts +1 -1
  757. package/esm/drawer/modal-drawer/index.js +1 -1
  758. package/esm/drawer/modal-drawer/modal-drawer-adapter.d.ts +1 -1
  759. package/esm/drawer/modal-drawer/modal-drawer-adapter.js +1 -1
  760. package/esm/drawer/modal-drawer/modal-drawer-constants.d.ts +1 -1
  761. package/esm/drawer/modal-drawer/modal-drawer-constants.js +1 -1
  762. package/esm/drawer/modal-drawer/modal-drawer-foundation.d.ts +1 -1
  763. package/esm/drawer/modal-drawer/modal-drawer-foundation.js +1 -1
  764. package/esm/drawer/modal-drawer/modal-drawer.d.ts +1 -1
  765. package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
  766. package/esm/expansion-panel/expansion-panel-adapter.d.ts +1 -1
  767. package/esm/expansion-panel/expansion-panel-adapter.js +1 -1
  768. package/esm/expansion-panel/expansion-panel-constants.d.ts +1 -1
  769. package/esm/expansion-panel/expansion-panel-constants.js +1 -1
  770. package/esm/expansion-panel/expansion-panel-foundation.d.ts +1 -1
  771. package/esm/expansion-panel/expansion-panel-foundation.js +1 -1
  772. package/esm/expansion-panel/expansion-panel.d.ts +1 -1
  773. package/esm/expansion-panel/expansion-panel.js +1 -1
  774. package/esm/expansion-panel/index.d.ts +1 -1
  775. package/esm/expansion-panel/index.js +1 -1
  776. package/esm/field/field-adapter.d.ts +1 -1
  777. package/esm/field/field-adapter.js +1 -1
  778. package/esm/field/field-constants.d.ts +1 -1
  779. package/esm/field/field-constants.js +1 -1
  780. package/esm/field/field-foundation.d.ts +1 -1
  781. package/esm/field/field-foundation.js +1 -1
  782. package/esm/field/field.d.ts +1 -1
  783. package/esm/field/field.js +1 -1
  784. package/esm/file-picker/file-picker-adapter.d.ts +1 -1
  785. package/esm/file-picker/file-picker-adapter.js +1 -1
  786. package/esm/file-picker/file-picker-component-delegate.d.ts +1 -1
  787. package/esm/file-picker/file-picker-component-delegate.js +1 -1
  788. package/esm/file-picker/file-picker-constants.d.ts +1 -1
  789. package/esm/file-picker/file-picker-constants.js +1 -1
  790. package/esm/file-picker/file-picker-foundation.d.ts +1 -1
  791. package/esm/file-picker/file-picker-foundation.js +1 -1
  792. package/esm/file-picker/file-picker.d.ts +1 -1
  793. package/esm/file-picker/file-picker.js +1 -1
  794. package/esm/file-picker/index.d.ts +1 -1
  795. package/esm/file-picker/index.js +1 -1
  796. package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +1 -1
  797. package/esm/floating-action-button/floating-action-button-component-delegate.js +1 -1
  798. package/esm/floating-action-button/floating-action-button-constants.d.ts +1 -1
  799. package/esm/floating-action-button/floating-action-button-constants.js +1 -1
  800. package/esm/floating-action-button/floating-action-button.d.ts +1 -1
  801. package/esm/floating-action-button/floating-action-button.js +1 -1
  802. package/esm/floating-action-button/index.d.ts +1 -1
  803. package/esm/floating-action-button/index.js +1 -1
  804. package/esm/floating-label/floating-label-adapter.d.ts +1 -1
  805. package/esm/floating-label/floating-label-adapter.js +1 -1
  806. package/esm/floating-label/floating-label-constants.d.ts +1 -1
  807. package/esm/floating-label/floating-label-constants.js +1 -1
  808. package/esm/floating-label/floating-label-foundation.d.ts +1 -1
  809. package/esm/floating-label/floating-label-foundation.js +1 -1
  810. package/esm/floating-label/floating-label.d.ts +1 -1
  811. package/esm/floating-label/floating-label.js +1 -1
  812. package/esm/floating-label/index.d.ts +1 -1
  813. package/esm/floating-label/index.js +1 -1
  814. package/esm/icon/icon-adapter.d.ts +1 -1
  815. package/esm/icon/icon-adapter.js +1 -1
  816. package/esm/icon/icon-component-delegate.d.ts +1 -1
  817. package/esm/icon/icon-component-delegate.js +1 -1
  818. package/esm/icon/icon-constants.d.ts +1 -1
  819. package/esm/icon/icon-constants.js +1 -1
  820. package/esm/icon/icon-foundation.d.ts +1 -1
  821. package/esm/icon/icon-foundation.js +1 -1
  822. package/esm/icon/icon-registry.d.ts +1 -1
  823. package/esm/icon/icon-registry.js +1 -1
  824. package/esm/icon/icon-utils.d.ts +1 -1
  825. package/esm/icon/icon-utils.js +1 -1
  826. package/esm/icon/icon.d.ts +1 -1
  827. package/esm/icon/icon.js +1 -1
  828. package/esm/icon/index.d.ts +1 -1
  829. package/esm/icon/index.js +1 -1
  830. package/esm/icon-button/icon-button-component-delegate.d.ts +1 -1
  831. package/esm/icon-button/icon-button-component-delegate.js +1 -1
  832. package/esm/icon-button/icon-button-constants.d.ts +1 -1
  833. package/esm/icon-button/icon-button-constants.js +1 -1
  834. package/esm/icon-button/icon-button.d.ts +1 -1
  835. package/esm/icon-button/icon-button.js +1 -1
  836. package/esm/icon-button/index.d.ts +1 -1
  837. package/esm/icon-button/index.js +1 -1
  838. package/esm/index.d.ts +1 -1
  839. package/esm/index.js +1 -1
  840. package/esm/inline-message/index.d.ts +1 -1
  841. package/esm/inline-message/index.js +1 -1
  842. package/esm/inline-message/inline-message-constants.d.ts +1 -1
  843. package/esm/inline-message/inline-message-constants.js +1 -1
  844. package/esm/inline-message/inline-message.d.ts +1 -1
  845. package/esm/inline-message/inline-message.js +1 -1
  846. package/esm/keyboard-shortcut/index.d.ts +1 -1
  847. package/esm/keyboard-shortcut/index.js +1 -1
  848. package/esm/keyboard-shortcut/keyboard-shortcut-adapter.d.ts +1 -1
  849. package/esm/keyboard-shortcut/keyboard-shortcut-adapter.js +1 -1
  850. package/esm/keyboard-shortcut/keyboard-shortcut-constants.d.ts +1 -1
  851. package/esm/keyboard-shortcut/keyboard-shortcut-constants.js +1 -1
  852. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +1 -1
  853. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +1 -1
  854. package/esm/keyboard-shortcut/keyboard-shortcut-utils.d.ts +1 -1
  855. package/esm/keyboard-shortcut/keyboard-shortcut-utils.js +1 -1
  856. package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +4 -1
  857. package/esm/keyboard-shortcut/keyboard-shortcut.js +1 -1
  858. package/esm/label-value/index.d.ts +1 -1
  859. package/esm/label-value/index.js +1 -1
  860. package/esm/label-value/label-value-adapter.d.ts +1 -1
  861. package/esm/label-value/label-value-adapter.js +1 -1
  862. package/esm/label-value/label-value-component-delegate.d.ts +1 -1
  863. package/esm/label-value/label-value-component-delegate.js +1 -1
  864. package/esm/label-value/label-value-constants.d.ts +2 -2
  865. package/esm/label-value/label-value-constants.js +1 -1
  866. package/esm/label-value/label-value-foundation.d.ts +1 -1
  867. package/esm/label-value/label-value-foundation.js +1 -1
  868. package/esm/label-value/label-value.d.ts +1 -1
  869. package/esm/label-value/label-value.js +1 -1
  870. package/esm/linear-progress/index.d.ts +1 -1
  871. package/esm/linear-progress/index.js +1 -1
  872. package/esm/linear-progress/linear-progress-constants.d.ts +1 -1
  873. package/esm/linear-progress/linear-progress-constants.js +1 -1
  874. package/esm/linear-progress/linear-progress.d.ts +1 -1
  875. package/esm/linear-progress/linear-progress.js +1 -1
  876. package/esm/list/index.d.ts +1 -1
  877. package/esm/list/index.js +1 -1
  878. package/esm/list/list/index.d.ts +1 -1
  879. package/esm/list/list/index.js +1 -1
  880. package/esm/list/list/list-adapter.d.ts +1 -1
  881. package/esm/list/list/list-adapter.js +1 -1
  882. package/esm/list/list/list-constants.d.ts +1 -1
  883. package/esm/list/list/list-constants.js +1 -1
  884. package/esm/list/list/list-foundation.d.ts +1 -1
  885. package/esm/list/list/list-foundation.js +1 -1
  886. package/esm/list/list/list.d.ts +1 -1
  887. package/esm/list/list/list.js +1 -1
  888. package/esm/list/list-item/index.d.ts +1 -1
  889. package/esm/list/list-item/index.js +1 -1
  890. package/esm/list/list-item/list-item-adapter.d.ts +4 -1
  891. package/esm/list/list-item/list-item-adapter.js +5 -1
  892. package/esm/list/list-item/list-item-constants.d.ts +1 -1
  893. package/esm/list/list-item/list-item-constants.js +1 -1
  894. package/esm/list/list-item/list-item-foundation.d.ts +1 -1
  895. package/esm/list/list-item/list-item-foundation.js +10 -3
  896. package/esm/list/list-item/list-item.d.ts +1 -1
  897. package/esm/list/list-item/list-item.js +1 -1
  898. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.d.ts +1 -1
  899. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.js +1 -1
  900. package/esm/list-dropdown/index.d.ts +1 -1
  901. package/esm/list-dropdown/index.js +1 -1
  902. package/esm/list-dropdown/list-dropdown-adapter.d.ts +1 -1
  903. package/esm/list-dropdown/list-dropdown-adapter.js +1 -1
  904. package/esm/list-dropdown/list-dropdown-aware-foundation.d.ts +1 -1
  905. package/esm/list-dropdown/list-dropdown-aware-foundation.js +1 -1
  906. package/esm/list-dropdown/list-dropdown-aware.d.ts +1 -1
  907. package/esm/list-dropdown/list-dropdown-aware.js +1 -1
  908. package/esm/list-dropdown/list-dropdown-constants.d.ts +1 -1
  909. package/esm/list-dropdown/list-dropdown-constants.js +1 -1
  910. package/esm/list-dropdown/list-dropdown-foundation.d.ts +1 -1
  911. package/esm/list-dropdown/list-dropdown-foundation.js +2 -1
  912. package/esm/list-dropdown/list-dropdown-utils.d.ts +1 -1
  913. package/esm/list-dropdown/list-dropdown-utils.js +1 -1
  914. package/esm/list-dropdown/list-dropdown.d.ts +1 -1
  915. package/esm/list-dropdown/list-dropdown.js +1 -1
  916. package/esm/menu/index.d.ts +1 -1
  917. package/esm/menu/index.js +1 -1
  918. package/esm/menu/menu-adapter.d.ts +1 -1
  919. package/esm/menu/menu-adapter.js +1 -1
  920. package/esm/menu/menu-constants.d.ts +1 -1
  921. package/esm/menu/menu-constants.js +1 -1
  922. package/esm/menu/menu-foundation.d.ts +1 -1
  923. package/esm/menu/menu-foundation.js +1 -1
  924. package/esm/menu/menu.d.ts +1 -1
  925. package/esm/menu/menu.js +1 -1
  926. package/esm/open-icon/index.d.ts +1 -1
  927. package/esm/open-icon/index.js +1 -1
  928. package/esm/open-icon/open-icon-adapter.d.ts +1 -1
  929. package/esm/open-icon/open-icon-adapter.js +1 -1
  930. package/esm/open-icon/open-icon-constants.d.ts +1 -1
  931. package/esm/open-icon/open-icon-constants.js +1 -1
  932. package/esm/open-icon/open-icon-foundation.d.ts +1 -1
  933. package/esm/open-icon/open-icon-foundation.js +1 -1
  934. package/esm/open-icon/open-icon.d.ts +1 -1
  935. package/esm/open-icon/open-icon.js +1 -1
  936. package/esm/page-state/index.d.ts +1 -1
  937. package/esm/page-state/index.js +1 -1
  938. package/esm/page-state/page-state-constants.d.ts +1 -1
  939. package/esm/page-state/page-state-constants.js +1 -1
  940. package/esm/page-state/page-state.d.ts +1 -1
  941. package/esm/page-state/page-state.js +1 -1
  942. package/esm/paginator/index.d.ts +1 -1
  943. package/esm/paginator/index.js +1 -1
  944. package/esm/paginator/paginator-adapter.d.ts +1 -1
  945. package/esm/paginator/paginator-adapter.js +1 -1
  946. package/esm/paginator/paginator-constants.d.ts +1 -1
  947. package/esm/paginator/paginator-constants.js +1 -1
  948. package/esm/paginator/paginator-foundation.d.ts +1 -1
  949. package/esm/paginator/paginator-foundation.js +1 -1
  950. package/esm/paginator/paginator.d.ts +1 -1
  951. package/esm/paginator/paginator.js +1 -1
  952. package/esm/popup/index.d.ts +1 -1
  953. package/esm/popup/index.js +1 -1
  954. package/esm/popup/popup-adapter.d.ts +1 -1
  955. package/esm/popup/popup-adapter.js +1 -1
  956. package/esm/popup/popup-constants.d.ts +1 -1
  957. package/esm/popup/popup-constants.js +1 -1
  958. package/esm/popup/popup-foundation.d.ts +1 -1
  959. package/esm/popup/popup-foundation.js +1 -1
  960. package/esm/popup/popup.d.ts +1 -1
  961. package/esm/popup/popup.js +1 -1
  962. package/esm/product-icon/index.d.ts +1 -1
  963. package/esm/product-icon/index.js +1 -1
  964. package/esm/product-icon/product-icon-adapter.d.ts +1 -1
  965. package/esm/product-icon/product-icon-adapter.js +1 -1
  966. package/esm/product-icon/product-icon-constants.d.ts +1 -1
  967. package/esm/product-icon/product-icon-constants.js +1 -1
  968. package/esm/product-icon/product-icon-foundation.d.ts +1 -1
  969. package/esm/product-icon/product-icon-foundation.js +1 -1
  970. package/esm/product-icon/product-icon.d.ts +1 -1
  971. package/esm/product-icon/product-icon.js +1 -1
  972. package/esm/profile-card/index.d.ts +1 -1
  973. package/esm/profile-card/index.js +1 -1
  974. package/esm/profile-card/profile-card-adapter.d.ts +1 -1
  975. package/esm/profile-card/profile-card-adapter.js +1 -1
  976. package/esm/profile-card/profile-card-constants.d.ts +1 -1
  977. package/esm/profile-card/profile-card-constants.js +1 -1
  978. package/esm/profile-card/profile-card-foundation.d.ts +1 -1
  979. package/esm/profile-card/profile-card-foundation.js +1 -1
  980. package/esm/profile-card/profile-card.d.ts +1 -1
  981. package/esm/profile-card/profile-card.js +1 -1
  982. package/esm/quantity-field/index.d.ts +1 -1
  983. package/esm/quantity-field/index.js +1 -1
  984. package/esm/quantity-field/quantity-field-adapter.d.ts +1 -1
  985. package/esm/quantity-field/quantity-field-adapter.js +1 -1
  986. package/esm/quantity-field/quantity-field-component-delegate.d.ts +1 -1
  987. package/esm/quantity-field/quantity-field-component-delegate.js +1 -1
  988. package/esm/quantity-field/quantity-field-constants.d.ts +1 -1
  989. package/esm/quantity-field/quantity-field-constants.js +1 -1
  990. package/esm/quantity-field/quantity-field-foundation.d.ts +1 -1
  991. package/esm/quantity-field/quantity-field-foundation.js +1 -1
  992. package/esm/quantity-field/quantity-field.d.ts +1 -1
  993. package/esm/quantity-field/quantity-field.js +1 -1
  994. package/esm/radio/index.d.ts +1 -1
  995. package/esm/radio/index.js +1 -1
  996. package/esm/radio/radio-adapter.d.ts +1 -1
  997. package/esm/radio/radio-adapter.js +1 -1
  998. package/esm/radio/radio-constants.d.ts +1 -1
  999. package/esm/radio/radio-constants.js +1 -1
  1000. package/esm/radio/radio-foundation.d.ts +1 -1
  1001. package/esm/radio/radio-foundation.js +1 -1
  1002. package/esm/radio/radio.d.ts +1 -1
  1003. package/esm/radio/radio.js +1 -1
  1004. package/esm/ripple/forge-ripple.d.ts +2 -2
  1005. package/esm/ripple/forge-ripple.js +1 -1
  1006. package/esm/ripple/index.d.ts +1 -1
  1007. package/esm/ripple/index.js +1 -1
  1008. package/esm/ripple/ripple-adapter.d.ts +1 -1
  1009. package/esm/ripple/ripple-adapter.js +1 -1
  1010. package/esm/ripple/ripple-constants.d.ts +1 -1
  1011. package/esm/ripple/ripple-constants.js +1 -1
  1012. package/esm/ripple/ripple-foundation.d.ts +1 -1
  1013. package/esm/ripple/ripple-foundation.js +1 -1
  1014. package/esm/ripple/ripple.d.ts +3 -3
  1015. package/esm/ripple/ripple.js +3 -2
  1016. package/esm/scaffold/index.d.ts +1 -1
  1017. package/esm/scaffold/index.js +1 -1
  1018. package/esm/scaffold/scaffold-constants.d.ts +1 -1
  1019. package/esm/scaffold/scaffold-constants.js +1 -1
  1020. package/esm/scaffold/scaffold.d.ts +1 -1
  1021. package/esm/scaffold/scaffold.js +1 -1
  1022. package/esm/select/core/base-select-adapter.d.ts +1 -1
  1023. package/esm/select/core/base-select-adapter.js +1 -1
  1024. package/esm/select/core/base-select-constants.d.ts +1 -1
  1025. package/esm/select/core/base-select-constants.js +1 -1
  1026. package/esm/select/core/base-select-foundation.d.ts +1 -1
  1027. package/esm/select/core/base-select-foundation.js +1 -1
  1028. package/esm/select/core/base-select.d.ts +1 -1
  1029. package/esm/select/core/base-select.js +1 -1
  1030. package/esm/select/core/index.d.ts +1 -1
  1031. package/esm/select/core/index.js +1 -1
  1032. package/esm/select/core/select-utils.d.ts +1 -1
  1033. package/esm/select/core/select-utils.js +1 -1
  1034. package/esm/select/index.d.ts +1 -1
  1035. package/esm/select/index.js +1 -1
  1036. package/esm/select/option/index.d.ts +1 -1
  1037. package/esm/select/option/index.js +1 -1
  1038. package/esm/select/option/option-adapter.d.ts +1 -1
  1039. package/esm/select/option/option-adapter.js +1 -1
  1040. package/esm/select/option/option-constants.d.ts +1 -1
  1041. package/esm/select/option/option-constants.js +1 -1
  1042. package/esm/select/option/option-foundation.d.ts +1 -1
  1043. package/esm/select/option/option-foundation.js +1 -1
  1044. package/esm/select/option/option.d.ts +1 -1
  1045. package/esm/select/option/option.js +1 -1
  1046. package/esm/select/option-group/index.d.ts +1 -1
  1047. package/esm/select/option-group/index.js +1 -1
  1048. package/esm/select/option-group/option-group-constants.d.ts +1 -1
  1049. package/esm/select/option-group/option-group-constants.js +1 -1
  1050. package/esm/select/option-group/option-group.d.ts +1 -1
  1051. package/esm/select/option-group/option-group.js +1 -1
  1052. package/esm/select/select/index.d.ts +1 -1
  1053. package/esm/select/select/index.js +1 -1
  1054. package/esm/select/select/select-adapter.d.ts +1 -1
  1055. package/esm/select/select/select-adapter.js +1 -1
  1056. package/esm/select/select/select-constants.d.ts +2 -2
  1057. package/esm/select/select/select-constants.js +1 -1
  1058. package/esm/select/select/select-foundation.d.ts +1 -1
  1059. package/esm/select/select/select-foundation.js +1 -1
  1060. package/esm/select/select/select.d.ts +1 -1
  1061. package/esm/select/select/select.js +7 -7
  1062. package/esm/select/select-component-delegate.d.ts +1 -1
  1063. package/esm/select/select-component-delegate.js +1 -1
  1064. package/esm/select/select-dropdown/index.d.ts +1 -1
  1065. package/esm/select/select-dropdown/index.js +1 -1
  1066. package/esm/select/select-dropdown/select-dropdown-adapter.d.ts +1 -1
  1067. package/esm/select/select-dropdown/select-dropdown-adapter.js +1 -1
  1068. package/esm/select/select-dropdown/select-dropdown-constants.d.ts +1 -1
  1069. package/esm/select/select-dropdown/select-dropdown-constants.js +1 -1
  1070. package/esm/select/select-dropdown/select-dropdown-foundation.d.ts +1 -1
  1071. package/esm/select/select-dropdown/select-dropdown-foundation.js +1 -1
  1072. package/esm/select/select-dropdown/select-dropdown.d.ts +1 -1
  1073. package/esm/select/select-dropdown/select-dropdown.js +6 -6
  1074. package/esm/skeleton/index.d.ts +1 -1
  1075. package/esm/skeleton/index.js +1 -1
  1076. package/esm/skeleton/skeleton-constants.d.ts +1 -1
  1077. package/esm/skeleton/skeleton-constants.js +1 -1
  1078. package/esm/skeleton/skeleton.d.ts +1 -1
  1079. package/esm/skeleton/skeleton.js +1 -1
  1080. package/esm/slider/index.d.ts +1 -1
  1081. package/esm/slider/index.js +1 -1
  1082. package/esm/slider/slider-component-delegate.d.ts +1 -1
  1083. package/esm/slider/slider-component-delegate.js +1 -1
  1084. package/esm/slider/slider-constants.d.ts +1 -1
  1085. package/esm/slider/slider-constants.js +1 -1
  1086. package/esm/slider/slider.d.ts +1 -1
  1087. package/esm/slider/slider.js +1 -1
  1088. package/esm/split-view/core/index.d.ts +1 -1
  1089. package/esm/split-view/core/index.js +1 -1
  1090. package/esm/split-view/core/split-view-base.d.ts +1 -1
  1091. package/esm/split-view/core/split-view-base.js +1 -1
  1092. package/esm/split-view/index.d.ts +1 -1
  1093. package/esm/split-view/index.js +1 -1
  1094. package/esm/split-view/split-view/index.d.ts +1 -1
  1095. package/esm/split-view/split-view/index.js +1 -1
  1096. package/esm/split-view/split-view/split-view-adapter.d.ts +1 -1
  1097. package/esm/split-view/split-view/split-view-adapter.js +1 -1
  1098. package/esm/split-view/split-view/split-view-constants.d.ts +1 -1
  1099. package/esm/split-view/split-view/split-view-constants.js +1 -1
  1100. package/esm/split-view/split-view/split-view-foundation.d.ts +1 -1
  1101. package/esm/split-view/split-view/split-view-foundation.js +1 -1
  1102. package/esm/split-view/split-view/split-view.d.ts +1 -1
  1103. package/esm/split-view/split-view/split-view.js +4 -2
  1104. package/esm/split-view/split-view-panel/index.d.ts +1 -1
  1105. package/esm/split-view/split-view-panel/index.js +1 -1
  1106. package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +1 -1
  1107. package/esm/split-view/split-view-panel/split-view-panel-adapter.js +1 -1
  1108. package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +1 -1
  1109. package/esm/split-view/split-view-panel/split-view-panel-constants.js +1 -1
  1110. package/esm/split-view/split-view-panel/split-view-panel-foundation.d.ts +1 -1
  1111. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +1 -1
  1112. package/esm/split-view/split-view-panel/split-view-panel-utils.d.ts +1 -1
  1113. package/esm/split-view/split-view-panel/split-view-panel-utils.js +1 -1
  1114. package/esm/split-view/split-view-panel/split-view-panel.d.ts +1 -1
  1115. package/esm/split-view/split-view-panel/split-view-panel.js +2 -2
  1116. package/esm/stepper/core/stepper-utils.d.ts +1 -1
  1117. package/esm/stepper/core/stepper-utils.js +1 -1
  1118. package/esm/stepper/index.d.ts +1 -1
  1119. package/esm/stepper/index.js +1 -1
  1120. package/esm/stepper/step/index.d.ts +1 -1
  1121. package/esm/stepper/step/index.js +1 -1
  1122. package/esm/stepper/step/step-adapter.d.ts +1 -1
  1123. package/esm/stepper/step/step-adapter.js +1 -1
  1124. package/esm/stepper/step/step-constants.d.ts +1 -1
  1125. package/esm/stepper/step/step-constants.js +1 -1
  1126. package/esm/stepper/step/step-foundation.d.ts +1 -1
  1127. package/esm/stepper/step/step-foundation.js +1 -1
  1128. package/esm/stepper/step/step.d.ts +1 -1
  1129. package/esm/stepper/step/step.js +7 -4
  1130. package/esm/stepper/stepper/index.d.ts +1 -1
  1131. package/esm/stepper/stepper/index.js +1 -1
  1132. package/esm/stepper/stepper/stepper-adapter.d.ts +1 -1
  1133. package/esm/stepper/stepper/stepper-adapter.js +1 -1
  1134. package/esm/stepper/stepper/stepper-constants.d.ts +1 -1
  1135. package/esm/stepper/stepper/stepper-constants.js +1 -1
  1136. package/esm/stepper/stepper/stepper-foundation.d.ts +1 -1
  1137. package/esm/stepper/stepper/stepper-foundation.js +1 -1
  1138. package/esm/stepper/stepper/stepper.d.ts +1 -1
  1139. package/esm/stepper/stepper/stepper.js +1 -1
  1140. package/esm/switch/index.d.ts +1 -1
  1141. package/esm/switch/index.js +1 -1
  1142. package/esm/switch/switch-component-delegate.d.ts +1 -1
  1143. package/esm/switch/switch-component-delegate.js +1 -1
  1144. package/esm/switch/switch-constants.d.ts +1 -1
  1145. package/esm/switch/switch-constants.js +1 -1
  1146. package/esm/switch/switch.d.ts +1 -1
  1147. package/esm/switch/switch.js +1 -1
  1148. package/esm/table/index.d.ts +1 -1
  1149. package/esm/table/index.js +1 -1
  1150. package/esm/table/multi-sort-manager.d.ts +1 -1
  1151. package/esm/table/multi-sort-manager.js +1 -1
  1152. package/esm/table/table-adapter.d.ts +1 -1
  1153. package/esm/table/table-adapter.js +1 -1
  1154. package/esm/table/table-constants.d.ts +1 -1
  1155. package/esm/table/table-constants.js +1 -1
  1156. package/esm/table/table-foundation.d.ts +1 -1
  1157. package/esm/table/table-foundation.js +1 -1
  1158. package/esm/table/table-row.d.ts +1 -1
  1159. package/esm/table/table-row.js +1 -1
  1160. package/esm/table/table-utils.d.ts +1 -1
  1161. package/esm/table/table-utils.js +8 -4
  1162. package/esm/table/table.d.ts +1 -1
  1163. package/esm/table/table.js +1 -1
  1164. package/esm/table/types.d.ts +1 -1
  1165. package/esm/table/types.js +1 -1
  1166. package/esm/tabs/index.d.ts +1 -1
  1167. package/esm/tabs/index.js +1 -1
  1168. package/esm/tabs/tab/index.d.ts +1 -1
  1169. package/esm/tabs/tab/index.js +1 -1
  1170. package/esm/tabs/tab/tab-adapter.d.ts +1 -1
  1171. package/esm/tabs/tab/tab-adapter.js +1 -1
  1172. package/esm/tabs/tab/tab-constants.d.ts +1 -1
  1173. package/esm/tabs/tab/tab-constants.js +1 -1
  1174. package/esm/tabs/tab/tab-foundation.d.ts +1 -1
  1175. package/esm/tabs/tab/tab-foundation.js +1 -1
  1176. package/esm/tabs/tab/tab.d.ts +1 -1
  1177. package/esm/tabs/tab/tab.js +1 -1
  1178. package/esm/tabs/tab-bar/index.d.ts +1 -1
  1179. package/esm/tabs/tab-bar/index.js +1 -1
  1180. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +1 -1
  1181. package/esm/tabs/tab-bar/tab-bar-adapter.js +1 -1
  1182. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +1 -1
  1183. package/esm/tabs/tab-bar/tab-bar-constants.js +1 -1
  1184. package/esm/tabs/tab-bar/tab-bar-foundation.d.ts +1 -1
  1185. package/esm/tabs/tab-bar/tab-bar-foundation.js +1 -1
  1186. package/esm/tabs/tab-bar/tab-bar.d.ts +1 -1
  1187. package/esm/tabs/tab-bar/tab-bar.js +1 -1
  1188. package/esm/text-field/index.d.ts +1 -1
  1189. package/esm/text-field/index.js +1 -1
  1190. package/esm/text-field/text-field-adapter.d.ts +1 -1
  1191. package/esm/text-field/text-field-adapter.js +1 -1
  1192. package/esm/text-field/text-field-component-delegate.d.ts +1 -1
  1193. package/esm/text-field/text-field-component-delegate.js +1 -1
  1194. package/esm/text-field/text-field-constants.d.ts +2 -2
  1195. package/esm/text-field/text-field-constants.js +1 -1
  1196. package/esm/text-field/text-field-foundation.d.ts +1 -1
  1197. package/esm/text-field/text-field-foundation.js +1 -1
  1198. package/esm/text-field/text-field.d.ts +1 -1
  1199. package/esm/text-field/text-field.js +1 -1
  1200. package/esm/theme/color-constants.d.ts +1 -1
  1201. package/esm/theme/color-constants.js +1 -1
  1202. package/esm/theme/index.d.ts +1 -1
  1203. package/esm/theme/index.js +1 -1
  1204. package/esm/theme/theme-utils.d.ts +1 -1
  1205. package/esm/theme/theme-utils.js +1 -1
  1206. package/esm/time-picker/index.d.ts +1 -1
  1207. package/esm/time-picker/index.js +1 -1
  1208. package/esm/time-picker/time-picker-adapter.d.ts +1 -1
  1209. package/esm/time-picker/time-picker-adapter.js +1 -1
  1210. package/esm/time-picker/time-picker-component-delegate.d.ts +1 -1
  1211. package/esm/time-picker/time-picker-component-delegate.js +1 -1
  1212. package/esm/time-picker/time-picker-constants.d.ts +1 -1
  1213. package/esm/time-picker/time-picker-constants.js +1 -1
  1214. package/esm/time-picker/time-picker-foundation.d.ts +1 -1
  1215. package/esm/time-picker/time-picker-foundation.js +3 -2
  1216. package/esm/time-picker/time-picker-utils.d.ts +1 -1
  1217. package/esm/time-picker/time-picker-utils.js +1 -1
  1218. package/esm/time-picker/time-picker.d.ts +1 -1
  1219. package/esm/time-picker/time-picker.js +1 -1
  1220. package/esm/toast/index.d.ts +1 -1
  1221. package/esm/toast/index.js +1 -1
  1222. package/esm/toast/toast-adapter.d.ts +1 -1
  1223. package/esm/toast/toast-adapter.js +1 -1
  1224. package/esm/toast/toast-constants.d.ts +1 -1
  1225. package/esm/toast/toast-constants.js +1 -1
  1226. package/esm/toast/toast-foundation.d.ts +1 -1
  1227. package/esm/toast/toast-foundation.js +1 -1
  1228. package/esm/toast/toast.d.ts +1 -1
  1229. package/esm/toast/toast.js +1 -1
  1230. package/esm/toolbar/index.d.ts +1 -1
  1231. package/esm/toolbar/index.js +1 -1
  1232. package/esm/toolbar/toolbar-constants.d.ts +1 -1
  1233. package/esm/toolbar/toolbar-constants.js +1 -1
  1234. package/esm/toolbar/toolbar.d.ts +1 -1
  1235. package/esm/toolbar/toolbar.js +2 -2
  1236. package/esm/tooltip/index.d.ts +1 -1
  1237. package/esm/tooltip/index.js +1 -1
  1238. package/esm/tooltip/tooltip-adapter.d.ts +1 -1
  1239. package/esm/tooltip/tooltip-adapter.js +1 -1
  1240. package/esm/tooltip/tooltip-constants.d.ts +1 -1
  1241. package/esm/tooltip/tooltip-constants.js +1 -1
  1242. package/esm/tooltip/tooltip-foundation.d.ts +1 -1
  1243. package/esm/tooltip/tooltip-foundation.js +1 -1
  1244. package/esm/tooltip/tooltip-utils.d.ts +1 -1
  1245. package/esm/tooltip/tooltip-utils.js +1 -1
  1246. package/esm/tooltip/tooltip.d.ts +1 -1
  1247. package/esm/tooltip/tooltip.js +1 -1
  1248. package/esm/utils/color-utils.d.ts +1 -1
  1249. package/esm/utils/color-utils.js +1 -1
  1250. package/esm/utils/index.d.ts +1 -1
  1251. package/esm/utils/index.js +1 -1
  1252. package/esm/view-switcher/index.d.ts +1 -1
  1253. package/esm/view-switcher/index.js +1 -1
  1254. package/esm/view-switcher/view/index.d.ts +1 -1
  1255. package/esm/view-switcher/view/index.js +1 -1
  1256. package/esm/view-switcher/view/view-constants.d.ts +1 -1
  1257. package/esm/view-switcher/view/view-constants.js +1 -1
  1258. package/esm/view-switcher/view/view.d.ts +1 -1
  1259. package/esm/view-switcher/view/view.js +1 -1
  1260. package/esm/view-switcher/view-switcher-adapter.d.ts +1 -1
  1261. package/esm/view-switcher/view-switcher-adapter.js +1 -1
  1262. package/esm/view-switcher/view-switcher-constants.d.ts +1 -1
  1263. package/esm/view-switcher/view-switcher-constants.js +1 -1
  1264. package/esm/view-switcher/view-switcher-foundation.d.ts +1 -1
  1265. package/esm/view-switcher/view-switcher-foundation.js +1 -1
  1266. package/esm/view-switcher/view-switcher.d.ts +1 -1
  1267. package/esm/view-switcher/view-switcher.js +1 -1
  1268. package/package.json +2 -2
  1269. package/styles/app-bar/_mixins.scss +1 -1
  1270. package/styles/app-bar/_variables.scss +1 -1
  1271. package/styles/app-bar/app-bar.scss +1 -1
  1272. package/styles/app-bar/search/_mixins.scss +1 -1
  1273. package/styles/app-bar/search/_variables.scss +1 -1
  1274. package/styles/app-bar/search/app-bar-search.scss +1 -1
  1275. package/styles/autocomplete/autocomplete.scss +1 -1
  1276. package/styles/avatar/_mixins.scss +1 -1
  1277. package/styles/avatar/_variables.scss +1 -1
  1278. package/styles/avatar/avatar.scss +1 -1
  1279. package/styles/backdrop/_mixins.scss +1 -1
  1280. package/styles/backdrop/_variables.scss +1 -1
  1281. package/styles/backdrop/backdrop.scss +1 -1
  1282. package/styles/badge/_mixins.scss +1 -1
  1283. package/styles/badge/_variables.scss +1 -1
  1284. package/styles/badge/badge.scss +1 -1
  1285. package/styles/banner/_mixins.scss +1 -1
  1286. package/styles/banner/_variables.scss +1 -1
  1287. package/styles/banner/banner.scss +1 -1
  1288. package/styles/bottom-sheet/_mixins.scss +1 -1
  1289. package/styles/bottom-sheet/_variables.scss +1 -1
  1290. package/styles/bottom-sheet/bottom-sheet.scss +1 -1
  1291. package/styles/busy-indicator/_mixins.scss +1 -1
  1292. package/styles/busy-indicator/_variables.scss +1 -1
  1293. package/styles/busy-indicator/busy-indicator.scss +1 -1
  1294. package/styles/busy-indicator/forge-busy-indicator.scss +1 -1
  1295. package/styles/button/_button-base.scss +1 -1
  1296. package/styles/button/_button-filled-theme.scss +1 -1
  1297. package/styles/button/_button-filled.scss +1 -1
  1298. package/styles/button/_button-outlined-theme.scss +1 -1
  1299. package/styles/button/_button-outlined.scss +1 -1
  1300. package/styles/button/_button-protected-theme.scss +1 -1
  1301. package/styles/button/_button-protected.scss +1 -1
  1302. package/styles/button/_button-ripple.scss +1 -1
  1303. package/styles/button/_button-shared-theme.scss +1 -1
  1304. package/styles/button/_button-text-theme.scss +1 -1
  1305. package/styles/button/_button-text.scss +1 -1
  1306. package/styles/button/_button.mixins.scss +1 -1
  1307. package/styles/button/_mixins.scss +1 -1
  1308. package/styles/button/forge-button.scss +1 -1
  1309. package/styles/button-toggle/button-toggle/_mixins.scss +1 -1
  1310. package/styles/button-toggle/button-toggle/button-toggle.scss +1 -1
  1311. package/styles/button-toggle/button-toggle-group/_mixins.scss +1 -1
  1312. package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +1 -1
  1313. package/styles/calendar/_mixins.scss +1 -1
  1314. package/styles/calendar/_variables.scss +1 -1
  1315. package/styles/calendar/calendar-menu/_mixins.scss +1 -1
  1316. package/styles/calendar/calendar-menu/_variables.scss +1 -1
  1317. package/styles/calendar/calendar-menu/calendar-menu.scss +1 -1
  1318. package/styles/calendar/calendar.scss +1 -1
  1319. package/styles/card/_mixins.scss +1 -1
  1320. package/styles/card/_variables.scss +1 -1
  1321. package/styles/card/card.scss +1 -1
  1322. package/styles/checkbox/_checkbox-custom-properties.scss +1 -1
  1323. package/styles/checkbox/_checkbox-theme.scss +1 -1
  1324. package/styles/checkbox/_checkbox.mixins.scss +1 -1
  1325. package/styles/checkbox/checkbox.scss +1 -1
  1326. package/styles/chip-field/_base.scss +1 -1
  1327. package/styles/chip-field/_core.scss +1 -1
  1328. package/styles/chip-field/_mixins.scss +1 -1
  1329. package/styles/chip-field/_selector.scss +1 -1
  1330. package/styles/chip-field/_variables.scss +1 -1
  1331. package/styles/chip-field/chip-field.scss +1 -1
  1332. package/styles/chips/chip/_mixins.scss +1 -1
  1333. package/styles/chips/chip/_variables.scss +1 -1
  1334. package/styles/chips/chip/chip.scss +1 -1
  1335. package/styles/chips/chip-set/_mixins.scss +1 -1
  1336. package/styles/chips/chip-set/_variables.scss +1 -1
  1337. package/styles/chips/chip-set/chip-set.scss +1 -1
  1338. package/styles/circular-progress/_keyframes.scss +1 -1
  1339. package/styles/circular-progress/_mixins.scss +1 -1
  1340. package/styles/circular-progress/_variables.scss +1 -1
  1341. package/styles/circular-progress/circular-progress.scss +1 -1
  1342. package/styles/color-picker/_mixins.scss +1 -1
  1343. package/styles/color-picker/_variables.scss +1 -1
  1344. package/styles/color-picker/color-picker.scss +1 -1
  1345. package/styles/date-picker/date-picker.scss +1 -1
  1346. package/styles/date-range-picker/date-range-picker.scss +1 -1
  1347. package/styles/dialog/_mixins.scss +1 -1
  1348. package/styles/dialog/_variables.scss +1 -1
  1349. package/styles/dialog/dialog.scss +1 -1
  1350. package/styles/dialog/forge-dialog-utils.scss +1 -1
  1351. package/styles/dialog/forge-dialog.scss +1 -1
  1352. package/styles/divider/_mixins.scss +1 -1
  1353. package/styles/divider/_variables.scss +1 -1
  1354. package/styles/divider/divider.scss +1 -1
  1355. package/styles/drawer/base/_mixins.scss +1 -1
  1356. package/styles/drawer/base/_variables.scss +1 -1
  1357. package/styles/drawer/drawer/_mixins.scss +1 -1
  1358. package/styles/drawer/drawer/_variables.scss +1 -1
  1359. package/styles/drawer/drawer/drawer.scss +1 -1
  1360. package/styles/drawer/mini-drawer/_mixins.scss +1 -1
  1361. package/styles/drawer/mini-drawer/_variables.scss +1 -1
  1362. package/styles/drawer/mini-drawer/mini-drawer.scss +1 -1
  1363. package/styles/drawer/modal-drawer/_mixins.scss +1 -1
  1364. package/styles/drawer/modal-drawer/modal-drawer.scss +1 -1
  1365. package/styles/expansion-panel/_mixins.scss +1 -1
  1366. package/styles/expansion-panel/expansion-panel.scss +1 -1
  1367. package/styles/expansion-panel/forge-expansion-panel.scss +1 -1
  1368. package/styles/field/_base.scss +1 -1
  1369. package/styles/field/_core.scss +1 -1
  1370. package/styles/field/_selector.scss +1 -1
  1371. package/styles/field/_utils.scss +1 -1
  1372. package/styles/field/_variables.scss +1 -1
  1373. package/styles/file-picker/_mixins.scss +1 -1
  1374. package/styles/file-picker/_variables.scss +1 -1
  1375. package/styles/file-picker/file-picker.scss +1 -1
  1376. package/styles/floating-action-button/_extended-fab-theme.scss +1 -1
  1377. package/styles/floating-action-button/_fab-custom-properties.scss +1 -1
  1378. package/styles/floating-action-button/_fab-theme.scss +1 -1
  1379. package/styles/floating-action-button/_fab.mixins.scss +1 -1
  1380. package/styles/floating-action-button/forge-floating-action-button.scss +1 -1
  1381. package/styles/floating-label/_mixins.scss +1 -1
  1382. package/styles/floating-label/_variables.scss +1 -1
  1383. package/styles/floating-label/forge-floating-label.scss +1 -1
  1384. package/styles/forge-core.scss +1 -1
  1385. package/styles/forge-dark.scss +1 -1
  1386. package/styles/forge.scss +1 -1
  1387. package/styles/form-field/_mixins.scss +1 -1
  1388. package/styles/form-field/forge-form-field.scss +1 -1
  1389. package/styles/icon/_mixins.scss +1 -1
  1390. package/styles/icon/_variables.scss +1 -1
  1391. package/styles/icon/icon.scss +1 -1
  1392. package/styles/icon-button/_mixins.scss +1 -1
  1393. package/styles/icon-button/_variables.scss +1 -1
  1394. package/styles/icon-button/forge-icon-button.scss +1 -1
  1395. package/styles/inline-message/_mixins.scss +1 -1
  1396. package/styles/inline-message/_variables.scss +1 -1
  1397. package/styles/inline-message/inline-message.scss +1 -1
  1398. package/styles/label-value/_mixins.scss +1 -1
  1399. package/styles/label-value/_variables.scss +1 -1
  1400. package/styles/label-value/label-value.scss +1 -1
  1401. package/styles/linear-progress/_mixins.scss +1 -1
  1402. package/styles/linear-progress/_variables.scss +1 -1
  1403. package/styles/linear-progress/linear-progress.scss +1 -1
  1404. package/styles/list/list/_mixins.scss +1 -1
  1405. package/styles/list/list/list.scss +1 -1
  1406. package/styles/list/list-item/_mixins.scss +1 -1
  1407. package/styles/list/list-item/_variables.scss +1 -1
  1408. package/styles/list/list-item/list-item.scss +1 -1
  1409. package/styles/menu/menu.scss +1 -1
  1410. package/styles/open-icon/_mixins.scss +1 -1
  1411. package/styles/open-icon/_variables.scss +1 -1
  1412. package/styles/open-icon/open-icon.scss +1 -1
  1413. package/styles/page-state/_mixins.scss +1 -1
  1414. package/styles/page-state/_variables.scss +1 -1
  1415. package/styles/page-state/page-state.scss +1 -1
  1416. package/styles/paginator/_mixins.scss +1 -1
  1417. package/styles/paginator/_variables.scss +1 -1
  1418. package/styles/paginator/paginator.scss +1 -1
  1419. package/styles/popup/_mixins.scss +1 -1
  1420. package/styles/popup/_variables.scss +1 -1
  1421. package/styles/popup/forge-popup.scss +1 -1
  1422. package/styles/popup/popup.scss +1 -1
  1423. package/styles/product-icon/_mixins.scss +1 -1
  1424. package/styles/product-icon/_variables.scss +1 -1
  1425. package/styles/product-icon/product-icon.scss +1 -1
  1426. package/styles/profile-card/_mixins.scss +1 -1
  1427. package/styles/profile-card/profile-card.scss +1 -1
  1428. package/styles/quantity-field/_mixins.scss +1 -1
  1429. package/styles/quantity-field/forge-quantity-field.scss +1 -1
  1430. package/styles/quantity-field/quantity-field.scss +1 -1
  1431. package/styles/radio/_mixins.scss +1 -1
  1432. package/styles/radio/_radio-theme.scss +1 -1
  1433. package/styles/radio/radio.scss +1 -1
  1434. package/styles/ripple/forge-ripple.scss +1 -1
  1435. package/styles/scaffold/_mixins.scss +1 -1
  1436. package/styles/scaffold/forge-scaffold.scss +1 -1
  1437. package/styles/scaffold/scaffold.scss +1 -1
  1438. package/styles/select/select/_base.scss +1 -1
  1439. package/styles/select/select/_core.scss +1 -1
  1440. package/styles/select/select/_mixins.scss +1 -1
  1441. package/styles/select/select/_selector.scss +1 -1
  1442. package/styles/select/select/_variables.scss +1 -1
  1443. package/styles/select/select/select.scss +1 -1
  1444. package/styles/select/select-dropdown/select-dropdown.scss +1 -1
  1445. package/styles/skeleton/_mixins.scss +1 -1
  1446. package/styles/skeleton/_variables.scss +1 -1
  1447. package/styles/skeleton/skeleton.scss +1 -1
  1448. package/styles/slider/slider.scss +1 -1
  1449. package/styles/split-view/split-view/_mixins.scss +1 -1
  1450. package/styles/split-view/split-view/split-view.scss +1 -1
  1451. package/styles/split-view/split-view-panel/_mixins.scss +1 -1
  1452. package/styles/split-view/split-view-panel/_variables.scss +1 -1
  1453. package/styles/split-view/split-view-panel/split-view-panel.scss +1 -1
  1454. package/styles/stepper/step/_mixins.scss +1 -1
  1455. package/styles/stepper/step/_variables.scss +1 -1
  1456. package/styles/stepper/step/step.scss +1 -1
  1457. package/styles/stepper/stepper/_mixins.scss +1 -1
  1458. package/styles/stepper/stepper/stepper.scss +1 -1
  1459. package/styles/switch/_switch-mixins.scss +1 -1
  1460. package/styles/switch/_switch-theme.scss +1 -1
  1461. package/styles/switch/switch.scss +1 -1
  1462. package/styles/table/_mixins.scss +1 -1
  1463. package/styles/table/_variables.scss +1 -1
  1464. package/styles/table/forge-table.scss +1 -1
  1465. package/styles/tabs/tab/_mixins.scss +1 -1
  1466. package/styles/tabs/tab/_variables.scss +1 -1
  1467. package/styles/tabs/tab/tab.scss +1 -1
  1468. package/styles/tabs/tab-bar/_mixins.scss +1 -1
  1469. package/styles/tabs/tab-bar/tab-bar.scss +1 -1
  1470. package/styles/text-field/_base.scss +1 -1
  1471. package/styles/text-field/_core.scss +1 -1
  1472. package/styles/text-field/_mixins.scss +1 -1
  1473. package/styles/text-field/_selector.scss +1 -1
  1474. package/styles/text-field/_variables.scss +1 -1
  1475. package/styles/text-field/text-field.scss +1 -1
  1476. package/styles/theme/_custom-properties.scss +1 -1
  1477. package/styles/theme/_icon-mixins.scss +1 -1
  1478. package/styles/theme/_index.scss +1 -1
  1479. package/styles/theme/_keys.scss +1 -1
  1480. package/styles/theme/_theme-dark.scss +1 -1
  1481. package/styles/theme/_theme-utils.scss +1 -1
  1482. package/styles/theme/_theme-values.scss +1 -1
  1483. package/styles/theme/_theme.scss +1 -1
  1484. package/styles/theme/forge-material-icons.scss +1 -1
  1485. package/styles/theme/forge-theme.scss +1 -1
  1486. package/styles/time-picker/time-picker.scss +1 -1
  1487. package/styles/toast/_mixins.scss +1 -1
  1488. package/styles/toast/_variables.scss +1 -1
  1489. package/styles/toast/toast.scss +1 -1
  1490. package/styles/toolbar/_mixins.scss +1 -1
  1491. package/styles/toolbar/_variables.scss +2 -2
  1492. package/styles/toolbar/toolbar.scss +1 -1
  1493. package/styles/tooltip/_mixins.scss +1 -1
  1494. package/styles/tooltip/_variables.scss +1 -1
  1495. package/styles/tooltip/forge-tooltip.scss +1 -1
  1496. package/styles/typography/_index.scss +1 -1
  1497. package/styles/typography/_mixins.scss +1 -1
  1498. package/styles/typography/_variables.scss +1 -1
  1499. package/styles/typography/forge-form.scss +1 -1
  1500. package/styles/typography/forge-typography.scss +1 -1
  1501. package/styles/utils/_functions-grid.scss +1 -1
  1502. package/styles/utils/_mixins-animation.scss +1 -1
  1503. package/styles/utils/_mixins-core.scss +1 -1
  1504. package/styles/utils/_mixins-flex.scss +1 -1
  1505. package/styles/utils/_mixins-grid.scss +1 -1
  1506. package/styles/utils/_mixins-media.scss +1 -1
  1507. package/styles/utils/_mixins.scss +1 -1
  1508. package/styles/utils/_variables-flex.scss +1 -1
  1509. package/styles/utils/_variables-grid.scss +1 -1
  1510. package/styles/utils/_variables-media.scss +1 -1
  1511. package/styles/utils/forge-flex.scss +1 -1
  1512. package/styles/utils/forge-grid.scss +1 -1
  1513. package/styles/utils/forge-utils.scss +1 -1
  1514. package/styles/view-switcher/_mixins.scss +1 -1
  1515. package/styles/view-switcher/_variables.scss +1 -1
  1516. package/styles/view-switcher/view/view.scss +1 -1
  1517. package/styles/view-switcher/view-switcher.scss +1 -1
  1518. package/dist/esm/chunks/chunk.2SAHWDGJ.js +0 -7
  1519. package/dist/esm/chunks/chunk.33Q5FK2H.js +0 -7
  1520. package/dist/esm/chunks/chunk.35U4OX7S.js +0 -7
  1521. package/dist/esm/chunks/chunk.3E5QKMHL.js +0 -7
  1522. package/dist/esm/chunks/chunk.3E5QKMHL.js.map +0 -7
  1523. package/dist/esm/chunks/chunk.3UMBCR4P.js +0 -7
  1524. package/dist/esm/chunks/chunk.444GNOS4.js +0 -7
  1525. package/dist/esm/chunks/chunk.4KBQ5AJJ.js +0 -7
  1526. package/dist/esm/chunks/chunk.54QFNVMG.js +0 -7
  1527. package/dist/esm/chunks/chunk.5K5SIZRX.js +0 -7
  1528. package/dist/esm/chunks/chunk.5WMEFHVN.js +0 -7
  1529. package/dist/esm/chunks/chunk.5XQVZQ4U.js +0 -7
  1530. package/dist/esm/chunks/chunk.75KFBRF6.js.map +0 -7
  1531. package/dist/esm/chunks/chunk.7NXPOEXV.js +0 -7
  1532. package/dist/esm/chunks/chunk.7O7V3N4A.js +0 -7
  1533. package/dist/esm/chunks/chunk.7ZS4N2FT.js +0 -8
  1534. package/dist/esm/chunks/chunk.7ZS4N2FT.js.map +0 -7
  1535. package/dist/esm/chunks/chunk.APGFXXJ7.js +0 -7
  1536. package/dist/esm/chunks/chunk.B5ABD4CZ.js +0 -7
  1537. package/dist/esm/chunks/chunk.BCUBTR5O.js +0 -7
  1538. package/dist/esm/chunks/chunk.BFNAQQCU.js +0 -7
  1539. package/dist/esm/chunks/chunk.BOENNFXE.js +0 -7
  1540. package/dist/esm/chunks/chunk.BX7242PC.js +0 -7
  1541. package/dist/esm/chunks/chunk.CV5E5W6I.js +0 -7
  1542. package/dist/esm/chunks/chunk.DIYJJHWP.js +0 -7
  1543. package/dist/esm/chunks/chunk.DQBSFX46.js +0 -7
  1544. package/dist/esm/chunks/chunk.EJ4ASQET.js +0 -7
  1545. package/dist/esm/chunks/chunk.FPV4XEUK.js +0 -7
  1546. package/dist/esm/chunks/chunk.G77PXLAU.js +0 -7
  1547. package/dist/esm/chunks/chunk.HN4PXH3D.js +0 -7
  1548. package/dist/esm/chunks/chunk.HUWXZ4ZN.js +0 -29
  1549. package/dist/esm/chunks/chunk.I2YRKTG7.js +0 -7
  1550. package/dist/esm/chunks/chunk.IFZXG3LI.js +0 -7
  1551. package/dist/esm/chunks/chunk.IJIKFXUT.js +0 -7
  1552. package/dist/esm/chunks/chunk.IMK2LFWR.js.map +0 -7
  1553. package/dist/esm/chunks/chunk.J2ODMCFS.js +0 -7
  1554. package/dist/esm/chunks/chunk.J6CIWTDH.js +0 -7
  1555. package/dist/esm/chunks/chunk.JNOCXQVB.js +0 -7
  1556. package/dist/esm/chunks/chunk.K43ZNKT2.js +0 -7
  1557. package/dist/esm/chunks/chunk.K753A3KI.js +0 -29
  1558. package/dist/esm/chunks/chunk.KYCC3C3M.js +0 -7
  1559. package/dist/esm/chunks/chunk.LLHA3SQR.js +0 -7
  1560. package/dist/esm/chunks/chunk.LMOYZQZJ.js +0 -7
  1561. package/dist/esm/chunks/chunk.LMOYZQZJ.js.map +0 -7
  1562. package/dist/esm/chunks/chunk.MGTNCCW3.js +0 -7
  1563. package/dist/esm/chunks/chunk.MNBJMPJ6.js +0 -7
  1564. package/dist/esm/chunks/chunk.NGIBMR3Q.js +0 -7
  1565. package/dist/esm/chunks/chunk.NNGE722W.js +0 -7
  1566. package/dist/esm/chunks/chunk.NNGE722W.js.map +0 -7
  1567. package/dist/esm/chunks/chunk.O2XO3IRX.js +0 -7
  1568. package/dist/esm/chunks/chunk.O2XO3IRX.js.map +0 -7
  1569. package/dist/esm/chunks/chunk.O3G6ZLJN.js +0 -7
  1570. package/dist/esm/chunks/chunk.OAKTW64X.js +0 -7
  1571. package/dist/esm/chunks/chunk.OAKTW64X.js.map +0 -7
  1572. package/dist/esm/chunks/chunk.OG2BI3UW.js +0 -7
  1573. package/dist/esm/chunks/chunk.ON3JVSSR.js +0 -12
  1574. package/dist/esm/chunks/chunk.OOBE3XRM.js +0 -29
  1575. package/dist/esm/chunks/chunk.OUEF6VQ6.js +0 -7
  1576. package/dist/esm/chunks/chunk.P6B3UWJ5.js +0 -7
  1577. package/dist/esm/chunks/chunk.PFD2SVJ4.js +0 -7
  1578. package/dist/esm/chunks/chunk.Q6L7T6OJ.js +0 -7
  1579. package/dist/esm/chunks/chunk.QJPH24V4.js +0 -7
  1580. package/dist/esm/chunks/chunk.QXLPBYMX.js +0 -7
  1581. package/dist/esm/chunks/chunk.QXLPBYMX.js.map +0 -7
  1582. package/dist/esm/chunks/chunk.RGWUF3J2.js +0 -7
  1583. package/dist/esm/chunks/chunk.RKKJB3EE.js +0 -7
  1584. package/dist/esm/chunks/chunk.RKKJB3EE.js.map +0 -7
  1585. package/dist/esm/chunks/chunk.RPPBBBYG.js +0 -7
  1586. package/dist/esm/chunks/chunk.RST65QIB.js +0 -7
  1587. package/dist/esm/chunks/chunk.SJSLC6XF.js +0 -7
  1588. package/dist/esm/chunks/chunk.SJSLC6XF.js.map +0 -7
  1589. package/dist/esm/chunks/chunk.T7ZJDAXV.js +0 -29
  1590. package/dist/esm/chunks/chunk.TLHI6K2R.js +0 -7
  1591. package/dist/esm/chunks/chunk.TR64DV3G.js +0 -7
  1592. package/dist/esm/chunks/chunk.TR64DV3G.js.map +0 -7
  1593. package/dist/esm/chunks/chunk.VMWS5OOZ.js +0 -7
  1594. package/dist/esm/chunks/chunk.WNOSTPQQ.js +0 -7
  1595. package/dist/esm/chunks/chunk.WV45FGTW.js +0 -7
  1596. package/dist/esm/chunks/chunk.X77WVI2H.js +0 -7
  1597. package/dist/esm/chunks/chunk.X77WVI2H.js.map +0 -7
  1598. package/dist/esm/chunks/chunk.XXA6KNXT.js +0 -7
  1599. package/dist/esm/chunks/chunk.XYBFFTXS.js +0 -29
  1600. package/dist/esm/chunks/chunk.Y6MPWPZU.js +0 -7
  1601. package/dist/esm/chunks/chunk.Y7Q6QI5V.js +0 -7
  1602. package/dist/esm/chunks/chunk.YAJT3P6V.js +0 -7
  1603. package/dist/esm/chunks/chunk.YHHIPP2F.js +0 -7
  1604. package/dist/esm/chunks/chunk.YPUWII7L.js.map +0 -7
  1605. package/dist/esm/chunks/chunk.YWKKZLZ2.js +0 -29
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/menu/menu-constants.ts", "../../src/menu/menu-adapter.ts", "../../src/menu/menu-foundation.ts", "../../src/menu/menu.ts", "../../src/menu/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { IListDropdownOption, IListDropdownOptionGroup } from '../list-dropdown';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}menu`;\n\nconst classes = {\n POPUP: 'forge-menu__popup',\n MENU: 'mdc-menu'\n};\n\nconst selectors = {\n TOGGLE: `.${COMPONENT_NAME_PREFIX}menu__toggle, [${elementName}-toggle], button, [type=button]`,\n MENU_LIST: 'forge-list'\n};\n\nconst attributes = {\n OPEN: 'open',\n PLACEMENT: 'placement',\n SELECTED_INDEX: 'selected-index',\n SELECTED_VALUE: 'selected-value',\n DENSE: 'dense',\n ICON_CLASS: 'icon-class',\n PERSIST_SELECTION: 'persist-selection',\n MODE: 'mode',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SELECT: `${elementName}-select`,\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n ACTIVE_CHANGE: `${elementName}-active-change`\n};\n\nconst numbers = {\n CHILD_MOUSE_LEAVE_TIMEOUT: 300,\n POPUP_MOUSE_LEAVE_TIMEOUT: 500\n};\n\nexport const MENU_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers\n};\n\nexport interface IMenuSelectEventData<T = any, K = any> {\n index: number;\n value?: T;\n parentValue?: K;\n}\n\nexport interface IMenuActiveChangeEventData {\n id: string;\n}\n\nexport interface IMenuOption<T = any> extends IListDropdownOption<T> {\n icon?: string;\n selected?: boolean;\n}\n\nexport interface IMenuOptionGroup extends IListDropdownOptionGroup {}\n\nexport type MenuOptionBuilder = (option: IMenuOption, parentElement: HTMLElement) => HTMLElement | string | void;\nexport type MenuOptionFactory = (() => IMenuOption[]) | (() => Promise<IMenuOption[]>);\nexport type MenuMode = 'click' | 'cascade';\n", "import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IMenuOption } from './index';\nimport { IMenuComponent } from './menu';\nimport { MENU_CONSTANTS, IMenuSelectEventData } from './menu-constants';\nimport { IListDropdownConfig, IListDropdown, ListDropdown } from '../list-dropdown';\nimport { IListComponent, IListItemComponent, LIST_CONSTANTS, LIST_ITEM_CONSTANTS } from '../list';\n\nexport interface IMenuAdapter extends IBaseAdapter {\n getDropdownElement(): HTMLElement | null;\n initializeTarget(): void;\n initializeAccessibility(id: string): void;\n hasTargetElement(): boolean;\n addTargetListener(event: string, callback: (event: Event) => void, bubbles?: boolean): void;\n removeTargetListener(event: string, callback: (event: Event) => void): void;\n attachMenu(config: IListDropdownConfig): void;\n detachMenu(): void;\n setOptions(options: IMenuOption[]): void;\n getActiveOptionIndex(): number;\n setActiveOption(index: number): void;\n activateFirstOption(): void;\n propagateKey(key: string): void;\n proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void;\n toggleChildMenu(index: number, open?: boolean): void;\n focusTarget(): void;\n isTargetFocused(): boolean;\n updateActiveDescendant(id: string): void;\n isOwnElement(element: Element): boolean;\n addDropdownListener(type: string, listener: (evt: any) => void): void;\n createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent;\n closeOtherChildMenus(excludeIndex?: number): void;\n setSelectedValues(values: any[]): void;\n}\n\nexport class MenuAdapter extends BaseAdapter<IMenuComponent> implements IMenuAdapter {\n private _targetElement: HTMLElement | null;\n private _listDropdown?: IListDropdown;\n private _childMenus = new Map<number, IMenuComponent>();\n\n constructor(component: IMenuComponent) {\n super(component);\n }\n\n public getDropdownElement(): HTMLElement | null {\n return this._listDropdown?.dropdownElement ?? null;\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public initializeTarget(): void {\n this._targetElement = this._component.querySelector(MENU_CONSTANTS.selectors.TOGGLE);\n if (!this._targetElement) {\n this._targetElement = this._component.firstElementChild as HTMLElement;\n }\n }\n\n public initializeAccessibility(id: string): void {\n if (!this._targetElement) {\n return;\n }\n\n this._targetElement.setAttribute('aria-atomic', 'true');\n this._targetElement.setAttribute('aria-live', 'assertive');\n this._targetElement.setAttribute('aria-haspopup', 'true');\n this._targetElement.setAttribute('aria-expanded', 'false');\n\n if (!this._targetElement.hasAttribute('aria-label')) {\n this._targetElement.setAttribute('aria-label', this._targetElement.textContent || '');\n }\n }\n\n public addTargetListener(event: string, callback: (event: Event) => void, bubbles = false): void {\n if (this._targetElement) {\n this._targetElement.addEventListener(event, callback, bubbles);\n }\n }\n\n public removeTargetListener(event: string, callback: (event: Event) => void): void {\n if (this._targetElement) {\n this._targetElement.removeEventListener(event, callback);\n }\n }\n\n public attachMenu(config: IListDropdownConfig): void {\n if (this._listDropdown || !this._targetElement) {\n return;\n }\n this._listDropdown = new ListDropdown(this._targetElement as HTMLElement, config);\n this._listDropdown.open();\n this._targetElement.setAttribute('aria-expanded', 'true');\n this._targetElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n }\n\n public setOptions(options: IMenuOption[]): void {\n if (this._listDropdown) {\n this._listDropdown.setOptions(options);\n }\n }\n\n public detachMenu(): void {\n if (this._targetElement) {\n this._targetElement.removeAttribute('aria-activedescendant');\n this._targetElement.removeAttribute('aria-expanded');\n this._targetElement.removeAttribute('aria-controls');\n }\n\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public focusTarget(): void {\n if (this._targetElement) {\n this._targetElement.focus();\n }\n }\n\n public isTargetFocused(): boolean {\n return document.activeElement === this._targetElement;\n }\n\n public updateActiveDescendant(id: string): void {\n if (!this._targetElement) {\n return;\n }\n if (id) {\n this._targetElement.setAttribute('aria-activedescendant', id);\n } else {\n this._targetElement.removeAttribute('aria-activedescendant');\n }\n }\n\n public addDropdownListener(type: string, listener: (evt: any) => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n this._listDropdown.dropdownElement.addEventListener(type, listener);\n }\n\n public isOwnElement(el: Element): boolean {\n if (!this._targetElement || !this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._targetElement.contains(el) || !!this._listDropdown.dropdownElement.contains(el);\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void {\n if (!this.getDropdownElement()) {\n return;\n }\n const openMenu = this._getOpenChildMenu(id);\n if (openMenu) {\n openMenu.propagateKeyEvent(evt);\n }\n }\n\n public toggleChildMenu(index: number, open?: boolean): void {\n const listItems = this._getListItems();\n const listItem = listItems[index];\n const childMenu = listItem.parentElement as IMenuComponent;\n if (childMenu && childMenu.tagName.toLowerCase() === MENU_CONSTANTS.elementName) {\n if (open === undefined) {\n childMenu.open = !childMenu.open;\n } else {\n childMenu.open = open;\n }\n }\n }\n\n public createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent {\n const menu = document.createElement('forge-menu');\n menu.style.display = 'block';\n\n // Set listeners to notify the parent menu when anything important happens within a child menu that needs to be propagated to the root menu\n menu.addEventListener(MENU_CONSTANTS.events.OPEN, () => {\n this._childMenus.set(index, menu);\n openCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.CLOSE, () => {\n this._childMenus.delete(index);\n closeCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.SELECT, (evt: CustomEvent<IMenuSelectEventData>) => {\n evt.stopPropagation();\n selectCb({ ...evt.detail, parentValue });\n });\n\n return menu;\n }\n\n public closeOtherChildMenus(excludeIndex?: number): void {\n const menusToRemove: number[] = [];\n this._childMenus.forEach((menu, index) => {\n if (index !== excludeIndex) {\n menu.open = false;\n menusToRemove.push(index);\n }\n });\n menusToRemove.forEach(index => this._childMenus.delete(index));\n }\n\n public setSelectedValues(values: any[]): void {\n this._listDropdown?.setSelectedValues(values);\n }\n\n private _getOpenChildMenu(id: string): IMenuComponent | null {\n if (!this.getDropdownElement()) {\n return null;\n }\n const list = this._getOwnList(id);\n return list ? list.querySelector(`${MENU_CONSTANTS.elementName}[${MENU_CONSTANTS.attributes.OPEN}]`) : null;\n }\n\n private _getOwnList(id: string): IListComponent | null {\n const popup = this.getDropdownElement();\n if (!popup) {\n return null;\n }\n return popup.querySelector(`${LIST_CONSTANTS.elementName}[id=\"list-dropdown-list-${id}\"]`);\n }\n\n private _getListItems(): IListItemComponent[] {\n const popup = this.getDropdownElement();\n if (!popup) {\n return [];\n }\n const listElement = popup.querySelector(LIST_CONSTANTS.elementName);\n if (listElement) {\n return Array.from(listElement.querySelectorAll(LIST_ITEM_CONSTANTS.elementName)) as IListItemComponent[];\n }\n return [];\n }\n}\n", "import { ICustomElementFoundation, isArray, randomChars } from '@tylertech/forge-core';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { CascadingListDropdownAwareFoundation, IListDropdownCascadingElementFactoryConfig, IListDropdownConfig, ListDropdownAsyncStyle, ListDropdownType } from '../list-dropdown';\nimport { isListDropdownOptionType, ListDropdownOptionType } from '../list-dropdown/list-dropdown-utils';\nimport { IPopupPosition, PopupPlacement } from '../popup';\nimport { IMenuOption } from './index';\nimport { IMenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\n\nexport interface IMenuFoundation extends ICustomElementFoundation {\n initialize(): void;\n disconnect(): void;\n onKeydown(evt: KeyboardEvent): void;\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup>;\n optionsFactory: MenuOptionFactory | undefined;\n selectedIndex: number;\n selectedValue: any;\n placement: string;\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n}\n\nexport class MenuFoundation extends CascadingListDropdownAwareFoundation<IMenuOption | IMenuOptionGroup> implements IMenuFoundation {\n private _optionsFactory: MenuOptionFactory | undefined;\n private _placement: PopupPlacement = 'bottom-start';\n private _dense = false;\n private _selectedValue: any;\n private _iconClass = ICON_CLASS_NAME;\n private _persistSelection = false;\n private _mode: MenuMode = 'click';\n private _popupOffset: IPopupPosition;\n private _optionBuilder: MenuOptionBuilder | undefined;\n private _identifier: string;\n private _clickListener: (evt: MouseEvent) => void;\n private _blurListener: (evt: MouseEvent) => void;\n private _selectListener: (value: any) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _activeChangeListener: (id: string) => void;\n \n constructor(private _adapter: IMenuAdapter) {\n super({\n popupTimeout: MENU_CONSTANTS.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,\n targetTimeout: MENU_CONSTANTS.numbers.CHILD_MOUSE_LEAVE_TIMEOUT\n });\n this._identifier = randomChars();\n this._clickListener = evt => this._onTargetClick(evt);\n this._blurListener = evt => this._onTargetBlur(evt);\n this._selectListener = value => this._handleSelectEvent(value);\n this._keydownListener = evt => this.onKeydown(evt);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n }\n\n public initialize(): void {\n this._adapter.initializeTarget();\n this._adapter.initializeAccessibility(this._identifier);\n this._initializeInteractionListeners();\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._destroyInteractionListeners();\n }\n\n private _applyMode(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n\n if (this._mode !== 'cascade') {\n this._adapter.addTargetListener('click', this._clickListener);\n } else {\n this._attachCascadingListeners();\n }\n }\n\n private _initializeInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._applyMode();\n this._adapter.addTargetListener('keydown', this._keydownListener, true);\n this._adapter.addTargetListener('blur', this._blurListener);\n }\n\n private _destroyInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._adapter.removeTargetListener('keydown', this._clickListener);\n this._adapter.removeTargetListener('blur', this._blurListener);\n this._adapter.removeTargetListener('click', this._clickListener);\n this._detachCascadingListeners();\n }\n\n protected _attachCascadingListeners(): void {\n this._adapter.addTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.addTargetListener('mouseleave', this._targetMouseLeaveListener);\n\n // We listen for document mousemove events only to track mouse coords for use when determining\n // if popups should open/close after specific delays\n this._adapter.addDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n protected _detachCascadingListeners(): void {\n this._adapter.removeTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.removeTargetListener('mouseleave', this._targetMouseLeaveListener);\n this._adapter.removeDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n private get _nonDividerOptions(): IMenuOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n private get _flatOptions(): IMenuOption[] {\n if (isListDropdownOptionType(this._options, ListDropdownOptionType.Group)) {\n return (this._options as IMenuOptionGroup[]).reduce((previousValue, currentValue) => previousValue.concat(currentValue.options), [] as IMenuOption[]) as IMenuOption[];\n }\n return this._options as IMenuOption[];\n }\n\n private _onTargetClick(evt: MouseEvent): void {\n if (this._open) {\n this._closeDropdown();\n return;\n }\n this.open = !this._open;\n if (this._open) {\n this._adapter.focusTarget();\n }\n }\n\n private _onTargetBlur(evt: Event): void {\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n private _onActiveOptionChanged(id: string): void {\n // We need to dispatch an event when the active descendant changes to propagate that to the proper target element\n const data: IMenuActiveChangeEventData = { id };\n const canSetActiveDescendant = this._adapter.emitHostEvent(MENU_CONSTANTS.events.ACTIVE_CHANGE, data, true, true);\n if (this._mode !== 'cascade' && canSetActiveDescendant) {\n this._adapter.updateActiveDescendant(id);\n }\n }\n\n public onKeydown(evt: KeyboardEvent): void {\n // If we have any child menus open, we need to proxy the keyboard events to those and exit\n if (this._childOpen) {\n // If escape is pressed while other menus are open then we need to close everything\n if (evt.code === 'Escape') {\n evt.preventDefault();\n this._adapter.closeOtherChildMenus();\n this._closeDropdown();\n return;\n }\n this._adapter.proxyKeyboardEventToChild(evt, this._identifier);\n return;\n }\n\n switch (evt.code) {\n case 'Tab':\n if (this._open) {\n this._selectActiveOption();\n }\n break;\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n this._closeDropdown();\n }\n break;\n case 'Space':\n evt.preventDefault();\n\n if (this._open) {\n this._closeDropdown();\n } else {\n this._openDropdown();\n }\n break;\n case 'Home':\n case 'End':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateKey(evt.code);\n }\n break;\n case 'Enter':\n if (!this._open) {\n return;\n }\n\n evt.stopImmediatePropagation();\n evt.preventDefault();\n\n this._adapter.propagateKey(evt.code);\n\n // Check if we need to toggle the child menu open state\n const activeIndex = this._adapter.getActiveOptionIndex();\n const activeOption = this._nonDividerOptions[activeIndex];\n if (activeOption && activeOption.options && activeOption.options.length) {\n this._adapter.toggleChildMenu(activeIndex);\n }\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n\n evt.preventDefault();\n\n if (!this._open && evt.code === 'ArrowDown') {\n this._openDropdown();\n this._adapter.activateFirstOption();\n return;\n }\n\n this._adapter.propagateKey(evt.code);\n break;\n case 'ArrowLeft':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (this._mode === 'cascade' && this._open) {\n this._closeDropdown();\n }\n break;\n case 'ArrowRight':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (!this._open) {\n return;\n }\n const hoveredIndex = this._adapter.getActiveOptionIndex();\n const hoveredOption = this._nonDividerOptions[hoveredIndex];\n if (hoveredOption && hoveredOption.options) {\n this._adapter.toggleChildMenu(hoveredIndex, evt.code === 'ArrowRight');\n return;\n }\n break;\n }\n }\n\n private async _openMenu(): Promise<void> {\n this._open = true;\n let options: IMenuOption[] = [];\n\n if (typeof this._optionsFactory === 'function') {\n this._loadOptionsAsync();\n this._options = [];\n } else {\n if (!this._options || !this._options.length) {\n return;\n }\n options = this._options as IMenuOption[];\n }\n\n if (!this._persistSelection) {\n options.forEach(o => o.selected = false);\n }\n\n this._mapIconToLeadingIcon();\n\n const selectedValues = this._persistSelection ? this._getSelectedValues() : [];\n\n const config: IListDropdownConfig = {\n id: this._identifier,\n type: ListDropdownType.Menu,\n options: this._options,\n selectedValues,\n iconClass: this._iconClass,\n dense: this._dense,\n multiple: false,\n popupStatic: true,\n allowBusy: true,\n asyncStyle: ListDropdownAsyncStyle.Spinner,\n optionBuilder: this._optionBuilder,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n popupPlacement: this._placement,\n activeStartIndex: this._mode === 'cascade' ? 0 : undefined,\n popupClasses: [\n MENU_CONSTANTS.classes.POPUP,\n MENU_CONSTANTS.classes.MENU,\n ...this._popupClasses as string[]\n ],\n syncWidth: this._syncPopupWidth,\n activeChangeCallback: this._activeChangeListener,\n selectCallback: this._selectListener,\n popupOffset: this._popupOffset,\n cascadingElementFactory: params => this._createCascadingElement(params)\n };\n\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.OPEN, '');\n this._adapter.attachMenu(config);\n\n // If this menu is in a hover mode, we need to listen for mouse enter/leave events to know when the user is hovering over the popup\n if (this._mode === 'cascade') {\n this._adapter.addDropdownListener('mouseenter', this._childPopupMouseEnterListener);\n this._adapter.addDropdownListener('mouseleave', this._childPopupMouseLeaveListener);\n }\n \n this._adapter.addDropdownListener(MENU_CONSTANTS.events.ACTIVE_CHANGE, (evt: CustomEvent<IMenuActiveChangeEventData>) => {\n this._onActiveOptionChanged(evt.detail.id);\n });\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.OPEN);\n }\n\n private _closeMenu(): void {\n this._open = false;\n this._childOpen = false;\n this._adapter.detachMenu();\n\n if (this._activeMouseLeaveTimeout !== undefined) {\n window.clearTimeout(this._activeMouseLeaveTimeout);\n }\n\n this._adapter.removeHostAttribute(MENU_CONSTANTS.attributes.OPEN);\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.CLOSE);\n }\n\n private _loadOptionsAsync(): Promise<void> {\n if (!this._optionsFactory) {\n if (this._open) {\n this._closeMenu();\n }\n return Promise.resolve();\n }\n\n return Promise.resolve(this._optionsFactory())\n .then(results => {\n if (!this._persistSelection) {\n results.forEach(o => o.selected = false);\n }\n\n if (this._open) {\n if (results && isArray(results) && results.length) {\n this._options = results;\n this._adapter.setOptions(results);\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n } else if (this._open) {\n this._closeDropdown();\n }\n }\n })\n .catch(e => {\n console.error('An unexpected error ocurred while opening the menu:', e);\n if (this._open) {\n this._closeDropdown();\n }\n });\n }\n\n private _handleSelectEvent(value: any): void {\n const index = this._nonDividerOptions.findIndex(o => o.value === value);\n if (index < 0) {\n return;\n }\n this._selectOptionByIndex(index);\n }\n\n private _selectActiveOption(): void {\n const index = this._adapter.getActiveOptionIndex();\n if (index >= 0 && this._nonDividerOptions[index]) {\n this._selectOptionByIndex(index);\n }\n }\n\n private _selectOptionByIndex(index: number): void {\n const { options, value } = this._nonDividerOptions[index];\n\n // We ignore selections if the option has child options\n if (options) {\n this._adapter.setActiveOption(index);\n return;\n }\n\n this._closeDropdown();\n \n const data: IMenuSelectEventData = { index, value };\n const isCancelled = !this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data, true, true);\n if (!isCancelled) {\n this._selectedValue = this._persistSelection ? value : undefined;\n }\n }\n\n private _getSelectedValues(): any[] {\n const values = this._flatOptions.filter(o => o.selected).map(o => o.value);\n if (this._selectedValue !== undefined) {\n values.push(this._selectedValue);\n }\n return values;\n }\n\n /** Called when a child menu option is selected. */\n protected _onCascadingOptionSelected(data: IMenuSelectEventData): void {\n if (this._persistSelection) {\n this._selectedValue = data.value;\n }\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data);\n this._closeDropdown();\n }\n\n /** Called when a child menu is opened off of one of our menu options. */\n protected _onCascadingChildOpen(index: number): void {\n super._clearMouseLeaveTimeout();\n this._adapter.closeOtherChildMenus(index);\n this._childOpen = true;\n this._adapter.setActiveOption(index);\n }\n\n /** Called when a child menu is closed off of one of our menu options. */\n protected _onCascadingChildClose(): void {\n this._childOpen = false;\n }\n\n protected _closeDropdown(): void {\n this._closeMenu();\n }\n\n protected _openDropdown(): void {\n this._openMenu();\n }\n\n protected _isOwnElement(element: Element): boolean {\n return this._adapter.isOwnElement(element);\n }\n\n private _createCascadingElement({ index, options, parentValue }: IListDropdownCascadingElementFactoryConfig): HTMLElement {\n const menu = this._adapter.createChildMenu(\n index,\n parentValue,\n this._onCascadingChildOpen.bind(this),\n this._onCascadingChildClose.bind(this),\n this._onCascadingOptionSelected.bind(this)\n );\n menu.mode = 'cascade';\n menu.popupOffset = { x: 0, y: -8 };\n menu.dense = this._dense;\n menu.placement = 'right-start';\n menu.persistSelection = this._persistSelection;\n if (this._persistSelection) {\n menu.selectedValue = this._selectedValue;\n }\n menu.options = options;\n menu.optionBuilder = this._optionBuilder;\n menu.iconClass = this._iconClass;\n\n return menu;\n }\n\n private _mapIconToLeadingIcon(): void {\n // For backwards compatibility with old API, map the old \"icon\" property to the new \"leadingIcon\" property (if exists)\n this._flatOptions.filter(o => o.icon).forEach(o => o.leadingIcon = o.icon);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n value = Boolean(value);\n if (this._open !== value) {\n this._open = value;\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public set options(options: IMenuOption[]) {\n if (typeof options === 'function') {\n this.optionsFactory = options;\n } else {\n this.optionsFactory = undefined;\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone\n // function to the core library.\n this._options = options.map(o => ({ ...o }));\n \n if (this._open) {\n this._mapIconToLeadingIcon();\n this._adapter.setOptions(this._options as IMenuOption[]);\n if (this._persistSelection) {\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n }\n }\n }\n }\n public get options(): IMenuOption[] {\n if (!this._options) {\n return [];\n }\n\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone\n // function to the core library.\n return this._flatOptions.map(o => ({ ...o }));\n }\n\n public set optionsFactory(factory: MenuOptionFactory | undefined) {\n this._optionsFactory = factory;\n }\n\n public set selectedIndex(value: number) {\n const option = this._nonDividerOptions[value];\n if (option && option.value !== this._selectedValue) {\n this.selectedValue = option.value;\n }\n }\n public get selectedIndex(): number {\n return this._selectedValue !== undefined ? this._nonDividerOptions.findIndex(o => o.value === this._selectedValue) : -1;\n }\n\n public set selectedValue(value: any) {\n if (this._selectedValue !== value) {\n this._selectedValue = value;\n this._adapter.setSelectedValues(this._selectedValue);\n }\n }\n public get selectedValue(): any {\n return this._selectedValue;\n }\n\n public get placement(): PopupPlacement {\n return this._placement;\n }\n public set placement(value: PopupPlacement) {\n if (this._placement !== value) {\n this._placement = value || 'bottom-start';\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.PLACEMENT, this._placement);\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n this._dense = value;\n }\n\n public get iconClass(): string {\n return this._iconClass;\n }\n public set iconClass(value: string) {\n this._iconClass = value;\n }\n\n public get persistSelection(): boolean {\n return this._persistSelection;\n }\n public set persistSelection(value: boolean) {\n if (this._persistSelection === value) {\n return;\n }\n\n this._persistSelection = value;\n this._adapter.toggleHostAttribute(MENU_CONSTANTS.attributes.PERSIST_SELECTION, this._persistSelection);\n\n if (!this._persistSelection) {\n this._flatOptions.forEach(o => o.selected = false);\n this._selectedValue = undefined;\n }\n }\n\n public get mode(): MenuMode {\n return this._mode;\n }\n public set mode(value: MenuMode) {\n if (this._mode !== value) {\n this._mode = value;\n this._destroyInteractionListeners();\n this._applyMode();\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.MODE, this._mode);\n }\n }\n\n public get popupOffset(): IPopupPosition {\n return this._popupOffset;\n }\n public set popupOffset(value: IPopupPosition) {\n this._popupOffset = value;\n }\n\n public get optionBuilder(): MenuOptionBuilder | undefined {\n return this._optionBuilder;\n }\n public set optionBuilder(cb: MenuOptionBuilder | undefined) {\n this._optionBuilder = cb;\n }\n\n public get popupElement(): HTMLElement | null {\n return this._adapter.getDropdownElement();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChildren, FoundationProperty, isDefined } from '@tylertech/forge-core';\nimport { tylIconArrowRight } from '@tylertech/tyler-icons/standard';\nimport { CircularProgressComponent } from '../circular-progress';\nimport { IconRegistry } from '../icon';\nimport { LinearProgressComponent } from '../linear-progress';\nimport { ListComponent } from '../list';\nimport { IListDropdownAware, ListDropdownAware } from '../list-dropdown/list-dropdown-aware';\nimport { IPopupPosition, PopupComponent, PopupPlacement } from '../popup';\nimport { MenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOption, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\nimport { MenuFoundation } from './menu-foundation';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:inline-block}:host([hidden]){display:none}';\n\nexport interface IMenuComponent extends IListDropdownAware {\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n selectedIndex: number;\n selectedValue: number;\n placement: PopupPlacement;\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n popupElement: HTMLElement | undefined;\n propagateKeyEvent(evt: KeyboardEvent): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-menu': IMenuComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-menu-select': CustomEvent<IMenuSelectEventData>;\n 'forge-menu-open': CustomEvent<void>;\n 'forge-menu-close': CustomEvent<void>;\n 'forge-menu-active-change': CustomEvent<IMenuActiveChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-menu>` custom element.\n * \n * @tag forge-menu\n */\n@CustomElement({\n name: MENU_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ListComponent,\n CircularProgressComponent,\n LinearProgressComponent\n ]\n})\nexport class MenuComponent extends ListDropdownAware implements IMenuComponent {\n public static get observedAttributes(): string[] {\n return [\n MENU_CONSTANTS.attributes.OPEN,\n MENU_CONSTANTS.attributes.PLACEMENT,\n MENU_CONSTANTS.attributes.SELECTED_INDEX,\n MENU_CONSTANTS.attributes.SELECTED_VALUE,\n MENU_CONSTANTS.attributes.DENSE,\n MENU_CONSTANTS.attributes.ICON_CLASS,\n MENU_CONSTANTS.attributes.PERSIST_SELECTION,\n MENU_CONSTANTS.attributes.MODE,\n MENU_CONSTANTS.attributes.SYNC_POPUP_WIDTH,\n MENU_CONSTANTS.attributes.POPUP_CLASSES,\n MENU_CONSTANTS.attributes.OPTION_LIMIT,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD\n ];\n }\n\n private _foundation: MenuFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconArrowRight);\n this._foundation = new MenuFoundation(new MenuAdapter(this));\n attachShadowTemplate(this, template, styles);\n }\n\n public connectedCallback(): void {\n if (this.children.length) {\n this._foundation.initialize();\n } else {\n ensureChildren(this).then(() => this._foundation.initialize());\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case MENU_CONSTANTS.attributes.OPEN:\n this._foundation.open = isDefined(newValue);\n break;\n case MENU_CONSTANTS.attributes.PLACEMENT:\n this._foundation.placement = newValue as PopupPlacement;\n break;\n case MENU_CONSTANTS.attributes.SELECTED_INDEX:\n this._foundation.selectedIndex = Number(newValue);\n break;\n case MENU_CONSTANTS.attributes.SELECTED_VALUE:\n this._foundation.selectedValue = newValue;\n break;\n case MENU_CONSTANTS.attributes.DENSE:\n this._foundation.dense = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.ICON_CLASS:\n this._foundation.iconClass = newValue;\n break;\n case MENU_CONSTANTS.attributes.PERSIST_SELECTION:\n this.persistSelection = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.MODE:\n this.mode = newValue as MenuMode;\n break;\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n /** Gets/sets the open state. */\n @FoundationProperty()\n public open: boolean;\n\n /** Gets/sets the array of options to display in the menu. */\n @FoundationProperty()\n public options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n\n /** Gets/sets the selected option to the index. Does not support cascading menus. */\n @FoundationProperty()\n public selectedIndex: number;\n\n /** Gets/sets the value of the option to select. */\n @FoundationProperty()\n public selectedValue: any;\n\n /** Gets/sets the menu placement (default is bottom-left). */\n @FoundationProperty()\n public placement: `${PopupPlacement}`;\n\n /** Gets/sets dense state of the list options used in the menu popup. */\n @FoundationProperty()\n public dense: boolean;\n\n /** Gets/sets the class name to use for option icons. */\n @FoundationProperty()\n public iconClass: string;\n\n /**\n * Gets/sets whether selection of menu items is persisted.\n * @deprecated Please use `<forge-select-dropdown>` for handling selection states.\n */\n @FoundationProperty()\n public persistSelection: boolean;\n\n /** Gets/sets the mode that this menu is using. */\n @FoundationProperty()\n public mode: MenuMode;\n\n /** Sets the position adustment on the internal popup element. */\n @FoundationProperty()\n public popupOffset: IPopupPosition;\n\n /** Sets the callback that will be executed for each option in the dropdown for producing custom option templates. */\n @FoundationProperty()\n public optionBuilder: MenuOptionBuilder;\n\n /** Gets the currently active popup element when the dropdown is open. */\n @FoundationProperty({ set: false })\n public popupElement: HTMLElement | undefined;\n\n /** Force propagates the key event from another element this component. */\n public propagateKeyEvent(evt: KeyboardEvent): void {\n this._foundation.onKeydown(evt);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { MenuComponent } from './menu';\n\nexport * from './menu-adapter';\nexport * from './menu-constants';\nexport * from './menu-foundation';\nexport * from './menu';\n\nexport function defineMenuComponent(): void {\n defineCustomElement(MenuComponent);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { IListDropdownOption, IListDropdownOptionGroup } from '../list-dropdown';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}menu`;\n\nconst classes = {\n POPUP: 'forge-menu__popup',\n MENU: 'mdc-menu'\n};\n\nconst selectors = {\n TOGGLE: `.${COMPONENT_NAME_PREFIX}menu__toggle, [${elementName}-toggle], button, [type=button]`,\n MENU_LIST: 'forge-list'\n};\n\nconst attributes = {\n OPEN: 'open',\n PLACEMENT: 'placement',\n SELECTED_INDEX: 'selected-index',\n SELECTED_VALUE: 'selected-value',\n DENSE: 'dense',\n ICON_CLASS: 'icon-class',\n PERSIST_SELECTION: 'persist-selection',\n MODE: 'mode',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SELECT: `${elementName}-select`,\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n ACTIVE_CHANGE: `${elementName}-active-change`\n};\n\nconst numbers = {\n CHILD_MOUSE_LEAVE_TIMEOUT: 300,\n POPUP_MOUSE_LEAVE_TIMEOUT: 500\n};\n\nexport const MENU_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers\n};\n\nexport interface IMenuSelectEventData<T = any, K = any> {\n index: number;\n value?: T;\n parentValue?: K;\n}\n\nexport interface IMenuActiveChangeEventData {\n id: string;\n}\n\nexport interface IMenuOption<T = any> extends IListDropdownOption<T> {\n icon?: string;\n selected?: boolean;\n}\n\nexport interface IMenuOptionGroup extends IListDropdownOptionGroup {}\n\nexport type MenuOptionBuilder = (option: IMenuOption, parentElement: HTMLElement) => HTMLElement | string | void;\nexport type MenuOptionFactory = (() => IMenuOption[]) | (() => Promise<IMenuOption[]>);\nexport type MenuMode = 'click' | 'cascade';\n", "import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IMenuOption } from './index';\nimport { IMenuComponent } from './menu';\nimport { MENU_CONSTANTS, IMenuSelectEventData } from './menu-constants';\nimport { IListDropdownConfig, IListDropdown, ListDropdown } from '../list-dropdown';\nimport { IListComponent, IListItemComponent, LIST_CONSTANTS, LIST_ITEM_CONSTANTS } from '../list';\n\nexport interface IMenuAdapter extends IBaseAdapter {\n getDropdownElement(): HTMLElement | null;\n initializeTarget(): void;\n initializeAccessibility(id: string): void;\n hasTargetElement(): boolean;\n addTargetListener(event: string, callback: (event: Event) => void, bubbles?: boolean): void;\n removeTargetListener(event: string, callback: (event: Event) => void): void;\n attachMenu(config: IListDropdownConfig): void;\n detachMenu(): void;\n setOptions(options: IMenuOption[]): void;\n getActiveOptionIndex(): number;\n setActiveOption(index: number): void;\n activateFirstOption(): void;\n propagateKey(key: string): void;\n proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void;\n toggleChildMenu(index: number, open?: boolean): void;\n focusTarget(): void;\n isTargetFocused(): boolean;\n updateActiveDescendant(id: string): void;\n isOwnElement(element: Element): boolean;\n addDropdownListener(type: string, listener: (evt: any) => void): void;\n createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent;\n closeOtherChildMenus(excludeIndex?: number): void;\n setSelectedValues(values: any[]): void;\n}\n\nexport class MenuAdapter extends BaseAdapter<IMenuComponent> implements IMenuAdapter {\n private _targetElement: HTMLElement | null;\n private _listDropdown?: IListDropdown;\n private _childMenus = new Map<number, IMenuComponent>();\n\n constructor(component: IMenuComponent) {\n super(component);\n }\n\n public getDropdownElement(): HTMLElement | null {\n return this._listDropdown?.dropdownElement ?? null;\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public initializeTarget(): void {\n this._targetElement = this._component.querySelector(MENU_CONSTANTS.selectors.TOGGLE);\n if (!this._targetElement) {\n this._targetElement = this._component.firstElementChild as HTMLElement;\n }\n }\n\n public initializeAccessibility(id: string): void {\n if (!this._targetElement) {\n return;\n }\n\n this._targetElement.setAttribute('aria-atomic', 'true');\n this._targetElement.setAttribute('aria-live', 'assertive');\n this._targetElement.setAttribute('aria-haspopup', 'true');\n this._targetElement.setAttribute('aria-expanded', 'false');\n\n if (!this._targetElement.hasAttribute('aria-label')) {\n this._targetElement.setAttribute('aria-label', this._targetElement.textContent || '');\n }\n }\n\n public addTargetListener(event: string, callback: (event: Event) => void, bubbles = false): void {\n if (this._targetElement) {\n this._targetElement.addEventListener(event, callback, bubbles);\n }\n }\n\n public removeTargetListener(event: string, callback: (event: Event) => void): void {\n if (this._targetElement) {\n this._targetElement.removeEventListener(event, callback);\n }\n }\n\n public attachMenu(config: IListDropdownConfig): void {\n if (this._listDropdown || !this._targetElement) {\n return;\n }\n this._listDropdown = new ListDropdown(this._targetElement as HTMLElement, config);\n this._listDropdown.open();\n this._targetElement.setAttribute('aria-expanded', 'true');\n this._targetElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n }\n\n public setOptions(options: IMenuOption[]): void {\n if (this._listDropdown) {\n this._listDropdown.setOptions(options);\n }\n }\n\n public detachMenu(): void {\n if (this._targetElement) {\n this._targetElement.removeAttribute('aria-activedescendant');\n this._targetElement.removeAttribute('aria-expanded');\n this._targetElement.removeAttribute('aria-controls');\n }\n\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public focusTarget(): void {\n if (this._targetElement) {\n this._targetElement.focus();\n }\n }\n\n public isTargetFocused(): boolean {\n return document.activeElement === this._targetElement;\n }\n\n public updateActiveDescendant(id: string): void {\n if (!this._targetElement) {\n return;\n }\n if (id) {\n this._targetElement.setAttribute('aria-activedescendant', id);\n } else {\n this._targetElement.removeAttribute('aria-activedescendant');\n }\n }\n\n public addDropdownListener(type: string, listener: (evt: any) => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n this._listDropdown.dropdownElement.addEventListener(type, listener);\n }\n\n public isOwnElement(el: Element): boolean {\n if (!this._targetElement || !this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._targetElement.contains(el) || !!this._listDropdown.dropdownElement.contains(el);\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void {\n if (!this.getDropdownElement()) {\n return;\n }\n const openMenu = this._getOpenChildMenu(id);\n if (openMenu) {\n openMenu.propagateKeyEvent(evt);\n }\n }\n\n public toggleChildMenu(index: number, open?: boolean): void {\n const listItems = this._getListItems();\n const listItem = listItems[index];\n const childMenu = listItem.parentElement as IMenuComponent;\n if (childMenu && childMenu.tagName.toLowerCase() === MENU_CONSTANTS.elementName) {\n if (open === undefined) {\n childMenu.open = !childMenu.open;\n } else {\n childMenu.open = open;\n }\n }\n }\n\n public createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent {\n const menu = document.createElement('forge-menu');\n menu.style.display = 'block';\n\n // Set listeners to notify the parent menu when anything important happens within a child menu that needs to be propagated to the root menu\n menu.addEventListener(MENU_CONSTANTS.events.OPEN, () => {\n this._childMenus.set(index, menu);\n openCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.CLOSE, () => {\n this._childMenus.delete(index);\n closeCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.SELECT, (evt: CustomEvent<IMenuSelectEventData>) => {\n evt.stopPropagation();\n selectCb({ ...evt.detail, parentValue });\n });\n\n return menu;\n }\n\n public closeOtherChildMenus(excludeIndex?: number): void {\n const menusToRemove: number[] = [];\n this._childMenus.forEach((menu, index) => {\n if (index !== excludeIndex) {\n menu.open = false;\n menusToRemove.push(index);\n }\n });\n menusToRemove.forEach(index => this._childMenus.delete(index));\n }\n\n public setSelectedValues(values: any[]): void {\n this._listDropdown?.setSelectedValues(values);\n }\n\n private _getOpenChildMenu(id: string): IMenuComponent | null {\n if (!this.getDropdownElement()) {\n return null;\n }\n const list = this._getOwnList(id);\n return list ? list.querySelector(`${MENU_CONSTANTS.elementName}[${MENU_CONSTANTS.attributes.OPEN}]`) : null;\n }\n\n private _getOwnList(id: string): IListComponent | null {\n const popup = this.getDropdownElement();\n if (!popup) {\n return null;\n }\n return popup.querySelector(`${LIST_CONSTANTS.elementName}[id=\"list-dropdown-list-${id}\"]`);\n }\n\n private _getListItems(): IListItemComponent[] {\n const popup = this.getDropdownElement();\n if (!popup) {\n return [];\n }\n const listElement = popup.querySelector(LIST_CONSTANTS.elementName);\n if (listElement) {\n return Array.from(listElement.querySelectorAll(LIST_ITEM_CONSTANTS.elementName)) as IListItemComponent[];\n }\n return [];\n }\n}\n", "import { ICustomElementFoundation, isArray, randomChars } from '@tylertech/forge-core';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { CascadingListDropdownAwareFoundation, IListDropdownCascadingElementFactoryConfig, IListDropdownConfig, ListDropdownAsyncStyle, ListDropdownType } from '../list-dropdown';\nimport { isListDropdownOptionType, ListDropdownOptionType } from '../list-dropdown/list-dropdown-utils';\nimport { IPopupPosition, PopupPlacement } from '../popup';\nimport { IMenuOption } from './index';\nimport { IMenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\n\nexport interface IMenuFoundation extends ICustomElementFoundation {\n initialize(): void;\n disconnect(): void;\n onKeydown(evt: KeyboardEvent): void;\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup>;\n optionsFactory: MenuOptionFactory | undefined;\n selectedIndex: number;\n selectedValue: any;\n placement: string;\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n}\n\nexport class MenuFoundation extends CascadingListDropdownAwareFoundation<IMenuOption | IMenuOptionGroup> implements IMenuFoundation {\n private _optionsFactory: MenuOptionFactory | undefined;\n private _placement: PopupPlacement = 'bottom-start';\n private _dense = false;\n private _selectedValue: any;\n private _iconClass = ICON_CLASS_NAME;\n private _persistSelection = false;\n private _mode: MenuMode = 'click';\n private _popupOffset: IPopupPosition;\n private _optionBuilder: MenuOptionBuilder | undefined;\n private _identifier: string;\n private _clickListener: (evt: MouseEvent) => void;\n private _blurListener: (evt: MouseEvent) => void;\n private _selectListener: (value: any) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _activeChangeListener: (id: string) => void;\n \n constructor(private _adapter: IMenuAdapter) {\n super({\n popupTimeout: MENU_CONSTANTS.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,\n targetTimeout: MENU_CONSTANTS.numbers.CHILD_MOUSE_LEAVE_TIMEOUT\n });\n this._identifier = randomChars();\n this._clickListener = evt => this._onTargetClick(evt);\n this._blurListener = evt => this._onTargetBlur(evt);\n this._selectListener = value => this._handleSelectEvent(value);\n this._keydownListener = evt => this.onKeydown(evt);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n }\n\n public initialize(): void {\n this._adapter.initializeTarget();\n this._adapter.initializeAccessibility(this._identifier);\n this._initializeInteractionListeners();\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._destroyInteractionListeners();\n }\n\n private _applyMode(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n\n if (this._mode !== 'cascade') {\n this._adapter.addTargetListener('click', this._clickListener);\n } else {\n this._attachCascadingListeners();\n }\n }\n\n private _initializeInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._applyMode();\n this._adapter.addTargetListener('keydown', this._keydownListener, true);\n this._adapter.addTargetListener('blur', this._blurListener);\n }\n\n private _destroyInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._adapter.removeTargetListener('keydown', this._clickListener);\n this._adapter.removeTargetListener('blur', this._blurListener);\n this._adapter.removeTargetListener('click', this._clickListener);\n this._detachCascadingListeners();\n }\n\n protected _attachCascadingListeners(): void {\n this._adapter.addTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.addTargetListener('mouseleave', this._targetMouseLeaveListener);\n\n // We listen for document mousemove events only to track mouse coords for use when determining\n // if popups should open/close after specific delays\n this._adapter.addDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n protected _detachCascadingListeners(): void {\n this._adapter.removeTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.removeTargetListener('mouseleave', this._targetMouseLeaveListener);\n this._adapter.removeDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n private get _nonDividerOptions(): IMenuOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n private get _flatOptions(): IMenuOption[] {\n if (isListDropdownOptionType(this._options, ListDropdownOptionType.Group)) {\n return (this._options as IMenuOptionGroup[]).reduce((previousValue, currentValue) => previousValue.concat(currentValue.options), [] as IMenuOption[]) as IMenuOption[];\n }\n return this._options as IMenuOption[];\n }\n\n private _onTargetClick(evt: MouseEvent): void {\n if (this._open) {\n this._closeDropdown();\n return;\n }\n this.open = !this._open;\n if (this._open) {\n this._adapter.focusTarget();\n }\n }\n\n private _onTargetBlur(evt: Event): void {\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n private _onActiveOptionChanged(id: string): void {\n // We need to dispatch an event when the active descendant changes to propagate that to the proper target element\n const data: IMenuActiveChangeEventData = { id };\n const canSetActiveDescendant = this._adapter.emitHostEvent(MENU_CONSTANTS.events.ACTIVE_CHANGE, data, true, true);\n if (this._mode !== 'cascade' && canSetActiveDescendant) {\n this._adapter.updateActiveDescendant(id);\n }\n }\n\n public onKeydown(evt: KeyboardEvent): void {\n // If we have any child menus open, we need to proxy the keyboard events to those and exit\n if (this._childOpen) {\n // If escape is pressed while other menus are open then we need to close everything\n if (evt.code === 'Escape') {\n evt.preventDefault();\n this._adapter.closeOtherChildMenus();\n this._closeDropdown();\n return;\n }\n this._adapter.proxyKeyboardEventToChild(evt, this._identifier);\n return;\n }\n\n switch (evt.code) {\n case 'Tab':\n if (this._open) {\n this._selectActiveOption();\n }\n break;\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n this._closeDropdown();\n }\n break;\n case 'Space':\n evt.preventDefault();\n\n if (this._open) {\n this._closeDropdown();\n } else {\n this._openDropdown();\n }\n break;\n case 'Home':\n case 'End':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateKey(evt.code);\n }\n break;\n case 'Enter':\n if (!this._open) {\n return;\n }\n\n evt.stopImmediatePropagation();\n evt.preventDefault();\n\n this._adapter.propagateKey(evt.code);\n\n // Check if we need to toggle the child menu open state\n const activeIndex = this._adapter.getActiveOptionIndex();\n const activeOption = this._nonDividerOptions[activeIndex];\n if (activeOption && activeOption.options && activeOption.options.length) {\n this._adapter.toggleChildMenu(activeIndex);\n }\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n\n evt.preventDefault();\n\n if (!this._open && evt.code === 'ArrowDown') {\n this._openDropdown();\n this._adapter.activateFirstOption();\n return;\n }\n\n this._adapter.propagateKey(evt.code);\n break;\n case 'ArrowLeft':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (this._mode === 'cascade' && this._open) {\n this._closeDropdown();\n }\n break;\n case 'ArrowRight':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (!this._open) {\n return;\n }\n const hoveredIndex = this._adapter.getActiveOptionIndex();\n const hoveredOption = this._nonDividerOptions[hoveredIndex];\n if (hoveredOption && hoveredOption.options) {\n this._adapter.toggleChildMenu(hoveredIndex, evt.code === 'ArrowRight');\n return;\n }\n break;\n }\n }\n\n private async _openMenu(): Promise<void> {\n this._open = true;\n let options: IMenuOption[] = [];\n\n if (typeof this._optionsFactory === 'function') {\n this._loadOptionsAsync();\n this._options = [];\n } else {\n if (!this._options || !this._options.length) {\n return;\n }\n options = this._options as IMenuOption[];\n }\n\n if (!this._persistSelection) {\n options.forEach(o => o.selected = false);\n }\n\n this._mapIconToLeadingIcon();\n\n const selectedValues = this._persistSelection ? this._getSelectedValues() : [];\n\n const config: IListDropdownConfig = {\n id: this._identifier,\n type: ListDropdownType.Menu,\n options: this._options,\n selectedValues,\n iconClass: this._iconClass,\n dense: this._dense,\n multiple: false,\n popupStatic: true,\n allowBusy: true,\n asyncStyle: ListDropdownAsyncStyle.Spinner,\n optionBuilder: this._optionBuilder,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n popupPlacement: this._placement,\n activeStartIndex: this._mode === 'cascade' ? 0 : undefined,\n popupClasses: [\n MENU_CONSTANTS.classes.POPUP,\n MENU_CONSTANTS.classes.MENU,\n ...this._popupClasses as string[]\n ],\n syncWidth: this._syncPopupWidth,\n activeChangeCallback: this._activeChangeListener,\n selectCallback: this._selectListener,\n popupOffset: this._popupOffset,\n cascadingElementFactory: params => this._createCascadingElement(params)\n };\n\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.OPEN, '');\n this._adapter.attachMenu(config);\n\n // If this menu is in a hover mode, we need to listen for mouse enter/leave events to know when the user is hovering over the popup\n if (this._mode === 'cascade') {\n this._adapter.addDropdownListener('mouseenter', this._childPopupMouseEnterListener);\n this._adapter.addDropdownListener('mouseleave', this._childPopupMouseLeaveListener);\n }\n \n this._adapter.addDropdownListener(MENU_CONSTANTS.events.ACTIVE_CHANGE, (evt: CustomEvent<IMenuActiveChangeEventData>) => {\n this._onActiveOptionChanged(evt.detail.id);\n });\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.OPEN);\n }\n\n private _closeMenu(): void {\n this._open = false;\n this._childOpen = false;\n this._adapter.detachMenu();\n\n if (this._activeMouseLeaveTimeout !== undefined) {\n window.clearTimeout(this._activeMouseLeaveTimeout);\n }\n\n this._adapter.removeHostAttribute(MENU_CONSTANTS.attributes.OPEN);\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.CLOSE);\n }\n\n private _loadOptionsAsync(): Promise<void> {\n if (!this._optionsFactory) {\n if (this._open) {\n this._closeMenu();\n }\n return Promise.resolve();\n }\n\n return Promise.resolve(this._optionsFactory())\n .then(results => {\n if (!this._persistSelection) {\n results.forEach(o => o.selected = false);\n }\n\n if (this._open) {\n if (results && isArray(results) && results.length) {\n this._options = results;\n this._adapter.setOptions(results);\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n } else if (this._open) {\n this._closeDropdown();\n }\n }\n })\n .catch(e => {\n console.error('An unexpected error ocurred while opening the menu:', e);\n if (this._open) {\n this._closeDropdown();\n }\n });\n }\n\n private _handleSelectEvent(value: any): void {\n const index = this._nonDividerOptions.findIndex(o => o.value === value);\n if (index < 0) {\n return;\n }\n this._selectOptionByIndex(index);\n }\n\n private _selectActiveOption(): void {\n const index = this._adapter.getActiveOptionIndex();\n if (index >= 0 && this._nonDividerOptions[index]) {\n this._selectOptionByIndex(index);\n }\n }\n\n private _selectOptionByIndex(index: number): void {\n const { options, value } = this._nonDividerOptions[index];\n\n // We ignore selections if the option has child options\n if (options) {\n this._adapter.setActiveOption(index);\n return;\n }\n\n this._closeDropdown();\n \n const data: IMenuSelectEventData = { index, value };\n const isCancelled = !this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data, true, true);\n if (!isCancelled) {\n this._selectedValue = this._persistSelection ? value : undefined;\n }\n }\n\n private _getSelectedValues(): any[] {\n const values = this._flatOptions.filter(o => o.selected).map(o => o.value);\n if (this._selectedValue !== undefined) {\n values.push(this._selectedValue);\n }\n return values;\n }\n\n /** Called when a child menu option is selected. */\n protected _onCascadingOptionSelected(data: IMenuSelectEventData): void {\n if (this._persistSelection) {\n this._selectedValue = data.value;\n }\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data);\n this._closeDropdown();\n }\n\n /** Called when a child menu is opened off of one of our menu options. */\n protected _onCascadingChildOpen(index: number): void {\n super._clearMouseLeaveTimeout();\n this._adapter.closeOtherChildMenus(index);\n this._childOpen = true;\n this._adapter.setActiveOption(index);\n }\n\n /** Called when a child menu is closed off of one of our menu options. */\n protected _onCascadingChildClose(): void {\n this._childOpen = false;\n }\n\n protected _closeDropdown(): void {\n this._closeMenu();\n }\n\n protected _openDropdown(): void {\n this._openMenu();\n }\n\n protected _isOwnElement(element: Element): boolean {\n return this._adapter.isOwnElement(element);\n }\n\n private _createCascadingElement({ index, options, parentValue }: IListDropdownCascadingElementFactoryConfig): HTMLElement {\n const menu = this._adapter.createChildMenu(\n index,\n parentValue,\n this._onCascadingChildOpen.bind(this),\n this._onCascadingChildClose.bind(this),\n this._onCascadingOptionSelected.bind(this)\n );\n menu.mode = 'cascade';\n menu.popupOffset = { x: 0, y: -8 };\n menu.dense = this._dense;\n menu.placement = 'right-start';\n menu.persistSelection = this._persistSelection;\n if (this._persistSelection) {\n menu.selectedValue = this._selectedValue;\n }\n menu.options = options;\n menu.optionBuilder = this._optionBuilder;\n menu.iconClass = this._iconClass;\n\n return menu;\n }\n\n private _mapIconToLeadingIcon(): void {\n // For backwards compatibility with old API, map the old \"icon\" property to the new \"leadingIcon\" property (if exists)\n this._flatOptions.filter(o => o.icon).forEach(o => o.leadingIcon = o.icon);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n value = Boolean(value);\n if (this._open !== value) {\n this._open = value;\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public set options(options: IMenuOption[]) {\n if (typeof options === 'function') {\n this.optionsFactory = options;\n } else {\n this.optionsFactory = undefined;\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone\n // function to the core library.\n this._options = options.map(o => ({ ...o }));\n \n if (this._open) {\n this._mapIconToLeadingIcon();\n this._adapter.setOptions(this._options as IMenuOption[]);\n if (this._persistSelection) {\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n }\n }\n }\n }\n public get options(): IMenuOption[] {\n if (!this._options) {\n return [];\n }\n\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone\n // function to the core library.\n return this._flatOptions.map(o => ({ ...o }));\n }\n\n public set optionsFactory(factory: MenuOptionFactory | undefined) {\n this._optionsFactory = factory;\n }\n\n public set selectedIndex(value: number) {\n const option = this._nonDividerOptions[value];\n if (option && option.value !== this._selectedValue) {\n this.selectedValue = option.value;\n }\n }\n public get selectedIndex(): number {\n return this._selectedValue !== undefined ? this._nonDividerOptions.findIndex(o => o.value === this._selectedValue) : -1;\n }\n\n public set selectedValue(value: any) {\n if (this._selectedValue !== value) {\n this._selectedValue = value;\n this._adapter.setSelectedValues(this._selectedValue);\n }\n }\n public get selectedValue(): any {\n return this._selectedValue;\n }\n\n public get placement(): PopupPlacement {\n return this._placement;\n }\n public set placement(value: PopupPlacement) {\n if (this._placement !== value) {\n this._placement = value || 'bottom-start';\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.PLACEMENT, this._placement);\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n this._dense = value;\n }\n\n public get iconClass(): string {\n return this._iconClass;\n }\n public set iconClass(value: string) {\n this._iconClass = value;\n }\n\n public get persistSelection(): boolean {\n return this._persistSelection;\n }\n public set persistSelection(value: boolean) {\n if (this._persistSelection === value) {\n return;\n }\n\n this._persistSelection = value;\n this._adapter.toggleHostAttribute(MENU_CONSTANTS.attributes.PERSIST_SELECTION, this._persistSelection);\n\n if (!this._persistSelection) {\n this._flatOptions.forEach(o => o.selected = false);\n this._selectedValue = undefined;\n }\n }\n\n public get mode(): MenuMode {\n return this._mode;\n }\n public set mode(value: MenuMode) {\n if (this._mode !== value) {\n this._mode = value;\n this._destroyInteractionListeners();\n this._applyMode();\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.MODE, this._mode);\n }\n }\n\n public get popupOffset(): IPopupPosition {\n return this._popupOffset;\n }\n public set popupOffset(value: IPopupPosition) {\n this._popupOffset = value;\n }\n\n public get optionBuilder(): MenuOptionBuilder | undefined {\n return this._optionBuilder;\n }\n public set optionBuilder(cb: MenuOptionBuilder | undefined) {\n this._optionBuilder = cb;\n }\n\n public get popupElement(): HTMLElement | null {\n return this._adapter.getDropdownElement();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChildren, FoundationProperty, isDefined } from '@tylertech/forge-core';\nimport { tylIconArrowRight } from '@tylertech/tyler-icons/standard';\nimport { CircularProgressComponent } from '../circular-progress';\nimport { IconRegistry } from '../icon';\nimport { LinearProgressComponent } from '../linear-progress';\nimport { ListComponent } from '../list';\nimport { IListDropdownAware, ListDropdownAware } from '../list-dropdown/list-dropdown-aware';\nimport { IPopupPosition, PopupComponent, PopupPlacement } from '../popup';\nimport { MenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOption, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\nimport { MenuFoundation } from './menu-foundation';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:inline-block}:host([hidden]){display:none}';\n\nexport interface IMenuComponent extends IListDropdownAware {\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n selectedIndex: number;\n selectedValue: number;\n placement: PopupPlacement;\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n popupElement: HTMLElement | undefined;\n propagateKeyEvent(evt: KeyboardEvent): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-menu': IMenuComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-menu-select': CustomEvent<IMenuSelectEventData>;\n 'forge-menu-open': CustomEvent<void>;\n 'forge-menu-close': CustomEvent<void>;\n 'forge-menu-active-change': CustomEvent<IMenuActiveChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-menu>` custom element.\n * \n * @tag forge-menu\n */\n@CustomElement({\n name: MENU_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ListComponent,\n CircularProgressComponent,\n LinearProgressComponent\n ]\n})\nexport class MenuComponent extends ListDropdownAware implements IMenuComponent {\n public static get observedAttributes(): string[] {\n return [\n MENU_CONSTANTS.attributes.OPEN,\n MENU_CONSTANTS.attributes.PLACEMENT,\n MENU_CONSTANTS.attributes.SELECTED_INDEX,\n MENU_CONSTANTS.attributes.SELECTED_VALUE,\n MENU_CONSTANTS.attributes.DENSE,\n MENU_CONSTANTS.attributes.ICON_CLASS,\n MENU_CONSTANTS.attributes.PERSIST_SELECTION,\n MENU_CONSTANTS.attributes.MODE,\n MENU_CONSTANTS.attributes.SYNC_POPUP_WIDTH,\n MENU_CONSTANTS.attributes.POPUP_CLASSES,\n MENU_CONSTANTS.attributes.OPTION_LIMIT,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD\n ];\n }\n\n private _foundation: MenuFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconArrowRight);\n this._foundation = new MenuFoundation(new MenuAdapter(this));\n attachShadowTemplate(this, template, styles);\n }\n\n public connectedCallback(): void {\n if (this.children.length) {\n this._foundation.initialize();\n } else {\n ensureChildren(this).then(() => this._foundation.initialize());\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case MENU_CONSTANTS.attributes.OPEN:\n this._foundation.open = isDefined(newValue);\n break;\n case MENU_CONSTANTS.attributes.PLACEMENT:\n this._foundation.placement = newValue as PopupPlacement;\n break;\n case MENU_CONSTANTS.attributes.SELECTED_INDEX:\n this._foundation.selectedIndex = Number(newValue);\n break;\n case MENU_CONSTANTS.attributes.SELECTED_VALUE:\n this._foundation.selectedValue = newValue;\n break;\n case MENU_CONSTANTS.attributes.DENSE:\n this._foundation.dense = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.ICON_CLASS:\n this._foundation.iconClass = newValue;\n break;\n case MENU_CONSTANTS.attributes.PERSIST_SELECTION:\n this.persistSelection = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.MODE:\n this.mode = newValue as MenuMode;\n break;\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n /** Gets/sets the open state. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Gets/sets the array of options to display in the menu. */\n @FoundationProperty()\n public declare options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n\n /** Gets/sets the selected option to the index. Does not support cascading menus. */\n @FoundationProperty()\n public declare selectedIndex: number;\n\n /** Gets/sets the value of the option to select. */\n @FoundationProperty()\n public declare selectedValue: any;\n\n /** Gets/sets the menu placement (default is bottom-left). */\n @FoundationProperty()\n public declare placement: `${PopupPlacement}`;\n\n /** Gets/sets dense state of the list options used in the menu popup. */\n @FoundationProperty()\n public declare dense: boolean;\n\n /** Gets/sets the class name to use for option icons. */\n @FoundationProperty()\n public declare iconClass: string;\n\n /**\n * Gets/sets whether selection of menu items is persisted.\n * @deprecated Please use `<forge-select-dropdown>` for handling selection states.\n */\n @FoundationProperty()\n public declare persistSelection: boolean;\n\n /** Gets/sets the mode that this menu is using. */\n @FoundationProperty()\n public declare mode: MenuMode;\n\n /** Sets the position adustment on the internal popup element. */\n @FoundationProperty()\n public declare popupOffset: IPopupPosition;\n\n /** Sets the callback that will be executed for each option in the dropdown for producing custom option templates. */\n @FoundationProperty()\n public declare optionBuilder: MenuOptionBuilder;\n\n /** Gets the currently active popup element when the dropdown is open. */\n @FoundationProperty({ set: false })\n public declare popupElement: HTMLElement | undefined;\n\n /** Force propagates the key event from another element this component. */\n public propagateKeyEvent(evt: KeyboardEvent): void {\n this._foundation.onKeydown(evt);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { MenuComponent } from './menu';\n\nexport * from './menu-adapter';\nexport * from './menu-constants';\nexport * from './menu-foundation';\nexport * from './menu';\n\nexport function defineMenuComponent(): void {\n defineCustomElement(MenuComponent);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as m,d as C}from"./chunk.2CEW64ZM.js";import{b as E}from"./chunk.JMXJXZTS.js";import{y as I}from"./chunk.LZMYHIO2.js";import{d as O}from"./chunk.KBMLP7UT.js";import{d as A,l as N}from"./chunk.JXY6MTP3.js";import{a as B}from"./chunk.5PXABBKU.js";import{a as n}from"./chunk.B3IJU6XJ.js";import{a as g,b as T}from"./chunk.OOW3UKT4.js";import{a as l,d as h,h as _,l as f}from"./chunk.MMVZJLXE.js";import{u as c}from"./chunk.R4NDFXVA.js";import{k as d,l as b}from"./chunk.G76HB2FK.js";import{f as a}from"./chunk.MCIQXNKY.js";var r=class extends B{constructor(i){super(i)}initialize(){this._badgeElement=_(this._component,m.elementName)}setCount(i){this._badgeElement.textContent=i}setBadgeType(i){this._badgeElement.dot=i}setBadgeTheme(i){c(this._badgeElement,!!i,m.attributes.THEME,i)}setBadgeVisible(i){this._badgeElement.open=i}};var v=`${T}app-bar-notification-button`,x={COUNT:"count",DOT:"dot",THEME:"theme",SHOW_BADGE:"show-badge"},t={elementName:v,attributes:x};var p=class{constructor(e){this._adapter=e;this._count=0;this._dot=!1;this._showBadge=!1;this._isInitialized=!1}initialize(){this._adapter.initialize(),this._adapter.setCount(this._count),this._adapter.setBadgeType(this._dot),this._adapter.setBadgeTheme(this._theme),this._adapter.setBadgeVisible(this._showBadge),this._isInitialized=!0}disconnect(){this._isInitialized=!1}get count(){return this._count}set count(e){this._count!==e&&(this._count=e,this._isInitialized&&(this._adapter.setCount(this._count),this._adapter.setHostAttribute(t.attributes.COUNT,this._count)))}get dot(){return this._dot}set dot(e){this._dot!==e&&(this._dot=e,this._isInitialized&&(this._adapter.setBadgeType(this._dot),this._dot?this._adapter.setHostAttribute(t.attributes.DOT):this._adapter.removeHostAttribute(t.attributes.DOT)))}get theme(){return this._theme}set theme(e){this._theme!==e&&(this._theme=e,this._isInitialized&&(this._adapter.setBadgeTheme(this._theme),this._adapter.setHostAttribute(t.attributes.THEME,this._theme)))}get showBadge(){return this._showBadge}set showBadge(e){this._showBadge!==e&&(this._showBadge=e,this._isInitialized&&(this._adapter.setBadgeVisible(this._showBadge),this._adapter.setHostAttribute(t.attributes.SHOW_BADGE,this._showBadge)))}};var w='<template><forge-icon-button class="forge-icon-button--with-badge"><button type="button" aria-label="Show notifications"><forge-icon name="notifications"></forge-icon></button><forge-tooltip delay="500" position="bottom">Notifications</forge-tooltip><forge-badge positioned app-bar-context></forge-badge></forge-icon-button></template>',o=class extends f{constructor(){super();A.define(I),this._foundation=new p(new r(this))}static get observedAttributes(){return[t.attributes.COUNT,t.attributes.DOT,t.attributes.THEME,t.attributes.SHOW_BADGE]}initializedCallback(){h(this,w)}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(i,H,s){switch(i){case t.attributes.COUNT:this.count=b(s);break;case t.attributes.DOT:this.dot=d(s);break;case t.attributes.THEME:this.theme=s;break;case t.attributes.SHOW_BADGE:this.showBadge=d(s);break}}};a([n()],o.prototype,"count",2),a([n()],o.prototype,"dot",2),a([n()],o.prototype,"theme",2),a([n()],o.prototype,"showBadge",2),o=a([g({name:t.elementName,dependencies:[E,O,C,N]})],o);function et(){l(o)}export{r as a,t as b,p as c,o as d,et as e};
7
+ //# sourceMappingURL=chunk.WU24GAQY.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/app-bar/notification-button/app-bar-notification-button-adapter.ts", "../../src/app-bar/notification-button/app-bar-notification-button-constants.ts", "../../src/app-bar/notification-button/app-bar-notification-button-foundation.ts", "../../src/app-bar/notification-button/app-bar-notification-button.ts", "../../src/app-bar/notification-button/index.ts"],
4
- "sourcesContent": ["import { getLightElement, toggleAttribute } from '@tylertech/forge-core';\nimport { BADGE_CONSTANTS, IBadgeComponent } from '../../badge';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IAppBarNotificationButtonComponent } from './app-bar-notification-button';\n\nexport interface IAppBarNotificationButtonAdapter extends IBaseAdapter {\n initialize(): void;\n setCount(value: number): void;\n setBadgeType(dot: boolean): void;\n setBadgeTheme(theme: string): void;\n setBadgeVisible(isVisible: boolean): void;\n}\n\nexport class AppBarNotificationButtonAdapter extends BaseAdapter<IAppBarNotificationButtonComponent> implements IAppBarNotificationButtonAdapter {\n private _badgeElement: IBadgeComponent;\n\n constructor(component: IAppBarNotificationButtonComponent) {\n super(component);\n }\n\n public initialize(): void {\n this._badgeElement = getLightElement(this._component, BADGE_CONSTANTS.elementName) as IBadgeComponent;\n }\n\n public setCount(value: number): void {\n this._badgeElement.textContent = value as any;\n }\n\n public setBadgeType(dot: boolean): void {\n this._badgeElement.dot = dot;\n }\n\n public setBadgeTheme(theme: string): void {\n toggleAttribute(this._badgeElement, !!theme, BADGE_CONSTANTS.attributes.THEME, theme);\n }\n\n public setBadgeVisible(isVisible: boolean): void {\n this._badgeElement.open = isVisible;\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}app-bar-notification-button`;\n\nconst attributes = {\n COUNT: 'count',\n DOT: 'dot',\n THEME: 'theme',\n SHOW_BADGE: 'show-badge'\n};\n\nexport const APP_BAR_NOTIFICATION_BUTTON_CONSTANTS = {\n elementName,\n attributes\n};\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IAppBarNotificationButtonAdapter } from './app-bar-notification-button-adapter';\nimport { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-button-constants';\n\nexport interface IAppBarNotificationButtonFoundation extends ICustomElementFoundation {\n count: number;\n dot: boolean;\n theme: string;\n showBadge: boolean;\n}\n\nexport class AppBarNotificationButtonFoundation implements IAppBarNotificationButtonFoundation {\n private _count = 0;\n private _dot = false;\n private _theme: string;\n private _showBadge = false;\n private _isInitialized = false;\n\n constructor(private _adapter: IAppBarNotificationButtonAdapter) {}\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.setCount(this._count);\n this._adapter.setBadgeType(this._dot);\n this._adapter.setBadgeTheme(this._theme);\n this._adapter.setBadgeVisible(this._showBadge);\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._isInitialized = false;\n }\n\n public get count(): number {\n return this._count;\n }\n public set count(value: number) {\n if (this._count !== value) {\n this._count = value;\n if (this._isInitialized) {\n this._adapter.setCount(this._count);\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT, this._count as any);\n }\n }\n }\n\n public get dot(): boolean {\n return this._dot;\n }\n public set dot(value: boolean) {\n if (this._dot !== value) {\n this._dot = value;\n if (this._isInitialized) {\n this._adapter.setBadgeType(this._dot);\n if (this._dot) {\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT);\n } else {\n this._adapter.removeHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT);\n }\n }\n }\n }\n\n public get theme(): string {\n return this._theme;\n }\n public set theme(value: string) {\n if (this._theme !== value) {\n this._theme = value;\n if (this._isInitialized) {\n this._adapter.setBadgeTheme(this._theme);\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME, this._theme);\n }\n }\n }\n\n public get showBadge(): boolean {\n return this._showBadge;\n }\n public set showBadge(value: boolean) {\n if (this._showBadge !== value) {\n this._showBadge = value;\n if (this._isInitialized) {\n this._adapter.setBadgeVisible(this._showBadge);\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE, this._showBadge as any);\n }\n }\n }\n}\n", "import { attachLightTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconNotifications } from '@tylertech/tyler-icons/standard';\nimport { BadgeComponent } from '../../badge';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { IconButtonComponent } from '../../icon-button';\nimport { TooltipComponent } from '../../tooltip';\nimport { AppBarNotificationButtonAdapter } from './app-bar-notification-button-adapter';\nimport { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-button-constants';\nimport { AppBarNotificationButtonFoundation } from './app-bar-notification-button-foundation';\n\nconst template = '<template><forge-icon-button class=\\\"forge-icon-button--with-badge\\\"><button type=\\\"button\\\" aria-label=\\\"Show notifications\\\"><forge-icon name=\\\"notifications\\\"></forge-icon></button><forge-tooltip delay=\\\"500\\\" position=\\\"bottom\\\">Notifications</forge-tooltip><forge-badge positioned app-bar-context></forge-badge></forge-icon-button></template>';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-app-bar-notification-button': IAppBarNotificationButtonComponent;\n }\n}\n\nexport interface IAppBarNotificationButtonComponent extends IBaseComponent {\n count: number;\n dot: boolean;\n showBadge: boolean;\n theme: string;\n}\n/**\n * The web component class behind the `<forge-app-bar-notification-button>` custom element.\n * \n * @tag forge-app-bar-notification-button\n */\n@CustomElement({\n name: APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.elementName,\n dependencies: [\n IconButtonComponent,\n TooltipComponent,\n BadgeComponent,\n IconComponent\n ]\n})\nexport class AppBarNotificationButtonComponent extends BaseComponent implements IAppBarNotificationButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT,\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT,\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME,\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE\n ];\n }\n\n private _foundation: AppBarNotificationButtonFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconNotifications);\n this._foundation = new AppBarNotificationButtonFoundation(new AppBarNotificationButtonAdapter(this));\n }\n\n public initializedCallback(): void {\n attachLightTemplate(this, template);\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 APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT:\n this.count = coerceNumber(newValue);\n break;\n case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT:\n this.dot = coerceBoolean(newValue);\n break;\n case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME:\n this.theme = newValue;\n break;\n case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE:\n this.showBadge = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public count: number;\n\n @FoundationProperty()\n public dot: boolean;\n\n @FoundationProperty()\n public theme: string;\n\n @FoundationProperty()\n public showBadge: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AppBarNotificationButtonComponent } from './app-bar-notification-button';\n\nexport * from './app-bar-notification-button-adapter';\nexport * from './app-bar-notification-button-constants';\nexport * from './app-bar-notification-button-foundation';\nexport * from './app-bar-notification-button';\n\nexport function defineAppBarNotificationButtonComponent(): void {\n defineCustomElement(AppBarNotificationButtonComponent);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { getLightElement, toggleAttribute } from '@tylertech/forge-core';\nimport { BADGE_CONSTANTS, IBadgeComponent } from '../../badge';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IAppBarNotificationButtonComponent } from './app-bar-notification-button';\n\nexport interface IAppBarNotificationButtonAdapter extends IBaseAdapter {\n initialize(): void;\n setCount(value: number): void;\n setBadgeType(dot: boolean): void;\n setBadgeTheme(theme: string): void;\n setBadgeVisible(isVisible: boolean): void;\n}\n\nexport class AppBarNotificationButtonAdapter extends BaseAdapter<IAppBarNotificationButtonComponent> implements IAppBarNotificationButtonAdapter {\n private _badgeElement: IBadgeComponent;\n\n constructor(component: IAppBarNotificationButtonComponent) {\n super(component);\n }\n\n public initialize(): void {\n this._badgeElement = getLightElement(this._component, BADGE_CONSTANTS.elementName) as IBadgeComponent;\n }\n\n public setCount(value: number): void {\n this._badgeElement.textContent = value as any;\n }\n\n public setBadgeType(dot: boolean): void {\n this._badgeElement.dot = dot;\n }\n\n public setBadgeTheme(theme: string): void {\n toggleAttribute(this._badgeElement, !!theme, BADGE_CONSTANTS.attributes.THEME, theme);\n }\n\n public setBadgeVisible(isVisible: boolean): void {\n this._badgeElement.open = isVisible;\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}app-bar-notification-button`;\n\nconst attributes = {\n COUNT: 'count',\n DOT: 'dot',\n THEME: 'theme',\n SHOW_BADGE: 'show-badge'\n};\n\nexport const APP_BAR_NOTIFICATION_BUTTON_CONSTANTS = {\n elementName,\n attributes\n};\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IAppBarNotificationButtonAdapter } from './app-bar-notification-button-adapter';\nimport { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-button-constants';\n\nexport interface IAppBarNotificationButtonFoundation extends ICustomElementFoundation {\n count: number;\n dot: boolean;\n theme: string;\n showBadge: boolean;\n}\n\nexport class AppBarNotificationButtonFoundation implements IAppBarNotificationButtonFoundation {\n private _count = 0;\n private _dot = false;\n private _theme: string;\n private _showBadge = false;\n private _isInitialized = false;\n\n constructor(private _adapter: IAppBarNotificationButtonAdapter) {}\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.setCount(this._count);\n this._adapter.setBadgeType(this._dot);\n this._adapter.setBadgeTheme(this._theme);\n this._adapter.setBadgeVisible(this._showBadge);\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._isInitialized = false;\n }\n\n public get count(): number {\n return this._count;\n }\n public set count(value: number) {\n if (this._count !== value) {\n this._count = value;\n if (this._isInitialized) {\n this._adapter.setCount(this._count);\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT, this._count as any);\n }\n }\n }\n\n public get dot(): boolean {\n return this._dot;\n }\n public set dot(value: boolean) {\n if (this._dot !== value) {\n this._dot = value;\n if (this._isInitialized) {\n this._adapter.setBadgeType(this._dot);\n if (this._dot) {\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT);\n } else {\n this._adapter.removeHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT);\n }\n }\n }\n }\n\n public get theme(): string {\n return this._theme;\n }\n public set theme(value: string) {\n if (this._theme !== value) {\n this._theme = value;\n if (this._isInitialized) {\n this._adapter.setBadgeTheme(this._theme);\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME, this._theme);\n }\n }\n }\n\n public get showBadge(): boolean {\n return this._showBadge;\n }\n public set showBadge(value: boolean) {\n if (this._showBadge !== value) {\n this._showBadge = value;\n if (this._isInitialized) {\n this._adapter.setBadgeVisible(this._showBadge);\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE, this._showBadge as any);\n }\n }\n }\n}\n", "import { attachLightTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconNotifications } from '@tylertech/tyler-icons/standard';\nimport { BadgeComponent } from '../../badge';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { IconButtonComponent } from '../../icon-button';\nimport { TooltipComponent } from '../../tooltip';\nimport { AppBarNotificationButtonAdapter } from './app-bar-notification-button-adapter';\nimport { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-button-constants';\nimport { AppBarNotificationButtonFoundation } from './app-bar-notification-button-foundation';\n\nconst template = '<template><forge-icon-button class=\\\"forge-icon-button--with-badge\\\"><button type=\\\"button\\\" aria-label=\\\"Show notifications\\\"><forge-icon name=\\\"notifications\\\"></forge-icon></button><forge-tooltip delay=\\\"500\\\" position=\\\"bottom\\\">Notifications</forge-tooltip><forge-badge positioned app-bar-context></forge-badge></forge-icon-button></template>';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-app-bar-notification-button': IAppBarNotificationButtonComponent;\n }\n}\n\nexport interface IAppBarNotificationButtonComponent extends IBaseComponent {\n count: number;\n dot: boolean;\n showBadge: boolean;\n theme: string;\n}\n/**\n * The web component class behind the `<forge-app-bar-notification-button>` custom element.\n * \n * @tag forge-app-bar-notification-button\n */\n@CustomElement({\n name: APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.elementName,\n dependencies: [\n IconButtonComponent,\n TooltipComponent,\n BadgeComponent,\n IconComponent\n ]\n})\nexport class AppBarNotificationButtonComponent extends BaseComponent implements IAppBarNotificationButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT,\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT,\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME,\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE\n ];\n }\n\n private _foundation: AppBarNotificationButtonFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconNotifications);\n this._foundation = new AppBarNotificationButtonFoundation(new AppBarNotificationButtonAdapter(this));\n }\n\n public initializedCallback(): void {\n attachLightTemplate(this, template);\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 APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT:\n this.count = coerceNumber(newValue);\n break;\n case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT:\n this.dot = coerceBoolean(newValue);\n break;\n case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME:\n this.theme = newValue;\n break;\n case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE:\n this.showBadge = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare count: number;\n\n @FoundationProperty()\n public declare dot: boolean;\n\n @FoundationProperty()\n public declare theme: string;\n\n @FoundationProperty()\n public declare showBadge: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AppBarNotificationButtonComponent } from './app-bar-notification-button';\n\nexport * from './app-bar-notification-button-adapter';\nexport * from './app-bar-notification-button-constants';\nexport * from './app-bar-notification-button-foundation';\nexport * from './app-bar-notification-button';\n\nexport function defineAppBarNotificationButtonComponent(): void {\n defineCustomElement(AppBarNotificationButtonComponent);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2022 Tyler Technologies, Inc.
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
6
  //# sourceMappingURL=chunk.X2RP4QW3.js.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as s,d as R}from"./chunk.36VS7FMU.js";import{a as u,d as P}from"./chunk.TCAOLSLI.js";import{a as I,e as N}from"./chunk.UOWU5VVK.js";import{b as x}from"./chunk.JMXJXZTS.js";import{d as U}from"./chunk.KBMLP7UT.js";import{a as B}from"./chunk.D4SNVKDA.js";import{a as O}from"./chunk.5PXABBKU.js";import{a as n}from"./chunk.B3IJU6XJ.js";import{a as A,b as L}from"./chunk.OOW3UKT4.js";import{a as g,d as E,h as f,l as C}from"./chunk.MMVZJLXE.js";import{c as v,s as b}from"./chunk.R4NDFXVA.js";import{h as m,k as p,l as c}from"./chunk.G76HB2FK.js";import{f as o}from"./chunk.MCIQXNKY.js";var S=`${L}app-bar-profile-button`,F={FULL_NAME:"full-name",EMAIL:"email",AVATAR_IMAGE_URL:"avatar-image-url",AVATAR_LETTER_COUNT:"avatar-letter-count",AVATAR_TEXT:"avatar-text",SIGN_OUT_BUTTON:"sign-out-button",PROFILE_BUTTON:"profile-button",SIGN_OUT_BUTTON_TEXT:"sign-out-button-text",PROFILE_BUTTON_TEXT:"profile-button-text",OPEN:"open"},w={BUTTON:"button"},i={elementName:S,attributes:F,selectors:w};var _=class extends O{constructor(e){super(e)}initialize(){this._avatarElement=f(this._component,u.elementName),this._buttonElement=f(this._component,i.selectors.BUTTON)}setClickListener(e){this._component.addEventListener("click",e)}removeClickListener(e){this._component.removeEventListener("click",e)}openPopup(e,l,a,k,T){return this._profileCardElement=document.createElement(s.elementName),this._profileCardElement.fullName=e.fullName,this._profileCardElement.email=e.email,this._profileCardElement.signOut=e.signOut,this._profileCardElement.profile=e.profile,this._profileCardElement.signOutText=e.signOutButtonText,this._profileCardElement.profileText=e.profileButtonText,this._profileCardElement.avatarText=e.avatarText,this._profileCardElement.avatarImageUrl=e.avatarImageUrl,this._profileCardElement.avatarLetterCount=e.avatarLetterCount,this._profileCardElement.addEventListener(s.events.PROFILE,()=>a()),this._profileCardElement.addEventListener(s.events.SIGN_OUT,()=>k()),T&&this._profileCardElement.appendChild(T),this._popupElement=document.createElement(I.elementName),this._popupElement.targetElement=this._component,this._popupElement.placement="bottom-end",this._popupElement.animationType="menu",this._popupElement.appendChild(this._profileCardElement),this._popupElement.open=!0,v(this._popupElement,y=>{!this._popupElement||this._component.contains(b())||l()},!0)}closePopup(){this._popupElement&&(this._popupElement.open=!1,this._popupElement=void 0,this._profileCardElement=void 0)}requestFocus(){this._buttonElement.focus()}setAvatarText(e){this._avatarElement.text=e}setAvatarLetterCount(e){this._avatarElement.letterCount=e}setAvatarImageUrl(e){this._avatarElement.imageUrl=e}setSignOutButtonText(e){var l;this._profileCardElement&&(this._profileCardElement.signOutText=e,(l=this._popupElement)==null||l.position())}setProfileButtonText(e){var l;this._profileCardElement&&(this._profileCardElement.profileText=e,(l=this._popupElement)==null||l.position())}};var d=class{constructor(t){this._adapter=t;this._avatarLetterCount=u.numbers.DEFAULT_LETTER_COUNT;this._showSignOutButton=s.defaults.SHOW_SIGN_OUT_BUTTON;this._showProfileButton=s.defaults.SHOW_PROFILE_BUTTON;this._signOutButtonText=s.defaults.SIGN_OUT_BUTTON_TEXT;this._profileButtonText=s.defaults.PROFILE_BUTTON_TEXT;this._open=!1;this._isInitialized=!1;this._clickListener=e=>this._onClick(e),this._dismissListener=()=>this._onDimiss(),this._keydownListener=e=>this._onKeydown(e),this._profileButtonListener=()=>this._onProfileButtonClick(),this._signOutButtonListener=()=>this._onSignOutButtonClick()}initialize(){this._adapter.initialize(),this._adapter.setClickListener(this._clickListener),this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.setAvatarText(this._avatarText),this._isInitialized=!0}disconnect(){this._open&&this._closeDropdown(),this._adapter.removeWindowListener("keydown",this._keydownListener),this._adapter.removeClickListener(this._clickListener),this._isInitialized=!1}_onClick(t){this._open?this._closeDropdown():this._openDropdown()}_onKeydown(t){(t.key==="Escape"||t.keyCode===27)&&(this._closeDropdown(),this._adapter.requestFocus())}_onDimiss(){B.WEBKIT?window.requestAnimationFrame(()=>this._closeDropdown()):this._closeDropdown()}_onProfileButtonClick(){this._adapter.emitHostEvent(s.events.PROFILE),this._closeDropdown(),this._adapter.requestFocus()}_onSignOutButtonClick(){this._adapter.emitHostEvent(s.events.SIGN_OUT),this._closeDropdown(),this._adapter.requestFocus()}_openDropdown(){if(this._open)return;m(this._cancelDismissListener)&&this._cancelDismissListener();let t={fullName:this._fullName,email:this._email,signOut:this._showSignOutButton,profile:this._showProfileButton,signOutButtonText:this._signOutButtonText,profileButtonText:this._profileButtonText,avatarText:this._avatarText,avatarImageUrl:this._avatarImageUrl,avatarLetterCount:this._avatarLetterCount},e=this._profileCardBuilder?this._profileCardBuilder():void 0;this._cancelDismissListener=this._adapter.openPopup(t,this._dismissListener,this._profileButtonListener,this._signOutButtonListener,e),this._adapter.addWindowListener("keydown",this._keydownListener),this._open=!0,!t.signOut&&!t.profile&&this._adapter.requestFocus()}_closeDropdown(){!this._open||(m(this._cancelDismissListener)&&this._cancelDismissListener(),this._open=!1,this._adapter.removeWindowListener("keydown",this._keydownListener),this._adapter.closePopup())}get fullName(){return this._fullName}set fullName(t){this._fullName!==t&&(this._fullName=t,this._adapter.setHostAttribute(i.attributes.FULL_NAME,this._fullName))}get email(){return this._email}set email(t){this._email!==t&&(this._email=t,this._adapter.setHostAttribute(i.attributes.EMAIL,this._email))}get avatarImageUrl(){return this._avatarImageUrl}set avatarImageUrl(t){this._avatarImageUrl!==t&&(this._avatarImageUrl=t,this._isInitialized&&(this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.setHostAttribute(i.attributes.AVATAR_IMAGE_URL,this._avatarImageUrl)))}get avatarLetterCount(){return this._avatarLetterCount}set avatarLetterCount(t){this._avatarLetterCount!==t&&(this._avatarLetterCount=t,this._isInitialized&&(this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.setHostAttribute(i.attributes.AVATAR_LETTER_COUNT,this._avatarLetterCount)))}get avatarText(){return this._avatarText}set avatarText(t){this._avatarText!==t&&(this._avatarText=t,this._isInitialized&&(this._adapter.setAvatarText(this._avatarText),this._adapter.setHostAttribute(i.attributes.AVATAR_TEXT,this._avatarText)))}get signOutButton(){return this._showSignOutButton}set signOutButton(t){this._showSignOutButton!==t&&(this._showSignOutButton=t,this._adapter.setHostAttribute(i.attributes.SIGN_OUT_BUTTON,this._showSignOutButton))}get profileButton(){return this._showProfileButton}set profileButton(t){this._showProfileButton!==t&&(this._showProfileButton=t,this._adapter.setHostAttribute(i.attributes.PROFILE_BUTTON,this._showProfileButton))}get signOutButtonText(){return this._signOutButtonText}set signOutButtonText(t){this._signOutButtonText!==t&&(this._signOutButtonText=t,this._adapter.setSignOutButtonText(t))}get profileButtonText(){return this._profileButtonText}set profileButtonText(t){this._profileButtonText!==t&&(this._profileButtonText=t,this._adapter.setProfileButtonText(t))}get open(){return this._open}set open(t){this._open!==t&&(t?this._openDropdown():this._closeDropdown())}get profileCardBuilder(){return this._profileCardBuilder}set profileCardBuilder(t){this._profileCardBuilder=t}};var M='<template><forge-icon-button><button type="button" aria-label="View profile card"><forge-avatar aria-hidden="true"></forge-avatar></button><forge-tooltip delay="500" position="bottom">View profile</forge-tooltip></forge-icon-button></template>',r=class extends C{constructor(){super();this._foundation=new d(new _(this))}static get observedAttributes(){return[i.attributes.FULL_NAME,i.attributes.EMAIL,i.attributes.AVATAR_IMAGE_URL,i.attributes.AVATAR_LETTER_COUNT,i.attributes.AVATAR_TEXT,i.attributes.SIGN_OUT_BUTTON,i.attributes.PROFILE_BUTTON,i.attributes.SIGN_OUT_BUTTON_TEXT,i.attributes.PROFILE_BUTTON_TEXT,i.attributes.OPEN]}initializedCallback(){E(this,M)}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,l,a){switch(e){case i.attributes.FULL_NAME:this.fullName=a;break;case i.attributes.EMAIL:this.email=a;break;case i.attributes.AVATAR_IMAGE_URL:this.avatarImageUrl=a;break;case i.attributes.AVATAR_LETTER_COUNT:this.avatarLetterCount=c(a);break;case i.attributes.AVATAR_TEXT:this.avatarText=a;break;case i.attributes.SIGN_OUT_BUTTON:this.signOutButton=p(a);break;case i.attributes.PROFILE_BUTTON:this.profileButton=p(a);break;case i.attributes.SIGN_OUT_BUTTON_TEXT:this.signOutButtonText=a;break;case i.attributes.PROFILE_BUTTON_TEXT:this.profileButtonText=a;break;case i.attributes.OPEN:this.open=p(a);break}}};o([n()],r.prototype,"fullName",2),o([n()],r.prototype,"email",2),o([n()],r.prototype,"avatarImageUrl",2),o([n()],r.prototype,"avatarLetterCount",2),o([n()],r.prototype,"avatarText",2),o([n()],r.prototype,"signOutButton",2),o([n()],r.prototype,"profileButton",2),o([n()],r.prototype,"signOutButtonText",2),o([n()],r.prototype,"profileButtonText",2),o([n()],r.prototype,"open",2),o([n()],r.prototype,"profileCardBuilder",2),r=o([A({name:i.elementName,dependencies:[N,R,x,P,U]})],r);function Ot(){g(r)}export{i as a,_ as b,d as c,r as d,Ot as e};
7
+ //# sourceMappingURL=chunk.X5JLUP7O.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/app-bar/profile-button/app-bar-profile-button-constants.ts", "../../src/app-bar/profile-button/app-bar-profile-button-adapter.ts", "../../src/app-bar/profile-button/app-bar-profile-button-foundation.ts", "../../src/app-bar/profile-button/app-bar-profile-button.ts", "../../src/app-bar/profile-button/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}app-bar-profile-button`;\n\nconst attributes = {\n FULL_NAME: 'full-name',\n EMAIL: 'email',\n AVATAR_IMAGE_URL: 'avatar-image-url',\n AVATAR_LETTER_COUNT: 'avatar-letter-count',\n AVATAR_TEXT: 'avatar-text',\n SIGN_OUT_BUTTON: 'sign-out-button',\n PROFILE_BUTTON: 'profile-button',\n SIGN_OUT_BUTTON_TEXT: 'sign-out-button-text',\n PROFILE_BUTTON_TEXT: 'profile-button-text',\n OPEN: 'open'\n};\n\nconst selectors = {\n BUTTON: 'button'\n};\n\nexport const APP_BAR_PROFILE_BUTTON_CONSTANTS = {\n elementName,\n attributes,\n selectors\n};\n\nexport interface IAppBarProfileCardConfig {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\nexport type AppBarProfileButtonProfileCardBuilder = () => HTMLElement;\n", "import { getLightElement, notChildEventListener, getActiveElement } from '@tylertech/forge-core';\nimport { AVATAR_CONSTANTS, IAvatarComponent } from '../../avatar';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IPopupComponent, PopupAnimationType, PopupPlacement, POPUP_CONSTANTS } from '../../popup';\nimport { IProfileCardComponent, PROFILE_CARD_CONSTANTS } from '../../profile-card';\nimport { IAppBarProfileButtonComponent } from './app-bar-profile-button';\nimport { IAppBarProfileCardConfig, APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';\n\nexport interface IAppBarProfileButtonAdapter extends IBaseAdapter {\n initialize(): void;\n setClickListener(listener: (evt: MouseEvent) => void): void;\n removeClickListener(listener: (evt: MouseEvent) => void): void;\n openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void;\n closePopup(): void;\n requestFocus(): void;\n setAvatarText(value: string): void;\n setAvatarLetterCount(value: number): void;\n setAvatarImageUrl(value: string): void;\n setSignOutButtonText(value: string): void;\n setProfileButtonText(value: string): void;\n}\n\nexport class AppBarProfileButtonAdapter extends BaseAdapter<IAppBarProfileButtonComponent> implements IAppBarProfileButtonAdapter {\n private _avatarElement: IAvatarComponent;\n private _buttonElement: HTMLButtonElement;\n private _popupElement?: IPopupComponent;\n private _profileCardElement?: IProfileCardComponent;\n\n constructor(component: IAppBarProfileButtonComponent) {\n super(component);\n }\n\n public initialize(): void {\n this._avatarElement = getLightElement(this._component, AVATAR_CONSTANTS.elementName) as IAvatarComponent;\n this._buttonElement = getLightElement(this._component, APP_BAR_PROFILE_BUTTON_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n }\n\n public setClickListener(listener: (evt: MouseEvent) => void): void {\n this._component.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: MouseEvent) => void): void {\n this._component.removeEventListener('click', listener);\n }\n\n public openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void {\n this._profileCardElement = document.createElement(PROFILE_CARD_CONSTANTS.elementName);\n this._profileCardElement.fullName = profileCardConfig.fullName;\n this._profileCardElement.email = profileCardConfig.email;\n this._profileCardElement.signOut = profileCardConfig.signOut;\n this._profileCardElement.profile = profileCardConfig.profile;\n this._profileCardElement.signOutText = profileCardConfig.signOutButtonText;\n this._profileCardElement.profileText = profileCardConfig.profileButtonText;\n this._profileCardElement.avatarText = profileCardConfig.avatarText;\n this._profileCardElement.avatarImageUrl = profileCardConfig.avatarImageUrl;\n this._profileCardElement.avatarLetterCount = profileCardConfig.avatarLetterCount;\n this._profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.PROFILE, () => profileListener());\n this._profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.SIGN_OUT, () => signOutListener());\n\n if (profileCardContent) {\n this._profileCardElement.appendChild(profileCardContent);\n }\n\n this._popupElement = document.createElement(POPUP_CONSTANTS.elementName);\n this._popupElement.targetElement = this._component;\n this._popupElement.placement = 'bottom-end';\n this._popupElement.animationType = PopupAnimationType.Menu;\n this._popupElement.appendChild(this._profileCardElement);\n this._popupElement.open = true;\n\n return notChildEventListener(this._popupElement, activeElement => {\n if (!this._popupElement) {\n return;\n }\n if (!this._component.contains(getActiveElement())) {\n dismissListener();\n }\n }, true);\n }\n\n public closePopup(): void {\n if (this._popupElement) {\n this._popupElement.open = false;\n this._popupElement = undefined;\n this._profileCardElement = undefined;\n }\n }\n\n public requestFocus(): void {\n this._buttonElement.focus();\n }\n\n public setAvatarText(value: string): void {\n this._avatarElement.text = value;\n }\n\n public setAvatarLetterCount(value: number): void {\n this._avatarElement.letterCount = value;\n }\n\n public setAvatarImageUrl(value: string): void {\n this._avatarElement.imageUrl = value;\n }\n\n public setSignOutButtonText(value: string): void {\n if (this._profileCardElement) {\n this._profileCardElement.signOutText = value;\n this._popupElement?.position();\n }\n }\n\n public setProfileButtonText(value: string): void {\n if (this._profileCardElement) {\n this._profileCardElement.profileText = value;\n this._popupElement?.position();\n }\n }\n}\n", "import { ICustomElementFoundation, isFunction, Platform, getActiveElement } from '@tylertech/forge-core';\nimport { AVATAR_CONSTANTS } from '../../avatar';\nimport { PROFILE_CARD_CONSTANTS } from '../../profile-card';\nimport { IAppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';\nimport { IAppBarProfileCardConfig, AppBarProfileButtonProfileCardBuilder, APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';\n\nexport interface IAppBarProfileButtonFoundation extends ICustomElementFoundation {\n fullName: string;\n email: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n avatarText: string;\n signOutButton: boolean;\n profileButton: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n open: boolean;\n profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n}\n\nexport class AppBarProfileButtonFoundation implements IAppBarProfileButtonFoundation {\n private _fullName: string;\n private _email: string;\n private _avatarImageUrl: string;\n private _avatarLetterCount = AVATAR_CONSTANTS.numbers.DEFAULT_LETTER_COUNT;\n private _avatarText: string;\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 private _profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n private _open = false;\n private _isInitialized = false;\n private _clickListener: (evt: MouseEvent) => void;\n private _dismissListener: () => void;\n private _cancelDismissListener: () => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _profileButtonListener: () => void;\n private _signOutButtonListener: () => void;\n\n constructor(private _adapter: IAppBarProfileButtonAdapter) {\n this._clickListener = evt => this._onClick(evt);\n this._dismissListener = () => this._onDimiss();\n this._keydownListener = evt => this._onKeydown(evt);\n this._profileButtonListener = () => this._onProfileButtonClick();\n this._signOutButtonListener = () => this._onSignOutButtonClick();\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.setClickListener(this._clickListener);\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.setAvatarText(this._avatarText);\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._adapter.removeWindowListener('keydown', this._keydownListener);\n this._adapter.removeClickListener(this._clickListener);\n this._isInitialized = false;\n }\n\n private _onClick(evt: MouseEvent): void {\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n if (evt.key === 'Escape' || evt.keyCode === 27) {\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n }\n\n private _onDimiss(): void {\n if (Platform.WEBKIT) {\n window.requestAnimationFrame(() => this._closeDropdown());\n } else {\n this._closeDropdown();\n }\n }\n\n private _onProfileButtonClick(): void {\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.PROFILE);\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n\n private _onSignOutButtonClick(): void {\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.SIGN_OUT);\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n\n private _openDropdown(): void {\n if (this._open) {\n return;\n }\n\n if (isFunction(this._cancelDismissListener)) {\n this._cancelDismissListener();\n }\n const profileCardConfig: IAppBarProfileCardConfig = {\n fullName: this._fullName,\n email: this._email,\n signOut: this._showSignOutButton,\n profile: this._showProfileButton,\n signOutButtonText: this._signOutButtonText,\n profileButtonText: this._profileButtonText,\n avatarText: this._avatarText,\n avatarImageUrl: this._avatarImageUrl,\n avatarLetterCount: this._avatarLetterCount\n };\n const profileCardContent = this._profileCardBuilder ? this._profileCardBuilder() : undefined;\n this._cancelDismissListener = this._adapter.openPopup(profileCardConfig, this._dismissListener, this._profileButtonListener, this._signOutButtonListener, profileCardContent);\n this._adapter.addWindowListener('keydown', this._keydownListener);\n this._open = true;\n\n // If we aren't showing the sign out or profile buttons then leave focus on our button\n if (!profileCardConfig.signOut && !profileCardConfig.profile) {\n this._adapter.requestFocus();\n }\n }\n\n private _closeDropdown(): void {\n if (!this._open) {\n return;\n }\n if (isFunction(this._cancelDismissListener)) {\n this._cancelDismissListener();\n }\n this._open = false;\n this._adapter.removeWindowListener('keydown', this._keydownListener);\n this._adapter.closePopup();\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.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME, 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.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL, this._email);\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 if (this._isInitialized) {\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL, this._avatarImageUrl);\n }\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 if (this._isInitialized) {\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT, this._avatarLetterCount as any);\n }\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 if (this._isInitialized) {\n this._adapter.setAvatarText(this._avatarText);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT, this._avatarText);\n }\n }\n }\n\n public get signOutButton(): boolean {\n return this._showSignOutButton;\n }\n public set signOutButton(value: boolean) {\n if (this._showSignOutButton !== value) {\n this._showSignOutButton = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON, this._showSignOutButton as any);\n }\n }\n\n public get profileButton(): boolean {\n return this._showProfileButton;\n }\n public set profileButton(value: boolean) {\n if (this._showProfileButton !== value) {\n this._showProfileButton = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON, this._showProfileButton as any);\n }\n }\n\n public get signOutButtonText(): string {\n return this._signOutButtonText;\n }\n public set signOutButtonText(value: string) {\n if (this._signOutButtonText !== value) {\n this._signOutButtonText = value;\n this._adapter.setSignOutButtonText(value);\n }\n }\n\n public get profileButtonText(): string {\n return this._profileButtonText;\n }\n public set profileButtonText(value: string) {\n if (this._profileButtonText !== value) {\n this._profileButtonText = value;\n this._adapter.setProfileButtonText(value);\n }\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public get profileCardBuilder(): AppBarProfileButtonProfileCardBuilder {\n return this._profileCardBuilder;\n }\n public set profileCardBuilder(fn: AppBarProfileButtonProfileCardBuilder) {\n this._profileCardBuilder = fn;\n }\n}\n", "import { CustomElement, attachLightTemplate, coerceNumber, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { AppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';\nimport { AppBarProfileButtonFoundation } from './app-bar-profile-button-foundation';\nimport { APP_BAR_PROFILE_BUTTON_CONSTANTS, AppBarProfileButtonProfileCardBuilder } from './app-bar-profile-button-constants';\nimport { ProfileCardComponent } from '../../profile-card';\nimport { IconButtonComponent } from '../../icon-button';\nimport { AvatarComponent } from '../../avatar';\nimport { PopupComponent } from '../../popup';\nimport { TooltipComponent } from '../../tooltip';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nconst template = '<template><forge-icon-button><button type=\\\"button\\\" aria-label=\\\"View profile card\\\"><forge-avatar aria-hidden=\\\"true\\\"></forge-avatar></button><forge-tooltip delay=\\\"500\\\" position=\\\"bottom\\\">View profile</forge-tooltip></forge-icon-button></template>';\n\nexport interface IAppBarProfileButtonComponent extends IBaseComponent {\n avatarImageUrl: string;\n avatarLetterCount: number;\n avatarText: string;\n fullName: string;\n email: string;\n signOutButton: boolean;\n profileButton: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n open: boolean;\n profileCardBuilder: (fn: AppBarProfileButtonProfileCardBuilder) => void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-app-bar-profile-button': IAppBarProfileButtonComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-app-bar-profile-button>` custom element.\n * \n * @tag forge-app-bar-profile-button\n */\n@CustomElement({\n name: APP_BAR_PROFILE_BUTTON_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ProfileCardComponent,\n IconButtonComponent,\n AvatarComponent,\n TooltipComponent\n ]\n})\nexport class AppBarProfileButtonComponent extends BaseComponent implements IAppBarProfileButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN\n ];\n }\n\n private _foundation: AppBarProfileButtonFoundation;\n\n constructor() {\n super();\n this._foundation = new AppBarProfileButtonFoundation(new AppBarProfileButtonAdapter(this));\n }\n\n public initializedCallback(): void {\n attachLightTemplate(this, template);\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME:\n this.fullName = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL:\n this.email = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL:\n this.avatarImageUrl = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT:\n this.avatarLetterCount = coerceNumber(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT:\n this.avatarText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON:\n this.signOutButton = coerceBoolean(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON:\n this.profileButton = coerceBoolean(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON_TEXT:\n this.signOutButtonText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON_TEXT:\n this.profileButtonText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public fullName: string;\n\n @FoundationProperty()\n public email: string;\n\n @FoundationProperty()\n public avatarImageUrl: string;\n\n @FoundationProperty()\n public avatarLetterCount: number;\n\n @FoundationProperty()\n public avatarText: string;\n\n @FoundationProperty()\n public signOutButton: boolean;\n\n @FoundationProperty()\n public profileButton: boolean;\n\n @FoundationProperty()\n public signOutButtonText: string;\n\n @FoundationProperty()\n public profileButtonText: string;\n\n @FoundationProperty()\n public open: boolean;\n\n /** Sets the profile card builder callback that will be used to add extra content to the profile card. */\n @FoundationProperty()\n public profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AppBarProfileButtonComponent } from './app-bar-profile-button';\n\nexport * from './app-bar-profile-button-adapter';\nexport * from './app-bar-profile-button-constants';\nexport * from './app-bar-profile-button-foundation';\nexport * from './app-bar-profile-button';\n\nexport function defineAppBarProfileButtonComponent(): void {\n defineCustomElement(AppBarProfileButtonComponent);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}app-bar-profile-button`;\n\nconst attributes = {\n FULL_NAME: 'full-name',\n EMAIL: 'email',\n AVATAR_IMAGE_URL: 'avatar-image-url',\n AVATAR_LETTER_COUNT: 'avatar-letter-count',\n AVATAR_TEXT: 'avatar-text',\n SIGN_OUT_BUTTON: 'sign-out-button',\n PROFILE_BUTTON: 'profile-button',\n SIGN_OUT_BUTTON_TEXT: 'sign-out-button-text',\n PROFILE_BUTTON_TEXT: 'profile-button-text',\n OPEN: 'open'\n};\n\nconst selectors = {\n BUTTON: 'button'\n};\n\nexport const APP_BAR_PROFILE_BUTTON_CONSTANTS = {\n elementName,\n attributes,\n selectors\n};\n\nexport interface IAppBarProfileCardConfig {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\nexport type AppBarProfileButtonProfileCardBuilder = () => HTMLElement;\n", "import { getLightElement, notChildEventListener, getActiveElement } from '@tylertech/forge-core';\nimport { AVATAR_CONSTANTS, IAvatarComponent } from '../../avatar';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IPopupComponent, PopupAnimationType, PopupPlacement, POPUP_CONSTANTS } from '../../popup';\nimport { IProfileCardComponent, PROFILE_CARD_CONSTANTS } from '../../profile-card';\nimport { IAppBarProfileButtonComponent } from './app-bar-profile-button';\nimport { IAppBarProfileCardConfig, APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';\n\nexport interface IAppBarProfileButtonAdapter extends IBaseAdapter {\n initialize(): void;\n setClickListener(listener: (evt: MouseEvent) => void): void;\n removeClickListener(listener: (evt: MouseEvent) => void): void;\n openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void;\n closePopup(): void;\n requestFocus(): void;\n setAvatarText(value: string): void;\n setAvatarLetterCount(value: number): void;\n setAvatarImageUrl(value: string): void;\n setSignOutButtonText(value: string): void;\n setProfileButtonText(value: string): void;\n}\n\nexport class AppBarProfileButtonAdapter extends BaseAdapter<IAppBarProfileButtonComponent> implements IAppBarProfileButtonAdapter {\n private _avatarElement: IAvatarComponent;\n private _buttonElement: HTMLButtonElement;\n private _popupElement?: IPopupComponent;\n private _profileCardElement?: IProfileCardComponent;\n\n constructor(component: IAppBarProfileButtonComponent) {\n super(component);\n }\n\n public initialize(): void {\n this._avatarElement = getLightElement(this._component, AVATAR_CONSTANTS.elementName) as IAvatarComponent;\n this._buttonElement = getLightElement(this._component, APP_BAR_PROFILE_BUTTON_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n }\n\n public setClickListener(listener: (evt: MouseEvent) => void): void {\n this._component.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: MouseEvent) => void): void {\n this._component.removeEventListener('click', listener);\n }\n\n public openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void {\n this._profileCardElement = document.createElement(PROFILE_CARD_CONSTANTS.elementName);\n this._profileCardElement.fullName = profileCardConfig.fullName;\n this._profileCardElement.email = profileCardConfig.email;\n this._profileCardElement.signOut = profileCardConfig.signOut;\n this._profileCardElement.profile = profileCardConfig.profile;\n this._profileCardElement.signOutText = profileCardConfig.signOutButtonText;\n this._profileCardElement.profileText = profileCardConfig.profileButtonText;\n this._profileCardElement.avatarText = profileCardConfig.avatarText;\n this._profileCardElement.avatarImageUrl = profileCardConfig.avatarImageUrl;\n this._profileCardElement.avatarLetterCount = profileCardConfig.avatarLetterCount;\n this._profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.PROFILE, () => profileListener());\n this._profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.SIGN_OUT, () => signOutListener());\n\n if (profileCardContent) {\n this._profileCardElement.appendChild(profileCardContent);\n }\n\n this._popupElement = document.createElement(POPUP_CONSTANTS.elementName);\n this._popupElement.targetElement = this._component;\n this._popupElement.placement = 'bottom-end';\n this._popupElement.animationType = PopupAnimationType.Menu;\n this._popupElement.appendChild(this._profileCardElement);\n this._popupElement.open = true;\n\n return notChildEventListener(this._popupElement, activeElement => {\n if (!this._popupElement) {\n return;\n }\n if (!this._component.contains(getActiveElement())) {\n dismissListener();\n }\n }, true);\n }\n\n public closePopup(): void {\n if (this._popupElement) {\n this._popupElement.open = false;\n this._popupElement = undefined;\n this._profileCardElement = undefined;\n }\n }\n\n public requestFocus(): void {\n this._buttonElement.focus();\n }\n\n public setAvatarText(value: string): void {\n this._avatarElement.text = value;\n }\n\n public setAvatarLetterCount(value: number): void {\n this._avatarElement.letterCount = value;\n }\n\n public setAvatarImageUrl(value: string): void {\n this._avatarElement.imageUrl = value;\n }\n\n public setSignOutButtonText(value: string): void {\n if (this._profileCardElement) {\n this._profileCardElement.signOutText = value;\n this._popupElement?.position();\n }\n }\n\n public setProfileButtonText(value: string): void {\n if (this._profileCardElement) {\n this._profileCardElement.profileText = value;\n this._popupElement?.position();\n }\n }\n}\n", "import { ICustomElementFoundation, isFunction, Platform, getActiveElement } from '@tylertech/forge-core';\nimport { AVATAR_CONSTANTS } from '../../avatar';\nimport { PROFILE_CARD_CONSTANTS } from '../../profile-card';\nimport { IAppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';\nimport { IAppBarProfileCardConfig, AppBarProfileButtonProfileCardBuilder, APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';\n\nexport interface IAppBarProfileButtonFoundation extends ICustomElementFoundation {\n fullName: string;\n email: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n avatarText: string;\n signOutButton: boolean;\n profileButton: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n open: boolean;\n profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n}\n\nexport class AppBarProfileButtonFoundation implements IAppBarProfileButtonFoundation {\n private _fullName: string;\n private _email: string;\n private _avatarImageUrl: string;\n private _avatarLetterCount = AVATAR_CONSTANTS.numbers.DEFAULT_LETTER_COUNT;\n private _avatarText: string;\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 private _profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n private _open = false;\n private _isInitialized = false;\n private _clickListener: (evt: MouseEvent) => void;\n private _dismissListener: () => void;\n private _cancelDismissListener: () => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _profileButtonListener: () => void;\n private _signOutButtonListener: () => void;\n\n constructor(private _adapter: IAppBarProfileButtonAdapter) {\n this._clickListener = evt => this._onClick(evt);\n this._dismissListener = () => this._onDimiss();\n this._keydownListener = evt => this._onKeydown(evt);\n this._profileButtonListener = () => this._onProfileButtonClick();\n this._signOutButtonListener = () => this._onSignOutButtonClick();\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.setClickListener(this._clickListener);\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.setAvatarText(this._avatarText);\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._adapter.removeWindowListener('keydown', this._keydownListener);\n this._adapter.removeClickListener(this._clickListener);\n this._isInitialized = false;\n }\n\n private _onClick(evt: MouseEvent): void {\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n if (evt.key === 'Escape' || evt.keyCode === 27) {\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n }\n\n private _onDimiss(): void {\n if (Platform.WEBKIT) {\n window.requestAnimationFrame(() => this._closeDropdown());\n } else {\n this._closeDropdown();\n }\n }\n\n private _onProfileButtonClick(): void {\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.PROFILE);\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n\n private _onSignOutButtonClick(): void {\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.SIGN_OUT);\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n\n private _openDropdown(): void {\n if (this._open) {\n return;\n }\n\n if (isFunction(this._cancelDismissListener)) {\n this._cancelDismissListener();\n }\n const profileCardConfig: IAppBarProfileCardConfig = {\n fullName: this._fullName,\n email: this._email,\n signOut: this._showSignOutButton,\n profile: this._showProfileButton,\n signOutButtonText: this._signOutButtonText,\n profileButtonText: this._profileButtonText,\n avatarText: this._avatarText,\n avatarImageUrl: this._avatarImageUrl,\n avatarLetterCount: this._avatarLetterCount\n };\n const profileCardContent = this._profileCardBuilder ? this._profileCardBuilder() : undefined;\n this._cancelDismissListener = this._adapter.openPopup(profileCardConfig, this._dismissListener, this._profileButtonListener, this._signOutButtonListener, profileCardContent);\n this._adapter.addWindowListener('keydown', this._keydownListener);\n this._open = true;\n\n // If we aren't showing the sign out or profile buttons then leave focus on our button\n if (!profileCardConfig.signOut && !profileCardConfig.profile) {\n this._adapter.requestFocus();\n }\n }\n\n private _closeDropdown(): void {\n if (!this._open) {\n return;\n }\n if (isFunction(this._cancelDismissListener)) {\n this._cancelDismissListener();\n }\n this._open = false;\n this._adapter.removeWindowListener('keydown', this._keydownListener);\n this._adapter.closePopup();\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.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME, 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.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL, this._email);\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 if (this._isInitialized) {\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL, this._avatarImageUrl);\n }\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 if (this._isInitialized) {\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT, this._avatarLetterCount as any);\n }\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 if (this._isInitialized) {\n this._adapter.setAvatarText(this._avatarText);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT, this._avatarText);\n }\n }\n }\n\n public get signOutButton(): boolean {\n return this._showSignOutButton;\n }\n public set signOutButton(value: boolean) {\n if (this._showSignOutButton !== value) {\n this._showSignOutButton = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON, this._showSignOutButton as any);\n }\n }\n\n public get profileButton(): boolean {\n return this._showProfileButton;\n }\n public set profileButton(value: boolean) {\n if (this._showProfileButton !== value) {\n this._showProfileButton = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON, this._showProfileButton as any);\n }\n }\n\n public get signOutButtonText(): string {\n return this._signOutButtonText;\n }\n public set signOutButtonText(value: string) {\n if (this._signOutButtonText !== value) {\n this._signOutButtonText = value;\n this._adapter.setSignOutButtonText(value);\n }\n }\n\n public get profileButtonText(): string {\n return this._profileButtonText;\n }\n public set profileButtonText(value: string) {\n if (this._profileButtonText !== value) {\n this._profileButtonText = value;\n this._adapter.setProfileButtonText(value);\n }\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public get profileCardBuilder(): AppBarProfileButtonProfileCardBuilder {\n return this._profileCardBuilder;\n }\n public set profileCardBuilder(fn: AppBarProfileButtonProfileCardBuilder) {\n this._profileCardBuilder = fn;\n }\n}\n", "import { CustomElement, attachLightTemplate, coerceNumber, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { AppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';\nimport { AppBarProfileButtonFoundation } from './app-bar-profile-button-foundation';\nimport { APP_BAR_PROFILE_BUTTON_CONSTANTS, AppBarProfileButtonProfileCardBuilder } from './app-bar-profile-button-constants';\nimport { ProfileCardComponent } from '../../profile-card';\nimport { IconButtonComponent } from '../../icon-button';\nimport { AvatarComponent } from '../../avatar';\nimport { PopupComponent } from '../../popup';\nimport { TooltipComponent } from '../../tooltip';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nconst template = '<template><forge-icon-button><button type=\\\"button\\\" aria-label=\\\"View profile card\\\"><forge-avatar aria-hidden=\\\"true\\\"></forge-avatar></button><forge-tooltip delay=\\\"500\\\" position=\\\"bottom\\\">View profile</forge-tooltip></forge-icon-button></template>';\n\nexport interface IAppBarProfileButtonComponent extends IBaseComponent {\n avatarImageUrl: string;\n avatarLetterCount: number;\n avatarText: string;\n fullName: string;\n email: string;\n signOutButton: boolean;\n profileButton: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n open: boolean;\n profileCardBuilder: (fn: AppBarProfileButtonProfileCardBuilder) => void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-app-bar-profile-button': IAppBarProfileButtonComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-app-bar-profile-button>` custom element.\n * \n * @tag forge-app-bar-profile-button\n */\n@CustomElement({\n name: APP_BAR_PROFILE_BUTTON_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ProfileCardComponent,\n IconButtonComponent,\n AvatarComponent,\n TooltipComponent\n ]\n})\nexport class AppBarProfileButtonComponent extends BaseComponent implements IAppBarProfileButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN\n ];\n }\n\n private _foundation: AppBarProfileButtonFoundation;\n\n constructor() {\n super();\n this._foundation = new AppBarProfileButtonFoundation(new AppBarProfileButtonAdapter(this));\n }\n\n public initializedCallback(): void {\n attachLightTemplate(this, template);\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME:\n this.fullName = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL:\n this.email = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL:\n this.avatarImageUrl = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT:\n this.avatarLetterCount = coerceNumber(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT:\n this.avatarText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON:\n this.signOutButton = coerceBoolean(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON:\n this.profileButton = coerceBoolean(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON_TEXT:\n this.signOutButtonText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON_TEXT:\n this.profileButtonText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(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 avatarImageUrl: string;\n\n @FoundationProperty()\n public declare avatarLetterCount: number;\n\n @FoundationProperty()\n public declare avatarText: string;\n\n @FoundationProperty()\n public declare signOutButton: boolean;\n\n @FoundationProperty()\n public declare profileButton: boolean;\n\n @FoundationProperty()\n public declare signOutButtonText: string;\n\n @FoundationProperty()\n public declare profileButtonText: string;\n\n @FoundationProperty()\n public declare open: boolean;\n\n /** Sets the profile card builder callback that will be used to add extra content to the profile card. */\n @FoundationProperty()\n public declare profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AppBarProfileButtonComponent } from './app-bar-profile-button';\n\nexport * from './app-bar-profile-button-adapter';\nexport * from './app-bar-profile-button-constants';\nexport * from './app-bar-profile-button-foundation';\nexport * from './app-bar-profile-button';\n\nexport function defineAppBarProfileButtonComponent(): void {\n defineCustomElement(AppBarProfileButtonComponent);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }