@tylertech/forge 2.13.1 → 2.14.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1631) hide show
  1. package/README.md +14 -3
  2. package/custom-elements.json +1167 -234
  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.24X566SZ.js +7 -0
  37. package/dist/esm/chunks/chunk.24X566SZ.js.map +7 -0
  38. package/dist/esm/chunks/chunk.2CEW64ZM.js +7 -0
  39. package/dist/esm/chunks/{chunk.MNBJMPJ6.js.map → chunk.2CEW64ZM.js.map} +2 -2
  40. package/dist/esm/chunks/chunk.2D4IBAWP.js +7 -0
  41. package/dist/esm/chunks/{chunk.TLHI6K2R.js.map → chunk.2D4IBAWP.js.map} +2 -2
  42. package/dist/esm/chunks/chunk.2GY2VPJG.js +1 -1
  43. package/dist/esm/chunks/chunk.2LHBE2QZ.js +7 -0
  44. package/dist/esm/chunks/{chunk.YHHIPP2F.js.map → chunk.2LHBE2QZ.js.map} +1 -1
  45. package/dist/esm/chunks/chunk.323FEQVK.js +7 -0
  46. package/dist/esm/chunks/chunk.323FEQVK.js.map +7 -0
  47. package/dist/esm/chunks/chunk.3G237L6C.js +7 -0
  48. package/dist/esm/chunks/{chunk.G77PXLAU.js.map → chunk.3G237L6C.js.map} +2 -2
  49. package/dist/esm/chunks/chunk.3L7T5WYL.js +7 -0
  50. package/dist/esm/chunks/{chunk.BCUBTR5O.js.map → chunk.3L7T5WYL.js.map} +1 -1
  51. package/dist/esm/chunks/chunk.3UB364WW.js +7 -0
  52. package/dist/esm/chunks/chunk.3UB364WW.js.map +7 -0
  53. package/dist/esm/chunks/chunk.4YH3GB4D.js +12 -0
  54. package/dist/esm/chunks/{chunk.O4Y6QT46.js.map → chunk.4YH3GB4D.js.map} +1 -1
  55. package/dist/esm/chunks/chunk.54RF4ZT6.js +7 -0
  56. package/dist/esm/chunks/chunk.54RF4ZT6.js.map +7 -0
  57. package/dist/esm/chunks/chunk.55BOUOT6.js +7 -0
  58. package/dist/esm/chunks/{chunk.QJPH24V4.js.map → chunk.55BOUOT6.js.map} +2 -2
  59. package/dist/esm/chunks/chunk.5DKXUTFN.js +7 -0
  60. package/dist/esm/chunks/{chunk.75LTLEZ7.js.map → chunk.5DKXUTFN.js.map} +2 -2
  61. package/dist/esm/chunks/chunk.5EQPGUZH.js +7 -0
  62. package/dist/esm/chunks/{chunk.MGTNCCW3.js.map → chunk.5EQPGUZH.js.map} +1 -1
  63. package/dist/esm/chunks/{chunk.A23NSEWA.js → chunk.5PXABBKU.js} +3 -3
  64. package/dist/esm/chunks/chunk.5W5IPKAU.js +7 -0
  65. package/dist/esm/chunks/{chunk.APGFXXJ7.js.map → chunk.5W5IPKAU.js.map} +1 -1
  66. package/dist/esm/chunks/{chunk.J3NHIF6W.js → chunk.65G33MJV.js} +3 -3
  67. package/dist/esm/chunks/chunk.6KTLOA7V.js +1 -1
  68. package/dist/esm/chunks/chunk.6NBVXSNZ.js +7 -0
  69. package/dist/esm/chunks/{chunk.D3LMXSX6.js.map → chunk.6NBVXSNZ.js.map} +2 -2
  70. package/dist/esm/chunks/chunk.73O3BMP2.js +7 -0
  71. package/dist/esm/chunks/{chunk.4KBQ5AJJ.js.map → chunk.73O3BMP2.js.map} +2 -2
  72. package/dist/esm/chunks/{chunk.6QMDYUVT.js → chunk.7LBAA7TC.js} +3 -3
  73. package/dist/esm/chunks/{chunk.6QMDYUVT.js.map → chunk.7LBAA7TC.js.map} +2 -2
  74. package/dist/esm/chunks/chunk.AGEBZY4S.js +7 -0
  75. package/dist/esm/chunks/chunk.AGEBZY4S.js.map +7 -0
  76. package/dist/esm/chunks/chunk.AJJILT3A.js +1 -1
  77. package/dist/esm/chunks/chunk.AMFXGOSA.js +1 -1
  78. package/dist/esm/chunks/chunk.AWCBH5KW.js +1 -1
  79. package/dist/esm/chunks/chunk.B3IJU6XJ.js +1 -1
  80. package/dist/esm/chunks/chunk.B5HGV5EZ.js +7 -0
  81. package/dist/esm/chunks/chunk.B5HGV5EZ.js.map +7 -0
  82. package/dist/esm/chunks/chunk.BMFJLHDR.js +7 -0
  83. package/dist/esm/chunks/{chunk.54QFNVMG.js.map → chunk.BMFJLHDR.js.map} +1 -1
  84. package/dist/esm/chunks/chunk.C557PTJ5.js +7 -0
  85. package/dist/esm/chunks/chunk.C557PTJ5.js.map +7 -0
  86. package/dist/esm/chunks/chunk.CKS5A4YN.js +1 -1
  87. package/dist/esm/chunks/chunk.CN7DHS4J.js +7 -0
  88. package/dist/esm/chunks/chunk.CUT7V2KN.js +7 -0
  89. package/dist/esm/chunks/chunk.CUT7V2KN.js.map +7 -0
  90. package/dist/esm/chunks/chunk.CZIQTYFJ.js +7 -0
  91. package/dist/esm/chunks/chunk.CZIQTYFJ.js.map +7 -0
  92. package/dist/esm/chunks/chunk.D4SNVKDA.js +1 -1
  93. package/dist/esm/chunks/chunk.DRI2NLIB.js +7 -0
  94. package/dist/esm/chunks/chunk.DRXMITOO.js +29 -0
  95. package/dist/esm/chunks/{chunk.K753A3KI.js.map → chunk.DRXMITOO.js.map} +2 -2
  96. package/dist/esm/chunks/chunk.E37HEAJ5.js +1 -1
  97. package/dist/esm/chunks/chunk.E43TT4RI.js +1 -1
  98. package/dist/esm/chunks/chunk.E4NCI7MS.js +1 -1
  99. package/dist/esm/chunks/chunk.EC6JSIQW.js +1 -1
  100. package/dist/esm/chunks/chunk.EE2LK23T.js +7 -0
  101. package/dist/esm/chunks/chunk.EE2LK23T.js.map +7 -0
  102. package/dist/esm/chunks/chunk.EXKBJEFL.js +7 -0
  103. package/dist/esm/chunks/chunk.EXKBJEFL.js.map +7 -0
  104. package/dist/esm/chunks/chunk.F5I55MXD.js +1 -1
  105. package/dist/esm/chunks/chunk.FBERE7AL.js +7 -0
  106. package/dist/esm/chunks/{chunk.OG2BI3UW.js.map → chunk.FBERE7AL.js.map} +2 -2
  107. package/dist/esm/chunks/{chunk.URBXDOF7.js → chunk.FL6SJHQU.js} +3 -3
  108. package/dist/esm/chunks/{chunk.6VYFW76H.js → chunk.FQEETXUQ.js} +3 -3
  109. package/dist/esm/chunks/{chunk.6VYFW76H.js.map → chunk.FQEETXUQ.js.map} +2 -2
  110. package/dist/esm/chunks/chunk.FZQCBRPK.js +1 -1
  111. package/dist/esm/chunks/chunk.G5JTL66M.js +7 -0
  112. package/dist/esm/chunks/{chunk.WNOSTPQQ.js.map → chunk.G5JTL66M.js.map} +2 -2
  113. package/dist/esm/chunks/chunk.G76HB2FK.js +1 -1
  114. package/dist/esm/chunks/chunk.GVQVA7P3.js +1 -1
  115. package/dist/esm/chunks/chunk.GVZEMIA3.js +7 -0
  116. package/dist/esm/chunks/chunk.GVZEMIA3.js.map +7 -0
  117. package/dist/esm/chunks/chunk.GXUYYBVO.js +29 -0
  118. package/dist/esm/chunks/{chunk.T7ZJDAXV.js.map → chunk.GXUYYBVO.js.map} +1 -1
  119. package/dist/esm/chunks/chunk.GZEWDHFJ.js +7 -0
  120. package/dist/esm/chunks/{chunk.DPCNIOLL.js.map → chunk.GZEWDHFJ.js.map} +2 -2
  121. package/dist/esm/chunks/chunk.HQJZRTOH.js +7 -0
  122. package/dist/esm/chunks/chunk.HQJZRTOH.js.map +7 -0
  123. package/dist/esm/chunks/chunk.HUX56BCR.js +7 -0
  124. package/dist/esm/chunks/{chunk.73G2CH2D.js.map → chunk.HUX56BCR.js.map} +2 -2
  125. package/dist/esm/chunks/{chunk.6APYGKNX.js → chunk.HWVLZ44Q.js} +3 -3
  126. package/dist/esm/chunks/chunk.HYMB3XDK.js +9 -0
  127. package/dist/esm/chunks/chunk.HYMB3XDK.js.map +7 -0
  128. package/dist/esm/chunks/{chunk.IMK2LFWR.js → chunk.IARIRFXO.js} +3 -3
  129. package/dist/esm/chunks/chunk.IARIRFXO.js.map +7 -0
  130. package/dist/esm/chunks/chunk.K5WLIDQK.js +7 -0
  131. package/dist/esm/chunks/chunk.K5WLIDQK.js.map +7 -0
  132. package/dist/esm/chunks/chunk.KBMLP7UT.js +7 -0
  133. package/dist/esm/chunks/{chunk.OUEF6VQ6.js.map → chunk.KBMLP7UT.js.map} +2 -2
  134. package/dist/esm/chunks/chunk.L54GENPD.js +7 -0
  135. package/dist/esm/chunks/{chunk.5WMEFHVN.js.map → chunk.L54GENPD.js.map} +1 -1
  136. package/dist/esm/chunks/chunk.LGECRZFO.js +7 -0
  137. package/dist/esm/chunks/chunk.LGECRZFO.js.map +7 -0
  138. package/dist/esm/chunks/{chunk.DGDT4UQT.js → chunk.LGEYSCS2.js} +3 -3
  139. package/dist/esm/chunks/{chunk.DGDT4UQT.js.map → chunk.LGEYSCS2.js.map} +2 -2
  140. package/dist/esm/chunks/{chunk.QOZLQPKE.js → chunk.LYAS4FAN.js} +3 -3
  141. package/dist/esm/chunks/{chunk.QOZLQPKE.js.map → chunk.LYAS4FAN.js.map} +2 -2
  142. package/dist/esm/chunks/chunk.LZHDRATV.js +7 -0
  143. package/dist/esm/chunks/{chunk.IJIKFXUT.js.map → chunk.LZHDRATV.js.map} +2 -2
  144. package/dist/esm/chunks/chunk.LZMYHIO2.js +1 -1
  145. package/dist/esm/chunks/chunk.MCIQXNKY.js +1 -1
  146. package/dist/esm/chunks/chunk.MHEJZJT3.js +1 -1
  147. package/dist/esm/chunks/chunk.MIYZJUXH.js +1 -1
  148. package/dist/esm/chunks/chunk.MMVZJLXE.js +7 -0
  149. package/dist/esm/chunks/{chunk.HN4PXH3D.js.map → chunk.MMVZJLXE.js.map} +3 -3
  150. package/dist/esm/chunks/chunk.MNFGVNDI.js +1 -1
  151. package/dist/esm/chunks/{chunk.VLTJFKGZ.js → chunk.MNPORZ4F.js} +3 -3
  152. package/dist/esm/chunks/{chunk.HSJQA42U.js.map → chunk.MU4FV57Q.js} +7 -7
  153. package/dist/esm/chunks/chunk.MU4FV57Q.js.map +7 -0
  154. package/dist/esm/chunks/chunk.MWD47ZZU.js +7 -0
  155. package/dist/esm/chunks/{chunk.CV5E5W6I.js.map → chunk.MWD47ZZU.js.map} +2 -2
  156. package/dist/esm/chunks/chunk.MYNPY3AQ.js +7 -0
  157. package/dist/esm/chunks/{chunk.VMWS5OOZ.js.map → chunk.MYNPY3AQ.js.map} +1 -1
  158. package/dist/esm/chunks/chunk.N6QJ2RRG.js +7 -0
  159. package/dist/esm/chunks/chunk.N6QJ2RRG.js.map +7 -0
  160. package/dist/esm/chunks/chunk.NG5EGZ5Y.js +7 -0
  161. package/dist/esm/chunks/chunk.NXS7A7PO.js +7 -0
  162. package/dist/esm/chunks/chunk.NXS7A7PO.js.map +7 -0
  163. package/dist/esm/chunks/{chunk.SHT6BCLY.js → chunk.NYMNX3S7.js} +3 -3
  164. package/dist/esm/chunks/chunk.NZTGBDRK.js +7 -0
  165. package/dist/esm/chunks/{chunk.7O7V3N4A.js.map → chunk.NZTGBDRK.js.map} +2 -2
  166. package/dist/esm/chunks/chunk.O4LGKJY6.js +7 -0
  167. package/dist/esm/chunks/{chunk.P6B3UWJ5.js.map → chunk.O4LGKJY6.js.map} +2 -2
  168. package/dist/esm/chunks/{chunk.NLZKJ53B.js → chunk.OGZOXNGT.js} +3 -3
  169. package/dist/esm/chunks/chunk.OKIRZEUG.js +7 -0
  170. package/dist/esm/chunks/chunk.OKIRZEUG.js.map +7 -0
  171. package/dist/esm/chunks/{chunk.BSZ2LBJX.js → chunk.OOW3UKT4.js} +3 -3
  172. package/dist/esm/chunks/chunk.ORF746AF.js +7 -0
  173. package/dist/esm/chunks/{chunk.RPPBBBYG.js.map → chunk.ORF746AF.js.map} +2 -2
  174. package/dist/esm/chunks/chunk.OTI6WL66.js +7 -0
  175. package/dist/esm/chunks/{chunk.FPV4XEUK.js.map → chunk.OTI6WL66.js.map} +2 -2
  176. package/dist/esm/chunks/chunk.P45HS252.js +7 -0
  177. package/dist/esm/chunks/chunk.P45HS252.js.map +7 -0
  178. package/dist/esm/chunks/chunk.P5GT5YBP.js +29 -0
  179. package/dist/esm/chunks/{chunk.OOBE3XRM.js.map → chunk.P5GT5YBP.js.map} +2 -2
  180. package/dist/esm/chunks/chunk.P6IF3USM.js +7 -0
  181. package/dist/esm/chunks/chunk.P6IF3USM.js.map +7 -0
  182. package/dist/esm/chunks/chunk.PBL2N45I.js +7 -0
  183. package/dist/esm/chunks/chunk.PBL2N45I.js.map +7 -0
  184. package/dist/esm/chunks/chunk.PHJPLWFH.js +7 -0
  185. package/dist/esm/chunks/{chunk.5K5SIZRX.js.map → chunk.PHJPLWFH.js.map} +2 -2
  186. package/dist/esm/chunks/chunk.PRO76W5D.js +7 -0
  187. package/dist/esm/chunks/{chunk.LLHA3SQR.js.map → chunk.PRO76W5D.js.map} +2 -2
  188. package/dist/esm/chunks/chunk.PV5MABYN.js +7 -0
  189. package/dist/esm/chunks/chunk.PV5MABYN.js.map +7 -0
  190. package/dist/esm/chunks/chunk.PYG4YVBA.js +1 -1
  191. package/dist/esm/chunks/chunk.QQDDGRY6.js +1 -1
  192. package/dist/esm/chunks/chunk.QZHEP4X2.js +1 -1
  193. package/dist/esm/chunks/chunk.R2L3S3YD.js +7 -0
  194. package/dist/esm/chunks/chunk.R2L3S3YD.js.map +7 -0
  195. package/dist/esm/chunks/chunk.R4NDFXVA.js +1 -1
  196. package/dist/esm/chunks/chunk.R4NZYUID.js +7 -0
  197. package/dist/esm/chunks/{chunk.2SAHWDGJ.js.map → chunk.R4NZYUID.js.map} +2 -2
  198. package/dist/esm/chunks/chunk.RH2NL523.js +7 -0
  199. package/dist/esm/chunks/chunk.RH2NL523.js.map +7 -0
  200. package/dist/esm/chunks/chunk.ROF42KJ3.js +7 -0
  201. package/dist/esm/chunks/{chunk.IFZXG3LI.js.map → chunk.ROF42KJ3.js.map} +2 -2
  202. package/dist/esm/chunks/chunk.RT4C67NK.js +29 -0
  203. package/dist/esm/chunks/{chunk.YWKKZLZ2.js.map → chunk.RT4C67NK.js.map} +2 -2
  204. package/dist/esm/chunks/chunk.S76NW5JY.js +7 -0
  205. package/dist/esm/chunks/{chunk.EJ4ASQET.js.map → chunk.S76NW5JY.js.map} +2 -2
  206. package/dist/esm/chunks/chunk.SKLCDWYQ.js +1 -1
  207. package/dist/esm/chunks/chunk.STS5TIUV.js +1 -1
  208. package/dist/esm/chunks/chunk.SVGEVCXA.js +1 -1
  209. package/dist/esm/chunks/chunk.T2M2KVP7.js +29 -0
  210. package/dist/esm/chunks/chunk.T2M2KVP7.js.map +7 -0
  211. package/dist/esm/chunks/chunk.TCAOLSLI.js +7 -0
  212. package/dist/esm/chunks/{chunk.35U4OX7S.js.map → chunk.TCAOLSLI.js.map} +2 -2
  213. package/dist/esm/chunks/chunk.TLCGGWBO.js +1 -1
  214. package/dist/esm/chunks/chunk.TMJBIAWC.js +7 -0
  215. package/dist/esm/chunks/chunk.TMJBIAWC.js.map +7 -0
  216. package/dist/esm/chunks/chunk.U6FJJGO3.js +1 -1
  217. package/dist/esm/chunks/chunk.UPFJ3PVE.js +29 -0
  218. package/dist/esm/chunks/{chunk.XYBFFTXS.js.map → chunk.UPFJ3PVE.js.map} +2 -2
  219. package/dist/esm/chunks/chunk.UUX4QJ4D.js +1 -1
  220. package/dist/esm/chunks/chunk.V55E5JD5.js +7 -0
  221. package/dist/esm/chunks/{chunk.444GNOS4.js.map → chunk.V55E5JD5.js.map} +2 -2
  222. package/dist/esm/chunks/chunk.VHKQHMK3.js +7 -0
  223. package/dist/esm/chunks/{chunk.33Q5FK2H.js.map → chunk.VHKQHMK3.js.map} +2 -2
  224. package/dist/esm/chunks/chunk.WF2MFLG4.js +1 -1
  225. package/dist/esm/chunks/chunk.WINL2C7Q.js +1 -1
  226. package/dist/esm/chunks/chunk.X2RP4QW3.js +1 -1
  227. package/dist/esm/chunks/chunk.XC76IHG4.js +7 -0
  228. package/dist/esm/chunks/{chunk.I2YRKTG7.js.map → chunk.XC76IHG4.js.map} +2 -2
  229. package/dist/esm/chunks/chunk.XCUYZZV4.js +7 -0
  230. package/dist/esm/chunks/chunk.XCUYZZV4.js.map +7 -0
  231. package/dist/esm/chunks/chunk.XMI5RBZQ.js +7 -0
  232. package/dist/esm/chunks/chunk.XMI5RBZQ.js.map +7 -0
  233. package/dist/esm/chunks/chunk.XY4N4TSH.js +7 -0
  234. package/dist/esm/chunks/chunk.XY4N4TSH.js.map +7 -0
  235. package/dist/esm/chunks/chunk.Y6FFG7XO.js +1 -1
  236. package/dist/esm/chunks/chunk.YKXCORJE.js +7 -0
  237. package/dist/esm/chunks/{chunk.AVIF5W7A.js.map → chunk.YKXCORJE.js.map} +2 -2
  238. package/dist/esm/chunks/{chunk.4T5TGQFG.js → chunk.YPMN5U7C.js} +3 -3
  239. package/dist/esm/chunks/chunk.YW47QJVY.js +7 -0
  240. package/dist/esm/chunks/{chunk.PFD2SVJ4.js.map → chunk.YW47QJVY.js.map} +2 -2
  241. package/dist/esm/chunks/chunk.Z6S62LZJ.js +7 -0
  242. package/dist/esm/chunks/chunk.Z6S62LZJ.js.map +7 -0
  243. package/dist/esm/chunks/chunk.ZAKLVVFO.js +7 -0
  244. package/dist/esm/chunks/{chunk.YAJT3P6V.js.map → chunk.ZAKLVVFO.js.map} +2 -2
  245. package/dist/esm/chunks/chunk.ZFD3OE45.js +7 -0
  246. package/dist/esm/chunks/{chunk.DIYJJHWP.js.map → chunk.ZFD3OE45.js.map} +1 -1
  247. package/dist/esm/chunks/chunk.ZMXKZJRM.js +7 -0
  248. package/dist/esm/chunks/{chunk.5XQVZQ4U.js.map → chunk.ZMXKZJRM.js.map} +2 -2
  249. package/dist/esm/chunks/chunk.ZQCHS2PS.js +7 -0
  250. package/dist/esm/chunks/{chunk.Y6MPWPZU.js.map → chunk.ZQCHS2PS.js.map} +2 -2
  251. package/dist/esm/circular-progress/index.js +2 -2
  252. package/dist/esm/color-picker/index.js +2 -2
  253. package/dist/esm/core/base/index.js +2 -2
  254. package/dist/esm/core/delegates/index.js +1 -1
  255. package/dist/esm/core/index.js +2 -2
  256. package/dist/esm/core/mask/index.js +2 -2
  257. package/dist/esm/core/utils/index.js +2 -2
  258. package/dist/esm/date-picker/index.js +2 -2
  259. package/dist/esm/date-range-picker/index.js +2 -2
  260. package/dist/esm/dialog/index.js +2 -2
  261. package/dist/esm/divider/index.js +2 -2
  262. package/dist/esm/drawer/base/index.js +2 -2
  263. package/dist/esm/drawer/drawer/index.js +2 -2
  264. package/dist/esm/drawer/index.js +2 -2
  265. package/dist/esm/drawer/mini-drawer/index.js +2 -2
  266. package/dist/esm/drawer/modal-drawer/index.js +2 -2
  267. package/dist/esm/expansion-panel/index.js +2 -2
  268. package/dist/esm/file-picker/index.js +2 -2
  269. package/dist/esm/floating-action-button/index.js +2 -2
  270. package/dist/esm/floating-label/index.js +1 -1
  271. package/dist/esm/icon/index.js +2 -2
  272. package/dist/esm/icon-button/index.js +2 -2
  273. package/dist/esm/index.js +2 -2
  274. package/dist/esm/inline-message/index.js +2 -2
  275. package/dist/esm/keyboard-shortcut/index.js +2 -2
  276. package/dist/esm/label-value/index.js +2 -2
  277. package/dist/esm/linear-progress/index.js +2 -2
  278. package/dist/esm/list/index.js +2 -2
  279. package/dist/esm/list/list/index.js +2 -2
  280. package/dist/esm/list/list-item/index.js +2 -2
  281. package/dist/esm/list-dropdown/index.js +2 -2
  282. package/dist/esm/menu/index.js +2 -2
  283. package/dist/esm/open-icon/index.js +2 -2
  284. package/dist/esm/page-state/index.js +2 -2
  285. package/dist/esm/paginator/index.js +2 -2
  286. package/dist/esm/popup/index.js +2 -2
  287. package/dist/esm/product-icon/index.js +2 -2
  288. package/dist/esm/profile-card/index.js +2 -2
  289. package/dist/esm/quantity-field/index.js +2 -2
  290. package/dist/esm/radio/index.js +2 -2
  291. package/dist/esm/ripple/index.js +2 -2
  292. package/dist/esm/scaffold/index.js +2 -2
  293. package/dist/esm/select/core/index.js +2 -2
  294. package/dist/esm/select/index.js +2 -2
  295. package/dist/esm/select/option/index.js +2 -2
  296. package/dist/esm/select/option-group/index.js +2 -2
  297. package/dist/esm/select/select/index.js +2 -2
  298. package/dist/esm/select/select-dropdown/index.js +2 -2
  299. package/dist/esm/skeleton/index.js +2 -2
  300. package/dist/esm/slider/index.js +2 -2
  301. package/dist/esm/split-view/core/index.js +1 -1
  302. package/dist/esm/split-view/index.js +2 -2
  303. package/dist/esm/split-view/split-view/index.js +2 -2
  304. package/dist/esm/split-view/split-view-panel/index.js +2 -2
  305. package/dist/esm/stepper/index.js +2 -2
  306. package/dist/esm/stepper/step/index.js +2 -2
  307. package/dist/esm/stepper/stepper/index.js +2 -2
  308. package/dist/esm/switch/index.js +2 -2
  309. package/dist/esm/table/index.js +2 -2
  310. package/dist/esm/tabs/index.js +2 -2
  311. package/dist/esm/tabs/tab/index.js +2 -2
  312. package/dist/esm/tabs/tab-bar/index.js +2 -2
  313. package/dist/esm/text-field/index.js +2 -2
  314. package/dist/esm/theme/index.js +1 -1
  315. package/dist/esm/time-picker/index.js +2 -2
  316. package/dist/esm/toast/index.js +2 -2
  317. package/dist/esm/toolbar/index.js +2 -2
  318. package/dist/esm/tooltip/index.js +2 -2
  319. package/dist/esm/utils/index.js +1 -1
  320. package/dist/esm/view-switcher/index.js +2 -2
  321. package/dist/esm/view-switcher/view/index.js +2 -2
  322. package/dist/expansion-panel/forge-expansion-panel.css +1 -1
  323. package/dist/floating-action-button/forge-floating-action-button.css +1 -1
  324. package/dist/floating-label/forge-floating-label.css +1 -1
  325. package/dist/forge-core.css +1 -1
  326. package/dist/forge-dark.css +1 -1
  327. package/dist/forge.css +1 -1
  328. package/dist/form-field/forge-form-field.css +1 -1
  329. package/dist/icon-button/forge-icon-button.css +1 -1
  330. package/dist/popup/forge-popup.css +1 -1
  331. package/dist/quantity-field/forge-quantity-field.css +1 -1
  332. package/dist/ripple/forge-ripple.css +1 -1
  333. package/dist/scaffold/forge-scaffold.css +1 -1
  334. package/dist/table/forge-table.css +1 -1
  335. package/dist/theme/forge-theme.css +1 -1
  336. package/dist/tooltip/forge-tooltip.css +1 -1
  337. package/dist/typography/forge-form.css +1 -1
  338. package/dist/typography/forge-typography.css +1 -1
  339. package/dist/utils/forge-flex.css +1 -1
  340. package/dist/utils/forge-grid.css +1 -1
  341. package/dist/utils/forge-utils.css +1 -1
  342. package/esm/accordion/accordion-adapter.d.ts +1 -1
  343. package/esm/accordion/accordion-adapter.js +1 -1
  344. package/esm/accordion/accordion-constants.d.ts +1 -1
  345. package/esm/accordion/accordion-constants.js +1 -1
  346. package/esm/accordion/accordion-foundation.d.ts +1 -1
  347. package/esm/accordion/accordion-foundation.js +1 -1
  348. package/esm/accordion/accordion.d.ts +1 -1
  349. package/esm/accordion/accordion.js +1 -1
  350. package/esm/accordion/index.d.ts +1 -1
  351. package/esm/accordion/index.js +1 -1
  352. package/esm/app-bar/app-bar-adapter.d.ts +1 -1
  353. package/esm/app-bar/app-bar-adapter.js +1 -1
  354. package/esm/app-bar/app-bar-constants.d.ts +1 -1
  355. package/esm/app-bar/app-bar-constants.js +1 -1
  356. package/esm/app-bar/app-bar-foundation.d.ts +1 -1
  357. package/esm/app-bar/app-bar-foundation.js +1 -1
  358. package/esm/app-bar/app-bar.d.ts +1 -1
  359. package/esm/app-bar/app-bar.js +1 -1
  360. package/esm/app-bar/help-button/app-bar-help-button-adapter.d.ts +1 -1
  361. package/esm/app-bar/help-button/app-bar-help-button-adapter.js +1 -1
  362. package/esm/app-bar/help-button/app-bar-help-button-constants.d.ts +1 -1
  363. package/esm/app-bar/help-button/app-bar-help-button-constants.js +1 -1
  364. package/esm/app-bar/help-button/app-bar-help-button-foundation.d.ts +1 -1
  365. package/esm/app-bar/help-button/app-bar-help-button-foundation.js +1 -1
  366. package/esm/app-bar/help-button/app-bar-help-button.d.ts +1 -1
  367. package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
  368. package/esm/app-bar/help-button/index.d.ts +1 -1
  369. package/esm/app-bar/help-button/index.js +1 -1
  370. package/esm/app-bar/index.d.ts +1 -1
  371. package/esm/app-bar/index.js +1 -1
  372. package/esm/app-bar/menu-button/app-bar-menu-button-constants.d.ts +1 -1
  373. package/esm/app-bar/menu-button/app-bar-menu-button-constants.js +1 -1
  374. package/esm/app-bar/menu-button/app-bar-menu-button.d.ts +1 -1
  375. package/esm/app-bar/menu-button/app-bar-menu-button.js +1 -1
  376. package/esm/app-bar/menu-button/index.d.ts +1 -1
  377. package/esm/app-bar/menu-button/index.js +1 -1
  378. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +4 -1
  379. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +6 -1
  380. package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +2 -1
  381. package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +3 -2
  382. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +5 -1
  383. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +15 -1
  384. package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +3 -1
  385. package/esm/app-bar/notification-button/app-bar-notification-button.js +10 -3
  386. package/esm/app-bar/notification-button/index.d.ts +1 -1
  387. package/esm/app-bar/notification-button/index.js +1 -1
  388. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +1 -1
  389. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +1 -1
  390. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -1
  391. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +1 -1
  392. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +1 -1
  393. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +1 -1
  394. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +1 -1
  395. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  396. package/esm/app-bar/profile-button/index.d.ts +1 -1
  397. package/esm/app-bar/profile-button/index.js +1 -1
  398. package/esm/app-bar/search/app-bar-search-adapter.d.ts +1 -1
  399. package/esm/app-bar/search/app-bar-search-adapter.js +1 -1
  400. package/esm/app-bar/search/app-bar-search-constants.d.ts +1 -1
  401. package/esm/app-bar/search/app-bar-search-constants.js +1 -1
  402. package/esm/app-bar/search/app-bar-search-foundation.d.ts +1 -1
  403. package/esm/app-bar/search/app-bar-search-foundation.js +1 -1
  404. package/esm/app-bar/search/app-bar-search.d.ts +1 -1
  405. package/esm/app-bar/search/app-bar-search.js +1 -1
  406. package/esm/app-bar/search/index.d.ts +1 -1
  407. package/esm/app-bar/search/index.js +1 -1
  408. package/esm/autocomplete/autocomplete-adapter.d.ts +10 -11
  409. package/esm/autocomplete/autocomplete-adapter.js +2 -2
  410. package/esm/autocomplete/autocomplete-component-delegate.d.ts +1 -1
  411. package/esm/autocomplete/autocomplete-component-delegate.js +1 -1
  412. package/esm/autocomplete/autocomplete-constants.d.ts +11 -13
  413. package/esm/autocomplete/autocomplete-constants.js +1 -1
  414. package/esm/autocomplete/autocomplete-foundation.d.ts +7 -8
  415. package/esm/autocomplete/autocomplete-foundation.js +6 -3
  416. package/esm/autocomplete/autocomplete-utils.d.ts +5 -6
  417. package/esm/autocomplete/autocomplete-utils.js +1 -1
  418. package/esm/autocomplete/autocomplete.d.ts +4 -5
  419. package/esm/autocomplete/autocomplete.js +3 -3
  420. package/esm/autocomplete/index.d.ts +1 -1
  421. package/esm/autocomplete/index.js +1 -1
  422. package/esm/avatar/avatar-adapter.d.ts +1 -1
  423. package/esm/avatar/avatar-adapter.js +1 -1
  424. package/esm/avatar/avatar-component-delegate.d.ts +1 -1
  425. package/esm/avatar/avatar-component-delegate.js +1 -1
  426. package/esm/avatar/avatar-constants.d.ts +1 -1
  427. package/esm/avatar/avatar-constants.js +1 -1
  428. package/esm/avatar/avatar-foundation.d.ts +1 -1
  429. package/esm/avatar/avatar-foundation.js +1 -1
  430. package/esm/avatar/avatar.d.ts +1 -1
  431. package/esm/avatar/avatar.js +1 -1
  432. package/esm/avatar/index.d.ts +1 -1
  433. package/esm/avatar/index.js +1 -1
  434. package/esm/backdrop/backdrop-adapter.d.ts +1 -1
  435. package/esm/backdrop/backdrop-adapter.js +1 -1
  436. package/esm/backdrop/backdrop-constants.d.ts +1 -1
  437. package/esm/backdrop/backdrop-constants.js +1 -1
  438. package/esm/backdrop/backdrop-foundation.d.ts +1 -1
  439. package/esm/backdrop/backdrop-foundation.js +1 -1
  440. package/esm/backdrop/backdrop.d.ts +1 -1
  441. package/esm/backdrop/backdrop.js +1 -1
  442. package/esm/backdrop/index.d.ts +1 -1
  443. package/esm/backdrop/index.js +1 -1
  444. package/esm/badge/badge-adapter.d.ts +1 -1
  445. package/esm/badge/badge-adapter.js +1 -1
  446. package/esm/badge/badge-component-delegate.d.ts +1 -1
  447. package/esm/badge/badge-component-delegate.js +1 -1
  448. package/esm/badge/badge-constants.d.ts +1 -1
  449. package/esm/badge/badge-constants.js +1 -1
  450. package/esm/badge/badge-foundation.d.ts +1 -1
  451. package/esm/badge/badge-foundation.js +1 -1
  452. package/esm/badge/badge.d.ts +1 -1
  453. package/esm/badge/badge.js +1 -1
  454. package/esm/badge/index.d.ts +1 -1
  455. package/esm/badge/index.js +1 -1
  456. package/esm/banner/banner-adapter.d.ts +1 -1
  457. package/esm/banner/banner-adapter.js +1 -1
  458. package/esm/banner/banner-constants.d.ts +1 -1
  459. package/esm/banner/banner-constants.js +1 -1
  460. package/esm/banner/banner-foundation.d.ts +1 -1
  461. package/esm/banner/banner-foundation.js +1 -1
  462. package/esm/banner/banner.d.ts +1 -1
  463. package/esm/banner/banner.js +1 -1
  464. package/esm/banner/index.d.ts +1 -1
  465. package/esm/banner/index.js +1 -1
  466. package/esm/bottom-sheet/bottom-sheet-adapter.d.ts +1 -1
  467. package/esm/bottom-sheet/bottom-sheet-adapter.js +1 -1
  468. package/esm/bottom-sheet/bottom-sheet-constants.d.ts +1 -1
  469. package/esm/bottom-sheet/bottom-sheet-constants.js +1 -1
  470. package/esm/bottom-sheet/bottom-sheet-foundation.d.ts +1 -1
  471. package/esm/bottom-sheet/bottom-sheet-foundation.js +1 -1
  472. package/esm/bottom-sheet/bottom-sheet.d.ts +1 -1
  473. package/esm/bottom-sheet/bottom-sheet.js +1 -1
  474. package/esm/bottom-sheet/index.d.ts +1 -1
  475. package/esm/bottom-sheet/index.js +1 -1
  476. package/esm/busy-indicator/busy-indicator-adapter.d.ts +1 -1
  477. package/esm/busy-indicator/busy-indicator-adapter.js +1 -1
  478. package/esm/busy-indicator/busy-indicator-constants.d.ts +1 -1
  479. package/esm/busy-indicator/busy-indicator-constants.js +1 -1
  480. package/esm/busy-indicator/busy-indicator-foundation.d.ts +1 -1
  481. package/esm/busy-indicator/busy-indicator-foundation.js +1 -1
  482. package/esm/busy-indicator/busy-indicator.d.ts +1 -1
  483. package/esm/busy-indicator/busy-indicator.js +1 -1
  484. package/esm/busy-indicator/index.d.ts +1 -1
  485. package/esm/busy-indicator/index.js +1 -1
  486. package/esm/button/button-component-delegate.d.ts +1 -1
  487. package/esm/button/button-component-delegate.js +1 -1
  488. package/esm/button/button-constants.d.ts +2 -1
  489. package/esm/button/button-constants.js +3 -2
  490. package/esm/button/button.d.ts +2 -2
  491. package/esm/button/button.js +8 -9
  492. package/esm/button/index.d.ts +1 -1
  493. package/esm/button/index.js +1 -1
  494. package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +1 -1
  495. package/esm/button-toggle/button-toggle/button-toggle-adapter.js +1 -1
  496. package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +1 -1
  497. package/esm/button-toggle/button-toggle/button-toggle-constants.js +1 -1
  498. package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +1 -1
  499. package/esm/button-toggle/button-toggle/button-toggle-foundation.js +1 -1
  500. package/esm/button-toggle/button-toggle/button-toggle.d.ts +1 -1
  501. package/esm/button-toggle/button-toggle/button-toggle.js +1 -1
  502. package/esm/button-toggle/button-toggle/index.d.ts +1 -1
  503. package/esm/button-toggle/button-toggle/index.js +1 -1
  504. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +1 -1
  505. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +23 -9
  506. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +4 -1
  507. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +1 -1
  508. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +1 -1
  509. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +1 -1
  510. package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +1 -1
  511. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +1 -1
  512. package/esm/button-toggle/button-toggle-group/index.d.ts +1 -1
  513. package/esm/button-toggle/button-toggle-group/index.js +1 -1
  514. package/esm/button-toggle/index.d.ts +1 -1
  515. package/esm/button-toggle/index.js +1 -1
  516. package/esm/calendar/calendar-adapter.d.ts +1 -1
  517. package/esm/calendar/calendar-adapter.js +1 -1
  518. package/esm/calendar/calendar-component-delegate.d.ts +1 -1
  519. package/esm/calendar/calendar-component-delegate.js +1 -1
  520. package/esm/calendar/calendar-constants.d.ts +1 -1
  521. package/esm/calendar/calendar-constants.js +1 -1
  522. package/esm/calendar/calendar-dom-utils.d.ts +1 -1
  523. package/esm/calendar/calendar-dom-utils.js +1 -1
  524. package/esm/calendar/calendar-dropdown/calendar-dropdown-constants.d.ts +1 -1
  525. package/esm/calendar/calendar-dropdown/calendar-dropdown-constants.js +1 -1
  526. package/esm/calendar/calendar-dropdown/calendar-dropdown.d.ts +1 -1
  527. package/esm/calendar/calendar-dropdown/calendar-dropdown.js +1 -1
  528. package/esm/calendar/calendar-dropdown/index.d.ts +1 -1
  529. package/esm/calendar/calendar-dropdown/index.js +1 -1
  530. package/esm/calendar/calendar-foundation.d.ts +1 -1
  531. package/esm/calendar/calendar-foundation.js +2 -1
  532. package/esm/calendar/calendar-locale-utils.d.ts +1 -1
  533. package/esm/calendar/calendar-locale-utils.js +1 -1
  534. package/esm/calendar/calendar-menu/calendar-menu-adapter.d.ts +1 -1
  535. package/esm/calendar/calendar-menu/calendar-menu-adapter.js +1 -1
  536. package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +1 -1
  537. package/esm/calendar/calendar-menu/calendar-menu-constants.js +1 -1
  538. package/esm/calendar/calendar-menu/calendar-menu-foundation.d.ts +1 -1
  539. package/esm/calendar/calendar-menu/calendar-menu-foundation.js +1 -1
  540. package/esm/calendar/calendar-menu/calendar-menu-utils.d.ts +1 -1
  541. package/esm/calendar/calendar-menu/calendar-menu-utils.js +1 -1
  542. package/esm/calendar/calendar-menu/calendar-menu.d.ts +1 -1
  543. package/esm/calendar/calendar-menu/calendar-menu.js +1 -1
  544. package/esm/calendar/calendar-menu/index.d.ts +1 -1
  545. package/esm/calendar/calendar-menu/index.js +1 -1
  546. package/esm/calendar/calendar-utils.d.ts +1 -1
  547. package/esm/calendar/calendar-utils.js +1 -1
  548. package/esm/calendar/calendar.d.ts +1 -1
  549. package/esm/calendar/calendar.js +1 -1
  550. package/esm/calendar/core/calendar-base.d.ts +1 -1
  551. package/esm/calendar/core/calendar-base.js +1 -1
  552. package/esm/calendar/core/date-range.d.ts +1 -1
  553. package/esm/calendar/core/date-range.js +1 -1
  554. package/esm/calendar/core/index.d.ts +1 -1
  555. package/esm/calendar/core/index.js +1 -1
  556. package/esm/calendar/index.d.ts +1 -1
  557. package/esm/calendar/index.js +1 -1
  558. package/esm/card/card-constants.d.ts +1 -1
  559. package/esm/card/card-constants.js +1 -1
  560. package/esm/card/card.d.ts +1 -1
  561. package/esm/card/card.js +1 -1
  562. package/esm/card/index.d.ts +1 -1
  563. package/esm/card/index.js +1 -1
  564. package/esm/checkbox/checkbox-adapter.d.ts +2 -3
  565. package/esm/checkbox/checkbox-adapter.js +13 -9
  566. package/esm/checkbox/checkbox-component-delegate.d.ts +1 -1
  567. package/esm/checkbox/checkbox-component-delegate.js +1 -1
  568. package/esm/checkbox/checkbox-constants.d.ts +1 -1
  569. package/esm/checkbox/checkbox-constants.js +1 -1
  570. package/esm/checkbox/checkbox-foundation.d.ts +1 -1
  571. package/esm/checkbox/checkbox-foundation.js +1 -4
  572. package/esm/checkbox/checkbox.d.ts +1 -1
  573. package/esm/checkbox/checkbox.js +1 -1
  574. package/esm/checkbox/index.d.ts +1 -1
  575. package/esm/checkbox/index.js +1 -1
  576. package/esm/chip-field/chip-field-adapter.d.ts +3 -1
  577. package/esm/chip-field/chip-field-adapter.js +9 -4
  578. package/esm/chip-field/chip-field-component-delegate.d.ts +1 -1
  579. package/esm/chip-field/chip-field-component-delegate.js +1 -1
  580. package/esm/chip-field/chip-field-constants.d.ts +2 -2
  581. package/esm/chip-field/chip-field-constants.js +1 -1
  582. package/esm/chip-field/chip-field-foundation.d.ts +1 -1
  583. package/esm/chip-field/chip-field-foundation.js +2 -1
  584. package/esm/chip-field/chip-field.d.ts +1 -1
  585. package/esm/chip-field/chip-field.js +2 -2
  586. package/esm/chip-field/index.d.ts +1 -1
  587. package/esm/chip-field/index.js +1 -1
  588. package/esm/chips/chip/chip-adapter.d.ts +1 -1
  589. package/esm/chips/chip/chip-adapter.js +1 -1
  590. package/esm/chips/chip/chip-constants.d.ts +1 -1
  591. package/esm/chips/chip/chip-constants.js +1 -1
  592. package/esm/chips/chip/chip-foundation.d.ts +1 -1
  593. package/esm/chips/chip/chip-foundation.js +1 -1
  594. package/esm/chips/chip/chip.d.ts +1 -1
  595. package/esm/chips/chip/chip.js +1 -1
  596. package/esm/chips/chip/index.d.ts +1 -1
  597. package/esm/chips/chip/index.js +1 -1
  598. package/esm/chips/chip-set/chip-set-adapter.d.ts +1 -1
  599. package/esm/chips/chip-set/chip-set-adapter.js +1 -1
  600. package/esm/chips/chip-set/chip-set-constants.d.ts +1 -1
  601. package/esm/chips/chip-set/chip-set-constants.js +1 -1
  602. package/esm/chips/chip-set/chip-set-foundation.d.ts +1 -1
  603. package/esm/chips/chip-set/chip-set-foundation.js +1 -1
  604. package/esm/chips/chip-set/chip-set.d.ts +1 -1
  605. package/esm/chips/chip-set/chip-set.js +1 -1
  606. package/esm/chips/chip-set/index.d.ts +1 -1
  607. package/esm/chips/chip-set/index.js +1 -1
  608. package/esm/chips/index.d.ts +1 -1
  609. package/esm/chips/index.js +1 -1
  610. package/esm/circular-progress/circular-progress-adapter.d.ts +1 -1
  611. package/esm/circular-progress/circular-progress-adapter.js +1 -1
  612. package/esm/circular-progress/circular-progress-constants.d.ts +1 -1
  613. package/esm/circular-progress/circular-progress-constants.js +1 -1
  614. package/esm/circular-progress/circular-progress-foundation.d.ts +1 -1
  615. package/esm/circular-progress/circular-progress-foundation.js +1 -1
  616. package/esm/circular-progress/circular-progress.d.ts +1 -1
  617. package/esm/circular-progress/circular-progress.js +1 -1
  618. package/esm/circular-progress/index.d.ts +1 -1
  619. package/esm/circular-progress/index.js +1 -1
  620. package/esm/color-picker/color-picker-adapter.d.ts +1 -1
  621. package/esm/color-picker/color-picker-adapter.js +1 -1
  622. package/esm/color-picker/color-picker-constants.d.ts +1 -1
  623. package/esm/color-picker/color-picker-constants.js +1 -1
  624. package/esm/color-picker/color-picker-foundation.d.ts +2 -1
  625. package/esm/color-picker/color-picker-foundation.js +20 -9
  626. package/esm/color-picker/color-picker-gradient-slider.d.ts +1 -1
  627. package/esm/color-picker/color-picker-gradient-slider.js +1 -1
  628. package/esm/color-picker/color-picker-slider.d.ts +1 -1
  629. package/esm/color-picker/color-picker-slider.js +1 -1
  630. package/esm/color-picker/color-picker-utils.d.ts +1 -1
  631. package/esm/color-picker/color-picker-utils.js +1 -1
  632. package/esm/color-picker/color-picker.d.ts +1 -1
  633. package/esm/color-picker/color-picker.js +1 -1
  634. package/esm/color-picker/index.d.ts +1 -1
  635. package/esm/color-picker/index.js +1 -1
  636. package/esm/constants.d.ts +1 -1
  637. package/esm/constants.js +1 -1
  638. package/esm/core/base/base-adapter.d.ts +1 -1
  639. package/esm/core/base/base-adapter.js +1 -1
  640. package/esm/core/base/base-component.d.ts +1 -1
  641. package/esm/core/base/base-component.js +1 -1
  642. package/esm/core/base/index.d.ts +1 -1
  643. package/esm/core/base/index.js +1 -1
  644. package/esm/core/delegates/base-component-delegate.d.ts +1 -1
  645. package/esm/core/delegates/base-component-delegate.js +1 -1
  646. package/esm/core/delegates/form-field-component-delegate.d.ts +1 -1
  647. package/esm/core/delegates/form-field-component-delegate.js +1 -1
  648. package/esm/core/delegates/index.d.ts +1 -1
  649. package/esm/core/delegates/index.js +1 -1
  650. package/esm/core/index.d.ts +1 -1
  651. package/esm/core/index.js +1 -1
  652. package/esm/core/mask/date-input-mask.d.ts +1 -1
  653. package/esm/core/mask/date-input-mask.js +1 -1
  654. package/esm/core/mask/index.d.ts +1 -1
  655. package/esm/core/mask/index.js +1 -1
  656. package/esm/core/mask/time-input-mask.d.ts +1 -1
  657. package/esm/core/mask/time-input-mask.js +1 -1
  658. package/esm/core/utils/date-utils.d.ts +1 -1
  659. package/esm/core/utils/date-utils.js +3 -3
  660. package/esm/core/utils/event-utils.d.ts +1 -1
  661. package/esm/core/utils/event-utils.js +1 -1
  662. package/esm/core/utils/index.d.ts +1 -1
  663. package/esm/core/utils/index.js +1 -1
  664. package/esm/core/utils/svg-utils.d.ts +1 -1
  665. package/esm/core/utils/svg-utils.js +1 -1
  666. package/esm/core/utils/time-utils.d.ts +1 -1
  667. package/esm/core/utils/time-utils.js +1 -1
  668. package/esm/core/utils/utils.d.ts +1 -7
  669. package/esm/core/utils/utils.js +1 -11
  670. package/esm/date-picker/base/base-date-picker-adapter.d.ts +1 -1
  671. package/esm/date-picker/base/base-date-picker-adapter.js +1 -1
  672. package/esm/date-picker/base/base-date-picker-constants.d.ts +1 -1
  673. package/esm/date-picker/base/base-date-picker-constants.js +1 -1
  674. package/esm/date-picker/base/base-date-picker-foundation.d.ts +1 -1
  675. package/esm/date-picker/base/base-date-picker-foundation.js +3 -2
  676. package/esm/date-picker/base/base-date-picker-utils.d.ts +1 -1
  677. package/esm/date-picker/base/base-date-picker-utils.js +1 -1
  678. package/esm/date-picker/base/base-date-picker.d.ts +3 -3
  679. package/esm/date-picker/base/base-date-picker.js +1 -1
  680. package/esm/date-picker/date-picker-adapter.d.ts +1 -1
  681. package/esm/date-picker/date-picker-adapter.js +1 -1
  682. package/esm/date-picker/date-picker-component-delegate.d.ts +1 -1
  683. package/esm/date-picker/date-picker-component-delegate.js +1 -1
  684. package/esm/date-picker/date-picker-constants.d.ts +1 -1
  685. package/esm/date-picker/date-picker-constants.js +1 -1
  686. package/esm/date-picker/date-picker-foundation.d.ts +1 -1
  687. package/esm/date-picker/date-picker-foundation.js +1 -1
  688. package/esm/date-picker/date-picker.d.ts +1 -1
  689. package/esm/date-picker/date-picker.js +1 -1
  690. package/esm/date-picker/index.d.ts +1 -1
  691. package/esm/date-picker/index.js +1 -1
  692. package/esm/date-range-picker/date-range-picker-adapter.d.ts +1 -1
  693. package/esm/date-range-picker/date-range-picker-adapter.js +1 -1
  694. package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +1 -1
  695. package/esm/date-range-picker/date-range-picker-component-delegate.js +1 -1
  696. package/esm/date-range-picker/date-range-picker-constants.d.ts +1 -1
  697. package/esm/date-range-picker/date-range-picker-constants.js +1 -1
  698. package/esm/date-range-picker/date-range-picker-foundation.d.ts +3 -3
  699. package/esm/date-range-picker/date-range-picker-foundation.js +2 -2
  700. package/esm/date-range-picker/date-range-picker.d.ts +1 -1
  701. package/esm/date-range-picker/date-range-picker.js +7 -7
  702. package/esm/date-range-picker/index.d.ts +1 -1
  703. package/esm/date-range-picker/index.js +1 -1
  704. package/esm/dialog/dialog-adapter.d.ts +1 -3
  705. package/esm/dialog/dialog-adapter.js +2 -11
  706. package/esm/dialog/dialog-constants.d.ts +1 -1
  707. package/esm/dialog/dialog-constants.js +1 -1
  708. package/esm/dialog/dialog-foundation.d.ts +1 -1
  709. package/esm/dialog/dialog-foundation.js +3 -3
  710. package/esm/dialog/dialog.d.ts +1 -1
  711. package/esm/dialog/dialog.js +1 -1
  712. package/esm/dialog/index.d.ts +1 -1
  713. package/esm/dialog/index.js +1 -1
  714. package/esm/divider/divider-constants.d.ts +1 -1
  715. package/esm/divider/divider-constants.js +1 -1
  716. package/esm/divider/divider.d.ts +1 -1
  717. package/esm/divider/divider.js +1 -1
  718. package/esm/divider/index.d.ts +1 -1
  719. package/esm/divider/index.js +1 -1
  720. package/esm/drawer/base/base-drawer-adapter.d.ts +1 -1
  721. package/esm/drawer/base/base-drawer-adapter.js +1 -1
  722. package/esm/drawer/base/base-drawer-constants.d.ts +1 -1
  723. package/esm/drawer/base/base-drawer-constants.js +1 -1
  724. package/esm/drawer/base/base-drawer-foundation.d.ts +1 -1
  725. package/esm/drawer/base/base-drawer-foundation.js +1 -1
  726. package/esm/drawer/base/base-drawer.d.ts +1 -1
  727. package/esm/drawer/base/base-drawer.js +4 -4
  728. package/esm/drawer/base/index.d.ts +1 -1
  729. package/esm/drawer/base/index.js +1 -1
  730. package/esm/drawer/drawer/drawer-constants.d.ts +1 -1
  731. package/esm/drawer/drawer/drawer-constants.js +1 -1
  732. package/esm/drawer/drawer/drawer.d.ts +1 -1
  733. package/esm/drawer/drawer/drawer.js +1 -1
  734. package/esm/drawer/drawer/index.d.ts +1 -1
  735. package/esm/drawer/drawer/index.js +1 -1
  736. package/esm/drawer/index.d.ts +1 -1
  737. package/esm/drawer/index.js +1 -1
  738. package/esm/drawer/mini-drawer/index.d.ts +1 -1
  739. package/esm/drawer/mini-drawer/index.js +1 -1
  740. package/esm/drawer/mini-drawer/mini-drawer-constants.d.ts +1 -1
  741. package/esm/drawer/mini-drawer/mini-drawer-constants.js +1 -1
  742. package/esm/drawer/mini-drawer/mini-drawer.d.ts +1 -1
  743. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  744. package/esm/drawer/modal-drawer/index.d.ts +1 -1
  745. package/esm/drawer/modal-drawer/index.js +1 -1
  746. package/esm/drawer/modal-drawer/modal-drawer-adapter.d.ts +1 -1
  747. package/esm/drawer/modal-drawer/modal-drawer-adapter.js +1 -1
  748. package/esm/drawer/modal-drawer/modal-drawer-constants.d.ts +1 -1
  749. package/esm/drawer/modal-drawer/modal-drawer-constants.js +1 -1
  750. package/esm/drawer/modal-drawer/modal-drawer-foundation.d.ts +1 -1
  751. package/esm/drawer/modal-drawer/modal-drawer-foundation.js +1 -1
  752. package/esm/drawer/modal-drawer/modal-drawer.d.ts +1 -1
  753. package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
  754. package/esm/expansion-panel/expansion-panel-adapter.d.ts +1 -1
  755. package/esm/expansion-panel/expansion-panel-adapter.js +1 -1
  756. package/esm/expansion-panel/expansion-panel-constants.d.ts +1 -1
  757. package/esm/expansion-panel/expansion-panel-constants.js +1 -1
  758. package/esm/expansion-panel/expansion-panel-foundation.d.ts +1 -1
  759. package/esm/expansion-panel/expansion-panel-foundation.js +1 -1
  760. package/esm/expansion-panel/expansion-panel.d.ts +1 -1
  761. package/esm/expansion-panel/expansion-panel.js +1 -1
  762. package/esm/expansion-panel/index.d.ts +1 -1
  763. package/esm/expansion-panel/index.js +1 -1
  764. package/esm/field/field-adapter.d.ts +1 -1
  765. package/esm/field/field-adapter.js +1 -1
  766. package/esm/field/field-constants.d.ts +1 -1
  767. package/esm/field/field-constants.js +1 -1
  768. package/esm/field/field-foundation.d.ts +1 -1
  769. package/esm/field/field-foundation.js +1 -1
  770. package/esm/field/field.d.ts +1 -1
  771. package/esm/field/field.js +1 -1
  772. package/esm/file-picker/file-picker-adapter.d.ts +1 -1
  773. package/esm/file-picker/file-picker-adapter.js +4 -3
  774. package/esm/file-picker/file-picker-component-delegate.d.ts +1 -1
  775. package/esm/file-picker/file-picker-component-delegate.js +1 -1
  776. package/esm/file-picker/file-picker-constants.d.ts +1 -1
  777. package/esm/file-picker/file-picker-constants.js +1 -1
  778. package/esm/file-picker/file-picker-foundation.d.ts +3 -1
  779. package/esm/file-picker/file-picker-foundation.js +16 -39
  780. package/esm/file-picker/file-picker.d.ts +2 -1
  781. package/esm/file-picker/file-picker.js +4 -1
  782. package/esm/file-picker/index.d.ts +1 -1
  783. package/esm/file-picker/index.js +1 -1
  784. package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +1 -1
  785. package/esm/floating-action-button/floating-action-button-component-delegate.js +1 -1
  786. package/esm/floating-action-button/floating-action-button-constants.d.ts +1 -1
  787. package/esm/floating-action-button/floating-action-button-constants.js +2 -2
  788. package/esm/floating-action-button/floating-action-button.d.ts +1 -1
  789. package/esm/floating-action-button/floating-action-button.js +1 -1
  790. package/esm/floating-action-button/index.d.ts +1 -1
  791. package/esm/floating-action-button/index.js +1 -1
  792. package/esm/floating-label/floating-label-adapter.d.ts +1 -1
  793. package/esm/floating-label/floating-label-adapter.js +1 -1
  794. package/esm/floating-label/floating-label-constants.d.ts +1 -1
  795. package/esm/floating-label/floating-label-constants.js +1 -1
  796. package/esm/floating-label/floating-label-foundation.d.ts +1 -1
  797. package/esm/floating-label/floating-label-foundation.js +1 -1
  798. package/esm/floating-label/floating-label.d.ts +1 -1
  799. package/esm/floating-label/floating-label.js +1 -1
  800. package/esm/floating-label/index.d.ts +1 -1
  801. package/esm/floating-label/index.js +1 -1
  802. package/esm/icon/icon-adapter.d.ts +1 -1
  803. package/esm/icon/icon-adapter.js +1 -1
  804. package/esm/icon/icon-component-delegate.d.ts +1 -1
  805. package/esm/icon/icon-component-delegate.js +1 -1
  806. package/esm/icon/icon-constants.d.ts +1 -1
  807. package/esm/icon/icon-constants.js +1 -1
  808. package/esm/icon/icon-foundation.d.ts +1 -1
  809. package/esm/icon/icon-foundation.js +1 -1
  810. package/esm/icon/icon-registry.d.ts +1 -1
  811. package/esm/icon/icon-registry.js +1 -1
  812. package/esm/icon/icon-utils.d.ts +1 -1
  813. package/esm/icon/icon-utils.js +1 -1
  814. package/esm/icon/icon.d.ts +1 -1
  815. package/esm/icon/icon.js +1 -1
  816. package/esm/icon/index.d.ts +1 -1
  817. package/esm/icon/index.js +1 -1
  818. package/esm/icon-button/icon-button-component-delegate.d.ts +1 -1
  819. package/esm/icon-button/icon-button-component-delegate.js +1 -1
  820. package/esm/icon-button/icon-button-constants.d.ts +1 -1
  821. package/esm/icon-button/icon-button-constants.js +2 -2
  822. package/esm/icon-button/icon-button.d.ts +2 -2
  823. package/esm/icon-button/icon-button.js +7 -7
  824. package/esm/icon-button/index.d.ts +1 -1
  825. package/esm/icon-button/index.js +1 -1
  826. package/esm/index.d.ts +1 -1
  827. package/esm/index.js +1 -1
  828. package/esm/inline-message/index.d.ts +1 -1
  829. package/esm/inline-message/index.js +1 -1
  830. package/esm/inline-message/inline-message-constants.d.ts +1 -1
  831. package/esm/inline-message/inline-message-constants.js +1 -1
  832. package/esm/inline-message/inline-message.d.ts +1 -1
  833. package/esm/inline-message/inline-message.js +1 -1
  834. package/esm/keyboard-shortcut/index.d.ts +1 -1
  835. package/esm/keyboard-shortcut/index.js +1 -1
  836. package/esm/keyboard-shortcut/keyboard-shortcut-adapter.d.ts +1 -1
  837. package/esm/keyboard-shortcut/keyboard-shortcut-adapter.js +1 -1
  838. package/esm/keyboard-shortcut/keyboard-shortcut-constants.d.ts +1 -1
  839. package/esm/keyboard-shortcut/keyboard-shortcut-constants.js +1 -1
  840. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +1 -1
  841. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +1 -1
  842. package/esm/keyboard-shortcut/keyboard-shortcut-utils.d.ts +1 -1
  843. package/esm/keyboard-shortcut/keyboard-shortcut-utils.js +1 -1
  844. package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +4 -1
  845. package/esm/keyboard-shortcut/keyboard-shortcut.js +1 -1
  846. package/esm/label-value/index.d.ts +1 -1
  847. package/esm/label-value/index.js +1 -1
  848. package/esm/label-value/label-value-adapter.d.ts +1 -1
  849. package/esm/label-value/label-value-adapter.js +1 -1
  850. package/esm/label-value/label-value-component-delegate.d.ts +1 -1
  851. package/esm/label-value/label-value-component-delegate.js +1 -1
  852. package/esm/label-value/label-value-constants.d.ts +2 -2
  853. package/esm/label-value/label-value-constants.js +1 -1
  854. package/esm/label-value/label-value-foundation.d.ts +1 -1
  855. package/esm/label-value/label-value-foundation.js +1 -1
  856. package/esm/label-value/label-value.d.ts +1 -1
  857. package/esm/label-value/label-value.js +1 -1
  858. package/esm/linear-progress/index.d.ts +1 -1
  859. package/esm/linear-progress/index.js +1 -1
  860. package/esm/linear-progress/linear-progress-constants.d.ts +1 -1
  861. package/esm/linear-progress/linear-progress-constants.js +1 -1
  862. package/esm/linear-progress/linear-progress.d.ts +1 -1
  863. package/esm/linear-progress/linear-progress.js +2 -2
  864. package/esm/list/index.d.ts +1 -1
  865. package/esm/list/index.js +1 -1
  866. package/esm/list/list/index.d.ts +1 -1
  867. package/esm/list/list/index.js +1 -1
  868. package/esm/list/list/list-adapter.d.ts +1 -1
  869. package/esm/list/list/list-adapter.js +1 -1
  870. package/esm/list/list/list-constants.d.ts +1 -1
  871. package/esm/list/list/list-constants.js +1 -1
  872. package/esm/list/list/list-foundation.d.ts +1 -1
  873. package/esm/list/list/list-foundation.js +1 -1
  874. package/esm/list/list/list.d.ts +1 -1
  875. package/esm/list/list/list.js +1 -1
  876. package/esm/list/list-item/index.d.ts +1 -1
  877. package/esm/list/list-item/index.js +1 -1
  878. package/esm/list/list-item/list-item-adapter.d.ts +1 -1
  879. package/esm/list/list-item/list-item-adapter.js +1 -1
  880. package/esm/list/list-item/list-item-constants.d.ts +1 -1
  881. package/esm/list/list-item/list-item-constants.js +1 -1
  882. package/esm/list/list-item/list-item-foundation.d.ts +1 -1
  883. package/esm/list/list-item/list-item-foundation.js +2 -3
  884. package/esm/list/list-item/list-item.d.ts +1 -1
  885. package/esm/list/list-item/list-item.js +2 -2
  886. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.d.ts +6 -3
  887. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.js +4 -2
  888. package/esm/list-dropdown/index.d.ts +1 -1
  889. package/esm/list-dropdown/index.js +1 -1
  890. package/esm/list-dropdown/list-dropdown-adapter.d.ts +1 -1
  891. package/esm/list-dropdown/list-dropdown-adapter.js +1 -1
  892. package/esm/list-dropdown/list-dropdown-aware-foundation.d.ts +9 -1
  893. package/esm/list-dropdown/list-dropdown-aware-foundation.js +15 -1
  894. package/esm/list-dropdown/list-dropdown-aware.d.ts +12 -3
  895. package/esm/list-dropdown/list-dropdown-aware.js +13 -1
  896. package/esm/list-dropdown/list-dropdown-constants.d.ts +10 -4
  897. package/esm/list-dropdown/list-dropdown-constants.js +3 -1
  898. package/esm/list-dropdown/list-dropdown-foundation.d.ts +1 -1
  899. package/esm/list-dropdown/list-dropdown-foundation.js +4 -7
  900. package/esm/list-dropdown/list-dropdown-utils.d.ts +2 -1
  901. package/esm/list-dropdown/list-dropdown-utils.js +40 -18
  902. package/esm/list-dropdown/list-dropdown.d.ts +1 -1
  903. package/esm/list-dropdown/list-dropdown.js +1 -1
  904. package/esm/menu/index.d.ts +1 -1
  905. package/esm/menu/index.js +1 -1
  906. package/esm/menu/menu-adapter.d.ts +3 -1
  907. package/esm/menu/menu-adapter.js +8 -1
  908. package/esm/menu/menu-constants.d.ts +1 -1
  909. package/esm/menu/menu-constants.js +2 -2
  910. package/esm/menu/menu-foundation.d.ts +13 -4
  911. package/esm/menu/menu-foundation.js +29 -18
  912. package/esm/menu/menu.d.ts +7 -2
  913. package/esm/menu/menu.js +10 -4
  914. package/esm/open-icon/index.d.ts +1 -1
  915. package/esm/open-icon/index.js +1 -1
  916. package/esm/open-icon/open-icon-adapter.d.ts +1 -1
  917. package/esm/open-icon/open-icon-adapter.js +1 -1
  918. package/esm/open-icon/open-icon-constants.d.ts +1 -1
  919. package/esm/open-icon/open-icon-constants.js +1 -1
  920. package/esm/open-icon/open-icon-foundation.d.ts +1 -1
  921. package/esm/open-icon/open-icon-foundation.js +1 -1
  922. package/esm/open-icon/open-icon.d.ts +1 -1
  923. package/esm/open-icon/open-icon.js +1 -1
  924. package/esm/page-state/index.d.ts +1 -1
  925. package/esm/page-state/index.js +1 -1
  926. package/esm/page-state/page-state-constants.d.ts +1 -1
  927. package/esm/page-state/page-state-constants.js +1 -1
  928. package/esm/page-state/page-state.d.ts +1 -1
  929. package/esm/page-state/page-state.js +1 -1
  930. package/esm/paginator/index.d.ts +1 -1
  931. package/esm/paginator/index.js +1 -1
  932. package/esm/paginator/paginator-adapter.d.ts +1 -1
  933. package/esm/paginator/paginator-adapter.js +1 -1
  934. package/esm/paginator/paginator-constants.d.ts +1 -1
  935. package/esm/paginator/paginator-constants.js +1 -1
  936. package/esm/paginator/paginator-foundation.d.ts +1 -1
  937. package/esm/paginator/paginator-foundation.js +1 -1
  938. package/esm/paginator/paginator.d.ts +1 -1
  939. package/esm/paginator/paginator.js +1 -1
  940. package/esm/popup/index.d.ts +1 -1
  941. package/esm/popup/index.js +1 -1
  942. package/esm/popup/popup-adapter.d.ts +1 -1
  943. package/esm/popup/popup-adapter.js +10 -2
  944. package/esm/popup/popup-constants.d.ts +2 -1
  945. package/esm/popup/popup-constants.js +3 -2
  946. package/esm/popup/popup-foundation.d.ts +5 -1
  947. package/esm/popup/popup-foundation.js +8 -1
  948. package/esm/popup/popup.d.ts +3 -1
  949. package/esm/popup/popup.js +5 -2
  950. package/esm/product-icon/index.d.ts +1 -1
  951. package/esm/product-icon/index.js +1 -1
  952. package/esm/product-icon/product-icon-adapter.d.ts +1 -1
  953. package/esm/product-icon/product-icon-adapter.js +1 -1
  954. package/esm/product-icon/product-icon-constants.d.ts +1 -1
  955. package/esm/product-icon/product-icon-constants.js +1 -1
  956. package/esm/product-icon/product-icon-foundation.d.ts +1 -1
  957. package/esm/product-icon/product-icon-foundation.js +1 -1
  958. package/esm/product-icon/product-icon.d.ts +1 -1
  959. package/esm/product-icon/product-icon.js +1 -1
  960. package/esm/profile-card/index.d.ts +1 -1
  961. package/esm/profile-card/index.js +1 -1
  962. package/esm/profile-card/profile-card-adapter.d.ts +1 -1
  963. package/esm/profile-card/profile-card-adapter.js +1 -1
  964. package/esm/profile-card/profile-card-constants.d.ts +1 -1
  965. package/esm/profile-card/profile-card-constants.js +1 -1
  966. package/esm/profile-card/profile-card-foundation.d.ts +1 -1
  967. package/esm/profile-card/profile-card-foundation.js +1 -1
  968. package/esm/profile-card/profile-card.d.ts +1 -1
  969. package/esm/profile-card/profile-card.js +1 -1
  970. package/esm/quantity-field/index.d.ts +1 -1
  971. package/esm/quantity-field/index.js +1 -1
  972. package/esm/quantity-field/quantity-field-adapter.d.ts +3 -1
  973. package/esm/quantity-field/quantity-field-adapter.js +9 -1
  974. package/esm/quantity-field/quantity-field-component-delegate.d.ts +1 -1
  975. package/esm/quantity-field/quantity-field-component-delegate.js +1 -1
  976. package/esm/quantity-field/quantity-field-constants.d.ts +1 -1
  977. package/esm/quantity-field/quantity-field-constants.js +1 -1
  978. package/esm/quantity-field/quantity-field-foundation.d.ts +1 -1
  979. package/esm/quantity-field/quantity-field-foundation.js +2 -1
  980. package/esm/quantity-field/quantity-field.d.ts +1 -1
  981. package/esm/quantity-field/quantity-field.js +7 -1
  982. package/esm/radio/index.d.ts +1 -1
  983. package/esm/radio/index.js +1 -1
  984. package/esm/radio/radio-adapter.d.ts +4 -4
  985. package/esm/radio/radio-adapter.js +18 -16
  986. package/esm/radio/radio-constants.d.ts +1 -1
  987. package/esm/radio/radio-constants.js +1 -1
  988. package/esm/radio/radio-foundation.d.ts +1 -1
  989. package/esm/radio/radio-foundation.js +2 -2
  990. package/esm/radio/radio.d.ts +1 -1
  991. package/esm/radio/radio.js +1 -1
  992. package/esm/ripple/forge-ripple.d.ts +3 -2
  993. package/esm/ripple/forge-ripple.js +4 -1
  994. package/esm/ripple/index.d.ts +1 -1
  995. package/esm/ripple/index.js +1 -1
  996. package/esm/ripple/ripple-adapter.d.ts +1 -1
  997. package/esm/ripple/ripple-adapter.js +1 -1
  998. package/esm/ripple/ripple-constants.d.ts +2 -1
  999. package/esm/ripple/ripple-constants.js +3 -2
  1000. package/esm/ripple/ripple-foundation.d.ts +5 -1
  1001. package/esm/ripple/ripple-foundation.js +11 -1
  1002. package/esm/ripple/ripple.d.ts +5 -3
  1003. package/esm/ripple/ripple.js +11 -3
  1004. package/esm/scaffold/index.d.ts +1 -1
  1005. package/esm/scaffold/index.js +1 -1
  1006. package/esm/scaffold/scaffold-constants.d.ts +1 -1
  1007. package/esm/scaffold/scaffold-constants.js +1 -1
  1008. package/esm/scaffold/scaffold.d.ts +1 -1
  1009. package/esm/scaffold/scaffold.js +1 -1
  1010. package/esm/select/core/base-select-adapter.d.ts +1 -1
  1011. package/esm/select/core/base-select-adapter.js +9 -7
  1012. package/esm/select/core/base-select-constants.d.ts +3 -1
  1013. package/esm/select/core/base-select-constants.js +4 -2
  1014. package/esm/select/core/base-select-foundation.d.ts +1 -10
  1015. package/esm/select/core/base-select-foundation.js +6 -27
  1016. package/esm/select/core/base-select.d.ts +1 -1
  1017. package/esm/select/core/base-select.js +1 -1
  1018. package/esm/select/core/index.d.ts +1 -1
  1019. package/esm/select/core/index.js +1 -1
  1020. package/esm/select/core/select-utils.d.ts +1 -1
  1021. package/esm/select/core/select-utils.js +2 -2
  1022. package/esm/select/index.d.ts +1 -1
  1023. package/esm/select/index.js +1 -1
  1024. package/esm/select/option/index.d.ts +1 -1
  1025. package/esm/select/option/index.js +1 -1
  1026. package/esm/select/option/option-adapter.d.ts +1 -1
  1027. package/esm/select/option/option-adapter.js +1 -1
  1028. package/esm/select/option/option-constants.d.ts +1 -1
  1029. package/esm/select/option/option-constants.js +1 -1
  1030. package/esm/select/option/option-foundation.d.ts +1 -1
  1031. package/esm/select/option/option-foundation.js +1 -1
  1032. package/esm/select/option/option.d.ts +1 -1
  1033. package/esm/select/option/option.js +1 -1
  1034. package/esm/select/option-group/index.d.ts +1 -1
  1035. package/esm/select/option-group/index.js +1 -1
  1036. package/esm/select/option-group/option-group-constants.d.ts +1 -1
  1037. package/esm/select/option-group/option-group-constants.js +1 -1
  1038. package/esm/select/option-group/option-group.d.ts +13 -2
  1039. package/esm/select/option-group/option-group.js +8 -1
  1040. package/esm/select/select/index.d.ts +1 -1
  1041. package/esm/select/select/index.js +1 -1
  1042. package/esm/select/select/select-adapter.d.ts +1 -1
  1043. package/esm/select/select/select-adapter.js +1 -1
  1044. package/esm/select/select/select-constants.d.ts +2 -2
  1045. package/esm/select/select/select-constants.js +1 -1
  1046. package/esm/select/select/select-foundation.d.ts +1 -1
  1047. package/esm/select/select/select-foundation.js +1 -1
  1048. package/esm/select/select/select.d.ts +1 -1
  1049. package/esm/select/select/select.js +12 -10
  1050. package/esm/select/select-component-delegate.d.ts +1 -1
  1051. package/esm/select/select-component-delegate.js +1 -1
  1052. package/esm/select/select-dropdown/index.d.ts +1 -1
  1053. package/esm/select/select-dropdown/index.js +1 -1
  1054. package/esm/select/select-dropdown/select-dropdown-adapter.d.ts +1 -1
  1055. package/esm/select/select-dropdown/select-dropdown-adapter.js +1 -1
  1056. package/esm/select/select-dropdown/select-dropdown-constants.d.ts +1 -1
  1057. package/esm/select/select-dropdown/select-dropdown-constants.js +1 -1
  1058. package/esm/select/select-dropdown/select-dropdown-foundation.d.ts +1 -1
  1059. package/esm/select/select-dropdown/select-dropdown-foundation.js +1 -1
  1060. package/esm/select/select-dropdown/select-dropdown.d.ts +1 -1
  1061. package/esm/select/select-dropdown/select-dropdown.js +6 -6
  1062. package/esm/skeleton/index.d.ts +1 -1
  1063. package/esm/skeleton/index.js +1 -1
  1064. package/esm/skeleton/skeleton-constants.d.ts +1 -1
  1065. package/esm/skeleton/skeleton-constants.js +1 -1
  1066. package/esm/skeleton/skeleton.d.ts +1 -1
  1067. package/esm/skeleton/skeleton.js +1 -1
  1068. package/esm/slider/index.d.ts +1 -1
  1069. package/esm/slider/index.js +1 -1
  1070. package/esm/slider/slider-component-delegate.d.ts +1 -1
  1071. package/esm/slider/slider-component-delegate.js +1 -1
  1072. package/esm/slider/slider-constants.d.ts +1 -1
  1073. package/esm/slider/slider-constants.js +1 -1
  1074. package/esm/slider/slider.d.ts +1 -1
  1075. package/esm/slider/slider.js +1 -1
  1076. package/esm/split-view/core/index.d.ts +1 -1
  1077. package/esm/split-view/core/index.js +1 -1
  1078. package/esm/split-view/core/split-view-base.d.ts +1 -1
  1079. package/esm/split-view/core/split-view-base.js +1 -1
  1080. package/esm/split-view/index.d.ts +1 -1
  1081. package/esm/split-view/index.js +1 -1
  1082. package/esm/split-view/split-view/index.d.ts +1 -1
  1083. package/esm/split-view/split-view/index.js +1 -1
  1084. package/esm/split-view/split-view/split-view-adapter.d.ts +1 -1
  1085. package/esm/split-view/split-view/split-view-adapter.js +1 -1
  1086. package/esm/split-view/split-view/split-view-constants.d.ts +1 -1
  1087. package/esm/split-view/split-view/split-view-constants.js +1 -1
  1088. package/esm/split-view/split-view/split-view-foundation.d.ts +1 -1
  1089. package/esm/split-view/split-view/split-view-foundation.js +1 -1
  1090. package/esm/split-view/split-view/split-view.d.ts +1 -1
  1091. package/esm/split-view/split-view/split-view.js +4 -2
  1092. package/esm/split-view/split-view-panel/index.d.ts +1 -1
  1093. package/esm/split-view/split-view-panel/index.js +1 -1
  1094. package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +1 -1
  1095. package/esm/split-view/split-view-panel/split-view-panel-adapter.js +1 -1
  1096. package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +1 -1
  1097. package/esm/split-view/split-view-panel/split-view-panel-constants.js +1 -1
  1098. package/esm/split-view/split-view-panel/split-view-panel-foundation.d.ts +1 -1
  1099. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +1 -1
  1100. package/esm/split-view/split-view-panel/split-view-panel-utils.d.ts +1 -1
  1101. package/esm/split-view/split-view-panel/split-view-panel-utils.js +1 -1
  1102. package/esm/split-view/split-view-panel/split-view-panel.d.ts +1 -1
  1103. package/esm/split-view/split-view-panel/split-view-panel.js +2 -2
  1104. package/esm/stepper/core/stepper-utils.d.ts +1 -1
  1105. package/esm/stepper/core/stepper-utils.js +1 -1
  1106. package/esm/stepper/index.d.ts +1 -1
  1107. package/esm/stepper/index.js +1 -1
  1108. package/esm/stepper/step/index.d.ts +1 -1
  1109. package/esm/stepper/step/index.js +1 -1
  1110. package/esm/stepper/step/step-adapter.d.ts +1 -1
  1111. package/esm/stepper/step/step-adapter.js +1 -1
  1112. package/esm/stepper/step/step-constants.d.ts +1 -1
  1113. package/esm/stepper/step/step-constants.js +1 -1
  1114. package/esm/stepper/step/step-foundation.d.ts +1 -1
  1115. package/esm/stepper/step/step-foundation.js +1 -1
  1116. package/esm/stepper/step/step.d.ts +1 -1
  1117. package/esm/stepper/step/step.js +7 -4
  1118. package/esm/stepper/stepper/index.d.ts +1 -1
  1119. package/esm/stepper/stepper/index.js +1 -1
  1120. package/esm/stepper/stepper/stepper-adapter.d.ts +1 -1
  1121. package/esm/stepper/stepper/stepper-adapter.js +1 -1
  1122. package/esm/stepper/stepper/stepper-constants.d.ts +1 -1
  1123. package/esm/stepper/stepper/stepper-constants.js +1 -1
  1124. package/esm/stepper/stepper/stepper-foundation.d.ts +1 -1
  1125. package/esm/stepper/stepper/stepper-foundation.js +1 -1
  1126. package/esm/stepper/stepper/stepper.d.ts +1 -1
  1127. package/esm/stepper/stepper/stepper.js +1 -1
  1128. package/esm/switch/index.d.ts +1 -1
  1129. package/esm/switch/index.js +1 -1
  1130. package/esm/switch/switch-component-delegate.d.ts +1 -1
  1131. package/esm/switch/switch-component-delegate.js +1 -1
  1132. package/esm/switch/switch-constants.d.ts +1 -1
  1133. package/esm/switch/switch-constants.js +1 -1
  1134. package/esm/switch/switch.d.ts +1 -1
  1135. package/esm/switch/switch.js +38 -13
  1136. package/esm/table/index.d.ts +1 -1
  1137. package/esm/table/index.js +1 -1
  1138. package/esm/table/multi-sort-manager.d.ts +1 -1
  1139. package/esm/table/multi-sort-manager.js +1 -1
  1140. package/esm/table/table-adapter.d.ts +1 -1
  1141. package/esm/table/table-adapter.js +1 -1
  1142. package/esm/table/table-constants.d.ts +1 -1
  1143. package/esm/table/table-constants.js +1 -1
  1144. package/esm/table/table-foundation.d.ts +8 -1
  1145. package/esm/table/table-foundation.js +10 -1
  1146. package/esm/table/table-row.d.ts +1 -1
  1147. package/esm/table/table-row.js +1 -1
  1148. package/esm/table/table-utils.d.ts +1 -1
  1149. package/esm/table/table-utils.js +14 -7
  1150. package/esm/table/table.d.ts +8 -1
  1151. package/esm/table/table.js +9 -1
  1152. package/esm/table/types.d.ts +9 -5
  1153. package/esm/table/types.js +1 -1
  1154. package/esm/tabs/index.d.ts +1 -1
  1155. package/esm/tabs/index.js +1 -1
  1156. package/esm/tabs/tab/index.d.ts +1 -1
  1157. package/esm/tabs/tab/index.js +1 -1
  1158. package/esm/tabs/tab/tab-adapter.d.ts +1 -1
  1159. package/esm/tabs/tab/tab-adapter.js +1 -1
  1160. package/esm/tabs/tab/tab-constants.d.ts +1 -1
  1161. package/esm/tabs/tab/tab-constants.js +1 -1
  1162. package/esm/tabs/tab/tab-foundation.d.ts +1 -1
  1163. package/esm/tabs/tab/tab-foundation.js +1 -1
  1164. package/esm/tabs/tab/tab.d.ts +1 -1
  1165. package/esm/tabs/tab/tab.js +1 -1
  1166. package/esm/tabs/tab-bar/index.d.ts +1 -1
  1167. package/esm/tabs/tab-bar/index.js +1 -1
  1168. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +1 -1
  1169. package/esm/tabs/tab-bar/tab-bar-adapter.js +1 -1
  1170. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +1 -1
  1171. package/esm/tabs/tab-bar/tab-bar-constants.js +1 -1
  1172. package/esm/tabs/tab-bar/tab-bar-foundation.d.ts +1 -1
  1173. package/esm/tabs/tab-bar/tab-bar-foundation.js +1 -1
  1174. package/esm/tabs/tab-bar/tab-bar.d.ts +1 -1
  1175. package/esm/tabs/tab-bar/tab-bar.js +1 -1
  1176. package/esm/text-field/index.d.ts +1 -1
  1177. package/esm/text-field/index.js +1 -1
  1178. package/esm/text-field/text-field-adapter.d.ts +1 -1
  1179. package/esm/text-field/text-field-adapter.js +1 -1
  1180. package/esm/text-field/text-field-component-delegate.d.ts +1 -1
  1181. package/esm/text-field/text-field-component-delegate.js +1 -1
  1182. package/esm/text-field/text-field-constants.d.ts +2 -2
  1183. package/esm/text-field/text-field-constants.js +1 -1
  1184. package/esm/text-field/text-field-foundation.d.ts +1 -1
  1185. package/esm/text-field/text-field-foundation.js +1 -1
  1186. package/esm/text-field/text-field.d.ts +1 -1
  1187. package/esm/text-field/text-field.js +2 -2
  1188. package/esm/theme/color-constants.d.ts +1 -1
  1189. package/esm/theme/color-constants.js +1 -1
  1190. package/esm/theme/index.d.ts +1 -1
  1191. package/esm/theme/index.js +1 -1
  1192. package/esm/theme/theme-utils.d.ts +1 -1
  1193. package/esm/theme/theme-utils.js +1 -1
  1194. package/esm/time-picker/index.d.ts +1 -1
  1195. package/esm/time-picker/index.js +1 -1
  1196. package/esm/time-picker/time-picker-adapter.d.ts +1 -1
  1197. package/esm/time-picker/time-picker-adapter.js +1 -1
  1198. package/esm/time-picker/time-picker-component-delegate.d.ts +1 -1
  1199. package/esm/time-picker/time-picker-component-delegate.js +1 -1
  1200. package/esm/time-picker/time-picker-constants.d.ts +1 -1
  1201. package/esm/time-picker/time-picker-constants.js +1 -1
  1202. package/esm/time-picker/time-picker-foundation.d.ts +1 -1
  1203. package/esm/time-picker/time-picker-foundation.js +4 -2
  1204. package/esm/time-picker/time-picker-utils.d.ts +1 -1
  1205. package/esm/time-picker/time-picker-utils.js +1 -1
  1206. package/esm/time-picker/time-picker.d.ts +1 -1
  1207. package/esm/time-picker/time-picker.js +1 -1
  1208. package/esm/toast/index.d.ts +1 -1
  1209. package/esm/toast/index.js +1 -1
  1210. package/esm/toast/toast-adapter.d.ts +1 -1
  1211. package/esm/toast/toast-adapter.js +1 -1
  1212. package/esm/toast/toast-constants.d.ts +1 -1
  1213. package/esm/toast/toast-constants.js +1 -1
  1214. package/esm/toast/toast-foundation.d.ts +1 -1
  1215. package/esm/toast/toast-foundation.js +1 -1
  1216. package/esm/toast/toast.d.ts +1 -1
  1217. package/esm/toast/toast.js +1 -1
  1218. package/esm/toolbar/index.d.ts +1 -1
  1219. package/esm/toolbar/index.js +1 -1
  1220. package/esm/toolbar/toolbar-constants.d.ts +1 -1
  1221. package/esm/toolbar/toolbar-constants.js +1 -1
  1222. package/esm/toolbar/toolbar.d.ts +1 -1
  1223. package/esm/toolbar/toolbar.js +3 -3
  1224. package/esm/tooltip/index.d.ts +1 -1
  1225. package/esm/tooltip/index.js +1 -1
  1226. package/esm/tooltip/tooltip-adapter.d.ts +1 -1
  1227. package/esm/tooltip/tooltip-adapter.js +1 -1
  1228. package/esm/tooltip/tooltip-constants.d.ts +1 -1
  1229. package/esm/tooltip/tooltip-constants.js +1 -1
  1230. package/esm/tooltip/tooltip-foundation.d.ts +1 -1
  1231. package/esm/tooltip/tooltip-foundation.js +1 -1
  1232. package/esm/tooltip/tooltip-utils.d.ts +1 -1
  1233. package/esm/tooltip/tooltip-utils.js +1 -1
  1234. package/esm/tooltip/tooltip.d.ts +1 -1
  1235. package/esm/tooltip/tooltip.js +1 -1
  1236. package/esm/utils/color-utils.d.ts +1 -1
  1237. package/esm/utils/color-utils.js +1 -1
  1238. package/esm/utils/index.d.ts +1 -1
  1239. package/esm/utils/index.js +1 -1
  1240. package/esm/view-switcher/index.d.ts +1 -1
  1241. package/esm/view-switcher/index.js +1 -1
  1242. package/esm/view-switcher/view/index.d.ts +1 -1
  1243. package/esm/view-switcher/view/index.js +1 -1
  1244. package/esm/view-switcher/view/view-constants.d.ts +1 -1
  1245. package/esm/view-switcher/view/view-constants.js +1 -1
  1246. package/esm/view-switcher/view/view.d.ts +1 -1
  1247. package/esm/view-switcher/view/view.js +1 -1
  1248. package/esm/view-switcher/view-switcher-adapter.d.ts +1 -1
  1249. package/esm/view-switcher/view-switcher-adapter.js +1 -1
  1250. package/esm/view-switcher/view-switcher-constants.d.ts +1 -1
  1251. package/esm/view-switcher/view-switcher-constants.js +1 -1
  1252. package/esm/view-switcher/view-switcher-foundation.d.ts +1 -1
  1253. package/esm/view-switcher/view-switcher-foundation.js +1 -1
  1254. package/esm/view-switcher/view-switcher.d.ts +1 -1
  1255. package/esm/view-switcher/view-switcher.js +1 -1
  1256. package/package.json +31 -4
  1257. package/styles/app-bar/_mixins.scss +1 -1
  1258. package/styles/app-bar/_variables.scss +1 -1
  1259. package/styles/app-bar/app-bar.scss +1 -1
  1260. package/styles/app-bar/search/_mixins.scss +1 -1
  1261. package/styles/app-bar/search/_variables.scss +1 -1
  1262. package/styles/app-bar/search/app-bar-search.scss +1 -1
  1263. package/styles/autocomplete/autocomplete.scss +1 -1
  1264. package/styles/avatar/_mixins.scss +1 -1
  1265. package/styles/avatar/_variables.scss +1 -1
  1266. package/styles/avatar/avatar.scss +1 -1
  1267. package/styles/backdrop/_mixins.scss +1 -1
  1268. package/styles/backdrop/_variables.scss +1 -1
  1269. package/styles/backdrop/backdrop.scss +1 -1
  1270. package/styles/badge/_mixins.scss +1 -1
  1271. package/styles/badge/_variables.scss +1 -1
  1272. package/styles/badge/badge.scss +1 -1
  1273. package/styles/banner/_mixins.scss +1 -1
  1274. package/styles/banner/_variables.scss +1 -1
  1275. package/styles/banner/banner.scss +1 -1
  1276. package/styles/bottom-sheet/_mixins.scss +1 -1
  1277. package/styles/bottom-sheet/_variables.scss +1 -1
  1278. package/styles/bottom-sheet/bottom-sheet.scss +1 -1
  1279. package/styles/busy-indicator/_mixins.scss +1 -1
  1280. package/styles/busy-indicator/_variables.scss +1 -1
  1281. package/styles/busy-indicator/busy-indicator.scss +1 -1
  1282. package/styles/busy-indicator/forge-busy-indicator.scss +1 -1
  1283. package/styles/button/_button-base.scss +1 -1
  1284. package/styles/button/_button-filled-theme.scss +1 -1
  1285. package/styles/button/_button-filled.scss +1 -1
  1286. package/styles/button/_button-outlined-theme.scss +1 -1
  1287. package/styles/button/_button-outlined.scss +1 -1
  1288. package/styles/button/_button-protected-theme.scss +1 -1
  1289. package/styles/button/_button-protected.scss +1 -1
  1290. package/styles/button/_button-ripple.scss +1 -1
  1291. package/styles/button/_button-shared-theme.scss +1 -1
  1292. package/styles/button/_button-text-theme.scss +1 -1
  1293. package/styles/button/_button-text.scss +1 -1
  1294. package/styles/button/_button.mixins.scss +1 -1
  1295. package/styles/button/_mixins.scss +1 -1
  1296. package/styles/button/forge-button.scss +1 -1
  1297. package/styles/button-toggle/button-toggle/_mixins.scss +1 -1
  1298. package/styles/button-toggle/button-toggle/button-toggle.scss +1 -1
  1299. package/styles/button-toggle/button-toggle-group/_mixins.scss +1 -1
  1300. package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +1 -1
  1301. package/styles/calendar/_mixins.scss +1 -1
  1302. package/styles/calendar/_variables.scss +1 -1
  1303. package/styles/calendar/calendar-menu/_mixins.scss +1 -1
  1304. package/styles/calendar/calendar-menu/_variables.scss +1 -1
  1305. package/styles/calendar/calendar-menu/calendar-menu.scss +1 -1
  1306. package/styles/calendar/calendar.scss +1 -1
  1307. package/styles/card/_mixins.scss +1 -1
  1308. package/styles/card/_variables.scss +1 -1
  1309. package/styles/card/card.scss +1 -1
  1310. package/styles/checkbox/_checkbox-custom-properties.scss +1 -1
  1311. package/styles/checkbox/_checkbox-theme.scss +1 -1
  1312. package/styles/checkbox/_checkbox.mixins.scss +1 -1
  1313. package/styles/checkbox/checkbox.scss +1 -1
  1314. package/styles/chip-field/_base.scss +1 -1
  1315. package/styles/chip-field/_core.scss +1 -1
  1316. package/styles/chip-field/_mixins.scss +1 -1
  1317. package/styles/chip-field/_selector.scss +13 -14
  1318. package/styles/chip-field/_variables.scss +1 -1
  1319. package/styles/chip-field/chip-field.scss +2 -2
  1320. package/styles/chips/chip/_mixins.scss +1 -1
  1321. package/styles/chips/chip/_variables.scss +1 -1
  1322. package/styles/chips/chip/chip.scss +1 -1
  1323. package/styles/chips/chip-set/_mixins.scss +1 -1
  1324. package/styles/chips/chip-set/_variables.scss +1 -1
  1325. package/styles/chips/chip-set/chip-set.scss +1 -1
  1326. package/styles/circular-progress/_keyframes.scss +1 -1
  1327. package/styles/circular-progress/_mixins.scss +1 -1
  1328. package/styles/circular-progress/_variables.scss +1 -1
  1329. package/styles/circular-progress/circular-progress.scss +1 -1
  1330. package/styles/color-picker/_mixins.scss +1 -1
  1331. package/styles/color-picker/_variables.scss +1 -1
  1332. package/styles/color-picker/color-picker.scss +1 -1
  1333. package/styles/date-picker/date-picker.scss +1 -1
  1334. package/styles/date-range-picker/date-range-picker.scss +1 -1
  1335. package/styles/dialog/_mixins.scss +1 -1
  1336. package/styles/dialog/_variables.scss +1 -1
  1337. package/styles/dialog/dialog.scss +1 -1
  1338. package/styles/dialog/forge-dialog-utils.scss +1 -1
  1339. package/styles/dialog/forge-dialog.scss +1 -1
  1340. package/styles/divider/_mixins.scss +1 -1
  1341. package/styles/divider/_variables.scss +1 -1
  1342. package/styles/divider/divider.scss +1 -1
  1343. package/styles/drawer/base/_mixins.scss +1 -1
  1344. package/styles/drawer/base/_variables.scss +1 -1
  1345. package/styles/drawer/drawer/_mixins.scss +1 -1
  1346. package/styles/drawer/drawer/_variables.scss +1 -1
  1347. package/styles/drawer/drawer/drawer.scss +1 -1
  1348. package/styles/drawer/mini-drawer/_mixins.scss +1 -1
  1349. package/styles/drawer/mini-drawer/_variables.scss +1 -1
  1350. package/styles/drawer/mini-drawer/mini-drawer.scss +1 -1
  1351. package/styles/drawer/modal-drawer/_mixins.scss +1 -1
  1352. package/styles/drawer/modal-drawer/modal-drawer.scss +1 -1
  1353. package/styles/expansion-panel/_mixins.scss +1 -1
  1354. package/styles/expansion-panel/expansion-panel.scss +1 -1
  1355. package/styles/expansion-panel/forge-expansion-panel.scss +1 -1
  1356. package/styles/field/_base.scss +3 -3
  1357. package/styles/field/_core.scss +1 -1
  1358. package/styles/field/_selector.scss +2 -2
  1359. package/styles/field/_utils.scss +1 -1
  1360. package/styles/field/_variables.scss +1 -1
  1361. package/styles/file-picker/_mixins.scss +1 -1
  1362. package/styles/file-picker/_variables.scss +1 -1
  1363. package/styles/file-picker/file-picker.scss +1 -1
  1364. package/styles/floating-action-button/_extended-fab-theme.scss +1 -1
  1365. package/styles/floating-action-button/_fab-custom-properties.scss +1 -1
  1366. package/styles/floating-action-button/_fab-theme.scss +1 -1
  1367. package/styles/floating-action-button/_fab.mixins.scss +1 -1
  1368. package/styles/floating-action-button/forge-floating-action-button.scss +1 -1
  1369. package/styles/floating-label/_mixins.scss +1 -1
  1370. package/styles/floating-label/_variables.scss +1 -1
  1371. package/styles/floating-label/forge-floating-label.scss +1 -1
  1372. package/styles/forge-core.scss +1 -1
  1373. package/styles/forge-dark.scss +1 -1
  1374. package/styles/forge.scss +1 -1
  1375. package/styles/form-field/_mixins.scss +1 -1
  1376. package/styles/form-field/forge-form-field.scss +1 -1
  1377. package/styles/icon/_mixins.scss +1 -1
  1378. package/styles/icon/_variables.scss +1 -1
  1379. package/styles/icon/icon.scss +1 -1
  1380. package/styles/icon-button/_mixins.scss +1 -1
  1381. package/styles/icon-button/_variables.scss +1 -1
  1382. package/styles/icon-button/forge-icon-button.scss +1 -1
  1383. package/styles/inline-message/_mixins.scss +1 -1
  1384. package/styles/inline-message/_variables.scss +1 -1
  1385. package/styles/inline-message/inline-message.scss +1 -1
  1386. package/styles/label-value/_mixins.scss +1 -1
  1387. package/styles/label-value/_variables.scss +1 -1
  1388. package/styles/label-value/label-value.scss +1 -1
  1389. package/styles/linear-progress/_mixins.scss +1 -1
  1390. package/styles/linear-progress/_variables.scss +1 -1
  1391. package/styles/linear-progress/linear-progress.scss +1 -1
  1392. package/styles/list/list/_mixins.scss +1 -1
  1393. package/styles/list/list/list.scss +1 -1
  1394. package/styles/list/list-item/_mixins.scss +29 -18
  1395. package/styles/list/list-item/_variables.scss +14 -5
  1396. package/styles/list/list-item/list-item.scss +1 -1
  1397. package/styles/menu/menu.scss +1 -1
  1398. package/styles/open-icon/_mixins.scss +1 -1
  1399. package/styles/open-icon/_variables.scss +1 -1
  1400. package/styles/open-icon/open-icon.scss +1 -1
  1401. package/styles/page-state/_mixins.scss +1 -1
  1402. package/styles/page-state/_variables.scss +1 -1
  1403. package/styles/page-state/page-state.scss +1 -1
  1404. package/styles/paginator/_mixins.scss +1 -1
  1405. package/styles/paginator/_variables.scss +1 -1
  1406. package/styles/paginator/paginator.scss +1 -1
  1407. package/styles/popup/_mixins.scss +1 -1
  1408. package/styles/popup/_variables.scss +1 -1
  1409. package/styles/popup/forge-popup.scss +1 -1
  1410. package/styles/popup/popup.scss +5 -1
  1411. package/styles/product-icon/_mixins.scss +1 -1
  1412. package/styles/product-icon/_variables.scss +1 -1
  1413. package/styles/product-icon/product-icon.scss +1 -1
  1414. package/styles/profile-card/_mixins.scss +1 -1
  1415. package/styles/profile-card/profile-card.scss +1 -1
  1416. package/styles/quantity-field/_mixins.scss +1 -1
  1417. package/styles/quantity-field/forge-quantity-field.scss +1 -1
  1418. package/styles/quantity-field/quantity-field.scss +1 -1
  1419. package/styles/radio/_mixins.scss +1 -1
  1420. package/styles/radio/_radio-theme.scss +1 -1
  1421. package/styles/radio/radio.scss +1 -1
  1422. package/styles/ripple/forge-ripple.scss +1 -1
  1423. package/styles/scaffold/_mixins.scss +1 -1
  1424. package/styles/scaffold/forge-scaffold.scss +1 -1
  1425. package/styles/scaffold/scaffold.scss +1 -1
  1426. package/styles/select/select/_base.scss +1 -1
  1427. package/styles/select/select/_core.scss +1 -1
  1428. package/styles/select/select/_mixins.scss +1 -1
  1429. package/styles/select/select/_selector.scss +1 -1
  1430. package/styles/select/select/_variables.scss +1 -1
  1431. package/styles/select/select/select.scss +1 -1
  1432. package/styles/select/select-dropdown/select-dropdown.scss +1 -1
  1433. package/styles/skeleton/_mixins.scss +1 -1
  1434. package/styles/skeleton/_variables.scss +1 -1
  1435. package/styles/skeleton/skeleton.scss +1 -1
  1436. package/styles/slider/slider.scss +1 -1
  1437. package/styles/split-view/split-view/_mixins.scss +1 -1
  1438. package/styles/split-view/split-view/split-view.scss +1 -1
  1439. package/styles/split-view/split-view-panel/_mixins.scss +1 -1
  1440. package/styles/split-view/split-view-panel/_variables.scss +1 -1
  1441. package/styles/split-view/split-view-panel/split-view-panel.scss +1 -1
  1442. package/styles/stepper/step/_mixins.scss +1 -1
  1443. package/styles/stepper/step/_variables.scss +1 -1
  1444. package/styles/stepper/step/step.scss +1 -1
  1445. package/styles/stepper/stepper/_mixins.scss +1 -1
  1446. package/styles/stepper/stepper/stepper.scss +1 -1
  1447. package/styles/switch/_switch-mixins.scss +1 -1
  1448. package/styles/switch/_switch-theme.scss +1 -1
  1449. package/styles/switch/switch.scss +1 -1
  1450. package/styles/table/_mixins.scss +1 -1
  1451. package/styles/table/_variables.scss +1 -1
  1452. package/styles/table/forge-table.scss +1 -1
  1453. package/styles/tabs/tab/_mixins.scss +1 -1
  1454. package/styles/tabs/tab/_variables.scss +1 -1
  1455. package/styles/tabs/tab/tab.scss +1 -1
  1456. package/styles/tabs/tab-bar/_mixins.scss +1 -1
  1457. package/styles/tabs/tab-bar/tab-bar.scss +1 -1
  1458. package/styles/text-field/_base.scss +1 -1
  1459. package/styles/text-field/_core.scss +1 -1
  1460. package/styles/text-field/_mixins.scss +1 -1
  1461. package/styles/text-field/_selector.scss +1 -1
  1462. package/styles/text-field/_variables.scss +1 -1
  1463. package/styles/text-field/text-field.scss +1 -1
  1464. package/styles/theme/_custom-properties.scss +1 -1
  1465. package/styles/theme/_icon-mixins.scss +1 -1
  1466. package/styles/theme/_index.scss +1 -1
  1467. package/styles/theme/_keys.scss +1 -1
  1468. package/styles/theme/_theme-dark.scss +1 -1
  1469. package/styles/theme/_theme-utils.scss +1 -1
  1470. package/styles/theme/_theme-values.scss +1 -1
  1471. package/styles/theme/_theme.scss +1 -1
  1472. package/styles/theme/forge-material-icons.scss +1 -1
  1473. package/styles/theme/forge-theme.scss +1 -1
  1474. package/styles/time-picker/time-picker.scss +1 -1
  1475. package/styles/toast/_mixins.scss +1 -1
  1476. package/styles/toast/_variables.scss +1 -1
  1477. package/styles/toast/toast.scss +1 -1
  1478. package/styles/toolbar/_mixins.scss +2 -3
  1479. package/styles/toolbar/_variables.scss +2 -2
  1480. package/styles/toolbar/toolbar.scss +14 -1
  1481. package/styles/tooltip/_mixins.scss +1 -1
  1482. package/styles/tooltip/_variables.scss +1 -1
  1483. package/styles/tooltip/forge-tooltip.scss +1 -1
  1484. package/styles/typography/_index.scss +1 -1
  1485. package/styles/typography/_mixins.scss +1 -1
  1486. package/styles/typography/_variables.scss +1 -1
  1487. package/styles/typography/forge-form.scss +1 -1
  1488. package/styles/typography/forge-typography.scss +1 -1
  1489. package/styles/utils/_functions-grid.scss +1 -1
  1490. package/styles/utils/_mixins-animation.scss +1 -1
  1491. package/styles/utils/_mixins-core.scss +1 -1
  1492. package/styles/utils/_mixins-flex.scss +1 -1
  1493. package/styles/utils/_mixins-grid.scss +1 -1
  1494. package/styles/utils/_mixins-media.scss +1 -1
  1495. package/styles/utils/_mixins.scss +1 -1
  1496. package/styles/utils/_variables-flex.scss +1 -1
  1497. package/styles/utils/_variables-grid.scss +1 -1
  1498. package/styles/utils/_variables-media.scss +1 -1
  1499. package/styles/utils/forge-flex.scss +1 -1
  1500. package/styles/utils/forge-grid.scss +1 -1
  1501. package/styles/utils/forge-utils.scss +1 -1
  1502. package/styles/view-switcher/_mixins.scss +1 -1
  1503. package/styles/view-switcher/_variables.scss +1 -1
  1504. package/styles/view-switcher/view/view.scss +1 -1
  1505. package/styles/view-switcher/view-switcher.scss +1 -1
  1506. package/dist/esm/chunks/chunk.2SAHWDGJ.js +0 -7
  1507. package/dist/esm/chunks/chunk.33Q5FK2H.js +0 -7
  1508. package/dist/esm/chunks/chunk.35U4OX7S.js +0 -7
  1509. package/dist/esm/chunks/chunk.3E5QKMHL.js +0 -7
  1510. package/dist/esm/chunks/chunk.3E5QKMHL.js.map +0 -7
  1511. package/dist/esm/chunks/chunk.3UMBCR4P.js +0 -7
  1512. package/dist/esm/chunks/chunk.3UMBCR4P.js.map +0 -7
  1513. package/dist/esm/chunks/chunk.444GNOS4.js +0 -7
  1514. package/dist/esm/chunks/chunk.4KBQ5AJJ.js +0 -7
  1515. package/dist/esm/chunks/chunk.4RNKUXN3.js +0 -7
  1516. package/dist/esm/chunks/chunk.4RNKUXN3.js.map +0 -7
  1517. package/dist/esm/chunks/chunk.54QFNVMG.js +0 -7
  1518. package/dist/esm/chunks/chunk.5K5SIZRX.js +0 -7
  1519. package/dist/esm/chunks/chunk.5WMEFHVN.js +0 -7
  1520. package/dist/esm/chunks/chunk.5XQVZQ4U.js +0 -7
  1521. package/dist/esm/chunks/chunk.73G2CH2D.js +0 -7
  1522. package/dist/esm/chunks/chunk.75LTLEZ7.js +0 -7
  1523. package/dist/esm/chunks/chunk.7NXPOEXV.js +0 -7
  1524. package/dist/esm/chunks/chunk.7NXPOEXV.js.map +0 -7
  1525. package/dist/esm/chunks/chunk.7O7V3N4A.js +0 -7
  1526. package/dist/esm/chunks/chunk.7ZS4N2FT.js +0 -8
  1527. package/dist/esm/chunks/chunk.7ZS4N2FT.js.map +0 -7
  1528. package/dist/esm/chunks/chunk.APGFXXJ7.js +0 -7
  1529. package/dist/esm/chunks/chunk.AVIF5W7A.js +0 -7
  1530. package/dist/esm/chunks/chunk.B5ABD4CZ.js +0 -7
  1531. package/dist/esm/chunks/chunk.B5ABD4CZ.js.map +0 -7
  1532. package/dist/esm/chunks/chunk.BCUBTR5O.js +0 -7
  1533. package/dist/esm/chunks/chunk.BFNAQQCU.js +0 -7
  1534. package/dist/esm/chunks/chunk.BFNAQQCU.js.map +0 -7
  1535. package/dist/esm/chunks/chunk.BOENNFXE.js +0 -7
  1536. package/dist/esm/chunks/chunk.BOENNFXE.js.map +0 -7
  1537. package/dist/esm/chunks/chunk.CNL6EUCO.js +0 -7
  1538. package/dist/esm/chunks/chunk.CNL6EUCO.js.map +0 -7
  1539. package/dist/esm/chunks/chunk.CV5E5W6I.js +0 -7
  1540. package/dist/esm/chunks/chunk.D3LMXSX6.js +0 -7
  1541. package/dist/esm/chunks/chunk.DIYJJHWP.js +0 -7
  1542. package/dist/esm/chunks/chunk.DPCNIOLL.js +0 -7
  1543. package/dist/esm/chunks/chunk.EJ4ASQET.js +0 -7
  1544. package/dist/esm/chunks/chunk.ELS7SQAV.js +0 -7
  1545. package/dist/esm/chunks/chunk.ELS7SQAV.js.map +0 -7
  1546. package/dist/esm/chunks/chunk.FPV4XEUK.js +0 -7
  1547. package/dist/esm/chunks/chunk.G77PXLAU.js +0 -7
  1548. package/dist/esm/chunks/chunk.HN4PXH3D.js +0 -7
  1549. package/dist/esm/chunks/chunk.HSJQA42U.js +0 -7
  1550. package/dist/esm/chunks/chunk.HUWXZ4ZN.js +0 -29
  1551. package/dist/esm/chunks/chunk.HUWXZ4ZN.js.map +0 -7
  1552. package/dist/esm/chunks/chunk.I2YRKTG7.js +0 -7
  1553. package/dist/esm/chunks/chunk.IFZXG3LI.js +0 -7
  1554. package/dist/esm/chunks/chunk.IJIKFXUT.js +0 -7
  1555. package/dist/esm/chunks/chunk.IMK2LFWR.js.map +0 -7
  1556. package/dist/esm/chunks/chunk.JB2N65SR.js +0 -7
  1557. package/dist/esm/chunks/chunk.JB2N65SR.js.map +0 -7
  1558. package/dist/esm/chunks/chunk.JNOCXQVB.js +0 -7
  1559. package/dist/esm/chunks/chunk.JNOCXQVB.js.map +0 -7
  1560. package/dist/esm/chunks/chunk.K43ZNKT2.js +0 -7
  1561. package/dist/esm/chunks/chunk.K753A3KI.js +0 -29
  1562. package/dist/esm/chunks/chunk.KLK2FBDP.js +0 -7
  1563. package/dist/esm/chunks/chunk.KLK2FBDP.js.map +0 -7
  1564. package/dist/esm/chunks/chunk.KYCC3C3M.js +0 -7
  1565. package/dist/esm/chunks/chunk.KYCC3C3M.js.map +0 -7
  1566. package/dist/esm/chunks/chunk.LLHA3SQR.js +0 -7
  1567. package/dist/esm/chunks/chunk.LV7GGIUI.js +0 -7
  1568. package/dist/esm/chunks/chunk.LV7GGIUI.js.map +0 -7
  1569. package/dist/esm/chunks/chunk.MGTNCCW3.js +0 -7
  1570. package/dist/esm/chunks/chunk.MNBJMPJ6.js +0 -7
  1571. package/dist/esm/chunks/chunk.NGIBMR3Q.js +0 -7
  1572. package/dist/esm/chunks/chunk.NGIBMR3Q.js.map +0 -7
  1573. package/dist/esm/chunks/chunk.NNGE722W.js +0 -7
  1574. package/dist/esm/chunks/chunk.NNGE722W.js.map +0 -7
  1575. package/dist/esm/chunks/chunk.O3G6ZLJN.js +0 -7
  1576. package/dist/esm/chunks/chunk.O4Y6QT46.js +0 -12
  1577. package/dist/esm/chunks/chunk.OAKTW64X.js +0 -7
  1578. package/dist/esm/chunks/chunk.OAKTW64X.js.map +0 -7
  1579. package/dist/esm/chunks/chunk.OG2BI3UW.js +0 -7
  1580. package/dist/esm/chunks/chunk.OOBE3XRM.js +0 -29
  1581. package/dist/esm/chunks/chunk.OUEF6VQ6.js +0 -7
  1582. package/dist/esm/chunks/chunk.P6B3UWJ5.js +0 -7
  1583. package/dist/esm/chunks/chunk.PFD2SVJ4.js +0 -7
  1584. package/dist/esm/chunks/chunk.Q6L7T6OJ.js +0 -7
  1585. package/dist/esm/chunks/chunk.Q6L7T6OJ.js.map +0 -7
  1586. package/dist/esm/chunks/chunk.QJPH24V4.js +0 -7
  1587. package/dist/esm/chunks/chunk.QXLPBYMX.js +0 -7
  1588. package/dist/esm/chunks/chunk.QXLPBYMX.js.map +0 -7
  1589. package/dist/esm/chunks/chunk.RKKJB3EE.js +0 -7
  1590. package/dist/esm/chunks/chunk.RKKJB3EE.js.map +0 -7
  1591. package/dist/esm/chunks/chunk.RPPBBBYG.js +0 -7
  1592. package/dist/esm/chunks/chunk.SJSLC6XF.js +0 -7
  1593. package/dist/esm/chunks/chunk.SJSLC6XF.js.map +0 -7
  1594. package/dist/esm/chunks/chunk.T7ZJDAXV.js +0 -29
  1595. package/dist/esm/chunks/chunk.TLHI6K2R.js +0 -7
  1596. package/dist/esm/chunks/chunk.TR64DV3G.js +0 -7
  1597. package/dist/esm/chunks/chunk.TR64DV3G.js.map +0 -7
  1598. package/dist/esm/chunks/chunk.VMWS5OOZ.js +0 -7
  1599. package/dist/esm/chunks/chunk.VWSC3NDJ.js +0 -7
  1600. package/dist/esm/chunks/chunk.VWSC3NDJ.js.map +0 -7
  1601. package/dist/esm/chunks/chunk.WNOSTPQQ.js +0 -7
  1602. package/dist/esm/chunks/chunk.WQE6OCJR.js +0 -7
  1603. package/dist/esm/chunks/chunk.WQE6OCJR.js.map +0 -7
  1604. package/dist/esm/chunks/chunk.WV45FGTW.js +0 -7
  1605. package/dist/esm/chunks/chunk.X77WVI2H.js +0 -7
  1606. package/dist/esm/chunks/chunk.X77WVI2H.js.map +0 -7
  1607. package/dist/esm/chunks/chunk.XXA6KNXT.js +0 -7
  1608. package/dist/esm/chunks/chunk.XXA6KNXT.js.map +0 -7
  1609. package/dist/esm/chunks/chunk.XYBFFTXS.js +0 -29
  1610. package/dist/esm/chunks/chunk.Y6MPWPZU.js +0 -7
  1611. package/dist/esm/chunks/chunk.Y7Q6QI5V.js +0 -7
  1612. package/dist/esm/chunks/chunk.Y7Q6QI5V.js.map +0 -7
  1613. package/dist/esm/chunks/chunk.YAJT3P6V.js +0 -7
  1614. package/dist/esm/chunks/chunk.YHHIPP2F.js +0 -7
  1615. package/dist/esm/chunks/chunk.YPUWII7L.js +0 -7
  1616. package/dist/esm/chunks/chunk.YPUWII7L.js.map +0 -7
  1617. package/dist/esm/chunks/chunk.YWKKZLZ2.js +0 -29
  1618. package/dist/esm/chunks/chunk.ZMH4OL2E.js +0 -7
  1619. package/dist/esm/chunks/chunk.ZMH4OL2E.js.map +0 -7
  1620. /package/dist/esm/chunks/{chunk.A23NSEWA.js.map → chunk.5PXABBKU.js.map} +0 -0
  1621. /package/dist/esm/chunks/{chunk.J3NHIF6W.js.map → chunk.65G33MJV.js.map} +0 -0
  1622. /package/dist/esm/chunks/{chunk.O3G6ZLJN.js.map → chunk.CN7DHS4J.js.map} +0 -0
  1623. /package/dist/esm/chunks/{chunk.K43ZNKT2.js.map → chunk.DRI2NLIB.js.map} +0 -0
  1624. /package/dist/esm/chunks/{chunk.URBXDOF7.js.map → chunk.FL6SJHQU.js.map} +0 -0
  1625. /package/dist/esm/chunks/{chunk.6APYGKNX.js.map → chunk.HWVLZ44Q.js.map} +0 -0
  1626. /package/dist/esm/chunks/{chunk.VLTJFKGZ.js.map → chunk.MNPORZ4F.js.map} +0 -0
  1627. /package/dist/esm/chunks/{chunk.WV45FGTW.js.map → chunk.NG5EGZ5Y.js.map} +0 -0
  1628. /package/dist/esm/chunks/{chunk.SHT6BCLY.js.map → chunk.NYMNX3S7.js.map} +0 -0
  1629. /package/dist/esm/chunks/{chunk.NLZKJ53B.js.map → chunk.OGZOXNGT.js.map} +0 -0
  1630. /package/dist/esm/chunks/{chunk.BSZ2LBJX.js.map → chunk.OOW3UKT4.js.map} +0 -0
  1631. /package/dist/esm/chunks/{chunk.4T5TGQFG.js.map → chunk.YPMN5U7C.js.map} +0 -0
