@tylertech/forge 3.0.0-next.1 → 3.0.0-next.11

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 (773) hide show
  1. package/custom-elements.json +18061 -12338
  2. package/dist/button/forge-button.css +1 -1
  3. package/dist/esm/accordion/index.js +1 -1
  4. package/dist/esm/app-bar/help-button/index.js +1 -1
  5. package/dist/esm/app-bar/index.js +1 -1
  6. package/dist/esm/app-bar/menu-button/index.js +1 -1
  7. package/dist/esm/app-bar/notification-button/index.js +1 -1
  8. package/dist/esm/app-bar/profile-button/index.js +1 -1
  9. package/dist/esm/app-bar/search/index.js +1 -1
  10. package/dist/esm/autocomplete/index.js +1 -1
  11. package/dist/esm/avatar/index.js +1 -1
  12. package/dist/esm/backdrop/index.js +1 -1
  13. package/dist/esm/badge/index.js +1 -1
  14. package/dist/esm/banner/index.js +1 -1
  15. package/dist/esm/bottom-sheet/index.js +1 -1
  16. package/dist/esm/busy-indicator/index.js +1 -1
  17. package/dist/esm/button/index.js +1 -1
  18. package/dist/esm/button-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/core/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/chunk.2AJ7FFI6.js +7 -0
  32. package/dist/esm/chunks/chunk.2AJ7FFI6.js.map +7 -0
  33. package/dist/esm/chunks/{chunk.SSRQFKNH.js → chunk.2EWV2XBP.js} +2 -2
  34. package/dist/esm/chunks/{chunk.SSRQFKNH.js.map → chunk.2EWV2XBP.js.map} +1 -1
  35. package/dist/esm/chunks/chunk.2QHD3DCR.js +7 -0
  36. package/dist/esm/chunks/chunk.2QHD3DCR.js.map +7 -0
  37. package/dist/esm/chunks/{chunk.BJZ7RB5F.js → chunk.3CTKWBV2.js} +1 -1
  38. package/dist/esm/chunks/{chunk.BJZ7RB5F.js.map → chunk.3CTKWBV2.js.map} +1 -1
  39. package/dist/esm/chunks/chunk.3HB22HCX.js +7 -0
  40. package/dist/esm/chunks/chunk.44IUAOBP.js +7 -0
  41. package/dist/esm/chunks/{chunk.YPZNIYQL.js.map → chunk.44IUAOBP.js.map} +2 -2
  42. package/dist/esm/chunks/chunk.4C6KHYUO.js +7 -0
  43. package/dist/esm/chunks/{chunk.SXTTEIIH.js → chunk.4YFVG4KP.js} +2 -2
  44. package/dist/esm/chunks/{chunk.SXTTEIIH.js.map → chunk.4YFVG4KP.js.map} +1 -1
  45. package/dist/esm/chunks/chunk.4ZKX3SO5.js +7 -0
  46. package/dist/esm/chunks/{chunk.5WNKQTXX.js.map → chunk.4ZKX3SO5.js.map} +2 -2
  47. package/dist/esm/chunks/chunk.54OOOQ4R.js +7 -0
  48. package/dist/esm/chunks/chunk.54OOOQ4R.js.map +7 -0
  49. package/dist/esm/chunks/chunk.5565ZSTH.js +7 -0
  50. package/dist/esm/chunks/chunk.5565ZSTH.js.map +7 -0
  51. package/dist/esm/chunks/chunk.5MZ5SGMO.js +7 -0
  52. package/dist/esm/chunks/chunk.5MZ5SGMO.js.map +7 -0
  53. package/dist/esm/chunks/{chunk.7UKA4E5A.js → chunk.624UKZFU.js} +2 -2
  54. package/dist/esm/chunks/{chunk.7UKA4E5A.js.map → chunk.624UKZFU.js.map} +1 -1
  55. package/dist/esm/chunks/chunk.6GC5AJPE.js +7 -0
  56. package/dist/esm/chunks/chunk.6GC5AJPE.js.map +7 -0
  57. package/dist/esm/chunks/{chunk.CLM6MNKC.js → chunk.6OUJSOJY.js} +2 -2
  58. package/dist/esm/chunks/{chunk.CLM6MNKC.js.map → chunk.6OUJSOJY.js.map} +1 -1
  59. package/dist/esm/chunks/{chunk.TR5YMNJJ.js → chunk.6OW6Q3EW.js} +2 -2
  60. package/dist/esm/chunks/{chunk.TR5YMNJJ.js.map → chunk.6OW6Q3EW.js.map} +1 -1
  61. package/dist/esm/chunks/chunk.7CGKFRBK.js +7 -0
  62. package/dist/esm/chunks/chunk.7CGKFRBK.js.map +7 -0
  63. package/dist/esm/chunks/chunk.7DB3XVPI.js +7 -0
  64. package/dist/esm/chunks/chunk.7DB3XVPI.js.map +7 -0
  65. package/dist/esm/chunks/chunk.7TMLILLW.js +7 -0
  66. package/dist/esm/chunks/{chunk.ZFHPUAYX.js.map → chunk.7TMLILLW.js.map} +2 -2
  67. package/dist/esm/chunks/{chunk.KU5CXXGS.js → chunk.A62DE5PD.js} +2 -2
  68. package/dist/esm/chunks/chunk.AEKOP3XT.js +7 -0
  69. package/dist/esm/chunks/chunk.AEKOP3XT.js.map +7 -0
  70. package/dist/esm/chunks/chunk.ALIYGJXA.js +129 -0
  71. package/dist/esm/chunks/chunk.ALIYGJXA.js.map +7 -0
  72. package/dist/esm/chunks/chunk.B4T3R53C.js +7 -0
  73. package/dist/esm/chunks/{chunk.6OKJPSUE.js.map → chunk.B4T3R53C.js.map} +2 -2
  74. package/dist/esm/chunks/chunk.BH2TUG2V.js +7 -0
  75. package/dist/esm/chunks/chunk.BH2TUG2V.js.map +7 -0
  76. package/dist/esm/chunks/chunk.BKL2BAYW.js +7 -0
  77. package/dist/esm/chunks/{chunk.G5MGGEFP.js.map → chunk.BKL2BAYW.js.map} +1 -1
  78. package/dist/esm/chunks/chunk.BY25RT52.js +7 -0
  79. package/dist/esm/chunks/chunk.BY25RT52.js.map +7 -0
  80. package/dist/esm/chunks/chunk.CDGZYUQS.js +7 -0
  81. package/dist/esm/chunks/{chunk.RB5BTA5N.js.map → chunk.CDGZYUQS.js.map} +2 -2
  82. package/dist/esm/chunks/chunk.CKW7KKDW.js +7 -0
  83. package/dist/esm/chunks/{chunk.4NI63FGK.js.map → chunk.CKW7KKDW.js.map} +2 -2
  84. package/dist/esm/chunks/{chunk.RYMPSU4J.js → chunk.COVTBIQQ.js} +2 -2
  85. package/dist/esm/chunks/{chunk.RYMPSU4J.js.map → chunk.COVTBIQQ.js.map} +2 -2
  86. package/dist/esm/chunks/{chunk.G45OZEIS.js → chunk.CWTV3TB3.js} +2 -2
  87. package/dist/esm/chunks/chunk.CXY6K7EI.js +7 -0
  88. package/dist/esm/chunks/{chunk.ROR6JMAE.js.map → chunk.CXY6K7EI.js.map} +1 -1
  89. package/dist/esm/chunks/chunk.D5TAI6Q7.js +7 -0
  90. package/dist/esm/chunks/{chunk.BTBHIIGI.js.map → chunk.D5TAI6Q7.js.map} +1 -1
  91. package/dist/esm/chunks/chunk.DBNJHUYY.js +7 -0
  92. package/dist/esm/chunks/chunk.DBNJHUYY.js.map +7 -0
  93. package/dist/esm/chunks/{chunk.WP4QOOIS.js → chunk.DG4ZM3AW.js} +2 -2
  94. package/dist/esm/chunks/{chunk.U6WGJELL.js → chunk.DMCBAYQX.js} +1 -1
  95. package/dist/esm/chunks/{chunk.U6WGJELL.js.map → chunk.DMCBAYQX.js.map} +1 -1
  96. package/dist/esm/chunks/{chunk.BE7PZANN.js → chunk.DXN7ZOH3.js} +2 -2
  97. package/dist/esm/chunks/{chunk.BE7PZANN.js.map → chunk.DXN7ZOH3.js.map} +1 -1
  98. package/dist/esm/chunks/chunk.EK24Y56W.js +7 -0
  99. package/dist/esm/chunks/chunk.F4VXEE76.js +7 -0
  100. package/dist/esm/chunks/chunk.F4VXEE76.js.map +7 -0
  101. package/dist/esm/chunks/chunk.F5SY2D4B.js +7 -0
  102. package/dist/esm/chunks/{chunk.DT7MZR5Y.js.map → chunk.F5SY2D4B.js.map} +3 -3
  103. package/dist/esm/chunks/chunk.F74YURLV.js +7 -0
  104. package/dist/esm/chunks/chunk.F74YURLV.js.map +7 -0
  105. package/dist/esm/chunks/chunk.FCATJM34.js +7 -0
  106. package/dist/esm/chunks/chunk.FCATJM34.js.map +7 -0
  107. package/dist/esm/chunks/{chunk.3KQL7VAZ.js → chunk.FDZSLGIW.js} +2 -2
  108. package/dist/esm/chunks/{chunk.3KQL7VAZ.js.map → chunk.FDZSLGIW.js.map} +1 -1
  109. package/dist/esm/chunks/chunk.FG2GNAM2.js +7 -0
  110. package/dist/esm/chunks/chunk.FG2GNAM2.js.map +7 -0
  111. package/dist/esm/chunks/{chunk.UT7QUGAO.js → chunk.FWFOOQMA.js} +2 -2
  112. package/dist/esm/chunks/{chunk.MZLPUI6R.js → chunk.FYWPZFLJ.js} +2 -2
  113. package/dist/esm/chunks/{chunk.MZLPUI6R.js.map → chunk.FYWPZFLJ.js.map} +2 -2
  114. package/dist/esm/chunks/chunk.GNG64TXK.js +7 -0
  115. package/dist/esm/chunks/chunk.GNG64TXK.js.map +7 -0
  116. package/dist/esm/chunks/chunk.HHCO64F3.js +7 -0
  117. package/dist/esm/chunks/chunk.HHCO64F3.js.map +7 -0
  118. package/dist/esm/chunks/chunk.HRGTAVNA.js +7 -0
  119. package/dist/esm/chunks/{chunk.J6WCFQSS.js.map → chunk.HRGTAVNA.js.map} +2 -2
  120. package/dist/esm/chunks/chunk.ISC7SZSP.js +7 -0
  121. package/dist/esm/chunks/chunk.ISC7SZSP.js.map +7 -0
  122. package/dist/esm/chunks/{chunk.ZUNZKRRK.js → chunk.IX25DYIM.js} +2 -2
  123. package/dist/esm/chunks/chunk.JIKSKUDW.js +7 -0
  124. package/dist/esm/chunks/chunk.JIKSKUDW.js.map +7 -0
  125. package/dist/esm/chunks/{chunk.F2B24WLK.js → chunk.JLLHDJSO.js} +2 -2
  126. package/dist/esm/chunks/{chunk.F2B24WLK.js.map → chunk.JLLHDJSO.js.map} +1 -1
  127. package/dist/esm/chunks/chunk.JUJGROHA.js +7 -0
  128. package/dist/esm/chunks/{chunk.YBEBD4CN.js.map → chunk.JUJGROHA.js.map} +1 -1
  129. package/dist/esm/chunks/{chunk.UBD2DPQN.js → chunk.K3KAM2PL.js} +2 -2
  130. package/dist/esm/chunks/{chunk.UBD2DPQN.js.map → chunk.K3KAM2PL.js.map} +1 -1
  131. package/dist/esm/chunks/{chunk.PN26D52V.js → chunk.K7FPXAFS.js} +2 -2
  132. package/dist/esm/chunks/{chunk.PN26D52V.js.map → chunk.K7FPXAFS.js.map} +3 -3
  133. package/dist/esm/chunks/chunk.KJP2VA6Q.js +7 -0
  134. package/dist/esm/chunks/chunk.KJP2VA6Q.js.map +7 -0
  135. package/dist/esm/chunks/{chunk.ARJ3EVVO.js → chunk.KVCDAZ6B.js} +2 -2
  136. package/dist/esm/chunks/{chunk.4DAIIJ37.js → chunk.LEVFMI2Q.js} +1 -1
  137. package/dist/esm/chunks/{chunk.4DAIIJ37.js.map → chunk.LEVFMI2Q.js.map} +1 -1
  138. package/dist/esm/chunks/{chunk.77Y3EABF.js → chunk.LFODKHUO.js} +2 -2
  139. package/dist/esm/chunks/{chunk.77Y3EABF.js.map → chunk.LFODKHUO.js.map} +1 -1
  140. package/dist/esm/chunks/{chunk.XQ2EQIDS.js → chunk.LK4AAUOP.js} +2 -2
  141. package/dist/esm/chunks/{chunk.XQ2EQIDS.js.map → chunk.LK4AAUOP.js.map} +2 -2
  142. package/dist/esm/chunks/{chunk.H4Z4DHPA.js → chunk.LTT67HTW.js} +2 -2
  143. package/dist/esm/chunks/chunk.LXPFG7MW.js +7 -0
  144. package/dist/esm/chunks/chunk.LXPFG7MW.js.map +7 -0
  145. package/dist/esm/chunks/chunk.M3QDAYD2.js +7 -0
  146. package/dist/esm/chunks/chunk.M56LSSPW.js +7 -0
  147. package/dist/esm/chunks/{chunk.Y5A7RQ5M.js.map → chunk.M56LSSPW.js.map} +1 -1
  148. package/dist/esm/chunks/chunk.MACPUZC2.js +7 -0
  149. package/dist/esm/chunks/chunk.MACPUZC2.js.map +7 -0
  150. package/dist/esm/chunks/{chunk.O73S5LF3.js → chunk.MGLL67VO.js} +2 -2
  151. package/dist/esm/chunks/chunk.MGLWXAZO.js +18 -0
  152. package/dist/esm/chunks/{chunk.YI4JTY4T.js.map → chunk.MGLWXAZO.js.map} +2 -2
  153. package/dist/esm/chunks/{chunk.XZ4WI7VK.js → chunk.MHBBMC6O.js} +2 -2
  154. package/dist/esm/chunks/{chunk.XZ4WI7VK.js.map → chunk.MHBBMC6O.js.map} +1 -1
  155. package/dist/esm/chunks/{chunk.HBMNXZES.js → chunk.MTKSU2BV.js} +2 -2
  156. package/dist/esm/chunks/{chunk.HBMNXZES.js.map → chunk.MTKSU2BV.js.map} +1 -1
  157. package/dist/esm/chunks/chunk.MVTBJPO2.js +7 -0
  158. package/dist/esm/chunks/{chunk.Y4GKBJGI.js.map → chunk.MVTBJPO2.js.map} +3 -3
  159. package/dist/esm/chunks/chunk.MXEKIEJA.js +7 -0
  160. package/dist/esm/chunks/chunk.MXEKIEJA.js.map +7 -0
  161. package/dist/esm/chunks/chunk.N43BCJHN.js +7 -0
  162. package/dist/esm/chunks/chunk.N43BCJHN.js.map +7 -0
  163. package/dist/esm/chunks/{chunk.VC2BG2RS.js → chunk.NR3MLTXF.js} +2 -2
  164. package/dist/esm/chunks/{chunk.VC2BG2RS.js.map → chunk.NR3MLTXF.js.map} +1 -1
  165. package/dist/esm/chunks/{chunk.KTGSZEAG.js → chunk.NVUMRW44.js} +1 -1
  166. package/dist/esm/chunks/{chunk.KTGSZEAG.js.map → chunk.NVUMRW44.js.map} +1 -1
  167. package/dist/esm/chunks/{chunk.MLV25D2G.js → chunk.OWCYRSI3.js} +2 -2
  168. package/dist/esm/chunks/chunk.P2CW5MQO.js +12 -0
  169. package/dist/esm/chunks/chunk.P2CW5MQO.js.map +7 -0
  170. package/dist/esm/chunks/{chunk.N4PVZUJX.js → chunk.P2ZCNO63.js} +2 -2
  171. package/dist/esm/chunks/{chunk.N4PVZUJX.js.map → chunk.P2ZCNO63.js.map} +2 -2
  172. package/dist/esm/chunks/chunk.PADPL4L3.js +7 -0
  173. package/dist/esm/chunks/{chunk.47A2CN5U.js.map → chunk.PADPL4L3.js.map} +1 -1
  174. package/dist/esm/chunks/chunk.PEBT47AU.js +7 -0
  175. package/dist/esm/chunks/chunk.PEBT47AU.js.map +7 -0
  176. package/dist/esm/chunks/chunk.PH3HUFJJ.js +7 -0
  177. package/dist/esm/chunks/{chunk.JHBCYICS.js.map → chunk.PH3HUFJJ.js.map} +1 -1
  178. package/dist/esm/chunks/chunk.Q7JUJNYD.js +7 -0
  179. package/dist/esm/chunks/chunk.Q7JUJNYD.js.map +7 -0
  180. package/dist/esm/chunks/chunk.Q7Z3SJ5F.js +7 -0
  181. package/dist/esm/chunks/{chunk.4BEI55KI.js.map → chunk.Q7Z3SJ5F.js.map} +1 -1
  182. package/dist/esm/chunks/chunk.QCRRHGBA.js +7 -0
  183. package/dist/esm/chunks/chunk.QCRRHGBA.js.map +7 -0
  184. package/dist/esm/chunks/{chunk.IUOBRBDZ.js → chunk.QOJESHEV.js} +2 -2
  185. package/dist/esm/chunks/chunk.S3JMOOWC.js +7 -0
  186. package/dist/esm/chunks/{chunk.4WPFFNLH.js.map → chunk.S3JMOOWC.js.map} +1 -1
  187. package/dist/esm/chunks/{chunk.O4FB4BV5.js → chunk.SBYX7VZ4.js} +2 -2
  188. package/dist/esm/chunks/{chunk.O4FB4BV5.js.map → chunk.SBYX7VZ4.js.map} +2 -2
  189. package/dist/esm/chunks/{chunk.XUW3GG46.js → chunk.SFCGOCQK.js} +2 -2
  190. package/dist/esm/chunks/chunk.SJJS4LYN.js +7 -0
  191. package/dist/esm/chunks/chunk.SJJS4LYN.js.map +7 -0
  192. package/dist/esm/chunks/{chunk.P3IA2WTO.js → chunk.SMGXXR6K.js} +2 -2
  193. package/dist/esm/chunks/{chunk.P3IA2WTO.js.map → chunk.SMGXXR6K.js.map} +1 -1
  194. package/dist/esm/chunks/{chunk.PALRSBSY.js → chunk.SU4FU7GK.js} +2 -2
  195. package/dist/esm/chunks/{chunk.PALRSBSY.js.map → chunk.SU4FU7GK.js.map} +1 -1
  196. package/dist/esm/chunks/{chunk.XHV3GQ7L.js → chunk.TK5I4RHF.js} +2 -2
  197. package/dist/esm/chunks/{chunk.XHV3GQ7L.js.map → chunk.TK5I4RHF.js.map} +2 -2
  198. package/dist/esm/chunks/{chunk.BJE6O5ES.js → chunk.TYLOAD7R.js} +2 -2
  199. package/dist/esm/chunks/{chunk.BJE6O5ES.js.map → chunk.TYLOAD7R.js.map} +2 -2
  200. package/dist/esm/chunks/chunk.UJ2WQOLO.js +7 -0
  201. package/dist/esm/chunks/{chunk.E6CYXNS2.js.map → chunk.UJ2WQOLO.js.map} +2 -2
  202. package/dist/esm/chunks/{chunk.J2H5RXTX.js → chunk.ULY4H76N.js} +2 -2
  203. package/dist/esm/chunks/{chunk.J2H5RXTX.js.map → chunk.ULY4H76N.js.map} +1 -1
  204. package/dist/esm/chunks/{chunk.DONAMICM.js → chunk.UV3WIHCM.js} +1 -1
  205. package/dist/esm/chunks/{chunk.DONAMICM.js.map → chunk.UV3WIHCM.js.map} +1 -1
  206. package/dist/esm/chunks/{chunk.T76JYRPR.js → chunk.VSQOTSAO.js} +2 -2
  207. package/dist/esm/chunks/{chunk.T76JYRPR.js.map → chunk.VSQOTSAO.js.map} +2 -2
  208. package/dist/esm/chunks/chunk.VVXSELXX.js +7 -0
  209. package/dist/esm/chunks/chunk.VVXSELXX.js.map +7 -0
  210. package/dist/esm/chunks/chunk.VZWNNK7A.js +7 -0
  211. package/dist/esm/chunks/chunk.VZWNNK7A.js.map +7 -0
  212. package/dist/esm/chunks/chunk.W4247Q2P.js +7 -0
  213. package/dist/esm/chunks/{chunk.MHOS3IHQ.js.map → chunk.W4247Q2P.js.map} +1 -1
  214. package/dist/esm/chunks/chunk.WPG7NNQX.js +7 -0
  215. package/dist/esm/chunks/chunk.WPG7NNQX.js.map +7 -0
  216. package/dist/esm/chunks/{chunk.LYOQ2RGP.js → chunk.X3C3J5MH.js} +2 -2
  217. package/dist/esm/chunks/{chunk.LYOQ2RGP.js.map → chunk.X3C3J5MH.js.map} +1 -1
  218. package/dist/esm/chunks/{chunk.RBAVT3XQ.js → chunk.XGOAYMK2.js} +2 -2
  219. package/dist/esm/chunks/chunk.XI3MJSIS.js +7 -0
  220. package/dist/esm/chunks/chunk.XI3MJSIS.js.map +7 -0
  221. package/dist/esm/chunks/chunk.XIQFHO5R.js +7 -0
  222. package/dist/esm/chunks/{chunk.FVRSGKJD.js.map → chunk.XIQFHO5R.js.map} +2 -2
  223. package/dist/esm/chunks/chunk.XKI46BH2.js +7 -0
  224. package/dist/esm/chunks/{chunk.INCKI5IX.js.map → chunk.XKI46BH2.js.map} +1 -1
  225. package/dist/esm/chunks/{chunk.AFLH5HUG.js → chunk.YLG6ZC5K.js} +2 -2
  226. package/dist/esm/chunks/chunk.YRMR7IOS.js +7 -0
  227. package/dist/esm/chunks/chunk.YRMR7IOS.js.map +7 -0
  228. package/dist/esm/chunks/chunk.YWNCJ7XP.js +7 -0
  229. package/dist/esm/chunks/{chunk.242YUZKU.js.map → chunk.YWNCJ7XP.js.map} +2 -2
  230. package/dist/esm/chunks/{chunk.K2C4W3CO.js → chunk.YX7WLO5Y.js} +2 -2
  231. package/dist/esm/chunks/chunk.YZLASVCK.js +177 -0
  232. package/dist/esm/chunks/chunk.YZLASVCK.js.map +7 -0
  233. package/dist/esm/chunks/{chunk.5FPFRE4H.js → chunk.Z6FCL3G3.js} +2 -2
  234. package/dist/esm/chunks/{chunk.5FPFRE4H.js.map → chunk.Z6FCL3G3.js.map} +1 -1
  235. package/dist/esm/chunks/chunk.ZDD2NLGP.js +7 -0
  236. package/dist/esm/chunks/{chunk.FRYLJWYL.js → chunk.ZJC2DSNM.js} +2 -2
  237. package/dist/esm/chunks/{chunk.FRYLJWYL.js.map → chunk.ZJC2DSNM.js.map} +1 -1
  238. package/dist/esm/chunks/chunk.ZKGSQQGU.js +12 -0
  239. package/dist/esm/chunks/chunk.ZKGSQQGU.js.map +7 -0
  240. package/dist/esm/chunks/{chunk.JEN6YP2Q.js → chunk.ZVBZ3LGP.js} +2 -2
  241. package/dist/esm/circular-progress/index.js +1 -1
  242. package/dist/esm/color-picker/index.js +1 -1
  243. package/dist/esm/core/base/index.js +1 -1
  244. package/dist/esm/core/delegates/index.js +1 -1
  245. package/dist/esm/core/index.js +1 -1
  246. package/dist/esm/core/mask/index.js +1 -1
  247. package/dist/esm/core/utils/index.js +1 -1
  248. package/dist/esm/date-picker/index.js +1 -1
  249. package/dist/esm/date-range-picker/index.js +1 -1
  250. package/dist/esm/dialog/index.js +1 -1
  251. package/dist/esm/divider/index.js +1 -1
  252. package/dist/esm/drawer/base/index.js +1 -1
  253. package/dist/esm/drawer/drawer/index.js +1 -1
  254. package/dist/esm/drawer/index.js +1 -1
  255. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  256. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  257. package/dist/esm/expansion-panel/index.js +1 -1
  258. package/dist/esm/file-picker/index.js +1 -1
  259. package/dist/esm/floating-action-button/index.js +1 -1
  260. package/dist/esm/floating-label/index.js +1 -1
  261. package/dist/esm/focus-indicator/index.js +7 -0
  262. package/dist/esm/focus-indicator/index.js.map +7 -0
  263. package/dist/esm/icon/index.js +1 -1
  264. package/dist/esm/icon-button/index.js +1 -1
  265. package/dist/esm/index.js +1 -1
  266. package/dist/esm/inline-message/index.js +1 -1
  267. package/dist/esm/keyboard-shortcut/index.js +1 -1
  268. package/dist/esm/label-value/index.js +1 -1
  269. package/dist/esm/linear-progress/index.js +1 -1
  270. package/dist/esm/list/index.js +1 -1
  271. package/dist/esm/list/list/index.js +1 -1
  272. package/dist/esm/list/list-item/index.js +1 -1
  273. package/dist/esm/list-dropdown/index.js +1 -1
  274. package/dist/esm/menu/index.js +1 -1
  275. package/dist/esm/open-icon/index.js +1 -1
  276. package/dist/esm/page-state/index.js +1 -1
  277. package/dist/esm/paginator/index.js +1 -1
  278. package/dist/esm/popup/index.js +1 -1
  279. package/dist/esm/product-icon/index.js +1 -1
  280. package/dist/esm/profile-card/index.js +1 -1
  281. package/dist/esm/quantity-field/index.js +1 -1
  282. package/dist/esm/radio/index.js +1 -1
  283. package/dist/esm/ripple/index.js +1 -1
  284. package/dist/esm/scaffold/index.js +1 -1
  285. package/dist/esm/select/core/index.js +1 -1
  286. package/dist/esm/select/index.js +1 -1
  287. package/dist/esm/select/option/index.js +1 -1
  288. package/dist/esm/select/option-group/index.js +1 -1
  289. package/dist/esm/select/select/index.js +1 -1
  290. package/dist/esm/select/select-dropdown/index.js +1 -1
  291. package/dist/esm/skeleton/index.js +1 -1
  292. package/dist/esm/slider/index.js +1 -1
  293. package/dist/esm/split-view/index.js +1 -1
  294. package/dist/esm/split-view/split-view/index.js +1 -1
  295. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  296. package/dist/esm/stack/index.js +1 -1
  297. package/dist/esm/state-layer/index.js +7 -0
  298. package/dist/esm/state-layer/index.js.map +7 -0
  299. package/dist/esm/stepper/index.js +1 -1
  300. package/dist/esm/stepper/step/index.js +1 -1
  301. package/dist/esm/stepper/stepper/index.js +1 -1
  302. package/dist/esm/switch/index.js +1 -1
  303. package/dist/esm/table/index.js +1 -1
  304. package/dist/esm/tabs/index.js +1 -1
  305. package/dist/esm/tabs/tab/index.js +1 -1
  306. package/dist/esm/tabs/tab-bar/index.js +1 -1
  307. package/dist/esm/text-field/index.js +1 -1
  308. package/dist/esm/theme/index.js +1 -1
  309. package/dist/esm/time-picker/index.js +1 -1
  310. package/dist/esm/toast/index.js +1 -1
  311. package/dist/esm/toolbar/index.js +1 -1
  312. package/dist/esm/tooltip/index.js +1 -1
  313. package/dist/esm/utils/index.js +1 -1
  314. package/dist/esm/view-switcher/index.js +1 -1
  315. package/dist/esm/view-switcher/view/index.js +1 -1
  316. package/dist/forge-dark.css +1 -1
  317. package/dist/forge.css +1 -1
  318. package/dist/icon-button/forge-icon-button.css +1 -1
  319. package/dist/table/forge-table.css +1 -1
  320. package/dist/theme/forge-theme.css +1 -1
  321. package/dist/typography/forge-typography-legacy.css +6 -0
  322. package/dist/typography/forge-typography.css +1 -1
  323. package/esm/accordion/accordion.js +4 -4
  324. package/esm/app-bar/app-bar.js +6 -6
  325. package/esm/app-bar/notification-button/app-bar-notification-button.js +5 -5
  326. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +1 -1
  327. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -1
  328. package/esm/app-bar/profile-button/app-bar-profile-button.js +4 -4
  329. package/esm/app-bar/search/app-bar-search.js +6 -6
  330. package/esm/autocomplete/autocomplete-adapter.d.ts +0 -2
  331. package/esm/autocomplete/autocomplete-adapter.js +1 -5
  332. package/esm/autocomplete/autocomplete-component-delegate.d.ts +1 -1
  333. package/esm/autocomplete/autocomplete-constants.d.ts +5 -4
  334. package/esm/autocomplete/autocomplete-constants.js +1 -0
  335. package/esm/autocomplete/autocomplete-foundation.d.ts +5 -0
  336. package/esm/autocomplete/autocomplete-foundation.js +12 -12
  337. package/esm/autocomplete/autocomplete.d.ts +3 -0
  338. package/esm/autocomplete/autocomplete.js +13 -6
  339. package/esm/avatar/avatar-component-delegate.d.ts +1 -1
  340. package/esm/avatar/avatar.js +5 -5
  341. package/esm/backdrop/backdrop-constants.d.ts +1 -1
  342. package/esm/backdrop/backdrop.js +5 -5
  343. package/esm/badge/badge-component-delegate.d.ts +1 -1
  344. package/esm/badge/badge.js +5 -5
  345. package/esm/banner/banner.js +7 -7
  346. package/esm/bottom-sheet/bottom-sheet.js +6 -6
  347. package/esm/busy-indicator/busy-indicator-adapter.js +1 -1
  348. package/esm/busy-indicator/busy-indicator-constants.d.ts +1 -1
  349. package/esm/busy-indicator/busy-indicator.js +6 -6
  350. package/esm/button/button-component-delegate.d.ts +1 -1
  351. package/esm/button/button.d.ts +1 -0
  352. package/esm/button/button.js +11 -5
  353. package/esm/button-toggle/button-toggle/button-toggle.js +7 -7
  354. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +2 -2
  355. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +5 -5
  356. package/esm/calendar/calendar-component-delegate.d.ts +1 -1
  357. package/esm/calendar/calendar-constants.d.ts +10 -10
  358. package/esm/calendar/calendar-dropdown/calendar-dropdown.d.ts +3 -0
  359. package/esm/calendar/calendar-dropdown/calendar-dropdown.js +14 -5
  360. package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +2 -2
  361. package/esm/calendar/calendar-menu/calendar-menu.js +6 -6
  362. package/esm/calendar/calendar.js +7 -7
  363. package/esm/card/card-constants.d.ts +2 -2
  364. package/esm/card/card-constants.js +2 -2
  365. package/esm/card/card.d.ts +19 -8
  366. package/esm/card/card.js +34 -25
  367. package/esm/checkbox/checkbox-adapter.d.ts +1 -0
  368. package/esm/checkbox/checkbox-adapter.js +9 -2
  369. package/esm/checkbox/checkbox-component-delegate.d.ts +1 -1
  370. package/esm/checkbox/checkbox.js +4 -4
  371. package/esm/chip-field/chip-field-component-delegate.d.ts +1 -1
  372. package/esm/chip-field/chip-field-foundation.d.ts +1 -1
  373. package/esm/chip-field/chip-field-foundation.js +1 -1
  374. package/esm/chip-field/chip-field.js +1 -1
  375. package/esm/chips/chip/chip-adapter.js +2 -2
  376. package/esm/chips/chip/chip.js +7 -7
  377. package/esm/chips/chip-set/chip-set.js +5 -5
  378. package/esm/circular-progress/circular-progress-adapter.d.ts +7 -14
  379. package/esm/circular-progress/circular-progress-adapter.js +25 -25
  380. package/esm/circular-progress/circular-progress-constants.d.ts +6 -2
  381. package/esm/circular-progress/circular-progress-constants.js +8 -3
  382. package/esm/circular-progress/circular-progress-foundation.d.ts +0 -8
  383. package/esm/circular-progress/circular-progress-foundation.js +9 -27
  384. package/esm/circular-progress/circular-progress.d.ts +24 -5
  385. package/esm/circular-progress/circular-progress.js +33 -21
  386. package/esm/color-picker/color-picker-constants.d.ts +2 -2
  387. package/esm/color-picker/color-picker-foundation.d.ts +0 -1
  388. package/esm/color-picker/color-picker-foundation.js +2 -5
  389. package/esm/color-picker/color-picker.js +7 -7
  390. package/esm/core/base/base-component.d.ts +1 -2
  391. package/esm/core/delegates/base-component-delegate.d.ts +1 -1
  392. package/esm/core/delegates/base-component-delegate.js +3 -3
  393. package/esm/core/delegates/form-field-component-delegate.d.ts +1 -1
  394. package/esm/core/mask/time-segment-parser.d.ts +1 -1
  395. package/esm/core/testing/pointer.d.ts +13 -0
  396. package/esm/core/testing/pointer.js +42 -0
  397. package/esm/core/utils/utils.d.ts +33 -2
  398. package/esm/core/utils/utils.js +74 -6
  399. package/esm/date-picker/base/base-date-picker-adapter.d.ts +4 -2
  400. package/esm/date-picker/base/base-date-picker-adapter.js +6 -0
  401. package/esm/date-picker/base/base-date-picker-constants.d.ts +1 -0
  402. package/esm/date-picker/base/base-date-picker-constants.js +2 -1
  403. package/esm/date-picker/base/base-date-picker-foundation.d.ts +6 -2
  404. package/esm/date-picker/base/base-date-picker-foundation.js +21 -6
  405. package/esm/date-picker/base/base-date-picker.d.ts +3 -0
  406. package/esm/date-picker/base/base-date-picker.js +6 -0
  407. package/esm/date-picker/date-picker-adapter.js +6 -8
  408. package/esm/date-picker/date-picker-component-delegate.d.ts +1 -1
  409. package/esm/date-range-picker/date-range-picker-adapter.d.ts +4 -2
  410. package/esm/date-range-picker/date-range-picker-adapter.js +20 -18
  411. package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +1 -1
  412. package/esm/date-range-picker/date-range-picker-foundation.d.ts +4 -1
  413. package/esm/date-range-picker/date-range-picker-foundation.js +48 -14
  414. package/esm/dialog/dialog-adapter.js +1 -1
  415. package/esm/dialog/dialog-constants.d.ts +2 -2
  416. package/esm/dialog/dialog.js +5 -5
  417. package/esm/drawer/base/base-drawer-constants.d.ts +1 -1
  418. package/esm/expansion-panel/expansion-panel-constants.d.ts +2 -0
  419. package/esm/expansion-panel/expansion-panel-constants.js +3 -1
  420. package/esm/expansion-panel/expansion-panel-foundation.js +4 -1
  421. package/esm/expansion-panel/expansion-panel.js +6 -6
  422. package/esm/field/field-adapter.d.ts +4 -2
  423. package/esm/field/field-adapter.js +5 -2
  424. package/esm/field/field-constants.d.ts +3 -3
  425. package/esm/field/field-foundation.d.ts +2 -2
  426. package/esm/field/field-foundation.js +12 -9
  427. package/esm/field/field.js +3 -3
  428. package/esm/file-picker/file-picker-component-delegate.d.ts +1 -1
  429. package/esm/file-picker/file-picker.js +6 -6
  430. package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +1 -1
  431. package/esm/floating-action-button/floating-action-button.js +6 -6
  432. package/esm/focus-indicator/focus-indicator-adapter.d.ts +29 -0
  433. package/esm/focus-indicator/focus-indicator-adapter.js +39 -0
  434. package/esm/focus-indicator/focus-indicator-constants.d.ts +15 -0
  435. package/esm/focus-indicator/focus-indicator-constants.js +19 -0
  436. package/esm/focus-indicator/focus-indicator-foundation.d.ts +43 -0
  437. package/esm/focus-indicator/focus-indicator-foundation.js +110 -0
  438. package/esm/focus-indicator/focus-indicator.d.ts +67 -0
  439. package/esm/focus-indicator/focus-indicator.js +112 -0
  440. package/esm/focus-indicator/index.d.ts +10 -0
  441. package/esm/focus-indicator/index.js +14 -0
  442. package/esm/icon/icon.js +5 -5
  443. package/esm/icon-button/icon-button-component-delegate.d.ts +1 -1
  444. package/esm/icon-button/icon-button.d.ts +1 -0
  445. package/esm/icon-button/icon-button.js +16 -9
  446. package/esm/index.d.ts +2 -0
  447. package/esm/index.js +6 -0
  448. package/esm/keyboard-shortcut/keyboard-shortcut.js +4 -4
  449. package/esm/label-value/label-value-component-delegate.d.ts +1 -1
  450. package/esm/label-value/label-value-constants.d.ts +1 -1
  451. package/esm/label-value/label-value.js +5 -5
  452. package/esm/linear-progress/linear-progress-adapter.d.ts +23 -0
  453. package/esm/linear-progress/linear-progress-adapter.js +34 -0
  454. package/esm/linear-progress/linear-progress-constants.d.ts +6 -2
  455. package/esm/linear-progress/linear-progress-constants.js +8 -3
  456. package/esm/linear-progress/linear-progress-foundation.d.ts +26 -0
  457. package/esm/linear-progress/linear-progress-foundation.js +53 -0
  458. package/esm/linear-progress/linear-progress.d.ts +32 -25
  459. package/esm/linear-progress/linear-progress.js +49 -107
  460. package/esm/list/list/list-adapter.js +2 -2
  461. package/esm/list/list/list.js +5 -5
  462. package/esm/list/list-item/list-item-adapter.d.ts +3 -3
  463. package/esm/list/list-item/list-item-adapter.js +2 -2
  464. package/esm/list/list-item/list-item-foundation.d.ts +1 -0
  465. package/esm/list/list-item/list-item-foundation.js +8 -1
  466. package/esm/list/list-item/list-item.js +6 -6
  467. package/esm/list-dropdown/list-dropdown-adapter.js +4 -5
  468. package/esm/list-dropdown/list-dropdown-constants.d.ts +6 -6
  469. package/esm/list-dropdown/list-dropdown-utils.d.ts +1 -1
  470. package/esm/list-dropdown/list-dropdown-utils.js +7 -4
  471. package/esm/menu/menu-constants.d.ts +3 -3
  472. package/esm/menu/menu.js +6 -6
  473. package/esm/open-icon/open-icon.js +6 -6
  474. package/esm/paginator/paginator-constants.d.ts +1 -1
  475. package/esm/paginator/paginator-foundation.js +2 -0
  476. package/esm/paginator/paginator.js +12 -12
  477. package/esm/popup/popup-adapter.js +2 -2
  478. package/esm/popup/popup-constants.d.ts +2 -2
  479. package/esm/popup/popup.js +5 -5
  480. package/esm/product-icon/product-icon.js +5 -5
  481. package/esm/profile-card/profile-card.js +6 -6
  482. package/esm/quantity-field/quantity-field-component-delegate.d.ts +1 -1
  483. package/esm/quantity-field/quantity-field.js +6 -6
  484. package/esm/radio/radio-adapter.d.ts +1 -0
  485. package/esm/radio/radio-adapter.js +11 -3
  486. package/esm/radio/radio.js +5 -5
  487. package/esm/ripple/forge-ripple.d.ts +2 -0
  488. package/esm/ripple/forge-ripple.js +4 -0
  489. package/esm/ripple/ripple.js +4 -4
  490. package/esm/select/core/base-select-constants.d.ts +4 -4
  491. package/esm/select/option/option.js +4 -4
  492. package/esm/select/option-group/option-group.js +3 -3
  493. package/esm/select/select/select-adapter.d.ts +1 -1
  494. package/esm/select/select/select.js +1 -1
  495. package/esm/select/select-component-delegate.d.ts +1 -1
  496. package/esm/slider/slider-adapter.d.ts +79 -0
  497. package/esm/slider/slider-adapter.js +178 -0
  498. package/esm/slider/slider-component-delegate.d.ts +19 -3
  499. package/esm/slider/slider-component-delegate.js +48 -0
  500. package/esm/slider/slider-constants.d.ts +55 -19
  501. package/esm/slider/slider-constants.js +56 -14
  502. package/esm/slider/slider-foundation.d.ts +94 -0
  503. package/esm/slider/slider-foundation.js +313 -0
  504. package/esm/slider/slider-utils.d.ts +9 -0
  505. package/esm/slider/slider-utils.js +56 -0
  506. package/esm/slider/slider.d.ts +135 -66
  507. package/esm/slider/slider.js +241 -249
  508. package/esm/split-view/split-view/split-view-adapter.js +3 -1
  509. package/esm/split-view/split-view/split-view-constants.d.ts +1 -1
  510. package/esm/split-view/split-view/split-view.js +5 -5
  511. package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +2 -2
  512. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +18 -18
  513. package/esm/split-view/split-view-panel/split-view-panel.js +7 -7
  514. package/esm/stack/stack-constants.d.ts +1 -1
  515. package/esm/stack/stack.js +5 -5
  516. package/esm/state-layer/index.d.ts +10 -0
  517. package/esm/state-layer/index.js +14 -0
  518. package/esm/state-layer/state-layer-adapter.d.ts +41 -0
  519. package/esm/state-layer/state-layer-adapter.js +101 -0
  520. package/esm/state-layer/state-layer-constants.d.ts +79 -0
  521. package/esm/state-layer/state-layer-constants.js +89 -0
  522. package/esm/state-layer/state-layer-foundation.d.ts +57 -0
  523. package/esm/state-layer/state-layer-foundation.js +237 -0
  524. package/esm/state-layer/state-layer-utils.d.ts +26 -0
  525. package/esm/state-layer/state-layer-utils.js +54 -0
  526. package/esm/state-layer/state-layer.d.ts +66 -0
  527. package/esm/state-layer/state-layer.js +96 -0
  528. package/esm/stepper/core/stepper-utils.js +2 -1
  529. package/esm/stepper/step/step-constants.d.ts +1 -1
  530. package/esm/stepper/step/step.js +13 -13
  531. package/esm/stepper/stepper/stepper-adapter.js +1 -1
  532. package/esm/stepper/stepper/stepper-constants.d.ts +2 -2
  533. package/esm/stepper/stepper/stepper-foundation.js +1 -0
  534. package/esm/stepper/stepper/stepper.js +5 -5
  535. package/esm/switch/switch-component-delegate.d.ts +1 -1
  536. package/esm/switch/switch-constants.d.ts +1 -1
  537. package/esm/switch/switch.js +19 -12
  538. package/esm/table/table.js +5 -5
  539. package/esm/table/types.d.ts +4 -4
  540. package/esm/tabs/tab/tab-adapter.d.ts +14 -40
  541. package/esm/tabs/tab/tab-adapter.js +57 -79
  542. package/esm/tabs/tab/tab-constants.d.ts +13 -14
  543. package/esm/tabs/tab/tab-constants.js +17 -10
  544. package/esm/tabs/tab/tab-foundation.d.ts +23 -23
  545. package/esm/tabs/tab/tab-foundation.js +66 -62
  546. package/esm/tabs/tab/tab.d.ts +56 -20
  547. package/esm/tabs/tab/tab.js +88 -39
  548. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +49 -87
  549. package/esm/tabs/tab-bar/tab-bar-adapter.js +114 -188
  550. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +15 -45
  551. package/esm/tabs/tab-bar/tab-bar-constants.js +22 -56
  552. package/esm/tabs/tab-bar/tab-bar-foundation.d.ts +56 -65
  553. package/esm/tabs/tab-bar/tab-bar-foundation.js +241 -302
  554. package/esm/tabs/tab-bar/tab-bar.d.ts +51 -36
  555. package/esm/tabs/tab-bar/tab-bar.js +89 -57
  556. package/esm/text-field/text-field-adapter.d.ts +1 -1
  557. package/esm/text-field/text-field-adapter.js +5 -3
  558. package/esm/text-field/text-field-component-delegate.d.ts +1 -1
  559. package/esm/text-field/text-field.js +1 -1
  560. package/esm/theme/theme-utils.d.ts +2 -2
  561. package/esm/time-picker/time-picker-adapter.js +6 -8
  562. package/esm/time-picker/time-picker-component-delegate.d.ts +1 -1
  563. package/esm/time-picker/time-picker-constants.d.ts +6 -6
  564. package/esm/time-picker/time-picker-foundation.js +9 -6
  565. package/esm/time-picker/time-picker.js +6 -6
  566. package/esm/toast/toast-constants.d.ts +2 -2
  567. package/esm/toast/toast.js +7 -7
  568. package/esm/toolbar/toolbar.js +5 -5
  569. package/esm/tooltip/tooltip-constants.d.ts +1 -1
  570. package/esm/tooltip/tooltip.js +4 -4
  571. package/esm/utils/color-utils.js +1 -0
  572. package/esm/view-switcher/view-switcher.js +5 -5
  573. package/package.json +2 -4
  574. package/styles/app-bar/_mixins.scss +8 -1
  575. package/styles/card/_mixins.scss +8 -7
  576. package/styles/chips/chip/_mixins.scss +1 -0
  577. package/styles/circular-progress/_animation.scss +75 -0
  578. package/styles/circular-progress/_configuration.scss +23 -0
  579. package/styles/circular-progress/_core.scss +122 -0
  580. package/styles/circular-progress/circular-progress.scss +92 -3
  581. package/styles/circular-progress/index.scss +8 -0
  582. package/styles/core/styles/_utils.scss +63 -0
  583. package/styles/core/styles/animation/index.scss +16 -0
  584. package/styles/core/styles/border/index.scss +38 -0
  585. package/styles/core/styles/core/_config.scss +6 -0
  586. package/styles/core/styles/elevation/index.scss +61 -0
  587. package/styles/core/styles/shape/index.scss +31 -0
  588. package/styles/core/styles/spacing/index.scss +30 -0
  589. package/styles/core/styles/theme/index.scss +52 -0
  590. package/styles/core/styles/tokens/_color-palette.scss +299 -0
  591. package/styles/core/styles/tokens/animation/_tokens.scss +38 -0
  592. package/styles/core/styles/tokens/border/_tokens.scss +17 -0
  593. package/styles/core/styles/tokens/circular-progress/_tokens.scss +21 -0
  594. package/styles/core/styles/tokens/elevation/_tokens.scss +105 -0
  595. package/styles/core/styles/tokens/focus-indicator/_tokens.scss +34 -0
  596. package/styles/core/styles/tokens/index.scss +10 -0
  597. package/styles/core/styles/tokens/linear-progress/_tokens.scss +25 -0
  598. package/styles/core/styles/tokens/shape/_tokens.scss +42 -0
  599. package/styles/core/styles/tokens/slider/_tokens.scss +49 -0
  600. package/styles/core/styles/tokens/spacing/_tokens.scss +23 -0
  601. package/styles/core/styles/tokens/state-layer/_tokens.scss +23 -0
  602. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +71 -0
  603. package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +19 -0
  604. package/styles/core/styles/tokens/theme/_tokens.scss +133 -0
  605. package/styles/core/styles/tokens/typography/_tokens.scss +236 -0
  606. package/styles/core/styles/typography/index.scss +119 -0
  607. package/styles/focus-indicator/_animations.scss +36 -0
  608. package/styles/focus-indicator/_configuration.scss +23 -0
  609. package/styles/focus-indicator/_core.scss +52 -0
  610. package/styles/focus-indicator/focus-indicator.scss +55 -0
  611. package/styles/focus-indicator/index.scss +8 -0
  612. package/styles/linear-progress/_animations.scss +129 -0
  613. package/styles/linear-progress/_configuration.scss +29 -0
  614. package/styles/linear-progress/_core.scss +99 -0
  615. package/styles/linear-progress/index.scss +8 -0
  616. package/styles/linear-progress/linear-progress.scss +101 -18
  617. package/styles/list/list-item/_mixins.scss +11 -1
  618. package/styles/list/list-item/_variables.scss +9 -0
  619. package/styles/slider/_configuration.scss +61 -0
  620. package/styles/slider/_core.scss +344 -0
  621. package/styles/slider/index.scss +7 -0
  622. package/styles/slider/slider.scss +186 -14
  623. package/styles/state-layer/_configuration.scss +17 -0
  624. package/styles/state-layer/_core.scss +124 -0
  625. package/styles/state-layer/index.scss +7 -0
  626. package/styles/state-layer/state-layer.scss +38 -0
  627. package/styles/table/_mixins.scss +2 -2
  628. package/styles/tabs/tab/_configuration.scss +64 -0
  629. package/styles/tabs/tab/_core.scss +190 -0
  630. package/styles/tabs/tab/index.scss +7 -0
  631. package/styles/tabs/tab/tab.scss +182 -15
  632. package/styles/tabs/tab-bar/_configuration.scss +13 -0
  633. package/styles/tabs/tab-bar/_core.scss +60 -0
  634. package/styles/tabs/tab-bar/index.scss +7 -0
  635. package/styles/tabs/tab-bar/tab-bar.scss +66 -5
  636. package/styles/theme/_theme-dark.scss +4 -8
  637. package/styles/theme/_theme.scss +3 -36
  638. package/styles/typography/forge-typography-legacy.scss +8 -0
  639. package/styles/typography/forge-typography.scss +11 -3
  640. package/styles/utils/_mixins-core.scss +1 -1
  641. package/dist/esm/chunks/chunk.242YUZKU.js +0 -7
  642. package/dist/esm/chunks/chunk.2BNDXFI5.js +0 -7
  643. package/dist/esm/chunks/chunk.2BNDXFI5.js.map +0 -7
  644. package/dist/esm/chunks/chunk.2DXG2R3M.js +0 -73
  645. package/dist/esm/chunks/chunk.2DXG2R3M.js.map +0 -7
  646. package/dist/esm/chunks/chunk.44IJE5UL.js +0 -7
  647. package/dist/esm/chunks/chunk.44IJE5UL.js.map +0 -7
  648. package/dist/esm/chunks/chunk.47A2CN5U.js +0 -7
  649. package/dist/esm/chunks/chunk.4BEI55KI.js +0 -7
  650. package/dist/esm/chunks/chunk.4FSAAN6W.js +0 -29
  651. package/dist/esm/chunks/chunk.4FSAAN6W.js.map +0 -7
  652. package/dist/esm/chunks/chunk.4NI63FGK.js +0 -7
  653. package/dist/esm/chunks/chunk.4WPFFNLH.js +0 -7
  654. package/dist/esm/chunks/chunk.5WNKQTXX.js +0 -7
  655. package/dist/esm/chunks/chunk.6OKJPSUE.js +0 -7
  656. package/dist/esm/chunks/chunk.72AUOVCD.js +0 -7
  657. package/dist/esm/chunks/chunk.72AUOVCD.js.map +0 -7
  658. package/dist/esm/chunks/chunk.7A6MX6CS.js +0 -7
  659. package/dist/esm/chunks/chunk.7A6MX6CS.js.map +0 -7
  660. package/dist/esm/chunks/chunk.7BOXIJAM.js +0 -7
  661. package/dist/esm/chunks/chunk.7BOXIJAM.js.map +0 -7
  662. package/dist/esm/chunks/chunk.ABLKZXJ3.js +0 -12
  663. package/dist/esm/chunks/chunk.ABLKZXJ3.js.map +0 -7
  664. package/dist/esm/chunks/chunk.BTBHIIGI.js +0 -7
  665. package/dist/esm/chunks/chunk.C7AN6FMW.js +0 -7
  666. package/dist/esm/chunks/chunk.C7AN6FMW.js.map +0 -7
  667. package/dist/esm/chunks/chunk.CKYHP5MC.js +0 -7
  668. package/dist/esm/chunks/chunk.CKYHP5MC.js.map +0 -7
  669. package/dist/esm/chunks/chunk.DT7MZR5Y.js +0 -7
  670. package/dist/esm/chunks/chunk.DYNEJBYK.js +0 -7
  671. package/dist/esm/chunks/chunk.E6CYXNS2.js +0 -7
  672. package/dist/esm/chunks/chunk.EGRUD7S7.js +0 -7
  673. package/dist/esm/chunks/chunk.ESR2NHOS.js +0 -7
  674. package/dist/esm/chunks/chunk.ESR2NHOS.js.map +0 -7
  675. package/dist/esm/chunks/chunk.F3MP6AXF.js +0 -29
  676. package/dist/esm/chunks/chunk.F3MP6AXF.js.map +0 -7
  677. package/dist/esm/chunks/chunk.FVRSGKJD.js +0 -7
  678. package/dist/esm/chunks/chunk.G3ZTZ4AN.js +0 -7
  679. package/dist/esm/chunks/chunk.G3ZTZ4AN.js.map +0 -7
  680. package/dist/esm/chunks/chunk.G5MGGEFP.js +0 -7
  681. package/dist/esm/chunks/chunk.HPDBSBQJ.js +0 -29
  682. package/dist/esm/chunks/chunk.HPDBSBQJ.js.map +0 -7
  683. package/dist/esm/chunks/chunk.HV6SPRC4.js +0 -7
  684. package/dist/esm/chunks/chunk.HV6SPRC4.js.map +0 -7
  685. package/dist/esm/chunks/chunk.I5BAZWUF.js +0 -7
  686. package/dist/esm/chunks/chunk.I5BAZWUF.js.map +0 -7
  687. package/dist/esm/chunks/chunk.IGTXLDZS.js +0 -7
  688. package/dist/esm/chunks/chunk.ILRWZHH3.js +0 -29
  689. package/dist/esm/chunks/chunk.ILRWZHH3.js.map +0 -7
  690. package/dist/esm/chunks/chunk.INCKI5IX.js +0 -7
  691. package/dist/esm/chunks/chunk.J6WCFQSS.js +0 -7
  692. package/dist/esm/chunks/chunk.JHBCYICS.js +0 -7
  693. package/dist/esm/chunks/chunk.JHY2CKEH.js +0 -7
  694. package/dist/esm/chunks/chunk.K6AFP52A.js +0 -7
  695. package/dist/esm/chunks/chunk.K6AFP52A.js.map +0 -7
  696. package/dist/esm/chunks/chunk.KE6GOYAB.js +0 -7
  697. package/dist/esm/chunks/chunk.KE6GOYAB.js.map +0 -7
  698. package/dist/esm/chunks/chunk.LDN4HLF7.js +0 -7
  699. package/dist/esm/chunks/chunk.LDN4HLF7.js.map +0 -7
  700. package/dist/esm/chunks/chunk.M2QU3LUR.js +0 -7
  701. package/dist/esm/chunks/chunk.M2QU3LUR.js.map +0 -7
  702. package/dist/esm/chunks/chunk.MCIQXNKY.js +0 -7
  703. package/dist/esm/chunks/chunk.MHOS3IHQ.js +0 -7
  704. package/dist/esm/chunks/chunk.MSF55AA3.js +0 -7
  705. package/dist/esm/chunks/chunk.MSF55AA3.js.map +0 -7
  706. package/dist/esm/chunks/chunk.MXTDW27J.js +0 -7
  707. package/dist/esm/chunks/chunk.MXTDW27J.js.map +0 -7
  708. package/dist/esm/chunks/chunk.NW7NV2A2.js +0 -7
  709. package/dist/esm/chunks/chunk.NW7NV2A2.js.map +0 -7
  710. package/dist/esm/chunks/chunk.Q7LFOS2I.js +0 -7
  711. package/dist/esm/chunks/chunk.Q7LFOS2I.js.map +0 -7
  712. package/dist/esm/chunks/chunk.RB5BTA5N.js +0 -7
  713. package/dist/esm/chunks/chunk.RE5X26QT.js +0 -29
  714. package/dist/esm/chunks/chunk.RE5X26QT.js.map +0 -7
  715. package/dist/esm/chunks/chunk.RG6CDWEX.js +0 -7
  716. package/dist/esm/chunks/chunk.RG6CDWEX.js.map +0 -7
  717. package/dist/esm/chunks/chunk.ROR6JMAE.js +0 -7
  718. package/dist/esm/chunks/chunk.SAQVWOVK.js +0 -7
  719. package/dist/esm/chunks/chunk.SAQVWOVK.js.map +0 -7
  720. package/dist/esm/chunks/chunk.TWZXQQQO.js +0 -29
  721. package/dist/esm/chunks/chunk.TWZXQQQO.js.map +0 -7
  722. package/dist/esm/chunks/chunk.UF43SSFY.js +0 -7
  723. package/dist/esm/chunks/chunk.UF43SSFY.js.map +0 -7
  724. package/dist/esm/chunks/chunk.V4TCOZLK.js +0 -29
  725. package/dist/esm/chunks/chunk.V4TCOZLK.js.map +0 -7
  726. package/dist/esm/chunks/chunk.V7WKXEZC.js +0 -7
  727. package/dist/esm/chunks/chunk.V7WKXEZC.js.map +0 -7
  728. package/dist/esm/chunks/chunk.VAKNDCLP.js +0 -29
  729. package/dist/esm/chunks/chunk.VAKNDCLP.js.map +0 -7
  730. package/dist/esm/chunks/chunk.WY7DECJD.js +0 -7
  731. package/dist/esm/chunks/chunk.WY7DECJD.js.map +0 -7
  732. package/dist/esm/chunks/chunk.X5LGVZGO.js +0 -7
  733. package/dist/esm/chunks/chunk.X5LGVZGO.js.map +0 -7
  734. package/dist/esm/chunks/chunk.Y4GKBJGI.js +0 -7
  735. package/dist/esm/chunks/chunk.Y5A7RQ5M.js +0 -7
  736. package/dist/esm/chunks/chunk.Y66GSZJB.js +0 -7
  737. package/dist/esm/chunks/chunk.Y66GSZJB.js.map +0 -7
  738. package/dist/esm/chunks/chunk.Y72NANFX.js +0 -7
  739. package/dist/esm/chunks/chunk.Y72NANFX.js.map +0 -7
  740. package/dist/esm/chunks/chunk.YBEBD4CN.js +0 -7
  741. package/dist/esm/chunks/chunk.YI4JTY4T.js +0 -14
  742. package/dist/esm/chunks/chunk.YPZNIYQL.js +0 -7
  743. package/dist/esm/chunks/chunk.ZFHPUAYX.js +0 -7
  744. package/dist/typography/forge-form.css +0 -6
  745. package/styles/circular-progress/_keyframes.scss +0 -185
  746. package/styles/circular-progress/_mixins.scss +0 -320
  747. package/styles/circular-progress/_variables.scss +0 -50
  748. package/styles/linear-progress/_mixins.scss +0 -11
  749. package/styles/linear-progress/_variables.scss +0 -15
  750. package/styles/tabs/tab/_mixins.scss +0 -165
  751. package/styles/tabs/tab/_variables.scss +0 -9
  752. package/styles/tabs/tab-bar/_mixins.scss +0 -78
  753. package/styles/typography/forge-form.scss +0 -67
  754. /package/dist/esm/chunks/{chunk.JHY2CKEH.js.map → chunk.3HB22HCX.js.map} +0 -0
  755. /package/dist/esm/chunks/{chunk.IGTXLDZS.js.map → chunk.4C6KHYUO.js.map} +0 -0
  756. /package/dist/esm/chunks/{chunk.KU5CXXGS.js.map → chunk.A62DE5PD.js.map} +0 -0
  757. /package/dist/esm/chunks/{chunk.G45OZEIS.js.map → chunk.CWTV3TB3.js.map} +0 -0
  758. /package/dist/esm/chunks/{chunk.WP4QOOIS.js.map → chunk.DG4ZM3AW.js.map} +0 -0
  759. /package/dist/esm/chunks/{chunk.EGRUD7S7.js.map → chunk.EK24Y56W.js.map} +0 -0
  760. /package/dist/esm/chunks/{chunk.UT7QUGAO.js.map → chunk.FWFOOQMA.js.map} +0 -0
  761. /package/dist/esm/chunks/{chunk.ZUNZKRRK.js.map → chunk.IX25DYIM.js.map} +0 -0
  762. /package/dist/esm/chunks/{chunk.ARJ3EVVO.js.map → chunk.KVCDAZ6B.js.map} +0 -0
  763. /package/dist/esm/chunks/{chunk.H4Z4DHPA.js.map → chunk.LTT67HTW.js.map} +0 -0
  764. /package/dist/esm/chunks/{chunk.MCIQXNKY.js.map → chunk.M3QDAYD2.js.map} +0 -0
  765. /package/dist/esm/chunks/{chunk.O73S5LF3.js.map → chunk.MGLL67VO.js.map} +0 -0
  766. /package/dist/esm/chunks/{chunk.MLV25D2G.js.map → chunk.OWCYRSI3.js.map} +0 -0
  767. /package/dist/esm/chunks/{chunk.IUOBRBDZ.js.map → chunk.QOJESHEV.js.map} +0 -0
  768. /package/dist/esm/chunks/{chunk.XUW3GG46.js.map → chunk.SFCGOCQK.js.map} +0 -0
  769. /package/dist/esm/chunks/{chunk.RBAVT3XQ.js.map → chunk.XGOAYMK2.js.map} +0 -0
  770. /package/dist/esm/chunks/{chunk.AFLH5HUG.js.map → chunk.YLG6ZC5K.js.map} +0 -0
  771. /package/dist/esm/chunks/{chunk.K2C4W3CO.js.map → chunk.YX7WLO5Y.js.map} +0 -0
  772. /package/dist/esm/chunks/{chunk.DYNEJBYK.js.map → chunk.ZDD2NLGP.js.map} +0 -0
  773. /package/dist/esm/chunks/{chunk.JEN6YP2Q.js.map → chunk.ZVBZ3LGP.js.map} +0 -0
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{a as d}from"./chunk.YI4JTY4T.js";import{f as n,g as o,k as r}from"./chunk.PN26D52V.js";var s=class{constructor(a){this._labelElement=a}addLabelClass(a){n(a,this._labelElement)}removeLabelClass(a){o(a,this._labelElement)}hasLabelClass(a){return this._labelElement.classList.contains(a)}getWidth(){return this._labelElement.offsetParent!=null?this._labelElement.scrollWidth:r(this._labelElement).width}addLabelListener(a,t){this._labelElement.addEventListener(a,t)}removeLabelListener(a,t){this._labelElement.removeEventListener(a,t)}};var A={FLOATING_LABEL:"forge-floating-label",FLOAT_ABOVE:"forge-floating-label--float-above",FLOAT_ABOVE_END_KEYFRAME:"forge-floating-label--float-above-end-keyframe",UNFLOAT_ABOVE_START_KEYFRAME:"forge-floating-label--unfloat-above-start-keyframe"},e={classes:A};var l=class{constructor(a){this._adapter=a;this._floatAnimationEndHandler=()=>this._handleFloatAnimationEnd()}initialize(){this._adapter.addLabelClass(e.classes.FLOATING_LABEL),d.BLINK&&this._adapter.addLabelListener("transitionend",this._floatAnimationEndHandler)}disconnect(){this._adapter.removeLabelClass(e.classes.FLOATING_LABEL),this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE),this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME),this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME),this._floatAnimationEndHandler&&this._adapter.removeLabelListener("transitionend",this._floatAnimationEndHandler)}float(a,t=!1){a?(this._adapter.hasLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)&&this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME),requestAnimationFrame(()=>{requestAnimationFrame(()=>{(t||this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE))&&this._adapter.addLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME),this._adapter.addLabelClass(e.classes.FLOAT_ABOVE)})})):(this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE),this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME)&&(this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME),this._adapter.addLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME),requestAnimationFrame(()=>{requestAnimationFrame(()=>{this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)})})))}getWidth(){return this._adapter.getWidth()}get isFloating(){return this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE)}_handleFloatAnimationEnd(){this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE)&&!this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME)?this._adapter.addLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME):this._adapter.hasLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)&&this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)}};var _=class{constructor(a){this._labelElement=a;this._foundation=new l(new s(this._labelElement)),this._foundation.initialize()}get isFloating(){return this._foundation.isFloating}destroy(){this._foundation.disconnect(),this._labelElement=void 0}float(a,t=!1){this._foundation.float(a,t)}getWidth(){return this._foundation.getWidth()}};export{s as a,e as b,l as c,_ as d};
7
- //# sourceMappingURL=chunk.ZUNZKRRK.js.map
6
+ import{a as d}from"./chunk.MGLWXAZO.js";import{f as n,g as o,k as r}from"./chunk.K7FPXAFS.js";var s=class{constructor(a){this._labelElement=a}addLabelClass(a){n(a,this._labelElement)}removeLabelClass(a){o(a,this._labelElement)}hasLabelClass(a){return this._labelElement.classList.contains(a)}getWidth(){return this._labelElement.offsetParent!=null?this._labelElement.scrollWidth:r(this._labelElement).width}addLabelListener(a,t){this._labelElement.addEventListener(a,t)}removeLabelListener(a,t){this._labelElement.removeEventListener(a,t)}};var A={FLOATING_LABEL:"forge-floating-label",FLOAT_ABOVE:"forge-floating-label--float-above",FLOAT_ABOVE_END_KEYFRAME:"forge-floating-label--float-above-end-keyframe",UNFLOAT_ABOVE_START_KEYFRAME:"forge-floating-label--unfloat-above-start-keyframe"},e={classes:A};var l=class{constructor(a){this._adapter=a;this._floatAnimationEndHandler=()=>this._handleFloatAnimationEnd()}initialize(){this._adapter.addLabelClass(e.classes.FLOATING_LABEL),d.BLINK&&this._adapter.addLabelListener("transitionend",this._floatAnimationEndHandler)}disconnect(){this._adapter.removeLabelClass(e.classes.FLOATING_LABEL),this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE),this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME),this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME),this._floatAnimationEndHandler&&this._adapter.removeLabelListener("transitionend",this._floatAnimationEndHandler)}float(a,t=!1){a?(this._adapter.hasLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)&&this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME),requestAnimationFrame(()=>{requestAnimationFrame(()=>{(t||this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE))&&this._adapter.addLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME),this._adapter.addLabelClass(e.classes.FLOAT_ABOVE)})})):(this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE),this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME)&&(this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME),this._adapter.addLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME),requestAnimationFrame(()=>{requestAnimationFrame(()=>{this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)})})))}getWidth(){return this._adapter.getWidth()}get isFloating(){return this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE)}_handleFloatAnimationEnd(){this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE)&&!this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME)?this._adapter.addLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME):this._adapter.hasLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)&&this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)}};var _=class{constructor(a){this._labelElement=a;this._foundation=new l(new s(this._labelElement)),this._foundation.initialize()}get isFloating(){return this._foundation.isFloating}destroy(){this._foundation.disconnect(),this._labelElement=void 0}float(a,t=!1){this._foundation.float(a,t)}getWidth(){return this._foundation.getWidth()}};export{s as a,e as b,l as c,_ as d};
7
+ //# sourceMappingURL=chunk.IX25DYIM.js.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a,d as M}from"./chunk.TK5I4RHF.js";import{a as C}from"./chunk.LEVFMI2Q.js";import{a as y}from"./chunk.MGLWXAZO.js";import{a as d}from"./chunk.NVUMRW44.js";import{a as O}from"./chunk.BKL2BAYW.js";import{a as x,b as D}from"./chunk.DXN7ZOH3.js";import{a as T,e as R,f as E,k as N}from"./chunk.MVTBJPO2.js";import{l as A,s as I,t as L}from"./chunk.K7FPXAFS.js";import{b as m,d as f,k as _}from"./chunk.J2M2MXP2.js";import{a as v,d as l}from"./chunk.M3QDAYD2.js";var Y=`${D}stepper`,F={STEPPER:"forge-stepper",LINEAR:"forge-stepper--linear",ALTERNATIVE:"forge-stepper--alternative",CLUSTERED:"forge-stepper--clustered",FIXED:"forge-stepper--fixed",ALIGN_LEFT:"forge-stepper--align-left",ALIGN_CENTER:"forge-stepper--align-center",ALIGN_RIGHT:"forge-stepper--align-right",VERTICAL:"forge-stepper--vertical",FOCUSED:"forge-stepper--focused"},K={STEPPER:`.${F.STEPPER}`},k={SELECTED_INDEX:"selected-index",LINEAR:"linear",ALTERNATIVE:"alternative",LAYOUT_MODE:"layout-mode",LAYOUT_ALIGN:"layout-align",DISABLED:"disabled",VERTICAL:"vertical"},n={ARROW_LEFT_KEY:"ArrowLeft",ARROW_RIGHT_KEY:"ArrowRight",ARROW_UP_KEY:"ArrowUp",ARROW_DOWN_KEY:"ArrowDown",END_KEY:"End",ENTER_KEY:"Enter",HOME_KEY:"Home",SPACE_KEY:"Space",TAB_KEY:"Tab"},u={ARROW_LEFT_KEYCODE:37,ARROW_RIGHT_KEYCODE:39,END_KEYCODE:35,HOME_KEYCODE:36,ENTER_KEYCODE:13,SPACE_KEYCODE:32},P=[n.ARROW_LEFT_KEY,n.ARROW_RIGHT_KEY,n.ARROW_DOWN_KEY,n.ARROW_UP_KEY,n.END_KEY,n.HOME_KEY,n.ENTER_KEY,n.SPACE_KEY,n.TAB_KEY],H={[u.ARROW_LEFT_KEYCODE]:n.ARROW_LEFT_KEY,[u.ARROW_RIGHT_KEYCODE]:n.ARROW_RIGHT_KEY,[u.END_KEYCODE]:n.END_KEY,[u.HOME_KEYCODE]:n.HOME_KEY,[u.ENTER_KEYCODE]:n.ENTER_KEY,[u.SPACE_KEYCODE]:n.SPACE_KEY},i={elementName:Y,classes:F,selectors:K,attributes:k,numbers:u,strings:n,ACCEPTABLE_KEYS:P,KEYCODE_MAP:H};var c=class S{static createStepElement(t,e,s){var p,g;let o=document.createElement(a.elementName);return o.index=e,o.completed=t.completed||!1,o.editable=t.editable||!1,o.selected=s.selectedIndex===e,o.alternative=s.alternative,o.error=t.error||!1,o.disabled=t.disabled||!1,o.vertical=(g=(p=t.vertical)!=null?p:s.vertical)!=null?g:!1,o.ignoreUserExpansion=t.ignoreUserExpansion||!1,o.expanded=t.expanded||!1,s.linear&&e>s.selectedIndex&&(o.tabIndex=-1),o.textContent=t.label,t.optionalLabel&&o.appendChild(this.createStepOptionalLabel(t.optionalLabel)),o}static createStepOptionalLabel(t){let e=document.createElement("span");return e.slot="optional",e.textContent=t||"",e}static setLinearState(t,e){let s=t.classList.contains(i.classes.LINEAR);s&&!e&&(t.classList.remove(i.classes.LINEAR),s=!1),!s&&e&&t.classList.add(i.classes.LINEAR)}static setAlternativeState(t,e){let s=t.classList.contains(i.classes.ALTERNATIVE);s&&!e&&(t.classList.remove(i.classes.ALTERNATIVE),s=!1),!s&&e&&t.classList.add(i.classes.ALTERNATIVE)}static setLayoutMode(t,e){switch(e){case"clustered":t.classList.contains(i.classes.FIXED)&&t.classList.remove(i.classes.FIXED),t.classList.add(i.classes.CLUSTERED);break;case"fixed":t.classList.contains(i.classes.CLUSTERED)&&t.classList.remove(i.classes.CLUSTERED),t.classList.add(i.classes.FIXED);break}}static setLayoutAlign(t,e){switch(t.classList.contains(i.classes.ALIGN_LEFT)&&t.classList.remove(i.classes.ALIGN_LEFT),t.classList.contains(i.classes.ALIGN_CENTER)&&t.classList.remove(i.classes.ALIGN_CENTER),t.classList.contains(i.classes.ALIGN_RIGHT)&&t.classList.remove(i.classes.ALIGN_RIGHT),e){case"left":t.classList.add(i.classes.ALIGN_LEFT);break;case"center":t.classList.add(i.classes.ALIGN_CENTER);break;case"right":t.classList.add(i.classes.ALIGN_RIGHT);break}}static createSteps(t){let e=[];return t.steps.forEach((s,o)=>{let p=S.createStepElement(s,o,t);e.push(p)}),e[0].setAttribute(a.attributes.FIRST,""),e[e.length-1].setAttribute(a.attributes.LAST,""),e}};var h=class extends O{constructor(e){super(e);this._rootElement=E(e,i.selectors.STEPPER),this._slotElement=this._rootElement.querySelector("slot")}initializeAccessibility(){this._component.hasAttribute("role")||this._component.setAttribute("role","tablist")}patchSafari(){this._applyToSteps(e=>e.setAttribute("safari",""))}addSlotChangeListener(e){this._slotElement.addEventListener("slotchange",e)}removeSlotChangeListener(e){this._slotElement.addEventListener("slotchange",e)}getLastStep(){let e=this._getSteps();return e.item(e.length-1)}setSelected(e){this._getSteps().forEach(s=>{s===e?s.selected=!0:s.selected=!1})}assignIndices(){this._getSteps().forEach((s,o)=>{s.index=o})}assignFirstLastStep(){let e=this._getSteps();e&&e.length>1&&(e[0].setAttribute("first",""),e[e.length-1].setAttribute("last",""))}setLayoutAlign(e){c.setLayoutAlign(this._rootElement,e)}setLayoutMode(e){c.setLayoutMode(this._rootElement,e),this._applyToSteps(s=>s.setAttribute(a.attributes.CLUSTERED,""))}setAlternativeState(e){c.setAlternativeState(this._rootElement,e),this._applyToSteps(s=>s.alternative=e)}setVertical(e){L(this._rootElement,e,i.classes.VERTICAL),this._applyToSteps(s=>s.vertical=e)}setLinearState(e){c.setLinearState(this._rootElement,e)}removeRootListener(e,s){this._rootElement.removeEventListener("click",s)}addRootListener(e,s){this._rootElement.addEventListener(e,s)}setSelectedByIndex(e){this._applyToSteps(s=>{s.selected&&s.index!==e&&(s.selected=!1),s.index===e&&(s.selected=!0)})}applyConfiguredSteps(e){this._component.querySelectorAll(a.elementName).forEach(s=>{this._component.removeChild(s)}),e.forEach(s=>this._component.appendChild(s))}tryGetFocusedStep(){let e,s=I(this._component.ownerDocument);return this._applyToSteps(o=>{s===E(o,a.selectors.STEP)&&(e=o)}),e}getFocusedOrSelectedStep(){let e=this.tryGetFocusedStep();return e||(e=this._getSteps()[0],e.focus()),e}getStep(e){let s=0,o=this._getSteps();return e<0?o.item(o.length-1):(o.length>e&&(s=e),o.item(s))}toggleDisabled(e){this._applyToSteps(s=>s.disabled=e)}toggleRootClass(e,s){L(this._rootElement,s,e)}isStepperFocused(){return this._rootElement.classList.contains(i.classes.FOCUSED)}setStepsListener(e,s){this._applyToSteps(o=>o.addEventListener(e,s))}removeStepsListener(e,s){this._applyToSteps(o=>o.removeEventListener(e,s))}_applyToSteps(e){this._getSteps().forEach(e)}_getSteps(){return this._component.querySelectorAll(a.elementName)}};var b=class{constructor(t){this._adapter=t;this._steps=[];this._selectedIndex=0;this._linear=!1;this._alternative=!1;this._layoutMode="fixed";this._layoutAlign="center";this._initialize=!1;this._clickListener=e=>this._handleClick(e),this._keyListener=e=>this._onKeydown(e),this._stepFocusListener=()=>this._onStepFocus(),this._stepBlurListener=()=>this._onStepBlur(),this._stepExpandedContentFocusInListener=e=>this._onStepExpandedContentFocusIn(e),this._stepExpandedContentFocusOutListener=e=>this._onStepExpandedContentFocusOut(e),this._slotChangeListener=e=>this._onSlotChange(e)}initialize(){this._adapter.initializeAccessibility(),this._adapter.assignIndices(),this._adapter.setLinearState(this._linear),this._adapter.setAlternativeState(this._alternative),this._adapter.setLayoutAlign(this._layoutAlign),this._adapter.setLayoutMode(this._layoutMode),this._adapter.addRootListener("click",this._clickListener),this._adapter.addHostListener("keydown",this._keyListener),this._adapter.assignFirstLastStep(),this._adapter.addRootListener(a.events.EXPANDED_CONTENT_FOCUSIN,this._stepExpandedContentFocusInListener),this._adapter.addRootListener(a.events.EXPANDED_CONTENT_FOCUSOUT,this._stepExpandedContentFocusOutListener),this._applySelectedIndex(),this._patchBrowser(),this._adapter.setStepsListener("blur",this._stepBlurListener),this._adapter.setStepsListener("focus",this._stepFocusListener),this._initialize||this._adapter.addSlotChangeListener(this._slotChangeListener),this._initialize=!0}disconnect(){this._adapter.removeRootListener("click",this._clickListener),this._adapter.removeHostListener("keydown",this._keyListener),this._adapter.removeSlotChangeListener(this._slotChangeListener),this._adapter.removeStepsListener("blur",this._stepBlurListener),this._adapter.removeStepsListener("focus",this._stepFocusListener)}get steps(){return JSON.parse(JSON.stringify(this._steps))}set steps(t){if(Array.isArray(t)&&t.length>0)this._steps=[...t.map(e=>v({},e))];else{this._steps=[];return}this._renderConfiguration()}get selectedIndex(){return this._selectedIndex}set selectedIndex(t){if(!m(t))t=0;else if(!f(t)){let e=Number(t);t=isNaN(e)?0:e}this._selectedIndex!==t&&(this._selectedIndex=t,this._adapter.setHostAttribute(i.attributes.SELECTED_INDEX,this._selectedIndex.toString()),this._applySelectedIndex())}get linear(){return this._linear}set linear(t){t=!!t,this._linear!==t&&(this._linear=t,this._adapter.setLinearState(this._linear),this._adapter.setHostAttribute(i.attributes.LINEAR,this._linear.toString()))}get alternative(){return this._alternative}set alternative(t){t=!!t,this._alternative!==t&&(this._alternative=t,this._adapter.setAlternativeState(this._alternative),this._adapter.setHostAttribute(i.attributes.ALTERNATIVE,this._alternative.toString()))}get layoutMode(){return this._layoutMode}set layoutMode(t){/^(fixed|clustered)$/.test(t)&&this._layoutMode!==t&&(this._layoutMode=t,this._adapter.setHostAttribute(i.attributes.LAYOUT_MODE,this._layoutMode),this._adapter.setLayoutMode(this._layoutMode))}get layoutAlign(){return this._layoutAlign}set layoutAlign(t){/^(left|center|right)$/.test(t)&&this._layoutAlign!==t&&(this._layoutAlign=t,this._adapter.setLayoutAlign(this._layoutAlign),this._adapter.setHostAttribute(i.attributes.LAYOUT_ALIGN,this._layoutAlign))}get disabled(){return this._disabled}set disabled(t){t!==this._disabled&&(this._disabled=t,this._applyDisabled())}get vertical(){return this._vertical}set vertical(t){t!==this._vertical&&(this._vertical=t,this._applyVertical(),this._adapter.toggleHostAttribute(i.attributes.VERTICAL,this._vertical))}_applyVertical(){this._adapter.setVertical(this._vertical)}_applyDisabled(){this._disabled?this._adapter.setHostAttribute(i.attributes.DISABLED,"disabled"):this._adapter.removeHostAttribute(i.attributes.DISABLED),this._adapter.toggleDisabled(this._disabled)}_applySelectedIndex(){this._adapter.setSelectedByIndex(this._selectedIndex)}_handleClick(t){if(t.preventDefault(),this._linear)return;let e=C(t),s=e.find(p=>p.classList&&p.classList.contains(a.classes.STEP)),o=e.find(p=>p.localName===a.elementName);s&&o&&!o.selected&&!o.disabled&&this._adapter.emitHostEvent(a.events.SELECT,o.index,!0,!0)&&(this._adapter.setSelected(o),this.selectedIndex=o.index)}_renderConfiguration(){let t=c.createSteps({steps:this._steps,vertical:this._vertical,selectedIndex:this._selectedIndex,alternative:this._alternative,layoutAlign:this._layoutAlign,layoutMode:this._layoutMode,linear:this._linear});this.disconnect(),this._adapter.applyConfiguredSteps(t),this.initialize()}_onKeydown(t){if(this._linear)return;let e=this._getKeyFromEvent(t);if(!this._adapter.isStepperFocused()||!e)return;[a.strings.HOME_KEY,a.strings.END_KEY,a.strings.ARROW_DOWN_KEY,i.strings.ARROW_UP_KEY].includes(e)&&t.preventDefault();let s=this._vertical?this._determineVerticalMoveTarget(e):this._determineMoveTarget(e);s&&this._moveFocusTo(s)}_moveFocusTo(t){E(t,a.selectors.STEP).focus()}_getKeyFromEvent(t){return i.ACCEPTABLE_KEYS.includes(t.key)?t.key:i.KEYCODE_MAP[t.keyCode]}_determineMoveTarget(t){let e=this._adapter.getFocusedOrSelectedStep();if(e)switch(t){case i.strings.ARROW_RIGHT_KEY:return this._adapter.getStep(e.index+1);case i.strings.ARROW_LEFT_KEY:return this._adapter.getStep(e.index-1);case i.strings.HOME_KEY:return this._adapter.getStep(0);case i.strings.END_KEY:return this._adapter.getLastStep()}return e}_determineVerticalMoveTarget(t){let e=this._adapter.getFocusedOrSelectedStep();if(e)switch(t){case i.strings.ARROW_DOWN_KEY:return this._adapter.getStep(e.index+1);case i.strings.ARROW_UP_KEY:return this._adapter.getStep(e.index-1);case i.strings.HOME_KEY:return this._adapter.getStep(0);case i.strings.END_KEY:return this._adapter.getLastStep()}return e}_onSlotChange(t){this.disconnect(),this.initialize()}_onStepExpandedContentFocusIn(t){let e=this._adapter.getStep(t.detail.index+1);e&&e.setStepTabIndex(0),t.detail.setStepTabIndex(0)}_onStepExpandedContentFocusOut(t){let e=t.target,s=this._adapter.getStep(e.index+1);s&&s.setStepTabIndex(-1),e.setStepTabIndex(-1)}_onStepFocus(){this._adapter.toggleRootClass(i.classes.FOCUSED,!0)}_onStepBlur(){this._adapter.toggleRootClass(i.classes.FOCUSED,!1)}_patchBrowser(){new y().SAFARI()&&this._adapter.patchSafari()}};var w='<template><div class="forge-stepper" part="root"><slot></slot></div></template>',B=".forge-stepper{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;white-space:nowrap;overflow:hidden}.forge-stepper:not(.forge-stepper--vertical) ::slotted(*){display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;min-width:112px}.forge-stepper--fixed ::slotted(*){-webkit-box-flex:1;flex:1}.forge-stepper--alternative{-webkit-box-align:start;align-items:flex-start}.forge-stepper--alternative ::slotted(*){min-width:160px}.forge-stepper--align-left{-webkit-box-pack:start;justify-content:flex-start}.forge-stepper--align-center{-webkit-box-pack:center;justify-content:center}.forge-stepper--align-right{-webkit-box-pack:end;justify-content:flex-end}:host{display:block}:host([hidden]){display:none}:host([vertical]) .forge-stepper{display:unset;-webkit-box-align:unset;align-items:unset;white-space:unset;overflow:unset}",r=class extends N{constructor(){super();R(this,w,B),this._foundation=new b(new h(this))}static get observedAttributes(){return[i.attributes.SELECTED_INDEX,i.attributes.LINEAR,i.attributes.ALTERNATIVE,i.attributes.LAYOUT_MODE,i.attributes.LAYOUT_ALIGN,i.attributes.DISABLED,i.attributes.VERTICAL]}async connectedCallback(){await A(this),this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,s,o){switch(e){case i.attributes.SELECTED_INDEX:this.selectedIndex=Number(o)||0;break;case i.attributes.LINEAR:this.linear=_(o);break;case i.attributes.ALTERNATIVE:this.alternative=_(o);break;case i.attributes.LAYOUT_MODE:this.layoutMode=o;break;case i.attributes.LAYOUT_ALIGN:this.layoutAlign=o;break;case i.attributes.DISABLED:this.disabled=_(o);break;case i.attributes.VERTICAL:this.vertical=_(o);break}}};l([d()],r.prototype,"steps",2),l([d()],r.prototype,"selectedIndex",2),l([d()],r.prototype,"linear",2),l([d()],r.prototype,"alternative",2),l([d()],r.prototype,"layoutMode",2),l([d()],r.prototype,"layoutAlign",2),l([d()],r.prototype,"disabled",2),l([d()],r.prototype,"vertical",2),r=l([x({name:i.elementName,dependencies:[M]})],r);function Re(){T(r)}export{i as a,h as b,b as c,r as d,Re as e};
7
+ //# sourceMappingURL=chunk.JIKSKUDW.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/stepper/stepper/stepper-constants.ts", "../../src/stepper/core/stepper-utils.ts", "../../src/stepper/stepper/stepper-adapter.ts", "../../src/stepper/stepper/stepper-foundation.ts", "../../src/stepper/stepper/stepper.ts", "../../src/stepper/stepper/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}stepper`;\n\nconst classes = {\n STEPPER: 'forge-stepper',\n LINEAR: 'forge-stepper--linear',\n ALTERNATIVE: 'forge-stepper--alternative',\n CLUSTERED: 'forge-stepper--clustered',\n FIXED: 'forge-stepper--fixed',\n ALIGN_LEFT: 'forge-stepper--align-left',\n ALIGN_CENTER: 'forge-stepper--align-center',\n ALIGN_RIGHT: 'forge-stepper--align-right',\n VERTICAL: 'forge-stepper--vertical',\n FOCUSED: 'forge-stepper--focused'\n};\n\nconst selectors = {\n STEPPER: `.${classes.STEPPER}`\n};\n\nconst attributes = {\n SELECTED_INDEX: 'selected-index',\n LINEAR: 'linear',\n ALTERNATIVE: 'alternative',\n LAYOUT_MODE: 'layout-mode',\n LAYOUT_ALIGN: 'layout-align',\n DISABLED: 'disabled',\n VERTICAL: 'vertical'\n};\n\nconst strings = {\n ARROW_LEFT_KEY: 'ArrowLeft',\n ARROW_RIGHT_KEY: 'ArrowRight',\n ARROW_UP_KEY: 'ArrowUp',\n ARROW_DOWN_KEY: 'ArrowDown',\n END_KEY: 'End',\n ENTER_KEY: 'Enter',\n HOME_KEY: 'Home',\n SPACE_KEY: 'Space',\n TAB_KEY: 'Tab'\n};\n\nconst numbers = {\n ARROW_LEFT_KEYCODE: 37,\n ARROW_RIGHT_KEYCODE: 39,\n END_KEYCODE: 35,\n HOME_KEYCODE: 36,\n ENTER_KEYCODE: 13,\n SPACE_KEYCODE: 32\n};\n\nconst ACCEPTABLE_KEYS = [\n strings.ARROW_LEFT_KEY,\n strings.ARROW_RIGHT_KEY,\n strings.ARROW_DOWN_KEY,\n strings.ARROW_UP_KEY,\n strings.END_KEY,\n strings.HOME_KEY,\n strings.ENTER_KEY,\n strings.SPACE_KEY,\n strings.TAB_KEY\n];\n\nconst KEYCODE_MAP = {\n [numbers.ARROW_LEFT_KEYCODE]: strings.ARROW_LEFT_KEY,\n [numbers.ARROW_RIGHT_KEYCODE]: strings.ARROW_RIGHT_KEY,\n [numbers.END_KEYCODE]: strings.END_KEY,\n [numbers.HOME_KEYCODE]: strings.HOME_KEY,\n [numbers.ENTER_KEYCODE]: strings.ENTER_KEY,\n [numbers.SPACE_KEYCODE]: strings.SPACE_KEY\n};\n\nexport const STEPPER_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n numbers,\n strings,\n ACCEPTABLE_KEYS,\n KEYCODE_MAP\n};\n\nexport interface IStepConfiguration {\n label: string;\n optionalLabel?: string;\n editable?: boolean;\n completed?: boolean;\n error?: boolean;\n disabled?: boolean;\n vertical?: boolean;\n expanded?: boolean;\n ignoreUserExpansion?: boolean;\n}\n\nexport interface IStepperConfiguration {\n steps: IStepConfiguration[];\n selectedIndex: number;\n linear: boolean;\n alternative: boolean;\n layoutMode: StepperLayoutMode;\n layoutAlign: StepperLayoutAlign;\n vertical?: boolean;\n}\n\nexport type StepperLayoutMode = 'fixed' | 'clustered';\nexport type StepperLayoutAlign = 'left' | 'center' | 'right';\n", "import { IStepComponent, STEP_CONSTANTS } from '../step';\nimport { STEPPER_CONSTANTS, IStepConfiguration, IStepperConfiguration, StepperLayoutAlign, StepperLayoutMode } from '../stepper/stepper-constants';\n\nexport class StepperUtils {\n /**\n * Creates a step element using the provided configuration.\n * @param {IStepConfiguration} step The step configuration\n * @param {number} index The index of the step.\n * @param {number} activeStepIndex The currently active step index.\n * @param {boolean} linear Whether the stepper is in linear mode or not.\n */\n public static createStepElement(step: IStepConfiguration, index: number, stepperConfig: IStepperConfiguration): IStepComponent {\n const stepElement = document.createElement(STEP_CONSTANTS.elementName);\n\n stepElement.index = index;\n stepElement.completed = step.completed || false;\n stepElement.editable = step.editable || false;\n stepElement.selected = stepperConfig.selectedIndex === index;\n stepElement.alternative = stepperConfig.alternative;\n stepElement.error = step.error || false;\n stepElement.disabled = step.disabled || false;\n stepElement.vertical = step.vertical ?? stepperConfig.vertical ?? false;\n stepElement.ignoreUserExpansion = step.ignoreUserExpansion || false;\n stepElement.expanded = step.expanded || false;\n\n if (stepperConfig.linear && index > stepperConfig.selectedIndex) {\n stepElement.tabIndex = -1;\n }\n\n stepElement.textContent = step.label;\n\n if (step.optionalLabel) {\n stepElement.appendChild(this.createStepOptionalLabel(step.optionalLabel));\n }\n\n return stepElement;\n }\n\n /**\n * Creates the step label element using the provided configuration.\n * @param {IStepConfiguration} step The step configuration.\n */\n public static createStepOptionalLabel(labelText: string): HTMLElement {\n const label = document.createElement('span');\n label.slot = 'optional';\n label.textContent = labelText || '';\n return label;\n }\n\n /**\n * Sets the stepper to the provided linear state.\n * @param {HTMLElement} stepperElement The stepper element.\n * @param {boolean} isLinear Whether the stepper is in linear mode or not.\n */\n public static setLinearState(stepperElement: HTMLElement, isLinear: boolean): void {\n let hasLinearClass = stepperElement.classList.contains(STEPPER_CONSTANTS.classes.LINEAR);\n\n if (hasLinearClass && !isLinear) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.LINEAR);\n hasLinearClass = false;\n }\n\n if (!hasLinearClass && isLinear) {\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.LINEAR);\n }\n }\n\n /**\n * Sets the stepper to the provided label state.\n * @param {HTMLElement} stepperElement The stepper element.\n * @param {boolean} isAlternative Whether the stepper is in alternative mode or not.\n */\n public static setAlternativeState(stepperElement: HTMLElement, isAlternative: boolean): void {\n let hasAlternativeClass = stepperElement.classList.contains(STEPPER_CONSTANTS.classes.ALTERNATIVE);\n\n if (hasAlternativeClass && !isAlternative) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.ALTERNATIVE);\n hasAlternativeClass = false;\n }\n\n if (!hasAlternativeClass && isAlternative) {\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.ALTERNATIVE);\n }\n }\n\n /**\n * Sets the stepper layout mode.\n * @param {HTMLElement} stepperElement The stepper element.\n * @param {StepperLayoutMode} mode The layout mode.\n */\n public static setLayoutMode(stepperElement: HTMLElement, mode: StepperLayoutMode): void {\n switch (mode) {\n case 'clustered':\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.FIXED)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.FIXED);\n }\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.CLUSTERED);\n break;\n case 'fixed':\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.CLUSTERED)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.CLUSTERED);\n }\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.FIXED);\n break;\n }\n }\n\n /**\n * Sets the stepper layout alignment.\n * @param {HTMLElement} stepperElement The stepper element.\n * @param {StepperLayoutAlign} mode The layout alignment.\n */\n public static setLayoutAlign(stepperElement: HTMLElement, mode: StepperLayoutAlign): void {\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.ALIGN_LEFT)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.ALIGN_LEFT);\n }\n\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.ALIGN_CENTER)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.ALIGN_CENTER);\n }\n\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.ALIGN_RIGHT)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.ALIGN_RIGHT);\n }\n\n switch (mode) {\n case 'left':\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.ALIGN_LEFT);\n break;\n case 'center':\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.ALIGN_CENTER);\n break;\n case 'right':\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.ALIGN_RIGHT);\n break;\n }\n }\n\n /**\n * Creates a stepper with all of its step elements.\n * @param {IStepperConfiguration} stepperConfiguration The stepper configuration.\n */\n public static createSteps(stepperConfiguration: IStepperConfiguration): IStepComponent[] {\n const steps: IStepComponent[] = [];\n\n stepperConfiguration.steps.forEach((step, index) => {\n const stepElement = StepperUtils.createStepElement(step, index, stepperConfiguration);\n steps.push(stepElement);\n });\n\n steps[0].setAttribute(STEP_CONSTANTS.attributes.FIRST, '');\n steps[steps.length - 1].setAttribute(STEP_CONSTANTS.attributes.LAST, '');\n\n return steps;\n }\n}\n", "import { getShadowElement, getActiveElement, toggleClass } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base';\nimport { StepperUtils } from '../core/stepper-utils';\nimport { IStepComponent } from '../step/step';\nimport { STEP_CONSTANTS } from '../step/step-constants';\nimport { IStepperComponent } from './stepper';\nimport { StepperLayoutAlign, StepperLayoutMode, STEPPER_CONSTANTS } from './stepper-constants';\n\nexport interface IStepperAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n toggleDisabled(disabled: boolean): void;\n patchSafari(): void;\n getFocusedOrSelectedStep(): IStepComponent;\n applyConfiguredSteps(steps: IStepComponent[]): void;\n setLinearState(linear: boolean): void;\n setLayoutAlign(layoutAlign: StepperLayoutAlign): void;\n setLayoutMode(layoutMode: StepperLayoutMode): void;\n setAlternativeState(alternative: boolean): void;\n setVertical(vertical: boolean): void;\n assignIndices(): void;\n addRootListener(event: string, listener: EventListener): void;\n removeRootListener(event: string, listener: EventListener): void;\n setSelected(step: IStepComponent): void;\n setSelectedByIndex(index: number): void;\n assignFirstLastStep(): void;\n getStep(index: number): IStepComponent;\n getLastStep(): IStepComponent;\n addSlotChangeListener(listener: EventListener): void;\n removeSlotChangeListener(listener: EventListener): void;\n toggleRootClass(className: string, show: boolean): void;\n isStepperFocused(): boolean;\n setStepsListener(event: string, listener: EventListener): void;\n removeStepsListener(event: string, listener: EventListener): void;\n}\n\nexport class StepperAdapter extends BaseAdapter<IStepperComponent> implements IStepperAdapter {\n private _rootElement: HTMLElement;\n private _slotElement: HTMLSlotElement;\n\n constructor(component: IStepperComponent) {\n super(component);\n this._rootElement = getShadowElement(component, STEPPER_CONSTANTS.selectors.STEPPER);\n this._slotElement = this._rootElement.querySelector('slot') as HTMLSlotElement;\n }\n\n public initializeAccessibility(): void {\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'tablist');\n }\n }\n\n public patchSafari(): void {\n this._applyToSteps(s => s.setAttribute('safari', ''));\n }\n\n public addSlotChangeListener(listener: EventListener): void {\n this._slotElement.addEventListener('slotchange', listener);\n }\n public removeSlotChangeListener(listener: EventListener): void {\n this._slotElement.addEventListener('slotchange', listener);\n }\n\n public getLastStep(): IStepComponent {\n const steps = this._getSteps();\n return steps.item(steps.length - 1);\n }\n\n public setSelected(step: IStepComponent): void {\n this._getSteps().forEach(s => {\n if (s === step) {\n s.selected = true;\n } else {\n s.selected = false;\n }\n });\n }\n\n public assignIndices(): void {\n const steps = this._getSteps();\n\n steps.forEach((tab, index) => {\n tab.index = index;\n });\n }\n\n public assignFirstLastStep(): void {\n const steps = this._getSteps();\n if (steps && steps.length > 1) {\n steps[0].setAttribute('first', '');\n steps[steps.length - 1].setAttribute('last', '');\n }\n }\n\n public setLayoutAlign(layoutAlign: StepperLayoutAlign): void {\n StepperUtils.setLayoutAlign(this._rootElement, layoutAlign);\n }\n public setLayoutMode(layoutMode: StepperLayoutMode): void {\n StepperUtils.setLayoutMode(this._rootElement, layoutMode);\n this._applyToSteps(s => s.setAttribute(STEP_CONSTANTS.attributes.CLUSTERED, ''));\n }\n public setAlternativeState(alternative: boolean): void {\n StepperUtils.setAlternativeState(this._rootElement, alternative);\n this._applyToSteps(step => step.alternative = alternative);\n }\n\n public setVertical(vertical: boolean): void {\n toggleClass(this._rootElement, vertical, STEPPER_CONSTANTS.classes.VERTICAL);\n this._applyToSteps(step => step.vertical = vertical);\n }\n\n public setLinearState(linear: boolean): void {\n StepperUtils.setLinearState(this._rootElement, linear);\n }\n\n public removeRootListener(event: string, listener: EventListener): void {\n this._rootElement.removeEventListener('click', listener);\n }\n public addRootListener(event: string, listener: EventListener): void {\n this._rootElement.addEventListener(event, listener);\n }\n\n public setSelectedByIndex(index: number): void {\n this._applyToSteps(step => {\n if (step.selected && step.index !== index) {\n step.selected = false;\n }\n\n if (step.index === index) {\n step.selected = true;\n }\n });\n }\n\n public applyConfiguredSteps(steps: IStepComponent[]): void {\n this._component.querySelectorAll(STEP_CONSTANTS.elementName).forEach(n => {\n this._component.removeChild(n);\n });\n\n steps.forEach(s => this._component.appendChild(s));\n }\n\n public tryGetFocusedStep(): IStepComponent | undefined {\n let focusedStep: IStepComponent = undefined as any;\n const activeElement = getActiveElement(this._component.ownerDocument);\n this._applyToSteps(step => {\n if (activeElement === getShadowElement(step, STEP_CONSTANTS.selectors.STEP)) {\n focusedStep = step;\n }\n });\n\n return focusedStep;\n }\n\n public getFocusedOrSelectedStep(): IStepComponent {\n let focusedStep = this.tryGetFocusedStep();\n\n if (!focusedStep) {\n focusedStep = this._getSteps()[0];\n focusedStep.focus();\n }\n\n return focusedStep;\n }\n\n public getStep(index: number): IStepComponent {\n let realIndex = 0;\n const steps = this._getSteps();\n\n if (index < 0) {\n return steps.item(steps.length - 1);\n }\n\n if (steps.length > index) {\n realIndex = index;\n }\n return steps.item(realIndex);\n }\n\n public toggleDisabled(disabled: boolean): void {\n this._applyToSteps(s => s.disabled = disabled);\n }\n\n public toggleRootClass(className: string, show: boolean): void{\n toggleClass(this._rootElement, show, className);\n }\n\n public isStepperFocused(): boolean {\n return this._rootElement.classList.contains(STEPPER_CONSTANTS.classes.FOCUSED);\n }\n\n public setStepsListener(event: string, listener: EventListener): void {\n this._applyToSteps(s => s.addEventListener(event, listener));\n }\n\n public removeStepsListener(event: string, listener: EventListener): void {\n this._applyToSteps(s => s.removeEventListener(event, listener));\n }\n\n private _applyToSteps(action: (step: IStepComponent, index?: number) => void): void {\n this._getSteps().forEach(action);\n }\n\n private _getSteps(): NodeListOf<IStepComponent> {\n return this._component.querySelectorAll<IStepComponent>(STEP_CONSTANTS.elementName);\n }\n}\n", "import { getEventPath, getShadowElement, ICustomElementFoundation, isDefined, isNumber, Platform } from '@tylertech/forge-core';\nimport { STEP_CONSTANTS } from '../step/step-constants';\nimport { StepperUtils } from '../core/stepper-utils';\nimport { IStepComponent } from '../step/step';\nimport { IStepperAdapter } from './stepper-adapter';\nimport { STEPPER_CONSTANTS, IStepConfiguration, StepperLayoutAlign, StepperLayoutMode } from './stepper-constants';\n\nexport interface IStepperFoundation extends ICustomElementFoundation {\n steps: IStepConfiguration[];\n selectedIndex: number;\n linear: boolean;\n alternative: boolean;\n layoutMode: StepperLayoutMode;\n layoutAlign: StepperLayoutAlign;\n}\n\nexport class StepperFoundation implements IStepperFoundation {\n private _steps: IStepConfiguration[] = [];\n private _selectedIndex = 0;\n private _linear = false;\n private _alternative = false;\n private _layoutMode: StepperLayoutMode = 'fixed';\n private _layoutAlign: StepperLayoutAlign = 'center';\n private _initialize = false;\n private _disabled: boolean;\n private _vertical: boolean;\n\n private _clickListener: EventListener;\n private _keyListener: EventListener;\n private _slotChangeListener: EventListener;\n private _stepFocusListener: () => void;\n private _stepBlurListener: () => void;\n private _stepExpandedContentFocusInListener: (event: CustomEvent<IStepComponent>) => void;\n private _stepExpandedContentFocusOutListener: (event: CustomEvent<IStepComponent>) => void;\n\n constructor(private _adapter: IStepperAdapter) {\n this._clickListener = event => this._handleClick(event);\n this._keyListener = event => this._onKeydown(event as KeyboardEvent);\n this._stepFocusListener = () => this._onStepFocus();\n this._stepBlurListener = () => this._onStepBlur();\n this._stepExpandedContentFocusInListener = event => this._onStepExpandedContentFocusIn(event);\n this._stepExpandedContentFocusOutListener = event => this._onStepExpandedContentFocusOut(event);\n this._slotChangeListener = event => this._onSlotChange(event as Event);\n }\n\n public initialize(): void {\n this._adapter.initializeAccessibility();\n this._adapter.assignIndices();\n this._adapter.setLinearState(this._linear);\n this._adapter.setAlternativeState(this._alternative);\n this._adapter.setLayoutAlign(this._layoutAlign);\n this._adapter.setLayoutMode(this._layoutMode);\n this._adapter.addRootListener('click', this._clickListener);\n this._adapter.addHostListener('keydown', this._keyListener);\n this._adapter.assignFirstLastStep();\n this._adapter.addRootListener(STEP_CONSTANTS.events.EXPANDED_CONTENT_FOCUSIN, this._stepExpandedContentFocusInListener);\n this._adapter.addRootListener(STEP_CONSTANTS.events.EXPANDED_CONTENT_FOCUSOUT, this._stepExpandedContentFocusOutListener);\n this._applySelectedIndex();\n this._patchBrowser();\n this._adapter.setStepsListener('blur', this._stepBlurListener);\n this._adapter.setStepsListener('focus', this._stepFocusListener);\n if (!this._initialize) {\n this._adapter.addSlotChangeListener(this._slotChangeListener);\n }\n\n this._initialize = true;\n }\n\n public disconnect(): void {\n this._adapter.removeRootListener('click', this._clickListener);\n this._adapter.removeHostListener('keydown', this._keyListener);\n this._adapter.removeSlotChangeListener(this._slotChangeListener);\n this._adapter.removeStepsListener('blur', this._stepBlurListener);\n this._adapter.removeStepsListener('focus', this._stepFocusListener);\n }\n\n /** The step configurations. */\n public get steps(): IStepConfiguration[] {\n return JSON.parse(JSON.stringify(this._steps));\n }\n public set steps(value: IStepConfiguration[]) {\n if (Array.isArray(value) && value.length > 0) {\n this._steps = [...value.map(s => ({ ...s }))];\n } else {\n this._steps = [];\n return;\n }\n\n this._renderConfiguration();\n }\n\n /** The active step index. */\n public get selectedIndex(): number {\n return this._selectedIndex;\n }\n public set selectedIndex(value: number) {\n if (!isDefined(value)) {\n value = 0;\n } else if (!isNumber(value)) {\n const v = Number(value);\n value = !isNaN(v) ? v : 0;\n }\n\n if (this._selectedIndex !== value) {\n this._selectedIndex = value;\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.SELECTED_INDEX, this._selectedIndex.toString());\n this._applySelectedIndex();\n }\n }\n\n /** Whether the stepper is linear or non-linear. */\n public get linear(): boolean {\n return this._linear;\n }\n public set linear(value: boolean) {\n value = Boolean(value);\n if (this._linear !== value) {\n this._linear = value;\n this._adapter.setLinearState(this._linear);\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.LINEAR, this._linear.toString());\n }\n }\n\n /** Whether the stepper uses the default or alternative label layout mode. */\n public get alternative(): boolean {\n return this._alternative;\n }\n public set alternative(value: boolean) {\n value = Boolean(value);\n if (this._alternative !== value) {\n this._alternative = value;\n this._adapter.setAlternativeState(this._alternative);\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.ALTERNATIVE, this._alternative.toString());\n }\n }\n\n /** The layout mode of the stepper. */\n public get layoutMode(): StepperLayoutMode {\n return this._layoutMode;\n }\n public set layoutMode(value: StepperLayoutMode) {\n if (!/^(fixed|clustered)$/.test(value)) {\n return;\n }\n\n if (this._layoutMode !== value) {\n this._layoutMode = value;\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.LAYOUT_MODE, this._layoutMode);\n this._adapter.setLayoutMode(this._layoutMode);\n }\n }\n\n /** The layout alignment of the stepper. */\n public get layoutAlign(): StepperLayoutAlign {\n return this._layoutAlign;\n }\n public set layoutAlign(value: StepperLayoutAlign) {\n if (!/^(left|center|right)$/.test(value)) {\n return;\n }\n\n if (this._layoutAlign !== value) {\n this._layoutAlign = value;\n this._adapter.setLayoutAlign(this._layoutAlign);\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.LAYOUT_ALIGN, this._layoutAlign);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (value !== this._disabled) {\n this._disabled = value;\n this._applyDisabled();\n }\n }\n\n public get vertical(): boolean {\n return this._vertical;\n }\n public set vertical(value: boolean) {\n if (value !== this._vertical) {\n this._vertical = value;\n this._applyVertical();\n this._adapter.toggleHostAttribute(STEPPER_CONSTANTS.attributes.VERTICAL, this._vertical);\n }\n }\n\n private _applyVertical(): void {\n this._adapter.setVertical(this._vertical);\n }\n\n private _applyDisabled(): void {\n if (this._disabled) {\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.DISABLED, 'disabled');\n } else {\n this._adapter.removeHostAttribute(STEPPER_CONSTANTS.attributes.DISABLED);\n }\n\n this._adapter.toggleDisabled(this._disabled);\n }\n\n private _applySelectedIndex(): void {\n this._adapter.setSelectedByIndex(this._selectedIndex);\n }\n\n private _handleClick(event: Event): void {\n event.preventDefault();\n if (this._linear) {\n return;\n }\n const eventPath = getEventPath(event);\n const stepRoot = eventPath.find(el => el.classList && el.classList.contains(STEP_CONSTANTS.classes.STEP));\n const step = eventPath.find(el => el.localName === STEP_CONSTANTS.elementName) as IStepComponent | undefined;\n\n if (stepRoot && step && !step.selected && !step.disabled && this._adapter.emitHostEvent(STEP_CONSTANTS.events.SELECT, step.index, true, true)) {\n this._adapter.setSelected(step);\n this.selectedIndex = step.index;\n }\n }\n\n private _renderConfiguration(): void {\n const steps = StepperUtils.createSteps({\n steps: this._steps,\n vertical: this._vertical,\n selectedIndex: this._selectedIndex,\n alternative: this._alternative,\n layoutAlign: this._layoutAlign,\n layoutMode: this._layoutMode,\n linear: this._linear\n });\n\n this.disconnect();\n this._adapter.applyConfiguredSteps(steps);\n this.initialize();\n }\n\n private _onKeydown(event: KeyboardEvent): void {\n if (this._linear) {\n return;\n }\n\n const key = this._getKeyFromEvent(event);\n\n // If the expanded content is currently being focused, ignore stepper specific keys\n if (!this._adapter.isStepperFocused()) {\n return;\n }\n\n // Early exit if the event key isn't one of the keyboard navigation keys\n if (!key) {\n return;\n }\n\n if ([STEP_CONSTANTS.strings.HOME_KEY, STEP_CONSTANTS.strings.END_KEY, STEP_CONSTANTS.strings.ARROW_DOWN_KEY, STEPPER_CONSTANTS.strings.ARROW_UP_KEY].includes(key)) {\n event.preventDefault();\n }\n\n\n const step = this._vertical ? this._determineVerticalMoveTarget(key) : this._determineMoveTarget(key);\n\n if (step) {\n this._moveFocusTo(step);\n }\n }\n\n private _moveFocusTo(step: IStepComponent): void {\n getShadowElement(step, STEP_CONSTANTS.selectors.STEP).focus();\n }\n\n private _getKeyFromEvent(evt: KeyboardEvent): string {\n if (STEPPER_CONSTANTS.ACCEPTABLE_KEYS.includes(evt.key)) {\n return evt.key;\n }\n return STEPPER_CONSTANTS.KEYCODE_MAP[evt.keyCode];\n }\n\n private _determineMoveTarget(key: string): IStepComponent {\n const step = this._adapter.getFocusedOrSelectedStep();\n\n if (step) {\n switch (key) {\n case STEPPER_CONSTANTS.strings.ARROW_RIGHT_KEY:\n return this._adapter.getStep(step.index + 1);\n case STEPPER_CONSTANTS.strings.ARROW_LEFT_KEY:\n return this._adapter.getStep(step.index - 1);\n case STEPPER_CONSTANTS.strings.HOME_KEY:\n return this._adapter.getStep(0);\n case STEPPER_CONSTANTS.strings.END_KEY:\n return this._adapter.getLastStep();\n }\n }\n\n return step as IStepComponent;\n }\n\n private _determineVerticalMoveTarget(key: string): IStepComponent {\n const step = this._adapter.getFocusedOrSelectedStep();\n\n if (step) {\n switch (key) {\n case STEPPER_CONSTANTS.strings.ARROW_DOWN_KEY:\n return this._adapter.getStep(step.index + 1);\n case STEPPER_CONSTANTS.strings.ARROW_UP_KEY:\n return this._adapter.getStep(step.index - 1);\n case STEPPER_CONSTANTS.strings.HOME_KEY:\n return this._adapter.getStep(0);\n case STEPPER_CONSTANTS.strings.END_KEY:\n return this._adapter.getLastStep();\n }\n }\n\n return step as IStepComponent;\n }\n\n private _onSlotChange(event: Event): void {\n this.disconnect();\n this.initialize();\n }\n\n private _onStepExpandedContentFocusIn(event: CustomEvent<IStepComponent>): void {\n const step = this._adapter.getStep(event.detail.index + 1);\n if (step) {\n step.setStepTabIndex(0);\n }\n event.detail.setStepTabIndex(0);\n }\n\n private _onStepExpandedContentFocusOut(event: CustomEvent<IStepComponent>): void {\n const focusOutStep = event.target as IStepComponent;\n const step = this._adapter.getStep(focusOutStep.index + 1);\n\n if (step) {\n step.setStepTabIndex(-1);\n }\n\n focusOutStep.setStepTabIndex(-1);\n }\n\n private _onStepFocus(): void {\n this._adapter.toggleRootClass(STEPPER_CONSTANTS.classes.FOCUSED, true);\n }\n\n private _onStepBlur(): void {\n this._adapter.toggleRootClass(STEPPER_CONSTANTS.classes.FOCUSED, false);\n }\n\n private _patchBrowser(): void {\n if (new Platform().SAFARI()) {\n this._adapter.patchSafari();\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChildren, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { IStepConfiguration, StepperLayoutAlign, StepperLayoutMode } from '../stepper/stepper-constants';\nimport { StepComponent } from '../step/step';\nimport { StepperAdapter } from './stepper-adapter';\nimport { STEPPER_CONSTANTS } from './stepper-constants';\nimport { StepperFoundation } from './stepper-foundation';\n\nconst template = '<template><div class=\\\"forge-stepper\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-stepper{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;white-space:nowrap;overflow:hidden}.forge-stepper:not(.forge-stepper--vertical) ::slotted(*){display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;min-width:112px}.forge-stepper--fixed ::slotted(*){-webkit-box-flex:1;flex:1}.forge-stepper--alternative{-webkit-box-align:start;align-items:flex-start}.forge-stepper--alternative ::slotted(*){min-width:160px}.forge-stepper--align-left{-webkit-box-pack:start;justify-content:flex-start}.forge-stepper--align-center{-webkit-box-pack:center;justify-content:center}.forge-stepper--align-right{-webkit-box-pack:end;justify-content:flex-end}:host{display:block}:host([hidden]){display:none}:host([vertical]) .forge-stepper{display:unset;-webkit-box-align:unset;align-items:unset;white-space:unset;overflow:unset}';\n\nexport interface IStepperComponent extends IBaseComponent {\n steps: IStepConfiguration[];\n selectedIndex: number;\n linear: boolean;\n alternative: boolean;\n layoutMode: StepperLayoutMode;\n layoutAlign: StepperLayoutAlign;\n disabled: boolean;\n vertical: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-stepper': IStepperComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-stepper>` custom element.\n * \n * @tag forge-stepper\n */\n@CustomElement({\n name: STEPPER_CONSTANTS.elementName,\n dependencies: [StepComponent]\n})\nexport class StepperComponent extends BaseComponent implements IStepperComponent {\n public static get observedAttributes(): string[] {\n return [\n STEPPER_CONSTANTS.attributes.SELECTED_INDEX,\n STEPPER_CONSTANTS.attributes.LINEAR,\n STEPPER_CONSTANTS.attributes.ALTERNATIVE,\n STEPPER_CONSTANTS.attributes.LAYOUT_MODE,\n STEPPER_CONSTANTS.attributes.LAYOUT_ALIGN,\n STEPPER_CONSTANTS.attributes.DISABLED,\n STEPPER_CONSTANTS.attributes.VERTICAL\n ];\n }\n\n private _foundation: StepperFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new StepperFoundation(new StepperAdapter(this));\n }\n\n public async connectedCallback(): Promise<void> {\n await ensureChildren(this);\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case STEPPER_CONSTANTS.attributes.SELECTED_INDEX:\n this.selectedIndex = Number(newValue) || 0;\n break;\n case STEPPER_CONSTANTS.attributes.LINEAR:\n this.linear = coerceBoolean(newValue);\n break;\n case STEPPER_CONSTANTS.attributes.ALTERNATIVE:\n this.alternative = coerceBoolean(newValue);\n break;\n case STEPPER_CONSTANTS.attributes.LAYOUT_MODE:\n this.layoutMode = newValue as StepperLayoutMode;\n break;\n case STEPPER_CONSTANTS.attributes.LAYOUT_ALIGN:\n this.layoutAlign = newValue as StepperLayoutAlign;\n break;\n case STEPPER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case STEPPER_CONSTANTS.attributes.VERTICAL:\n this.vertical = coerceBoolean(newValue);\n break;\n }\n }\n\n /** The step configurations. */\n @FoundationProperty()\n public declare steps: IStepConfiguration[];\n\n /** The active step index. */\n @FoundationProperty()\n public declare selectedIndex: number;\n\n /** Whether the stepper is linear or non-linear. */\n @FoundationProperty()\n public declare linear: boolean;\n\n /** Whether the stepper uses the default or alternative label layout mode. */\n @FoundationProperty()\n public declare alternative: boolean;\n\n /** The layout mode of the stepper. */\n @FoundationProperty()\n public declare layoutMode: StepperLayoutMode;\n\n /** The layout alignment of the stepper. */\n @FoundationProperty()\n public declare layoutAlign: StepperLayoutAlign;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare vertical: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { StepperComponent } from './stepper';\n\nexport * from './stepper';\nexport * from './stepper-adapter';\nexport * from './stepper-constants';\nexport * from './stepper-foundation';\n\nexport function defineStepperComponent(): void {\n defineCustomElement(StepperComponent);\n}\n\n"],
5
+ "mappings": "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",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "selectors", "attributes", "strings", "numbers", "ACCEPTABLE_KEYS", "KEYCODE_MAP", "STEPPER_CONSTANTS", "StepperUtils", "_StepperUtils", "step", "index", "stepperConfig", "_a", "_b", "stepElement", "STEP_CONSTANTS", "labelText", "label", "stepperElement", "isLinear", "hasLinearClass", "STEPPER_CONSTANTS", "isAlternative", "hasAlternativeClass", "mode", "stepperConfiguration", "steps", "StepperAdapter", "BaseAdapter", "component", "getShadowElement", "STEPPER_CONSTANTS", "s", "listener", "steps", "step", "tab", "index", "layoutAlign", "StepperUtils", "layoutMode", "STEP_CONSTANTS", "alternative", "vertical", "toggleClass", "linear", "event", "n", "focusedStep", "activeElement", "getActiveElement", "realIndex", "disabled", "className", "show", "action", "StepperFoundation", "_adapter", "event", "STEP_CONSTANTS", "value", "s", "__spreadValues", "isDefined", "isNumber", "v", "STEPPER_CONSTANTS", "eventPath", "getEventPath", "stepRoot", "el", "step", "steps", "StepperUtils", "key", "getShadowElement", "evt", "focusOutStep", "Platform", "template", "styles", "StepperComponent", "BaseComponent", "attachShadowTemplate", "StepperFoundation", "StepperAdapter", "STEPPER_CONSTANTS", "ensureChildren", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "StepComponent", "defineStepperComponent", "defineCustomElement", "StepperComponent"]
7
+ }
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{a as f}from"./chunk.G5MGGEFP.js";import{a as p}from"./chunk.KTGSZEAG.js";import{a as k,b as v}from"./chunk.BE7PZANN.js";import{a as b,e as l,g as A,l as h}from"./chunk.Y4GKBJGI.js";import{f as i}from"./chunk.MCIQXNKY.js";var _=`${v}backdrop`,y={CONTAINER:".forge-backdrop"},E={OPACITY:.54,DELAY:0,TRANSITION_DURATION:150},O={DELAY:"delay",MAX_OPACITY:"max-opacity",APPEARANCE:"appearance",FIXED:"fixed"},g={BACKDROP_CLICK:`${_}-click`},e={elementName:_,selectors:y,numbers:E,attributes:O,events:g};var n=class extends f{constructor(a){super(a);this._backdropElement=A(a,e.selectors.CONTAINER)}setBackdropOpacity(a){this._backdropElement.style.opacity=a.toString()}addBackdropEventListener(a,o){this._backdropElement.addEventListener("click",o)}removeBackdropEventListener(a,o){this._backdropElement.removeEventListener("click",o)}};var s=class{constructor(t){this._adapter=t;this._delay=e.numbers.DELAY;this._maxOpacity=e.numbers.OPACITY;this._adapter.addBackdropEventListener("click",this._onClick.bind(this))}initialize(){this._adapter.setBackdropOpacity(0),this._applyAppearance(),this._adapter.setHostAttribute(e.attributes.DELAY,this._delay.toString()),this.fadeIn()}fadeOut(){return new Promise(t=>{this._adapter.setBackdropOpacity(0),setTimeout(()=>t(),e.numbers.TRANSITION_DURATION)})}fadeIn(){return new Promise(t=>{setTimeout(()=>{this._adapter.setBackdropOpacity(this._maxOpacity),setTimeout(()=>t(),e.numbers.TRANSITION_DURATION)},this.delay)})}_onClick(t){t.stopPropagation(),this._adapter.emitHostEvent(e.events.BACKDROP_CLICK,void 0,!0,!0)}disconnect(){this._adapter.removeBackdropEventListener("click",this._onClick)}_applyAppearance(){this._appearance?this._adapter.setHostAttribute(e.attributes.APPEARANCE,String(this._appearance)):this._adapter.removeHostAttribute(e.attributes.APPEARANCE)}set delay(t){this._delay!==t&&(this._delay=t,this._adapter.setHostAttribute(e.attributes.DELAY,this._delay.toString()))}get delay(){return this._delay}set maxOpacity(t){this._maxOpacity!==t&&(this._maxOpacity=t,this._adapter.setHostAttribute(e.attributes.MAX_OPACITY,this._maxOpacity.toString()))}get maxOpacity(){return this._maxOpacity}get appearance(){return this._appearance}set appearance(t){this._appearance!==t&&(this._appearance=t,this._applyAppearance())}};var I='<template><div class="forge-backdrop" part="root"></div></template>',C=".forge-backdrop{z-index:7;z-index:var(--forge-z-index-backdrop,7);background-color:rgba(0,0,0,.54);background-color:var(--forge-backdrop-theme-background,rgba(0,0,0,.54));position:absolute;top:0;bottom:0;left:0;right:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);opacity:0}:host{display:block}:host([hidden]){display:none}:host([fixed]) .forge-backdrop{position:fixed}:host([appearance=light]){--forge-backdrop-theme-background:rgba(255, 255, 255, 0.54)}:host([appearance=dark]){--forge-backdrop-theme-background:rgba(0, 0, 0, 0.54)}",r=class extends h{constructor(){super();l(this,I,C),this._foundation=new s(new n(this))}static get observedAttributes(){return[e.attributes.DELAY,e.attributes.MAX_OPACITY]}connectedCallback(){if(this.hasAttribute(e.attributes.DELAY)&&this.getAttribute(e.attributes.DELAY)){let a=Number(this.getAttribute(e.attributes.DELAY));this.delay=a>=0?a:e.numbers.DELAY}if(this.hasAttribute(e.attributes.MAX_OPACITY)){let a=Number(this.getAttribute(e.attributes.MAX_OPACITY));this.maxOpacity=a>=0&&a<=1?a:e.numbers.OPACITY}this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(a,o,c){switch(a){case e.attributes.DELAY:let u=Number(c);this.delay=u>=0?u:e.numbers.DELAY;break;case e.attributes.MAX_OPACITY:let d=Number(c);this.maxOpacity=d>=0&&d<=1?d:e.numbers.OPACITY;break;case e.attributes.APPEARANCE:this.appearance=c;break}}fadeOut(){return this._foundation.fadeOut()}fadeIn(){return this._foundation.fadeIn()}};i([p()],r.prototype,"delay",2),i([p()],r.prototype,"appearance",2),i([p()],r.prototype,"maxOpacity",2),r=i([k({name:e.elementName})],r);function V(){b(r)}export{e as a,n as b,s as c,r as d,V as e};
7
- //# sourceMappingURL=chunk.F2B24WLK.js.map
6
+ import{a as p}from"./chunk.NVUMRW44.js";import{a as f}from"./chunk.BKL2BAYW.js";import{a as k,b as v}from"./chunk.DXN7ZOH3.js";import{a as b,e as l,f as A,k as h}from"./chunk.MVTBJPO2.js";import{d as i}from"./chunk.M3QDAYD2.js";var _=`${v}backdrop`,y={CONTAINER:".forge-backdrop"},E={OPACITY:.54,DELAY:0,TRANSITION_DURATION:150},O={DELAY:"delay",MAX_OPACITY:"max-opacity",APPEARANCE:"appearance",FIXED:"fixed"},g={BACKDROP_CLICK:`${_}-click`},e={elementName:_,selectors:y,numbers:E,attributes:O,events:g};var n=class extends f{constructor(a){super(a);this._backdropElement=A(a,e.selectors.CONTAINER)}setBackdropOpacity(a){this._backdropElement.style.opacity=a.toString()}addBackdropEventListener(a,o){this._backdropElement.addEventListener("click",o)}removeBackdropEventListener(a,o){this._backdropElement.removeEventListener("click",o)}};var s=class{constructor(t){this._adapter=t;this._delay=e.numbers.DELAY;this._maxOpacity=e.numbers.OPACITY;this._adapter.addBackdropEventListener("click",this._onClick.bind(this))}initialize(){this._adapter.setBackdropOpacity(0),this._applyAppearance(),this._adapter.setHostAttribute(e.attributes.DELAY,this._delay.toString()),this.fadeIn()}fadeOut(){return new Promise(t=>{this._adapter.setBackdropOpacity(0),setTimeout(()=>t(),e.numbers.TRANSITION_DURATION)})}fadeIn(){return new Promise(t=>{setTimeout(()=>{this._adapter.setBackdropOpacity(this._maxOpacity),setTimeout(()=>t(),e.numbers.TRANSITION_DURATION)},this.delay)})}_onClick(t){t.stopPropagation(),this._adapter.emitHostEvent(e.events.BACKDROP_CLICK,void 0,!0,!0)}disconnect(){this._adapter.removeBackdropEventListener("click",this._onClick)}_applyAppearance(){this._appearance?this._adapter.setHostAttribute(e.attributes.APPEARANCE,String(this._appearance)):this._adapter.removeHostAttribute(e.attributes.APPEARANCE)}set delay(t){this._delay!==t&&(this._delay=t,this._adapter.setHostAttribute(e.attributes.DELAY,this._delay.toString()))}get delay(){return this._delay}set maxOpacity(t){this._maxOpacity!==t&&(this._maxOpacity=t,this._adapter.setHostAttribute(e.attributes.MAX_OPACITY,this._maxOpacity.toString()))}get maxOpacity(){return this._maxOpacity}get appearance(){return this._appearance}set appearance(t){this._appearance!==t&&(this._appearance=t,this._applyAppearance())}};var I='<template><div class="forge-backdrop" part="root"></div></template>',C=".forge-backdrop{z-index:7;z-index:var(--forge-z-index-backdrop,7);background-color:rgba(0,0,0,.54);background-color:var(--forge-backdrop-theme-background,rgba(0,0,0,.54));position:absolute;top:0;bottom:0;left:0;right:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);opacity:0}:host{display:block}:host([hidden]){display:none}:host([fixed]) .forge-backdrop{position:fixed}:host([appearance=light]){--forge-backdrop-theme-background:rgba(255, 255, 255, 0.54)}:host([appearance=dark]){--forge-backdrop-theme-background:rgba(0, 0, 0, 0.54)}",r=class extends h{constructor(){super();l(this,I,C),this._foundation=new s(new n(this))}static get observedAttributes(){return[e.attributes.DELAY,e.attributes.MAX_OPACITY]}connectedCallback(){if(this.hasAttribute(e.attributes.DELAY)&&this.getAttribute(e.attributes.DELAY)){let a=Number(this.getAttribute(e.attributes.DELAY));this.delay=a>=0?a:e.numbers.DELAY}if(this.hasAttribute(e.attributes.MAX_OPACITY)){let a=Number(this.getAttribute(e.attributes.MAX_OPACITY));this.maxOpacity=a>=0&&a<=1?a:e.numbers.OPACITY}this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(a,o,c){switch(a){case e.attributes.DELAY:let u=Number(c);this.delay=u>=0?u:e.numbers.DELAY;break;case e.attributes.MAX_OPACITY:let d=Number(c);this.maxOpacity=d>=0&&d<=1?d:e.numbers.OPACITY;break;case e.attributes.APPEARANCE:this.appearance=c;break}}fadeOut(){return this._foundation.fadeOut()}fadeIn(){return this._foundation.fadeIn()}};i([p()],r.prototype,"delay",2),i([p()],r.prototype,"appearance",2),i([p()],r.prototype,"maxOpacity",2),r=i([k({name:e.elementName})],r);function q(){b(r)}export{e as a,n as b,s as c,r as d,q as e};
7
+ //# sourceMappingURL=chunk.JLLHDJSO.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/backdrop/backdrop-constants.ts", "../../src/backdrop/backdrop-adapter.ts", "../../src/backdrop/backdrop-foundation.ts", "../../src/backdrop/backdrop.ts", "../../src/backdrop/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}backdrop`;\n\nconst selectors = {\n CONTAINER: '.forge-backdrop'\n};\n\nconst numbers = {\n OPACITY: 0.54,\n DELAY: 0,\n TRANSITION_DURATION: 150\n};\n\nconst attributes = {\n DELAY: 'delay',\n MAX_OPACITY: 'max-opacity',\n APPEARANCE: 'appearance',\n FIXED: 'fixed'\n};\n\nconst events = {\n BACKDROP_CLICK: `${elementName}-click`\n};\n\nexport const BACKDROP_CONSTANTS = {\n elementName,\n selectors,\n numbers,\n attributes,\n events\n};\n\nexport type BackdropAppearance = 'light' | 'dark' | undefined;\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IBackdropComponent } from './backdrop';\nimport { BACKDROP_CONSTANTS } from './backdrop-constants';\n\nexport interface IBackdropAdapter extends IBaseAdapter {\n setBackdropOpacity: (opacity: number) => void;\n addBackdropEventListener: (type: string, listener: (evt: Event) => void) => void;\n removeBackdropEventListener: (type: string, listener: (evt: Event) => void) => void;\n}\n\n/**\n * Provides facilities for interacting with the internal DOM of `BackdropComponent`.\n */\nexport class BackdropAdapter extends BaseAdapter<IBackdropComponent> implements IBackdropAdapter {\n private _backdropElement: HTMLElement;\n\n constructor(component: IBackdropComponent) {\n super(component);\n this._backdropElement = getShadowElement(component, BACKDROP_CONSTANTS.selectors.CONTAINER);\n }\n\n /**\n * Sets the backdrop element opacity.\n * @param opacity The opacity amount.\n */\n public setBackdropOpacity(opacity: number): void {\n this._backdropElement.style.opacity = opacity.toString();\n }\n\n /**\n * Adds a click event to the backdrop container element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public addBackdropEventListener(type: string, listener: (evt: Event) => void): void {\n this._backdropElement.addEventListener('click', listener);\n }\n\n /**\n * Removes a click event from the backdrop container element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public removeBackdropEventListener(type: string, listener: (evt: Event) => void): void {\n this._backdropElement.removeEventListener('click', listener);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IBackdropAdapter } from './backdrop-adapter';\nimport { BackdropAppearance, BACKDROP_CONSTANTS } from './backdrop-constants';\n\n\nexport interface IBackdropFoundation extends ICustomElementFoundation {\n fadeOut(): Promise<void>;\n fadeIn(): Promise<void>;\n appearance: BackdropAppearance;\n}\n\nexport class BackdropFoundation implements IBackdropFoundation {\n private _delay: number = BACKDROP_CONSTANTS.numbers.DELAY;\n private _maxOpacity: number = BACKDROP_CONSTANTS.numbers.OPACITY;\n private _appearance: BackdropAppearance;\n\n constructor(private _adapter: IBackdropAdapter) {\n this._adapter.addBackdropEventListener('click', this._onClick.bind(this));\n }\n\n public initialize(): void {\n this._adapter.setBackdropOpacity(0);\n this._applyAppearance();\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.DELAY, this._delay.toString());\n this.fadeIn();\n }\n\n /**\n * Starts the fade-out animation to animate the backdrop to 0% opacity.\n */\n public fadeOut(): Promise<void> {\n return new Promise<void>(resolve => {\n this._adapter.setBackdropOpacity(0);\n setTimeout(() => resolve(), BACKDROP_CONSTANTS.numbers.TRANSITION_DURATION);\n });\n }\n\n /**\n * Starts the fade-in animation to animate the backdrop to max opacity.\n */\n public fadeIn(): Promise<void> {\n return new Promise<void>(resolve => {\n setTimeout(() => {\n this._adapter.setBackdropOpacity(this._maxOpacity);\n setTimeout(() => resolve(), BACKDROP_CONSTANTS.numbers.TRANSITION_DURATION);\n }, this.delay);\n });\n }\n\n private _onClick(evt: Event): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, undefined, true, true);\n }\n\n public disconnect(): void {\n this._adapter.removeBackdropEventListener('click', this._onClick);\n }\n\n private _applyAppearance(): void {\n if (this._appearance) {\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.APPEARANCE, String(this._appearance));\n } else {\n this._adapter.removeHostAttribute(BACKDROP_CONSTANTS.attributes.APPEARANCE);\n }\n }\n\n public set delay(value: number) {\n if (this._delay !== value) {\n this._delay = value;\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.DELAY, this._delay.toString());\n }\n }\n public get delay(): number {\n return this._delay;\n }\n\n public set maxOpacity(value: number) {\n if (this._maxOpacity !== value) {\n this._maxOpacity = value;\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.MAX_OPACITY, this._maxOpacity.toString());\n }\n }\n public get maxOpacity(): number {\n return this._maxOpacity;\n }\n\n public get appearance(): BackdropAppearance {\n return this._appearance;\n }\n public set appearance(value: BackdropAppearance) {\n if (this._appearance !== value) {\n this._appearance = value;\n this._applyAppearance();\n }\n }\n}\n", "import { attachShadowTemplate, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { BackdropAdapter } from './backdrop-adapter';\nimport { BackdropAppearance, BACKDROP_CONSTANTS } from './backdrop-constants';\nimport { BackdropFoundation } from './backdrop-foundation';\n\nconst template = '<template><div class=\\\"forge-backdrop\\\" part=\\\"root\\\"></div></template>';\nconst styles = '.forge-backdrop{z-index:7;z-index:var(--forge-z-index-backdrop,7);background-color:rgba(0,0,0,.54);background-color:var(--forge-backdrop-theme-background,rgba(0,0,0,.54));position:absolute;top:0;bottom:0;left:0;right:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);opacity:0}:host{display:block}:host([hidden]){display:none}:host([fixed]) .forge-backdrop{position:fixed}:host([appearance=light]){--forge-backdrop-theme-background:rgba(255, 255, 255, 0.54)}:host([appearance=dark]){--forge-backdrop-theme-background:rgba(0, 0, 0, 0.54)}';\n\nexport interface IBackdropComponent extends IBaseComponent {\n delay: number;\n maxOpacity: number;\n appearance: BackdropAppearance;\n fadeOut(): Promise<void>;\n fadeIn(): Promise<void>;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-backdrop': IBackdropComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-backdrop-click': CustomEvent<void>;\n }\n}\n\n/**\n * A web component that renders a backdrop covering its parent container with a semi-opaque element.\n * \n * @tag forge-backdrop\n */\n@CustomElement({\n name: BACKDROP_CONSTANTS.elementName\n})\nexport class BackdropComponent extends BaseComponent {\n public static get observedAttributes(): string[] {\n return [\n BACKDROP_CONSTANTS.attributes.DELAY,\n BACKDROP_CONSTANTS.attributes.MAX_OPACITY\n ];\n }\n\n protected _foundation: BackdropFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new BackdropFoundation(new BackdropAdapter(this));\n }\n\n public connectedCallback(): void {\n if (this.hasAttribute(BACKDROP_CONSTANTS.attributes.DELAY) && this.getAttribute(BACKDROP_CONSTANTS.attributes.DELAY)) {\n const inDelay = Number(this.getAttribute(BACKDROP_CONSTANTS.attributes.DELAY));\n this.delay = inDelay >= 0 ? inDelay : BACKDROP_CONSTANTS.numbers.DELAY;\n }\n\n if (this.hasAttribute(BACKDROP_CONSTANTS.attributes.MAX_OPACITY)) {\n const inMaxOpacity = Number(this.getAttribute(BACKDROP_CONSTANTS.attributes.MAX_OPACITY));\n this.maxOpacity = inMaxOpacity >= 0 && inMaxOpacity <= 1 ? inMaxOpacity : BACKDROP_CONSTANTS.numbers.OPACITY;\n }\n\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case BACKDROP_CONSTANTS.attributes.DELAY:\n const delayValue = Number(newValue);\n this.delay = delayValue >= 0 ? delayValue : BACKDROP_CONSTANTS.numbers.DELAY;\n break;\n case BACKDROP_CONSTANTS.attributes.MAX_OPACITY:\n const opacityValue = Number(newValue);\n this.maxOpacity = opacityValue >= 0 && opacityValue <= 1 ? opacityValue : BACKDROP_CONSTANTS.numbers.OPACITY;\n break;\n case BACKDROP_CONSTANTS.attributes.APPEARANCE:\n this.appearance = newValue as BackdropAppearance;\n break;\n }\n }\n\n /**\n * The time in milliseconds to delay the fade in animation of the opacity.\n * Note: The element will start with 0% opacity when the component is rendered.\n */\n @FoundationProperty()\n public declare delay: number;\n\n /** Controls whether the theme defaults to light vs dark compatibility. */\n @FoundationProperty()\n public declare appearance: BackdropAppearance;\n\n /** The max opacity to fade the element to. This defines how opaque the backdrop is when visible. */\n @FoundationProperty()\n public declare maxOpacity: number;\n\n /**\n * Starts the fade-out animation to animate the backdrop to 0% opacity.\n */\n public fadeOut(): Promise<void> {\n return this._foundation.fadeOut();\n }\n\n /**\n * Starts the fade-in animation to animate the backdrop to max opacity.\n */\n public fadeIn(): Promise<void> {\n return this._foundation.fadeIn();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { BackdropComponent } from './backdrop';\n\nexport * from './backdrop-adapter';\nexport * from './backdrop-constants';\nexport * from './backdrop-foundation';\nexport * from './backdrop';\n\nexport function defineBackdropComponent(): void {\n defineCustomElement(BackdropComponent);\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["elementName", "COMPONENT_NAME_PREFIX", "selectors", "numbers", "attributes", "events", "BACKDROP_CONSTANTS", "BackdropAdapter", "BaseAdapter", "component", "getShadowElement", "BACKDROP_CONSTANTS", "opacity", "type", "listener", "BackdropFoundation", "_adapter", "BACKDROP_CONSTANTS", "resolve", "evt", "value", "template", "styles", "BackdropComponent", "BaseComponent", "attachShadowTemplate", "BackdropFoundation", "BackdropAdapter", "BACKDROP_CONSTANTS", "inDelay", "inMaxOpacity", "name", "oldValue", "newValue", "delayValue", "opacityValue", "__decorateClass", "FoundationProperty", "CustomElement", "defineBackdropComponent", "defineCustomElement", "BackdropComponent"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as k}from"./chunk.W4247Q2P.js";import{d as K}from"./chunk.VZWNNK7A.js";import{e as V,h as B,j as H}from"./chunk.QCRRHGBA.js";import{c as x}from"./chunk.F4VXEE76.js";import{a as m,b as N}from"./chunk.HHCO64F3.js";import{b as A}from"./chunk.ZKGSQQGU.js";import{e as F}from"./chunk.7CGKFRBK.js";import{d as P}from"./chunk.FYWPZFLJ.js";import{d as w}from"./chunk.PH3HUFJJ.js";import{a as p}from"./chunk.NVUMRW44.js";import{a as S}from"./chunk.BKL2BAYW.js";import{a as T,b as D,d as y}from"./chunk.DXN7ZOH3.js";import{a as L,e as C}from"./chunk.MVTBJPO2.js";import{m as M}from"./chunk.K7FPXAFS.js";import{a as g,b as O,i as I,k as _}from"./chunk.J2M2MXP2.js";import{a as c,b,d as a}from"./chunk.M3QDAYD2.js";var l=`${D}menu`,U={POPUP:"forge-menu__popup",MENU:"mdc-menu"},G={TOGGLE:`.${l}__toggle,[${l}-toggle],button,[type=button],[role=button],a,[tabindex]:not([tabindex^="-"])`,MENU_LIST:"forge-list"},R={OPEN:"open",PLACEMENT:"placement",SELECTED_INDEX:"selected-index",SELECTED_VALUE:"selected-value",DENSE:"dense",ICON_CLASS:"icon-class",PERSIST_SELECTION:"persist-selection",MODE:"mode",SYNC_POPUP_WIDTH:"sync-popup-width",POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold"},$={SELECT:`${l}-select`,OPEN:`${l}-open`,CLOSE:`${l}-close`,ACTIVE_CHANGE:`${l}-active-change`},z={CHILD_MOUSE_LEAVE_TIMEOUT:300,POPUP_MOUSE_LEAVE_TIMEOUT:500},i={elementName:l,classes:U,selectors:G,attributes:R,events:$,numbers:z};var u=class extends S{constructor(e){super(e);this._childMenus=new Map}getDropdownElement(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.dropdownElement)!=null?t:null}hasTargetElement(){return!!this._targetElement}initializeTarget(){this._targetElement=this._component.querySelector(i.selectors.TOGGLE),this._targetElement||(this._targetElement=this._component.firstElementChild)}initializeAccessibility(e){this._targetElement&&(this._targetElement.setAttribute("aria-atomic","true"),this._targetElement.setAttribute("aria-live","assertive"),this._targetElement.setAttribute("aria-haspopup","true"),this._targetElement.setAttribute("aria-expanded","false"),this._targetElement.hasAttribute("aria-label")||this._targetElement.setAttribute("aria-label",this._targetElement.textContent||""))}addTargetListener(e,t,n=!1){this._targetElement&&this._targetElement.addEventListener(e,t,n)}removeTargetListener(e,t){this._targetElement&&this._targetElement.removeEventListener(e,t)}attachMenu(e){this._listDropdown||!this._targetElement||(this._listDropdown=new B(this._targetElement,e),this._listDropdown.open(),this._targetElement.setAttribute("aria-expanded","true"),this._targetElement.setAttribute("aria-controls",`list-dropdown-popup-${e.id}`))}setOptions(e){this._listDropdown&&this._listDropdown.setOptions(e)}detachMenu(){this._targetElement&&(this._targetElement.removeAttribute("aria-activedescendant"),this._targetElement.removeAttribute("aria-expanded"),this._targetElement.removeAttribute("aria-controls")),this._listDropdown&&(this._listDropdown.close(),this._listDropdown.destroy(),this._listDropdown=void 0)}setActiveOption(e){var t;(t=this._listDropdown)==null||t.activateOption(e)}activateFirstOption(){var e;(e=this._listDropdown)==null||e.activateFirstOption()}setCascadeTargetInactive(){let e=this._targetElement;e!=null&&e.active&&(e.active=!1)}getActiveOptionIndex(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.getActiveOptionIndex())!=null?t:-1}focusTarget(){this._targetElement&&this._targetElement.focus()}isTargetFocused(){return document.activeElement===this._targetElement}updateActiveDescendant(e){this._targetElement&&(e?this._targetElement.setAttribute("aria-activedescendant",e):this._targetElement.removeAttribute("aria-activedescendant"))}addDropdownListener(e,t){!this._listDropdown||!this._listDropdown.dropdownElement||this._listDropdown.dropdownElement.addEventListener(e,t)}isOwnElement(e){return!this._targetElement||!this._listDropdown||!this._listDropdown.dropdownElement?!1:this._targetElement.contains(e)||!!this._listDropdown.dropdownElement.contains(e)}propagateKey(e){var t;(t=this._listDropdown)==null||t.handleKey(e)}proxyKeyboardEventToChild(e,t){if(!this.getDropdownElement())return;let n=this._getOpenChildMenu(t);n&&n.propagateKeyEvent(e)}toggleChildMenu(e,t){let r=this._getListItems()[e].parentElement;r&&r.tagName.toLowerCase()===i.elementName&&(t===void 0?r.open=!r.open:r.open=t,r.activateFirstOption())}createChildMenu(e,t,n,o,r){let d=document.createElement("forge-menu");return d.style.display="block",d.addEventListener(i.events.OPEN,()=>{this._childMenus.set(e,d),n(e)}),d.addEventListener(i.events.CLOSE,()=>{this._childMenus.delete(e),o(e)}),d.addEventListener(i.events.SELECT,f=>{f.stopPropagation(),r(b(c({},f.detail),{parentValue:t}))}),d}closeOtherChildMenus(e){let t=[];this._childMenus.forEach((n,o)=>{o!==e&&(n.open=!1,t.push(o))}),t.forEach(n=>this._childMenus.delete(n))}setSelectedValues(e){var t;(t=this._listDropdown)==null||t.setSelectedValues(e)}_getOpenChildMenu(e){if(!this.getDropdownElement())return null;let t=this._getOwnList(e);return t?t.querySelector(`${i.elementName}[${i.attributes.OPEN}]`):null}_getOwnList(e){let t=this.getDropdownElement();return t?t.querySelector(`${m.elementName}[id="list-dropdown-list-${e}"]`):null}_getListItems(){let e=this.getDropdownElement();if(!e)return[];let t=e.querySelector(m.elementName);return t?Array.from(t.querySelectorAll(N.elementName)):[]}};var h=class extends H{constructor(e){super({popupTimeout:i.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,targetTimeout:i.numbers.CHILD_MOUSE_LEAVE_TIMEOUT});this._adapter=e;this._placement="bottom-start";this._fallbackPlacements=[];this._dense=!1;this._iconClass=y;this._persistSelection=!1;this._mode="click";this._identifier=g(),this._clickListener=t=>this._onTargetClick(t),this._blurListener=t=>this._onTargetBlur(t),this._selectListener=t=>this._handleSelectEvent(t),this._keydownListener=t=>this.onKeydown(t),this._activeChangeListener=t=>this._onActiveOptionChanged(t)}initialize(){this._adapter.initializeTarget(),this._adapter.initializeAccessibility(this._identifier),this._initializeInteractionListeners()}disconnect(){this._open&&this._closeDropdown(),this._destroyInteractionListeners()}activateFirstOption(){this._adapter.activateFirstOption()}_applyMode(){this._adapter.hasTargetElement()&&(this._mode!=="cascade"?this._adapter.addTargetListener("click",this._clickListener):this._attachCascadingListeners())}_initializeInteractionListeners(){this._adapter.hasTargetElement()&&(this._applyMode(),this._adapter.addTargetListener("keydown",this._keydownListener,!0),this._adapter.addTargetListener("focusout",this._blurListener))}_destroyInteractionListeners(){this._adapter.hasTargetElement()&&(this._adapter.removeTargetListener("keydown",this._clickListener),this._adapter.removeTargetListener("focusout",this._blurListener),this._adapter.removeTargetListener("click",this._clickListener),this._detachCascadingListeners())}_attachCascadingListeners(){this._adapter.addTargetListener("mouseenter",this._targetMouseEnterListener),this._adapter.addTargetListener("mouseleave",this._targetMouseLeaveListener),this._adapter.addDocumentListener("mousemove",this._documentMouseMoveListener)}_detachCascadingListeners(){this._adapter.removeTargetListener("mouseenter",this._targetMouseEnterListener),this._adapter.removeTargetListener("mouseleave",this._targetMouseLeaveListener),this._adapter.removeDocumentListener("mousemove",this._documentMouseMoveListener)}get _nonDividerOptions(){return this._flatOptions.filter(e=>!e.divider)}get _flatOptions(){return V(this._options,1)?this._options.reduce((e,t)=>e.concat(t.options),[]):this._options}_onTargetClick(e){if(this._open){this._closeDropdown();return}this.open=!this._open,this._open&&this._adapter.focusTarget()}_onTargetBlur(e){this._open&&this._closeDropdown()}_onActiveOptionChanged(e){let t={id:e},n=this._adapter.emitHostEvent(i.events.ACTIVE_CHANGE,t,!0,!0);this._mode!=="cascade"&&n&&this._adapter.updateActiveDescendant(e)}onKeydown(e){if(this._childOpen){this._adapter.proxyKeyboardEventToChild(e,this._identifier);return}switch(e.code){case"Tab":this._open&&this._selectActiveOption();break;case"Escape":this._open&&(e.preventDefault(),e.stopPropagation(),this._closeDropdown());break;case"Space":e.preventDefault(),this._open?this._closeDropdown():this._openDropdown({fromKeyboard:!0});break;case"Home":case"End":this._open&&(e.preventDefault(),this._adapter.propagateKey(e.code));break;case"Enter":if(e.preventDefault(),!this._open){e.preventDefault(),this._openDropdown({fromKeyboard:!0});return}e.stopImmediatePropagation(),this._adapter.propagateKey(e.code);let t=this._adapter.getActiveOptionIndex(),n=this._nonDividerOptions[t];n&&n.options&&n.options.length&&this._adapter.toggleChildMenu(t);break;case"ArrowUp":case"ArrowDown":if(this._open&&e.stopImmediatePropagation(),e.preventDefault(),!this._open&&e.code==="ArrowDown"){this._openDropdown({fromKeyboard:!0}),this._adapter.activateFirstOption();return}this._adapter.propagateKey(e.code);break;case"ArrowLeft":this._open&&e.stopImmediatePropagation(),this._mode==="cascade"&&this._open&&this._closeDropdown();break;case"ArrowRight":if(this._open&&e.stopImmediatePropagation(),!this._open)return;let o=this._adapter.getActiveOptionIndex(),r=this._nonDividerOptions[o];if(r&&r.options){this._adapter.toggleChildMenu(o,e.code==="ArrowRight");return}break}}async _openMenu({fromKeyboard:e}={}){this._open=!0;let t=[];if(typeof this._optionsFactory=="function")this._loadOptionsAsync(),this._options=[];else{if(!this._options||!this._options.length)return;t=this._options}this._persistSelection||t.forEach(r=>r.selected=!1),this._mapIconToLeadingIcon();let n=this._persistSelection?this._getSelectedValues():[],o={id:this._identifier,type:"menu",options:this._options,selectedValues:n,iconClass:this._iconClass,dense:this._dense,multiple:!1,popupStatic:!0,allowBusy:!0,asyncStyle:"spinner",optionBuilder:this._optionBuilder,optionLimit:this._optionLimit,headerBuilder:this._popupHeaderBuilder,footerBuilder:this._popupFooterBuilder,observeScroll:this._observeScroll,observeScrollThreshold:this._observeScrollThreshold,popupPlacement:this._placement,popupFallbackPlacements:this._fallbackPlacements,activeStartIndex:e?0:void 0,popupClasses:[i.classes.POPUP,i.classes.MENU,...this._popupClasses],syncWidth:this._syncPopupWidth,activeChangeCallback:this._activeChangeListener,selectCallback:this._selectListener,popupOffset:this._popupOffset,cascadingElementFactory:r=>this._createCascadingElement(r)};this._adapter.setHostAttribute(i.attributes.OPEN,""),this._adapter.attachMenu(o),this._mode==="cascade"&&(this._adapter.addDropdownListener("mouseenter",this._childPopupMouseEnterListener),this._adapter.addDropdownListener("mouseleave",this._childPopupMouseLeaveListener)),this._adapter.addDropdownListener(i.events.ACTIVE_CHANGE,r=>{this._onActiveOptionChanged(r.detail.id)}),this._adapter.emitHostEvent(i.events.OPEN)}_closeMenu(){this._open=!1,this._childOpen=!1,this._adapter.detachMenu(),this._activeMouseLeaveTimeout!==void 0&&window.clearTimeout(this._activeMouseLeaveTimeout),this._adapter.removeHostAttribute(i.attributes.OPEN),this._adapter.emitHostEvent(i.events.CLOSE)}_loadOptionsAsync(){return this._optionsFactory?Promise.resolve(this._optionsFactory()).then(e=>{if(this._persistSelection||e.forEach(t=>t.selected=!1),this._open)if(e&&I(e)&&e.length){this._options=e,this._adapter.setOptions(e);let t=this._getSelectedValues();t.length&&this._adapter.setSelectedValues(t)}else this._open&&this._closeDropdown()}).catch(e=>{console.error("An unexpected error ocurred while opening the menu:",e),this._open&&this._closeDropdown()}):(this._open&&this._closeMenu(),Promise.resolve())}_handleSelectEvent(e){let t=this._nonDividerOptions.findIndex(n=>n.value===e);t<0||this._selectOptionByIndex(t)}_selectActiveOption(){let e=this._adapter.getActiveOptionIndex();e>=0&&this._nonDividerOptions[e]&&this._selectOptionByIndex(e)}_selectOptionByIndex(e){let{options:t,value:n}=this._nonDividerOptions[e];if(t){this._adapter.setActiveOption(e);return}this._closeDropdown();let o={index:e,value:n};!this._adapter.emitHostEvent(i.events.SELECT,o,!0,!0)||(this._selectedValue=this._persistSelection?n:void 0)}_getSelectedValues(){let e=this._flatOptions.filter(t=>t.selected).map(t=>t.value);return this._selectedValue!==void 0&&e.push(this._selectedValue),e}_onCascadingOptionSelected(e){this._persistSelection&&(this._selectedValue=e.value),this._adapter.emitHostEvent(i.events.SELECT,e),this._closeDropdown()}_onCascadingChildOpen(e){super._clearMouseLeaveTimeout(),this._adapter.closeOtherChildMenus(e),this._childOpen=!0,this._adapter.setActiveOption(e)}_onCascadingChildClose(e){this._childOpen=!1}_closeDropdown(){this._closeMenu()}_openDropdown({fromKeyboard:e}={}){this._openMenu({fromKeyboard:e})}_setCascadeTargetInactive(){this._adapter.setCascadeTargetInactive()}_isOwnElement(e){return this._adapter.isOwnElement(e)}_createCascadingElement({index:e,options:t,parentValue:n}){let o=this._adapter.createChildMenu(e,n,this._onCascadingChildOpen.bind(this),this._onCascadingChildClose.bind(this),this._onCascadingOptionSelected.bind(this));return o.mode="cascade",o.popupOffset={x:0,y:-8},o.dense=this._dense,o.placement="right-start",o.fallbackPlacements=["left-start","right-start"],o.persistSelection=this._persistSelection,this._persistSelection&&(o.selectedValue=this._selectedValue),o.options=t,o.optionBuilder=this._optionBuilder,o.iconClass=this._iconClass,o}_mapIconToLeadingIcon(){this._flatOptions.filter(e=>e.icon).forEach(e=>e.leadingIcon=e.icon)}get open(){return this._open}set open(e){e=!!e,this._open!==e&&(this._open=e,e?this._openDropdown():this._closeDropdown())}set options(e){if(typeof e=="function")this.optionsFactory=e;else if(this.optionsFactory=void 0,this._options=e.map(t=>c({},t)),this._open&&(this._mapIconToLeadingIcon(),this._adapter.setOptions(this._options),this._persistSelection)){let t=this._getSelectedValues();t.length&&this._adapter.setSelectedValues(t)}}get options(){return this._options?this._flatOptions.map(e=>c({},e)):[]}set optionsFactory(e){this._optionsFactory=e}set selectedIndex(e){let t=this._nonDividerOptions[e];t&&t.value!==this._selectedValue&&(this.selectedValue=t.value)}get selectedIndex(){return this._selectedValue!==void 0?this._nonDividerOptions.findIndex(e=>e.value===this._selectedValue):-1}set selectedValue(e){this._selectedValue!==e&&(this._selectedValue=e,this._adapter.setSelectedValues(this._selectedValue))}get selectedValue(){return this._selectedValue}get placement(){return this._placement}set placement(e){this._placement!==e&&(this._placement=e||"bottom-start",this._adapter.setHostAttribute(i.attributes.PLACEMENT,this._placement))}get fallbackPlacements(){return this._fallbackPlacements}set fallbackPlacements(e){this._fallbackPlacements=Array.isArray(e)?e:[]}get dense(){return this._dense}set dense(e){this._dense=e}get iconClass(){return this._iconClass}set iconClass(e){this._iconClass=e}get persistSelection(){return this._persistSelection}set persistSelection(e){this._persistSelection!==e&&(this._persistSelection=e,this._adapter.toggleHostAttribute(i.attributes.PERSIST_SELECTION,this._persistSelection),this._persistSelection||(this._flatOptions.forEach(t=>t.selected=!1),this._selectedValue=void 0))}get mode(){return this._mode}set mode(e){this._mode!==e&&(this._mode=e,this._destroyInteractionListeners(),this._applyMode(),this._adapter.setHostAttribute(i.attributes.MODE,this._mode))}get popupOffset(){return this._popupOffset}set popupOffset(e){this._popupOffset=e}get optionBuilder(){return this._optionBuilder}set optionBuilder(e){this._optionBuilder=e}get popupElement(){return this._adapter.getDropdownElement()}};var q="<template><slot></slot></template>",W=":host{display:inline-block}:host([hidden]){display:none}",s=class extends k{constructor(){super();w.define(P),this._foundation=new h(new u(this)),C(this,q,W)}static get observedAttributes(){return[i.attributes.OPEN,i.attributes.PLACEMENT,i.attributes.SELECTED_INDEX,i.attributes.SELECTED_VALUE,i.attributes.DENSE,i.attributes.ICON_CLASS,i.attributes.PERSIST_SELECTION,i.attributes.MODE,i.attributes.SYNC_POPUP_WIDTH,i.attributes.POPUP_CLASSES,i.attributes.OPTION_LIMIT,i.attributes.OBSERVE_SCROLL,i.attributes.OBSERVE_SCROLL_THRESHOLD]}connectedCallback(){this.querySelector(i.selectors.TOGGLE)?this._foundation.initialize():M(this,i.selectors.TOGGLE).then(()=>this._foundation.initialize())}attributeChangedCallback(e,t,n){switch(super.attributeChangedCallback(e,t,n),e){case i.attributes.OPEN:this._foundation.open=O(n);break;case i.attributes.PLACEMENT:this._foundation.placement=n;break;case i.attributes.SELECTED_INDEX:this._foundation.selectedIndex=Number(n);break;case i.attributes.SELECTED_VALUE:this._foundation.selectedValue=n;break;case i.attributes.DENSE:this._foundation.dense=_(n);break;case i.attributes.ICON_CLASS:this._foundation.iconClass=n;break;case i.attributes.PERSIST_SELECTION:this.persistSelection=_(n);break;case i.attributes.MODE:this.mode=n;break}}disconnectedCallback(){this._foundation.disconnect()}propagateKeyEvent(e){this._foundation.onKeydown(e)}activateFirstOption(){this._foundation.activateFirstOption()}};a([p()],s.prototype,"open",2),a([p()],s.prototype,"options",2),a([p()],s.prototype,"selectedIndex",2),a([p()],s.prototype,"selectedValue",2),a([p()],s.prototype,"placement",2),a([p()],s.prototype,"fallbackPlacements",2),a([p()],s.prototype,"dense",2),a([p()],s.prototype,"iconClass",2),a([p()],s.prototype,"persistSelection",2),a([p()],s.prototype,"mode",2),a([p()],s.prototype,"popupOffset",2),a([p()],s.prototype,"optionBuilder",2),a([p({set:!1})],s.prototype,"popupElement",2),s=a([T({name:i.elementName,dependencies:[F,x,K,A]})],s);function Qe(){L(s)}export{i as a,u as b,h as c,s as d,Qe as e};
7
+ //# sourceMappingURL=chunk.JUJGROHA.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/menu/menu-constants.ts", "../../src/menu/menu-adapter.ts", "../../src/menu/menu-foundation.ts", "../../src/menu/menu.ts", "../../src/menu/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { IListDropdownOption, IListDropdownOptionGroup } from '../list-dropdown';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}menu`;\n\nconst classes = {\n POPUP: 'forge-menu__popup',\n MENU: 'mdc-menu'\n};\n\nconst selectors = {\n TOGGLE: `.${elementName}__toggle,[${elementName}-toggle],button,[type=button],[role=button],a,[tabindex]:not([tabindex^=\"-\"])`,\n MENU_LIST: 'forge-list'\n};\n\nconst attributes = {\n OPEN: 'open',\n PLACEMENT: 'placement',\n SELECTED_INDEX: 'selected-index',\n SELECTED_VALUE: 'selected-value',\n DENSE: 'dense',\n ICON_CLASS: 'icon-class',\n PERSIST_SELECTION: 'persist-selection',\n MODE: 'mode',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SELECT: `${elementName}-select`,\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n ACTIVE_CHANGE: `${elementName}-active-change`\n};\n\nconst numbers = {\n CHILD_MOUSE_LEAVE_TIMEOUT: 300,\n POPUP_MOUSE_LEAVE_TIMEOUT: 500\n};\n\nexport const MENU_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers\n};\n\nexport interface IMenuSelectEventData<T = any, K = any> {\n index: number;\n value?: T;\n parentValue?: K;\n}\n\nexport interface IMenuActiveChangeEventData {\n id: string;\n}\n\nexport interface IMenuOption<T = any> extends IListDropdownOption<T> {\n icon?: string;\n selected?: boolean;\n}\n\nexport interface IMenuOptionGroup extends IListDropdownOptionGroup {}\n\nexport type MenuOptionBuilder = (option: IMenuOption, parentElement: HTMLElement) => HTMLElement | string | void;\nexport type MenuOptionFactory = (() => IMenuOption[]) | (() => Promise<IMenuOption[]>);\nexport type MenuMode = 'click' | 'cascade';\n", "import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IMenuOption } from './index';\nimport { IMenuComponent } from './menu';\nimport { MENU_CONSTANTS, IMenuSelectEventData } from './menu-constants';\nimport { IListDropdownConfig, IListDropdown, ListDropdown } from '../list-dropdown';\nimport { IListComponent, IListItemComponent, LIST_CONSTANTS, LIST_ITEM_CONSTANTS } from '../list';\n\nexport interface IMenuAdapter extends IBaseAdapter {\n getDropdownElement(): HTMLElement | null;\n initializeTarget(): void;\n initializeAccessibility(id: string): void;\n hasTargetElement(): boolean;\n addTargetListener(event: string, callback: (event: Event) => void, bubbles?: boolean): void;\n removeTargetListener(event: string, callback: (event: Event) => void): void;\n attachMenu(config: IListDropdownConfig): void;\n detachMenu(): void;\n setOptions(options: IMenuOption[]): void;\n getActiveOptionIndex(): number;\n setActiveOption(index: number): void;\n activateFirstOption(): void;\n setCascadeTargetInactive(): void;\n propagateKey(key: string): void;\n proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void;\n toggleChildMenu(index: number, open?: boolean): void;\n focusTarget(): void;\n isTargetFocused(): boolean;\n updateActiveDescendant(id: string): void;\n isOwnElement(element: Element): boolean;\n addDropdownListener(type: string, listener: (evt: any) => void): void;\n createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent;\n closeOtherChildMenus(excludeIndex?: number): void;\n setSelectedValues(values: any[]): void;\n}\n\nexport class MenuAdapter extends BaseAdapter<IMenuComponent> implements IMenuAdapter {\n private _targetElement: HTMLElement | null;\n private _listDropdown?: IListDropdown;\n private _childMenus = new Map<number, IMenuComponent>();\n\n constructor(component: IMenuComponent) {\n super(component);\n }\n\n public getDropdownElement(): HTMLElement | null {\n return this._listDropdown?.dropdownElement ?? null;\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public initializeTarget(): void {\n this._targetElement = this._component.querySelector(MENU_CONSTANTS.selectors.TOGGLE);\n if (!this._targetElement) {\n this._targetElement = this._component.firstElementChild as HTMLElement;\n }\n }\n\n public initializeAccessibility(id: string): void {\n if (!this._targetElement) {\n return;\n }\n\n this._targetElement.setAttribute('aria-atomic', 'true');\n this._targetElement.setAttribute('aria-live', 'assertive');\n this._targetElement.setAttribute('aria-haspopup', 'true');\n this._targetElement.setAttribute('aria-expanded', 'false');\n\n if (!this._targetElement.hasAttribute('aria-label')) {\n this._targetElement.setAttribute('aria-label', this._targetElement.textContent || '');\n }\n }\n\n public addTargetListener(event: string, callback: (event: Event) => void, bubbles = false): void {\n if (this._targetElement) {\n this._targetElement.addEventListener(event, callback, bubbles);\n }\n }\n\n public removeTargetListener(event: string, callback: (event: Event) => void): void {\n if (this._targetElement) {\n this._targetElement.removeEventListener(event, callback);\n }\n }\n\n public attachMenu(config: IListDropdownConfig): void {\n if (this._listDropdown || !this._targetElement) {\n return;\n }\n this._listDropdown = new ListDropdown(this._targetElement as HTMLElement, config);\n this._listDropdown.open();\n this._targetElement.setAttribute('aria-expanded', 'true');\n this._targetElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n }\n\n public setOptions(options: IMenuOption[]): void {\n if (this._listDropdown) {\n this._listDropdown.setOptions(options);\n }\n }\n\n public detachMenu(): void {\n if (this._targetElement) {\n this._targetElement.removeAttribute('aria-activedescendant');\n this._targetElement.removeAttribute('aria-expanded');\n this._targetElement.removeAttribute('aria-controls');\n }\n\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public setCascadeTargetInactive(): void {\n const listItem = this._targetElement as IListItemComponent;\n if (listItem?.active) {\n listItem.active = false;\n }\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public focusTarget(): void {\n if (this._targetElement) {\n this._targetElement.focus();\n }\n }\n\n public isTargetFocused(): boolean {\n return document.activeElement === this._targetElement;\n }\n\n public updateActiveDescendant(id: string): void {\n if (!this._targetElement) {\n return;\n }\n if (id) {\n this._targetElement.setAttribute('aria-activedescendant', id);\n } else {\n this._targetElement.removeAttribute('aria-activedescendant');\n }\n }\n\n public addDropdownListener(type: string, listener: (evt: any) => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n this._listDropdown.dropdownElement.addEventListener(type, listener);\n }\n\n public isOwnElement(el: Element): boolean {\n if (!this._targetElement || !this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._targetElement.contains(el) || !!this._listDropdown.dropdownElement.contains(el);\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void {\n if (!this.getDropdownElement()) {\n return;\n }\n const openMenu = this._getOpenChildMenu(id);\n if (openMenu) {\n openMenu.propagateKeyEvent(evt);\n }\n }\n\n public toggleChildMenu(index: number, open?: boolean): void {\n const listItems = this._getListItems();\n const listItem = listItems[index];\n const childMenu = listItem.parentElement as IMenuComponent;\n if (childMenu && childMenu.tagName.toLowerCase() === MENU_CONSTANTS.elementName) {\n if (open === undefined) {\n childMenu.open = !childMenu.open;\n } else {\n childMenu.open = open;\n }\n childMenu.activateFirstOption();\n }\n }\n\n public createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent {\n const menu = document.createElement('forge-menu');\n menu.style.display = 'block';\n\n // Set listeners to notify the parent menu when anything important happens within a child menu that needs to be propagated to the root menu\n menu.addEventListener(MENU_CONSTANTS.events.OPEN, () => {\n this._childMenus.set(index, menu);\n openCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.CLOSE, () => {\n this._childMenus.delete(index);\n closeCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.SELECT, (evt: CustomEvent<IMenuSelectEventData>) => {\n evt.stopPropagation();\n selectCb({ ...evt.detail, parentValue });\n });\n\n return menu;\n }\n\n public closeOtherChildMenus(excludeIndex?: number): void {\n const menusToRemove: number[] = [];\n this._childMenus.forEach((menu, index) => {\n if (index !== excludeIndex) {\n menu.open = false;\n menusToRemove.push(index);\n }\n });\n menusToRemove.forEach(index => this._childMenus.delete(index));\n }\n\n public setSelectedValues(values: any[]): void {\n this._listDropdown?.setSelectedValues(values);\n }\n\n private _getOpenChildMenu(id: string): IMenuComponent | null {\n if (!this.getDropdownElement()) {\n return null;\n }\n const list = this._getOwnList(id);\n return list ? list.querySelector(`${MENU_CONSTANTS.elementName}[${MENU_CONSTANTS.attributes.OPEN}]`) : null;\n }\n\n private _getOwnList(id: string): IListComponent | null {\n const popup = this.getDropdownElement();\n if (!popup) {\n return null;\n }\n return popup.querySelector(`${LIST_CONSTANTS.elementName}[id=\"list-dropdown-list-${id}\"]`);\n }\n\n private _getListItems(): IListItemComponent[] {\n const popup = this.getDropdownElement();\n if (!popup) {\n return [];\n }\n const listElement = popup.querySelector(LIST_CONSTANTS.elementName);\n if (listElement) {\n return Array.from(listElement.querySelectorAll(LIST_ITEM_CONSTANTS.elementName)) as IListItemComponent[];\n }\n return [];\n }\n}\n", "import { ICustomElementFoundation, isArray, randomChars } from '@tylertech/forge-core';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { CascadingListDropdownAwareFoundation, IListDropdownCascadingElementFactoryConfig, IListDropdownConfig, ListDropdownAsyncStyle, ListDropdownType } from '../list-dropdown';\nimport { isListDropdownOptionType, ListDropdownOptionType } from '../list-dropdown/list-dropdown-utils';\nimport { IPopupPosition, PopupPlacement } from '../popup';\nimport { IMenuOption } from './index';\nimport { IMenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\n\nexport interface IMenuFoundation extends ICustomElementFoundation {\n initialize(): void;\n disconnect(): void;\n onKeydown(evt: KeyboardEvent): void;\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup>;\n optionsFactory: MenuOptionFactory | undefined;\n selectedIndex: number;\n selectedValue: any;\n placement: PopupPlacement;\n fallbackPlacements: PopupPlacement[];\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n activateFirstOption(): void;\n}\n\nexport class MenuFoundation extends CascadingListDropdownAwareFoundation<IMenuOption | IMenuOptionGroup> implements IMenuFoundation {\n private _optionsFactory: MenuOptionFactory | undefined;\n private _placement: PopupPlacement = 'bottom-start';\n private _fallbackPlacements: PopupPlacement[] = [];\n private _dense = false;\n private _selectedValue: any;\n private _iconClass = ICON_CLASS_NAME;\n private _persistSelection = false;\n private _mode: MenuMode = 'click';\n private _popupOffset: IPopupPosition;\n private _optionBuilder: MenuOptionBuilder | undefined;\n private _identifier: string;\n private _clickListener: (evt: MouseEvent) => void;\n private _blurListener: (evt: MouseEvent) => void;\n private _selectListener: (value: any) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _activeChangeListener: (id: string) => void;\n \n constructor(private _adapter: IMenuAdapter) {\n super({\n popupTimeout: MENU_CONSTANTS.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,\n targetTimeout: MENU_CONSTANTS.numbers.CHILD_MOUSE_LEAVE_TIMEOUT\n });\n this._identifier = randomChars();\n this._clickListener = evt => this._onTargetClick(evt);\n this._blurListener = evt => this._onTargetBlur(evt);\n this._selectListener = value => this._handleSelectEvent(value);\n this._keydownListener = evt => this.onKeydown(evt);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n }\n\n public initialize(): void {\n this._adapter.initializeTarget();\n this._adapter.initializeAccessibility(this._identifier);\n this._initializeInteractionListeners();\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._destroyInteractionListeners();\n }\n\n public activateFirstOption(): void {\n this._adapter.activateFirstOption();\n }\n\n private _applyMode(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n\n if (this._mode !== 'cascade') {\n this._adapter.addTargetListener('click', this._clickListener);\n } else {\n this._attachCascadingListeners();\n }\n }\n\n private _initializeInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._applyMode();\n this._adapter.addTargetListener('keydown', this._keydownListener, true);\n this._adapter.addTargetListener('focusout', this._blurListener);\n }\n\n private _destroyInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._adapter.removeTargetListener('keydown', this._clickListener);\n this._adapter.removeTargetListener('focusout', this._blurListener);\n this._adapter.removeTargetListener('click', this._clickListener);\n this._detachCascadingListeners();\n }\n\n protected _attachCascadingListeners(): void {\n this._adapter.addTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.addTargetListener('mouseleave', this._targetMouseLeaveListener);\n\n // We listen for document mousemove events only to track mouse coords for use when determining\n // if popups should open/close after specific delays\n this._adapter.addDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n protected _detachCascadingListeners(): void {\n this._adapter.removeTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.removeTargetListener('mouseleave', this._targetMouseLeaveListener);\n this._adapter.removeDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n private get _nonDividerOptions(): IMenuOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n private get _flatOptions(): IMenuOption[] {\n if (isListDropdownOptionType(this._options, ListDropdownOptionType.Group)) {\n return (this._options as IMenuOptionGroup[]).reduce((previousValue, currentValue) => previousValue.concat(currentValue.options), [] as IMenuOption[]) as IMenuOption[];\n }\n return this._options as IMenuOption[];\n }\n\n private _onTargetClick(evt: MouseEvent): void {\n if (this._open) {\n this._closeDropdown();\n return;\n }\n this.open = !this._open;\n if (this._open) {\n this._adapter.focusTarget();\n }\n }\n\n private _onTargetBlur(evt: Event): void {\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n private _onActiveOptionChanged(id: string): void {\n // We need to dispatch an event when the active descendant changes to propagate that to the proper target element\n const data: IMenuActiveChangeEventData = { id };\n const canSetActiveDescendant = this._adapter.emitHostEvent(MENU_CONSTANTS.events.ACTIVE_CHANGE, data, true, true);\n if (this._mode !== 'cascade' && canSetActiveDescendant) {\n this._adapter.updateActiveDescendant(id);\n }\n }\n\n public onKeydown(evt: KeyboardEvent): void {\n // If we have any child menus open, we need to proxy the keyboard events to those and exit\n if (this._childOpen) {\n this._adapter.proxyKeyboardEventToChild(evt, this._identifier);\n return;\n }\n\n switch (evt.code) {\n case 'Tab':\n if (this._open) {\n this._selectActiveOption();\n }\n break;\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n evt.stopPropagation();\n this._closeDropdown();\n }\n break;\n case 'Space':\n evt.preventDefault();\n\n if (this._open) {\n this._closeDropdown();\n } else {\n this._openDropdown({ fromKeyboard: true });\n }\n break;\n case 'Home':\n case 'End':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateKey(evt.code);\n }\n break;\n case 'Enter':\n evt.preventDefault();\n\n if (!this._open) {\n evt.preventDefault();\n this._openDropdown({ fromKeyboard: true });\n return;\n }\n\n evt.stopImmediatePropagation();\n\n this._adapter.propagateKey(evt.code);\n\n // Check if we need to toggle the child menu open state\n const activeIndex = this._adapter.getActiveOptionIndex();\n const activeOption = this._nonDividerOptions[activeIndex];\n if (activeOption && activeOption.options && activeOption.options.length) {\n this._adapter.toggleChildMenu(activeIndex);\n }\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n\n evt.preventDefault();\n\n if (!this._open && evt.code === 'ArrowDown') {\n this._openDropdown({ fromKeyboard: true });\n this._adapter.activateFirstOption();\n return;\n }\n\n this._adapter.propagateKey(evt.code);\n break;\n case 'ArrowLeft':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (this._mode === 'cascade' && this._open) {\n this._closeDropdown();\n }\n break;\n case 'ArrowRight':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (!this._open) {\n return;\n }\n const hoveredIndex = this._adapter.getActiveOptionIndex();\n const hoveredOption = this._nonDividerOptions[hoveredIndex];\n if (hoveredOption && hoveredOption.options) {\n this._adapter.toggleChildMenu(hoveredIndex, evt.code === 'ArrowRight');\n return;\n }\n break;\n }\n }\n\n private async _openMenu({ fromKeyboard }: { fromKeyboard?: boolean } = {}): Promise<void> {\n this._open = true;\n let options: IMenuOption[] = [];\n\n if (typeof this._optionsFactory === 'function') {\n this._loadOptionsAsync();\n this._options = [];\n } else {\n if (!this._options || !this._options.length) {\n return;\n }\n options = this._options as IMenuOption[];\n }\n\n if (!this._persistSelection) {\n options.forEach(o => o.selected = false);\n }\n\n this._mapIconToLeadingIcon();\n\n const selectedValues = this._persistSelection ? this._getSelectedValues() : [];\n\n const config: IListDropdownConfig = {\n id: this._identifier,\n type: ListDropdownType.Menu,\n options: this._options,\n selectedValues,\n iconClass: this._iconClass,\n dense: this._dense,\n multiple: false,\n popupStatic: true,\n allowBusy: true,\n asyncStyle: ListDropdownAsyncStyle.Spinner,\n optionBuilder: this._optionBuilder,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n popupPlacement: this._placement,\n popupFallbackPlacements: this._fallbackPlacements,\n activeStartIndex: fromKeyboard ? 0 : undefined,\n popupClasses: [\n MENU_CONSTANTS.classes.POPUP,\n MENU_CONSTANTS.classes.MENU,\n ...this._popupClasses as string[]\n ],\n syncWidth: this._syncPopupWidth,\n activeChangeCallback: this._activeChangeListener,\n selectCallback: this._selectListener,\n popupOffset: this._popupOffset,\n cascadingElementFactory: params => this._createCascadingElement(params)\n };\n\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.OPEN, '');\n this._adapter.attachMenu(config);\n\n // If this menu is in a hover mode, we need to listen for mouse enter/leave events to know when the user is hovering over the popup\n if (this._mode === 'cascade') {\n this._adapter.addDropdownListener('mouseenter', this._childPopupMouseEnterListener);\n this._adapter.addDropdownListener('mouseleave', this._childPopupMouseLeaveListener);\n }\n \n this._adapter.addDropdownListener(MENU_CONSTANTS.events.ACTIVE_CHANGE, (evt: CustomEvent<IMenuActiveChangeEventData>) => {\n this._onActiveOptionChanged(evt.detail.id);\n });\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.OPEN);\n }\n\n private _closeMenu(): void {\n this._open = false;\n this._childOpen = false;\n this._adapter.detachMenu();\n\n if (this._activeMouseLeaveTimeout !== undefined) {\n window.clearTimeout(this._activeMouseLeaveTimeout);\n }\n\n this._adapter.removeHostAttribute(MENU_CONSTANTS.attributes.OPEN);\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.CLOSE);\n }\n\n private _loadOptionsAsync(): Promise<void> {\n if (!this._optionsFactory) {\n if (this._open) {\n this._closeMenu();\n }\n return Promise.resolve();\n }\n\n return Promise.resolve(this._optionsFactory())\n .then(results => {\n if (!this._persistSelection) {\n results.forEach(o => o.selected = false);\n }\n\n if (this._open) {\n if (results && isArray(results) && results.length) {\n this._options = results;\n this._adapter.setOptions(results);\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n } else if (this._open) {\n this._closeDropdown();\n }\n }\n })\n .catch(e => {\n console.error('An unexpected error ocurred while opening the menu:', e);\n if (this._open) {\n this._closeDropdown();\n }\n });\n }\n\n private _handleSelectEvent(value: any): void {\n const index = this._nonDividerOptions.findIndex(o => o.value === value);\n if (index < 0) {\n return;\n }\n this._selectOptionByIndex(index);\n }\n\n private _selectActiveOption(): void {\n const index = this._adapter.getActiveOptionIndex();\n if (index >= 0 && this._nonDividerOptions[index]) {\n this._selectOptionByIndex(index);\n }\n }\n\n private _selectOptionByIndex(index: number): void {\n const { options, value } = this._nonDividerOptions[index];\n\n // We ignore selections if the option has child options\n if (options) {\n this._adapter.setActiveOption(index);\n return;\n }\n\n this._closeDropdown();\n \n const data: IMenuSelectEventData = { index, value };\n const isCancelled = !this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data, true, true);\n if (!isCancelled) {\n this._selectedValue = this._persistSelection ? value : undefined;\n }\n }\n\n private _getSelectedValues(): any[] {\n const values = this._flatOptions.filter(o => o.selected).map(o => o.value);\n if (this._selectedValue !== undefined) {\n values.push(this._selectedValue);\n }\n return values;\n }\n\n /** Called when a child menu option is selected. */\n protected _onCascadingOptionSelected(data: IMenuSelectEventData): void {\n if (this._persistSelection) {\n this._selectedValue = data.value;\n }\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data);\n this._closeDropdown();\n }\n\n /** Called when a child menu is opened off of one of our menu options. */\n protected _onCascadingChildOpen(index: number): void {\n super._clearMouseLeaveTimeout();\n this._adapter.closeOtherChildMenus(index);\n this._childOpen = true;\n this._adapter.setActiveOption(index);\n }\n\n /** Called when a child menu is closed off of one of our menu options. */\n protected _onCascadingChildClose(index: number): void {\n this._childOpen = false;\n }\n\n protected _closeDropdown(): void {\n this._closeMenu();\n }\n\n protected _openDropdown({ fromKeyboard }: { fromKeyboard?: boolean } = {}): void {\n this._openMenu({ fromKeyboard });\n }\n\n protected _setCascadeTargetInactive(): void {\n this._adapter.setCascadeTargetInactive();\n }\n\n protected _isOwnElement(element: Element): boolean {\n return this._adapter.isOwnElement(element);\n }\n\n private _createCascadingElement({ index, options, parentValue }: IListDropdownCascadingElementFactoryConfig): HTMLElement {\n const menu = this._adapter.createChildMenu(\n index,\n parentValue,\n this._onCascadingChildOpen.bind(this),\n this._onCascadingChildClose.bind(this),\n this._onCascadingOptionSelected.bind(this)\n );\n menu.mode = 'cascade';\n menu.popupOffset = { x: 0, y: -8 };\n menu.dense = this._dense;\n menu.placement = 'right-start';\n menu.fallbackPlacements = ['left-start', 'right-start']; // Cascading menus should only fallback to left or right placement if needed\n menu.persistSelection = this._persistSelection;\n if (this._persistSelection) {\n menu.selectedValue = this._selectedValue;\n }\n menu.options = options;\n menu.optionBuilder = this._optionBuilder;\n menu.iconClass = this._iconClass;\n\n return menu;\n }\n\n private _mapIconToLeadingIcon(): void {\n // For backwards compatibility with old API, map the old \"icon\" property to the new \"leadingIcon\" property (if exists)\n this._flatOptions.filter(o => o.icon).forEach(o => o.leadingIcon = o.icon);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n value = Boolean(value);\n if (this._open !== value) {\n this._open = value;\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public set options(options: IMenuOption[]) {\n if (typeof options === 'function') {\n this.optionsFactory = options;\n } else {\n this.optionsFactory = undefined;\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone\n // function to the core library.\n this._options = options.map(o => ({ ...o }));\n \n if (this._open) {\n this._mapIconToLeadingIcon();\n this._adapter.setOptions(this._options as IMenuOption[]);\n if (this._persistSelection) {\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n }\n }\n }\n }\n public get options(): IMenuOption[] {\n if (!this._options) {\n return [];\n }\n\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone\n // function to the core library.\n return this._flatOptions.map(o => ({ ...o }));\n }\n\n public set optionsFactory(factory: MenuOptionFactory | undefined) {\n this._optionsFactory = factory;\n }\n\n public set selectedIndex(value: number) {\n const option = this._nonDividerOptions[value];\n if (option && option.value !== this._selectedValue) {\n this.selectedValue = option.value;\n }\n }\n public get selectedIndex(): number {\n return this._selectedValue !== undefined ? this._nonDividerOptions.findIndex(o => o.value === this._selectedValue) : -1;\n }\n\n public set selectedValue(value: any) {\n if (this._selectedValue !== value) {\n this._selectedValue = value;\n this._adapter.setSelectedValues(this._selectedValue);\n }\n }\n public get selectedValue(): any {\n return this._selectedValue;\n }\n\n public get placement(): PopupPlacement {\n return this._placement;\n }\n public set placement(value: PopupPlacement) {\n if (this._placement !== value) {\n this._placement = value || 'bottom-start';\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.PLACEMENT, this._placement);\n }\n }\n\n public get fallbackPlacements(): PopupPlacement[] {\n return this._fallbackPlacements;\n }\n public set fallbackPlacements(value: PopupPlacement[]) {\n this._fallbackPlacements = Array.isArray(value) ? value : [];\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n this._dense = value;\n }\n\n public get iconClass(): string {\n return this._iconClass;\n }\n public set iconClass(value: string) {\n this._iconClass = value;\n }\n\n public get persistSelection(): boolean {\n return this._persistSelection;\n }\n public set persistSelection(value: boolean) {\n if (this._persistSelection === value) {\n return;\n }\n\n this._persistSelection = value;\n this._adapter.toggleHostAttribute(MENU_CONSTANTS.attributes.PERSIST_SELECTION, this._persistSelection);\n\n if (!this._persistSelection) {\n this._flatOptions.forEach(o => o.selected = false);\n this._selectedValue = undefined;\n }\n }\n\n public get mode(): MenuMode {\n return this._mode;\n }\n public set mode(value: MenuMode) {\n if (this._mode !== value) {\n this._mode = value;\n this._destroyInteractionListeners();\n this._applyMode();\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.MODE, this._mode);\n }\n }\n\n public get popupOffset(): IPopupPosition {\n return this._popupOffset;\n }\n public set popupOffset(value: IPopupPosition) {\n this._popupOffset = value;\n }\n\n public get optionBuilder(): MenuOptionBuilder | undefined {\n return this._optionBuilder;\n }\n public set optionBuilder(cb: MenuOptionBuilder | undefined) {\n this._optionBuilder = cb;\n }\n\n public get popupElement(): HTMLElement | null {\n return this._adapter.getDropdownElement();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChild, FoundationProperty, isDefined } from '@tylertech/forge-core';\nimport { tylIconArrowRight } from '@tylertech/tyler-icons/standard';\nimport { CircularProgressComponent } from '../circular-progress';\nimport { IconRegistry } from '../icon';\nimport { LinearProgressComponent } from '../linear-progress';\nimport { ListComponent } from '../list';\nimport { IListDropdownAware, ListDropdownAware } from '../list-dropdown/list-dropdown-aware';\nimport { IPopupPosition, PopupComponent, PopupPlacement } from '../popup';\nimport { MenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOption, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\nimport { MenuFoundation } from './menu-foundation';\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:inline-block}:host([hidden]){display:none}';\n\nexport interface IMenuComponent extends IListDropdownAware {\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n selectedIndex: number;\n selectedValue: number;\n placement: PopupPlacement;\n fallbackPlacements: PopupPlacement[];\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n popupElement: HTMLElement | undefined;\n propagateKeyEvent(evt: KeyboardEvent): void;\n activateFirstOption(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-menu': IMenuComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-menu-select': CustomEvent<IMenuSelectEventData>;\n 'forge-menu-open': CustomEvent<void>;\n 'forge-menu-close': CustomEvent<void>;\n 'forge-menu-active-change': CustomEvent<IMenuActiveChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-menu>` custom element.\n * \n * @tag forge-menu\n */\n@CustomElement({\n name: MENU_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ListComponent,\n CircularProgressComponent,\n LinearProgressComponent\n ]\n})\nexport class MenuComponent extends ListDropdownAware implements IMenuComponent {\n public static get observedAttributes(): string[] {\n return [\n MENU_CONSTANTS.attributes.OPEN,\n MENU_CONSTANTS.attributes.PLACEMENT,\n MENU_CONSTANTS.attributes.SELECTED_INDEX,\n MENU_CONSTANTS.attributes.SELECTED_VALUE,\n MENU_CONSTANTS.attributes.DENSE,\n MENU_CONSTANTS.attributes.ICON_CLASS,\n MENU_CONSTANTS.attributes.PERSIST_SELECTION,\n MENU_CONSTANTS.attributes.MODE,\n MENU_CONSTANTS.attributes.SYNC_POPUP_WIDTH,\n MENU_CONSTANTS.attributes.POPUP_CLASSES,\n MENU_CONSTANTS.attributes.OPTION_LIMIT,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD\n ];\n }\n\n private _foundation: MenuFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconArrowRight);\n this._foundation = new MenuFoundation(new MenuAdapter(this));\n attachShadowTemplate(this, template, styles);\n }\n\n public connectedCallback(): void {\n if (this.querySelector(MENU_CONSTANTS.selectors.TOGGLE)) {\n this._foundation.initialize();\n } else {\n ensureChild(this, MENU_CONSTANTS.selectors.TOGGLE).then(() => this._foundation.initialize());\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case MENU_CONSTANTS.attributes.OPEN:\n this._foundation.open = isDefined(newValue);\n break;\n case MENU_CONSTANTS.attributes.PLACEMENT:\n this._foundation.placement = newValue as PopupPlacement;\n break;\n case MENU_CONSTANTS.attributes.SELECTED_INDEX:\n this._foundation.selectedIndex = Number(newValue);\n break;\n case MENU_CONSTANTS.attributes.SELECTED_VALUE:\n this._foundation.selectedValue = newValue;\n break;\n case MENU_CONSTANTS.attributes.DENSE:\n this._foundation.dense = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.ICON_CLASS:\n this._foundation.iconClass = newValue;\n break;\n case MENU_CONSTANTS.attributes.PERSIST_SELECTION:\n this.persistSelection = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.MODE:\n this.mode = newValue as MenuMode;\n break;\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n /** Gets/sets the open state. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Gets/sets the array of options to display in the menu. */\n @FoundationProperty()\n public declare options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n\n /** Gets/sets the selected option to the index. Does not support cascading menus. */\n @FoundationProperty()\n public declare selectedIndex: number;\n\n /** Gets/sets the value of the option to select. */\n @FoundationProperty()\n public declare selectedValue: any;\n\n /** Gets/sets the menu placement (default is bottom-left). */\n @FoundationProperty()\n public declare placement: `${PopupPlacement}`;\n\n /** Gets/sets the fallback menu placement for overriding the default of any side. */\n @FoundationProperty()\n public declare fallbackPlacements: `${PopupPlacement}`[];\n\n /** Gets/sets dense state of the list options used in the menu popup. */\n @FoundationProperty()\n public declare dense: boolean;\n\n /** Gets/sets the class name to use for option icons. */\n @FoundationProperty()\n public declare iconClass: string;\n\n /**\n * Gets/sets whether selection of menu items is persisted.\n * @deprecated Please use `<forge-select-dropdown>` for handling selection states.\n */\n @FoundationProperty()\n public declare persistSelection: boolean;\n\n /** Gets/sets the mode that this menu is using. */\n @FoundationProperty()\n public declare mode: MenuMode;\n\n /** Sets the position adjustment on the internal popup element. */\n @FoundationProperty()\n public declare popupOffset: IPopupPosition;\n\n /** Sets the callback that will be executed for each option in the dropdown for producing custom option templates. */\n @FoundationProperty()\n public declare optionBuilder: MenuOptionBuilder;\n\n /** Gets the currently active popup element when the dropdown is open. */\n @FoundationProperty({ set: false })\n public declare popupElement: HTMLElement | undefined;\n\n /** Force propagates the key event from another element this component. */\n public propagateKeyEvent(evt: KeyboardEvent): void {\n this._foundation.onKeydown(evt);\n }\n\n public activateFirstOption(): void {\n this._foundation.activateFirstOption();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { MenuComponent } from './menu';\n\nexport * from './menu-adapter';\nexport * from './menu-constants';\nexport * from './menu-foundation';\nexport * from './menu';\n\nexport function defineMenuComponent(): void {\n defineCustomElement(MenuComponent);\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "selectors", "attributes", "events", "numbers", "MENU_CONSTANTS", "MenuAdapter", "BaseAdapter", "component", "_a", "_b", "MENU_CONSTANTS", "id", "event", "callback", "bubbles", "config", "ListDropdown", "options", "index", "listItem", "type", "listener", "el", "key", "evt", "openMenu", "open", "childMenu", "parentValue", "openCb", "closeCb", "selectCb", "menu", "__spreadProps", "__spreadValues", "excludeIndex", "menusToRemove", "values", "list", "popup", "LIST_CONSTANTS", "listElement", "LIST_ITEM_CONSTANTS", "MenuFoundation", "CascadingListDropdownAwareFoundation", "_adapter", "MENU_CONSTANTS", "ICON_CLASS_NAME", "randomChars", "evt", "value", "id", "o", "isListDropdownOptionType", "previousValue", "currentValue", "data", "canSetActiveDescendant", "activeIndex", "activeOption", "hoveredIndex", "hoveredOption", "fromKeyboard", "options", "selectedValues", "config", "params", "results", "isArray", "index", "values", "element", "parentValue", "menu", "__spreadValues", "factory", "option", "cb", "template", "styles", "MenuComponent", "ListDropdownAware", "IconRegistry", "tylIconArrowRight", "MenuFoundation", "MenuAdapter", "attachShadowTemplate", "MENU_CONSTANTS", "ensureChild", "name", "oldValue", "newValue", "isDefined", "coerceBoolean", "evt", "__decorateClass", "FoundationProperty", "CustomElement", "PopupComponent", "ListComponent", "CircularProgressComponent", "LinearProgressComponent", "defineMenuComponent", "defineCustomElement", "MenuComponent"]
7
7
  }
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{a as E}from"./chunk.7XFU2W25.js";import{a as v}from"./chunk.G5MGGEFP.js";import{a as o}from"./chunk.KTGSZEAG.js";import{g as m,l as h}from"./chunk.Y4GKBJGI.js";import{f as l,g as _}from"./chunk.PN26D52V.js";import{b as p,k as c}from"./chunk.J2M2MXP2.js";import{f as s}from"./chunk.MCIQXNKY.js";var f={OPEN:"open",DIRECTION:"direction"},D={DRAWER:"forge-drawer",LEFT:"forge-drawer--left",RIGHT:"forge-drawer--right",CLOSING:"forge-drawer--closing",CLOSED:"forge-drawer--closed",NO_TRANSITION:"forge-drawer--no-transition"},w={DRAWER:`.${D.DRAWER}`},b={AFTER_OPEN:"forge-drawer-after-open",AFTER_CLOSE:"forge-drawer-after-close"},e={attributes:f,classes:D,selectors:w,events:b};var u=class extends v{constructor(t){super(t);this._component=t;this._drawerElement=m(this._component,e.selectors.DRAWER)}proxyScrollEvent(){this.tryUnproxyScrollEvent(),this._unproxyScrollEventCb=E(this._component.shadowRoot,this._component)}tryUnproxyScrollEvent(){this._unproxyScrollEventCb&&this._unproxyScrollEventCb()}setDirection(t){switch(t){case"left":this._drawerElement.classList.remove(e.classes.RIGHT),this._drawerElement.classList.add(e.classes.LEFT);break;case"right":this._drawerElement.classList.remove(e.classes.LEFT),this._drawerElement.classList.add(e.classes.RIGHT);break}}removeDrawerClass(t){_(t,this._drawerElement)}setDrawerClass(t){l(t,this._drawerElement)}listenTransitionComplete(t){this._activeTransitionListener&&this._drawerElement.removeEventListener("transitionend",this._activeTransitionListener),this._activeTransitionListener=a=>{a.propertyName==="transform"&&(this._activeTransitionListener&&(this._drawerElement.removeEventListener("transitionend",this._activeTransitionListener),this._activeTransitionListener=void 0),t())},this._drawerElement.addEventListener("transitionend",this._activeTransitionListener)}};var C=class{constructor(r){this._adapter=r;this._open=!0;this._direction="left";this._hasInitialized=!1;this._openAnimationListener=()=>this._onOpenComplete(),this._closeAnimationListener=()=>this._onCloseComplete()}connect(){this._open?this._setOpened():this._setClosed(),this._applyDirection(),this._adapter.proxyScrollEvent(),this._hasInitialized=!0}disconnect(){this._adapter.tryUnproxyScrollEvent(),this._hasInitialized=!1}_applyDirection(){this._adapter.setDirection(this._direction),this._adapter.setHostAttribute(e.attributes.DIRECTION,p(this._direction)?this._direction.toString():"")}_onOpenComplete(){!this._open||(this._setOpened(),this._adapter.emitHostEvent(e.events.AFTER_OPEN))}_onCloseComplete(){this._open||(this._setClosed(),this._adapter.emitHostEvent(e.events.AFTER_CLOSE))}_setOpened(){this._adapter.removeDrawerClass([e.classes.CLOSED,e.classes.CLOSING]),this._adapter.setHostAttribute(e.attributes.OPEN)}_setClosed(){this._adapter.removeDrawerClass([e.classes.CLOSING,e.classes.NO_TRANSITION]),this._adapter.setDrawerClass(e.classes.CLOSED),this._adapter.removeHostAttribute(e.attributes.OPEN)}_applyOpen(){this._open?(this._triggerDrawerOpen(),this._adapter.setHostAttribute(e.attributes.OPEN)):(this._triggerDrawerClose(),this._adapter.removeHostAttribute(e.attributes.OPEN))}_triggerDrawerOpen(){this._adapter.listenTransitionComplete(this._openAnimationListener),this._adapter.removeDrawerClass([e.classes.CLOSED,e.classes.CLOSING])}_triggerDrawerClose(){this._adapter.listenTransitionComplete(this._closeAnimationListener),this._adapter.setDrawerClass(e.classes.CLOSING)}get open(){return this._open}set open(r){this._open!==r&&(this._open=r,this._hasInitialized&&this._applyOpen())}get direction(){return this._direction}set direction(r){this._direction!==r&&(this._direction=r,this._hasInitialized&&this._applyDirection())}};var i=class extends h{constructor(){super()}static get observedAttributes(){return[e.attributes.OPEN,e.attributes.DIRECTION]}connectedCallback(){this._foundation.connect()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,a,d){switch(t){case e.attributes.OPEN:this.open=c(d);break;case e.attributes.DIRECTION:this.direction=d;break}}};s([o()],i.prototype,"open",2),s([o()],i.prototype,"direction",2);export{e as a,u as b,C as c,i as d};
7
- //# sourceMappingURL=chunk.UBD2DPQN.js.map
6
+ import{a as E}from"./chunk.7XFU2W25.js";import{a as o}from"./chunk.NVUMRW44.js";import{a as v}from"./chunk.BKL2BAYW.js";import{f as m,k as h}from"./chunk.MVTBJPO2.js";import{f as l,g as _}from"./chunk.K7FPXAFS.js";import{b as p,k as c}from"./chunk.J2M2MXP2.js";import{d as s}from"./chunk.M3QDAYD2.js";var f={OPEN:"open",DIRECTION:"direction"},D={DRAWER:"forge-drawer",LEFT:"forge-drawer--left",RIGHT:"forge-drawer--right",CLOSING:"forge-drawer--closing",CLOSED:"forge-drawer--closed",NO_TRANSITION:"forge-drawer--no-transition"},w={DRAWER:`.${D.DRAWER}`},b={AFTER_OPEN:"forge-drawer-after-open",AFTER_CLOSE:"forge-drawer-after-close"},e={attributes:f,classes:D,selectors:w,events:b};var u=class extends v{constructor(t){super(t);this._component=t;this._drawerElement=m(this._component,e.selectors.DRAWER)}proxyScrollEvent(){this.tryUnproxyScrollEvent(),this._unproxyScrollEventCb=E(this._component.shadowRoot,this._component)}tryUnproxyScrollEvent(){this._unproxyScrollEventCb&&this._unproxyScrollEventCb()}setDirection(t){switch(t){case"left":this._drawerElement.classList.remove(e.classes.RIGHT),this._drawerElement.classList.add(e.classes.LEFT);break;case"right":this._drawerElement.classList.remove(e.classes.LEFT),this._drawerElement.classList.add(e.classes.RIGHT);break}}removeDrawerClass(t){_(t,this._drawerElement)}setDrawerClass(t){l(t,this._drawerElement)}listenTransitionComplete(t){this._activeTransitionListener&&this._drawerElement.removeEventListener("transitionend",this._activeTransitionListener),this._activeTransitionListener=a=>{a.propertyName==="transform"&&(this._activeTransitionListener&&(this._drawerElement.removeEventListener("transitionend",this._activeTransitionListener),this._activeTransitionListener=void 0),t())},this._drawerElement.addEventListener("transitionend",this._activeTransitionListener)}};var C=class{constructor(r){this._adapter=r;this._open=!0;this._direction="left";this._hasInitialized=!1;this._openAnimationListener=()=>this._onOpenComplete(),this._closeAnimationListener=()=>this._onCloseComplete()}connect(){this._open?this._setOpened():this._setClosed(),this._applyDirection(),this._adapter.proxyScrollEvent(),this._hasInitialized=!0}disconnect(){this._adapter.tryUnproxyScrollEvent(),this._hasInitialized=!1}_applyDirection(){this._adapter.setDirection(this._direction),this._adapter.setHostAttribute(e.attributes.DIRECTION,p(this._direction)?this._direction.toString():"")}_onOpenComplete(){this._open&&(this._setOpened(),this._adapter.emitHostEvent(e.events.AFTER_OPEN))}_onCloseComplete(){this._open||(this._setClosed(),this._adapter.emitHostEvent(e.events.AFTER_CLOSE))}_setOpened(){this._adapter.removeDrawerClass([e.classes.CLOSED,e.classes.CLOSING]),this._adapter.setHostAttribute(e.attributes.OPEN)}_setClosed(){this._adapter.removeDrawerClass([e.classes.CLOSING,e.classes.NO_TRANSITION]),this._adapter.setDrawerClass(e.classes.CLOSED),this._adapter.removeHostAttribute(e.attributes.OPEN)}_applyOpen(){this._open?(this._triggerDrawerOpen(),this._adapter.setHostAttribute(e.attributes.OPEN)):(this._triggerDrawerClose(),this._adapter.removeHostAttribute(e.attributes.OPEN))}_triggerDrawerOpen(){this._adapter.listenTransitionComplete(this._openAnimationListener),this._adapter.removeDrawerClass([e.classes.CLOSED,e.classes.CLOSING])}_triggerDrawerClose(){this._adapter.listenTransitionComplete(this._closeAnimationListener),this._adapter.setDrawerClass(e.classes.CLOSING)}get open(){return this._open}set open(r){this._open!==r&&(this._open=r,this._hasInitialized&&this._applyOpen())}get direction(){return this._direction}set direction(r){this._direction!==r&&(this._direction=r,this._hasInitialized&&this._applyDirection())}};var i=class extends h{constructor(){super()}static get observedAttributes(){return[e.attributes.OPEN,e.attributes.DIRECTION]}connectedCallback(){this._foundation.connect()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,a,d){switch(t){case e.attributes.OPEN:this.open=c(d);break;case e.attributes.DIRECTION:this.direction=d;break}}};s([o()],i.prototype,"open",2),s([o()],i.prototype,"direction",2);export{e as a,u as b,C as c,i as d};
7
+ //# sourceMappingURL=chunk.K3KAM2PL.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/drawer/base/base-drawer-constants.ts", "../../src/drawer/base/base-drawer-adapter.ts", "../../src/drawer/base/base-drawer-foundation.ts", "../../src/drawer/base/base-drawer.ts"],
4
4
  "sourcesContent": ["const attributes = {\n OPEN: 'open',\n DIRECTION: 'direction'\n};\n\nconst classes = {\n DRAWER: 'forge-drawer',\n LEFT: 'forge-drawer--left',\n RIGHT: 'forge-drawer--right',\n CLOSING: 'forge-drawer--closing',\n CLOSED: 'forge-drawer--closed',\n NO_TRANSITION: 'forge-drawer--no-transition'\n};\n\nconst selectors = {\n DRAWER: `.${classes.DRAWER}`\n};\n\nconst events = {\n AFTER_OPEN: `forge-drawer-after-open`,\n AFTER_CLOSE: `forge-drawer-after-close`\n};\n\nexport const BASE_DRAWER_CONSTANTS = {\n attributes,\n classes,\n selectors,\n events\n};\n\nexport type DrawerDirection = 'left' | 'right';\n", "import { addClass, getShadowElement, removeClass } from '@tylertech/forge-core';\nimport { proxyShadowScrollEvent } from '../../core/utils/event-utils';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IBaseDrawerComponent } from './base-drawer';\nimport { DrawerDirection, BASE_DRAWER_CONSTANTS } from './base-drawer-constants';\n\nexport interface IBaseDrawerAdapter extends IBaseAdapter {\n proxyScrollEvent(): void;\n tryUnproxyScrollEvent(): void;\n setDirection(direction: DrawerDirection): void;\n removeDrawerClass(className: string | string[]): void;\n setDrawerClass(className: string | string[]): void;\n listenTransitionComplete(listener: () => void): void;\n}\n\nexport class BaseDrawerAdapter extends BaseAdapter<IBaseDrawerComponent> implements IBaseDrawerAdapter {\n protected _drawerElement: HTMLElement;\n private _activeTransitionListener: ((evt: TransitionEvent) => void) | undefined;\n private _unproxyScrollEventCb: (() => void) | undefined;\n\n constructor(protected _component: IBaseDrawerComponent) {\n super(_component);\n this._drawerElement = getShadowElement(this._component, BASE_DRAWER_CONSTANTS.selectors.DRAWER);\n }\n\n public proxyScrollEvent(): void {\n // We proxy the scroll event because our internal scroll container does not dispatch this event outside of the shadow root to any listeners.\n // This is a problem because if we have any components that need to react to the scroll event, such as our popup elements, they will not be\n // notified. This will ensure we always proxy this event out from the host. \n this.tryUnproxyScrollEvent();\n this._unproxyScrollEventCb = proxyShadowScrollEvent(this._component.shadowRoot as ShadowRoot, this._component);\n }\n\n public tryUnproxyScrollEvent(): void {\n if (this._unproxyScrollEventCb) {\n this._unproxyScrollEventCb();\n }\n }\n\n public setDirection(direction: DrawerDirection): void {\n switch (direction) {\n case 'left':\n this._drawerElement.classList.remove(BASE_DRAWER_CONSTANTS.classes.RIGHT);\n this._drawerElement.classList.add(BASE_DRAWER_CONSTANTS.classes.LEFT);\n break;\n case 'right':\n this._drawerElement.classList.remove(BASE_DRAWER_CONSTANTS.classes.LEFT);\n this._drawerElement.classList.add(BASE_DRAWER_CONSTANTS.classes.RIGHT);\n break;\n }\n }\n\n public removeDrawerClass(className: string | string[]): void {\n removeClass(className, this._drawerElement);\n }\n\n public setDrawerClass(className: string | string[]): void {\n addClass(className, this._drawerElement);\n }\n\n public listenTransitionComplete(listener: () => void): void {\n if (this._activeTransitionListener) {\n this._drawerElement.removeEventListener('transitionend', this._activeTransitionListener);\n }\n this._activeTransitionListener = (evt: TransitionEvent) => {\n if (evt.propertyName === 'transform') {\n if (this._activeTransitionListener) {\n this._drawerElement.removeEventListener('transitionend', this._activeTransitionListener);\n this._activeTransitionListener = undefined;\n }\n listener();\n }\n };\n this._drawerElement.addEventListener('transitionend', this._activeTransitionListener);\n }\n}\n", "import { ICustomElementFoundation, isDefined } from '@tylertech/forge-core';\nimport { IBaseDrawerAdapter } from './base-drawer-adapter';\nimport { DrawerDirection, BASE_DRAWER_CONSTANTS } from './base-drawer-constants';\n\nexport interface IBaseDrawerFoundation extends ICustomElementFoundation {\n direction: DrawerDirection;\n}\n\nexport class BaseDrawerFoundation implements IBaseDrawerFoundation {\n protected _open = true;\n protected _direction: DrawerDirection = 'left';\n private _hasInitialized = false;\n private _openAnimationListener: () => void;\n private _closeAnimationListener: () => void;\n\n constructor(protected _adapter: IBaseDrawerAdapter) {\n this._openAnimationListener = () => this._onOpenComplete();\n this._closeAnimationListener = () => this._onCloseComplete();\n }\n\n public connect(): void {\n if (this._open) {\n this._setOpened();\n } else {\n this._setClosed();\n }\n\n this._applyDirection();\n this._adapter.proxyScrollEvent();\n this._hasInitialized = true;\n }\n\n public disconnect(): void {\n this._adapter.tryUnproxyScrollEvent();\n this._hasInitialized = false;\n }\n\n private _applyDirection(): void {\n this._adapter.setDirection(this._direction);\n this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.DIRECTION, isDefined(this._direction) ? this._direction.toString() : '');\n }\n\n private _onOpenComplete(): void {\n if (!this._open) {\n return;\n }\n this._setOpened();\n this._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_OPEN);\n }\n \n private _onCloseComplete(): void {\n if (this._open) {\n return;\n }\n this._setClosed();\n this._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_CLOSE);\n }\n\n private _setOpened(): void {\n this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSED, BASE_DRAWER_CONSTANTS.classes.CLOSING]);\n this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n }\n\n private _setClosed(): void {\n this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSING, BASE_DRAWER_CONSTANTS.classes.NO_TRANSITION]);\n this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);\n this._adapter.removeHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n }\n\n protected _applyOpen(): void {\n if (this._open) {\n this._triggerDrawerOpen();\n this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n } else {\n this._triggerDrawerClose();\n this._adapter.removeHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n }\n }\n\n protected _triggerDrawerOpen(): void {\n this._adapter.listenTransitionComplete(this._openAnimationListener);\n this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSED, BASE_DRAWER_CONSTANTS.classes.CLOSING]);\n }\n\n protected _triggerDrawerClose(): void {\n this._adapter.listenTransitionComplete(this._closeAnimationListener);\n this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n this._open = value;\n if (this._hasInitialized) {\n this._applyOpen();\n }\n }\n }\n\n public get direction(): DrawerDirection {\n return this._direction;\n }\n public set direction(value: DrawerDirection) {\n if (this._direction !== value) {\n this._direction = value;\n if (this._hasInitialized) {\n this._applyDirection();\n }\n }\n }\n}\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { BASE_DRAWER_CONSTANTS, DrawerDirection } from './base-drawer-constants';\nimport { BaseDrawerFoundation } from './base-drawer-foundation';\n\nexport interface IBaseDrawerComponent extends IBaseComponent {\n open: boolean;\n direction: DrawerDirection;\n}\n\ndeclare global {\n interface HTMLElementEventMap {\n 'forge-drawer-after-open': CustomEvent<void>;\n 'forge-drawer-after-close': CustomEvent<void>;\n }\n}\n\nexport abstract class BaseDrawerComponent<T extends BaseDrawerFoundation> extends BaseComponent implements IBaseDrawerComponent {\n public static get observedAttributes(): string[] {\n return [\n BASE_DRAWER_CONSTANTS.attributes.OPEN,\n BASE_DRAWER_CONSTANTS.attributes.DIRECTION\n ];\n }\n\n protected abstract _foundation: T;\n\n constructor() {\n super();\n }\n\n public connectedCallback(): void {\n this._foundation.connect();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case BASE_DRAWER_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case BASE_DRAWER_CONSTANTS.attributes.DIRECTION:\n this.direction = newValue as DrawerDirection;\n break;\n }\n }\n\n /** Toggles whether a `dismissible` or `modal` drawer is open or not. Has no effect on `permanent` drawers. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Controls the laytout direction of the drawer for positioning on the left vs. right side of the screen. */\n @FoundationProperty()\n public declare direction: DrawerDirection;\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["attributes", "classes", "selectors", "events", "BASE_DRAWER_CONSTANTS", "BaseDrawerAdapter", "BaseAdapter", "_component", "getShadowElement", "BASE_DRAWER_CONSTANTS", "proxyShadowScrollEvent", "direction", "className", "removeClass", "addClass", "listener", "evt", "BaseDrawerFoundation", "_adapter", "BASE_DRAWER_CONSTANTS", "isDefined", "value", "BaseDrawerComponent", "BaseComponent", "BASE_DRAWER_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty"]
7
7
  }