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

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 (755) hide show
  1. package/custom-elements.json +47415 -39475
  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.24NQGTNU.js +7 -0
  32. package/dist/esm/chunks/chunk.24NQGTNU.js.map +7 -0
  33. package/dist/esm/chunks/chunk.2JCTFKCR.js +7 -0
  34. package/dist/esm/chunks/{chunk.Q54DACHS.js.map → chunk.2JCTFKCR.js.map} +1 -1
  35. package/dist/esm/chunks/chunk.2OZ2HVBZ.js +7 -0
  36. package/dist/esm/chunks/{chunk.PMSCH6VK.js.map → chunk.2OZ2HVBZ.js.map} +3 -3
  37. package/dist/esm/chunks/chunk.2YE556AM.js +7 -0
  38. package/dist/esm/chunks/{chunk.5KYKGNGY.js.map → chunk.2YE556AM.js.map} +1 -1
  39. package/dist/esm/chunks/chunk.3U6A353B.js +7 -0
  40. package/dist/esm/chunks/{chunk.ZT7U7WOX.js.map → chunk.3U6A353B.js.map} +1 -1
  41. package/dist/esm/chunks/chunk.3VHQPHQP.js +7 -0
  42. package/dist/esm/chunks/chunk.3VHQPHQP.js.map +7 -0
  43. package/dist/esm/chunks/chunk.436USWLL.js +7 -0
  44. package/dist/esm/chunks/{chunk.4JDJ33IU.js.map → chunk.436USWLL.js.map} +1 -1
  45. package/dist/esm/chunks/chunk.4GMGQZOW.js +7 -0
  46. package/dist/esm/chunks/{chunk.6FUXTHO6.js.map → chunk.4GMGQZOW.js.map} +1 -1
  47. package/dist/esm/chunks/chunk.4JB3SESQ.js +7 -0
  48. package/dist/esm/chunks/{chunk.AIPDMLJD.js.map → chunk.4JB3SESQ.js.map} +1 -1
  49. package/dist/esm/chunks/chunk.4JL5LW5J.js +7 -0
  50. package/dist/esm/chunks/{chunk.BS73Y6IN.js.map → chunk.4JL5LW5J.js.map} +1 -1
  51. package/dist/esm/chunks/chunk.4O6OEUGY.js +7 -0
  52. package/dist/esm/chunks/{chunk.4XN2WGMP.js.map → chunk.4O6OEUGY.js.map} +2 -2
  53. package/dist/esm/chunks/chunk.4OG3OGVO.js +7 -0
  54. package/dist/esm/chunks/chunk.4OG3OGVO.js.map +7 -0
  55. package/dist/esm/chunks/chunk.4QOXI2GM.js +7 -0
  56. package/dist/esm/chunks/chunk.4QOXI2GM.js.map +7 -0
  57. package/dist/esm/chunks/{chunk.MTSWCXTY.js → chunk.55D2BMXX.js} +2 -2
  58. package/dist/esm/chunks/chunk.5LCWC3A7.js +7 -0
  59. package/dist/esm/chunks/{chunk.VG452D3L.js.map → chunk.5LCWC3A7.js.map} +1 -1
  60. package/dist/esm/chunks/chunk.5T7TT3AB.js +7 -0
  61. package/dist/esm/chunks/{chunk.YMSX4F3J.js.map → chunk.5T7TT3AB.js.map} +1 -1
  62. package/dist/esm/chunks/{chunk.JHELTQKA.js → chunk.5WVOPPBY.js} +2 -2
  63. package/dist/esm/chunks/{chunk.JHELTQKA.js.map → chunk.5WVOPPBY.js.map} +2 -2
  64. package/dist/esm/chunks/chunk.5XLCY232.js +7 -0
  65. package/dist/esm/chunks/chunk.5XLCY232.js.map +7 -0
  66. package/dist/esm/chunks/chunk.65WE722H.js +7 -0
  67. package/dist/esm/chunks/chunk.65WE722H.js.map +7 -0
  68. package/dist/esm/chunks/chunk.6IPX5C4B.js +7 -0
  69. package/dist/esm/chunks/chunk.6IPX5C4B.js.map +7 -0
  70. package/dist/esm/chunks/chunk.6PB5OWMP.js +7 -0
  71. package/dist/esm/chunks/{chunk.ONII3BV3.js.map → chunk.6PB5OWMP.js.map} +2 -2
  72. package/dist/esm/chunks/chunk.74HZVSDM.js +7 -0
  73. package/dist/esm/chunks/chunk.74HZVSDM.js.map +7 -0
  74. package/dist/esm/chunks/chunk.74JHE77R.js +7 -0
  75. package/dist/esm/chunks/{chunk.Y4ZS3A6F.js.map → chunk.74JHE77R.js.map} +2 -2
  76. package/dist/esm/chunks/chunk.7SYU6KRU.js +15 -0
  77. package/dist/esm/chunks/chunk.7SYU6KRU.js.map +7 -0
  78. package/dist/esm/chunks/{chunk.BC7WB5RG.js → chunk.B53Q676I.js} +2 -2
  79. package/dist/esm/chunks/chunk.BKQSLDMK.js +7 -0
  80. package/dist/esm/chunks/{chunk.NVR6KN2B.js.map → chunk.BKQSLDMK.js.map} +1 -1
  81. package/dist/esm/chunks/chunk.BZG47SA5.js +7 -0
  82. package/dist/esm/chunks/{chunk.THNCYT3E.js.map → chunk.BZG47SA5.js.map} +2 -2
  83. package/dist/esm/chunks/chunk.BZVLSWZR.js +7 -0
  84. package/dist/esm/chunks/{chunk.4IMRT2B3.js.map → chunk.BZVLSWZR.js.map} +1 -1
  85. package/dist/esm/chunks/chunk.C72LM2AL.js +7 -0
  86. package/dist/esm/chunks/chunk.C72LM2AL.js.map +7 -0
  87. package/dist/esm/chunks/chunk.DGG5ABL3.js +7 -0
  88. package/dist/esm/chunks/{chunk.WARVAVAW.js.map → chunk.DGG5ABL3.js.map} +1 -1
  89. package/dist/esm/chunks/chunk.DPIWAXEW.js +7 -0
  90. package/dist/esm/chunks/{chunk.UOEJCU6R.js.map → chunk.DPIWAXEW.js.map} +1 -1
  91. package/dist/esm/chunks/chunk.E62ZPQSM.js +7 -0
  92. package/dist/esm/chunks/chunk.E62ZPQSM.js.map +7 -0
  93. package/dist/esm/chunks/chunk.ECJBVX3D.js +7 -0
  94. package/dist/esm/chunks/{chunk.DLBAZD5X.js.map → chunk.ECJBVX3D.js.map} +1 -1
  95. package/dist/esm/chunks/chunk.EN2HVFJ4.js +7 -0
  96. package/dist/esm/chunks/chunk.EN2HVFJ4.js.map +7 -0
  97. package/dist/esm/chunks/chunk.EPRRK33O.js +7 -0
  98. package/dist/esm/chunks/chunk.EPRRK33O.js.map +7 -0
  99. package/dist/esm/chunks/chunk.ETDUW5K2.js +7 -0
  100. package/dist/esm/chunks/{chunk.FSILMO6U.js.map → chunk.ETDUW5K2.js.map} +1 -1
  101. package/dist/esm/chunks/chunk.EWFNM4WO.js +7 -0
  102. package/dist/esm/chunks/chunk.EWFNM4WO.js.map +7 -0
  103. package/dist/esm/chunks/{chunk.U7S4DJTU.js → chunk.FGHSNC2V.js} +2 -2
  104. package/dist/esm/chunks/chunk.FPRBYGET.js +7 -0
  105. package/dist/esm/chunks/{chunk.LK6QHLW2.js.map → chunk.FPRBYGET.js.map} +1 -1
  106. package/dist/esm/chunks/chunk.FQVR2QNF.js +7 -0
  107. package/dist/esm/chunks/{chunk.X3QZY7V4.js.map → chunk.FQVR2QNF.js.map} +1 -1
  108. package/dist/esm/chunks/chunk.FWWBFNQA.js +7 -0
  109. package/dist/esm/chunks/{chunk.O6F4U4VY.js.map → chunk.FWWBFNQA.js.map} +1 -1
  110. package/dist/esm/chunks/{chunk.URKQICJD.js → chunk.FZELFLPE.js} +2 -2
  111. package/dist/esm/chunks/chunk.FZZUNYH5.js +7 -0
  112. package/dist/esm/chunks/{chunk.5QZPUOGG.js.map → chunk.FZZUNYH5.js.map} +1 -1
  113. package/dist/esm/chunks/chunk.GHMAI3SM.js +15 -0
  114. package/dist/esm/chunks/chunk.GHMAI3SM.js.map +7 -0
  115. package/dist/esm/chunks/{chunk.5EGEZ4IY.js → chunk.GLUKTMQU.js} +2 -2
  116. package/dist/esm/chunks/chunk.GTBCTNMI.js +7 -0
  117. package/dist/esm/chunks/{chunk.ICIGXLJW.js.map → chunk.GTBCTNMI.js.map} +1 -1
  118. package/dist/esm/chunks/chunk.GTGXHY4A.js +7 -0
  119. package/dist/esm/chunks/chunk.GTGXHY4A.js.map +7 -0
  120. package/dist/esm/chunks/chunk.GURV4TDZ.js +7 -0
  121. package/dist/esm/chunks/{chunk.TSUAFZGY.js.map → chunk.GURV4TDZ.js.map} +1 -1
  122. package/dist/esm/chunks/chunk.H6MMHAQI.js +15 -0
  123. package/dist/esm/chunks/chunk.H6MMHAQI.js.map +7 -0
  124. package/dist/esm/chunks/chunk.HJUFU2PV.js +7 -0
  125. package/dist/esm/chunks/{chunk.RCPUTZON.js.map → chunk.HJUFU2PV.js.map} +2 -2
  126. package/dist/esm/chunks/chunk.HPCXVNG6.js +7 -0
  127. package/dist/esm/chunks/{chunk.CZOABXEQ.js.map → chunk.HPCXVNG6.js.map} +3 -3
  128. package/dist/esm/chunks/chunk.IA27LU2O.js +7 -0
  129. package/dist/esm/chunks/{chunk.JEZR25US.js.map → chunk.IA27LU2O.js.map} +1 -1
  130. package/dist/esm/chunks/chunk.INQZNXG6.js +7 -0
  131. package/dist/esm/chunks/chunk.INQZNXG6.js.map +7 -0
  132. package/dist/esm/chunks/chunk.IO3TM653.js +7 -0
  133. package/dist/esm/chunks/chunk.IO3TM653.js.map +7 -0
  134. package/dist/esm/chunks/chunk.JXJVPJRO.js +177 -0
  135. package/dist/esm/chunks/{chunk.AVRBHXDT.js.map → chunk.JXJVPJRO.js.map} +1 -1
  136. package/dist/esm/chunks/chunk.K3STAW42.js +7 -0
  137. package/dist/esm/chunks/{chunk.XQLQ73NG.js.map → chunk.K3STAW42.js.map} +1 -1
  138. package/dist/esm/chunks/chunk.KM5XYTE3.js +7 -0
  139. package/dist/esm/chunks/chunk.KM5XYTE3.js.map +7 -0
  140. package/dist/esm/chunks/chunk.KPC6IS3C.js +7 -0
  141. package/dist/esm/chunks/{chunk.OTUEB7SD.js.map → chunk.KPC6IS3C.js.map} +1 -1
  142. package/dist/esm/chunks/{chunk.PRJHBUU2.js → chunk.KPNGLSCU.js} +1 -1
  143. package/dist/esm/chunks/chunk.KPNGLSCU.js.map +7 -0
  144. package/dist/esm/chunks/chunk.KV7PGQJ7.js +7 -0
  145. package/dist/esm/chunks/{chunk.KR4BNI6X.js.map → chunk.KV7PGQJ7.js.map} +1 -1
  146. package/dist/esm/chunks/chunk.LCS2O4Y7.js +7 -0
  147. package/dist/esm/chunks/chunk.LCS2O4Y7.js.map +7 -0
  148. package/dist/esm/chunks/chunk.M4KCRUKW.js +7 -0
  149. package/dist/esm/chunks/chunk.M4KCRUKW.js.map +7 -0
  150. package/dist/esm/chunks/{chunk.IHIKIZIT.js → chunk.M5JGYRH4.js} +2 -2
  151. package/dist/esm/chunks/{chunk.O6MGA3XK.js → chunk.N75VD4S4.js} +2 -2
  152. package/dist/esm/chunks/chunk.NHOGZDLN.js +7 -0
  153. package/dist/esm/chunks/chunk.NHOGZDLN.js.map +7 -0
  154. package/dist/esm/chunks/chunk.NKEAMFO4.js +7 -0
  155. package/dist/esm/chunks/{chunk.KUNIEX72.js.map → chunk.NKEAMFO4.js.map} +1 -1
  156. package/dist/esm/chunks/{chunk.KDJZN6EW.js → chunk.NW54VA4E.js} +2 -2
  157. package/dist/esm/chunks/chunk.OJGPKHHC.js +7 -0
  158. package/dist/esm/chunks/{chunk.EMCY55MX.js.map → chunk.OJGPKHHC.js.map} +2 -2
  159. package/dist/esm/chunks/chunk.OSCODMUG.js +7 -0
  160. package/dist/esm/chunks/chunk.OSCODMUG.js.map +7 -0
  161. package/dist/esm/chunks/chunk.OT3JZ6JO.js +7 -0
  162. package/dist/esm/chunks/{chunk.7PVVZC7P.js.map → chunk.OT3JZ6JO.js.map} +3 -3
  163. package/dist/esm/chunks/{chunk.BAQYPAUM.js → chunk.OXVCCHM5.js} +2 -2
  164. package/dist/esm/chunks/chunk.P5XHGSJY.js +7 -0
  165. package/dist/esm/chunks/{chunk.5FCUOZSU.js.map → chunk.P5XHGSJY.js.map} +1 -1
  166. package/dist/esm/chunks/chunk.Q5YXX4DU.js +7 -0
  167. package/dist/esm/chunks/{chunk.ZIRA4PYV.js.map → chunk.Q5YXX4DU.js.map} +1 -1
  168. package/dist/esm/chunks/{chunk.MHH26REX.js → chunk.QKTNCOVX.js} +2 -2
  169. package/dist/esm/chunks/chunk.QZ57WM3D.js +7 -0
  170. package/dist/esm/chunks/{chunk.Q2Q626DG.js.map → chunk.QZ57WM3D.js.map} +1 -1
  171. package/dist/esm/chunks/chunk.R2QENXIL.js +7 -0
  172. package/dist/esm/chunks/{chunk.LYZXJYTW.js.map → chunk.R2QENXIL.js.map} +1 -1
  173. package/dist/esm/chunks/chunk.R53VHVKB.js +12 -0
  174. package/dist/esm/chunks/chunk.R53VHVKB.js.map +7 -0
  175. package/dist/esm/chunks/{chunk.42YDA5FH.js → chunk.RDQ3QGWS.js} +2 -2
  176. package/dist/esm/chunks/chunk.RFKKHN7V.js +7 -0
  177. package/dist/esm/chunks/{chunk.KGHABAFA.js.map → chunk.RFKKHN7V.js.map} +1 -1
  178. package/dist/esm/chunks/{chunk.AR6YUJUH.js → chunk.RKG66YKS.js} +2 -2
  179. package/dist/esm/chunks/chunk.RRNSZCVJ.js +7 -0
  180. package/dist/esm/chunks/{chunk.T4J66YX5.js.map → chunk.RRNSZCVJ.js.map} +4 -4
  181. package/dist/esm/chunks/chunk.S32JKL3M.js +7 -0
  182. package/dist/esm/chunks/chunk.S32JKL3M.js.map +7 -0
  183. package/dist/esm/chunks/chunk.SJQPD3CO.js +7 -0
  184. package/dist/esm/chunks/chunk.SJQPD3CO.js.map +7 -0
  185. package/dist/esm/chunks/chunk.T235SNYZ.js +7 -0
  186. package/dist/esm/chunks/{chunk.CBY7M4X6.js.map → chunk.T235SNYZ.js.map} +1 -1
  187. package/dist/esm/chunks/chunk.T4N7KZHZ.js +7 -0
  188. package/dist/esm/chunks/chunk.T4N7KZHZ.js.map +7 -0
  189. package/dist/esm/chunks/chunk.TE6ZNUAM.js +7 -0
  190. package/dist/esm/chunks/{chunk.JZ27GPZJ.js.map → chunk.TE6ZNUAM.js.map} +2 -2
  191. package/dist/esm/chunks/{chunk.WMP2OLMG.js → chunk.TNEUDWZU.js} +2 -2
  192. package/dist/esm/chunks/{chunk.WMP2OLMG.js.map → chunk.TNEUDWZU.js.map} +2 -2
  193. package/dist/esm/chunks/{chunk.BTWJPE4Y.js → chunk.TZ67MC2N.js} +2 -2
  194. package/{styles/focus-indicator/_configuration.scss → dist/esm/chunks/chunk.U6FJJGO3.js} +1 -5
  195. package/dist/esm/chunks/chunk.U6FJJGO3.js.map +7 -0
  196. package/dist/esm/chunks/chunk.V3IHX6B2.js +7 -0
  197. package/dist/esm/chunks/{chunk.GGQL3OZB.js.map → chunk.V3IHX6B2.js.map} +1 -1
  198. package/dist/esm/chunks/chunk.V564JB6A.js +7 -0
  199. package/dist/esm/chunks/chunk.V564JB6A.js.map +7 -0
  200. package/dist/esm/chunks/{chunk.7LOMI6J3.js → chunk.VGIZJ32U.js} +2 -2
  201. package/dist/esm/chunks/chunk.VZTV4GXC.js +7 -0
  202. package/dist/esm/chunks/chunk.VZTV4GXC.js.map +7 -0
  203. package/dist/esm/chunks/chunk.W5TDBDVY.js +7 -0
  204. package/dist/esm/chunks/{chunk.BIVQ4GTK.js.map → chunk.W5TDBDVY.js.map} +1 -1
  205. package/dist/esm/chunks/chunk.WA2YP4NC.js +7 -0
  206. package/dist/esm/chunks/{chunk.MROUV35N.js.map → chunk.WA2YP4NC.js.map} +1 -1
  207. package/dist/esm/chunks/{chunk.U42I3PGF.js → chunk.WFQYTXCB.js} +2 -2
  208. package/dist/esm/chunks/chunk.WNH7EHZP.js +7 -0
  209. package/dist/esm/chunks/{chunk.FQUZWINF.js.map → chunk.WNH7EHZP.js.map} +2 -2
  210. package/dist/esm/chunks/{chunk.KWBYYSH3.js → chunk.WQHKUNR7.js} +2 -2
  211. package/dist/esm/chunks/chunk.WYSUQK6Z.js +7 -0
  212. package/dist/esm/chunks/{chunk.L27ANAIL.js.map → chunk.WYSUQK6Z.js.map} +2 -2
  213. package/dist/esm/chunks/{chunk.NBLL7VAA.js → chunk.X57DRPFB.js} +2 -2
  214. package/dist/esm/chunks/{chunk.L45HXBDS.js → chunk.X7YTDVNT.js} +2 -2
  215. package/dist/esm/chunks/chunk.XBFH6M72.js +7 -0
  216. package/dist/esm/chunks/{chunk.FXGY5IVK.js.map → chunk.XBFH6M72.js.map} +2 -2
  217. package/dist/esm/chunks/chunk.XOH2JCRS.js +7 -0
  218. package/dist/esm/chunks/{chunk.AEO2X5OZ.js.map → chunk.XOH2JCRS.js.map} +1 -1
  219. package/dist/esm/chunks/chunk.Y6D5Z56X.js +7 -0
  220. package/dist/esm/chunks/{chunk.3KEXRSB5.js.map → chunk.Y6D5Z56X.js.map} +2 -2
  221. package/dist/esm/chunks/chunk.YBPAGWVG.js +7 -0
  222. package/dist/esm/chunks/chunk.YBPAGWVG.js.map +7 -0
  223. package/dist/esm/chunks/chunk.YWDYBX3G.js +7 -0
  224. package/dist/esm/chunks/chunk.YWDYBX3G.js.map +7 -0
  225. package/dist/esm/chunks/chunk.ZHMV5SR4.js +7 -0
  226. package/dist/esm/chunks/{chunk.Z37CZMMR.js.map → chunk.ZHMV5SR4.js.map} +1 -1
  227. package/dist/esm/chunks/chunk.ZLACSRD4.js +7 -0
  228. package/dist/esm/chunks/{chunk.WJCZJ6XD.js.map → chunk.ZLACSRD4.js.map} +1 -1
  229. package/dist/esm/chunks/chunk.ZPVRRFT7.js +7 -0
  230. package/dist/esm/chunks/{chunk.W7BP2DDU.js.map → chunk.ZPVRRFT7.js.map} +2 -2
  231. package/dist/esm/chunks/chunk.ZS3T6MJS.js +7 -0
  232. package/dist/esm/chunks/{chunk.YA5OQD37.js.map → chunk.ZS3T6MJS.js.map} +2 -2
  233. package/dist/esm/chunks/chunk.ZUTQPJ2B.js +7 -0
  234. package/dist/esm/chunks/{chunk.Q74SG6BV.js.map → chunk.ZUTQPJ2B.js.map} +1 -1
  235. package/dist/esm/chunks/chunk.ZWIEYVZC.js +7 -0
  236. package/dist/esm/chunks/chunk.ZWIEYVZC.js.map +7 -0
  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.ZYCKD6K5.js +7 -0
  240. package/dist/esm/chunks/{chunk.447QNYAZ.js.map → chunk.ZYCKD6K5.js.map} +1 -1
  241. package/dist/esm/circular-progress/index.js +1 -1
  242. package/dist/esm/color-picker/index.js +1 -1
  243. package/dist/esm/core/base/index.js +1 -1
  244. package/dist/esm/core/index.js +1 -1
  245. package/dist/esm/core/utils/index.js +1 -1
  246. package/dist/esm/date-picker/index.js +1 -1
  247. package/dist/esm/date-range-picker/index.js +1 -1
  248. package/dist/esm/dialog/index.js +1 -1
  249. package/dist/esm/divider/index.js +1 -1
  250. package/dist/esm/drawer/base/index.js +1 -1
  251. package/dist/esm/drawer/drawer/index.js +1 -1
  252. package/dist/esm/drawer/index.js +1 -1
  253. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  254. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  255. package/dist/esm/expansion-panel/index.js +1 -1
  256. package/dist/esm/file-picker/index.js +1 -1
  257. package/dist/esm/floating-action-button/index.js +1 -1
  258. package/dist/esm/floating-label/index.js +1 -1
  259. package/dist/esm/focus-indicator/index.js +1 -1
  260. package/dist/esm/icon/index.js +1 -1
  261. package/dist/esm/icon-button/index.js +1 -1
  262. package/dist/esm/index.js +1 -1
  263. package/dist/esm/inline-message/index.js +1 -1
  264. package/dist/esm/keyboard-shortcut/index.js +1 -1
  265. package/dist/esm/label/index.js +1 -1
  266. package/dist/esm/label-value/index.js +1 -1
  267. package/dist/esm/linear-progress/index.js +1 -1
  268. package/dist/esm/list/index.js +1 -1
  269. package/dist/esm/list/list/index.js +1 -1
  270. package/dist/esm/list/list-item/index.js +1 -1
  271. package/dist/esm/list-dropdown/index.js +1 -1
  272. package/dist/esm/menu/index.js +1 -1
  273. package/dist/esm/open-icon/index.js +1 -1
  274. package/dist/esm/overlay/index.js +7 -0
  275. package/dist/esm/overlay/index.js.map +7 -0
  276. package/dist/esm/page-state/index.js +1 -1
  277. package/dist/esm/paginator/index.js +1 -1
  278. package/dist/esm/popover/index.js +7 -0
  279. package/dist/esm/popover/index.js.map +7 -0
  280. package/dist/esm/popup/index.js +1 -1
  281. package/dist/esm/product-icon/index.js +1 -1
  282. package/dist/esm/profile-card/index.js +1 -1
  283. package/dist/esm/quantity-field/index.js +1 -1
  284. package/dist/esm/radio/index.js +1 -1
  285. package/dist/esm/radio/radio/index.js +1 -1
  286. package/dist/esm/radio/radio-group/index.js +1 -1
  287. package/dist/esm/ripple/index.js +1 -1
  288. package/dist/esm/scaffold/index.js +1 -1
  289. package/dist/esm/select/core/index.js +1 -1
  290. package/dist/esm/select/index.js +1 -1
  291. package/dist/esm/select/option/index.js +1 -1
  292. package/dist/esm/select/option-group/index.js +1 -1
  293. package/dist/esm/select/select/index.js +1 -1
  294. package/dist/esm/select/select-dropdown/index.js +1 -1
  295. package/dist/esm/skeleton/index.js +1 -1
  296. package/dist/esm/slider/index.js +1 -1
  297. package/dist/esm/split-button/index.js +1 -1
  298. package/dist/esm/split-view/index.js +1 -1
  299. package/dist/esm/split-view/split-view/index.js +1 -1
  300. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  301. package/dist/esm/stack/index.js +1 -1
  302. package/dist/esm/state-layer/index.js +1 -1
  303. package/dist/esm/stepper/index.js +1 -1
  304. package/dist/esm/stepper/step/index.js +1 -1
  305. package/dist/esm/stepper/stepper/index.js +1 -1
  306. package/dist/esm/switch/index.js +1 -1
  307. package/dist/esm/table/index.js +1 -1
  308. package/dist/esm/tabs/index.js +1 -1
  309. package/dist/esm/tabs/tab/index.js +1 -1
  310. package/dist/esm/tabs/tab-bar/index.js +1 -1
  311. package/dist/esm/text-field/index.js +1 -1
  312. package/dist/esm/time-picker/index.js +1 -1
  313. package/dist/esm/toast/index.js +1 -1
  314. package/dist/esm/toolbar/index.js +1 -1
  315. package/dist/esm/tooltip/index.js +1 -1
  316. package/dist/esm/view-switcher/index.js +1 -1
  317. package/dist/esm/view-switcher/view/index.js +1 -1
  318. package/dist/forge-dark.css +1 -1
  319. package/dist/forge.css +1 -1
  320. package/dist/theme/forge-theme.css +1 -1
  321. package/esm/app-bar/help-button/app-bar-help-button-adapter.js +3 -3
  322. package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
  323. package/esm/app-bar/menu-button/app-bar-menu-button.js +4 -4
  324. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +3 -3
  325. package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
  326. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +3 -3
  327. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +1 -0
  328. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  329. package/esm/banner/banner.js +1 -1
  330. package/esm/button/base/base-button-adapter.d.ts +0 -3
  331. package/esm/button/base/base-button-adapter.js +5 -14
  332. package/esm/button/base/base-button-constants.d.ts +28 -28
  333. package/esm/button/base/base-button-foundation.d.ts +0 -2
  334. package/esm/button/base/base-button-foundation.js +1 -4
  335. package/esm/button/base/base-button.d.ts +8 -6
  336. package/esm/button/base/base-button.js +19 -15
  337. package/esm/button/button.js +2 -2
  338. package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +6 -14
  339. package/esm/button-toggle/button-toggle/button-toggle-adapter.js +19 -45
  340. package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +11 -15
  341. package/esm/button-toggle/button-toggle/button-toggle-constants.js +6 -17
  342. package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +18 -12
  343. package/esm/button-toggle/button-toggle/button-toggle-foundation.js +74 -30
  344. package/esm/button-toggle/button-toggle/button-toggle.d.ts +67 -14
  345. package/esm/button-toggle/button-toggle/button-toggle.js +82 -29
  346. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +7 -13
  347. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +26 -91
  348. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +20 -11
  349. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +8 -2
  350. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +20 -12
  351. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +101 -97
  352. package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +75 -9
  353. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +134 -25
  354. package/esm/calendar/calendar-dom-utils.js +1 -2
  355. package/esm/calendar/calendar-foundation.d.ts +1 -1
  356. package/esm/calendar/calendar-foundation.js +13 -16
  357. package/esm/checkbox/checkbox.js +1 -1
  358. package/esm/circular-progress/circular-progress-adapter.js +8 -12
  359. package/esm/circular-progress/circular-progress.d.ts +7 -3
  360. package/esm/circular-progress/circular-progress.js +4 -2
  361. package/esm/color-picker/color-picker.js +1 -1
  362. package/esm/constants.d.ts +1 -0
  363. package/esm/constants.js +2 -0
  364. package/esm/core/base/base-adapter.d.ts +2 -0
  365. package/esm/core/base/base-adapter.js +7 -4
  366. package/esm/core/base/index.d.ts +0 -4
  367. package/esm/core/base/index.js +0 -4
  368. package/esm/core/{base/base-focusable-component.d.ts → mixins/focus/with-focusable.d.ts} +2 -2
  369. package/esm/core/{base/base-focusable-component.js → mixins/focus/with-focusable.js} +1 -1
  370. package/esm/core/{base/base-form-associated-component.d.ts → mixins/form/with-form-associated.d.ts} +4 -10
  371. package/esm/core/{base/base-form-associated-component.js → mixins/form/with-form-associated.js} +1 -1
  372. package/esm/core/mixins/form/with-form-validity.d.ts +35 -0
  373. package/esm/core/mixins/form/with-form-validity.js +43 -0
  374. package/esm/core/mixins/interactions/longpress/with-longpress-listener.d.ts +33 -0
  375. package/esm/core/mixins/interactions/longpress/with-longpress-listener.js +82 -0
  376. package/esm/core/mixins/internals/with-default-aria.d.ts +32 -0
  377. package/esm/core/mixins/internals/with-default-aria.js +22 -0
  378. package/esm/core/mixins/internals/with-element-internals.d.ts +26 -0
  379. package/esm/core/mixins/internals/with-element-internals.js +22 -0
  380. package/esm/core/{base/base-label-aware-component.d.ts → mixins/label/with-label-aware.d.ts} +2 -2
  381. package/esm/core/utils/a11y-utils.d.ts +4 -34
  382. package/esm/core/utils/a11y-utils.js +7 -61
  383. package/esm/core/utils/deferred.d.ts +29 -0
  384. package/esm/core/utils/deferred.js +32 -0
  385. package/esm/core/utils/dismissible-stack.d.ts +74 -0
  386. package/esm/core/utils/dismissible-stack.js +133 -0
  387. package/esm/core/utils/feature-detection.d.ts +5 -0
  388. package/esm/core/utils/feature-detection.js +12 -3
  389. package/esm/core/utils/form-utils.d.ts +1 -1
  390. package/esm/core/utils/position-utils.d.ts +78 -0
  391. package/esm/core/utils/position-utils.js +197 -0
  392. package/esm/core/utils/utils.d.ts +14 -0
  393. package/esm/core/utils/utils.js +25 -7
  394. package/esm/date-range-picker/date-range-picker-foundation.d.ts +1 -0
  395. package/esm/date-range-picker/date-range-picker-foundation.js +4 -0
  396. package/esm/dialog/dialog-constants.d.ts +1 -0
  397. package/esm/dialog/dialog-constants.js +2 -1
  398. package/esm/dialog/dialog-foundation.js +3 -6
  399. package/esm/dialog/dialog.js +1 -1
  400. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  401. package/esm/expansion-panel/expansion-panel-adapter.js +0 -5
  402. package/esm/floating-action-button/floating-action-button.js +1 -1
  403. package/esm/icon-button/icon-button-component-delegate.js +1 -1
  404. package/esm/icon-button/icon-button.js +1 -1
  405. package/esm/index.d.ts +2 -0
  406. package/esm/index.js +7 -1
  407. package/esm/label/label-adapter.js +3 -3
  408. package/esm/label/label-constants.d.ts +1 -1
  409. package/esm/label/label-constants.js +3 -1
  410. package/esm/linear-progress/linear-progress-adapter.js +13 -12
  411. package/esm/linear-progress/linear-progress-constants.d.ts +6 -0
  412. package/esm/linear-progress/linear-progress-constants.js +4 -2
  413. package/esm/linear-progress/linear-progress-foundation.js +2 -1
  414. package/esm/linear-progress/linear-progress.d.ts +7 -3
  415. package/esm/linear-progress/linear-progress.js +8 -11
  416. package/esm/list/list/list.js +1 -1
  417. package/esm/list/list-item/list-item.js +1 -1
  418. package/esm/menu/menu.js +1 -5
  419. package/esm/open-icon/open-icon.js +2 -2
  420. package/esm/overlay/base/base-overlay-foundation.d.ts +50 -0
  421. package/esm/overlay/base/base-overlay-foundation.js +11 -0
  422. package/esm/overlay/base/base-overlay.d.ts +49 -0
  423. package/esm/overlay/base/base-overlay.js +106 -0
  424. package/esm/overlay/base/overlay-aware-adapter.d.ts +17 -0
  425. package/esm/overlay/base/overlay-aware-adapter.js +15 -0
  426. package/esm/overlay/base/overlay-aware-foundation.d.ts +53 -0
  427. package/esm/overlay/base/overlay-aware-foundation.js +158 -0
  428. package/esm/overlay/base/overlay-aware.d.ts +36 -0
  429. package/esm/overlay/base/overlay-aware.js +102 -0
  430. package/esm/overlay/index.d.ts +10 -0
  431. package/esm/overlay/index.js +14 -0
  432. package/esm/overlay/mixins/with-overlay-aware.d.ts +105 -0
  433. package/esm/overlay/mixins/with-overlay-aware.js +152 -0
  434. package/esm/overlay/overlay-adapter.d.ts +54 -0
  435. package/esm/overlay/overlay-adapter.js +182 -0
  436. package/esm/overlay/overlay-constants.d.ts +71 -0
  437. package/esm/overlay/overlay-constants.js +48 -0
  438. package/esm/overlay/overlay-foundation.d.ts +76 -0
  439. package/esm/overlay/overlay-foundation.js +288 -0
  440. package/esm/overlay/overlay.d.ts +90 -0
  441. package/esm/overlay/overlay.js +105 -0
  442. package/esm/paginator/paginator.js +1 -1
  443. package/esm/popover/index.d.ts +10 -0
  444. package/esm/popover/index.js +14 -0
  445. package/esm/popover/popover-adapter.d.ts +46 -0
  446. package/esm/popover/popover-adapter.js +105 -0
  447. package/esm/popover/popover-constants.d.ts +42 -0
  448. package/esm/popover/popover-constants.js +42 -0
  449. package/esm/popover/popover-foundation.d.ts +139 -0
  450. package/esm/popover/popover-foundation.js +458 -0
  451. package/esm/popover/popover.d.ts +96 -0
  452. package/esm/popover/popover.js +147 -0
  453. package/esm/popup/popup-constants.d.ts +1 -1
  454. package/esm/profile-card/profile-card.js +1 -1
  455. package/esm/radio/core/radio-group-manager.js +1 -1
  456. package/esm/radio/radio/radio-adapter.js +4 -10
  457. package/esm/radio/radio/radio-constants.d.ts +0 -2
  458. package/esm/radio/radio/radio-constants.js +1 -14
  459. package/esm/radio/radio/radio.d.ts +8 -3
  460. package/esm/radio/radio/radio.js +10 -8
  461. package/esm/radio/radio-group/radio-group-adapter.js +1 -3
  462. package/esm/radio/radio-group/radio-group-constants.d.ts +0 -2
  463. package/esm/radio/radio-group/radio-group-constants.js +1 -6
  464. package/esm/radio/radio-group/radio-group.d.ts +6 -3
  465. package/esm/radio/radio-group/radio-group.js +5 -3
  466. package/esm/slider/slider.d.ts +2 -2
  467. package/esm/slider/slider.js +2 -2
  468. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  469. package/esm/state-layer/state-layer-foundation.js +9 -10
  470. package/esm/switch/switch.js +1 -1
  471. package/esm/table/table-utils.js +2 -3
  472. package/esm/tabs/tab/tab.js +1 -1
  473. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +1 -1
  474. package/esm/tabs/tab-bar/tab-bar-adapter.js +3 -3
  475. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +1 -1
  476. package/esm/tabs/tab-bar/tab-bar-constants.js +1 -1
  477. package/esm/tabs/tab-bar/tab-bar.js +2 -2
  478. package/esm/toast/toast-constants.d.ts +1 -1
  479. package/esm/toolbar/toolbar.js +1 -1
  480. package/esm/tooltip/index.d.ts +0 -1
  481. package/esm/tooltip/index.js +0 -1
  482. package/esm/tooltip/tooltip-adapter.d.ts +30 -60
  483. package/esm/tooltip/tooltip-adapter.js +105 -97
  484. package/esm/tooltip/tooltip-constants.d.ts +44 -21
  485. package/esm/tooltip/tooltip-constants.js +27 -22
  486. package/esm/tooltip/tooltip-foundation.d.ts +72 -84
  487. package/esm/tooltip/tooltip-foundation.js +265 -192
  488. package/esm/tooltip/tooltip.d.ts +93 -26
  489. package/esm/tooltip/tooltip.js +129 -31
  490. package/package.json +2 -4
  491. package/styles/app-bar/app-bar/_core.scss +2 -0
  492. package/styles/app-bar/app-bar/app-bar.scss +17 -17
  493. package/styles/app-bar/app-bar/index.scss +0 -2
  494. package/styles/app-bar/search/_core.scss +2 -0
  495. package/styles/app-bar/search/app-bar-search.scss +5 -6
  496. package/styles/app-bar/search/index.scss +0 -2
  497. package/styles/button/_core.scss +2 -0
  498. package/styles/button/button.scss +31 -25
  499. package/styles/button/index.scss +0 -2
  500. package/styles/button-toggle/button-toggle/_core.scss +78 -0
  501. package/styles/button-toggle/button-toggle/_token-utils.scss +30 -0
  502. package/styles/button-toggle/button-toggle/button-toggle.scss +65 -11
  503. package/styles/{app-bar/search/_configuration.scss → button-toggle/button-toggle/index.scss} +1 -5
  504. package/styles/button-toggle/button-toggle-group/_core.scss +62 -0
  505. package/styles/button-toggle/button-toggle-group/_token-utils.scss +30 -0
  506. package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +123 -3
  507. package/styles/button-toggle/button-toggle-group/index.scss +8 -0
  508. package/styles/checkbox/_core.scss +3 -0
  509. package/styles/checkbox/checkbox.scss +24 -26
  510. package/styles/checkbox/index.scss +0 -2
  511. package/styles/circular-progress/_core.scss +2 -0
  512. package/styles/circular-progress/circular-progress.scss +36 -27
  513. package/styles/circular-progress/index.scss +0 -2
  514. package/styles/core/styles/elevation/index.scss +1 -1
  515. package/styles/core/styles/tokens/_token-utils.scss +14 -5
  516. package/styles/core/styles/tokens/button/_tokens.scss +4 -4
  517. package/styles/core/styles/tokens/button-toggle/button-toggle/_tokens.scss +68 -0
  518. package/styles/core/styles/tokens/button-toggle/button-toggle-group/_tokens.scss +48 -0
  519. package/styles/core/styles/tokens/checkbox/_tokens.scss +6 -6
  520. package/styles/core/styles/tokens/floating-action-button/_tokens.scss +1 -1
  521. package/styles/core/styles/tokens/icon-button/_tokens.scss +3 -3
  522. package/styles/core/styles/tokens/overlay/_tokens.scss +23 -0
  523. package/styles/core/styles/tokens/popover/_tokens.scss +56 -0
  524. package/styles/core/styles/tokens/profile-card/_tokens.scss +1 -1
  525. package/styles/core/styles/tokens/radio/_tokens.scss +1 -1
  526. package/styles/core/styles/tokens/switch/_tokens.scss +3 -3
  527. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +5 -5
  528. package/styles/core/styles/tokens/theme/_token-utils.scss +12 -11
  529. package/styles/core/styles/tokens/theme/_tokens.surface.scss +3 -0
  530. package/styles/core/styles/tokens/theme/_tokens.text.scss +4 -4
  531. package/styles/core/styles/tokens/theme/_tokens.utilities.scss +3 -0
  532. package/styles/core/styles/tokens/tooltip/_tokens.scss +53 -0
  533. package/styles/dialog/_mixins.scss +1 -1
  534. package/styles/drawer/mini-drawer/_mixins.scss +0 -2
  535. package/styles/floating-action-button/_core.scss +2 -0
  536. package/styles/floating-action-button/floating-action-button.scss +14 -14
  537. package/styles/floating-action-button/index.scss +0 -2
  538. package/styles/focus-indicator/_core.scss +2 -0
  539. package/styles/focus-indicator/focus-indicator.scss +7 -8
  540. package/styles/focus-indicator/index.scss +0 -2
  541. package/styles/forge.scss +0 -1
  542. package/styles/icon-button/_core.scss +2 -0
  543. package/styles/icon-button/icon-button.scss +29 -28
  544. package/styles/icon-button/index.scss +0 -2
  545. package/styles/label/label.scss +2 -2
  546. package/styles/linear-progress/_core.scss +2 -0
  547. package/styles/linear-progress/index.scss +0 -2
  548. package/styles/linear-progress/linear-progress.scss +29 -18
  549. package/styles/list/list/_core.scss +2 -0
  550. package/styles/list/list/index.scss +0 -2
  551. package/styles/list/list/list.scss +4 -4
  552. package/styles/list/list-item/_core.scss +2 -0
  553. package/styles/list/list-item/index.scss +0 -2
  554. package/styles/list/list-item/list-item.scss +50 -44
  555. package/styles/overlay/_core.scss +46 -0
  556. package/styles/overlay/_token-utils.scss +31 -0
  557. package/styles/{checkbox/_configuration.scss → overlay/index.scss} +1 -5
  558. package/styles/overlay/overlay.scss +66 -0
  559. package/styles/popover/_animations.scss +36 -0
  560. package/styles/popover/_core.scss +56 -0
  561. package/styles/popover/_token-utils.scss +31 -0
  562. package/styles/{list/list/_configuration.scss → popover/index.scss} +1 -5
  563. package/styles/popover/popover.scss +254 -0
  564. package/styles/profile-card/_core.scss +2 -0
  565. package/styles/profile-card/index.scss +0 -2
  566. package/styles/profile-card/profile-card.scss +9 -11
  567. package/styles/radio/radio/_core.scss +3 -0
  568. package/styles/radio/radio/index.scss +0 -2
  569. package/styles/radio/radio/radio.scss +12 -15
  570. package/styles/slider/_core.scss +2 -0
  571. package/styles/slider/index.scss +0 -2
  572. package/styles/slider/slider.scss +45 -41
  573. package/styles/split-button/index.scss +0 -1
  574. package/styles/split-button/split-button.scss +3 -2
  575. package/styles/state-layer/_core.scss +3 -2
  576. package/styles/state-layer/index.scss +0 -2
  577. package/styles/state-layer/state-layer.scss +7 -8
  578. package/styles/switch/_core.scss +3 -0
  579. package/styles/switch/index.scss +0 -2
  580. package/styles/switch/switch.scss +28 -30
  581. package/styles/tabs/tab/_core.scss +2 -0
  582. package/styles/tabs/tab/index.scss +0 -2
  583. package/styles/tabs/tab/tab.scss +27 -28
  584. package/styles/tabs/tab-bar/_core.scss +2 -0
  585. package/styles/tabs/tab-bar/index.scss +0 -2
  586. package/styles/tabs/tab-bar/tab-bar.scss +21 -23
  587. package/styles/theme/_theme-dark.scss +14 -2
  588. package/styles/theme/_theme-values.scss +2 -0
  589. package/styles/toolbar/_mixins.scss +2 -1
  590. package/styles/tooltip/_animations.scss +18 -0
  591. package/styles/tooltip/_core.scss +86 -0
  592. package/styles/tooltip/_token-utils.scss +31 -0
  593. package/styles/tooltip/index.scss +6 -0
  594. package/styles/tooltip/tooltip.scss +107 -0
  595. package/dist/esm/chunks/chunk.3KEXRSB5.js +0 -7
  596. package/dist/esm/chunks/chunk.3TKTJ3BY.js +0 -7
  597. package/dist/esm/chunks/chunk.3TKTJ3BY.js.map +0 -7
  598. package/dist/esm/chunks/chunk.447QNYAZ.js +0 -7
  599. package/dist/esm/chunks/chunk.4IMRT2B3.js +0 -7
  600. package/dist/esm/chunks/chunk.4JDJ33IU.js +0 -7
  601. package/dist/esm/chunks/chunk.4QCGBFLU.js +0 -7
  602. package/dist/esm/chunks/chunk.4QCGBFLU.js.map +0 -7
  603. package/dist/esm/chunks/chunk.4XN2WGMP.js +0 -7
  604. package/dist/esm/chunks/chunk.5FCUOZSU.js +0 -7
  605. package/dist/esm/chunks/chunk.5KYKGNGY.js +0 -7
  606. package/dist/esm/chunks/chunk.5QZPUOGG.js +0 -7
  607. package/dist/esm/chunks/chunk.5ZMM75CJ.js +0 -7
  608. package/dist/esm/chunks/chunk.5ZMM75CJ.js.map +0 -7
  609. package/dist/esm/chunks/chunk.6FUXTHO6.js +0 -7
  610. package/dist/esm/chunks/chunk.6ORVPXNN.js +0 -7
  611. package/dist/esm/chunks/chunk.6ORVPXNN.js.map +0 -7
  612. package/dist/esm/chunks/chunk.6ZJIHOIG.js +0 -7
  613. package/dist/esm/chunks/chunk.6ZJIHOIG.js.map +0 -7
  614. package/dist/esm/chunks/chunk.7PVVZC7P.js +0 -7
  615. package/dist/esm/chunks/chunk.AEO2X5OZ.js +0 -7
  616. package/dist/esm/chunks/chunk.AIPDMLJD.js +0 -7
  617. package/dist/esm/chunks/chunk.APFDK6YA.js +0 -7
  618. package/dist/esm/chunks/chunk.APFDK6YA.js.map +0 -7
  619. package/dist/esm/chunks/chunk.AVRBHXDT.js +0 -177
  620. package/dist/esm/chunks/chunk.BIVQ4GTK.js +0 -7
  621. package/dist/esm/chunks/chunk.BJD6BKGC.js +0 -31
  622. package/dist/esm/chunks/chunk.BJD6BKGC.js.map +0 -7
  623. package/dist/esm/chunks/chunk.BS73Y6IN.js +0 -7
  624. package/dist/esm/chunks/chunk.BWGDZUJV.js +0 -12
  625. package/dist/esm/chunks/chunk.BWGDZUJV.js.map +0 -7
  626. package/dist/esm/chunks/chunk.CBY7M4X6.js +0 -7
  627. package/dist/esm/chunks/chunk.CZOABXEQ.js +0 -7
  628. package/dist/esm/chunks/chunk.DLBAZD5X.js +0 -7
  629. package/dist/esm/chunks/chunk.DTWXICOY.js +0 -7
  630. package/dist/esm/chunks/chunk.DTWXICOY.js.map +0 -7
  631. package/dist/esm/chunks/chunk.EMCY55MX.js +0 -7
  632. package/dist/esm/chunks/chunk.ESQWFHCF.js +0 -7
  633. package/dist/esm/chunks/chunk.ESQWFHCF.js.map +0 -7
  634. package/dist/esm/chunks/chunk.FDZSLGIW.js +0 -7
  635. package/dist/esm/chunks/chunk.FDZSLGIW.js.map +0 -7
  636. package/dist/esm/chunks/chunk.FJ5VNWYK.js +0 -7
  637. package/dist/esm/chunks/chunk.FJ5VNWYK.js.map +0 -7
  638. package/dist/esm/chunks/chunk.FJRCWWE2.js +0 -7
  639. package/dist/esm/chunks/chunk.FJRCWWE2.js.map +0 -7
  640. package/dist/esm/chunks/chunk.FQUZWINF.js +0 -7
  641. package/dist/esm/chunks/chunk.FSILMO6U.js +0 -7
  642. package/dist/esm/chunks/chunk.FXGY5IVK.js +0 -7
  643. package/dist/esm/chunks/chunk.G67LO74A.js +0 -7
  644. package/dist/esm/chunks/chunk.G67LO74A.js.map +0 -7
  645. package/dist/esm/chunks/chunk.GGQL3OZB.js +0 -7
  646. package/dist/esm/chunks/chunk.I7OY43HW.js +0 -7
  647. package/dist/esm/chunks/chunk.I7OY43HW.js.map +0 -7
  648. package/dist/esm/chunks/chunk.I7X25KEB.js +0 -7
  649. package/dist/esm/chunks/chunk.I7X25KEB.js.map +0 -7
  650. package/dist/esm/chunks/chunk.ICIGXLJW.js +0 -7
  651. package/dist/esm/chunks/chunk.ILUXZNGY.js +0 -7
  652. package/dist/esm/chunks/chunk.ILUXZNGY.js.map +0 -7
  653. package/dist/esm/chunks/chunk.JEZR25US.js +0 -7
  654. package/dist/esm/chunks/chunk.JPI4XCQL.js +0 -7
  655. package/dist/esm/chunks/chunk.JPI4XCQL.js.map +0 -7
  656. package/dist/esm/chunks/chunk.JRSFCVYQ.js +0 -7
  657. package/dist/esm/chunks/chunk.JRSFCVYQ.js.map +0 -7
  658. package/dist/esm/chunks/chunk.JZ27GPZJ.js +0 -7
  659. package/dist/esm/chunks/chunk.K3TJMIKD.js +0 -7
  660. package/dist/esm/chunks/chunk.K3TJMIKD.js.map +0 -7
  661. package/dist/esm/chunks/chunk.KGHABAFA.js +0 -7
  662. package/dist/esm/chunks/chunk.KR4BNI6X.js +0 -7
  663. package/dist/esm/chunks/chunk.KUNIEX72.js +0 -7
  664. package/dist/esm/chunks/chunk.L27ANAIL.js +0 -7
  665. package/dist/esm/chunks/chunk.L4UXWCVD.js +0 -7
  666. package/dist/esm/chunks/chunk.L4UXWCVD.js.map +0 -7
  667. package/dist/esm/chunks/chunk.LK6QHLW2.js +0 -7
  668. package/dist/esm/chunks/chunk.LYZXJYTW.js +0 -7
  669. package/dist/esm/chunks/chunk.LZ2YQYJA.js +0 -7
  670. package/dist/esm/chunks/chunk.LZ2YQYJA.js.map +0 -7
  671. package/dist/esm/chunks/chunk.MROUV35N.js +0 -7
  672. package/dist/esm/chunks/chunk.NM7FJISF.js +0 -7
  673. package/dist/esm/chunks/chunk.NM7FJISF.js.map +0 -7
  674. package/dist/esm/chunks/chunk.NVR6KN2B.js +0 -7
  675. package/dist/esm/chunks/chunk.O6F4U4VY.js +0 -7
  676. package/dist/esm/chunks/chunk.ONII3BV3.js +0 -7
  677. package/dist/esm/chunks/chunk.OTUEB7SD.js +0 -7
  678. package/dist/esm/chunks/chunk.PMSCH6VK.js +0 -7
  679. package/dist/esm/chunks/chunk.PRJHBUU2.js.map +0 -7
  680. package/dist/esm/chunks/chunk.Q2Q626DG.js +0 -7
  681. package/dist/esm/chunks/chunk.Q4YL47ZL.js +0 -7
  682. package/dist/esm/chunks/chunk.Q4YL47ZL.js.map +0 -7
  683. package/dist/esm/chunks/chunk.Q54DACHS.js +0 -7
  684. package/dist/esm/chunks/chunk.Q74SG6BV.js +0 -7
  685. package/dist/esm/chunks/chunk.QGMWM7IT.js +0 -7
  686. package/dist/esm/chunks/chunk.QGMWM7IT.js.map +0 -7
  687. package/dist/esm/chunks/chunk.RCPUTZON.js +0 -7
  688. package/dist/esm/chunks/chunk.SBKKBQDX.js +0 -7
  689. package/dist/esm/chunks/chunk.SBKKBQDX.js.map +0 -7
  690. package/dist/esm/chunks/chunk.SVVF632P.js +0 -7
  691. package/dist/esm/chunks/chunk.SVVF632P.js.map +0 -7
  692. package/dist/esm/chunks/chunk.T4J66YX5.js +0 -7
  693. package/dist/esm/chunks/chunk.THNCYT3E.js +0 -7
  694. package/dist/esm/chunks/chunk.TSUAFZGY.js +0 -7
  695. package/dist/esm/chunks/chunk.UOEJCU6R.js +0 -7
  696. package/dist/esm/chunks/chunk.VG452D3L.js +0 -7
  697. package/dist/esm/chunks/chunk.VQPSP4HV.js +0 -7
  698. package/dist/esm/chunks/chunk.VQPSP4HV.js.map +0 -7
  699. package/dist/esm/chunks/chunk.W7BP2DDU.js +0 -7
  700. package/dist/esm/chunks/chunk.WARVAVAW.js +0 -7
  701. package/dist/esm/chunks/chunk.WEHQUUXJ.js +0 -7
  702. package/dist/esm/chunks/chunk.WEHQUUXJ.js.map +0 -7
  703. package/dist/esm/chunks/chunk.WJCZJ6XD.js +0 -7
  704. package/dist/esm/chunks/chunk.X3QZY7V4.js +0 -7
  705. package/dist/esm/chunks/chunk.XQLQ73NG.js +0 -7
  706. package/dist/esm/chunks/chunk.Y4ZS3A6F.js +0 -7
  707. package/dist/esm/chunks/chunk.YA5OQD37.js +0 -7
  708. package/dist/esm/chunks/chunk.YMSX4F3J.js +0 -7
  709. package/dist/esm/chunks/chunk.Z37CZMMR.js +0 -7
  710. package/dist/esm/chunks/chunk.ZIRA4PYV.js +0 -7
  711. package/dist/esm/chunks/chunk.ZT7U7WOX.js +0 -7
  712. package/dist/esm/chunks/chunk.ZX3CGET2.js +0 -7
  713. package/dist/esm/chunks/chunk.ZX3CGET2.js.map +0 -7
  714. package/dist/tooltip/forge-tooltip.css +0 -6
  715. package/esm/core/base/base-element-internals-component.d.ts +0 -41
  716. package/esm/core/base/base-element-internals-component.js +0 -47
  717. package/esm/tooltip/tooltip-utils.d.ts +0 -13
  718. package/esm/tooltip/tooltip-utils.js +0 -53
  719. package/styles/app-bar/app-bar/_configuration.scss +0 -16
  720. package/styles/button/_configuration.scss +0 -16
  721. package/styles/button-toggle/button-toggle/_mixins.scss +0 -117
  722. package/styles/button-toggle/button-toggle-group/_mixins.scss +0 -79
  723. package/styles/circular-progress/_configuration.scss +0 -16
  724. package/styles/floating-action-button/_configuration.scss +0 -16
  725. package/styles/icon-button/_configuration.scss +0 -16
  726. package/styles/linear-progress/_configuration.scss +0 -28
  727. package/styles/list/list-item/_configuration.scss +0 -16
  728. package/styles/radio/radio/_configuration.scss +0 -10
  729. package/styles/split-button/_configuration.scss +0 -12
  730. package/styles/state-layer/_configuration.scss +0 -10
  731. package/styles/switch/_configuration.scss +0 -10
  732. package/styles/tabs/tab/_configuration.scss +0 -27
  733. package/styles/tabs/tab-bar/_configuration.scss +0 -10
  734. package/styles/tooltip/_mixins.scss +0 -98
  735. package/styles/tooltip/_variables.scss +0 -18
  736. package/styles/tooltip/forge-tooltip.scss +0 -12
  737. /package/dist/esm/chunks/{chunk.MTSWCXTY.js.map → chunk.55D2BMXX.js.map} +0 -0
  738. /package/dist/esm/chunks/{chunk.BC7WB5RG.js.map → chunk.B53Q676I.js.map} +0 -0
  739. /package/dist/esm/chunks/{chunk.U7S4DJTU.js.map → chunk.FGHSNC2V.js.map} +0 -0
  740. /package/dist/esm/chunks/{chunk.URKQICJD.js.map → chunk.FZELFLPE.js.map} +0 -0
  741. /package/dist/esm/chunks/{chunk.5EGEZ4IY.js.map → chunk.GLUKTMQU.js.map} +0 -0
  742. /package/dist/esm/chunks/{chunk.IHIKIZIT.js.map → chunk.M5JGYRH4.js.map} +0 -0
  743. /package/dist/esm/chunks/{chunk.O6MGA3XK.js.map → chunk.N75VD4S4.js.map} +0 -0
  744. /package/dist/esm/chunks/{chunk.KDJZN6EW.js.map → chunk.NW54VA4E.js.map} +0 -0
  745. /package/dist/esm/chunks/{chunk.BAQYPAUM.js.map → chunk.OXVCCHM5.js.map} +0 -0
  746. /package/dist/esm/chunks/{chunk.MHH26REX.js.map → chunk.QKTNCOVX.js.map} +0 -0
  747. /package/dist/esm/chunks/{chunk.42YDA5FH.js.map → chunk.RDQ3QGWS.js.map} +0 -0
  748. /package/dist/esm/chunks/{chunk.AR6YUJUH.js.map → chunk.RKG66YKS.js.map} +0 -0
  749. /package/dist/esm/chunks/{chunk.BTWJPE4Y.js.map → chunk.TZ67MC2N.js.map} +0 -0
  750. /package/dist/esm/chunks/{chunk.7LOMI6J3.js.map → chunk.VGIZJ32U.js.map} +0 -0
  751. /package/dist/esm/chunks/{chunk.U42I3PGF.js.map → chunk.WFQYTXCB.js.map} +0 -0
  752. /package/dist/esm/chunks/{chunk.KWBYYSH3.js.map → chunk.WQHKUNR7.js.map} +0 -0
  753. /package/dist/esm/chunks/{chunk.NBLL7VAA.js.map → chunk.X57DRPFB.js.map} +0 -0
  754. /package/dist/esm/chunks/{chunk.L45HXBDS.js.map → chunk.X7YTDVNT.js.map} +0 -0
  755. /package/esm/core/{base/base-label-aware-component.js → mixins/label/with-label-aware.js} +0 -0