@@ -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
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as E}from"./chunk.MIYZJUXH.js";import{a as y}from"./chunk.5PXABBKU.js";import{a as r}from"./chunk.B3IJU6XJ.js";import{a as h,b as v}from"./chunk.OOW3UKT4.js";import{a as d,e as u,g as f,l as _}from"./chunk.MMVZJLXE.js";import{g,t as c}from"./chunk.R4NDFXVA.js";import{k as b}from"./chunk.G76HB2FK.js";import{f as o}from"./chunk.MCIQXNKY.js";var L=`${v}label-value`,I={EMPTY:"empty",ELLIPSIS:"ellipsis",DENSITY:"density",ALIGN:"align"},T={EMPTY:"forge-label-value--empty",ELLIPSIS:"forge-label-value--ellipsis",DENSE:"forge-label-value--dense",ROOMY:"forge-label-value--roomy",ALIGN_CENTER:"forge-label-value--align-center",ALIGN_RIGHT:"forge-label-value--align-right"},A={ROOT:".forge-label-value"},e={elementName:L,attributes:I,classes:T,selectors:A};var s=class extends y{constructor(t){super(t);this._rootElement=f(t,e.selectors.ROOT)}setEmpty(t){t?this._rootElement.classList.add(e.classes.EMPTY):this._rootElement.classList.remove(e.classes.EMPTY)}setEllipsis(t){t?this._rootElement.classList.add(e.classes.ELLIPSIS):this._rootElement.classList.remove(e.classes.ELLIPSIS)}setRoomy(t){c(this._rootElement,t,e.classes.ROOMY)}setDense(t){c(this._rootElement,t,e.classes.DENSE)}setAlignment(t){switch(g([e.classes.ALIGN_CENTER,e.classes.ALIGN_RIGHT],this._rootElement),t){case"center":this._rootElement.classList.add(e.classes.ALIGN_CENTER);break;case"right":this._rootElement.classList.add(e.classes.ALIGN_RIGHT);break}}};var p=class{constructor(l){this._adapter=l;this._empty=!1;this._ellipsis=!1;this._density="default";this._align="left"}initialize(){this._adapter.setEmpty(this._empty),this._adapter.setEllipsis(this._ellipsis),this._applyDensity(),this._adapter.setAlignment(this._align)}_applyDensity(){this._adapter.setRoomy(this._density==="roomy"),this._adapter.setDense(this._density==="dense")}get empty(){return this._empty}set empty(l){this._empty!==l&&(this._empty=l,this._adapter.setEmpty(this._empty),this._empty?this._adapter.setHostAttribute(e.attributes.EMPTY,""):this._adapter.removeHostAttribute(e.attributes.EMPTY))}get ellipsis(){return this._ellipsis}set ellipsis(l){this._ellipsis!==l&&(this._ellipsis=l,this._adapter.setEllipsis(this._ellipsis),this._ellipsis?this._adapter.setHostAttribute(e.attributes.ELLIPSIS,""):this._adapter.removeHostAttribute(e.attributes.ELLIPSIS))}get density(){return this._density}set density(l){this._density!==l&&(this._density=l,this._applyDensity(),this._adapter.setHostAttribute(e.attributes.DENSITY,this._density.toString()))}get align(){return this._align}set align(l){this._align!==l&&(this._align=l,this._adapter.setAlignment(this._align),this._align?this._adapter.setHostAttribute(e.attributes.ALIGN,this._align):this._adapter.removeHostAttribute(e.attributes.ALIGN))}};var C='<template><div class="forge-label-value" part="root"><div class="forge-label-value__icon-container" part="icon-container"><slot name="icon"></slot></div><div class="forge-label-value__container" part="container"><div class="forge-label-value__label" part="label-container"><slot name="label"></slot></div><div class="forge-label-value__value" part="value-container"><slot name="value"></slot></div></div></div></template>',N=":host{display:block;min-width:0}:host([hidden]){display:none}.forge-label-value{display:-webkit-box;display:flex;min-height:3rem}.forge-label-value__container{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.forge-label-value__icon-container{display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start}.forge-label-value__icon-container ::slotted([slot=icon]){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));font-size:1.25rem!important;margin-right:8px;margin-top:4px}.forge-label-value--align-center .forge-label-value__container{-webkit-box-align:center;align-items:center}.forge-label-value--align-right .forge-label-value__container{-webkit-box-align:end;align-items:flex-end}.forge-label-value__label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.8125rem;height:.8125rem;line-height:.8125rem;margin-top:.5rem}.forge-label-value__value{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);line-height:1rem;margin-top:.375rem}.forge-label-value--roomy{min-height:3.5rem}.forge-label-value--roomy .forge-label-value__label{margin-top:.625rem}.forge-label-value--roomy .forge-label-value__value{margin-top:.5rem}.forge-label-value--roomy ::slotted([slot=icon]){margin-top:6px}.forge-label-value--dense{min-height:1.5rem}.forge-label-value--dense .forge-label-value__container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center}.forge-label-value--dense .forge-label-value__container .forge-label-value__label{margin-top:0;margin-right:8px}.forge-label-value--dense .forge-label-value__container .forge-label-value__value{margin-top:0;font-size:.875rem}.forge-label-value--dense ::slotted([slot=icon]){margin-top:2px}.forge-label-value--empty .forge-label-value__value{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-style:italic}.forge-label-value--ellipsis .forge-label-value__container{overflow:hidden}.forge-label-value--ellipsis .forge-label-value__container .forge-label-value__label,.forge-label-value--ellipsis .forge-label-value__container .forge-label-value__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}",a=class extends _{constructor(){super();u(this,C,N),this._foundation=new p(new s(this))}static get observedAttributes(){return[e.attributes.EMPTY,e.attributes.ELLIPSIS,e.attributes.DENSITY,e.attributes.ALIGN]}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(t,n,i){switch(t){case e.attributes.EMPTY:this.empty=b(i);break;case e.attributes.ELLIPSIS:this.ellipsis=b(i);break;case e.attributes.DENSITY:this.density=i;break;case e.attributes.ALIGN:this.align=i;break}}};o([r()],a.prototype,"empty",2),o([r()],a.prototype,"ellipsis",2),o([r()],a.prototype,"density",2),o([r()],a.prototype,"align",2),a=o([h({name:e.elementName})],a);var x=class extends E{constructor(t){super(t)}get labelElement(){return this._labelElement}get valueElement(){return this._valueElement}get labelText(){var t;return(t=this._labelElement.textContent)!=null?t:""}set labelText(t){this._labelElement.textContent=t}get valueText(){var t;return(t=this._valueElement.textContent)!=null?t:""}set valueText(t){this._valueElement.textContent=t}_build(){return document.createElement(e.elementName)}_configure(){var t,n,i;(t=this._config.options)!=null&&t.labelText&&(this._labelElement=this._createTextElement(this._config.options.labelText,"label")),(n=this._config.options)!=null&&n.valueText&&(this._valueElement=this._createTextElement(this._config.options.valueText,"value")),(i=this._config.options)!=null&&i.iconElement&&this._element.appendChild(this._config.options.iconElement)}_createTextElement(t,n){let i=document.createElement("span");return i.textContent=t,i.slot=n,this._element.appendChild(i),i}};function le(){d(a)}export{e as a,s as b,p as c,a as d,x as e,le as f};
7
+ //# sourceMappingURL=chunk.Z6S62LZJ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/label-value/label-value-constants.ts", "../../src/label-value/label-value-adapter.ts", "../../src/label-value/label-value-foundation.ts", "../../src/label-value/label-value.ts", "../../src/label-value/label-value-component-delegate.ts", "../../src/label-value/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}label-value`;\n\nconst attributes = {\n EMPTY: 'empty',\n ELLIPSIS: 'ellipsis',\n DENSITY: 'density',\n ALIGN: 'align'\n};\n\nconst classes = {\n EMPTY: 'forge-label-value--empty',\n ELLIPSIS: 'forge-label-value--ellipsis',\n DENSE: 'forge-label-value--dense',\n ROOMY: 'forge-label-value--roomy',\n ALIGN_CENTER: 'forge-label-value--align-center',\n ALIGN_RIGHT: 'forge-label-value--align-right'\n};\n\nconst selectors = {\n ROOT: '.forge-label-value'\n};\n\nexport const LABEL_VALUE_CONSTANTS = {\n elementName,\n attributes,\n classes,\n selectors\n};\n\nexport type LabelValueAlignment = 'left' | 'center' | 'right';\nexport { type FieldDensityType as LabelValueDensityType } from '../field/field-constants';\n", "import { getShadowElement, removeClass, toggleClass } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { ILabelValueComponent } from './label-value';\nimport { LabelValueAlignment, LABEL_VALUE_CONSTANTS } from './label-value-constants';\n\nexport interface ILabelValueAdapter extends IBaseAdapter {\n setEmpty(isEmpty: boolean): void;\n setEllipsis(ellipsis: boolean): void;\n setRoomy(isRoomy: boolean): void;\n setDense(isDense: boolean): void;\n setAlignment(value: LabelValueAlignment): void;\n}\n\nexport class LabelValueAdapter extends BaseAdapter<ILabelValueComponent> implements ILabelValueAdapter {\n private _rootElement: HTMLElement;\n\n constructor(component: ILabelValueComponent) {\n super(component);\n this._rootElement = getShadowElement(component, LABEL_VALUE_CONSTANTS.selectors.ROOT);\n }\n\n public setEmpty(isEmpty: boolean): void {\n if (isEmpty) {\n this._rootElement.classList.add(LABEL_VALUE_CONSTANTS.classes.EMPTY);\n } else {\n this._rootElement.classList.remove(LABEL_VALUE_CONSTANTS.classes.EMPTY);\n }\n }\n\n public setEllipsis(ellipsis: boolean): void {\n if (ellipsis) {\n this._rootElement.classList.add(LABEL_VALUE_CONSTANTS.classes.ELLIPSIS);\n } else {\n this._rootElement.classList.remove(LABEL_VALUE_CONSTANTS.classes.ELLIPSIS);\n }\n }\n\n public setRoomy(isRoomy: boolean): void {\n toggleClass(this._rootElement, isRoomy, LABEL_VALUE_CONSTANTS.classes.ROOMY);\n }\n\n public setDense(isDense: boolean): void {\n toggleClass(this._rootElement, isDense, LABEL_VALUE_CONSTANTS.classes.DENSE);\n }\n\n public setAlignment(value: LabelValueAlignment): void {\n removeClass([LABEL_VALUE_CONSTANTS.classes.ALIGN_CENTER, LABEL_VALUE_CONSTANTS.classes.ALIGN_RIGHT], this._rootElement);\n\n switch (value) {\n case 'center':\n this._rootElement.classList.add(LABEL_VALUE_CONSTANTS.classes.ALIGN_CENTER);\n break;\n case 'right':\n this._rootElement.classList.add(LABEL_VALUE_CONSTANTS.classes.ALIGN_RIGHT);\n break;\n }\n }\n}\n", "import { ICustomElementFoundation, isDefined } from '@tylertech/forge-core';\nimport { FieldDensityType } from '../field/field-constants';\n\nimport { ILabelValueAdapter } from './label-value-adapter';\nimport { LABEL_VALUE_CONSTANTS, LabelValueAlignment } from './label-value-constants';\n\nexport interface ILabelValueFoundation extends ICustomElementFoundation {\n empty: boolean;\n ellipsis: boolean;\n density: FieldDensityType;\n align: LabelValueAlignment;\n}\n\nexport class LabelValueFoundation implements ILabelValueFoundation {\n private _empty = false;\n private _ellipsis = false;\n private _density: FieldDensityType = 'default';\n private _align: LabelValueAlignment = 'left';\n\n constructor(private _adapter: ILabelValueAdapter) {}\n\n public initialize(): void {\n this._adapter.setEmpty(this._empty);\n this._adapter.setEllipsis(this._ellipsis);\n this._applyDensity();\n this._adapter.setAlignment(this._align);\n }\n\n private _applyDensity(): void {\n this._adapter.setRoomy(this._density === 'roomy');\n this._adapter.setDense(this._density === 'dense');\n }\n\n public get empty(): boolean {\n return this._empty;\n }\n public set empty(value: boolean) {\n if (this._empty !== value) {\n this._empty = value;\n this._adapter.setEmpty(this._empty);\n if (this._empty) {\n this._adapter.setHostAttribute(LABEL_VALUE_CONSTANTS.attributes.EMPTY, '');\n } else {\n this._adapter.removeHostAttribute(LABEL_VALUE_CONSTANTS.attributes.EMPTY);\n }\n }\n }\n\n public get ellipsis(): boolean {\n return this._ellipsis;\n }\n public set ellipsis(value: boolean) {\n if (this._ellipsis !== value) {\n this._ellipsis = value;\n this._adapter.setEllipsis(this._ellipsis);\n if (this._ellipsis) {\n this._adapter.setHostAttribute(LABEL_VALUE_CONSTANTS.attributes.ELLIPSIS, '');\n } else {\n this._adapter.removeHostAttribute(LABEL_VALUE_CONSTANTS.attributes.ELLIPSIS);\n }\n }\n }\n\n public get density(): FieldDensityType {\n return this._density;\n }\n public set density(value: FieldDensityType) {\n if (this._density !== value) {\n this._density = value;\n this._applyDensity();\n this._adapter.setHostAttribute(LABEL_VALUE_CONSTANTS.attributes.DENSITY, this._density.toString());\n }\n }\n\n public get align(): LabelValueAlignment {\n return this._align;\n }\n public set align(value: LabelValueAlignment) {\n if (this._align !== value) {\n this._align = value;\n this._adapter.setAlignment(this._align);\n if (this._align) {\n this._adapter.setHostAttribute(LABEL_VALUE_CONSTANTS.attributes.ALIGN, this._align);\n } else {\n this._adapter.removeHostAttribute(LABEL_VALUE_CONSTANTS.attributes.ALIGN);\n }\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { LabelValueAdapter } from './label-value-adapter';\nimport { LabelValueFoundation } from './label-value-foundation';\nimport { LABEL_VALUE_CONSTANTS, LabelValueAlignment } from './label-value-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { FieldDensityType } from '../field/field-constants';\n\nconst template = '<template><div class=\\\"forge-label-value\\\" part=\\\"root\\\"><div class=\\\"forge-label-value__icon-container\\\" part=\\\"icon-container\\\"><slot name=\\\"icon\\\"></slot></div><div class=\\\"forge-label-value__container\\\" part=\\\"container\\\"><div class=\\\"forge-label-value__label\\\" part=\\\"label-container\\\"><slot name=\\\"label\\\"></slot></div><div class=\\\"forge-label-value__value\\\" part=\\\"value-container\\\"><slot name=\\\"value\\\"></slot></div></div></div></template>';\nconst styles = ':host{display:block;min-width:0}:host([hidden]){display:none}.forge-label-value{display:-webkit-box;display:flex;min-height:3rem}.forge-label-value__container{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.forge-label-value__icon-container{display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start}.forge-label-value__icon-container ::slotted([slot=icon]){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));font-size:1.25rem!important;margin-right:8px;margin-top:4px}.forge-label-value--align-center .forge-label-value__container{-webkit-box-align:center;align-items:center}.forge-label-value--align-right .forge-label-value__container{-webkit-box-align:end;align-items:flex-end}.forge-label-value__label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.8125rem;height:.8125rem;line-height:.8125rem;margin-top:.5rem}.forge-label-value__value{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);line-height:1rem;margin-top:.375rem}.forge-label-value--roomy{min-height:3.5rem}.forge-label-value--roomy .forge-label-value__label{margin-top:.625rem}.forge-label-value--roomy .forge-label-value__value{margin-top:.5rem}.forge-label-value--roomy ::slotted([slot=icon]){margin-top:6px}.forge-label-value--dense{min-height:1.5rem}.forge-label-value--dense .forge-label-value__container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center}.forge-label-value--dense .forge-label-value__container .forge-label-value__label{margin-top:0;margin-right:8px}.forge-label-value--dense .forge-label-value__container .forge-label-value__value{margin-top:0;font-size:.875rem}.forge-label-value--dense ::slotted([slot=icon]){margin-top:2px}.forge-label-value--empty .forge-label-value__value{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-style:italic}.forge-label-value--ellipsis .forge-label-value__container{overflow:hidden}.forge-label-value--ellipsis .forge-label-value__container .forge-label-value__label,.forge-label-value--ellipsis .forge-label-value__container .forge-label-value__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}';\n\nexport interface ILabelValueComponent extends IBaseComponent {\n empty: boolean;\n ellipsis: boolean;\n density: FieldDensityType;\n align: LabelValueAlignment;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-label-value': ILabelValueComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-label-value>` custom element.\n * \n * @tag forge-label-value\n */\n@CustomElement({\n name: LABEL_VALUE_CONSTANTS.elementName\n})\nexport class LabelValueComponent extends BaseComponent implements ILabelValueComponent {\n public static get observedAttributes(): string[] {\n return [\n LABEL_VALUE_CONSTANTS.attributes.EMPTY,\n LABEL_VALUE_CONSTANTS.attributes.ELLIPSIS,\n LABEL_VALUE_CONSTANTS.attributes.DENSITY,\n LABEL_VALUE_CONSTANTS.attributes.ALIGN\n ];\n }\n\n private _foundation: LabelValueFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new LabelValueFoundation(new LabelValueAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case LABEL_VALUE_CONSTANTS.attributes.EMPTY:\n this.empty = coerceBoolean(newValue);\n break;\n case LABEL_VALUE_CONSTANTS.attributes.ELLIPSIS:\n this.ellipsis = coerceBoolean(newValue);\n break;\n case LABEL_VALUE_CONSTANTS.attributes.DENSITY:\n this.density = newValue as FieldDensityType;\n break;\n case LABEL_VALUE_CONSTANTS.attributes.ALIGN:\n this.align = newValue as LabelValueAlignment;\n break;\n }\n }\n\n /** Gets/sets the empty state. */\n @FoundationProperty()\n public declare empty: boolean;\n\n /** Gets/sets the wrap-content attribute. */\n @FoundationProperty()\n public declare ellipsis: boolean;\n\n /** Controls the density type. */\n @FoundationProperty()\n public declare density: FieldDensityType;\n\n /** Gets/sets the alignment. */\n @FoundationProperty()\n public declare align: LabelValueAlignment;\n}\n", "import { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { ILabelValueComponent } from '../label-value';\nimport { LABEL_VALUE_CONSTANTS } from './label-value-constants';\n\nexport type LabelValueComponentDelegateProps = Partial<ILabelValueComponent>;\nexport interface ILabelValueComponentDelegateOptions extends IBaseComponentDelegateOptions {\n labelText: string;\n valueText: string;\n iconElement?: HTMLElement;\n}\nexport interface ILabelValueComponentDelegateConfig extends IBaseComponentDelegateConfig<ILabelValueComponent, ILabelValueComponentDelegateOptions> {}\n\nexport class LabelValueComponentDelegate extends BaseComponentDelegate<ILabelValueComponent, ILabelValueComponentDelegateOptions> {\n private _labelElement: HTMLElement;\n private _valueElement: HTMLElement;\n\n constructor(config?: ILabelValueComponentDelegateConfig) {\n super(config);\n }\n\n public get labelElement(): HTMLElement {\n return this._labelElement;\n }\n\n public get valueElement(): HTMLElement {\n return this._valueElement;\n }\n\n public get labelText(): string {\n return this._labelElement.textContent ?? '';\n }\n public set labelText(value: string) {\n this._labelElement.textContent = value;\n }\n\n public get valueText(): string {\n return this._valueElement.textContent ?? '';\n }\n public set valueText(value: string) {\n this._valueElement.textContent = value;\n }\n\n protected _build(): ILabelValueComponent {\n return document.createElement(LABEL_VALUE_CONSTANTS.elementName);\n }\n\n protected override _configure(): void {\n if (this._config.options?.labelText) {\n this._labelElement = this._createTextElement(this._config.options.labelText, 'label');\n }\n if (this._config.options?.valueText) {\n this._valueElement = this._createTextElement(this._config.options.valueText, 'value');\n }\n if (this._config.options?.iconElement) {\n this._element.appendChild(this._config.options.iconElement);\n }\n }\n\n private _createTextElement(text: string, slot: string): HTMLElement {\n const span = document.createElement('span');\n span.textContent = text;\n span.slot = slot;\n this._element.appendChild(span);\n return span;\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { LabelValueComponent } from './label-value';\n\nexport * from './label-value-adapter';\nexport * from './label-value-constants';\nexport * from './label-value-foundation';\nexport * from './label-value';\nexport * from './label-value-component-delegate';\n\nexport function defineLabelValueComponent(): void {\n defineCustomElement(LabelValueComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{h as C}from"./chunk.CZIQTYFJ.js";import{a as A}from"./chunk.MIYZJUXH.js";import{a as x}from"./chunk.5PXABBKU.js";import{a as p}from"./chunk.B3IJU6XJ.js";import{a as v,b as T,e as E}from"./chunk.OOW3UKT4.js";import{a as I,e as g,l as y}from"./chunk.MMVZJLXE.js";import{k as h}from"./chunk.G76HB2FK.js";import{a as b,f as l}from"./chunk.MCIQXNKY.js";var R=`${T}icon`,S={NAME:"name",SRC:"src",LAZY:"lazy",EXTERNAL:"external",EXTERNAL_TYPE:"external-type",VIEWBOX:"viewbox"},D=b({},S),M={LAZY_ROOT_MARGIN:50,DEFAULT_WIDTH:24,DEFAULT_HEIGHT:24},k={DEFAULT_NETWORK_BASE_URL:`${E}v1/icons/svg`},r={elementName:R,attributes:D,numbers:M,strings:k},_="forgeIcons";var u=class extends x{constructor(t){super(t)}initialize(){this._component.hasAttribute("aria-hidden")||this._component.setAttribute("aria-hidden","true")}canLazyLoad(){return!!window.IntersectionObserver}observeVisibility(t){this._observer=new IntersectionObserver(i=>{i.some(o=>o.isIntersecting)&&(this.destroyVisibilityObserver(),t())},{rootMargin:`${r.numbers.LAZY_ROOT_MARGIN}px`}),this._observer.observe(this._component)}destroyVisibilityObserver(){this._observer&&(this._observer.disconnect(),this._observer=void 0)}setContent(t){let i=this._component.shadowRoot,o=i.querySelector("style");i.innerHTML=t,o&&i.appendChild(o)}};var s=class{static define(e,t){if(Array.isArray(e))return e.filter(d=>s._isIconObject(d)).forEach(d=>s._register(d.name,d.data));let{name:i,data:o}=s._parseIcon(e,t);s._register(i,o)}static remove(e){let t=s._isIconObject(e)?e.name:e;s._icons.delete(t)}static removeListener(e,t){let i=s._listeners.get(e);Array.isArray(i)&&i.includes(t)&&i.splice(i.indexOf(t),1)}static clear(){s._icons.clear(),s._listeners.clear()}static get(e){return s._icons.get(e)}static getIconNames(){return Array.from(s._icons.keys())}static awaitIcon(e,t){var o;if(s._icons.has(e)){t();return}let i=(o=s._listeners.get(e))!=null?o:[];s._listeners.set(e,[...i,t])}static get size(){return s._icons.size}static _register(e,t){s._icons.set(e,t),s._invalidateListeners(e)}static _invalidateListeners(e){let t=s._listeners.get(e);Array.isArray(t)&&t.length&&(t.forEach(i=>i()),s._listeners.delete(e))}static _parseIcon(e,t=""){return s._isIconObject(e)?e:{name:e,data:t}}static _isIconObject(e){return typeof e=="object"&&e.hasOwnProperty("name")&&e.hasOwnProperty("data")}},a=s;a._icons=new Map,a._listeners=new Map;var f=new Map;function L(n,e,t=!0){if(!n||!n.includes("svg"))return"";!e&&!n.includes("viewBox")&&(e=`0 0 ${r.numbers.DEFAULT_WIDTH} ${r.numbers.DEFAULT_HEIGHT}`);let i=C(n,e);return t&&i&&(i.setAttribute("part","svg"),i.querySelectorAll("path").forEach(o=>{o.setAttribute("part",o.tagName.toLowerCase())})),i?i.outerHTML:""}function N(n){return a.get(n)}function w(n,e){a.awaitIcon(n,e)}function O(n,e){a.removeListener(n,e)}function B(n,e){let t=f.get(n);if(!t)if(typeof fetch!="undefined"&&typeof document!="undefined")t=fetch(n).then(async i=>{if(i.ok){let o=await i.text()||"";return a.define({name:e,data:o}),f.delete(n),o}return a.define({name:e,data:""}),""}),f.set(n,t);else return a.define({name:e,data:""}),Promise.resolve("");return t||Promise.resolve("")}function z(n){return["standard","extended","custom"].includes(n)?n:""}var m=class{constructor(e){this._adapter=e;this._external=!1;this._externalType="standard";this._lazyListener=()=>this._loadIcon()}initialize(){this._adapter.initialize(),this._applyIcon()}disconnect(){this._adapter.destroyVisibilityObserver(),this._clearIconQueue(),this._tryRemoveListener()}_safeApplyIcon(){!this._adapter.isConnected||(this._clearIconQueue(),this._queueIconUpdate())}_tryRemoveListener(){this._registrationListener&&this._name&&O(this._name,this._registrationListener)}_applyIcon(){this._lazy&&this._adapter.canLazyLoad()?this._adapter.observeVisibility(this._lazyListener):this._loadIcon()}_clearIconQueue(){this._applyTimer&&(clearTimeout(this._applyTimer),this._applyTimer=void 0)}_queueIconUpdate(){this._applyTimer=window.setTimeout(()=>{this._applyTimer=void 0,this._applyIcon()})}async _loadIcon(){try{if(this._src)this._setIconContent(this._src);else if(this._name){let e=this._tryGetIcon(this._name);if(!e){if(!this._external){this._registrationListener=()=>this._applyIcon(),w(this._name,this._registrationListener),this._adapter.setContent("");return}if(!this._externalType)throw new Error(`Invalid external type provided for icon: ${this._name}`);let t=this._getExternalUrl(this._name,this._externalType);t&&(e=await B(t,this._name))}this._setIconContent(e)}else this._adapter.setContent("")}catch(e){throw this._adapter.setContent(""),e}}_setIconContent(e){let t=L(e,this._viewbox);this._adapter.setContent(t)}_tryGetIcon(e){return N(e)}_getExternalUrl(e,t){if(typeof this._externalUrlBuilder=="function")return this._externalUrlBuilder(e,t);let i=z(this._externalType);return`${r.strings.DEFAULT_NETWORK_BASE_URL}${i?`/${i}`:""}/${e}.svg`}get name(){return this._name}set name(e){this._name!==e&&(this._registrationListener&&this._tryRemoveListener(),this._name=(e||"").replace(/\s+/,""),this._safeApplyIcon(),this._adapter.toggleHostAttribute(r.attributes.NAME,!!this._name,this._name))}get src(){return this._src}set src(e){this._src!==e&&(this._src=e,this._adapter.isConnected&&this._applyIcon())}get lazy(){return this._lazy}set lazy(e){this._lazy!==e&&(this._lazy=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.LAZY,`${this._lazy}`))}get external(){return this._external}set external(e){this._external!==e&&(this._external=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.EXTERNAL,`${this._external}`))}get externalType(){return this._externalType}set externalType(e){this._externalType!==e&&(this._externalType=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.EXTERNAL_TYPE,`${this._externalType}`))}get externalUrlBuilder(){return this._externalUrlBuilder}set externalUrlBuilder(e){this._externalUrlBuilder!==e&&(this._externalUrlBuilder=e,this._safeApplyIcon())}get viewbox(){return this._viewbox}set viewbox(e){this._viewbox!==e&&(this._viewbox=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.VIEWBOX,`${this.viewbox}`))}layout(){this._adapter.isConnected&&this._applyIcon()}};var H="<template></template>",F=':host{font-size:24px;font-size:var(--forge-icon-font-size, 24px);display:inline-block;contain:content;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host>svg{fill:currentColor;fill:var(--forge-icon-theme-color,currentColor);stroke:currentColor;stroke:var(--forge-icon-theme-color,currentColor);display:block;width:1em;height:1em;stroke-width:0}:host([hidden]){display:none}:host([theme=primary]){color:var("primary")}:host([theme=secondary]){color:var("secondary")}:host([theme=warning]){color:#d14900;color:var("warning", #d14900)}:host([theme=danger]){color:#b00020;color:var("danger", #b00020)}:host([theme=success]){color:#2e7d32;color:var("success", #2e7d32)}:host([theme=info]){color:#424242;color:var("info", #424242)}:host([theme=tertiary]){color:#3d5afe;color:var("tertiary", #3d5afe)}',c=class extends y{constructor(){super();g(this,H,F),this._foundation=new m(new u(this))}static get observedAttributes(){return[r.attributes.NAME,r.attributes.SRC,r.attributes.LAZY,r.attributes.EXTERNAL,r.attributes.EXTERNAL_TYPE,r.attributes.VIEWBOX]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,o){switch(t){case r.attributes.NAME:this.name=o;break;case r.attributes.SRC:this.src=o;break;case r.attributes.LAZY:this.lazy=h(o);break;case r.attributes.EXTERNAL:this.external=h(o);break;case r.attributes.EXTERNAL_TYPE:this.externalType=o;break;case r.attributes.VIEWBOX:this.viewbox=o;break}}layout(){this._foundation.layout()}};l([p()],c.prototype,"name",2),l([p()],c.prototype,"src",2),l([p()],c.prototype,"lazy",2),l([p()],c.prototype,"external",2),l([p()],c.prototype,"externalType",2),l([p()],c.prototype,"externalUrlBuilder",2),l([p()],c.prototype,"viewbox",2),c=l([v({name:r.elementName})],c);var U=class extends A{constructor(e){super(e)}_build(){return document.createElement(r.elementName)}};function ye(){I(c)}window&&!window[_]&&(window[_]=a);export{r as a,_ as b,u as c,a as d,L as e,N as f,w as g,O as h,B as i,z as j,m as k,c as l,U as m,ye as n};
7
+ //# sourceMappingURL=chunk.ZAKLVVFO.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/icon/icon-constants.ts", "../../src/icon/icon-adapter.ts", "../../src/icon/icon-registry.ts", "../../src/icon/icon-utils.ts", "../../src/icon/icon-foundation.ts", "../../src/icon/icon.ts", "../../src/icon/icon-component-delegate.ts", "../../src/icon/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX, CDN_BASE_URL } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}icon`;\n\nconst observedAttributes = {\n NAME: 'name',\n SRC: 'src',\n LAZY: 'lazy',\n EXTERNAL: 'external',\n EXTERNAL_TYPE: 'external-type',\n VIEWBOX: 'viewbox'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst numbers = {\n LAZY_ROOT_MARGIN: 50,\n DEFAULT_WIDTH: 24,\n DEFAULT_HEIGHT: 24\n};\n\nconst strings = {\n DEFAULT_NETWORK_BASE_URL: `${CDN_BASE_URL}v1/icons/svg`\n};\n\nexport const ICON_CONSTANTS = {\n elementName,\n attributes,\n numbers,\n strings\n};\n\nexport const ICON_REGISTRY_KEY = 'forgeIcons';\n\nexport declare type IconUrlBuilder = (name: string, type: IconExternalType) => string;\nexport declare type IconExternalType = '' | 'custom' | 'standard' | 'extended';\n", "import { IIconComponent } from './icon';\nimport { BaseAdapter, IBaseAdapter } from '../core';\nimport { ICON_CONSTANTS } from './icon-constants';\n\nexport interface IIconAdapter extends IBaseAdapter {\n initialize(): void;\n canLazyLoad(): boolean;\n observeVisibility(listener: () => void): void;\n destroyVisibilityObserver(): void;\n setContent(content: string): void;\n}\n\nexport class IconAdapter extends BaseAdapter<IIconComponent> implements IIconAdapter {\n private _observer: IntersectionObserver | undefined;\n\n constructor(component: IIconComponent) {\n super(component);\n }\n\n public initialize(): void {\n if (!this._component.hasAttribute('aria-hidden')) {\n this._component.setAttribute('aria-hidden', 'true');\n }\n }\n\n public canLazyLoad(): boolean {\n return !!window.IntersectionObserver;\n }\n\n public observeVisibility(listener: () => void): void {\n this._observer = new IntersectionObserver(entries => {\n if (entries.some(entry => entry.isIntersecting)) {\n this.destroyVisibilityObserver();\n listener();\n }\n }, { rootMargin: `${ICON_CONSTANTS.numbers.LAZY_ROOT_MARGIN}px` });\n this._observer.observe(this._component);\n }\n\n public destroyVisibilityObserver(): void {\n if (this._observer) {\n this._observer.disconnect();\n this._observer = undefined;\n }\n }\n\n public setContent(content: string): void {\n const shadowRoot = this._component.shadowRoot as ShadowRoot;\n const styleTag = shadowRoot.querySelector('style');\n shadowRoot.innerHTML = content;\n if (styleTag) {\n shadowRoot.appendChild(styleTag);\n }\n }\n}\n", "/** The shape of an SVG icon that can be defined with the icon registry. */\nexport interface IIcon {\n /** The unique name of the icon. */\n name: string;\n /** The SVG icon data. */\n data: string;\n}\n\n/**\n * The registry for SVG icon instances being used within the current context.\n */\nexport class IconRegistry {\n private static _icons = new Map<string, string>();\n private static _listeners = new Map<string, Array<() => void>>();\n\n /**\n * Defines a new icon.\n * @param icon The icon(s) to register.\n */\n public static define(icon: IIcon | IIcon[] | string, svgData?: string): void {\n if (Array.isArray(icon)) {\n return icon.filter(i => IconRegistry._isIconObject(i))\n .forEach(i => IconRegistry._register(i.name, i.data));\n }\n const { name, data } = IconRegistry._parseIcon(icon, svgData);\n IconRegistry._register(name, data);\n }\n\n /**\n * Removes a defined icon.\n * @param icon The icon to unregister.\n */\n public static remove(icon: IIcon | string): void {\n const key = IconRegistry._isIconObject(icon) ? icon.name : icon;\n IconRegistry._icons.delete(key);\n }\n\n /**\n * Removes a listener\n * @param key The icon name.\n * @param listener The listener callback.\n */\n public static removeListener(key: string, listener: () => void): void {\n const listeners = IconRegistry._listeners.get(key);\n if (Array.isArray(listeners) && listeners.includes(listener)) {\n listeners.splice(listeners.indexOf(listener), 1);\n }\n }\n\n /** Removes all defined icons. */\n public static clear(): void {\n IconRegistry._icons.clear();\n IconRegistry._listeners.clear();\n }\n\n /** Gets the icon data by its name, or `undefined` if not found. */\n public static get(name: string): string | undefined {\n return IconRegistry._icons.get(name);\n }\n\n /** Gets the names of registered icons. */\n public static getIconNames(): string[] {\n return Array.from(IconRegistry._icons.keys());\n }\n\n /** Registers a listener to be notified when an icon with the provided key is registered in the future. */\n public static awaitIcon(key: string, listener: () => void): void {\n if (IconRegistry._icons.has(key)) {\n listener();\n return;\n }\n const listeners = IconRegistry._listeners.get(key) ?? [];\n IconRegistry._listeners.set(key, [...listeners, listener]);\n }\n\n /** Gets the number of defined icons in the registry. */\n public static get size(): number {\n return IconRegistry._icons.size;\n }\n\n /** Registers an icon, and attempts to invalidate any listeners. */\n private static _register(key: string, value: string): void {\n IconRegistry._icons.set(key, value);\n IconRegistry._invalidateListeners(key);\n }\n\n /** Gets all listeners for a specific key, calls the listeners (if any are found), and removes the listeners after they are called. */\n private static _invalidateListeners(key: string): void {\n const listeners = IconRegistry._listeners.get(key);\n if (Array.isArray(listeners) && listeners.length) {\n listeners.forEach(listener => listener());\n IconRegistry._listeners.delete(key);\n }\n }\n\n /** Normalizes incoming parameters to an `IIcon` type. */\n private static _parseIcon(icon: IIcon | string, data = ''): IIcon {\n if (IconRegistry._isIconObject(icon)) {\n return icon;\n }\n return { name: icon, data };\n }\n\n /** Determines if the provided `icon` matches the `IIcon` shape. */\n private static _isIconObject(icon: any): icon is IIcon {\n return typeof icon === 'object' && icon.hasOwnProperty('name') && icon.hasOwnProperty('data');\n }\n}\n", "import { IconRegistry } from './icon-registry';\nimport { ICON_CONSTANTS } from './icon-constants';\nimport { createSvgFromString } from '../core/utils/svg-utils';\n\nconst _activeIconRequests = new Map<string, Promise<any>>();\n\n/** Determines if the provided SVG icon content is valid */\nexport function sanitizeSvgContent(svgContent: string | undefined, customViewBox?: string, usePartAttrs = true): string {\n if (!svgContent || !svgContent.includes('svg')) {\n return '';\n }\n \n if (!customViewBox && !svgContent.includes('viewBox')) {\n customViewBox = `0 0 ${ICON_CONSTANTS.numbers.DEFAULT_WIDTH} ${ICON_CONSTANTS.numbers.DEFAULT_HEIGHT}`;\n }\n\n const svgElement = createSvgFromString(svgContent, customViewBox);\n\n if (usePartAttrs && svgElement) {\n svgElement.setAttribute('part', 'svg');\n svgElement.querySelectorAll('path').forEach(node => {\n node.setAttribute('part', node.tagName.toLowerCase());\n });\n }\n\n return svgElement ? svgElement.outerHTML : '';\n}\n\nexport function getCachedIcon(key: string): string | undefined {\n return IconRegistry.get(key);\n}\n\nexport function awaitIconDefinition(key: string, listener: () => void): void {\n IconRegistry.awaitIcon(key, listener);\n}\n\nexport function removeIconListener(key: string, listener: () => void): void {\n IconRegistry.removeListener(key, listener);\n}\n\nexport function fetchIconContent(url: string, name: string): Promise<string> {\n // Check if we already have an active request for this URL\n let request = _activeIconRequests.get(url);\n\n if (!request) {\n if (typeof fetch !== 'undefined' && typeof document !== 'undefined') {\n // we don't already have a request\n request = fetch(url).then(async response => {\n if (response.ok) {\n const data = await response.text() || '';\n IconRegistry.define({ name, data });\n _activeIconRequests.delete(url);\n return data;\n }\n IconRegistry.define({ name, data: '' });\n return '';\n });\n\n // Cache this request in case of duplicate requests\n _activeIconRequests.set(url, request);\n } else {\n // set to empty for ssr scenarios and resolve promise\n IconRegistry.define({ name, data: '' });\n return Promise.resolve('');\n }\n }\n\n return request || Promise.resolve('');\n}\n\nexport function sanitizeExternalType(type: string): string {\n const isValidType = ['standard', 'extended', 'custom'].includes(type);\n return isValidType ? type : '';\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IIconAdapter } from './icon-adapter';\nimport { ICON_CONSTANTS, IconUrlBuilder, IconExternalType } from './icon-constants';\nimport { sanitizeSvgContent, fetchIconContent, getCachedIcon, sanitizeExternalType, awaitIconDefinition, removeIconListener } from './icon-utils';\n\nexport interface IIconFoundation extends ICustomElementFoundation {\n name: string | undefined;\n src: string | undefined;\n lazy: boolean;\n external: boolean;\n externalType: IconExternalType;\n externalUrlBuilder: IconUrlBuilder;\n viewbox: string;\n layout(): void;\n}\n\nexport class IconFoundation implements IIconFoundation {\n private _name: string | undefined;\n private _src: string | undefined;\n private _lazy: boolean;\n private _external = false;\n private _externalType: IconExternalType = 'standard';\n private _externalUrlBuilder: IconUrlBuilder;\n private _viewbox: string;\n private _applyTimer: number | undefined;\n private _lazyListener: () => void;\n private _registrationListener: () => void;\n\n constructor(private _adapter: IIconAdapter) {\n this._lazyListener = () => this._loadIcon();\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._applyIcon();\n }\n\n public disconnect(): void {\n this._adapter.destroyVisibilityObserver();\n this._clearIconQueue();\n this._tryRemoveListener();\n }\n\n private _safeApplyIcon(): void {\n if (!this._adapter.isConnected) {\n return;\n }\n this._clearIconQueue();\n this._queueIconUpdate();\n }\n\n private _tryRemoveListener(): void {\n if (this._registrationListener && this._name) {\n removeIconListener(this._name, this._registrationListener);\n }\n }\n\n private _applyIcon(): void {\n if (this._lazy && this._adapter.canLazyLoad()) {\n this._adapter.observeVisibility(this._lazyListener);\n } else {\n this._loadIcon();\n }\n }\n\n private _clearIconQueue(): void {\n if (this._applyTimer) {\n clearTimeout(this._applyTimer);\n this._applyTimer = undefined;\n }\n }\n\n private _queueIconUpdate(): void {\n this._applyTimer = window.setTimeout(() => {\n this._applyTimer = undefined;\n this._applyIcon();\n });\n }\n\n private async _loadIcon(): Promise<void> {\n try {\n if (this._src) {\n // We were provided direct icon source content so just set that\n this._setIconContent(this._src);\n } else if (this._name) {\n // Let's attempt to get our icon from the cache\n let content = this._tryGetIcon(this._name);\n\n if (!content) {\n if (!this._external) {\n // We attach a listener to the registry to let us know when the icon is registered\n this._registrationListener = () => this._applyIcon();\n awaitIconDefinition(this._name, this._registrationListener);\n\n // For now, we render nothing...\n this._adapter.setContent('');\n return;\n }\n \n // We don't have a registry icon, so let's try the network to fetch it\n if (!this._externalType) {\n throw new Error(`Invalid external type provided for icon: ${this._name}`);\n }\n const url = this._getExternalUrl(this._name, this._externalType);\n if (url) {\n content = await fetchIconContent(url, this._name);\n }\n }\n\n this._setIconContent(content);\n } else {\n this._adapter.setContent('');\n }\n } catch (e) {\n this._adapter.setContent('');\n throw e;\n }\n }\n\n private _setIconContent(svgContent: string | undefined): void {\n const content = sanitizeSvgContent(svgContent, this._viewbox);\n this._adapter.setContent(content);\n }\n\n private _tryGetIcon(key: string): string | undefined {\n return getCachedIcon(key);\n }\n\n private _getExternalUrl(name: string, type: IconExternalType): string {\n if (typeof this._externalUrlBuilder === 'function') {\n return this._externalUrlBuilder(name, type);\n }\n const setName = sanitizeExternalType(this._externalType);\n return `${ICON_CONSTANTS.strings.DEFAULT_NETWORK_BASE_URL}${setName ? `/${setName}` : ''}/${name}.svg`;\n }\n\n public get name(): string | undefined {\n return this._name;\n }\n public set name(value: string | undefined) {\n if (this._name !== value) {\n // We need to remove our listener for the previous name if we have any\n if (!!this._registrationListener) {\n this._tryRemoveListener();\n }\n this._name = (value || '').replace(/\\s+/, '');\n this._safeApplyIcon();\n this._adapter.toggleHostAttribute(ICON_CONSTANTS.attributes.NAME, !!this._name, this._name);\n }\n }\n\n public get src(): string | undefined {\n return this._src;\n }\n public set src(value: string | undefined) {\n if (this._src !== value) {\n this._src = value;\n if (this._adapter.isConnected) {\n this._applyIcon();\n }\n }\n }\n\n public get lazy(): boolean {\n return this._lazy;\n }\n public set lazy(value: boolean) {\n if (this._lazy !== value) {\n this._lazy = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.LAZY, `${this._lazy}`);\n }\n }\n\n public get external(): boolean {\n return this._external;\n }\n public set external(value: boolean) {\n if (this._external !== value) {\n this._external = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL, `${this._external}`);\n }\n }\n\n public get externalType(): IconExternalType {\n return this._externalType;\n }\n public set externalType(value: IconExternalType) {\n if (this._externalType !== value) {\n this._externalType = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL_TYPE, `${this._externalType}`);\n }\n }\n\n public get externalUrlBuilder(): IconUrlBuilder {\n return this._externalUrlBuilder;\n }\n public set externalUrlBuilder(cb: IconUrlBuilder) {\n if (this._externalUrlBuilder !== cb) {\n this._externalUrlBuilder = cb;\n this._safeApplyIcon();\n }\n }\n \n public get viewbox(): string {\n return this._viewbox;\n }\n public set viewbox(value: string) {\n if (this._viewbox !== value) {\n this._viewbox = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.VIEWBOX, `${this.viewbox}`);\n }\n }\n\n public layout(): void {\n if (this._adapter.isConnected) {\n this._applyIcon();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { IconAdapter } from './icon-adapter';\nimport { IconFoundation } from './icon-foundation';\nimport { ICON_CONSTANTS, IconUrlBuilder, IconExternalType } from './icon-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template></template>';\nconst styles = ':host{font-size:24px;font-size:var(--forge-icon-font-size, 24px);display:inline-block;contain:content;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host>svg{fill:currentColor;fill:var(--forge-icon-theme-color,currentColor);stroke:currentColor;stroke:var(--forge-icon-theme-color,currentColor);display:block;width:1em;height:1em;stroke-width:0}:host([hidden]){display:none}:host([theme=primary]){color:var(\\\"primary\\\")}:host([theme=secondary]){color:var(\\\"secondary\\\")}:host([theme=warning]){color:#d14900;color:var(\\\"warning\\\", #d14900)}:host([theme=danger]){color:#b00020;color:var(\\\"danger\\\", #b00020)}:host([theme=success]){color:#2e7d32;color:var(\\\"success\\\", #2e7d32)}:host([theme=info]){color:#424242;color:var(\\\"info\\\", #424242)}:host([theme=tertiary]){color:#3d5afe;color:var(\\\"tertiary\\\", #3d5afe)}';\n\nexport interface IIconComponent extends IBaseComponent {\n name: string | undefined;\n src: string | undefined;\n lazy: boolean;\n external: boolean;\n externalType: IconExternalType;\n externalUrlBuilder: IconUrlBuilder;\n viewbox: string;\n layout(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-icon': IIconComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-icon>` custom element.\n * \n * @tag forge-icon\n */\n@CustomElement({\n name: ICON_CONSTANTS.elementName\n})\nexport class IconComponent extends BaseComponent implements IIconComponent {\n public static get observedAttributes(): string[] {\n return [\n ICON_CONSTANTS.attributes.NAME,\n ICON_CONSTANTS.attributes.SRC,\n ICON_CONSTANTS.attributes.LAZY,\n ICON_CONSTANTS.attributes.EXTERNAL,\n ICON_CONSTANTS.attributes.EXTERNAL_TYPE,\n ICON_CONSTANTS.attributes.VIEWBOX\n ];\n }\n\n private _foundation: IconFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new IconFoundation(new IconAdapter(this));\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 ICON_CONSTANTS.attributes.NAME:\n this.name = newValue;\n break;\n case ICON_CONSTANTS.attributes.SRC:\n this.src = newValue;\n break;\n case ICON_CONSTANTS.attributes.LAZY:\n this.lazy = coerceBoolean(newValue);\n break;\n case ICON_CONSTANTS.attributes.EXTERNAL:\n this.external = coerceBoolean(newValue);\n break;\n case ICON_CONSTANTS.attributes.EXTERNAL_TYPE:\n this.externalType = newValue as IconExternalType;\n break;\n case ICON_CONSTANTS.attributes.VIEWBOX:\n this.viewbox = newValue;\n break;\n }\n }\n\n /** The name of the icon within the icon registry to be used. */\n @FoundationProperty()\n public name: string | undefined;\n\n /** Provides the ability to set the SVG string content directly. */\n @FoundationProperty()\n public src: string | undefined;\n\n /** Controls whether the icon will be loaded dynamically when it comes into view. False by default. */\n @FoundationProperty()\n public lazy: boolean;\n\n /** Controls whether external network requests are allowed for this icon. Only pertains for icons that aren't defined in the registry. */\n @FoundationProperty()\n public external: boolean;\n\n /** The type of icon to load externally. Possible values: \"standard\", \"extended\", \"custom\". */\n @FoundationProperty()\n public externalType: IconExternalType;\n\n /** A callback that can be provided to generate a URL that will be used to fetch an SVG icon. */\n @FoundationProperty()\n public externalUrlBuilder: IconUrlBuilder;\n\n /** A custom value to apply to the `viewBox` attribute on the internal `<svg>` element. */\n @FoundationProperty()\n public viewbox: string;\n\n /** Forces a reload of the icon. */\n public layout(): void {\n this._foundation.layout();\n }\n}\n", "import { BaseComponentDelegate, IBaseComponentDelegateOptions, IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { ICON_CONSTANTS } from './icon-constants';\nimport { IIconComponent } from './icon';\n\nexport interface IIconComponentDelegateOptions extends IBaseComponentDelegateOptions {}\nexport interface IIconComponentDelegateConfig extends IBaseComponentDelegateConfig<IIconComponent, IIconComponentDelegateOptions> {}\n\nexport class IconComponentDelegate extends BaseComponentDelegate<IIconComponent, IIconComponentDelegateOptions> {\n constructor(config?: IIconComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IIconComponent {\n return document.createElement(ICON_CONSTANTS.elementName);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { IconComponent } from './icon';\nimport { IconRegistry } from './icon-registry';\nimport { ICON_REGISTRY_KEY } from './icon-constants';\n\nexport * from './icon-adapter';\nexport * from './icon-constants';\nexport * from './icon-foundation';\nexport * from './icon-registry';\nexport * from './icon-utils';\nexport * from './icon';\nexport * from './icon-component-delegate';\n\nexport function defineIconComponent(): void {\n defineCustomElement(IconComponent);\n}\n\n// Store a reference to the icon registry on `window`.\nif (window && !window[ICON_REGISTRY_KEY]) {\n window[ICON_REGISTRY_KEY] = IconRegistry;\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX, CDN_BASE_URL } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}icon`;\n\nconst observedAttributes = {\n NAME: 'name',\n SRC: 'src',\n LAZY: 'lazy',\n EXTERNAL: 'external',\n EXTERNAL_TYPE: 'external-type',\n VIEWBOX: 'viewbox'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst numbers = {\n LAZY_ROOT_MARGIN: 50,\n DEFAULT_WIDTH: 24,\n DEFAULT_HEIGHT: 24\n};\n\nconst strings = {\n DEFAULT_NETWORK_BASE_URL: `${CDN_BASE_URL}v1/icons/svg`\n};\n\nexport const ICON_CONSTANTS = {\n elementName,\n attributes,\n numbers,\n strings\n};\n\nexport const ICON_REGISTRY_KEY = 'forgeIcons';\n\nexport declare type IconUrlBuilder = (name: string, type: IconExternalType) => string;\nexport declare type IconExternalType = '' | 'custom' | 'standard' | 'extended';\n", "import { IIconComponent } from './icon';\nimport { BaseAdapter, IBaseAdapter } from '../core';\nimport { ICON_CONSTANTS } from './icon-constants';\n\nexport interface IIconAdapter extends IBaseAdapter {\n initialize(): void;\n canLazyLoad(): boolean;\n observeVisibility(listener: () => void): void;\n destroyVisibilityObserver(): void;\n setContent(content: string): void;\n}\n\nexport class IconAdapter extends BaseAdapter<IIconComponent> implements IIconAdapter {\n private _observer: IntersectionObserver | undefined;\n\n constructor(component: IIconComponent) {\n super(component);\n }\n\n public initialize(): void {\n if (!this._component.hasAttribute('aria-hidden')) {\n this._component.setAttribute('aria-hidden', 'true');\n }\n }\n\n public canLazyLoad(): boolean {\n return !!window.IntersectionObserver;\n }\n\n public observeVisibility(listener: () => void): void {\n this._observer = new IntersectionObserver(entries => {\n if (entries.some(entry => entry.isIntersecting)) {\n this.destroyVisibilityObserver();\n listener();\n }\n }, { rootMargin: `${ICON_CONSTANTS.numbers.LAZY_ROOT_MARGIN}px` });\n this._observer.observe(this._component);\n }\n\n public destroyVisibilityObserver(): void {\n if (this._observer) {\n this._observer.disconnect();\n this._observer = undefined;\n }\n }\n\n public setContent(content: string): void {\n const shadowRoot = this._component.shadowRoot as ShadowRoot;\n const styleTag = shadowRoot.querySelector('style');\n shadowRoot.innerHTML = content;\n if (styleTag) {\n shadowRoot.appendChild(styleTag);\n }\n }\n}\n", "/** The shape of an SVG icon that can be defined with the icon registry. */\nexport interface IIcon {\n /** The unique name of the icon. */\n name: string;\n /** The SVG icon data. */\n data: string;\n}\n\n/**\n * The registry for SVG icon instances being used within the current context.\n */\nexport class IconRegistry {\n private static _icons = new Map<string, string>();\n private static _listeners = new Map<string, Array<() => void>>();\n\n /**\n * Defines a new icon.\n * @param icon The icon(s) to register.\n */\n public static define(icon: IIcon | IIcon[] | string, svgData?: string): void {\n if (Array.isArray(icon)) {\n return icon.filter(i => IconRegistry._isIconObject(i))\n .forEach(i => IconRegistry._register(i.name, i.data));\n }\n const { name, data } = IconRegistry._parseIcon(icon, svgData);\n IconRegistry._register(name, data);\n }\n\n /**\n * Removes a defined icon.\n * @param icon The icon to unregister.\n */\n public static remove(icon: IIcon | string): void {\n const key = IconRegistry._isIconObject(icon) ? icon.name : icon;\n IconRegistry._icons.delete(key);\n }\n\n /**\n * Removes a listener\n * @param key The icon name.\n * @param listener The listener callback.\n */\n public static removeListener(key: string, listener: () => void): void {\n const listeners = IconRegistry._listeners.get(key);\n if (Array.isArray(listeners) && listeners.includes(listener)) {\n listeners.splice(listeners.indexOf(listener), 1);\n }\n }\n\n /** Removes all defined icons. */\n public static clear(): void {\n IconRegistry._icons.clear();\n IconRegistry._listeners.clear();\n }\n\n /** Gets the icon data by its name, or `undefined` if not found. */\n public static get(name: string): string | undefined {\n return IconRegistry._icons.get(name);\n }\n\n /** Gets the names of registered icons. */\n public static getIconNames(): string[] {\n return Array.from(IconRegistry._icons.keys());\n }\n\n /** Registers a listener to be notified when an icon with the provided key is registered in the future. */\n public static awaitIcon(key: string, listener: () => void): void {\n if (IconRegistry._icons.has(key)) {\n listener();\n return;\n }\n const listeners = IconRegistry._listeners.get(key) ?? [];\n IconRegistry._listeners.set(key, [...listeners, listener]);\n }\n\n /** Gets the number of defined icons in the registry. */\n public static get size(): number {\n return IconRegistry._icons.size;\n }\n\n /** Registers an icon, and attempts to invalidate any listeners. */\n private static _register(key: string, value: string): void {\n IconRegistry._icons.set(key, value);\n IconRegistry._invalidateListeners(key);\n }\n\n /** Gets all listeners for a specific key, calls the listeners (if any are found), and removes the listeners after they are called. */\n private static _invalidateListeners(key: string): void {\n const listeners = IconRegistry._listeners.get(key);\n if (Array.isArray(listeners) && listeners.length) {\n listeners.forEach(listener => listener());\n IconRegistry._listeners.delete(key);\n }\n }\n\n /** Normalizes incoming parameters to an `IIcon` type. */\n private static _parseIcon(icon: IIcon | string, data = ''): IIcon {\n if (IconRegistry._isIconObject(icon)) {\n return icon;\n }\n return { name: icon, data };\n }\n\n /** Determines if the provided `icon` matches the `IIcon` shape. */\n private static _isIconObject(icon: any): icon is IIcon {\n return typeof icon === 'object' && icon.hasOwnProperty('name') && icon.hasOwnProperty('data');\n }\n}\n", "import { IconRegistry } from './icon-registry';\nimport { ICON_CONSTANTS } from './icon-constants';\nimport { createSvgFromString } from '../core/utils/svg-utils';\n\nconst _activeIconRequests = new Map<string, Promise<any>>();\n\n/** Determines if the provided SVG icon content is valid */\nexport function sanitizeSvgContent(svgContent: string | undefined, customViewBox?: string, usePartAttrs = true): string {\n if (!svgContent || !svgContent.includes('svg')) {\n return '';\n }\n \n if (!customViewBox && !svgContent.includes('viewBox')) {\n customViewBox = `0 0 ${ICON_CONSTANTS.numbers.DEFAULT_WIDTH} ${ICON_CONSTANTS.numbers.DEFAULT_HEIGHT}`;\n }\n\n const svgElement = createSvgFromString(svgContent, customViewBox);\n\n if (usePartAttrs && svgElement) {\n svgElement.setAttribute('part', 'svg');\n svgElement.querySelectorAll('path').forEach(node => {\n node.setAttribute('part', node.tagName.toLowerCase());\n });\n }\n\n return svgElement ? svgElement.outerHTML : '';\n}\n\nexport function getCachedIcon(key: string): string | undefined {\n return IconRegistry.get(key);\n}\n\nexport function awaitIconDefinition(key: string, listener: () => void): void {\n IconRegistry.awaitIcon(key, listener);\n}\n\nexport function removeIconListener(key: string, listener: () => void): void {\n IconRegistry.removeListener(key, listener);\n}\n\nexport function fetchIconContent(url: string, name: string): Promise<string> {\n // Check if we already have an active request for this URL\n let request = _activeIconRequests.get(url);\n\n if (!request) {\n if (typeof fetch !== 'undefined' && typeof document !== 'undefined') {\n // we don't already have a request\n request = fetch(url).then(async response => {\n if (response.ok) {\n const data = await response.text() || '';\n IconRegistry.define({ name, data });\n _activeIconRequests.delete(url);\n return data;\n }\n IconRegistry.define({ name, data: '' });\n return '';\n });\n\n // Cache this request in case of duplicate requests\n _activeIconRequests.set(url, request);\n } else {\n // set to empty for ssr scenarios and resolve promise\n IconRegistry.define({ name, data: '' });\n return Promise.resolve('');\n }\n }\n\n return request || Promise.resolve('');\n}\n\nexport function sanitizeExternalType(type: string): string {\n const isValidType = ['standard', 'extended', 'custom'].includes(type);\n return isValidType ? type : '';\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IIconAdapter } from './icon-adapter';\nimport { ICON_CONSTANTS, IconUrlBuilder, IconExternalType } from './icon-constants';\nimport { sanitizeSvgContent, fetchIconContent, getCachedIcon, sanitizeExternalType, awaitIconDefinition, removeIconListener } from './icon-utils';\n\nexport interface IIconFoundation extends ICustomElementFoundation {\n name: string | undefined;\n src: string | undefined;\n lazy: boolean;\n external: boolean;\n externalType: IconExternalType;\n externalUrlBuilder: IconUrlBuilder;\n viewbox: string;\n layout(): void;\n}\n\nexport class IconFoundation implements IIconFoundation {\n private _name: string | undefined;\n private _src: string | undefined;\n private _lazy: boolean;\n private _external = false;\n private _externalType: IconExternalType = 'standard';\n private _externalUrlBuilder: IconUrlBuilder;\n private _viewbox: string;\n private _applyTimer: number | undefined;\n private _lazyListener: () => void;\n private _registrationListener: () => void;\n\n constructor(private _adapter: IIconAdapter) {\n this._lazyListener = () => this._loadIcon();\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._applyIcon();\n }\n\n public disconnect(): void {\n this._adapter.destroyVisibilityObserver();\n this._clearIconQueue();\n this._tryRemoveListener();\n }\n\n private _safeApplyIcon(): void {\n if (!this._adapter.isConnected) {\n return;\n }\n this._clearIconQueue();\n this._queueIconUpdate();\n }\n\n private _tryRemoveListener(): void {\n if (this._registrationListener && this._name) {\n removeIconListener(this._name, this._registrationListener);\n }\n }\n\n private _applyIcon(): void {\n if (this._lazy && this._adapter.canLazyLoad()) {\n this._adapter.observeVisibility(this._lazyListener);\n } else {\n this._loadIcon();\n }\n }\n\n private _clearIconQueue(): void {\n if (this._applyTimer) {\n clearTimeout(this._applyTimer);\n this._applyTimer = undefined;\n }\n }\n\n private _queueIconUpdate(): void {\n this._applyTimer = window.setTimeout(() => {\n this._applyTimer = undefined;\n this._applyIcon();\n });\n }\n\n private async _loadIcon(): Promise<void> {\n try {\n if (this._src) {\n // We were provided direct icon source content so just set that\n this._setIconContent(this._src);\n } else if (this._name) {\n // Let's attempt to get our icon from the cache\n let content = this._tryGetIcon(this._name);\n\n if (!content) {\n if (!this._external) {\n // We attach a listener to the registry to let us know when the icon is registered\n this._registrationListener = () => this._applyIcon();\n awaitIconDefinition(this._name, this._registrationListener);\n\n // For now, we render nothing...\n this._adapter.setContent('');\n return;\n }\n \n // We don't have a registry icon, so let's try the network to fetch it\n if (!this._externalType) {\n throw new Error(`Invalid external type provided for icon: ${this._name}`);\n }\n const url = this._getExternalUrl(this._name, this._externalType);\n if (url) {\n content = await fetchIconContent(url, this._name);\n }\n }\n\n this._setIconContent(content);\n } else {\n this._adapter.setContent('');\n }\n } catch (e) {\n this._adapter.setContent('');\n throw e;\n }\n }\n\n private _setIconContent(svgContent: string | undefined): void {\n const content = sanitizeSvgContent(svgContent, this._viewbox);\n this._adapter.setContent(content);\n }\n\n private _tryGetIcon(key: string): string | undefined {\n return getCachedIcon(key);\n }\n\n private _getExternalUrl(name: string, type: IconExternalType): string {\n if (typeof this._externalUrlBuilder === 'function') {\n return this._externalUrlBuilder(name, type);\n }\n const setName = sanitizeExternalType(this._externalType);\n return `${ICON_CONSTANTS.strings.DEFAULT_NETWORK_BASE_URL}${setName ? `/${setName}` : ''}/${name}.svg`;\n }\n\n public get name(): string | undefined {\n return this._name;\n }\n public set name(value: string | undefined) {\n if (this._name !== value) {\n // We need to remove our listener for the previous name if we have any\n if (!!this._registrationListener) {\n this._tryRemoveListener();\n }\n this._name = (value || '').replace(/\\s+/, '');\n this._safeApplyIcon();\n this._adapter.toggleHostAttribute(ICON_CONSTANTS.attributes.NAME, !!this._name, this._name);\n }\n }\n\n public get src(): string | undefined {\n return this._src;\n }\n public set src(value: string | undefined) {\n if (this._src !== value) {\n this._src = value;\n if (this._adapter.isConnected) {\n this._applyIcon();\n }\n }\n }\n\n public get lazy(): boolean {\n return this._lazy;\n }\n public set lazy(value: boolean) {\n if (this._lazy !== value) {\n this._lazy = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.LAZY, `${this._lazy}`);\n }\n }\n\n public get external(): boolean {\n return this._external;\n }\n public set external(value: boolean) {\n if (this._external !== value) {\n this._external = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL, `${this._external}`);\n }\n }\n\n public get externalType(): IconExternalType {\n return this._externalType;\n }\n public set externalType(value: IconExternalType) {\n if (this._externalType !== value) {\n this._externalType = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL_TYPE, `${this._externalType}`);\n }\n }\n\n public get externalUrlBuilder(): IconUrlBuilder {\n return this._externalUrlBuilder;\n }\n public set externalUrlBuilder(cb: IconUrlBuilder) {\n if (this._externalUrlBuilder !== cb) {\n this._externalUrlBuilder = cb;\n this._safeApplyIcon();\n }\n }\n \n public get viewbox(): string {\n return this._viewbox;\n }\n public set viewbox(value: string) {\n if (this._viewbox !== value) {\n this._viewbox = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.VIEWBOX, `${this.viewbox}`);\n }\n }\n\n public layout(): void {\n if (this._adapter.isConnected) {\n this._applyIcon();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { IconAdapter } from './icon-adapter';\nimport { IconFoundation } from './icon-foundation';\nimport { ICON_CONSTANTS, IconUrlBuilder, IconExternalType } from './icon-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template></template>';\nconst styles = ':host{font-size:24px;font-size:var(--forge-icon-font-size, 24px);display:inline-block;contain:content;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host>svg{fill:currentColor;fill:var(--forge-icon-theme-color,currentColor);stroke:currentColor;stroke:var(--forge-icon-theme-color,currentColor);display:block;width:1em;height:1em;stroke-width:0}:host([hidden]){display:none}:host([theme=primary]){color:var(\\\"primary\\\")}:host([theme=secondary]){color:var(\\\"secondary\\\")}:host([theme=warning]){color:#d14900;color:var(\\\"warning\\\", #d14900)}:host([theme=danger]){color:#b00020;color:var(\\\"danger\\\", #b00020)}:host([theme=success]){color:#2e7d32;color:var(\\\"success\\\", #2e7d32)}:host([theme=info]){color:#424242;color:var(\\\"info\\\", #424242)}:host([theme=tertiary]){color:#3d5afe;color:var(\\\"tertiary\\\", #3d5afe)}';\n\nexport interface IIconComponent extends IBaseComponent {\n name: string | undefined;\n src: string | undefined;\n lazy: boolean;\n external: boolean;\n externalType: IconExternalType;\n externalUrlBuilder: IconUrlBuilder;\n viewbox: string;\n layout(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-icon': IIconComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-icon>` custom element.\n * \n * @tag forge-icon\n */\n@CustomElement({\n name: ICON_CONSTANTS.elementName\n})\nexport class IconComponent extends BaseComponent implements IIconComponent {\n public static get observedAttributes(): string[] {\n return [\n ICON_CONSTANTS.attributes.NAME,\n ICON_CONSTANTS.attributes.SRC,\n ICON_CONSTANTS.attributes.LAZY,\n ICON_CONSTANTS.attributes.EXTERNAL,\n ICON_CONSTANTS.attributes.EXTERNAL_TYPE,\n ICON_CONSTANTS.attributes.VIEWBOX\n ];\n }\n\n private _foundation: IconFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new IconFoundation(new IconAdapter(this));\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 ICON_CONSTANTS.attributes.NAME:\n this.name = newValue;\n break;\n case ICON_CONSTANTS.attributes.SRC:\n this.src = newValue;\n break;\n case ICON_CONSTANTS.attributes.LAZY:\n this.lazy = coerceBoolean(newValue);\n break;\n case ICON_CONSTANTS.attributes.EXTERNAL:\n this.external = coerceBoolean(newValue);\n break;\n case ICON_CONSTANTS.attributes.EXTERNAL_TYPE:\n this.externalType = newValue as IconExternalType;\n break;\n case ICON_CONSTANTS.attributes.VIEWBOX:\n this.viewbox = newValue;\n break;\n }\n }\n\n /** The name of the icon within the icon registry to be used. */\n @FoundationProperty()\n public declare name: string | undefined;\n\n /** Provides the ability to set the SVG string content directly. */\n @FoundationProperty()\n public declare src: string | undefined;\n\n /** Controls whether the icon will be loaded dynamically when it comes into view. False by default. */\n @FoundationProperty()\n public declare lazy: boolean;\n\n /** Controls whether external network requests are allowed for this icon. Only pertains for icons that aren't defined in the registry. */\n @FoundationProperty()\n public declare external: boolean;\n\n /** The type of icon to load externally. Possible values: \"standard\", \"extended\", \"custom\". */\n @FoundationProperty()\n public declare externalType: IconExternalType;\n\n /** A callback that can be provided to generate a URL that will be used to fetch an SVG icon. */\n @FoundationProperty()\n public declare externalUrlBuilder: IconUrlBuilder;\n\n /** A custom value to apply to the `viewBox` attribute on the internal `<svg>` element. */\n @FoundationProperty()\n public declare viewbox: string;\n\n /** Forces a reload of the icon. */\n public layout(): void {\n this._foundation.layout();\n }\n}\n", "import { BaseComponentDelegate, IBaseComponentDelegateOptions, IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { ICON_CONSTANTS } from './icon-constants';\nimport { IIconComponent } from './icon';\n\nexport interface IIconComponentDelegateOptions extends IBaseComponentDelegateOptions {}\nexport interface IIconComponentDelegateConfig extends IBaseComponentDelegateConfig<IIconComponent, IIconComponentDelegateOptions> {}\n\nexport class IconComponentDelegate extends BaseComponentDelegate<IIconComponent, IIconComponentDelegateOptions> {\n constructor(config?: IIconComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IIconComponent {\n return document.createElement(ICON_CONSTANTS.elementName);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { IconComponent } from './icon';\nimport { IconRegistry } from './icon-registry';\nimport { ICON_REGISTRY_KEY } from './icon-constants';\n\nexport * from './icon-adapter';\nexport * from './icon-constants';\nexport * from './icon-foundation';\nexport * from './icon-registry';\nexport * from './icon-utils';\nexport * from './icon';\nexport * from './icon-component-delegate';\n\nexport function defineIconComponent(): void {\n defineCustomElement(IconComponent);\n}\n\n// Store a reference to the icon registry on `window`.\nif (window && !window[ICON_REGISTRY_KEY]) {\n window[ICON_REGISTRY_KEY] = IconRegistry;\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 n,b as r}from"./chunk.OOW3UKT4.js";import{a as o,e as m,l as p}from"./chunk.MMVZJLXE.js";import{f as t}from"./chunk.MCIQXNKY.js";var s=`${r}view`,a={elementName:s};var i="<template><slot></slot></template>",l=":host{display:block}:host([hidden]){display:none}",e=class extends p{constructor(){super(),m(this,i,l)}};e=t([n({name:a.elementName})],e);function M(){o(e)}export{a,e as b,M as c};
7
+ //# sourceMappingURL=chunk.ZFD3OE45.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/view-switcher/view/view-constants.ts", "../../src/view-switcher/view/view.ts", "../../src/view-switcher/view/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}view`;\n\nexport const VIEW_CONSTANTS = {\n elementName\n};\n", "import { CustomElement, attachShadowTemplate } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nimport { VIEW_CONSTANTS } from './view-constants';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:block}:host([hidden]){display:none}';\n\nexport interface IViewComponent extends IBaseComponent {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-view': IViewComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-view>` custom element.\n * \n * @tag forge-view\n */\n@CustomElement({\n name: VIEW_CONSTANTS.elementName\n})\nexport class ViewComponent extends BaseComponent implements IViewComponent {\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ViewComponent } from './view';\n\nexport * from './view-constants';\nexport * from './view';\n\nexport function defineViewComponent(): void {\n defineCustomElement(ViewComponent);\n}\n"],
5
- "mappings": "8KAEA,GAAM,GAA2C,GAAG,QAEvC,EAAiB,CAC5B,aACF,ECDA,GAAM,GAAW,qCACX,EAAS,oDAkBF,EAAN,aAA4B,EAAwC,CACzE,aAAc,CACZ,MAAM,EACN,EAAqB,KAAM,EAAU,CAAM,CAC7C,CACF,EALa,EAAN,GAHP,AAAC,EAAc,CACb,KAAM,EAAe,WACvB,CAAC,GACY,GCjBN,YAAqC,CAC1C,EAAoB,CAAa,CACnC",
5
+ "mappings": "6IAEA,GAAM,GAA2C,GAAG,QAEvC,EAAiB,CAC5B,aACF,ECDA,GAAM,GAAW,qCACX,EAAS,oDAkBF,EAAN,aAA4B,EAAwC,CACzE,aAAc,CACZ,MAAM,EACN,EAAqB,KAAM,EAAU,CAAM,CAC7C,CACF,EALa,EAAN,GAHP,AAAC,EAAc,CACb,KAAM,EAAe,WACvB,CAAC,GACY,GCjBN,YAAqC,CAC1C,EAAoB,CAAa,CACnC",
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 _}from"./chunk.5PXABBKU.js";import{a as p}from"./chunk.B3IJU6XJ.js";import{a as g,b as f}from"./chunk.OOW3UKT4.js";import{a as m,l as h}from"./chunk.MMVZJLXE.js";import{q as c}from"./chunk.R4NDFXVA.js";import{k as d}from"./chunk.G76HB2FK.js";import{f as l}from"./chunk.MCIQXNKY.js";var A=`${f}keyboard-shortcut`,L={KEY:"key",TARGET:"target",GLOBAL:"global",ALLOW_WHILE_TYPING:"allow-while-typing",USE_CODE:"use-code",PREVENT_DEFAULT:"prevent-default",CAPTURE:"capture",DISABLED:"disabled"},k={TOOLTIP:"forge-tooltip"},K={ACTIVATE:"forge-keyboard-shortcut-activate"},t={elementName:A,attributes:L,selectors:k,events:K},E=["date","datetime","datetime-local","email","month","number","password","search","tel","text","time","url","week"];var u=class extends _{constructor(r){super(r);this.component=r}hasTargetElement(){return!!this._targetElement}destroy(){this._targetElement=null}addTargetEventListener(r,a,i){var s;(s=this._targetElement)==null||s.addEventListener(r,a,{capture:i})}removeTargetEventListener(r,a,i){var s;(s=this._targetElement)==null||s.removeEventListener(r,a,{capture:i})}setHostStyles(){this.component.style.display="none"}setTargetElement(r,a){if(a){let i=this._component.ownerDocument||document;this._targetElement=i.documentElement;return}if(r){if(this._component.parentElement){if(c(this._component.parentElement,r)){this._targetElement=this._component.parentElement;return}this._targetElement=this._component.parentElement.querySelector(r);return}}else{let i=this._component.previousElementSibling;for(;i;){if(!c(i,t.selectors.TOOLTIP)){this._targetElement=i;return}i=i.previousElementSibling}this._targetElement=this._component.parentElement;return}}};function y(n){return n instanceof HTMLInputElement?E.includes(n.type):!1}function T(n,e=!1){return!n||!n.length?[]:n.split(" ").map(a=>a.trim()).map(a=>{let i=a.split("+"),s=e?i.pop()||"":D((i.pop()||"").toLowerCase()),C=i.sort().join("").toLowerCase();return{key:s,modifier:C}})}function v(n,e,r=!1){let a=r?n.code:n.key.toLowerCase(),i=I(n);return e.some(s=>a===s.key&&i===s.modifier)}function I(n){let e="";return n.altKey&&(e+="alt"),n.ctrlKey&&(e+="control"),n.metaKey&&(e+="meta"),n.shiftKey&&(e+="shift"),e}function D(n){switch(n){case"plus":return"+";case"space":return" ";default:return n}}var b=class{constructor(e){this._adapter=e;this._global=!1;this._allowWhileTyping=!1;this._preventDefault=!0;this._capture=!1;this._useCode=!1;this._disabled=!1;this._keyDownListener=r=>this._onKeyDown(r)}initialize(){this._initializeTargetElement(),this._adapter.setHostStyles()}disconnect(){this._disconnectTargetElement(),this._adapter.destroy()}_initializeTargetElement(){if(this._disconnectTargetElement(),this._adapter.setTargetElement(this._target,this._global),!this._adapter.hasTargetElement())throw new Error("Unable to locate the target element.");this._disabled||this._connectTargetElement()}_connectTargetElement(){!this._adapter.hasTargetElement||this._adapter.addTargetEventListener("keydown",this._keyDownListener,this._capture)}_disconnectTargetElement(){!this._adapter.hasTargetElement||this._adapter.removeTargetEventListener("keydown",this._keyDownListener,this._capture)}_onKeyDown(e){!this._allowWhileTyping&&y(e.target)||v(e,this._keyCombinations,this._useCode)&&(this._preventDefault&&e.preventDefault(),this._adapter.emitHostEvent(t.events.ACTIVATE,e))}_setKeyCombinations(){this._keyCombinations=T(this._key,this._useCode)}get key(){return this._key}set key(e){this._key!==e&&(this._key=e,this._adapter.toggleHostAttribute(t.attributes.KEY,!!this.key,this._key||""),this._setKeyCombinations())}get target(){return this._target}set target(e){this._target!==e&&(this._target=e,this._adapter.setHostAttribute(t.attributes.TARGET,this._target),this._adapter.isConnected&&this._initializeTargetElement())}get global(){return this._global}set global(e){this._global!==e&&(this._global=e,this._adapter.toggleHostAttribute(t.attributes.GLOBAL,this._global),this._adapter.isConnected&&this._initializeTargetElement())}get allowWhileTyping(){return this._allowWhileTyping}set allowWhileTyping(e){this._allowWhileTyping!==e&&(this._allowWhileTyping=e,this._adapter.toggleHostAttribute(t.attributes.ALLOW_WHILE_TYPING,this._allowWhileTyping))}get preventDefault(){return this._preventDefault}set preventDefault(e){this._preventDefault!==e&&(this._preventDefault=e,this._adapter.toggleHostAttribute(t.attributes.PREVENT_DEFAULT,this._preventDefault))}get capture(){return this._capture}set capture(e){this._capture!==e&&(this._disconnectTargetElement(),this._capture=e,this._adapter.toggleHostAttribute(t.attributes.CAPTURE,this.capture),this._connectTargetElement())}get useCode(){return this._useCode}set useCode(e){this._useCode!==e&&(this._useCode=e,this._adapter.toggleHostAttribute(t.attributes.USE_CODE,this._useCode),this._setKeyCombinations())}get disabled(){return this._disabled}set disabled(e){this._disabled!==e&&(this._disabled=e,this._adapter.toggleHostAttribute(t.attributes.DISABLED,this._disabled),this._disabled?this._disconnectTargetElement():this._connectTargetElement())}};var o=class extends h{constructor(){super();this._foundation=new b(new u(this))}static get observedAttributes(){return[t.attributes.KEY,t.attributes.TARGET,t.attributes.GLOBAL,t.attributes.ALLOW_WHILE_TYPING,t.attributes.PREVENT_DEFAULT,t.attributes.CAPTURE,t.attributes.USE_CODE,t.attributes.DISABLED]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(r,a,i){switch(r){case t.attributes.KEY:this.key=i;break;case t.attributes.TARGET:this.target=i;break;case t.attributes.GLOBAL:this.global=d(i);break;case t.attributes.ALLOW_WHILE_TYPING:this.allowWhileTyping=d(i);break;case t.attributes.PREVENT_DEFAULT:this.preventDefault=d(i);break;case t.attributes.CAPTURE:this.capture=d(i);break;case t.attributes.USE_CODE:this.useCode=d(i);break;case t.attributes.DISABLED:this.disabled=d(i);break}}get keyBinding(){return this.key}set keyBinding(r){this.key=r}};l([p()],o.prototype,"key",2),l([p()],o.prototype,"target",2),l([p()],o.prototype,"global",2),l([p()],o.prototype,"allowWhileTyping",2),l([p()],o.prototype,"preventDefault",2),l([p()],o.prototype,"capture",2),l([p()],o.prototype,"useCode",2),l([p()],o.prototype,"disabled",2),o=l([g({name:t.elementName})],o);function Z(){m(o)}export{t as a,E as b,u as c,y as d,T as e,v as f,I as g,D as h,b as i,o as j,Z as k};
7
+ //# sourceMappingURL=chunk.ZMXKZJRM.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/keyboard-shortcut/keyboard-shortcut-constants.ts", "../../src/keyboard-shortcut/keyboard-shortcut-adapter.ts", "../../src/keyboard-shortcut/keyboard-shortcut-utils.ts", "../../src/keyboard-shortcut/keyboard-shortcut-foundation.ts", "../../src/keyboard-shortcut/keyboard-shortcut.ts", "../../src/keyboard-shortcut/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}keyboard-shortcut`;\n\nconst attributes = {\n KEY: 'key',\n TARGET: 'target',\n GLOBAL: 'global',\n ALLOW_WHILE_TYPING: 'allow-while-typing',\n USE_CODE: 'use-code',\n PREVENT_DEFAULT: 'prevent-default',\n CAPTURE: 'capture',\n DISABLED: 'disabled'\n};\n\nconst selectors = {\n TOOLTIP: 'forge-tooltip'\n};\n\nconst events = {\n ACTIVATE: `forge-keyboard-shortcut-activate`\n};\n\nexport const KEYBOARD_SHORTCUT_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n events\n};\n\nexport const textInputTypes = [\n 'date',\n 'datetime',\n 'datetime-local',\n 'email',\n 'month',\n 'number',\n 'password',\n 'search',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week'\n];\n\nexport interface IKeyCombination {\n key: string;\n modifier?: string;\n}\n", "import { matchesSelectors } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base';\nimport { IKeyboardShortcutComponent } from './keyboard-shortcut';\nimport { KEYBOARD_SHORTCUT_CONSTANTS } from './keyboard-shortcut-constants';\n\nexport interface IKeyboardShortcutAdapter extends IBaseAdapter {\n hasTargetElement(): boolean;\n destroy(): void;\n addTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void;\n removeTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void;\n setHostStyles(): void;\n setTargetElement(target: string | undefined, global: boolean): void;\n}\n\nexport class KeyboardShortcutAdapter extends BaseAdapter<IKeyboardShortcutComponent> implements IKeyboardShortcutAdapter {\n private _targetElement: HTMLElement | null;\n\n constructor(public component: IKeyboardShortcutComponent) {\n super(component);\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public destroy(): void {\n this._targetElement = null;\n }\n\n /**\n * Adds an event listener to the target element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public addTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void {\n this._targetElement?.addEventListener(type, listener, { capture });\n }\n\n /**\n * Removes an event listener from the target element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public removeTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void {\n this._targetElement?.removeEventListener(type, listener, { capture });\n }\n\n /**\n * Sets the host element's display to none\n */\n public setHostStyles(): void {\n this.component.style.display = 'none';\n }\n\n /**\n * Sets the target element based on the provided CSS selector.\n * @param {string | undefined} selector The target element selector.\n * @param {boolean} global Whether to target the document element.\n */\n public setTargetElement(selector: string | undefined, global: boolean): void {\n if (global) {\n const doc = this._component.ownerDocument || document;\n this._targetElement = doc.documentElement;\n return;\n }\n \n if (selector) {\n if (this._component.parentElement) {\n if (matchesSelectors(this._component.parentElement, selector)) {\n this._targetElement = this._component.parentElement;\n return;\n }\n this._targetElement = this._component.parentElement.querySelector(selector);\n return;\n }\n } else {\n let sibling = this._component.previousElementSibling;\n while (sibling) {\n // Ignore <forge-tooltip> elements\n if (!matchesSelectors(sibling, KEYBOARD_SHORTCUT_CONSTANTS.selectors.TOOLTIP)) {\n this._targetElement = sibling as HTMLElement;\n return;\n }\n sibling = sibling.previousElementSibling;\n }\n this._targetElement = this._component.parentElement as HTMLElement;\n return;\n }\n }\n}\n", "import { textInputTypes, IKeyCombination } from './keyboard-shortcut-constants';\n\n/** Checks if an HTML element allows text input */\nexport function elementAcceptsTextInput(el: any): boolean {\n if (el instanceof HTMLInputElement) {\n return textInputTypes.includes(el.type);\n }\n return false;\n}\n\n/** Parses a string of key combinations into an array of keys and modifiers */\nexport function parseKeyCombinations(keys: string | null | undefined, useCode = false): IKeyCombination[] {\n if (!keys || !keys.length) {\n return [];\n }\n\n const separatedKeys = keys.split(' ').map(key => key.trim());\n return separatedKeys.map(key => {\n const keyParts = key.split('+');\n const fixedKey = useCode ? keyParts.pop() || '' : fixKey((keyParts.pop() || '').toLowerCase());\n const modifiers = keyParts.sort().join('').toLowerCase();\n return { key: fixedKey, modifier: modifiers };\n });\n}\n\n/** Checks a keyboard event for a matching key combination */\nexport function matchKeyCombination(evt: KeyboardEvent, keyCombinations: IKeyCombination[], useCode = false): boolean {\n const eventKey = useCode ? evt.code : evt.key.toLowerCase();\n const modifierKeys = getModiferKeysString(evt);\n return keyCombinations.some(combination => eventKey === combination.key && modifierKeys === combination.modifier);\n}\n\n/** Returns an array of active modifier keys from a keyboard event */\nexport function getModiferKeysString(evt: KeyboardEvent): string {\n // Ensure the modifier keys are appended in alphabetical order\n let modifierString = '';\n if (evt.altKey) {\n modifierString += 'alt';\n }\n if (evt.ctrlKey) {\n modifierString += 'control';\n }\n if (evt.metaKey) {\n modifierString += 'meta';\n }\n if (evt.shiftKey) {\n modifierString += 'shift';\n }\n return modifierString;\n}\n\n/** Returns a reserved key character from its alias */\nexport function fixKey(key: string): string {\n switch (key) {\n case 'plus':\n return '+';\n case 'space':\n return ' ';\n default:\n return key;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IKeyboardShortcutAdapter } from './keyboard-shortcut-adapter';\nimport { IKeyCombination, KEYBOARD_SHORTCUT_CONSTANTS } from './keyboard-shortcut-constants';\nimport { elementAcceptsTextInput, matchKeyCombination, parseKeyCombinations } from './keyboard-shortcut-utils';\n\nexport interface IKeyboardShortcutFoundation extends ICustomElementFoundation {\n key: string | null | undefined;\n target: string;\n global: boolean;\n allowWhileTyping: boolean;\n preventDefault: boolean;\n capture: boolean;\n useCode: boolean;\n disabled: boolean;\n}\n\nexport class KeyboardShortcutFoundation implements IKeyboardShortcutFoundation {\n private _key: string | null | undefined;\n private _target: string;\n private _global = false;\n private _allowWhileTyping = false;\n private _preventDefault = true;\n private _capture = false;\n private _useCode = false;\n private _disabled = false;\n private _keyCombinations: IKeyCombination[];\n private _keyDownListener: (evt: KeyboardEvent) => void;\n \n constructor(private _adapter: IKeyboardShortcutAdapter) {\n this._keyDownListener = evt => this._onKeyDown(evt);\n }\n\n public initialize(): void {\n this._initializeTargetElement();\n this._adapter.setHostStyles();\n }\n\n public disconnect(): void {\n this._disconnectTargetElement();\n this._adapter.destroy();\n }\n\n private _initializeTargetElement(): void {\n this._disconnectTargetElement();\n this._adapter.setTargetElement(this._target, this._global);\n \n if (!this._adapter.hasTargetElement()) {\n throw new Error('Unable to locate the target element.');\n }\n\n if (!this._disabled) {\n this._connectTargetElement();\n }\n }\n\n private _connectTargetElement(): void {\n if (!this._adapter.hasTargetElement) {\n return;\n }\n this._adapter.addTargetEventListener('keydown', this._keyDownListener, this._capture);\n }\n\n private _disconnectTargetElement(): void {\n if (!this._adapter.hasTargetElement) {\n return;\n }\n this._adapter.removeTargetEventListener('keydown', this._keyDownListener, this._capture);\n }\n\n private _onKeyDown(evt: KeyboardEvent): void {\n // Here we may check if the target element is disabled, but disabled elements typically can't receive focus anyway\n\n // Ignore the event if it originates from a text field\n // TODO: bypass this and allow it if a modifier key is used?\n if (!this._allowWhileTyping && elementAcceptsTextInput(evt.target)) {\n return;\n }\n\n if (matchKeyCombination(evt, this._keyCombinations, this._useCode)) {\n if (this._preventDefault) {\n evt.preventDefault();\n }\n this._adapter.emitHostEvent(KEYBOARD_SHORTCUT_CONSTANTS.events.ACTIVATE, evt);\n }\n }\n\n /** Sets the key combinations. */\n private _setKeyCombinations(): void {\n this._keyCombinations = parseKeyCombinations(this._key, this._useCode);\n }\n\n /** Gets/sets the key binding. */\n public get key(): string | null | undefined {\n return this._key;\n }\n public set key(value: string| null | undefined) {\n if (this._key !== value) {\n this._key = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.KEY, !!this.key, this._key || '');\n this._setKeyCombinations();\n }\n // TODO: prevent multiple shortcuts with the same keys on an element (possible?)\n }\n\n /** Gets/sets the target element selector. */\n public get target(): string {\n return this._target;\n }\n public set target(value: string) {\n if (this._target !== value) {\n this._target = value;\n this._adapter.setHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.TARGET, this._target);\n if (this._adapter.isConnected) {\n this._initializeTargetElement();\n }\n }\n }\n\n /** Gets/sets the global listener state. */\n public get global(): boolean {\n return this._global;\n }\n public set global(value: boolean) {\n if (this._global !== value) {\n this._global = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.GLOBAL, this._global);\n if (this._adapter.isConnected) {\n this._initializeTargetElement();\n }\n }\n }\n\n /** Gets/sets whether the callback will be trigger while a text input has focus. */\n public get allowWhileTyping(): boolean {\n return this._allowWhileTyping;\n }\n public set allowWhileTyping(value: boolean) {\n if (this._allowWhileTyping !== value) {\n this._allowWhileTyping = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.ALLOW_WHILE_TYPING, this._allowWhileTyping);\n }\n }\n\n /** Gets/sets whether to prevent default on keyboard events. */\n public get preventDefault(): boolean {\n return this._preventDefault;\n }\n public set preventDefault(value: boolean) {\n if (this._preventDefault !== value) {\n this._preventDefault = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.PREVENT_DEFAULT, this._preventDefault);\n }\n }\n\n /** Gets/sets whether to use capturing on keyboard events. */\n public get capture(): boolean {\n return this._capture;\n }\n public set capture(value: boolean) {\n if (this._capture !== value) {\n this._disconnectTargetElement(); // We need to disconnect first to ensure our listener is removed properly based on capturing state\n this._capture = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.CAPTURE, this.capture);\n this._connectTargetElement();\n }\n }\n\n /** Gets/sets whether to match codes instead of keys on keyboard events. */\n public get useCode(): boolean{\n return this._useCode;\n }\n public set useCode(value: boolean) {\n if (this._useCode !== value) {\n this._useCode = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.USE_CODE, this._useCode);\n this._setKeyCombinations();\n }\n }\n\n /** Gets/sets whether the event will be emitted. */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.DISABLED, this._disabled);\n\n if (this._disabled) {\n this._disconnectTargetElement();\n } else {\n this._connectTargetElement();\n }\n }\n }\n}\n", "import { coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\n\nimport { KeyboardShortcutAdapter } from './keyboard-shortcut-adapter';\nimport { KeyboardShortcutFoundation } from './keyboard-shortcut-foundation';\nimport { KEYBOARD_SHORTCUT_CONSTANTS } from './keyboard-shortcut-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nexport interface IKeyboardShortcutComponent extends IBaseComponent {\n key: string | null | undefined;\n keyBinding: string | null | undefined;\n target: string;\n global: boolean;\n allowWhileTyping: boolean;\n preventDefault: boolean;\n capture: boolean;\n useCode: boolean;\n disabled: boolean;\n}\n\ndeclare global {\n // tslint:disable-next-line: interface-name\n interface HTMLElementTagNameMap {\n 'forge-keyboard-shortcut': IKeyboardShortcutComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-keyboard-shortcut>` custom element.\n * \n * @tag forge-keyboard-shortcut\n */\n@CustomElement({\n name: KEYBOARD_SHORTCUT_CONSTANTS.elementName\n})\nexport class KeyboardShortcutComponent extends BaseComponent implements IKeyboardShortcutComponent {\n public static get observedAttributes(): string[] {\n return [\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.KEY,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.TARGET,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.GLOBAL,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.ALLOW_WHILE_TYPING,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.PREVENT_DEFAULT,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.CAPTURE,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.USE_CODE,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.DISABLED\n ];\n }\n\n private _foundation: KeyboardShortcutFoundation;\n\n constructor() {\n super();\n this._foundation = new KeyboardShortcutFoundation(new KeyboardShortcutAdapter(this));\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 KEYBOARD_SHORTCUT_CONSTANTS.attributes.KEY:\n this.key = newValue;\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.TARGET:\n this.target = newValue;\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.GLOBAL:\n this.global = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.ALLOW_WHILE_TYPING:\n this.allowWhileTyping = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.PREVENT_DEFAULT:\n this.preventDefault = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.CAPTURE:\n this.capture = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.USE_CODE:\n this.useCode = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets/sets the key binding. */\n @FoundationProperty()\n public key: string | null | undefined;\n\n /** Alias for key. */\n public get keyBinding(): string | null | undefined {\n return this.key;\n }\n public set keyBinding(value: string | null | undefined) {\n this.key = value;\n }\n\n /** Gets/sets the target element selector. */\n @FoundationProperty()\n public target: string;\n\n /** Gets/sets the global listener state. */\n @FoundationProperty()\n public global: boolean;\n\n /** Gets/sets whether the callback will be called while in a text entry field. */\n @FoundationProperty()\n public allowWhileTyping: boolean;\n \n /** Gets/sets whether to prevent default on keyboard events */\n @FoundationProperty()\n public preventDefault: boolean;\n \n /** Gets/sets whether to use capturing on keyboard events */\n @FoundationProperty()\n public capture: boolean;\n \n /** Gets/sets whether to match codes instead of keys on keyboard events */\n @FoundationProperty()\n public useCode: boolean;\n\n /** Gets/sets whether the callback will be called. */\n @FoundationProperty()\n public disabled: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { KeyboardShortcutComponent } from './keyboard-shortcut';\n\nexport * from './keyboard-shortcut-adapter';\nexport * from './keyboard-shortcut-constants';\nexport * from './keyboard-shortcut-foundation';\nexport * from './keyboard-shortcut-utils';\nexport * from './keyboard-shortcut';\n\nexport function defineKeyboardShortcutComponent(): void {\n defineCustomElement(KeyboardShortcutComponent);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}keyboard-shortcut`;\n\nconst attributes = {\n KEY: 'key',\n TARGET: 'target',\n GLOBAL: 'global',\n ALLOW_WHILE_TYPING: 'allow-while-typing',\n USE_CODE: 'use-code',\n PREVENT_DEFAULT: 'prevent-default',\n CAPTURE: 'capture',\n DISABLED: 'disabled'\n};\n\nconst selectors = {\n TOOLTIP: 'forge-tooltip'\n};\n\nconst events = {\n ACTIVATE: `forge-keyboard-shortcut-activate`\n};\n\nexport const KEYBOARD_SHORTCUT_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n events\n};\n\nexport const textInputTypes = [\n 'date',\n 'datetime',\n 'datetime-local',\n 'email',\n 'month',\n 'number',\n 'password',\n 'search',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week'\n];\n\nexport interface IKeyCombination {\n key: string;\n modifier?: string;\n}\n", "import { matchesSelectors } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base';\nimport { IKeyboardShortcutComponent } from './keyboard-shortcut';\nimport { KEYBOARD_SHORTCUT_CONSTANTS } from './keyboard-shortcut-constants';\n\nexport interface IKeyboardShortcutAdapter extends IBaseAdapter {\n hasTargetElement(): boolean;\n destroy(): void;\n addTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void;\n removeTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void;\n setHostStyles(): void;\n setTargetElement(target: string | undefined, global: boolean): void;\n}\n\nexport class KeyboardShortcutAdapter extends BaseAdapter<IKeyboardShortcutComponent> implements IKeyboardShortcutAdapter {\n private _targetElement: HTMLElement | null;\n\n constructor(public component: IKeyboardShortcutComponent) {\n super(component);\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public destroy(): void {\n this._targetElement = null;\n }\n\n /**\n * Adds an event listener to the target element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public addTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void {\n this._targetElement?.addEventListener(type, listener, { capture });\n }\n\n /**\n * Removes an event listener from the target element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public removeTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void {\n this._targetElement?.removeEventListener(type, listener, { capture });\n }\n\n /**\n * Sets the host element's display to none\n */\n public setHostStyles(): void {\n this.component.style.display = 'none';\n }\n\n /**\n * Sets the target element based on the provided CSS selector.\n * @param {string | undefined} selector The target element selector.\n * @param {boolean} global Whether to target the document element.\n */\n public setTargetElement(selector: string | undefined, global: boolean): void {\n if (global) {\n const doc = this._component.ownerDocument || document;\n this._targetElement = doc.documentElement;\n return;\n }\n \n if (selector) {\n if (this._component.parentElement) {\n if (matchesSelectors(this._component.parentElement, selector)) {\n this._targetElement = this._component.parentElement;\n return;\n }\n this._targetElement = this._component.parentElement.querySelector(selector);\n return;\n }\n } else {\n let sibling = this._component.previousElementSibling;\n while (sibling) {\n // Ignore <forge-tooltip> elements\n if (!matchesSelectors(sibling, KEYBOARD_SHORTCUT_CONSTANTS.selectors.TOOLTIP)) {\n this._targetElement = sibling as HTMLElement;\n return;\n }\n sibling = sibling.previousElementSibling;\n }\n this._targetElement = this._component.parentElement as HTMLElement;\n return;\n }\n }\n}\n", "import { textInputTypes, IKeyCombination } from './keyboard-shortcut-constants';\n\n/** Checks if an HTML element allows text input */\nexport function elementAcceptsTextInput(el: any): boolean {\n if (el instanceof HTMLInputElement) {\n return textInputTypes.includes(el.type);\n }\n return false;\n}\n\n/** Parses a string of key combinations into an array of keys and modifiers */\nexport function parseKeyCombinations(keys: string | null | undefined, useCode = false): IKeyCombination[] {\n if (!keys || !keys.length) {\n return [];\n }\n\n const separatedKeys = keys.split(' ').map(key => key.trim());\n return separatedKeys.map(key => {\n const keyParts = key.split('+');\n const fixedKey = useCode ? keyParts.pop() || '' : fixKey((keyParts.pop() || '').toLowerCase());\n const modifiers = keyParts.sort().join('').toLowerCase();\n return { key: fixedKey, modifier: modifiers };\n });\n}\n\n/** Checks a keyboard event for a matching key combination */\nexport function matchKeyCombination(evt: KeyboardEvent, keyCombinations: IKeyCombination[], useCode = false): boolean {\n const eventKey = useCode ? evt.code : evt.key.toLowerCase();\n const modifierKeys = getModiferKeysString(evt);\n return keyCombinations.some(combination => eventKey === combination.key && modifierKeys === combination.modifier);\n}\n\n/** Returns an array of active modifier keys from a keyboard event */\nexport function getModiferKeysString(evt: KeyboardEvent): string {\n // Ensure the modifier keys are appended in alphabetical order\n let modifierString = '';\n if (evt.altKey) {\n modifierString += 'alt';\n }\n if (evt.ctrlKey) {\n modifierString += 'control';\n }\n if (evt.metaKey) {\n modifierString += 'meta';\n }\n if (evt.shiftKey) {\n modifierString += 'shift';\n }\n return modifierString;\n}\n\n/** Returns a reserved key character from its alias */\nexport function fixKey(key: string): string {\n switch (key) {\n case 'plus':\n return '+';\n case 'space':\n return ' ';\n default:\n return key;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IKeyboardShortcutAdapter } from './keyboard-shortcut-adapter';\nimport { IKeyCombination, KEYBOARD_SHORTCUT_CONSTANTS } from './keyboard-shortcut-constants';\nimport { elementAcceptsTextInput, matchKeyCombination, parseKeyCombinations } from './keyboard-shortcut-utils';\n\nexport interface IKeyboardShortcutFoundation extends ICustomElementFoundation {\n key: string | null | undefined;\n target: string;\n global: boolean;\n allowWhileTyping: boolean;\n preventDefault: boolean;\n capture: boolean;\n useCode: boolean;\n disabled: boolean;\n}\n\nexport class KeyboardShortcutFoundation implements IKeyboardShortcutFoundation {\n private _key: string | null | undefined;\n private _target: string;\n private _global = false;\n private _allowWhileTyping = false;\n private _preventDefault = true;\n private _capture = false;\n private _useCode = false;\n private _disabled = false;\n private _keyCombinations: IKeyCombination[];\n private _keyDownListener: (evt: KeyboardEvent) => void;\n \n constructor(private _adapter: IKeyboardShortcutAdapter) {\n this._keyDownListener = evt => this._onKeyDown(evt);\n }\n\n public initialize(): void {\n this._initializeTargetElement();\n this._adapter.setHostStyles();\n }\n\n public disconnect(): void {\n this._disconnectTargetElement();\n this._adapter.destroy();\n }\n\n private _initializeTargetElement(): void {\n this._disconnectTargetElement();\n this._adapter.setTargetElement(this._target, this._global);\n \n if (!this._adapter.hasTargetElement()) {\n throw new Error('Unable to locate the target element.');\n }\n\n if (!this._disabled) {\n this._connectTargetElement();\n }\n }\n\n private _connectTargetElement(): void {\n if (!this._adapter.hasTargetElement) {\n return;\n }\n this._adapter.addTargetEventListener('keydown', this._keyDownListener, this._capture);\n }\n\n private _disconnectTargetElement(): void {\n if (!this._adapter.hasTargetElement) {\n return;\n }\n this._adapter.removeTargetEventListener('keydown', this._keyDownListener, this._capture);\n }\n\n private _onKeyDown(evt: KeyboardEvent): void {\n // Here we may check if the target element is disabled, but disabled elements typically can't receive focus anyway\n\n // Ignore the event if it originates from a text field\n // TODO: bypass this and allow it if a modifier key is used?\n if (!this._allowWhileTyping && elementAcceptsTextInput(evt.target)) {\n return;\n }\n\n if (matchKeyCombination(evt, this._keyCombinations, this._useCode)) {\n if (this._preventDefault) {\n evt.preventDefault();\n }\n this._adapter.emitHostEvent(KEYBOARD_SHORTCUT_CONSTANTS.events.ACTIVATE, evt);\n }\n }\n\n /** Sets the key combinations. */\n private _setKeyCombinations(): void {\n this._keyCombinations = parseKeyCombinations(this._key, this._useCode);\n }\n\n /** Gets/sets the key binding. */\n public get key(): string | null | undefined {\n return this._key;\n }\n public set key(value: string| null | undefined) {\n if (this._key !== value) {\n this._key = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.KEY, !!this.key, this._key || '');\n this._setKeyCombinations();\n }\n // TODO: prevent multiple shortcuts with the same keys on an element (possible?)\n }\n\n /** Gets/sets the target element selector. */\n public get target(): string {\n return this._target;\n }\n public set target(value: string) {\n if (this._target !== value) {\n this._target = value;\n this._adapter.setHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.TARGET, this._target);\n if (this._adapter.isConnected) {\n this._initializeTargetElement();\n }\n }\n }\n\n /** Gets/sets the global listener state. */\n public get global(): boolean {\n return this._global;\n }\n public set global(value: boolean) {\n if (this._global !== value) {\n this._global = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.GLOBAL, this._global);\n if (this._adapter.isConnected) {\n this._initializeTargetElement();\n }\n }\n }\n\n /** Gets/sets whether the callback will be trigger while a text input has focus. */\n public get allowWhileTyping(): boolean {\n return this._allowWhileTyping;\n }\n public set allowWhileTyping(value: boolean) {\n if (this._allowWhileTyping !== value) {\n this._allowWhileTyping = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.ALLOW_WHILE_TYPING, this._allowWhileTyping);\n }\n }\n\n /** Gets/sets whether to prevent default on keyboard events. */\n public get preventDefault(): boolean {\n return this._preventDefault;\n }\n public set preventDefault(value: boolean) {\n if (this._preventDefault !== value) {\n this._preventDefault = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.PREVENT_DEFAULT, this._preventDefault);\n }\n }\n\n /** Gets/sets whether to use capturing on keyboard events. */\n public get capture(): boolean {\n return this._capture;\n }\n public set capture(value: boolean) {\n if (this._capture !== value) {\n this._disconnectTargetElement(); // We need to disconnect first to ensure our listener is removed properly based on capturing state\n this._capture = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.CAPTURE, this.capture);\n this._connectTargetElement();\n }\n }\n\n /** Gets/sets whether to match codes instead of keys on keyboard events. */\n public get useCode(): boolean{\n return this._useCode;\n }\n public set useCode(value: boolean) {\n if (this._useCode !== value) {\n this._useCode = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.USE_CODE, this._useCode);\n this._setKeyCombinations();\n }\n }\n\n /** Gets/sets whether the event will be emitted. */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.toggleHostAttribute(KEYBOARD_SHORTCUT_CONSTANTS.attributes.DISABLED, this._disabled);\n\n if (this._disabled) {\n this._disconnectTargetElement();\n } else {\n this._connectTargetElement();\n }\n }\n }\n}\n", "import { coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\n\nimport { KeyboardShortcutAdapter } from './keyboard-shortcut-adapter';\nimport { KeyboardShortcutFoundation } from './keyboard-shortcut-foundation';\nimport { KEYBOARD_SHORTCUT_CONSTANTS } from './keyboard-shortcut-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nexport interface IKeyboardShortcutComponent extends IBaseComponent {\n key: string | null | undefined;\n keyBinding: string | null | undefined;\n target: string;\n global: boolean;\n allowWhileTyping: boolean;\n preventDefault: boolean;\n capture: boolean;\n useCode: boolean;\n disabled: boolean;\n}\n\ndeclare global {\n // tslint:disable-next-line: interface-name\n interface HTMLElementTagNameMap {\n 'forge-keyboard-shortcut': IKeyboardShortcutComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-keyboard-shortcut-activate': CustomEvent<KeyboardEvent>;\n }\n}\n\n/**\n * The web component class behind the `<forge-keyboard-shortcut>` custom element.\n * \n * @tag forge-keyboard-shortcut\n */\n@CustomElement({\n name: KEYBOARD_SHORTCUT_CONSTANTS.elementName\n})\nexport class KeyboardShortcutComponent extends BaseComponent implements IKeyboardShortcutComponent {\n public static get observedAttributes(): string[] {\n return [\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.KEY,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.TARGET,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.GLOBAL,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.ALLOW_WHILE_TYPING,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.PREVENT_DEFAULT,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.CAPTURE,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.USE_CODE,\n KEYBOARD_SHORTCUT_CONSTANTS.attributes.DISABLED\n ];\n }\n\n private _foundation: KeyboardShortcutFoundation;\n\n constructor() {\n super();\n this._foundation = new KeyboardShortcutFoundation(new KeyboardShortcutAdapter(this));\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 KEYBOARD_SHORTCUT_CONSTANTS.attributes.KEY:\n this.key = newValue;\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.TARGET:\n this.target = newValue;\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.GLOBAL:\n this.global = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.ALLOW_WHILE_TYPING:\n this.allowWhileTyping = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.PREVENT_DEFAULT:\n this.preventDefault = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.CAPTURE:\n this.capture = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.USE_CODE:\n this.useCode = coerceBoolean(newValue);\n break;\n case KEYBOARD_SHORTCUT_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets/sets the key binding. */\n @FoundationProperty()\n public declare key: string | null | undefined;\n\n /** Alias for key. */\n public get keyBinding(): string | null | undefined {\n return this.key;\n }\n public set keyBinding(value: string | null | undefined) {\n this.key = value;\n }\n\n /** Gets/sets the target element selector. */\n @FoundationProperty()\n public declare target: string;\n\n /** Gets/sets the global listener state. */\n @FoundationProperty()\n public declare global: boolean;\n\n /** Gets/sets whether the callback will be called while in a text entry field. */\n @FoundationProperty()\n public declare allowWhileTyping: boolean;\n \n /** Gets/sets whether to prevent default on keyboard events */\n @FoundationProperty()\n public declare preventDefault: boolean;\n \n /** Gets/sets whether to use capturing on keyboard events */\n @FoundationProperty()\n public declare capture: boolean;\n \n /** Gets/sets whether to match codes instead of keys on keyboard events */\n @FoundationProperty()\n public declare useCode: boolean;\n\n /** Gets/sets whether the callback will be called. */\n @FoundationProperty()\n public declare disabled: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { KeyboardShortcutComponent } from './keyboard-shortcut';\n\nexport * from './keyboard-shortcut-adapter';\nexport * from './keyboard-shortcut-constants';\nexport * from './keyboard-shortcut-foundation';\nexport * from './keyboard-shortcut-utils';\nexport * from './keyboard-shortcut';\n\nexport function defineKeyboardShortcutComponent(): void {\n defineCustomElement(KeyboardShortcutComponent);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }