@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,82 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { canUserHoverElements } from '../../../../constants';
7
+ /**
8
+ * The delay in milliseconds before a longpress event is detected.
9
+ */
10
+ export const LONGPRESS_TRIGGER_DELAY = 500;
11
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
12
+ export function WithLongpressListener(base = class {
13
+ }) {
14
+ class LongpressListener extends base {
15
+ constructor() {
16
+ super(...arguments);
17
+ this._longpressStartListener = this._onLongpressStart.bind(this);
18
+ this._longpressEndListener = this._onLongpressEnd.bind(this);
19
+ this._longpressContextMenuListener = this._onLongpressContextMenu.bind(this);
20
+ this._longpressClickPrevent = this._onLongpressClickPrevent.bind(this);
21
+ this._longpressDelay = LONGPRESS_TRIGGER_DELAY;
22
+ }
23
+ _startLongpressListener(el) {
24
+ const type = canUserHoverElements ? 'pointerdown' : 'touchstart';
25
+ el.addEventListener(type, this._longpressStartListener);
26
+ }
27
+ _stopLongpressListener(el) {
28
+ const type = canUserHoverElements ? 'pointerdown' : 'touchstart';
29
+ el.removeEventListener(type, this._longpressStartListener);
30
+ this._unlistenLongpressEnd(el);
31
+ }
32
+ _onLongpressStart(evt) {
33
+ evt.target.setPointerCapture(evt.pointerId);
34
+ this._listenLongpressEnd(evt.target);
35
+ this._longpressTimeout = window.setTimeout(() => {
36
+ this._onLongpress();
37
+ if (!canUserHoverElements) {
38
+ navigator.vibrate(1);
39
+ }
40
+ // We need to prevent any ghost click events from firing after a longpress is detected
41
+ evt.target.addEventListener('click', this._longpressClickPrevent, { capture: true, once: true });
42
+ }, this._longpressDelay);
43
+ }
44
+ _onLongpressClickPrevent(evt) {
45
+ evt.stopPropagation();
46
+ }
47
+ _onLongpressEnd(evt) {
48
+ this._clearTimeout();
49
+ this._unlistenLongpressEnd(evt.target);
50
+ }
51
+ _onLongpressContextMenu(evt) {
52
+ this._clearTimeout();
53
+ evt.target.removeEventListener('click', this._longpressClickPrevent, { capture: true });
54
+ this._unlistenLongpressEnd(evt.target);
55
+ }
56
+ _listenLongpressEnd(el) {
57
+ if (!canUserHoverElements) {
58
+ el.addEventListener('touchend', this._longpressEndListener);
59
+ }
60
+ else {
61
+ el.addEventListener('pointerup', this._longpressEndListener);
62
+ el.addEventListener('pointercancel', this._longpressEndListener);
63
+ el.addEventListener('contextmenu', this._longpressContextMenuListener);
64
+ }
65
+ }
66
+ _unlistenLongpressEnd(el) {
67
+ if (!canUserHoverElements) {
68
+ el.removeEventListener('touchend', this._longpressEndListener);
69
+ }
70
+ else {
71
+ el.removeEventListener('pointerup', this._longpressEndListener);
72
+ el.removeEventListener('pointercancel', this._longpressEndListener);
73
+ el.removeEventListener('contextmenu', this._longpressContextMenuListener);
74
+ }
75
+ }
76
+ _clearTimeout() {
77
+ window.clearTimeout(this._longpressTimeout);
78
+ this._longpressTimeout = undefined;
79
+ }
80
+ }
81
+ return LongpressListener;
82
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { MixinBase, setDefaultAria, AbstractConstructor } from '../../../constants';
7
+ import { ARIAMixinStrict, DefaultAriaOptions } from '../../utils/a11y-utils';
8
+ import { IBaseComponent } from '../../base/base-component';
9
+ /**
10
+ * A component with support for setting default ARIA.
11
+ */
12
+ export interface IWithDefaultAria extends IBaseComponent {
13
+ /**
14
+ * Sets the default ARIA of the component using Element Internals if supported or sprouting
15
+ * ARIA attributes if not.
16
+ *
17
+ * @param properties The ARIA properties and values to set.
18
+ * @param options Whether or not to overwrite existing ARIA attributes. This only takes effect
19
+ * if Element Internals are not supported and a new attribute will be sprouted.
20
+ */
21
+ [setDefaultAria](properties: Partial<ARIAMixinStrict>, options?: DefaultAriaOptions): void;
22
+ }
23
+ export declare abstract class WithDefaultAriaContract {
24
+ [setDefaultAria](properties: Partial<ARIAMixinStrict>, options?: DefaultAriaOptions): void;
25
+ }
26
+ /**
27
+ * Mixes in Element Internals functionality into a base component.
28
+ *
29
+ * @param base The base component to mix into.
30
+ * @returns The mixed-in base component.
31
+ */
32
+ export declare function WithDefaultAria<TBase extends MixinBase>(base: TBase): AbstractConstructor<WithDefaultAriaContract> & TBase;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { internals, setDefaultAria } from '../../../constants';
7
+ import { setDefaultAria as setDefaultAriaUtil } from '../../utils/a11y-utils';
8
+ /**
9
+ * Mixes in Element Internals functionality into a base component.
10
+ *
11
+ * @param base The base component to mix into.
12
+ * @returns The mixed-in base component.
13
+ */
14
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
15
+ export function WithDefaultAria(base) {
16
+ class DefaultAria extends base {
17
+ [setDefaultAria](properties, options) {
18
+ setDefaultAriaUtil(this, this[internals], properties, options);
19
+ }
20
+ }
21
+ return DefaultAria;
22
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { AbstractConstructor, internals, MixinBase } from '../../../constants';
7
+ import { IBaseComponent } from '../../base/base-component';
8
+ /**
9
+ * A component with attached Element Internals.
10
+ */
11
+ export interface IWithElementInternals extends IBaseComponent {
12
+ /**
13
+ * The Element Internals of the component.
14
+ */
15
+ readonly [internals]: ElementInternals;
16
+ }
17
+ export declare abstract class WithElementInternalsContract {
18
+ readonly [internals]: ElementInternals;
19
+ }
20
+ /**
21
+ * Mixes in Element Internals functionality into a base component.
22
+ *
23
+ * @param base The base component to mix into.
24
+ * @returns The mixed-in base component.
25
+ */
26
+ export declare function WithElementInternals<TBase extends MixinBase>(base: TBase): AbstractConstructor<WithElementInternalsContract> & TBase;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { internals } from '../../../constants';
7
+ /**
8
+ * Mixes in Element Internals functionality into a base component.
9
+ *
10
+ * @param base The base component to mix into.
11
+ * @returns The mixed-in base component.
12
+ */
13
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
14
+ export function WithElementInternals(base) {
15
+ class ElementInternalsComponent extends base {
16
+ constructor(...args) {
17
+ super(...args);
18
+ this[internals] = this.attachInternals();
19
+ }
20
+ }
21
+ return ElementInternalsComponent;
22
+ }
@@ -3,8 +3,8 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { AbstractConstructor, MixinBase } from '../../constants';
7
- import { IBaseComponent } from './base-component';
6
+ import { AbstractConstructor, MixinBase } from '../../../constants';
7
+ import { IBaseComponent } from '../../base/base-component';
8
8
  /**
9
9
  * An element that can be associated with a Forge label component.
10
10
  */
@@ -88,9 +88,9 @@ export declare function ariaPropertyToAttribute<K extends ARIAProperty | 'role'>
88
88
  * @returns An ARIA mixin property.
89
89
  */
90
90
  export declare function ariaAttributeToProperty<K extends ARIAAttribute | 'role'>(attribute: K): ARIAProperty;
91
- export interface DefaultAriaOptions {
92
- overwrite?: boolean;
93
- }
91
+ export type DefaultAriaOptions = {
92
+ setAttribute?: boolean;
93
+ };
94
94
  /**
95
95
  * Applies default ARIA to an element through ElementInternals if supported. Otherwise, ARIA
96
96
  * attributes are set directly on the element and stored in additional `data-default-*` attributes
@@ -123,34 +123,4 @@ export interface DefaultAriaOptions {
123
123
  * }
124
124
  * }
125
125
  */
126
- export declare function setDefaultAria(element: HTMLElement, internals: ElementInternals, properties: Partial<ARIAMixinStrict>, options?: DefaultAriaOptions): void;
127
- /**
128
- * Sets a `*Default` property on an element to backup the default value of an ARIA attribute.
129
- *
130
- * @param element The element to store the default ARIA value on.
131
- * @param property The ARIA mixin property.
132
- * @param value The default value to store.
133
- */
134
- export declare function storeDefaultAria<T extends keyof ARIAMixinStrict>(element: HTMLElement, property: T, value: ARIAMixinStrict[T]): void;
135
- /**
136
- * Removes a `*Default` property from an element.
137
- *
138
- * @param element The element to remove the default ARIA value from.
139
- * @param property The ARIA mixin property.
140
- */
141
- export declare function removeDefaultAria<T extends keyof ARIAMixinStrict>(element: HTMLElement, property: T): void;
142
- /**
143
- * Gets a default ARIA value from an element's `*Default` property.
144
- *
145
- * @param element The element to retrieve the default ARIA value from.
146
- * @param property An ARIA mixin property.
147
- * @returns The value of the default ARIA attribute, or null if it does not exist.
148
- */
149
- export declare function retrieveDefaultAria<T extends keyof ARIAMixinStrict>(element: HTMLElement, property: T): ARIAMixinStrict[T] | null;
150
- /**
151
- * Restores the given ARIA attribute of an element to its default value if it exists.
152
- *
153
- * @param element The element to restore the ARIA attribute on.
154
- * @param property The ARIA mixin property.
155
- */
156
- export declare function restoreDefaultAria<T extends keyof ARIAMixinStrict>(element: HTMLElement, property: T): void;
126
+ export declare function setDefaultAria(element: HTMLElement, internals: ElementInternals, properties: Partial<ARIAMixinStrict>, { setAttribute }?: DefaultAriaOptions): void;
@@ -58,7 +58,7 @@ export const ARIA_PROPERTIES = [
58
58
  /**
59
59
  * An object mapping all ARIA attributes to their corresponding properties.
60
60
  *
61
- * This is required because the proeprty name cannot be reliably inferred from the attribute name.
61
+ * This is required because the property name cannot be reliably inferred from the attribute name.
62
62
  */
63
63
  const ARIA_ATTRIBUTES_TO_PROPERTIES = {
64
64
  'aria-atomic': 'ariaAtomic',
@@ -156,68 +156,14 @@ export function ariaAttributeToProperty(attribute) {
156
156
  * }
157
157
  * }
158
158
  */
159
- export function setDefaultAria(element, internals, properties, options) {
160
- if (supportsElementInternalsAria()) {
161
- Object.entries(properties).forEach(([key, value]) => {
162
- internals[key] = value;
163
- });
164
- return;
165
- }
159
+ export function setDefaultAria(element, internals, properties, { setAttribute } = { setAttribute: true }) {
166
160
  Object.entries(properties).forEach(([key, value]) => {
167
- const ariaAttribute = ariaPropertyToAttribute(key);
168
- if ((options === null || options === void 0 ? void 0 : options.overwrite) || !element.hasAttribute(ariaAttribute)) {
169
- toggleAttribute(element, value != null, ariaPropertyToAttribute(key), value === null || value === void 0 ? void 0 : value.toString());
170
- }
171
- if (value != null) {
172
- storeDefaultAria(element, key, value);
161
+ if (supportsElementInternalsAria()) {
162
+ internals[key] = value;
173
163
  }
174
- else {
175
- removeDefaultAria(element, key);
164
+ const attribute = ariaPropertyToAttribute(key);
165
+ if (setAttribute || !element.hasAttribute(attribute)) {
166
+ toggleAttribute(element, value != null, attribute, value);
176
167
  }
177
168
  });
178
169
  }
179
- /**
180
- * Sets a `*Default` property on an element to backup the default value of an ARIA attribute.
181
- *
182
- * @param element The element to store the default ARIA value on.
183
- * @param property The ARIA mixin property.
184
- * @param value The default value to store.
185
- */
186
- export function storeDefaultAria(element, property, value) {
187
- element[getDefaultAriaPropertyName(property)] = value;
188
- }
189
- /**
190
- * Removes a `*Default` property from an element.
191
- *
192
- * @param element The element to remove the default ARIA value from.
193
- * @param property The ARIA mixin property.
194
- */
195
- export function removeDefaultAria(element, property) {
196
- delete element[getDefaultAriaPropertyName(property)];
197
- }
198
- /**
199
- * Gets a default ARIA value from an element's `*Default` property.
200
- *
201
- * @param element The element to retrieve the default ARIA value from.
202
- * @param property An ARIA mixin property.
203
- * @returns The value of the default ARIA attribute, or null if it does not exist.
204
- */
205
- export function retrieveDefaultAria(element, property) {
206
- const value = element[getDefaultAriaPropertyName(property)];
207
- return !!value ? value : null;
208
- }
209
- /**
210
- * Restores the given ARIA attribute of an element to its default value if it exists.
211
- *
212
- * @param element The element to restore the ARIA attribute on.
213
- * @param property The ARIA mixin property.
214
- */
215
- export function restoreDefaultAria(element, property) {
216
- const defaultValue = retrieveDefaultAria(element, property);
217
- if (defaultValue !== null) {
218
- toggleAttribute(element, true, ariaPropertyToAttribute(property), defaultValue.toString());
219
- }
220
- }
221
- function getDefaultAriaPropertyName(property) {
222
- return `_forge_${property}Default`;
223
- }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ /**
7
+ * Represents a deferred promise.
8
+ *
9
+ * Use deferred promises when you need to return a promise but you don't have the result yet.
10
+ */
11
+ export declare class Deferred<T = void> {
12
+ /**
13
+ * The promise to be resolved or rejected.
14
+ */
15
+ readonly promise: Promise<T>;
16
+ private _resolveFn;
17
+ private _rejectFn;
18
+ constructor();
19
+ /**
20
+ * Resolves the promise.
21
+ * @param param The value to resolve the promise with.
22
+ */
23
+ resolve(param: T): void;
24
+ /**
25
+ * Rejects the promise.
26
+ * @param reason The reason for rejecting the promise.
27
+ */
28
+ reject(reason?: any): void;
29
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ /**
7
+ * Represents a deferred promise.
8
+ *
9
+ * Use deferred promises when you need to return a promise but you don't have the result yet.
10
+ */
11
+ export class Deferred {
12
+ constructor() {
13
+ this.promise = new Promise((resolve, reject) => {
14
+ this._resolveFn = resolve;
15
+ this._rejectFn = reject;
16
+ });
17
+ }
18
+ /**
19
+ * Resolves the promise.
20
+ * @param param The value to resolve the promise with.
21
+ */
22
+ resolve(param) {
23
+ this._resolveFn(param);
24
+ }
25
+ /**
26
+ * Rejects the promise.
27
+ * @param reason The reason for rejecting the promise.
28
+ */
29
+ reject(reason) {
30
+ this._rejectFn(reason);
31
+ }
32
+ }
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ export declare const tryDismiss: unique symbol;
7
+ export interface IDismissibleStackState<T = string> {
8
+ [key: string]: T;
9
+ }
10
+ export interface IDismissible {
11
+ [tryDismiss](state?: IDismissibleStackState): boolean;
12
+ }
13
+ export declare class DismissibleStack<T extends IDismissible> {
14
+ private _deferredDismiss;
15
+ /**
16
+ * A promise that resolves when all elements in the stack have finished dismissing.
17
+ *
18
+ * Resolves immediately if there are no elements in the stack.
19
+ */
20
+ get dismissing(): Promise<void>;
21
+ /**
22
+ * A set of all elements that are currently eligible for dismissal.
23
+ *
24
+ * Typically used when a user is force dismissing an element, such as when they click
25
+ * an element that triggered it to open.
26
+ */
27
+ private _dismissibleElements;
28
+ /**
29
+ * A map of all elements that are requesting to be dismissed, and the state that they
30
+ * are requesting to dismiss with.
31
+ *
32
+ * This is used to queue up dismiss requests so that we can wait for all other elements
33
+ * to dispatch their dismiss events, typically used with light dismiss.
34
+ */
35
+ private _elementsRequestingDismiss;
36
+ private constructor();
37
+ static get instance(): DismissibleStack<IDismissible>;
38
+ /**
39
+ * Dismisses all elements in the stack that have been presented after the provided element.
40
+ * @param el The element to dismiss
41
+ * @param state The state to pass to the dismiss method of each element
42
+ */
43
+ dismiss(el: T, state: IDismissibleStackState): Promise<void>;
44
+ /**
45
+ * Queues an element to be dismissed. This allows for us to asynchronously wait for all
46
+ * other elements to dispatch their dismiss events so that consumers can cancel the dismiss
47
+ * if they want to, without closing their parent dismissible elements.
48
+ * @param el
49
+ * @param dismissState
50
+ * @returns
51
+ */
52
+ requestDismiss(el: T, dismissState: IDismissibleStackState): Promise<void>;
53
+ /**
54
+ * Adds an element to the dismissible queue.
55
+ *
56
+ * Use this when an element is opened and should be eligible for dismissal in a stack of other
57
+ * dismissible elements.
58
+ */
59
+ add(el: T): void;
60
+ /**
61
+ * Removes an element from the dismissible queue.
62
+ *
63
+ * Use this when an element is closed and should no longer be eligible for dismissal in a stack.
64
+ */
65
+ remove(el: T): void;
66
+ /**
67
+ * Checks if an element is in the dismissible queue.
68
+ */
69
+ has(el: T): boolean;
70
+ /**
71
+ * Checks if an element is requesting to be dismissed.
72
+ */
73
+ isRequestingLightDismiss(el: T): boolean;
74
+ }
@@ -0,0 +1,133 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { Deferred } from './deferred';
7
+ import { task } from './event-utils';
8
+ // The symbol to use for the tryDismiss method on dismissible elements
9
+ export const tryDismiss = Symbol('tryDismiss');
10
+ // The key to use for storing the dismissible stack on the window object
11
+ const DISMISSIBLE_STACK_INSTANCE_KEY = Symbol('forgeDismissibleStack');
12
+ export class DismissibleStack {
13
+ /**
14
+ * A promise that resolves when all elements in the stack have finished dismissing.
15
+ *
16
+ * Resolves immediately if there are no elements in the stack.
17
+ */
18
+ get dismissing() {
19
+ var _a, _b;
20
+ return (_b = (_a = this._deferredDismiss) === null || _a === void 0 ? void 0 : _a.promise) !== null && _b !== void 0 ? _b : Promise.resolve();
21
+ }
22
+ // eslint-disable-next-line @tylertech-eslint/require-private-modifier
23
+ constructor() {
24
+ /**
25
+ * A set of all elements that are currently eligible for dismissal.
26
+ *
27
+ * Typically used when a user is force dismissing an element, such as when they click
28
+ * an element that triggered it to open.
29
+ */
30
+ this._dismissibleElements = new Set();
31
+ /**
32
+ * A map of all elements that are requesting to be dismissed, and the state that they
33
+ * are requesting to dismiss with.
34
+ *
35
+ * This is used to queue up dismiss requests so that we can wait for all other elements
36
+ * to dispatch their dismiss events, typically used with light dismiss.
37
+ */
38
+ this._elementsRequestingDismiss = new Map();
39
+ }
40
+ static get instance() {
41
+ // We store our instance on the window object so that it can be shared across multiple
42
+ // instances of Forge components
43
+ if (!window[DISMISSIBLE_STACK_INSTANCE_KEY]) {
44
+ window[DISMISSIBLE_STACK_INSTANCE_KEY] = new DismissibleStack();
45
+ }
46
+ return window[DISMISSIBLE_STACK_INSTANCE_KEY];
47
+ }
48
+ /**
49
+ * Dismisses all elements in the stack that have been presented after the provided element.
50
+ * @param el The element to dismiss
51
+ * @param state The state to pass to the dismiss method of each element
52
+ */
53
+ async dismiss(el, state) {
54
+ const elements = Array.from(this._dismissibleElements);
55
+ const elementsAfter = elements.slice(elements.indexOf(el)).reverse();
56
+ for (const element of elementsAfter) {
57
+ if (!element[tryDismiss](state)) {
58
+ break;
59
+ }
60
+ }
61
+ }
62
+ /**
63
+ * Queues an element to be dismissed. This allows for us to asynchronously wait for all
64
+ * other elements to dispatch their dismiss events so that consumers can cancel the dismiss
65
+ * if they want to, without closing their parent dismissible elements.
66
+ * @param el
67
+ * @param dismissState
68
+ * @returns
69
+ */
70
+ async requestDismiss(el, dismissState) {
71
+ var _a;
72
+ if (!this._deferredDismiss) {
73
+ this._deferredDismiss = new Deferred();
74
+ }
75
+ this._elementsRequestingDismiss.set(el, dismissState);
76
+ // Wait for all other element to finish queuing their dismiss events
77
+ await task();
78
+ // The first element to call this method will handle attempting to dismiss the rest of
79
+ // elements, and will clear the queue when it is done. All other subsequent elements will
80
+ // just return here if called within the same task.
81
+ if (!this.isRequestingLightDismiss(el)) {
82
+ return;
83
+ }
84
+ // Get all elements that are requesting to be dismissed, and reverse the order so that
85
+ // we can attempt to dismiss them in a top-down order (most recently opened first)
86
+ const elements = Array.from(this._elementsRequestingDismiss).reverse();
87
+ // Clear all elements from the stack since we are don't need references to them anymore
88
+ this._elementsRequestingDismiss.clear();
89
+ // Attempt to dismiss each element in the queue (most recently opened first), if any of
90
+ // them are prevented, stop trying to dismiss the rest
91
+ try {
92
+ for (const [element, state] of elements) {
93
+ if (!element[tryDismiss](state)) {
94
+ break;
95
+ }
96
+ }
97
+ }
98
+ finally {
99
+ (_a = this._deferredDismiss) === null || _a === void 0 ? void 0 : _a.resolve();
100
+ this._deferredDismiss = undefined;
101
+ }
102
+ }
103
+ /**
104
+ * Adds an element to the dismissible queue.
105
+ *
106
+ * Use this when an element is opened and should be eligible for dismissal in a stack of other
107
+ * dismissible elements.
108
+ */
109
+ add(el) {
110
+ this._dismissibleElements.add(el);
111
+ }
112
+ /**
113
+ * Removes an element from the dismissible queue.
114
+ *
115
+ * Use this when an element is closed and should no longer be eligible for dismissal in a stack.
116
+ */
117
+ remove(el) {
118
+ this._dismissibleElements.delete(el);
119
+ this._elementsRequestingDismiss.delete(el);
120
+ }
121
+ /**
122
+ * Checks if an element is in the dismissible queue.
123
+ */
124
+ has(el) {
125
+ return this._dismissibleElements.has(el);
126
+ }
127
+ /**
128
+ * Checks if an element is requesting to be dismissed.
129
+ */
130
+ isRequestingLightDismiss(el) {
131
+ return this._elementsRequestingDismiss.has(el);
132
+ }
133
+ }
@@ -16,3 +16,8 @@ export declare function supportsPopover(): boolean;
16
16
  * @returns {boolean}
17
17
  */
18
18
  export declare function supportsElementInternalsAria(): boolean;
19
+ /**
20
+ * Detects if the browser supports the hovering elements as the users primary input mechanism.
21
+ * @returns {boolean}
22
+ */
23
+ export declare function supportsHover(): boolean;
@@ -3,6 +3,7 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
+ import { Platform } from '@tylertech/forge-core';
6
7
  /**
7
8
  * Detects if the browser supports the `popover` attribute.
8
9
  * @returns {boolean}
@@ -18,7 +19,15 @@ export function supportsPopover() {
18
19
  * @returns {boolean}
19
20
  */
20
21
  export function supportsElementInternalsAria() {
21
- // TODO: return whether the user agent actually supports this when tooling is able to detect it
22
- // return ElementInternals.prototype.hasOwnProperty('role');
23
- return false;
22
+ return ElementInternals.prototype.hasOwnProperty('role');
23
+ }
24
+ /**
25
+ * Detects if the browser supports the hovering elements as the users primary input mechanism.
26
+ * @returns {boolean}
27
+ */
28
+ export function supportsHover() {
29
+ // TODO: hover media query is not working in CI headless chrome, so we are using the Platform.isMobile flag for now.
30
+ // This should be reverted once we switch to using puppeteer or playwright for testing in CI.
31
+ // return window.matchMedia('(hover: hover)').matches;
32
+ return !Platform.isMobile;
24
33
  }
@@ -4,7 +4,7 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  export type FormValue = File | string | FormData;
7
- export type FormRestoreState = File | string | Array<[string, FormDataEntryValue]>;
7
+ export type FormRestoreState = File | string | FormData | Array<[string, FormDataEntryValue]>;
8
8
  export type FormRestoreReason = 'restore' | 'autocomplete';
9
9
  export type InputType = 'button' | 'checkbox' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'radio' | 'range' | 'reset' | 'search' | 'select' | 'submit' | 'tel' | 'text' | 'time' | 'url' | 'week';
10
10
  export type InputValidationProp = keyof InputValidationProps;