@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
@@ -18,18 +18,21 @@ export interface IMenuFoundation extends ICustomElementFoundation {
18
18
  optionsFactory: MenuOptionFactory | undefined;
19
19
  selectedIndex: number;
20
20
  selectedValue: any;
21
- placement: string;
21
+ placement: PopupPlacement;
22
+ fallbackPlacements: PopupPlacement[];
22
23
  dense: boolean;
23
24
  iconClass: string;
24
25
  persistSelection: boolean;
25
26
  mode: MenuMode;
26
27
  popupOffset: IPopupPosition;
27
28
  optionBuilder: MenuOptionBuilder | undefined;
29
+ activateFirstOption(): void;
28
30
  }
29
31
  export declare class MenuFoundation extends CascadingListDropdownAwareFoundation<IMenuOption | IMenuOptionGroup> implements IMenuFoundation {
30
32
  private _adapter;
31
33
  private _optionsFactory;
32
34
  private _placement;
35
+ private _fallbackPlacements;
33
36
  private _dense;
34
37
  private _selectedValue;
35
38
  private _iconClass;
@@ -46,6 +49,7 @@ export declare class MenuFoundation extends CascadingListDropdownAwareFoundation
46
49
  constructor(_adapter: IMenuAdapter);
47
50
  initialize(): void;
48
51
  disconnect(): void;
52
+ activateFirstOption(): void;
49
53
  private _applyMode;
50
54
  private _initializeInteractionListeners;
51
55
  private _destroyInteractionListeners;
@@ -69,9 +73,12 @@ export declare class MenuFoundation extends CascadingListDropdownAwareFoundation
69
73
  /** Called when a child menu is opened off of one of our menu options. */
70
74
  protected _onCascadingChildOpen(index: number): void;
71
75
  /** Called when a child menu is closed off of one of our menu options. */
72
- protected _onCascadingChildClose(): void;
76
+ protected _onCascadingChildClose(index: number): void;
73
77
  protected _closeDropdown(): void;
74
- protected _openDropdown(): void;
78
+ protected _openDropdown({ fromKeyboard }?: {
79
+ fromKeyboard?: boolean;
80
+ }): void;
81
+ protected _setCascadeTargetInactive(): void;
75
82
  protected _isOwnElement(element: Element): boolean;
76
83
  private _createCascadingElement;
77
84
  private _mapIconToLeadingIcon;
@@ -86,6 +93,8 @@ export declare class MenuFoundation extends CascadingListDropdownAwareFoundation
86
93
  get selectedValue(): any;
87
94
  get placement(): PopupPlacement;
88
95
  set placement(value: PopupPlacement);
96
+ get fallbackPlacements(): PopupPlacement[];
97
+ set fallbackPlacements(value: PopupPlacement[]);
89
98
  get dense(): boolean;
90
99
  set dense(value: boolean);
91
100
  get iconClass(): string;
@@ -16,6 +16,7 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
16
16
  });
17
17
  this._adapter = _adapter;
18
18
  this._placement = 'bottom-start';
19
+ this._fallbackPlacements = [];
19
20
  this._dense = false;
20
21
  this._iconClass = ICON_CLASS_NAME;
21
22
  this._persistSelection = false;
@@ -38,6 +39,9 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
38
39
  }
39
40
  this._destroyInteractionListeners();
40
41
  }
42
+ activateFirstOption() {
43
+ this._adapter.activateFirstOption();
44
+ }
41
45
  _applyMode() {
42
46
  if (!this._adapter.hasTargetElement()) {
43
47
  return;
@@ -55,14 +59,14 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
55
59
  }
56
60
  this._applyMode();
57
61
  this._adapter.addTargetListener('keydown', this._keydownListener, true);
58
- this._adapter.addTargetListener('blur', this._blurListener);
62
+ this._adapter.addTargetListener('focusout', this._blurListener);
59
63
  }