@@ -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;
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { FlipOptions, ShiftOptions, AutoPlacementOptions, HideOptions, Middleware, Placement, Strategy, OffsetOptions, MiddlewareData, ArrowOptions } from '@floating-ui/dom';
7
+ export type PositionPlacement = Placement;
8
+ export type PositionStrategy = Strategy;
9
+ export declare const DEFAULT_FALLBACK_PLACEMENTS: PositionPlacement[];
10
+ export interface IPositionElementResult {
11
+ x: number;
12
+ y: number;
13
+ hidden: boolean;
14
+ placement: PositionPlacement;
15
+ arrow?: MiddlewareData['arrow'];
16
+ }
17
+ export declare class VirtualElement {
18
+ x: number;
19
+ y: number;
20
+ height: number;
21
+ width: number;
22
+ constructor(x: number, y: number, height?: number, width?: number);
23
+ getBoundingClientRect(): DOMRect;
24
+ static fromElement(element: HTMLElement): VirtualElement;
25
+ static fromEvent(event: MouseEvent | TouchEvent): VirtualElement;
26
+ }
27
+ export interface IPositionElementConfig {
28
+ /** The element to apply position to. */
29
+ element: HTMLElement;
30
+ /** The anchor element to position `element` around. */
31
+ anchorElement: HTMLElement | VirtualElement;
32
+ /** The placement position. */
33
+ placement: PositionPlacement;
34
+ /** Whether the position values should be applied to the `element` or not. Default is `true`. */
35
+ apply?: boolean;
36
+ /** Should the element flip to the opposite placement when not enough room. */
37
+ flip?: boolean;
38
+ /** Options to provide to the flip middleware. */
39
+ flipOptions?: Partial<FlipOptions>;
40
+ /** Should the element stay visible at the same placement when scrolling. */
41
+ shift?: boolean;
42
+ /** Options to provide to the shift middleware. */
43
+ shiftOptions?: Partial<ShiftOptions>;
44
+ /** Should the element hide itself when the anchor element is out of the view. */
45
+ hide?: boolean;
46
+ /** Options to provide to the hide middleware. */
47
+ hideOptions?: Partial<HideOptions>;
48
+ /** Should the element automatically attempt to locate the best placement, */
49
+ auto?: boolean;
50
+ /** Options to provide to the autoPlacement middleware. */
51
+ autoOptions?: Partial<AutoPlacementOptions>;
52
+ /** Should any offset values be applied to the element. */
53
+ offset?: boolean;
54
+ /** The options provide to the offset middleware. */
55
+ offsetOptions?: Partial<OffsetOptions>;
56
+ /** The element to use as an arrow. */
57
+ arrowElement?: HTMLElement;
58
+ /** Options to provide to the arrow middleware. */
59
+ arrowOptions?: Partial<ArrowOptions>;
60
+ /** Should the top-layer middleware be applied or not. */
61
+ topLayer?: boolean;
62
+ /** The positioning strategy. */
63
+ strategy?: PositionStrategy;
64
+ /** Should positioning be applied using a `transform` style. */
65
+ transform?: boolean;
66
+ /** The CSS `translate` function to apply to the `transform`. Only applied when `transform` is `true`. */
67
+ translateFunction?: 'translate3d' | 'translate';
68
+ }
69
+ /**
70
+ * Calculates an elements position relative to another element.
71
+ * @param {IPositionElementConfig} config Configuration to provide when positioning the element.
72
+ * @returns {IPositionElementResult} The result of the positioning logic.
73
+ */
74
+ export declare function positionElementAsync({ element, anchorElement, placement, offset, offsetOptions, strategy, apply, flip, flipOptions, auto, autoOptions, shift, shiftOptions, hide, hideOptions, arrowElement, arrowOptions, topLayer, transform, translateFunction }: IPositionElementConfig): Promise<IPositionElementResult>;
75
+ /**
76
+ * Custom middleware to handle positioning when the element is on the top layer AND within a containing block.
77
+ */
78
+ export declare const topLayerMiddleware: () => Middleware;
@@ -0,0 +1,197 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { computePosition, flip as flipMiddleware, hide as hideMiddleware, shift as shiftMiddleware, offset as offsetMiddleware, arrow as arrowMiddleware, autoPlacement as autoPlacementMiddleware } from '@floating-ui/dom';
7
+ import { getContainingBlock, isContainingBlock, getWindow } from '@floating-ui/utils/dom';
8
+ export const DEFAULT_FALLBACK_PLACEMENTS = ['top-start', 'top', 'top-end', 'left-start', 'left', 'left-end', 'right-start', 'right', 'right-end'];
9
+ export class VirtualElement {
10
+ constructor(x, y, height = 0, width = 0) {
11
+ this.x = x;
12
+ this.y = y;
13
+ this.height = height;
14
+ this.width = width;
15
+ }
16
+ getBoundingClientRect() {
17
+ return {
18
+ x: this.x,
19
+ y: this.y,
20
+ top: this.y,
21
+ left: this.x,
22
+ bottom: this.y,
23
+ right: this.x,
24
+ width: this.height,
25
+ height: this.width,
26
+ toJSON() {
27
+ return;
28
+ }
29
+ };
30
+ }
31
+ static fromElement(element) {
32
+ const rect = element.getBoundingClientRect();
33
+ return new VirtualElement(rect.left, rect.top, rect.height, rect.width);
34
+ }
35
+ static fromEvent(event) {
36
+ if (event instanceof MouseEvent) {
37
+ return new VirtualElement(event.clientX, event.clientY);
38
+ }
39
+ if (event instanceof TouchEvent) {
40
+ return new VirtualElement(event.touches[0].clientX, event.touches[0].clientY);
41
+ }
42
+ throw new Error('Unsupported event type');
43
+ }
44
+ }
45
+ /**
46
+ * Calculates an elements position relative to another element.
47
+ * @param {IPositionElementConfig} config Configuration to provide when positioning the element.
48
+ * @returns {IPositionElementResult} The result of the positioning logic.
49
+ */
50
+ export async function positionElementAsync({ element, anchorElement, placement = 'bottom', offset = false, offsetOptions, strategy = 'absolute', apply = true, flip = true, flipOptions = {
51
+ fallbackPlacements: DEFAULT_FALLBACK_PLACEMENTS,
52
+ fallbackStrategy: 'initialPlacement'
53
+ }, auto = false, autoOptions, shift = true, shiftOptions, hide = false, hideOptions, arrowElement, arrowOptions = {}, topLayer = false, transform = true, translateFunction = 'translate3d' }) {
54
+ var _a, _b, _c;
55
+ const middleware = [];
56
+ //
57
+ // Order of the following middleware is **important**
58
+ //
59
+ if (offset) {
60
+ middleware.push(offsetMiddleware(offsetOptions));
61
+ }
62
+ if (shift) {
63
+ middleware.push(shiftMiddleware(shiftOptions));
64
+ }
65
+ if (flip && !auto) { // flip and auto placement middleware cannot be used together
66
+ middleware.push(flipMiddleware(flipOptions));
67
+ }
68
+ if (auto) {
69
+ middleware.push(autoPlacementMiddleware(autoOptions));
70
+ }
71
+ if (hide) {
72
+ middleware.push(hideMiddleware(hideOptions));
73
+ }
74
+ if (arrowElement) { // Must come before the topLayer middleware
75
+ middleware.push(arrowMiddleware(Object.assign(Object.assign({}, arrowOptions), { element: arrowElement })));
76
+ }
77
+ if (topLayer) {
78
+ middleware.push(topLayerMiddleware());
79
+ }
80
+ const { x, y, placement: finalPlacement, middlewareData } = await computePosition(anchorElement, element, { strategy, placement, middleware });
81
+ // Should we apply the position information to the element?
82
+ if (apply) {
83
+ const styles = {
84
+ left: transform ? '0' : `${x}px`,
85
+ top: transform ? '0' : `${y}px`
86
+ };
87
+ if (transform) {
88
+ if (translateFunction === 'translate') {
89
+ styles.transform = `translate(${Math.round(x)}px, ${Math.round(y)}px)`;
90
+ }
91
+ else {
92
+ styles.transform = `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`;
93
+ }
94
+ }
95
+ Object.assign(element.style, styles);
96
+ // We use `display` here to ensure that any child overlays are also hidden
97
+ if ((_a = middlewareData.hide) === null || _a === void 0 ? void 0 : _a.referenceHidden) {
98
+ element.style.display = 'none';
99
+ }
100
+ else {
101
+ element.style.removeProperty('display');
102
+ }
103
+ }
104
+ return {
105
+ x,
106
+ y,
107
+ hidden: (_c = (_b = middlewareData.hide) === null || _b === void 0 ? void 0 : _b.referenceHidden) !== null && _c !== void 0 ? _c : false,
108
+ placement: finalPlacement,
109
+ arrow: middlewareData.arrow
110
+ };
111
+ }
112
+ /**
113
+ * Custom middleware to handle positioning when the element is on the top layer AND within a containing block.
114
+ */
115
+ export const topLayerMiddleware = () => ({
116
+ name: 'topLayer',
117
+ async fn({ x, y, elements: { reference, floating } }) {
118
+ let onTopLayer = false;
119
+ let topLayerIsFloating = false;
120
+ let withinReference = false;
121
+ const diffCoords = { x: 0, y: 0 };
122
+ try {
123
+ onTopLayer = onTopLayer || floating.matches(':popover-open');
124
+ }
125
+ catch (_a) { }
126
+ try {
127
+ onTopLayer = onTopLayer || floating.matches(':open');
128
+ }
129
+ catch (_b) { }
130
+ try {
131
+ onTopLayer = onTopLayer || floating.matches(':modal');
132
+ }
133
+ catch (_c) { }
134
+ topLayerIsFloating = onTopLayer;
135
+ const dialogAncestorQueryEvent = new Event('floating-ui-dialog-test', { composed: true, bubbles: true });
136
+ floating.addEventListener('floating-ui-dialog-test', (event) => {
137
+ event.composedPath().forEach((el) => {
138
+ withinReference = withinReference || el === reference;
139
+ if (el === floating || el.localName !== 'dialog') {
140
+ return;
141
+ }
142
+ try {
143
+ onTopLayer = onTopLayer || el.matches(':modal');
144
+ }
145
+ catch (_a) { }
146
+ });
147
+ }, { once: true });
148
+ floating.dispatchEvent(dialogAncestorQueryEvent);
149
+ let overTransforms = false;
150
+ if (!(reference instanceof VirtualElement)) {
151
+ const root = (withinReference ? reference : floating);
152
+ const containingBlock = isContainingBlock(root) ? root : getContainingBlock(root);
153
+ let css = {};
154
+ if (containingBlock !== null && getWindow(containingBlock) !== containingBlock) {
155
+ css = getComputedStyle(containingBlock);
156
+ // The overlay is "over transforms" when the containing block uses specific CSS...
157
+ overTransforms =
158
+ css.transform !== 'none' ||
159
+ css.translate !== 'none' ||
160
+ (css.containerType ? css.containerType !== 'normal' : false) ||
161
+ (css.backdropFilter ? css.backdropFilter !== 'none' : false) ||
162
+ (css.filter ? css.filter !== 'none' : false) ||
163
+ css.willChange.search('transform') > -1 ||
164
+ css.willChange.search('translate') > -1 ||
165
+ ['paint', 'layout', 'strict', 'content'].some((value) => (css.contain || '').includes(value));
166
+ }
167
+ if (onTopLayer && overTransforms && containingBlock) {
168
+ const rect = containingBlock.getBoundingClientRect();
169
+ // Margins and borders are not included in the bounding client rect and need to be handled separately
170
+ const { marginInlineStart = '0', marginBlockStart = '0', borderInlineWidth = '0', borderBlockWidth = '0' } = css;
171
+ const inlineBoxAdjust = parseFloat(marginInlineStart) + parseFloat(borderInlineWidth);
172
+ const blockBoxAdjust = parseFloat(marginBlockStart) + parseFloat(borderBlockWidth);
173
+ diffCoords.x = rect.x + inlineBoxAdjust - containingBlock.scrollLeft;
174
+ diffCoords.y = rect.y + blockBoxAdjust - containingBlock.scrollTop;
175
+ }
176
+ }
177
+ if (onTopLayer && topLayerIsFloating) {
178
+ return {
179
+ x: x + diffCoords.x,
180
+ y: y + diffCoords.y,
181
+ data: diffCoords
182
+ };
183
+ }
184
+ if (onTopLayer) {
185
+ return {
186
+ x,
187
+ y,
188
+ data: diffCoords
189
+ };
190
+ }
191
+ return {
192
+ x: x - diffCoords.x,
193
+ y: y - diffCoords.y,
194
+ data: diffCoords
195
+ };
196
+ }
197
+ });