@tylertech/forge 3.0.0-next.23 → 3.0.0-next.24

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 (570) hide show
  1. package/custom-elements.json +28789 -33252
  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/button/index.js +1 -1
  17. package/dist/esm/button-area/index.js +1 -1
  18. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  20. package/dist/esm/button-toggle/index.js +1 -1
  21. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  22. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  23. package/dist/esm/calendar/index.js +1 -1
  24. package/dist/esm/card/index.js +1 -1
  25. package/dist/esm/checkbox/index.js +1 -1
  26. package/dist/esm/chip-field/index.js +1 -1
  27. package/dist/esm/chips/chip/index.js +1 -1
  28. package/dist/esm/chips/chip-set/index.js +1 -1
  29. package/dist/esm/chips/index.js +1 -1
  30. package/dist/esm/chunks/{chunk.AOVXNX7P.js → chunk.24L6GVJK.js} +2 -2
  31. package/dist/esm/chunks/{chunk.WMJSYYXQ.js → chunk.27YQZWEJ.js} +2 -2
  32. package/dist/esm/chunks/{chunk.AG6IRMLZ.js → chunk.2CP5CIRB.js} +2 -2
  33. package/dist/esm/chunks/chunk.2FF7EQQ3.js +7 -0
  34. package/dist/esm/chunks/chunk.2FF7EQQ3.js.map +7 -0
  35. package/dist/esm/chunks/{chunk.USTVZ6MZ.js → chunk.345JBXIL.js} +2 -2
  36. package/dist/esm/chunks/{chunk.USTVZ6MZ.js.map → chunk.345JBXIL.js.map} +2 -2
  37. package/dist/esm/chunks/chunk.3B573FQF.js +7 -0
  38. package/dist/esm/chunks/chunk.3B573FQF.js.map +7 -0
  39. package/dist/esm/chunks/{chunk.H4VQXV2H.js → chunk.3CXCYRCE.js} +2 -2
  40. package/dist/esm/chunks/{chunk.MTIPIEXA.js → chunk.3LNZRQAL.js} +2 -2
  41. package/dist/esm/chunks/{chunk.BQ52JYLA.js → chunk.3LUG3LPU.js} +2 -2
  42. package/dist/esm/chunks/{chunk.IL4S57WO.js → chunk.3ODT27TD.js} +2 -2
  43. package/dist/esm/chunks/chunk.3S3NH5P4.js +7 -0
  44. package/dist/esm/chunks/chunk.3S3NH5P4.js.map +7 -0
  45. package/dist/esm/chunks/{chunk.XZ23XHFE.js → chunk.45N7ZZVL.js} +2 -2
  46. package/dist/esm/chunks/{chunk.YWJVZVZX.js → chunk.4GFUXXXH.js} +2 -2
  47. package/dist/esm/chunks/chunk.4UMFAYZH.js +7 -0
  48. package/dist/esm/chunks/chunk.4UMFAYZH.js.map +7 -0
  49. package/dist/esm/chunks/{chunk.ZA7JY3AY.js → chunk.5DDR6QSF.js} +2 -2
  50. package/dist/esm/chunks/{chunk.3KAKJGUS.js → chunk.5NEWFXFX.js} +2 -2
  51. package/dist/esm/chunks/{chunk.VRSPT7WX.js → chunk.5OT53ZJM.js} +2 -2
  52. package/dist/esm/chunks/{chunk.VL5RWSAV.js → chunk.6DWRGYKV.js} +2 -2
  53. package/dist/esm/chunks/{chunk.IEABOPNB.js → chunk.6T7KPDCD.js} +2 -2
  54. package/dist/esm/chunks/chunk.6TQDZAMD.js +7 -0
  55. package/dist/esm/chunks/chunk.6TQDZAMD.js.map +7 -0
  56. package/dist/esm/chunks/chunk.6V6VLKIK.js +7 -0
  57. package/dist/esm/chunks/chunk.6V6VLKIK.js.map +7 -0
  58. package/dist/esm/chunks/{chunk.SROEDYPL.js → chunk.7JO5MB55.js} +2 -2
  59. package/dist/esm/chunks/{chunk.CLYGTLXN.js → chunk.7TE74NJZ.js} +2 -2
  60. package/dist/esm/chunks/{chunk.AGLI4WR4.js → chunk.AJLS5C7O.js} +2 -2
  61. package/dist/esm/chunks/{chunk.TSSZQPLE.js → chunk.BURDWL57.js} +2 -2
  62. package/dist/esm/chunks/chunk.BYSMPFWQ.js +7 -0
  63. package/dist/esm/chunks/chunk.BYSMPFWQ.js.map +7 -0
  64. package/dist/esm/chunks/{chunk.BHE6Z5Y2.js → chunk.CQ4XBOX5.js} +2 -2
  65. package/dist/esm/chunks/{chunk.NEQX2QVX.js → chunk.DJQXJO3T.js} +2 -2
  66. package/dist/esm/chunks/chunk.DN6Y3VXC.js +7 -0
  67. package/dist/esm/chunks/{chunk.RLQB7224.js.map → chunk.DN6Y3VXC.js.map} +2 -2
  68. package/dist/esm/chunks/{chunk.VJZ7VDG5.js → chunk.DPJJB67L.js} +2 -2
  69. package/dist/esm/chunks/{chunk.7Y3BUR7Q.js → chunk.EBRMG6N3.js} +2 -2
  70. package/dist/esm/chunks/{chunk.7Y3BUR7Q.js.map → chunk.EBRMG6N3.js.map} +2 -2
  71. package/dist/esm/chunks/chunk.EPMDEQF7.js +7 -0
  72. package/dist/esm/chunks/chunk.EPMDEQF7.js.map +7 -0
  73. package/dist/esm/chunks/{chunk.OOAJHLW4.js → chunk.EZIABLIR.js} +2 -2
  74. package/dist/esm/chunks/{chunk.ZG6YF2HI.js → chunk.F53DSRUO.js} +2 -2
  75. package/dist/esm/chunks/{chunk.7AAICE77.js → chunk.FIO22U2C.js} +2 -2
  76. package/dist/esm/chunks/{chunk.U6J4VHU6.js → chunk.FKMTIOBA.js} +2 -2
  77. package/dist/esm/chunks/chunk.FMDUCGOU.js +7 -0
  78. package/dist/esm/chunks/{chunk.OJ7JO4O6.js.map → chunk.FMDUCGOU.js.map} +1 -1
  79. package/dist/esm/chunks/{chunk.W4HANHUO.js → chunk.FMGBPF7B.js} +2 -2
  80. package/dist/esm/chunks/{chunk.5MB6CTBA.js → chunk.FVFPDWA4.js} +2 -2
  81. package/dist/esm/chunks/{chunk.ENUKGA2U.js → chunk.FYPIHFXD.js} +2 -2
  82. package/dist/esm/chunks/chunk.GNQ24XWK.js +7 -0
  83. package/dist/esm/chunks/chunk.GNQ24XWK.js.map +7 -0
  84. package/dist/esm/chunks/chunk.GP6LHJDA.js +7 -0
  85. package/dist/esm/chunks/chunk.GP6LHJDA.js.map +7 -0
  86. package/dist/esm/chunks/{chunk.CE35CVDV.js → chunk.GQ33JZVE.js} +2 -2
  87. package/dist/esm/chunks/{chunk.2W23MOPP.js → chunk.GUBLRHCG.js} +2 -2
  88. package/dist/esm/chunks/{chunk.473WRJ5G.js → chunk.HJUXBSFZ.js} +2 -2
  89. package/dist/esm/chunks/chunk.HJUXBSFZ.js.map +7 -0
  90. package/dist/esm/chunks/{chunk.37B332ZK.js → chunk.HSNVTV7K.js} +2 -2
  91. package/dist/esm/chunks/{chunk.PC6TW5XE.js → chunk.HXNNWUI3.js} +2 -2
  92. package/dist/esm/chunks/{chunk.QCPV5DEG.js → chunk.IOGCI64X.js} +2 -2
  93. package/dist/esm/chunks/chunk.JB2F2HQE.js +7 -0
  94. package/dist/esm/chunks/chunk.JB2F2HQE.js.map +7 -0
  95. package/dist/esm/chunks/chunk.JGPWKCAU.js +7 -0
  96. package/dist/esm/chunks/chunk.JGPWKCAU.js.map +7 -0
  97. package/dist/esm/chunks/chunk.JU76GN6C.js +7 -0
  98. package/dist/esm/chunks/{chunk.KLU54MDQ.js.map → chunk.JU76GN6C.js.map} +2 -2
  99. package/dist/esm/chunks/chunk.K7I5FWBT.js +7 -0
  100. package/dist/esm/chunks/chunk.K7I5FWBT.js.map +7 -0
  101. package/dist/esm/chunks/{chunk.5UOX22ML.js → chunk.KKVQNKMV.js} +2 -2
  102. package/dist/esm/chunks/{chunk.YPNSK2CK.js → chunk.KW5A2U5U.js} +2 -2
  103. package/dist/esm/chunks/chunk.L6L3CPBH.js +7 -0
  104. package/dist/esm/chunks/chunk.L6L3CPBH.js.map +7 -0
  105. package/dist/esm/chunks/{chunk.KO6ODCZC.js → chunk.LIJE4T3D.js} +2 -2
  106. package/dist/esm/chunks/{chunk.KEOLH7G3.js → chunk.LQN5U4QH.js} +2 -2
  107. package/dist/esm/chunks/{chunk.5QIWLZG3.js → chunk.LSUIJDFO.js} +2 -2
  108. package/dist/esm/chunks/{chunk.77C7S7ZS.js → chunk.N65CAIE5.js} +2 -2
  109. package/dist/esm/chunks/{chunk.UKBE2FMZ.js → chunk.NNLZKMFX.js} +2 -2
  110. package/dist/esm/chunks/{chunk.EO3GP6DP.js → chunk.ON6FFHRE.js} +2 -2
  111. package/dist/esm/chunks/{chunk.OVXEOEJF.js → chunk.ONFZ3H7M.js} +2 -2
  112. package/dist/esm/chunks/{chunk.32APLNN2.js → chunk.OVVBXM6K.js} +2 -2
  113. package/dist/esm/chunks/{chunk.FLBYVCQ6.js → chunk.P3Q3IVVX.js} +2 -2
  114. package/dist/esm/chunks/{chunk.FLBYVCQ6.js.map → chunk.P3Q3IVVX.js.map} +2 -2
  115. package/dist/esm/chunks/{chunk.DKERDHXH.js → chunk.P74RZEWP.js} +2 -2
  116. package/dist/esm/chunks/{chunk.QLGJS37N.js → chunk.PBORL6KX.js} +2 -2
  117. package/dist/esm/chunks/chunk.PDJ2H5ZG.js +7 -0
  118. package/dist/esm/chunks/{chunk.UPSXYWPD.js.map → chunk.PDJ2H5ZG.js.map} +3 -3
  119. package/dist/esm/chunks/{chunk.JGURMVW7.js → chunk.PGMOAILY.js} +2 -2
  120. package/dist/esm/chunks/{chunk.OEI35LFU.js → chunk.PKCMTSWR.js} +2 -2
  121. package/dist/esm/chunks/{chunk.QUXMLWBJ.js → chunk.Q3Z6VZUD.js} +2 -2
  122. package/dist/esm/chunks/{chunk.TQWZDM6T.js → chunk.QBHJFCLL.js} +2 -2
  123. package/dist/esm/chunks/{chunk.WXVVOFNK.js → chunk.QDG6TP2Z.js} +2 -2
  124. package/dist/esm/chunks/{chunk.H5RW3A4M.js → chunk.QH27OIAK.js} +2 -2
  125. package/dist/esm/chunks/chunk.QKCPE4LW.js +7 -0
  126. package/dist/esm/chunks/{chunk.2GUWHBUU.js → chunk.QM32CJAX.js} +2 -2
  127. package/dist/esm/chunks/{chunk.2GUWHBUU.js.map → chunk.QM32CJAX.js.map} +2 -2
  128. package/dist/esm/chunks/{chunk.FLF5RTYO.js → chunk.R2CJMM2F.js} +2 -2
  129. package/dist/esm/chunks/{chunk.IQYOLMPG.js → chunk.RGDLRUSM.js} +2 -2
  130. package/dist/esm/chunks/{chunk.QIZBZGYT.js → chunk.RKPWFEFJ.js} +2 -2
  131. package/dist/esm/chunks/{chunk.RXBLU4OJ.js → chunk.S5EU72NR.js} +2 -2
  132. package/dist/esm/chunks/chunk.SJYEDGBN.js +7 -0
  133. package/dist/esm/chunks/chunk.SJYEDGBN.js.map +7 -0
  134. package/dist/esm/chunks/{chunk.T7NWP7DB.js → chunk.SW6JDC2Y.js} +2 -2
  135. package/dist/esm/chunks/{chunk.7IPAW4D2.js → chunk.TAQRHBGS.js} +2 -2
  136. package/dist/esm/chunks/{chunk.MFQRXVKO.js → chunk.TEZFEC5B.js} +2 -2
  137. package/dist/esm/chunks/{chunk.MX4JX4GT.js → chunk.THIUQ2AU.js} +2 -2
  138. package/dist/esm/chunks/{chunk.LY2Z2Z7S.js → chunk.TQMT7BIZ.js} +2 -2
  139. package/dist/esm/chunks/{chunk.GIENHEMN.js → chunk.TR45SGWL.js} +2 -2
  140. package/dist/esm/chunks/chunk.TZHVZMOB.js +12 -0
  141. package/dist/esm/chunks/chunk.TZHVZMOB.js.map +7 -0
  142. package/dist/esm/chunks/{chunk.CFAI4K3E.js → chunk.UBVWYWO7.js} +2 -2
  143. package/dist/esm/chunks/{chunk.NWVQ5HK2.js → chunk.UHPODZWA.js} +2 -2
  144. package/dist/esm/chunks/{chunk.3PMONORO.js → chunk.V4R7FCZ2.js} +2 -2
  145. package/dist/esm/chunks/chunk.V5YGDB7V.js +7 -0
  146. package/dist/esm/chunks/{chunk.3II7OT2I.js.map → chunk.V5YGDB7V.js.map} +2 -2
  147. package/dist/esm/chunks/chunk.VAE5IFEM.js +7 -0
  148. package/dist/esm/chunks/{chunk.GBAVJILM.js.map → chunk.VAE5IFEM.js.map} +4 -4
  149. package/dist/esm/chunks/{chunk.QTY25OTN.js → chunk.VCASLYVR.js} +2 -2
  150. package/dist/esm/chunks/{chunk.QTY25OTN.js.map → chunk.VCASLYVR.js.map} +2 -2
  151. package/dist/esm/chunks/chunk.W4CL56G7.js +7 -0
  152. package/dist/esm/chunks/{chunk.BQZKOIAW.js.map → chunk.W4CL56G7.js.map} +2 -2
  153. package/dist/esm/chunks/{chunk.BEFAXPXJ.js → chunk.WNX3GGYT.js} +2 -2
  154. package/dist/esm/chunks/chunk.X4NHJE7S.js +7 -0
  155. package/dist/esm/chunks/chunk.X4NHJE7S.js.map +7 -0
  156. package/dist/esm/chunks/{chunk.I7YON2TC.js → chunk.X5MI5OFS.js} +2 -2
  157. package/dist/esm/chunks/{chunk.QKTK5XUE.js → chunk.XHRBFPZ2.js} +2 -2
  158. package/dist/esm/chunks/{chunk.ASLHRT3N.js → chunk.XT6RPXTM.js} +2 -2
  159. package/dist/esm/chunks/{chunk.VGIRVTBJ.js → chunk.XWVFJVBN.js} +2 -2
  160. package/dist/esm/chunks/{chunk.YNCTSMT6.js → chunk.YXFGOJ5Z.js} +2 -2
  161. package/dist/esm/chunks/chunk.YZ26YDCO.js +7 -0
  162. package/dist/esm/chunks/{chunk.A7BCLPP4.js.map → chunk.YZ26YDCO.js.map} +2 -2
  163. package/dist/esm/chunks/chunk.Z6G2RUC2.js +7 -0
  164. package/dist/esm/chunks/chunk.Z6G2RUC2.js.map +7 -0
  165. package/dist/esm/chunks/{chunk.K6GJNDTY.js → chunk.Z7IUKJHZ.js} +2 -2
  166. package/dist/esm/chunks/{chunk.K6GJNDTY.js.map → chunk.Z7IUKJHZ.js.map} +1 -1
  167. package/dist/esm/chunks/{chunk.GG7IQL46.js → chunk.ZPH3TMNA.js} +2 -2
  168. package/dist/esm/chunks/chunk.ZSHPKAXP.js +7 -0
  169. package/dist/esm/chunks/chunk.ZSHPKAXP.js.map +7 -0
  170. package/dist/esm/chunks/{chunk.CEGBMUSR.js → chunk.ZWELGTD7.js} +2 -2
  171. package/dist/esm/circular-progress/index.js +1 -1
  172. package/dist/esm/color-picker/index.js +1 -1
  173. package/dist/esm/core/index.js +1 -1
  174. package/dist/esm/date-picker/index.js +1 -1
  175. package/dist/esm/date-range-picker/index.js +1 -1
  176. package/dist/esm/deprecated/button/index.js +1 -1
  177. package/dist/esm/deprecated/icon-button/index.js +7 -0
  178. package/dist/esm/deprecated/index.js +1 -1
  179. package/dist/esm/dialog/index.js +1 -1
  180. package/dist/esm/divider/index.js +1 -1
  181. package/dist/esm/drawer/drawer/index.js +1 -1
  182. package/dist/esm/drawer/index.js +1 -1
  183. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  184. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  185. package/dist/esm/expansion-panel/index.js +1 -1
  186. package/dist/esm/field/index.js +1 -1
  187. package/dist/esm/file-picker/index.js +1 -1
  188. package/dist/esm/floating-action-button/index.js +1 -1
  189. package/dist/esm/focus-indicator/index.js +1 -1
  190. package/dist/esm/icon/index.js +1 -1
  191. package/dist/esm/icon-button/index.js +1 -1
  192. package/dist/esm/index.js +1 -1
  193. package/dist/esm/inline-message/index.js +1 -1
  194. package/dist/esm/keyboard-shortcut/index.js +1 -1
  195. package/dist/esm/label/index.js +1 -1
  196. package/dist/esm/label-value/index.js +1 -1
  197. package/dist/esm/linear-progress/index.js +1 -1
  198. package/dist/esm/list/index.js +1 -1
  199. package/dist/esm/list/list/index.js +1 -1
  200. package/dist/esm/list/list-item/index.js +1 -1
  201. package/dist/esm/list-dropdown/index.js +1 -1
  202. package/dist/esm/menu/index.js +1 -1
  203. package/dist/esm/open-icon/index.js +1 -1
  204. package/dist/esm/overlay/index.js +1 -1
  205. package/dist/esm/page-state/index.js +1 -1
  206. package/dist/esm/paginator/index.js +1 -1
  207. package/dist/esm/popover/index.js +1 -1
  208. package/dist/esm/profile-card/index.js +1 -1
  209. package/dist/esm/radio/index.js +1 -1
  210. package/dist/esm/radio/radio/index.js +1 -1
  211. package/dist/esm/radio/radio-group/index.js +1 -1
  212. package/dist/esm/scaffold/index.js +1 -1
  213. package/dist/esm/select/core/index.js +1 -1
  214. package/dist/esm/select/index.js +1 -1
  215. package/dist/esm/select/option/index.js +1 -1
  216. package/dist/esm/select/option-group/index.js +1 -1
  217. package/dist/esm/select/select/index.js +1 -1
  218. package/dist/esm/select/select-dropdown/index.js +1 -1
  219. package/dist/esm/skeleton/index.js +1 -1
  220. package/dist/esm/slider/index.js +1 -1
  221. package/dist/esm/split-button/index.js +1 -1
  222. package/dist/esm/split-view/index.js +1 -1
  223. package/dist/esm/split-view/split-view/index.js +1 -1
  224. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  225. package/dist/esm/stack/index.js +1 -1
  226. package/dist/esm/state-layer/index.js +1 -1
  227. package/dist/esm/stepper/index.js +1 -1
  228. package/dist/esm/stepper/step/index.js +1 -1
  229. package/dist/esm/stepper/stepper/index.js +1 -1
  230. package/dist/esm/switch/index.js +1 -1
  231. package/dist/esm/table/index.js +1 -1
  232. package/dist/esm/tabs/index.js +1 -1
  233. package/dist/esm/tabs/tab/index.js +1 -1
  234. package/dist/esm/tabs/tab-bar/index.js +1 -1
  235. package/dist/esm/text-field/index.js +1 -1
  236. package/dist/esm/time-picker/index.js +1 -1
  237. package/dist/esm/toast/index.js +1 -1
  238. package/dist/esm/toolbar/index.js +1 -1
  239. package/dist/esm/tooltip/index.js +1 -1
  240. package/dist/esm/utils/index.js +1 -1
  241. package/dist/esm/view-switcher/index.js +1 -1
  242. package/dist/esm/view-switcher/view/index.js +1 -1
  243. package/dist/forge-dark.css +1 -1
  244. package/dist/forge-tokens.css +6 -0
  245. package/dist/forge.css +1 -1
  246. package/dist/table/forge-table.css +1 -1
  247. package/dist/theme/forge-theme.css +1 -1
  248. package/dist/typography/forge-typography.css +1 -1
  249. package/esm/app-bar/search/app-bar-search.d.ts +3 -3
  250. package/esm/app-bar/search/app-bar-search.js +3 -3
  251. package/esm/avatar/avatar-constants.d.ts +0 -1
  252. package/esm/avatar/avatar-constants.js +0 -2
  253. package/esm/bottom-sheet/bottom-sheet-adapter.d.ts +26 -42
  254. package/esm/bottom-sheet/bottom-sheet-adapter.js +46 -85
  255. package/esm/bottom-sheet/bottom-sheet-constants.d.ts +16 -13
  256. package/esm/bottom-sheet/bottom-sheet-constants.js +24 -27
  257. package/esm/bottom-sheet/bottom-sheet-foundation.d.ts +17 -43
  258. package/esm/bottom-sheet/bottom-sheet-foundation.js +106 -213
  259. package/esm/bottom-sheet/bottom-sheet.d.ts +42 -29
  260. package/esm/bottom-sheet/bottom-sheet.js +52 -41
  261. package/esm/calendar/calendar-constants.d.ts +0 -1
  262. package/esm/calendar/calendar-constants.js +0 -1
  263. package/esm/calendar/calendar-dom-utils.js +10 -4
  264. package/esm/calendar/calendar-menu/calendar-menu-adapter.js +9 -2
  265. package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +0 -1
  266. package/esm/calendar/calendar-menu/calendar-menu-constants.js +0 -1
  267. package/esm/calendar/calendar-menu/calendar-menu-utils.js +10 -0
  268. package/esm/calendar/calendar-menu/calendar-menu.js +8 -2
  269. package/esm/calendar/calendar.js +6 -2
  270. package/esm/checkbox/checkbox-foundation.js +9 -9
  271. package/esm/color-picker/color-picker.js +1 -1
  272. package/esm/deprecated/icon-button/deprecated-icon-button-component-delegate.d.ts +38 -0
  273. package/esm/deprecated/icon-button/deprecated-icon-button-component-delegate.js +93 -0
  274. package/esm/deprecated/icon-button/deprecated-icon-button-constants.d.ts +28 -0
  275. package/esm/deprecated/icon-button/deprecated-icon-button-constants.js +28 -0
  276. package/esm/deprecated/icon-button/deprecated-icon-button.d.ts +62 -0
  277. package/esm/deprecated/icon-button/deprecated-icon-button.js +208 -0
  278. package/esm/deprecated/icon-button/index.d.ts +12 -0
  279. package/esm/deprecated/icon-button/index.js +16 -0
  280. package/esm/dialog/dialog.js +1 -1
  281. package/esm/drawer/drawer/drawer.js +1 -1
  282. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  283. package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
  284. package/esm/field/field.js +1 -1
  285. package/esm/index.d.ts +1 -3
  286. package/esm/index.js +4 -8
  287. package/esm/list/list/list.js +1 -1
  288. package/esm/list/list-item/list-item-adapter.js +4 -0
  289. package/esm/list/list-item/list-item.d.ts +6 -4
  290. package/esm/list/list-item/list-item.js +7 -5
  291. package/esm/open-icon/index.d.ts +0 -2
  292. package/esm/open-icon/index.js +0 -2
  293. package/esm/open-icon/open-icon-constants.d.ts +10 -6
  294. package/esm/open-icon/open-icon-constants.js +9 -11
  295. package/esm/open-icon/open-icon.d.ts +37 -12
  296. package/esm/open-icon/open-icon.js +67 -22
  297. package/esm/paginator/paginator-adapter.d.ts +19 -52
  298. package/esm/paginator/paginator-adapter.js +25 -106
  299. package/esm/paginator/paginator-constants.d.ts +22 -35
  300. package/esm/paginator/paginator-constants.js +17 -40
  301. package/esm/paginator/paginator-foundation.d.ts +10 -12
  302. package/esm/paginator/paginator-foundation.js +39 -51
  303. package/esm/paginator/paginator.d.ts +4 -7
  304. package/esm/paginator/paginator.js +24 -45
  305. package/esm/popover/popover.js +1 -1
  306. package/esm/profile-card/profile-card.js +1 -1
  307. package/esm/radio/radio/radio-foundation.js +2 -2
  308. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  309. package/esm/stepper/step/step.js +1 -1
  310. package/esm/switch/switch-foundation.js +6 -6
  311. package/esm/table/table-constants.d.ts +1 -0
  312. package/esm/table/table-constants.js +4 -3
  313. package/esm/table/table-foundation.js +2 -2
  314. package/esm/table/table-utils.js +31 -14
  315. package/esm/tooltip/tooltip.js +1 -1
  316. package/esm/utils/color-utils.d.ts +0 -4
  317. package/esm/utils/color-utils.js +0 -19
  318. package/esm/view-switcher/view-switcher.js +1 -1
  319. package/package.json +1 -12
  320. package/styles/bottom-sheet/_core.scss +19 -0
  321. package/styles/bottom-sheet/_token-utils.scss +30 -0
  322. package/styles/bottom-sheet/bottom-sheet.scss +59 -3
  323. package/styles/{color-picker/_variables.scss → bottom-sheet/index.scss} +1 -1
  324. package/styles/calendar/_mixins.scss +33 -56
  325. package/styles/calendar/_variables.scss +39 -39
  326. package/styles/calendar/calendar-menu/_mixins.scss +25 -84
  327. package/styles/color-picker/_mixins.scss +15 -21
  328. package/styles/color-picker/color-picker.scss +0 -1
  329. package/styles/core/styles/animation/index.scss +22 -0
  330. package/styles/core/styles/border/index.scss +10 -1
  331. package/styles/core/styles/elevation/index.scss +19 -26
  332. package/styles/core/styles/shape/index.scss +9 -0
  333. package/styles/core/styles/spacing/index.scss +9 -0
  334. package/styles/core/styles/theme/index.scss +2 -13
  335. package/styles/core/styles/tokens/bottom-sheet/_tokens.scss +21 -0
  336. package/styles/core/styles/tokens/elevation/_tokens.scss +35 -84
  337. package/styles/core/styles/tokens/list/list/_tokens.scss +14 -1
  338. package/styles/core/styles/tokens/list/list-item/_tokens.scss +6 -6
  339. package/styles/core/styles/tokens/open-icon/_tokens.scss +25 -0
  340. package/styles/core/styles/tokens/popover/_tokens.scss +1 -1
  341. package/styles/core/styles/tokens/theme/_tokens.core.scss +60 -30
  342. package/styles/core/styles/tokens/theme/_tokens.scss +1 -48
  343. package/styles/core/styles/tokens/theme/_tokens.status.scss +78 -32
  344. package/styles/core/styles/tokens/theme/_tokens.surface.scss +33 -51
  345. package/styles/core/styles/tokens/theme/_tokens.text.scss +20 -26
  346. package/styles/core/styles/tokens/theme/_tokens.utilities.scss +13 -23
  347. package/styles/core/styles/tokens/tooltip/_tokens.scss +1 -1
  348. package/styles/deprecated/icon-button/deprecated-icon-button.scss +114 -0
  349. package/styles/dialog/_core.scss +3 -1
  350. package/styles/dialog/dialog.scss +1 -1
  351. package/styles/drawer/base/_mixins.scss +11 -10
  352. package/styles/drawer/base/_variables.scss +6 -5
  353. package/styles/drawer/drawer/_variables.scss +6 -5
  354. package/styles/drawer/mini-drawer/_mixins.scss +11 -14
  355. package/styles/drawer/modal-drawer/_mixins.scss +4 -9
  356. package/styles/field/_core.variant.scss +0 -1
  357. package/styles/forge-tokens.scss +40 -0
  358. package/styles/forge.scss +1 -10
  359. package/styles/linear-progress/_core.scss +0 -1
  360. package/styles/list/list/list.scss +23 -7
  361. package/styles/list/list-item/_core.scss +10 -10
  362. package/styles/list/list-item/list-item.scss +4 -4
  363. package/styles/open-icon/_core.scss +26 -0
  364. package/styles/open-icon/_token-utils.scss +30 -0
  365. package/styles/{paginator/_variables.scss → open-icon/index.scss} +1 -1
  366. package/styles/open-icon/open-icon.scss +75 -3
  367. package/styles/paginator/_core.scss +42 -0
  368. package/styles/{typography/_index.scss → paginator/index.scss} +1 -2
  369. package/styles/paginator/paginator.scss +49 -5
  370. package/styles/profile-card/profile-card.scss +0 -1
  371. package/styles/split-view/split-view/_mixins.scss +0 -2
  372. package/styles/split-view/split-view-panel/_mixins.scss +12 -16
  373. package/styles/split-view/split-view-panel/_variables.scss +0 -1
  374. package/styles/table/_core.scss +333 -0
  375. package/styles/table/_variables.scss +22 -37
  376. package/styles/table/forge-table.scss +217 -3
  377. package/styles/{theme/_index.scss → table/index.scss} +1 -2
  378. package/styles/theme/_theme-dark.scss +0 -5
  379. package/styles/theme/forge-theme.scss +0 -7
  380. package/styles/typography/forge-typography.scss +0 -3
  381. package/styles/view-switcher/_mixins.scss +8 -8
  382. package/dist/busy-indicator/forge-busy-indicator.css +0 -6
  383. package/dist/esm/busy-indicator/index.js +0 -7
  384. package/dist/esm/chunks/chunk.3CTKWBV2.js +0 -7
  385. package/dist/esm/chunks/chunk.3CTKWBV2.js.map +0 -7
  386. package/dist/esm/chunks/chunk.3II7OT2I.js +0 -7
  387. package/dist/esm/chunks/chunk.6VS3LYAF.js +0 -7
  388. package/dist/esm/chunks/chunk.6VS3LYAF.js.map +0 -7
  389. package/dist/esm/chunks/chunk.7RLY2O3H.js +0 -7
  390. package/dist/esm/chunks/chunk.7RLY2O3H.js.map +0 -7
  391. package/dist/esm/chunks/chunk.A7BCLPP4.js +0 -7
  392. package/dist/esm/chunks/chunk.AFWWND2C.js +0 -7
  393. package/dist/esm/chunks/chunk.AFWWND2C.js.map +0 -7
  394. package/dist/esm/chunks/chunk.AIJK3CTV.js +0 -12
  395. package/dist/esm/chunks/chunk.AIJK3CTV.js.map +0 -7
  396. package/dist/esm/chunks/chunk.BQZKOIAW.js +0 -7
  397. package/dist/esm/chunks/chunk.BV7EAQST.js +0 -7
  398. package/dist/esm/chunks/chunk.BV7EAQST.js.map +0 -7
  399. package/dist/esm/chunks/chunk.CGFSMACZ.js +0 -7
  400. package/dist/esm/chunks/chunk.CGFSMACZ.js.map +0 -7
  401. package/dist/esm/chunks/chunk.GBAVJILM.js +0 -7
  402. package/dist/esm/chunks/chunk.GRYO5XP2.js +0 -7
  403. package/dist/esm/chunks/chunk.GRYO5XP2.js.map +0 -7
  404. package/dist/esm/chunks/chunk.HD2SLIL2.js +0 -7
  405. package/dist/esm/chunks/chunk.HD2SLIL2.js.map +0 -7
  406. package/dist/esm/chunks/chunk.HG4IDRAC.js +0 -7
  407. package/dist/esm/chunks/chunk.HG4IDRAC.js.map +0 -7
  408. package/dist/esm/chunks/chunk.KCCW4AMU.js +0 -7
  409. package/dist/esm/chunks/chunk.KCCW4AMU.js.map +0 -7
  410. package/dist/esm/chunks/chunk.KLU54MDQ.js +0 -7
  411. package/dist/esm/chunks/chunk.MFS7AVW6.js +0 -7
  412. package/dist/esm/chunks/chunk.MFS7AVW6.js.map +0 -7
  413. package/dist/esm/chunks/chunk.O5WAQQNR.js +0 -7
  414. package/dist/esm/chunks/chunk.O5WAQQNR.js.map +0 -7
  415. package/dist/esm/chunks/chunk.OJ7JO4O6.js +0 -7
  416. package/dist/esm/chunks/chunk.OQHDHS2C.js +0 -7
  417. package/dist/esm/chunks/chunk.OQHDHS2C.js.map +0 -7
  418. package/dist/esm/chunks/chunk.OREDK5MJ.js +0 -7
  419. package/dist/esm/chunks/chunk.OREDK5MJ.js.map +0 -7
  420. package/dist/esm/chunks/chunk.QVATEY5S.js +0 -7
  421. package/dist/esm/chunks/chunk.QVATEY5S.js.map +0 -7
  422. package/dist/esm/chunks/chunk.RKIJTSSL.js +0 -7
  423. package/dist/esm/chunks/chunk.RKIJTSSL.js.map +0 -7
  424. package/dist/esm/chunks/chunk.RLQB7224.js +0 -7
  425. package/dist/esm/chunks/chunk.RSYEG2RW.js +0 -7
  426. package/dist/esm/chunks/chunk.RSYEG2RW.js.map +0 -7
  427. package/dist/esm/chunks/chunk.SZOZIJZI.js +0 -7
  428. package/dist/esm/chunks/chunk.SZOZIJZI.js.map +0 -7
  429. package/dist/esm/chunks/chunk.UPSXYWPD.js +0 -7
  430. package/dist/esm/chunks/chunk.V6KUOCAR.js +0 -7
  431. package/dist/esm/chunks/chunk.V6KUOCAR.js.map +0 -7
  432. package/dist/esm/chunks/chunk.X77NKT6Z.js +0 -7
  433. package/dist/esm/chunks/chunk.X77NKT6Z.js.map +0 -7
  434. package/dist/esm/chunks/chunk.YRAEFQJW.js +0 -7
  435. package/dist/esm/chunks/chunk.YRAEFQJW.js.map +0 -7
  436. package/dist/esm/quantity-field/index.js +0 -7
  437. package/dist/esm/quantity-field/index.js.map +0 -7
  438. package/dist/esm/theme/index.js +0 -7
  439. package/dist/esm/theme/index.js.map +0 -7
  440. package/dist/quantity-field/forge-quantity-field.css +0 -6
  441. package/dist/typography/forge-typography-legacy.css +0 -6
  442. package/dist/utils/forge-utils.css +0 -6
  443. package/esm/busy-indicator/busy-indicator-adapter.d.ts +0 -155
  444. package/esm/busy-indicator/busy-indicator-adapter.js +0 -203
  445. package/esm/busy-indicator/busy-indicator-constants.d.ts +0 -49
  446. package/esm/busy-indicator/busy-indicator-constants.js +0 -58
  447. package/esm/busy-indicator/busy-indicator-foundation.d.ts +0 -97
  448. package/esm/busy-indicator/busy-indicator-foundation.js +0 -268
  449. package/esm/busy-indicator/busy-indicator.d.ts +0 -77
  450. package/esm/busy-indicator/busy-indicator.js +0 -115
  451. package/esm/busy-indicator/index.d.ts +0 -10
  452. package/esm/busy-indicator/index.js +0 -14
  453. package/esm/open-icon/open-icon-adapter.d.ts +0 -18
  454. package/esm/open-icon/open-icon-adapter.js +0 -27
  455. package/esm/open-icon/open-icon-foundation.d.ts +0 -22
  456. package/esm/open-icon/open-icon-foundation.js +0 -35
  457. package/esm/quantity-field/index.d.ts +0 -11
  458. package/esm/quantity-field/index.js +0 -15
  459. package/esm/quantity-field/quantity-field-adapter.d.ts +0 -77
  460. package/esm/quantity-field/quantity-field-adapter.js +0 -221
  461. package/esm/quantity-field/quantity-field-component-delegate.d.ts +0 -44
  462. package/esm/quantity-field/quantity-field-component-delegate.js +0 -129
  463. package/esm/quantity-field/quantity-field-constants.d.ts +0 -35
  464. package/esm/quantity-field/quantity-field-constants.js +0 -41
  465. package/esm/quantity-field/quantity-field-foundation.d.ts +0 -36
  466. package/esm/quantity-field/quantity-field-foundation.js +0 -100
  467. package/esm/quantity-field/quantity-field.d.ts +0 -34
  468. package/esm/quantity-field/quantity-field.js +0 -100
  469. package/esm/theme/color-constants.d.ts +0 -313
  470. package/esm/theme/color-constants.js +0 -363
  471. package/esm/theme/index.d.ts +0 -7
  472. package/esm/theme/index.js +0 -7
  473. package/esm/theme/theme-utils.d.ts +0 -9
  474. package/esm/theme/theme-utils.js +0 -68
  475. package/styles/bottom-sheet/_mixins.scss +0 -93
  476. package/styles/bottom-sheet/_variables.scss +0 -7
  477. package/styles/busy-indicator/_mixins.scss +0 -185
  478. package/styles/busy-indicator/_variables.scss +0 -9
  479. package/styles/busy-indicator/busy-indicator.scss +0 -22
  480. package/styles/busy-indicator/forge-busy-indicator.scss +0 -8
  481. package/styles/open-icon/_mixins.scss +0 -39
  482. package/styles/open-icon/_variables.scss +0 -8
  483. package/styles/paginator/_mixins.scss +0 -136
  484. package/styles/quantity-field/_mixins.scss +0 -116
  485. package/styles/quantity-field/forge-quantity-field.scss +0 -18
  486. package/styles/quantity-field/quantity-field.scss +0 -16
  487. package/styles/table/_mixins.scss +0 -547
  488. package/styles/theme/_custom-properties.scss +0 -311
  489. package/styles/theme/_keys.scss +0 -477
  490. package/styles/theme/_theme-utils.scss +0 -23
  491. package/styles/theme/_theme-values.scss +0 -246
  492. package/styles/theme/_theme.scss +0 -279
  493. package/styles/typography/_mixins.scss +0 -73
  494. package/styles/typography/_variables.scss +0 -100
  495. package/styles/typography/forge-typography-legacy.scss +0 -8
  496. package/styles/utils/forge-utils.scss +0 -45
  497. /package/dist/esm/chunks/{chunk.AOVXNX7P.js.map → chunk.24L6GVJK.js.map} +0 -0
  498. /package/dist/esm/chunks/{chunk.WMJSYYXQ.js.map → chunk.27YQZWEJ.js.map} +0 -0
  499. /package/dist/esm/chunks/{chunk.AG6IRMLZ.js.map → chunk.2CP5CIRB.js.map} +0 -0
  500. /package/dist/esm/chunks/{chunk.H4VQXV2H.js.map → chunk.3CXCYRCE.js.map} +0 -0
  501. /package/dist/esm/chunks/{chunk.MTIPIEXA.js.map → chunk.3LNZRQAL.js.map} +0 -0
  502. /package/dist/esm/chunks/{chunk.BQ52JYLA.js.map → chunk.3LUG3LPU.js.map} +0 -0
  503. /package/dist/esm/chunks/{chunk.IL4S57WO.js.map → chunk.3ODT27TD.js.map} +0 -0
  504. /package/dist/esm/chunks/{chunk.XZ23XHFE.js.map → chunk.45N7ZZVL.js.map} +0 -0
  505. /package/dist/esm/chunks/{chunk.YWJVZVZX.js.map → chunk.4GFUXXXH.js.map} +0 -0
  506. /package/dist/esm/chunks/{chunk.ZA7JY3AY.js.map → chunk.5DDR6QSF.js.map} +0 -0
  507. /package/dist/esm/chunks/{chunk.3KAKJGUS.js.map → chunk.5NEWFXFX.js.map} +0 -0
  508. /package/dist/esm/chunks/{chunk.VRSPT7WX.js.map → chunk.5OT53ZJM.js.map} +0 -0
  509. /package/dist/esm/chunks/{chunk.VL5RWSAV.js.map → chunk.6DWRGYKV.js.map} +0 -0
  510. /package/dist/esm/chunks/{chunk.IEABOPNB.js.map → chunk.6T7KPDCD.js.map} +0 -0
  511. /package/dist/esm/chunks/{chunk.SROEDYPL.js.map → chunk.7JO5MB55.js.map} +0 -0
  512. /package/dist/esm/chunks/{chunk.CLYGTLXN.js.map → chunk.7TE74NJZ.js.map} +0 -0
  513. /package/dist/esm/chunks/{chunk.AGLI4WR4.js.map → chunk.AJLS5C7O.js.map} +0 -0
  514. /package/dist/esm/chunks/{chunk.TSSZQPLE.js.map → chunk.BURDWL57.js.map} +0 -0
  515. /package/dist/esm/chunks/{chunk.BHE6Z5Y2.js.map → chunk.CQ4XBOX5.js.map} +0 -0
  516. /package/dist/esm/chunks/{chunk.NEQX2QVX.js.map → chunk.DJQXJO3T.js.map} +0 -0
  517. /package/dist/esm/chunks/{chunk.VJZ7VDG5.js.map → chunk.DPJJB67L.js.map} +0 -0
  518. /package/dist/esm/chunks/{chunk.OOAJHLW4.js.map → chunk.EZIABLIR.js.map} +0 -0
  519. /package/dist/esm/chunks/{chunk.ZG6YF2HI.js.map → chunk.F53DSRUO.js.map} +0 -0
  520. /package/dist/esm/chunks/{chunk.7AAICE77.js.map → chunk.FIO22U2C.js.map} +0 -0
  521. /package/dist/esm/chunks/{chunk.U6J4VHU6.js.map → chunk.FKMTIOBA.js.map} +0 -0
  522. /package/dist/esm/chunks/{chunk.W4HANHUO.js.map → chunk.FMGBPF7B.js.map} +0 -0
  523. /package/dist/esm/chunks/{chunk.5MB6CTBA.js.map → chunk.FVFPDWA4.js.map} +0 -0
  524. /package/dist/esm/chunks/{chunk.ENUKGA2U.js.map → chunk.FYPIHFXD.js.map} +0 -0
  525. /package/dist/esm/chunks/{chunk.CE35CVDV.js.map → chunk.GQ33JZVE.js.map} +0 -0
  526. /package/dist/esm/chunks/{chunk.2W23MOPP.js.map → chunk.GUBLRHCG.js.map} +0 -0
  527. /package/dist/esm/chunks/{chunk.37B332ZK.js.map → chunk.HSNVTV7K.js.map} +0 -0
  528. /package/dist/esm/chunks/{chunk.PC6TW5XE.js.map → chunk.HXNNWUI3.js.map} +0 -0
  529. /package/dist/esm/chunks/{chunk.77C7S7ZS.js.map → chunk.IOGCI64X.js.map} +0 -0
  530. /package/dist/esm/chunks/{chunk.5UOX22ML.js.map → chunk.KKVQNKMV.js.map} +0 -0
  531. /package/dist/esm/chunks/{chunk.YPNSK2CK.js.map → chunk.KW5A2U5U.js.map} +0 -0
  532. /package/dist/esm/chunks/{chunk.KO6ODCZC.js.map → chunk.LIJE4T3D.js.map} +0 -0
  533. /package/dist/esm/chunks/{chunk.KEOLH7G3.js.map → chunk.LQN5U4QH.js.map} +0 -0
  534. /package/dist/esm/chunks/{chunk.5QIWLZG3.js.map → chunk.LSUIJDFO.js.map} +0 -0
  535. /package/dist/esm/chunks/{chunk.QCPV5DEG.js.map → chunk.N65CAIE5.js.map} +0 -0
  536. /package/dist/esm/chunks/{chunk.UKBE2FMZ.js.map → chunk.NNLZKMFX.js.map} +0 -0
  537. /package/dist/esm/chunks/{chunk.EO3GP6DP.js.map → chunk.ON6FFHRE.js.map} +0 -0
  538. /package/dist/esm/chunks/{chunk.OVXEOEJF.js.map → chunk.ONFZ3H7M.js.map} +0 -0
  539. /package/dist/esm/chunks/{chunk.32APLNN2.js.map → chunk.OVVBXM6K.js.map} +0 -0
  540. /package/dist/esm/chunks/{chunk.DKERDHXH.js.map → chunk.P74RZEWP.js.map} +0 -0
  541. /package/dist/esm/chunks/{chunk.QLGJS37N.js.map → chunk.PBORL6KX.js.map} +0 -0
  542. /package/dist/esm/chunks/{chunk.JGURMVW7.js.map → chunk.PGMOAILY.js.map} +0 -0
  543. /package/dist/esm/chunks/{chunk.OEI35LFU.js.map → chunk.PKCMTSWR.js.map} +0 -0
  544. /package/dist/esm/chunks/{chunk.QUXMLWBJ.js.map → chunk.Q3Z6VZUD.js.map} +0 -0
  545. /package/dist/esm/chunks/{chunk.TQWZDM6T.js.map → chunk.QBHJFCLL.js.map} +0 -0
  546. /package/dist/esm/chunks/{chunk.WXVVOFNK.js.map → chunk.QDG6TP2Z.js.map} +0 -0
  547. /package/dist/esm/chunks/{chunk.H5RW3A4M.js.map → chunk.QH27OIAK.js.map} +0 -0
  548. /package/dist/esm/chunks/{chunk.473WRJ5G.js.map → chunk.QKCPE4LW.js.map} +0 -0
  549. /package/dist/esm/chunks/{chunk.FLF5RTYO.js.map → chunk.R2CJMM2F.js.map} +0 -0
  550. /package/dist/esm/chunks/{chunk.IQYOLMPG.js.map → chunk.RGDLRUSM.js.map} +0 -0
  551. /package/dist/esm/chunks/{chunk.QIZBZGYT.js.map → chunk.RKPWFEFJ.js.map} +0 -0
  552. /package/dist/esm/chunks/{chunk.RXBLU4OJ.js.map → chunk.S5EU72NR.js.map} +0 -0
  553. /package/dist/esm/chunks/{chunk.T7NWP7DB.js.map → chunk.SW6JDC2Y.js.map} +0 -0
  554. /package/dist/esm/chunks/{chunk.7IPAW4D2.js.map → chunk.TAQRHBGS.js.map} +0 -0
  555. /package/dist/esm/chunks/{chunk.MFQRXVKO.js.map → chunk.TEZFEC5B.js.map} +0 -0
  556. /package/dist/esm/chunks/{chunk.MX4JX4GT.js.map → chunk.THIUQ2AU.js.map} +0 -0
  557. /package/dist/esm/chunks/{chunk.LY2Z2Z7S.js.map → chunk.TQMT7BIZ.js.map} +0 -0
  558. /package/dist/esm/chunks/{chunk.GIENHEMN.js.map → chunk.TR45SGWL.js.map} +0 -0
  559. /package/dist/esm/chunks/{chunk.CFAI4K3E.js.map → chunk.UBVWYWO7.js.map} +0 -0
  560. /package/dist/esm/chunks/{chunk.NWVQ5HK2.js.map → chunk.UHPODZWA.js.map} +0 -0
  561. /package/dist/esm/chunks/{chunk.3PMONORO.js.map → chunk.V4R7FCZ2.js.map} +0 -0
  562. /package/dist/esm/chunks/{chunk.BEFAXPXJ.js.map → chunk.WNX3GGYT.js.map} +0 -0
  563. /package/dist/esm/chunks/{chunk.I7YON2TC.js.map → chunk.X5MI5OFS.js.map} +0 -0
  564. /package/dist/esm/chunks/{chunk.QKTK5XUE.js.map → chunk.XHRBFPZ2.js.map} +0 -0
  565. /package/dist/esm/chunks/{chunk.ASLHRT3N.js.map → chunk.XT6RPXTM.js.map} +0 -0
  566. /package/dist/esm/chunks/{chunk.VGIRVTBJ.js.map → chunk.XWVFJVBN.js.map} +0 -0
  567. /package/dist/esm/chunks/{chunk.YNCTSMT6.js.map → chunk.YXFGOJ5Z.js.map} +0 -0
  568. /package/dist/esm/chunks/{chunk.GG7IQL46.js.map → chunk.ZPH3TMNA.js.map} +0 -0
  569. /package/dist/esm/chunks/{chunk.CEGBMUSR.js.map → chunk.ZWELGTD7.js.map} +0 -0
  570. /package/dist/esm/{busy-indicator → deprecated/icon-button}/index.js.map +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/overlay/base/overlay-aware-adapter.ts", "../../src/popover/popover-adapter.ts", "../../src/overlay/base/overlay-aware-foundation.ts", "../../src/popover/popover-foundation.ts", "../../src/overlay/base/overlay-aware.ts", "../../src/popover/popover.ts"],