60
64
  _destroyInteractionListeners() {
61
65
  if (!this._adapter.hasTargetElement()) {
62
66
  return;
63
67
  }
64
68
  this._adapter.removeTargetListener('keydown', this._clickListener);
65
- this._adapter.removeTargetListener('blur', this._blurListener);
69
+ this._adapter.removeTargetListener('focusout', this._blurListener);
66
70
  this._adapter.removeTargetListener('click', this._clickListener);
67
71
  this._detachCascadingListeners();
68
72
  }
@@ -113,13 +117,6 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
113
117
  onKeydown(evt) {
114
118
  // If we have any child menus open, we need to proxy the keyboard events to those and exit
115
119
  if (this._childOpen) {
116
- // If escape is pressed while other menus are open then we need to close everything
117
- if (evt.code === 'Escape') {
118
- evt.preventDefault();
119
- this._adapter.closeOtherChildMenus();
120
- this._closeDropdown();
121
- return;
122
- }
123
120
  this._adapter.proxyKeyboardEventToChild(evt, this._identifier);
124
121
  return;
125
122
  }
@@ -132,6 +129,7 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
132
129
  case 'Escape':
133
130
  if (this._open) {
134
131
  evt.preventDefault();
132
+ evt.stopPropagation();
135
133
  this._closeDropdown();
136
134
  }
137
135
  break;
@@ -141,7 +139,7 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
141
139
  this._closeDropdown();
142
140
  }
143
141
  else {
144
- this._openDropdown();
142
+ this._openDropdown({ fromKeyboard: true });
145
143
  }
146
144
  break;
147
145
  case 'Home':
@@ -152,11 +150,13 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
152
150
  }
153
151
  break;
154
152
  case 'Enter':
153
+ evt.preventDefault();
155
154
  if (!this._open) {
155
+ evt.preventDefault();
156
+ this._openDropdown({ fromKeyboard: true });
156
157
  return;
157
158
  }
158
159
  evt.stopImmediatePropagation();
159
- evt.preventDefault();
160
160
  this._adapter.propagateKey(evt.code);
161
161
  // Check if we need to toggle the child menu open state
162
162
  const activeIndex = this._adapter.getActiveOptionIndex();
@@ -172,7 +172,7 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
172
172
  }
173
173
  evt.preventDefault();
174
174
  if (!this._open && evt.code === 'ArrowDown') {
175
- this._openDropdown();
175
+ this._openDropdown({ fromKeyboard: true });
176
176
  this._adapter.activateFirstOption();
177
177
  return;
178
178
  }
@@ -202,7 +202,7 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
202
202
  break;
203
203
  }
204
204
  }
