@tylertech/forge 3.0.0-next.15 → 3.0.0-next.17

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 (826) hide show
  1. package/custom-elements.json +52750 -45172
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/app-bar/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-area/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  20. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  21. package/dist/esm/button-toggle/index.js +1 -1
  22. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  23. package/dist/esm/calendar/calendar-menu/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.253H47GA.js +7 -0
  32. package/dist/esm/chunks/chunk.253H47GA.js.map +7 -0
  33. package/dist/esm/chunks/chunk.2K3T63I2.js +7 -0
  34. package/dist/esm/chunks/{chunk.NVR6KN2B.js.map → chunk.2K3T63I2.js.map} +1 -1
  35. package/dist/esm/chunks/{chunk.KWBYYSH3.js → chunk.2NGPMBVU.js} +2 -2
  36. package/dist/esm/chunks/chunk.2UVBQKJI.js +7 -0
  37. package/dist/esm/chunks/{chunk.4XN2WGMP.js.map → chunk.2UVBQKJI.js.map} +2 -2
  38. package/dist/esm/chunks/chunk.3PHNRX5D.js +7 -0
  39. package/dist/esm/chunks/chunk.3PHNRX5D.js.map +7 -0
  40. package/dist/esm/chunks/chunk.42VNZ74O.js +7 -0
  41. package/dist/esm/chunks/chunk.42VNZ74O.js.map +7 -0
  42. package/dist/esm/chunks/chunk.4JEBLMI3.js +7 -0
  43. package/dist/esm/chunks/{chunk.Q2Q626DG.js.map → chunk.4JEBLMI3.js.map} +1 -1
  44. package/dist/esm/chunks/chunk.4X4SSZQU.js +7 -0
  45. package/dist/esm/chunks/{chunk.YMSX4F3J.js.map → chunk.4X4SSZQU.js.map} +1 -1
  46. package/dist/esm/chunks/chunk.53HPDCFR.js +7 -0
  47. package/dist/esm/chunks/chunk.53HPDCFR.js.map +7 -0
  48. package/dist/esm/chunks/{chunk.L45HXBDS.js → chunk.5BQT3E7Y.js} +2 -2
  49. package/dist/esm/chunks/chunk.5YTYVHYR.js +7 -0
  50. package/dist/esm/chunks/chunk.5YTYVHYR.js.map +7 -0
  51. package/dist/esm/chunks/chunk.6J27XSTE.js +7 -0
  52. package/dist/esm/chunks/chunk.6J27XSTE.js.map +7 -0
  53. package/dist/esm/chunks/chunk.6JR2HMWB.js +7 -0
  54. package/dist/esm/chunks/chunk.6JR2HMWB.js.map +7 -0
  55. package/dist/esm/chunks/chunk.6P4G73VL.js +7 -0
  56. package/dist/esm/chunks/chunk.6P4G73VL.js.map +7 -0
  57. package/dist/esm/chunks/chunk.6RZCV4ZV.js +7 -0
  58. package/dist/esm/chunks/{chunk.W7BP2DDU.js.map → chunk.6RZCV4ZV.js.map} +2 -2
  59. package/dist/esm/chunks/chunk.6YDMW2GO.js +7 -0
  60. package/dist/esm/chunks/{chunk.FQUZWINF.js.map → chunk.6YDMW2GO.js.map} +2 -2
  61. package/dist/esm/chunks/chunk.7QO5JEOC.js +7 -0
  62. package/dist/esm/chunks/{chunk.FXGY5IVK.js.map → chunk.7QO5JEOC.js.map} +2 -2
  63. package/dist/esm/chunks/chunk.AQOLBID6.js +7 -0
  64. package/dist/esm/chunks/{chunk.5KYKGNGY.js.map → chunk.AQOLBID6.js.map} +1 -1
  65. package/dist/esm/chunks/{chunk.BAQYPAUM.js → chunk.AWEDY45N.js} +2 -2
  66. package/dist/esm/chunks/chunk.CLODJYSW.js +7 -0
  67. package/dist/esm/chunks/chunk.CLODJYSW.js.map +7 -0
  68. package/dist/esm/chunks/chunk.CPD4RUF2.js +7 -0
  69. package/dist/esm/chunks/{chunk.OTUEB7SD.js.map → chunk.CPD4RUF2.js.map} +1 -1
  70. package/dist/esm/chunks/chunk.D7L2IMHJ.js +7 -0
  71. package/dist/esm/chunks/chunk.D7L2IMHJ.js.map +7 -0
  72. package/dist/esm/chunks/chunk.DFRD7A2Y.js +7 -0
  73. package/dist/esm/chunks/{chunk.YA5OQD37.js.map → chunk.DFRD7A2Y.js.map} +2 -2
  74. package/dist/esm/chunks/chunk.DOAQODLZ.js +7 -0
  75. package/dist/esm/chunks/chunk.DOAQODLZ.js.map +7 -0
  76. package/dist/esm/chunks/chunk.EPVNVBZI.js +7 -0
  77. package/dist/esm/chunks/chunk.EPVNVBZI.js.map +7 -0
  78. package/dist/esm/chunks/chunk.F2327OUE.js +7 -0
  79. package/dist/esm/chunks/chunk.F2327OUE.js.map +7 -0
  80. package/dist/esm/chunks/chunk.FTADCSFT.js +7 -0
  81. package/dist/esm/chunks/chunk.FTADCSFT.js.map +7 -0
  82. package/dist/esm/chunks/chunk.GAHE4QVB.js +7 -0
  83. package/dist/esm/chunks/{chunk.X3QZY7V4.js.map → chunk.GAHE4QVB.js.map} +1 -1
  84. package/dist/esm/chunks/chunk.GDKJ4RZX.js +7 -0
  85. package/dist/esm/chunks/chunk.GDKJ4RZX.js.map +7 -0
  86. package/dist/esm/chunks/{chunk.O6MGA3XK.js → chunk.GFKYBECY.js} +2 -2
  87. package/dist/esm/chunks/chunk.GYGIU62J.js +7 -0
  88. package/dist/esm/chunks/{chunk.JEZR25US.js.map → chunk.GYGIU62J.js.map} +1 -1
  89. package/dist/esm/chunks/chunk.H6AG3EFX.js +7 -0
  90. package/dist/esm/chunks/{chunk.7PVVZC7P.js.map → chunk.H6AG3EFX.js.map} +3 -3
  91. package/dist/esm/chunks/{chunk.JHELTQKA.js → chunk.HBFU4EGB.js} +2 -2
  92. package/dist/esm/chunks/{chunk.JHELTQKA.js.map → chunk.HBFU4EGB.js.map} +2 -2
  93. package/dist/esm/chunks/chunk.HP4333ZN.js +7 -0
  94. package/dist/esm/chunks/{chunk.KGHABAFA.js.map → chunk.HP4333ZN.js.map} +1 -1
  95. package/dist/esm/chunks/chunk.HPCXVNG6.js +7 -0
  96. package/dist/esm/chunks/{chunk.CZOABXEQ.js.map → chunk.HPCXVNG6.js.map} +3 -3
  97. package/dist/esm/chunks/{chunk.WMP2OLMG.js → chunk.IC4DLKE3.js} +2 -2
  98. package/dist/esm/chunks/{chunk.WMP2OLMG.js.map → chunk.IC4DLKE3.js.map} +2 -2
  99. package/dist/esm/chunks/{chunk.MHH26REX.js → chunk.IDB4KFSQ.js} +2 -2
  100. package/dist/esm/chunks/chunk.INQZNXG6.js +7 -0
  101. package/dist/esm/chunks/chunk.INQZNXG6.js.map +7 -0
  102. package/dist/esm/chunks/chunk.JBQXD3FJ.js +7 -0
  103. package/dist/esm/chunks/{chunk.XQLQ73NG.js.map → chunk.JBQXD3FJ.js.map} +1 -1
  104. package/dist/esm/chunks/chunk.JLDKNU5Q.js +7 -0
  105. package/dist/esm/chunks/{chunk.LK6QHLW2.js.map → chunk.JLDKNU5Q.js.map} +1 -1
  106. package/dist/esm/chunks/chunk.JMIUB3S3.js +7 -0
  107. package/dist/esm/chunks/{chunk.Y4ZS3A6F.js.map → chunk.JMIUB3S3.js.map} +2 -2
  108. package/dist/esm/chunks/chunk.JPOTN7LL.js +177 -0
  109. package/dist/esm/chunks/{chunk.AVRBHXDT.js.map → chunk.JPOTN7LL.js.map} +1 -1
  110. package/dist/esm/chunks/chunk.JRROGJ2G.js +7 -0
  111. package/dist/esm/chunks/chunk.JRROGJ2G.js.map +7 -0
  112. package/dist/esm/chunks/chunk.KD4DVSJR.js +15 -0
  113. package/dist/esm/chunks/chunk.KD4DVSJR.js.map +7 -0
  114. package/dist/esm/chunks/{chunk.PRJHBUU2.js → chunk.KPNGLSCU.js} +1 -1
  115. package/dist/esm/chunks/chunk.KPNGLSCU.js.map +7 -0
  116. package/dist/esm/chunks/chunk.KVPKVWCZ.js +7 -0
  117. package/dist/esm/chunks/{chunk.UOEJCU6R.js.map → chunk.KVPKVWCZ.js.map} +1 -1
  118. package/dist/esm/chunks/chunk.KWP42KR7.js +7 -0
  119. package/dist/esm/chunks/{chunk.JZ27GPZJ.js.map → chunk.KWP42KR7.js.map} +2 -2
  120. package/dist/esm/chunks/chunk.KYACLC66.js +7 -0
  121. package/dist/esm/chunks/{chunk.Q74SG6BV.js.map → chunk.KYACLC66.js.map} +1 -1
  122. package/dist/esm/chunks/chunk.KZMXTOLO.js +15 -0
  123. package/dist/esm/chunks/chunk.KZMXTOLO.js.map +7 -0
  124. package/dist/esm/chunks/chunk.L5OB7WM2.js +7 -0
  125. package/dist/esm/chunks/{chunk.BIVQ4GTK.js.map → chunk.L5OB7WM2.js.map} +1 -1
  126. package/dist/esm/chunks/chunk.L7BSLZCB.js +7 -0
  127. package/dist/esm/chunks/{chunk.AIPDMLJD.js.map → chunk.L7BSLZCB.js.map} +1 -1
  128. package/dist/esm/chunks/{chunk.URKQICJD.js → chunk.LDHY3O6H.js} +2 -2
  129. package/dist/esm/chunks/{chunk.KDJZN6EW.js → chunk.LEN33O6V.js} +2 -2
  130. package/dist/esm/chunks/chunk.LFLIYBAB.js +7 -0
  131. package/dist/esm/chunks/chunk.LFLIYBAB.js.map +7 -0
  132. package/dist/esm/chunks/{chunk.42YDA5FH.js → chunk.LXFL2C62.js} +2 -2
  133. package/dist/esm/chunks/chunk.ME7ICFCZ.js +7 -0
  134. package/dist/esm/chunks/{chunk.FSILMO6U.js.map → chunk.ME7ICFCZ.js.map} +1 -1
  135. package/dist/esm/chunks/{chunk.BC7WB5RG.js → chunk.MMMG4MZ3.js} +2 -2
  136. package/dist/esm/chunks/chunk.MTZOQQXR.js +7 -0
  137. package/dist/esm/chunks/chunk.MTZOQQXR.js.map +7 -0
  138. package/dist/esm/chunks/chunk.NBYCIDFC.js +7 -0
  139. package/dist/esm/chunks/{chunk.ONII3BV3.js.map → chunk.NBYCIDFC.js.map} +2 -2
  140. package/dist/esm/chunks/chunk.ND2X5OQ4.js +7 -0
  141. package/dist/esm/chunks/chunk.ND2X5OQ4.js.map +7 -0
  142. package/dist/esm/chunks/chunk.NHOGZDLN.js +7 -0
  143. package/dist/esm/chunks/chunk.NHOGZDLN.js.map +7 -0
  144. package/dist/esm/chunks/chunk.NHYJMP25.js +7 -0
  145. package/dist/esm/chunks/{chunk.EMCY55MX.js.map → chunk.NHYJMP25.js.map} +2 -2
  146. package/dist/esm/chunks/chunk.NPCUVYWP.js +7 -0
  147. package/dist/esm/chunks/chunk.NPCUVYWP.js.map +7 -0
  148. package/dist/esm/chunks/chunk.O47OSK6Z.js +7 -0
  149. package/dist/esm/chunks/{chunk.THNCYT3E.js.map → chunk.O47OSK6Z.js.map} +2 -2
  150. package/dist/esm/chunks/{chunk.BTWJPE4Y.js → chunk.O5HBMTSZ.js} +2 -2
  151. package/dist/esm/chunks/chunk.O7DID7GP.js +7 -0
  152. package/dist/esm/chunks/{chunk.BS73Y6IN.js.map → chunk.O7DID7GP.js.map} +1 -1
  153. package/dist/esm/chunks/chunk.OAZXY4Q5.js +7 -0
  154. package/dist/esm/chunks/{chunk.GGQL3OZB.js.map → chunk.OAZXY4Q5.js.map} +1 -1
  155. package/dist/esm/chunks/{chunk.MTSWCXTY.js → chunk.OD54UG2G.js} +2 -2
  156. package/dist/esm/chunks/{chunk.NBLL7VAA.js → chunk.OJFSECZE.js} +2 -2
  157. package/dist/esm/chunks/chunk.OJHNLDNM.js +7 -0
  158. package/dist/esm/chunks/{chunk.VG452D3L.js.map → chunk.OJHNLDNM.js.map} +1 -1
  159. package/dist/esm/chunks/{chunk.7LOMI6J3.js → chunk.OR5GB6X3.js} +2 -2
  160. package/dist/esm/chunks/chunk.OVDO5RVX.js +7 -0
  161. package/dist/esm/chunks/chunk.OVDO5RVX.js.map +7 -0
  162. package/dist/esm/chunks/chunk.PGSL6NFZ.js +7 -0
  163. package/dist/esm/chunks/{chunk.6FUXTHO6.js.map → chunk.PGSL6NFZ.js.map} +1 -1
  164. package/dist/esm/chunks/chunk.PR76A5VF.js +7 -0
  165. package/dist/esm/chunks/{chunk.KUNIEX72.js.map → chunk.PR76A5VF.js.map} +1 -1
  166. package/dist/esm/chunks/chunk.PZAL7VQF.js +7 -0
  167. package/dist/esm/chunks/{chunk.AEO2X5OZ.js.map → chunk.PZAL7VQF.js.map} +1 -1
  168. package/dist/esm/chunks/chunk.QQUSMJIM.js +7 -0
  169. package/dist/esm/chunks/{chunk.O6F4U4VY.js.map → chunk.QQUSMJIM.js.map} +1 -1
  170. package/dist/esm/chunks/chunk.RCYIHHYO.js +7 -0
  171. package/dist/esm/chunks/{chunk.447QNYAZ.js.map → chunk.RCYIHHYO.js.map} +1 -1
  172. package/dist/esm/chunks/{chunk.AR6YUJUH.js → chunk.RKG66YKS.js} +2 -2
  173. package/dist/esm/chunks/{chunk.HRGTAVNA.js → chunk.RKIJTSSL.js} +1 -1
  174. package/dist/esm/chunks/chunk.RLOZYTNN.js +7 -0
  175. package/dist/esm/chunks/{chunk.LYZXJYTW.js.map → chunk.RLOZYTNN.js.map} +1 -1
  176. package/dist/esm/chunks/chunk.S3KKICL3.js +7 -0
  177. package/dist/esm/chunks/{chunk.WARVAVAW.js.map → chunk.S3KKICL3.js.map} +1 -1
  178. package/dist/esm/chunks/chunk.SN3VXOWN.js +7 -0
  179. package/dist/esm/chunks/chunk.SN3VXOWN.js.map +7 -0
  180. package/dist/esm/chunks/chunk.STIZCKQA.js +7 -0
  181. package/dist/esm/chunks/chunk.STIZCKQA.js.map +7 -0
  182. package/dist/esm/chunks/chunk.SUR46MJG.js +7 -0
  183. package/dist/esm/chunks/chunk.SUR46MJG.js.map +7 -0
  184. package/dist/esm/chunks/chunk.SZETPZGY.js +7 -0
  185. package/dist/esm/chunks/{chunk.MROUV35N.js.map → chunk.SZETPZGY.js.map} +1 -1
  186. package/dist/esm/chunks/chunk.TGGC2THA.js +7 -0
  187. package/dist/esm/chunks/{chunk.5QZPUOGG.js.map → chunk.TGGC2THA.js.map} +1 -1
  188. package/dist/esm/chunks/chunk.TRSICKKS.js +7 -0
  189. package/dist/esm/chunks/{chunk.3KEXRSB5.js.map → chunk.TRSICKKS.js.map} +2 -2
  190. package/dist/esm/chunks/{chunk.WINL2C7Q.js → chunk.U6FJJGO3.js} +1 -1
  191. package/dist/esm/chunks/chunk.UCIVBX64.js +7 -0
  192. package/dist/esm/chunks/{chunk.ICIGXLJW.js.map → chunk.UCIVBX64.js.map} +1 -1
  193. package/dist/esm/chunks/chunk.UVXKHQQZ.js +7 -0
  194. package/dist/esm/chunks/{chunk.T4J66YX5.js.map → chunk.UVXKHQQZ.js.map} +4 -4
  195. package/dist/esm/chunks/chunk.UYAP5GFT.js +7 -0
  196. package/dist/esm/chunks/{chunk.ZT7U7WOX.js.map → chunk.UYAP5GFT.js.map} +1 -1
  197. package/dist/esm/chunks/chunk.V7HN24VV.js +7 -0
  198. package/dist/esm/chunks/{chunk.WJCZJ6XD.js.map → chunk.V7HN24VV.js.map} +1 -1
  199. package/dist/esm/chunks/chunk.VLADAZRB.js +7 -0
  200. package/dist/esm/chunks/chunk.VLADAZRB.js.map +7 -0
  201. package/dist/esm/chunks/chunk.VN7JOJVU.js +7 -0
  202. package/dist/esm/chunks/{chunk.DLBAZD5X.js.map → chunk.VN7JOJVU.js.map} +1 -1
  203. package/dist/esm/chunks/{chunk.5EGEZ4IY.js → chunk.VNFATHAQ.js} +2 -2
  204. package/dist/esm/chunks/chunk.VNH44AGF.js +7 -0
  205. package/dist/esm/chunks/chunk.VNH44AGF.js.map +7 -0
  206. package/dist/esm/chunks/{chunk.IHIKIZIT.js → chunk.VOL4DT5F.js} +2 -2
  207. package/dist/esm/chunks/chunk.VX7H6YHF.js +7 -0
  208. package/dist/esm/chunks/chunk.VX7H6YHF.js.map +7 -0
  209. package/dist/esm/chunks/chunk.W7CM652O.js +7 -0
  210. package/dist/esm/chunks/chunk.W7CM652O.js.map +7 -0
  211. package/dist/esm/chunks/chunk.WINWKU4K.js +7 -0
  212. package/dist/esm/chunks/chunk.WINWKU4K.js.map +7 -0
  213. package/dist/esm/chunks/chunk.WJ26N3FC.js +7 -0
  214. package/dist/esm/chunks/{chunk.4IMRT2B3.js.map → chunk.WJ26N3FC.js.map} +1 -1
  215. package/dist/esm/chunks/chunk.WJLHVUHN.js +7 -0
  216. package/dist/esm/chunks/{chunk.Z37CZMMR.js.map → chunk.WJLHVUHN.js.map} +1 -1
  217. package/dist/esm/chunks/chunk.WXFJYCGO.js +7 -0
  218. package/dist/esm/chunks/{chunk.TSUAFZGY.js.map → chunk.WXFJYCGO.js.map} +1 -1
  219. package/dist/esm/chunks/chunk.XPIAOMSC.js +7 -0
  220. package/dist/esm/chunks/{chunk.5FCUOZSU.js.map → chunk.XPIAOMSC.js.map} +1 -1
  221. package/dist/esm/chunks/chunk.YCG7OVYF.js +7 -0
  222. package/dist/esm/chunks/chunk.YCG7OVYF.js.map +7 -0
  223. package/dist/esm/chunks/chunk.YLJTJKN4.js +15 -0
  224. package/dist/esm/chunks/chunk.YLJTJKN4.js.map +7 -0
  225. package/dist/esm/chunks/chunk.YVCGGQQG.js +12 -0
  226. package/dist/esm/chunks/chunk.YVCGGQQG.js.map +7 -0
  227. package/dist/esm/chunks/chunk.Z7JF5PPO.js +7 -0
  228. package/dist/esm/chunks/{chunk.PMSCH6VK.js.map → chunk.Z7JF5PPO.js.map} +3 -3
  229. package/dist/esm/chunks/chunk.Z7SLVU2O.js +7 -0
  230. package/dist/esm/chunks/{chunk.L27ANAIL.js.map → chunk.Z7SLVU2O.js.map} +2 -2
  231. package/dist/esm/chunks/chunk.ZJQLVAJY.js +7 -0
  232. package/dist/esm/chunks/{chunk.ZIRA4PYV.js.map → chunk.ZJQLVAJY.js.map} +1 -1
  233. package/dist/esm/chunks/chunk.ZSHN7Z45.js +7 -0
  234. package/dist/esm/chunks/chunk.ZSHN7Z45.js.map +7 -0
  235. package/dist/esm/chunks/chunk.ZTBOQMRE.js +7 -0
  236. package/dist/esm/chunks/{chunk.KR4BNI6X.js.map → chunk.ZTBOQMRE.js.map} +1 -1
  237. package/dist/esm/chunks/chunk.ZY3ETQ3D.js +7 -0
  238. package/dist/esm/chunks/chunk.ZY3ETQ3D.js.map +7 -0
  239. package/dist/esm/chunks/{chunk.U42I3PGF.js → chunk.ZZRAZZ3N.js} +2 -2
  240. package/dist/esm/chunks/chunk.ZZV7P3FR.js +7 -0
  241. package/dist/esm/chunks/chunk.ZZV7P3FR.js.map +7 -0
  242. package/dist/esm/circular-progress/index.js +1 -1
  243. package/dist/esm/color-picker/index.js +1 -1
  244. package/dist/esm/core/base/index.js +1 -1
  245. package/dist/esm/core/index.js +1 -1
  246. package/dist/esm/core/utils/index.js +1 -1
  247. package/dist/esm/date-picker/index.js +1 -1
  248. package/dist/esm/date-range-picker/index.js +1 -1
  249. package/dist/esm/deprecated/button/index.js +7 -0
  250. package/dist/esm/deprecated/button/index.js.map +7 -0
  251. package/dist/esm/deprecated/index.js +7 -0
  252. package/dist/esm/deprecated/index.js.map +7 -0
  253. package/dist/esm/dialog/index.js +1 -1
  254. package/dist/esm/divider/index.js +1 -1
  255. package/dist/esm/drawer/base/index.js +1 -1
  256. package/dist/esm/drawer/drawer/index.js +1 -1
  257. package/dist/esm/drawer/index.js +1 -1
  258. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  259. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  260. package/dist/esm/expansion-panel/index.js +1 -1
  261. package/dist/esm/file-picker/index.js +1 -1
  262. package/dist/esm/floating-action-button/index.js +1 -1
  263. package/dist/esm/focus-indicator/index.js +1 -1
  264. package/dist/esm/icon/index.js +1 -1
  265. package/dist/esm/icon-button/index.js +1 -1
  266. package/dist/esm/index.js +1 -1
  267. package/dist/esm/inline-message/index.js +1 -1
  268. package/dist/esm/keyboard-shortcut/index.js +1 -1
  269. package/dist/esm/label/index.js +1 -1
  270. package/dist/esm/label-value/index.js +1 -1
  271. package/dist/esm/linear-progress/index.js +1 -1
  272. package/dist/esm/list/index.js +1 -1
  273. package/dist/esm/list/list/index.js +1 -1
  274. package/dist/esm/list/list-item/index.js +1 -1
  275. package/dist/esm/list-dropdown/index.js +1 -1
  276. package/dist/esm/menu/index.js +1 -1
  277. package/dist/esm/open-icon/index.js +1 -1
  278. package/dist/esm/overlay/index.js +7 -0
  279. package/dist/esm/overlay/index.js.map +7 -0
  280. package/dist/esm/page-state/index.js +1 -1
  281. package/dist/esm/paginator/index.js +1 -1
  282. package/dist/esm/popover/index.js +7 -0
  283. package/dist/esm/popover/index.js.map +7 -0
  284. package/dist/esm/popup/index.js +1 -1
  285. package/dist/esm/product-icon/index.js +1 -1
  286. package/dist/esm/profile-card/index.js +1 -1
  287. package/dist/esm/quantity-field/index.js +1 -1
  288. package/dist/esm/radio/index.js +1 -1
  289. package/dist/esm/radio/radio/index.js +1 -1
  290. package/dist/esm/radio/radio-group/index.js +1 -1
  291. package/dist/esm/ripple/index.js +1 -1
  292. package/dist/esm/scaffold/index.js +1 -1
  293. package/dist/esm/select/core/index.js +1 -1
  294. package/dist/esm/select/index.js +1 -1
  295. package/dist/esm/select/option/index.js +1 -1
  296. package/dist/esm/select/option-group/index.js +1 -1
  297. package/dist/esm/select/select/index.js +1 -1
  298. package/dist/esm/select/select-dropdown/index.js +1 -1
  299. package/dist/esm/skeleton/index.js +1 -1
  300. package/dist/esm/slider/index.js +1 -1
  301. package/dist/esm/split-button/index.js +1 -1
  302. package/dist/esm/split-view/index.js +1 -1
  303. package/dist/esm/split-view/split-view/index.js +1 -1
  304. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  305. package/dist/esm/stack/index.js +1 -1
  306. package/dist/esm/state-layer/index.js +1 -1
  307. package/dist/esm/stepper/index.js +1 -1
  308. package/dist/esm/stepper/step/index.js +1 -1
  309. package/dist/esm/stepper/stepper/index.js +1 -1
  310. package/dist/esm/switch/index.js +1 -1
  311. package/dist/esm/table/index.js +1 -1
  312. package/dist/esm/tabs/index.js +1 -1
  313. package/dist/esm/tabs/tab/index.js +1 -1
  314. package/dist/esm/tabs/tab-bar/index.js +1 -1
  315. package/dist/esm/text-field/index.js +1 -1
  316. package/dist/esm/time-picker/index.js +1 -1
  317. package/dist/esm/toast/index.js +1 -1
  318. package/dist/esm/toolbar/index.js +1 -1
  319. package/dist/esm/tooltip/index.js +1 -1
  320. package/dist/esm/utils/index.js +1 -1
  321. package/dist/esm/view-switcher/index.js +1 -1
  322. package/dist/esm/view-switcher/view/index.js +1 -1
  323. package/dist/forge-dark.css +1 -1
  324. package/dist/forge.css +1 -1
  325. package/dist/theme/forge-theme.css +1 -1
  326. package/dist/typography/forge-typography.css +1 -1
  327. package/esm/app-bar/help-button/app-bar-help-button-adapter.js +3 -3
  328. package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
  329. package/esm/app-bar/menu-button/app-bar-menu-button.js +4 -4
  330. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +4 -4
  331. package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
  332. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +3 -3
  333. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +1 -0
  334. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  335. package/esm/avatar/avatar-adapter.d.ts +0 -6
  336. package/esm/avatar/avatar-adapter.js +6 -14
  337. package/esm/avatar/avatar-constants.d.ts +0 -1
  338. package/esm/avatar/avatar-constants.js +2 -3
  339. package/esm/avatar/avatar-foundation.d.ts +0 -5
  340. package/esm/avatar/avatar-foundation.js +0 -15
  341. package/esm/avatar/avatar.d.ts +28 -7
  342. package/esm/avatar/avatar.js +29 -12
  343. package/esm/avatar/index.d.ts +0 -1
  344. package/esm/avatar/index.js +0 -1
  345. package/esm/badge/badge-constants.d.ts +8 -4
  346. package/esm/badge/badge-constants.js +7 -4
  347. package/esm/badge/badge.d.ts +38 -11
  348. package/esm/badge/badge.js +55 -32
  349. package/esm/badge/index.d.ts +0 -3
  350. package/esm/badge/index.js +0 -3
  351. package/esm/banner/banner.js +1 -1
  352. package/esm/button/base/base-button-adapter.d.ts +0 -3
  353. package/esm/button/base/base-button-adapter.js +5 -14
  354. package/esm/button/base/base-button-constants.d.ts +28 -28
  355. package/esm/button/base/base-button-foundation.d.ts +0 -2
  356. package/esm/button/base/base-button-foundation.js +1 -4
  357. package/esm/button/base/base-button.d.ts +8 -6
  358. package/esm/button/base/base-button.js +19 -15
  359. package/esm/button/button.js +2 -2
  360. package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +6 -14
  361. package/esm/button-toggle/button-toggle/button-toggle-adapter.js +19 -45
  362. package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +11 -15
  363. package/esm/button-toggle/button-toggle/button-toggle-constants.js +6 -17
  364. package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +18 -12
  365. package/esm/button-toggle/button-toggle/button-toggle-foundation.js +74 -30
  366. package/esm/button-toggle/button-toggle/button-toggle.d.ts +67 -14
  367. package/esm/button-toggle/button-toggle/button-toggle.js +82 -29
  368. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +7 -13
  369. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +26 -91
  370. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +20 -11
  371. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +8 -2
  372. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +20 -12
  373. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +101 -97
  374. package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +75 -9
  375. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +134 -25
  376. package/esm/calendar/calendar-dom-utils.js +1 -2
  377. package/esm/calendar/calendar-foundation.d.ts +1 -1
  378. package/esm/calendar/calendar-foundation.js +13 -16
  379. package/esm/checkbox/checkbox.js +1 -1
  380. package/esm/circular-progress/circular-progress-adapter.js +8 -12
  381. package/esm/circular-progress/circular-progress-foundation.js +3 -0
  382. package/esm/circular-progress/circular-progress.d.ts +7 -3
  383. package/esm/circular-progress/circular-progress.js +4 -2
  384. package/esm/color-picker/color-picker.js +1 -1
  385. package/esm/constants.d.ts +1 -0
  386. package/esm/constants.js +2 -0
  387. package/esm/core/base/base-adapter.d.ts +2 -0
  388. package/esm/core/base/base-adapter.js +7 -4
  389. package/esm/core/base/index.d.ts +0 -4
  390. package/esm/core/base/index.js +0 -4
  391. package/esm/core/{base/base-focusable-component.d.ts → mixins/focus/with-focusable.d.ts} +2 -2
  392. package/esm/core/{base/base-focusable-component.js → mixins/focus/with-focusable.js} +1 -1
  393. package/esm/core/{base/base-form-associated-component.d.ts → mixins/form/with-form-associated.d.ts} +4 -10
  394. package/esm/core/{base/base-form-associated-component.js → mixins/form/with-form-associated.js} +1 -1
  395. package/esm/core/mixins/form/with-form-validity.d.ts +35 -0
  396. package/esm/core/mixins/form/with-form-validity.js +43 -0
  397. package/esm/core/mixins/interactions/longpress/with-longpress-listener.d.ts +33 -0
  398. package/esm/core/mixins/interactions/longpress/with-longpress-listener.js +82 -0
  399. package/esm/core/mixins/internals/with-default-aria.d.ts +32 -0
  400. package/esm/core/mixins/internals/with-default-aria.js +22 -0
  401. package/esm/core/mixins/internals/with-element-internals.d.ts +26 -0
  402. package/esm/core/mixins/internals/with-element-internals.js +22 -0
  403. package/esm/core/{base/base-label-aware-component.d.ts → mixins/label/with-label-aware.d.ts} +2 -2
  404. package/esm/core/utils/a11y-utils.d.ts +4 -34
  405. package/esm/core/utils/a11y-utils.js +7 -61
  406. package/esm/core/utils/deferred.d.ts +29 -0
  407. package/esm/core/utils/deferred.js +32 -0
  408. package/esm/core/utils/dismissible-stack.d.ts +74 -0
  409. package/esm/core/utils/dismissible-stack.js +133 -0
  410. package/esm/core/utils/feature-detection.d.ts +5 -0
  411. package/esm/core/utils/feature-detection.js +12 -3
  412. package/esm/core/utils/form-utils.d.ts +1 -1
  413. package/esm/core/utils/position-utils.d.ts +78 -0
  414. package/esm/core/utils/position-utils.js +197 -0
  415. package/esm/core/utils/utils.d.ts +14 -0
  416. package/esm/core/utils/utils.js +25 -7
  417. package/esm/date-range-picker/date-range-picker-foundation.d.ts +1 -0
  418. package/esm/date-range-picker/date-range-picker-foundation.js +4 -0
  419. package/esm/deprecated/button/deprecated-button-component-delegate.d.ts +24 -0
  420. package/esm/deprecated/button/deprecated-button-component-delegate.js +39 -0
  421. package/esm/deprecated/button/deprecated-button-constants.d.ts +17 -0
  422. package/esm/deprecated/button/deprecated-button-constants.js +20 -0
  423. package/esm/deprecated/button/deprecated-button.d.ts +54 -0
  424. package/esm/deprecated/button/deprecated-button.js +149 -0
  425. package/esm/deprecated/button/index.d.ts +12 -0
  426. package/esm/deprecated/button/index.js +16 -0
  427. package/{styles/app-bar/search/_configuration.scss → esm/deprecated/index.d.ts} +1 -5
  428. package/{styles/checkbox/_configuration.scss → esm/deprecated/index.js} +1 -5
  429. package/esm/dialog/dialog-constants.d.ts +1 -0
  430. package/esm/dialog/dialog-constants.js +2 -1
  431. package/esm/dialog/dialog-foundation.js +3 -6
  432. package/esm/dialog/dialog.js +1 -1
  433. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  434. package/esm/expansion-panel/expansion-panel-adapter.js +0 -5
  435. package/esm/floating-action-button/floating-action-button.js +1 -1
  436. package/esm/icon-button/icon-button-component-delegate.js +1 -1
  437. package/esm/icon-button/icon-button.js +1 -1
  438. package/esm/index.d.ts +7 -0
  439. package/esm/index.js +24 -1
  440. package/esm/inline-message/inline-message-constants.d.ts +9 -2
  441. package/esm/inline-message/inline-message-constants.js +7 -3
  442. package/esm/inline-message/inline-message.d.ts +31 -2
  443. package/esm/inline-message/inline-message.js +37 -5
  444. package/esm/label/label-adapter.js +3 -3
  445. package/esm/label/label-constants.d.ts +1 -1
  446. package/esm/label/label-constants.js +3 -1
  447. package/esm/linear-progress/linear-progress-adapter.js +13 -12
  448. package/esm/linear-progress/linear-progress-constants.d.ts +6 -0
  449. package/esm/linear-progress/linear-progress-constants.js +4 -2
  450. package/esm/linear-progress/linear-progress-foundation.js +2 -1
  451. package/esm/linear-progress/linear-progress.d.ts +7 -3
  452. package/esm/linear-progress/linear-progress.js +8 -11
  453. package/esm/list/list/list.js +1 -1
  454. package/esm/list/list-item/list-item.js +1 -1
  455. package/esm/menu/menu.js +1 -5
  456. package/esm/open-icon/open-icon.js +2 -2
  457. package/esm/overlay/base/base-overlay-foundation.d.ts +50 -0
  458. package/esm/overlay/base/base-overlay-foundation.js +11 -0
  459. package/esm/overlay/base/base-overlay.d.ts +49 -0
  460. package/esm/overlay/base/base-overlay.js +106 -0
  461. package/esm/overlay/base/overlay-aware-adapter.d.ts +17 -0
  462. package/esm/overlay/base/overlay-aware-adapter.js +15 -0
  463. package/esm/overlay/base/overlay-aware-foundation.d.ts +53 -0
  464. package/esm/overlay/base/overlay-aware-foundation.js +158 -0
  465. package/esm/overlay/base/overlay-aware.d.ts +36 -0
  466. package/esm/overlay/base/overlay-aware.js +102 -0
  467. package/esm/overlay/index.d.ts +10 -0
  468. package/esm/overlay/index.js +14 -0
  469. package/esm/overlay/mixins/with-overlay-aware.d.ts +105 -0
  470. package/esm/overlay/mixins/with-overlay-aware.js +152 -0
  471. package/esm/overlay/overlay-adapter.d.ts +54 -0
  472. package/esm/overlay/overlay-adapter.js +182 -0
  473. package/esm/overlay/overlay-constants.d.ts +71 -0
  474. package/esm/overlay/overlay-constants.js +48 -0
  475. package/esm/overlay/overlay-foundation.d.ts +76 -0
  476. package/esm/overlay/overlay-foundation.js +288 -0
  477. package/esm/overlay/overlay.d.ts +90 -0
  478. package/esm/overlay/overlay.js +105 -0
  479. package/esm/paginator/paginator.js +1 -1
  480. package/esm/popover/index.d.ts +10 -0
  481. package/esm/popover/index.js +14 -0
  482. package/esm/popover/popover-adapter.d.ts +46 -0
  483. package/esm/popover/popover-adapter.js +105 -0
  484. package/esm/popover/popover-constants.d.ts +42 -0
  485. package/esm/popover/popover-constants.js +42 -0
  486. package/esm/popover/popover-foundation.d.ts +139 -0
  487. package/esm/popover/popover-foundation.js +458 -0
  488. package/esm/popover/popover.d.ts +96 -0
  489. package/esm/popover/popover.js +147 -0
  490. package/esm/popup/popup-constants.d.ts +1 -1
  491. package/esm/profile-card/profile-card.js +1 -1
  492. package/esm/radio/core/radio-group-manager.js +1 -1
  493. package/esm/radio/radio/radio-adapter.js +4 -10
  494. package/esm/radio/radio/radio-constants.d.ts +0 -2
  495. package/esm/radio/radio/radio-constants.js +1 -14
  496. package/esm/radio/radio/radio.d.ts +8 -3
  497. package/esm/radio/radio/radio.js +10 -8
  498. package/esm/radio/radio-group/radio-group-adapter.js +1 -3
  499. package/esm/radio/radio-group/radio-group-constants.d.ts +0 -2
  500. package/esm/radio/radio-group/radio-group-constants.js +1 -6
  501. package/esm/radio/radio-group/radio-group.d.ts +6 -3
  502. package/esm/radio/radio-group/radio-group.js +5 -3
  503. package/esm/slider/slider.d.ts +2 -2
  504. package/esm/slider/slider.js +2 -2
  505. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  506. package/esm/state-layer/state-layer-foundation.js +12 -10
  507. package/esm/switch/switch.js +1 -1
  508. package/esm/table/table-utils.js +2 -3
  509. package/esm/tabs/tab/tab.js +1 -1
  510. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +1 -1
  511. package/esm/tabs/tab-bar/tab-bar-adapter.js +3 -3
  512. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +1 -1
  513. package/esm/tabs/tab-bar/tab-bar-constants.js +1 -1
  514. package/esm/tabs/tab-bar/tab-bar.js +2 -2
  515. package/esm/toast/toast-constants.d.ts +1 -1
  516. package/esm/toolbar/toolbar.js +1 -1
  517. package/esm/tooltip/index.d.ts +0 -1
  518. package/esm/tooltip/index.js +0 -1
  519. package/esm/tooltip/tooltip-adapter.d.ts +30 -60
  520. package/esm/tooltip/tooltip-adapter.js +105 -97
  521. package/esm/tooltip/tooltip-constants.d.ts +44 -21
  522. package/esm/tooltip/tooltip-constants.js +27 -22
  523. package/esm/tooltip/tooltip-foundation.d.ts +72 -84
  524. package/esm/tooltip/tooltip-foundation.js +265 -192
  525. package/esm/tooltip/tooltip.d.ts +93 -26
  526. package/esm/tooltip/tooltip.js +129 -31
  527. package/package.json +2 -4
  528. package/styles/app-bar/app-bar/_core.scss +2 -0
  529. package/styles/app-bar/app-bar/app-bar.scss +17 -17
  530. package/styles/app-bar/app-bar/index.scss +0 -2
  531. package/styles/app-bar/search/_core.scss +2 -0
  532. package/styles/app-bar/search/app-bar-search.scss +5 -6
  533. package/styles/app-bar/search/index.scss +0 -2
  534. package/styles/avatar/_core.scss +43 -0
  535. package/styles/avatar/_token-utils.scss +30 -0
  536. package/styles/avatar/avatar.scss +21 -3
  537. package/styles/badge/_core.scss +58 -0
  538. package/styles/badge/_token-utils.scss +30 -0
  539. package/styles/badge/badge.scss +101 -15
  540. package/styles/{focus-indicator/_configuration.scss → badge/index.scss} +1 -5
  541. package/styles/button/_core.scss +2 -0
  542. package/styles/button/button.scss +31 -25
  543. package/styles/button/index.scss +0 -2
  544. package/styles/button-toggle/button-toggle/_core.scss +78 -0
  545. package/styles/button-toggle/button-toggle/_token-utils.scss +30 -0
  546. package/styles/button-toggle/button-toggle/button-toggle.scss +65 -11
  547. package/styles/button-toggle/button-toggle/index.scss +6 -0
  548. package/styles/button-toggle/button-toggle-group/_core.scss +62 -0
  549. package/styles/button-toggle/button-toggle-group/_token-utils.scss +30 -0
  550. package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +123 -3
  551. package/styles/button-toggle/button-toggle-group/index.scss +8 -0
  552. package/styles/checkbox/_core.scss +3 -0
  553. package/styles/checkbox/checkbox.scss +24 -26
  554. package/styles/checkbox/index.scss +0 -2
  555. package/styles/circular-progress/_core.scss +2 -0
  556. package/styles/circular-progress/circular-progress.scss +36 -27
  557. package/styles/circular-progress/index.scss +0 -2
  558. package/styles/core/styles/elevation/index.scss +1 -1
  559. package/styles/core/styles/tokens/_token-utils.scss +14 -5
  560. package/styles/core/styles/tokens/avatar/_tokens.scss +23 -0
  561. package/styles/core/styles/tokens/badge/_tokens.scss +42 -0
  562. package/styles/core/styles/tokens/button/_tokens.scss +4 -4
  563. package/styles/core/styles/tokens/button-toggle/button-toggle/_tokens.scss +68 -0
  564. package/styles/core/styles/tokens/button-toggle/button-toggle-group/_tokens.scss +48 -0
  565. package/styles/core/styles/tokens/checkbox/_tokens.scss +6 -6
  566. package/styles/core/styles/tokens/floating-action-button/_tokens.scss +1 -1
  567. package/styles/core/styles/tokens/icon-button/_tokens.scss +3 -3
  568. package/styles/core/styles/tokens/inline-message/_tokens.scss +31 -0
  569. package/styles/core/styles/tokens/overlay/_tokens.scss +23 -0
  570. package/styles/core/styles/tokens/popover/_tokens.scss +56 -0
  571. package/styles/core/styles/tokens/profile-card/_tokens.scss +1 -1
  572. package/styles/core/styles/tokens/radio/_tokens.scss +1 -1
  573. package/styles/core/styles/tokens/switch/_tokens.scss +3 -3
  574. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +5 -5
  575. package/styles/core/styles/tokens/theme/_token-utils.scss +28 -6
  576. package/styles/core/styles/tokens/theme/_tokens.surface.scss +3 -0
  577. package/styles/core/styles/tokens/theme/_tokens.text.scss +4 -4
  578. package/styles/core/styles/tokens/theme/_tokens.utilities.scss +3 -0
  579. package/styles/core/styles/tokens/tooltip/_tokens.scss +53 -0
  580. package/styles/core/styles/typography/index.scss +1 -1
  581. package/styles/deprecated/button/deprecated-button.scss +133 -0
  582. package/styles/dialog/_mixins.scss +1 -1
  583. package/styles/drawer/mini-drawer/_mixins.scss +0 -2
  584. package/styles/floating-action-button/_core.scss +2 -0
  585. package/styles/floating-action-button/floating-action-button.scss +14 -14
  586. package/styles/floating-action-button/index.scss +0 -2
  587. package/styles/focus-indicator/_core.scss +2 -0
  588. package/styles/focus-indicator/focus-indicator.scss +7 -8
  589. package/styles/focus-indicator/index.scss +0 -2
  590. package/styles/forge.scss +0 -1
  591. package/styles/icon-button/_core.scss +2 -0
  592. package/styles/icon-button/icon-button.scss +29 -28
  593. package/styles/icon-button/index.scss +0 -2
  594. package/styles/inline-message/_core.scss +45 -0
  595. package/styles/inline-message/_token-utils.scss +30 -0
  596. package/styles/inline-message/index.scss +6 -0
  597. package/styles/inline-message/inline-message.scss +75 -9
  598. package/styles/label/label.scss +2 -2
  599. package/styles/linear-progress/_core.scss +2 -0
  600. package/styles/linear-progress/index.scss +0 -2
  601. package/styles/linear-progress/linear-progress.scss +29 -18
  602. package/styles/list/list/_core.scss +2 -0
  603. package/styles/list/list/index.scss +0 -2
  604. package/styles/list/list/list.scss +4 -4
  605. package/styles/list/list-item/_core.scss +2 -0
  606. package/styles/list/list-item/index.scss +0 -2
  607. package/styles/list/list-item/list-item.scss +50 -44
  608. package/styles/overlay/_core.scss +46 -0
  609. package/styles/overlay/_token-utils.scss +31 -0
  610. package/styles/overlay/index.scss +6 -0
  611. package/styles/overlay/overlay.scss +66 -0
  612. package/styles/popover/_animations.scss +36 -0
  613. package/styles/popover/_core.scss +56 -0
  614. package/styles/popover/_token-utils.scss +31 -0
  615. package/styles/popover/index.scss +6 -0
  616. package/styles/popover/popover.scss +254 -0
  617. package/styles/profile-card/_core.scss +2 -0
  618. package/styles/profile-card/index.scss +0 -2
  619. package/styles/profile-card/profile-card.scss +9 -11
  620. package/styles/radio/radio/_core.scss +3 -0
  621. package/styles/radio/radio/index.scss +0 -2
  622. package/styles/radio/radio/radio.scss +12 -15
  623. package/styles/slider/_core.scss +2 -0
  624. package/styles/slider/index.scss +0 -2
  625. package/styles/slider/slider.scss +45 -41
  626. package/styles/split-button/index.scss +0 -1
  627. package/styles/split-button/split-button.scss +3 -2
  628. package/styles/state-layer/_core.scss +3 -2
  629. package/styles/state-layer/index.scss +0 -2
  630. package/styles/state-layer/state-layer.scss +7 -8
  631. package/styles/switch/_core.scss +3 -0
  632. package/styles/switch/index.scss +0 -2
  633. package/styles/switch/switch.scss +28 -30
  634. package/styles/tabs/tab/_core.scss +2 -0
  635. package/styles/tabs/tab/index.scss +0 -2
  636. package/styles/tabs/tab/tab.scss +27 -28
  637. package/styles/tabs/tab-bar/_core.scss +2 -0
  638. package/styles/tabs/tab-bar/index.scss +0 -2
  639. package/styles/tabs/tab-bar/tab-bar.scss +21 -23
  640. package/styles/theme/_theme-dark.scss +19 -7
  641. package/styles/theme/_theme-values.scss +2 -0
  642. package/styles/toolbar/_mixins.scss +2 -1
  643. package/styles/tooltip/_animations.scss +18 -0
  644. package/styles/tooltip/_core.scss +86 -0
  645. package/styles/tooltip/_token-utils.scss +31 -0
  646. package/styles/tooltip/index.scss +6 -0
  647. package/styles/tooltip/tooltip.scss +107 -0
  648. package/dist/esm/chunks/chunk.3KEXRSB5.js +0 -7
  649. package/dist/esm/chunks/chunk.3TKTJ3BY.js +0 -7
  650. package/dist/esm/chunks/chunk.3TKTJ3BY.js.map +0 -7
  651. package/dist/esm/chunks/chunk.447QNYAZ.js +0 -7
  652. package/dist/esm/chunks/chunk.4IMRT2B3.js +0 -7
  653. package/dist/esm/chunks/chunk.4JDJ33IU.js +0 -7
  654. package/dist/esm/chunks/chunk.4JDJ33IU.js.map +0 -7
  655. package/dist/esm/chunks/chunk.4QCGBFLU.js +0 -7
  656. package/dist/esm/chunks/chunk.4QCGBFLU.js.map +0 -7
  657. package/dist/esm/chunks/chunk.4XN2WGMP.js +0 -7
  658. package/dist/esm/chunks/chunk.5FCUOZSU.js +0 -7
  659. package/dist/esm/chunks/chunk.5KYKGNGY.js +0 -7
  660. package/dist/esm/chunks/chunk.5QZPUOGG.js +0 -7
  661. package/dist/esm/chunks/chunk.5ZMM75CJ.js +0 -7
  662. package/dist/esm/chunks/chunk.5ZMM75CJ.js.map +0 -7
  663. package/dist/esm/chunks/chunk.6FUXTHO6.js +0 -7
  664. package/dist/esm/chunks/chunk.6ORVPXNN.js +0 -7
  665. package/dist/esm/chunks/chunk.6ORVPXNN.js.map +0 -7
  666. package/dist/esm/chunks/chunk.6ZJIHOIG.js +0 -7
  667. package/dist/esm/chunks/chunk.6ZJIHOIG.js.map +0 -7
  668. package/dist/esm/chunks/chunk.7PVVZC7P.js +0 -7
  669. package/dist/esm/chunks/chunk.AEO2X5OZ.js +0 -7
  670. package/dist/esm/chunks/chunk.AIPDMLJD.js +0 -7
  671. package/dist/esm/chunks/chunk.APFDK6YA.js +0 -7
  672. package/dist/esm/chunks/chunk.APFDK6YA.js.map +0 -7
  673. package/dist/esm/chunks/chunk.AVRBHXDT.js +0 -177
  674. package/dist/esm/chunks/chunk.BIVQ4GTK.js +0 -7
  675. package/dist/esm/chunks/chunk.BJD6BKGC.js +0 -31
  676. package/dist/esm/chunks/chunk.BJD6BKGC.js.map +0 -7
  677. package/dist/esm/chunks/chunk.BS73Y6IN.js +0 -7
  678. package/dist/esm/chunks/chunk.BWGDZUJV.js +0 -12
  679. package/dist/esm/chunks/chunk.BWGDZUJV.js.map +0 -7
  680. package/dist/esm/chunks/chunk.CBY7M4X6.js +0 -7
  681. package/dist/esm/chunks/chunk.CBY7M4X6.js.map +0 -7
  682. package/dist/esm/chunks/chunk.CZOABXEQ.js +0 -7
  683. package/dist/esm/chunks/chunk.DLBAZD5X.js +0 -7
  684. package/dist/esm/chunks/chunk.DTWXICOY.js +0 -7
  685. package/dist/esm/chunks/chunk.DTWXICOY.js.map +0 -7
  686. package/dist/esm/chunks/chunk.EMCY55MX.js +0 -7
  687. package/dist/esm/chunks/chunk.ESQWFHCF.js +0 -7
  688. package/dist/esm/chunks/chunk.ESQWFHCF.js.map +0 -7
  689. package/dist/esm/chunks/chunk.FDZSLGIW.js +0 -7
  690. package/dist/esm/chunks/chunk.FDZSLGIW.js.map +0 -7
  691. package/dist/esm/chunks/chunk.FJ5VNWYK.js +0 -7
  692. package/dist/esm/chunks/chunk.FJ5VNWYK.js.map +0 -7
  693. package/dist/esm/chunks/chunk.FJRCWWE2.js +0 -7
  694. package/dist/esm/chunks/chunk.FJRCWWE2.js.map +0 -7
  695. package/dist/esm/chunks/chunk.FQUZWINF.js +0 -7
  696. package/dist/esm/chunks/chunk.FSILMO6U.js +0 -7
  697. package/dist/esm/chunks/chunk.FXGY5IVK.js +0 -7
  698. package/dist/esm/chunks/chunk.G67LO74A.js +0 -7
  699. package/dist/esm/chunks/chunk.G67LO74A.js.map +0 -7
  700. package/dist/esm/chunks/chunk.GGQL3OZB.js +0 -7
  701. package/dist/esm/chunks/chunk.I7OY43HW.js +0 -7
  702. package/dist/esm/chunks/chunk.I7OY43HW.js.map +0 -7
  703. package/dist/esm/chunks/chunk.I7X25KEB.js +0 -7
  704. package/dist/esm/chunks/chunk.I7X25KEB.js.map +0 -7
  705. package/dist/esm/chunks/chunk.ICIGXLJW.js +0 -7
  706. package/dist/esm/chunks/chunk.ILUXZNGY.js +0 -7
  707. package/dist/esm/chunks/chunk.ILUXZNGY.js.map +0 -7
  708. package/dist/esm/chunks/chunk.JEZR25US.js +0 -7
  709. package/dist/esm/chunks/chunk.JPI4XCQL.js +0 -7
  710. package/dist/esm/chunks/chunk.JPI4XCQL.js.map +0 -7
  711. package/dist/esm/chunks/chunk.JRSFCVYQ.js +0 -7
  712. package/dist/esm/chunks/chunk.JRSFCVYQ.js.map +0 -7
  713. package/dist/esm/chunks/chunk.JZ27GPZJ.js +0 -7
  714. package/dist/esm/chunks/chunk.K3TJMIKD.js +0 -7
  715. package/dist/esm/chunks/chunk.K3TJMIKD.js.map +0 -7
  716. package/dist/esm/chunks/chunk.KGHABAFA.js +0 -7
  717. package/dist/esm/chunks/chunk.KR4BNI6X.js +0 -7
  718. package/dist/esm/chunks/chunk.KUNIEX72.js +0 -7
  719. package/dist/esm/chunks/chunk.L27ANAIL.js +0 -7
  720. package/dist/esm/chunks/chunk.L4UXWCVD.js +0 -7
  721. package/dist/esm/chunks/chunk.L4UXWCVD.js.map +0 -7
  722. package/dist/esm/chunks/chunk.LK6QHLW2.js +0 -7
  723. package/dist/esm/chunks/chunk.LYZXJYTW.js +0 -7
  724. package/dist/esm/chunks/chunk.LZ2YQYJA.js +0 -7
  725. package/dist/esm/chunks/chunk.LZ2YQYJA.js.map +0 -7
  726. package/dist/esm/chunks/chunk.MROUV35N.js +0 -7
  727. package/dist/esm/chunks/chunk.NM7FJISF.js +0 -7
  728. package/dist/esm/chunks/chunk.NM7FJISF.js.map +0 -7
  729. package/dist/esm/chunks/chunk.NVR6KN2B.js +0 -7
  730. package/dist/esm/chunks/chunk.O6F4U4VY.js +0 -7
  731. package/dist/esm/chunks/chunk.ONII3BV3.js +0 -7
  732. package/dist/esm/chunks/chunk.OTUEB7SD.js +0 -7
  733. package/dist/esm/chunks/chunk.PMSCH6VK.js +0 -7
  734. package/dist/esm/chunks/chunk.PRJHBUU2.js.map +0 -7
  735. package/dist/esm/chunks/chunk.Q2Q626DG.js +0 -7
  736. package/dist/esm/chunks/chunk.Q4YL47ZL.js +0 -7
  737. package/dist/esm/chunks/chunk.Q4YL47ZL.js.map +0 -7
  738. package/dist/esm/chunks/chunk.Q54DACHS.js +0 -7
  739. package/dist/esm/chunks/chunk.Q54DACHS.js.map +0 -7
  740. package/dist/esm/chunks/chunk.Q74SG6BV.js +0 -7
  741. package/dist/esm/chunks/chunk.QGMWM7IT.js +0 -7
  742. package/dist/esm/chunks/chunk.QGMWM7IT.js.map +0 -7
  743. package/dist/esm/chunks/chunk.RCPUTZON.js +0 -7
  744. package/dist/esm/chunks/chunk.RCPUTZON.js.map +0 -7
  745. package/dist/esm/chunks/chunk.SBKKBQDX.js +0 -7
  746. package/dist/esm/chunks/chunk.SBKKBQDX.js.map +0 -7
  747. package/dist/esm/chunks/chunk.SVVF632P.js +0 -7
  748. package/dist/esm/chunks/chunk.SVVF632P.js.map +0 -7
  749. package/dist/esm/chunks/chunk.T4J66YX5.js +0 -7
  750. package/dist/esm/chunks/chunk.THNCYT3E.js +0 -7
  751. package/dist/esm/chunks/chunk.TSUAFZGY.js +0 -7
  752. package/dist/esm/chunks/chunk.UOEJCU6R.js +0 -7
  753. package/dist/esm/chunks/chunk.VG452D3L.js +0 -7
  754. package/dist/esm/chunks/chunk.VQPSP4HV.js +0 -7
  755. package/dist/esm/chunks/chunk.VQPSP4HV.js.map +0 -7
  756. package/dist/esm/chunks/chunk.W7BP2DDU.js +0 -7
  757. package/dist/esm/chunks/chunk.WARVAVAW.js +0 -7
  758. package/dist/esm/chunks/chunk.WEHQUUXJ.js +0 -7
  759. package/dist/esm/chunks/chunk.WEHQUUXJ.js.map +0 -7
  760. package/dist/esm/chunks/chunk.WJCZJ6XD.js +0 -7
  761. package/dist/esm/chunks/chunk.X3QZY7V4.js +0 -7
  762. package/dist/esm/chunks/chunk.XQLQ73NG.js +0 -7
  763. package/dist/esm/chunks/chunk.Y4ZS3A6F.js +0 -7
  764. package/dist/esm/chunks/chunk.YA5OQD37.js +0 -7
  765. package/dist/esm/chunks/chunk.YMSX4F3J.js +0 -7
  766. package/dist/esm/chunks/chunk.Z37CZMMR.js +0 -7
  767. package/dist/esm/chunks/chunk.ZIRA4PYV.js +0 -7
  768. package/dist/esm/chunks/chunk.ZT7U7WOX.js +0 -7
  769. package/dist/esm/chunks/chunk.ZX3CGET2.js +0 -7
  770. package/dist/esm/chunks/chunk.ZX3CGET2.js.map +0 -7
  771. package/dist/tooltip/forge-tooltip.css +0 -6
  772. package/esm/avatar/avatar-component-delegate.d.ts +0 -16
  773. package/esm/avatar/avatar-component-delegate.js +0 -15
  774. package/esm/badge/badge-adapter.d.ts +0 -17
  775. package/esm/badge/badge-adapter.js +0 -20
  776. package/esm/badge/badge-component-delegate.d.ts +0 -16
  777. package/esm/badge/badge-component-delegate.js +0 -15
  778. package/esm/badge/badge-foundation.d.ts +0 -24
  779. package/esm/badge/badge-foundation.js +0 -55
  780. package/esm/core/base/base-element-internals-component.d.ts +0 -41
  781. package/esm/core/base/base-element-internals-component.js +0 -47
  782. package/esm/tooltip/tooltip-utils.d.ts +0 -13
  783. package/esm/tooltip/tooltip-utils.js +0 -53
  784. package/styles/app-bar/app-bar/_configuration.scss +0 -16
  785. package/styles/avatar/_mixins.scss +0 -46
  786. package/styles/avatar/_variables.scss +0 -16
  787. package/styles/button/_configuration.scss +0 -16
  788. package/styles/button-toggle/button-toggle/_mixins.scss +0 -117
  789. package/styles/button-toggle/button-toggle-group/_mixins.scss +0 -79
  790. package/styles/circular-progress/_configuration.scss +0 -16
  791. package/styles/floating-action-button/_configuration.scss +0 -16
  792. package/styles/icon-button/_configuration.scss +0 -16
  793. package/styles/inline-message/_mixins.scss +0 -82
  794. package/styles/inline-message/_variables.scss +0 -67
  795. package/styles/linear-progress/_configuration.scss +0 -28
  796. package/styles/list/list/_configuration.scss +0 -10
  797. package/styles/list/list-item/_configuration.scss +0 -16
  798. package/styles/radio/radio/_configuration.scss +0 -10
  799. package/styles/split-button/_configuration.scss +0 -12
  800. package/styles/state-layer/_configuration.scss +0 -10
  801. package/styles/switch/_configuration.scss +0 -10
  802. package/styles/tabs/tab/_configuration.scss +0 -27
  803. package/styles/tabs/tab-bar/_configuration.scss +0 -10
  804. package/styles/tooltip/_mixins.scss +0 -98
  805. package/styles/tooltip/_variables.scss +0 -18
  806. package/styles/tooltip/forge-tooltip.scss +0 -12
  807. /package/dist/esm/chunks/{chunk.KWBYYSH3.js.map → chunk.2NGPMBVU.js.map} +0 -0
  808. /package/dist/esm/chunks/{chunk.L45HXBDS.js.map → chunk.5BQT3E7Y.js.map} +0 -0
  809. /package/dist/esm/chunks/{chunk.BAQYPAUM.js.map → chunk.AWEDY45N.js.map} +0 -0
  810. /package/dist/esm/chunks/{chunk.O6MGA3XK.js.map → chunk.GFKYBECY.js.map} +0 -0
  811. /package/dist/esm/chunks/{chunk.MHH26REX.js.map → chunk.IDB4KFSQ.js.map} +0 -0
  812. /package/dist/esm/chunks/{chunk.URKQICJD.js.map → chunk.LDHY3O6H.js.map} +0 -0
  813. /package/dist/esm/chunks/{chunk.KDJZN6EW.js.map → chunk.LEN33O6V.js.map} +0 -0
  814. /package/dist/esm/chunks/{chunk.42YDA5FH.js.map → chunk.LXFL2C62.js.map} +0 -0
  815. /package/dist/esm/chunks/{chunk.BC7WB5RG.js.map → chunk.MMMG4MZ3.js.map} +0 -0
  816. /package/dist/esm/chunks/{chunk.BTWJPE4Y.js.map → chunk.O5HBMTSZ.js.map} +0 -0
  817. /package/dist/esm/chunks/{chunk.MTSWCXTY.js.map → chunk.OD54UG2G.js.map} +0 -0
  818. /package/dist/esm/chunks/{chunk.NBLL7VAA.js.map → chunk.OJFSECZE.js.map} +0 -0
  819. /package/dist/esm/chunks/{chunk.7LOMI6J3.js.map → chunk.OR5GB6X3.js.map} +0 -0
  820. /package/dist/esm/chunks/{chunk.AR6YUJUH.js.map → chunk.RKG66YKS.js.map} +0 -0
  821. /package/dist/esm/chunks/{chunk.HRGTAVNA.js.map → chunk.RKIJTSSL.js.map} +0 -0
  822. /package/dist/esm/chunks/{chunk.WINL2C7Q.js.map → chunk.U6FJJGO3.js.map} +0 -0
  823. /package/dist/esm/chunks/{chunk.5EGEZ4IY.js.map → chunk.VNFATHAQ.js.map} +0 -0
  824. /package/dist/esm/chunks/{chunk.IHIKIZIT.js.map → chunk.VOL4DT5F.js.map} +0 -0
  825. /package/dist/esm/chunks/{chunk.U42I3PGF.js.map → chunk.ZZRAZZ3N.js.map} +0 -0
  826. /package/esm/core/{base/base-label-aware-component.js → mixins/label/with-label-aware.js} +0 -0
