@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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/core/utils/utils.ts"],
4
- "sourcesContent": ["/**\n * Highlights text in the given label by converting it to HTML and using a `<span>` tag to show the highlighted text within the original label.\n * @param label The full text.\n * @param highlightText The text to highlight.\n */\nexport function highlightTextHTML(label: string, highlightText: string): HTMLElement | undefined {\n const text = label.toLowerCase();\n const startIndex = text.indexOf(highlightText.toLowerCase());\n\n if (startIndex !== -1) {\n const endIndex = startIndex + highlightText.length;\n const wrapperSpan = document.createElement('span');\n const highlightSpan = document.createElement('span');\n\n highlightSpan.style.fontWeight = 'bold';\n highlightSpan.textContent = label.substring(startIndex, endIndex);\n \n wrapperSpan.appendChild(document.createTextNode(label.substring(0, startIndex)));\n wrapperSpan.appendChild(highlightSpan);\n wrapperSpan.appendChild(document.createTextNode(label.substring(endIndex)));\n \n return wrapperSpan;\n }\n\n return undefined;\n}\n\n/**\n * Awaits user interaction on an element in the form of `pointerenter` or `focusin` to let a listener know\n * when the user has attempted to interact with the provided element.\n * \n * The listeners are only called once, and the other is removed after one of the listeners is called.\n * @param element The element to listen to.\n * @param capture Whether to use capturing listeners or not.\n * @returns A `Promise` that will be resolved when either of the listeners has executed.\n */\nexport function createUserInteractionListener(element: HTMLElement, { capture = true, pointerenter = true, focusin = true } = {}): { userInteraction: Promise<Event>; destroy: () => void } {\n let destroyFn: () => void;\n const destroy: () => void = () => {\n if (typeof destroyFn === 'function') {\n destroyFn();\n }\n };\n\n const userInteraction = new Promise<Event>(resolve => {\n const listenerOpts: EventListenerOptions & { once: boolean } = { once: true, capture };\n \n const handlePointerenter = (evt: Event): void => {\n if (focusin) {\n element.removeEventListener('focusin', handleFocusin, listenerOpts);\n }\n resolve(evt);\n };\n \n const handleFocusin = (evt: Event): void => {\n if (pointerenter) {\n element.removeEventListener('pointerenter', handlePointerenter, listenerOpts);\n }\n resolve(evt);\n };\n\n destroyFn = (): void => {\n if (pointerenter) {\n element.removeEventListener('pointerenter', handlePointerenter, listenerOpts);\n }\n if (focusin) {\n element.removeEventListener('focusin', handleFocusin, listenerOpts);\n }\n };\n\n if (pointerenter) {\n element.addEventListener('pointerenter', handlePointerenter, listenerOpts);\n }\n if (focusin) {\n element.addEventListener('focusin', handleFocusin, listenerOpts);\n }\n });\n\n return { userInteraction, destroy };\n}\n\n/**\n * Converts a percent value to pixels.\n * @param amount A percent value.\n * @param containerSize The size of the parent element along the relevant axis.\n * @returns A pixel value.\n */\nexport function percentToPixels(amount: number, containerSize: number): number {\n if (containerSize === 0) {\n return 0;\n }\n return amount / 100 * containerSize;\n}\n\n/**\n * Converts a pixel value to a percentage.\n * @param amount A pixel value.\n * @param containerSize The size of the parent element along the relevant axis.\n * @returns A percent value.\n */\nexport function pixelsToPercent(amount: number, containerSize: number): number {\n if (containerSize === 0) {\n return 0;\n }\n return amount * 100 / containerSize;\n}\n\n/**\n * Scales a value from one range to another.\n * @param value The original number value.\n * @param fromMin The lower bound of the input range.\n * @param fromMax The upper bound of the input range.\n * @param toMin The lower bound of the output range (defaults to 0).\n * @param toMax The lower bound of the output range (defaults to 100).\n * @returns A value mapped to the output range.\n */\nexport function scaleValue(value: number, fromMin: number, fromMax: number, toMin = 0, toMax = 100): number {\n const range = fromMax - fromMin;\n const adjustedValue = value - fromMin;\n if (!range || !adjustedValue) {\n return toMin;\n }\n return adjustedValue * toMax / range + toMin;\n}\n\n/**\n * Returns the min of a set of numbers where some values may be undefined.\n * @param args `number` or `undefined` values to compare.\n * @returns The min value or `Number.POSITIVE_INFINITY` if all values are `undefined`.\n */\nexport function safeMin(...args: (number | undefined)[]): number {\n return Math.min(...args.map(arg => arg ?? Number.POSITIVE_INFINITY));\n}\n\n/**\n * Returns the max of a set of numbers where some values may be undefined.\n * @param args `number` or `undefined` values to compare.\n * @returns The max value or `Number.NEGATIVE_INFINITY` if all values are `undefined`.\n */\nexport function safeMax(...args: (number | undefined)[]): number {\n return Math.max(...args.map(arg => arg ?? Number.NEGATIVE_INFINITY));\n}\n\n/**\n * Determines if two elements are overlapping.\n * @param elA {Element | null}\n * @param elB {Element | null}\n * @returns \n */\nexport function elementsOverlapping(elA: Element | null, elB: Element | null): boolean {\n if (!(elA && elB)) {\n return false;\n }\n const a = elA.getBoundingClientRect();\n const b = elB.getBoundingClientRect();\n return !(a.top > b.bottom || a.right < b.left || a.bottom < b.top || a.left > b.right);\n}\n\n/**\n * Determines if a pointer event is over an element.\n * @param event {PointerEvent} The pointer event to test.\n * @param element {HTMElement} The element to test against.\n * @returns \n */\nexport function isPointerOverElement({ x, y }: { x: number; y: number }, element: HTMLElement | null): boolean {\n if (!element) {\n return false;\n }\n const { top, left, bottom, right } = element.getBoundingClientRect();\n return x >= left && x <= right && y >= top && y <= bottom;\n}\n\n/**\n * Attempts to locate a target element based on a heuristic.\n * \n * We use the following heuristic for locating the target element:\n * - If an id is set, we use that value to query the DOM for the target element\n * - If id is set to `:host`, we use the host element from within a shadow tree (only if the root node is a ShadowRoot instance)\n * - If an id is set but the querySelector returns null, we use the parent element\n * - If an id is not set, we use the parent element\n * @param value {string | null} - A selector string to query the DOM for the target element\n */\nexport function locateTargetHeuristic(element: HTMLElement, id?: string | null): HTMLElement | null {\n let targetEl: HTMLElement | null = null;\n\n if (id) {\n const rootNode = element.getRootNode() as Document | ShadowRoot;\n\n // Special case handling for a `:host` selector to easily target a host element\n // from within a shadow tree, given that this is a very common scenario\n if (id === ':host' && rootNode instanceof ShadowRoot) {\n return rootNode.host as HTMLElement;\n }\n\n targetEl = rootNode.querySelector(`#${id}`);\n }\n\n if (!targetEl) {\n return element.parentElement;\n }\n\n return targetEl;\n}\n\n/**\n * Replaces an existing element with a new element, while optionally moving the children of the old element into the new element.\n * @param oldElement The element to replace.\n * @param newElement The element to replace with.\n * @param preserveChildren Whether or not to preserve the children of the old element in the new element.\n * @returns The new element.\n */\nexport function replaceElement<T extends HTMLElement>(oldElement: HTMLElement, newElement: T, preserveChildren = true): T {\n if (preserveChildren) {\n newElement.append(...oldElement.childNodes);\n }\n oldElement.insertAdjacentElement('beforebegin', newElement);\n oldElement.remove();\n return newElement;\n}\n"],
5
- "mappings": "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",
6
- "names": ["highlightTextHTML", "label", "highlightText", "startIndex", "endIndex", "wrapperSpan", "highlightSpan", "createUserInteractionListener", "element", "capture", "pointerenter", "focusin", "destroyFn", "destroy", "resolve", "listenerOpts", "handlePointerenter", "evt", "handleFocusin", "percentToPixels", "amount", "containerSize", "pixelsToPercent", "scaleValue", "value", "fromMin", "fromMax", "toMin", "toMax", "range", "adjustedValue", "safeMin", "args", "arg", "safeMax", "elementsOverlapping", "elA", "elB", "a", "b", "isPointerOverElement", "x", "y", "top", "left", "bottom", "right", "locateTargetHeuristic", "id", "targetEl", "rootNode", "replaceElement", "oldElement", "newElement", "preserveChildren"]
4
+ "sourcesContent": ["/**\n * Highlights text in the given label by converting it to HTML and using a `<span>` tag to show the highlighted text within the original label.\n * @param label The full text.\n * @param highlightText The text to highlight.\n */\nexport function highlightTextHTML(label: string, highlightText: string): HTMLElement | undefined {\n const text = label.toLowerCase();\n const startIndex = text.indexOf(highlightText.toLowerCase());\n\n if (startIndex !== -1) {\n const endIndex = startIndex + highlightText.length;\n const wrapperSpan = document.createElement('span');\n const highlightSpan = document.createElement('span');\n\n highlightSpan.style.fontWeight = 'bold';\n highlightSpan.textContent = label.substring(startIndex, endIndex);\n \n wrapperSpan.appendChild(document.createTextNode(label.substring(0, startIndex)));\n wrapperSpan.appendChild(highlightSpan);\n wrapperSpan.appendChild(document.createTextNode(label.substring(endIndex)));\n \n return wrapperSpan;\n }\n\n return undefined;\n}\n\n/**\n * Awaits user interaction on an element in the form of `pointerenter` or `focusin` to let a listener know\n * when the user has attempted to interact with the provided element.\n * \n * The listeners are only called once, and the other is removed after one of the listeners is called.\n * @param element The element to listen to.\n * @param capture Whether to use capturing listeners or not.\n * @returns A `Promise` that will be resolved when either of the listeners has executed.\n */\nexport function createUserInteractionListener(element: HTMLElement, { capture = true, pointerenter = true, focusin = true } = {}): { userInteraction: Promise<Event>; destroy: () => void } {\n let destroyFn: () => void;\n const destroy: () => void = () => {\n if (typeof destroyFn === 'function') {\n destroyFn();\n }\n };\n\n const userInteraction = new Promise<Event>(resolve => {\n const listenerOpts: EventListenerOptions & { once: boolean } = { once: true, capture };\n \n const handlePointerenter = (evt: Event): void => {\n if (focusin) {\n element.removeEventListener('focusin', handleFocusin, listenerOpts);\n }\n resolve(evt);\n };\n \n const handleFocusin = (evt: Event): void => {\n if (pointerenter) {\n element.removeEventListener('pointerenter', handlePointerenter, listenerOpts);\n }\n resolve(evt);\n };\n\n destroyFn = (): void => {\n if (pointerenter) {\n element.removeEventListener('pointerenter', handlePointerenter, listenerOpts);\n }\n if (focusin) {\n element.removeEventListener('focusin', handleFocusin, listenerOpts);\n }\n };\n\n if (pointerenter) {\n element.addEventListener('pointerenter', handlePointerenter, listenerOpts);\n }\n if (focusin) {\n element.addEventListener('focusin', handleFocusin, listenerOpts);\n }\n });\n\n return { userInteraction, destroy };\n}\n\n/**\n * Converts a percent value to pixels.\n * @param amount A percent value.\n * @param containerSize The size of the parent element along the relevant axis.\n * @returns A pixel value.\n */\nexport function percentToPixels(amount: number, containerSize: number): number {\n if (containerSize === 0) {\n return 0;\n }\n return amount / 100 * containerSize;\n}\n\n/**\n * Converts a pixel value to a percentage.\n * @param amount A pixel value.\n * @param containerSize The size of the parent element along the relevant axis.\n * @returns A percent value.\n */\nexport function pixelsToPercent(amount: number, containerSize: number): number {\n if (containerSize === 0) {\n return 0;\n }\n return amount * 100 / containerSize;\n}\n\n/**\n * Scales a value from one range to another.\n * @param value The original number value.\n * @param fromMin The lower bound of the input range.\n * @param fromMax The upper bound of the input range.\n * @param toMin The lower bound of the output range (defaults to 0).\n * @param toMax The lower bound of the output range (defaults to 100).\n * @returns A value mapped to the output range.\n */\nexport function scaleValue(value: number, fromMin: number, fromMax: number, toMin = 0, toMax = 100): number {\n const range = fromMax - fromMin;\n const adjustedValue = value - fromMin;\n if (!range || !adjustedValue) {\n return toMin;\n }\n return adjustedValue * toMax / range + toMin;\n}\n\n/**\n * Returns the min of a set of numbers where some values may be undefined.\n * @param args `number` or `undefined` values to compare.\n * @returns The min value or `Number.POSITIVE_INFINITY` if all values are `undefined`.\n */\nexport function safeMin(...args: (number | undefined)[]): number {\n return Math.min(...args.map(arg => arg ?? Number.POSITIVE_INFINITY));\n}\n\n/**\n * Returns the max of a set of numbers where some values may be undefined.\n * @param args `number` or `undefined` values to compare.\n * @returns The max value or `Number.NEGATIVE_INFINITY` if all values are `undefined`.\n */\nexport function safeMax(...args: (number | undefined)[]): number {\n return Math.max(...args.map(arg => arg ?? Number.NEGATIVE_INFINITY));\n}\n\n/**\n * Determines if two elements are overlapping.\n * @param elA {Element | null}\n * @param elB {Element | null}\n * @returns \n */\nexport function elementsOverlapping(elA: Element | null, elB: Element | null): boolean {\n if (!(elA && elB)) {\n return false;\n }\n const a = elA.getBoundingClientRect();\n const b = elB.getBoundingClientRect();\n return !(a.top > b.bottom || a.right < b.left || a.bottom < b.top || a.left > b.right);\n}\n\n/**\n * Determines if a pointer event is over an element.\n * @param event {PointerEvent} The pointer event to test.\n * @param element {HTMElement} The element to test against.\n * @returns \n */\nexport function isPointerOverElement({ x, y }: { x: number; y: number }, element: HTMLElement | null): boolean {\n if (!element) {\n return false;\n }\n const { top, left, bottom, right } = element.getBoundingClientRect();\n return x >= left && x <= right && y >= top && y <= bottom;\n}\n\n/**\n * Attempts to locate a target element based on a heuristic.\n * \n * We use the following heuristic for locating the target element:\n * - If an id is set, we use that value to query the DOM for the target element\n * - If id is set to `:host`, we use the host element from within a shadow tree (only if the root node is a ShadowRoot instance)\n * - If an id is set but the querySelector returns null, we use the parent element\n * - If an id is not set, we use the parent element\n * @param value {string | null} - A selector string to query the DOM for the target element\n */\nexport function locateTargetHeuristic(element: HTMLElement, id?: string | null): HTMLElement | null {\n let targetEl: HTMLElement | null = null;\n\n if (id) {\n targetEl = locateElementById(element, id);\n }\n\n if (!targetEl) {\n return element.parentElement;\n }\n\n return targetEl;\n}\n\n/**\n * Attempts to locate an element by id within its root node.\n * @param element The element to search from.\n * @param id The id of the element to locate.\n * @returns The element if found, otherwise `null`.\n */\nexport function locateElementById(element: HTMLElement, id?: string | null): HTMLElement | null {\n const rootNode = element.getRootNode() as Document | ShadowRoot;\n\n // Special case handling for a `:host` selector to easily target a host element\n // from within a shadow tree, given that this is a very common scenario\n if (id === ':host' && rootNode instanceof ShadowRoot) {\n return rootNode.host as HTMLElement;\n }\n\n return rootNode.querySelector(`#${id}`);\n}\n\n/**\n * Replaces an existing element with a new element, while optionally moving the children of the old element into the new element.\n * @param oldElement The element to replace.\n * @param newElement The element to replace with.\n * @param preserveChildren Whether or not to preserve the children of the old element in the new element.\n * @returns The new element.\n */\nexport function replaceElement<T extends HTMLElement>(oldElement: HTMLElement, newElement: T, preserveChildren = true): T {\n if (preserveChildren) {\n newElement.append(...oldElement.childNodes);\n }\n oldElement.insertAdjacentElement('beforebegin', newElement);\n oldElement.remove();\n return newElement;\n}\n\n/**\n * Coerces a string separated by `separator` into an array of strings. \n * @param value The string to coerce.\n * @params [separator=','] The separator to use when splitting the string.\n * @returns An array of strings.\n */\nexport function coerceStringToArray<T extends string>(value: string, separator = ','): T[] {\n return value.split(separator).map(p => p.trim()) as T[];\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["highlightTextHTML", "label", "highlightText", "startIndex", "endIndex", "wrapperSpan", "highlightSpan", "createUserInteractionListener", "element", "capture", "pointerenter", "focusin", "destroyFn", "destroy", "resolve", "listenerOpts", "handlePointerenter", "evt", "handleFocusin", "percentToPixels", "amount", "containerSize", "pixelsToPercent", "scaleValue", "value", "fromMin", "fromMax", "toMin", "toMax", "range", "adjustedValue", "safeMin", "args", "arg", "safeMax", "elementsOverlapping", "elA", "elB", "a", "b", "isPointerOverElement", "x", "y", "top", "left", "bottom", "right", "locateTargetHeuristic", "id", "targetEl", "locateElementById", "rootNode", "replaceElement", "oldElement", "newElement", "preserveChildren", "coerceStringToArray", "separator", "p"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as u}from"./chunk.ZY3ETQ3D.js";import{a as o}from"./chunk.NVUMRW44.js";import{a as d,b as k}from"./chunk.RRNSZCVJ.js";import{a as g,e as b,f as h,k as f}from"./chunk.TPXXHX5J.js";import{k as c}from"./chunk.J2M2MXP2.js";import{d as a}from"./chunk.M3QDAYD2.js";var _=`${k}stack`,A={DEFAULT:"forge-stack"},x={ROOT:`.${A.DEFAULT}`},S={INLINE:"inline",WRAP:"wrap",STRETCH:"stretch",GAP:"gap",ALIGNMENT:"alignment"},T={DEFAULT_GAP:"16"},e={elementName:_,classes:A,attributes:S,selectors:x,strings:T},E=(n=>(n.Start="start",n.Center="center",n.End="end",n))(E||{});var l=class extends u{constructor(r){super(r);this._rootElement=h(r,e.selectors.ROOT)}setGap(r){let n=/^\d+$/.test(r)?`${r}px`:r;this._rootElement.style.gap=`var(--forge-stack-gap, ${n})`}};var p=class{constructor(t){this._adapter=t;this._inline=!1;this._wrap=!1;this._stretch=!1;this._gap=e.strings.DEFAULT_GAP;this._alignment="start"}get inline(){return this._inline}set inline(t){t=!!t,this._inline!==t&&(this._inline=t,this._adapter.toggleHostAttribute(e.attributes.INLINE,this._inline))}get wrap(){return this._wrap}set wrap(t){t=!!t,this._wrap!==t&&(this._wrap=t,this._adapter.toggleHostAttribute(e.attributes.WRAP,this._wrap))}get stretch(){return this._stretch}set stretch(t){t=!!t,this._stretch!==t&&(this._stretch=t,this._adapter.toggleHostAttribute(e.attributes.STRETCH,this._stretch))}get gap(){return this._gap}set gap(t){this._gap!==t&&(this._gap=t,this._adapter.setGap(this._gap),this._adapter.setHostAttribute(e.attributes.GAP,this._gap))}get alignment(){return this._alignment}set alignment(t){this._alignment!==t&&(this._alignment=t,this._adapter.setHostAttribute(e.attributes.ALIGNMENT,this._alignment))}};var I='<template><div class="forge-stack" part="root"><slot></slot></div></template>',N=".forge-stack{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;gap:16px;gap:var(--forge-stack-gap,16px);height:100%;height:var(--forge-stack-height,100%)}.forge-stack ::slotted(*){-webkit-box-flex:var(--forge-stack-stretch,initial);flex:var(--forge-stack-stretch,initial)}:host{display:block}:host([inline]) .forge-stack{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;--forge-stack-height:auto}:host([inline][wrap]) .forge-stack{flex-wrap:wrap}:host([stretch]:not([inline])){height:100%}:host([stretch]){--forge-stack-stretch:1}:host([alignment=start]) .forge-stack{-webkit-box-pack:start;justify-content:start}:host([alignment=center]) .forge-stack{-webkit-box-pack:center;justify-content:center}:host([alignment=end]) .forge-stack{-webkit-box-pack:end;justify-content:end}",i=class extends f{constructor(){super();b(this,I,N),this._foundation=new p(new l(this))}static get observedAttributes(){return[e.attributes.INLINE,e.attributes.WRAP,e.attributes.STRETCH,e.attributes.GAP,e.attributes.ALIGNMENT]}attributeChangedCallback(r,n,s){switch(r){case e.attributes.INLINE:this.inline=c(s);break;case e.attributes.WRAP:this.wrap=c(s);break;case e.attributes.STRETCH:this.stretch=c(s);break;case e.attributes.GAP:this.gap=s;break;case e.attributes.ALIGNMENT:this.alignment=s;break}}};a([o()],i.prototype,"inline",2),a([o()],i.prototype,"wrap",2),a([o()],i.prototype,"stretch",2),a([o()],i.prototype,"gap",2),a([o()],i.prototype,"alignment",2),i=a([d({name:e.elementName})],i);function J(){g(i)}export{e as a,E as b,l as c,p as d,i as e,J as f};
7
+ //# sourceMappingURL=chunk.IA27LU2O.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/stack/stack-constants.ts", "../../src/stack/stack-adapter.ts", "../../src/stack/stack-foundation.ts", "../../src/stack/stack.ts", "../../src/stack/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName = `${COMPONENT_NAME_PREFIX}stack`;\n\nconst classes = {\n DEFAULT: 'forge-stack'\n};\n\nconst selectors = {\n ROOT: `.${classes.DEFAULT}`\n};\n\nconst attributes = {\n INLINE: 'inline',\n WRAP: 'wrap',\n STRETCH: 'stretch',\n GAP: 'gap',\n ALIGNMENT: 'alignment'\n};\n\nconst strings = {\n DEFAULT_GAP: '16'\n};\n\nexport const STACK_CONSTANTS = {\n elementName,\n classes,\n attributes,\n selectors,\n strings\n};\n\nexport type StackAlignment = 'start' | 'center' | 'end';\n\n/** @deprecated Use `StackAlignment` instead. */\nexport enum StackAlignMode {\n Start = 'start',\n Center = 'center',\n End = 'end'\n}\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IStackComponent } from './stack';\nimport { STACK_CONSTANTS } from './stack-constants';\n\nexport interface IStackAdapter extends IBaseAdapter {\n setGap(gap: string): void;\n}\n\nexport class StackAdapter extends BaseAdapter<IStackComponent> implements IStackAdapter {\n private _rootElement: HTMLElement;\n\n constructor(component: IStackComponent) {\n super(component);\n this._rootElement = getShadowElement(component, STACK_CONSTANTS.selectors.ROOT);\n }\n\n public setGap(gap: string): void {\n const value = /^\\d+$/.test(gap) ? `${gap}px` : gap;\n this._rootElement.style.gap = `var(--forge-stack-gap, ${value})`;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IStackAdapter } from './stack-adapter';\nimport { StackAlignment, STACK_CONSTANTS } from './stack-constants';\n\nexport interface IStackFoundation extends ICustomElementFoundation {\n inline: boolean;\n wrap: boolean;\n stretch: boolean;\n gap: string;\n alignment: StackAlignment;\n}\n\nexport class StackFoundation implements IStackFoundation {\n private _inline = false;\n private _wrap = false;\n private _stretch = false;\n private _gap = STACK_CONSTANTS.strings.DEFAULT_GAP;\n private _alignment: StackAlignment = 'start';\n\n constructor(private _adapter: IStackAdapter) {}\n\n /** Controls the direction of the stack. */\n public get inline(): boolean {\n return this._inline;\n }\n public set inline(value: boolean) {\n value = Boolean(value);\n if (this._inline !== value) {\n this._inline = value;\n this._adapter.toggleHostAttribute(STACK_CONSTANTS.attributes.INLINE, this._inline);\n }\n }\n\n /** Controls the direction of the stack. */\n public get wrap(): boolean {\n return this._wrap;\n }\n public set wrap(value: boolean) {\n value = Boolean(value);\n if (this._wrap !== value) {\n this._wrap = value;\n this._adapter.toggleHostAttribute(STACK_CONSTANTS.attributes.WRAP, this._wrap);\n }\n }\n\n /** Controls if the children within the stack should stretch in width */\n public get stretch(): boolean {\n return this._stretch;\n }\n public set stretch(value: boolean) {\n value = Boolean(value);\n if (this._stretch !== value) {\n this._stretch = value;\n this._adapter.toggleHostAttribute(STACK_CONSTANTS.attributes.STRETCH, this._stretch);\n }\n }\n\n /** Controls the gap amount between the children in pixels */\n public get gap(): string {\n return this._gap;\n }\n public set gap(value: string) {\n if (this._gap !== value) {\n this._gap = value;\n this._adapter.setGap(this._gap);\n this._adapter.setHostAttribute(STACK_CONSTANTS.attributes.GAP, this._gap);\n }\n }\n\n /** Controls the alignment of children */\n public get alignment(): StackAlignment {\n return this._alignment;\n }\n public set alignment(value: StackAlignment) {\n if (this._alignment !== value) {\n this._alignment = value;\n this._adapter.setHostAttribute(STACK_CONSTANTS.attributes.ALIGNMENT, this._alignment);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, ICustomElement, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { StackAdapter } from './stack-adapter';\nimport { StackFoundation } from './stack-foundation';\nimport { STACK_CONSTANTS, StackAlignMode, StackAlignment } from './stack-constants';\nimport { BaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-stack\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-stack{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;gap:16px;gap:var(--forge-stack-gap,16px);height:100%;height:var(--forge-stack-height,100%)}.forge-stack ::slotted(*){-webkit-box-flex:var(--forge-stack-stretch,initial);flex:var(--forge-stack-stretch,initial)}:host{display:block}:host([inline]) .forge-stack{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;--forge-stack-height:auto}:host([inline][wrap]) .forge-stack{flex-wrap:wrap}:host([stretch]:not([inline])){height:100%}:host([stretch]){--forge-stack-stretch:1}:host([alignment=start]) .forge-stack{-webkit-box-pack:start;justify-content:start}:host([alignment=center]) .forge-stack{-webkit-box-pack:center;justify-content:center}:host([alignment=end]) .forge-stack{-webkit-box-pack:end;justify-content:end}';\n\nexport interface IStackComponent extends ICustomElement {\n inline: boolean;\n wrap: boolean;\n stretch: boolean;\n gap: string;\n alignment: StackAlignMode | StackAlignment;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-stack': IStackComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-stack>` component.\n * \n * @tag forge-stack\n */\n@CustomElement({\n name: STACK_CONSTANTS.elementName\n})\nexport class StackComponent extends BaseComponent implements IStackComponent {\n public static get observedAttributes(): string[] {\n return [\n STACK_CONSTANTS.attributes.INLINE,\n STACK_CONSTANTS.attributes.WRAP,\n STACK_CONSTANTS.attributes.STRETCH,\n STACK_CONSTANTS.attributes.GAP,\n STACK_CONSTANTS.attributes.ALIGNMENT\n ];\n }\n\n private _foundation: StackFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new StackFoundation(new StackAdapter(this));\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case STACK_CONSTANTS.attributes.INLINE:\n this.inline = coerceBoolean(newValue);\n break;\n case STACK_CONSTANTS.attributes.WRAP:\n this.wrap = coerceBoolean(newValue);\n break;\n case STACK_CONSTANTS.attributes.STRETCH:\n this.stretch = coerceBoolean(newValue);\n break;\n case STACK_CONSTANTS.attributes.GAP:\n this.gap = newValue;\n break;\n case STACK_CONSTANTS.attributes.ALIGNMENT:\n this.alignment = newValue as StackAlignment;\n break;\n }\n }\n\n /** Controls the direction of the stack. */\n @FoundationProperty()\n public declare inline: boolean;\n\n /** Controls if items wrap to a new line in inline mode */\n @FoundationProperty()\n public declare wrap: boolean;\n\n /** Controls if items stretch and take up the maximum amount of space */\n @FoundationProperty()\n public declare stretch: boolean;\n\n /** Controls the gap between the children within the stack */\n @FoundationProperty()\n public declare gap: string;\n\n /** Controls if stack items are at the end of the row or column */\n @FoundationProperty()\n public declare alignment: StackAlignMode | StackAlignment;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { StackComponent } from './stack';\n\nexport * from './stack-adapter';\nexport * from './stack-constants';\nexport * from './stack-foundation';\nexport * from './stack';\n\nexport function defineStackComponent(): void {\n defineCustomElement(StackComponent);\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "selectors", "attributes", "strings", "STACK_CONSTANTS", "StackAlignMode", "StackAdapter", "BaseAdapter", "component", "getShadowElement", "STACK_CONSTANTS", "gap", "value", "StackFoundation", "_adapter", "STACK_CONSTANTS", "value", "template", "styles", "StackComponent", "BaseComponent", "attachShadowTemplate", "StackFoundation", "StackAdapter", "STACK_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "defineStackComponent", "defineCustomElement", "StackComponent"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ function l(a){class e extends a{}return e}export{l as a};
7
+ //# sourceMappingURL=chunk.INQZNXG6.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/core/mixins/label/with-label-aware.ts"],
4
+ "sourcesContent": ["import { AbstractConstructor, MixinBase } from '../../../constants';\nimport { IBaseComponent } from '../../base/base-component';\n\n/**\n * An element that can be associated with a Forge label component.\n */\nexport interface IWithLabelAwareness extends IBaseComponent {\n /**\n * A callback for when the associated label's text content changes.\n * \n * @param value The new text content of the label, or null if the label was removed or has no\n * text content.\n */\n labelChangedCallback(value: string | null): void;\n\n /**\n * A callback for when the associated label is clicked.\n */\n labelClickedCallback?(): void;\n}\n\nexport declare abstract class WithLabelAwarenessContract {\n public abstract labelChangedCallback(value: string | null): void;\n}\n\n/**\n * Mixes in Forge label awareness into a base component.\n * \n * @param base The base component to mix into.\n * @returns The mixed-in base component.\n */\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function WithLabelAwareness<TBase extends MixinBase>(base: TBase) {\n abstract class LabelAwareComponent extends base implements WithLabelAwarenessContract {\n public abstract labelChangedCallback(value: string | null): void;\n }\n\n return LabelAwareComponent as AbstractConstructor<WithLabelAwarenessContract> & TBase;\n}\n"],
5
+ "mappings": "AAgCO,SAASA,EAA4CC,EAAa,CACvE,MAAeC,UAA4BD,CAA2C,CAEtF,CAEA,OAAOC,CACT",
6
+ "names": ["WithLabelAwareness", "base", "LabelAwareComponent"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as ne,d as re}from"./chunk.WNH7EHZP.js";import{a as M,d as ae}from"./chunk.V564JB6A.js";import{a as $,b as x,c as v,d as U}from"./chunk.UV3WIHCM.js";import{a as R}from"./chunk.LEVFMI2Q.js";import{b as te}from"./chunk.EWT2PBEP.js";import{a as ie,d as se,l as oe}from"./chunk.4JB3SESQ.js";import{a as X}from"./chunk.YTBNAGLS.js";import{a as le}from"./chunk.OUIWXKO2.js";import{a as Q}from"./chunk.ZY3ETQ3D.js";import{a as T}from"./chunk.NVUMRW44.js";import{a as j,b as ee}from"./chunk.RRNSZCVJ.js";import{a as q,k as J}from"./chunk.TPXXHX5J.js";import{d as g,e as F,f as p,g as D,i as W,j as K,u as Z}from"./chunk.HZUQXCOQ.js";import{b as f,c as Y,d as y,h as H,j as w,k as L,l as G,o as V}from"./chunk.J2M2MXP2.js";import{a as h,d as _}from"./chunk.M3QDAYD2.js";var I=class{constructor(e){this._key=e,this._items=[]}getItems(){return[...this._items]}count(){return this._items.length}setKey(e){this._key=e}add(e){return e instanceof Array||(e=[e]),e.forEach(t=>{this.exists(t)||this._items.push(t)}),this}remove(e){e instanceof Array||(e=[e]);for(let t=e.length-1;t>=0;t--)this.exists(e[t])&&this._items.splice(this._items.indexOf(this._getItem(e[t])),1);return this}clear(){return this._items=[],this}exists(e){return this._getItem(e)!==null}_getItem(e){return this._key?x(this._items,v(this._key,e))||null:this._items.find(t=>t===e)||null}};var S=`${ee}table`,ce={TABLE:"forge-table",TABLE_DENSE:"forge-table--dense",TABLE_ROOMY:"forge-table--roomy",TABLE_RESIZABLE:"forge-table--resizable",TABLE_RESIZING:"forge-table--resizing",TABLE_RESIZE_HANDLE:"forge-table__resize-handle",TABLE_NO_WRAP_CONTENT:"forge-table--no-wrap-content",TABLE_LAYOUT_FIXED:"forge-table--layout-fixed",TABLE_FILTER_VISIBLE:"forge-table--filter-visible",TABLE_FIXED:"forge-table--fixed",TABLE_HEAD:"forge-table-head",TABLE_HEAD_ROW:"forge-table-head__row",TABLE_HEAD_ROW_FILTER:"forge-table-head__row__filter",TABLE_HEAD_CELL:"forge-table-head__cell",TABLE_HEAD_CELL_CONTAINER:"forge-table-head__cell-container",TABLE_HEAD_CELL_SORTABLE:"forge-table-head__cell--sortable",TABLE_HEAD_CELL_SORT_ICON:"forge-table-head__cell-sort-icon",TABLE_HEAD_CELL_TEXT:"forge-table-head__cell-text",TABLE_HEAD_CELL_SORT_ICON_ACTIVE:"forge-table-head__cell-sort-icon--active",TABLE_HEAD_CELL_SORTED_ASCENDING:"forge-table-head__cell--sorted-ascending",TABLE_HEAD_CELL_SORTED_DESCENDING:"forge-table-head__cell--sorted-descending",TABLE_HEAD_CELL_SORT_ORDER:"forge-table-head__cell__sort-order",TABLE_HEAD_CELL_SORT_ORDER_HIDDEN:"forge-table-head__cell__sort-order--hidden",TABLE_BODY:"forge-table-body",TABLE_BODY_ROW:"forge-table-body__row",TABLE_BODY_ROW_SELECTED:"forge-table-body__row--selected",TABLE_BODY_ROW_CLICKABLE:"forge-table-body__row--clickable",TABLE_BODY_CELL:"forge-table-body__cell",TABLE_ROW:"forge-table-row",TABLE_ROW_EXPANDED:"forge-table-row--expanded",TABLE_ROW_EXPANDABLE_CONTENT:"forge-table-row__expandable-content",TABLE_ROW_EXPANDABLE_CONTENT_CELL:"forge-table-row__expandable-content-cell",TABLE_CELL:"forge-table-cell",TABLE_CELL_SELECT:"forge-table-cell__select",TABLE_CELL_SELECT_CHECKBOX:"forge-table-cell__select-checkbox",TABLE_CELL_SELECT_CHECKBOX_CONTAINER:"forge-table-cell__select-checkbox-container",TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_RIGHT:"forge-table-cell__select-checkbox-container--align-right",TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_LEFT:"forge-table-cell__select-checkbox-container--align-left",TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_CENTER:"forge-table-cell__select-checkbox-container--align-center",TABLE_CELL_CONTAINER:"forge-table-cell__container",TABLE_CELL_CONTAINER_TEXT:"forge-table-cell__container-text",TABLE_CELL_CENTER:"forge-table-cell--center",TABLE_CELL_RIGHT:"forge-table-cell--right",TABLE_CELL_RESIZABLE:"forge-table-cell--resizing"},be={TABLE:".forge-table",CHECKBOX_INPUT:"forge-checkbox > input[type=checkbox]:not([forge-ignore])",SELECT_ALL_TEMPLATE_CHECKBOX_INPUT:"input[type=checkbox]:not([forge-ignore])",ROW_SELECTED:`.${ce.TABLE_BODY_ROW_SELECTED}`},Ee={SELECT:"select",MULTISELECT:"multiselect",SELECT_KEY:"select-key",DENSE:"dense",ROOMY:"roomy",FILTER:"filter",FIXED_HEADERS:"fixed-headers",LAYOUT_TYPE:"layout-type",WRAP_CONTENT:"wrap-content",RESIZABLE:"resizable",MIN_RESIZE_WIDTH:"min-resize-width",ALLOW_ROW_CLICK:"allow-row-click",MULTI_COLUMN_SORT:"multi-column-sort",SELECT_CHECKBOX_ALIGNMENT:"select-checkbox-alignment",TOOLTIP_SELECT:"tooltip-select",TOOLTIP_SELECT_ALL:"tooltip-select-all",CHECKBOX_TYPE:"forge-checkbox-type",CUSTOM_CELL_TEMPLATE:"data-cell-template",CUSTOM_CELL_TEMPLATE_STOP_PROPAGATION:"data-cell-template-stop-propagation"},_e={ROW_CLICK:`${S}-row-click`,SELECT:`${S}-select`,SELECT_DOUBLE:`${S}-select-double`,SELECT_ALL:`${S}-select-all`,SORT:`${S}-sort`,FILTER:`${S}-filter`,INITIALIZED:`${S}-initialized`,COLUMN_RESIZE:`${S}-column-resize`},Te={SELECT_ALL:"select-all",SELECT_ROW:"select-row",DEFAULT_LAYOUT_TYPE:"auto"},pe={SORT_DOWN:"arrow_downward"},Ce={DEFAULT_FILTER_DEBOUNCE_TIME:750,MIN_RESIZE_WIDTH:100,RESIZE_HOVER_DURATION:150},s={elementName:S,classes:ce,selectors:be,attributes:Ee,events:_e,strings:Te,icons:pe,numbers:Ce};var B=(l=>(l.Left="left",l.Right="right",l.Center="center",l))(B||{}),O=(l=>(l.Ascending="ASC",l.Descending="DESC",l.Unset="UNSET",l))(O||{}),he=(o=>(o.InputText="text",o.InputNumber="number",o.Select="select",o.SelectMultiple="select-multiple",o.Date="date",o.DateRange="date-range",o))(he||{});function de(n){return n&&typeof n=="object"&&"content"in n}var b=class n{static createTable(e){n._resetTable(e.tableElement);let t=n._createTableHead(e),l=n._createTableBody(e);e.clickListener&&(n._attachRowClickListeners(l,e.clickListener,e.doubleClickListener),n._addRowClickAttributes(l)),e.fixedHeaders&&n.setFixedHeaders(e),e.resizable&&n.setResizable(e),e.dense&&n.setDenseState(e.tableElement,e.dense),e.wrapContent&&n.setWrapContentState(e.tableElement,e.wrapContent),e.selectListener&&n._addSelectColumn(t,l,e.selectListener,e.selectAllListener,e.selectAllTemplate,e.selectCheckboxAlignment,e.data,e.tooltipSelect,e.tooltipSelectAll),(e.resizable||e.columnConfigurations.some(i=>!!i.sortable))&&(n._attachHeadRowMouseDownListener(t,e.headRowMouseDownListener),n._isMac()&&n._attachHeadRowContextMenuListener(t,e.headRowContextMenuListener)),n.setLayoutType(e),n._setTableHead(e.tableElement,t),e.filter&&n.setFilterRow(e),n._setTableBody(e.tableElement,l)}static _setTableHead(e,t){e.tHead?F(t,e.tHead):e.appendChild(t)}static _setTableBody(e,t){e.tBodies.length?F(t,e.tBodies[0]):e.appendChild(t)}static recreateTableBody(e){let t=n._createTableBody(e);e.clickListener&&(n._attachRowClickListeners(t,e.clickListener,e.doubleClickListener),n._addRowClickAttributes(t)),e.selectListener&&(n._createBodySelectColumn(t,e.selectCheckboxAlignment,e.data,e.tooltipSelect,e.tooltipSelectAll),n._attachRowSelectListeners(t,e.selectListener)),n._setTableBody(e.tableElement,t)}static _resetTable(e){g(e)}static _createMultisortTooltip(){let e=document.createElement("forge-tooltip");return e.textContent="Ctrl + click to sort multiple columns",e.placement="bottom",e.delay=0,e}static _createTableHead(e){let t=document.createElement("thead"),l=t.insertRow();p([s.classes.TABLE_ROW,s.classes.TABLE_HEAD_ROW],l);let i=!1;for(let a=0;a<e.columnConfigurations.length;a++){let o=e.columnConfigurations[a],r=document.createElement("th");r.scope="col",p([s.classes.TABLE_CELL,s.classes.TABLE_HEAD_CELL],r);let c;if(o.sortable?(c=document.createElement("button"),c.type="button",c.addEventListener("keydown",e.sortableHeadCellKeydownListener)):c=document.createElement("div"),c.classList.add(s.classes.TABLE_HEAD_CELL_CONTAINER),e.multiColumnSort){let d=n._createMultisortTooltip();c.appendChild(d)}if(o.align&&n._setCellAlignmentClass(c,o.align),f(o.width)){let d=K(o.width);d&&(r.style.width=d)}if(e.resizable&&o.resizable!==!1){let d=document.createElement("div");d.classList.add(s.classes.TABLE_RESIZE_HANDLE),r.appendChild(d)}f(o.headerCellStyle)&&w(o.headerCellStyle)&&(Object.assign(r.style,o.headerCellStyle),Object.assign(c.style,o.headerCellStyle));let m=document.createElement("span");if(m.classList.add(s.classes.TABLE_HEAD_CELL_TEXT),m.textContent=o.header&&typeof o.header=="string"?o.header.trim():"",o.sortable){r.classList.add(s.classes.TABLE_HEAD_CELL_SORTABLE);let d=document.createElement("span");p([s.classes.TABLE_HEAD_CELL_SORT_ORDER_HIDDEN,s.classes.TABLE_HEAD_CELL_SORT_ORDER],d);let u=document.createElement(ie.elementName);u.name=s.icons.SORT_DOWN,p([s.classes.TABLE_HEAD_CELL_SORT_ICON],u),e.multiColumnSort?typeof o.initialSort=="object"&&o.initialSort.sortOrder&&(d.textContent=o.initialSort.sortOrder.toString(),e.columnConfigurations.filter(C=>typeof C.initialSort=="object").length>1&&D(s.classes.TABLE_HEAD_CELL_SORT_ORDER_HIDDEN,d),r.classList.add(s.classes.TABLE_HEAD_CELL_SORTED_DESCENDING),u.classList.add(s.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE),n._setColumnSortDirection(r,o.initialSort.direction)):e.sortedColumn===a&&!i&&!e.multiColumnSort&&(r.classList.add(s.classes.TABLE_HEAD_CELL_SORTED_DESCENDING),u.classList.add(s.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE),n._setColumnSortDirection(r,e.sortDirection),i=!0),c.appendChild(u),c.appendChild(d)}typeof o.headerTemplate=="function"?Promise.resolve(o.headerTemplate(a,c,o)).then(d=>{if(d){let u=document.createElement("div");p(s.classes.TABLE_CELL_CONTAINER,u),typeof d=="string"?u.innerHTML=d:n._prepend(d,u),u.setAttribute(s.attributes.CUSTOM_CELL_TEMPLATE,""),n._prepend(u,c)}}):n._prepend(m,c),r.appendChild(c),l.appendChild(r)}return t}static setSortDirection(e,t,l){let i=n._getHeaderCellByIndex(e,t);e.querySelectorAll("th[aria-sort]").forEach(a=>a.removeAttribute("aria-sort")),n._setColumnSortDirection(i,l)}static _setColumnSortDirection(e,t){e.classList.contains(s.classes.TABLE_HEAD_CELL_SORTED_ASCENDING)&&e.classList.remove(s.classes.TABLE_HEAD_CELL_SORTED_ASCENDING),e.classList.contains(s.classes.TABLE_HEAD_CELL_SORTED_DESCENDING)&&e.classList.remove(s.classes.TABLE_HEAD_CELL_SORTED_DESCENDING),!t||t==="DESC"?(e.setAttribute("aria-sort","descending"),e.classList.add(s.classes.TABLE_HEAD_CELL_SORTED_DESCENDING)):(e.setAttribute("aria-sort","ascending"),e.classList.add(s.classes.TABLE_HEAD_CELL_SORTED_ASCENDING))}static _createTableBody(e){let t=document.createElement("tbody");return n._getOrderedRowData(e.columnConfigurations,e.data).forEach((i,a)=>{let o=t.insertRow();p([s.classes.TABLE_ROW,s.classes.TABLE_BODY_ROW],o),n._populateRowCells(e,o,i,a),typeof e.rowCreatedCallback=="function"&&e.rowCreatedCallback(o,a,h({},e.data[a].data))}),t}static _populateRowCells(e,t,l,i){for(let a=0;a<l.length;a++){let o=e.columnConfigurations[a],r=t.insertCell();if(p([s.classes.TABLE_CELL,s.classes.TABLE_BODY_CELL],r),f(o.width)){let m=K(o.width);m&&(r.style.width=m)}let c=document.createElement("div");if(c.classList.add(s.classes.TABLE_CELL_CONTAINER),f(o.cellStyle)&&w(o.cellStyle)&&(Object.assign(r.style,o.cellStyle),Object.assign(c.style,o.cellStyle)),o.template&&typeof o.template=="function"){let m=e.data[i]?e.data[i].data:void 0;Promise.resolve(o.template(i,c,m,a)).then(d=>{let u=de(d)?d:{content:d,stopClickPropagation:o.stopCellTemplateClickPropagation};u.content&&(typeof u.content=="string"?c.innerHTML=u.content:c.appendChild(u.content),c.setAttribute(s.attributes.CUSTOM_CELL_TEMPLATE,""),u.stopClickPropagation&&c.setAttribute(s.attributes.CUSTOM_CELL_TEMPLATE_STOP_PROPAGATION,""))})}else if(o.property){let m=document.createElement("span");m.classList.add(s.classes.TABLE_CELL_CONTAINER_TEXT),c.appendChild(m),o.transform&&typeof o.transform=="function"?Promise.resolve(o.transform(l[a])).then(d=>m.textContent=d):l[a]==null?m.textContent="":m.textContent=l[a].toString()}if(o.align&&n._setCellAlignmentClass(c,o.align),r.appendChild(c),f(o.columnSpan)){if(o.columnSpan==="all"){r.colSpan=l.length-a;break}else if(typeof o.columnSpan=="number"&&o.columnSpan>0){let m=o.columnSpan;o.columnSpan>l.length-a&&(m=l.length),r.colSpan=m,a=a+(m-1)}}typeof e.cellCreatedCallback=="function"&&e.cellCreatedCallback(r,i,a)}}static _setCellAlignmentClass(e,t){switch(t){case"center":e.classList.add(s.classes.TABLE_CELL_CENTER);break;case"right":e.classList.add(s.classes.TABLE_CELL_RIGHT);break}}static _getNonExpandedRows(e){return Array.from(e).filter(t=>!t.classList.contains(s.classes.TABLE_ROW_EXPANDABLE_CONTENT))}static _getExpandedRows(e){return Array.from(e).filter(t=>t.classList.contains(s.classes.TABLE_ROW_EXPANDABLE_CONTENT))}static _createColumnDataMap(e,t){return e.map(l=>({config:l,data:t.map(i=>{if(l.property){let a=$(i.data,l.property);return f(a)?a:null}return null})}))}static _getOrderedRowData(e,t){let l=n._createColumnDataMap(e,t),i=[];for(let a of l)for(let o=0;o<a.data.length;o++)i[o]||(i[o]=[]),i[o].push(a.data[o]);return i}static _attachRowClickListeners(e,t,l){n._getNonExpandedRows(e.rows).forEach(a=>{a.addEventListener("click",t),l&&a.addEventListener("dblclick",l)})}static _addRowClickAttributes(e){n._getNonExpandedRows(e.rows).forEach(l=>{l.classList.add(s.classes.TABLE_BODY_ROW_CLICKABLE)})}static _removeRowClickAttributes(e){n._getNonExpandedRows(e.rows).forEach(l=>{l.classList.remove(s.classes.TABLE_BODY_ROW_CLICKABLE)})}static _attachRowSelectListeners(e,t){n._getNonExpandedRows(e.rows).forEach(i=>n._attachRowSelectListener(i,t))}static _attachRowSelectListener(e,t){let l=n._getCheckboxElement(e);l==null||l.addEventListener("click",t)}static _detachRowSelectListeners(e,t){Array.from(e.rows).forEach(l=>{let i=n._getCheckboxElement(l);i==null||i.removeEventListener("click",t)})}static _detachRowClickListeners(e,t,l){Array.from(e.rows).forEach(i=>{i.removeEventListener("click",t),i.removeEventListener("dblclick",l)})}static _attachSelectAllListener(e,t){let l=e.rows[e.rows.length-1],i=n._getCheckboxElement(l);if(!i)throw new Error("Checkbox element not found.");i.addEventListener("change",t)}static _tryAttachSelectAllTemplateListener(e,t){let l=e.rows[e.rows.length-1],i=n._tryGetSelectAllCheckboxElement(l);i&&i.addEventListener("change",t)}static _detachSelectAllListener(e,t){let l=e.rows[e.rows.length-1],i=n._tryGetSelectAllCheckboxElement(l);i&&i.removeEventListener("change",t)}static _attachHeadRowMouseDownListener(e,t){let l=e.rows[0];if(!l)throw new Error("Missing table header row. Unable to attach sort listener.");l.addEventListener("mousedown",t)}static _attachHeadRowContextMenuListener(e,t){let l=e.rows[0];if(!l)throw new Error("Missing table header row. Unable to attach sort listener.");l.addEventListener("contextmenu",t)}static _createSelectColumn(e,t,l,i,a,o,r,c,m){e&&n._createHeadSelectColumn(e,l,i,a,o,m),t&&n._createBodySelectColumn(t,o,r,c,m)}static _createHeadSelectColumn(e,t,l,i,a,o){var r;if(Array.from(e.rows).forEach(c=>{let m=document.createElement("th");p([s.classes.TABLE_CELL,s.classes.TABLE_HEAD_CELL],m),c.insertBefore(m,c.cells.item(0))}),t){let c=(r=e.rows.item(e.rows.length-1))==null?void 0:r.cells.item(0);c.classList.add(s.classes.TABLE_CELL_SELECT),typeof l=="function"?n._renderSelectAllTemplate(l,e).then(()=>{typeof i=="function"&&i()}):c==null||c.appendChild(n._createCheckboxElement(!0,a,null,null,null,o))}}static _createBodySelectColumn(e,t,l,i,a){if(n._getNonExpandedRows(e.rows).forEach((r,c)=>n._addRowSelectColumn(r,t,c,l[c],i,a)),e.rows.length){let r=e.rows.item(0);r&&n._updateExpandedRowColspan(e.rows,r.cells.length)}}static _addRowSelectColumn(e,t,l,i,a,o){let r=e.insertCell(0);p([s.classes.TABLE_CELL,s.classes.TABLE_BODY_CELL,s.classes.TABLE_CELL_SELECT],r),r.appendChild(n._createCheckboxElement(!1,t,l,i,a,o))}static _destroySelectColumn(e,t){let l=n._getNonExpandedRows(t.rows);if(Array.from(e.rows).forEach(i=>i.removeChild(i.cells.item(0))),Array.from(l).forEach(i=>i.removeChild(i.cells.item(0))),t.rows.length){let i=t.rows.item(0);i&&n._updateExpandedRowColspan(t.rows,i.cells.length)}}static _hasSelectColumn(e,t){return[...Array.from(e.rows),...Array.from(t.rows)].some(i=>i.cells.item(0).classList.contains(s.classes.TABLE_CELL_SELECT))}static _createCheckboxElement(e,t,l,i,a,o){let r=document.createElement("div");if(r.classList.add(s.classes.TABLE_CELL_SELECT_CHECKBOX_CONTAINER),t)switch(t){case"center":r.classList.add(s.classes.TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_CENTER);break;case"left":r.classList.add(s.classes.TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_LEFT);break;case"right":r.classList.add(s.classes.TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_RIGHT);break}let c=document.createElement(ne.elementName),m=document.createElement("input");m.type="checkbox";let d=a||"";i&&typeof a=="function"&&(d=a.call(null,l,i.data));let u=document.createElement("forge-tooltip");return u.position="left",e?u.textContent=o||"":u.textContent=d,m.setAttribute("aria-label","Select row"),c.appendChild(m),r.appendChild(u),r.appendChild(c),r}static _getCheckboxElement(e){let t=e.querySelector(`.${s.classes.TABLE_CELL_SELECT}`);return t?t.querySelector(s.selectors.CHECKBOX_INPUT):null}static _tryGetSelectAllCheckboxElement(e){let t=e.querySelector(`.${s.classes.TABLE_CELL_SELECT}`);return t?t.querySelector(s.selectors.CHECKBOX_INPUT)||t.querySelector(s.selectors.SELECT_ALL_TEMPLATE_CHECKBOX_INPUT):null}static _setSelectedCheckboxState(e,t){e&&(e.checked=t)}static _setIndeterminateCheckboxState(e,t){e&&(e.indeterminate=t)}static _setRowSelectedState(e,t){t?e.classList.contains(s.classes.TABLE_BODY_ROW_SELECTED)||e.classList.add(s.classes.TABLE_BODY_ROW_SELECTED):e.classList.remove(s.classes.TABLE_BODY_ROW_SELECTED)}static _updateExpandedRowColspan(e,t){n._getExpandedRows(e).forEach(i=>{let a=i.cells.item(0);a&&(a.colSpan=t)})}static updateSelectedState(e,t){n._setRowSelectedState(e,t);let l=n._getCheckboxElement(e);l&&n._setSelectedCheckboxState(l,t)}static getRowByIndex(e,t){return n._getNonExpandedRows(e.tBodies[0].rows)[t]}static updateSelectAllState(e,t,l){if(!e.tHead)return;let i=e.tHead.rows[e.tHead.rows.length-1],a=n._tryGetSelectAllCheckboxElement(i);a&&(n._setSelectedCheckboxState(a,t),n._setIndeterminateCheckboxState(a,!!l))}static setSelectedRows(e,t,l,i,a=!1){if(!e.tBodies.length)return;a||n.clearSelectedRows(e);let o=e.tBodies[0].rows,r=0;i.length&&Array.from(o).forEach((c,m)=>{let d=l[m];if(x(i,v(t,d))){n._setRowSelectedState(c,!0);let C=n._getCheckboxElement(c);C&&n._setSelectedCheckboxState(C,!0),r++}}),n.updateSelectAllState(e,r>0&&o.length===r)}static clearSelectedRows(e){if(!e.tBodies.length)return;n._getNonExpandedRows(e.tBodies[0].rows).forEach(l=>{n._setRowSelectedState(l,!1);let i=n._getCheckboxElement(l);i&&n._setSelectedCheckboxState(i,!1)})}static setSortedColumn(e,t,l){let i=n._getHeaderCellByIndex(e,t);n._getSortIconElementFromHeaderCell(i).classList.add(s.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE),n._setColumnSortDirection(i,l)}static setMultiSortColumnSortNumber(e,t,l,i){let r=n._getHeaderCellByIndex(e,l).querySelector(`.${s.classes.TABLE_HEAD_CELL_CONTAINER}`).querySelector(`.${s.classes.TABLE_HEAD_CELL_SORT_ORDER}`);r&&(Z(r,typeof i!="number"||!t,s.classes.TABLE_HEAD_CELL_SORT_ORDER_HIDDEN),i&&(r.textContent=i.toString()))}static removeColumnSort(e,t){let l=n._getHeaderCellByIndex(e,t);l.removeAttribute("aria-sort"),l.classList.contains(s.classes.TABLE_HEAD_CELL_SORTED_ASCENDING)&&l.classList.remove(s.classes.TABLE_HEAD_CELL_SORTED_ASCENDING),l.classList.contains(s.classes.TABLE_HEAD_CELL_SORTED_DESCENDING)&&l.classList.remove(s.classes.TABLE_HEAD_CELL_SORTED_DESCENDING);let i=n._getSortIconElementFromHeaderCell(l);i&&i.classList.contains(s.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE)&&i.classList.remove(s.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE)}static _getHeaderCellByIndex(e,t){if(!e.tHead)throw new Error("Table head element cannot be null.");return e.tHead.rows.item(0).cells.item(t)}static _getSortIconElementFromHeaderCell(e){return e.querySelector(`.${s.classes.TABLE_HEAD_CELL_SORT_ICON}`)}static setSelectColumnVisibility(e,t,l,i,a,o,r,c,m){let d=e.tHead,u=e.tBodies[0];!d||!u||(t?n._addSelectColumn(d,u,l,i,a,o,r,c,m):n._hasSelectColumn(d,u)&&(l&&n._detachRowSelectListeners(u,l),i&&n._detachSelectAllListener(d,i),n._destroySelectColumn(d,u)))}static _addSelectColumn(e,t,l,i,a,o,r,c,m){n._createSelectColumn(e,t,!!i,a,()=>{i&&n._tryAttachSelectAllTemplateListener(e,i)},o,r,c,m),l&&n._attachRowSelectListeners(t,l),i&&!a&&n._tryAttachSelectAllTemplateListener(e,i)}static setDenseState(e,t){e.classList.contains(s.classes.TABLE_DENSE)&&e.classList.remove(s.classes.TABLE_DENSE),t&&e.classList.add(s.classes.TABLE_DENSE)}static setRoomyState(e,t){e.classList.contains(s.classes.TABLE_ROOMY)&&e.classList.remove(s.classes.TABLE_ROOMY),t&&e.classList.add(s.classes.TABLE_ROOMY)}static setResizable(e){let t=e.tableElement.tHead;e.resizable?(e.tableElement.classList.add(s.classes.TABLE_RESIZABLE),n._addResizeHandles(t,e)):(e.tableElement.classList.remove(s.classes.TABLE_RESIZABLE),n._removeResizeHandles(t,e))}static _addResizeHandles(e,t){if(!e)return;let l=e.rows.item(0);if(l){let i=Array.from(l.cells);t.selectListener&&(i=i.slice(1));for(let a of i){let o=i.indexOf(a);if(t.columnConfigurations[o].resizable!==!1){let c=document.createElement("div");c.classList.add(s.classes.TABLE_RESIZE_HANDLE),a.appendChild(c)}}}}static _removeResizeHandles(e,t){if(!e)return;let l=e.rows.item(0);if(l){let i=Array.from(l.cells);t.selectListener&&(i=i.slice(1));for(let a of i){let o=document.querySelector(`.${s.classes.TABLE_RESIZE_HANDLE}`);o&&a.removeChild(o)}}}static setWrapContentState(e,t){t?e.classList.remove(s.classes.TABLE_NO_WRAP_CONTENT):e.classList.add(s.classes.TABLE_NO_WRAP_CONTENT)}static setSelectAllVisibility(e,t,l,i,a,o){let r=e.tHead;if(!r)return;!t&&l&&n._detachSelectAllListener(r,l);let m=r.rows[r.rows.length-1].cells.item(0);t?m.childElementCount||(m.classList.add(s.classes.TABLE_CELL_SELECT),i?n._renderSelectAllTemplate(i,r).then(()=>{l&&n._tryAttachSelectAllTemplateListener(r,l)}):m.appendChild(n._createCheckboxElement(!0,a||null,null,null,null,o)),l&&!i&&n._attachSelectAllListener(r,l)):(l&&n._detachSelectAllListener(r,l),g(m))}static setFilterRow(e){if(!e.tableElement.tHead)return;let t=n._getFilterRowElement(e.tableElement.tHead),l;if(e.filter?e.tableElement.classList.add(s.classes.TABLE_FILTER_VISIBLE):e.tableElement.classList.remove(s.classes.TABLE_FILTER_VISIBLE),e.filter&&!t){if(e.columnConfigurations.every(a=>!a.filter))return;e.selectListener&&e.selectAllListener&&(l=e.tableElement.tHead.rows[e.tableElement.tHead.rows.length-1].cells.item(0));let i=n._createFilterRowElement(e);i&&l&&Array.from(l.children).forEach(a=>{var o;(o=i.cells.item(0))==null||o.appendChild(a)})}else if(!e.filter&&t){if(e.selectListener&&e.selectAllListener){l=t.cells.item(0);let i=Array.from(e.tableElement.tHead.rows).indexOf(t)-1,a=e.tableElement.tHead.rows.item(i);a&&Array.from(l.children).forEach(o=>{var r;(r=a.cells.item(0))==null||r.appendChild(o)})}W(t)}}static _createFilterRowElement(e){if(!e.tableElement.tHead)throw new Error("Table head element cannot be null.");let t=e.tableElement.tHead.insertRow();if(p([s.classes.TABLE_ROW,s.classes.TABLE_HEAD_ROW_FILTER],t),e.selectListener){let l=document.createElement("th");p([s.classes.TABLE_CELL,s.classes.TABLE_HEAD_CELL],l),t.insertBefore(l,t.cells[0]),l.classList.add(s.classes.TABLE_CELL_SELECT)}return e.columnConfigurations.forEach((l,i)=>{let a=document.createElement("th");if(p([s.classes.TABLE_CELL,s.classes.TABLE_HEAD_CELL],a),l.filter&&f(l.filterDelegate)){let o=document.createElement("div");o.classList.add(s.classes.TABLE_HEAD_CELL_CONTAINER),l.align&&n._setCellAlignmentClass(o,l.align);let r=n._createFilterElement(l,i,e.filterListener);o.appendChild(r),a.appendChild(o)}t.appendChild(a)}),t}static _createFilterElement(e,t,l){let i;if(H(e.filterDelegate))i=e.filterDelegate();else if(e.filterDelegate instanceof X||e.filterDelegate instanceof le)i=e.filterDelegate;else throw new Error("Invalid filter delegate.");if(l&&i instanceof X&&H(i.onChange))if(!f(e.filterDebounceTime)||y(e.filterDebounceTime)){let a=f(e.filterDebounceTime)?e.filterDebounceTime:s.numbers.DEFAULT_FILTER_DEBOUNCE_TIME;i.onChange(V(o=>l(o,t),a))}else i.onChange(a=>l(a,t));return i.element}static _getFilterRowElement(e){if(e)return Array.from(e.rows).find(t=>t.classList.contains(s.classes.TABLE_HEAD_ROW_FILTER))}static async expandRow(e,t,l){let i=e.tableElement.tBodies[0],o=n._getNonExpandedRows(i.rows)[t];o.classList.add(s.classes.TABLE_ROW_EXPANDED);let r=Array.from(i.rows).indexOf(o),c=i.insertRow(r+1);p([s.classes.TABLE_ROW,s.classes.TABLE_BODY_ROW,s.classes.TABLE_ROW_EXPANDABLE_CONTENT],c);let m=c.insertCell();m.setAttribute("colspan",o.cells.length.toString()),m.classList.add(s.classes.TABLE_ROW_EXPANDABLE_CONTENT_CELL);let d=document.createElement("div"),u=document.createElement(M.elementName);u.appendChild(d),m.appendChild(u);let C=l;if(H(l)){let me=e.data[t]?e.data[t].data:void 0,ue=l(t,d,me);try{let A=await Promise.resolve(ue);C=de(A)?A.content:A}catch(A){console.error("Failed to load row template "+A.message),C=""}}C&&n._setRowTemplate(d,C),window.requestAnimationFrame(()=>u.open=!0)}static _setRowTemplate(e,t){Y(t)?e.innerHTML=t:e.appendChild(t)}static collapseRow(e,t){if(!e.tableElement||!e.tableElement.tBodies.length||!e.tableElement.tBodies[0].rows.length)return Promise.resolve();let l=e.tableElement.tBodies[0],a=n._getNonExpandedRows(l.rows)[t],o=Array.from(l.rows).indexOf(a);if(a&&a.classList.contains(s.classes.TABLE_ROW_EXPANDED)){let r=l.rows[o+1],c=r.querySelector(M.elementName);if(c&&c.open)return c.open=!1,new Promise(m=>{setTimeout(()=>{a.classList.remove(s.classes.TABLE_ROW_EXPANDED),W(r),m()},M.numbers.COLLAPSE_ANIMATION_DURATION)})}return Promise.resolve()}static isRowExpanded(e,t){let l=e.tableElement.tBodies[0],a=n._getNonExpandedRows(l.rows)[t];return a&&a.classList.contains(s.classes.TABLE_ROW_EXPANDED)}static setFixedHeaders(e){e.fixedHeaders?e.tableElement.classList.add(s.classes.TABLE_FIXED):e.tableElement.classList.remove(s.classes.TABLE_FIXED)}static setLayoutType(e){e.layoutType==="fixed"?e.tableElement.classList.add(s.classes.TABLE_LAYOUT_FIXED):e.tableElement.classList.remove(s.classes.TABLE_LAYOUT_FIXED)}static normalizeColumnWidths(e){let t=e.tableElement;if(t.tHead&&t.tHead.rows.length){let l=Array.from(t.tHead.rows[0].cells);for(let i of l){let a=getComputedStyle(i).width;i.style.width&&i.style.width!==a&&(i.style.width=a)}}}static setColumnResizeIndicatorVisibility(e,t,l){let i=e.tableElement;if(i.tHead&&i.tHead.rows.length){let a=Array.from(i.tHead.rows);for(let o of a){let r=o.cells[t];r&&(l?r.classList.add(s.classes.TABLE_CELL_RESIZABLE):r.classList.remove(s.classes.TABLE_CELL_RESIZABLE))}}if(i.tBodies.length){let a=Array.from(i.tBodies[0].rows);for(let o of a){let r=o.cells[t];r&&(l?r.classList.add(s.classes.TABLE_CELL_RESIZABLE):r.classList.remove(s.classes.TABLE_CELL_RESIZABLE))}}}static setRowClickListeners(e,t,l,i){let a=e.tBodies[0];a&&(t?n._attachRowClickListeners(a,l,i):n._detachRowClickListeners(a,l,i))}static setRowClickAttributes(e,t){let l=e.tBodies[0];l&&(t?n._addRowClickAttributes(l):n._removeRowClickAttributes(l))}static getOwnerDocument(e){return e.ownerDocument||document}static _prepend(e,t){let l=t.childNodes.item(0);l?t.insertBefore(e,l):t.appendChild(e)}static _isMac(){return!!(navigator&&navigator.platform&&navigator.platform.substr(0,3)==="Mac")}static _renderSelectAllTemplate(e,t){return Promise.resolve(e()).then(l=>{let i=t.rows.item(t.rows.length-1);if(!i)return;let a=i.cells.item(0);l&&a&&(typeof l=="string"?a.innerHTML=l:l instanceof HTMLElement&&a.appendChild(l),a.setAttribute(s.attributes.CUSTOM_CELL_TEMPLATE,""))})}};var k=class extends Q{constructor(t){super(t)}initialize(){this._tableElement||(this._tableElement=document.createElement("table"),this._tableElement.classList.add(s.classes.TABLE),this._component.children.length&&g(this._component),this._component.appendChild(this._tableElement))}getTableElement(){return this._tableElement||this.initialize(),this._tableElement}createTable(t){return b.createTable(t)}recreateTableBody(t){b.recreateTableBody(t)}setSelectedRows(t,l,i,a,o=!1){b.setSelectedRows(t,l,i,a,o)}clearSelectedRows(t){b.clearSelectedRows(t)}updateSelectedState(t,l){b.updateSelectedState(t,l)}updateSelectAllState(t,l,i){b.updateSelectAllState(t,l,i)}setSortedColumn(t,l,i){b.setSortedColumn(t,l,i)}removeColumnSort(t,l){b.removeColumnSort(t,l)}setSortDirection(t,l,i){b.setSortDirection(t,l,i)}setSelectColumnVisibility(t,l,i,a,o,r,c,m,d){b.setSelectColumnVisibility(t,l,i,a||null,o||null,r||null,c||[],m||null,d||null)}setDense(t,l){b.setDenseState(t,l)}setRoomy(t,l){b.setRoomyState(t,l)}setResizable(t){b.setResizable(t)}setSelectAllVisibility(t,l,i,a,o,r=null){b.setSelectAllVisibility(t,l,i,a,o||null,r||null)}setFilterRow(t){b.setFilterRow(t)}expandRow(t,l,i){return b.expandRow(t,l,i)}collapseRow(t,l){return b.collapseRow(t,l)}isRowExpanded(t,l){return b.isRowExpanded(t,l)}setFixedHeaders(t){b.setFixedHeaders(t)}setTableLayoutType(t){b.setLayoutType(t)}setWrapContentState(t){b.setWrapContentState(t.tableElement,t.wrapContent)}addDocumentListener(t,l){b.getOwnerDocument(this._component).addEventListener(t,l)}removeDocumentListener(t,l){b.getOwnerDocument(this._component).removeEventListener(t,l)}normalizeColumnWidths(t){b.normalizeColumnWidths(t)}setResizeColumnVisibility(t,l,i){b.setColumnResizeIndicatorVisibility(t,l,i)}addTableClass(t){p(t,this._tableElement)}removeTableClass(t){D(t,this._tableElement)}setRowClickListeners(t,l,i,a){b.setRowClickListeners(t,l,i,a)}setRowClickAttributes(t,l){b.setRowClickAttributes(t,l)}};var N=class{constructor(){this._sortedColumns=[]}get sortedColumns(){return[...this._sortedColumns.map(e=>h({},e))]}addSortColumn(e){this._sortedColumns.push(h({},e)),this._updateSortNumbers()}updateSortColumn(e){let t=this._sortedColumns.find(l=>l.columnIndex===e.columnIndex);if(t)switch(t.direction){case"ASC":this.removeSortColumn(e);break;case"DESC":t.direction="ASC";break;case"UNSET":t.direction="DESC";break}}setSortColumns(e){this._sortedColumns=[...e.map(t=>h({},t))]}removeSortColumn(e){typeof e=="number"?this._sortedColumns.splice(e,1):this._sortedColumns.splice(this._sortedColumns.indexOf(e),1),this._updateSortNumbers()}isSortColumn(e){return typeof e=="number"?this._sortedColumns.some(t=>t.columnIndex===e):this._sortedColumns.includes(e)}clearMultiSort(){this._sortedColumns=[]}getSortColumn(e){return this._sortedColumns.find(t=>t.columnIndex===e)}_updateSortNumbers(){this._sortedColumns.every(e=>typeof e.sortOrder=="number")&&this._sortedColumns.sort((e,t)=>e.sortOrder-t.sortOrder),this._sortedColumns.forEach((e,t)=>e.sortOrder=t+1)}};var P=class{constructor(e,t=!1){this.data=e;this.selected=t}};var z=class{constructor(e){this._adapter=e;this._tableRows=[];this._data=[];this._columnConfigurations=[];this._select=!1;this._multiselect=!0;this._dense=!1;this._roomy=!1;this._filter=!1;this._fixedHeaders=!1;this._layoutType=s.strings.DEFAULT_LAYOUT_TYPE;this._wrapContent=!0;this._resizable=!1;this._minResizeWidth=s.numbers.MIN_RESIZE_WIDTH;this._multiColumnSort=!1;this._selectCheckboxAlignment="center";this._isAllSelected=!1;this._sortedColumnIndex=-1;this._rendered=!1;this._allowRowClick=!1;this._multiSortManager=new N;this._rowClickListener=t=>this._onRowClick(t),this._rowDoubleClickListener=t=>this._onRowDoubleClick(t),this._selectRowListener=t=>this._onRowSelected(t),this._selectAllListener=t=>this._onSelectAll(t),this._sortableHeadCellKeydownListener=t=>this._onSortableHeadCellKeydown(t),this._headRowMouseDownListener=t=>this._onHeadRowMouseDown(t),this._headRowContextMenuListener=t=>this._onHeadRowContextMenu(t),this._documentMouseMoveListener=t=>this._onMouseMove(t),this._documentMouseUpListener=t=>this._onMouseUp(t),this._filterListener=(t,l)=>this._onFilter(t,l),this._selectionManager=new I(this._selectKey),this._hiddenColumnManager=new I}initialize(){this.connect(),this._adapter.setHostAttribute(s.attributes.SELECT,this._select.toString()),this._adapter.setHostAttribute(s.attributes.MULTISELECT,this._multiselect.toString()),this._adapter.setHostAttribute(s.attributes.DENSE,this._dense.toString()),this._adapter.setHostAttribute(s.attributes.ROOMY,this._roomy.toString()),this._adapter.setHostAttribute(s.attributes.FILTER,this._filter.toString()),this._adapter.emitHostEvent(s.events.INITIALIZED,void 0,!1)}connect(){this._adapter.initialize()}disconnect(){this._resizeDescriptor=void 0,this._adapter.removeDocumentListener("mousemove",this._documentMouseMoveListener),this._adapter.removeDocumentListener("mouseup",this._documentMouseUpListener)}set data(e){Array.isArray(e)&&e.length>0?w(e[0])?this._data=e.map(t=>h({},t)):this._data=[...e]:this._data=[],this._tableRows=this._data.map(t=>new P(t,this._selectionManager.exists(t))),this._renderBody()}get data(){return this._data.map(e=>h({},e))}set columnConfigurations(e){this._columnConfigurations=e.map(t=>h({},t)),this._hiddenColumnManager.clear(),this._columnConfigurations.forEach(t=>{t.hidden&&this._hiddenColumnManager.add(t)}),this._refreshTableSort(),this.render()}get columnConfigurations(){return this._columnConfigurations.map(e=>h({},e))}get _visibleColumnConfigurations(){return this._columnConfigurations.filter(e=>!this._hiddenColumnManager.exists(e))}get _tableConfiguration(){return{tableElement:this._adapter.getTableElement(),columnConfigurations:this._visibleColumnConfigurations,data:this._tableRows,clickListener:this._allowRowClick?this._rowClickListener:null,doubleClickListener:this._allowRowClick?this._rowDoubleClickListener:null,selectListener:this._select?this._selectRowListener:null,selectAllListener:this._multiselect?this._selectAllListener:null,sortableHeadCellKeydownListener:this._sortableHeadCellKeydownListener,headRowMouseDownListener:this._headRowMouseDownListener,headRowContextMenuListener:this._headRowContextMenuListener,filterListener:this._filter?this._filterListener:null,sortDirection:this._sortDirection,sortedColumn:this._sortedColumnIndex,multiColumnSort:this._multiColumnSort,filter:this._filter,wrapContent:this._wrapContent,fixedHeaders:this._fixedHeaders,layoutType:this._layoutType,dense:this._dense,resizable:this._resizable,rowCreatedCallback:this._rowCreatedCallback,cellCreatedCallback:this._cellCreatedCallback,selectAllTemplate:this._selectAllTemplate,selectCheckboxAlignment:this._selectCheckboxAlignment,tooltipSelect:this._tooltipSelect,tooltipSelectAll:this._tooltipSelectAll}}set select(e){this._select!==e&&(this._select=e,this._adapter.setSelectColumnVisibility(this._adapter.getTableElement(),this._select,this._selectRowListener,this._multiselect?this._selectAllListener:void 0,this._multiselect?this._selectAllTemplate:null,this._selectCheckboxAlignment,this._tableRows,this._tooltipSelect,this._tooltipSelectAll),this._updateSelections(!0),this._select?this._adapter.setHostAttribute(s.attributes.SELECT,this._select.toString()):this._adapter.removeHostAttribute(s.attributes.SELECT))}get select(){return this._select}set multiselect(e){this._multiselect!==e&&(this._multiselect=e,this._select&&(this._adapter.setSelectAllVisibility(this._adapter.getTableElement(),this._multiselect,this._multiselect?this._selectAllListener:null,this._multiselect?this.selectAllTemplate:null,this._selectCheckboxAlignment,this._tooltipSelectAll),this._updateSelections(!0)),this._adapter.setHostAttribute(s.attributes.MULTISELECT,this._multiselect.toString()))}get multiselect(){return this._multiselect}get selectKey(){return Array.isArray(this._selectKey)?[...this._selectKey]:this._selectKey}set selectKey(e){this._originalSelectKey!==e&&(Array.isArray(e)?(this._originalSelectKey=[...e],this._selectKey=[...e]):(this._originalSelectKey=e,this._selectKey=[e]),this._selectionManager.setKey(this._selectKey),this._updateSelections(!1))}get dense(){return this._dense}set dense(e){this._dense!==e&&(this._dense=e,this._adapter.setDense(this._adapter.getTableElement(),this._dense),this._adapter.setHostAttribute(s.attributes.DENSE,this._dense.toString()))}get roomy(){return this._roomy}set roomy(e){e!==this._roomy&&(this._roomy=e,this._applyRoomy())}set filter(e){this._filter!==e&&(this._filter=e,this._adapter.setFilterRow(this._tableConfiguration),this._adapter.setHostAttribute(s.attributes.FILTER,this._filter.toString()))}get filter(){return this._filter}set fixedHeaders(e){this._fixedHeaders!==e&&(this._fixedHeaders=e,this._adapter.setFixedHeaders(this._tableConfiguration))}get fixedHeaders(){return this._fixedHeaders}get layoutType(){return this._layoutType}set layoutType(e){this._layoutType!==e&&(this._layoutType=e,this._adapter.setTableLayoutType(this._tableConfiguration))}get wrapContent(){return this._wrapContent}set wrapContent(e){this._wrapContent!==e&&(this._wrapContent=e,this._adapter.setWrapContentState(this._tableConfiguration))}get resizable(){return this._resizable}set resizable(e){this._resizable!==e&&(this._resizable=e,this._adapter.setResizable(this._tableConfiguration))}get minResizeWidth(){return this._minResizeWidth}set minResizeWidth(e){this._minResizeWidth!==e&&(this._minResizeWidth=e,y(this._minResizeWidth)?this._minResizeWidth<0&&(this._minResizeWidth=0):this._minResizeWidth=s.numbers.MIN_RESIZE_WIDTH)}get allowRowClick(){return this._allowRowClick}set allowRowClick(e){this._allowRowClick!==e&&(this._allowRowClick=e,this._rendered&&(this._adapter.setRowClickListeners(this._adapter.getTableElement(),this._allowRowClick,this._rowClickListener,this._rowDoubleClickListener),this._adapter.setRowClickAttributes(this._adapter.getTableElement(),this._allowRowClick)))}get multiColumnSort(){return this._multiColumnSort}set multiColumnSort(e){e!==this._multiColumnSort&&(this._multiColumnSort=e,this._refreshTableSort(),this.render())}get selectCheckboxAlignment(){return this._selectCheckboxAlignment}set selectCheckboxAlignment(e){e!==this._selectCheckboxAlignment&&(this._selectCheckboxAlignment=e,this._adapter.setHostAttribute(s.attributes.SELECT_CHECKBOX_ALIGNMENT,e),this.render())}get tooltipSelect(){return this._tooltipSelect}set tooltipSelect(e){e!==this._tooltipSelect&&(this._tooltipSelect=e,typeof e=="string"&&this._adapter.setHostAttribute(s.attributes.TOOLTIP_SELECT,e),this.render())}get tooltipSelectAll(){return this._tooltipSelectAll}set tooltipSelectAll(e){e!==this._tooltipSelectAll&&(this._tooltipSelectAll=e,this._adapter.setHostAttribute(s.attributes.TOOLTIP_SELECT_ALL,e),this.render())}get selectAllTemplate(){return this._selectAllTemplate}set selectAllTemplate(e){e!==this._selectAllTemplate&&(this._selectAllTemplate=e,this.render())}get rowCreated(){return this._rowCreatedCallback}set rowCreated(e){this._rowCreatedCallback=e}get cellCreated(){return this._cellCreatedCallback}set cellCreated(e){this._cellCreatedCallback=e}isRowSelected(e){let t=v(Array.isArray(this._selectKey)?this._selectKey:[this._selectKey],e);return this.selectKey?!!this._selectionManager.getItems().find(l=>U(l,t)):this._selectionManager.exists(e)}getSelectedRows(){return this._selectionManager.getItems()}selectRows(e,t){if(!this._selectKey)throw new Error("You must set a selectKey to select rows.");(!this._multiselect||t)&&this.clearSelections(),e&&e.length&&(this._selectionManager.add(e),this._updateSelections(!t))}deselectRows(e){e&&e.length&&(this._selectionManager.remove(e),this._updateSelections(!1))}clearSelections(){let e=this._adapter.getTableElement();this._selectionManager.clear(),this._tableRows.forEach(t=>t.selected=!1),this._isAllSelected=!1,this._adapter.clearSelectedRows(e),this._select&&this._multiselect&&this._adapter.updateSelectAllState(e,!1)}hideColumn(e){let t=this._columnConfigurations[e];this._sortedColumnIndex===e&&(this._sortedColumnIndex=-1),this._hiddenColumnManager.exists(t)||(this._hiddenColumnManager.add(t),this.render())}showColumn(e){let t=this._columnConfigurations[e];this._hiddenColumnManager.exists(t)&&(this._hiddenColumnManager.remove(t),this.render())}isColumnHidden(e){let t=this._columnConfigurations[e];return!!t&&this._hiddenColumnManager.exists(t)}render(){this._adapter.createTable(this._tableConfiguration),this._renderSelections(),this._rendered=!0}_renderBody(){this._rendered&&(this._adapter.recreateTableBody(this._tableConfiguration),this._renderSelections())}_renderSelections(){this.select&&(this._isAllSelected=this._getSelectAllState(),this._multiselect&&this._adapter.updateSelectAllState(this._adapter.getTableElement(),this._isAllSelected,this._isIndeterminate(this._isAllSelected)));let e=this._selectionManager.getItems();e.length&&this._adapter.setSelectedRows(this._adapter.getTableElement(),this._selectKey,this._data,e,!1)}expandRow(e,t){if(!this._rendered)throw new Error("Cannot expand a row before the table has rendered.");if(e<0||e>this._tableRows.length)throw new Error(`Invalid row index: ${e}.`);return this._adapter.expandRow(this._tableConfiguration,e,t)}collapseRow(e){return!this._rendered||e<0||e>this._tableRows.length?Promise.resolve():this._adapter.collapseRow(this._tableConfiguration,e)}isRowExpanded(e){return this._adapter.isRowExpanded(this._tableConfiguration,e)}selectRowsByIndex(e,t){let l=e.map(i=>this._data[i]).filter(i=>!!i);this.selectRows(l,!t)}deselectRowsByIndex(e){let t=e.map(l=>this._data[l]).filter(l=>!!l);this.deselectRows(t)}_getSelectAllState(){return this._tableRows.length>0&&this._tableRows.every(e=>e.selected)}_updateSelections(e){this._tableRows.forEach(l=>l.selected=this._selectionManager.exists(l.data));let t=this._getSelectAllState();this._adapter.setSelectedRows(this._adapter.getTableElement(),this._selectKey,this._data,this._selectionManager.getItems(),e),(t!==this._isAllSelected||this._isIndeterminate(t))&&(this._isAllSelected=t,this._multiselect&&this._adapter.updateSelectAllState(this._adapter.getTableElement(),this._isAllSelected,this._isIndeterminate(this._isAllSelected)))}_onRowClick(e){if(e.stopImmediatePropagation(),e.target.tagName==="INPUT"&&e.target.type==="checkbox")return;let i=R(e).filter(m=>m.nodeType===1).find(m=>m.hasAttribute(s.attributes.CUSTOM_CELL_TEMPLATE));if(i&&i.hasAttribute(s.attributes.CUSTOM_CELL_TEMPLATE_STOP_PROPAGATION))return;let{index:o,data:r}=this._getSelectedRowFromEvent(e),c={index:o,data:r};this._adapter.emitHostEvent(s.events.ROW_CLICK,c,!0,!1)}_onRowDoubleClick(e){if(e.stopPropagation(),e.target.tagName==="INPUT"&&e.target.type==="checkbox")return;let t=this._getSelectedRowFromEvent(e),l={index:t.index,data:t.data};this._adapter.emitHostEvent(s.events.SELECT_DOUBLE,l,!0,!1)}_onRowSelected(e){let t=this._getSelectedRowFromEvent(e);this._multiselect||this._tableRows.filter(r=>r.selected).forEach(r=>{U(r.data,v(this._selectKey,t.data))||this.deselectRows([r.data])});let l=!this._selectionManager.exists(t.data);this._adapter.updateSelectedState(t.rowElement,l),l?this._selectionManager.add(t.data):this._selectionManager.remove(t.data),this._tableRows[t.index].selected=l;let i=[t.index],a=!1;if(this._multiselect){if(e.shiftKey&&this._previouslyClickedRow&&(i=this._shiftSelectRows(t),i.includes(this._previouslyClickedRow.index))){let r=i.indexOf(this._previouslyClickedRow.index);i.splice(r,1)}a=this._getSelectAllState(),this._adapter.updateSelectAllState(this._adapter.getTableElement(),a,this._isIndeterminate(a))}for(let o of i){let r=this._tableRows[o].data,m={selected:this._selectionManager.exists(r),index:o,data:r};this._adapter.emitHostEvent(s.events.SELECT,m,!0,!1)}if(this._isAllSelected!==a){this._isAllSelected=a;let o={status:this._isAllSelected,count:this._tableRows.filter(r=>r.selected).length,data:[...this._data],targetType:"row"};this._adapter.emitHostEvent(s.events.SELECT_ALL,o,!0,!1)}this._previouslyClickedRow=h({},t)}_getSelectedRowFromEvent(e){let l=R(e).find(r=>r.tagName==="TR"),i=l.parentElement,a=this._getNonExpandedRows(i).findIndex(r=>r===l),o=this._tableRows[a].data;return{rowElement:l,index:a,data:o}}_getNonExpandedRows(e){return Array.from(e.rows).filter(t=>!t.classList.contains(s.classes.TABLE_ROW_EXPANDABLE_CONTENT))}_onSelectAll(e){e.stopPropagation(),this._isAllSelected=!this._isAllSelected;let t=this._adapter.getTableElement();this._adapter.updateSelectAllState(t,this._isAllSelected),this._tableRows.forEach((i,a)=>{i.selected=this._isAllSelected,this._isAllSelected?this._selectionManager.add(i.data):this._selectionManager.remove(i.data);let o=b.getRowByIndex(t,a);o&&this._adapter.updateSelectedState(o,this._isAllSelected)});let l={status:this._isAllSelected,count:this._tableRows.filter(i=>i.selected).length,data:[...this._data],targetType:"select-all"};this._adapter.emitHostEvent(s.events.SELECT_ALL,l,!0,!1)}_onHeadRowContextMenu(e){e.ctrlKey&&e.preventDefault()}_onHeadRowMouseDown(e){if(e.button!==0)return;let t=R(e),l=e.target,i=t.find(r=>r.tagName==="TR"),a=t.find(r=>r.tagName==="TH"),o=Array.from(i.cells).findIndex(r=>r===a);this._headCellMouseDownIndex=o,l!==a&&l.classList.contains(s.classes.TABLE_RESIZE_HANDLE)&&(this._resizeDescriptor={element:a,startWidth:a.offsetWidth,startX:e.pageX,width:a.offsetWidth,index:this._select?o-1:o},this._adapter.addDocumentListener("mousemove",this._documentMouseMoveListener),this._adapter.setResizeColumnVisibility(this._tableConfiguration,o,!0)),this._adapter.addDocumentListener("mouseup",this._documentMouseUpListener)}_onMouseMove(e){if(this._resizeDescriptor){let t=this._resizeDescriptor.startWidth+(e.pageX-this._resizeDescriptor.startX);t<this._minResizeWidth&&(t=this._minResizeWidth),this._resizeDescriptor.width=t,this._resizeDescriptor.element.style.width=`${t}px`,this._adapter.addTableClass(s.classes.TABLE_RESIZING)}}_onMouseUp(e){if(this._adapter.removeDocumentListener("mousemove",this._documentMouseMoveListener),this._adapter.removeDocumentListener("mouseup",this._documentMouseUpListener),this._adapter.removeTableClass(s.classes.TABLE_RESIZING),this._headCellMouseDownIndex!==void 0){if(this._resizeDescriptor){this._adapter.normalizeColumnWidths(this._tableConfiguration),this._adapter.setResizeColumnVisibility(this._tableConfiguration,this._headCellMouseDownIndex,!1);let t={index:this._resizeDescriptor.index,width:this._resizeDescriptor.width};this._adapter.emitHostEvent(s.events.COLUMN_RESIZE,t),this._resizeDescriptor=void 0}else this._tableConfiguration.tableElement.tHead.contains(e.target)&&(this._multiColumnSort?this._onMultiSort(this._headCellMouseDownIndex,e.ctrlKey):this._onSort(this._headCellMouseDownIndex));this._headCellMouseDownIndex=void 0}}_onSortableHeadCellKeydown(e){if(e.key===" "||e.key==="Enter"){let t=R(e),l=t.find(o=>o.tagName==="TR"),i=t.find(o=>o.tagName==="TH"),a=Array.from(l.cells).findIndex(o=>o===i);this._onSort(a)}}_onSort(e){let t=this._select?e-1:e,l=t>=0?this._visibleColumnConfigurations[t]:null;if(!l||!l.sortable)return;let i="ASC",a=t===this._sortedColumnIndex,o=this._sortDirection==="ASC"||this._sortDirection===void 0,r=a&&this._sortDirection==="DESC";a&&o&&(i="DESC"),r&&!l.preventUnsort&&(i="UNSET");let c={direction:i,columnIndex:t};if(this._adapter.emitHostEvent(s.events.SORT,c,!0,!0)){if(a&&this._sortDirection==="DESC"&&!l.preventUnsort){this._adapter.removeColumnSort(this._adapter.getTableElement(),this._select?this._sortedColumnIndex+1:this._sortedColumnIndex),this._sortedColumnIndex=-1;return}this._sortDirection=i,t===this._sortedColumnIndex?this._adapter.setSortDirection(this._adapter.getTableElement(),e,this._sortDirection):(this._sortedColumnIndex>=0&&this._adapter.removeColumnSort(this._adapter.getTableElement(),this._select?this._sortedColumnIndex+1:this._sortedColumnIndex),this._sortedColumnIndex=t,this._adapter.setSortedColumn(this._adapter.getTableElement(),e,this._sortDirection))}}_onMultiSort(e,t){let l=this._select?e-1:e,i=l>=0?this._visibleColumnConfigurations[l]:null;if(!i||!i.sortable)return;let a=this._multiSortManager.sortedColumns,o=this._multiSortManager.getSortColumn(l);o?this._multiSortManager.updateSortColumn(o):t?this._multiSortManager.addSortColumn({direction:"DESC",columnIndex:l,propertyName:i.property}):(this._multiSortManager.clearMultiSort(),this._multiSortManager.addSortColumn({direction:"DESC",columnIndex:l,propertyName:i.property}));let r=this._multiSortManager.sortedColumns.map(d=>h({},d));if(!this._adapter.emitHostEvent(s.events.SORT,r,!0,!0)){this._multiSortManager.setSortColumns(a);return}let m=this._multiSortManager.sortedColumns.length>1;for(let d=0;d<this._visibleColumnConfigurations.length;d++){let u=this._select?d+1:d;if(!this._multiSortManager.isSortColumn(d))this._adapter.removeColumnSort(this._adapter.getTableElement(),u),b.setMultiSortColumnSortNumber(this._adapter.getTableElement(),m,u,null);else{let C=this._multiSortManager.getSortColumn(d);C&&(this._adapter.setSortedColumn(this._adapter.getTableElement(),u,C.direction),b.setMultiSortColumnSortNumber(this._adapter.getTableElement(),m,u,C.sortOrder||null))}}}_onFilter(e,t){let l={value:e,columnIndex:t};this._adapter.emitHostEvent(s.events.FILTER,l,!0,!1)}_shiftSelectRows(e){let t=[];if(this._previouslyClickedRow){let l=this._previouslyClickedRow.index,i=e.index,a=i>=l?l:i,o=i>=l?i:l;o+=o>a?1:0,a+=a>o?1:0;let r=d=>this.selectRows(d,!1),c=this._tableRows.find(d=>d.selected&&d.data===e.data),m=this._tableRows.find(d=>{var u;return d.data===((u=this._previouslyClickedRow)==null?void 0:u.data)&&!d.selected});(!c||m)&&(r=d=>this.deselectRows(d));for(let d=a;d<o;d++)t.push(d);r(this.data.filter((d,u)=>t.includes(u)))}return t}_isIndeterminate(e){return!e&&this.getSelectedRows().length>0&&this._data.length!==this.getSelectedRows().length}_applyRoomy(){this._adapter.setRoomy(this._adapter.getTableElement(),this._roomy),this._adapter.setHostAttribute(s.attributes.ROOMY,this._roomy.toString())}_refreshTableSort(){if(this._sortedColumnIndex=this._visibleColumnConfigurations.findIndex(e=>e.initialSort),this._sortDirection=this._sortedColumnIndex>=0?this._visibleColumnConfigurations[this._sortedColumnIndex].sortDirection:void 0,this._multiColumnSort){let e=[];this._visibleColumnConfigurations.forEach((t,l)=>{typeof t.initialSort=="object"&&e.push({columnIndex:l,direction:t.initialSort.direction,sortOrder:t.initialSort.sortOrder,propertyName:t.property})}),this._multiSortManager.setSortColumns(e)}}};var E=class extends J{constructor(){super();se.define(te),this._foundation=new z(new k(this))}static get observedAttributes(){return[s.attributes.SELECT,s.attributes.MULTISELECT,s.attributes.SELECT_KEY,s.attributes.DENSE,s.attributes.ROOMY,s.attributes.FILTER,s.attributes.FIXED_HEADERS,s.attributes.LAYOUT_TYPE,s.attributes.WRAP_CONTENT,s.attributes.RESIZABLE,s.attributes.MIN_RESIZE_WIDTH,s.attributes.ALLOW_ROW_CLICK,s.attributes.MULTI_COLUMN_SORT,s.attributes.SELECT_CHECKBOX_ALIGNMENT,s.attributes.TOOLTIP_SELECT,s.attributes.TOOLTIP_SELECT_ALL]}initializedCallback(){this._foundation.initialize()}connectedCallback(){this._foundation.connect()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,l,i){switch(t){case s.attributes.SELECT:this.select=L(i);break;case s.attributes.MULTISELECT:this.multiselect=L(i);break;case s.attributes.SELECT_KEY:this.selectKey=i;break;case s.attributes.DENSE:this.dense=L(i);break;case s.attributes.ROOMY:this.roomy=L(i);break;case s.attributes.FILTER:this.filter=L(i);break;case s.attributes.FIXED_HEADERS:this.fixedHeaders=L(i);break;case s.attributes.LAYOUT_TYPE:this.layoutType=i;break;case s.attributes.WRAP_CONTENT:this.wrapContent=L(i);break;case s.attributes.RESIZABLE:this.resizable=L(i);break;case s.attributes.MIN_RESIZE_WIDTH:this.minResizeWidth=G(i);break;case s.attributes.ALLOW_ROW_CLICK:this.allowRowClick=L(i);break;case s.attributes.MULTI_COLUMN_SORT:this.multiColumnSort=L(i);break;case s.attributes.SELECT_CHECKBOX_ALIGNMENT:this.selectCheckboxAlignment=this.getAttribute(s.attributes.SELECT_CHECKBOX_ALIGNMENT)||"center";break;case s.attributes.TOOLTIP_SELECT:this.tooltipSelect=i;break;case s.attributes.TOOLTIP_SELECT_ALL:this.tooltipSelectAll=i;break}}hideColumn(t){this._foundation.hideColumn(t)}showColumn(t){this._foundation.showColumn(t)}isColumnHidden(t){return this._foundation.isColumnHidden(t)}getSelectedRows(){return this._foundation.getSelectedRows()}selectRow(t){this._foundation.selectRows([t],!1)}selectRows(t,l=!1){this._foundation.selectRows(t,!l)}deselectRow(t){this._foundation.deselectRows([t])}deselectRows(t){this._foundation.deselectRows(t)}clearSelections(){this._foundation.clearSelections()}render(){this._foundation.render()}expandRow(t,l){return this._foundation.expandRow(t,l)}collapseRow(t){return this._foundation.collapseRow(t)}isRowExpanded(t){return this._foundation.isRowExpanded(t)}selectRowsByIndex(t,l){typeof t=="number"?this._foundation.selectRowsByIndex([t],l):Array.isArray(t)&&this._foundation.selectRowsByIndex(t,l)}deselectRowsByIndex(t){typeof t=="number"?this._foundation.deselectRowsByIndex([t]):Array.isArray(t)&&this._foundation.deselectRowsByIndex(t)}isRowSelected(t){return this._foundation.isRowSelected(t)}};_([T()],E.prototype,"data",2),_([T()],E.prototype,"columnConfigurations",2),_([T()],E.prototype,"select",2),_([T()],E.prototype,"multiselect",2),_([T()],E.prototype,"selectKey",2),_([T()],E.prototype,"tooltipSelect",2),_([T()],E.prototype,"tooltipSelectAll",2),_([T()],E.prototype,"dense",2),_([T()],E.prototype,"roomy",2),_([T()],E.prototype,"filter",2),_([T()],E.prototype,"fixedHeaders",2),_([T()],E.prototype,"layoutType",2),_([T()],E.prototype,"wrapContent",2),_([T()],E.prototype,"resizable",2),_([T()],E.prototype,"minResizeWidth",2),_([T()],E.prototype,"allowRowClick",2),_([T()],E.prototype,"multiColumnSort",2),_([T()],E.prototype,"rowCreated",2),_([T()],E.prototype,"cellCreated",2),_([T()],E.prototype,"selectAllTemplate",2),_([T()],E.prototype,"selectCheckboxAlignment",2),E=_([j({name:s.elementName,dependencies:[ae,oe,re]})],E);function El(){q(E)}export{s as a,B as b,O as c,he as d,k as e,P as f,z as g,E as h,El as i};
7
+ //# sourceMappingURL=chunk.IO3TM653.js.map