4
- "sourcesContent": ["import { BaseAdapter, IBaseAdapter } from '../../core';\nimport { IOverlayComponent } from '..';\nimport { IOverlayAware } from '../base/overlay-aware';\n\nexport interface IOverlayAwareAdapter extends IBaseAdapter {\n readonly overlayElement: IOverlayComponent;\n}\n\nexport abstract class OverlayAwareAdapter<T extends IOverlayAware> extends BaseAdapter<T> implements IOverlayAwareAdapter {\n protected _overlayElement: IOverlayComponent;\n\n constructor(component: T) {\n super(component);\n this._initializeOverlayElement();\n }\n\n protected abstract _initializeOverlayElement(): void;\n\n public get overlayElement(): IOverlayComponent {\n return this._overlayElement;\n }\n}\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { prefersReducedMotion } from '../core/utils/feature-detection';\nimport { VirtualElement } from '../core/utils/position-utils';\nimport { IOverlayComponent, OVERLAY_CONSTANTS } from '../overlay';\nimport { IOverlayAwareAdapter, OverlayAwareAdapter } from '../overlay/base/overlay-aware-adapter';\nimport { IPopoverComponent } from './popover';\nimport { POPOVER_CONSTANTS } from './popover-constants';\n\nexport interface IPopoverAdapter extends IOverlayAwareAdapter {\n readonly hostElement: IPopoverComponent;\n destroy(): void;\n initializeAnchorElement(): void;\n cleanupAnchorElement(): void;\n tryLocateAnchorElement(id: string | null): void;\n addAnchorListener(type: string, listener: EventListener): void;\n removeAnchorListener(type: string, listener: EventListener): void;\n addSurfaceListener(type: string, listener: EventListener): void;\n removeSurfaceListener(type: string, listener: EventListener): void;\n hide(): Promise<void>;\n setOverlayOpen(newState: boolean): void;\n toggleArrow(value: boolean): void;\n isChildElement(element: HTMLElement): boolean;\n tryAutofocus(): void;\n hasFocus(): boolean;\n captureFocusedElement(): HTMLElement | null;\n}\n\nexport class PopoverAdapter extends OverlayAwareAdapter<IPopoverComponent> implements IPopoverAdapter {\n private _surfaceElement: HTMLElement;\n private _arrowElement: HTMLElement | undefined;\n\n constructor(component: IPopoverComponent) {\n super(component);\n this._surfaceElement = getShadowElement(this._component, POPOVER_CONSTANTS.selectors.SURFACE);\n }\n\n public destroy(): void {\n this._surfaceElement.classList.remove(POPOVER_CONSTANTS.classes.EXITING);\n this.cleanupAnchorElement();\n }\n \n protected _initializeOverlayElement(): void {\n this._overlayElement = getShadowElement(this._component, OVERLAY_CONSTANTS.elementName) as IOverlayComponent;\n }\n\n public tryLocateAnchorElement(id: string | null): void {\n this._overlayElement.anchorElement = this._tryFindAnchorElement(id);\n this._updateAnchorExpandedState(this._overlayElement.open);\n }\n\n public initializeAnchorElement(): void {\n this._updateAnchorExpandedState(this._overlayElement.open);\n }\n\n public cleanupAnchorElement(): void {\n this._updateAnchorExpandedState(null);\n }\n\n public addAnchorListener(type: string, listener: EventListener): void {\n if (this._overlayElement.anchorElement instanceof VirtualElement) {\n return;\n }\n this._overlayElement.anchorElement?.addEventListener(type, listener);\n }\n\n public removeAnchorListener(type: string, listener: EventListener): void {\n if (this._overlayElement.anchorElement instanceof VirtualElement) {\n return;\n }\n this._overlayElement.anchorElement?.removeEventListener(type, listener);\n }\n\n public addSurfaceListener(type: string, listener: EventListener): void {\n this._surfaceElement.addEventListener(type, listener);\n }\n\n public removeSurfaceListener(type: string, listener: EventListener): void {\n this._surfaceElement.removeEventListener(type, listener);\n }\n\n public setOverlayOpen(newState: boolean): void {\n this._surfaceElement.classList.remove(POPOVER_CONSTANTS.classes.EXITING);\n this._overlayElement.open = newState;\n this._updateAnchorExpandedState(newState);\n }\n\n public hide(): Promise<void> {\n if (prefersReducedMotion()) {\n this._surfaceElement.classList.remove(POPOVER_CONSTANTS.classes.EXITING);\n this._overlayElement.open = false;\n this._updateAnchorExpandedState(false);\n return Promise.resolve();\n }\n\n return new Promise(resolve => {\n this._surfaceElement.addEventListener('animationend', () => {\n this._surfaceElement.classList.remove(POPOVER_CONSTANTS.classes.EXITING);\n this._overlayElement.open = false;\n this._updateAnchorExpandedState(false);\n resolve();\n }, { once: true });\n this._surfaceElement.classList.add(POPOVER_CONSTANTS.classes.EXITING);\n });\n }\n\n public toggleArrow(value: boolean): void {\n if (value) {\n if (!this._arrowElement) {\n this._arrowElement = document.createElement('div');\n this._arrowElement.classList.add(POPOVER_CONSTANTS.classes.ARROW);\n this._arrowElement.setAttribute('part', POPOVER_CONSTANTS.parts.ARROW);\n }\n this._surfaceElement.appendChild(this._arrowElement);\n this._overlayElement.arrowElement = this._arrowElement;\n } else {\n this._arrowElement?.remove();\n this._arrowElement = undefined;\n this._overlayElement.arrowElement = undefined;\n }\n }\n\n public isChildElement(element: HTMLElement): boolean {\n return this._component.contains(element);\n }\n\n public tryAutofocus(): void {\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n if (this._component.open && this._overlayElement.isConnected && !this._component.matches(':focus-within')) {\n const autofocusElement = this._component.querySelector<HTMLElement>('[autofocus]');\n autofocusElement?.focus();\n }\n });\n });\n }\n\n public hasFocus(): boolean {\n return this._component.matches(':focus-within');\n }\n\n public captureFocusedElement(): HTMLElement | null {\n return this._component.ownerDocument.activeElement as HTMLElement | null;\n }\n\n /**\n * Attempts to find the anchor element by first checking for an element with the provided id, and if not found,\n * then implicitly assumes the previous element sibling is the anchor.\n * \n * @param [id] - The id of the anchor element to locate.\n * @returns The anchor element if found, otherwise null.\n */\n private _tryFindAnchorElement(id?: string | null): HTMLElement | null {\n if (id) {\n // First we attempt to locate the target element based on the id reference provided\n const rootNode = this._component.getRootNode() as Document | ShadowRoot;\n const targetEl = rootNode.querySelector<HTMLElement>(`#${id}`);\n if (targetEl) {\n return targetEl;\n }\n }\n\n // If still not found, we'll implicitly assume the previous element sibling is our anchor\n if (this._component.previousElementSibling) {\n return this._component.previousElementSibling as HTMLElement;\n }\n\n return null;\n }\n\n private _updateAnchorExpandedState(state: boolean | null): void {\n if (!this._overlayElement.anchorElement) {\n return;\n }\n\n if (!(this._overlayElement.anchorElement instanceof VirtualElement) && !(this.overlayElement.anchorElement as HTMLElement)?.hasAttribute('aria-hidden')) {\n this._overlayElement.anchorElement.setAttribute('aria-expanded', String(!!state));\n }\n }\n}\n", "import { IBaseOverlayFoundation } from './base-overlay-foundation';\nimport { IOverlayComponent } from '../overlay';\nimport { IOverlayAwareAdapter } from './overlay-aware-adapter';\nimport { IOverlayOffset, OverlayFlipState, OverlayHideState, OverlayPlacement, OverlayPositionStrategy, OVERLAY_CONSTANTS } from '../overlay-constants';\nimport { PositionPlacement, VirtualElement } from '../../core/utils/position-utils';\n\nexport interface IOverlayAwareFoundation extends IBaseOverlayFoundation {\n readonly overlayElement: IOverlayComponent;\n}\n\nexport abstract class OverlayAwareFoundation<T extends IOverlayAwareAdapter> implements IOverlayAwareFoundation {\n private _lightDismissListener: (evt: CustomEvent) => void;\n\n constructor(protected _adapter: T) {\n this._lightDismissListener = (evt: CustomEvent) => this._onOverlayLightDismiss(evt);\n }\n\n protected abstract _onOverlayLightDismiss(evt: CustomEvent): void;\n\n public initialize(): void {\n if (!this.persistent) {\n this._adapter.overlayElement.addEventListener(OVERLAY_CONSTANTS.events.LIGHT_DISMISS, this._lightDismissListener);\n }\n }\n\n public destroy(): void {\n this._adapter.overlayElement.removeEventListener(OVERLAY_CONSTANTS.events.LIGHT_DISMISS, this._lightDismissListener);\n }\n\n public get overlayElement(): IOverlayComponent {\n return this._adapter.overlayElement;\n }\n\n public get anchorElement(): HTMLElement | VirtualElement | null {\n return this._adapter.overlayElement.anchorElement;\n }\n public set anchorElement(value: HTMLElement | VirtualElement | null) {\n this._adapter.overlayElement.anchorElement = value;\n }\n\n public get anchor(): string | null {\n return this._adapter.overlayElement.anchor;\n }\n public set anchor(value: string | null) {\n this._adapter.overlayElement.anchor = value;\n }\n\n public get noAnchor(): boolean {\n return this._adapter.overlayElement.noAnchor;\n }\n public set noAnchor(value: boolean) {\n if (this._adapter.overlayElement.noAnchor !== value) {\n this._adapter.overlayElement.noAnchor = value;\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.NO_ANCHOR, this._adapter.overlayElement.noAnchor);\n }\n }\n\n public get open(): boolean {\n return this._adapter.overlayElement.open;\n }\n public set open(value: boolean) {\n if (this._adapter.overlayElement.open === value) {\n this._adapter.overlayElement.open = value;\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.OPEN, this._adapter.overlayElement.open);\n }\n }\n\n public get inline(): boolean {\n return this._adapter.overlayElement.inline;\n }\n public set inline(value: boolean) {\n if (this._adapter.overlayElement.inline !== value) {\n this._adapter.overlayElement.inline = value;\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.INLINE, this._adapter.overlayElement.inline);\n }\n }\n\n public get placement(): OverlayPlacement {\n return this._adapter.overlayElement.placement;\n }\n public set placement(value: OverlayPlacement) {\n if (this._adapter.overlayElement.placement !== value) {\n this._adapter.overlayElement.placement = value;\n this._adapter.setHostAttribute(OVERLAY_CONSTANTS.attributes.PLACEMENT, this._adapter.overlayElement.placement);\n }\n }\n\n public get positionStrategy(): OverlayPositionStrategy {\n return this._adapter.overlayElement.positionStrategy;\n }\n public set positionStrategy(value: OverlayPositionStrategy) {\n if (this._adapter.overlayElement.positionStrategy !== value) {\n this._adapter.overlayElement.positionStrategy = value;\n this._adapter.setHostAttribute(OVERLAY_CONSTANTS.attributes.POSITION_STRATEGY, this._adapter.overlayElement.positionStrategy);\n }\n }\n\n public get offset(): IOverlayOffset {\n return this._adapter.overlayElement.offset;\n }\n public set offset(value: IOverlayOffset) {\n if (this._adapter.overlayElement.offset !== value) {\n this._adapter.overlayElement.offset = value;\n }\n }\n\n public get hide(): OverlayHideState {\n return this._adapter.overlayElement.hide;\n }\n public set hide(value: OverlayHideState) {\n if (this._adapter.overlayElement.hide !== value) {\n this._adapter.overlayElement.hide = value;\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.HIDE, this._adapter.overlayElement.hide !== OVERLAY_CONSTANTS.defaults.HIDE, String(this._adapter.overlayElement.hide));\n }\n }\n\n public get persistent(): boolean {\n return this._adapter.overlayElement.persistent;\n }\n public set persistent(value: boolean) {\n if (this._adapter.overlayElement.persistent !== value) {\n this._adapter.overlayElement.persistent = value;\n\n if (!this.persistent) {\n this._adapter.overlayElement.addEventListener(OVERLAY_CONSTANTS.events.LIGHT_DISMISS, this._lightDismissListener);\n } else {\n this._adapter.overlayElement.removeEventListener(OVERLAY_CONSTANTS.events.LIGHT_DISMISS, this._lightDismissListener);\n }\n\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.PERSISTENT, this._adapter.overlayElement.persistent);\n }\n }\n\n public get shift(): boolean {\n return this._adapter.overlayElement.shift;\n }\n public set shift(value: boolean) {\n if (this._adapter.overlayElement.shift !== value) {\n this._adapter.overlayElement.shift = value;\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.SHIFT, this._adapter.overlayElement.shift);\n }\n }\n\n public get flip(): OverlayFlipState {\n return this._adapter.overlayElement.flip;\n }\n public set flip(value: OverlayFlipState) {\n if (this._adapter.overlayElement.flip !== value) {\n this._adapter.overlayElement.flip = value;\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.FLIP, this._adapter.overlayElement.flip !== OVERLAY_CONSTANTS.defaults.FLIP, String(this._adapter.overlayElement.flip));\n }\n }\n \n public get boundary(): string | null {\n return this._adapter.overlayElement.boundary;\n }\n public set boundary(value: string | null) {\n if (this._adapter.overlayElement.boundary !== value) {\n this._adapter.overlayElement.boundary = value;\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.BOUNDARY, !!this._adapter.overlayElement.boundary, this._adapter.overlayElement.boundary as string);\n }\n }\n\n public get boundaryElement(): HTMLElement | null {\n return this._adapter.overlayElement.boundaryElement;\n }\n public set boundaryElement(value: HTMLElement | null) {\n if (this._adapter.overlayElement.boundaryElement !== value) {\n this._adapter.overlayElement.boundaryElement = value;\n }\n }\n\n public get fallbackPlacements(): PositionPlacement[] | null {\n return this._adapter.overlayElement.fallbackPlacements;\n }\n public set fallbackPlacements(value: PositionPlacement[] | null) {\n if (this._adapter.overlayElement.fallbackPlacements !== value) {\n this._adapter.overlayElement.fallbackPlacements = value;\n }\n }\n\n public position(): void {\n this._adapter.overlayElement.position();\n }\n}\n", "import { IOverlayAwareFoundation, OverlayAwareFoundation } from '../overlay/base/overlay-aware-foundation';\nimport { OverlayLightDismissEventData } from '../overlay/overlay-constants';\nimport { WithLongpressListener } from '../core/mixins/interactions/longpress/with-longpress-listener';\nimport { IPopoverAdapter } from './popover-adapter';\nimport { PopoverAnimationType, IPopoverToggleEventData, PopoverTriggerType, POPOVER_CONSTANTS, PopoverDismissReason, POPOVER_HOVER_TIMEOUT, PopoverPreset } from './popover-constants';\nimport { IDismissibleStackState, DismissibleStack } from '../core/utils/dismissible-stack';\nimport { VirtualElement } from '../core/utils/position-utils';\n\nexport interface IPopoverFoundation extends IOverlayAwareFoundation {\n arrow: boolean;\n animationType: PopoverAnimationType;\n triggerType: PopoverTriggerType | PopoverTriggerType[];\n longpressDelay: number;\n persistentHover: boolean;\n hoverDismissDelay: number;\n hoverDelay: number;\n preset: PopoverPreset;\n hideAsync(): Promise<void>;\n dispatchBeforeToggleEvent(state: IDismissibleStackState): boolean;\n}\n\nconst BaseClass = WithLongpressListener(OverlayAwareFoundation<IPopoverAdapter>);\n\nexport class PopoverFoundation extends BaseClass implements IPopoverFoundation {\n private _anchor: string | null = null;\n private _arrow = false;\n private _animationType: PopoverAnimationType = 'zoom';\n private _triggerTypes: PopoverTriggerType[] = [POPOVER_CONSTANTS.defaults.TRIGGER_TYPE];\n private _persistentHover = false;\n private _hoverDismissDelay = POPOVER_HOVER_TIMEOUT;\n private _hoverDelay = POPOVER_CONSTANTS.defaults.HOVER_DELAY;\n private _preset = POPOVER_CONSTANTS.defaults.PRESET;\n private _previouslyFocusedElement: HTMLElement | null = null;\n\n // Hover trigger state\n private _hoverAnchorLeaveTimeout: undefined | number;\n private _popoverMouseleaveTimeout: undefined | number;\n private _currentHoverCoords: undefined | { x: number; y: number };\n private _hoverTimeout: number | undefined;\n\n // Click trigger listeners\n private _anchorClickListener = this._onAnchorClick.bind(this);\n\n // Double click trigger listeners\n private _anchorDoubleClickListener = this._onAnchorDoubleClick.bind(this);\n\n // Hover trigger listeners\n private _anchorMouseenterListener = this._onAnchorMouseenter.bind(this);\n private _anchorMouseleaveListener = this._onAnchorMouseleave.bind(this);\n private _popoverMouseenterListener = this._onPopoverMouseenter.bind(this);\n private _popoverMouseleaveListener = this._onPopoverMouseleave.bind(this);\n private _mousemoveListener = this._onMousemove.bind(this);\n\n // Focus trigger listeners\n private _anchorFocusListener = this._onAnchorFocus.bind(this);\n private _anchorBlurListener = this._onAnchorBlur.bind(this);\n private _popoverBlurListener = this._onPopoverBlur.bind(this);\n\n // Contextmenu listener\n private _contextmenuListener = this._onContextmenu.bind(this);\n\n constructor(adapter: IPopoverAdapter) {\n super(adapter);\n }\n\n public override initialize(): void {\n super.initialize();\n\n if (!this.anchorElement) {\n this._adapter.tryLocateAnchorElement(this._anchor);\n }\n\n this._initializeTriggerListeners();\n this._adapter.initializeAnchorElement();\n }\n\n public override destroy(): void {\n super.destroy();\n\n this._adapter.destroy();\n\n window.clearTimeout(this._hoverTimeout);\n window.clearTimeout(this._hoverAnchorLeaveTimeout);\n window.clearTimeout(this._popoverMouseleaveTimeout);\n \n this._previouslyFocusedElement = null;\n\n if (this.open) {\n this._closePopover();\n }\n\n this._removeTriggerListeners();\n }\n\n public hideAsync(): Promise<void> {\n return this._closePopover();\n }\n\n protected async _onOverlayLightDismiss(evt: CustomEvent<OverlayLightDismissEventData>): Promise<void> {\n evt.preventDefault();\n this._requestDismiss(evt.detail.reason);\n }\n\n public dispatchBeforeToggleEvent({ reason }: IDismissibleStackState): boolean {\n const evt = this._dispatchBeforetoggleEvent();\n\n if (evt.defaultPrevented) {\n return false;\n }\n\n const previousFocusedEl = this._previouslyFocusedElement;\n \n this._closePopover().then(() => {\n this._dispatchToggleEvent();\n\n if (reason === 'escape' && previousFocusedEl && this._adapter.hasFocus()) {\n previousFocusedEl.focus();\n }\n });\n\n return true;\n }\n\n private _openPopover({ dispatchEvents = true, fromKeyboard = false } = {}): void {\n if (dispatchEvents) {\n const evt = this._dispatchBeforetoggleEvent();\n if (evt.defaultPrevented) {\n return;\n }\n }\n\n this._previouslyFocusedElement = this._adapter.captureFocusedElement();\n this._adapter.setOverlayOpen(true);\n\n if (!this.overlayElement.persistent) {\n DismissibleStack.instance.add(this._adapter.hostElement);\n }\n\n this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.OPEN, this.open);\n\n // We only attempt to set initial focus if the event was triggered by a keyboard interaction\n if (fromKeyboard) {\n this._adapter.tryAutofocus();\n }\n\n if (dispatchEvents) {\n this._dispatchToggleEvent();\n }\n }\n\n private async _closePopover(): Promise<void> {\n this._previouslyFocusedElement = null;\n DismissibleStack.instance.remove(this._adapter.hostElement);\n\n if (this._animationType === 'none') {\n this._adapter.setOverlayOpen(false);\n } else {\n await this._adapter.hide();\n }\n\n this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.OPEN, this.open);\n }\n\n private _dispatchBeforetoggleEvent(): CustomEvent<IPopoverToggleEventData> {\n const evt = new CustomEvent<IPopoverToggleEventData>(POPOVER_CONSTANTS.events.BEFORETOGGLE, {\n detail: {\n oldState: this.open ? 'open' : 'closed',\n newState: this.open ? 'closed' : 'open'\n },\n bubbles: false,\n cancelable: true\n });\n this._adapter.dispatchHostEvent(evt);\n return evt;\n }\n\n private _dispatchToggleEvent(): void {\n this._adapter.dispatchHostEvent(new CustomEvent<IPopoverToggleEventData>(POPOVER_CONSTANTS.events.TOGGLE, {\n detail: {\n oldState: this.open ? 'closed' : 'open',\n newState: this.open ? 'open' : 'closed'\n },\n bubbles: false\n }));\n }\n\n private _initializeTriggerListeners(): void {\n if (this._triggerTypes.includes('manual')) {\n return;\n }\n\n let types = [...this._triggerTypes];\n\n // When contextmenu is used, we ignore all other trigger types\n if (types.includes('contextmenu')) {\n types = ['contextmenu'];\n } else {\n // Hover triggers already listen to focus by default\n if (types.includes('hover') && types.includes('focus')) {\n types.splice(types.indexOf('focus'), 1);\n }\n\n // We don't support both click and doubleclick together; click takes precedence\n if (types.includes('click') && types.includes('doubleclick')) {\n types.splice(types.indexOf('doubleclick'), 1);\n }\n }\n\n const triggerInitializers: Record<Exclude<PopoverTriggerType, 'manual'>, () => void> = {\n click: () => this._adapter.addAnchorListener('click', this._anchorClickListener),\n hover: () => {\n this._adapter.addAnchorListener('mouseenter', this._anchorMouseenterListener);\n this._adapter.addAnchorListener('focusin', this._anchorFocusListener);\n },\n focus: () => this._adapter.addAnchorListener('focusin', this._anchorFocusListener),\n longpress: () => {\n if (this._adapter.overlayElement.anchorElement && !(this._adapter.overlayElement.anchorElement instanceof VirtualElement)) {\n this._startLongpressListener(this._adapter.overlayElement.anchorElement);\n }\n },\n doubleclick: () => this._adapter.addAnchorListener('dblclick', this._anchorDoubleClickListener),\n contextmenu: () => this._adapter.addDocumentListener('contextmenu', this._contextmenuListener)\n };\n\n types.forEach(triggerType => triggerInitializers[triggerType]?.());\n }\n\n private _removeTriggerListeners(): void {\n const triggerRemovers: Record<Exclude<PopoverTriggerType, 'manual'>, () => void> = {\n click: () => this._adapter.removeAnchorListener('click', this._anchorClickListener),\n hover: () => {\n this._adapter.removeAnchorListener('mouseenter', this._anchorMouseenterListener);\n this._adapter.removeAnchorListener('mouseleave', this._anchorMouseleaveListener);\n this._adapter.removeAnchorListener('focusin', this._anchorFocusListener);\n this._adapter.removeAnchorListener('focusout', this._anchorBlurListener);\n this._adapter.removeHostListener('focusout', this._popoverBlurListener);\n this._tryRemoveHoverListeners();\n },\n focus: () => {\n this._adapter.removeAnchorListener('focusin', this._anchorFocusListener);\n this._adapter.removeAnchorListener('focusout', this._anchorBlurListener);\n this._adapter.removeHostListener('focusout', this._popoverBlurListener);\n },\n longpress: () => {\n if (this._adapter.overlayElement.anchorElement && !(this._adapter.overlayElement.anchorElement instanceof VirtualElement)) {\n this._stopLongpressListener(this._adapter.overlayElement.anchorElement);\n }\n },\n doubleclick: () => this._adapter.removeAnchorListener('dblclick', this._anchorDoubleClickListener),\n contextmenu: () => this._adapter.removeDocumentListener('contextmenu', this._contextmenuListener)\n };\n this._triggerTypes.forEach(triggerType => triggerRemovers[triggerType]?.());\n }\n\n private _startHoverListeners(): void {\n this._adapter.addDocumentListener('mousemove', this._mousemoveListener);\n this._adapter.addSurfaceListener('mouseenter', this._popoverMouseenterListener);\n this._adapter.addSurfaceListener('mouseleave', this._popoverMouseleaveListener);\n }\n\n private _tryRemoveHoverListeners(): void {\n this._adapter.removeDocumentListener('mousemove', this._mousemoveListener);\n this._adapter.removeSurfaceListener('mouseenter', this._popoverMouseenterListener);\n this._adapter.removeSurfaceListener('mouseleave', this._popoverMouseleaveListener);\n }\n\n private _requestDismiss(reason: PopoverDismissReason): void {\n DismissibleStack.instance.requestDismiss(this._adapter.hostElement, { reason });\n }\n \n private _requestClose(reason: PopoverDismissReason): void {\n DismissibleStack.instance.dismiss(this._adapter.hostElement, { reason });\n }\n\n private _onHoverClose(): void {\n /* c8 ignore next 3 */\n if (!this.open) {\n return;\n }\n \n if (this._currentHoverCoords) {\n const mouseElement = document.elementFromPoint(this._currentHoverCoords.x, this._currentHoverCoords.y) as HTMLElement;\n const isOwnElement = mouseElement &&\n (this._adapter.isChildElement(mouseElement) ||\n (!(this._adapter.overlayElement.anchorElement instanceof VirtualElement) && this._adapter.overlayElement.anchorElement?.contains(mouseElement)));\n /* c8 ignore next 3 */\n if (isOwnElement) {\n return;\n }\n }\n window.clearTimeout(this._hoverTimeout);\n this._tryRemoveHoverListeners();\n this._requestClose('hover');\n }\n\n /**\n * Handles `click` events on the anchor element.\n * \n * Only called when using the \"click\" (default) trigger type.\n */\n private _onAnchorClick(evt: PointerEvent): void {\n if (!this.open) {\n const fromKeyboard = evt.detail === 0 && !evt.pointerType;\n this._openPopover({ fromKeyboard });\n } else {\n this._requestClose('click');\n }\n }\n\n /**\n * Handles `dblclick` events on the anchor element.\n */\n private _onAnchorDoubleClick(): void {\n if (!this.open) {\n this._openPopover();\n } else {\n this._requestClose('doubleclick');\n }\n }\n\n /**\n * Handles `mouseenter` events on the anchor element. This is used to determine if the popover should be opened.\n * \n * Only called when using the \"hover\" trigger type.\n */\n private _onAnchorMouseenter(): void {\n window.clearTimeout(this._hoverAnchorLeaveTimeout);\n if (!this._adapter.overlayElement.open) {\n if (!this._persistentHover) {\n this._adapter.addAnchorListener('mouseleave', this._anchorMouseleaveListener);\n }\n if (this._hoverDelay) {\n this._hoverTimeout = window.setTimeout(() => {\n this._openPopover();\n }, this._hoverDelay);\n } else {\n this._openPopover();\n }\n }\n }\n\n /**\n * Handles `mouseleave` events on the anchor element. This is used to determine if the popover should be closed.\n * \n * Only called when using the \"hover\" trigger type.\n * \n * We use a timeout here to allow for the user to take an indirect path toward the popover.\n */\n private _onAnchorMouseleave(): void {\n this._startHoverListeners();\n window.clearTimeout(this._hoverTimeout);\n\n this._hoverAnchorLeaveTimeout = window.setTimeout(() => {\n this._hoverAnchorLeaveTimeout = undefined;\n this._onHoverClose();\n }, this._hoverDismissDelay);\n }\n\n /**\n * Handles `mouseenter` events on the popover element. This is used to determine if the mouse has entered the popover element, \n * only after the mouse leaves the anchor element..\n */\n private _onPopoverMouseenter(): void {\n window.clearTimeout(this._hoverAnchorLeaveTimeout);\n window.clearTimeout(this._popoverMouseleaveTimeout);\n }\n\n /**\n * Handles `mouseleave` events on the popover element. This is used to determine if the mouse has moved outside of the popover.\n * \n * Only called when using the \"hover\" trigger type.\n * \n * We use a timeout here to allow for the user to take an indirect path toward an open child menu.\n * This allows for the popup to stay open while the user is moving their mouse to it to avoid closing immediately.\n */\n private _onPopoverMouseleave(): void {\n this._popoverMouseleaveTimeout = window.setTimeout(() => {\n this._popoverMouseleaveTimeout = undefined;\n this._onHoverClose();\n }, this._hoverDismissDelay);\n }\n\n /**\n * Handles `mousemove` events on the document. This is used to determine if the mouse has moved outside of the popover.\n * \n * This listener is only initialized once the mouse leaves the anchor element.\n * \n * Only called when using the \"hover\" trigger type.\n */\n private _onMousemove(evt: MouseEvent): void {\n this._currentHoverCoords = { x: evt.pageX, y: evt.pageY };\n }\n \n /**\n * Handles `focusin` events on the anchor element. This is used to determine if focus has been received on the anchor element when using the \"focus\" trigger type.\n */\n private _onAnchorFocus(_evt: FocusEvent): void {\n if (!this._adapter.overlayElement.open) {\n this._adapter.addAnchorListener('focusout', this._anchorBlurListener);\n this._openPopover({ fromKeyboard: true });\n }\n }\n\n /**\n * Handles `focusout` events on the anchor element. This is used to determine if focus has been moved outside of the anchor element when using the \"focus\" trigger type.\n */\n private _onAnchorBlur(evt: FocusEvent): void {\n if (!this._adapter.isChildElement(evt.relatedTarget as HTMLElement)) {\n // Focus was moved outside of the popover element, so let's assume we need to close\n this._requestClose('focus');\n } else {\n // Focus was moved to within the popover element, now we must listen for focus to move outside of the popover\n this._adapter.addHostListener('focusout', this._popoverBlurListener);\n }\n }\n\n private _onPopoverBlur({ relatedTarget }: FocusEvent): void {\n const popoverHasFocus = this._adapter.hasFocus();\n const anchorHasFocus = !(this._adapter.overlayElement.anchorElement instanceof VirtualElement) &&\n (this._adapter.overlayElement.anchorElement?.matches(':focus-within') ||\n this._adapter.overlayElement.anchorElement?.contains(relatedTarget as HTMLElement));\n if (!popoverHasFocus && !anchorHasFocus) {\n this._requestClose('focus');\n }\n }\n\n protected _onLongpress(): void {\n if (!this.open) {\n this._openPopover();\n }\n }\n\n private _onContextmenu(evt: MouseEvent): void {\n evt.preventDefault();\n this.anchorElement = VirtualElement.fromEvent(evt);\n if (!this.open) {\n this._openPopover();\n }\n }\n\n /**\n * Public API\n */\n\n public override get open(): boolean {\n return this._adapter.overlayElement.open;\n }\n public override set open(value: boolean) {\n if (this._adapter.overlayElement.open !== value) {\n if (value) {\n this._openPopover({ dispatchEvents: false });\n } else {\n this._closePopover();\n }\n }\n }\n\n public override get anchorElement(): HTMLElement | VirtualElement | null {\n return this._adapter.overlayElement.anchorElement;\n }\n public override set anchorElement(value: HTMLElement | VirtualElement | null) {\n if (this._adapter.overlayElement.anchorElement !== value) {\n if (this._adapter.isConnected) {\n this._removeTriggerListeners();\n this._adapter.cleanupAnchorElement();\n }\n\n this._adapter.overlayElement.anchorElement = value;\n\n if (this._adapter.isConnected) {\n this._initializeTriggerListeners();\n this._adapter.initializeAnchorElement();\n }\n }\n }\n\n public override get anchor(): string | null {\n return this._anchor;\n }\n public override set anchor(value: string | null) {\n if (this._anchor !== value) {\n this._anchor = value;\n \n if (this._adapter.isConnected) {\n this._removeTriggerListeners();\n this._adapter.cleanupAnchorElement();\n this._adapter.tryLocateAnchorElement(this._anchor);\n this._initializeTriggerListeners();\n this._adapter.initializeAnchorElement();\n }\n }\n }\n\n public get arrow(): boolean {\n return this._arrow;\n }\n public set arrow(value: boolean) {\n value = Boolean(value);\n if (this._arrow !== value) {\n this._arrow = value;\n this._adapter.toggleArrow(value);\n this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.ARROW, value);\n }\n }\n\n public get animationType(): PopoverAnimationType {\n return this._animationType;\n }\n public set animationType(value: PopoverAnimationType) {\n if (this._animationType !== value) {\n this._animationType = value;\n this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.ANIMATION_TYPE, !!this._animationType, this._animationType);\n }\n }\n\n public get triggerType(): PopoverTriggerType | PopoverTriggerType[] {\n return this._triggerTypes.length === 1 ? this._triggerTypes[0] : this._triggerTypes;\n }\n public set triggerType(value: PopoverTriggerType | PopoverTriggerType[]) {\n if (this._triggerTypes !== value) {\n if (this._adapter.isConnected) {\n this._removeTriggerListeners();\n }\n\n this._triggerTypes = Array.isArray(value) ? value : [value];\n this._triggerTypes = this._triggerTypes.filter(type => !!type);\n\n if (!this._triggerTypes.length) {\n this._triggerTypes = [POPOVER_CONSTANTS.defaults.TRIGGER_TYPE];\n }\n\n if (this._adapter.isConnected) {\n this._initializeTriggerListeners();\n }\n }\n }\n\n public get longpressDelay(): number {\n return this._longpressDelay;\n }\n public set longpressDelay(value: number) {\n if (this._longpressDelay !== value) {\n this._longpressDelay = value;\n this._adapter.setHostAttribute(POPOVER_CONSTANTS.attributes.LONGPRESS_DELAY, String(this._longpressDelay));\n }\n }\n\n public get persistentHover(): boolean {\n return this._persistentHover;\n }\n public set persistentHover(value: boolean) {\n value = Boolean(value);\n if (this._persistentHover !== value) {\n this._persistentHover = value;\n\n if (this._persistentHover && this._triggerTypes.includes('hover') && this._adapter.isConnected) {\n this._removeTriggerListeners();\n this._initializeTriggerListeners();\n }\n\n this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.PERSISTENT_HOVER, value);\n }\n }\n\n public get hoverDelay(): number {\n return this._hoverDelay;\n }\n public set hoverDelay(value: number) {\n if (isNaN(value) || value < 0) {\n value = POPOVER_CONSTANTS.defaults.HOVER_DELAY;\n }\n if (this._hoverDelay !== value) {\n this._hoverDelay = value;\n this._adapter.setHostAttribute(POPOVER_CONSTANTS.attributes.HOVER_DELAY, String(this._hoverDelay));\n }\n }\n\n public get hoverDismissDelay(): number {\n return this._hoverDismissDelay;\n }\n public set hoverDismissDelay(value: number) {\n if (this._hoverDismissDelay !== value) {\n this._hoverDismissDelay = value;\n this._adapter.setHostAttribute(POPOVER_CONSTANTS.attributes.HOVER_DISMISS_DELAY, String(this._hoverDismissDelay));\n }\n }\n\n public get preset(): PopoverPreset {\n return this._preset ?? POPOVER_CONSTANTS.defaults.PRESET;\n }\n public set preset(value: PopoverPreset) {\n value = value ?? POPOVER_CONSTANTS.defaults.PRESET;\n if (this._preset !== value) {\n this._preset = value;\n const hasPreset = value !== POPOVER_CONSTANTS.defaults.PRESET;\n this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.PRESET, hasPreset, this._preset);\n }\n }\n}\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { IOverlayComponent } from '../overlay';\nimport { IOverlayAwareFoundation } from './overlay-aware-foundation';\nimport { IOverlayOffset, OverlayFlipState, OverlayHideState, OverlayPlacement, OverlayPositionStrategy, OVERLAY_CONSTANTS } from '../overlay-constants';\nimport { PositionPlacement, VirtualElement } from '../../core/utils/position-utils';\nimport { IBaseOverlay } from './base-overlay';\n\nexport interface IOverlayAware extends IBaseComponent, IBaseOverlay {\n readonly overlay: IOverlayComponent;\n}\n\nexport abstract class OverlayAware<T extends IOverlayAwareFoundation> extends BaseComponent implements IOverlayAware {\n protected _foundation: T;\n\n constructor() {\n super();\n }\n\n public position(): void {\n this._foundation.position();\n }\n\n public attributeChangedCallback(name: string, _oldValue: string, newValue: string): void {\n switch (name) {\n case OVERLAY_CONSTANTS.observedAttributes.ANCHOR:\n this.anchor = newValue;\n break;\n case OVERLAY_CONSTANTS.observedAttributes.NO_ANCHOR:\n this.noAnchor = coerceBoolean(newValue);\n break;\n case OVERLAY_CONSTANTS.observedAttributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case OVERLAY_CONSTANTS.observedAttributes.INLINE:\n this.inline = coerceBoolean(newValue);\n break;\n case OVERLAY_CONSTANTS.observedAttributes.PLACEMENT:\n this.placement = newValue as OverlayPlacement;\n break;\n case OVERLAY_CONSTANTS.observedAttributes.POSITION_STRATEGY:\n this.positionStrategy = newValue as OverlayPositionStrategy;\n break;\n case OVERLAY_CONSTANTS.observedAttributes.HIDE:\n this.hide = newValue as OverlayHideState;\n break;\n case OVERLAY_CONSTANTS.observedAttributes.PERSISTENT:\n this.persistent = coerceBoolean(newValue);\n break;\n case OVERLAY_CONSTANTS.observedAttributes.SHIFT:\n this.shift = coerceBoolean(newValue);\n break;\n case OVERLAY_CONSTANTS.observedAttributes.FLIP:\n this.flip = newValue as OverlayFlipState;\n break;\n case OVERLAY_CONSTANTS.observedAttributes.BOUNDARY:\n this.boundary = newValue;\n break;\n }\n }\n\n public get overlay(): IOverlayComponent {\n return this._foundation.overlayElement;\n }\n\n @FoundationProperty()\n public declare anchorElement: HTMLElement | VirtualElement | null;\n\n @FoundationProperty()\n public declare anchor: string | null;\n\n @FoundationProperty()\n public declare noAnchor: boolean;\n\n @FoundationProperty()\n public declare open: boolean;\n\n @FoundationProperty()\n public declare inline: boolean;\n\n @FoundationProperty()\n public declare placement: OverlayPlacement;\n\n @FoundationProperty()\n public declare positionStrategy: OverlayPositionStrategy;\n\n @FoundationProperty()\n public declare offset: IOverlayOffset;\n\n @FoundationProperty()\n public declare shift: boolean;\n\n @FoundationProperty()\n public declare hide: OverlayHideState;\n\n @FoundationProperty()\n public declare persistent: boolean;\n\n @FoundationProperty()\n public declare flip: OverlayFlipState;\n\n @FoundationProperty()\n public declare boundary: string | null;\n\n @FoundationProperty()\n public declare boundaryElement: HTMLElement | null;\n\n @FoundationProperty()\n public declare fallbackPlacements: PositionPlacement[] | null;\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { PopoverAdapter } from './popover-adapter';\nimport { IPopoverToggleEventData, PopoverAnimationType, PopoverPreset, PopoverTriggerType, POPOVER_CONSTANTS } from './popover-constants';\nimport { IPopoverFoundation, PopoverFoundation } from './popover-foundation';\nimport { OverlayComponent, OVERLAY_CONSTANTS } from '../overlay';\nimport { IOverlayAware, OverlayAware } from '../overlay/base/overlay-aware';\nimport { coerceStringToArray } from '../core/utils/utils';\nimport { IDismissible, tryDismiss, IDismissibleStackState } from '../core/utils/dismissible-stack';\n\nconst template = '<template><forge-overlay exportparts=\\\"root:overlay\\\"><div class=\\\"forge-popover\\\" part=\\\"surface\\\"><slot></slot></div></forge-overlay></template>';\nconst styles = '@-webkit-keyframes zoomin{from{-webkit-transform:scale(.8);transform:scale(.8)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes zoomin{from{-webkit-transform:scale(.8);transform:scale(.8)}to{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes zoomout{from{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.8);transform:scale(.8)}}@keyframes zoomout{from{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.8);transform:scale(.8)}}@-webkit-keyframes slidein{from{-webkit-transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y));transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y))}to{-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}}@keyframes slidein{from{-webkit-transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y));transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y))}to{-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}}@-webkit-keyframes slideout{from{-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}to{-webkit-transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y));transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y))}}@keyframes slideout{from{-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}to{-webkit-transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y));transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y))}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeout{from{opacity:1}to{opacity:0}}@keyframes fadeout{from{opacity:1}to{opacity:0}}@layer base,animation,preset,reduced-motion; @layer base{:host{display:contents;--forge-theme-surface:var(--forge-theme-surface-bright, #ffffff)}:host([hidden]){display:none}forge-overlay{--_popover-width:var(--forge-popover-width, auto);--_popover-height:var(--forge-popover-height, auto);--_popover-min-width:var(--forge-popover-min-width, none);--_popover-max-width:var(--forge-popover-max-width, none);--_popover-min-height:var(--forge-popover-min-height, none);--_popover-max-height:var(--forge-popover-max-height, none);--_popover-background:var(--forge-popover-background, var(--forge-theme-surface-bright, #ffffff));--_popover-border-radius:var(--forge-popover-border-radius, var(--forge-shape-medium, 4px));--_popover-box-shadow:var(--forge-popover-box-shadow, var(--forge-theme-popup-elevation, var(--forge-theme-surface-bright-shadow)));--_popover-border-width:var(--forge-popover-border-width, 0);--_popover-border-style:var(--forge-popover-border-style, solid);--_popover-border-color:var(--forge-popover-border-color, var(--forge-theme-outline, #e0e0e0));--_popover-overflow:var(--forge-popover-overflow, initial);--_popover-arrow-size:var(--forge-popover-arrow-size, 12px);--_popover-arrow-height:var(--forge-popover-arrow-height, var(--_popover-arrow-size));--_popover-arrow-width:var(--forge-popover-arrow-width, var(--_popover-arrow-size));--_popover-arrow-background-color:var(--forge-popover-arrow-background-color, var(--_popover-background));--_popover-arrow-top-rotation:var(--forge-popover-arrow-top-rotation, 135deg);--_popover-arrow-right-rotation:var(--forge-popover-arrow-right-rotation, 225deg);--_popover-arrow-bottom-rotation:var(--forge-popover-arrow-bottom-rotation, 315deg);--_popover-arrow-left-rotation:var(--forge-popover-arrow-left-rotation, 45deg);--_popover-arrow-border-width:var(--forge-popover-arrow-border-width, var(--forge-border-thin, 1px));--_popover-animation-enter-duration:var(--forge-popover-animation-enter-duration, var(--forge-animation-duration-short3, 150ms));--_popover-animation-enter-timing:var(--forge-popover-animation-enter-timing, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)));--_popover-animation-exit-duration:var(--forge-popover-animation-exit-duration, var(--forge-animation-duration-short2, 100ms));--_popover-animation-exit-timing:var(--forge-popover-animation-exit-timing, var(--forge-animation-easing-accelerate, cubic-bezier(0.3, 0, 1, 1)));--_popover-zoom-enter-duration:var(--forge-popover-zoom-enter-duration, var(--_popover-animation-enter-duration));--_popover-zoom-enter-timing:var(--forge-popover-zoom-enter-timing, var(--_popover-animation-enter-timing));--_popover-zoom-exit-duration:var(--forge-popover-zoom-exit-duration, var(--_popover-animation-exit-duration));--_popover-zoom-exit-timing:var(--forge-popover-zoom-exit-timing, var(--_popover-animation-exit-timing));--_popover-slide-enter-duration:var(--forge-popover-slide-enter-duration, var(--_popover-animation-enter-duration));--_popover-slide-enter-timing:var(--forge-popover-slide-enter-timing, var(--_popover-animation-enter-timing));--_popover-slide-exit-duration:var(--forge-popover-slide-exit-duration, var(--_popover-animation-exit-duration));--_popover-slide-exit-timing:var(--forge-popover-slide-exit-timing, var(--_popover-animation-exit-timing));--_popover-slide-offset:var(--forge-popover-slide-offset, 24px);--_popover-fade-enter-duration:var(--forge-popover-fade-enter-duration, var(--forge-animation-duration-medium2, 300ms));--_popover-fade-enter-timing:var(--forge-popover-fade-enter-timing, var(--_popover-animation-enter-timing));--_popover-fade-exit-duration:var(--forge-popover-fade-exit-duration, var(--_popover-animation-exit-duration));--_popover-fade-exit-timing:var(--forge-popover-fade-exit-timing, var(--_popover-animation-exit-timing));--_popover-position-inline-start:var(--forge-popover-position-inline-start, auto);--_popover-position-inline-end:var(--forge-popover-position-inline-end, auto);--_popover-position-block-start:var(--forge-popover-position-block-start, auto);--_popover-position-block-end:var(--forge-popover-position-block-end, auto);--_popover-preset-dropdown-max-height:var(--forge-popover-preset-dropdown-max-height, 256px);--_popover-preset-dropdown-overflow:var(--forge-popover-preset-dropdown-overflow, auto visible);--_popover-preset-dropdown-padding-block:var(--forge-popover-preset-dropdown-padding-block, var(--forge-spacing-xsmall, 8px))}.forge-popover{--_popover-arrow-translate-x:0;--_popover-arrow-translate-y:0;--_popover-arrow-rotation:0;--_popover-slidein-x:0;--_popover-slidein-y:0;--_popover-zoomin-origin:50% 50% 0;--_popover-arrow-clip-path:polygon(calc(var(--_popover-border-width) * -1) calc(var(--_popover-border-width) * -1), calc(100% + var(--_popover-border-width)) calc(var(--_popover-border-width) * -1), calc(100% + var(--_popover-border-width)) calc(100% + var(--_popover-border-width)))}.forge-popover{position:relative;overflow:var(--_popover-overflow);-webkit-box-sizing:border-box;box-sizing:border-box;background:var(--_popover-background);border-radius:var(--_popover-border-radius);-webkit-box-shadow:var(--_popover-box-shadow);box-shadow:var(--_popover-box-shadow);border-width:var(--_popover-border-width);border-style:var(--_popover-border-style);border-color:var(--_popover-border-color);width:var(--_popover-width);height:var(--_popover-height);min-width:var(--_popover-min-width);max-width:var(--_popover-max-width);min-height:var(--_popover-min-height);max-height:var(--_popover-max-height)}.forge-popover::-webkit-scrollbar{height:var(--forge-scrollbar-height,16px);width:var(--forge-scrollbar-width,16px)}.forge-popover::-webkit-scrollbar-track{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-popover::-webkit-scrollbar-track:hover{background-color:var(--forge-scrollbar-track-container-hover,var(--forge-theme-surface-container-low,#ebebeb))}.forge-popover::-webkit-scrollbar-corner{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-popover::-webkit-scrollbar-thumb{height:var(--forge-scrollbar-thumb-min-height,32px);width:var(--forge-scrollbar-thumb-min-width,32px);border-radius:var(--forge-scrollbar-border-radius,var(--forge-shape-full,9999px));border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-color:var(--forge-scrollbar-thumb-container,var(--forge-theme-surface-container-medium,#c2c2c2));background-clip:content-box}.forge-popover::-webkit-scrollbar-thumb:hover{background-color:var(--forge-scrollbar-thumb-container-hover,var(--forge-theme-surface-container-high,#9e9e9e))}:host([open][no-anchor]) forge-overlay{--forge-overlay-position-inline-start:var(--_popover-position-inline-start);--forge-overlay-position-inline-end:var(--_popover-position-inline-end);--forge-overlay-position-block-start:var(--_popover-position-block-start);--forge-overlay-position-block-end:var(--_popover-position-block-end)}:host([arrow]) .forge-popover{--_popover-border-width:var(--_popover-arrow-border-width)}:host([arrow]) .arrow{position:absolute;background-color:var(--_popover-arrow-background-color);height:var(--_popover-arrow-height);width:var(--_popover-arrow-width);-webkit-box-shadow:var(--_popover-box-shadow);box-shadow:var(--_popover-box-shadow);border-width:var(--_popover-border-width);border-style:var(--_popover-border-style);border-color:var(--_popover-border-color);-webkit-transform:translate(var(--_popover-arrow-translate-x),var(--_popover-arrow-translate-y)) rotate(var(--_popover-arrow-rotation));transform:translate(var(--_popover-arrow-translate-x),var(--_popover-arrow-translate-y)) rotate(var(--_popover-arrow-rotation));-webkit-clip-path:var(--_popover-arrow-clip-path);clip-path:var(--_popover-arrow-clip-path)}:host([arrow]) forge-overlay[position-placement^=top] .arrow{--_popover-arrow-translate-y:var(--forge-popover-arrow-translate-y, calc(var(--_popover-border-width) * -1));--_popover-arrow-rotation:var(--forge-popover-arrow-rotation, var(--_popover-arrow-top-rotation))}:host([arrow]) forge-overlay[position-placement^=right] .arrow{--_popover-arrow-translate-x:var(--forge-popover-arrow-translate-x, var(--_popover-border-width));--_popover-arrow-rotation:var(--forge-popover-arrow-rotation, var(--_popover-arrow-right-rotation))}:host([arrow]) forge-overlay[position-placement^=bottom] .arrow{--_popover-arrow-translate-y:var(--forge-popover-arrow-translate-y, var(--_popover-border-width));--_popover-arrow-rotation:var(--forge-popover-arrow-rotation, var(--_popover-arrow-bottom-rotation))}:host([arrow]) forge-overlay[position-placement^=left] .arrow{--_popover-arrow-translate-x:var(--forge-popover-arrow-translate-x, calc(var(--_popover-border-width) * -1));--_popover-arrow-rotation:var(--forge-popover-arrow-rotation, var(--_popover-arrow-left-rotation))}}@layer preset{:host([preset=dropdown]) .forge-popover{--_popover-max-height:var(--_popover-preset-dropdown-max-height);--_popover-overflow:var(--_popover-preset-dropdown-overflow);padding-block:var(--_popover-preset-dropdown-padding-block)}:host([constrain-viewport-width]) .forge-popover{--_popover-max-width:var(--forge-popover-max-width, 100vw)}}@layer animation{:host(:not([animation-type])) .forge-popover,:host([animation-type=zoom]) .forge-popover{-webkit-animation-duration:var(--_popover-zoom-enter-duration);animation-duration:var(--_popover-zoom-enter-duration);-webkit-animation-timing-function:var(--_popover-zoom-enter-timing);animation-timing-function:var(--_popover-zoom-enter-timing);-webkit-animation-name:fadein,zoomin;animation-name:fadein,zoomin;-webkit-transform-origin:var(--_popover-zoomin-origin);transform-origin:var(--_popover-zoomin-origin)}:host(:not([animation-type])) forge-overlay[open][position-placement^=top]:not([position-placement*=\\\"-\\\"]) .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=top]:not([position-placement*=\\\"-\\\"]) .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, bottom center)}:host(:not([animation-type])) forge-overlay[open][position-placement^=top][position-placement$=-start] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=top][position-placement$=-start] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, bottom left)}:host(:not([animation-type])) forge-overlay[open][position-placement^=top][position-placement$=-end] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=top][position-placement$=-end] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, bottom right)}:host(:not([animation-type])) forge-overlay[open][position-placement^=right]:not([position-placement*=\\\"-\\\"]) .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=right]:not([position-placement*=\\\"-\\\"]) .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, left center)}:host(:not([animation-type])) forge-overlay[open][position-placement^=right][position-placement$=-start] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=right][position-placement$=-start] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, left top)}:host(:not([animation-type])) forge-overlay[open][position-placement^=right][position-placement$=-end] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=right][position-placement$=-end] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, left bottom)}:host(:not([animation-type])) forge-overlay[open][position-placement^=bottom]:not([position-placement*=\\\"-\\\"]) .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=bottom]:not([position-placement*=\\\"-\\\"]) .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, top center)}:host(:not([animation-type])) forge-overlay[open][position-placement^=bottom][position-placement$=-start] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=bottom][position-placement$=-start] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, top left)}:host(:not([animation-type])) forge-overlay[open][position-placement^=bottom][position-placement$=-end] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=bottom][position-placement$=-end] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, top right)}:host(:not([animation-type])) forge-overlay[open][position-placement^=left]:not([position-placement*=\\\"-\\\"]) .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=left]:not([position-placement*=\\\"-\\\"]) .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, right center)}:host(:not([animation-type])) forge-overlay[open][position-placement^=left][position-placement$=-start] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=left][position-placement$=-start] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, right top)}:host(:not([animation-type])) forge-overlay[open][position-placement^=left][position-placement$=-end] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=left][position-placement$=-end] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, right bottom)}:host(:not([animation-type])) forge-overlay[open] .forge-popover.exiting,:host([animation-type=zoom]) forge-overlay[open] .forge-popover.exiting{-webkit-animation-duration:var(--_popover-zoom-exit-duration);animation-duration:var(--_popover-zoom-exit-duration);-webkit-animation-timing-function:var(--_popover-zoom-exit-timing);animation-timing-function:var(--_popover-zoom-exit-timing);-webkit-animation-name:fadeout,zoomout;animation-name:fadeout,zoomout}:host([animation-type=slide]) .forge-popover{-webkit-animation-duration:var(--_popover-slide-enter-duration);animation-duration:var(--_popover-slide-enter-duration);-webkit-animation-timing-function:var(--_popover-slide-enter-timing);animation-timing-function:var(--_popover-slide-enter-timing);-webkit-animation-name:fadein,slidein;animation-name:fadein,slidein}:host([animation-type=slide]) forge-overlay[open][position-placement^=top] .forge-popover{--_popover-slidein-y:var(--forge-popover-slidein-y, var(--_popover-slide-offset))}:host([animation-type=slide]) forge-overlay[open][position-placement^=right] .forge-popover{--_popover-slidein-x:var(--forge-popover-slidein-x, calc(var(--_popover-slide-offset) * -1))}:host([animation-type=slide]) forge-overlay[open][position-placement^=bottom] .forge-popover{--_popover-slidein-y:var(--forge-popover-slidein-y, calc(var(--_popover-slide-offset) * -1))}:host([animation-type=slide]) forge-overlay[open][position-placement^=left] .forge-popover{--_popover-slidein-x:var(--forge-popover-slidein-x, var(--_popover-slide-offset))}:host([animation-type=slide]) forge-overlay[open] .forge-popover.exiting{-webkit-animation-duration:var(--_popover-slide-exit-duration);animation-duration:var(--_popover-slide-exit-duration);-webkit-animation-timing-function:var(--_popover-slide-exit-timing);animation-timing-function:var(--_popover-slide-exit-timing);-webkit-animation-name:fadeout,slideout;animation-name:fadeout,slideout}:host([animation-type=fade]) .forge-popover{-webkit-animation-duration:var(--_popover-fade-enter-duration);animation-duration:var(--_popover-fade-enter-duration);-webkit-animation-timing-function:var(--_popover-fade-enter-timing);animation-timing-function:var(--_popover-fade-enter-timing);-webkit-animation-name:fadein;animation-name:fadein}:host([animation-type=fade]) .forge-popover.exiting{-webkit-animation-duration:var(--_popover-fade-exit-duration);animation-duration:var(--_popover-fade-exit-duration);-webkit-animation-timing-function:var(--_popover-fade-exit-timing);animation-timing-function:var(--_popover-fade-exit-timing);-webkit-animation-name:fadeout;animation-name:fadeout}}@layer reduced-motion{@media (prefers-reduced-motion:reduce){.forge-popover{-webkit-animation:none;animation:none}.forge-popover.exiting{-webkit-animation:none;animation:none}}}';\n\nexport interface IPopoverComponent extends IOverlayAware, IDismissible {\n arrow: boolean;\n animationType: PopoverAnimationType;\n triggerType: PopoverTriggerType | PopoverTriggerType[];\n longpressDelay: number;\n persistentHover: boolean;\n hoverDelay: number;\n hoverDismissDelay: number;\n preset: PopoverPreset;\n hideAsync(): Promise<void>;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-popover': IPopoverComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-popover-beforetoggle': CustomEvent<IPopoverToggleEventData>;\n 'forge-popover-toggle': CustomEvent<IPopoverToggleEventData>;\n }\n}\n\n/**\n * @tag forge-popover\n * \n * @summary Popovers are used to render content in an element that is above all other content on the page.\n * \n * @property {boolean} arrow - Whether or not the popover should render an arrow.\n * @property {PopoverAnimationType} animationType - The animation type to use for the popover. Valid values are `'none'`, `'fade'`, `'slide'`, and `'zoom'` (default).\n * @property {PopoverTriggerType | PopoverTriggerType[]} triggerType - The trigger type(s) to use for the popover. Valid values are `'click'` (default), `'hover'`, `'focus'`, and `'longpress'`. Multiple can be specified.\n * @property {number} longpressDelay - The delay in milliseconds before a longpress event is detected.\n * @property {boolean} persistentHover - Whether or not the popover should remain open when the user hovers outside the popover.\n * @property {number} hoverDismissDelay - The delay in milliseconds before the popover is dismissed when the user hovers outside of the popover.\n * @property {number} hoverDelay - The delay in milliseconds before the popover is shown.\n * @property {PopoverPreset} preset - The preset to use for the popover.\n * \n * @attribute {string} arrow - Whether or not the popover should render an arrow.\n * @attribute {string} animation-type - The animation type to use for the popover. Valid values are `'none'`, `'fade'`, `'slide'`, and `'zoom'` (default).\n * @attribute {string} trigger-type - The trigger type(s) to use for the popover. Valid values are `'click'` (default), `'hover'`, `'focus'`, and `'longpress'`. Multiple can be specified.\n * @attribute {string} longpress-delay - The delay in milliseconds before a longpress event is detected.\n * @attribute {string} persistent-hover - Whether or not the popover should remain open when the user hovers outside the popover.\n * @attribute {string} hover-dismiss-delay - The delay in milliseconds before the popover is dismissed when the user hovers outside of the popover.\n * @attribute {number} hover-delay - The delay in milliseconds before the popover is shown.\n * @attribute {string} preset - The preset to use for the popover.\n * \n * @event {CustomEvent<IPopoverToggleEventData} forge-popover-beforetoggle - Dispatches before the popover is toggled, and is cancelable.\n * @event {CustomEvent<IPopoverToggleEventData} forge-popover-toggle - Dispatches after the popover is toggled.\n * \n * @cssproperty --forge-popover-background - The background color of the popover surface.\n * @cssproperty --forge-popover-border-radius - The border radius of the popover surface.\n * @cssproperty --forge-popover-box-shadow - The box shadow of the popover surface.\n * @cssproperty --forge-popover-border-width - The border width of the popover surface.\n * @cssproperty --forge-popover-border-style - The border style of the popover surface.\n * @cssproperty --forge-popover-border-color - The border color of the popover surface.\n * @cssproperty --forge-popover-width - The width of the popover surface. Defaults to `auto`.\n * @cssproperty --forge-popover-height - The height of the popover surface. Defaults to `auto`.\n * @cssproperty --forge-popover-min-width - The minimum width of the popover surface. Defaults to `none`.\n * @cssproperty --forge-popover-max-width - The maximum width of the popover surface. Defaults to `none`.\n * @cssproperty --forge-popover-min-height - The minimum height of the popover surface. Defaults to `none`.\n * @cssproperty --forge-popover-max-height - The maximum height of the popover surface. Defaults to `none`.\n * @cssproperty --forge-popover-arrow-size - The size of the arrow.\n * @cssproperty --forge-popover-arrow-height - The height of the arrow.\n * @cssproperty --forge-popover-arrow-width - The width of the arrow.\n * @cssproperty --forge-popover-arrow-background-color - The background color of the arrow. Defaults to the background color of the popover surface.\n * @cssproperty --forge-popover-arrow-top-rotation - The rotation of the arrow when the popover is placed on the top.\n * @cssproperty --forge-popover-arrow-right-rotation - The rotation of the arrow when the popover is placed on the right.\n * @cssproperty --forge-popover-arrow-bottom-rotation - The rotation of the arrow when the popover is placed on the bottom.\n * @cssproperty --forge-popover-arrow-left-rotation - The rotation of the arrow when the popover is placed on the left.\n * @cssproperty --forge-popover-arrow-border-width - The border width of the popover surface and arrow when an arrow is applied.\n * @cssproperty --forge-popover-arrow-clip-path - The clip path to use for the arrow element.\n * @cssproperty --forge-popover-animation-timing - The animation timing function to use for the popover animation.\n * @cssproperty --forge-popover-zoom-duration - The duration of the zoom animation.\n * @cssproperty --forge-popover-zoom-timing - The timing function to use for the zoom animation.\n * @cssproperty --forge-popover-slide-duration - The duration of the slide animation.\n * @cssproperty --forge-popover-slide-timing - The timing function to use for the slide animation.\n * @cssproperty --forge-popover-slide-offset - The start offset to use for the slide animation.\n * @cssproperty --forge-popover-fade-duration - The duration of the fade animation.\n * @cssproperty --forge-popover-fade-timing - The timing function to use for the fade animation.\n * @cssproperty --forge-popover-position-block-start - The `block-start` position of the popover.\n * @cssproperty --forge-popover-position-block-end - The `block-end` position of the popover.\n * @cssproperty --forge-popover-position-inline-start - The `inline-start` position of the popover.\n * @cssproperty --forge-popover-position-inline-end - The `inline-end` position of the popover.\n * @cssproperty --forge-popover-preset-dropdown-max-height - The maximum height of the popover when using `preset=\"dropdown\"`. Defaults to `256px`.\n * @cssproperty --forge-popover-preset-dropdown-overflow - The overflow behavior of the popover when using `preset=\"dropdown\"`. Defaults to `auto visible` (vertical scrolling only).\n * \n * @slot - The content to render inside the popover.\n * \n * @csspart overlay - The overlay root element.\n * @csspart surface - The surface container element for the slotted content.\n */\n@CustomElement({\n name: POPOVER_CONSTANTS.elementName,\n dependencies: [OverlayComponent]\n})\nexport class PopoverComponent extends OverlayAware<IPopoverFoundation> implements IPopoverComponent {\n public static get observedAttributes(): string[] {\n return [\n ...Object.values(OVERLAY_CONSTANTS.observedAttributes),\n ...Object.values(POPOVER_CONSTANTS.observedAttributes)\n ];\n }\n\n public [tryDismiss](state: IDismissibleStackState): boolean {\n return this._foundation.dispatchBeforeToggleEvent(state);\n }\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new PopoverFoundation(new PopoverAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case POPOVER_CONSTANTS.observedAttributes.ARROW:\n this.arrow = coerceBoolean(newValue);\n return;\n case POPOVER_CONSTANTS.observedAttributes.ANIMATION_TYPE:\n this.animationType = newValue as PopoverAnimationType;\n return;\n case POPOVER_CONSTANTS.observedAttributes.TRIGGER_TYPE:\n this.triggerType = newValue?.trim() ? coerceStringToArray<PopoverTriggerType>(newValue) : POPOVER_CONSTANTS.defaults.TRIGGER_TYPE;\n return;\n case POPOVER_CONSTANTS.observedAttributes.LONGPRESS_DELAY:\n this.longpressDelay = coerceNumber(newValue);\n return;\n case POPOVER_CONSTANTS.observedAttributes.PERSISTENT_HOVER:\n this.persistentHover = coerceBoolean(newValue);\n return;\n case POPOVER_CONSTANTS.observedAttributes.HOVER_DELAY:\n this.hoverDelay = coerceNumber(newValue);\n return;\n case POPOVER_CONSTANTS.observedAttributes.HOVER_DISMISS_DELAY:\n this.hoverDismissDelay = coerceNumber(newValue);\n return;\n case POPOVER_CONSTANTS.observedAttributes.PRESET:\n this.preset = newValue as PopoverPreset;\n return;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n @FoundationProperty()\n public declare arrow: boolean;\n\n @FoundationProperty()\n public declare animationType: PopoverAnimationType;\n\n @FoundationProperty()\n public declare triggerType: PopoverTriggerType | PopoverTriggerType[];\n\n @FoundationProperty()\n public declare longpressDelay: number;\n\n @FoundationProperty()\n public declare persistentHover: boolean;\n\n @FoundationProperty()\n public declare hoverDelay: number;\n\n @FoundationProperty()\n public declare hoverDismissDelay: number;\n\n @FoundationProperty()\n public declare preset: PopoverPreset;\n\n public hideAsync(): Promise<void> {\n return this._foundation.hideAsync();\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { BaseAdapter, IBaseAdapter } from '../../core';\nimport { IOverlayComponent } from '..';\nimport { IOverlayAware } from '../base/overlay-aware';\n\nexport interface IOverlayAwareAdapter extends IBaseAdapter {\n readonly overlayElement: IOverlayComponent;\n}\n\nexport abstract class OverlayAwareAdapter<T extends IOverlayAware> extends BaseAdapter<T> implements IOverlayAwareAdapter {\n protected _overlayElement: IOverlayComponent;\n\n constructor(component: T) {\n super(component);\n this._initializeOverlayElement();\n }\n\n protected abstract _initializeOverlayElement(): void;\n\n public get overlayElement(): IOverlayComponent {\n return this._overlayElement;\n }\n}\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { prefersReducedMotion } from '../core/utils/feature-detection';\nimport { VirtualElement } from '../core/utils/position-utils';\nimport { IOverlayComponent, OVERLAY_CONSTANTS } from '../overlay';\nimport { IOverlayAwareAdapter, OverlayAwareAdapter } from '../overlay/base/overlay-aware-adapter';\nimport { IPopoverComponent } from './popover';\nimport { POPOVER_CONSTANTS } from './popover-constants';\n\nexport interface IPopoverAdapter extends IOverlayAwareAdapter {\n readonly hostElement: IPopoverComponent;\n destroy(): void;\n initializeAnchorElement(): void;\n cleanupAnchorElement(): void;\n tryLocateAnchorElement(id: string | null): void;\n addAnchorListener(type: string, listener: EventListener): void;\n removeAnchorListener(type: string, listener: EventListener): void;\n addSurfaceListener(type: string, listener: EventListener): void;\n removeSurfaceListener(type: string, listener: EventListener): void;\n hide(): Promise<void>;\n setOverlayOpen(newState: boolean): void;\n toggleArrow(value: boolean): void;\n isChildElement(element: HTMLElement): boolean;\n tryAutofocus(): void;\n hasFocus(): boolean;\n captureFocusedElement(): HTMLElement | null;\n}\n\nexport class PopoverAdapter extends OverlayAwareAdapter<IPopoverComponent> implements IPopoverAdapter {\n private _surfaceElement: HTMLElement;\n private _arrowElement: HTMLElement | undefined;\n\n constructor(component: IPopoverComponent) {\n super(component);\n this._surfaceElement = getShadowElement(this._component, POPOVER_CONSTANTS.selectors.SURFACE);\n }\n\n public destroy(): void {\n this._surfaceElement.classList.remove(POPOVER_CONSTANTS.classes.EXITING);\n this.cleanupAnchorElement();\n }\n \n protected _initializeOverlayElement(): void {\n this._overlayElement = getShadowElement(this._component, OVERLAY_CONSTANTS.elementName) as IOverlayComponent;\n }\n\n public tryLocateAnchorElement(id: string | null): void {\n this._overlayElement.anchorElement = this._tryFindAnchorElement(id);\n this._updateAnchorExpandedState(this._overlayElement.open);\n }\n\n public initializeAnchorElement(): void {\n this._updateAnchorExpandedState(this._overlayElement.open);\n }\n\n public cleanupAnchorElement(): void {\n this._updateAnchorExpandedState(null);\n }\n\n public addAnchorListener(type: string, listener: EventListener): void {\n if (this._overlayElement.anchorElement instanceof VirtualElement) {\n return;\n }\n this._overlayElement.anchorElement?.addEventListener(type, listener);\n }\n\n public removeAnchorListener(type: string, listener: EventListener): void {\n if (this._overlayElement.anchorElement instanceof VirtualElement) {\n return;\n }\n this._overlayElement.anchorElement?.removeEventListener(type, listener);\n }\n\n public addSurfaceListener(type: string, listener: EventListener): void {\n this._surfaceElement.addEventListener(type, listener);\n }\n\n public removeSurfaceListener(type: string, listener: EventListener): void {\n this._surfaceElement.removeEventListener(type, listener);\n }\n\n public setOverlayOpen(newState: boolean): void {\n this._surfaceElement.classList.remove(POPOVER_CONSTANTS.classes.EXITING);\n this._overlayElement.open = newState;\n this._updateAnchorExpandedState(newState);\n }\n\n public hide(): Promise<void> {\n if (prefersReducedMotion()) {\n this._surfaceElement.classList.remove(POPOVER_CONSTANTS.classes.EXITING);\n this._overlayElement.open = false;\n this._updateAnchorExpandedState(false);\n return Promise.resolve();\n }\n\n return new Promise(resolve => {\n this._surfaceElement.addEventListener('animationend', () => {\n this._surfaceElement.classList.remove(POPOVER_CONSTANTS.classes.EXITING);\n this._overlayElement.open = false;\n this._updateAnchorExpandedState(false);\n resolve();\n }, { once: true });\n this._surfaceElement.classList.add(POPOVER_CONSTANTS.classes.EXITING);\n });\n }\n\n public toggleArrow(value: boolean): void {\n if (value) {\n if (!this._arrowElement) {\n this._arrowElement = document.createElement('div');\n this._arrowElement.classList.add(POPOVER_CONSTANTS.classes.ARROW);\n this._arrowElement.setAttribute('part', POPOVER_CONSTANTS.parts.ARROW);\n }\n this._surfaceElement.appendChild(this._arrowElement);\n this._overlayElement.arrowElement = this._arrowElement;\n } else {\n this._arrowElement?.remove();\n this._arrowElement = undefined;\n this._overlayElement.arrowElement = undefined;\n }\n }\n\n public isChildElement(element: HTMLElement): boolean {\n return this._component.contains(element);\n }\n\n public tryAutofocus(): void {\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n if (this._component.open && this._overlayElement.isConnected && !this._component.matches(':focus-within')) {\n const autofocusElement = this._component.querySelector<HTMLElement>('[autofocus]');\n autofocusElement?.focus();\n }\n });\n });\n }\n\n public hasFocus(): boolean {\n return this._component.matches(':focus-within');\n }\n\n public captureFocusedElement(): HTMLElement | null {\n return this._component.ownerDocument.activeElement as HTMLElement | null;\n }\n\n /**\n * Attempts to find the anchor element by first checking for an element with the provided id, and if not found,\n * then implicitly assumes the previous element sibling is the anchor.\n * \n * @param [id] - The id of the anchor element to locate.\n * @returns The anchor element if found, otherwise null.\n */\n private _tryFindAnchorElement(id?: string | null): HTMLElement | null {\n if (id) {\n // First we attempt to locate the target element based on the id reference provided\n const rootNode = this._component.getRootNode() as Document | ShadowRoot;\n const targetEl = rootNode.querySelector<HTMLElement>(`#${id}`);\n if (targetEl) {\n return targetEl;\n }\n }\n\n // If still not found, we'll implicitly assume the previous element sibling is our anchor\n if (this._component.previousElementSibling) {\n return this._component.previousElementSibling as HTMLElement;\n }\n\n return null;\n }\n\n private _updateAnchorExpandedState(state: boolean | null): void {\n if (!this._overlayElement.anchorElement) {\n return;\n }\n\n if (!(this._overlayElement.anchorElement instanceof VirtualElement) && !(this.overlayElement.anchorElement as HTMLElement)?.hasAttribute('aria-hidden')) {\n this._overlayElement.anchorElement.setAttribute('aria-expanded', String(!!state));\n }\n }\n}\n", "import { IBaseOverlayFoundation } from './base-overlay-foundation';\nimport { IOverlayComponent } from '../overlay';\nimport { IOverlayAwareAdapter } from './overlay-aware-adapter';\nimport { IOverlayOffset, OverlayFlipState, OverlayHideState, OverlayPlacement, OverlayPositionStrategy, OVERLAY_CONSTANTS } from '../overlay-constants';\nimport { PositionPlacement, VirtualElement } from '../../core/utils/position-utils';\n\nexport interface IOverlayAwareFoundation extends IBaseOverlayFoundation {\n readonly overlayElement: IOverlayComponent;\n}\n\nexport abstract class OverlayAwareFoundation<T extends IOverlayAwareAdapter> implements IOverlayAwareFoundation {\n private _lightDismissListener: (evt: CustomEvent) => void;\n\n constructor(protected _adapter: T) {\n this._lightDismissListener = (evt: CustomEvent) => this._onOverlayLightDismiss(evt);\n }\n\n protected abstract _onOverlayLightDismiss(evt: CustomEvent): void;\n\n public initialize(): void {\n if (!this.persistent) {\n this._adapter.overlayElement.addEventListener(OVERLAY_CONSTANTS.events.LIGHT_DISMISS, this._lightDismissListener);\n }\n }\n\n public destroy(): void {\n this._adapter.overlayElement.removeEventListener(OVERLAY_CONSTANTS.events.LIGHT_DISMISS, this._lightDismissListener);\n }\n\n public get overlayElement(): IOverlayComponent {\n return this._adapter.overlayElement;\n }\n\n public get anchorElement(): HTMLElement | VirtualElement | null {\n return this._adapter.overlayElement.anchorElement;\n }\n public set anchorElement(value: HTMLElement | VirtualElement | null) {\n this._adapter.overlayElement.anchorElement = value;\n }\n\n public get anchor(): string | null {\n return this._adapter.overlayElement.anchor;\n }\n public set anchor(value: string | null) {\n this._adapter.overlayElement.anchor = value;\n }\n\n public get noAnchor(): boolean {\n return this._adapter.overlayElement.noAnchor;\n }\n public set noAnchor(value: boolean) {\n if (this._adapter.overlayElement.noAnchor !== value) {\n this._adapter.overlayElement.noAnchor = value;\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.NO_ANCHOR, this._adapter.overlayElement.noAnchor);\n }\n }\n\n public get open(): boolean {\n return this._adapter.overlayElement.open;\n }\n public set open(value: boolean) {\n if (this._adapter.overlayElement.open === value) {\n this._adapter.overlayElement.open = value;\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.OPEN, this._adapter.overlayElement.open);\n }\n }\n\n public get inline(): boolean {\n return this._adapter.overlayElement.inline;\n }\n public set inline(value: boolean) {\n if (this._adapter.overlayElement.inline !== value) {\n this._adapter.overlayElement.inline = value;\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.INLINE, this._adapter.overlayElement.inline);\n }\n }\n\n public get placement(): OverlayPlacement {\n return this._adapter.overlayElement.placement;\n }\n public set placement(value: OverlayPlacement) {\n if (this._adapter.overlayElement.placement !== value) {\n this._adapter.overlayElement.placement = value;\n this._adapter.setHostAttribute(OVERLAY_CONSTANTS.attributes.PLACEMENT, this._adapter.overlayElement.placement);\n }\n }\n\n public get positionStrategy(): OverlayPositionStrategy {\n return this._adapter.overlayElement.positionStrategy;\n }\n public set positionStrategy(value: OverlayPositionStrategy) {\n if (this._adapter.overlayElement.positionStrategy !== value) {\n this._adapter.overlayElement.positionStrategy = value;\n this._adapter.setHostAttribute(OVERLAY_CONSTANTS.attributes.POSITION_STRATEGY, this._adapter.overlayElement.positionStrategy);\n }\n }\n\n public get offset(): IOverlayOffset {\n return this._adapter.overlayElement.offset;\n }\n public set offset(value: IOverlayOffset) {\n if (this._adapter.overlayElement.offset !== value) {\n this._adapter.overlayElement.offset = value;\n }\n }\n\n public get hide(): OverlayHideState {\n return this._adapter.overlayElement.hide;\n }\n public set hide(value: OverlayHideState) {\n if (this._adapter.overlayElement.hide !== value) {\n this._adapter.overlayElement.hide = value;\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.HIDE, this._adapter.overlayElement.hide !== OVERLAY_CONSTANTS.defaults.HIDE, String(this._adapter.overlayElement.hide));\n }\n }\n\n public get persistent(): boolean {\n return this._adapter.overlayElement.persistent;\n }\n public set persistent(value: boolean) {\n if (this._adapter.overlayElement.persistent !== value) {\n this._adapter.overlayElement.persistent = value;\n\n if (!this.persistent) {\n this._adapter.overlayElement.addEventListener(OVERLAY_CONSTANTS.events.LIGHT_DISMISS, this._lightDismissListener);\n } else {\n this._adapter.overlayElement.removeEventListener(OVERLAY_CONSTANTS.events.LIGHT_DISMISS, this._lightDismissListener);\n }\n\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.PERSISTENT, this._adapter.overlayElement.persistent);\n }\n }\n\n public get shift(): boolean {\n return this._adapter.overlayElement.shift;\n }\n public set shift(value: boolean) {\n if (this._adapter.overlayElement.shift !== value) {\n this._adapter.overlayElement.shift = value;\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.SHIFT, this._adapter.overlayElement.shift);\n }\n }\n\n public get flip(): OverlayFlipState {\n return this._adapter.overlayElement.flip;\n }\n public set flip(value: OverlayFlipState) {\n if (this._adapter.overlayElement.flip !== value) {\n this._adapter.overlayElement.flip = value;\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.FLIP, this._adapter.overlayElement.flip !== OVERLAY_CONSTANTS.defaults.FLIP, String(this._adapter.overlayElement.flip));\n }\n }\n \n public get boundary(): string | null {\n return this._adapter.overlayElement.boundary;\n }\n public set boundary(value: string | null) {\n if (this._adapter.overlayElement.boundary !== value) {\n this._adapter.overlayElement.boundary = value;\n this._adapter.toggleHostAttribute(OVERLAY_CONSTANTS.attributes.BOUNDARY, !!this._adapter.overlayElement.boundary, this._adapter.overlayElement.boundary as string);\n }\n }\n\n public get boundaryElement(): HTMLElement | null {\n return this._adapter.overlayElement.boundaryElement;\n }\n public set boundaryElement(value: HTMLElement | null) {\n if (this._adapter.overlayElement.boundaryElement !== value) {\n this._adapter.overlayElement.boundaryElement = value;\n }\n }\n\n public get fallbackPlacements(): PositionPlacement[] | null {\n return this._adapter.overlayElement.fallbackPlacements;\n }\n public set fallbackPlacements(value: PositionPlacement[] | null) {\n if (this._adapter.overlayElement.fallbackPlacements !== value) {\n this._adapter.overlayElement.fallbackPlacements = value;\n }\n }\n\n public position(): void {\n this._adapter.overlayElement.position();\n }\n}\n", "import { IOverlayAwareFoundation, OverlayAwareFoundation } from '../overlay/base/overlay-aware-foundation';\nimport { OverlayLightDismissEventData } from '../overlay/overlay-constants';\nimport { WithLongpressListener } from '../core/mixins/interactions/longpress/with-longpress-listener';\nimport { IPopoverAdapter } from './popover-adapter';\nimport { PopoverAnimationType, IPopoverToggleEventData, PopoverTriggerType, POPOVER_CONSTANTS, PopoverDismissReason, POPOVER_HOVER_TIMEOUT, PopoverPreset } from './popover-constants';\nimport { IDismissibleStackState, DismissibleStack } from '../core/utils/dismissible-stack';\nimport { VirtualElement } from '../core/utils/position-utils';\n\nexport interface IPopoverFoundation extends IOverlayAwareFoundation {\n arrow: boolean;\n animationType: PopoverAnimationType;\n triggerType: PopoverTriggerType | PopoverTriggerType[];\n longpressDelay: number;\n persistentHover: boolean;\n hoverDismissDelay: number;\n hoverDelay: number;\n preset: PopoverPreset;\n hideAsync(): Promise<void>;\n dispatchBeforeToggleEvent(state: IDismissibleStackState): boolean;\n}\n\nconst BaseClass = WithLongpressListener(OverlayAwareFoundation<IPopoverAdapter>);\n\nexport class PopoverFoundation extends BaseClass implements IPopoverFoundation {\n private _anchor: string | null = null;\n private _arrow = false;\n private _animationType: PopoverAnimationType = 'zoom';\n private _triggerTypes: PopoverTriggerType[] = [POPOVER_CONSTANTS.defaults.TRIGGER_TYPE];\n private _persistentHover = false;\n private _hoverDismissDelay = POPOVER_HOVER_TIMEOUT;\n private _hoverDelay = POPOVER_CONSTANTS.defaults.HOVER_DELAY;\n private _preset = POPOVER_CONSTANTS.defaults.PRESET;\n private _previouslyFocusedElement: HTMLElement | null = null;\n\n // Hover trigger state\n private _hoverAnchorLeaveTimeout: undefined | number;\n private _popoverMouseleaveTimeout: undefined | number;\n private _currentHoverCoords: undefined | { x: number; y: number };\n private _hoverTimeout: number | undefined;\n\n // Click trigger listeners\n private _anchorClickListener = this._onAnchorClick.bind(this);\n\n // Double click trigger listeners\n private _anchorDoubleClickListener = this._onAnchorDoubleClick.bind(this);\n\n // Hover trigger listeners\n private _anchorMouseenterListener = this._onAnchorMouseenter.bind(this);\n private _anchorMouseleaveListener = this._onAnchorMouseleave.bind(this);\n private _popoverMouseenterListener = this._onPopoverMouseenter.bind(this);\n private _popoverMouseleaveListener = this._onPopoverMouseleave.bind(this);\n private _mousemoveListener = this._onMousemove.bind(this);\n\n // Focus trigger listeners\n private _anchorFocusListener = this._onAnchorFocus.bind(this);\n private _anchorBlurListener = this._onAnchorBlur.bind(this);\n private _popoverBlurListener = this._onPopoverBlur.bind(this);\n\n // Contextmenu listener\n private _contextmenuListener = this._onContextmenu.bind(this);\n\n constructor(adapter: IPopoverAdapter) {\n super(adapter);\n }\n\n public override initialize(): void {\n super.initialize();\n\n if (!this.anchorElement) {\n this._adapter.tryLocateAnchorElement(this._anchor);\n }\n\n this._initializeTriggerListeners();\n this._adapter.initializeAnchorElement();\n }\n\n public override destroy(): void {\n super.destroy();\n\n this._adapter.destroy();\n\n window.clearTimeout(this._hoverTimeout);\n window.clearTimeout(this._hoverAnchorLeaveTimeout);\n window.clearTimeout(this._popoverMouseleaveTimeout);\n \n this._previouslyFocusedElement = null;\n\n if (this.open) {\n this._closePopover();\n }\n\n this._removeTriggerListeners();\n }\n\n public hideAsync(): Promise<void> {\n return this._closePopover();\n }\n\n protected async _onOverlayLightDismiss(evt: CustomEvent<OverlayLightDismissEventData>): Promise<void> {\n evt.preventDefault();\n this._requestDismiss(evt.detail.reason);\n }\n\n public dispatchBeforeToggleEvent({ reason }: IDismissibleStackState): boolean {\n const evt = this._dispatchBeforetoggleEvent();\n\n if (evt.defaultPrevented) {\n return false;\n }\n\n const previousFocusedEl = this._previouslyFocusedElement;\n \n this._closePopover().then(() => {\n this._dispatchToggleEvent();\n\n if (reason === 'escape' && previousFocusedEl && this._adapter.hasFocus()) {\n previousFocusedEl.focus();\n }\n });\n\n return true;\n }\n\n private _openPopover({ dispatchEvents = true, fromKeyboard = false } = {}): void {\n if (dispatchEvents) {\n const evt = this._dispatchBeforetoggleEvent();\n if (evt.defaultPrevented) {\n return;\n }\n }\n\n this._previouslyFocusedElement = this._adapter.captureFocusedElement();\n this._adapter.setOverlayOpen(true);\n\n if (!this.overlayElement.persistent) {\n DismissibleStack.instance.add(this._adapter.hostElement);\n }\n\n this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.OPEN, this.open);\n\n // We only attempt to set initial focus if the event was triggered by a keyboard interaction\n if (fromKeyboard) {\n this._adapter.tryAutofocus();\n }\n\n if (dispatchEvents) {\n this._dispatchToggleEvent();\n }\n }\n\n private async _closePopover(): Promise<void> {\n this._previouslyFocusedElement = null;\n DismissibleStack.instance.remove(this._adapter.hostElement);\n\n if (this._animationType === 'none') {\n this._adapter.setOverlayOpen(false);\n } else {\n await this._adapter.hide();\n }\n\n this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.OPEN, this.open);\n }\n\n private _dispatchBeforetoggleEvent(): CustomEvent<IPopoverToggleEventData> {\n const evt = new CustomEvent<IPopoverToggleEventData>(POPOVER_CONSTANTS.events.BEFORETOGGLE, {\n detail: {\n oldState: this.open ? 'open' : 'closed',\n newState: this.open ? 'closed' : 'open'\n },\n bubbles: false,\n cancelable: true\n });\n this._adapter.dispatchHostEvent(evt);\n return evt;\n }\n\n private _dispatchToggleEvent(): void {\n this._adapter.dispatchHostEvent(new CustomEvent<IPopoverToggleEventData>(POPOVER_CONSTANTS.events.TOGGLE, {\n detail: {\n oldState: this.open ? 'closed' : 'open',\n newState: this.open ? 'open' : 'closed'\n },\n bubbles: false\n }));\n }\n\n private _initializeTriggerListeners(): void {\n if (this._triggerTypes.includes('manual')) {\n return;\n }\n\n let types = [...this._triggerTypes];\n\n // When contextmenu is used, we ignore all other trigger types\n if (types.includes('contextmenu')) {\n types = ['contextmenu'];\n } else {\n // Hover triggers already listen to focus by default\n if (types.includes('hover') && types.includes('focus')) {\n types.splice(types.indexOf('focus'), 1);\n }\n\n // We don't support both click and doubleclick together; click takes precedence\n if (types.includes('click') && types.includes('doubleclick')) {\n types.splice(types.indexOf('doubleclick'), 1);\n }\n }\n\n const triggerInitializers: Record<Exclude<PopoverTriggerType, 'manual'>, () => void> = {\n click: () => this._adapter.addAnchorListener('click', this._anchorClickListener),\n hover: () => {\n this._adapter.addAnchorListener('mouseenter', this._anchorMouseenterListener);\n this._adapter.addAnchorListener('focusin', this._anchorFocusListener);\n },\n focus: () => this._adapter.addAnchorListener('focusin', this._anchorFocusListener),\n longpress: () => {\n if (this._adapter.overlayElement.anchorElement && !(this._adapter.overlayElement.anchorElement instanceof VirtualElement)) {\n this._startLongpressListener(this._adapter.overlayElement.anchorElement);\n }\n },\n doubleclick: () => this._adapter.addAnchorListener('dblclick', this._anchorDoubleClickListener),\n contextmenu: () => this._adapter.addDocumentListener('contextmenu', this._contextmenuListener)\n };\n\n types.forEach(triggerType => triggerInitializers[triggerType]?.());\n }\n\n private _removeTriggerListeners(): void {\n const triggerRemovers: Record<Exclude<PopoverTriggerType, 'manual'>, () => void> = {\n click: () => this._adapter.removeAnchorListener('click', this._anchorClickListener),\n hover: () => {\n this._adapter.removeAnchorListener('mouseenter', this._anchorMouseenterListener);\n this._adapter.removeAnchorListener('mouseleave', this._anchorMouseleaveListener);\n this._adapter.removeAnchorListener('focusin', this._anchorFocusListener);\n this._adapter.removeAnchorListener('focusout', this._anchorBlurListener);\n this._adapter.removeHostListener('focusout', this._popoverBlurListener);\n this._tryRemoveHoverListeners();\n },\n focus: () => {\n this._adapter.removeAnchorListener('focusin', this._anchorFocusListener);\n this._adapter.removeAnchorListener('focusout', this._anchorBlurListener);\n this._adapter.removeHostListener('focusout', this._popoverBlurListener);\n },\n longpress: () => {\n if (this._adapter.overlayElement.anchorElement && !(this._adapter.overlayElement.anchorElement instanceof VirtualElement)) {\n this._stopLongpressListener(this._adapter.overlayElement.anchorElement);\n }\n },\n doubleclick: () => this._adapter.removeAnchorListener('dblclick', this._anchorDoubleClickListener),\n contextmenu: () => this._adapter.removeDocumentListener('contextmenu', this._contextmenuListener)\n };\n this._triggerTypes.forEach(triggerType => triggerRemovers[triggerType]?.());\n }\n\n private _startHoverListeners(): void {\n this._adapter.addDocumentListener('mousemove', this._mousemoveListener);\n this._adapter.addSurfaceListener('mouseenter', this._popoverMouseenterListener);\n this._adapter.addSurfaceListener('mouseleave', this._popoverMouseleaveListener);\n }\n\n private _tryRemoveHoverListeners(): void {\n this._adapter.removeDocumentListener('mousemove', this._mousemoveListener);\n this._adapter.removeSurfaceListener('mouseenter', this._popoverMouseenterListener);\n this._adapter.removeSurfaceListener('mouseleave', this._popoverMouseleaveListener);\n }\n\n private _requestDismiss(reason: PopoverDismissReason): void {\n DismissibleStack.instance.requestDismiss(this._adapter.hostElement, { reason });\n }\n \n private _requestClose(reason: PopoverDismissReason): void {\n DismissibleStack.instance.dismiss(this._adapter.hostElement, { reason });\n }\n\n private _onHoverClose(): void {\n /* c8 ignore next 3 */\n if (!this.open) {\n return;\n }\n \n if (this._currentHoverCoords) {\n const mouseElement = document.elementFromPoint(this._currentHoverCoords.x, this._currentHoverCoords.y) as HTMLElement;\n const isOwnElement = mouseElement &&\n (this._adapter.isChildElement(mouseElement) ||\n (!(this._adapter.overlayElement.anchorElement instanceof VirtualElement) && this._adapter.overlayElement.anchorElement?.contains(mouseElement)));\n /* c8 ignore next 3 */\n if (isOwnElement) {\n return;\n }\n }\n window.clearTimeout(this._hoverTimeout);\n this._tryRemoveHoverListeners();\n this._requestClose('hover');\n }\n\n /**\n * Handles `click` events on the anchor element.\n * \n * Only called when using the \"click\" (default) trigger type.\n */\n private _onAnchorClick(evt: PointerEvent): void {\n if (!this.open) {\n const fromKeyboard = evt.detail === 0 && !evt.pointerType;\n this._openPopover({ fromKeyboard });\n } else {\n this._requestClose('click');\n }\n }\n\n /**\n * Handles `dblclick` events on the anchor element.\n */\n private _onAnchorDoubleClick(): void {\n if (!this.open) {\n this._openPopover();\n } else {\n this._requestClose('doubleclick');\n }\n }\n\n /**\n * Handles `mouseenter` events on the anchor element. This is used to determine if the popover should be opened.\n * \n * Only called when using the \"hover\" trigger type.\n */\n private _onAnchorMouseenter(): void {\n window.clearTimeout(this._hoverAnchorLeaveTimeout);\n if (!this._adapter.overlayElement.open) {\n if (!this._persistentHover) {\n this._adapter.addAnchorListener('mouseleave', this._anchorMouseleaveListener);\n }\n if (this._hoverDelay) {\n this._hoverTimeout = window.setTimeout(() => {\n this._openPopover();\n }, this._hoverDelay);\n } else {\n this._openPopover();\n }\n }\n }\n\n /**\n * Handles `mouseleave` events on the anchor element. This is used to determine if the popover should be closed.\n * \n * Only called when using the \"hover\" trigger type.\n * \n * We use a timeout here to allow for the user to take an indirect path toward the popover.\n */\n private _onAnchorMouseleave(): void {\n this._startHoverListeners();\n window.clearTimeout(this._hoverTimeout);\n\n this._hoverAnchorLeaveTimeout = window.setTimeout(() => {\n this._hoverAnchorLeaveTimeout = undefined;\n this._onHoverClose();\n }, this._hoverDismissDelay);\n }\n\n /**\n * Handles `mouseenter` events on the popover element. This is used to determine if the mouse has entered the popover element, \n * only after the mouse leaves the anchor element..\n */\n private _onPopoverMouseenter(): void {\n window.clearTimeout(this._hoverAnchorLeaveTimeout);\n window.clearTimeout(this._popoverMouseleaveTimeout);\n }\n\n /**\n * Handles `mouseleave` events on the popover element. This is used to determine if the mouse has moved outside of the popover.\n * \n * Only called when using the \"hover\" trigger type.\n * \n * We use a timeout here to allow for the user to take an indirect path toward an open child menu.\n * This allows for the popup to stay open while the user is moving their mouse to it to avoid closing immediately.\n */\n private _onPopoverMouseleave(): void {\n this._popoverMouseleaveTimeout = window.setTimeout(() => {\n this._popoverMouseleaveTimeout = undefined;\n this._onHoverClose();\n }, this._hoverDismissDelay);\n }\n\n /**\n * Handles `mousemove` events on the document. This is used to determine if the mouse has moved outside of the popover.\n * \n * This listener is only initialized once the mouse leaves the anchor element.\n * \n * Only called when using the \"hover\" trigger type.\n */\n private _onMousemove(evt: MouseEvent): void {\n this._currentHoverCoords = { x: evt.pageX, y: evt.pageY };\n }\n \n /**\n * Handles `focusin` events on the anchor element. This is used to determine if focus has been received on the anchor element when using the \"focus\" trigger type.\n */\n private _onAnchorFocus(_evt: FocusEvent): void {\n if (!this._adapter.overlayElement.open) {\n this._adapter.addAnchorListener('focusout', this._anchorBlurListener);\n this._openPopover({ fromKeyboard: true });\n }\n }\n\n /**\n * Handles `focusout` events on the anchor element. This is used to determine if focus has been moved outside of the anchor element when using the \"focus\" trigger type.\n */\n private _onAnchorBlur(evt: FocusEvent): void {\n if (!this._adapter.isChildElement(evt.relatedTarget as HTMLElement)) {\n // Focus was moved outside of the popover element, so let's assume we need to close\n this._requestClose('focus');\n } else {\n // Focus was moved to within the popover element, now we must listen for focus to move outside of the popover\n this._adapter.addHostListener('focusout', this._popoverBlurListener);\n }\n }\n\n private _onPopoverBlur({ relatedTarget }: FocusEvent): void {\n const popoverHasFocus = this._adapter.hasFocus();\n const anchorHasFocus = !(this._adapter.overlayElement.anchorElement instanceof VirtualElement) &&\n (this._adapter.overlayElement.anchorElement?.matches(':focus-within') ||\n this._adapter.overlayElement.anchorElement?.contains(relatedTarget as HTMLElement));\n if (!popoverHasFocus && !anchorHasFocus) {\n this._requestClose('focus');\n }\n }\n\n protected _onLongpress(): void {\n if (!this.open) {\n this._openPopover();\n }\n }\n\n private _onContextmenu(evt: MouseEvent): void {\n evt.preventDefault();\n this.anchorElement = VirtualElement.fromEvent(evt);\n if (!this.open) {\n this._openPopover();\n }\n }\n\n /**\n * Public API\n */\n\n public override get open(): boolean {\n return this._adapter.overlayElement.open;\n }\n public override set open(value: boolean) {\n if (this._adapter.overlayElement.open !== value) {\n if (value) {\n this._openPopover({ dispatchEvents: false });\n } else {\n this._closePopover();\n }\n }\n }\n\n public override get anchorElement(): HTMLElement | VirtualElement | null {\n return this._adapter.overlayElement.anchorElement;\n }\n public override set anchorElement(value: HTMLElement | VirtualElement | null) {\n if (this._adapter.overlayElement.anchorElement !== value) {\n if (this._adapter.isConnected) {\n this._removeTriggerListeners();\n this._adapter.cleanupAnchorElement();\n }\n\n this._adapter.overlayElement.anchorElement = value;\n\n if (this._adapter.isConnected) {\n this._initializeTriggerListeners();\n this._adapter.initializeAnchorElement();\n }\n }\n }\n\n public override get anchor(): string | null {\n return this._anchor;\n }\n public override set anchor(value: string | null) {\n if (this._anchor !== value) {\n this._anchor = value;\n \n if (this._adapter.isConnected) {\n this._removeTriggerListeners();\n this._adapter.cleanupAnchorElement();\n this._adapter.tryLocateAnchorElement(this._anchor);\n this._initializeTriggerListeners();\n this._adapter.initializeAnchorElement();\n }\n }\n }\n\n public get arrow(): boolean {\n return this._arrow;\n }\n public set arrow(value: boolean) {\n value = Boolean(value);\n if (this._arrow !== value) {\n this._arrow = value;\n this._adapter.toggleArrow(value);\n this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.ARROW, value);\n }\n }\n\n public get animationType(): PopoverAnimationType {\n return this._animationType;\n }\n public set animationType(value: PopoverAnimationType) {\n if (this._animationType !== value) {\n this._animationType = value;\n this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.ANIMATION_TYPE, !!this._animationType, this._animationType);\n }\n }\n\n public get triggerType(): PopoverTriggerType | PopoverTriggerType[] {\n return this._triggerTypes.length === 1 ? this._triggerTypes[0] : this._triggerTypes;\n }\n public set triggerType(value: PopoverTriggerType | PopoverTriggerType[]) {\n if (this._triggerTypes !== value) {\n if (this._adapter.isConnected) {\n this._removeTriggerListeners();\n }\n\n this._triggerTypes = Array.isArray(value) ? value : [value];\n this._triggerTypes = this._triggerTypes.filter(type => !!type);\n\n if (!this._triggerTypes.length) {\n this._triggerTypes = [POPOVER_CONSTANTS.defaults.TRIGGER_TYPE];\n }\n\n if (this._adapter.isConnected) {\n this._initializeTriggerListeners();\n }\n }\n }\n\n public get longpressDelay(): number {\n return this._longpressDelay;\n }\n public set longpressDelay(value: number) {\n if (this._longpressDelay !== value) {\n this._longpressDelay = value;\n this._adapter.setHostAttribute(POPOVER_CONSTANTS.attributes.LONGPRESS_DELAY, String(this._longpressDelay));\n }\n }\n\n public get persistentHover(): boolean {\n return this._persistentHover;\n }\n public set persistentHover(value: boolean) {\n value = Boolean(value);\n if (this._persistentHover !== value) {\n this._persistentHover = value;\n\n if (this._persistentHover && this._triggerTypes.includes('hover') && this._adapter.isConnected) {\n this._removeTriggerListeners();\n this._initializeTriggerListeners();\n }\n\n this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.PERSISTENT_HOVER, value);\n }\n }\n\n public get hoverDelay(): number {\n return this._hoverDelay;\n }\n public set hoverDelay(value: number) {\n if (isNaN(value) || value < 0) {\n value = POPOVER_CONSTANTS.defaults.HOVER_DELAY;\n }\n if (this._hoverDelay !== value) {\n this._hoverDelay = value;\n this._adapter.setHostAttribute(POPOVER_CONSTANTS.attributes.HOVER_DELAY, String(this._hoverDelay));\n }\n }\n\n public get hoverDismissDelay(): number {\n return this._hoverDismissDelay;\n }\n public set hoverDismissDelay(value: number) {\n if (this._hoverDismissDelay !== value) {\n this._hoverDismissDelay = value;\n this._adapter.setHostAttribute(POPOVER_CONSTANTS.attributes.HOVER_DISMISS_DELAY, String(this._hoverDismissDelay));\n }\n }\n\n public get preset(): PopoverPreset {\n return this._preset ?? POPOVER_CONSTANTS.defaults.PRESET;\n }\n public set preset(value: PopoverPreset) {\n value = value ?? POPOVER_CONSTANTS.defaults.PRESET;\n if (this._preset !== value) {\n this._preset = value;\n const hasPreset = value !== POPOVER_CONSTANTS.defaults.PRESET;\n this._adapter.toggleHostAttribute(POPOVER_CONSTANTS.attributes.PRESET, hasPreset, this._preset);\n }\n }\n}\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { IOverlayComponent } from '../overlay';\nimport { IOverlayAwareFoundation } from './overlay-aware-foundation';\nimport { IOverlayOffset, OverlayFlipState, OverlayHideState, OverlayPlacement, OverlayPositionStrategy, OVERLAY_CONSTANTS } from '../overlay-constants';\nimport { PositionPlacement, VirtualElement } from '../../core/utils/position-utils';\nimport { IBaseOverlay } from './base-overlay';\n\nexport interface IOverlayAware extends IBaseComponent, IBaseOverlay {\n readonly overlay: IOverlayComponent;\n}\n\nexport abstract class OverlayAware<T extends IOverlayAwareFoundation> extends BaseComponent implements IOverlayAware {\n protected _foundation: T;\n\n constructor() {\n super();\n }\n\n public position(): void {\n this._foundation.position();\n }\n\n public attributeChangedCallback(name: string, _oldValue: string, newValue: string): void {\n switch (name) {\n case OVERLAY_CONSTANTS.observedAttributes.ANCHOR:\n this.anchor = newValue;\n break;\n case OVERLAY_CONSTANTS.observedAttributes.NO_ANCHOR:\n this.noAnchor = coerceBoolean(newValue);\n break;\n case OVERLAY_CONSTANTS.observedAttributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case OVERLAY_CONSTANTS.observedAttributes.INLINE:\n this.inline = coerceBoolean(newValue);\n break;\n case OVERLAY_CONSTANTS.observedAttributes.PLACEMENT:\n this.placement = newValue as OverlayPlacement;\n break;\n case OVERLAY_CONSTANTS.observedAttributes.POSITION_STRATEGY:\n this.positionStrategy = newValue as OverlayPositionStrategy;\n break;\n case OVERLAY_CONSTANTS.observedAttributes.HIDE:\n this.hide = newValue as OverlayHideState;\n break;\n case OVERLAY_CONSTANTS.observedAttributes.PERSISTENT:\n this.persistent = coerceBoolean(newValue);\n break;\n case OVERLAY_CONSTANTS.observedAttributes.SHIFT:\n this.shift = coerceBoolean(newValue);\n break;\n case OVERLAY_CONSTANTS.observedAttributes.FLIP:\n this.flip = newValue as OverlayFlipState;\n break;\n case OVERLAY_CONSTANTS.observedAttributes.BOUNDARY:\n this.boundary = newValue;\n break;\n }\n }\n\n public get overlay(): IOverlayComponent {\n return this._foundation.overlayElement;\n }\n\n @FoundationProperty()\n public declare anchorElement: HTMLElement | VirtualElement | null;\n\n @FoundationProperty()\n public declare anchor: string | null;\n\n @FoundationProperty()\n public declare noAnchor: boolean;\n\n @FoundationProperty()\n public declare open: boolean;\n\n @FoundationProperty()\n public declare inline: boolean;\n\n @FoundationProperty()\n public declare placement: OverlayPlacement;\n\n @FoundationProperty()\n public declare positionStrategy: OverlayPositionStrategy;\n\n @FoundationProperty()\n public declare offset: IOverlayOffset;\n\n @FoundationProperty()\n public declare shift: boolean;\n\n @FoundationProperty()\n public declare hide: OverlayHideState;\n\n @FoundationProperty()\n public declare persistent: boolean;\n\n @FoundationProperty()\n public declare flip: OverlayFlipState;\n\n @FoundationProperty()\n public declare boundary: string | null;\n\n @FoundationProperty()\n public declare boundaryElement: HTMLElement | null;\n\n @FoundationProperty()\n public declare fallbackPlacements: PositionPlacement[] | null;\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { PopoverAdapter } from './popover-adapter';\nimport { IPopoverToggleEventData, PopoverAnimationType, PopoverPreset, PopoverTriggerType, POPOVER_CONSTANTS } from './popover-constants';\nimport { IPopoverFoundation, PopoverFoundation } from './popover-foundation';\nimport { OverlayComponent, OVERLAY_CONSTANTS } from '../overlay';\nimport { IOverlayAware, OverlayAware } from '../overlay/base/overlay-aware';\nimport { coerceStringToArray } from '../core/utils/utils';\nimport { IDismissible, tryDismiss, IDismissibleStackState } from '../core/utils/dismissible-stack';\n\nconst template = '<template><forge-overlay exportparts=\\\"root:overlay\\\"><div class=\\\"forge-popover\\\" part=\\\"surface\\\"><slot></slot></div></forge-overlay></template>';\nconst styles = '@-webkit-keyframes zoomin{from{-webkit-transform:scale(.8);transform:scale(.8)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes zoomin{from{-webkit-transform:scale(.8);transform:scale(.8)}to{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes zoomout{from{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.8);transform:scale(.8)}}@keyframes zoomout{from{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.8);transform:scale(.8)}}@-webkit-keyframes slidein{from{-webkit-transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y));transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y))}to{-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}}@keyframes slidein{from{-webkit-transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y));transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y))}to{-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}}@-webkit-keyframes slideout{from{-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}to{-webkit-transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y));transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y))}}@keyframes slideout{from{-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}to{-webkit-transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y));transform:translateX(var(--_popover-slidein-x)) translateY(var(--_popover-slidein-y))}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeout{from{opacity:1}to{opacity:0}}@keyframes fadeout{from{opacity:1}to{opacity:0}}@layer base,animation,preset,reduced-motion; @layer base{:host{display:contents;--forge-theme-surface:var(--forge-theme-surface-bright, #ffffff)}:host([hidden]){display:none}forge-overlay{--_popover-width:var(--forge-popover-width, auto);--_popover-height:var(--forge-popover-height, auto);--_popover-min-width:var(--forge-popover-min-width, none);--_popover-max-width:var(--forge-popover-max-width, none);--_popover-min-height:var(--forge-popover-min-height, none);--_popover-max-height:var(--forge-popover-max-height, none);--_popover-background:var(--forge-popover-background, var(--forge-theme-surface-bright, #ffffff));--_popover-border-radius:var(--forge-popover-border-radius, var(--forge-shape-medium, 4px));--_popover-box-shadow:var(--forge-popover-box-shadow, var(--forge-theme-surface-bright-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)));--_popover-border-width:var(--forge-popover-border-width, 0);--_popover-border-style:var(--forge-popover-border-style, solid);--_popover-border-color:var(--forge-popover-border-color, var(--forge-theme-outline, #e0e0e0));--_popover-overflow:var(--forge-popover-overflow, initial);--_popover-arrow-size:var(--forge-popover-arrow-size, 12px);--_popover-arrow-height:var(--forge-popover-arrow-height, var(--_popover-arrow-size));--_popover-arrow-width:var(--forge-popover-arrow-width, var(--_popover-arrow-size));--_popover-arrow-background-color:var(--forge-popover-arrow-background-color, var(--_popover-background));--_popover-arrow-top-rotation:var(--forge-popover-arrow-top-rotation, 135deg);--_popover-arrow-right-rotation:var(--forge-popover-arrow-right-rotation, 225deg);--_popover-arrow-bottom-rotation:var(--forge-popover-arrow-bottom-rotation, 315deg);--_popover-arrow-left-rotation:var(--forge-popover-arrow-left-rotation, 45deg);--_popover-arrow-border-width:var(--forge-popover-arrow-border-width, var(--forge-border-thin, 1px));--_popover-animation-enter-duration:var(--forge-popover-animation-enter-duration, var(--forge-animation-duration-short3, 150ms));--_popover-animation-enter-timing:var(--forge-popover-animation-enter-timing, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)));--_popover-animation-exit-duration:var(--forge-popover-animation-exit-duration, var(--forge-animation-duration-short2, 100ms));--_popover-animation-exit-timing:var(--forge-popover-animation-exit-timing, var(--forge-animation-easing-accelerate, cubic-bezier(0.3, 0, 1, 1)));--_popover-zoom-enter-duration:var(--forge-popover-zoom-enter-duration, var(--_popover-animation-enter-duration));--_popover-zoom-enter-timing:var(--forge-popover-zoom-enter-timing, var(--_popover-animation-enter-timing));--_popover-zoom-exit-duration:var(--forge-popover-zoom-exit-duration, var(--_popover-animation-exit-duration));--_popover-zoom-exit-timing:var(--forge-popover-zoom-exit-timing, var(--_popover-animation-exit-timing));--_popover-slide-enter-duration:var(--forge-popover-slide-enter-duration, var(--_popover-animation-enter-duration));--_popover-slide-enter-timing:var(--forge-popover-slide-enter-timing, var(--_popover-animation-enter-timing));--_popover-slide-exit-duration:var(--forge-popover-slide-exit-duration, var(--_popover-animation-exit-duration));--_popover-slide-exit-timing:var(--forge-popover-slide-exit-timing, var(--_popover-animation-exit-timing));--_popover-slide-offset:var(--forge-popover-slide-offset, 24px);--_popover-fade-enter-duration:var(--forge-popover-fade-enter-duration, var(--forge-animation-duration-medium2, 300ms));--_popover-fade-enter-timing:var(--forge-popover-fade-enter-timing, var(--_popover-animation-enter-timing));--_popover-fade-exit-duration:var(--forge-popover-fade-exit-duration, var(--_popover-animation-exit-duration));--_popover-fade-exit-timing:var(--forge-popover-fade-exit-timing, var(--_popover-animation-exit-timing));--_popover-position-inline-start:var(--forge-popover-position-inline-start, auto);--_popover-position-inline-end:var(--forge-popover-position-inline-end, auto);--_popover-position-block-start:var(--forge-popover-position-block-start, auto);--_popover-position-block-end:var(--forge-popover-position-block-end, auto);--_popover-preset-dropdown-max-height:var(--forge-popover-preset-dropdown-max-height, 256px);--_popover-preset-dropdown-overflow:var(--forge-popover-preset-dropdown-overflow, auto visible);--_popover-preset-dropdown-padding-block:var(--forge-popover-preset-dropdown-padding-block, var(--forge-spacing-xsmall, 8px))}.forge-popover{--_popover-arrow-translate-x:0;--_popover-arrow-translate-y:0;--_popover-arrow-rotation:0;--_popover-slidein-x:0;--_popover-slidein-y:0;--_popover-zoomin-origin:50% 50% 0;--_popover-arrow-clip-path:polygon(calc(var(--_popover-border-width) * -1) calc(var(--_popover-border-width) * -1), calc(100% + var(--_popover-border-width)) calc(var(--_popover-border-width) * -1), calc(100% + var(--_popover-border-width)) calc(100% + var(--_popover-border-width)))}.forge-popover{position:relative;overflow:var(--_popover-overflow);-webkit-box-sizing:border-box;box-sizing:border-box;background:var(--_popover-background);border-radius:var(--_popover-border-radius);-webkit-box-shadow:var(--_popover-box-shadow);box-shadow:var(--_popover-box-shadow);border-width:var(--_popover-border-width);border-style:var(--_popover-border-style);border-color:var(--_popover-border-color);width:var(--_popover-width);height:var(--_popover-height);min-width:var(--_popover-min-width);max-width:var(--_popover-max-width);min-height:var(--_popover-min-height);max-height:var(--_popover-max-height)}.forge-popover::-webkit-scrollbar{height:var(--forge-scrollbar-height,16px);width:var(--forge-scrollbar-width,16px)}.forge-popover::-webkit-scrollbar-track{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-popover::-webkit-scrollbar-track:hover{background-color:var(--forge-scrollbar-track-container-hover,var(--forge-theme-surface-container-low,#ebebeb))}.forge-popover::-webkit-scrollbar-corner{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-popover::-webkit-scrollbar-thumb{height:var(--forge-scrollbar-thumb-min-height,32px);width:var(--forge-scrollbar-thumb-min-width,32px);border-radius:var(--forge-scrollbar-border-radius,var(--forge-shape-full,9999px));border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-color:var(--forge-scrollbar-thumb-container,var(--forge-theme-surface-container-medium,#c2c2c2));background-clip:content-box}.forge-popover::-webkit-scrollbar-thumb:hover{background-color:var(--forge-scrollbar-thumb-container-hover,var(--forge-theme-surface-container-high,#9e9e9e))}:host([open][no-anchor]) forge-overlay{--forge-overlay-position-inline-start:var(--_popover-position-inline-start);--forge-overlay-position-inline-end:var(--_popover-position-inline-end);--forge-overlay-position-block-start:var(--_popover-position-block-start);--forge-overlay-position-block-end:var(--_popover-position-block-end)}:host([arrow]) .forge-popover{--_popover-border-width:var(--_popover-arrow-border-width)}:host([arrow]) .arrow{position:absolute;background-color:var(--_popover-arrow-background-color);height:var(--_popover-arrow-height);width:var(--_popover-arrow-width);-webkit-box-shadow:var(--_popover-box-shadow);box-shadow:var(--_popover-box-shadow);border-width:var(--_popover-border-width);border-style:var(--_popover-border-style);border-color:var(--_popover-border-color);-webkit-transform:translate(var(--_popover-arrow-translate-x),var(--_popover-arrow-translate-y)) rotate(var(--_popover-arrow-rotation));transform:translate(var(--_popover-arrow-translate-x),var(--_popover-arrow-translate-y)) rotate(var(--_popover-arrow-rotation));-webkit-clip-path:var(--_popover-arrow-clip-path);clip-path:var(--_popover-arrow-clip-path)}:host([arrow]) forge-overlay[position-placement^=top] .arrow{--_popover-arrow-translate-y:var(--forge-popover-arrow-translate-y, calc(var(--_popover-border-width) * -1));--_popover-arrow-rotation:var(--forge-popover-arrow-rotation, var(--_popover-arrow-top-rotation))}:host([arrow]) forge-overlay[position-placement^=right] .arrow{--_popover-arrow-translate-x:var(--forge-popover-arrow-translate-x, var(--_popover-border-width));--_popover-arrow-rotation:var(--forge-popover-arrow-rotation, var(--_popover-arrow-right-rotation))}:host([arrow]) forge-overlay[position-placement^=bottom] .arrow{--_popover-arrow-translate-y:var(--forge-popover-arrow-translate-y, var(--_popover-border-width));--_popover-arrow-rotation:var(--forge-popover-arrow-rotation, var(--_popover-arrow-bottom-rotation))}:host([arrow]) forge-overlay[position-placement^=left] .arrow{--_popover-arrow-translate-x:var(--forge-popover-arrow-translate-x, calc(var(--_popover-border-width) * -1));--_popover-arrow-rotation:var(--forge-popover-arrow-rotation, var(--_popover-arrow-left-rotation))}}@layer preset{:host([preset=dropdown]) .forge-popover{--_popover-max-height:var(--_popover-preset-dropdown-max-height);--_popover-overflow:var(--_popover-preset-dropdown-overflow);padding-block:var(--_popover-preset-dropdown-padding-block)}:host([constrain-viewport-width]) .forge-popover{--_popover-max-width:var(--forge-popover-max-width, 100vw)}}@layer animation{:host(:not([animation-type])) .forge-popover,:host([animation-type=zoom]) .forge-popover{-webkit-animation-duration:var(--_popover-zoom-enter-duration);animation-duration:var(--_popover-zoom-enter-duration);-webkit-animation-timing-function:var(--_popover-zoom-enter-timing);animation-timing-function:var(--_popover-zoom-enter-timing);-webkit-animation-name:fadein,zoomin;animation-name:fadein,zoomin;-webkit-transform-origin:var(--_popover-zoomin-origin);transform-origin:var(--_popover-zoomin-origin)}:host(:not([animation-type])) forge-overlay[open][position-placement^=top]:not([position-placement*=\\\"-\\\"]) .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=top]:not([position-placement*=\\\"-\\\"]) .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, bottom center)}:host(:not([animation-type])) forge-overlay[open][position-placement^=top][position-placement$=-start] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=top][position-placement$=-start] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, bottom left)}:host(:not([animation-type])) forge-overlay[open][position-placement^=top][position-placement$=-end] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=top][position-placement$=-end] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, bottom right)}:host(:not([animation-type])) forge-overlay[open][position-placement^=right]:not([position-placement*=\\\"-\\\"]) .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=right]:not([position-placement*=\\\"-\\\"]) .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, left center)}:host(:not([animation-type])) forge-overlay[open][position-placement^=right][position-placement$=-start] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=right][position-placement$=-start] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, left top)}:host(:not([animation-type])) forge-overlay[open][position-placement^=right][position-placement$=-end] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=right][position-placement$=-end] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, left bottom)}:host(:not([animation-type])) forge-overlay[open][position-placement^=bottom]:not([position-placement*=\\\"-\\\"]) .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=bottom]:not([position-placement*=\\\"-\\\"]) .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, top center)}:host(:not([animation-type])) forge-overlay[open][position-placement^=bottom][position-placement$=-start] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=bottom][position-placement$=-start] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, top left)}:host(:not([animation-type])) forge-overlay[open][position-placement^=bottom][position-placement$=-end] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=bottom][position-placement$=-end] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, top right)}:host(:not([animation-type])) forge-overlay[open][position-placement^=left]:not([position-placement*=\\\"-\\\"]) .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=left]:not([position-placement*=\\\"-\\\"]) .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, right center)}:host(:not([animation-type])) forge-overlay[open][position-placement^=left][position-placement$=-start] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=left][position-placement$=-start] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, right top)}:host(:not([animation-type])) forge-overlay[open][position-placement^=left][position-placement$=-end] .forge-popover,:host([animation-type=zoom]) forge-overlay[open][position-placement^=left][position-placement$=-end] .forge-popover{--_popover-zoomin-origin:var(--forge-popover-zoomin-origin, right bottom)}:host(:not([animation-type])) forge-overlay[open] .forge-popover.exiting,:host([animation-type=zoom]) forge-overlay[open] .forge-popover.exiting{-webkit-animation-duration:var(--_popover-zoom-exit-duration);animation-duration:var(--_popover-zoom-exit-duration);-webkit-animation-timing-function:var(--_popover-zoom-exit-timing);animation-timing-function:var(--_popover-zoom-exit-timing);-webkit-animation-name:fadeout,zoomout;animation-name:fadeout,zoomout}:host([animation-type=slide]) .forge-popover{-webkit-animation-duration:var(--_popover-slide-enter-duration);animation-duration:var(--_popover-slide-enter-duration);-webkit-animation-timing-function:var(--_popover-slide-enter-timing);animation-timing-function:var(--_popover-slide-enter-timing);-webkit-animation-name:fadein,slidein;animation-name:fadein,slidein}:host([animation-type=slide]) forge-overlay[open][position-placement^=top] .forge-popover{--_popover-slidein-y:var(--forge-popover-slidein-y, var(--_popover-slide-offset))}:host([animation-type=slide]) forge-overlay[open][position-placement^=right] .forge-popover{--_popover-slidein-x:var(--forge-popover-slidein-x, calc(var(--_popover-slide-offset) * -1))}:host([animation-type=slide]) forge-overlay[open][position-placement^=bottom] .forge-popover{--_popover-slidein-y:var(--forge-popover-slidein-y, calc(var(--_popover-slide-offset) * -1))}:host([animation-type=slide]) forge-overlay[open][position-placement^=left] .forge-popover{--_popover-slidein-x:var(--forge-popover-slidein-x, var(--_popover-slide-offset))}:host([animation-type=slide]) forge-overlay[open] .forge-popover.exiting{-webkit-animation-duration:var(--_popover-slide-exit-duration);animation-duration:var(--_popover-slide-exit-duration);-webkit-animation-timing-function:var(--_popover-slide-exit-timing);animation-timing-function:var(--_popover-slide-exit-timing);-webkit-animation-name:fadeout,slideout;animation-name:fadeout,slideout}:host([animation-type=fade]) .forge-popover{-webkit-animation-duration:var(--_popover-fade-enter-duration);animation-duration:var(--_popover-fade-enter-duration);-webkit-animation-timing-function:var(--_popover-fade-enter-timing);animation-timing-function:var(--_popover-fade-enter-timing);-webkit-animation-name:fadein;animation-name:fadein}:host([animation-type=fade]) .forge-popover.exiting{-webkit-animation-duration:var(--_popover-fade-exit-duration);animation-duration:var(--_popover-fade-exit-duration);-webkit-animation-timing-function:var(--_popover-fade-exit-timing);animation-timing-function:var(--_popover-fade-exit-timing);-webkit-animation-name:fadeout;animation-name:fadeout}}@layer reduced-motion{@media (prefers-reduced-motion:reduce){.forge-popover{-webkit-animation:none;animation:none}.forge-popover.exiting{-webkit-animation:none;animation:none}}}';\n\nexport interface IPopoverComponent extends IOverlayAware, IDismissible {\n arrow: boolean;\n animationType: PopoverAnimationType;\n triggerType: PopoverTriggerType | PopoverTriggerType[];\n longpressDelay: number;\n persistentHover: boolean;\n hoverDelay: number;\n hoverDismissDelay: number;\n preset: PopoverPreset;\n hideAsync(): Promise<void>;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-popover': IPopoverComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-popover-beforetoggle': CustomEvent<IPopoverToggleEventData>;\n 'forge-popover-toggle': CustomEvent<IPopoverToggleEventData>;\n }\n}\n\n/**\n * @tag forge-popover\n * \n * @summary Popovers are used to render content in an element that is above all other content on the page.\n * \n * @property {boolean} arrow - Whether or not the popover should render an arrow.\n * @property {PopoverAnimationType} animationType - The animation type to use for the popover. Valid values are `'none'`, `'fade'`, `'slide'`, and `'zoom'` (default).\n * @property {PopoverTriggerType | PopoverTriggerType[]} triggerType - The trigger type(s) to use for the popover. Valid values are `'click'` (default), `'hover'`, `'focus'`, and `'longpress'`. Multiple can be specified.\n * @property {number} longpressDelay - The delay in milliseconds before a longpress event is detected.\n * @property {boolean} persistentHover - Whether or not the popover should remain open when the user hovers outside the popover.\n * @property {number} hoverDismissDelay - The delay in milliseconds before the popover is dismissed when the user hovers outside of the popover.\n * @property {number} hoverDelay - The delay in milliseconds before the popover is shown.\n * @property {PopoverPreset} preset - The preset to use for the popover.\n * \n * @attribute {string} arrow - Whether or not the popover should render an arrow.\n * @attribute {string} animation-type - The animation type to use for the popover. Valid values are `'none'`, `'fade'`, `'slide'`, and `'zoom'` (default).\n * @attribute {string} trigger-type - The trigger type(s) to use for the popover. Valid values are `'click'` (default), `'hover'`, `'focus'`, and `'longpress'`. Multiple can be specified.\n * @attribute {string} longpress-delay - The delay in milliseconds before a longpress event is detected.\n * @attribute {string} persistent-hover - Whether or not the popover should remain open when the user hovers outside the popover.\n * @attribute {string} hover-dismiss-delay - The delay in milliseconds before the popover is dismissed when the user hovers outside of the popover.\n * @attribute {number} hover-delay - The delay in milliseconds before the popover is shown.\n * @attribute {string} preset - The preset to use for the popover.\n * \n * @event {CustomEvent<IPopoverToggleEventData} forge-popover-beforetoggle - Dispatches before the popover is toggled, and is cancelable.\n * @event {CustomEvent<IPopoverToggleEventData} forge-popover-toggle - Dispatches after the popover is toggled.\n * \n * @cssproperty --forge-popover-background - The background color of the popover surface.\n * @cssproperty --forge-popover-border-radius - The border radius of the popover surface.\n * @cssproperty --forge-popover-box-shadow - The box shadow of the popover surface.\n * @cssproperty --forge-popover-border-width - The border width of the popover surface.\n * @cssproperty --forge-popover-border-style - The border style of the popover surface.\n * @cssproperty --forge-popover-border-color - The border color of the popover surface.\n * @cssproperty --forge-popover-width - The width of the popover surface. Defaults to `auto`.\n * @cssproperty --forge-popover-height - The height of the popover surface. Defaults to `auto`.\n * @cssproperty --forge-popover-min-width - The minimum width of the popover surface. Defaults to `none`.\n * @cssproperty --forge-popover-max-width - The maximum width of the popover surface. Defaults to `none`.\n * @cssproperty --forge-popover-min-height - The minimum height of the popover surface. Defaults to `none`.\n * @cssproperty --forge-popover-max-height - The maximum height of the popover surface. Defaults to `none`.\n * @cssproperty --forge-popover-arrow-size - The size of the arrow.\n * @cssproperty --forge-popover-arrow-height - The height of the arrow.\n * @cssproperty --forge-popover-arrow-width - The width of the arrow.\n * @cssproperty --forge-popover-arrow-background-color - The background color of the arrow. Defaults to the background color of the popover surface.\n * @cssproperty --forge-popover-arrow-top-rotation - The rotation of the arrow when the popover is placed on the top.\n * @cssproperty --forge-popover-arrow-right-rotation - The rotation of the arrow when the popover is placed on the right.\n * @cssproperty --forge-popover-arrow-bottom-rotation - The rotation of the arrow when the popover is placed on the bottom.\n * @cssproperty --forge-popover-arrow-left-rotation - The rotation of the arrow when the popover is placed on the left.\n * @cssproperty --forge-popover-arrow-border-width - The border width of the popover surface and arrow when an arrow is applied.\n * @cssproperty --forge-popover-arrow-clip-path - The clip path to use for the arrow element.\n * @cssproperty --forge-popover-animation-timing - The animation timing function to use for the popover animation.\n * @cssproperty --forge-popover-zoom-duration - The duration of the zoom animation.\n * @cssproperty --forge-popover-zoom-timing - The timing function to use for the zoom animation.\n * @cssproperty --forge-popover-slide-duration - The duration of the slide animation.\n * @cssproperty --forge-popover-slide-timing - The timing function to use for the slide animation.\n * @cssproperty --forge-popover-slide-offset - The start offset to use for the slide animation.\n * @cssproperty --forge-popover-fade-duration - The duration of the fade animation.\n * @cssproperty --forge-popover-fade-timing - The timing function to use for the fade animation.\n * @cssproperty --forge-popover-position-block-start - The `block-start` position of the popover.\n * @cssproperty --forge-popover-position-block-end - The `block-end` position of the popover.\n * @cssproperty --forge-popover-position-inline-start - The `inline-start` position of the popover.\n * @cssproperty --forge-popover-position-inline-end - The `inline-end` position of the popover.\n * @cssproperty --forge-popover-preset-dropdown-max-height - The maximum height of the popover when using `preset=\"dropdown\"`. Defaults to `256px`.\n * @cssproperty --forge-popover-preset-dropdown-overflow - The overflow behavior of the popover when using `preset=\"dropdown\"`. Defaults to `auto visible` (vertical scrolling only).\n * \n * @slot - The content to render inside the popover.\n * \n * @csspart overlay - The overlay root element.\n * @csspart surface - The surface container element for the slotted content.\n */\n@CustomElement({\n name: POPOVER_CONSTANTS.elementName,\n dependencies: [OverlayComponent]\n})\nexport class PopoverComponent extends OverlayAware<IPopoverFoundation> implements IPopoverComponent {\n public static get observedAttributes(): string[] {\n return [\n ...Object.values(OVERLAY_CONSTANTS.observedAttributes),\n ...Object.values(POPOVER_CONSTANTS.observedAttributes)\n ];\n }\n\n public [tryDismiss](state: IDismissibleStackState): boolean {\n return this._foundation.dispatchBeforeToggleEvent(state);\n }\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new PopoverFoundation(new PopoverAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case POPOVER_CONSTANTS.observedAttributes.ARROW:\n this.arrow = coerceBoolean(newValue);\n return;\n case POPOVER_CONSTANTS.observedAttributes.ANIMATION_TYPE:\n this.animationType = newValue as PopoverAnimationType;\n return;\n case POPOVER_CONSTANTS.observedAttributes.TRIGGER_TYPE:\n this.triggerType = newValue?.trim() ? coerceStringToArray<PopoverTriggerType>(newValue) : POPOVER_CONSTANTS.defaults.TRIGGER_TYPE;\n return;\n case POPOVER_CONSTANTS.observedAttributes.LONGPRESS_DELAY:\n this.longpressDelay = coerceNumber(newValue);\n return;\n case POPOVER_CONSTANTS.observedAttributes.PERSISTENT_HOVER:\n this.persistentHover = coerceBoolean(newValue);\n return;\n case POPOVER_CONSTANTS.observedAttributes.HOVER_DELAY:\n this.hoverDelay = coerceNumber(newValue);\n return;\n case POPOVER_CONSTANTS.observedAttributes.HOVER_DISMISS_DELAY:\n this.hoverDismissDelay = coerceNumber(newValue);\n return;\n case POPOVER_CONSTANTS.observedAttributes.PRESET:\n this.preset = newValue as PopoverPreset;\n return;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n @FoundationProperty()\n public declare arrow: boolean;\n\n @FoundationProperty()\n public declare animationType: PopoverAnimationType;\n\n @FoundationProperty()\n public declare triggerType: PopoverTriggerType | PopoverTriggerType[];\n\n @FoundationProperty()\n public declare longpressDelay: number;\n\n @FoundationProperty()\n public declare persistentHover: boolean;\n\n @FoundationProperty()\n public declare hoverDelay: number;\n\n @FoundationProperty()\n public declare hoverDismissDelay: number;\n\n @FoundationProperty()\n public declare preset: PopoverPreset;\n\n public hideAsync(): Promise<void> {\n return this._foundation.hideAsync();\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["OverlayAwareAdapter", "BaseAdapter", "component", "PopoverAdapter", "OverlayAwareAdapter", "component", "getShadowElement", "POPOVER_CONSTANTS", "OVERLAY_CONSTANTS", "id", "type", "listener", "_a", "VirtualElement", "newState", "prefersReducedMotion", "resolve", "value", "element", "autofocusElement", "targetEl", "state", "OverlayAwareFoundation", "_adapter", "evt", "OVERLAY_CONSTANTS", "value", "BaseClass", "WithLongpressListener", "OverlayAwareFoundation", "PopoverFoundation", "adapter", "POPOVER_CONSTANTS", "POPOVER_HOVER_TIMEOUT", "evt", "reason", "previousFocusedEl", "dispatchEvents", "fromKeyboard", "DismissibleStack", "types", "triggerInitializers", "VirtualElement", "triggerType", "_a", "triggerRemovers", "mouseElement", "_evt", "relatedTarget", "_b", "popoverHasFocus", "anchorHasFocus", "value", "type", "hasPreset", "OverlayAware", "BaseComponent", "name", "_oldValue", "newValue", "OVERLAY_CONSTANTS", "coerceBoolean", "__decorateClass", "FoundationProperty", "template", "styles", "PopoverComponent", "OverlayAware", "attachShadowTemplate", "PopoverFoundation", "PopoverAdapter", "OVERLAY_CONSTANTS", "POPOVER_CONSTANTS", "tryDismiss", "state", "name", "oldValue", "newValue", "coerceBoolean", "coerceStringToArray", "coerceNumber", "__decorateClass", "FoundationProperty", "CustomElement", "OverlayComponent"]
7
7
  }