@@ -0,0 +1,458 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { OverlayAwareFoundation } from '../overlay/base/overlay-aware-foundation';
7
+ import { WithLongpressListener } from '../core/mixins/interactions/longpress/with-longpress-listener';
8
+ import { POPOVER_CONSTANTS, POPOVER_HOVER_TIMEOUT } from './popover-constants';
9
+ import { DismissibleStack } from '../core/utils/dismissible-stack';
10
+ import { VirtualElement } from '../core/utils/position-utils';
11
+ const BaseClass = WithLongpressListener((OverlayAwareFoundation));
12
+ export class PopoverFoundation extends BaseClass {
13
+ constructor(adapter) {
14
+ super(adapter);
15
+ this._anchor = null;
16
+ this._arrow = false;
17
+ this._animationType = 'zoom';
18
+ this._triggerTypes = [POPOVER_CONSTANTS.defaults.TRIGGER_TYPE];
19
+ this._persistentHover = false;
20
+ this._hoverDismissDelay = POPOVER_HOVER_TIMEOUT;
21
+ this._previouslyFocusedElement = null;
22
+ // Click trigger listeners
23
+ this._anchorClickListener = this._onAnchorClick.bind(this);
24
+ // Double click trigger listeners
25
+ this._anchorDoubleClickListener = this._onAnchorDoubleClick.bind(this);
26
+ // Hover trigger listeners
27
+ this._anchorMouseenterListener = this._onAnchorMouseenter.bind(this);
28
+ this._anchorMouseleaveListener = this._onAnchorMouseleave.bind(this);
29
+ this._popoverMouseenterListener = this._onPopoverMouseenter.bind(this);
30
+ this._popoverMouseleaveListener = this._onPopoverMouseleave.bind(this);
31
+ this._mousemoveListener = this._onMousemove.bind(this);
32
+ // Focus trigger listeners
33
+ this._anchorFocusListener = this._onAnchorFocus.bind(this);
34
+ this._anchorBlurListener = this._onAnchorBlur.bind(this);
35
+ this._popoverBlurListener = this._onPopoverBlur.bind(this);
36
+ // Contextmenu listener
37
+ this._contextmenuListener = this._onContextmenu.bind(this);
38
+ }
39
+ initialize() {
40
+ super.initialize();
41
+ if (!this.anchorElement) {
42
+ this._adapter.tryLocateAnchorElement(this._anchor);
43
+ }
44
+ this._initializeTriggerListeners();
45
+ }
46
+ destroy() {
47
+ super.destroy();
48
+ this._previouslyFocusedElement = null;
49
+ if (this.open) {
50
+ this._closePopover();
51
+ }
52
+ this._removeTriggerListeners();
53
+ }
54
+ async _onOverlayLightDismiss(evt) {
55
+ evt.preventDefault();
56
+ this._requestDismiss(evt.detail.reason);
57
+ }
58
+ dispatchBeforeToggleEvent({ reason }) {
59
+ const evt = this._dispatchBeforetoggleEvent();
60
+ if (evt.defaultPrevented) {
61
+ return false;
62
+ }
63
+ const previousFocusedEl = this._previouslyFocusedElement;
64
+ this._closePopover();
65
+ this._dispatchToggleEvent();
66
+ if (reason === 'escape' && previousFocusedEl && this._adapter.hasFocus()) {
67
+ previousFocusedEl.focus();
68
+ }
69
+ return true;
70
+ }
71
+ _openPopover({ dispatchEvents = true, fromKeyboard = false } = {}) {
72
+ if (dispatchEvents) {
73
+ const evt = this._dispatchBeforetoggleEvent();
74
+ if (evt.defaultPrevented) {
75
+ return;
76
+ }
77
+ }
78
+ this._previouslyFocusedElement = this._adapter.captureFocusedElement();
79
+ this._adapter.setOverlayOpen(true);
80
+ if (!this.overlayElement.persistent) {
81
+ DismissibleStack.instance.add(this._adapter.hostElement);
82
+ }
83
+ this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.OPEN, this.open);
84
+ // We only attempt to set initial focus if the event was triggered by a keyboard interaction
85
+ if (fromKeyboard) {
86
+ this._adapter.tryAutofocus();
87
+ }
88
+ if (dispatchEvents) {
89
+ this._dispatchToggleEvent();
90
+ }
91
+ }
92
+ _closePopover() {
93
+ this._previouslyFocusedElement = null;
94
+ this._adapter.setOverlayOpen(false);
95
+ DismissibleStack.instance.remove(this._adapter.hostElement);
96
+ this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.OPEN, this.open);
97
+ }
98
+ _dispatchBeforetoggleEvent() {
99
+ const evt = new CustomEvent(POPOVER_CONSTANTS.events.BEFORETOGGLE, {
100
+ detail: {
101
+ oldState: this.open ? 'open' : 'closed',
102
+ newState: this.open ? 'closed' : 'open'
103
+ },
104
+ bubbles: false,
105
+ cancelable: true
106
+ });
107
+ this._adapter.dispatchHostEvent(evt);
108
+ return evt;
109
+ }
110
+ _dispatchToggleEvent() {
111
+ this._adapter.dispatchHostEvent(new CustomEvent(POPOVER_CONSTANTS.events.TOGGLE, {
112
+ detail: {
113
+ oldState: this.open ? 'closed' : 'open',
114
+ newState: this.open ? 'open' : 'closed'
115
+ },
116
+ bubbles: false
117
+ }));
118
+ }
119
+ _initializeTriggerListeners() {
120
+ if (this._triggerTypes.includes('manual')) {
121
+ return;
122
+ }
123
+ let types = [...this._triggerTypes];
124
+ // When contextmenu is used, we ignore all other trigger types
125
+ if (types.includes('contextmenu')) {
126
+ types = ['contextmenu'];
127
+ }
128
+ else {
129
+ // Hover triggers already listen to focus by default
130
+ if (types.includes('hover') && types.includes('focus')) {
131
+ types.splice(types.indexOf('focus'), 1);
132
+ }
133
+ // We don't support both click and doubleclick together; click takes precedence
134
+ if (types.includes('click') && types.includes('doubleclick')) {
135
+ types.splice(types.indexOf('doubleclick'), 1);
136
+ }
137
+ }
138
+ const triggerInitializers = {
139
+ click: () => this._adapter.addAnchorListener('click', this._anchorClickListener),
140
+ hover: () => {
141
+ this._adapter.addAnchorListener('mouseenter', this._anchorMouseenterListener);
142
+ this._adapter.addAnchorListener('focusin', this._anchorFocusListener);
143
+ },
144
+ focus: () => this._adapter.addAnchorListener('focusin', this._anchorFocusListener),
145
+ longpress: () => {
146
+ if (this._adapter.overlayElement.anchorElement && !(this._adapter.overlayElement.anchorElement instanceof VirtualElement)) {
147
+ this._startLongpressListener(this._adapter.overlayElement.anchorElement);
148
+ }
149
+ },
150
+ doubleclick: () => this._adapter.addAnchorListener('dblclick', this._anchorDoubleClickListener),
151
+ contextmenu: () => this._adapter.addDocumentListener('contextmenu', this._contextmenuListener)
152
+ };
153
+ types.forEach(triggerType => { var _a; return (_a = triggerInitializers[triggerType]) === null || _a === void 0 ? void 0 : _a.call(triggerInitializers); });
154
+ }
155
+ _removeTriggerListeners() {
156
+ const triggerRemovers = {
157
+ click: () => this._adapter.removeAnchorListener('click', this._anchorClickListener),
158
+ hover: () => {
159
+ this._adapter.removeAnchorListener('mouseenter', this._anchorMouseenterListener);
160
+ this._adapter.removeAnchorListener('mouseleave', this._anchorMouseleaveListener);
161
+ this._adapter.removeAnchorListener('focusin', this._anchorFocusListener);
162
+ this._adapter.removeAnchorListener('focusout', this._anchorBlurListener);
163
+ this._adapter.removeHostListener('focusout', this._popoverBlurListener);
164
+ this._tryRemoveHoverListeners();
165
+ },
166
+ focus: () => {
167
+ this._adapter.removeAnchorListener('focusin', this._anchorFocusListener);
168
+ this._adapter.removeAnchorListener('focusout', this._anchorBlurListener);
169
+ this._adapter.removeHostListener('focusout', this._popoverBlurListener);
170
+ },
171
+ longpress: () => {
172
+ if (this._adapter.overlayElement.anchorElement && !(this._adapter.overlayElement.anchorElement instanceof VirtualElement)) {
173
+ this._stopLongpressListener(this._adapter.overlayElement.anchorElement);
174
+ }
175
+ },
176
+ doubleclick: () => this._adapter.removeAnchorListener('dblclick', this._anchorDoubleClickListener),
177
+ contextmenu: () => this._adapter.removeDocumentListener('contextmenu', this._contextmenuListener)
178
+ };
179
+ this._triggerTypes.forEach(triggerType => { var _a; return (_a = triggerRemovers[triggerType]) === null || _a === void 0 ? void 0 : _a.call(triggerRemovers); });
180
+ }
181
+ _startHoverListeners() {
182
+ this._adapter.addDocumentListener('mousemove', this._mousemoveListener);
183
+ this._adapter.addSurfaceListener('mouseenter', this._popoverMouseenterListener);
184
+ this._adapter.addSurfaceListener('mouseleave', this._popoverMouseleaveListener);
185
+ }
186
+ _tryRemoveHoverListeners() {
187
+ this._adapter.removeDocumentListener('mousemove', this._mousemoveListener);
188
+ this._adapter.removeSurfaceListener('mouseenter', this._popoverMouseenterListener);
189
+ this._adapter.removeSurfaceListener('mouseleave', this._popoverMouseleaveListener);
190
+ }
191
+ _requestDismiss(reason) {
192
+ DismissibleStack.instance.requestDismiss(this._adapter.hostElement, { reason });
193
+ }
194
+ _requestClose(reason) {
195
+ DismissibleStack.instance.dismiss(this._adapter.hostElement, { reason });
196
+ }
197
+ _onHoverClose() {
198
+ var _a;
199
+ /* c8 ignore next 3 */
200
+ if (!this.open) {
201
+ return;
202
+ }
203
+ if (this._currentHoverCoords) {
204
+ const mouseElement = document.elementFromPoint(this._currentHoverCoords.x, this._currentHoverCoords.y);
205
+ const isOwnElement = mouseElement &&
206
+ (this._adapter.isChildElement(mouseElement) ||
207
+ (!(this._adapter.overlayElement.anchorElement instanceof VirtualElement) && ((_a = this._adapter.overlayElement.anchorElement) === null || _a === void 0 ? void 0 : _a.contains(mouseElement))));
208
+ /* c8 ignore next 3 */
209
+ if (isOwnElement) {
210
+ return;
211
+ }
212
+ }
213
+ this._tryRemoveHoverListeners();
214
+ this._requestClose('hover');
215
+ }
216
+ /**
217
+ * Handles `click` events on the anchor element.
218
+ *
219
+ * Only called when using the "click" (default) trigger type.
220
+ */
221
+ _onAnchorClick(evt) {
222
+ if (!this.open) {
223
+ const fromKeyboard = evt.detail === 0 && !evt.pointerType;
224
+ this._openPopover({ fromKeyboard });
225
+ }
226
+ else {
227
+ this._requestClose('click');
228
+ }
229
+ }
230
+ /**
231
+ * Handles `dblclick` events on the anchor element.
232
+ */
233
+ _onAnchorDoubleClick() {
234
+ if (!this.open) {
235
+ this._openPopover();
236
+ }
237
+ else {
238
+ this._requestClose('doubleclick');
239
+ }
240
+ }
241
+ /**
242
+ * Handles `mouseenter` events on the anchor element. This is used to determine if the popover should be opened.
243
+ *
244
+ * Only called when using the "hover" trigger type.
245
+ */
246
+ _onAnchorMouseenter() {
247
+ window.clearTimeout(this._hoverAnchorLeaveTimeout);
248
+ if (!this._adapter.overlayElement.open) {
249
+ if (!this._persistentHover) {
250
+ this._adapter.addAnchorListener('mouseleave', this._anchorMouseleaveListener);
251
+ }
252
+ this._openPopover();
253
+ }
254
+ }
255
+ /**
256
+ * Handles `mouseleave` events on the anchor element. This is used to determine if the popover should be closed.
257
+ *
258
+ * Only called when using the "hover" trigger type.
259
+ *
260
+ * We use a timeout here to allow for the user to take an indirect path toward the popover.
261
+ */
262
+ _onAnchorMouseleave() {
263
+ this._startHoverListeners();
264
+ this._hoverAnchorLeaveTimeout = window.setTimeout(() => {
265
+ this._hoverAnchorLeaveTimeout = undefined;
266
+ this._onHoverClose();
267
+ }, this._hoverDismissDelay);
268
+ }
269
+ /**
270
+ * Handles `mouseenter` events on the popover element. This is used to determine if the mouse has entered the popover element,
271
+ * only after the mouse leaves the anchor element..
272
+ */
273
+ _onPopoverMouseenter() {
274
+ window.clearTimeout(this._hoverAnchorLeaveTimeout);
275
+ window.clearTimeout(this._popoverMouseleaveTimeout);
276
+ }
277
+ /**
278
+ * Handles `mouseleave` events on the popover element. This is used to determine if the mouse has moved outside of the popover.
279
+ *
280
+ * Only called when using the "hover" trigger type.
281
+ *
282
+ * We use a timeout here to allow for the user to take an indirect path toward an open child menu.
283
+ * This allows for the popup to stay open while the user is moving their mouse to it to avoid closing immediately.
284
+ */
285
+ _onPopoverMouseleave() {
286
+ this._popoverMouseleaveTimeout = window.setTimeout(() => {
287
+ this._popoverMouseleaveTimeout = undefined;
288
+ this._onHoverClose();
289
+ }, this._hoverDismissDelay);
290
+ }
291
+ /**
292
+ * Handles `mousemove` events on the document. This is used to determine if the mouse has moved outside of the popover.
293
+ *
294
+ * This listener is only initialized once the mouse leaves the anchor element.
295
+ *
296
+ * Only called when using the "hover" trigger type.
297
+ */
298
+ _onMousemove(evt) {
299
+ this._currentHoverCoords = { x: evt.pageX, y: evt.pageY };
300
+ }
301
+ /**
302
+ * Handles `focusin` events on the anchor element. This is used to determine if focus has been received on the anchor element when using the "focus" trigger type.
303
+ */
304
+ _onAnchorFocus(_evt) {
305
+ if (!this._adapter.overlayElement.open) {
306
+ this._adapter.addAnchorListener('focusout', this._anchorBlurListener);
307
+ this._openPopover({ fromKeyboard: true });
308
+ }
309
+ }
310
+ /**
311
+ * Handles `focusout` events on the anchor element. This is used to determine if focus has been moved outside of the anchor element when using the "focus" trigger type.
312
+ */
313
+ _onAnchorBlur(evt) {
314
+ if (!this._adapter.isChildElement(evt.relatedTarget)) {
315
+ // Focus was moved outside of the popover element, so let's assume we need to close
316
+ this._requestClose('focus');
317
+ }
318
+ else {
319
+ // Focus was moved to within the popover element, now we must listen for focus to move outside of the popover
320
+ this._adapter.addHostListener('focusout', this._popoverBlurListener);
321
+ }
322
+ }
323
+ _onPopoverBlur({ relatedTarget }) {
324
+ var _a, _b;
325
+ const popoverHasFocus = this._adapter.hasFocus();
326
+ const anchorHasFocus = !(this._adapter.overlayElement.anchorElement instanceof VirtualElement) &&
327
+ (((_a = this._adapter.overlayElement.anchorElement) === null || _a === void 0 ? void 0 : _a.matches(':focus-within')) ||
328
+ ((_b = this._adapter.overlayElement.anchorElement) === null || _b === void 0 ? void 0 : _b.contains(relatedTarget)));
329
+ if (!popoverHasFocus && !anchorHasFocus) {
330
+ this._requestClose('focus');
331
+ }
332
+ }
333
+ _onLongpress() {
334
+ if (!this.open) {
335
+ this._openPopover();
336
+ }
337
+ }
338
+ _onContextmenu(evt) {
339
+ evt.preventDefault();
340
+ this.anchorElement = VirtualElement.fromEvent(evt);
341
+ if (!this.open) {
342
+ this._openPopover();
343
+ }
344
+ }
345
+ /**
346
+ * Public API
347
+ */
348
+ get open() {
349
+ return this._adapter.overlayElement.open;
350
+ }
351
+ set open(value) {
352
+ if (this._adapter.overlayElement.open !== value) {
353
+ if (value) {
354
+ this._openPopover({ dispatchEvents: false });
355
+ }
356
+ else {
357
+ this._closePopover();
358
+ }
359
+ }
360
+ }
361
+ get anchorElement() {
362
+ return this._adapter.overlayElement.anchorElement;
363
+ }
364
+ set anchorElement(value) {
365
+ if (this._adapter.overlayElement.anchorElement !== value) {
366
+ if (this._adapter.isConnected) {
367
+ this._removeTriggerListeners();
368
+ }
369
+ this._adapter.overlayElement.anchorElement = value;
370
+ if (this._adapter.isConnected) {
371
+ this._initializeTriggerListeners();
372
+ }
373
+ }
374
+ }
375
+ get anchor() {
376
+ return this._anchor;
377
+ }
378
+ set anchor(value) {
379
+ if (this._anchor !== value) {
380
+ this._anchor = value;
381
+ if (this._adapter.isConnected) {
382
+ this._removeTriggerListeners();
383
+ this._adapter.tryLocateAnchorElement(this._anchor);
384
+ this._initializeTriggerListeners();
385
+ }
386
+ }
387
+ }
388
+ get arrow() {
389
+ return this._arrow;
390
+ }
391
+ set arrow(value) {
392
+ value = Boolean(value);
393
+ if (this._arrow !== value) {
394
+ this._arrow = value;
395
+ this._adapter.toggleArrow(value);
396
+ this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.ARROW, value);
397
+ }
398
+ }
399
+ get animationType() {
400
+ return this._animationType;
401
+ }
402
+ set animationType(value) {
403
+ if (this._animationType !== value) {
404
+ this._animationType = value;
405
+ this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.ANIMATION_TYPE, !!this._animationType, this._animationType);
406
+ }
407
+ }
408
+ get triggerType() {
409
+ return this._triggerTypes.length === 1 ? this._triggerTypes[0] : this._triggerTypes;
410
+ }
411
+ set triggerType(value) {
412
+ if (this._triggerTypes !== value) {
413
+ if (this._adapter.isConnected) {
414
+ this._removeTriggerListeners();
415
+ }
416
+ this._triggerTypes = Array.isArray(value) ? value : [value];
417
+ this._triggerTypes = this._triggerTypes.filter(type => !!type);
418
+ if (!this._triggerTypes.length) {
419
+ this._triggerTypes = [POPOVER_CONSTANTS.defaults.TRIGGER_TYPE];
420
+ }
421
+ if (this._adapter.isConnected) {
422
+ this._initializeTriggerListeners();
423
+ }
424
+ }
425
+ }
426
+ get longpressDelay() {
427
+ return this._longpressDelay;
428
+ }
429
+ set longpressDelay(value) {
430
+ if (this._longpressDelay !== value) {
431
+ this._longpressDelay = value;
432
+ this._adapter.setHostAttribute(POPOVER_CONSTANTS.attributes.LONGPRESS_DELAY, String(this._longpressDelay));
433
+ }
434
+ }
435
+ get persistentHover() {
436
+ return this._persistentHover;
437
+ }
438
+ set persistentHover(value) {
439
+ value = Boolean(value);
440
+ if (this._persistentHover !== value) {
441
+ this._persistentHover = value;
442
+ if (this._persistentHover && this._triggerTypes.includes('hover') && this._adapter.isConnected) {
443
+ this._removeTriggerListeners();
444
+ this._initializeTriggerListeners();
445
+ }
446
+ this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.PERSISTENT_HOVER, value);
447
+ }
448
+ }
449
+ get hoverDismissDelay() {
450
+ return this._hoverDismissDelay;
451
+ }
452
+ set hoverDismissDelay(value) {
453
+ if (this._hoverDismissDelay !== value) {
454
+ this._hoverDismissDelay = value;
455
+ this._adapter.setHostAttribute(POPOVER_CONSTANTS.attributes.HOVER_DISMISS_DELAY, String(this._hoverDismissDelay));
456
+ }
457
+ }
458
+ }
@@ -0,0 +1,96 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { IPopoverToggleEventData, PopoverAnimationType, PopoverTriggerType } from './popover-constants';
7
+ import { IPopoverFoundation } from './popover-foundation';
8
+ import { IOverlayAware, OverlayAware } from '../overlay/base/overlay-aware';
9
+ import { IDismissible, tryDismiss, IDismissibleStackState } from '../core/utils/dismissible-stack';
10
+ export interface IPopoverComponent extends IOverlayAware, IDismissible {
11
+ arrow: boolean;
12
+ animationType: PopoverAnimationType;
13
+ triggerType: PopoverTriggerType | PopoverTriggerType[];
14
+ longpressDelay: number;
15
+ persistentHover: boolean;
16
+ hoverDismissDelay: number;
17
+ }
18
+ declare global {
19
+ interface HTMLElementTagNameMap {
20
+ 'forge-popover': IPopoverComponent;
21
+ }
22
+ interface HTMLElementEventMap {
23
+ 'forge-popover-beforetoggle': CustomEvent<IPopoverToggleEventData>;
24
+ 'forge-popover-toggle': CustomEvent<IPopoverToggleEventData>;
25
+ }
26
+ }
27
+ /**
28
+ * @tag forge-popover
29
+ *
30
+ * @summary Popovers are used to render content in an element that is above all other content on the page.
31
+ *
32
+ * @property {boolean} arrow - Whether or not the popover should render an arrow.
33
+ * @property {PopoverAnimationType} animationType - The animation type to use for the popover. Valid values are `'none'`, `'fade'`, `'slide'`, and `'zoom'` (default).
34
+ * @property {PopoverTriggerType | PopoverTriggerType[]} triggerType - The trigger type(s) to use for the popover. Valid values are `'click'` (default), `'hover'`, `'focus'`, and `'longpress'`. Multiple can be specified.
35
+ * @property {number} longpressDelay - The delay in milliseconds before a longpress event is detected.
36
+ * @property {boolean} persistentHover - Whether or not the popover should remain open when the user hovers outside the popover.
37
+ * @property {number} hoverDismissDelay - The delay in milliseconds before the popover is dismissed when the user hovers outside of the popover.
38
+ *
39
+ * @attribute {string} arrow - Whether or not the popover should render an arrow.
40
+ * @attribute {string} animation-type - The animation type to use for the popover. Valid values are `'none'`, `'fade'`, `'slide'`, and `'zoom'` (default).
41
+ * @attribute {string} trigger-type - The trigger type(s) to use for the popover. Valid values are `'click'` (default), `'hover'`, `'focus'`, and `'longpress'`. Multiple can be specified.
42
+ * @attribute {string} longpress-delay - The delay in milliseconds before a longpress event is detected.
43
+ * @attribute {string} persistent-hover - Whether or not the popover should remain open when the user hovers outside the popover.
44
+ * @attribute {string} hover-dismiss-delay - The delay in milliseconds before the popover is dismissed when the user hovers outside of the popover.
45
+ *
46
+ * @event {CustomEvent<IPopoverToggleEventData} forge-popover-beforetoggle - Dispatches before the popover is toggled, and is cancelable.
47
+ * @event {CustomEvent<IPopoverToggleEventData} forge-popover-toggle - Dispatches after the popover is toggled.
48
+ *
49
+ * @cssproperty --forge-popover-background - The background color of the popover surface.
50
+ * @cssproperty --forge-popover-border-radius - The border radius of the popover surface.
51
+ * @cssproperty --forge-popover-box-shadow - The box shadow of the popover surface.
52
+ * @cssproperty --forge-popover-border-width - The border width of the popover surface.
53
+ * @cssproperty --forge-popover-border-style - The border style of the popover surface.
54
+ * @cssproperty --forge-popover-border-color - The border color of the popover surface.
55
+ * @cssproperty --forge-popover-arrow-size - The size of the arrow.
56
+ * @cssproperty --forge-popover-arrow-height - The height of the arrow.
57
+ * @cssproperty --forge-popover-arrow-width - The width of the arrow.
58
+ * @cssproperty --forge-popover-arrow-background-color - The background color of the arrow. Defaults to the background color of the popover surface.
59
+ * @cssproperty --forge-popover-arrow-top-rotation - The rotation of the arrow when the popover is placed on the top.
60
+ * @cssproperty --forge-popover-arrow-right-rotation - The rotation of the arrow when the popover is placed on the right.
61
+ * @cssproperty --forge-popover-arrow-bottom-rotation - The rotation of the arrow when the popover is placed on the bottom.
62
+ * @cssproperty --forge-popover-arrow-left-rotation - The rotation of the arrow when the popover is placed on the left.
63
+ * @cssproperty --forge-popover-arrow-border-width - The border width of the popover surface and arrow when an arrow is applied.
64
+ * @cssproperty --forge-popover-arrow-clip-path - The clip path to use for the arrow element.
65
+ * @cssproperty --forge-popover-animation-timing - The animation timing function to use for the popover animation.
66
+ * @cssproperty --forge-popover-zoom-duration - The duration of the zoom animation.
67
+ * @cssproperty --forge-popover-zoom-timing - The timing function to use for the zoom animation.
68
+ * @cssproperty --forge-popover-slide-duration - The duration of the slide animation.
69
+ * @cssproperty --forge-popover-slide-timing - The timing function to use for the slide animation.
70
+ * @cssproperty --forge-popover-slide-offset - The start offset to use for the slide animation.
71
+ * @cssproperty --forge-popover-fade-duration - The duration of the fade animation.
72
+ * @cssproperty --forge-popover-fade-timing - The timing function to use for the fade animation.
73
+ * @cssproperty --forge-popover-position-block-start - The `block-start` position of the popover.
74
+ * @cssproperty --forge-popover-position-block-end - The `block-end` position of the popover.
75
+ * @cssproperty --forge-popover-position-inline-start - The `inline-start` position of the popover.
76
+ * @cssproperty --forge-popover-position-inline-end - The `inline-end` position of the popover.
77
+ *
78
+ * @slot - The content to render inside the popover.
79
+ *
80
+ * @csspart overlay - The overlay root element.
81
+ * @csspart surface - The surface container element for the slotted content.
82
+ */
83
+ export declare class PopoverComponent extends OverlayAware<IPopoverFoundation> implements IPopoverComponent {
84
+ static get observedAttributes(): string[];
85
+ [tryDismiss](state: IDismissibleStackState): boolean;
86
+ constructor();
87
+ connectedCallback(): void;
88
+ disconnectedCallback(): void;
89
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
90
+ arrow: boolean;
91
+ animationType: PopoverAnimationType;
92
+ triggerType: PopoverTriggerType | PopoverTriggerType[];
93
+ longpressDelay: number;
94
+ persistentHover: boolean;
95
+ hoverDismissDelay: number;
96
+ }