205
- async _openMenu() {
205
+ async _openMenu({ fromKeyboard } = {}) {
206
206
  this._open = true;
207
207
  let options = [];
208
208
  if (typeof this._optionsFactory === 'function') {
@@ -238,7 +238,8 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
238
238
  observeScroll: this._observeScroll,
239
239
  observeScrollThreshold: this._observeScrollThreshold,
240
240
  popupPlacement: this._placement,
241
- activeStartIndex: this._mode === 'cascade' ? 0 : undefined,
241
+ popupFallbackPlacements: this._fallbackPlacements,
242
+ activeStartIndex: fromKeyboard ? 0 : undefined,
242
243
  popupClasses: [
243
244
  MENU_CONSTANTS.classes.POPUP,
244
245
  MENU_CONSTANTS.classes.MENU,
@@ -355,14 +356,17 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
355
356
  this._adapter.setActiveOption(index);
356
357
  }
357
358
  /** Called when a child menu is closed off of one of our menu options. */
358
- _onCascadingChildClose() {
359
+ _onCascadingChildClose(index) {
359
360
  this._childOpen = false;
360
361
  }
361
362
  _closeDropdown() {
362
363
  this._closeMenu();
363
364
  }
364
- _openDropdown() {
365
- this._openMenu();
365
+ _openDropdown({ fromKeyboard } = {}) {
366
+ this._openMenu({ fromKeyboard });
367
+ }
368
+ _setCascadeTargetInactive() {
369
+ this._adapter.setCascadeTargetInactive();
366
370
  }
367
371
  _isOwnElement(element) {
368
372
  return this._adapter.isOwnElement(element);
@@ -373,6 +377,7 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
373
377
  menu.popupOffset = { x: 0, y: -8 };
374
378
  menu.dense = this._dense;
375
379
  menu.placement = 'right-start';
380
+ menu.fallbackPlacements = ['left-start', 'right-start']; // Cascading menus should only fallback to left or right placement if needed
376
381
  menu.persistSelection = this._persistSelection;
377
382
  if (this._persistSelection) {
378
383
  menu.selectedValue = this._selectedValue;
@@ -462,6 +467,12 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
462
467
  this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.PLACEMENT, this._placement);
463
468
  }
464
469
  }
470
+ get fallbackPlacements() {
471
+ return this._fallbackPlacements;
472
+ }
473
+ set fallbackPlacements(value) {
474
+ this._fallbackPlacements = Array.isArray(value) ? value : [];
475
+ }
465
476
  get dense() {
466
477
  return this._dense;
467
478
  }
@@ -12,6 +12,7 @@ export interface IMenuComponent extends IListDropdownAware {
12
12
  selectedIndex: number;
13
13
  selectedValue: number;
14
14
  placement: PopupPlacement;
15
+ fallbackPlacements: PopupPlacement[];
15
16
  dense: boolean;
16
17
  iconClass: string;
17
18
  persistSelection: boolean;
@@ -20,6 +21,7 @@ export interface IMenuComponent extends IListDropdownAware {
20
21
  optionBuilder: MenuOptionBuilder | undefined;
21
22
  popupElement: HTMLElement | undefined;
22
23
  propagateKeyEvent(evt: KeyboardEvent): void;
24
+ activateFirstOption(): void;
23
25
  }
24
26
  declare global {
25
27
  interface HTMLElementTagNameMap {
@@ -54,6 +56,8 @@ export declare class MenuComponent extends ListDropdownAware implements IMenuCom
54
56
  selectedValue: any;
55
57
  /** Gets/sets the menu placement (default is bottom-left). */
56
58
  placement: `${PopupPlacement}`;
59
+ /** Gets/sets the fallback menu placement for overriding the default of any side. */
60
+ fallbackPlacements: `${PopupPlacement}`[];
57
61
  /** Gets/sets dense state of the list options used in the menu popup. */
58
62
  dense: boolean;
59
63
  /** Gets/sets the class name to use for option icons. */
@@ -65,7 +69,7 @@ export declare class MenuComponent extends ListDropdownAware implements IMenuCom
65
69
  persistSelection: boolean;
66
70
  /** Gets/sets the mode that this menu is using. */
67
71
  mode: MenuMode;
68
- /** Sets the position adustment on the internal popup element. */
72
+ /** Sets the position adjustment on the internal popup element. */
69
73
  popupOffset: IPopupPosition;
70
74
  /** Sets the callback that will be executed for each option in the dropdown for producing custom option templates. */
71
75
  optionBuilder: MenuOptionBuilder;
@@ -73,4 +77,5 @@ export declare class MenuComponent extends ListDropdownAware implements IMenuCom
73
77
  popupElement: HTMLElement | undefined;
74
78
  /** Force propagates the key event from another element this component. */
75
79
  propagateKeyEvent(evt: KeyboardEvent): void;
80
+ activateFirstOption(): void;
76
81
  }
package/esm/menu/menu.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { __decorate } from "tslib";
7
- import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChildren, FoundationProperty, isDefined } from '@tylertech/forge-core';
7
+ import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChild, FoundationProperty, isDefined } from '@tylertech/forge-core';
8
8
  import { tylIconArrowRight } from '@tylertech/tyler-icons/standard';
9
9
  import { CircularProgressComponent } from '../circular-progress';
10
10
  import { IconRegistry } from '../icon';
@@ -47,11 +47,11 @@ let MenuComponent = class MenuComponent extends ListDropdownAware {
47
47
  ];
48
48
  }
49
49
  connectedCallback() {
50
- if (this.children.length) {
50
+ if (this.querySelector(MENU_CONSTANTS.selectors.TOGGLE)) {
51
51
  this._foundation.initialize();
52
52
  }
53
53
  else {
54
- ensureChildren(this).then(() => this._foundation.initialize());
54
+ ensureChild(this, MENU_CONSTANTS.selectors.TOGGLE).then(() => this._foundation.initialize());
55
55
  }
56
56
  }
57
57
  attributeChangedCallback(name, oldValue, newValue) {
@@ -90,6 +90,9 @@ let MenuComponent = class MenuComponent extends ListDropdownAware {
90
90
  propagateKeyEvent(evt) {
91
91
  this._foundation.onKeydown(evt);
92
92
  }
93
+ activateFirstOption() {
94
+ this._foundation.activateFirstOption();
95
+ }
93
96
  };
94
97
  __decorate([
95
98
  FoundationProperty()
@@ -106,6 +109,9 @@ __decorate([
106
109
  __decorate([
107
110
  FoundationProperty()
108
111
  ], MenuComponent.prototype, "placement", void 0);
112
+ __decorate([
113
+ FoundationProperty()
114
+ ], MenuComponent.prototype, "fallbackPlacements", void 0);
109
115
  __decorate([
110
116
  FoundationProperty()
111
117
  ], MenuComponent.prototype, "dense", void 0);
@@ -32,8 +32,16 @@ export class PopupAdapter extends BaseAdapter {
32
32
  element: this._component,
33
33
  targetElement: this._component.targetElement,
34
34
  placement: this._component.placement,
35
- hide: this._component.hideWhenClipped
35
+ hide: this._component.hideWhenClipped,
36
+ flipOptions: {
37
+ fallbackPlacements: ['top-start', 'top', 'top-end', 'left-start', 'left', 'left-end', 'right-start', 'right', 'right-end'],
38
+ fallbackStrategy: 'initialPlacement'
39
+ }
36
40
  };
41
+ const fallbackPlacements = this._component.fallbackPlacements;
42
+ if (fallbackPlacements === null || fallbackPlacements === void 0 ? void 0 : fallbackPlacements.length) {
43
+ config.flipOptions = Object.assign(Object.assign({}, config.flipOptions), { fallbackPlacements });
44
+ }
37
45
  if (this._component.offset) {
38
46
  config.offset = this._component.offset;
39
47
  }
@@ -27,6 +27,7 @@ export declare const POPUP_CONSTANTS: {
27
27
  HIDE_WHEN_CLIPPED: string;
28
28
  HOST: string;
29
29
  INITIAL_FOCUS: string;
30
+ CONSTRAIN_VIEWPORT_WIDTH: string;
30
31
  };
31
32
  events: {
32
33
  OPEN: string;
@@ -14,7 +14,8 @@ const attributes = {
14
14
  STATIC: 'static',
15
15
  HIDE_WHEN_CLIPPED: 'hide-when-clipped',
16
16
  HOST: 'forge-popup-host',
17
- INITIAL_FOCUS: 'forge-popup-focus'
17
+ INITIAL_FOCUS: 'forge-popup-focus',
18
+ CONSTRAIN_VIEWPORT_WIDTH: 'constrain-viewport-width'
18
19
  };
19
20
  const classes = {
20
21
  OPEN: 'forge-popup--open',
@@ -9,6 +9,7 @@ import { IPopupPosition, PopupAnimationType, PopupPlacement, PopupStateCallback
9
9
  export interface IPopupFoundation extends ICustomElementFoundation {
10
10
  targetElement: HTMLElement;
11
11
  placement: PopupPlacement;
12
+ fallbackPlacements: PopupPlacement[];
12
13
  open: boolean;
13
14
  manageFocus: boolean;
14
15
  animationType: PopupAnimationType;
@@ -23,6 +24,7 @@ export declare class PopupFoundation implements IPopupFoundation {
23
24
  private _adapter;
24
25
  private _targetElement;
25
26
  private _placement;
27
+ private _fallbackPlacements;
26
28
  private _open;
27
29
  private _manageFocus;
28
30
  private _animationType;
@@ -48,6 +50,8 @@ export declare class PopupFoundation implements IPopupFoundation {
48
50
  set targetElement(element: HTMLElement);
49
51
  get placement(): PopupPlacement;
50
52
  set placement(value: PopupPlacement);
53
+ get fallbackPlacements(): PopupPlacement[];
54
+ set fallbackPlacements(value: PopupPlacement[]);
51
55
  get open(): boolean;
52
56
  set open(value: boolean);
53
57
  get manageFocus(): boolean;
@@ -9,6 +9,7 @@ export class PopupFoundation {
9
9
  constructor(_adapter) {
10
10
  this._adapter = _adapter;
11
11
  this._placement = 'bottom-start';
12
+ this._fallbackPlacements = [];
12
13
  this._open = false;
13
14
  this._manageFocus = false;
14
15
  this._animationType = PopupAnimationType.None;
@@ -166,6 +167,12 @@ export class PopupFoundation {
166
167
  this._adapter.setAttribute(POPUP_CONSTANTS.attributes.PLACEMENT, this._placement);
167
168
  }
168
169
  }
170
+ get fallbackPlacements() {
171
+ return this._fallbackPlacements;
172
+ }
173
+ set fallbackPlacements(value) {
174
+ this._fallbackPlacements = Array.isArray(value) ? value : [];
175
+ }
169
176
  get open() {
170
177
  return this._open;
171
178
  }
@@ -8,6 +8,7 @@ import { IPopupPosition, IPopupPositionEventData, PopupAnimationType, PopupPlace
8
8
  export interface IPopupComponent extends IBaseComponent {
9
9
  targetElement: HTMLElement;
10
10
  placement: PopupPlacement;
11
+ fallbackPlacements: PopupPlacement[];
11
12
  open: boolean;
12
13
  manageFocus: boolean;
13
14
  animationType: `${PopupAnimationType}`;
@@ -42,6 +43,7 @@ export declare class PopupComponent extends BaseComponent implements IPopupCompo
42
43
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
43
44
  targetElement: HTMLElement;
44
45
  placement: `${PopupPlacement}`;
46
+ fallbackPlacements: `${PopupPlacement}`[];
45
47
  open: boolean;
46
48
  manageFocus: boolean;
47
49
  animationType: `${PopupAnimationType}`;
@@ -10,7 +10,7 @@ import { PopupAdapter } from './popup-adapter';
10
10
  import { POPUP_CONSTANTS } from './popup-constants';
11
11
  import { PopupFoundation } from './popup-foundation';
12
12
  const template = '<template><div class=\"forge-popup\" part=\"root\"><slot></slot></div></template>';
13
- const styles = '.forge-popup{min-width:112px;min-width:var(--min-width,112px);background-color:#fff;background-color:var(--forge-theme-elevated-surface,#fff);-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-box-shadow:var(--forge-theme-popup-elevation,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:var(--forge-theme-popup-elevation,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));color:#000;color:var(--mdc-theme-on-surface,#000);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:none;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:100%;margin:0;padding:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 24px 0;transform-origin:50% 24px 0;opacity:0;will-change:transform,opacity;-webkit-transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms cubic-bezier(0, 0, .2, 1)}.forge-popup::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-popup::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-popup::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-popup::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-popup::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-popup::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-popup--opening{display:block;-webkit-transform:scale(.8);transform:scale(.8);opacity:0}.forge-popup--closed{display:block;opacity:0;-webkit-transition:opacity 120ms linear;transition:opacity 120ms linear}.forge-popup--open{display:block;-webkit-transform:scale(1);transform:scale(1);opacity:1}.forge-popup--select{border-top-left-radius:0;border-top-right-radius:0;max-height:256px;overflow-y:auto}:host{z-index:10;z-index:var(--forge-z-index-popup,10);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;position:absolute;overflow:visible}:host([hidden]){display:none}';
13
+ const styles = '.forge-popup{min-width:112px;min-width:var(--min-width,112px);background-color:#fff;background-color:var(--forge-theme-elevated-surface,#fff);-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-box-shadow:var(--forge-theme-popup-elevation,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:var(--forge-theme-popup-elevation,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));color:#000;color:var(--mdc-theme-on-surface,#000);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:none;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:100%;margin:0;padding:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 24px 0;transform-origin:50% 24px 0;opacity:0;will-change:transform,opacity;-webkit-transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms cubic-bezier(0, 0, .2, 1)}.forge-popup::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-popup::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-popup::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-popup::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-popup::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-popup::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-popup--opening{display:block;-webkit-transform:scale(.8);transform:scale(.8);opacity:0}.forge-popup--closed{display:block;opacity:0;-webkit-transition:opacity 120ms linear;transition:opacity 120ms linear}.forge-popup--open{display:block;-webkit-transform:scale(1);transform:scale(1);opacity:1}.forge-popup--select{border-top-left-radius:0;border-top-right-radius:0;max-height:256px;overflow-y:auto}:host{z-index:10;z-index:var(--forge-z-index-popup,10);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;position:absolute;overflow:visible}:host([hidden]){display:none}:host([constrain-viewport-width]){max-width:100vw}';
14
14
  /**
15
15
  * The web component class behind the `<forge-popup>` custom element.
16
16
  *
@@ -67,6 +67,9 @@ __decorate([
67
67
  __decorate([
68
68
  FoundationProperty()
69
69
  ], PopupComponent.prototype, "placement", void 0);
70
+ __decorate([
71
+ FoundationProperty()
72
+ ], PopupComponent.prototype, "fallbackPlacements", void 0);
70
73
  __decorate([
71
74
  FoundationProperty()
72
75
  ], PopupComponent.prototype, "open", void 0);
@@ -13,7 +13,7 @@ import { AvatarComponent } from '../avatar';
13
13
  import { ToolbarComponent } from '../toolbar';
14
14
  import { BaseComponent } from '../core/base/base-component';
15
15
  const template = '<template><div class=\"forge-profile-card\" part=\"root\"><div class=\"forge-profile-card__info\" part=\"info-container\"><div class=\"forge-profile-card__info-avatar\" part=\"avatar-container\"><forge-avatar part=\"avatar\"></forge-avatar></div><div class=\"forge-profile-card__info-text\" part=\"info-text\"><div class=\"forge-profile-card__full-name\" part=\"name\"></div><div class=\"forge-profile-card__email\" part=\"email\"></div></div></div><slot></slot><forge-toolbar inverted id=\"action-toolbar\" part=\"footer\"><forge-button type=\"outlined\" slot=\"end\" style=\"margin-right: 8px;\" part=\"profile-button\"><button type=\"button\" id=\"profile-button\" aria-label=\"View profile\" part=\"profile-button-element\">Profile</button></forge-button><forge-button slot=\"end\" part=\"sign-out-button\"><button type=\"button\" id=\"sign-out-button\" aria-label=\"Sign out\" part=\"sign-out-button-element\">Sign out</button></forge-button></forge-toolbar></div></template>';
16
- const styles = '@-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}}.mdc-ripple-surface{--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;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::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)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.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}.mdc-ripple-surface.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))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.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%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.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-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-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-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-right:8px}.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{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{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{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{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-profile-card{min-width:360px;border-radius:4px}@media (max-width:399px){.forge-profile-card{width:100vw;min-width:unset;overflow:auto}}.forge-profile-card__info{padding:8px 16px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-profile-card__info-avatar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:8px;margin-right:16px;--forge-avatar-size:56px}.forge-profile-card__info-text{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:start;align-items:flex-start}.forge-profile-card__full-name{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1rem;font-size:var(--forge-typography-subtitle1-secondary-font-size, 1rem);line-height:1.75rem;line-height:var(--forge-typography-subtitle1-secondary-line-height, 1.75rem);font-weight:500;font-weight:var(--forge-typography-subtitle1-secondary-font-weight,500);letter-spacing:.01em;letter-spacing:var(--forge-typography-subtitle1-secondary-letter-spacing, .01em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle1-secondary-text-transform,inherit);line-height:1.25rem}.forge-profile-card__email{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-subtitle2-font-size, .875rem);line-height:1.375rem;line-height:var(--mdc-typography-subtitle2-line-height, 1.375rem);font-weight:500;font-weight:var(--mdc-typography-subtitle2-font-weight,500);letter-spacing:.0071428571em;letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, .0071428571em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle2-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}forge-toolbar#action-toolbar::part(root){border-bottom-left-radius:4px;border-bottom-right-radius:4px}:host{display:inline}:host([hidden]){display:none}forge-toolbar{--mdc-theme-surface:var(--forge-theme-elevated-surface)}';
16
+ const styles = '@-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}}.mdc-ripple-surface{--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;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::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)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.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}.mdc-ripple-surface.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))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.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%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.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}.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-profile-card{min-width:360px;border-radius:4px}@media (max-width:399px){.forge-profile-card{width:100vw;min-width:unset;overflow:auto}}.forge-profile-card__info{padding:8px 16px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-profile-card__info-avatar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:8px;margin-right:16px;--forge-avatar-size:56px}.forge-profile-card__info-text{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:start;align-items:flex-start}.forge-profile-card__full-name{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1rem;font-size:var(--forge-typography-subtitle1-secondary-font-size, 1rem);line-height:1.75rem;line-height:var(--forge-typography-subtitle1-secondary-line-height, 1.75rem);font-weight:500;font-weight:var(--forge-typography-subtitle1-secondary-font-weight,500);letter-spacing:.01em;letter-spacing:var(--forge-typography-subtitle1-secondary-letter-spacing, .01em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle1-secondary-text-transform,inherit);line-height:1.25rem}.forge-profile-card__email{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-subtitle2-font-size, .875rem);line-height:1.375rem;line-height:var(--mdc-typography-subtitle2-line-height, 1.375rem);font-weight:500;font-weight:var(--mdc-typography-subtitle2-font-weight,500);letter-spacing:.0071428571em;letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, .0071428571em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle2-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}forge-toolbar#action-toolbar::part(root){border-bottom-left-radius:4px;border-bottom-right-radius:4px}:host{display:inline}:host([hidden]){display:none}forge-toolbar{--mdc-theme-surface:var(--forge-theme-elevated-surface)}';
17
17
  /**
18
18
  * The web component class behind the `<forge-profile-card>` custom element.
19
19
  *
@@ -6,6 +6,7 @@
6
6
  import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';
7
7
  import { IQuantityFieldComponent } from './quantity-field';
8
8
  export interface IQuantityFieldAdapter extends IBaseAdapter {
9
+ initializeButtons(): void;
9
10
  addRootClass(name: string): void;
10
11
  removeRootClass(name: string): void;
11
12
  inputHasAttribute(name: string): boolean;
@@ -38,6 +39,7 @@ export declare class QuantityFieldAdapter extends BaseAdapter<IQuantityFieldComp
38
39
  private _inputElement;
39
40
  private _inputAttributeMutationObserver;
40
41
  constructor(component: IQuantityFieldComponent);
42
+ initializeButtons(): void;
41
43
  addRootClass(name: string): void;
42
44
  removeRootClass(name: string): void;
43
45
  inputHasAttribute(name: string): boolean;
@@ -13,6 +13,14 @@ export class QuantityFieldAdapter extends BaseAdapter {
13
13
  this._incrementButtonSlot = getShadowElement(this._component, QUANTITY_FIELD_CONSTANTS.selectors.INCREMENT_BUTTON_SLOT);
14
14
  this._decrementButtonSlot = getShadowElement(this._component, QUANTITY_FIELD_CONSTANTS.selectors.DECREMENT_BUTTON_SLOT);
15
15
  }
16
+ initializeButtons() {
17
+ if (this._incrementButton && !this._incrementButton.hasAttribute('tabindex')) {
18
+ this._incrementButton.tabIndex = -1;
19
+ }
20
+ if (this._decrementButton && !this._decrementButton.hasAttribute('tabindex')) {
21
+ this._decrementButton.tabIndex = -1;
22
+ }
23
+ }
16
24
  addRootClass(name) {
17
25
  this._rootElement.classList.add(name);
18
26
  }
@@ -17,6 +17,7 @@ export class QuantityFieldFoundation {
17
17
  connect() {
18
18
  this._adapter.addInputDisabledAttributeChangeListener(() => this._syncDisabledStateOfButtons());
19
19
  this._syncDisabledStateOfButtons();
20
+ this._adapter.initializeButtons();
20
21
  }
21
22
  disconnect() {
22
23
  this._removeIncrementEventListener();
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { __decorate } from "tslib";
7
7
  import { CustomElement, attachShadowTemplate, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';
8
+ import { tylIconRemoveCircleOutline, tylIconControlPoint } from '@tylertech/tyler-icons/standard';
8
9
  import { QuantityFieldAdapter } from './quantity-field-adapter';
9
10
  import { QuantityFieldFoundation } from './quantity-field-foundation';
10
11
  import { QUANTITY_FIELD_CONSTANTS } from './quantity-field-constants';
@@ -12,6 +13,7 @@ import { IconButtonComponent } from '../icon-button';
12
13
  import { BaseComponent } from '../core/base/base-component';
13
14
  const template = '<template><div class=\"forge-quantity-field\" part=\"root\"><slot name=\"label\"></slot><div class=\"forge-quantity-field__row\" part=\"row\"><slot name=\"decrement-button\"></slot><slot></slot><slot name=\"increment-button\"></slot></div><slot name=\"helper-text\"></slot></div></template>';
14
15
  const styles = '.forge-quantity-field ::slotted([slot=label]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-quantity-field ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);height:1rem;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-quantity-field ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:\"\";vertical-align:0}.forge-quantity-field__row{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center}.forge-quantity-field ::slotted(forge-icon-button:first-of-type){color:var(--mdc-theme-text-secondary-on-light);margin-right:4px}.forge-quantity-field ::slotted(forge-icon-button:last-of-type){color:var(--mdc-theme-text-secondary-on-light);margin-left:4px}.forge-quantity-field ::slotted(forge-text-field){--forge-text-field-margin-top:0;--forge-text-field-margin-bottom:0}.forge-quantity-field--required ::slotted([slot=label])::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:\"*\";margin-right:4px}.forge-quantity-field--invalid ::slotted([slot=label]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-quantity-field--invalid ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);height:1rem;color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-quantity-field--invalid ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:\"\";vertical-align:0}:host{display:inline-block}:host([hidden]){display:none}';
16
+ import { IconRegistry } from '../icon';
15
17
  /**
16
18
  * The web component class behind the `<forge-quantity-field>` custom element.
17
19
  *
@@ -22,6 +24,10 @@ let QuantityFieldComponent = class QuantityFieldComponent extends BaseComponent
22
24
  super();
23
25
  attachShadowTemplate(this, template, styles);
24
26
  this._foundation = new QuantityFieldFoundation(new QuantityFieldAdapter(this));
27
+ IconRegistry.define([
28
+ tylIconRemoveCircleOutline,
29
+ tylIconControlPoint
30
+ ]);
25
31
  }
26
32
  static get observedAttributes() {
27
33
  return [
@@ -7,7 +7,7 @@ import { IRadioComponent } from './radio';
7
7
  import { ForgeRippleCapableSurface } from '../ripple';
8
8
  export interface IRadioAdapter {
9
9
  connect(): void;
10
- initializeRipple(): void;
10
+ deferRippleInitialization(): Promise<void>;
11
11
  destroyRipple(): void;
12
12
  setHostAttribute(name: string, value?: string): void;
13
13
  removeHostAttribute(name: string): void;
@@ -28,7 +28,7 @@ export interface IRadioAdapter {
28
28
  }
29
29
  export declare class RadioAdapter implements IRadioAdapter, ForgeRippleCapableSurface {
30
30
  private _component;
31
- private _shadowRoot;
31
+ private _rootElement;
32
32
  private _containerElement;
33
33
  private _nativeInputElement;
34
34
  private _inputAttributeMutationObserver?;
@@ -38,7 +38,7 @@ export declare class RadioAdapter implements IRadioAdapter, ForgeRippleCapableSu
38
38
  get unbounded(): boolean | undefined;
39
39
  get disabled(): boolean | undefined;
40
40
  connect(): void;
41
- initializeRipple(): void;
41
+ deferRippleInitialization(): Promise<void>;
42
42
  destroyRipple(): void;
43
43
  setHostAttribute(name: string, value?: string): void;
44
44
  removeHostAttribute(name: string): void;