@tylertech/forge 2.13.0 → 2.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1605) hide show
  1. package/README.md +14 -3
  2. package/custom-elements.json +99 -2
  3. package/dist/busy-indicator/forge-busy-indicator.css +1 -1
  4. package/dist/button/forge-button.css +1 -1
  5. package/dist/dialog/forge-dialog-utils.css +1 -1
  6. package/dist/dialog/forge-dialog.css +1 -1
  7. package/dist/esm/accordion/index.js +2 -2
  8. package/dist/esm/app-bar/help-button/index.js +2 -2
  9. package/dist/esm/app-bar/index.js +2 -2
  10. package/dist/esm/app-bar/menu-button/index.js +2 -2
  11. package/dist/esm/app-bar/notification-button/index.js +2 -2
  12. package/dist/esm/app-bar/profile-button/index.js +2 -2
  13. package/dist/esm/app-bar/search/index.js +2 -2
  14. package/dist/esm/autocomplete/index.js +2 -2
  15. package/dist/esm/avatar/index.js +2 -2
  16. package/dist/esm/backdrop/index.js +2 -2
  17. package/dist/esm/badge/index.js +2 -2
  18. package/dist/esm/banner/index.js +2 -2
  19. package/dist/esm/bottom-sheet/index.js +2 -2
  20. package/dist/esm/busy-indicator/index.js +2 -2
  21. package/dist/esm/button/index.js +2 -2
  22. package/dist/esm/button-toggle/button-toggle/index.js +2 -2
  23. package/dist/esm/button-toggle/button-toggle-group/index.js +2 -2
  24. package/dist/esm/button-toggle/index.js +2 -2
  25. package/dist/esm/calendar/calendar-dropdown/index.js +2 -2
  26. package/dist/esm/calendar/calendar-menu/index.js +2 -2
  27. package/dist/esm/calendar/core/index.js +1 -1
  28. package/dist/esm/calendar/index.js +2 -2
  29. package/dist/esm/card/index.js +2 -2
  30. package/dist/esm/checkbox/index.js +2 -2
  31. package/dist/esm/chip-field/index.js +2 -2
  32. package/dist/esm/chips/chip/index.js +2 -2
  33. package/dist/esm/chips/chip-set/index.js +2 -2
  34. package/dist/esm/chips/index.js +2 -2
  35. package/dist/esm/chunks/chunk.24D46RLZ.js +1 -1
  36. package/dist/esm/chunks/chunk.2CEW64ZM.js +7 -0
  37. package/dist/esm/chunks/{chunk.MNBJMPJ6.js.map → chunk.2CEW64ZM.js.map} +2 -2
  38. package/dist/esm/chunks/chunk.2GY2VPJG.js +1 -1
  39. package/dist/esm/chunks/chunk.2LHBE2QZ.js +7 -0
  40. package/dist/esm/chunks/{chunk.YHHIPP2F.js.map → chunk.2LHBE2QZ.js.map} +1 -1
  41. package/dist/esm/chunks/{chunk.4T5TGQFG.js → chunk.2ZQ3ZDPN.js} +3 -3
  42. package/dist/esm/chunks/{chunk.4T5TGQFG.js.map → chunk.2ZQ3ZDPN.js.map} +0 -0
  43. package/dist/esm/chunks/chunk.36VS7FMU.js +7 -0
  44. package/dist/esm/chunks/{chunk.FPV4XEUK.js.map → chunk.36VS7FMU.js.map} +2 -2
  45. package/dist/esm/chunks/chunk.3L7T5WYL.js +7 -0
  46. package/dist/esm/chunks/{chunk.BCUBTR5O.js.map → chunk.3L7T5WYL.js.map} +1 -1
  47. package/dist/esm/chunks/chunk.3MP6OFVU.js +7 -0
  48. package/dist/esm/chunks/{chunk.KYCC3C3M.js.map → chunk.3MP6OFVU.js.map} +3 -3
  49. package/dist/esm/chunks/chunk.3STDLL5U.js +7 -0
  50. package/dist/esm/chunks/{chunk.WNOSTPQQ.js.map → chunk.3STDLL5U.js.map} +2 -2
  51. package/dist/esm/chunks/{chunk.PZTAIVJW.js → chunk.4K3IV4GI.js} +3 -3
  52. package/dist/esm/chunks/{chunk.PZTAIVJW.js.map → chunk.4K3IV4GI.js.map} +2 -2
  53. package/dist/esm/chunks/chunk.55BOUOT6.js +7 -0
  54. package/dist/esm/chunks/{chunk.QJPH24V4.js.map → chunk.55BOUOT6.js.map} +2 -2
  55. package/dist/esm/chunks/chunk.5BDTX7CR.js +7 -0
  56. package/dist/esm/chunks/chunk.5BDTX7CR.js.map +7 -0
  57. package/dist/esm/chunks/chunk.5EQPGUZH.js +7 -0
  58. package/dist/esm/chunks/{chunk.MGTNCCW3.js.map → chunk.5EQPGUZH.js.map} +1 -1
  59. package/dist/esm/chunks/{chunk.A23NSEWA.js → chunk.5PXABBKU.js} +3 -3
  60. package/dist/esm/chunks/{chunk.A23NSEWA.js.map → chunk.5PXABBKU.js.map} +0 -0
  61. package/dist/esm/chunks/chunk.5TVWDATE.js +7 -0
  62. package/dist/esm/chunks/{chunk.APGFXXJ7.js.map → chunk.5TVWDATE.js.map} +1 -1
  63. package/dist/esm/chunks/chunk.6KTLOA7V.js +1 -1
  64. package/dist/esm/chunks/chunk.6LXDG4W5.js +7 -0
  65. package/dist/esm/chunks/{chunk.Y7Q6QI5V.js.map → chunk.6LXDG4W5.js.map} +2 -2
  66. package/dist/esm/chunks/chunk.7MVBJ37L.js +7 -0
  67. package/dist/esm/chunks/{chunk.OG2BI3UW.js.map → chunk.7MVBJ37L.js.map} +2 -2
  68. package/dist/esm/chunks/{chunk.QEHJJKFZ.js → chunk.7R6TYPPS.js} +3 -3
  69. package/dist/esm/chunks/{chunk.QEHJJKFZ.js.map → chunk.7R6TYPPS.js.map} +2 -2
  70. package/dist/esm/chunks/chunk.7TDB3VFH.js +7 -0
  71. package/dist/esm/chunks/{chunk.LLHA3SQR.js.map → chunk.7TDB3VFH.js.map} +2 -2
  72. package/dist/esm/chunks/chunk.AJJILT3A.js +1 -1
  73. package/dist/esm/chunks/chunk.ALJ3FDXL.js +7 -0
  74. package/dist/esm/chunks/{chunk.BX7242PC.js.map → chunk.ALJ3FDXL.js.map} +2 -2
  75. package/dist/esm/chunks/chunk.AMFXGOSA.js +1 -1
  76. package/dist/esm/chunks/chunk.AWCBH5KW.js +1 -1
  77. package/dist/esm/chunks/chunk.B3IJU6XJ.js +1 -1
  78. package/dist/esm/chunks/chunk.B52LJRGH.js +29 -0
  79. package/dist/esm/chunks/{chunk.YWKKZLZ2.js.map → chunk.B52LJRGH.js.map} +2 -2
  80. package/dist/esm/chunks/chunk.BCD4AAI2.js +7 -0
  81. package/dist/esm/chunks/chunk.BCD4AAI2.js.map +7 -0
  82. package/dist/esm/chunks/chunk.BCP2YATB.js +7 -0
  83. package/dist/esm/chunks/{chunk.J6CIWTDH.js.map → chunk.BCP2YATB.js.map} +2 -2
  84. package/dist/esm/chunks/chunk.BMFJLHDR.js +7 -0
  85. package/dist/esm/chunks/{chunk.54QFNVMG.js.map → chunk.BMFJLHDR.js.map} +1 -1
  86. package/dist/esm/chunks/chunk.BTI5I25G.js +12 -0
  87. package/dist/esm/chunks/{chunk.ON3JVSSR.js.map → chunk.BTI5I25G.js.map} +0 -0
  88. package/dist/esm/chunks/chunk.BYRJ7577.js +7 -0
  89. package/dist/esm/chunks/{chunk.K43ZNKT2.js.map → chunk.BYRJ7577.js.map} +0 -0
  90. package/dist/esm/chunks/chunk.CKS5A4YN.js +1 -1
  91. package/dist/esm/chunks/chunk.D4SNVKDA.js +1 -1
  92. package/dist/esm/chunks/chunk.DB2WESQC.js +7 -0
  93. package/dist/esm/chunks/{chunk.I2YRKTG7.js.map → chunk.DB2WESQC.js.map} +2 -2
  94. package/dist/esm/chunks/chunk.DLAIQJHL.js +7 -0
  95. package/dist/esm/chunks/{chunk.JNOCXQVB.js.map → chunk.DLAIQJHL.js.map} +2 -2
  96. package/dist/esm/chunks/chunk.DRXMITOO.js +29 -0
  97. package/dist/esm/chunks/{chunk.K753A3KI.js.map → chunk.DRXMITOO.js.map} +2 -2
  98. package/dist/esm/chunks/chunk.DURRORXO.js +29 -0
  99. package/dist/esm/chunks/{chunk.HUWXZ4ZN.js.map → chunk.DURRORXO.js.map} +1 -1
  100. package/dist/esm/chunks/chunk.E37HEAJ5.js +1 -1
  101. package/dist/esm/chunks/chunk.E43TT4RI.js +1 -1
  102. package/dist/esm/chunks/chunk.E4NCI7MS.js +1 -1
  103. package/dist/esm/chunks/chunk.EC6JSIQW.js +1 -1
  104. package/dist/esm/chunks/chunk.EDU7RQD7.js +7 -0
  105. package/dist/esm/chunks/{chunk.NGIBMR3Q.js.map → chunk.EDU7RQD7.js.map} +2 -2
  106. package/dist/esm/chunks/chunk.ETIN6DEM.js +7 -0
  107. package/dist/esm/chunks/{chunk.RST65QIB.js.map → chunk.ETIN6DEM.js.map} +2 -2
  108. package/dist/esm/chunks/chunk.F2GXZPID.js +7 -0
  109. package/dist/esm/chunks/chunk.F2GXZPID.js.map +7 -0
  110. package/dist/esm/chunks/{chunk.YPUWII7L.js → chunk.F3Q62EMG.js} +3 -3
  111. package/dist/esm/chunks/chunk.F3Q62EMG.js.map +7 -0
  112. package/dist/esm/chunks/chunk.F5I55MXD.js +1 -1
  113. package/dist/esm/chunks/{chunk.URBXDOF7.js → chunk.FL6SJHQU.js} +3 -3
  114. package/dist/esm/chunks/{chunk.URBXDOF7.js.map → chunk.FL6SJHQU.js.map} +0 -0
  115. package/dist/esm/chunks/chunk.FZQCBRPK.js +1 -1
  116. package/dist/esm/chunks/chunk.G76HB2FK.js +1 -1
  117. package/dist/esm/chunks/chunk.GEMZPO6Z.js +7 -0
  118. package/dist/esm/chunks/{chunk.B5ABD4CZ.js.map → chunk.GEMZPO6Z.js.map} +1 -1
  119. package/dist/esm/chunks/chunk.GVQVA7P3.js +1 -1
  120. package/dist/esm/chunks/chunk.GXUYYBVO.js +29 -0
  121. package/dist/esm/chunks/{chunk.T7ZJDAXV.js.map → chunk.GXUYYBVO.js.map} +1 -1
  122. package/dist/esm/chunks/chunk.HHJJJ73Y.js +29 -0
  123. package/dist/esm/chunks/{chunk.XYBFFTXS.js.map → chunk.HHJJJ73Y.js.map} +1 -1
  124. package/dist/esm/chunks/chunk.HPJ4AQIE.js +7 -0
  125. package/dist/esm/chunks/chunk.HPJ4AQIE.js.map +7 -0
  126. package/dist/esm/chunks/chunk.HWQEGQDD.js +7 -0
  127. package/dist/esm/chunks/{chunk.5K5SIZRX.js.map → chunk.HWQEGQDD.js.map} +2 -2
  128. package/dist/esm/chunks/{chunk.6APYGKNX.js → chunk.HWVLZ44Q.js} +3 -3
  129. package/dist/esm/chunks/{chunk.6APYGKNX.js.map → chunk.HWVLZ44Q.js.map} +0 -0
  130. package/dist/esm/chunks/chunk.HYMB3XDK.js +9 -0
  131. package/dist/esm/chunks/chunk.HYMB3XDK.js.map +7 -0
  132. package/dist/esm/chunks/{chunk.IMK2LFWR.js → chunk.IARIRFXO.js} +3 -3
  133. package/dist/esm/chunks/chunk.IARIRFXO.js.map +7 -0
  134. package/dist/esm/chunks/chunk.IMZ5PF4C.js +7 -0
  135. package/dist/esm/chunks/{chunk.IFZXG3LI.js.map → chunk.IMZ5PF4C.js.map} +2 -2
  136. package/dist/esm/chunks/chunk.JMXJXZTS.js +7 -0
  137. package/dist/esm/chunks/{chunk.BOENNFXE.js.map → chunk.JMXJXZTS.js.map} +1 -1
  138. package/dist/esm/chunks/chunk.JXY6MTP3.js +7 -0
  139. package/dist/esm/chunks/{chunk.YAJT3P6V.js.map → chunk.JXY6MTP3.js.map} +2 -2
  140. package/dist/esm/chunks/chunk.KBMLP7UT.js +7 -0
  141. package/dist/esm/chunks/{chunk.OUEF6VQ6.js.map → chunk.KBMLP7UT.js.map} +2 -2
  142. package/dist/esm/chunks/chunk.L54GENPD.js +7 -0
  143. package/dist/esm/chunks/{chunk.5WMEFHVN.js.map → chunk.L54GENPD.js.map} +1 -1
  144. package/dist/esm/chunks/{chunk.DGDT4UQT.js → chunk.LGEYSCS2.js} +3 -3
  145. package/dist/esm/chunks/{chunk.DGDT4UQT.js.map → chunk.LGEYSCS2.js.map} +2 -2
  146. package/dist/esm/chunks/chunk.LZHDRATV.js +7 -0
  147. package/dist/esm/chunks/{chunk.IJIKFXUT.js.map → chunk.LZHDRATV.js.map} +2 -2
  148. package/dist/esm/chunks/chunk.LZMYHIO2.js +1 -1
  149. package/dist/esm/chunks/{chunk.JB2N65SR.js → chunk.M4KJNCLO.js} +3 -3
  150. package/dist/esm/chunks/{chunk.JB2N65SR.js.map → chunk.M4KJNCLO.js.map} +2 -2
  151. package/dist/esm/chunks/{chunk.QOZLQPKE.js → chunk.MBS5VMYY.js} +3 -3
  152. package/dist/esm/chunks/{chunk.QOZLQPKE.js.map → chunk.MBS5VMYY.js.map} +2 -2
  153. package/dist/esm/chunks/{chunk.F2TKPPK7.js → chunk.MBWEYW6M.js} +3 -3
  154. package/dist/esm/chunks/{chunk.F2TKPPK7.js.map → chunk.MBWEYW6M.js.map} +2 -2
  155. package/dist/esm/chunks/chunk.MCIQXNKY.js +1 -1
  156. package/dist/esm/chunks/chunk.MHEJZJT3.js +1 -1
  157. package/dist/esm/chunks/chunk.MIYZJUXH.js +1 -1
  158. package/dist/esm/chunks/chunk.MMVZJLXE.js +7 -0
  159. package/dist/esm/chunks/{chunk.HN4PXH3D.js.map → chunk.MMVZJLXE.js.map} +3 -3
  160. package/dist/esm/chunks/chunk.MNFGVNDI.js +1 -1
  161. package/dist/esm/chunks/{chunk.VLTJFKGZ.js → chunk.MNPORZ4F.js} +3 -3
  162. package/dist/esm/chunks/{chunk.VLTJFKGZ.js.map → chunk.MNPORZ4F.js.map} +0 -0
  163. package/dist/esm/chunks/chunk.MWD47ZZU.js +7 -0
  164. package/dist/esm/chunks/{chunk.CV5E5W6I.js.map → chunk.MWD47ZZU.js.map} +2 -2
  165. package/dist/esm/chunks/chunk.MYNPY3AQ.js +7 -0
  166. package/dist/esm/chunks/{chunk.VMWS5OOZ.js.map → chunk.MYNPY3AQ.js.map} +1 -1
  167. package/dist/esm/chunks/chunk.N24NHF7Y.js +7 -0
  168. package/dist/esm/chunks/{chunk.TLHI6K2R.js.map → chunk.N24NHF7Y.js.map} +2 -2
  169. package/dist/esm/chunks/chunk.N46G56GG.js +7 -0
  170. package/dist/esm/chunks/{chunk.RGWUF3J2.js.map → chunk.N46G56GG.js.map} +2 -2
  171. package/dist/esm/chunks/{chunk.6SGRP4FO.js → chunk.NV2HNCQH.js} +3 -3
  172. package/dist/esm/chunks/{chunk.6SGRP4FO.js.map → chunk.NV2HNCQH.js.map} +0 -0
  173. package/dist/esm/chunks/{chunk.SHT6BCLY.js → chunk.NYMNX3S7.js} +3 -3
  174. package/dist/esm/chunks/{chunk.SHT6BCLY.js.map → chunk.NYMNX3S7.js.map} +0 -0
  175. package/dist/esm/chunks/chunk.O2R6MBT5.js +7 -0
  176. package/dist/esm/chunks/chunk.O2R6MBT5.js.map +7 -0
  177. package/dist/esm/chunks/chunk.O5I3ZMDA.js +7 -0
  178. package/dist/esm/chunks/{chunk.WV45FGTW.js.map → chunk.O5I3ZMDA.js.map} +0 -0
  179. package/dist/esm/chunks/{chunk.WIUER75G.js → chunk.OJFI5I6O.js} +3 -3
  180. package/dist/esm/chunks/{chunk.WIUER75G.js.map → chunk.OJFI5I6O.js.map} +2 -2
  181. package/dist/esm/chunks/chunk.OLNFXF3V.js +7 -0
  182. package/dist/esm/chunks/{chunk.P6B3UWJ5.js.map → chunk.OLNFXF3V.js.map} +2 -2
  183. package/dist/esm/chunks/chunk.ON6FJ2D6.js +7 -0
  184. package/dist/esm/chunks/{chunk.XXA6KNXT.js.map → chunk.ON6FJ2D6.js.map} +1 -1
  185. package/dist/esm/chunks/{chunk.BSZ2LBJX.js → chunk.OOW3UKT4.js} +3 -3
  186. package/dist/esm/chunks/{chunk.BSZ2LBJX.js.map → chunk.OOW3UKT4.js.map} +0 -0
  187. package/dist/esm/chunks/chunk.ORF746AF.js +7 -0
  188. package/dist/esm/chunks/{chunk.RPPBBBYG.js.map → chunk.ORF746AF.js.map} +2 -2
  189. package/dist/esm/chunks/{chunk.J3NHIF6W.js → chunk.PBJEZJTY.js} +3 -3
  190. package/dist/esm/chunks/{chunk.J3NHIF6W.js.map → chunk.PBJEZJTY.js.map} +0 -0
  191. package/dist/esm/chunks/chunk.PCSCKTFS.js +7 -0
  192. package/dist/esm/chunks/chunk.PCSCKTFS.js.map +7 -0
  193. package/dist/esm/chunks/chunk.PYG4YVBA.js +1 -1
  194. package/dist/esm/chunks/chunk.Q3RRONZQ.js +7 -0
  195. package/dist/esm/chunks/{chunk.Q6L7T6OJ.js.map → chunk.Q3RRONZQ.js.map} +2 -2
  196. package/dist/esm/chunks/chunk.QH4DLM3R.js +7 -0
  197. package/dist/esm/chunks/{chunk.2SAHWDGJ.js.map → chunk.QH4DLM3R.js.map} +2 -2
  198. package/dist/esm/chunks/chunk.QIJHHDYF.js +7 -0
  199. package/dist/esm/chunks/chunk.QIJHHDYF.js.map +7 -0
  200. package/dist/esm/chunks/chunk.QMRLSOAB.js +7 -0
  201. package/dist/esm/chunks/chunk.QMRLSOAB.js.map +7 -0
  202. package/dist/esm/chunks/chunk.QQDDGRY6.js +1 -1
  203. package/dist/esm/chunks/chunk.QZHEP4X2.js +1 -1
  204. package/dist/esm/chunks/chunk.R4NDFXVA.js +1 -1
  205. package/dist/esm/chunks/chunk.S76NW5JY.js +7 -0
  206. package/dist/esm/chunks/{chunk.EJ4ASQET.js.map → chunk.S76NW5JY.js.map} +2 -2
  207. package/dist/esm/chunks/chunk.SKLCDWYQ.js +1 -1
  208. package/dist/esm/chunks/chunk.SLSVRMAS.js +7 -0
  209. package/dist/esm/chunks/{chunk.7O7V3N4A.js.map → chunk.SLSVRMAS.js.map} +2 -2
  210. package/dist/esm/chunks/chunk.STS5TIUV.js +1 -1
  211. package/dist/esm/chunks/chunk.SVGEVCXA.js +1 -1
  212. package/dist/esm/chunks/chunk.TCAOLSLI.js +7 -0
  213. package/dist/esm/chunks/{chunk.35U4OX7S.js.map → chunk.TCAOLSLI.js.map} +2 -2
  214. package/dist/esm/chunks/chunk.TLCGGWBO.js +1 -1
  215. package/dist/esm/chunks/chunk.TLS4ALGU.js +7 -0
  216. package/dist/esm/chunks/{chunk.DQBSFX46.js.map → chunk.TLS4ALGU.js.map} +2 -2
  217. package/dist/esm/chunks/chunk.U6FJJGO3.js +1 -1
  218. package/dist/esm/chunks/chunk.UOWU5VVK.js +7 -0
  219. package/dist/esm/chunks/{chunk.3UMBCR4P.js.map → chunk.UOWU5VVK.js.map} +2 -2
  220. package/dist/esm/chunks/chunk.UUX4QJ4D.js +1 -1
  221. package/dist/esm/chunks/chunk.V55E5JD5.js +7 -0
  222. package/dist/esm/chunks/{chunk.444GNOS4.js.map → chunk.V55E5JD5.js.map} +2 -2
  223. package/dist/esm/chunks/chunk.VHKQHMK3.js +7 -0
  224. package/dist/esm/chunks/{chunk.33Q5FK2H.js.map → chunk.VHKQHMK3.js.map} +2 -2
  225. package/dist/esm/chunks/chunk.VW4JVRH7.js +7 -0
  226. package/dist/esm/chunks/{chunk.O3G6ZLJN.js.map → chunk.VW4JVRH7.js.map} +0 -0
  227. package/dist/esm/chunks/{chunk.6QMDYUVT.js → chunk.WEUNLYMQ.js} +3 -3
  228. package/dist/esm/chunks/{chunk.6QMDYUVT.js.map → chunk.WEUNLYMQ.js.map} +2 -2
  229. package/dist/esm/chunks/chunk.WF2MFLG4.js +1 -1
  230. package/dist/esm/chunks/chunk.WINL2C7Q.js +1 -1
  231. package/dist/esm/chunks/{chunk.6XXKSGW5.js → chunk.WOHCW6KW.js} +3 -3
  232. package/dist/esm/chunks/{chunk.6XXKSGW5.js.map → chunk.WOHCW6KW.js.map} +2 -2
  233. package/dist/esm/chunks/chunk.WU24GAQY.js +7 -0
  234. package/dist/esm/chunks/{chunk.BFNAQQCU.js.map → chunk.WU24GAQY.js.map} +2 -2
  235. package/dist/esm/chunks/chunk.X2RP4QW3.js +1 -1
  236. package/dist/esm/chunks/chunk.X5JLUP7O.js +7 -0
  237. package/dist/esm/chunks/{chunk.PFD2SVJ4.js.map → chunk.X5JLUP7O.js.map} +2 -2
  238. package/dist/esm/chunks/chunk.XSZ4S77A.js +7 -0
  239. package/dist/esm/chunks/{chunk.7NXPOEXV.js.map → chunk.XSZ4S77A.js.map} +2 -2
  240. package/dist/esm/chunks/chunk.Y4L7AVUS.js +7 -0
  241. package/dist/esm/chunks/{chunk.G77PXLAU.js.map → chunk.Y4L7AVUS.js.map} +2 -2
  242. package/dist/esm/chunks/chunk.Y5GQ2BA7.js +29 -0
  243. package/dist/esm/chunks/{chunk.OOBE3XRM.js.map → chunk.Y5GQ2BA7.js.map} +2 -2
  244. package/dist/esm/chunks/chunk.Y6FFG7XO.js +1 -1
  245. package/dist/esm/chunks/{chunk.HSJQA42U.js → chunk.YG2KLPHA.js} +3 -3
  246. package/dist/esm/chunks/{chunk.HSJQA42U.js.map → chunk.YG2KLPHA.js.map} +0 -0
  247. package/dist/esm/chunks/chunk.YONRMJU5.js +7 -0
  248. package/dist/esm/chunks/chunk.YONRMJU5.js.map +7 -0
  249. package/dist/esm/chunks/chunk.YWRCWMNO.js +7 -0
  250. package/dist/esm/chunks/{chunk.Y6MPWPZU.js.map → chunk.YWRCWMNO.js.map} +2 -2
  251. package/dist/esm/chunks/chunk.Z4MN5NB5.js +7 -0
  252. package/dist/esm/chunks/{chunk.4KBQ5AJJ.js.map → chunk.Z4MN5NB5.js.map} +2 -2
  253. package/dist/esm/chunks/chunk.Z6S62LZJ.js +7 -0
  254. package/dist/esm/chunks/chunk.Z6S62LZJ.js.map +7 -0
  255. package/dist/esm/chunks/chunk.ZAGCOV55.js +7 -0
  256. package/dist/esm/chunks/{chunk.J2ODMCFS.js.map → chunk.ZAGCOV55.js.map} +2 -2
  257. package/dist/esm/chunks/chunk.ZFD3OE45.js +7 -0
  258. package/dist/esm/chunks/{chunk.DIYJJHWP.js.map → chunk.ZFD3OE45.js.map} +1 -1
  259. package/dist/esm/chunks/chunk.ZMXKZJRM.js +7 -0
  260. package/dist/esm/chunks/{chunk.5XQVZQ4U.js.map → chunk.ZMXKZJRM.js.map} +2 -2
  261. package/dist/esm/chunks/{chunk.75KFBRF6.js → chunk.ZPBGKHHM.js} +3 -3
  262. package/dist/esm/chunks/chunk.ZPBGKHHM.js.map +7 -0
  263. package/dist/esm/circular-progress/index.js +2 -2
  264. package/dist/esm/color-picker/index.js +2 -2
  265. package/dist/esm/core/base/index.js +2 -2
  266. package/dist/esm/core/delegates/index.js +1 -1
  267. package/dist/esm/core/index.js +2 -2
  268. package/dist/esm/core/mask/index.js +2 -2
  269. package/dist/esm/core/utils/index.js +2 -2
  270. package/dist/esm/date-picker/index.js +2 -2
  271. package/dist/esm/date-range-picker/index.js +2 -2
  272. package/dist/esm/dialog/index.js +2 -2
  273. package/dist/esm/divider/index.js +2 -2
  274. package/dist/esm/drawer/base/index.js +2 -2
  275. package/dist/esm/drawer/drawer/index.js +2 -2
  276. package/dist/esm/drawer/index.js +2 -2
  277. package/dist/esm/drawer/mini-drawer/index.js +2 -2
  278. package/dist/esm/drawer/modal-drawer/index.js +2 -2
  279. package/dist/esm/expansion-panel/index.js +2 -2
  280. package/dist/esm/file-picker/index.js +2 -2
  281. package/dist/esm/floating-action-button/index.js +2 -2
  282. package/dist/esm/floating-label/index.js +1 -1
  283. package/dist/esm/icon/index.js +2 -2
  284. package/dist/esm/icon-button/index.js +2 -2
  285. package/dist/esm/index.js +2 -2
  286. package/dist/esm/inline-message/index.js +2 -2
  287. package/dist/esm/keyboard-shortcut/index.js +2 -2
  288. package/dist/esm/label-value/index.js +2 -2
  289. package/dist/esm/linear-progress/index.js +2 -2
  290. package/dist/esm/list/index.js +2 -2
  291. package/dist/esm/list/list/index.js +2 -2
  292. package/dist/esm/list/list-item/index.js +2 -2
  293. package/dist/esm/list-dropdown/index.js +2 -2
  294. package/dist/esm/menu/index.js +2 -2
  295. package/dist/esm/open-icon/index.js +2 -2
  296. package/dist/esm/page-state/index.js +2 -2
  297. package/dist/esm/paginator/index.js +2 -2
  298. package/dist/esm/popup/index.js +2 -2
  299. package/dist/esm/product-icon/index.js +2 -2
  300. package/dist/esm/profile-card/index.js +2 -2
  301. package/dist/esm/quantity-field/index.js +2 -2
  302. package/dist/esm/radio/index.js +2 -2
  303. package/dist/esm/ripple/index.js +2 -2
  304. package/dist/esm/scaffold/index.js +2 -2
  305. package/dist/esm/select/core/index.js +2 -2
  306. package/dist/esm/select/index.js +2 -2
  307. package/dist/esm/select/option/index.js +2 -2
  308. package/dist/esm/select/option-group/index.js +2 -2
  309. package/dist/esm/select/select/index.js +2 -2
  310. package/dist/esm/select/select-dropdown/index.js +2 -2
  311. package/dist/esm/skeleton/index.js +2 -2
  312. package/dist/esm/slider/index.js +2 -2
  313. package/dist/esm/split-view/core/index.js +1 -1
  314. package/dist/esm/split-view/index.js +2 -2
  315. package/dist/esm/split-view/split-view/index.js +2 -2
  316. package/dist/esm/split-view/split-view-panel/index.js +2 -2
  317. package/dist/esm/stepper/index.js +2 -2
  318. package/dist/esm/stepper/step/index.js +2 -2
  319. package/dist/esm/stepper/stepper/index.js +2 -2
  320. package/dist/esm/switch/index.js +2 -2
  321. package/dist/esm/table/index.js +2 -2
  322. package/dist/esm/tabs/index.js +2 -2
  323. package/dist/esm/tabs/tab/index.js +2 -2
  324. package/dist/esm/tabs/tab-bar/index.js +2 -2
  325. package/dist/esm/text-field/index.js +2 -2
  326. package/dist/esm/theme/index.js +1 -1
  327. package/dist/esm/time-picker/index.js +2 -2
  328. package/dist/esm/toast/index.js +2 -2
  329. package/dist/esm/toolbar/index.js +2 -2
  330. package/dist/esm/tooltip/index.js +2 -2
  331. package/dist/esm/utils/index.js +1 -1
  332. package/dist/esm/view-switcher/index.js +2 -2
  333. package/dist/esm/view-switcher/view/index.js +2 -2
  334. package/dist/expansion-panel/forge-expansion-panel.css +1 -1
  335. package/dist/floating-action-button/forge-floating-action-button.css +1 -1
  336. package/dist/floating-label/forge-floating-label.css +1 -1
  337. package/dist/forge-core.css +1 -1
  338. package/dist/forge-dark.css +1 -1
  339. package/dist/forge.css +1 -1
  340. package/dist/form-field/forge-form-field.css +1 -1
  341. package/dist/icon-button/forge-icon-button.css +1 -1
  342. package/dist/popup/forge-popup.css +1 -1
  343. package/dist/quantity-field/forge-quantity-field.css +1 -1
  344. package/dist/ripple/forge-ripple.css +1 -1
  345. package/dist/scaffold/forge-scaffold.css +1 -1
  346. package/dist/table/forge-table.css +1 -1
  347. package/dist/theme/forge-theme.css +1 -1
  348. package/dist/tooltip/forge-tooltip.css +1 -1
  349. package/dist/typography/forge-form.css +1 -1
  350. package/dist/typography/forge-typography.css +1 -1
  351. package/dist/utils/forge-flex.css +1 -1
  352. package/dist/utils/forge-grid.css +1 -1
  353. package/dist/utils/forge-utils.css +1 -1
  354. package/esm/accordion/accordion-adapter.d.ts +1 -1
  355. package/esm/accordion/accordion-adapter.js +1 -1
  356. package/esm/accordion/accordion-constants.d.ts +1 -1
  357. package/esm/accordion/accordion-constants.js +1 -1
  358. package/esm/accordion/accordion-foundation.d.ts +1 -1
  359. package/esm/accordion/accordion-foundation.js +1 -1
  360. package/esm/accordion/accordion.d.ts +1 -1
  361. package/esm/accordion/accordion.js +1 -1
  362. package/esm/accordion/index.d.ts +1 -1
  363. package/esm/accordion/index.js +1 -1
  364. package/esm/app-bar/app-bar-adapter.d.ts +1 -1
  365. package/esm/app-bar/app-bar-adapter.js +1 -1
  366. package/esm/app-bar/app-bar-constants.d.ts +1 -1
  367. package/esm/app-bar/app-bar-constants.js +1 -1
  368. package/esm/app-bar/app-bar-foundation.d.ts +1 -1
  369. package/esm/app-bar/app-bar-foundation.js +1 -1
  370. package/esm/app-bar/app-bar.d.ts +1 -1
  371. package/esm/app-bar/app-bar.js +1 -1
  372. package/esm/app-bar/help-button/app-bar-help-button-adapter.d.ts +1 -1
  373. package/esm/app-bar/help-button/app-bar-help-button-adapter.js +1 -1
  374. package/esm/app-bar/help-button/app-bar-help-button-constants.d.ts +1 -1
  375. package/esm/app-bar/help-button/app-bar-help-button-constants.js +1 -1
  376. package/esm/app-bar/help-button/app-bar-help-button-foundation.d.ts +1 -1
  377. package/esm/app-bar/help-button/app-bar-help-button-foundation.js +1 -1
  378. package/esm/app-bar/help-button/app-bar-help-button.d.ts +1 -1
  379. package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
  380. package/esm/app-bar/help-button/index.d.ts +1 -1
  381. package/esm/app-bar/help-button/index.js +1 -1
  382. package/esm/app-bar/index.d.ts +1 -1
  383. package/esm/app-bar/index.js +1 -1
  384. package/esm/app-bar/menu-button/app-bar-menu-button-constants.d.ts +1 -1
  385. package/esm/app-bar/menu-button/app-bar-menu-button-constants.js +1 -1
  386. package/esm/app-bar/menu-button/app-bar-menu-button.d.ts +1 -1
  387. package/esm/app-bar/menu-button/app-bar-menu-button.js +1 -1
  388. package/esm/app-bar/menu-button/index.d.ts +1 -1
  389. package/esm/app-bar/menu-button/index.js +1 -1
  390. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +1 -1
  391. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +1 -1
  392. package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +1 -1
  393. package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +1 -1
  394. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +1 -1
  395. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +1 -1
  396. package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +1 -1
  397. package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
  398. package/esm/app-bar/notification-button/index.d.ts +1 -1
  399. package/esm/app-bar/notification-button/index.js +1 -1
  400. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +1 -1
  401. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +1 -1
  402. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -1
  403. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +1 -1
  404. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +1 -1
  405. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +1 -1
  406. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +1 -1
  407. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  408. package/esm/app-bar/profile-button/index.d.ts +1 -1
  409. package/esm/app-bar/profile-button/index.js +1 -1
  410. package/esm/app-bar/search/app-bar-search-adapter.d.ts +1 -1
  411. package/esm/app-bar/search/app-bar-search-adapter.js +1 -1
  412. package/esm/app-bar/search/app-bar-search-constants.d.ts +1 -1
  413. package/esm/app-bar/search/app-bar-search-constants.js +1 -1
  414. package/esm/app-bar/search/app-bar-search-foundation.d.ts +1 -1
  415. package/esm/app-bar/search/app-bar-search-foundation.js +1 -1
  416. package/esm/app-bar/search/app-bar-search.d.ts +1 -1
  417. package/esm/app-bar/search/app-bar-search.js +1 -1
  418. package/esm/app-bar/search/index.d.ts +1 -1
  419. package/esm/app-bar/search/index.js +1 -1
  420. package/esm/autocomplete/autocomplete-adapter.d.ts +1 -1
  421. package/esm/autocomplete/autocomplete-adapter.js +1 -1
  422. package/esm/autocomplete/autocomplete-component-delegate.d.ts +1 -1
  423. package/esm/autocomplete/autocomplete-component-delegate.js +1 -1
  424. package/esm/autocomplete/autocomplete-constants.d.ts +1 -1
  425. package/esm/autocomplete/autocomplete-constants.js +1 -1
  426. package/esm/autocomplete/autocomplete-foundation.d.ts +1 -1
  427. package/esm/autocomplete/autocomplete-foundation.js +1 -1
  428. package/esm/autocomplete/autocomplete-utils.d.ts +1 -1
  429. package/esm/autocomplete/autocomplete-utils.js +1 -1
  430. package/esm/autocomplete/autocomplete.d.ts +1 -1
  431. package/esm/autocomplete/autocomplete.js +1 -1
  432. package/esm/autocomplete/index.d.ts +1 -1
  433. package/esm/autocomplete/index.js +1 -1
  434. package/esm/avatar/avatar-adapter.d.ts +1 -1
  435. package/esm/avatar/avatar-adapter.js +1 -1
  436. package/esm/avatar/avatar-component-delegate.d.ts +1 -1
  437. package/esm/avatar/avatar-component-delegate.js +1 -1
  438. package/esm/avatar/avatar-constants.d.ts +1 -1
  439. package/esm/avatar/avatar-constants.js +1 -1
  440. package/esm/avatar/avatar-foundation.d.ts +1 -1
  441. package/esm/avatar/avatar-foundation.js +1 -1
  442. package/esm/avatar/avatar.d.ts +1 -1
  443. package/esm/avatar/avatar.js +1 -1
  444. package/esm/avatar/index.d.ts +1 -1
  445. package/esm/avatar/index.js +1 -1
  446. package/esm/backdrop/backdrop-adapter.d.ts +1 -1
  447. package/esm/backdrop/backdrop-adapter.js +1 -1
  448. package/esm/backdrop/backdrop-constants.d.ts +1 -1
  449. package/esm/backdrop/backdrop-constants.js +1 -1
  450. package/esm/backdrop/backdrop-foundation.d.ts +1 -1
  451. package/esm/backdrop/backdrop-foundation.js +1 -1
  452. package/esm/backdrop/backdrop.d.ts +1 -1
  453. package/esm/backdrop/backdrop.js +1 -1
  454. package/esm/backdrop/index.d.ts +1 -1
  455. package/esm/backdrop/index.js +1 -1
  456. package/esm/badge/badge-adapter.d.ts +1 -1
  457. package/esm/badge/badge-adapter.js +1 -1
  458. package/esm/badge/badge-component-delegate.d.ts +1 -1
  459. package/esm/badge/badge-component-delegate.js +1 -1
  460. package/esm/badge/badge-constants.d.ts +1 -1
  461. package/esm/badge/badge-constants.js +1 -1
  462. package/esm/badge/badge-foundation.d.ts +1 -1
  463. package/esm/badge/badge-foundation.js +1 -1
  464. package/esm/badge/badge.d.ts +1 -1
  465. package/esm/badge/badge.js +1 -1
  466. package/esm/badge/index.d.ts +1 -1
  467. package/esm/badge/index.js +1 -1
  468. package/esm/banner/banner-adapter.d.ts +1 -1
  469. package/esm/banner/banner-adapter.js +1 -1
  470. package/esm/banner/banner-constants.d.ts +1 -1
  471. package/esm/banner/banner-constants.js +1 -1
  472. package/esm/banner/banner-foundation.d.ts +1 -1
  473. package/esm/banner/banner-foundation.js +1 -1
  474. package/esm/banner/banner.d.ts +1 -1
  475. package/esm/banner/banner.js +1 -1
  476. package/esm/banner/index.d.ts +1 -1
  477. package/esm/banner/index.js +1 -1
  478. package/esm/bottom-sheet/bottom-sheet-adapter.d.ts +1 -1
  479. package/esm/bottom-sheet/bottom-sheet-adapter.js +1 -1
  480. package/esm/bottom-sheet/bottom-sheet-constants.d.ts +1 -1
  481. package/esm/bottom-sheet/bottom-sheet-constants.js +1 -1
  482. package/esm/bottom-sheet/bottom-sheet-foundation.d.ts +1 -1
  483. package/esm/bottom-sheet/bottom-sheet-foundation.js +1 -1
  484. package/esm/bottom-sheet/bottom-sheet.d.ts +1 -1
  485. package/esm/bottom-sheet/bottom-sheet.js +1 -1
  486. package/esm/bottom-sheet/index.d.ts +1 -1
  487. package/esm/bottom-sheet/index.js +1 -1
  488. package/esm/busy-indicator/busy-indicator-adapter.d.ts +1 -1
  489. package/esm/busy-indicator/busy-indicator-adapter.js +1 -1
  490. package/esm/busy-indicator/busy-indicator-constants.d.ts +1 -1
  491. package/esm/busy-indicator/busy-indicator-constants.js +1 -1
  492. package/esm/busy-indicator/busy-indicator-foundation.d.ts +1 -1
  493. package/esm/busy-indicator/busy-indicator-foundation.js +1 -1
  494. package/esm/busy-indicator/busy-indicator.d.ts +1 -1
  495. package/esm/busy-indicator/busy-indicator.js +1 -1
  496. package/esm/busy-indicator/index.d.ts +1 -1
  497. package/esm/busy-indicator/index.js +1 -1
  498. package/esm/button/button-component-delegate.d.ts +1 -1
  499. package/esm/button/button-component-delegate.js +1 -1
  500. package/esm/button/button-constants.d.ts +1 -1
  501. package/esm/button/button-constants.js +1 -1
  502. package/esm/button/button.d.ts +1 -1
  503. package/esm/button/button.js +2 -2
  504. package/esm/button/index.d.ts +1 -1
  505. package/esm/button/index.js +1 -1
  506. package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +1 -1
  507. package/esm/button-toggle/button-toggle/button-toggle-adapter.js +1 -1
  508. package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +1 -1
  509. package/esm/button-toggle/button-toggle/button-toggle-constants.js +1 -1
  510. package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +1 -1
  511. package/esm/button-toggle/button-toggle/button-toggle-foundation.js +1 -1
  512. package/esm/button-toggle/button-toggle/button-toggle.d.ts +1 -1
  513. package/esm/button-toggle/button-toggle/button-toggle.js +1 -1
  514. package/esm/button-toggle/button-toggle/index.d.ts +1 -1
  515. package/esm/button-toggle/button-toggle/index.js +1 -1
  516. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +1 -1
  517. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +23 -9
  518. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +4 -1
  519. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +1 -1
  520. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +1 -1
  521. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +1 -1
  522. package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +1 -1
  523. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +1 -1
  524. package/esm/button-toggle/button-toggle-group/index.d.ts +1 -1
  525. package/esm/button-toggle/button-toggle-group/index.js +1 -1
  526. package/esm/button-toggle/index.d.ts +1 -1
  527. package/esm/button-toggle/index.js +1 -1
  528. package/esm/calendar/calendar-adapter.d.ts +1 -1
  529. package/esm/calendar/calendar-adapter.js +1 -1
  530. package/esm/calendar/calendar-component-delegate.d.ts +1 -1
  531. package/esm/calendar/calendar-component-delegate.js +1 -1
  532. package/esm/calendar/calendar-constants.d.ts +1 -1
  533. package/esm/calendar/calendar-constants.js +1 -1
  534. package/esm/calendar/calendar-dom-utils.d.ts +1 -1
  535. package/esm/calendar/calendar-dom-utils.js +1 -1
  536. package/esm/calendar/calendar-dropdown/calendar-dropdown-constants.d.ts +1 -1
  537. package/esm/calendar/calendar-dropdown/calendar-dropdown-constants.js +1 -1
  538. package/esm/calendar/calendar-dropdown/calendar-dropdown.d.ts +1 -1
  539. package/esm/calendar/calendar-dropdown/calendar-dropdown.js +1 -1
  540. package/esm/calendar/calendar-dropdown/index.d.ts +1 -1
  541. package/esm/calendar/calendar-dropdown/index.js +1 -1
  542. package/esm/calendar/calendar-foundation.d.ts +1 -1
  543. package/esm/calendar/calendar-foundation.js +1 -1
  544. package/esm/calendar/calendar-locale-utils.d.ts +1 -1
  545. package/esm/calendar/calendar-locale-utils.js +1 -1
  546. package/esm/calendar/calendar-menu/calendar-menu-adapter.d.ts +1 -1
  547. package/esm/calendar/calendar-menu/calendar-menu-adapter.js +1 -1
  548. package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +1 -1
  549. package/esm/calendar/calendar-menu/calendar-menu-constants.js +1 -1
  550. package/esm/calendar/calendar-menu/calendar-menu-foundation.d.ts +1 -1
  551. package/esm/calendar/calendar-menu/calendar-menu-foundation.js +1 -1
  552. package/esm/calendar/calendar-menu/calendar-menu-utils.d.ts +1 -1
  553. package/esm/calendar/calendar-menu/calendar-menu-utils.js +1 -1
  554. package/esm/calendar/calendar-menu/calendar-menu.d.ts +1 -1
  555. package/esm/calendar/calendar-menu/calendar-menu.js +1 -1
  556. package/esm/calendar/calendar-menu/index.d.ts +1 -1
  557. package/esm/calendar/calendar-menu/index.js +1 -1
  558. package/esm/calendar/calendar-utils.d.ts +1 -1
  559. package/esm/calendar/calendar-utils.js +1 -1
  560. package/esm/calendar/calendar.d.ts +1 -1
  561. package/esm/calendar/calendar.js +1 -1
  562. package/esm/calendar/core/calendar-base.d.ts +1 -1
  563. package/esm/calendar/core/calendar-base.js +1 -1
  564. package/esm/calendar/core/date-range.d.ts +1 -1
  565. package/esm/calendar/core/date-range.js +1 -1
  566. package/esm/calendar/core/index.d.ts +1 -1
  567. package/esm/calendar/core/index.js +1 -1
  568. package/esm/calendar/index.d.ts +1 -1
  569. package/esm/calendar/index.js +1 -1
  570. package/esm/card/card-constants.d.ts +1 -1
  571. package/esm/card/card-constants.js +1 -1
  572. package/esm/card/card.d.ts +1 -1
  573. package/esm/card/card.js +1 -1
  574. package/esm/card/index.d.ts +1 -1
  575. package/esm/card/index.js +1 -1
  576. package/esm/checkbox/checkbox-adapter.d.ts +1 -1
  577. package/esm/checkbox/checkbox-adapter.js +1 -1
  578. package/esm/checkbox/checkbox-component-delegate.d.ts +1 -1
  579. package/esm/checkbox/checkbox-component-delegate.js +1 -1
  580. package/esm/checkbox/checkbox-constants.d.ts +1 -1
  581. package/esm/checkbox/checkbox-constants.js +1 -1
  582. package/esm/checkbox/checkbox-foundation.d.ts +1 -1
  583. package/esm/checkbox/checkbox-foundation.js +1 -1
  584. package/esm/checkbox/checkbox.d.ts +1 -1
  585. package/esm/checkbox/checkbox.js +1 -1
  586. package/esm/checkbox/index.d.ts +1 -1
  587. package/esm/checkbox/index.js +1 -1
  588. package/esm/chip-field/chip-field-adapter.d.ts +1 -1
  589. package/esm/chip-field/chip-field-adapter.js +1 -1
  590. package/esm/chip-field/chip-field-component-delegate.d.ts +1 -1
  591. package/esm/chip-field/chip-field-component-delegate.js +1 -1
  592. package/esm/chip-field/chip-field-constants.d.ts +2 -2
  593. package/esm/chip-field/chip-field-constants.js +1 -1
  594. package/esm/chip-field/chip-field-foundation.d.ts +1 -1
  595. package/esm/chip-field/chip-field-foundation.js +1 -1
  596. package/esm/chip-field/chip-field.d.ts +1 -1
  597. package/esm/chip-field/chip-field.js +1 -1
  598. package/esm/chip-field/index.d.ts +1 -1
  599. package/esm/chip-field/index.js +1 -1
  600. package/esm/chips/chip/chip-adapter.d.ts +1 -1
  601. package/esm/chips/chip/chip-adapter.js +1 -1
  602. package/esm/chips/chip/chip-constants.d.ts +1 -1
  603. package/esm/chips/chip/chip-constants.js +1 -1
  604. package/esm/chips/chip/chip-foundation.d.ts +1 -1
  605. package/esm/chips/chip/chip-foundation.js +1 -1
  606. package/esm/chips/chip/chip.d.ts +1 -1
  607. package/esm/chips/chip/chip.js +1 -1
  608. package/esm/chips/chip/index.d.ts +1 -1
  609. package/esm/chips/chip/index.js +1 -1
  610. package/esm/chips/chip-set/chip-set-adapter.d.ts +1 -1
  611. package/esm/chips/chip-set/chip-set-adapter.js +1 -1
  612. package/esm/chips/chip-set/chip-set-constants.d.ts +1 -1
  613. package/esm/chips/chip-set/chip-set-constants.js +1 -1
  614. package/esm/chips/chip-set/chip-set-foundation.d.ts +1 -1
  615. package/esm/chips/chip-set/chip-set-foundation.js +1 -1
  616. package/esm/chips/chip-set/chip-set.d.ts +1 -1
  617. package/esm/chips/chip-set/chip-set.js +1 -1
  618. package/esm/chips/chip-set/index.d.ts +1 -1
  619. package/esm/chips/chip-set/index.js +1 -1
  620. package/esm/chips/index.d.ts +1 -1
  621. package/esm/chips/index.js +1 -1
  622. package/esm/circular-progress/circular-progress-adapter.d.ts +1 -1
  623. package/esm/circular-progress/circular-progress-adapter.js +1 -1
  624. package/esm/circular-progress/circular-progress-constants.d.ts +1 -1
  625. package/esm/circular-progress/circular-progress-constants.js +1 -1
  626. package/esm/circular-progress/circular-progress-foundation.d.ts +1 -1
  627. package/esm/circular-progress/circular-progress-foundation.js +1 -1
  628. package/esm/circular-progress/circular-progress.d.ts +1 -1
  629. package/esm/circular-progress/circular-progress.js +1 -1
  630. package/esm/circular-progress/index.d.ts +1 -1
  631. package/esm/circular-progress/index.js +1 -1
  632. package/esm/color-picker/color-picker-adapter.d.ts +1 -1
  633. package/esm/color-picker/color-picker-adapter.js +1 -1
  634. package/esm/color-picker/color-picker-constants.d.ts +1 -1
  635. package/esm/color-picker/color-picker-constants.js +1 -1
  636. package/esm/color-picker/color-picker-foundation.d.ts +1 -1
  637. package/esm/color-picker/color-picker-foundation.js +1 -1
  638. package/esm/color-picker/color-picker-gradient-slider.d.ts +1 -1
  639. package/esm/color-picker/color-picker-gradient-slider.js +1 -1
  640. package/esm/color-picker/color-picker-slider.d.ts +1 -1
  641. package/esm/color-picker/color-picker-slider.js +1 -1
  642. package/esm/color-picker/color-picker-utils.d.ts +1 -1
  643. package/esm/color-picker/color-picker-utils.js +1 -1
  644. package/esm/color-picker/color-picker.d.ts +1 -1
  645. package/esm/color-picker/color-picker.js +1 -1
  646. package/esm/color-picker/index.d.ts +1 -1
  647. package/esm/color-picker/index.js +1 -1
  648. package/esm/constants.d.ts +1 -1
  649. package/esm/constants.js +1 -1
  650. package/esm/core/base/base-adapter.d.ts +1 -1
  651. package/esm/core/base/base-adapter.js +1 -1
  652. package/esm/core/base/base-component.d.ts +1 -1
  653. package/esm/core/base/base-component.js +1 -1
  654. package/esm/core/base/index.d.ts +1 -1
  655. package/esm/core/base/index.js +1 -1
  656. package/esm/core/delegates/base-component-delegate.d.ts +1 -1
  657. package/esm/core/delegates/base-component-delegate.js +1 -1
  658. package/esm/core/delegates/form-field-component-delegate.d.ts +1 -1
  659. package/esm/core/delegates/form-field-component-delegate.js +1 -1
  660. package/esm/core/delegates/index.d.ts +1 -1
  661. package/esm/core/delegates/index.js +1 -1
  662. package/esm/core/index.d.ts +1 -1
  663. package/esm/core/index.js +1 -1
  664. package/esm/core/mask/date-input-mask.d.ts +1 -1
  665. package/esm/core/mask/date-input-mask.js +1 -1
  666. package/esm/core/mask/index.d.ts +1 -1
  667. package/esm/core/mask/index.js +1 -1
  668. package/esm/core/mask/time-input-mask.d.ts +1 -1
  669. package/esm/core/mask/time-input-mask.js +1 -1
  670. package/esm/core/utils/date-utils.d.ts +1 -1
  671. package/esm/core/utils/date-utils.js +1 -1
  672. package/esm/core/utils/event-utils.d.ts +1 -1
  673. package/esm/core/utils/event-utils.js +1 -1
  674. package/esm/core/utils/index.d.ts +1 -1
  675. package/esm/core/utils/index.js +1 -1
  676. package/esm/core/utils/svg-utils.d.ts +1 -1
  677. package/esm/core/utils/svg-utils.js +1 -1
  678. package/esm/core/utils/time-utils.d.ts +1 -1
  679. package/esm/core/utils/time-utils.js +1 -1
  680. package/esm/core/utils/utils.d.ts +1 -1
  681. package/esm/core/utils/utils.js +1 -1
  682. package/esm/date-picker/base/base-date-picker-adapter.d.ts +1 -1
  683. package/esm/date-picker/base/base-date-picker-adapter.js +1 -1
  684. package/esm/date-picker/base/base-date-picker-constants.d.ts +1 -1
  685. package/esm/date-picker/base/base-date-picker-constants.js +1 -1
  686. package/esm/date-picker/base/base-date-picker-foundation.d.ts +1 -1
  687. package/esm/date-picker/base/base-date-picker-foundation.js +1 -1
  688. package/esm/date-picker/base/base-date-picker-utils.d.ts +1 -1
  689. package/esm/date-picker/base/base-date-picker-utils.js +1 -1
  690. package/esm/date-picker/base/base-date-picker.d.ts +1 -1
  691. package/esm/date-picker/base/base-date-picker.js +1 -1
  692. package/esm/date-picker/date-picker-adapter.d.ts +1 -1
  693. package/esm/date-picker/date-picker-adapter.js +1 -1
  694. package/esm/date-picker/date-picker-component-delegate.d.ts +1 -1
  695. package/esm/date-picker/date-picker-component-delegate.js +1 -1
  696. package/esm/date-picker/date-picker-constants.d.ts +1 -1
  697. package/esm/date-picker/date-picker-constants.js +1 -1
  698. package/esm/date-picker/date-picker-foundation.d.ts +1 -1
  699. package/esm/date-picker/date-picker-foundation.js +1 -1
  700. package/esm/date-picker/date-picker.d.ts +1 -1
  701. package/esm/date-picker/date-picker.js +1 -1
  702. package/esm/date-picker/index.d.ts +1 -1
  703. package/esm/date-picker/index.js +1 -1
  704. package/esm/date-range-picker/date-range-picker-adapter.d.ts +1 -1
  705. package/esm/date-range-picker/date-range-picker-adapter.js +1 -1
  706. package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +1 -1
  707. package/esm/date-range-picker/date-range-picker-component-delegate.js +1 -1
  708. package/esm/date-range-picker/date-range-picker-constants.d.ts +1 -1
  709. package/esm/date-range-picker/date-range-picker-constants.js +1 -1
  710. package/esm/date-range-picker/date-range-picker-foundation.d.ts +1 -1
  711. package/esm/date-range-picker/date-range-picker-foundation.js +1 -1
  712. package/esm/date-range-picker/date-range-picker.d.ts +1 -1
  713. package/esm/date-range-picker/date-range-picker.js +7 -7
  714. package/esm/date-range-picker/index.d.ts +1 -1
  715. package/esm/date-range-picker/index.js +1 -1
  716. package/esm/dialog/dialog-adapter.d.ts +1 -1
  717. package/esm/dialog/dialog-adapter.js +1 -1
  718. package/esm/dialog/dialog-constants.d.ts +1 -1
  719. package/esm/dialog/dialog-constants.js +1 -1
  720. package/esm/dialog/dialog-foundation.d.ts +1 -1
  721. package/esm/dialog/dialog-foundation.js +3 -2
  722. package/esm/dialog/dialog.d.ts +1 -1
  723. package/esm/dialog/dialog.js +1 -1
  724. package/esm/dialog/index.d.ts +1 -1
  725. package/esm/dialog/index.js +1 -1
  726. package/esm/divider/divider-constants.d.ts +1 -1
  727. package/esm/divider/divider-constants.js +1 -1
  728. package/esm/divider/divider.d.ts +1 -1
  729. package/esm/divider/divider.js +1 -1
  730. package/esm/divider/index.d.ts +1 -1
  731. package/esm/divider/index.js +1 -1
  732. package/esm/drawer/base/base-drawer-adapter.d.ts +1 -1
  733. package/esm/drawer/base/base-drawer-adapter.js +1 -1
  734. package/esm/drawer/base/base-drawer-constants.d.ts +1 -1
  735. package/esm/drawer/base/base-drawer-constants.js +1 -1
  736. package/esm/drawer/base/base-drawer-foundation.d.ts +1 -1
  737. package/esm/drawer/base/base-drawer-foundation.js +1 -1
  738. package/esm/drawer/base/base-drawer.d.ts +1 -1
  739. package/esm/drawer/base/base-drawer.js +4 -4
  740. package/esm/drawer/base/index.d.ts +1 -1
  741. package/esm/drawer/base/index.js +1 -1
  742. package/esm/drawer/drawer/drawer-constants.d.ts +1 -1
  743. package/esm/drawer/drawer/drawer-constants.js +1 -1
  744. package/esm/drawer/drawer/drawer.d.ts +1 -1
  745. package/esm/drawer/drawer/drawer.js +1 -1
  746. package/esm/drawer/drawer/index.d.ts +1 -1
  747. package/esm/drawer/drawer/index.js +1 -1
  748. package/esm/drawer/index.d.ts +1 -1
  749. package/esm/drawer/index.js +1 -1
  750. package/esm/drawer/mini-drawer/index.d.ts +1 -1
  751. package/esm/drawer/mini-drawer/index.js +1 -1
  752. package/esm/drawer/mini-drawer/mini-drawer-constants.d.ts +1 -1
  753. package/esm/drawer/mini-drawer/mini-drawer-constants.js +1 -1
  754. package/esm/drawer/mini-drawer/mini-drawer.d.ts +1 -1
  755. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  756. package/esm/drawer/modal-drawer/index.d.ts +1 -1
  757. package/esm/drawer/modal-drawer/index.js +1 -1
  758. package/esm/drawer/modal-drawer/modal-drawer-adapter.d.ts +1 -1
  759. package/esm/drawer/modal-drawer/modal-drawer-adapter.js +1 -1
  760. package/esm/drawer/modal-drawer/modal-drawer-constants.d.ts +1 -1
  761. package/esm/drawer/modal-drawer/modal-drawer-constants.js +1 -1
  762. package/esm/drawer/modal-drawer/modal-drawer-foundation.d.ts +1 -1
  763. package/esm/drawer/modal-drawer/modal-drawer-foundation.js +1 -1
  764. package/esm/drawer/modal-drawer/modal-drawer.d.ts +1 -1
  765. package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
  766. package/esm/expansion-panel/expansion-panel-adapter.d.ts +1 -1
  767. package/esm/expansion-panel/expansion-panel-adapter.js +1 -1
  768. package/esm/expansion-panel/expansion-panel-constants.d.ts +1 -1
  769. package/esm/expansion-panel/expansion-panel-constants.js +1 -1
  770. package/esm/expansion-panel/expansion-panel-foundation.d.ts +1 -1
  771. package/esm/expansion-panel/expansion-panel-foundation.js +1 -1
  772. package/esm/expansion-panel/expansion-panel.d.ts +1 -1
  773. package/esm/expansion-panel/expansion-panel.js +1 -1
  774. package/esm/expansion-panel/index.d.ts +1 -1
  775. package/esm/expansion-panel/index.js +1 -1
  776. package/esm/field/field-adapter.d.ts +1 -1
  777. package/esm/field/field-adapter.js +1 -1
  778. package/esm/field/field-constants.d.ts +1 -1
  779. package/esm/field/field-constants.js +1 -1
  780. package/esm/field/field-foundation.d.ts +1 -1
  781. package/esm/field/field-foundation.js +1 -1
  782. package/esm/field/field.d.ts +1 -1
  783. package/esm/field/field.js +1 -1
  784. package/esm/file-picker/file-picker-adapter.d.ts +1 -1
  785. package/esm/file-picker/file-picker-adapter.js +1 -1
  786. package/esm/file-picker/file-picker-component-delegate.d.ts +1 -1
  787. package/esm/file-picker/file-picker-component-delegate.js +1 -1
  788. package/esm/file-picker/file-picker-constants.d.ts +1 -1
  789. package/esm/file-picker/file-picker-constants.js +1 -1
  790. package/esm/file-picker/file-picker-foundation.d.ts +1 -1
  791. package/esm/file-picker/file-picker-foundation.js +1 -1
  792. package/esm/file-picker/file-picker.d.ts +1 -1
  793. package/esm/file-picker/file-picker.js +1 -1
  794. package/esm/file-picker/index.d.ts +1 -1
  795. package/esm/file-picker/index.js +1 -1
  796. package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +1 -1
  797. package/esm/floating-action-button/floating-action-button-component-delegate.js +1 -1
  798. package/esm/floating-action-button/floating-action-button-constants.d.ts +1 -1
  799. package/esm/floating-action-button/floating-action-button-constants.js +1 -1
  800. package/esm/floating-action-button/floating-action-button.d.ts +1 -1
  801. package/esm/floating-action-button/floating-action-button.js +1 -1
  802. package/esm/floating-action-button/index.d.ts +1 -1
  803. package/esm/floating-action-button/index.js +1 -1
  804. package/esm/floating-label/floating-label-adapter.d.ts +1 -1
  805. package/esm/floating-label/floating-label-adapter.js +1 -1
  806. package/esm/floating-label/floating-label-constants.d.ts +1 -1
  807. package/esm/floating-label/floating-label-constants.js +1 -1
  808. package/esm/floating-label/floating-label-foundation.d.ts +1 -1
  809. package/esm/floating-label/floating-label-foundation.js +1 -1
  810. package/esm/floating-label/floating-label.d.ts +1 -1
  811. package/esm/floating-label/floating-label.js +1 -1
  812. package/esm/floating-label/index.d.ts +1 -1
  813. package/esm/floating-label/index.js +1 -1
  814. package/esm/icon/icon-adapter.d.ts +1 -1
  815. package/esm/icon/icon-adapter.js +1 -1
  816. package/esm/icon/icon-component-delegate.d.ts +1 -1
  817. package/esm/icon/icon-component-delegate.js +1 -1
  818. package/esm/icon/icon-constants.d.ts +1 -1
  819. package/esm/icon/icon-constants.js +1 -1
  820. package/esm/icon/icon-foundation.d.ts +1 -1
  821. package/esm/icon/icon-foundation.js +1 -1
  822. package/esm/icon/icon-registry.d.ts +1 -1
  823. package/esm/icon/icon-registry.js +1 -1
  824. package/esm/icon/icon-utils.d.ts +1 -1
  825. package/esm/icon/icon-utils.js +1 -1
  826. package/esm/icon/icon.d.ts +1 -1
  827. package/esm/icon/icon.js +1 -1
  828. package/esm/icon/index.d.ts +1 -1
  829. package/esm/icon/index.js +1 -1
  830. package/esm/icon-button/icon-button-component-delegate.d.ts +1 -1
  831. package/esm/icon-button/icon-button-component-delegate.js +1 -1
  832. package/esm/icon-button/icon-button-constants.d.ts +1 -1
  833. package/esm/icon-button/icon-button-constants.js +1 -1
  834. package/esm/icon-button/icon-button.d.ts +1 -1
  835. package/esm/icon-button/icon-button.js +1 -1
  836. package/esm/icon-button/index.d.ts +1 -1
  837. package/esm/icon-button/index.js +1 -1
  838. package/esm/index.d.ts +1 -1
  839. package/esm/index.js +1 -1
  840. package/esm/inline-message/index.d.ts +1 -1
  841. package/esm/inline-message/index.js +1 -1
  842. package/esm/inline-message/inline-message-constants.d.ts +1 -1
  843. package/esm/inline-message/inline-message-constants.js +1 -1
  844. package/esm/inline-message/inline-message.d.ts +1 -1
  845. package/esm/inline-message/inline-message.js +1 -1
  846. package/esm/keyboard-shortcut/index.d.ts +1 -1
  847. package/esm/keyboard-shortcut/index.js +1 -1
  848. package/esm/keyboard-shortcut/keyboard-shortcut-adapter.d.ts +1 -1
  849. package/esm/keyboard-shortcut/keyboard-shortcut-adapter.js +1 -1
  850. package/esm/keyboard-shortcut/keyboard-shortcut-constants.d.ts +1 -1
  851. package/esm/keyboard-shortcut/keyboard-shortcut-constants.js +1 -1
  852. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +1 -1
  853. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +1 -1
  854. package/esm/keyboard-shortcut/keyboard-shortcut-utils.d.ts +1 -1
  855. package/esm/keyboard-shortcut/keyboard-shortcut-utils.js +1 -1
  856. package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +4 -1
  857. package/esm/keyboard-shortcut/keyboard-shortcut.js +1 -1
  858. package/esm/label-value/index.d.ts +1 -1
  859. package/esm/label-value/index.js +1 -1
  860. package/esm/label-value/label-value-adapter.d.ts +1 -1
  861. package/esm/label-value/label-value-adapter.js +1 -1
  862. package/esm/label-value/label-value-component-delegate.d.ts +1 -1
  863. package/esm/label-value/label-value-component-delegate.js +1 -1
  864. package/esm/label-value/label-value-constants.d.ts +2 -2
  865. package/esm/label-value/label-value-constants.js +1 -1
  866. package/esm/label-value/label-value-foundation.d.ts +1 -1
  867. package/esm/label-value/label-value-foundation.js +1 -1
  868. package/esm/label-value/label-value.d.ts +1 -1
  869. package/esm/label-value/label-value.js +1 -1
  870. package/esm/linear-progress/index.d.ts +1 -1
  871. package/esm/linear-progress/index.js +1 -1
  872. package/esm/linear-progress/linear-progress-constants.d.ts +1 -1
  873. package/esm/linear-progress/linear-progress-constants.js +1 -1
  874. package/esm/linear-progress/linear-progress.d.ts +1 -1
  875. package/esm/linear-progress/linear-progress.js +1 -1
  876. package/esm/list/index.d.ts +1 -1
  877. package/esm/list/index.js +1 -1
  878. package/esm/list/list/index.d.ts +1 -1
  879. package/esm/list/list/index.js +1 -1
  880. package/esm/list/list/list-adapter.d.ts +1 -1
  881. package/esm/list/list/list-adapter.js +1 -1
  882. package/esm/list/list/list-constants.d.ts +1 -1
  883. package/esm/list/list/list-constants.js +1 -1
  884. package/esm/list/list/list-foundation.d.ts +1 -1
  885. package/esm/list/list/list-foundation.js +1 -1
  886. package/esm/list/list/list.d.ts +1 -1
  887. package/esm/list/list/list.js +1 -1
  888. package/esm/list/list-item/index.d.ts +1 -1
  889. package/esm/list/list-item/index.js +1 -1
  890. package/esm/list/list-item/list-item-adapter.d.ts +4 -1
  891. package/esm/list/list-item/list-item-adapter.js +5 -1
  892. package/esm/list/list-item/list-item-constants.d.ts +1 -1
  893. package/esm/list/list-item/list-item-constants.js +1 -1
  894. package/esm/list/list-item/list-item-foundation.d.ts +1 -1
  895. package/esm/list/list-item/list-item-foundation.js +10 -3
  896. package/esm/list/list-item/list-item.d.ts +1 -1
  897. package/esm/list/list-item/list-item.js +1 -1
  898. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.d.ts +1 -1
  899. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.js +1 -1
  900. package/esm/list-dropdown/index.d.ts +1 -1
  901. package/esm/list-dropdown/index.js +1 -1
  902. package/esm/list-dropdown/list-dropdown-adapter.d.ts +1 -1
  903. package/esm/list-dropdown/list-dropdown-adapter.js +1 -1
  904. package/esm/list-dropdown/list-dropdown-aware-foundation.d.ts +1 -1
  905. package/esm/list-dropdown/list-dropdown-aware-foundation.js +1 -1
  906. package/esm/list-dropdown/list-dropdown-aware.d.ts +1 -1
  907. package/esm/list-dropdown/list-dropdown-aware.js +1 -1
  908. package/esm/list-dropdown/list-dropdown-constants.d.ts +1 -1
  909. package/esm/list-dropdown/list-dropdown-constants.js +1 -1
  910. package/esm/list-dropdown/list-dropdown-foundation.d.ts +1 -1
  911. package/esm/list-dropdown/list-dropdown-foundation.js +2 -1
  912. package/esm/list-dropdown/list-dropdown-utils.d.ts +1 -1
  913. package/esm/list-dropdown/list-dropdown-utils.js +1 -1
  914. package/esm/list-dropdown/list-dropdown.d.ts +1 -1
  915. package/esm/list-dropdown/list-dropdown.js +1 -1
  916. package/esm/menu/index.d.ts +1 -1
  917. package/esm/menu/index.js +1 -1
  918. package/esm/menu/menu-adapter.d.ts +1 -1
  919. package/esm/menu/menu-adapter.js +1 -1
  920. package/esm/menu/menu-constants.d.ts +1 -1
  921. package/esm/menu/menu-constants.js +1 -1
  922. package/esm/menu/menu-foundation.d.ts +1 -1
  923. package/esm/menu/menu-foundation.js +1 -1
  924. package/esm/menu/menu.d.ts +1 -1
  925. package/esm/menu/menu.js +1 -1
  926. package/esm/open-icon/index.d.ts +1 -1
  927. package/esm/open-icon/index.js +1 -1
  928. package/esm/open-icon/open-icon-adapter.d.ts +1 -1
  929. package/esm/open-icon/open-icon-adapter.js +1 -1
  930. package/esm/open-icon/open-icon-constants.d.ts +1 -1
  931. package/esm/open-icon/open-icon-constants.js +1 -1
  932. package/esm/open-icon/open-icon-foundation.d.ts +1 -1
  933. package/esm/open-icon/open-icon-foundation.js +1 -1
  934. package/esm/open-icon/open-icon.d.ts +1 -1
  935. package/esm/open-icon/open-icon.js +1 -1
  936. package/esm/page-state/index.d.ts +1 -1
  937. package/esm/page-state/index.js +1 -1
  938. package/esm/page-state/page-state-constants.d.ts +1 -1
  939. package/esm/page-state/page-state-constants.js +1 -1
  940. package/esm/page-state/page-state.d.ts +1 -1
  941. package/esm/page-state/page-state.js +1 -1
  942. package/esm/paginator/index.d.ts +1 -1
  943. package/esm/paginator/index.js +1 -1
  944. package/esm/paginator/paginator-adapter.d.ts +1 -1
  945. package/esm/paginator/paginator-adapter.js +1 -1
  946. package/esm/paginator/paginator-constants.d.ts +1 -1
  947. package/esm/paginator/paginator-constants.js +1 -1
  948. package/esm/paginator/paginator-foundation.d.ts +1 -1
  949. package/esm/paginator/paginator-foundation.js +1 -1
  950. package/esm/paginator/paginator.d.ts +1 -1
  951. package/esm/paginator/paginator.js +1 -1
  952. package/esm/popup/index.d.ts +1 -1
  953. package/esm/popup/index.js +1 -1
  954. package/esm/popup/popup-adapter.d.ts +1 -1
  955. package/esm/popup/popup-adapter.js +1 -1
  956. package/esm/popup/popup-constants.d.ts +1 -1
  957. package/esm/popup/popup-constants.js +1 -1
  958. package/esm/popup/popup-foundation.d.ts +1 -1
  959. package/esm/popup/popup-foundation.js +1 -1
  960. package/esm/popup/popup.d.ts +1 -1
  961. package/esm/popup/popup.js +1 -1
  962. package/esm/product-icon/index.d.ts +1 -1
  963. package/esm/product-icon/index.js +1 -1
  964. package/esm/product-icon/product-icon-adapter.d.ts +1 -1
  965. package/esm/product-icon/product-icon-adapter.js +1 -1
  966. package/esm/product-icon/product-icon-constants.d.ts +1 -1
  967. package/esm/product-icon/product-icon-constants.js +1 -1
  968. package/esm/product-icon/product-icon-foundation.d.ts +1 -1
  969. package/esm/product-icon/product-icon-foundation.js +1 -1
  970. package/esm/product-icon/product-icon.d.ts +1 -1
  971. package/esm/product-icon/product-icon.js +1 -1
  972. package/esm/profile-card/index.d.ts +1 -1
  973. package/esm/profile-card/index.js +1 -1
  974. package/esm/profile-card/profile-card-adapter.d.ts +1 -1
  975. package/esm/profile-card/profile-card-adapter.js +1 -1
  976. package/esm/profile-card/profile-card-constants.d.ts +1 -1
  977. package/esm/profile-card/profile-card-constants.js +1 -1
  978. package/esm/profile-card/profile-card-foundation.d.ts +1 -1
  979. package/esm/profile-card/profile-card-foundation.js +1 -1
  980. package/esm/profile-card/profile-card.d.ts +1 -1
  981. package/esm/profile-card/profile-card.js +1 -1
  982. package/esm/quantity-field/index.d.ts +1 -1
  983. package/esm/quantity-field/index.js +1 -1
  984. package/esm/quantity-field/quantity-field-adapter.d.ts +1 -1
  985. package/esm/quantity-field/quantity-field-adapter.js +1 -1
  986. package/esm/quantity-field/quantity-field-component-delegate.d.ts +1 -1
  987. package/esm/quantity-field/quantity-field-component-delegate.js +1 -1
  988. package/esm/quantity-field/quantity-field-constants.d.ts +1 -1
  989. package/esm/quantity-field/quantity-field-constants.js +1 -1
  990. package/esm/quantity-field/quantity-field-foundation.d.ts +1 -1
  991. package/esm/quantity-field/quantity-field-foundation.js +1 -1
  992. package/esm/quantity-field/quantity-field.d.ts +1 -1
  993. package/esm/quantity-field/quantity-field.js +1 -1
  994. package/esm/radio/index.d.ts +1 -1
  995. package/esm/radio/index.js +1 -1
  996. package/esm/radio/radio-adapter.d.ts +1 -1
  997. package/esm/radio/radio-adapter.js +1 -1
  998. package/esm/radio/radio-constants.d.ts +1 -1
  999. package/esm/radio/radio-constants.js +1 -1
  1000. package/esm/radio/radio-foundation.d.ts +1 -1
  1001. package/esm/radio/radio-foundation.js +1 -1
  1002. package/esm/radio/radio.d.ts +1 -1
  1003. package/esm/radio/radio.js +1 -1
  1004. package/esm/ripple/forge-ripple.d.ts +2 -2
  1005. package/esm/ripple/forge-ripple.js +1 -1
  1006. package/esm/ripple/index.d.ts +1 -1
  1007. package/esm/ripple/index.js +1 -1
  1008. package/esm/ripple/ripple-adapter.d.ts +1 -1
  1009. package/esm/ripple/ripple-adapter.js +1 -1
  1010. package/esm/ripple/ripple-constants.d.ts +1 -1
  1011. package/esm/ripple/ripple-constants.js +1 -1
  1012. package/esm/ripple/ripple-foundation.d.ts +1 -1
  1013. package/esm/ripple/ripple-foundation.js +1 -1
  1014. package/esm/ripple/ripple.d.ts +3 -3
  1015. package/esm/ripple/ripple.js +3 -2
  1016. package/esm/scaffold/index.d.ts +1 -1
  1017. package/esm/scaffold/index.js +1 -1
  1018. package/esm/scaffold/scaffold-constants.d.ts +1 -1
  1019. package/esm/scaffold/scaffold-constants.js +1 -1
  1020. package/esm/scaffold/scaffold.d.ts +1 -1
  1021. package/esm/scaffold/scaffold.js +1 -1
  1022. package/esm/select/core/base-select-adapter.d.ts +1 -1
  1023. package/esm/select/core/base-select-adapter.js +1 -1
  1024. package/esm/select/core/base-select-constants.d.ts +1 -1
  1025. package/esm/select/core/base-select-constants.js +1 -1
  1026. package/esm/select/core/base-select-foundation.d.ts +1 -1
  1027. package/esm/select/core/base-select-foundation.js +1 -1
  1028. package/esm/select/core/base-select.d.ts +1 -1
  1029. package/esm/select/core/base-select.js +1 -1
  1030. package/esm/select/core/index.d.ts +1 -1
  1031. package/esm/select/core/index.js +1 -1
  1032. package/esm/select/core/select-utils.d.ts +1 -1
  1033. package/esm/select/core/select-utils.js +1 -1
  1034. package/esm/select/index.d.ts +1 -1
  1035. package/esm/select/index.js +1 -1
  1036. package/esm/select/option/index.d.ts +1 -1
  1037. package/esm/select/option/index.js +1 -1
  1038. package/esm/select/option/option-adapter.d.ts +1 -1
  1039. package/esm/select/option/option-adapter.js +1 -1
  1040. package/esm/select/option/option-constants.d.ts +1 -1
  1041. package/esm/select/option/option-constants.js +1 -1
  1042. package/esm/select/option/option-foundation.d.ts +1 -1
  1043. package/esm/select/option/option-foundation.js +1 -1
  1044. package/esm/select/option/option.d.ts +1 -1
  1045. package/esm/select/option/option.js +1 -1
  1046. package/esm/select/option-group/index.d.ts +1 -1
  1047. package/esm/select/option-group/index.js +1 -1
  1048. package/esm/select/option-group/option-group-constants.d.ts +1 -1
  1049. package/esm/select/option-group/option-group-constants.js +1 -1
  1050. package/esm/select/option-group/option-group.d.ts +1 -1
  1051. package/esm/select/option-group/option-group.js +1 -1
  1052. package/esm/select/select/index.d.ts +1 -1
  1053. package/esm/select/select/index.js +1 -1
  1054. package/esm/select/select/select-adapter.d.ts +1 -1
  1055. package/esm/select/select/select-adapter.js +1 -1
  1056. package/esm/select/select/select-constants.d.ts +2 -2
  1057. package/esm/select/select/select-constants.js +1 -1
  1058. package/esm/select/select/select-foundation.d.ts +1 -1
  1059. package/esm/select/select/select-foundation.js +1 -1
  1060. package/esm/select/select/select.d.ts +1 -1
  1061. package/esm/select/select/select.js +7 -7
  1062. package/esm/select/select-component-delegate.d.ts +1 -1
  1063. package/esm/select/select-component-delegate.js +1 -1
  1064. package/esm/select/select-dropdown/index.d.ts +1 -1
  1065. package/esm/select/select-dropdown/index.js +1 -1
  1066. package/esm/select/select-dropdown/select-dropdown-adapter.d.ts +1 -1
  1067. package/esm/select/select-dropdown/select-dropdown-adapter.js +1 -1
  1068. package/esm/select/select-dropdown/select-dropdown-constants.d.ts +1 -1
  1069. package/esm/select/select-dropdown/select-dropdown-constants.js +1 -1
  1070. package/esm/select/select-dropdown/select-dropdown-foundation.d.ts +1 -1
  1071. package/esm/select/select-dropdown/select-dropdown-foundation.js +1 -1
  1072. package/esm/select/select-dropdown/select-dropdown.d.ts +1 -1
  1073. package/esm/select/select-dropdown/select-dropdown.js +6 -6
  1074. package/esm/skeleton/index.d.ts +1 -1
  1075. package/esm/skeleton/index.js +1 -1
  1076. package/esm/skeleton/skeleton-constants.d.ts +1 -1
  1077. package/esm/skeleton/skeleton-constants.js +1 -1
  1078. package/esm/skeleton/skeleton.d.ts +1 -1
  1079. package/esm/skeleton/skeleton.js +1 -1
  1080. package/esm/slider/index.d.ts +1 -1
  1081. package/esm/slider/index.js +1 -1
  1082. package/esm/slider/slider-component-delegate.d.ts +1 -1
  1083. package/esm/slider/slider-component-delegate.js +1 -1
  1084. package/esm/slider/slider-constants.d.ts +1 -1
  1085. package/esm/slider/slider-constants.js +1 -1
  1086. package/esm/slider/slider.d.ts +1 -1
  1087. package/esm/slider/slider.js +1 -1
  1088. package/esm/split-view/core/index.d.ts +1 -1
  1089. package/esm/split-view/core/index.js +1 -1
  1090. package/esm/split-view/core/split-view-base.d.ts +1 -1
  1091. package/esm/split-view/core/split-view-base.js +1 -1
  1092. package/esm/split-view/index.d.ts +1 -1
  1093. package/esm/split-view/index.js +1 -1
  1094. package/esm/split-view/split-view/index.d.ts +1 -1
  1095. package/esm/split-view/split-view/index.js +1 -1
  1096. package/esm/split-view/split-view/split-view-adapter.d.ts +1 -1
  1097. package/esm/split-view/split-view/split-view-adapter.js +1 -1
  1098. package/esm/split-view/split-view/split-view-constants.d.ts +1 -1
  1099. package/esm/split-view/split-view/split-view-constants.js +1 -1
  1100. package/esm/split-view/split-view/split-view-foundation.d.ts +1 -1
  1101. package/esm/split-view/split-view/split-view-foundation.js +1 -1
  1102. package/esm/split-view/split-view/split-view.d.ts +1 -1
  1103. package/esm/split-view/split-view/split-view.js +4 -2
  1104. package/esm/split-view/split-view-panel/index.d.ts +1 -1
  1105. package/esm/split-view/split-view-panel/index.js +1 -1
  1106. package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +1 -1
  1107. package/esm/split-view/split-view-panel/split-view-panel-adapter.js +1 -1
  1108. package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +1 -1
  1109. package/esm/split-view/split-view-panel/split-view-panel-constants.js +1 -1
  1110. package/esm/split-view/split-view-panel/split-view-panel-foundation.d.ts +1 -1
  1111. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +1 -1
  1112. package/esm/split-view/split-view-panel/split-view-panel-utils.d.ts +1 -1
  1113. package/esm/split-view/split-view-panel/split-view-panel-utils.js +1 -1
  1114. package/esm/split-view/split-view-panel/split-view-panel.d.ts +1 -1
  1115. package/esm/split-view/split-view-panel/split-view-panel.js +2 -2
  1116. package/esm/stepper/core/stepper-utils.d.ts +1 -1
  1117. package/esm/stepper/core/stepper-utils.js +1 -1
  1118. package/esm/stepper/index.d.ts +1 -1
  1119. package/esm/stepper/index.js +1 -1
  1120. package/esm/stepper/step/index.d.ts +1 -1
  1121. package/esm/stepper/step/index.js +1 -1
  1122. package/esm/stepper/step/step-adapter.d.ts +1 -1
  1123. package/esm/stepper/step/step-adapter.js +1 -1
  1124. package/esm/stepper/step/step-constants.d.ts +1 -1
  1125. package/esm/stepper/step/step-constants.js +1 -1
  1126. package/esm/stepper/step/step-foundation.d.ts +1 -1
  1127. package/esm/stepper/step/step-foundation.js +1 -1
  1128. package/esm/stepper/step/step.d.ts +1 -1
  1129. package/esm/stepper/step/step.js +7 -4
  1130. package/esm/stepper/stepper/index.d.ts +1 -1
  1131. package/esm/stepper/stepper/index.js +1 -1
  1132. package/esm/stepper/stepper/stepper-adapter.d.ts +1 -1
  1133. package/esm/stepper/stepper/stepper-adapter.js +1 -1
  1134. package/esm/stepper/stepper/stepper-constants.d.ts +1 -1
  1135. package/esm/stepper/stepper/stepper-constants.js +1 -1
  1136. package/esm/stepper/stepper/stepper-foundation.d.ts +1 -1
  1137. package/esm/stepper/stepper/stepper-foundation.js +1 -1
  1138. package/esm/stepper/stepper/stepper.d.ts +1 -1
  1139. package/esm/stepper/stepper/stepper.js +1 -1
  1140. package/esm/switch/index.d.ts +1 -1
  1141. package/esm/switch/index.js +1 -1
  1142. package/esm/switch/switch-component-delegate.d.ts +1 -1
  1143. package/esm/switch/switch-component-delegate.js +1 -1
  1144. package/esm/switch/switch-constants.d.ts +1 -1
  1145. package/esm/switch/switch-constants.js +1 -1
  1146. package/esm/switch/switch.d.ts +1 -1
  1147. package/esm/switch/switch.js +1 -1
  1148. package/esm/table/index.d.ts +1 -1
  1149. package/esm/table/index.js +1 -1
  1150. package/esm/table/multi-sort-manager.d.ts +1 -1
  1151. package/esm/table/multi-sort-manager.js +1 -1
  1152. package/esm/table/table-adapter.d.ts +1 -1
  1153. package/esm/table/table-adapter.js +1 -1
  1154. package/esm/table/table-constants.d.ts +1 -1
  1155. package/esm/table/table-constants.js +1 -1
  1156. package/esm/table/table-foundation.d.ts +1 -1
  1157. package/esm/table/table-foundation.js +1 -1
  1158. package/esm/table/table-row.d.ts +1 -1
  1159. package/esm/table/table-row.js +1 -1
  1160. package/esm/table/table-utils.d.ts +1 -1
  1161. package/esm/table/table-utils.js +8 -4
  1162. package/esm/table/table.d.ts +1 -1
  1163. package/esm/table/table.js +1 -1
  1164. package/esm/table/types.d.ts +1 -1
  1165. package/esm/table/types.js +1 -1
  1166. package/esm/tabs/index.d.ts +1 -1
  1167. package/esm/tabs/index.js +1 -1
  1168. package/esm/tabs/tab/index.d.ts +1 -1
  1169. package/esm/tabs/tab/index.js +1 -1
  1170. package/esm/tabs/tab/tab-adapter.d.ts +1 -1
  1171. package/esm/tabs/tab/tab-adapter.js +1 -1
  1172. package/esm/tabs/tab/tab-constants.d.ts +1 -1
  1173. package/esm/tabs/tab/tab-constants.js +1 -1
  1174. package/esm/tabs/tab/tab-foundation.d.ts +1 -1
  1175. package/esm/tabs/tab/tab-foundation.js +1 -1
  1176. package/esm/tabs/tab/tab.d.ts +1 -1
  1177. package/esm/tabs/tab/tab.js +1 -1
  1178. package/esm/tabs/tab-bar/index.d.ts +1 -1
  1179. package/esm/tabs/tab-bar/index.js +1 -1
  1180. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +1 -1
  1181. package/esm/tabs/tab-bar/tab-bar-adapter.js +1 -1
  1182. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +1 -1
  1183. package/esm/tabs/tab-bar/tab-bar-constants.js +1 -1
  1184. package/esm/tabs/tab-bar/tab-bar-foundation.d.ts +1 -1
  1185. package/esm/tabs/tab-bar/tab-bar-foundation.js +1 -1
  1186. package/esm/tabs/tab-bar/tab-bar.d.ts +1 -1
  1187. package/esm/tabs/tab-bar/tab-bar.js +1 -1
  1188. package/esm/text-field/index.d.ts +1 -1
  1189. package/esm/text-field/index.js +1 -1
  1190. package/esm/text-field/text-field-adapter.d.ts +1 -1
  1191. package/esm/text-field/text-field-adapter.js +1 -1
  1192. package/esm/text-field/text-field-component-delegate.d.ts +1 -1
  1193. package/esm/text-field/text-field-component-delegate.js +1 -1
  1194. package/esm/text-field/text-field-constants.d.ts +2 -2
  1195. package/esm/text-field/text-field-constants.js +1 -1
  1196. package/esm/text-field/text-field-foundation.d.ts +1 -1
  1197. package/esm/text-field/text-field-foundation.js +1 -1
  1198. package/esm/text-field/text-field.d.ts +1 -1
  1199. package/esm/text-field/text-field.js +1 -1
  1200. package/esm/theme/color-constants.d.ts +1 -1
  1201. package/esm/theme/color-constants.js +1 -1
  1202. package/esm/theme/index.d.ts +1 -1
  1203. package/esm/theme/index.js +1 -1
  1204. package/esm/theme/theme-utils.d.ts +1 -1
  1205. package/esm/theme/theme-utils.js +1 -1
  1206. package/esm/time-picker/index.d.ts +1 -1
  1207. package/esm/time-picker/index.js +1 -1
  1208. package/esm/time-picker/time-picker-adapter.d.ts +1 -1
  1209. package/esm/time-picker/time-picker-adapter.js +1 -1
  1210. package/esm/time-picker/time-picker-component-delegate.d.ts +1 -1
  1211. package/esm/time-picker/time-picker-component-delegate.js +1 -1
  1212. package/esm/time-picker/time-picker-constants.d.ts +1 -1
  1213. package/esm/time-picker/time-picker-constants.js +1 -1
  1214. package/esm/time-picker/time-picker-foundation.d.ts +1 -1
  1215. package/esm/time-picker/time-picker-foundation.js +3 -2
  1216. package/esm/time-picker/time-picker-utils.d.ts +1 -1
  1217. package/esm/time-picker/time-picker-utils.js +1 -1
  1218. package/esm/time-picker/time-picker.d.ts +1 -1
  1219. package/esm/time-picker/time-picker.js +1 -1
  1220. package/esm/toast/index.d.ts +1 -1
  1221. package/esm/toast/index.js +1 -1
  1222. package/esm/toast/toast-adapter.d.ts +1 -1
  1223. package/esm/toast/toast-adapter.js +1 -1
  1224. package/esm/toast/toast-constants.d.ts +1 -1
  1225. package/esm/toast/toast-constants.js +1 -1
  1226. package/esm/toast/toast-foundation.d.ts +1 -1
  1227. package/esm/toast/toast-foundation.js +1 -1
  1228. package/esm/toast/toast.d.ts +1 -1
  1229. package/esm/toast/toast.js +1 -1
  1230. package/esm/toolbar/index.d.ts +1 -1
  1231. package/esm/toolbar/index.js +1 -1
  1232. package/esm/toolbar/toolbar-constants.d.ts +1 -1
  1233. package/esm/toolbar/toolbar-constants.js +1 -1
  1234. package/esm/toolbar/toolbar.d.ts +1 -1
  1235. package/esm/toolbar/toolbar.js +2 -2
  1236. package/esm/tooltip/index.d.ts +1 -1
  1237. package/esm/tooltip/index.js +1 -1
  1238. package/esm/tooltip/tooltip-adapter.d.ts +1 -1
  1239. package/esm/tooltip/tooltip-adapter.js +1 -1
  1240. package/esm/tooltip/tooltip-constants.d.ts +1 -1
  1241. package/esm/tooltip/tooltip-constants.js +1 -1
  1242. package/esm/tooltip/tooltip-foundation.d.ts +1 -1
  1243. package/esm/tooltip/tooltip-foundation.js +1 -1
  1244. package/esm/tooltip/tooltip-utils.d.ts +1 -1
  1245. package/esm/tooltip/tooltip-utils.js +1 -1
  1246. package/esm/tooltip/tooltip.d.ts +1 -1
  1247. package/esm/tooltip/tooltip.js +1 -1
  1248. package/esm/utils/color-utils.d.ts +1 -1
  1249. package/esm/utils/color-utils.js +1 -1
  1250. package/esm/utils/index.d.ts +1 -1
  1251. package/esm/utils/index.js +1 -1
  1252. package/esm/view-switcher/index.d.ts +1 -1
  1253. package/esm/view-switcher/index.js +1 -1
  1254. package/esm/view-switcher/view/index.d.ts +1 -1
  1255. package/esm/view-switcher/view/index.js +1 -1
  1256. package/esm/view-switcher/view/view-constants.d.ts +1 -1
  1257. package/esm/view-switcher/view/view-constants.js +1 -1
  1258. package/esm/view-switcher/view/view.d.ts +1 -1
  1259. package/esm/view-switcher/view/view.js +1 -1
  1260. package/esm/view-switcher/view-switcher-adapter.d.ts +1 -1
  1261. package/esm/view-switcher/view-switcher-adapter.js +1 -1
  1262. package/esm/view-switcher/view-switcher-constants.d.ts +1 -1
  1263. package/esm/view-switcher/view-switcher-constants.js +1 -1
  1264. package/esm/view-switcher/view-switcher-foundation.d.ts +1 -1
  1265. package/esm/view-switcher/view-switcher-foundation.js +1 -1
  1266. package/esm/view-switcher/view-switcher.d.ts +1 -1
  1267. package/esm/view-switcher/view-switcher.js +1 -1
  1268. package/package.json +2 -2
  1269. package/styles/app-bar/_mixins.scss +1 -1
  1270. package/styles/app-bar/_variables.scss +1 -1
  1271. package/styles/app-bar/app-bar.scss +1 -1
  1272. package/styles/app-bar/search/_mixins.scss +1 -1
  1273. package/styles/app-bar/search/_variables.scss +1 -1
  1274. package/styles/app-bar/search/app-bar-search.scss +1 -1
  1275. package/styles/autocomplete/autocomplete.scss +1 -1
  1276. package/styles/avatar/_mixins.scss +1 -1
  1277. package/styles/avatar/_variables.scss +1 -1
  1278. package/styles/avatar/avatar.scss +1 -1
  1279. package/styles/backdrop/_mixins.scss +1 -1
  1280. package/styles/backdrop/_variables.scss +1 -1
  1281. package/styles/backdrop/backdrop.scss +1 -1
  1282. package/styles/badge/_mixins.scss +1 -1
  1283. package/styles/badge/_variables.scss +1 -1
  1284. package/styles/badge/badge.scss +1 -1
  1285. package/styles/banner/_mixins.scss +1 -1
  1286. package/styles/banner/_variables.scss +1 -1
  1287. package/styles/banner/banner.scss +1 -1
  1288. package/styles/bottom-sheet/_mixins.scss +1 -1
  1289. package/styles/bottom-sheet/_variables.scss +1 -1
  1290. package/styles/bottom-sheet/bottom-sheet.scss +1 -1
  1291. package/styles/busy-indicator/_mixins.scss +1 -1
  1292. package/styles/busy-indicator/_variables.scss +1 -1
  1293. package/styles/busy-indicator/busy-indicator.scss +1 -1
  1294. package/styles/busy-indicator/forge-busy-indicator.scss +1 -1
  1295. package/styles/button/_button-base.scss +1 -1
  1296. package/styles/button/_button-filled-theme.scss +1 -1
  1297. package/styles/button/_button-filled.scss +1 -1
  1298. package/styles/button/_button-outlined-theme.scss +1 -1
  1299. package/styles/button/_button-outlined.scss +1 -1
  1300. package/styles/button/_button-protected-theme.scss +1 -1
  1301. package/styles/button/_button-protected.scss +1 -1
  1302. package/styles/button/_button-ripple.scss +1 -1
  1303. package/styles/button/_button-shared-theme.scss +1 -1
  1304. package/styles/button/_button-text-theme.scss +1 -1
  1305. package/styles/button/_button-text.scss +1 -1
  1306. package/styles/button/_button.mixins.scss +1 -1
  1307. package/styles/button/_mixins.scss +1 -1
  1308. package/styles/button/forge-button.scss +1 -1
  1309. package/styles/button-toggle/button-toggle/_mixins.scss +1 -1
  1310. package/styles/button-toggle/button-toggle/button-toggle.scss +1 -1
  1311. package/styles/button-toggle/button-toggle-group/_mixins.scss +1 -1
  1312. package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +1 -1
  1313. package/styles/calendar/_mixins.scss +1 -1
  1314. package/styles/calendar/_variables.scss +1 -1
  1315. package/styles/calendar/calendar-menu/_mixins.scss +1 -1
  1316. package/styles/calendar/calendar-menu/_variables.scss +1 -1
  1317. package/styles/calendar/calendar-menu/calendar-menu.scss +1 -1
  1318. package/styles/calendar/calendar.scss +1 -1
  1319. package/styles/card/_mixins.scss +1 -1
  1320. package/styles/card/_variables.scss +1 -1
  1321. package/styles/card/card.scss +1 -1
  1322. package/styles/checkbox/_checkbox-custom-properties.scss +1 -1
  1323. package/styles/checkbox/_checkbox-theme.scss +1 -1
  1324. package/styles/checkbox/_checkbox.mixins.scss +1 -1
  1325. package/styles/checkbox/checkbox.scss +1 -1
  1326. package/styles/chip-field/_base.scss +1 -1
  1327. package/styles/chip-field/_core.scss +1 -1
  1328. package/styles/chip-field/_mixins.scss +1 -1
  1329. package/styles/chip-field/_selector.scss +1 -1
  1330. package/styles/chip-field/_variables.scss +1 -1
  1331. package/styles/chip-field/chip-field.scss +1 -1
  1332. package/styles/chips/chip/_mixins.scss +1 -1
  1333. package/styles/chips/chip/_variables.scss +1 -1
  1334. package/styles/chips/chip/chip.scss +1 -1
  1335. package/styles/chips/chip-set/_mixins.scss +1 -1
  1336. package/styles/chips/chip-set/_variables.scss +1 -1
  1337. package/styles/chips/chip-set/chip-set.scss +1 -1
  1338. package/styles/circular-progress/_keyframes.scss +1 -1
  1339. package/styles/circular-progress/_mixins.scss +1 -1
  1340. package/styles/circular-progress/_variables.scss +1 -1
  1341. package/styles/circular-progress/circular-progress.scss +1 -1
  1342. package/styles/color-picker/_mixins.scss +1 -1
  1343. package/styles/color-picker/_variables.scss +1 -1
  1344. package/styles/color-picker/color-picker.scss +1 -1
  1345. package/styles/date-picker/date-picker.scss +1 -1
  1346. package/styles/date-range-picker/date-range-picker.scss +1 -1
  1347. package/styles/dialog/_mixins.scss +1 -1
  1348. package/styles/dialog/_variables.scss +1 -1
  1349. package/styles/dialog/dialog.scss +1 -1
  1350. package/styles/dialog/forge-dialog-utils.scss +1 -1
  1351. package/styles/dialog/forge-dialog.scss +1 -1
  1352. package/styles/divider/_mixins.scss +1 -1
  1353. package/styles/divider/_variables.scss +1 -1
  1354. package/styles/divider/divider.scss +1 -1
  1355. package/styles/drawer/base/_mixins.scss +1 -1
  1356. package/styles/drawer/base/_variables.scss +1 -1
  1357. package/styles/drawer/drawer/_mixins.scss +1 -1
  1358. package/styles/drawer/drawer/_variables.scss +1 -1
  1359. package/styles/drawer/drawer/drawer.scss +1 -1
  1360. package/styles/drawer/mini-drawer/_mixins.scss +1 -1
  1361. package/styles/drawer/mini-drawer/_variables.scss +1 -1
  1362. package/styles/drawer/mini-drawer/mini-drawer.scss +1 -1
  1363. package/styles/drawer/modal-drawer/_mixins.scss +1 -1
  1364. package/styles/drawer/modal-drawer/modal-drawer.scss +1 -1
  1365. package/styles/expansion-panel/_mixins.scss +1 -1
  1366. package/styles/expansion-panel/expansion-panel.scss +1 -1
  1367. package/styles/expansion-panel/forge-expansion-panel.scss +1 -1
  1368. package/styles/field/_base.scss +1 -1
  1369. package/styles/field/_core.scss +1 -1
  1370. package/styles/field/_selector.scss +1 -1
  1371. package/styles/field/_utils.scss +1 -1
  1372. package/styles/field/_variables.scss +1 -1
  1373. package/styles/file-picker/_mixins.scss +1 -1
  1374. package/styles/file-picker/_variables.scss +1 -1
  1375. package/styles/file-picker/file-picker.scss +1 -1
  1376. package/styles/floating-action-button/_extended-fab-theme.scss +1 -1
  1377. package/styles/floating-action-button/_fab-custom-properties.scss +1 -1
  1378. package/styles/floating-action-button/_fab-theme.scss +1 -1
  1379. package/styles/floating-action-button/_fab.mixins.scss +1 -1
  1380. package/styles/floating-action-button/forge-floating-action-button.scss +1 -1
  1381. package/styles/floating-label/_mixins.scss +1 -1
  1382. package/styles/floating-label/_variables.scss +1 -1
  1383. package/styles/floating-label/forge-floating-label.scss +1 -1
  1384. package/styles/forge-core.scss +1 -1
  1385. package/styles/forge-dark.scss +1 -1
  1386. package/styles/forge.scss +1 -1
  1387. package/styles/form-field/_mixins.scss +1 -1
  1388. package/styles/form-field/forge-form-field.scss +1 -1
  1389. package/styles/icon/_mixins.scss +1 -1
  1390. package/styles/icon/_variables.scss +1 -1
  1391. package/styles/icon/icon.scss +1 -1
  1392. package/styles/icon-button/_mixins.scss +1 -1
  1393. package/styles/icon-button/_variables.scss +1 -1
  1394. package/styles/icon-button/forge-icon-button.scss +1 -1
  1395. package/styles/inline-message/_mixins.scss +1 -1
  1396. package/styles/inline-message/_variables.scss +1 -1
  1397. package/styles/inline-message/inline-message.scss +1 -1
  1398. package/styles/label-value/_mixins.scss +1 -1
  1399. package/styles/label-value/_variables.scss +1 -1
  1400. package/styles/label-value/label-value.scss +1 -1
  1401. package/styles/linear-progress/_mixins.scss +1 -1
  1402. package/styles/linear-progress/_variables.scss +1 -1
  1403. package/styles/linear-progress/linear-progress.scss +1 -1
  1404. package/styles/list/list/_mixins.scss +1 -1
  1405. package/styles/list/list/list.scss +1 -1
  1406. package/styles/list/list-item/_mixins.scss +1 -1
  1407. package/styles/list/list-item/_variables.scss +1 -1
  1408. package/styles/list/list-item/list-item.scss +1 -1
  1409. package/styles/menu/menu.scss +1 -1
  1410. package/styles/open-icon/_mixins.scss +1 -1
  1411. package/styles/open-icon/_variables.scss +1 -1
  1412. package/styles/open-icon/open-icon.scss +1 -1
  1413. package/styles/page-state/_mixins.scss +1 -1
  1414. package/styles/page-state/_variables.scss +1 -1
  1415. package/styles/page-state/page-state.scss +1 -1
  1416. package/styles/paginator/_mixins.scss +1 -1
  1417. package/styles/paginator/_variables.scss +1 -1
  1418. package/styles/paginator/paginator.scss +1 -1
  1419. package/styles/popup/_mixins.scss +1 -1
  1420. package/styles/popup/_variables.scss +1 -1
  1421. package/styles/popup/forge-popup.scss +1 -1
  1422. package/styles/popup/popup.scss +1 -1
  1423. package/styles/product-icon/_mixins.scss +1 -1
  1424. package/styles/product-icon/_variables.scss +1 -1
  1425. package/styles/product-icon/product-icon.scss +1 -1
  1426. package/styles/profile-card/_mixins.scss +1 -1
  1427. package/styles/profile-card/profile-card.scss +1 -1
  1428. package/styles/quantity-field/_mixins.scss +1 -1
  1429. package/styles/quantity-field/forge-quantity-field.scss +1 -1
  1430. package/styles/quantity-field/quantity-field.scss +1 -1
  1431. package/styles/radio/_mixins.scss +1 -1
  1432. package/styles/radio/_radio-theme.scss +1 -1
  1433. package/styles/radio/radio.scss +1 -1
  1434. package/styles/ripple/forge-ripple.scss +1 -1
  1435. package/styles/scaffold/_mixins.scss +1 -1
  1436. package/styles/scaffold/forge-scaffold.scss +1 -1
  1437. package/styles/scaffold/scaffold.scss +1 -1
  1438. package/styles/select/select/_base.scss +1 -1
  1439. package/styles/select/select/_core.scss +1 -1
  1440. package/styles/select/select/_mixins.scss +1 -1
  1441. package/styles/select/select/_selector.scss +1 -1
  1442. package/styles/select/select/_variables.scss +1 -1
  1443. package/styles/select/select/select.scss +1 -1
  1444. package/styles/select/select-dropdown/select-dropdown.scss +1 -1
  1445. package/styles/skeleton/_mixins.scss +1 -1
  1446. package/styles/skeleton/_variables.scss +1 -1
  1447. package/styles/skeleton/skeleton.scss +1 -1
  1448. package/styles/slider/slider.scss +1 -1
  1449. package/styles/split-view/split-view/_mixins.scss +1 -1
  1450. package/styles/split-view/split-view/split-view.scss +1 -1
  1451. package/styles/split-view/split-view-panel/_mixins.scss +1 -1
  1452. package/styles/split-view/split-view-panel/_variables.scss +1 -1
  1453. package/styles/split-view/split-view-panel/split-view-panel.scss +1 -1
  1454. package/styles/stepper/step/_mixins.scss +1 -1
  1455. package/styles/stepper/step/_variables.scss +1 -1
  1456. package/styles/stepper/step/step.scss +1 -1
  1457. package/styles/stepper/stepper/_mixins.scss +1 -1
  1458. package/styles/stepper/stepper/stepper.scss +1 -1
  1459. package/styles/switch/_switch-mixins.scss +1 -1
  1460. package/styles/switch/_switch-theme.scss +1 -1
  1461. package/styles/switch/switch.scss +1 -1
  1462. package/styles/table/_mixins.scss +1 -1
  1463. package/styles/table/_variables.scss +1 -1
  1464. package/styles/table/forge-table.scss +1 -1
  1465. package/styles/tabs/tab/_mixins.scss +1 -1
  1466. package/styles/tabs/tab/_variables.scss +1 -1
  1467. package/styles/tabs/tab/tab.scss +1 -1
  1468. package/styles/tabs/tab-bar/_mixins.scss +1 -1
  1469. package/styles/tabs/tab-bar/tab-bar.scss +1 -1
  1470. package/styles/text-field/_base.scss +1 -1
  1471. package/styles/text-field/_core.scss +1 -1
  1472. package/styles/text-field/_mixins.scss +1 -1
  1473. package/styles/text-field/_selector.scss +1 -1
  1474. package/styles/text-field/_variables.scss +1 -1
  1475. package/styles/text-field/text-field.scss +1 -1
  1476. package/styles/theme/_custom-properties.scss +1 -1
  1477. package/styles/theme/_icon-mixins.scss +1 -1
  1478. package/styles/theme/_index.scss +1 -1
  1479. package/styles/theme/_keys.scss +1 -1
  1480. package/styles/theme/_theme-dark.scss +1 -1
  1481. package/styles/theme/_theme-utils.scss +1 -1
  1482. package/styles/theme/_theme-values.scss +1 -1
  1483. package/styles/theme/_theme.scss +1 -1
  1484. package/styles/theme/forge-material-icons.scss +1 -1
  1485. package/styles/theme/forge-theme.scss +1 -1
  1486. package/styles/time-picker/time-picker.scss +1 -1
  1487. package/styles/toast/_mixins.scss +1 -1
  1488. package/styles/toast/_variables.scss +1 -1
  1489. package/styles/toast/toast.scss +1 -1
  1490. package/styles/toolbar/_mixins.scss +1 -1
  1491. package/styles/toolbar/_variables.scss +2 -2
  1492. package/styles/toolbar/toolbar.scss +1 -1
  1493. package/styles/tooltip/_mixins.scss +1 -1
  1494. package/styles/tooltip/_variables.scss +1 -1
  1495. package/styles/tooltip/forge-tooltip.scss +1 -1
  1496. package/styles/typography/_index.scss +1 -1
  1497. package/styles/typography/_mixins.scss +1 -1
  1498. package/styles/typography/_variables.scss +1 -1
  1499. package/styles/typography/forge-form.scss +1 -1
  1500. package/styles/typography/forge-typography.scss +1 -1
  1501. package/styles/utils/_functions-grid.scss +1 -1
  1502. package/styles/utils/_mixins-animation.scss +1 -1
  1503. package/styles/utils/_mixins-core.scss +1 -1
  1504. package/styles/utils/_mixins-flex.scss +1 -1
  1505. package/styles/utils/_mixins-grid.scss +1 -1
  1506. package/styles/utils/_mixins-media.scss +1 -1
  1507. package/styles/utils/_mixins.scss +1 -1
  1508. package/styles/utils/_variables-flex.scss +1 -1
  1509. package/styles/utils/_variables-grid.scss +1 -1
  1510. package/styles/utils/_variables-media.scss +1 -1
  1511. package/styles/utils/forge-flex.scss +1 -1
  1512. package/styles/utils/forge-grid.scss +1 -1
  1513. package/styles/utils/forge-utils.scss +1 -1
  1514. package/styles/view-switcher/_mixins.scss +1 -1
  1515. package/styles/view-switcher/_variables.scss +1 -1
  1516. package/styles/view-switcher/view/view.scss +1 -1
  1517. package/styles/view-switcher/view-switcher.scss +1 -1
  1518. package/dist/esm/chunks/chunk.2SAHWDGJ.js +0 -7
  1519. package/dist/esm/chunks/chunk.33Q5FK2H.js +0 -7
  1520. package/dist/esm/chunks/chunk.35U4OX7S.js +0 -7
  1521. package/dist/esm/chunks/chunk.3E5QKMHL.js +0 -7
  1522. package/dist/esm/chunks/chunk.3E5QKMHL.js.map +0 -7
  1523. package/dist/esm/chunks/chunk.3UMBCR4P.js +0 -7
  1524. package/dist/esm/chunks/chunk.444GNOS4.js +0 -7
  1525. package/dist/esm/chunks/chunk.4KBQ5AJJ.js +0 -7
  1526. package/dist/esm/chunks/chunk.54QFNVMG.js +0 -7
  1527. package/dist/esm/chunks/chunk.5K5SIZRX.js +0 -7
  1528. package/dist/esm/chunks/chunk.5WMEFHVN.js +0 -7
  1529. package/dist/esm/chunks/chunk.5XQVZQ4U.js +0 -7
  1530. package/dist/esm/chunks/chunk.75KFBRF6.js.map +0 -7
  1531. package/dist/esm/chunks/chunk.7NXPOEXV.js +0 -7
  1532. package/dist/esm/chunks/chunk.7O7V3N4A.js +0 -7
  1533. package/dist/esm/chunks/chunk.7ZS4N2FT.js +0 -8
  1534. package/dist/esm/chunks/chunk.7ZS4N2FT.js.map +0 -7
  1535. package/dist/esm/chunks/chunk.APGFXXJ7.js +0 -7
  1536. package/dist/esm/chunks/chunk.B5ABD4CZ.js +0 -7
  1537. package/dist/esm/chunks/chunk.BCUBTR5O.js +0 -7
  1538. package/dist/esm/chunks/chunk.BFNAQQCU.js +0 -7
  1539. package/dist/esm/chunks/chunk.BOENNFXE.js +0 -7
  1540. package/dist/esm/chunks/chunk.BX7242PC.js +0 -7
  1541. package/dist/esm/chunks/chunk.CV5E5W6I.js +0 -7
  1542. package/dist/esm/chunks/chunk.DIYJJHWP.js +0 -7
  1543. package/dist/esm/chunks/chunk.DQBSFX46.js +0 -7
  1544. package/dist/esm/chunks/chunk.EJ4ASQET.js +0 -7
  1545. package/dist/esm/chunks/chunk.FPV4XEUK.js +0 -7
  1546. package/dist/esm/chunks/chunk.G77PXLAU.js +0 -7
  1547. package/dist/esm/chunks/chunk.HN4PXH3D.js +0 -7
  1548. package/dist/esm/chunks/chunk.HUWXZ4ZN.js +0 -29
  1549. package/dist/esm/chunks/chunk.I2YRKTG7.js +0 -7
  1550. package/dist/esm/chunks/chunk.IFZXG3LI.js +0 -7
  1551. package/dist/esm/chunks/chunk.IJIKFXUT.js +0 -7
  1552. package/dist/esm/chunks/chunk.IMK2LFWR.js.map +0 -7
  1553. package/dist/esm/chunks/chunk.J2ODMCFS.js +0 -7
  1554. package/dist/esm/chunks/chunk.J6CIWTDH.js +0 -7
  1555. package/dist/esm/chunks/chunk.JNOCXQVB.js +0 -7
  1556. package/dist/esm/chunks/chunk.K43ZNKT2.js +0 -7
  1557. package/dist/esm/chunks/chunk.K753A3KI.js +0 -29
  1558. package/dist/esm/chunks/chunk.KYCC3C3M.js +0 -7
  1559. package/dist/esm/chunks/chunk.LLHA3SQR.js +0 -7
  1560. package/dist/esm/chunks/chunk.LMOYZQZJ.js +0 -7
  1561. package/dist/esm/chunks/chunk.LMOYZQZJ.js.map +0 -7
  1562. package/dist/esm/chunks/chunk.MGTNCCW3.js +0 -7
  1563. package/dist/esm/chunks/chunk.MNBJMPJ6.js +0 -7
  1564. package/dist/esm/chunks/chunk.NGIBMR3Q.js +0 -7
  1565. package/dist/esm/chunks/chunk.NNGE722W.js +0 -7
  1566. package/dist/esm/chunks/chunk.NNGE722W.js.map +0 -7
  1567. package/dist/esm/chunks/chunk.O2XO3IRX.js +0 -7
  1568. package/dist/esm/chunks/chunk.O2XO3IRX.js.map +0 -7
  1569. package/dist/esm/chunks/chunk.O3G6ZLJN.js +0 -7
  1570. package/dist/esm/chunks/chunk.OAKTW64X.js +0 -7
  1571. package/dist/esm/chunks/chunk.OAKTW64X.js.map +0 -7
  1572. package/dist/esm/chunks/chunk.OG2BI3UW.js +0 -7
  1573. package/dist/esm/chunks/chunk.ON3JVSSR.js +0 -12
  1574. package/dist/esm/chunks/chunk.OOBE3XRM.js +0 -29
  1575. package/dist/esm/chunks/chunk.OUEF6VQ6.js +0 -7
  1576. package/dist/esm/chunks/chunk.P6B3UWJ5.js +0 -7
  1577. package/dist/esm/chunks/chunk.PFD2SVJ4.js +0 -7
  1578. package/dist/esm/chunks/chunk.Q6L7T6OJ.js +0 -7
  1579. package/dist/esm/chunks/chunk.QJPH24V4.js +0 -7
  1580. package/dist/esm/chunks/chunk.QXLPBYMX.js +0 -7
  1581. package/dist/esm/chunks/chunk.QXLPBYMX.js.map +0 -7
  1582. package/dist/esm/chunks/chunk.RGWUF3J2.js +0 -7
  1583. package/dist/esm/chunks/chunk.RKKJB3EE.js +0 -7
  1584. package/dist/esm/chunks/chunk.RKKJB3EE.js.map +0 -7
  1585. package/dist/esm/chunks/chunk.RPPBBBYG.js +0 -7
  1586. package/dist/esm/chunks/chunk.RST65QIB.js +0 -7
  1587. package/dist/esm/chunks/chunk.SJSLC6XF.js +0 -7
  1588. package/dist/esm/chunks/chunk.SJSLC6XF.js.map +0 -7
  1589. package/dist/esm/chunks/chunk.T7ZJDAXV.js +0 -29
  1590. package/dist/esm/chunks/chunk.TLHI6K2R.js +0 -7
  1591. package/dist/esm/chunks/chunk.TR64DV3G.js +0 -7
  1592. package/dist/esm/chunks/chunk.TR64DV3G.js.map +0 -7
  1593. package/dist/esm/chunks/chunk.VMWS5OOZ.js +0 -7
  1594. package/dist/esm/chunks/chunk.WNOSTPQQ.js +0 -7
  1595. package/dist/esm/chunks/chunk.WV45FGTW.js +0 -7
  1596. package/dist/esm/chunks/chunk.X77WVI2H.js +0 -7
  1597. package/dist/esm/chunks/chunk.X77WVI2H.js.map +0 -7
  1598. package/dist/esm/chunks/chunk.XXA6KNXT.js +0 -7
  1599. package/dist/esm/chunks/chunk.XYBFFTXS.js +0 -29
  1600. package/dist/esm/chunks/chunk.Y6MPWPZU.js +0 -7
  1601. package/dist/esm/chunks/chunk.Y7Q6QI5V.js +0 -7
  1602. package/dist/esm/chunks/chunk.YAJT3P6V.js +0 -7
  1603. package/dist/esm/chunks/chunk.YHHIPP2F.js +0 -7
  1604. package/dist/esm/chunks/chunk.YPUWII7L.js.map +0 -7
  1605. package/dist/esm/chunks/chunk.YWKKZLZ2.js +0 -29
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2022 Tyler Technologies, Inc.
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{a}from"./chunk.24D46RLZ.js";import{b as p}from"./chunk.BSZ2LBJX.js";var h=`${p}text-field`,u={MULTI_INPUT:"data-forge-multi-input",MULTI_INPUT_SEPARATOR:"data-forge-multi-input-separator"},r={ROOT:"forge-text-field",MULTI_INPUT:"forge-text-field--multi-input",TEXTAREA:"forge-text-field--textarea"},_={ROOT:`.${r.ROOT}`},d={elementName:h,attributes:u,classes:r,selectors:_};var m=class extends a{constructor(e){super(e)}_build(){var t,i;let e=document.createElement(d.elementName);return this._inputElement=this._buildInputElement(e),(t=this._config.options)!=null&&t.leadingElement&&(this._config.options.leadingElement.slot="leading",e.appendChild(this._config.options.leadingElement)),(i=this._config.options)!=null&&i.trailingElement&&(this._config.options.trailingElement.slot="trailing",e.appendChild(this._config.options.trailingElement)),e.appendChild(this._inputElement),e}_configure(){var e,t;(e=this._config.options)!=null&&e.helperText&&this.setHelperText(this._config.options.helperText),typeof((t=this._config.options)==null?void 0:t.label)=="string"&&this._createLabel(this._config.options.label)}get value(){return this._inputElement.value}set value(e){this._inputElement.value=e}get disabled(){return this._inputElement.disabled}set disabled(e){this._inputElement.disabled=e}get invalid(){return this._element.invalid||!1}set invalid(e){this._element.invalid=e}get inputElement(){return this._inputElement}get labelElement(){return this._labelElement}onChange(e){this._inputElement.addEventListener("input",t=>e(t.target.value))}onFocus(e){this._inputElement.addEventListener("focus",t=>e(t))}onBlur(e){this._inputElement.addEventListener("blur",t=>e(t))}setLabel(e){e?this._labelElement?this._labelElement.textContent=e:this._createLabel(e):this._labelElement&&(this._element.removeChild(this._labelElement),this._labelElement=void 0)}setHelperText(e){e?(this._helperTextElement||(this._helperTextElement=document.createElement("span"),this._helperTextElement.slot="helper-text",this._element.appendChild(this._helperTextElement)),this._helperTextElement.textContent=e):this._helperTextElement&&(this._element.removeChild(this._helperTextElement),this._helperTextElement=void 0)}floatLabel(e){this._element.floatLabel(e)}_createLabel(e){var t;this._labelElement=document.createElement("label"),this._labelElement.textContent=e,(t=this._config.options)!=null&&t.id&&this._labelElement.setAttribute("for",this._config.options.id),this._element.appendChild(this._labelElement)}_buildInputElement(e){var i,n,l,o,s;let t=document.createElement("input");return t.type=((i=this._config.options)==null?void 0:i.type)||"text",((n=this._config.options)==null?void 0:n.value)!==void 0&&(t.value=this._config.options.value),(l=this._config.options)!=null&&l.id&&(t.id=this._config.options.id),typeof((o=this._config.options)==null?void 0:o.placeholder)=="string"&&(t.placeholder=(s=this._config.options)==null?void 0:s.placeholder),e.appendChild(t),t}};export{d as a,m as b};
7
- //# sourceMappingURL=chunk.IMK2LFWR.js.map
6
+ import{a}from"./chunk.24D46RLZ.js";import{b as s}from"./chunk.OOW3UKT4.js";var h=`${s}text-field`,u={MULTI_INPUT:"data-forge-multi-input",MULTI_INPUT_SEPARATOR:"data-forge-multi-input-separator"},r={ROOT:"forge-text-field",MULTI_INPUT:"forge-text-field--multi-input",TEXTAREA:"forge-text-field--textarea"},_={ROOT:`.${r.ROOT}`},d={elementName:h,attributes:u,classes:r,selectors:_};var m=class extends a{constructor(e){super(e)}_build(){var t,i;let e=document.createElement(d.elementName);return this._inputElement=this._buildInputElement(e),(t=this._config.options)!=null&&t.leadingElement&&(this._config.options.leadingElement.slot="leading",e.appendChild(this._config.options.leadingElement)),(i=this._config.options)!=null&&i.trailingElement&&(this._config.options.trailingElement.slot="trailing",e.appendChild(this._config.options.trailingElement)),e.appendChild(this._inputElement),e}_configure(){var e,t;(e=this._config.options)!=null&&e.helperText&&this.setHelperText(this._config.options.helperText),typeof((t=this._config.options)==null?void 0:t.label)=="string"&&this._createLabel(this._config.options.label)}get value(){return this._inputElement.value}set value(e){this._inputElement.value=e}get disabled(){return this._inputElement.disabled}set disabled(e){this._inputElement.disabled=e}get invalid(){return this._element.invalid||!1}set invalid(e){this._element.invalid=e}get inputElement(){return this._inputElement}get labelElement(){return this._labelElement}onChange(e){this._inputElement.addEventListener("input",t=>e(t.target.value))}onFocus(e){this._inputElement.addEventListener("focus",t=>e(t))}onBlur(e){this._inputElement.addEventListener("blur",t=>e(t))}setLabel(e){e?this._labelElement?this._labelElement.textContent=e:this._createLabel(e):this._labelElement&&(this._element.removeChild(this._labelElement),this._labelElement=void 0)}setHelperText(e){e?(this._helperTextElement||(this._helperTextElement=document.createElement("span"),this._helperTextElement.slot="helper-text",this._element.appendChild(this._helperTextElement)),this._helperTextElement.textContent=e):this._helperTextElement&&(this._element.removeChild(this._helperTextElement),this._helperTextElement=void 0)}floatLabel(e){this._element.floatLabel(e)}_createLabel(e){var t;this._labelElement=document.createElement("label"),this._labelElement.textContent=e,(t=this._config.options)!=null&&t.id&&this._labelElement.setAttribute("for",this._config.options.id),this._element.appendChild(this._labelElement)}_buildInputElement(e){var i,n,l,o,p;let t=document.createElement("input");return t.type=((i=this._config.options)==null?void 0:i.type)||"text",((n=this._config.options)==null?void 0:n.value)!==void 0&&(t.value=this._config.options.value),(l=this._config.options)!=null&&l.id&&(t.id=this._config.options.id),typeof((o=this._config.options)==null?void 0:o.placeholder)=="string"&&(t.placeholder=(p=this._config.options)==null?void 0:p.placeholder),e.appendChild(t),t}};export{d as a,m as b};
7
+ //# sourceMappingURL=chunk.IARIRFXO.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/text-field/text-field-constants.ts", "../../src/text-field/text-field-component-delegate.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}text-field`;\n\nconst attributes = {\n MULTI_INPUT: 'data-forge-multi-input',\n MULTI_INPUT_SEPARATOR: 'data-forge-multi-input-separator'\n};\n\nconst classes = {\n ROOT: 'forge-text-field',\n MULTI_INPUT: 'forge-text-field--multi-input',\n TEXTAREA: 'forge-text-field--textarea'\n};\n\nconst selectors = {\n ROOT: `.${classes.ROOT}`\n};\n\nexport const TEXT_FIELD_CONSTANTS = {\n elementName,\n attributes,\n classes,\n selectors\n};\n\nexport {\n type FieldDensityType as TextFieldDensityType,\n type FieldFloatLabelType as TextFieldFloatLabelType,\n type FieldShapeType as TextFieldShapeType\n} from '../field/field-constants';\n", "import { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core/delegates/form-field-component-delegate';\nimport { ITextFieldComponent } from './text-field';\nimport { TEXT_FIELD_CONSTANTS } from './text-field-constants';\n\nexport type TextFieldComponentDelegateProps = Partial<ITextFieldComponent>;\nexport interface ITextFieldComponentDelegateOptions extends IFormFieldComponentDelegateOptions {\n id?: string;\n label?: string;\n type?: string;\n value?: string;\n helperText?: string;\n placeholder?: string;\n leadingElement?: HTMLElement;\n trailingElement?: HTMLElement;\n}\nexport interface ITextFieldComponentDelegateConfig extends IBaseComponentDelegateConfig<ITextFieldComponent, ITextFieldComponentDelegateOptions> {}\n\nexport class TextFieldComponentDelegate extends FormFieldComponentDelegate<ITextFieldComponent, ITextFieldComponentDelegateOptions> {\n private _inputElement: HTMLInputElement;\n private _labelElement: HTMLLabelElement | undefined;\n private _helperTextElement: HTMLSpanElement | undefined;\n\n constructor(config?: ITextFieldComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): ITextFieldComponent {\n const textField = document.createElement(TEXT_FIELD_CONSTANTS.elementName);\n\n this._inputElement = this._buildInputElement(textField);\n\n if (this._config.options?.leadingElement) {\n this._config.options.leadingElement.slot = 'leading';\n textField.appendChild(this._config.options.leadingElement);\n }\n if (this._config.options?.trailingElement) {\n this._config.options.trailingElement.slot = 'trailing';\n textField.appendChild(this._config.options.trailingElement);\n }\n\n textField.appendChild(this._inputElement);\n return textField;\n }\n\n protected override _configure(): void {\n if (this._config.options?.helperText) {\n this.setHelperText(this._config.options.helperText);\n }\n if (typeof this._config.options?.label === 'string') {\n this._createLabel(this._config.options.label);\n }\n }\n\n public get value(): string {\n return this._inputElement.value;\n }\n public set value(value: string) {\n this._inputElement.value = value;\n }\n\n public get disabled(): boolean {\n return this._inputElement.disabled;\n }\n public set disabled(value: boolean) {\n this._inputElement.disabled = value;\n }\n\n public get invalid(): boolean {\n return this._element.invalid || false;\n }\n public set invalid(value: boolean) {\n this._element.invalid = value;\n }\n\n public get inputElement(): HTMLInputElement {\n return this._inputElement;\n }\n\n public get labelElement(): HTMLLabelElement | undefined {\n return this._labelElement;\n }\n\n public onChange(listener: (value: string) => void): void {\n this._inputElement.addEventListener('input', evt => listener((evt.target as HTMLInputElement).value));\n }\n\n public onFocus(listener: (evt: Event) => void): void {\n this._inputElement.addEventListener('focus', evt => listener(evt));\n }\n\n public onBlur(listener: (evt: Event) => void): void {\n this._inputElement.addEventListener('blur', evt => listener(evt));\n }\n\n public setLabel(text: string | null): void {\n if (text) {\n if (this._labelElement) {\n this._labelElement.textContent = text;\n } else {\n this._createLabel(text);\n }\n } else if (this._labelElement) {\n this._element.removeChild(this._labelElement);\n this._labelElement = undefined;\n }\n }\n\n public setHelperText(text: string | null): void {\n if (text) {\n if (!this._helperTextElement) {\n this._helperTextElement = document.createElement('span');\n this._helperTextElement.slot = 'helper-text';\n this._element.appendChild(this._helperTextElement);\n }\n this._helperTextElement.textContent = text;\n } else if (this._helperTextElement) {\n this._element.removeChild(this._helperTextElement);\n this._helperTextElement = undefined;\n }\n }\n\n public floatLabel(value: boolean): void {\n this._element.floatLabel(value);\n }\n\n private _createLabel(text: string): void {\n this._labelElement = document.createElement('label');\n this._labelElement.textContent = text;\n if (this._config.options?.id) {\n this._labelElement.setAttribute('for', this._config.options.id);\n }\n this._element.appendChild(this._labelElement);\n }\n\n private _buildInputElement(textField: ITextFieldComponent): HTMLInputElement {\n const inputElement = document.createElement('input');\n inputElement.type = this._config.options?.type || 'text';\n\n if (this._config.options?.value !== undefined) {\n inputElement.value = this._config.options.value;\n }\n if (this._config.options?.id) {\n inputElement.id = this._config.options.id;\n }\n if (typeof this._config.options?.placeholder === 'string') {\n inputElement.placeholder = this._config.options?.placeholder;\n }\n\n textField.appendChild(inputElement);\n return inputElement;\n }\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{a as o,d as f}from"./chunk.7MVBJ37L.js";import{a as C}from"./chunk.5PXABBKU.js";import{a as u}from"./chunk.B3IJU6XJ.js";import{a as E,b as v}from"./chunk.OOW3UKT4.js";import{a as d,l as h}from"./chunk.MMVZJLXE.js";import{b as m}from"./chunk.R4NDFXVA.js";import{f as c}from"./chunk.MCIQXNKY.js";var a=class extends C{constructor(e){super(e)}getHostElement(){return this._component}isNestedPanel(e){return!e||!this._component.contains(e)?!1:m(e,this._component).some(t=>t.tagName.toLocaleLowerCase()===o.elementName)}getChildPanels(e){return e?Array.from(this._component.querySelectorAll(e)):Array.from(this._component.children).filter(t=>t.tagName.toLocaleLowerCase()===o.elementName)}addEventListener(e,n,t,l){t.addEventListener(e,n,l||!1)}removeEventListener(e,n,t){t.removeEventListener(e,n)}};var _=`${v}accordion`,b={PANEL_SELECTOR:"panel-selector"},r={elementName:_,attributes:b};var s=class{constructor(e){this._adapter=e}initialize(){this._attachListeners()}disconnect(){this._detachListeners()}_attachListeners(){this._hostInteractionCallback=e=>this._hostInteraction(e),this._adapter.addEventListener(o.events.TOGGLE,this._hostInteractionCallback,this._adapter.getHostElement())}_detachListeners(){this._hostInteractionCallback&&(this._adapter.removeEventListener(o.events.TOGGLE,this._hostInteractionCallback,this._adapter.getHostElement()),this._hostInteractionCallback=void 0)}_hostInteraction(e){switch(e.type){case o.events.TOGGLE:if(e.detail){e.stopPropagation();let n=e.target;if(this._adapter.isNestedPanel(n))return;this._adapter.getChildPanels(this._panelSelector).forEach(t=>{n!==t&&!this._adapter.isNestedPanel(t)&&(t.open=!1)})}break;default:break}}get panelSelector(){return this._panelSelector}set panelSelector(e){this._panelSelector!==e&&(this._panelSelector=e,this._adapter.setHostAttribute(r.attributes.PANEL_SELECTOR,this._panelSelector))}};var i=class extends h{constructor(){super();this._foundation=new s(new a(this))}static get observedAttributes(){return[r.attributes.PANEL_SELECTOR]}initializedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(n,t,l){switch(n){case r.attributes.PANEL_SELECTOR:this.panelSelector=l;break}}};c([u()],i.prototype,"panelSelector",2),i=c([E({name:r.elementName,dependencies:[f]})],i);function X(){d(i)}export{a,r as b,s as c,i as d,X as e};
7
+ //# sourceMappingURL=chunk.IMZ5PF4C.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/accordion/accordion-adapter.ts", "../../src/accordion/accordion-constants.ts", "../../src/accordion/accordion-foundation.ts", "../../src/accordion/accordion.ts", "../../src/accordion/index.ts"],
4
- "sourcesContent": ["import { BaseAdapter, IBaseAdapter } from '../core/base';\nimport { EXPANSION_PANEL_CONSTANTS, IExpansionPanelComponent } from '../expansion-panel';\nimport { IAccordionComponent } from './accordion';\nimport { elementParents } from '@tylertech/forge-core';\n\nexport interface IAccordionAdapter extends IBaseAdapter {\n getHostElement(): IAccordionComponent;\n isNestedPanel(element: HTMLElement): boolean;\n getChildPanels(selector?: string): IExpansionPanelComponent[];\n addEventListener(event: string, callback: (event: Event) => void, element: Element, bubbles?: boolean): void;\n removeEventListener(event: string, callback: (event: Event) => void, element: Element, bubbles?: boolean): void;\n}\n\nexport class AccordionAdapter extends BaseAdapter<IAccordionComponent> implements IAccordionAdapter {\n constructor(component: IAccordionComponent) {\n super(component);\n }\n\n /**\n * Gets the `<forge-accordion>` host element.\n * @returns An instance of the `AccordionComponent`.\n */\n public getHostElement(): IAccordionComponent {\n return this._component;\n }\n\n /**\n * Determines if the given expansion panel element is nested within another expansion panel.\n * @param element The expansion panel element to test.\n */\n public isNestedPanel(element: HTMLElement): boolean {\n if (!element || !this._component.contains(element)) {\n return false;\n }\n const parents = elementParents(element, this._component);\n return parents.some(el => el.tagName.toLocaleLowerCase() === EXPANSION_PANEL_CONSTANTS.elementName);\n }\n\n /**\n * Finds all child `<forge-expansion-panel>` components within the host element.\n * @returns An array of `ExpansionPanelComponent` child instances.\n */\n public getChildPanels(selector?: string): IExpansionPanelComponent[] {\n if (selector) {\n return Array.from(this._component.querySelectorAll(selector));\n } else {\n const children = Array.from(this._component.children);\n return children.filter(child => child.tagName.toLocaleLowerCase() === EXPANSION_PANEL_CONSTANTS.elementName) as IExpansionPanelComponent[];\n }\n }\n\n /**\n * Adds an event listener to the provided element.\n * @param event The event name.\n * @param callback The event callback.\n * @param element The element to emit the event from.\n * @param [bubbles] Whether the event bubbles or not.\n */\n public addEventListener(event: string, callback: (event: Event) => void, element: Element, bubbles?: boolean): void {\n element.addEventListener(event, callback, bubbles || false);\n }\n\n /**\n * Removes an event listener from the provided element.\n * @param event The event name.\n * @param callback The event callback.\n * @param element The event to remove the event from.\n */\n public removeEventListener(event: string, callback: (event: Event) => void, element: Element): void {\n element.removeEventListener(event, callback);\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}accordion`;\n\nconst attributes = {\n PANEL_SELECTOR: 'panel-selector'\n};\n\nexport const ACCORDION_CONSTANTS = {\n elementName,\n attributes\n};\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IAccordionAdapter } from './accordion-adapter';\nimport { EXPANSION_PANEL_CONSTANTS } from '../expansion-panel/expansion-panel-constants';\nimport { IExpansionPanelComponent } from '../expansion-panel';\nimport { ACCORDION_CONSTANTS } from './accordion-constants';\n\nexport interface IAccordionFoundation extends ICustomElementFoundation {\n panelSelector: string;\n}\n\n/**\n * The foundation class behind the `AccordionComponent`.\n */\nexport class AccordionFoundation implements IAccordionFoundation {\n private _panelSelector: string;\n private _hostInteractionCallback?: (evt: Event) => void;\n\n constructor(private _adapter: IAccordionAdapter) {}\n\n public initialize(): void {\n this._attachListeners();\n }\n\n public disconnect(): void {\n this._detachListeners();\n }\n\n private _attachListeners(): void {\n this._hostInteractionCallback = (evt: CustomEvent) => this._hostInteraction(evt);\n this._adapter.addEventListener(EXPANSION_PANEL_CONSTANTS.events.TOGGLE, this._hostInteractionCallback, this._adapter.getHostElement());\n }\n\n private _detachListeners(): void {\n if (this._hostInteractionCallback) {\n this._adapter.removeEventListener(EXPANSION_PANEL_CONSTANTS.events.TOGGLE, this._hostInteractionCallback, this._adapter.getHostElement());\n this._hostInteractionCallback = undefined;\n }\n }\n\n private _hostInteraction(evt: CustomEvent): void {\n switch (evt.type) {\n case EXPANSION_PANEL_CONSTANTS.events.TOGGLE:\n if (evt.detail) {\n evt.stopPropagation();\n const evtTarget = evt.target as IExpansionPanelComponent;\n \n if (this._adapter.isNestedPanel(evtTarget)) {\n return;\n }\n \n this._adapter.getChildPanels(this._panelSelector).forEach(panel => {\n if (evtTarget !== panel && !this._adapter.isNestedPanel(panel)) {\n panel.open = false;\n }\n });\n }\n break;\n default:\n break;\n }\n }\n\n /** Gets/sets the selector to use for finding the child expansion panels. Defaults to searching the direct children for `<forge-expansion-panel>` elements. */\n public get panelSelector(): string {\n return this._panelSelector;\n }\n public set panelSelector(value: string) {\n if (this._panelSelector !== value) {\n this._panelSelector = value;\n this._adapter.setHostAttribute(ACCORDION_CONSTANTS.attributes.PANEL_SELECTOR, this._panelSelector);\n }\n }\n}\n", "import { CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { ExpansionPanelComponent } from '../expansion-panel';\nimport { AccordionAdapter } from './accordion-adapter';\nimport { ACCORDION_CONSTANTS } from './accordion-constants';\nimport { AccordionFoundation } from './accordion-foundation';\n\nexport interface IAccordionComponent extends IBaseComponent {\n panelSelector: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-accordion': IAccordionComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-accordion>` web component.\n * \n * This component is intended to wrap and orchestrate child expansion panels\n * so that only one expansion panel is open at a time.\n * \n * @tag forge-accordion\n */\n@CustomElement({\n name: ACCORDION_CONSTANTS.elementName,\n dependencies: [ExpansionPanelComponent]\n})\nexport class AccordionComponent extends BaseComponent implements IAccordionComponent {\n public static get observedAttributes(): string[] {\n return [\n ACCORDION_CONSTANTS.attributes.PANEL_SELECTOR\n ];\n }\n\n private _foundation: AccordionFoundation;\n\n constructor() {\n super();\n this._foundation = new AccordionFoundation(new AccordionAdapter(this));\n }\n\n public initializedCallback(): 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 ACCORDION_CONSTANTS.attributes.PANEL_SELECTOR:\n this.panelSelector = newValue;\n break;\n }\n }\n\n /** Gets/sets the selector to use for finding the child expansion panels. Defaults to searching the direct children for `<forge-expansion-panel>` elements. */\n @FoundationProperty()\n public panelSelector: string;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AccordionComponent } from './accordion';\n\nexport * from './accordion-adapter';\nexport * from './accordion-constants';\nexport * from './accordion-foundation';\nexport * from './accordion';\n\nexport function defineAccordionComponent(): void {\n defineCustomElement(AccordionComponent);\n}\n"],
5
- "mappings": "8UAaO,GAAM,GAAN,aAA+B,EAA8D,CAClG,YAAY,EAAgC,CAC1C,MAAM,CAAS,CACjB,CAMA,AAAO,gBAAsC,CAC3C,MAAO,MAAK,UACd,CAMA,AAAO,cAAc,EAA+B,CAClD,MAAI,CAAC,GAAW,CAAC,KAAK,WAAW,SAAS,CAAO,EACxC,GAGF,AADS,EAAe,EAAS,KAAK,UAAU,EACxC,KAAK,GAAM,EAAG,QAAQ,kBAAkB,IAAM,EAA0B,WAAW,CACpG,CAMA,AAAO,eAAe,EAA+C,CACnE,MAAI,GACK,MAAM,KAAK,KAAK,WAAW,iBAAiB,CAAQ,CAAC,EAGrD,AADU,MAAM,KAAK,KAAK,WAAW,QAAQ,EACpC,OAAO,GAAS,EAAM,QAAQ,kBAAkB,IAAM,EAA0B,WAAW,CAE/G,CASA,AAAO,iBAAiB,EAAe,EAAkC,EAAkB,EAAyB,CAClH,EAAQ,iBAAiB,EAAO,EAAU,GAAW,EAAK,CAC5D,CAQA,AAAO,oBAAoB,EAAe,EAAkC,EAAwB,CAClG,EAAQ,oBAAoB,EAAO,CAAQ,CAC7C,CACF,ECrEA,GAAM,GAA2C,GAAG,aAE9C,EAAa,CACjB,eAAgB,gBAClB,EAEa,EAAsB,CACjC,cACA,YACF,ECGO,GAAM,GAAN,KAA0D,CAI/D,YAAoB,EAA6B,CAA7B,eAA8B,CAElD,AAAO,YAAmB,CACxB,KAAK,iBAAiB,CACxB,CAEA,AAAO,YAAmB,CACxB,KAAK,iBAAiB,CACxB,CAEA,AAAQ,kBAAyB,CAC/B,KAAK,yBAA2B,AAAC,GAAqB,KAAK,iBAAiB,CAAG,EAC/E,KAAK,SAAS,iBAAiB,EAA0B,OAAO,OAAQ,KAAK,yBAA0B,KAAK,SAAS,eAAe,CAAC,CACvI,CAEA,AAAQ,kBAAyB,CAC/B,AAAI,KAAK,0BACP,MAAK,SAAS,oBAAoB,EAA0B,OAAO,OAAQ,KAAK,yBAA0B,KAAK,SAAS,eAAe,CAAC,EACxI,KAAK,yBAA2B,OAEpC,CAEA,AAAQ,iBAAiB,EAAwB,CAC/C,OAAQ,EAAI,UACL,GAA0B,OAAO,OACpC,GAAI,EAAI,OAAQ,CACd,EAAI,gBAAgB,EACpB,GAAM,GAAY,EAAI,OAEtB,GAAI,KAAK,SAAS,cAAc,CAAS,EACvC,OAGF,KAAK,SAAS,eAAe,KAAK,cAAc,EAAE,QAAQ,GAAS,CACjE,AAAI,IAAc,GAAS,CAAC,KAAK,SAAS,cAAc,CAAK,GAC3D,GAAM,KAAO,GAEjB,CAAC,CACH,CACA,cAEA,MAEN,CAGA,GAAW,gBAAwB,CACjC,MAAO,MAAK,cACd,CACA,GAAW,eAAc,EAAe,CACtC,AAAI,KAAK,iBAAmB,GAC1B,MAAK,eAAiB,EACtB,KAAK,SAAS,iBAAiB,EAAoB,WAAW,eAAgB,KAAK,cAAc,EAErG,CACF,EC5CO,GAAM,GAAN,aAAiC,EAA6C,CASnF,aAAc,CACZ,MAAM,EACN,KAAK,YAAc,GAAI,GAAoB,GAAI,GAAiB,IAAI,CAAC,CACvE,CAXA,UAAkB,qBAA+B,CAC/C,MAAO,CACL,EAAoB,WAAW,cACjC,CACF,CASA,AAAO,qBAA4B,CACjC,KAAK,YAAY,WAAW,CAC9B,CAEA,AAAO,sBAA6B,CAClC,KAAK,YAAY,WAAW,CAC9B,CAEA,AAAO,yBAAyB,EAAc,EAAkB,EAAwB,CACtF,OAAQ,OACD,GAAoB,WAAW,eAClC,KAAK,cAAgB,EACrB,MAEN,CAKF,EADS,GADP,AAAC,EAAmB,GACb,AAhCI,EAgCJ,6BAhCI,EAAN,GAJP,AAAC,EAAc,CACb,KAAM,EAAoB,YAC1B,aAAc,CAAC,CAAuB,CACxC,CAAC,GACY,GCpBN,YAA0C,CAC/C,EAAoB,CAAkB,CACxC",
4
+ "sourcesContent": ["import { BaseAdapter, IBaseAdapter } from '../core/base';\nimport { EXPANSION_PANEL_CONSTANTS, IExpansionPanelComponent } from '../expansion-panel';\nimport { IAccordionComponent } from './accordion';\nimport { elementParents } from '@tylertech/forge-core';\n\nexport interface IAccordionAdapter extends IBaseAdapter {\n getHostElement(): IAccordionComponent;\n isNestedPanel(element: HTMLElement): boolean;\n getChildPanels(selector?: string): IExpansionPanelComponent[];\n addEventListener(event: string, callback: (event: Event) => void, element: Element, bubbles?: boolean): void;\n removeEventListener(event: string, callback: (event: Event) => void, element: Element, bubbles?: boolean): void;\n}\n\nexport class AccordionAdapter extends BaseAdapter<IAccordionComponent> implements IAccordionAdapter {\n constructor(component: IAccordionComponent) {\n super(component);\n }\n\n /**\n * Gets the `<forge-accordion>` host element.\n * @returns An instance of the `AccordionComponent`.\n */\n public getHostElement(): IAccordionComponent {\n return this._component;\n }\n\n /**\n * Determines if the given expansion panel element is nested within another expansion panel.\n * @param element The expansion panel element to test.\n */\n public isNestedPanel(element: HTMLElement): boolean {\n if (!element || !this._component.contains(element)) {\n return false;\n }\n const parents = elementParents(element, this._component);\n return parents.some(el => el.tagName.toLocaleLowerCase() === EXPANSION_PANEL_CONSTANTS.elementName);\n }\n\n /**\n * Finds all child `<forge-expansion-panel>` components within the host element.\n * @returns An array of `ExpansionPanelComponent` child instances.\n */\n public getChildPanels(selector?: string): IExpansionPanelComponent[] {\n if (selector) {\n return Array.from(this._component.querySelectorAll(selector));\n } else {\n const children = Array.from(this._component.children);\n return children.filter(child => child.tagName.toLocaleLowerCase() === EXPANSION_PANEL_CONSTANTS.elementName) as IExpansionPanelComponent[];\n }\n }\n\n /**\n * Adds an event listener to the provided element.\n * @param event The event name.\n * @param callback The event callback.\n * @param element The element to emit the event from.\n * @param [bubbles] Whether the event bubbles or not.\n */\n public addEventListener(event: string, callback: (event: Event) => void, element: Element, bubbles?: boolean): void {\n element.addEventListener(event, callback, bubbles || false);\n }\n\n /**\n * Removes an event listener from the provided element.\n * @param event The event name.\n * @param callback The event callback.\n * @param element The event to remove the event from.\n */\n public removeEventListener(event: string, callback: (event: Event) => void, element: Element): void {\n element.removeEventListener(event, callback);\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}accordion`;\n\nconst attributes = {\n PANEL_SELECTOR: 'panel-selector'\n};\n\nexport const ACCORDION_CONSTANTS = {\n elementName,\n attributes\n};\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IAccordionAdapter } from './accordion-adapter';\nimport { EXPANSION_PANEL_CONSTANTS } from '../expansion-panel/expansion-panel-constants';\nimport { IExpansionPanelComponent } from '../expansion-panel';\nimport { ACCORDION_CONSTANTS } from './accordion-constants';\n\nexport interface IAccordionFoundation extends ICustomElementFoundation {\n panelSelector: string;\n}\n\n/**\n * The foundation class behind the `AccordionComponent`.\n */\nexport class AccordionFoundation implements IAccordionFoundation {\n private _panelSelector: string;\n private _hostInteractionCallback?: (evt: Event) => void;\n\n constructor(private _adapter: IAccordionAdapter) {}\n\n public initialize(): void {\n this._attachListeners();\n }\n\n public disconnect(): void {\n this._detachListeners();\n }\n\n private _attachListeners(): void {\n this._hostInteractionCallback = (evt: CustomEvent) => this._hostInteraction(evt);\n this._adapter.addEventListener(EXPANSION_PANEL_CONSTANTS.events.TOGGLE, this._hostInteractionCallback, this._adapter.getHostElement());\n }\n\n private _detachListeners(): void {\n if (this._hostInteractionCallback) {\n this._adapter.removeEventListener(EXPANSION_PANEL_CONSTANTS.events.TOGGLE, this._hostInteractionCallback, this._adapter.getHostElement());\n this._hostInteractionCallback = undefined;\n }\n }\n\n private _hostInteraction(evt: CustomEvent): void {\n switch (evt.type) {\n case EXPANSION_PANEL_CONSTANTS.events.TOGGLE:\n if (evt.detail) {\n evt.stopPropagation();\n const evtTarget = evt.target as IExpansionPanelComponent;\n \n if (this._adapter.isNestedPanel(evtTarget)) {\n return;\n }\n \n this._adapter.getChildPanels(this._panelSelector).forEach(panel => {\n if (evtTarget !== panel && !this._adapter.isNestedPanel(panel)) {\n panel.open = false;\n }\n });\n }\n break;\n default:\n break;\n }\n }\n\n /** Gets/sets the selector to use for finding the child expansion panels. Defaults to searching the direct children for `<forge-expansion-panel>` elements. */\n public get panelSelector(): string {\n return this._panelSelector;\n }\n public set panelSelector(value: string) {\n if (this._panelSelector !== value) {\n this._panelSelector = value;\n this._adapter.setHostAttribute(ACCORDION_CONSTANTS.attributes.PANEL_SELECTOR, this._panelSelector);\n }\n }\n}\n", "import { CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { ExpansionPanelComponent } from '../expansion-panel';\nimport { AccordionAdapter } from './accordion-adapter';\nimport { ACCORDION_CONSTANTS } from './accordion-constants';\nimport { AccordionFoundation } from './accordion-foundation';\n\nexport interface IAccordionComponent extends IBaseComponent {\n panelSelector: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-accordion': IAccordionComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-accordion>` web component.\n * \n * This component is intended to wrap and orchestrate child expansion panels\n * so that only one expansion panel is open at a time.\n * \n * @tag forge-accordion\n */\n@CustomElement({\n name: ACCORDION_CONSTANTS.elementName,\n dependencies: [ExpansionPanelComponent]\n})\nexport class AccordionComponent extends BaseComponent implements IAccordionComponent {\n public static get observedAttributes(): string[] {\n return [\n ACCORDION_CONSTANTS.attributes.PANEL_SELECTOR\n ];\n }\n\n private _foundation: AccordionFoundation;\n\n constructor() {\n super();\n this._foundation = new AccordionFoundation(new AccordionAdapter(this));\n }\n\n public initializedCallback(): 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 ACCORDION_CONSTANTS.attributes.PANEL_SELECTOR:\n this.panelSelector = newValue;\n break;\n }\n }\n\n /** Gets/sets the selector to use for finding the child expansion panels. Defaults to searching the direct children for `<forge-expansion-panel>` elements. */\n @FoundationProperty()\n public declare panelSelector: string;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AccordionComponent } from './accordion';\n\nexport * from './accordion-adapter';\nexport * from './accordion-constants';\nexport * from './accordion-foundation';\nexport * from './accordion';\n\nexport function defineAccordionComponent(): void {\n defineCustomElement(AccordionComponent);\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{b as I}from"./chunk.BCD4AAI2.js";import{a as E}from"./chunk.JXY6MTP3.js";import{b as f}from"./chunk.5BDTX7CR.js";import{a as g}from"./chunk.MIYZJUXH.js";import{a as m,b as h,d as b}from"./chunk.OOW3UKT4.js";import{a as u,i as _,l as d}from"./chunk.MMVZJLXE.js";import{f as l,m as c,t as p}from"./chunk.R4NDFXVA.js";import{k as s,l as a}from"./chunk.G76HB2FK.js";import{f as r}from"./chunk.MCIQXNKY.js";var v=`${h}icon-button`,y={TOGGLE:"toggle",IS_ON:"is-on",ICON_ON:"forge-icon-button-on",DENSE:"dense",DENSITY_LEVEL:"density-level"},L={BUTTON:"button",ICON:"i, span, svg, img, forge-icon"},B={BUTTON:"forge-icon-button",BUTTON_ON:"forge-icon-button--on",BUTTON_DENSE:"forge-icon-button--dense",ICON:"forge-icon-button__icon",ICON_ON:"forge-icon-button__icon--on",DENSITY:["forge-icon-button--dense-1","forge-icon-button--dense-2","forge-icon-button--dense-3","forge-icon-button--dense-4","forge-icon-button--dense-5","forge-icon-button--dense-6"]},S={CHANGE:`${v}-change`},e={elementName:v,attributes:y,selectors:L,classes:B,events:S};var o=class extends d{constructor(){super();this._toggle=!1;this._isOn=!1;this._dense=!1;this._densityLevel=5}static get observedAttributes(){return[e.attributes.IS_ON,e.attributes.DENSE,e.attributes.DENSITY_LEVEL,e.attributes.TOGGLE]}connectedCallback(){this.querySelector(e.selectors.BUTTON)?this._initialize():c(this,e.selectors.BUTTON).then(()=>this._initialize())}disconnectedCallback(){this._rippleInstance&&this._rippleInstance.destroy()}attributeChangedCallback(t,n,i){switch(t){case e.attributes.IS_ON:this.isOn=s(i);break;case e.attributes.DENSE:this.dense=s(i);break;case e.attributes.DENSITY_LEVEL:this.densityLevel=a(i);break;case e.attributes.TOGGLE:this.toggle=s(i);break}}get toggle(){return this._toggle}set toggle(t){this._toggle=t,this._toggle?this._initializeToggle():this._destroyToggle()}get isOn(){return this._isOn}set isOn(t){this._isOn!==t&&(this._isOn=t,this._applyToggle())}get dense(){return this._dense}set dense(t){this._dense!==t&&(this._dense=t,this._applyDensity())}get densityLevel(){return this._densityLevel}set densityLevel(t){this._densityLevel!==t&&(this._densityLevel=t,this._densityLevel<=0?this._densityLevel=1:this._densityLevel>6?this._densityLevel=6:typeof this._densityLevel!="number"&&(this._densityLevel=5),this._applyDensity())}_initialize(){this._buttonElement=this.querySelector(e.selectors.BUTTON),this._buttonElement&&(this._buttonElement.classList.add(e.classes.BUTTON),this._applyToggle(),this._applyDensity(),this._toggleHandler=()=>{this._toggleValue(),_(this,e.events.CHANGE,this._isOn,!0)},this._toggle&&this._initializeToggle(),this._deferRippleInitialization())}async _deferRippleInitialization(){let t=await f(this._buttonElement);this._rippleInstance||(this._initRipple(),t==="focusin"&&this._rippleInstance.foundation.handleFocus())}_initRipple(){this._rippleInstance&&this._rippleInstance.destroy(),this._rippleInstance=new I(this._buttonElement),this._rippleInstance.unbounded=!0}_toggleValue(){this._isOn=!this._isOn,this._applyToggle()}_applyToggle(){!this._buttonElement||(p(this._buttonElement,this._isOn,e.classes.BUTTON_ON),this._toggle&&this._buttonElement.setAttribute("aria-pressed",`${this._isOn}`))}_applyDensity(){if(!!this._buttonElement){if(e.classes.DENSITY.forEach(t=>this._buttonElement.classList.remove(t)),this._dense){if(this.setAttribute(e.attributes.DENSE,""),this._buttonElement.classList.add(e.classes.BUTTON_DENSE),this._densityLevel<7&&this._densityLevel>0&&this.densityLevel!==5){let t=e.classes.DENSITY[this._densityLevel-1];this._buttonElement.classList.add(t),this.setAttribute(e.attributes.DENSITY_LEVEL,this._densityLevel.toString())}}else this.removeAttribute(e.attributes.DENSE),this._buttonElement.classList.remove(e.classes.BUTTON_DENSE);this._rippleInstance&&this._rippleInstance.layout()}}_initializeToggle(){if(!this._buttonElement)return;let t=Array.from(this._buttonElement.querySelectorAll(e.selectors.ICON));if(t.length!==2){console.error('You must specify two icons, one for "on" and one for "off".');return}if(t.forEach(n=>n.classList.add(e.classes.ICON)),!t.some(n=>n.classList.contains(e.classes.ICON_ON))){let n=t.find(i=>i.hasAttribute(e.attributes.ICON_ON));n?n.classList.add(e.classes.ICON_ON):t[0].classList.add(e.classes.ICON_ON)}this._buttonElement.addEventListener("click",this._toggleHandler),window.requestAnimationFrame(()=>{this._isOn&&(this._buttonElement.classList.add(e.classes.BUTTON_ON),this._buttonElement.setAttribute("aria-pressed",`${this._isOn}`))})}_destroyToggle(){!this._buttonElement||this._buttonElement.removeEventListener("click",this._toggleHandler)}layout(){this._rippleInstance&&this._rippleInstance.layout()}};o=r([m({name:e.elementName})],o);var N=class extends g{constructor(t){super(t)}_build(){var n;let t=document.createElement(e.elementName);if(this._buttonElement=document.createElement("button"),this._buttonElement.type="button",t.appendChild(this._buttonElement),(n=this._config.options)!=null&&n.tooltip){let i=document.createElement("forge-tooltip");i.textContent=this._config.options.tooltip,this._config.options.tooltipPosition&&(i.position=this._config.options.tooltipPosition),t.appendChild(i)}return t}get iconElement(){return this._iconElement}get disabled(){return!!this._buttonElement.disabled}set disabled(t){this._buttonElement.disabled=t}get butttonElement(){return this._buttonElement}get buttonElement(){return this._buttonElement}_configure(){this._configureIcon()}_configureIcon(){var n,i;if(!((n=this._config.options)!=null&&n.iconName))return;switch(((i=this._config.options)==null?void 0:i.iconType)||"component"){case"font":let O=Array.isArray(this._config.options.iconClass)?this._config.options.iconClass:[b];l(O,this._buttonElement),this._buttonElement.textContent=this._config.options.iconName;break;case"component":this._iconElement=document.createElement(E.elementName),this._iconElement.name=this._config.options.iconName,this._config.options.iconExternal!==void 0&&(this._iconElement.external=!!this._config.options.iconExternal),this._config.options.iconExternalType&&(this._iconElement.externalType=this._config.options.iconExternalType),this._config.options.iconClass&&l(this._config.options.iconClass,this._iconElement),this._buttonElement.appendChild(this._iconElement);break}}onClick(t){this._buttonElement.addEventListener("click",t)}onFocus(t){this._buttonElement.addEventListener("focus",n=>t(n))}onBlur(t){this._buttonElement.addEventListener("blur",n=>t(n))}};function Q(){u(o)}export{e as a,o as b,N as c,Q as d};
7
+ //# sourceMappingURL=chunk.JMXJXZTS.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/icon-button/icon-button-constants.ts", "../../src/icon-button/icon-button.ts", "../../src/icon-button/icon-button-component-delegate.ts", "../../src/icon-button/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}icon-button`;\n\nconst attributes = {\n TOGGLE: 'toggle',\n IS_ON: 'is-on',\n ICON_ON: 'forge-icon-button-on',\n DENSE: 'dense',\n DENSITY_LEVEL: 'density-level'\n};\n\nconst selectors = {\n BUTTON: 'button',\n ICON: 'i, span, svg, img, forge-icon'\n};\n\nconst classes = {\n BUTTON: 'forge-icon-button',\n BUTTON_ON: 'forge-icon-button--on',\n BUTTON_DENSE: 'forge-icon-button--dense',\n ICON: 'forge-icon-button__icon',\n ICON_ON: 'forge-icon-button__icon--on',\n DENSITY: [\n 'forge-icon-button--dense-1',\n 'forge-icon-button--dense-2',\n 'forge-icon-button--dense-3',\n 'forge-icon-button--dense-4',\n 'forge-icon-button--dense-5',\n 'forge-icon-button--dense-6'\n ]\n};\n\nconst events = {\n CHANGE: `${elementName}-change`\n};\n\nexport const ICON_BUTTON_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n classes,\n events\n};\n", "import { coerceBoolean, coerceNumber, CustomElement, emitEvent, ensureChild, toggleClass } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { ForgeRipple } from '../ripple';\nimport { userInteractionListener } from '../core/utils';\nimport { ICON_BUTTON_CONSTANTS } from './icon-button-constants';\n\nexport interface IIconButtonComponent extends IBaseComponent {\n toggle: boolean;\n isOn: boolean;\n dense: boolean;\n densityLevel: number;\n layout(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-icon-button': IIconButtonComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-icon-button-change': CustomEvent<boolean>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-icon-button>` element.\n * \n * @tag forge-icon-button\n */\n@CustomElement({\n name: ICON_BUTTON_CONSTANTS.elementName\n})\nexport class IconButtonComponent extends BaseComponent implements IIconButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n ICON_BUTTON_CONSTANTS.attributes.IS_ON,\n ICON_BUTTON_CONSTANTS.attributes.DENSE,\n ICON_BUTTON_CONSTANTS.attributes.DENSITY_LEVEL,\n ICON_BUTTON_CONSTANTS.attributes.TOGGLE\n ];\n }\n\n private _rippleInstance: ForgeRipple;\n private _buttonElement: HTMLButtonElement;\n private _toggle = false;\n private _isOn = false;\n private _dense = false;\n private _densityLevel = 5;\n private _toggleHandler: (event: Event) => void;\n\n constructor() {\n super();\n }\n\n public connectedCallback(): void {\n if (this.querySelector(ICON_BUTTON_CONSTANTS.selectors.BUTTON)) {\n this._initialize();\n } else {\n ensureChild(this, ICON_BUTTON_CONSTANTS.selectors.BUTTON).then(() => this._initialize());\n }\n }\n\n public disconnectedCallback(): void {\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case ICON_BUTTON_CONSTANTS.attributes.IS_ON:\n this.isOn = coerceBoolean(newValue);\n break;\n case ICON_BUTTON_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case ICON_BUTTON_CONSTANTS.attributes.DENSITY_LEVEL:\n this.densityLevel = coerceNumber(newValue);\n break;\n case ICON_BUTTON_CONSTANTS.attributes.TOGGLE:\n this.toggle = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets/sets whether the button is togglable. */\n public get toggle(): boolean {\n return this._toggle;\n }\n public set toggle(value: boolean) {\n this._toggle = value;\n\n if (this._toggle) {\n this._initializeToggle();\n } else {\n this._destroyToggle();\n }\n }\n\n /** Gets/sets the toggled state of the icon button. Only applies when `toggle = true`. */\n public get isOn(): boolean {\n return this._isOn;\n }\n public set isOn(value: boolean) {\n if (this._isOn !== value) {\n this._isOn = value;\n this._applyToggle();\n }\n }\n\n /** Gets/sets whether the icon button is dense. */\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n if (this._dense !== value) {\n this._dense = value;\n this._applyDensity();\n }\n }\n\n /** Controls the density level. 1 (least dense) to 6 (most dense). */\n public get densityLevel(): number {\n return this._densityLevel;\n }\n public set densityLevel(value: number) {\n if (this._densityLevel !== value) {\n this._densityLevel = value;\n\n if (this._densityLevel <= 0) {\n this._densityLevel = 1;\n } else if (this._densityLevel > 6) {\n this._densityLevel = 6;\n } else if (typeof this._densityLevel !== 'number') {\n this._densityLevel = 5;\n }\n\n this._applyDensity();\n }\n }\n\n private _initialize(): void {\n this._buttonElement = this.querySelector(ICON_BUTTON_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n if (!this._buttonElement) {\n return;\n }\n\n this._buttonElement.classList.add(ICON_BUTTON_CONSTANTS.classes.BUTTON);\n this._applyToggle();\n this._applyDensity();\n this._toggleHandler = () => {\n this._toggleValue();\n emitEvent(this, ICON_BUTTON_CONSTANTS.events.CHANGE, this._isOn, true);\n };\n\n if (this._toggle) {\n this._initializeToggle();\n }\n\n // We wait to initialize the ripple instance until the user interacts with the component to avoid unnecessary performance overhead\n this._deferRippleInitialization();\n }\n\n private async _deferRippleInitialization(): Promise<void> {\n const type = await userInteractionListener(this._buttonElement);\n if (!this._rippleInstance) {\n this._initRipple();\n if (type === 'focusin') {\n // eslint-disable-next-line @typescript-eslint/dot-notation\n (this._rippleInstance as ForgeRipple)['foundation'].handleFocus();\n }\n }\n }\n\n private _initRipple(): void {\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n }\n this._rippleInstance = new ForgeRipple(this._buttonElement);\n this._rippleInstance.unbounded = true;\n }\n\n private _toggleValue(): void {\n this._isOn = !this._isOn;\n this._applyToggle();\n }\n\n private _applyToggle(): void {\n if (!this._buttonElement) {\n return;\n }\n toggleClass(this._buttonElement, this._isOn, ICON_BUTTON_CONSTANTS.classes.BUTTON_ON);\n if (this._toggle) {\n this._buttonElement.setAttribute('aria-pressed', `${this._isOn}`);\n }\n }\n\n private _applyDensity(): void {\n if (!this._buttonElement) {\n return;\n }\n\n // Remove all other density classes first\n ICON_BUTTON_CONSTANTS.classes.DENSITY.forEach(c => this._buttonElement.classList.remove(c));\n\n if (this._dense) {\n this.setAttribute(ICON_BUTTON_CONSTANTS.attributes.DENSE, '');\n this._buttonElement.classList.add(ICON_BUTTON_CONSTANTS.classes.BUTTON_DENSE);\n\n // 5 is the default density level (we apply 5 implicitly in the regular dense class)\n // Exclude 5 since its already covered by dense class\n if (this._densityLevel < 7 && this._densityLevel > 0 && this.densityLevel !== 5) {\n const densityLevelClass = ICON_BUTTON_CONSTANTS.classes.DENSITY[this._densityLevel - 1];\n this._buttonElement.classList.add(densityLevelClass);\n this.setAttribute(ICON_BUTTON_CONSTANTS.attributes.DENSITY_LEVEL, this._densityLevel.toString());\n }\n } else {\n this.removeAttribute(ICON_BUTTON_CONSTANTS.attributes.DENSE);\n this._buttonElement.classList.remove(ICON_BUTTON_CONSTANTS.classes.BUTTON_DENSE);\n }\n\n // re-layout the ripple for cases where dense was changed after initial layout\n if (this._rippleInstance) {\n this._rippleInstance.layout();\n }\n }\n\n private _initializeToggle(): void {\n if (!this._buttonElement) {\n return;\n }\n const icons = Array.from(this._buttonElement.querySelectorAll(ICON_BUTTON_CONSTANTS.selectors.ICON));\n\n // We require two icon/image elements to be specified for the \"on\" and \"off\" states\n if (icons.length !== 2) {\n console.error('You must specify two icons, one for \"on\" and one for \"off\".');\n return;\n }\n\n // Add the icon class to each icon\n icons.forEach(icon => icon.classList.add(ICON_BUTTON_CONSTANTS.classes.ICON));\n\n // If there are no icons that specify the \"on\" class, then automatically choose the first icon as the \"on\" icon and add the class,\n // alternatively we check for the existence of a `forge-icon-button-on` attribute on any of the icons and use that.\n if (!icons.some(icon => icon.classList.contains(ICON_BUTTON_CONSTANTS.classes.ICON_ON))) {\n const requestedOnIcon = icons.find(icon => icon.hasAttribute(ICON_BUTTON_CONSTANTS.attributes.ICON_ON));\n if (requestedOnIcon) {\n requestedOnIcon.classList.add(ICON_BUTTON_CONSTANTS.classes.ICON_ON);\n } else {\n icons[0].classList.add(ICON_BUTTON_CONSTANTS.classes.ICON_ON);\n }\n }\n\n this._buttonElement.addEventListener('click', this._toggleHandler);\n\n // Wait a frame to ensure the value of the `on` property has been set\n window.requestAnimationFrame(() => {\n if (this._isOn) {\n this._buttonElement.classList.add(ICON_BUTTON_CONSTANTS.classes.BUTTON_ON);\n this._buttonElement.setAttribute('aria-pressed', `${this._isOn}`);\n }\n });\n }\n\n private _destroyToggle(): void {\n if (!this._buttonElement) {\n return;\n }\n this._buttonElement.removeEventListener('click', this._toggleHandler);\n }\n\n public layout(): void {\n if (this._rippleInstance) {\n this._rippleInstance.layout();\n }\n }\n}\n", "import { addClass } from '@tylertech/forge-core';\nimport { IconExternalType, ICON_CONSTANTS, IIconComponent } from '../icon';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { IIconButtonComponent } from './icon-button';\nimport { ICON_BUTTON_CONSTANTS } from './icon-button-constants';\nimport { PopupPlacement } from '../popup';\n\nexport type IconButtonComponentDelegateProps = Partial<IIconButtonComponent>;\nexport interface IIconButtonComponentDelegateOptions extends IBaseComponentDelegateOptions {\n iconName?: string;\n iconExternal?: boolean;\n iconExternalType?: IconExternalType;\n iconType?: 'font' | 'component';\n iconClass?: string | string[];\n tooltip?: string;\n tooltipPosition?: PopupPlacement;\n}\nexport interface IIconButtonComponentDelegateConfig extends IBaseComponentDelegateConfig<IIconButtonComponent, IIconButtonComponentDelegateOptions> {}\n\nexport class IconButtonComponentDelegate extends BaseComponentDelegate<IIconButtonComponent, IIconButtonComponentDelegateOptions> {\n private _buttonElement: HTMLButtonElement;\n private _iconElement?: IIconComponent;\n\n constructor(config?: IIconButtonComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IIconButtonComponent {\n const component = document.createElement(ICON_BUTTON_CONSTANTS.elementName);\n this._buttonElement = document.createElement('button');\n this._buttonElement.type = 'button';\n component.appendChild(this._buttonElement);\n\n if (this._config.options?.tooltip) {\n const tooltip = document.createElement('forge-tooltip');\n tooltip.textContent = this._config.options.tooltip;\n \n if (this._config.options.tooltipPosition) {\n tooltip.position = this._config.options.tooltipPosition;\n }\n\n component.appendChild(tooltip);\n }\n\n return component;\n }\n\n public get iconElement(): IIconComponent | undefined {\n return this._iconElement;\n }\n\n public get disabled(): boolean {\n return !!this._buttonElement.disabled;\n }\n public set disabled(value: boolean) {\n this._buttonElement.disabled = value;\n }\n\n /** @deprecated Use buttonElement instead. */\n public get butttonElement(): HTMLButtonElement | undefined {\n return this._buttonElement;\n }\n\n public get buttonElement(): HTMLButtonElement | undefined {\n return this._buttonElement;\n }\n\n protected _configure(): void {\n this._configureIcon();\n }\n\n private _configureIcon(): void {\n if (!this._config.options?.iconName) {\n return;\n }\n\n const type = this._config.options?.iconType || 'component';\n\n switch (type) {\n case 'font':\n const classes = Array.isArray(this._config.options.iconClass) ? this._config.options.iconClass : [ICON_CLASS_NAME];\n addClass(classes, this._buttonElement);\n this._buttonElement.textContent = this._config.options.iconName;\n break;\n case 'component':\n this._iconElement = document.createElement(ICON_CONSTANTS.elementName);\n this._iconElement.name = this._config.options.iconName;\n if (this._config.options.iconExternal !== undefined) {\n this._iconElement.external = !!this._config.options.iconExternal;\n }\n if (this._config.options.iconExternalType) {\n this._iconElement.externalType = this._config.options.iconExternalType;\n }\n if (this._config.options.iconClass) {\n addClass(this._config.options.iconClass, this._iconElement);\n }\n this._buttonElement.appendChild(this._iconElement);\n break;\n }\n }\n\n public onClick(listener: (evt: MouseEvent) => void): void {\n this._buttonElement.addEventListener('click', listener);\n }\n\n public onFocus(listener: (evt: Event) => void): void {\n this._buttonElement.addEventListener('focus', evt => listener(evt));\n }\n\n public onBlur(listener: (evt: Event) => void): void {\n this._buttonElement.addEventListener('blur', evt => listener(evt));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { IconButtonComponent } from './icon-button';\n\nexport * from './icon-button-constants';\nexport * from './icon-button';\nexport * from './icon-button-component-delegate';\n\nexport function defineIconButtonComponent(): void {\n defineCustomElement(IconButtonComponent);\n}\n"],
5
- "mappings": "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",
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{h as C}from"./chunk.3MP6OFVU.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.JXY6MTP3.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 r}from"./chunk.MNPORZ4F.js";import{a as _}from"./chunk.D4SNVKDA.js";import{a as f}from"./chunk.UUX4QJ4D.js";import{a as y}from"./chunk.5PXABBKU.js";import{a}from"./chunk.B3IJU6XJ.js";import{a as O}from"./chunk.OOW3UKT4.js";import{a as L,l as x}from"./chunk.MMVZJLXE.js";import{d as g,i as E,q as b}from"./chunk.R4NDFXVA.js";import{b as h,l as T,p as v}from"./chunk.G76HB2FK.js";import{f as n}from"./chunk.MCIQXNKY.js";function I(s){s.style.border="0",s.style.clip="rect(0 0 0 0)",s.style.height="1px",s.style.margin="-1px",s.style.overflow="hidden",s.style.padding="0",s.style.position="absolute",s.style.width="1px",s.style.outline="0",s.style.setProperty("-webkit-appearance","none"),s.style.setProperty("-moz-appearance","none")}function P(s,e,t){typeof t=="string"&&(t=document.createTextNode(t));let i=document.createElement("div");i.setAttribute("role","tooltip"),i.classList.add(r.classes.TOOLTIP),i.appendChild(t),i.setAttribute("role","tooltip"),i.setAttribute("aria-hidden","true"),(s.ownerDocument||document).body.appendChild(i);let d={x:0,y:0},u=4;switch(e){case"top":d.y=-u,i.classList.add(r.classes.TOOLTIP_TOP);break;case"right":d.x=u,i.classList.add(r.classes.TOOLTIP_RIGHT);break;case"bottom":d.y=u,i.classList.add(r.classes.TOOLTIP_BOTTOM);break;case"left":d.x=-u,i.classList.add(r.classes.TOOLTIP_LEFT);break}return window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{i.classList.add(r.classes.TOOLTIP_OPEN),f({element:i,targetElement:s,placement:e,transform:!1,offset:d})})}),i}var m=class extends y{constructor(t){super(t);this._tooltipElement=null}initializeTargetElement(t){this._targetElement=this._getTargetElement(t)}initializeAccessibility(t){this._targetElement&&!this._targetElement.hasAttribute("aria-describedby")&&this._targetElement.setAttribute("aria-describedby",t)}hasTargetElement(){return!!this._targetElement}hasTooltipElement(){return!!this._tooltipElement}isTargetElementConnected(){return!!this._targetElement&&this._targetElement.isConnected}destroy(t){this._targetElement&&this._targetElement.getAttribute("aria-describedby")===t&&this._targetElement.removeAttribute("aria-describedby")}setTextContent(t){g(this._component),t&&this._component.appendChild(document.createTextNode(t))}addTargetEventListener(t,i){this._targetElement&&this._targetElement.addEventListener(t,i)}removeTargetEventListener(t,i){this._targetElement&&this._targetElement.removeEventListener(t,i)}showTooltip(t,i){if(!this._targetElement)return;i||(i=this._getTooltipContent().cloneNode(!0));let l=i.nodeType===3&&(!i.textContent||i.textContent.trim().length===0);!i||l||(this._tooltipElement=P(this._targetElement,t,i))}getInnerText(){return this._component.innerText}hideTooltip(){this._tooltipElement&&(E(this._tooltipElement),this._tooltipElement=null)}getTooltipElement(){return this._tooltipElement}_getTargetElement(t){if(t){if(this._component.parentElement)return b(this._component.parentElement,t)?this._component.parentElement:this._component.parentElement.querySelector(t)}else return this._component.previousElementSibling||this._component.parentElement;return null}_getTooltipContent(){return this._component.firstElementChild||this._component.firstChild||document.createTextNode("")}};var c=class{constructor(e){this._adapter=e;this._delay=r.numbers.DEFAULT_DELAY;this._position=r.strings.DEFAULT_POSITION;this._isOpen=!1;this._mouseOverListener=t=>this._onMouseOver(t),this._mouseOutListener=t=>this._onMouseOut(t),this._touchStartListener=t=>this._onTouchStart(t),this._touchEndListener=t=>this._onTouchEnd(t),this._scrollListener=v(t=>this._onScroll(t),100),this._clickListener=()=>this._targetInteracted(),this._mouseDownListener=()=>this._targetInteracted(),this._dragListener=()=>this._targetInteracted()}initialize(){if(this._adapter.initializeTargetElement(this._target),!this._adapter.hasTargetElement())throw new Error("Unable to locate target element.");this._identifier=this._adapter.getHostAttribute("id"),this._identifier||(this._identifier=this._getNextIdentifier(),this._adapter.setHostAttribute("id",this._identifier)),this._addTargetListeners(),this._adapter.initializeAccessibility(this._identifier)}disconnect(){this._mouseOverTimeout&&(window.clearTimeout(this._mouseOverTimeout),this._mouseOverTimeout=void 0),this._touchTimeout&&(window.clearTimeout(this._touchTimeout),this._touchTimeout=void 0),this._adapter.destroy(this._identifier),this._isOpen&&this.hide(),this._adapter.hasTargetElement()&&this._removeTargetListeners()}_getNextIdentifier(){return`forge-tooltip-${c._tooltipIdentifier++}`}_addTargetListeners(){_.isMobile?(this._adapter.addTargetEventListener("touchstart",this._touchStartListener),this._adapter.addTargetEventListener("touchend",this._touchEndListener)):(this._adapter.addTargetEventListener("mouseover",this._mouseOverListener),this._adapter.addTargetEventListener("mouseout",this._mouseOutListener)),this._adapter.addTargetEventListener("click",this._clickListener),this._adapter.addTargetEventListener("mousedown",this._mouseDownListener),this._adapter.addTargetEventListener("dragstart",this._dragListener)}_removeTargetListeners(){_.isMobile?(this._adapter.removeTargetEventListener("touchstart",this._touchStartListener),this._adapter.removeTargetEventListener("touchend",this._touchEndListener)):(this._adapter.removeTargetEventListener("mouseover",this._mouseOverListener),this._adapter.removeTargetEventListener("mouseout",this._mouseOutListener)),this._adapter.removeTargetEventListener("click",this._clickListener),this._adapter.removeTargetEventListener("mousedown",this._mouseDownListener),this._adapter.removeTargetEventListener("dragstart",this._dragListener)}_onTouchStart(e){this._touchTimeout=window.setTimeout(()=>{this._show(),window.setTimeout(()=>this.hide(),r.numbers.LONGPRESS_VISIBILITY_DURATION),this._touchTimeout=void 0},r.numbers.LONGPRESS_THRESHOLD)}_onTouchEnd(e){this._touchTimeout&&this._clearTouchTimer()}_clearTouchTimer(){window.clearTimeout(this._touchTimeout),this._touchTimeout=void 0}_onMouseOver(e){this._isOpen||!this._adapter.hasTargetElement()||!this._adapter.isTargetElementConnected()||(this._delay?this._mouseOverTimeout=window.setTimeout(()=>{this._show(),this._mouseOverTimeout=void 0},this._delay):this._show())}_onMouseOut(e){if(this._mouseOverTimeout){window.clearTimeout(this._mouseOverTimeout),this._mouseOverTimeout=void 0;return}this.hide()}_show(){let e;this._builder&&typeof this._builder=="function"&&(e=this._builder()),this._adapter.showTooltip(this._position,e),this._adapter.hasTooltipElement()&&(this._isOpen=!0,this._adapter.addWindowListener("scroll",this._scrollListener))}hide(){!this._isOpen||(this._touchTimeout&&this._clearTouchTimer(),this._isOpen=!1,this._adapter.removeWindowListener("scroll",this._scrollListener),this._adapter.hideTooltip())}_onScroll(e){!this._isOpen||this.hide()}_targetInteracted(){this._mouseOverTimeout&&window.clearTimeout(this._mouseOverTimeout),this._isOpen&&this.hide()}get text(){return this._text||this._adapter.getInnerText()}set text(e){this._text!==e&&(this._text=e,this._adapter.setTextContent(this._text),this._adapter.setHostAttribute(r.attributes.TEXT,this._text))}get builder(){return this._builder}set builder(e){this._builder=e}get target(){return this._target}set target(e){this._target!==e&&(this._target=e,this._adapter.hasTargetElement()&&this._removeTargetListeners(),this._adapter.initializeTargetElement(this._target),this._adapter.hasTargetElement()&&this._addTargetListeners(),this._adapter.setHostAttribute(r.attributes.TARGET,h(this._target)?this._target:""))}get delay(){return this._delay}set delay(e){this._delay!==e&&(this._delay=e,this._adapter.setHostAttribute(r.attributes.DELAY,h(this._delay)?this._delay.toString():""))}get position(){return this._position}set position(e){this._position!==e&&(this._position=e,this._adapter.setHostAttribute(r.attributes.POSITION,h(this._position)?this._position.toString():""))}get open(){return this._isOpen}get tooltipElement(){return this._adapter.getTooltipElement()}},p=c;p._tooltipIdentifier=0;var o=class extends x{constructor(){super();this._foundation=new p(new m(this))}static get observedAttributes(){return[r.attributes.TEXT,r.attributes.TARGET,r.attributes.DELAY,r.attributes.POSITION]}connectedCallback(){I(this),requestAnimationFrame(()=>this._foundation.initialize())}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,l){switch(t){case r.attributes.TEXT:this.text=l;break;case r.attributes.TARGET:this.target=l;break;case r.attributes.DELAY:this.delay=T(l);break;case r.attributes.POSITION:this.position=l;break}}hide(){this._foundation.hide()}};n([a()],o.prototype,"text",2),n([a()],o.prototype,"builder",2),n([a()],o.prototype,"target",2),n([a()],o.prototype,"delay",2),n([a()],o.prototype,"position",2),n([a({set:!1})],o.prototype,"open",2),n([a({set:!1})],o.prototype,"tooltipElement",2),o=n([O({name:r.elementName})],o);function Z(){L(o)}export{P as a,m as b,p as c,o as d,Z as e};
7
+ //# sourceMappingURL=chunk.KBMLP7UT.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../node_modules/@tylertech/forge-core/esm/a11y/a11y.js", "../../src/tooltip/tooltip-utils.ts", "../../src/tooltip/tooltip-adapter.ts", "../../src/tooltip/tooltip-foundation.ts", "../../src/tooltip/tooltip.ts", "../../src/tooltip/index.ts"],
4
- "sourcesContent": ["/**\n * Hides an element from the user visually, while keeping it in the DOM.\n * @param element The element to hide from view.\n */\nexport function hideElementVisually(element) {\n element.style.border = '0';\n element.style.clip = 'rect(0 0 0 0)';\n element.style.height = '1px';\n element.style.margin = '-1px';\n element.style.overflow = 'hidden';\n element.style.padding = '0';\n element.style.position = 'absolute';\n element.style.width = '1px';\n element.style.outline = '0';\n element.style.setProperty('-webkit-appearance', 'none');\n element.style.setProperty('-moz-appearance', 'none');\n}\n", "import { IElementPosition, positionElementAsync } from '@tylertech/forge-core';\nimport { PopupPlacement } from '../popup';\nimport { TOOLTIP_CONSTANTS } from './tooltip-constants';\n\n/**\n * Attaches a positioned tooltip to the provided target element.\n * @param targetElement The element to position the tooltip around.\n * @param placement The placement of the tooltip relative to the target element.\n * @param content The content of the tooltip.\n */\nexport function attachTooltip(targetElement: HTMLElement, placement: PopupPlacement, content: string | HTMLElement | Text): HTMLElement {\n if (typeof content === 'string') {\n content = document.createTextNode(content);\n }\n\n const element = document.createElement('div');\n element.setAttribute('role', 'tooltip');\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP);\n element.appendChild(content);\n element.setAttribute('role', 'tooltip');\n element.setAttribute('aria-hidden', 'true');\n\n const hostDocument = targetElement.ownerDocument || document;\n hostDocument.body.appendChild(element);\n\n const offset: IElementPosition = { x: 0, y: 0 };\n const offsetAmount = 4;\n\n switch (placement) {\n case 'top':\n offset.y = -offsetAmount;\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_TOP);\n break;\n case 'right':\n offset.x = offsetAmount;\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_RIGHT);\n break;\n case 'bottom':\n offset.y = offsetAmount;\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_BOTTOM);\n break;\n case 'left':\n offset.x = -offsetAmount;\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_LEFT);\n break;\n }\n\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_OPEN);\n positionElementAsync({ element, targetElement, placement, transform: false, offset });\n });\n });\n\n return element;\n}\n", "import { removeAllChildren, removeElement, matchesSelectors } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { PopupPlacement } from '../popup';\nimport { ITooltipComponent } from './tooltip';\nimport { attachTooltip } from './tooltip-utils';\n\nexport interface ITooltipAdapter extends IBaseAdapter {\n hasTargetElement(): boolean;\n hasTooltipElement(): boolean;\n isTargetElementConnected(): boolean;\n initializeTargetElement(selector: string): void;\n destroy(identifier: string | null): void;\n initializeAccessibility(identifier: string): void;\n setTextContent(text: string): void;\n addTargetEventListener(type: string, listener: (evt: MouseEvent) => void): void;\n removeTargetEventListener(type: string, listener: (evt: MouseEvent) => void): void;\n showTooltip(position: PopupPlacement, content?: HTMLElement | Text): void;\n getInnerText(): string;\n hideTooltip(): void;\n getTooltipElement(): HTMLElement | null;\n}\n\n/**\n * The DOM adapter for the tooltip component.\n */\nexport class TooltipAdapter extends BaseAdapter<ITooltipComponent> implements ITooltipAdapter {\n private _targetElement: HTMLElement | null;\n private _tooltipElement: HTMLElement | null = null;\n\n constructor(component: ITooltipComponent) {\n super(component);\n }\n\n public initializeTargetElement(selector: string): void {\n this._targetElement = this._getTargetElement(selector);\n }\n\n public initializeAccessibility(identifier: string): void {\n if (this._targetElement && !this._targetElement.hasAttribute('aria-describedby')) {\n this._targetElement.setAttribute('aria-describedby', identifier);\n }\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public hasTooltipElement(): boolean {\n return !!this._tooltipElement;\n }\n\n public isTargetElementConnected(): boolean {\n return !!this._targetElement && this._targetElement.isConnected;\n }\n\n public destroy(identifier: string | null): void {\n if (this._targetElement && this._targetElement.getAttribute('aria-describedby') === identifier) {\n this._targetElement.removeAttribute('aria-describedby');\n }\n }\n\n /**\n * Sets the text content of the host element to the provided text.\n * @param text The text content.\n */\n public setTextContent(text: string): void {\n removeAllChildren(this._component);\n if (text) {\n this._component.appendChild(document.createTextNode(text));\n }\n }\n\n /**\n * Adds an event listener to the target element.\n * @param targetElement The target element instance.\n * @param type The event type.\n * @param listener The event listener.\n */\n public addTargetEventListener(type: string, listener: (evt: MouseEvent) => void): void {\n if (this._targetElement) {\n this._targetElement.addEventListener(type, listener);\n }\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: MouseEvent) => void): void {\n if (this._targetElement) {\n this._targetElement.removeEventListener(type, listener);\n }\n }\n\n /**\n * Displays the tooltip around the target element based on the provided configuration.\n * @param position The position.\n * @param content The tooltip content.\n */\n public showTooltip(position: PopupPlacement, content?: HTMLElement | Text): void {\n if (!this._targetElement) {\n return;\n }\n\n if (!content) {\n const child = this._getTooltipContent();\n content = child.cloneNode(true) as HTMLElement | Text;\n }\n\n const isEmptyTextNode = content.nodeType === 3 && (!content.textContent || content.textContent.trim().length === 0);\n const isEmptyNode = !content || isEmptyTextNode;\n if (isEmptyNode) {\n return;\n }\n\n this._tooltipElement = attachTooltip(this._targetElement, position, content);\n }\n\n public getInnerText(): string {\n return this._component.innerText;\n }\n\n /**\n * Removes the tooltip from the DOM.\n * @param tooltipElement The target element instance.\n */\n public hideTooltip(): void {\n if (this._tooltipElement) {\n removeElement(this._tooltipElement);\n this._tooltipElement = null;\n }\n }\n\n public getTooltipElement(): HTMLElement | null {\n return this._tooltipElement;\n }\n\n /**\n * Gets the target element based on the provided CSS selector.\n * @param {string | undefined} selector The target element selector.\n */\n private _getTargetElement(selector: string | undefined): HTMLElement | null {\n if (selector) {\n if (this._component.parentElement) {\n if (matchesSelectors(this._component.parentElement, selector)) {\n return this._component.parentElement;\n }\n return this._component.parentElement.querySelector(selector);\n }\n } else {\n return (this._component.previousElementSibling || this._component.parentElement) as HTMLElement;\n }\n return null;\n }\n\n private _getTooltipContent(): Node {\n return this._component.firstElementChild || this._component.firstChild || document.createTextNode('');\n }\n}\n", "import { ICustomElementFoundation, throttle, Platform, isDefined } from '@tylertech/forge-core';\n\nimport { ITooltipAdapter } from './tooltip-adapter';\nimport { TOOLTIP_CONSTANTS, TooltipBuilder } from './tooltip-constants';\nimport { PopupPlacement } from '../popup';\n\nexport interface ITooltipFoundation extends ICustomElementFoundation {\n text: string;\n builder: TooltipBuilder | undefined;\n target: string;\n delay: number;\n position: PopupPlacement;\n open: boolean;\n hide(): void;\n tooltipElement: HTMLElement | null;\n}\n\n/**\n * The foundation class behind the tooltip component.\n */\nexport class TooltipFoundation implements ITooltipFoundation {\n private static _tooltipIdentifier = 0;\n private _identifier: string | null;\n private _text: string;\n private _builder: TooltipBuilder | undefined;\n private _target: string;\n private _delay = TOOLTIP_CONSTANTS.numbers.DEFAULT_DELAY;\n private _position: PopupPlacement = TOOLTIP_CONSTANTS.strings.DEFAULT_POSITION as PopupPlacement;\n private _mouseOverTimeout: number | undefined;\n private _isOpen = false;\n private _touchTimeout: number | undefined;\n private _mouseOverListener: (evt: MouseEvent) => void;\n private _mouseOutListener: (evt: MouseEvent) => void;\n private _touchStartListener: (evt: MouseEvent) => void;\n private _touchEndListener: (evt: MouseEvent) => void;\n private _scrollListener: (evt: Event) => void;\n private _clickListener: (evt: MouseEvent) => void;\n private _mouseDownListener: (evt: MouseEvent) => void;\n private _dragListener: (evt: DragEvent) => void;\n \n constructor(private _adapter: ITooltipAdapter) {\n this._mouseOverListener = evt => this._onMouseOver(evt);\n this._mouseOutListener = evt => this._onMouseOut(evt);\n this._touchStartListener = evt => this._onTouchStart(evt);\n this._touchEndListener = evt => this._onTouchEnd(evt);\n this._scrollListener = throttle((evt: Event) => this._onScroll(evt), 100);\n this._clickListener = () => this._targetInteracted();\n this._mouseDownListener = () => this._targetInteracted();\n this._dragListener = () => this._targetInteracted();\n }\n\n public initialize(): void {\n this._adapter.initializeTargetElement(this._target);\n\n if (!this._adapter.hasTargetElement()) {\n throw new Error('Unable to locate target element.');\n }\n\n // Set a unique id for this tooltip (unless it already has one)\n this._identifier = this._adapter.getHostAttribute('id');\n if (!this._identifier) {\n this._identifier = this._getNextIdentifier();\n this._adapter.setHostAttribute('id', this._identifier);\n }\n\n this._addTargetListeners();\n this._adapter.initializeAccessibility(this._identifier);\n }\n\n public disconnect(): void {\n if (this._mouseOverTimeout) {\n window.clearTimeout(this._mouseOverTimeout);\n this._mouseOverTimeout = undefined;\n }\n if (this._touchTimeout) {\n window.clearTimeout(this._touchTimeout);\n this._touchTimeout = undefined;\n }\n this._adapter.destroy(this._identifier);\n if (this._isOpen) {\n this.hide();\n }\n if (this._adapter.hasTargetElement()) {\n this._removeTargetListeners();\n }\n }\n\n /**\n * Generates the next available tooltip identifier.\n */\n private _getNextIdentifier(): string {\n return `forge-tooltip-${TooltipFoundation._tooltipIdentifier++}`;\n }\n\n /** Adds event listeners to the target element. */\n private _addTargetListeners(): void {\n if (Platform.isMobile) {\n this._adapter.addTargetEventListener('touchstart', this._touchStartListener);\n this._adapter.addTargetEventListener('touchend', this._touchEndListener);\n } else {\n this._adapter.addTargetEventListener('mouseover', this._mouseOverListener);\n this._adapter.addTargetEventListener('mouseout', this._mouseOutListener);\n }\n\n this._adapter.addTargetEventListener('click', this._clickListener);\n this._adapter.addTargetEventListener('mousedown', this._mouseDownListener);\n this._adapter.addTargetEventListener('dragstart', this._dragListener);\n }\n\n /**\n * Removes the event listeners from the target element.\n * @param targetElement The target element instance.\n */\n private _removeTargetListeners(): void {\n if (Platform.isMobile) {\n this._adapter.removeTargetEventListener('touchstart', this._touchStartListener);\n this._adapter.removeTargetEventListener('touchend', this._touchEndListener);\n } else {\n this._adapter.removeTargetEventListener('mouseover', this._mouseOverListener);\n this._adapter.removeTargetEventListener('mouseout', this._mouseOutListener);\n }\n\n this._adapter.removeTargetEventListener('click', this._clickListener);\n this._adapter.removeTargetEventListener('mousedown', this._mouseDownListener);\n this._adapter.removeTargetEventListener('dragstart', this._dragListener);\n }\n\n /**\n * Handles the touchstart event on the target element to detect long press.\n */\n private _onTouchStart(evt: Event): void {\n this._touchTimeout = window.setTimeout(() => {\n this._show();\n window.setTimeout(() => this.hide(), TOOLTIP_CONSTANTS.numbers.LONGPRESS_VISIBILITY_DURATION);\n this._touchTimeout = undefined;\n }, TOOLTIP_CONSTANTS.numbers.LONGPRESS_THRESHOLD);\n }\n \n /**\n * Handles the touchend event on the target element to cancel a long press action.\n */\n private _onTouchEnd(evt: Event): void {\n if (this._touchTimeout) {\n this._clearTouchTimer();\n }\n }\n\n private _clearTouchTimer(): void {\n window.clearTimeout(this._touchTimeout);\n this._touchTimeout = undefined;\n }\n\n /**\n * Handles the mouseover event on the target element.\n */\n private _onMouseOver(evt: MouseEvent): void {\n if (this._isOpen || !this._adapter.hasTargetElement() || !this._adapter.isTargetElementConnected()) {\n return;\n }\n\n if (this._delay) {\n this._mouseOverTimeout = window.setTimeout(() => {\n this._show();\n this._mouseOverTimeout = undefined;\n }, this._delay);\n } else {\n this._show();\n }\n }\n\n /**\n * Handles the mouseout event on the target element.\n */\n private _onMouseOut(evt: MouseEvent): void {\n if (this._mouseOverTimeout) {\n window.clearTimeout(this._mouseOverTimeout);\n this._mouseOverTimeout = undefined;\n return;\n }\n this.hide();\n }\n\n /**\n * Displays the tooltip.\n */\n private _show(): void {\n let content: HTMLElement | undefined;\n\n if (this._builder && typeof this._builder === 'function') {\n content = this._builder();\n }\n\n this._adapter.showTooltip(this._position, content);\n\n if (this._adapter.hasTooltipElement()) {\n this._isOpen = true;\n this._adapter.addWindowListener('scroll', this._scrollListener);\n }\n }\n\n /**\n * Hides the tooltip.\n */\n public hide(): void {\n if (!this._isOpen) {\n return;\n }\n if (this._touchTimeout) {\n this._clearTouchTimer();\n }\n this._isOpen = false;\n this._adapter.removeWindowListener('scroll', this._scrollListener);\n this._adapter.hideTooltip();\n }\n\n /**\n * Handles scrolling events when the tooltip is open.\n */\n private _onScroll(evt: Event): void {\n if (!this._isOpen) {\n return;\n }\n this.hide();\n }\n\n private _targetInteracted(): void {\n if (this._mouseOverTimeout) {\n window.clearTimeout(this._mouseOverTimeout);\n }\n if (this._isOpen) {\n this.hide();\n }\n }\n\n /** Gets/sets the tooltip text. */\n public get text(): string {\n return this._text || this._adapter.getInnerText();\n }\n public set text(value: string) {\n if (this._text !== value) {\n this._text = value;\n this._adapter.setTextContent(this._text);\n this._adapter.setHostAttribute(TOOLTIP_CONSTANTS.attributes.TEXT, this._text);\n }\n }\n\n /** Sets the tooltip builder function. */\n public get builder(): TooltipBuilder | undefined {\n return this._builder;\n }\n public set builder(value: TooltipBuilder | undefined) {\n this._builder = value;\n }\n \n /** Gets/sets the target element CSS 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\n if (this._adapter.hasTargetElement()) {\n this._removeTargetListeners();\n }\n\n this._adapter.initializeTargetElement(this._target);\n \n if (this._adapter.hasTargetElement()) {\n this._addTargetListeners();\n }\n\n this._adapter.setHostAttribute(TOOLTIP_CONSTANTS.attributes.TARGET, isDefined(this._target) ? this._target : '');\n }\n }\n\n /** Gets/sets the interaction delay. */\n public get delay(): number {\n return this._delay;\n }\n public set delay(value: number) {\n if (this._delay !== value) {\n this._delay = value;\n this._adapter.setHostAttribute(TOOLTIP_CONSTANTS.attributes.DELAY, isDefined(this._delay) ? this._delay.toString() : '');\n }\n }\n\n /** Gets/sets the tooltip position. */\n public get position(): PopupPlacement {\n return this._position;\n }\n public set position(value: PopupPlacement) {\n if (this._position !== value) {\n this._position = value;\n this._adapter.setHostAttribute(TOOLTIP_CONSTANTS.attributes.POSITION, isDefined(this._position) ? this._position.toString() : '');\n }\n }\n\n public get open(): boolean {\n return this._isOpen;\n }\n\n public get tooltipElement(): HTMLElement | null {\n return this._adapter.getTooltipElement();\n }\n}\n", "import { CustomElement, coerceNumber, hideElementVisually, FoundationProperty } from '@tylertech/forge-core';\nimport { TooltipAdapter } from './tooltip-adapter';\nimport { TooltipFoundation } from './tooltip-foundation';\nimport { TOOLTIP_CONSTANTS, TooltipBuilder } from './tooltip-constants';\nimport { PopupPlacement } from '../popup';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nexport interface ITooltipComponent extends IBaseComponent {\n text: string;\n builder: TooltipBuilder | undefined;\n target: string;\n delay: number;\n position: PopupPlacement;\n open: boolean;\n hide(): void;\n tooltipElement: HTMLElement | null;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-tooltip': ITooltipComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-tooltip>` element.\n * \n * @tag forge-tooltip\n */\n@CustomElement({\n name: TOOLTIP_CONSTANTS.elementName\n})\nexport class TooltipComponent extends BaseComponent implements ITooltipComponent {\n public static get observedAttributes(): string[] {\n return [\n TOOLTIP_CONSTANTS.attributes.TEXT,\n TOOLTIP_CONSTANTS.attributes.TARGET,\n TOOLTIP_CONSTANTS.attributes.DELAY,\n TOOLTIP_CONSTANTS.attributes.POSITION\n ];\n }\n\n private _foundation: TooltipFoundation;\n\n constructor() {\n super();\n this._foundation = new TooltipFoundation(new TooltipAdapter(this));\n }\n\n public connectedCallback(): void {\n hideElementVisually(this);\n requestAnimationFrame(() => 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 TOOLTIP_CONSTANTS.attributes.TEXT:\n this.text = newValue;\n break;\n case TOOLTIP_CONSTANTS.attributes.TARGET:\n this.target = newValue;\n break;\n case TOOLTIP_CONSTANTS.attributes.DELAY:\n this.delay = coerceNumber(newValue);\n break;\n case TOOLTIP_CONSTANTS.attributes.POSITION:\n this.position = newValue as PopupPlacement;\n break;\n }\n }\n\n /** Gets/sets the tooltip text. */\n @FoundationProperty()\n public text: string;\n\n /** Sets the tooltip builder function for display complex tooltip content. */\n @FoundationProperty()\n public builder: TooltipBuilder | undefined;\n \n /** Gets/sets the target element selector. */\n @FoundationProperty()\n public target: string;\n\n /** The tooltip display delay in milliseconds. */\n @FoundationProperty()\n public delay: number;\n\n /** Gets/sets the position. */\n @FoundationProperty()\n public position: `${PopupPlacement}`;\n\n /** Gets the open state of the tooltip. */\n @FoundationProperty({ set: false })\n public open: boolean;\n\n @FoundationProperty({ set: false })\n public tooltipElement: HTMLElement | null;\n\n /** Hides the tooltip if it's open. */\n public hide(): void {\n this._foundation.hide();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { TooltipComponent } from './tooltip';\n\nexport * from './tooltip-adapter';\nexport * from './tooltip-constants';\nexport * from './tooltip-foundation';\nexport * from './tooltip-utils';\nexport * from './tooltip';\n\nexport function defineTooltipComponent(): void {\n defineCustomElement(TooltipComponent);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * Hides an element from the user visually, while keeping it in the DOM.\n * @param element The element to hide from view.\n */\nexport function hideElementVisually(element) {\n element.style.border = '0';\n element.style.clip = 'rect(0 0 0 0)';\n element.style.height = '1px';\n element.style.margin = '-1px';\n element.style.overflow = 'hidden';\n element.style.padding = '0';\n element.style.position = 'absolute';\n element.style.width = '1px';\n element.style.outline = '0';\n element.style.setProperty('-webkit-appearance', 'none');\n element.style.setProperty('-moz-appearance', 'none');\n}\n", "import { IElementPosition, positionElementAsync } from '@tylertech/forge-core';\nimport { PopupPlacement } from '../popup';\nimport { TOOLTIP_CONSTANTS } from './tooltip-constants';\n\n/**\n * Attaches a positioned tooltip to the provided target element.\n * @param targetElement The element to position the tooltip around.\n * @param placement The placement of the tooltip relative to the target element.\n * @param content The content of the tooltip.\n */\nexport function attachTooltip(targetElement: HTMLElement, placement: PopupPlacement, content: string | HTMLElement | Text): HTMLElement {\n if (typeof content === 'string') {\n content = document.createTextNode(content);\n }\n\n const element = document.createElement('div');\n element.setAttribute('role', 'tooltip');\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP);\n element.appendChild(content);\n element.setAttribute('role', 'tooltip');\n element.setAttribute('aria-hidden', 'true');\n\n const hostDocument = targetElement.ownerDocument || document;\n hostDocument.body.appendChild(element);\n\n const offset: IElementPosition = { x: 0, y: 0 };\n const offsetAmount = 4;\n\n switch (placement) {\n case 'top':\n offset.y = -offsetAmount;\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_TOP);\n break;\n case 'right':\n offset.x = offsetAmount;\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_RIGHT);\n break;\n case 'bottom':\n offset.y = offsetAmount;\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_BOTTOM);\n break;\n case 'left':\n offset.x = -offsetAmount;\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_LEFT);\n break;\n }\n\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_OPEN);\n positionElementAsync({ element, targetElement, placement, transform: false, offset });\n });\n });\n\n return element;\n}\n", "import { removeAllChildren, removeElement, matchesSelectors } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { PopupPlacement } from '../popup';\nimport { ITooltipComponent } from './tooltip';\nimport { attachTooltip } from './tooltip-utils';\n\nexport interface ITooltipAdapter extends IBaseAdapter {\n hasTargetElement(): boolean;\n hasTooltipElement(): boolean;\n isTargetElementConnected(): boolean;\n initializeTargetElement(selector: string): void;\n destroy(identifier: string | null): void;\n initializeAccessibility(identifier: string): void;\n setTextContent(text: string): void;\n addTargetEventListener(type: string, listener: (evt: MouseEvent) => void): void;\n removeTargetEventListener(type: string, listener: (evt: MouseEvent) => void): void;\n showTooltip(position: PopupPlacement, content?: HTMLElement | Text): void;\n getInnerText(): string;\n hideTooltip(): void;\n getTooltipElement(): HTMLElement | null;\n}\n\n/**\n * The DOM adapter for the tooltip component.\n */\nexport class TooltipAdapter extends BaseAdapter<ITooltipComponent> implements ITooltipAdapter {\n private _targetElement: HTMLElement | null;\n private _tooltipElement: HTMLElement | null = null;\n\n constructor(component: ITooltipComponent) {\n super(component);\n }\n\n public initializeTargetElement(selector: string): void {\n this._targetElement = this._getTargetElement(selector);\n }\n\n public initializeAccessibility(identifier: string): void {\n if (this._targetElement && !this._targetElement.hasAttribute('aria-describedby')) {\n this._targetElement.setAttribute('aria-describedby', identifier);\n }\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public hasTooltipElement(): boolean {\n return !!this._tooltipElement;\n }\n\n public isTargetElementConnected(): boolean {\n return !!this._targetElement && this._targetElement.isConnected;\n }\n\n public destroy(identifier: string | null): void {\n if (this._targetElement && this._targetElement.getAttribute('aria-describedby') === identifier) {\n this._targetElement.removeAttribute('aria-describedby');\n }\n }\n\n /**\n * Sets the text content of the host element to the provided text.\n * @param text The text content.\n */\n public setTextContent(text: string): void {\n removeAllChildren(this._component);\n if (text) {\n this._component.appendChild(document.createTextNode(text));\n }\n }\n\n /**\n * Adds an event listener to the target element.\n * @param targetElement The target element instance.\n * @param type The event type.\n * @param listener The event listener.\n */\n public addTargetEventListener(type: string, listener: (evt: MouseEvent) => void): void {\n if (this._targetElement) {\n this._targetElement.addEventListener(type, listener);\n }\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: MouseEvent) => void): void {\n if (this._targetElement) {\n this._targetElement.removeEventListener(type, listener);\n }\n }\n\n /**\n * Displays the tooltip around the target element based on the provided configuration.\n * @param position The position.\n * @param content The tooltip content.\n */\n public showTooltip(position: PopupPlacement, content?: HTMLElement | Text): void {\n if (!this._targetElement) {\n return;\n }\n\n if (!content) {\n const child = this._getTooltipContent();\n content = child.cloneNode(true) as HTMLElement | Text;\n }\n\n const isEmptyTextNode = content.nodeType === 3 && (!content.textContent || content.textContent.trim().length === 0);\n const isEmptyNode = !content || isEmptyTextNode;\n if (isEmptyNode) {\n return;\n }\n\n this._tooltipElement = attachTooltip(this._targetElement, position, content);\n }\n\n public getInnerText(): string {\n return this._component.innerText;\n }\n\n /**\n * Removes the tooltip from the DOM.\n * @param tooltipElement The target element instance.\n */\n public hideTooltip(): void {\n if (this._tooltipElement) {\n removeElement(this._tooltipElement);\n this._tooltipElement = null;\n }\n }\n\n public getTooltipElement(): HTMLElement | null {\n return this._tooltipElement;\n }\n\n /**\n * Gets the target element based on the provided CSS selector.\n * @param {string | undefined} selector The target element selector.\n */\n private _getTargetElement(selector: string | undefined): HTMLElement | null {\n if (selector) {\n if (this._component.parentElement) {\n if (matchesSelectors(this._component.parentElement, selector)) {\n return this._component.parentElement;\n }\n return this._component.parentElement.querySelector(selector);\n }\n } else {\n return (this._component.previousElementSibling || this._component.parentElement) as HTMLElement;\n }\n return null;\n }\n\n private _getTooltipContent(): Node {\n return this._component.firstElementChild || this._component.firstChild || document.createTextNode('');\n }\n}\n", "import { ICustomElementFoundation, throttle, Platform, isDefined } from '@tylertech/forge-core';\n\nimport { ITooltipAdapter } from './tooltip-adapter';\nimport { TOOLTIP_CONSTANTS, TooltipBuilder } from './tooltip-constants';\nimport { PopupPlacement } from '../popup';\n\nexport interface ITooltipFoundation extends ICustomElementFoundation {\n text: string;\n builder: TooltipBuilder | undefined;\n target: string;\n delay: number;\n position: PopupPlacement;\n open: boolean;\n hide(): void;\n tooltipElement: HTMLElement | null;\n}\n\n/**\n * The foundation class behind the tooltip component.\n */\nexport class TooltipFoundation implements ITooltipFoundation {\n private static _tooltipIdentifier = 0;\n private _identifier: string | null;\n private _text: string;\n private _builder: TooltipBuilder | undefined;\n private _target: string;\n private _delay = TOOLTIP_CONSTANTS.numbers.DEFAULT_DELAY;\n private _position: PopupPlacement = TOOLTIP_CONSTANTS.strings.DEFAULT_POSITION as PopupPlacement;\n private _mouseOverTimeout: number | undefined;\n private _isOpen = false;\n private _touchTimeout: number | undefined;\n private _mouseOverListener: (evt: MouseEvent) => void;\n private _mouseOutListener: (evt: MouseEvent) => void;\n private _touchStartListener: (evt: MouseEvent) => void;\n private _touchEndListener: (evt: MouseEvent) => void;\n private _scrollListener: (evt: Event) => void;\n private _clickListener: (evt: MouseEvent) => void;\n private _mouseDownListener: (evt: MouseEvent) => void;\n private _dragListener: (evt: DragEvent) => void;\n \n constructor(private _adapter: ITooltipAdapter) {\n this._mouseOverListener = evt => this._onMouseOver(evt);\n this._mouseOutListener = evt => this._onMouseOut(evt);\n this._touchStartListener = evt => this._onTouchStart(evt);\n this._touchEndListener = evt => this._onTouchEnd(evt);\n this._scrollListener = throttle((evt: Event) => this._onScroll(evt), 100);\n this._clickListener = () => this._targetInteracted();\n this._mouseDownListener = () => this._targetInteracted();\n this._dragListener = () => this._targetInteracted();\n }\n\n public initialize(): void {\n this._adapter.initializeTargetElement(this._target);\n\n if (!this._adapter.hasTargetElement()) {\n throw new Error('Unable to locate target element.');\n }\n\n // Set a unique id for this tooltip (unless it already has one)\n this._identifier = this._adapter.getHostAttribute('id');\n if (!this._identifier) {\n this._identifier = this._getNextIdentifier();\n this._adapter.setHostAttribute('id', this._identifier);\n }\n\n this._addTargetListeners();\n this._adapter.initializeAccessibility(this._identifier);\n }\n\n public disconnect(): void {\n if (this._mouseOverTimeout) {\n window.clearTimeout(this._mouseOverTimeout);\n this._mouseOverTimeout = undefined;\n }\n if (this._touchTimeout) {\n window.clearTimeout(this._touchTimeout);\n this._touchTimeout = undefined;\n }\n this._adapter.destroy(this._identifier);\n if (this._isOpen) {\n this.hide();\n }\n if (this._adapter.hasTargetElement()) {\n this._removeTargetListeners();\n }\n }\n\n /**\n * Generates the next available tooltip identifier.\n */\n private _getNextIdentifier(): string {\n return `forge-tooltip-${TooltipFoundation._tooltipIdentifier++}`;\n }\n\n /** Adds event listeners to the target element. */\n private _addTargetListeners(): void {\n if (Platform.isMobile) {\n this._adapter.addTargetEventListener('touchstart', this._touchStartListener);\n this._adapter.addTargetEventListener('touchend', this._touchEndListener);\n } else {\n this._adapter.addTargetEventListener('mouseover', this._mouseOverListener);\n this._adapter.addTargetEventListener('mouseout', this._mouseOutListener);\n }\n\n this._adapter.addTargetEventListener('click', this._clickListener);\n this._adapter.addTargetEventListener('mousedown', this._mouseDownListener);\n this._adapter.addTargetEventListener('dragstart', this._dragListener);\n }\n\n /**\n * Removes the event listeners from the target element.\n * @param targetElement The target element instance.\n */\n private _removeTargetListeners(): void {\n if (Platform.isMobile) {\n this._adapter.removeTargetEventListener('touchstart', this._touchStartListener);\n this._adapter.removeTargetEventListener('touchend', this._touchEndListener);\n } else {\n this._adapter.removeTargetEventListener('mouseover', this._mouseOverListener);\n this._adapter.removeTargetEventListener('mouseout', this._mouseOutListener);\n }\n\n this._adapter.removeTargetEventListener('click', this._clickListener);\n this._adapter.removeTargetEventListener('mousedown', this._mouseDownListener);\n this._adapter.removeTargetEventListener('dragstart', this._dragListener);\n }\n\n /**\n * Handles the touchstart event on the target element to detect long press.\n */\n private _onTouchStart(evt: Event): void {\n this._touchTimeout = window.setTimeout(() => {\n this._show();\n window.setTimeout(() => this.hide(), TOOLTIP_CONSTANTS.numbers.LONGPRESS_VISIBILITY_DURATION);\n this._touchTimeout = undefined;\n }, TOOLTIP_CONSTANTS.numbers.LONGPRESS_THRESHOLD);\n }\n \n /**\n * Handles the touchend event on the target element to cancel a long press action.\n */\n private _onTouchEnd(evt: Event): void {\n if (this._touchTimeout) {\n this._clearTouchTimer();\n }\n }\n\n private _clearTouchTimer(): void {\n window.clearTimeout(this._touchTimeout);\n this._touchTimeout = undefined;\n }\n\n /**\n * Handles the mouseover event on the target element.\n */\n private _onMouseOver(evt: MouseEvent): void {\n if (this._isOpen || !this._adapter.hasTargetElement() || !this._adapter.isTargetElementConnected()) {\n return;\n }\n\n if (this._delay) {\n this._mouseOverTimeout = window.setTimeout(() => {\n this._show();\n this._mouseOverTimeout = undefined;\n }, this._delay);\n } else {\n this._show();\n }\n }\n\n /**\n * Handles the mouseout event on the target element.\n */\n private _onMouseOut(evt: MouseEvent): void {\n if (this._mouseOverTimeout) {\n window.clearTimeout(this._mouseOverTimeout);\n this._mouseOverTimeout = undefined;\n return;\n }\n this.hide();\n }\n\n /**\n * Displays the tooltip.\n */\n private _show(): void {\n let content: HTMLElement | undefined;\n\n if (this._builder && typeof this._builder === 'function') {\n content = this._builder();\n }\n\n this._adapter.showTooltip(this._position, content);\n\n if (this._adapter.hasTooltipElement()) {\n this._isOpen = true;\n this._adapter.addWindowListener('scroll', this._scrollListener);\n }\n }\n\n /**\n * Hides the tooltip.\n */\n public hide(): void {\n if (!this._isOpen) {\n return;\n }\n if (this._touchTimeout) {\n this._clearTouchTimer();\n }\n this._isOpen = false;\n this._adapter.removeWindowListener('scroll', this._scrollListener);\n this._adapter.hideTooltip();\n }\n\n /**\n * Handles scrolling events when the tooltip is open.\n */\n private _onScroll(evt: Event): void {\n if (!this._isOpen) {\n return;\n }\n this.hide();\n }\n\n private _targetInteracted(): void {\n if (this._mouseOverTimeout) {\n window.clearTimeout(this._mouseOverTimeout);\n }\n if (this._isOpen) {\n this.hide();\n }\n }\n\n /** Gets/sets the tooltip text. */\n public get text(): string {\n return this._text || this._adapter.getInnerText();\n }\n public set text(value: string) {\n if (this._text !== value) {\n this._text = value;\n this._adapter.setTextContent(this._text);\n this._adapter.setHostAttribute(TOOLTIP_CONSTANTS.attributes.TEXT, this._text);\n }\n }\n\n /** Sets the tooltip builder function. */\n public get builder(): TooltipBuilder | undefined {\n return this._builder;\n }\n public set builder(value: TooltipBuilder | undefined) {\n this._builder = value;\n }\n \n /** Gets/sets the target element CSS 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\n if (this._adapter.hasTargetElement()) {\n this._removeTargetListeners();\n }\n\n this._adapter.initializeTargetElement(this._target);\n \n if (this._adapter.hasTargetElement()) {\n this._addTargetListeners();\n }\n\n this._adapter.setHostAttribute(TOOLTIP_CONSTANTS.attributes.TARGET, isDefined(this._target) ? this._target : '');\n }\n }\n\n /** Gets/sets the interaction delay. */\n public get delay(): number {\n return this._delay;\n }\n public set delay(value: number) {\n if (this._delay !== value) {\n this._delay = value;\n this._adapter.setHostAttribute(TOOLTIP_CONSTANTS.attributes.DELAY, isDefined(this._delay) ? this._delay.toString() : '');\n }\n }\n\n /** Gets/sets the tooltip position. */\n public get position(): PopupPlacement {\n return this._position;\n }\n public set position(value: PopupPlacement) {\n if (this._position !== value) {\n this._position = value;\n this._adapter.setHostAttribute(TOOLTIP_CONSTANTS.attributes.POSITION, isDefined(this._position) ? this._position.toString() : '');\n }\n }\n\n public get open(): boolean {\n return this._isOpen;\n }\n\n public get tooltipElement(): HTMLElement | null {\n return this._adapter.getTooltipElement();\n }\n}\n", "import { CustomElement, coerceNumber, hideElementVisually, FoundationProperty } from '@tylertech/forge-core';\nimport { TooltipAdapter } from './tooltip-adapter';\nimport { TooltipFoundation } from './tooltip-foundation';\nimport { TOOLTIP_CONSTANTS, TooltipBuilder } from './tooltip-constants';\nimport { PopupPlacement } from '../popup';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nexport interface ITooltipComponent extends IBaseComponent {\n text: string;\n builder: TooltipBuilder | undefined;\n target: string;\n delay: number;\n position: PopupPlacement;\n open: boolean;\n hide(): void;\n tooltipElement: HTMLElement | null;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-tooltip': ITooltipComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-tooltip>` element.\n * \n * @tag forge-tooltip\n */\n@CustomElement({\n name: TOOLTIP_CONSTANTS.elementName\n})\nexport class TooltipComponent extends BaseComponent implements ITooltipComponent {\n public static get observedAttributes(): string[] {\n return [\n TOOLTIP_CONSTANTS.attributes.TEXT,\n TOOLTIP_CONSTANTS.attributes.TARGET,\n TOOLTIP_CONSTANTS.attributes.DELAY,\n TOOLTIP_CONSTANTS.attributes.POSITION\n ];\n }\n\n private _foundation: TooltipFoundation;\n\n constructor() {\n super();\n this._foundation = new TooltipFoundation(new TooltipAdapter(this));\n }\n\n public connectedCallback(): void {\n hideElementVisually(this);\n requestAnimationFrame(() => 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 TOOLTIP_CONSTANTS.attributes.TEXT:\n this.text = newValue;\n break;\n case TOOLTIP_CONSTANTS.attributes.TARGET:\n this.target = newValue;\n break;\n case TOOLTIP_CONSTANTS.attributes.DELAY:\n this.delay = coerceNumber(newValue);\n break;\n case TOOLTIP_CONSTANTS.attributes.POSITION:\n this.position = newValue as PopupPlacement;\n break;\n }\n }\n\n /** Gets/sets the tooltip text. */\n @FoundationProperty()\n public declare text: string;\n\n /** Sets the tooltip builder function for display complex tooltip content. */\n @FoundationProperty()\n public declare builder: TooltipBuilder | undefined;\n \n /** Gets/sets the target element selector. */\n @FoundationProperty()\n public declare target: string;\n\n /** The tooltip display delay in milliseconds. */\n @FoundationProperty()\n public declare delay: number;\n\n /** Gets/sets the position. */\n @FoundationProperty()\n public declare position: `${PopupPlacement}`;\n\n /** Gets the open state of the tooltip. */\n @FoundationProperty({ set: false })\n public declare open: boolean;\n\n @FoundationProperty({ set: false })\n public declare tooltipElement: HTMLElement | null;\n\n /** Hides the tooltip if it's open. */\n public hide(): void {\n this._foundation.hide();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { TooltipComponent } from './tooltip';\n\nexport * from './tooltip-adapter';\nexport * from './tooltip-constants';\nexport * from './tooltip-foundation';\nexport * from './tooltip-utils';\nexport * from './tooltip';\n\nexport function defineTooltipComponent(): void {\n defineCustomElement(TooltipComponent);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }