@tylertech/forge 2.13.2 → 2.14.0-dev.1

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 (602) hide show
  1. package/custom-elements.json +2804 -504
  2. package/dist/button/forge-button.css +1 -1
  3. package/dist/esm/accordion/index.js +1 -1
  4. package/dist/esm/app-bar/help-button/index.js +1 -1
  5. package/dist/esm/app-bar/index.js +1 -1
  6. package/dist/esm/app-bar/menu-button/index.js +1 -1
  7. package/dist/esm/app-bar/notification-button/index.js +1 -1
  8. package/dist/esm/app-bar/profile-button/index.js +1 -1
  9. package/dist/esm/app-bar/search/index.js +1 -1
  10. package/dist/esm/autocomplete/index.js +1 -1
  11. package/dist/esm/avatar/index.js +1 -1
  12. package/dist/esm/backdrop/index.js +1 -1
  13. package/dist/esm/badge/index.js +1 -1
  14. package/dist/esm/banner/index.js +1 -1
  15. package/dist/esm/bottom-sheet/index.js +1 -1
  16. package/dist/esm/busy-indicator/index.js +1 -1
  17. package/dist/esm/button/index.js +1 -1
  18. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  20. package/dist/esm/button-toggle/index.js +1 -1
  21. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  22. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  23. package/dist/esm/calendar/core/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/chunk.2BNDXFI5.js +7 -0
  32. package/dist/esm/chunks/chunk.2BNDXFI5.js.map +7 -0
  33. package/dist/esm/chunks/{chunk.PYG4YVBA.js → chunk.2DXG2R3M.js} +2 -2
  34. package/dist/esm/chunks/chunk.2DXG2R3M.js.map +7 -0
  35. package/dist/esm/chunks/{chunk.UUX4QJ4D.js → chunk.3KQL7VAZ.js} +1 -1
  36. package/dist/esm/chunks/{chunk.UUX4QJ4D.js.map → chunk.3KQL7VAZ.js.map} +2 -2
  37. package/dist/esm/chunks/chunk.44IJE5UL.js +7 -0
  38. package/dist/esm/chunks/chunk.44IJE5UL.js.map +7 -0
  39. package/dist/esm/chunks/{chunk.MIYZJUXH.js → chunk.47A2CN5U.js} +2 -2
  40. package/dist/esm/chunks/{chunk.MIYZJUXH.js.map → chunk.47A2CN5U.js.map} +2 -2
  41. package/dist/esm/chunks/{chunk.OLNFXF3V.js → chunk.4BEI55KI.js} +2 -2
  42. package/dist/esm/chunks/{chunk.OLNFXF3V.js.map → chunk.4BEI55KI.js.map} +2 -2
  43. package/dist/esm/chunks/{chunk.EC6JSIQW.js → chunk.4DAIIJ37.js} +1 -1
  44. package/dist/esm/chunks/{chunk.EC6JSIQW.js.map → chunk.4DAIIJ37.js.map} +2 -2
  45. package/dist/esm/chunks/{chunk.B52LJRGH.js → chunk.4FSAAN6W.js} +2 -2
  46. package/dist/esm/chunks/{chunk.B52LJRGH.js.map → chunk.4FSAAN6W.js.map} +2 -2
  47. package/dist/esm/chunks/chunk.4NI63FGK.js +7 -0
  48. package/dist/esm/chunks/chunk.4NI63FGK.js.map +7 -0
  49. package/dist/esm/chunks/{chunk.KBMLP7UT.js → chunk.4WPFFNLH.js} +2 -2
  50. package/dist/esm/chunks/{chunk.KBMLP7UT.js.map → chunk.4WPFFNLH.js.map} +3 -3
  51. package/dist/esm/chunks/chunk.4X2OFZDL.js +7 -0
  52. package/dist/esm/chunks/chunk.4X2OFZDL.js.map +7 -0
  53. package/dist/esm/chunks/chunk.5FPFRE4H.js +7 -0
  54. package/dist/esm/chunks/chunk.5FPFRE4H.js.map +7 -0
  55. package/dist/esm/chunks/chunk.6OKJPSUE.js +7 -0
  56. package/dist/esm/chunks/chunk.6OKJPSUE.js.map +7 -0
  57. package/dist/esm/chunks/{chunk.AMFXGOSA.js → chunk.6YPD6CQM.js} +1 -1
  58. package/dist/esm/chunks/{chunk.AMFXGOSA.js.map → chunk.6YPD6CQM.js.map} +2 -2
  59. package/dist/esm/chunks/chunk.72AUOVCD.js +7 -0
  60. package/dist/esm/chunks/chunk.72AUOVCD.js.map +7 -0
  61. package/dist/esm/chunks/{chunk.X5JLUP7O.js → chunk.73AYD2BF.js} +2 -2
  62. package/dist/esm/chunks/{chunk.X5JLUP7O.js.map → chunk.73AYD2BF.js.map} +2 -2
  63. package/dist/esm/chunks/chunk.77Y3EABF.js +7 -0
  64. package/dist/esm/chunks/chunk.77Y3EABF.js.map +7 -0
  65. package/dist/esm/chunks/chunk.7A6MX6CS.js +7 -0
  66. package/dist/esm/chunks/chunk.7A6MX6CS.js.map +7 -0
  67. package/dist/esm/chunks/{chunk.V55E5JD5.js → chunk.7UKA4E5A.js} +2 -2
  68. package/dist/esm/chunks/{chunk.V55E5JD5.js.map → chunk.7UKA4E5A.js.map} +2 -2
  69. package/dist/esm/chunks/{chunk.GVQVA7P3.js → chunk.7XFU2W25.js} +1 -1
  70. package/dist/esm/chunks/{chunk.GVQVA7P3.js.map → chunk.7XFU2W25.js.map} +2 -2
  71. package/dist/esm/chunks/{chunk.MYNPY3AQ.js → chunk.AFLH5HUG.js} +2 -2
  72. package/dist/esm/chunks/{chunk.MYNPY3AQ.js.map → chunk.AFLH5HUG.js.map} +2 -2
  73. package/dist/esm/chunks/{chunk.24D46RLZ.js → chunk.ARJ3EVVO.js} +2 -2
  74. package/dist/esm/chunks/{chunk.24D46RLZ.js.map → chunk.ARJ3EVVO.js.map} +2 -2
  75. package/dist/esm/chunks/{chunk.OOW3UKT4.js → chunk.BE7PZANN.js} +2 -2
  76. package/dist/esm/chunks/{chunk.OOW3UKT4.js.map → chunk.BE7PZANN.js.map} +2 -2
  77. package/dist/esm/chunks/{chunk.3STDLL5U.js → chunk.BJE6O5ES.js} +2 -2
  78. package/dist/esm/chunks/{chunk.3STDLL5U.js.map → chunk.BJE6O5ES.js.map} +2 -2
  79. package/dist/esm/chunks/{chunk.2GY2VPJG.js → chunk.BJZ7RB5F.js} +1 -1
  80. package/dist/esm/chunks/{chunk.2GY2VPJG.js.map → chunk.BJZ7RB5F.js.map} +2 -2
  81. package/dist/esm/chunks/chunk.BTBHIIGI.js +7 -0
  82. package/dist/esm/chunks/chunk.BTBHIIGI.js.map +7 -0
  83. package/dist/esm/chunks/chunk.C7AN6FMW.js +7 -0
  84. package/dist/esm/chunks/chunk.C7AN6FMW.js.map +7 -0
  85. package/dist/esm/chunks/{chunk.NV2HNCQH.js → chunk.DFJUCHEO.js} +2 -2
  86. package/dist/esm/chunks/{chunk.NV2HNCQH.js.map → chunk.DFJUCHEO.js.map} +2 -2
  87. package/dist/esm/chunks/{chunk.AWCBH5KW.js → chunk.DONAMICM.js} +1 -1
  88. package/dist/esm/chunks/{chunk.AWCBH5KW.js.map → chunk.DONAMICM.js.map} +2 -2
  89. package/dist/esm/chunks/chunk.DQJPIDVW.js +7 -0
  90. package/dist/esm/chunks/chunk.DQJPIDVW.js.map +7 -0
  91. package/dist/esm/chunks/{chunk.PBJEZJTY.js → chunk.DT7MZR5Y.js} +2 -2
  92. package/dist/esm/chunks/{chunk.PBJEZJTY.js.map → chunk.DT7MZR5Y.js.map} +2 -2
  93. package/dist/esm/chunks/chunk.DYNEJBYK.js +7 -0
  94. package/dist/esm/chunks/{chunk.O5I3ZMDA.js.map → chunk.DYNEJBYK.js.map} +2 -2
  95. package/dist/esm/chunks/chunk.E6CYXNS2.js +7 -0
  96. package/dist/esm/chunks/chunk.E6CYXNS2.js.map +7 -0
  97. package/dist/esm/chunks/{chunk.ZFD3OE45.js → chunk.EGRUD7S7.js} +2 -2
  98. package/dist/esm/chunks/{chunk.ZFD3OE45.js.map → chunk.EGRUD7S7.js.map} +2 -2
  99. package/dist/esm/chunks/chunk.ESR2NHOS.js +7 -0
  100. package/dist/esm/chunks/chunk.ESR2NHOS.js.map +7 -0
  101. package/dist/esm/chunks/{chunk.55BOUOT6.js → chunk.F2B24WLK.js} +2 -2
  102. package/dist/esm/chunks/{chunk.55BOUOT6.js.map → chunk.F2B24WLK.js.map} +2 -2
  103. package/dist/esm/chunks/chunk.F3MP6AXF.js +29 -0
  104. package/dist/esm/chunks/chunk.F3MP6AXF.js.map +7 -0
  105. package/dist/esm/chunks/{chunk.Z4MN5NB5.js → chunk.FRYLJWYL.js} +2 -2
  106. package/dist/esm/chunks/{chunk.Z4MN5NB5.js.map → chunk.FRYLJWYL.js.map} +2 -2
  107. package/dist/esm/chunks/chunk.FVRSGKJD.js +7 -0
  108. package/dist/esm/chunks/chunk.FVRSGKJD.js.map +7 -0
  109. package/dist/esm/chunks/chunk.G3ZTZ4AN.js +7 -0
  110. package/dist/esm/chunks/chunk.G3ZTZ4AN.js.map +7 -0
  111. package/dist/esm/chunks/{chunk.MNPORZ4F.js → chunk.G45OZEIS.js} +2 -2
  112. package/dist/esm/chunks/{chunk.MNPORZ4F.js.map → chunk.G45OZEIS.js.map} +2 -2
  113. package/dist/esm/chunks/{chunk.5PXABBKU.js → chunk.G5MGGEFP.js} +2 -2
  114. package/dist/esm/chunks/{chunk.5PXABBKU.js.map → chunk.G5MGGEFP.js.map} +2 -2
  115. package/dist/esm/chunks/{chunk.Y6FFG7XO.js → chunk.GO5A4GKZ.js} +1 -1
  116. package/dist/esm/chunks/{chunk.Y6FFG7XO.js.map → chunk.GO5A4GKZ.js.map} +2 -2
  117. package/dist/esm/chunks/{chunk.L54GENPD.js → chunk.H4Z4DHPA.js} +2 -2
  118. package/dist/esm/chunks/{chunk.L54GENPD.js.map → chunk.H4Z4DHPA.js.map} +2 -2
  119. package/dist/esm/chunks/chunk.HBMNXZES.js +7 -0
  120. package/dist/esm/chunks/chunk.HBMNXZES.js.map +7 -0
  121. package/dist/esm/chunks/{chunk.Y5GQ2BA7.js → chunk.HPDBSBQJ.js} +2 -2
  122. package/dist/esm/chunks/{chunk.Y5GQ2BA7.js.map → chunk.HPDBSBQJ.js.map} +2 -2
  123. package/dist/esm/chunks/{chunk.TLS4ALGU.js → chunk.HU27X3IT.js} +2 -2
  124. package/dist/esm/chunks/{chunk.TLS4ALGU.js.map → chunk.HU27X3IT.js.map} +2 -2
  125. package/dist/esm/chunks/{chunk.ORF746AF.js → chunk.HV6SPRC4.js} +2 -2
  126. package/dist/esm/chunks/{chunk.ORF746AF.js.map → chunk.HV6SPRC4.js.map} +2 -2
  127. package/dist/esm/chunks/chunk.I5BAZWUF.js +7 -0
  128. package/dist/esm/chunks/chunk.I5BAZWUF.js.map +7 -0
  129. package/dist/esm/chunks/chunk.IGTXLDZS.js +7 -0
  130. package/dist/esm/chunks/{chunk.BYRJ7577.js.map → chunk.IGTXLDZS.js.map} +2 -2
  131. package/dist/esm/chunks/{chunk.GXUYYBVO.js → chunk.ILRWZHH3.js} +2 -2
  132. package/dist/esm/chunks/chunk.ILRWZHH3.js.map +7 -0
  133. package/dist/esm/chunks/{chunk.Z6S62LZJ.js → chunk.INCKI5IX.js} +2 -2
  134. package/dist/esm/chunks/{chunk.Z6S62LZJ.js.map → chunk.INCKI5IX.js.map} +2 -2
  135. package/dist/esm/chunks/{chunk.IMZ5PF4C.js → chunk.J2H5RXTX.js} +2 -2
  136. package/dist/esm/chunks/{chunk.IMZ5PF4C.js.map → chunk.J2H5RXTX.js.map} +2 -2
  137. package/dist/esm/chunks/{chunk.G76HB2FK.js → chunk.J2M2MXP2.js} +1 -1
  138. package/dist/esm/chunks/{chunk.G76HB2FK.js.map → chunk.J2M2MXP2.js.map} +2 -2
  139. package/dist/esm/chunks/{chunk.SVGEVCXA.js → chunk.J6WCFQSS.js} +2 -2
  140. package/dist/esm/chunks/{chunk.SVGEVCXA.js.map → chunk.J6WCFQSS.js.map} +2 -2
  141. package/dist/esm/chunks/{chunk.HWVLZ44Q.js → chunk.JEN6YP2Q.js} +2 -2
  142. package/dist/esm/chunks/{chunk.HWVLZ44Q.js.map → chunk.JEN6YP2Q.js.map} +2 -2
  143. package/dist/esm/chunks/{chunk.JXY6MTP3.js → chunk.JHBCYICS.js} +2 -2
  144. package/dist/esm/chunks/{chunk.JXY6MTP3.js.map → chunk.JHBCYICS.js.map} +2 -2
  145. package/dist/esm/chunks/chunk.JHY2CKEH.js +7 -0
  146. package/dist/esm/chunks/{chunk.VW4JVRH7.js.map → chunk.JHY2CKEH.js.map} +2 -2
  147. package/dist/esm/chunks/{chunk.FL6SJHQU.js → chunk.K2C4W3CO.js} +2 -2
  148. package/dist/esm/chunks/{chunk.FL6SJHQU.js.map → chunk.K2C4W3CO.js.map} +3 -3
  149. package/dist/esm/chunks/chunk.K6AFP52A.js +7 -0
  150. package/dist/esm/chunks/chunk.K6AFP52A.js.map +7 -0
  151. package/dist/esm/chunks/{chunk.ZAGCOV55.js → chunk.KE6GOYAB.js} +2 -2
  152. package/dist/esm/chunks/{chunk.ZAGCOV55.js.map → chunk.KE6GOYAB.js.map} +2 -2
  153. package/dist/esm/chunks/{chunk.B3IJU6XJ.js → chunk.KTGSZEAG.js} +1 -1
  154. package/dist/esm/chunks/{chunk.B3IJU6XJ.js.map → chunk.KTGSZEAG.js.map} +2 -2
  155. package/dist/esm/chunks/{chunk.BMFJLHDR.js → chunk.KU5CXXGS.js} +2 -2
  156. package/dist/esm/chunks/{chunk.BMFJLHDR.js.map → chunk.KU5CXXGS.js.map} +2 -2
  157. package/dist/esm/chunks/{chunk.ALJ3FDXL.js → chunk.KZO4DT2S.js} +2 -2
  158. package/dist/esm/chunks/{chunk.ALJ3FDXL.js.map → chunk.KZO4DT2S.js.map} +3 -3
  159. package/dist/esm/chunks/{chunk.7MVBJ37L.js → chunk.LDN4HLF7.js} +2 -2
  160. package/dist/esm/chunks/{chunk.7MVBJ37L.js.map → chunk.LDN4HLF7.js.map} +2 -2
  161. package/dist/esm/chunks/chunk.LFLREB3C.js +7 -0
  162. package/dist/esm/chunks/chunk.LFLREB3C.js.map +7 -0
  163. package/dist/esm/chunks/{chunk.E37HEAJ5.js → chunk.LIKJD4SK.js} +1 -1
  164. package/dist/esm/chunks/{chunk.E37HEAJ5.js.map → chunk.LIKJD4SK.js.map} +2 -2
  165. package/dist/esm/chunks/{chunk.S76NW5JY.js → chunk.LYOQ2RGP.js} +2 -2
  166. package/dist/esm/chunks/{chunk.S76NW5JY.js.map → chunk.LYOQ2RGP.js.map} +2 -2
  167. package/dist/esm/chunks/chunk.MHOS3IHQ.js +7 -0
  168. package/dist/esm/chunks/chunk.MHOS3IHQ.js.map +7 -0
  169. package/dist/esm/chunks/{chunk.IARIRFXO.js → chunk.MLV25D2G.js} +2 -2
  170. package/dist/esm/chunks/{chunk.IARIRFXO.js.map → chunk.MLV25D2G.js.map} +2 -2
  171. package/dist/esm/chunks/{chunk.N24NHF7Y.js → chunk.MXTDW27J.js} +2 -2
  172. package/dist/esm/chunks/{chunk.N24NHF7Y.js.map → chunk.MXTDW27J.js.map} +2 -2
  173. package/dist/esm/chunks/{chunk.LZMYHIO2.js → chunk.MZLPUI6R.js} +1 -1
  174. package/dist/esm/chunks/{chunk.LZMYHIO2.js.map → chunk.MZLPUI6R.js.map} +2 -2
  175. package/dist/esm/chunks/{chunk.SLSVRMAS.js → chunk.N4PVZUJX.js} +2 -2
  176. package/dist/esm/chunks/{chunk.SLSVRMAS.js.map → chunk.N4PVZUJX.js.map} +2 -2
  177. package/dist/esm/chunks/{chunk.YG2KLPHA.js.map → chunk.NW7NV2A2.js} +7 -7
  178. package/dist/esm/chunks/chunk.NW7NV2A2.js.map +7 -0
  179. package/dist/esm/chunks/{chunk.LGEYSCS2.js → chunk.O4FB4BV5.js} +2 -2
  180. package/dist/esm/chunks/{chunk.LGEYSCS2.js.map → chunk.O4FB4BV5.js.map} +2 -2
  181. package/dist/esm/chunks/{chunk.N46G56GG.js → chunk.O73S5LF3.js} +2 -2
  182. package/dist/esm/chunks/{chunk.N46G56GG.js.map → chunk.O73S5LF3.js.map} +2 -2
  183. package/dist/esm/chunks/{chunk.BCP2YATB.js → chunk.OV4QNVJH.js} +2 -2
  184. package/dist/esm/chunks/{chunk.BCP2YATB.js.map → chunk.OV4QNVJH.js.map} +2 -2
  185. package/dist/esm/chunks/{chunk.OJFI5I6O.js → chunk.OZ5BPXNV.js} +2 -2
  186. package/dist/esm/chunks/{chunk.OJFI5I6O.js.map → chunk.OZ5BPXNV.js.map} +2 -2
  187. package/dist/esm/chunks/{chunk.VHKQHMK3.js → chunk.P3IA2WTO.js} +2 -2
  188. package/dist/esm/chunks/{chunk.VHKQHMK3.js.map → chunk.P3IA2WTO.js.map} +3 -3
  189. package/dist/esm/chunks/{chunk.HWQEGQDD.js → chunk.PALRSBSY.js} +2 -2
  190. package/dist/esm/chunks/{chunk.HWQEGQDD.js.map → chunk.PALRSBSY.js.map} +2 -2
  191. package/dist/esm/chunks/{chunk.R4NDFXVA.js → chunk.PN26D52V.js} +2 -2
  192. package/dist/esm/chunks/{chunk.R4NDFXVA.js.map → chunk.PN26D52V.js.map} +2 -2
  193. package/dist/esm/chunks/chunk.PYIFIHDK.js +7 -0
  194. package/dist/esm/chunks/chunk.PYIFIHDK.js.map +7 -0
  195. package/dist/esm/chunks/{chunk.WEUNLYMQ.js → chunk.RB5BTA5N.js} +2 -2
  196. package/dist/esm/chunks/{chunk.WEUNLYMQ.js.map → chunk.RB5BTA5N.js.map} +2 -2
  197. package/dist/esm/chunks/{chunk.NYMNX3S7.js → chunk.RBAVT3XQ.js} +2 -2
  198. package/dist/esm/chunks/{chunk.NYMNX3S7.js.map → chunk.RBAVT3XQ.js.map} +2 -2
  199. package/dist/esm/chunks/chunk.RE5X26QT.js +29 -0
  200. package/dist/esm/chunks/chunk.RE5X26QT.js.map +7 -0
  201. package/dist/esm/chunks/chunk.RG6CDWEX.js +7 -0
  202. package/dist/esm/chunks/chunk.RG6CDWEX.js.map +7 -0
  203. package/dist/esm/chunks/chunk.RHFNK6EE.js +7 -0
  204. package/dist/esm/chunks/chunk.RHFNK6EE.js.map +7 -0
  205. package/dist/esm/chunks/{chunk.ZMXKZJRM.js → chunk.ROR6JMAE.js} +2 -2
  206. package/dist/esm/chunks/{chunk.ZMXKZJRM.js.map → chunk.ROR6JMAE.js.map} +2 -2
  207. package/dist/esm/chunks/chunk.RYMPSU4J.js +7 -0
  208. package/dist/esm/chunks/chunk.RYMPSU4J.js.map +7 -0
  209. package/dist/esm/chunks/{chunk.MBS5VMYY.js → chunk.SAQVWOVK.js} +2 -2
  210. package/dist/esm/chunks/{chunk.MBS5VMYY.js.map → chunk.SAQVWOVK.js.map} +3 -3
  211. package/dist/esm/chunks/chunk.SD4LLO5A.js +12 -0
  212. package/dist/esm/chunks/chunk.SD4LLO5A.js.map +7 -0
  213. package/dist/esm/chunks/{chunk.TCAOLSLI.js → chunk.SXTTEIIH.js} +2 -2
  214. package/dist/esm/chunks/{chunk.TCAOLSLI.js.map → chunk.SXTTEIIH.js.map} +2 -2
  215. package/dist/esm/chunks/{chunk.MWD47ZZU.js → chunk.T76JYRPR.js} +2 -2
  216. package/dist/esm/chunks/{chunk.MWD47ZZU.js.map → chunk.T76JYRPR.js.map} +3 -3
  217. package/dist/esm/chunks/chunk.TR5YMNJJ.js +7 -0
  218. package/dist/esm/chunks/chunk.TR5YMNJJ.js.map +7 -0
  219. package/dist/esm/chunks/{chunk.DRXMITOO.js → chunk.TWZXQQQO.js} +2 -2
  220. package/dist/esm/chunks/{chunk.DRXMITOO.js.map → chunk.TWZXQQQO.js.map} +3 -3
  221. package/dist/esm/chunks/chunk.U6WGJELL.js +7 -0
  222. package/dist/esm/chunks/chunk.U6WGJELL.js.map +7 -0
  223. package/dist/esm/chunks/chunk.U724KSZU.js +7 -0
  224. package/dist/esm/chunks/chunk.U724KSZU.js.map +7 -0
  225. package/dist/esm/chunks/{chunk.LZHDRATV.js → chunk.UBD2DPQN.js} +2 -2
  226. package/dist/esm/chunks/{chunk.LZHDRATV.js.map → chunk.UBD2DPQN.js.map} +2 -2
  227. package/dist/esm/chunks/{chunk.2ZQ3ZDPN.js → chunk.UF43SSFY.js} +2 -2
  228. package/dist/esm/chunks/{chunk.2ZQ3ZDPN.js.map → chunk.UF43SSFY.js.map} +2 -2
  229. package/dist/esm/chunks/chunk.ULIFS3UR.js +7 -0
  230. package/dist/esm/chunks/chunk.ULIFS3UR.js.map +7 -0
  231. package/dist/esm/chunks/{chunk.2LHBE2QZ.js → chunk.UT7QUGAO.js} +2 -2
  232. package/dist/esm/chunks/{chunk.2LHBE2QZ.js.map → chunk.UT7QUGAO.js.map} +2 -2
  233. package/dist/esm/chunks/{chunk.STS5TIUV.js → chunk.V4TCOZLK.js} +1 -1
  234. package/dist/esm/chunks/chunk.V4TCOZLK.js.map +7 -0
  235. package/dist/esm/chunks/chunk.V7WKXEZC.js +7 -0
  236. package/dist/esm/chunks/chunk.V7WKXEZC.js.map +7 -0
  237. package/dist/esm/chunks/{chunk.HHJJJ73Y.js → chunk.VAKNDCLP.js} +2 -2
  238. package/dist/esm/chunks/{chunk.HHJJJ73Y.js.map → chunk.VAKNDCLP.js.map} +3 -3
  239. package/dist/esm/chunks/chunk.VC2BG2RS.js +7 -0
  240. package/dist/esm/chunks/chunk.VC2BG2RS.js.map +7 -0
  241. package/dist/esm/chunks/{chunk.3L7T5WYL.js → chunk.WP4QOOIS.js} +2 -2
  242. package/dist/esm/chunks/{chunk.3L7T5WYL.js.map → chunk.WP4QOOIS.js.map} +2 -2
  243. package/dist/esm/chunks/chunk.WY7DECJD.js +7 -0
  244. package/dist/esm/chunks/chunk.WY7DECJD.js.map +7 -0
  245. package/dist/esm/chunks/{chunk.YONRMJU5.js → chunk.X5LGVZGO.js} +2 -2
  246. package/dist/esm/chunks/chunk.X5LGVZGO.js.map +7 -0
  247. package/dist/esm/chunks/{chunk.HPJ4AQIE.js → chunk.XHV3GQ7L.js} +2 -2
  248. package/dist/esm/chunks/{chunk.HPJ4AQIE.js.map → chunk.XHV3GQ7L.js.map} +2 -2
  249. package/dist/esm/chunks/{chunk.5TVWDATE.js → chunk.XUW3GG46.js} +2 -2
  250. package/dist/esm/chunks/{chunk.5TVWDATE.js.map → chunk.XUW3GG46.js.map} +2 -2
  251. package/dist/esm/chunks/chunk.XZ4WI7VK.js +7 -0
  252. package/dist/esm/chunks/chunk.XZ4WI7VK.js.map +7 -0
  253. package/dist/esm/chunks/{chunk.MMVZJLXE.js → chunk.Y4GKBJGI.js} +2 -2
  254. package/dist/esm/chunks/{chunk.MMVZJLXE.js.map → chunk.Y4GKBJGI.js.map} +2 -2
  255. package/dist/esm/chunks/chunk.Y66GSZJB.js +7 -0
  256. package/dist/esm/chunks/{chunk.5BDTX7CR.js.map → chunk.Y66GSZJB.js.map} +3 -3
  257. package/dist/esm/chunks/chunk.Y72NANFX.js +7 -0
  258. package/dist/esm/chunks/chunk.Y72NANFX.js.map +7 -0
  259. package/dist/esm/chunks/chunk.YBEBD4CN.js +7 -0
  260. package/dist/esm/chunks/chunk.YBEBD4CN.js.map +7 -0
  261. package/dist/esm/chunks/{chunk.D4SNVKDA.js → chunk.YI4JTY4T.js} +1 -1
  262. package/dist/esm/chunks/{chunk.D4SNVKDA.js.map → chunk.YI4JTY4T.js.map} +2 -2
  263. package/dist/esm/chunks/{chunk.E43TT4RI.js → chunk.YPZNIYQL.js} +1 -1
  264. package/dist/esm/chunks/{chunk.E43TT4RI.js.map → chunk.YPZNIYQL.js.map} +2 -2
  265. package/dist/esm/chunks/{chunk.F5I55MXD.js → chunk.ZUNZKRRK.js} +2 -2
  266. package/dist/esm/chunks/{chunk.F5I55MXD.js.map → chunk.ZUNZKRRK.js.map} +2 -2
  267. package/dist/esm/circular-progress/index.js +1 -1
  268. package/dist/esm/color-picker/index.js +1 -1
  269. package/dist/esm/core/base/index.js +1 -1
  270. package/dist/esm/core/delegates/index.js +1 -1
  271. package/dist/esm/core/index.js +1 -1
  272. package/dist/esm/core/mask/index.js +1 -1
  273. package/dist/esm/core/utils/index.js +1 -1
  274. package/dist/esm/date-picker/index.js +1 -1
  275. package/dist/esm/date-range-picker/index.js +1 -1
  276. package/dist/esm/dialog/index.js +1 -1
  277. package/dist/esm/divider/index.js +1 -1
  278. package/dist/esm/drawer/base/index.js +1 -1
  279. package/dist/esm/drawer/drawer/index.js +1 -1
  280. package/dist/esm/drawer/index.js +1 -1
  281. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  282. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  283. package/dist/esm/expansion-panel/index.js +1 -1
  284. package/dist/esm/file-picker/index.js +1 -1
  285. package/dist/esm/floating-action-button/index.js +1 -1
  286. package/dist/esm/floating-label/index.js +1 -1
  287. package/dist/esm/icon/index.js +1 -1
  288. package/dist/esm/icon-button/index.js +1 -1
  289. package/dist/esm/index.js +1 -1
  290. package/dist/esm/inline-message/index.js +1 -1
  291. package/dist/esm/keyboard-shortcut/index.js +1 -1
  292. package/dist/esm/label-value/index.js +1 -1
  293. package/dist/esm/linear-progress/index.js +1 -1
  294. package/dist/esm/list/index.js +1 -1
  295. package/dist/esm/list/list/index.js +1 -1
  296. package/dist/esm/list/list-item/index.js +1 -1
  297. package/dist/esm/list-dropdown/index.js +1 -1
  298. package/dist/esm/menu/index.js +1 -1
  299. package/dist/esm/open-icon/index.js +1 -1
  300. package/dist/esm/page-state/index.js +1 -1
  301. package/dist/esm/paginator/index.js +1 -1
  302. package/dist/esm/popup/index.js +1 -1
  303. package/dist/esm/product-icon/index.js +1 -1
  304. package/dist/esm/profile-card/index.js +1 -1
  305. package/dist/esm/quantity-field/index.js +1 -1
  306. package/dist/esm/radio/index.js +1 -1
  307. package/dist/esm/ripple/index.js +1 -1
  308. package/dist/esm/scaffold/index.js +1 -1
  309. package/dist/esm/select/core/index.js +1 -1
  310. package/dist/esm/select/index.js +1 -1
  311. package/dist/esm/select/option/index.js +1 -1
  312. package/dist/esm/select/option-group/index.js +1 -1
  313. package/dist/esm/select/select/index.js +1 -1
  314. package/dist/esm/select/select-dropdown/index.js +1 -1
  315. package/dist/esm/skeleton/index.js +1 -1
  316. package/dist/esm/slider/index.js +1 -1
  317. package/dist/esm/split-view/index.js +1 -1
  318. package/dist/esm/split-view/split-view/index.js +1 -1
  319. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  320. package/dist/esm/stack/index.js +7 -0
  321. package/dist/esm/stack/index.js.map +7 -0
  322. package/dist/esm/stepper/index.js +1 -1
  323. package/dist/esm/stepper/step/index.js +1 -1
  324. package/dist/esm/stepper/stepper/index.js +1 -1
  325. package/dist/esm/switch/index.js +1 -1
  326. package/dist/esm/table/index.js +1 -1
  327. package/dist/esm/tabs/index.js +1 -1
  328. package/dist/esm/tabs/tab/index.js +1 -1
  329. package/dist/esm/tabs/tab-bar/index.js +1 -1
  330. package/dist/esm/text-field/index.js +1 -1
  331. package/dist/esm/theme/index.js +1 -1
  332. package/dist/esm/time-picker/index.js +1 -1
  333. package/dist/esm/toast/index.js +1 -1
  334. package/dist/esm/toolbar/index.js +1 -1
  335. package/dist/esm/tooltip/index.js +1 -1
  336. package/dist/esm/utils/index.js +1 -1
  337. package/dist/esm/view-switcher/index.js +1 -1
  338. package/dist/esm/view-switcher/view/index.js +1 -1
  339. package/dist/floating-action-button/forge-floating-action-button.css +1 -1
  340. package/dist/floating-label/forge-floating-label.css +1 -1
  341. package/dist/forge.css +1 -1
  342. package/dist/utils/forge-utils.css +1 -1
  343. package/esm/app-bar/app-bar.js +1 -1
  344. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +3 -0
  345. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +5 -0
  346. package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +1 -0
  347. package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +2 -1
  348. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +4 -0
  349. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +14 -0
  350. package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +2 -0
  351. package/esm/app-bar/notification-button/app-bar-notification-button.js +9 -2
  352. package/esm/autocomplete/autocomplete-adapter.d.ts +11 -10
  353. package/esm/autocomplete/autocomplete-adapter.js +4 -1
  354. package/esm/autocomplete/autocomplete-constants.d.ts +11 -12
  355. package/esm/autocomplete/autocomplete-constants.js +1 -0
  356. package/esm/autocomplete/autocomplete-foundation.d.ts +14 -7
  357. package/esm/autocomplete/autocomplete-foundation.js +26 -4
  358. package/esm/autocomplete/autocomplete-utils.d.ts +4 -5
  359. package/esm/autocomplete/autocomplete.d.ts +10 -4
  360. package/esm/autocomplete/autocomplete.js +10 -3
  361. package/esm/badge/badge.js +1 -1
  362. package/esm/busy-indicator/busy-indicator.js +2 -2
  363. package/esm/button/button-constants.d.ts +1 -0
  364. package/esm/button/button-constants.js +2 -1
  365. package/esm/button/button.d.ts +1 -1
  366. package/esm/button/button.js +6 -7
  367. package/esm/calendar/calendar-foundation.js +1 -0
  368. package/esm/calendar/calendar.js +1 -1
  369. package/esm/card/card.js +1 -1
  370. package/esm/checkbox/checkbox-adapter.d.ts +1 -2
  371. package/esm/checkbox/checkbox-adapter.js +12 -8
  372. package/esm/checkbox/checkbox-foundation.js +0 -3
  373. package/esm/chip-field/chip-field-adapter.d.ts +2 -0
  374. package/esm/chip-field/chip-field-adapter.js +8 -3
  375. package/esm/chip-field/chip-field-foundation.js +1 -0
  376. package/esm/chip-field/chip-field.js +1 -1
  377. package/esm/chips/chip/chip-adapter.d.ts +17 -2
  378. package/esm/chips/chip/chip-adapter.js +90 -15
  379. package/esm/chips/chip/chip-constants.d.ts +4 -0
  380. package/esm/chips/chip/chip-constants.js +6 -2
  381. package/esm/chips/chip/chip-foundation.d.ts +2 -0
  382. package/esm/chips/chip/chip-foundation.js +38 -13
  383. package/esm/chips/chip/chip.d.ts +2 -0
  384. package/esm/chips/chip/chip.js +5 -2
  385. package/esm/chips/chip-set/chip-set-adapter.d.ts +4 -0
  386. package/esm/chips/chip-set/chip-set-adapter.js +24 -0
  387. package/esm/chips/chip-set/chip-set-foundation.d.ts +3 -0
  388. package/esm/chips/chip-set/chip-set-foundation.js +8 -0
  389. package/esm/chips/chip-set/chip-set.d.ts +1 -0
  390. package/esm/chips/chip-set/chip-set.js +3 -0
  391. package/esm/circular-progress/circular-progress.js +1 -1
  392. package/esm/color-picker/color-picker-foundation.d.ts +1 -0
  393. package/esm/color-picker/color-picker-foundation.js +19 -8
  394. package/esm/core/mask/intermediate-time-parser.d.ts +49 -0
  395. package/esm/core/mask/intermediate-time-parser.js +106 -0
  396. package/esm/core/mask/time-input-mask.d.ts +0 -1
  397. package/esm/core/mask/time-input-mask.js +79 -58
  398. package/esm/core/mask/time-segment-parser.d.ts +22 -0
  399. package/esm/core/mask/time-segment-parser.js +46 -0
  400. package/esm/core/utils/date-utils.js +2 -2
  401. package/esm/core/utils/time-utils.d.ts +1 -0
  402. package/esm/core/utils/time-utils.js +20 -3
  403. package/esm/core/utils/utils.d.ts +0 -6
  404. package/esm/core/utils/utils.js +0 -10
  405. package/esm/date-picker/base/base-date-picker-foundation.js +2 -1
  406. package/esm/date-picker/base/base-date-picker.d.ts +2 -2
  407. package/esm/date-range-picker/date-range-picker-foundation.d.ts +2 -2
  408. package/esm/date-range-picker/date-range-picker-foundation.js +1 -1
  409. package/esm/dialog/dialog-adapter.d.ts +0 -2
  410. package/esm/dialog/dialog-adapter.js +1 -10
  411. package/esm/dialog/dialog-foundation.js +2 -3
  412. package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
  413. package/esm/file-picker/file-picker-adapter.js +3 -2
  414. package/esm/file-picker/file-picker-foundation.d.ts +2 -0
  415. package/esm/file-picker/file-picker-foundation.js +15 -38
  416. package/esm/file-picker/file-picker.d.ts +1 -0
  417. package/esm/file-picker/file-picker.js +3 -0
  418. package/esm/floating-action-button/floating-action-button-constants.js +1 -1
  419. package/esm/icon-button/icon-button-constants.js +1 -1
  420. package/esm/icon-button/icon-button.d.ts +1 -1
  421. package/esm/icon-button/icon-button.js +6 -6
  422. package/esm/index.d.ts +1 -0
  423. package/esm/index.js +3 -0
  424. package/esm/linear-progress/linear-progress.js +2 -2
  425. package/esm/list/list-item/list-item-foundation.js +1 -2
  426. package/esm/list/list-item/list-item.js +1 -1
  427. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.d.ts +5 -2
  428. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.js +3 -1
  429. package/esm/list-dropdown/list-dropdown-adapter.d.ts +2 -0
  430. package/esm/list-dropdown/list-dropdown-adapter.js +6 -0
  431. package/esm/list-dropdown/list-dropdown-aware-foundation.d.ts +8 -0
  432. package/esm/list-dropdown/list-dropdown-aware-foundation.js +14 -0
  433. package/esm/list-dropdown/list-dropdown-aware.d.ts +11 -2
  434. package/esm/list-dropdown/list-dropdown-aware.js +12 -0
  435. package/esm/list-dropdown/list-dropdown-constants.d.ts +10 -3
  436. package/esm/list-dropdown/list-dropdown-constants.js +2 -0
  437. package/esm/list-dropdown/list-dropdown-foundation.js +5 -6
  438. package/esm/list-dropdown/list-dropdown-utils.d.ts +1 -0
  439. package/esm/list-dropdown/list-dropdown-utils.js +40 -18
  440. package/esm/menu/menu-adapter.d.ts +2 -0
  441. package/esm/menu/menu-adapter.js +7 -0
  442. package/esm/menu/menu-constants.js +1 -1
  443. package/esm/menu/menu-foundation.d.ts +12 -3
  444. package/esm/menu/menu-foundation.js +28 -17
  445. package/esm/menu/menu.d.ts +6 -1
  446. package/esm/menu/menu.js +9 -3
  447. package/esm/popup/popup-adapter.js +9 -1
  448. package/esm/popup/popup-constants.d.ts +1 -0
  449. package/esm/popup/popup-constants.js +2 -1
  450. package/esm/popup/popup-foundation.d.ts +4 -0
  451. package/esm/popup/popup-foundation.js +7 -0
  452. package/esm/popup/popup.d.ts +2 -0
  453. package/esm/popup/popup.js +4 -1
  454. package/esm/profile-card/profile-card.js +1 -1
  455. package/esm/quantity-field/quantity-field-adapter.d.ts +2 -0
  456. package/esm/quantity-field/quantity-field-adapter.js +8 -0
  457. package/esm/quantity-field/quantity-field-foundation.js +1 -0
  458. package/esm/quantity-field/quantity-field.js +6 -0
  459. package/esm/radio/radio-adapter.d.ts +3 -3
  460. package/esm/radio/radio-adapter.js +17 -15
  461. package/esm/radio/radio-foundation.js +1 -1
  462. package/esm/ripple/forge-ripple.d.ts +4 -0
  463. package/esm/ripple/forge-ripple.js +8 -0
  464. package/esm/select/core/base-select-adapter.js +8 -6
  465. package/esm/select/core/base-select-constants.d.ts +2 -0
  466. package/esm/select/core/base-select-constants.js +3 -1
  467. package/esm/select/core/base-select-foundation.d.ts +0 -9
  468. package/esm/select/core/base-select-foundation.js +5 -26
  469. package/esm/select/core/select-utils.js +1 -1
  470. package/esm/select/option-group/option-group.d.ts +12 -1
  471. package/esm/select/option-group/option-group.js +7 -0
  472. package/esm/select/select/select.js +5 -3
  473. package/esm/slider/slider.js +1 -1
  474. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  475. package/esm/stack/index.d.ts +10 -0
  476. package/esm/stack/index.js +14 -0
  477. package/esm/stack/stack-adapter.d.ts +15 -0
  478. package/esm/stack/stack-adapter.js +18 -0
  479. package/esm/stack/stack-constants.d.ts +29 -0
  480. package/esm/stack/stack-constants.js +36 -0
  481. package/esm/stack/stack-foundation.d.ts +39 -0
  482. package/esm/stack/stack-foundation.js +70 -0
  483. package/esm/stack/stack.d.ts +41 -0
  484. package/esm/stack/stack.js +74 -0
  485. package/esm/switch/switch.js +38 -13
  486. package/esm/table/table-foundation.d.ts +7 -0
  487. package/esm/table/table-foundation.js +9 -0
  488. package/esm/table/table-utils.js +6 -3
  489. package/esm/table/table.d.ts +7 -0
  490. package/esm/table/table.js +8 -0
  491. package/esm/table/types.d.ts +8 -4
  492. package/esm/text-field/text-field.js +1 -1
  493. package/esm/time-picker/time-picker-adapter.d.ts +4 -0
  494. package/esm/time-picker/time-picker-adapter.js +8 -0
  495. package/esm/time-picker/time-picker-component-delegate.js +1 -6
  496. package/esm/time-picker/time-picker-foundation.d.ts +3 -0
  497. package/esm/time-picker/time-picker-foundation.js +46 -14
  498. package/esm/toast/toast.js +1 -1
  499. package/esm/toolbar/toolbar.js +2 -2
  500. package/esm/tooltip/tooltip-foundation.d.ts +1 -0
  501. package/esm/tooltip/tooltip-foundation.js +3 -0
  502. package/esm/tooltip/tooltip.js +1 -1
  503. package/esm/view-switcher/view-switcher.js +1 -1
  504. package/package.json +31 -4
  505. package/styles/busy-indicator/_mixins.scss +1 -0
  506. package/styles/chip-field/_selector.scss +12 -13
  507. package/styles/chip-field/chip-field.scss +1 -1
  508. package/styles/chips/chip/_mixins.scss +19 -6
  509. package/styles/field/_base.scss +2 -2
  510. package/styles/field/_selector.scss +1 -1
  511. package/styles/list/list-item/_mixins.scss +28 -17
  512. package/styles/list/list-item/_variables.scss +13 -4
  513. package/styles/popup/popup.scss +4 -0
  514. package/styles/stack/_mixins.scss +49 -0
  515. package/styles/stack/_variables.scss +6 -0
  516. package/styles/stack/stack.scss +46 -0
  517. package/styles/toolbar/_mixins.scss +1 -2
  518. package/styles/toolbar/toolbar.scss +13 -0
  519. package/styles/view-switcher/_mixins.scss +2 -0
  520. package/dist/esm/chunks/chunk.2CEW64ZM.js +0 -7
  521. package/dist/esm/chunks/chunk.2CEW64ZM.js.map +0 -7
  522. package/dist/esm/chunks/chunk.36VS7FMU.js +0 -7
  523. package/dist/esm/chunks/chunk.36VS7FMU.js.map +0 -7
  524. package/dist/esm/chunks/chunk.3MP6OFVU.js +0 -7
  525. package/dist/esm/chunks/chunk.3MP6OFVU.js.map +0 -7
  526. package/dist/esm/chunks/chunk.4K3IV4GI.js +0 -7
  527. package/dist/esm/chunks/chunk.4K3IV4GI.js.map +0 -7
  528. package/dist/esm/chunks/chunk.5BDTX7CR.js +0 -7
  529. package/dist/esm/chunks/chunk.5EQPGUZH.js +0 -7
  530. package/dist/esm/chunks/chunk.5EQPGUZH.js.map +0 -7
  531. package/dist/esm/chunks/chunk.6LXDG4W5.js +0 -7
  532. package/dist/esm/chunks/chunk.6LXDG4W5.js.map +0 -7
  533. package/dist/esm/chunks/chunk.7R6TYPPS.js +0 -7
  534. package/dist/esm/chunks/chunk.7R6TYPPS.js.map +0 -7
  535. package/dist/esm/chunks/chunk.7TDB3VFH.js +0 -7
  536. package/dist/esm/chunks/chunk.7TDB3VFH.js.map +0 -7
  537. package/dist/esm/chunks/chunk.BCD4AAI2.js +0 -7
  538. package/dist/esm/chunks/chunk.BCD4AAI2.js.map +0 -7
  539. package/dist/esm/chunks/chunk.BTI5I25G.js +0 -12
  540. package/dist/esm/chunks/chunk.BTI5I25G.js.map +0 -7
  541. package/dist/esm/chunks/chunk.BYRJ7577.js +0 -7
  542. package/dist/esm/chunks/chunk.DB2WESQC.js +0 -7
  543. package/dist/esm/chunks/chunk.DB2WESQC.js.map +0 -7
  544. package/dist/esm/chunks/chunk.DLAIQJHL.js +0 -7
  545. package/dist/esm/chunks/chunk.DLAIQJHL.js.map +0 -7
  546. package/dist/esm/chunks/chunk.DURRORXO.js +0 -29
  547. package/dist/esm/chunks/chunk.DURRORXO.js.map +0 -7
  548. package/dist/esm/chunks/chunk.EDU7RQD7.js +0 -7
  549. package/dist/esm/chunks/chunk.EDU7RQD7.js.map +0 -7
  550. package/dist/esm/chunks/chunk.ETIN6DEM.js +0 -7
  551. package/dist/esm/chunks/chunk.ETIN6DEM.js.map +0 -7
  552. package/dist/esm/chunks/chunk.F2GXZPID.js +0 -7
  553. package/dist/esm/chunks/chunk.F2GXZPID.js.map +0 -7
  554. package/dist/esm/chunks/chunk.F3Q62EMG.js +0 -7
  555. package/dist/esm/chunks/chunk.F3Q62EMG.js.map +0 -7
  556. package/dist/esm/chunks/chunk.GEMZPO6Z.js +0 -7
  557. package/dist/esm/chunks/chunk.GEMZPO6Z.js.map +0 -7
  558. package/dist/esm/chunks/chunk.GXUYYBVO.js.map +0 -7
  559. package/dist/esm/chunks/chunk.HYMB3XDK.js +0 -9
  560. package/dist/esm/chunks/chunk.HYMB3XDK.js.map +0 -7
  561. package/dist/esm/chunks/chunk.JMXJXZTS.js +0 -7
  562. package/dist/esm/chunks/chunk.JMXJXZTS.js.map +0 -7
  563. package/dist/esm/chunks/chunk.M4KJNCLO.js +0 -7
  564. package/dist/esm/chunks/chunk.M4KJNCLO.js.map +0 -7
  565. package/dist/esm/chunks/chunk.MBWEYW6M.js +0 -7
  566. package/dist/esm/chunks/chunk.MBWEYW6M.js.map +0 -7
  567. package/dist/esm/chunks/chunk.O2R6MBT5.js +0 -7
  568. package/dist/esm/chunks/chunk.O2R6MBT5.js.map +0 -7
  569. package/dist/esm/chunks/chunk.O5I3ZMDA.js +0 -7
  570. package/dist/esm/chunks/chunk.ON6FJ2D6.js +0 -7
  571. package/dist/esm/chunks/chunk.ON6FJ2D6.js.map +0 -7
  572. package/dist/esm/chunks/chunk.PCSCKTFS.js +0 -7
  573. package/dist/esm/chunks/chunk.PCSCKTFS.js.map +0 -7
  574. package/dist/esm/chunks/chunk.PYG4YVBA.js.map +0 -7
  575. package/dist/esm/chunks/chunk.Q3RRONZQ.js +0 -7
  576. package/dist/esm/chunks/chunk.Q3RRONZQ.js.map +0 -7
  577. package/dist/esm/chunks/chunk.QH4DLM3R.js +0 -7
  578. package/dist/esm/chunks/chunk.QH4DLM3R.js.map +0 -7
  579. package/dist/esm/chunks/chunk.QIJHHDYF.js +0 -7
  580. package/dist/esm/chunks/chunk.QIJHHDYF.js.map +0 -7
  581. package/dist/esm/chunks/chunk.QMRLSOAB.js +0 -7
  582. package/dist/esm/chunks/chunk.QMRLSOAB.js.map +0 -7
  583. package/dist/esm/chunks/chunk.QZHEP4X2.js +0 -29
  584. package/dist/esm/chunks/chunk.QZHEP4X2.js.map +0 -7
  585. package/dist/esm/chunks/chunk.STS5TIUV.js.map +0 -7
  586. package/dist/esm/chunks/chunk.UOWU5VVK.js +0 -7
  587. package/dist/esm/chunks/chunk.UOWU5VVK.js.map +0 -7
  588. package/dist/esm/chunks/chunk.VW4JVRH7.js +0 -7
  589. package/dist/esm/chunks/chunk.WOHCW6KW.js +0 -7
  590. package/dist/esm/chunks/chunk.WOHCW6KW.js.map +0 -7
  591. package/dist/esm/chunks/chunk.WU24GAQY.js +0 -7
  592. package/dist/esm/chunks/chunk.WU24GAQY.js.map +0 -7
  593. package/dist/esm/chunks/chunk.XSZ4S77A.js +0 -7
  594. package/dist/esm/chunks/chunk.XSZ4S77A.js.map +0 -7
  595. package/dist/esm/chunks/chunk.Y4L7AVUS.js +0 -7
  596. package/dist/esm/chunks/chunk.Y4L7AVUS.js.map +0 -7
  597. package/dist/esm/chunks/chunk.YG2KLPHA.js +0 -7
  598. package/dist/esm/chunks/chunk.YONRMJU5.js.map +0 -7
  599. package/dist/esm/chunks/chunk.YWRCWMNO.js +0 -7
  600. package/dist/esm/chunks/chunk.YWRCWMNO.js.map +0 -7
  601. package/dist/esm/chunks/chunk.ZPBGKHHM.js +0 -7
  602. package/dist/esm/chunks/chunk.ZPBGKHHM.js.map +0 -7
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/toast/toast-constants.ts", "../../src/toast/toast-adapter.ts", "../../src/toast/toast-foundation.ts", "../../src/toast/toast.ts", "../../src/toast/index.ts"],
4
+ "sourcesContent": ["import { PopupPlacement } from '../popup/popup-constants';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}toast`;\n\nconst customCssPositionProperties = {\n TOP_MARGIN_TOP: '--forge-toast-top-margin-top',\n BOTTOM_MARGIN_BOTTOM: '--forge-toast-bottom-margin-bottom',\n TOP_LEFT_MARGIN_TOP: '--forge-toast-top-left-margin-top',\n TOP_LEFT_MARGIN_LEFT: '--forge-toast-top-left-margin-left',\n TOP_RIGHT_MARGIN_TOP: '--forge-toast-top-right-margin-top',\n TOP_RIGHT_MARGIN_RIGHT: '--forge-toast-top-right-margin-right',\n BOTTOM_LEFT_MARGIN_BOTTOM: '--forge-toast-bottom-left-margin-bottom',\n BOTTOM_LEFT_MARGIN_LEFT: '--forge-toast-bottom-left-margin-left',\n BOTTOM_RIGHT_MARGIN_RIGHT: '--forge-toast-bottom-right-margin-right',\n BOTTOM_RIGHT_MARGIN_BOTTOM: '--forge-toast-bottom-right-margin-bottom'\n};\n\nconst classes = {\n CONTAINER: 'forge-toast__container',\n MESSAGE: 'forge-toast__message',\n ACTION_BUTTON: 'forge-toast__action-button',\n CLOSE_BUTTON: 'forge-toast__close-button',\n TOP: 'forge-toast__container--top',\n TOP_LEFT: 'forge-toast__container--top-left',\n TOP_RIGHT: 'forge-toast__container--top-right',\n BOTTOM: 'forge-toast__container--bottom',\n BOTTOM_LEFT: 'forge-toast__container--bottom-left',\n BOTTOM_RIGHT: 'forge-toast__container--bottom-right',\n ACTIVE: 'forge-toast__container--active',\n CUSTOM: 'forge-toast__container--custom'\n};\n\nconst selectors = {\n CONTAINER: `.${classes.CONTAINER}`,\n MESSAGE: `.${classes.MESSAGE}`,\n ACTION_BUTTON: `.${classes.ACTION_BUTTON}`,\n CLOSE_BUTTON: `.${classes.CLOSE_BUTTON}`\n};\n\nconst attributes = {\n MESSAGE: 'message',\n ACTION_TEXT: 'action-text',\n DURATION: 'duration',\n PLACEMENT: 'placement',\n SHOW_CLOSE: 'show-close'\n};\n\nconst events = {\n ACTION: `${elementName}-action`,\n CLOSE: `${elementName}-close`\n};\n\nconst defaults = {\n PLACEMENT: 'bottom' as ToastPlacement,\n DURATION: 2750\n};\n\nexport const TOAST_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n defaults,\n events,\n customCssPositionProperties\n};\n\nexport type ToastBuilder = () => HTMLElement | string;\nexport type ToastPlacement = PopupPlacement;\n", "import { getShadowElement, isString, removeAllChildren, removeClass, removeElement, toggleElementPlaceholder } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { PopupPlacement } from '../popup';\nimport { IToastComponent } from './toast';\nimport { TOAST_CONSTANTS } from './toast-constants';\n\nexport interface IToastAdapter extends IBaseAdapter {\n setHostAttribute: (name: string, value: string) => void;\n setMessage: (value: string) => void;\n setMessageTemplate: (tpl: HTMLElement | string) => void;\n setActionVisibility: (isVisible: boolean) => void;\n setActionText: (message: string) => void;\n registerActionListener: (type: string, listener: (evt: MouseEvent) => void) => void;\n deregisterActionListener: (type: string, listener: (evt: MouseEvent) => void) => void;\n setPlacement: (placement: PopupPlacement) => void;\n setActive: (isActive: boolean) => void;\n setCloseButtonVisibility(visible: boolean): void;\n registerCloseListener(listener: (evt: Event) => void): void;\n}\n\n/**\n * The DOM adapter for the `ToastComponent` web component.\n */\nexport class ToastAdapter extends BaseAdapter<IToastComponent> implements IToastAdapter {\n private _containerElement: HTMLElement;\n private _messageElement: HTMLElement;\n private _actionButtonElement: HTMLButtonElement;\n private _actionButtonPlaceholder: Comment;\n private _closeButtonElement: HTMLButtonElement;\n\n constructor(component: IToastComponent) {\n super(component);\n this._containerElement = getShadowElement(component, TOAST_CONSTANTS.selectors.CONTAINER);\n this._messageElement = getShadowElement(component, TOAST_CONSTANTS.selectors.MESSAGE);\n this._actionButtonElement = getShadowElement(component, TOAST_CONSTANTS.selectors.ACTION_BUTTON) as HTMLButtonElement;\n this._closeButtonElement = getShadowElement(component, TOAST_CONSTANTS.selectors.CLOSE_BUTTON) as HTMLButtonElement;\n }\n\n /**\n * Sets an attrinbute on the host element.\n * @param name The attribute name.\n * @param value The attribute value.\n */\n public setHostAttribute(name: string, value: string): void {\n if (this._component.getAttribute(name) !== value) {\n this._component.setAttribute(name, value);\n }\n }\n\n /**\n * Sets the message text on the toast element.\n * @param value The message text.\n */\n public setMessage(value: string): void {\n this._messageElement.innerText = value;\n }\n\n /**\n * Sets a custom template on the message element.\n * @param tpl The message template.\n */\n public setMessageTemplate(tpl: HTMLElement | string): void {\n this._containerElement.classList.add(TOAST_CONSTANTS.classes.CUSTOM);\n if (isString(tpl)) {\n this._component.innerHTML = tpl;\n } else {\n removeAllChildren(this._messageElement);\n this._component.appendChild(tpl);\n }\n }\n\n /**\n * Toggles the visibility of the action button element.\n * @param isVisible The visibility.\n */\n public setActionVisibility(isVisible: boolean): void {\n this._actionButtonPlaceholder = toggleElementPlaceholder(\n this._component,\n isVisible,\n TOAST_CONSTANTS.elementName,\n TOAST_CONSTANTS.selectors.ACTION_BUTTON,\n this._actionButtonElement,\n this._actionButtonPlaceholder\n );\n }\n\n /**\n * Sets the action button text.\n * @param message The message text.\n */\n public setActionText(message: string): void {\n this._actionButtonElement.innerText = message;\n }\n\n /**\n * Adds an event listener to the action button element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public registerActionListener(type: string, listener: (evt: MouseEvent) => void): void {\n this._actionButtonElement.addEventListener(type, listener);\n }\n\n /**\n * Removes an event listener from the action button.\n * @param type The event type.\n * @param listener The event listener.\n */\n public deregisterActionListener(type: string, listener: (evt: MouseEvent) => void): void {\n this._actionButtonElement.removeEventListener(type, listener);\n }\n\n /**\n * Adjusts the class applied to the toast container to position it properly.\n * @param placement The screen placement position.\n */\n public setPlacement(placement: PopupPlacement): void {\n removeClass(\n [\n TOAST_CONSTANTS.classes.TOP,\n TOAST_CONSTANTS.classes.TOP_LEFT,\n TOAST_CONSTANTS.classes.TOP_RIGHT,\n TOAST_CONSTANTS.classes.BOTTOM,\n TOAST_CONSTANTS.classes.BOTTOM_LEFT,\n TOAST_CONSTANTS.classes.BOTTOM_RIGHT\n ],\n this._containerElement\n );\n\n const placementClass = this._getPlacementClass(placement);\n if (placementClass) {\n this._containerElement.classList.add(placementClass);\n }\n }\n\n /**\n * Triggers the addition of classes to the container element to hide or show the toast using CSS transitions.\n * @param isActive Active or not.\n */\n public setActive(isActive: boolean): void {\n if (isActive) {\n // We need to force a reflow here to make sure that our new transform gets applied by the active class\n window.getComputedStyle(this._containerElement).getPropertyValue('bottom');\n this._containerElement.classList.add(TOAST_CONSTANTS.classes.ACTIVE);\n } else {\n this._containerElement.classList.remove(TOAST_CONSTANTS.classes.ACTIVE);\n const animationCompletedListener = (): void => {\n this._containerElement.removeEventListener('transitionend', animationCompletedListener);\n removeElement(this._component);\n };\n this._containerElement.addEventListener('transitionend', animationCompletedListener);\n }\n }\n\n public setCloseButtonVisibility(visible: boolean): void {\n if (visible) {\n this._closeButtonElement.style.removeProperty('display');\n } else {\n this._closeButtonElement.style.display = 'none';\n }\n }\n\n public registerCloseListener(listener: (evt: Event) => void): void {\n this._closeButtonElement.addEventListener('click', listener);\n }\n\n private _getPlacementClass(placement: PopupPlacement): string | null {\n switch (placement) {\n case 'top':\n return TOAST_CONSTANTS.classes.TOP;\n case 'top-start':\n return TOAST_CONSTANTS.classes.TOP_LEFT;\n case 'top-end':\n return TOAST_CONSTANTS.classes.TOP_RIGHT;\n case 'bottom':\n return TOAST_CONSTANTS.classes.BOTTOM;\n case 'bottom-start':\n return TOAST_CONSTANTS.classes.BOTTOM_LEFT;\n case 'bottom-end':\n return TOAST_CONSTANTS.classes.BOTTOM_RIGHT;\n }\n\n return null;\n }\n}\n", "import { ICustomElementFoundation, isFunction } from '@tylertech/forge-core';\nimport { IToastAdapter } from './toast-adapter';\nimport { ToastBuilder, TOAST_CONSTANTS, ToastPlacement } from './toast-constants';\n\nexport interface IToastFoundation extends ICustomElementFoundation {\n message: string;\n actionText: string;\n duration: number;\n placement: ToastPlacement;\n showClose: boolean;\n builder: ToastBuilder | string;\n show(): void;\n hide(): void;\n}\n\n/**\n * The foundation class behind the `ToastComponent` class that manages the state of a toast component instance.\n */\nexport class ToastFoundation implements IToastFoundation {\n private _message: string;\n private _actionText: string;\n private _duration: number = TOAST_CONSTANTS.defaults.DURATION;\n private _placement: ToastPlacement = TOAST_CONSTANTS.defaults.PLACEMENT as ToastPlacement;\n private _showClose = true;\n private _hasAction = false;\n private _isActive = false;\n private _hideTimeout: number | NodeJS.Timer | undefined;\n private _builder: ToastBuilder | string;\n private _actionListener: (evt: MouseEvent) => void;\n private _closeListener: (evt: MouseEvent) => void;\n\n constructor(private _adapter: IToastAdapter) {\n this._actionListener = (evt: MouseEvent) => this._onAction(evt);\n this._closeListener = (evt: MouseEvent) => this._onClose(evt);\n }\n\n public initialize(): void {\n this._adapter.setPlacement(this._placement);\n this._adapter.registerCloseListener(this._closeListener);\n this._adapter.setCloseButtonVisibility(this._showClose);\n this._adapter.setActionVisibility(!!this._actionText);\n this.show();\n }\n\n /**\n * Starts the animation of the toast and hides it after the duration.\n */\n public show(): void {\n // Check if we were provided a builder function and call it if so (this will override the message text)\n if (isFunction(this._builder)) {\n const tpl = (this._builder as ToastBuilder)();\n this._adapter.setMessageTemplate(tpl);\n }\n\n this._isActive = true;\n this._adapter.setActive(true);\n\n if (isFinite(this._duration) && this._duration > 0) {\n this._hideTimeout = setTimeout(() => this.hide(true), this._duration);\n }\n }\n\n /**\n * Hides the toast and removes it from the DOM.\n */\n public hide(emitEvent: boolean = false): void {\n if (!this._isActive) {\n return;\n }\n\n this._isActive = false;\n this._adapter.setActive(false);\n\n if (this._hideTimeout) {\n clearTimeout(this._hideTimeout as number);\n this._hideTimeout = undefined;\n }\n\n if (emitEvent) {\n this._adapter.emitHostEvent(TOAST_CONSTANTS.events.CLOSE);\n }\n }\n\n /**\n * Handles click events from the optional action button.\n * @param {MouseEvent} evt The mouse event.\n */\n private _onAction(evt: MouseEvent): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(TOAST_CONSTANTS.events.ACTION);\n }\n\n private _onClose(evt: MouseEvent): void {\n this.hide(true);\n }\n\n /** The message to display in the toast. */\n public get message(): string {\n return this._message;\n }\n public set message(value: string) {\n if (this._message !== value) {\n this._message = value;\n this._adapter.setMessage(this._message);\n this._adapter.setHostAttribute(TOAST_CONSTANTS.attributes.MESSAGE, this._message);\n }\n }\n\n /** The text to display in the action button. */\n public get actionText(): string {\n return this._actionText;\n }\n public set actionText(value: string) {\n if (this._actionText !== value) {\n this._actionText = value;\n\n if (this._actionText) {\n if (this._hasAction) {\n this._adapter.setActionText(this._actionText);\n } else {\n this._adapter.setActionText(this._actionText);\n this._adapter.setActionVisibility(true);\n this._adapter.registerActionListener('click', this._actionListener);\n this._hasAction = true;\n }\n } else if (this._hasAction) {\n this._adapter.setActionText('');\n this._adapter.setActionVisibility(false);\n this._adapter.deregisterActionListener('click', this._actionListener);\n this._hasAction = false;\n }\n\n this._adapter.setHostAttribute(TOAST_CONSTANTS.attributes.ACTION_TEXT, this._actionText);\n }\n }\n\n /** The time in milliseconds to show the toast. */\n public get duration(): number {\n return this._duration;\n }\n public set duration(value: number) {\n if (this._duration !== value) {\n this._duration = value;\n if (this._hideTimeout) {\n clearTimeout(this._hideTimeout as number);\n this._hideTimeout = setTimeout(() => this.hide(true), this._duration);\n }\n }\n }\n\n /** The placement of the toast. */\n public get placement(): ToastPlacement {\n return this._placement;\n }\n public set placement(value: ToastPlacement) {\n if (this._placement !== value) {\n this._placement = value;\n this._adapter.setPlacement(this._placement);\n }\n\n this._adapter.setHostAttribute(TOAST_CONSTANTS.attributes.PLACEMENT, this._placement);\n }\n\n public get builder(): ToastBuilder | string {\n return this._builder;\n }\n public set builder(value: ToastBuilder | string) {\n this._builder = value;\n }\n\n public get showClose(): boolean {\n return this._showClose;\n }\n public set showClose(value: boolean) {\n if (this._showClose !== value) {\n this._showClose = value;\n this._adapter.setCloseButtonVisibility(this._showClose);\n this._adapter.setHostAttribute(TOAST_CONSTANTS.attributes.SHOW_CLOSE, this._showClose.toString());\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconClose } from '@tylertech/tyler-icons/standard';\nimport { ButtonComponent } from '../button';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { IconComponent, IconRegistry } from '../icon';\nimport { IconButtonComponent } from '../icon-button';\nimport { ToastAdapter } from './toast-adapter';\nimport { ToastBuilder, ToastPlacement, TOAST_CONSTANTS } from './toast-constants';\nimport { ToastFoundation } from './toast-foundation';\n\nconst template = '<template><div class=\\\"forge-toast__container\\\" aria-live=\\\"assertive\\\" aria-atomic=\\\"true\\\" part=\\\"root\\\"><slot></slot><div class=\\\"forge-toast__message\\\" part=\\\"message\\\"></div><div class=\\\"forge-toast__action-container\\\" part=\\\"action-container\\\"><forge-button part=\\\"action-button\\\"><button type=\\\"button\\\" class=\\\"forge-toast__action-button\\\" part=\\\"action-button-element\\\"></button></forge-button><forge-icon-button part=\\\"close-button\\\"><button type=\\\"button\\\" class=\\\"forge-toast__close-button\\\" aria-label=\\\"Close toast message\\\" part=\\\"close-button-element\\\"><forge-icon name=\\\"close\\\" part=\\\"close-button-icon\\\"></forge-icon></button></forge-icon-button></div></div></template>';\nconst styles = '.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:0;opacity:var(--mdc-elevation-overlay-opacity, 0);-webkit-transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);background-color:#fff;background-color:var(--mdc-elevation-overlay-color,#fff)}.forge-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle}.forge-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-button::-moz-focus-inner{padding:0;border:0}.forge-button:active{outline:0}.forge-button:hover{cursor:pointer}.forge-button:disabled{cursor:default;pointer-events:none}.forge-button .forge-button__icon{margin-left:0;margin-right:8px;display:inline-block;font-size:1.125rem;height:1.125rem;vertical-align:top;width:1.125rem}.forge-button .forge-button__icon[dir=rtl],[dir=rtl] .forge-button .forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button__label~.forge-button__icon{margin-left:0;margin-right:8px}svg.forge-button__icon{fill:currentColor}.forge-button--outlined .forge-button__icon,.forge-button--raised .forge-button__icon,.forge-button--unelevated .forge-button__icon{margin-left:-4px;margin-right:8px}.forge-button--outlined .forge-button__icon[dir=rtl],.forge-button--raised .forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__icon{margin-left:8px;margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon,.forge-button--raised .forge-button__label~.forge-button__icon,.forge-button--unelevated .forge-button__label~.forge-button__icon{margin-left:8px;margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--raised .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__label~.forge-button__icon{margin-left:-4px;margin-right:8px}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-button .forge-button__ripple::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-button .forge-button__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button.mdc-ripple-upgraded .forge-button__ripple::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button.mdc-ripple-upgraded--unbounded .forge-button__ripple::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button.mdc-ripple-upgraded--foreground-activation .forge-button__ripple::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-button.mdc-ripple-upgraded--foreground-deactivation .forge-button__ripple::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button .forge-button__ripple{position:absolute;-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;overflow:hidden}.forge-button:not(.forge-button--outlined) .forge-button__ripple{top:0;left:0}.forge-button--raised{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1)}.forge-button--raised:focus,.forge-button--raised:hover{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.forge-button--raised:active{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.forge-button--raised:disabled{-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.forge-button--outlined{border-style:solid}.forge-button{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 8px 0 8px}.forge-button:not(:disabled){background-color:transparent}.forge-button:disabled{background-color:transparent}.forge-button:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--unelevated:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--unelevated:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--unelevated:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--unelevated .forge-button__ripple::after,.forge-button--unelevated .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--unelevated.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--unelevated:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--unelevated.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--unelevated:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--unelevated:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--unelevated:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--unelevated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--unelevated .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--raised:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--raised:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--raised:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--raised .forge-button__ripple::after,.forge-button--raised .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--raised.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--raised:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--raised.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--raised:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--raised:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--raised:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--raised.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--raised .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 15px 0 15px;border-width:1px}.forge-button--outlined:not(:disabled){background-color:transparent}.forge-button--outlined:disabled{background-color:transparent}.forge-button--outlined:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--outlined .forge-button__ripple::after,.forge-button--outlined .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button--outlined.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--outlined:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button--outlined.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--outlined:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button--outlined:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--outlined:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button--outlined.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button--outlined .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined:not(:disabled){border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--outlined .forge-button__ripple{top:-1px;left:-1px;border:1px solid transparent}.forge-button--dense{height:24px;margin-top:0;margin-bottom:0;height:1.5rem}forge-button{display:inline-block}forge-button[hidden]{display:none}forge-button[disabled]{cursor:not-allowed}a.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);text-decoration:none}a.forge-hyperlink:visited{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}a.forge-hyperlink[disabled]{pointer-events:none;cursor:default}a.forge-hyperlink:focus,a.forge-hyperlink:hover:not([disabled]){text-decoration:underline}button.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);cursor:pointer;border:none;background-color:transparent;font-size:inherit;padding:0;outline:0;text-align:left}button.forge-hyperlink[disabled]{pointer-events:none;cursor:default}button.forge-hyperlink:hover:not([disabled]){text-decoration:underline}.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-toast__container{z-index:9;z-index:var(--forge-z-index-notification,9);-webkit-box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12);box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12);background-color:#333;background-color:var(--forge-toast-theme-background,#333);display:-webkit-box;display:flex;position:fixed;border-radius:2px;-webkit-transition:-webkit-transform 250ms 0s cubic-bezier(.4, 0, 1, 1);transition:-webkit-transform 250ms 0s cubic-bezier(.4, 0, 1, 1);transition:transform 250ms 0s cubic-bezier(.4, 0, 1, 1);transition:transform 250ms 0s cubic-bezier(.4, 0, 1, 1),-webkit-transform 250ms 0s cubic-bezier(.4, 0, 1, 1);-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-sizing:border-box;box-sizing:border-box;padding:4px 8px 4px 16px;min-height:48px}@media (max-width:599px){.forge-toast__container{bottom:0;width:100%;border-radius:0;-webkit-transform:translateY(100%);transform:translateY(100%)}}.forge-toast__container ::slotted(*){color:rgba(255,255,255,.87);color:var(--forge-toast-theme-on-background,rgba(255,255,255,.87))}@media (min-width:600px){.forge-toast__container{min-width:344px;max-width:568px}.forge-toast__container.forge-toast__container--top,.forge-toast__container.forge-toast__container--top-left,.forge-toast__container.forge-toast__container--top-right{top:0}.forge-toast__container.forge-toast__container--top{left:50%;-webkit-transform:translateX(-50%) translateY(-100%);transform:translateX(-50%) translateY(-100%);margin-top:0;margin-top:var(--forge-toast-top-margin-top,0)}.forge-toast__container.forge-toast__container--bottom{left:50%;-webkit-transform:translateX(-50%) translateY(100%);transform:translateX(-50%) translateY(100%);margin-bottom:0;margin-bottom:var(--forge-toast-bottom-margin-bottom,0)}.forge-toast__container.forge-toast__container--top-left,.forge-toast__container.forge-toast__container--top-right{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.forge-toast__container.forge-toast__container--bottom-left,.forge-toast__container.forge-toast__container--bottom-right{-webkit-transform:translateY(100%);transform:translateY(100%)}.forge-toast__container.forge-toast__container--bottom,.forge-toast__container.forge-toast__container--bottom-left,.forge-toast__container.forge-toast__container--bottom-right{bottom:0}.forge-toast__container.forge-toast__container--bottom-left{margin-bottom:24px;margin-bottom:var(--forge-toast-bottom-left-margin-bottom,24px);margin-left:24px;margin-left:var(--forge-toast-bottom-left-margin-left,24px);left:0}.forge-toast__container.forge-toast__container--bottom-right{margin-bottom:24px;margin-bottom:var(--forge-toast-bottom-right-margin-bottom,24px);margin-right:24px;margin-right:var(--forge-toast-bottom-right-margin-right,24px)}.forge-toast__container.forge-toast__container--top-left{margin-top:24px;margin-top:var(--forge-toast-top-left-margin-top,24px);margin-left:24px;margin-left:var(--forge-toast-top-left-margin-left,24px);left:0}.forge-toast__container.forge-toast__container--top-right{margin-top:24px;margin-top:var(--forge-toast-top-right-margin-top,24px);margin-right:24px;margin-right:var(--forge-toast-top-right-margin-right,24px);right:0}.forge-toast__container.forge-toast__container--bottom-right{margin-bottom:24px;margin-bottom:var(--forge-toast-bottom-right-margin-bottom,24px);margin-right:24px;margin-right:var(--forge-toast-bottom-right-margin-right,24px);right:0}}.forge-toast__container--active{-webkit-transition:-webkit-transform 250ms 0s cubic-bezier(0, 0, .2, 1);transition:-webkit-transform 250ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 250ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 250ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 250ms 0s cubic-bezier(0, 0, .2, 1)}.forge-toast__container--active>.forge-toast__message{opacity:1}.forge-toast__container--active>.forge-toast__action-button{opacity:1}@media (max-width:599px){.forge-toast__container--active{-webkit-transform:translateY(0)!important;transform:translateY(0)!important}}@media (min-width:600px){.forge-toast__container--active.forge-toast__container--bottom,.forge-toast__container--active.forge-toast__container--top{-webkit-transform:translateX(-50%) translateY(0)!important;transform:translateX(-50%) translateY(0)!important}.forge-toast__container--active.forge-toast__container--bottom-left,.forge-toast__container--active.forge-toast__container--bottom-right,.forge-toast__container--active.forge-toast__container--top-left,.forge-toast__container--active.forge-toast__container--top-right{-webkit-transform:translateY(0)!important;transform:translateY(0)!important}}.forge-toast__container--custom{min-width:0;max-width:none}.forge-toast__message{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);color:rgba(255,255,255,.87);color:var(--forge-toast-theme-on-background,rgba(255,255,255,.87));display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:opacity .3s 0s cubic-bezier(.4, 0, 1, 1);transition:opacity .3s 0s cubic-bezier(.4, 0, 1, 1);opacity:0}.forge-toast__action-container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;margin-left:8px}.forge-toast__action-button{--mdc-theme-primary:#ffc107;--mdc-theme-primary:var(--forge-toast-theme-action, #ffc107)}.forge-toast__close-button{color:rgba(255,255,255,.87);color:var(--forge-toast-theme-on-background,rgba(255,255,255,.87));margin-left:8px}.forge-toast__close-button::after,.forge-toast__close-button::before{background-color:rgba(255,255,255,.87);background-color:var(--forge-toast-theme-on-background,rgba(255,255,255,.87))}:host{display:inline-block}:host([hidden]){display:none}';\n\nexport interface IToastComponent extends IBaseComponent {\n message: string;\n actionText: string;\n duration: number;\n placement: ToastPlacement;\n showClose: boolean;\n builder: ToastBuilder | string;\n hide(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-toast': IToastComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-toast-action': CustomEvent<void>;\n 'forge-toast-close': CustomEvent<void>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-toast>` web component.\n * \n * @tag forge-toast\n */\n@CustomElement({\n name: TOAST_CONSTANTS.elementName,\n dependencies: [\n ButtonComponent,\n IconButtonComponent,\n IconComponent\n ]\n})\nexport class ToastComponent extends BaseComponent implements IToastComponent {\n public static get observedAttributes(): string[] {\n return [\n TOAST_CONSTANTS.attributes.MESSAGE,\n TOAST_CONSTANTS.attributes.ACTION_TEXT,\n TOAST_CONSTANTS.attributes.DURATION,\n TOAST_CONSTANTS.attributes.PLACEMENT,\n TOAST_CONSTANTS.attributes.SHOW_CLOSE\n ];\n }\n\n private _foundation: ToastFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconClose);\n attachShadowTemplate(this, template, styles);\n this._foundation = new ToastFoundation(new ToastAdapter(this));\n }\n\n public initializedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case TOAST_CONSTANTS.attributes.MESSAGE:\n this.message = newValue;\n break;\n case TOAST_CONSTANTS.attributes.ACTION_TEXT:\n this.actionText = newValue;\n break;\n case TOAST_CONSTANTS.attributes.DURATION:\n const value = Number(newValue);\n this.duration = value && value > 0 ? value : TOAST_CONSTANTS.defaults.DURATION;\n break;\n case TOAST_CONSTANTS.attributes.PLACEMENT:\n this.placement = newValue as ToastPlacement || TOAST_CONSTANTS.defaults.PLACEMENT;\n break;\n case TOAST_CONSTANTS.attributes.SHOW_CLOSE:\n this.showClose = coerceBoolean(newValue);\n break;\n }\n }\n\n /** The message to display in the toast. */\n @FoundationProperty()\n public declare message: string;\n\n /** The text to display in the action button. */\n @FoundationProperty()\n public declare actionText: string;\n\n /** The time in milliseconds to show the toast. */\n @FoundationProperty()\n public declare duration: number;\n\n /** The placement of the toast. */\n @FoundationProperty()\n public declare placement: ToastPlacement;\n\n /** Sets the toast builder function for displaying custom content. */\n @FoundationProperty()\n public declare builder: ToastBuilder | string;\n\n /** Controls the visibility of the close button. */\n @FoundationProperty()\n public declare showClose: boolean;\n\n /** Hides the toast and removes it from the DOM. */\n public hide(): void {\n this._foundation.hide();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ToastComponent } from './toast';\n\nexport * from './toast-adapter';\nexport * from './toast-constants';\nexport * from './toast-foundation';\nexport * from './toast';\n\nexport function defineToastComponent(): void {\n defineCustomElement(ToastComponent);\n}\n"],
5
+ "mappings": "yfAGA,IAAMA,EAA2C,GAAGC,SAE9CC,EAA8B,CAClC,eAAgB,+BAChB,qBAAsB,qCACtB,oBAAqB,oCACrB,qBAAsB,qCACtB,qBAAsB,qCACtB,uBAAwB,uCACxB,0BAA2B,0CAC3B,wBAAyB,wCACzB,0BAA2B,0CAC3B,2BAA4B,0CAC9B,EAEMC,EAAU,CACd,UAAW,yBACX,QAAS,uBACT,cAAe,6BACf,aAAc,4BACd,IAAK,8BACL,SAAU,mCACV,UAAW,oCACX,OAAQ,iCACR,YAAa,sCACb,aAAc,uCACd,OAAQ,iCACR,OAAQ,gCACV,EAEMC,EAAY,CAChB,UAAW,IAAID,EAAQ,YACvB,QAAS,IAAIA,EAAQ,UACrB,cAAe,IAAIA,EAAQ,gBAC3B,aAAc,IAAIA,EAAQ,cAC5B,EAEME,EAAa,CACjB,QAAS,UACT,YAAa,cACb,SAAU,WACV,UAAW,YACX,WAAY,YACd,EAEMC,EAAS,CACb,OAAQ,GAAGN,WACX,MAAO,GAAGA,SACZ,EAEMO,EAAW,CACf,UAAW,SACX,SAAU,IACZ,EAEaC,EAAkB,CAC7B,YAAAR,EACA,QAAAG,EACA,UAAAC,EACA,WAAAC,EACA,SAAAE,EACA,OAAAD,EACA,4BAAAJ,CACF,EC3CO,IAAMO,EAAN,cAA2BC,CAAsD,CAOtF,YAAYC,EAA4B,CACtC,MAAMA,CAAS,EACf,KAAK,kBAAoBC,EAAiBD,EAAWE,EAAgB,UAAU,SAAS,EACxF,KAAK,gBAAkBD,EAAiBD,EAAWE,EAAgB,UAAU,OAAO,EACpF,KAAK,qBAAuBD,EAAiBD,EAAWE,EAAgB,UAAU,aAAa,EAC/F,KAAK,oBAAsBD,EAAiBD,EAAWE,EAAgB,UAAU,YAAY,CAC/F,CAOO,iBAAiBC,EAAcC,EAAqB,CACrD,KAAK,WAAW,aAAaD,CAAI,IAAMC,GACzC,KAAK,WAAW,aAAaD,EAAMC,CAAK,CAE5C,CAMO,WAAWA,EAAqB,CACrC,KAAK,gBAAgB,UAAYA,CACnC,CAMO,mBAAmBC,EAAiC,CACzD,KAAK,kBAAkB,UAAU,IAAIH,EAAgB,QAAQ,MAAM,EAC/DI,EAASD,CAAG,EACd,KAAK,WAAW,UAAYA,GAE5BE,EAAkB,KAAK,eAAe,EACtC,KAAK,WAAW,YAAYF,CAAG,EAEnC,CAMO,oBAAoBG,EAA0B,CACnD,KAAK,yBAA2BC,EAC9B,KAAK,WACLD,EACAN,EAAgB,YAChBA,EAAgB,UAAU,cAC1B,KAAK,qBACL,KAAK,wBACP,CACF,CAMO,cAAcQ,EAAuB,CAC1C,KAAK,qBAAqB,UAAYA,CACxC,CAOO,uBAAuBC,EAAcC,EAA2C,CACrF,KAAK,qBAAqB,iBAAiBD,EAAMC,CAAQ,CAC3D,CAOO,yBAAyBD,EAAcC,EAA2C,CACvF,KAAK,qBAAqB,oBAAoBD,EAAMC,CAAQ,CAC9D,CAMO,aAAaC,EAAiC,CACnDC,EACE,CACEZ,EAAgB,QAAQ,IACxBA,EAAgB,QAAQ,SACxBA,EAAgB,QAAQ,UACxBA,EAAgB,QAAQ,OACxBA,EAAgB,QAAQ,YACxBA,EAAgB,QAAQ,YAC1B,EACA,KAAK,iBACP,EAEA,IAAMa,EAAiB,KAAK,mBAAmBF,CAAS,EACpDE,GACF,KAAK,kBAAkB,UAAU,IAAIA,CAAc,CAEvD,CAMO,UAAUC,EAAyB,CACxC,GAAIA,EAEF,OAAO,iBAAiB,KAAK,iBAAiB,EAAE,iBAAiB,QAAQ,EACzE,KAAK,kBAAkB,UAAU,IAAId,EAAgB,QAAQ,MAAM,MAC9D,CACL,KAAK,kBAAkB,UAAU,OAAOA,EAAgB,QAAQ,MAAM,EACtE,IAAMe,EAA6B,IAAY,CAC7C,KAAK,kBAAkB,oBAAoB,gBAAiBA,CAA0B,EACtFC,EAAc,KAAK,UAAU,CAC/B,EACA,KAAK,kBAAkB,iBAAiB,gBAAiBD,CAA0B,CACrF,CACF,CAEO,yBAAyBE,EAAwB,CAClDA,EACF,KAAK,oBAAoB,MAAM,eAAe,SAAS,EAEvD,KAAK,oBAAoB,MAAM,QAAU,MAE7C,CAEO,sBAAsBP,EAAsC,CACjE,KAAK,oBAAoB,iBAAiB,QAASA,CAAQ,CAC7D,CAEQ,mBAAmBC,EAA0C,CACnE,OAAQA,OACD,MACH,OAAOX,EAAgB,QAAQ,QAC5B,YACH,OAAOA,EAAgB,QAAQ,aAC5B,UACH,OAAOA,EAAgB,QAAQ,cAC5B,SACH,OAAOA,EAAgB,QAAQ,WAC5B,eACH,OAAOA,EAAgB,QAAQ,gBAC5B,aACH,OAAOA,EAAgB,QAAQ,aAGnC,OAAO,IACT,CACF,ECtKO,IAAMkB,EAAN,KAAkD,CAavD,YAAoBC,EAAyB,CAAzB,cAAAA,EAVpB,KAAQ,UAAoBC,EAAgB,SAAS,SACrD,KAAQ,WAA6BA,EAAgB,SAAS,UAC9D,KAAQ,WAAa,GACrB,KAAQ,WAAa,GACrB,KAAQ,UAAY,GAOlB,KAAK,gBAAmBC,GAAoB,KAAK,UAAUA,CAAG,EAC9D,KAAK,eAAkBA,GAAoB,KAAK,SAASA,CAAG,CAC9D,CAEO,YAAmB,CACxB,KAAK,SAAS,aAAa,KAAK,UAAU,EAC1C,KAAK,SAAS,sBAAsB,KAAK,cAAc,EACvD,KAAK,SAAS,yBAAyB,KAAK,UAAU,EACtD,KAAK,SAAS,oBAAoB,CAAC,CAAC,KAAK,WAAW,EACpD,KAAK,KAAK,CACZ,CAKO,MAAa,CAElB,GAAIC,EAAW,KAAK,QAAQ,EAAG,CAC7B,IAAMC,EAAO,KAAK,SAA0B,EAC5C,KAAK,SAAS,mBAAmBA,CAAG,CACtC,CAEA,KAAK,UAAY,GACjB,KAAK,SAAS,UAAU,EAAI,EAExB,SAAS,KAAK,SAAS,GAAK,KAAK,UAAY,IAC/C,KAAK,aAAe,WAAW,IAAM,KAAK,KAAK,EAAI,EAAG,KAAK,SAAS,EAExE,CAKO,KAAKC,EAAqB,GAAa,CACxC,CAAC,KAAK,YAIV,KAAK,UAAY,GACjB,KAAK,SAAS,UAAU,EAAK,EAEzB,KAAK,eACP,aAAa,KAAK,YAAsB,EACxC,KAAK,aAAe,QAGlBA,GACF,KAAK,SAAS,cAAcJ,EAAgB,OAAO,KAAK,EAE5D,CAMQ,UAAUC,EAAuB,CACvCA,EAAI,gBAAgB,EACpB,KAAK,SAAS,cAAcD,EAAgB,OAAO,MAAM,CAC3D,CAEQ,SAASC,EAAuB,CACtC,KAAK,KAAK,EAAI,CAChB,CAGA,IAAW,SAAkB,CAC3B,OAAO,KAAK,QACd,CACA,IAAW,QAAQI,EAAe,CAC5B,KAAK,WAAaA,IACpB,KAAK,SAAWA,EAChB,KAAK,SAAS,WAAW,KAAK,QAAQ,EACtC,KAAK,SAAS,iBAAiBL,EAAgB,WAAW,QAAS,KAAK,QAAQ,EAEpF,CAGA,IAAW,YAAqB,CAC9B,OAAO,KAAK,WACd,CACA,IAAW,WAAWK,EAAe,CAC/B,KAAK,cAAgBA,IACvB,KAAK,YAAcA,EAEf,KAAK,YACH,KAAK,WACP,KAAK,SAAS,cAAc,KAAK,WAAW,GAE5C,KAAK,SAAS,cAAc,KAAK,WAAW,EAC5C,KAAK,SAAS,oBAAoB,EAAI,EACtC,KAAK,SAAS,uBAAuB,QAAS,KAAK,eAAe,EAClE,KAAK,WAAa,IAEX,KAAK,aACd,KAAK,SAAS,cAAc,EAAE,EAC9B,KAAK,SAAS,oBAAoB,EAAK,EACvC,KAAK,SAAS,yBAAyB,QAAS,KAAK,eAAe,EACpE,KAAK,WAAa,IAGpB,KAAK,SAAS,iBAAiBL,EAAgB,WAAW,YAAa,KAAK,WAAW,EAE3F,CAGA,IAAW,UAAmB,CAC5B,OAAO,KAAK,SACd,CACA,IAAW,SAASK,EAAe,CAC7B,KAAK,YAAcA,IACrB,KAAK,UAAYA,EACb,KAAK,eACP,aAAa,KAAK,YAAsB,EACxC,KAAK,aAAe,WAAW,IAAM,KAAK,KAAK,EAAI,EAAG,KAAK,SAAS,GAG1E,CAGA,IAAW,WAA4B,CACrC,OAAO,KAAK,UACd,CACA,IAAW,UAAUA,EAAuB,CACtC,KAAK,aAAeA,IACtB,KAAK,WAAaA,EAClB,KAAK,SAAS,aAAa,KAAK,UAAU,GAG5C,KAAK,SAAS,iBAAiBL,EAAgB,WAAW,UAAW,KAAK,UAAU,CACtF,CAEA,IAAW,SAAiC,CAC1C,OAAO,KAAK,QACd,CACA,IAAW,QAAQK,EAA8B,CAC/C,KAAK,SAAWA,CAClB,CAEA,IAAW,WAAqB,CAC9B,OAAO,KAAK,UACd,CACA,IAAW,UAAUA,EAAgB,CAC/B,KAAK,aAAeA,IACtB,KAAK,WAAaA,EAClB,KAAK,SAAS,yBAAyB,KAAK,UAAU,EACtD,KAAK,SAAS,iBAAiBL,EAAgB,WAAW,WAAY,KAAK,WAAW,SAAS,CAAC,EAEpG,CACF,EC1KA,IAAMM,EAAW,6oBACXC,EAAS,ih6BAoCFC,EAAN,cAA6BC,CAAyC,CAa3E,aAAc,CACZ,MAAM,EACNC,EAAa,OAAOC,CAAY,EAChCC,EAAqB,KAAMN,EAAUC,CAAM,EAC3C,KAAK,YAAc,IAAIM,EAAgB,IAAIC,EAAa,IAAI,CAAC,CAC/D,CAjBA,WAAkB,oBAA+B,CAC/C,MAAO,CACLC,EAAgB,WAAW,QAC3BA,EAAgB,WAAW,YAC3BA,EAAgB,WAAW,SAC3BA,EAAgB,WAAW,UAC3BA,EAAgB,WAAW,UAC7B,CACF,CAWO,qBAA4B,CACjC,KAAK,YAAY,WAAW,CAC9B,CAEO,yBAAyBC,EAAcC,EAAkBC,EAAwB,CACtF,OAAQF,QACDD,EAAgB,WAAW,QAC9B,KAAK,QAAUG,EACf,WACGH,EAAgB,WAAW,YAC9B,KAAK,WAAaG,EAClB,WACGH,EAAgB,WAAW,SAC9B,IAAMI,EAAQ,OAAOD,CAAQ,EAC7B,KAAK,SAAWC,GAASA,EAAQ,EAAIA,EAAQJ,EAAgB,SAAS,SACtE,WACGA,EAAgB,WAAW,UAC9B,KAAK,UAAYG,GAA8BH,EAAgB,SAAS,UACxE,WACGA,EAAgB,WAAW,WAC9B,KAAK,UAAYK,EAAcF,CAAQ,EACvC,MAEN,CA2BO,MAAa,CAClB,KAAK,YAAY,KAAK,CACxB,CACF,EA1BiBG,EAAA,CADdC,EAAmB,GA9CTd,EA+CI,uBAIAa,EAAA,CADdC,EAAmB,GAlDTd,EAmDI,0BAIAa,EAAA,CADdC,EAAmB,GAtDTd,EAuDI,wBAIAa,EAAA,CADdC,EAAmB,GA1DTd,EA2DI,yBAIAa,EAAA,CADdC,EAAmB,GA9DTd,EA+DI,uBAIAa,EAAA,CADdC,EAAmB,GAlETd,EAmEI,yBAnEJA,EAANa,EAAA,CARNE,EAAc,CACb,KAAMR,EAAgB,YACtB,aAAc,CACZS,EACAC,EACAC,CACF,CACF,CAAC,GACYlB,GCtCN,SAASmB,IAA6B,CAC3CC,EAAoBC,CAAc,CACpC",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "customCssPositionProperties", "classes", "selectors", "attributes", "events", "defaults", "TOAST_CONSTANTS", "ToastAdapter", "BaseAdapter", "component", "getShadowElement", "TOAST_CONSTANTS", "name", "value", "tpl", "isString", "removeAllChildren", "isVisible", "toggleElementPlaceholder", "message", "type", "listener", "placement", "removeClass", "placementClass", "isActive", "animationCompletedListener", "removeElement", "visible", "ToastFoundation", "_adapter", "TOAST_CONSTANTS", "evt", "isFunction", "tpl", "emitEvent", "value", "template", "styles", "ToastComponent", "BaseComponent", "IconRegistry", "tylIconClose", "attachShadowTemplate", "ToastFoundation", "ToastAdapter", "TOAST_CONSTANTS", "name", "oldValue", "newValue", "value", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "ButtonComponent", "IconButtonComponent", "IconComponent", "defineToastComponent", "defineCustomElement", "ToastComponent"]
7
+ }
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
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
6
+ import{a as r}from"./chunk.G45OZEIS.js";import{a as _}from"./chunk.YI4JTY4T.js";import{a as f}from"./chunk.3KQL7VAZ.js";import{a as y}from"./chunk.G5MGGEFP.js";import{a}from"./chunk.KTGSZEAG.js";import{a as O}from"./chunk.BE7PZANN.js";import{a as L,l as x}from"./chunk.Y4GKBJGI.js";import{d as g,i as E,q as b}from"./chunk.PN26D52V.js";import{b as h,l as T,p as v}from"./chunk.J2M2MXP2.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():""))}set open(e){this._show()}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()],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.4WPFFNLH.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 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
- "names": []
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 set open(value: boolean) {\n this._show();\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()\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
+ "names": ["hideElementVisually", "element", "attachTooltip", "targetElement", "placement", "content", "element", "TOOLTIP_CONSTANTS", "offset", "offsetAmount", "positionElementAsync", "TooltipAdapter", "BaseAdapter", "component", "selector", "identifier", "text", "removeAllChildren", "type", "listener", "position", "content", "isEmptyTextNode", "attachTooltip", "removeElement", "matchesSelectors", "_TooltipFoundation", "_adapter", "TOOLTIP_CONSTANTS", "evt", "throttle", "Platform", "content", "value", "isDefined", "TooltipFoundation", "TooltipComponent", "BaseComponent", "TooltipFoundation", "TooltipAdapter", "TOOLTIP_CONSTANTS", "hideElementVisually", "name", "oldValue", "newValue", "coerceNumber", "__decorateClass", "FoundationProperty", "CustomElement", "defineTooltipComponent", "defineCustomElement", "TooltipComponent"]
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 u}from"./chunk.G5MGGEFP.js";import{a as s}from"./chunk.KTGSZEAG.js";import{a as d,b as k}from"./chunk.BE7PZANN.js";import{a as m,e as b,g as h,l as f}from"./chunk.Y4GKBJGI.js";import{k as c}from"./chunk.J2M2MXP2.js";import{f as a}from"./chunk.MCIQXNKY.js";var x=`${k}stack`,_={DEFAULT:"forge-stack"},T={ROOT:`.${_.DEFAULT}`},E={INLINE:"inline",WRAP:"wrap",STRETCH:"stretch",GAP:"gap",ALIGNMENT:"alignment"},S={DEFAULT_GAP:"16"},e={elementName:x,classes:_,attributes:E,selectors:T,strings:S},A=(o=>(o.Start="start",o.Center="center",o.End="end",o))(A||{});var p=class extends u{constructor(i){super(i);this._rootElement=h(i,e.selectors.ROOT)}setGap(i){let o=/^\d+$/.test(i)?`${i}px`:i;this._rootElement.style.gap=`var(--forge-stack-gap, ${o})`}};var l=class{constructor(t){this._adapter=t;this._inline=!1;this._wrap=!1;this._stretch=!1;this._gap=e.strings.DEFAULT_GAP;this._alignment="start"}get inline(){return this._inline}set inline(t){t=Boolean(t),this._inline!==t&&(this._inline=t,this._adapter.toggleHostAttribute(e.attributes.INLINE,this._inline))}get wrap(){return this._wrap}set wrap(t){t=Boolean(t),this._wrap!==t&&(this._wrap=t,this._adapter.toggleHostAttribute(e.attributes.WRAP,this._wrap))}get stretch(){return this._stretch}set stretch(t){t=Boolean(t),this._stretch!==t&&(this._stretch=t,this._adapter.toggleHostAttribute(e.attributes.STRETCH,this._stretch))}get gap(){return this._gap}set gap(t){this._gap!==t&&(this._gap=t,this._adapter.setGap(this._gap),this._adapter.setHostAttribute(e.attributes.GAP,this._gap))}get alignment(){return this._alignment}set alignment(t){this._alignment!==t&&(this._alignment=t,this._adapter.setHostAttribute(e.attributes.ALIGNMENT,this._alignment))}};var I='<template><div class="forge-stack" part="root"><slot></slot></div></template>',N=".forge-stack{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;gap:16px;gap:var(--forge-stack-gap,16px);height:100%;height:var(--forge-stack-height,100%)}.forge-stack ::slotted(*){-webkit-box-flex:var(--forge-stack-stretch,0);flex-grow:var(--forge-stack-stretch,0)}:host{display:block;height:100%}:host([inline]) .forge-stack{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;--forge-stack-height:auto}:host([inline][wrap]) .forge-stack{flex-wrap:wrap}:host([stretch]){--forge-stack-stretch:1}:host([alignment=start]) .forge-stack{-webkit-box-pack:start;justify-content:start}:host([alignment=center]) .forge-stack{-webkit-box-pack:center;justify-content:center}:host([alignment=end]) .forge-stack{-webkit-box-pack:end;justify-content:end}",r=class extends f{constructor(){super();b(this,I,N),this._foundation=new l(new p(this))}static get observedAttributes(){return[e.attributes.INLINE,e.attributes.WRAP,e.attributes.STRETCH,e.attributes.GAP,e.attributes.ALIGNMENT]}attributeChangedCallback(i,o,n){switch(i){case e.attributes.INLINE:this.inline=c(n);break;case e.attributes.WRAP:this.wrap=c(n);break;case e.attributes.STRETCH:this.stretch=c(n);break;case e.attributes.GAP:this.gap=n;break;case e.attributes.ALIGNMENT:this.alignment=n;break}}};a([s()],r.prototype,"inline",2),a([s()],r.prototype,"wrap",2),a([s()],r.prototype,"stretch",2),a([s()],r.prototype,"gap",2),a([s()],r.prototype,"alignment",2),r=a([d({name:e.elementName})],r);function z(){m(r)}export{e as a,A as b,p as c,l as d,r as e,z as f};
7
+ //# sourceMappingURL=chunk.4X2OFZDL.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/stack/stack-constants.ts", "../../src/stack/stack-adapter.ts", "../../src/stack/stack-foundation.ts", "../../src/stack/stack.ts", "../../src/stack/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName = `${COMPONENT_NAME_PREFIX}stack`;\n\nconst classes = {\n DEFAULT: 'forge-stack'\n};\n\nconst selectors = {\n ROOT: `.${classes.DEFAULT}`\n};\n\nconst attributes = {\n INLINE: 'inline',\n WRAP: 'wrap',\n STRETCH: 'stretch',\n GAP: 'gap',\n ALIGNMENT: 'alignment'\n};\n\nconst strings = {\n DEFAULT_GAP: '16'\n};\n\nexport const STACK_CONSTANTS = {\n elementName,\n classes,\n attributes,\n selectors,\n strings\n};\n\nexport enum StackAlignMode {\n Start = 'start',\n Center = 'center',\n End = 'end'\n}\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IStackComponent } from './stack';\nimport { STACK_CONSTANTS } from './stack-constants';\n\nexport interface IStackAdapter extends IBaseAdapter {\n setGap(gap: string): void;\n}\n\nexport class StackAdapter extends BaseAdapter<IStackComponent> implements IStackAdapter {\n private _rootElement: HTMLElement;\n\n constructor(component: IStackComponent) {\n super(component);\n this._rootElement = getShadowElement(component, STACK_CONSTANTS.selectors.ROOT);\n }\n\n public setGap(gap: string): void {\n const value = /^\\d+$/.test(gap) ? `${gap}px` : gap;\n this._rootElement.style.gap = `var(--forge-stack-gap, ${value})`;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IStackAdapter } from './stack-adapter';\nimport { STACK_CONSTANTS, StackAlignMode } from './stack-constants';\n\nexport interface IStackFoundation extends ICustomElementFoundation {\n inline: boolean;\n wrap: boolean;\n stretch: boolean;\n gap: string;\n alignment: StackAlignMode;\n}\n\nexport class StackFoundation implements IStackFoundation {\n private _inline = false;\n private _wrap = false;\n private _stretch = false;\n private _gap = STACK_CONSTANTS.strings.DEFAULT_GAP;\n private _alignment = StackAlignMode.Start;\n\n constructor(private _adapter: IStackAdapter) {}\n\n /** Controls the direction of the stack. */\n public get inline(): boolean {\n return this._inline;\n }\n public set inline(value: boolean) {\n value = Boolean(value);\n if (this._inline !== value) {\n this._inline = value;\n this._adapter.toggleHostAttribute(STACK_CONSTANTS.attributes.INLINE, this._inline);\n }\n }\n\n /** Controls the direction of the stack. */\n public get wrap(): boolean {\n return this._wrap;\n }\n public set wrap(value: boolean) {\n value = Boolean(value);\n if (this._wrap !== value) {\n this._wrap = value;\n this._adapter.toggleHostAttribute(STACK_CONSTANTS.attributes.WRAP, this._wrap);\n }\n }\n\n /** Controls if the children within the stack should stretch in width */\n public get stretch(): boolean {\n return this._stretch;\n }\n public set stretch(value: boolean) {\n value = Boolean(value);\n if (this._stretch !== value) {\n this._stretch = value;\n this._adapter.toggleHostAttribute(STACK_CONSTANTS.attributes.STRETCH, this._stretch);\n }\n }\n\n /** Controls the gap amount between the children in pixels */\n public get gap(): string {\n return this._gap;\n }\n public set gap(value: string) {\n if (this._gap !== value) {\n this._gap = value;\n this._adapter.setGap(this._gap);\n this._adapter.setHostAttribute(STACK_CONSTANTS.attributes.GAP, this._gap);\n }\n }\n\n /** Controls the alignment of children */\n public get alignment(): StackAlignMode {\n return this._alignment;\n }\n public set alignment(value: StackAlignMode) {\n if (this._alignment !== value) {\n this._alignment = value;\n this._adapter.setHostAttribute(STACK_CONSTANTS.attributes.ALIGNMENT, this._alignment);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, ICustomElement, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { StackAdapter } from './stack-adapter';\nimport { StackFoundation } from './stack-foundation';\nimport { STACK_CONSTANTS, StackAlignMode } from './stack-constants';\nimport { BaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-stack\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-stack{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;gap:16px;gap:var(--forge-stack-gap,16px);height:100%;height:var(--forge-stack-height,100%)}.forge-stack ::slotted(*){-webkit-box-flex:var(--forge-stack-stretch,0);flex-grow:var(--forge-stack-stretch,0)}:host{display:block;height:100%}:host([inline]) .forge-stack{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;--forge-stack-height:auto}:host([inline][wrap]) .forge-stack{flex-wrap:wrap}:host([stretch]){--forge-stack-stretch:1}:host([alignment=start]) .forge-stack{-webkit-box-pack:start;justify-content:start}:host([alignment=center]) .forge-stack{-webkit-box-pack:center;justify-content:center}:host([alignment=end]) .forge-stack{-webkit-box-pack:end;justify-content:end}';\n\nexport interface IStackComponent extends ICustomElement {\n inline: boolean;\n wrap: boolean;\n stretch: boolean;\n gap: string;\n alignment: StackAlignMode;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-stack': IStackComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-stack>` component.\n * \n * @tag forge-stack\n */\n@CustomElement({\n name: STACK_CONSTANTS.elementName\n})\nexport class StackComponent extends BaseComponent implements IStackComponent {\n public static get observedAttributes(): string[] {\n return [\n STACK_CONSTANTS.attributes.INLINE,\n STACK_CONSTANTS.attributes.WRAP,\n STACK_CONSTANTS.attributes.STRETCH,\n STACK_CONSTANTS.attributes.GAP,\n STACK_CONSTANTS.attributes.ALIGNMENT\n ];\n }\n\n private _foundation: StackFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new StackFoundation(new StackAdapter(this));\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case STACK_CONSTANTS.attributes.INLINE:\n this.inline = coerceBoolean(newValue);\n break;\n case STACK_CONSTANTS.attributes.WRAP:\n this.wrap = coerceBoolean(newValue);\n break;\n case STACK_CONSTANTS.attributes.STRETCH:\n this.stretch = coerceBoolean(newValue);\n break;\n case STACK_CONSTANTS.attributes.GAP:\n this.gap = newValue;\n break;\n case STACK_CONSTANTS.attributes.ALIGNMENT:\n this.alignment = newValue as StackAlignMode;\n break;\n }\n }\n\n /** Controls the direction of the stack. */\n @FoundationProperty()\n public declare inline: boolean;\n\n /** Controls if items wrap to a new line in inline mode */\n @FoundationProperty()\n public declare wrap: boolean;\n\n /** Controls if items stretch and take up the maximum amount of space */\n @FoundationProperty()\n public declare stretch: boolean;\n\n /** Controls the gap between the children within the stack */\n @FoundationProperty()\n public declare gap: string;\n\n /** Controls if stack items are at the end of the row or column */\n @FoundationProperty()\n public declare alignment: StackAlignMode;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { StackComponent } from './stack';\n\nexport * from './stack-adapter';\nexport * from './stack-constants';\nexport * from './stack-foundation';\nexport * from './stack';\n\nexport function defineStackComponent(): void {\n defineCustomElement(StackComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "selectors", "attributes", "strings", "STACK_CONSTANTS", "StackAlignMode", "StackAdapter", "BaseAdapter", "component", "getShadowElement", "STACK_CONSTANTS", "gap", "value", "StackFoundation", "_adapter", "STACK_CONSTANTS", "value", "template", "styles", "StackComponent", "BaseComponent", "attachShadowTemplate", "StackFoundation", "StackAdapter", "STACK_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "defineStackComponent", "defineCustomElement", "StackComponent"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as i,b as a,e as g}from"./chunk.C7AN6FMW.js";import{a as y}from"./chunk.G5MGGEFP.js";import{a as n}from"./chunk.KTGSZEAG.js";import{a as f}from"./chunk.BE7PZANN.js";import{a as m,e as _,g as v,l as C}from"./chunk.Y4GKBJGI.js";import{t as b}from"./chunk.PN26D52V.js";import{k as l}from"./chunk.J2M2MXP2.js";import{f as p}from"./chunk.MCIQXNKY.js";var d=class extends y{constructor(e){super(e);this._rootElement=v(this._component,i.selectors.ROOT)}setVertical(e){b(this._rootElement,e,i.classes.VERTICAL)}setType(e){this._getChips().forEach(t=>t.type=e)}setDense(e){this._getChips().forEach(t=>t.dense=e)}setDisabled(e){this._getChips().forEach(t=>t.disabled=e)}tryFocusPrevious(e){let o=this._getChips(),t=o.findIndex(h=>h===e);t>=0&&(t===0?o[o.length-1].tryFocusDelete():o[t-1].tryFocusDelete())}tryFocusNext(e){let o=this._getChips(),t=o.findIndex(h=>h===e);t>=0&&(t===o.length-1?o[0].focus():o[t+1].focus())}_getChips(){return Array.from(this._component.querySelectorAll(a.elementName))}};var c=class{constructor(s){this._adapter=s;this._vertical=!1;this._type=a.defaults.TYPE;this._dense=!1;this._disabled=!1;this._focusPreviousListener=e=>this._adapter.tryFocusPrevious(e.target),this._focusNextListener=e=>this._adapter.tryFocusNext(e.target)}initialize(){this._adapter.addHostListener(a.events.FOCUS_PREVIOUS,this._focusPreviousListener),this._adapter.addHostListener(a.events.FOCUS_NEXT,this._focusNextListener),this._applyVertical(),this._applyType(),this._applyDense(),this._applyDisabled()}destroy(){this._adapter.removeHostListener(a.events.FOCUS_PREVIOUS,this._focusPreviousListener),this._adapter.removeHostListener(a.events.FOCUS_NEXT,this._focusNextListener)}_applyVertical(){this._adapter.setVertical(this._vertical),this._adapter.toggleHostAttribute(i.attributes.VERTICAL,this._vertical)}_applyType(){this._adapter.setType(this._type),this._adapter.setHostAttribute(i.attributes.TYPE,this._type)}_applyDense(){this._adapter.setDense(this._dense),this._adapter.toggleHostAttribute(i.attributes.DENSE,this._dense)}_applyDisabled(){this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled)}get vertical(){return this._vertical}set vertical(s){this._vertical!==s&&(this._vertical=s,this._applyVertical())}get type(){return this._type}set type(s){this._type!==s&&(this._type=s,this._applyType())}get dense(){return this._dense}set dense(s){this._dense!==s&&(this._dense=s,this._applyDense())}get disabled(){return this._disabled}set disabled(s){this._disabled!==s&&(this._disabled=s,this._applyDisabled())}};var T='<template><div class="forge-chip-set" part="root"><slot></slot></div></template>',E=".forge-chip-set{gap:4px;gap:var(--forge-chip-set-spacing,4px);display:-webkit-box;display:flex;flex-wrap:wrap}.forge-chip-set ::slotted(forge-chip:not(:last-child)){margin-right:4px;margin-right:var(--forge-chip-set-spacing,4px)}.forge-chip-set--vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-chip-set--vertical ::slotted(forge-chip:not(:last-child)){margin-bottom:4px;margin-bottom:var(--forge-chip-set-spacing,4px)}:host{display:inline-block}:host([hidden]){display:none}",r=class extends C{constructor(){super();_(this,T,E),this._foundation=new c(new d(this))}static get observedAttributes(){return[i.attributes.VERTICAL,i.attributes.TYPE,i.attributes.DENSE,i.attributes.DISABLED]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,o,t){switch(e){case i.attributes.VERTICAL:this.vertical=l(t);break;case i.attributes.TYPE:this.type=t;break;case i.attributes.DENSE:this.dense=l(t);break;case i.attributes.DISABLED:this.disabled=l(t);break}}};p([n()],r.prototype,"vertical",2),p([n()],r.prototype,"type",2),p([n()],r.prototype,"dense",2),p([n()],r.prototype,"disabled",2),r=p([f({name:i.elementName,dependencies:[g]})],r);function q(){m(r)}export{d as a,c as b,r as c,q as d};
7
+ //# sourceMappingURL=chunk.5FPFRE4H.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/chips/chip-set/chip-set-adapter.ts", "../../src/chips/chip-set/chip-set-foundation.ts", "../../src/chips/chip-set/chip-set.ts", "../../src/chips/chip-set/index.ts"],
4
+ "sourcesContent": ["import { getShadowElement, toggleClass } from '@tylertech/forge-core';\r\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\r\nimport { IChipComponent } from '../chip/chip';\r\nimport { ChipType, CHIP_CONSTANTS } from '../chip/chip-constants';\r\nimport { IChipSetComponent } from './chip-set';\r\nimport { CHIP_SET_CONSTANTS } from './chip-set-constants';\r\n\r\nexport interface IChipSetAdapter extends IBaseAdapter {\r\n setVertical(value: boolean): void;\r\n setType(value: ChipType): void;\r\n setDense(value: boolean): void;\r\n setDisabled(value: boolean): void;\r\n tryFocusPrevious(fromChip: EventTarget | null): void;\r\n tryFocusNext(fromChip: EventTarget | null): void;\r\n}\r\n\r\nexport class ChipSetAdapter extends BaseAdapter<IChipSetComponent> implements IChipSetAdapter {\r\n private _rootElement: HTMLElement;\r\n\r\n constructor(component: IChipSetComponent) {\r\n super(component);\r\n this._rootElement = getShadowElement(this._component, CHIP_SET_CONSTANTS.selectors.ROOT);\r\n }\r\n\r\n public setVertical(value: boolean): void {\r\n toggleClass(this._rootElement, value, CHIP_SET_CONSTANTS.classes.VERTICAL);\r\n }\r\n\r\n public setType(value: ChipType): void {\r\n const chips = this._getChips();\r\n chips.forEach(c => c.type = value);\r\n }\r\n\r\n public setDense(value: boolean): void {\r\n const chips = this._getChips();\r\n chips.forEach(c => c.dense = value);\r\n }\r\n\r\n public setDisabled(value: boolean): void {\r\n const chips = this._getChips();\r\n chips.forEach(c => c.disabled = value);\r\n }\r\n\r\n public tryFocusPrevious(fromChip: EventTarget | null): void {\r\n const chips = this._getChips();\r\n const activeChipIndex = chips.findIndex(chip => chip === fromChip);\r\n\r\n if (activeChipIndex >= 0) {\r\n if (activeChipIndex === 0) {\r\n chips[chips.length - 1].tryFocusDelete();\r\n } else {\r\n chips[activeChipIndex - 1].tryFocusDelete();\r\n }\r\n }\r\n }\r\n\r\n public tryFocusNext(fromChip: EventTarget | null): void {\r\n const chips = this._getChips();\r\n const activeChipIndex = chips.findIndex(chip => chip === fromChip);\r\n\r\n if (activeChipIndex >= 0) {\r\n if (activeChipIndex === chips.length - 1) {\r\n chips[0].focus();\r\n } else {\r\n chips[activeChipIndex + 1].focus();\r\n }\r\n }\r\n }\r\n\r\n private _getChips(): IChipComponent[] {\r\n return Array.from(this._component.querySelectorAll(CHIP_CONSTANTS.elementName));\r\n }\r\n}\r\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\r\n\r\nimport { IChipSetAdapter } from './chip-set-adapter';\r\nimport { CHIP_CONSTANTS, ChipType } from '../chip/chip-constants';\r\nimport { CHIP_SET_CONSTANTS } from './chip-set-constants';\r\n\r\nexport interface IChipSetFoundation extends ICustomElementFoundation {\r\n vertical: boolean;\r\n type: ChipType;\r\n dense: boolean;\r\n disabled: boolean;\r\n}\r\n\r\nexport class ChipSetFoundation implements IChipSetFoundation {\r\n private _vertical = false;\r\n private _type: ChipType = CHIP_CONSTANTS.defaults.TYPE as ChipType;\r\n private _dense = false;\r\n private _disabled = false;\r\n private _focusPreviousListener: (evt: CustomEvent) => void;\r\n private _focusNextListener: (evt: CustomEvent) => void;\r\n\r\n constructor(private _adapter: IChipSetAdapter) {\r\n this._focusPreviousListener = (evt: CustomEvent) => this._adapter.tryFocusPrevious(evt.target);\r\n this._focusNextListener = (evt: CustomEvent) => this._adapter.tryFocusNext(evt.target);\r\n }\r\n\r\n public initialize(): void {\r\n this._adapter.addHostListener(CHIP_CONSTANTS.events.FOCUS_PREVIOUS, this._focusPreviousListener);\r\n this._adapter.addHostListener(CHIP_CONSTANTS.events.FOCUS_NEXT, this._focusNextListener);\r\n\r\n this._applyVertical();\r\n this._applyType();\r\n this._applyDense();\r\n this._applyDisabled();\r\n }\r\n\r\n public destroy(): void {\r\n this._adapter.removeHostListener(CHIP_CONSTANTS.events.FOCUS_PREVIOUS, this._focusPreviousListener);\r\n this._adapter.removeHostListener(CHIP_CONSTANTS.events.FOCUS_NEXT, this._focusNextListener);\r\n }\r\n\r\n private _applyVertical(): void {\r\n this._adapter.setVertical(this._vertical);\r\n this._adapter.toggleHostAttribute(CHIP_SET_CONSTANTS.attributes.VERTICAL, this._vertical);\r\n }\r\n\r\n private _applyType(): void {\r\n this._adapter.setType(this._type);\r\n this._adapter.setHostAttribute(CHIP_SET_CONSTANTS.attributes.TYPE, this._type);\r\n }\r\n\r\n private _applyDense(): void {\r\n this._adapter.setDense(this._dense);\r\n this._adapter.toggleHostAttribute(CHIP_SET_CONSTANTS.attributes.DENSE, this._dense);\r\n }\r\n\r\n private _applyDisabled(): void {\r\n this._adapter.setDisabled(this._disabled);\r\n this._adapter.toggleHostAttribute(CHIP_SET_CONSTANTS.attributes.DISABLED, this._disabled);\r\n }\r\n \r\n public get vertical(): boolean {\r\n return this._vertical;\r\n }\r\n public set vertical(value: boolean) {\r\n if (this._vertical !== value) {\r\n this._vertical = value;\r\n this._applyVertical();\r\n }\r\n }\r\n\r\n public get type(): ChipType {\r\n return this._type;\r\n }\r\n public set type(value: ChipType) {\r\n if (this._type !== value) {\r\n this._type = value;\r\n this._applyType();\r\n }\r\n }\r\n\r\n public get dense(): boolean {\r\n return this._dense;\r\n }\r\n public set dense(value: boolean) {\r\n if (this._dense !== value) {\r\n this._dense = value;\r\n this._applyDense();\r\n }\r\n }\r\n\r\n public get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n public set disabled(value: boolean) {\r\n if (this._disabled !== value) {\r\n this._disabled = value;\r\n this._applyDisabled();\r\n }\r\n }\r\n}\r\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\r\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\r\nimport { ChipComponent } from '../chip/chip';\r\nimport { ChipType } from '../chip/chip-constants';\r\nimport { ChipSetAdapter } from './chip-set-adapter';\r\nimport { CHIP_SET_CONSTANTS } from './chip-set-constants';\r\nimport { ChipSetFoundation } from './chip-set-foundation';\r\n\r\nconst template = '<template><div class=\\\"forge-chip-set\\\" part=\\\"root\\\"><slot></slot></div></template>';\r\nconst styles = '.forge-chip-set{gap:4px;gap:var(--forge-chip-set-spacing,4px);display:-webkit-box;display:flex;flex-wrap:wrap}.forge-chip-set ::slotted(forge-chip:not(:last-child)){margin-right:4px;margin-right:var(--forge-chip-set-spacing,4px)}.forge-chip-set--vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-chip-set--vertical ::slotted(forge-chip:not(:last-child)){margin-bottom:4px;margin-bottom:var(--forge-chip-set-spacing,4px)}:host{display:inline-block}:host([hidden]){display:none}';\r\n\r\nexport interface IChipSetComponent extends IBaseComponent {\r\n vertical: boolean;\r\n type: ChipType;\r\n dense: boolean;\r\n disabled: boolean;\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n 'forge-chip-set': IChipSetComponent;\r\n }\r\n}\r\n\r\n/**\r\n * The web component class behind the `<forge-chip-set>` custom element.\r\n * \r\n * @tag forge-chip-set\r\n */\r\n@CustomElement({\r\n name: CHIP_SET_CONSTANTS.elementName,\r\n dependencies: [ChipComponent]\r\n})\r\nexport class ChipSetComponent extends BaseComponent implements IChipSetComponent {\r\n public static get observedAttributes(): string[] {\r\n return [\r\n CHIP_SET_CONSTANTS.attributes.VERTICAL,\r\n CHIP_SET_CONSTANTS.attributes.TYPE,\r\n CHIP_SET_CONSTANTS.attributes.DENSE,\r\n CHIP_SET_CONSTANTS.attributes.DISABLED\r\n ];\r\n }\r\n\r\n private _foundation: ChipSetFoundation;\r\n\r\n constructor() {\r\n super();\r\n attachShadowTemplate(this, template, styles);\r\n this._foundation = new ChipSetFoundation(new ChipSetAdapter(this));\r\n }\r\n\r\n public connectedCallback(): void {\r\n this._foundation.initialize();\r\n }\r\n\r\n public disconnectedCallback(): void {\r\n this._foundation.destroy();\r\n }\r\n\r\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\r\n switch (name) {\r\n case CHIP_SET_CONSTANTS.attributes.VERTICAL:\r\n this.vertical = coerceBoolean(newValue);\r\n break;\r\n case CHIP_SET_CONSTANTS.attributes.TYPE:\r\n this.type = newValue as ChipType;\r\n break;\r\n case CHIP_SET_CONSTANTS.attributes.DENSE:\r\n this.dense = coerceBoolean(newValue);\r\n break;\r\n case CHIP_SET_CONSTANTS.attributes.DISABLED:\r\n this.disabled = coerceBoolean(newValue);\r\n break;\r\n }\r\n }\r\n\r\n @FoundationProperty()\r\n public declare vertical: boolean;\r\n\r\n @FoundationProperty()\r\n public declare type: ChipType;\r\n\r\n @FoundationProperty()\r\n public declare dense: boolean;\r\n\r\n @FoundationProperty()\r\n public declare disabled: boolean;\r\n}\r\n", "import { defineCustomElement } from '@tylertech/forge-core';\r\n\r\nimport { ChipSetComponent } from './chip-set';\r\n\r\nexport * from './chip-set-adapter';\r\nexport * from './chip-set-constants';\r\nexport * from './chip-set-foundation';\r\nexport * from './chip-set';\r\n\r\nexport function defineChipSetComponent(): void {\r\n defineCustomElement(ChipSetComponent);\r\n}\r\n"],
5
+ "mappings": "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",
6
+ "names": ["ChipSetAdapter", "BaseAdapter", "component", "getShadowElement", "CHIP_SET_CONSTANTS", "value", "toggleClass", "c", "fromChip", "chips", "activeChipIndex", "chip", "CHIP_CONSTANTS", "ChipSetFoundation", "_adapter", "CHIP_CONSTANTS", "evt", "CHIP_SET_CONSTANTS", "value", "template", "styles", "ChipSetComponent", "BaseComponent", "attachShadowTemplate", "ChipSetFoundation", "ChipSetAdapter", "CHIP_SET_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "ChipComponent", "defineChipSetComponent", "defineCustomElement", "ChipSetComponent"]
7
+ }