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

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 (849) hide show
  1. package/README.md +1 -6
  2. package/custom-elements.json +63803 -41782
  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-area/index.js +7 -0
  19. package/dist/esm/button-area/index.js.map +7 -0
  20. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  21. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  22. package/dist/esm/button-toggle/index.js +1 -1
  23. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  24. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  25. package/dist/esm/calendar/index.js +1 -1
  26. package/dist/esm/card/index.js +1 -1
  27. package/dist/esm/checkbox/index.js +1 -1
  28. package/dist/esm/chip-field/index.js +1 -1
  29. package/dist/esm/chips/chip/index.js +1 -1
  30. package/dist/esm/chips/chip-set/index.js +1 -1
  31. package/dist/esm/chips/index.js +1 -1
  32. package/dist/esm/chunks/{chunk.SMGXXR6K.js → chunk.2MSL7CYM.js} +2 -2
  33. package/dist/esm/chunks/chunk.2ZU6LWHE.js +7 -0
  34. package/dist/esm/chunks/chunk.2ZU6LWHE.js.map +7 -0
  35. package/dist/esm/chunks/{chunk.COVTBIQQ.js → chunk.36C6SIPW.js} +2 -2
  36. package/dist/esm/chunks/{chunk.COVTBIQQ.js.map → chunk.36C6SIPW.js.map} +2 -2
  37. package/dist/esm/chunks/chunk.36F2GVWS.js +7 -0
  38. package/dist/esm/chunks/chunk.36F2GVWS.js.map +7 -0
  39. package/dist/esm/chunks/{chunk.M56LSSPW.js → chunk.3HCYRDRI.js} +2 -2
  40. package/dist/esm/chunks/{chunk.4ZKX3SO5.js → chunk.3R4BUIQP.js} +2 -2
  41. package/dist/esm/chunks/{chunk.YWNCJ7XP.js → chunk.3ZPSN2QG.js} +2 -2
  42. package/dist/esm/chunks/chunk.4SPEX2GJ.js +7 -0
  43. package/dist/esm/chunks/chunk.4SPEX2GJ.js.map +7 -0
  44. package/dist/esm/chunks/chunk.4YFJVHXN.js +7 -0
  45. package/dist/esm/chunks/chunk.4YFJVHXN.js.map +7 -0
  46. package/dist/esm/chunks/chunk.5A2PA7TL.js +7 -0
  47. package/dist/esm/chunks/chunk.5A2PA7TL.js.map +7 -0
  48. package/dist/esm/chunks/chunk.5CSXPRL3.js +7 -0
  49. package/dist/esm/chunks/chunk.5CSXPRL3.js.map +7 -0
  50. package/dist/esm/chunks/chunk.5LVZVQXB.js +7 -0
  51. package/dist/esm/chunks/{chunk.MGLL67VO.js.map → chunk.5LVZVQXB.js.map} +2 -2
  52. package/dist/esm/chunks/{chunk.LFODKHUO.js → chunk.5N4N6DL6.js} +2 -2
  53. package/dist/esm/chunks/chunk.5PG6WIIX.js +7 -0
  54. package/dist/esm/chunks/chunk.5PG6WIIX.js.map +7 -0
  55. package/dist/esm/chunks/{chunk.JIKSKUDW.js → chunk.5RM65QPN.js} +2 -2
  56. package/dist/esm/chunks/{chunk.JIKSKUDW.js.map → chunk.5RM65QPN.js.map} +3 -3
  57. package/dist/esm/chunks/chunk.5WMYF27O.js +7 -0
  58. package/dist/esm/chunks/chunk.5WMYF27O.js.map +7 -0
  59. package/dist/esm/chunks/{chunk.QOJESHEV.js → chunk.675V42JS.js} +2 -2
  60. package/dist/esm/chunks/chunk.6M27ERWW.js +12 -0
  61. package/dist/esm/chunks/chunk.6M27ERWW.js.map +7 -0
  62. package/dist/esm/chunks/chunk.6NTYTHAL.js +7 -0
  63. package/dist/esm/chunks/chunk.6NTYTHAL.js.map +7 -0
  64. package/dist/esm/chunks/chunk.6ZNBFKNP.js +7 -0
  65. package/dist/esm/chunks/chunk.6ZNBFKNP.js.map +7 -0
  66. package/dist/esm/chunks/{chunk.7TMLILLW.js → chunk.72JVXGHF.js} +2 -2
  67. package/dist/esm/chunks/{chunk.7TMLILLW.js.map → chunk.72JVXGHF.js.map} +1 -1
  68. package/dist/esm/chunks/chunk.7V4BDSA5.js +7 -0
  69. package/dist/esm/chunks/chunk.7V4BDSA5.js.map +7 -0
  70. package/dist/esm/chunks/chunk.7VMJLHQY.js +7 -0
  71. package/dist/esm/chunks/chunk.7VMJLHQY.js.map +7 -0
  72. package/dist/esm/chunks/chunk.7ZROQ6D3.js +7 -0
  73. package/dist/esm/chunks/chunk.7ZROQ6D3.js.map +7 -0
  74. package/dist/esm/chunks/{chunk.DG4ZM3AW.js → chunk.AMLT6XJP.js} +2 -2
  75. package/dist/esm/chunks/chunk.AMZZKEAE.js +7 -0
  76. package/dist/esm/chunks/chunk.AMZZKEAE.js.map +7 -0
  77. package/dist/esm/chunks/{chunk.MTKSU2BV.js → chunk.APPY5AYL.js} +2 -2
  78. package/dist/esm/chunks/{chunk.4YFVG4KP.js → chunk.ARQMMZJL.js} +2 -2
  79. package/dist/esm/chunks/chunk.AUBOJZQ7.js +7 -0
  80. package/dist/esm/chunks/chunk.AUBOJZQ7.js.map +7 -0
  81. package/dist/esm/chunks/chunk.AUCBR6CC.js +7 -0
  82. package/dist/esm/chunks/{chunk.SFCGOCQK.js.map → chunk.AUCBR6CC.js.map} +2 -2
  83. package/dist/esm/chunks/{chunk.5MZ5SGMO.js → chunk.BB4UF5RX.js} +2 -2
  84. package/dist/esm/chunks/chunk.BBCZNGT3.js +7 -0
  85. package/dist/esm/chunks/chunk.BBCZNGT3.js.map +7 -0
  86. package/dist/esm/chunks/chunk.BQ2X5SBP.js +7 -0
  87. package/dist/esm/chunks/{chunk.TYLOAD7R.js.map → chunk.BQ2X5SBP.js.map} +2 -2
  88. package/dist/esm/chunks/chunk.BTXY3XMJ.js +7 -0
  89. package/dist/esm/chunks/chunk.BTXY3XMJ.js.map +7 -0
  90. package/dist/esm/chunks/{chunk.Q7Z3SJ5F.js → chunk.DTLZOIUQ.js} +2 -2
  91. package/dist/esm/chunks/chunk.EJX6RI4I.js +7 -0
  92. package/dist/esm/chunks/chunk.EJX6RI4I.js.map +7 -0
  93. package/dist/esm/chunks/chunk.EWK76SPH.js +7 -0
  94. package/dist/esm/chunks/chunk.EWK76SPH.js.map +7 -0
  95. package/dist/esm/chunks/chunk.FAXYCG55.js +7 -0
  96. package/dist/esm/chunks/chunk.FAXYCG55.js.map +7 -0
  97. package/dist/esm/chunks/chunk.FFHSUJFM.js +7 -0
  98. package/dist/esm/chunks/chunk.FFHSUJFM.js.map +7 -0
  99. package/dist/esm/chunks/{chunk.OWCYRSI3.js → chunk.FLWNOP42.js} +2 -2
  100. package/dist/esm/chunks/{chunk.S3JMOOWC.js → chunk.FXIWCHLW.js} +2 -2
  101. package/dist/esm/chunks/chunk.FYVDTZLF.js +7 -0
  102. package/dist/esm/chunks/{chunk.CDGZYUQS.js.map → chunk.FYVDTZLF.js.map} +2 -2
  103. package/dist/esm/chunks/chunk.G73KL7P2.js +7 -0
  104. package/dist/esm/chunks/{chunk.7DB3XVPI.js.map → chunk.G73KL7P2.js.map} +3 -3
  105. package/dist/esm/chunks/chunk.G7SMCLHQ.js +7 -0
  106. package/dist/esm/chunks/chunk.G7SMCLHQ.js.map +7 -0
  107. package/dist/esm/chunks/chunk.GHR7T6U2.js +7 -0
  108. package/dist/esm/chunks/chunk.GHR7T6U2.js.map +7 -0
  109. package/dist/esm/chunks/{chunk.CWTV3TB3.js → chunk.GNDKQPDV.js} +2 -2
  110. package/dist/esm/chunks/{chunk.ULY4H76N.js → chunk.HAKF2T2D.js} +2 -2
  111. package/dist/esm/chunks/chunk.HDG2GHKC.js +7 -0
  112. package/dist/esm/chunks/{chunk.SBYX7VZ4.js.map → chunk.HDG2GHKC.js.map} +2 -2
  113. package/dist/esm/chunks/{chunk.WPG7NNQX.js → chunk.HOLCNJXC.js} +2 -2
  114. package/dist/esm/chunks/{chunk.W4247Q2P.js → chunk.HRRJIFC5.js} +2 -2
  115. package/dist/esm/chunks/chunk.HSI7B43D.js +7 -0
  116. package/dist/esm/chunks/chunk.HSI7B43D.js.map +7 -0
  117. package/dist/esm/chunks/chunk.IAWYYNUU.js +7 -0
  118. package/dist/esm/chunks/chunk.IAWYYNUU.js.map +7 -0
  119. package/dist/esm/chunks/{chunk.SU4FU7GK.js → chunk.IDMDBMBR.js} +2 -2
  120. package/dist/esm/chunks/{chunk.FCATJM34.js → chunk.IHAHJPMB.js} +2 -2
  121. package/dist/esm/chunks/chunk.IISWKFCX.js +7 -0
  122. package/dist/esm/chunks/chunk.IISWKFCX.js.map +7 -0
  123. package/dist/esm/chunks/{chunk.XKI46BH2.js → chunk.IMLJD35R.js} +2 -2
  124. package/dist/esm/chunks/{chunk.624UKZFU.js → chunk.IT7XPDAV.js} +2 -2
  125. package/dist/esm/chunks/{chunk.MVTBJPO2.js → chunk.JAWV5Y5T.js} +1 -1
  126. package/dist/esm/chunks/{chunk.MVTBJPO2.js.map → chunk.JAWV5Y5T.js.map} +2 -2
  127. package/dist/esm/chunks/{chunk.JLLHDJSO.js → chunk.JVLJH6PR.js} +2 -2
  128. package/dist/esm/chunks/chunk.KPJWP77R.js +7 -0
  129. package/dist/esm/chunks/{chunk.2EWV2XBP.js → chunk.KV5IKYG2.js} +2 -2
  130. package/dist/esm/chunks/chunk.KV67JXOC.js +7 -0
  131. package/dist/esm/chunks/{chunk.B4T3R53C.js.map → chunk.KV67JXOC.js.map} +2 -2
  132. package/dist/esm/chunks/{chunk.A62DE5PD.js → chunk.LCR4YH3O.js} +2 -2
  133. package/dist/esm/chunks/{chunk.FWFOOQMA.js → chunk.LOG6GQOK.js} +2 -2
  134. package/dist/esm/chunks/chunk.LUIKMPQR.js +7 -0
  135. package/dist/esm/chunks/chunk.LUIKMPQR.js.map +7 -0
  136. package/dist/esm/chunks/chunk.LUNKNRRH.js +7 -0
  137. package/dist/esm/chunks/chunk.LUNKNRRH.js.map +7 -0
  138. package/dist/esm/chunks/chunk.MKJCHUJH.js +7 -0
  139. package/dist/esm/chunks/chunk.MKJCHUJH.js.map +7 -0
  140. package/dist/esm/chunks/chunk.MWYQRG5W.js +7 -0
  141. package/dist/esm/chunks/{chunk.YX7WLO5Y.js.map → chunk.MWYQRG5W.js.map} +2 -2
  142. package/dist/esm/chunks/{chunk.YLG6ZC5K.js → chunk.NUMKGUCK.js} +2 -2
  143. package/dist/esm/chunks/{chunk.XI3MJSIS.js → chunk.O6V3YNMO.js} +2 -2
  144. package/dist/esm/chunks/chunk.OWZREAT6.js +15 -0
  145. package/dist/esm/chunks/chunk.OWZREAT6.js.map +7 -0
  146. package/dist/esm/chunks/chunk.PMYQY3D3.js +7 -0
  147. package/dist/esm/chunks/chunk.PMYQY3D3.js.map +7 -0
  148. package/dist/esm/chunks/chunk.PYR2OCCH.js +7 -0
  149. package/dist/esm/chunks/{chunk.5565ZSTH.js.map → chunk.PYR2OCCH.js.map} +2 -2
  150. package/dist/esm/chunks/chunk.QJCNMYD3.js +7 -0
  151. package/dist/esm/chunks/{chunk.SJJS4LYN.js.map → chunk.QJCNMYD3.js.map} +2 -2
  152. package/dist/esm/chunks/{chunk.TK5I4RHF.js → chunk.QLCVRJ3Q.js} +2 -2
  153. package/dist/esm/chunks/chunk.QLOYOZN3.js +7 -0
  154. package/dist/esm/chunks/{chunk.F5SY2D4B.js.map → chunk.QLOYOZN3.js.map} +3 -3
  155. package/dist/esm/chunks/chunk.QN5T26HH.js +7 -0
  156. package/dist/esm/chunks/chunk.QN5T26HH.js.map +7 -0
  157. package/dist/esm/chunks/chunk.QQRPV4RN.js +7 -0
  158. package/dist/esm/chunks/{chunk.PEBT47AU.js.map → chunk.QQRPV4RN.js.map} +2 -2
  159. package/dist/esm/chunks/chunk.R6LQBI42.js +177 -0
  160. package/dist/esm/chunks/chunk.R6LQBI42.js.map +7 -0
  161. package/dist/esm/chunks/chunk.RES7WDKH.js +7 -0
  162. package/dist/esm/chunks/chunk.RES7WDKH.js.map +7 -0
  163. package/dist/esm/chunks/chunk.RP674CRC.js +7 -0
  164. package/dist/esm/chunks/chunk.S5QL4SPT.js +7 -0
  165. package/dist/esm/chunks/chunk.S5QL4SPT.js.map +7 -0
  166. package/dist/esm/chunks/chunk.SIRXAA3O.js +7 -0
  167. package/dist/esm/chunks/chunk.SIRXAA3O.js.map +7 -0
  168. package/dist/esm/chunks/{chunk.LTT67HTW.js → chunk.SLJ6HDK7.js} +2 -2
  169. package/dist/esm/chunks/chunk.STB2FEUA.js +7 -0
  170. package/dist/esm/chunks/chunk.STB2FEUA.js.map +7 -0
  171. package/dist/esm/chunks/chunk.TBGMJQYJ.js +7 -0
  172. package/dist/esm/chunks/chunk.TBGMJQYJ.js.map +7 -0
  173. package/dist/esm/chunks/{chunk.6OW6Q3EW.js → chunk.TU74SREL.js} +2 -2
  174. package/dist/esm/chunks/{chunk.EK24Y56W.js → chunk.URJQNB3S.js} +2 -2
  175. package/dist/esm/chunks/{chunk.AEKOP3XT.js → chunk.V24M62MC.js} +2 -2
  176. package/dist/esm/chunks/{chunk.AEKOP3XT.js.map → chunk.V24M62MC.js.map} +2 -2
  177. package/dist/esm/chunks/chunk.VFKHRAWD.js +7 -0
  178. package/dist/esm/chunks/chunk.VFKHRAWD.js.map +7 -0
  179. package/dist/esm/chunks/chunk.VO6YJCEU.js +7 -0
  180. package/dist/esm/chunks/chunk.VO6YJCEU.js.map +7 -0
  181. package/dist/esm/chunks/{chunk.K3KAM2PL.js → chunk.W2LN45WY.js} +2 -2
  182. package/dist/esm/chunks/{chunk.MHBBMC6O.js → chunk.WMVYRDUJ.js} +2 -2
  183. package/dist/esm/chunks/{chunk.MHBBMC6O.js.map → chunk.WMVYRDUJ.js.map} +2 -2
  184. package/dist/esm/chunks/chunk.WY3E33CW.js +7 -0
  185. package/dist/esm/chunks/chunk.WY3E33CW.js.map +7 -0
  186. package/dist/esm/chunks/{chunk.Z6FCL3G3.js → chunk.XEFWZKHQ.js} +2 -2
  187. package/dist/esm/chunks/{chunk.NR3MLTXF.js → chunk.XLL7L2UB.js} +2 -2
  188. package/dist/esm/chunks/chunk.XNFS7YIB.js +7 -0
  189. package/dist/esm/chunks/chunk.XNFS7YIB.js.map +7 -0
  190. package/dist/esm/chunks/chunk.XYAZVLPR.js +7 -0
  191. package/dist/esm/chunks/chunk.YA3RDJCV.js +7 -0
  192. package/dist/esm/chunks/chunk.YA3RDJCV.js.map +7 -0
  193. package/dist/esm/chunks/{chunk.2QHD3DCR.js → chunk.YAERJVPL.js} +2 -2
  194. package/dist/esm/chunks/chunk.YBZK6LJZ.js +7 -0
  195. package/dist/esm/chunks/chunk.YKIBREM5.js +7 -0
  196. package/dist/esm/chunks/chunk.YKIBREM5.js.map +7 -0
  197. package/dist/esm/chunks/chunk.YWAUEUAH.js +7 -0
  198. package/dist/esm/chunks/chunk.YWAUEUAH.js.map +7 -0
  199. package/dist/esm/chunks/chunk.Z5RROENA.js +7 -0
  200. package/dist/esm/chunks/{chunk.6OUJSOJY.js.map → chunk.Z5RROENA.js.map} +3 -3
  201. package/dist/esm/chunks/{chunk.ZJC2DSNM.js → chunk.Z5ZLKM7W.js} +2 -2
  202. package/dist/esm/chunks/chunk.ZGRQDDHO.js +7 -0
  203. package/dist/esm/chunks/{chunk.BY25RT52.js.map → chunk.ZGRQDDHO.js.map} +2 -2
  204. package/dist/esm/chunks/{chunk.VSQOTSAO.js → chunk.ZKM667OT.js} +2 -2
  205. package/dist/esm/chunks/{chunk.VSQOTSAO.js.map → chunk.ZKM667OT.js.map} +2 -2
  206. package/dist/esm/chunks/chunk.ZRSDTCSD.js +7 -0
  207. package/dist/esm/chunks/chunk.ZRSDTCSD.js.map +7 -0
  208. package/dist/esm/chunks/chunk.ZSZFWZAI.js +7 -0
  209. package/dist/esm/chunks/chunk.ZSZFWZAI.js.map +7 -0
  210. package/dist/esm/circular-progress/index.js +1 -1
  211. package/dist/esm/color-picker/index.js +1 -1
  212. package/dist/esm/core/base/index.js +1 -1
  213. package/dist/esm/core/index.js +1 -1
  214. package/dist/esm/core/utils/index.js +1 -1
  215. package/dist/esm/date-picker/index.js +1 -1
  216. package/dist/esm/date-range-picker/index.js +1 -1
  217. package/dist/esm/dialog/index.js +1 -1
  218. package/dist/esm/divider/index.js +1 -1
  219. package/dist/esm/drawer/base/index.js +1 -1
  220. package/dist/esm/drawer/drawer/index.js +1 -1
  221. package/dist/esm/drawer/index.js +1 -1
  222. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  223. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  224. package/dist/esm/expansion-panel/index.js +1 -1
  225. package/dist/esm/file-picker/index.js +1 -1
  226. package/dist/esm/floating-action-button/index.js +1 -1
  227. package/dist/esm/floating-label/index.js +1 -1
  228. package/dist/esm/focus-indicator/index.js +1 -1
  229. package/dist/esm/icon/index.js +1 -1
  230. package/dist/esm/icon-button/index.js +1 -1
  231. package/dist/esm/index.js +1 -1
  232. package/dist/esm/inline-message/index.js +1 -1
  233. package/dist/esm/keyboard-shortcut/index.js +1 -1
  234. package/dist/esm/label/index.js +7 -0
  235. package/dist/esm/label/index.js.map +7 -0
  236. package/dist/esm/label-value/index.js +1 -1
  237. package/dist/esm/linear-progress/index.js +1 -1
  238. package/dist/esm/list/index.js +1 -1
  239. package/dist/esm/list/list/index.js +1 -1
  240. package/dist/esm/list/list-item/index.js +1 -1
  241. package/dist/esm/list-dropdown/index.js +1 -1
  242. package/dist/esm/menu/index.js +1 -1
  243. package/dist/esm/open-icon/index.js +1 -1
  244. package/dist/esm/page-state/index.js +1 -1
  245. package/dist/esm/paginator/index.js +1 -1
  246. package/dist/esm/popup/index.js +1 -1
  247. package/dist/esm/product-icon/index.js +1 -1
  248. package/dist/esm/profile-card/index.js +1 -1
  249. package/dist/esm/quantity-field/index.js +1 -1
  250. package/dist/esm/radio/index.js +1 -1
  251. package/dist/esm/ripple/index.js +1 -1
  252. package/dist/esm/scaffold/index.js +1 -1
  253. package/dist/esm/select/core/index.js +1 -1
  254. package/dist/esm/select/index.js +1 -1
  255. package/dist/esm/select/option/index.js +1 -1
  256. package/dist/esm/select/option-group/index.js +1 -1
  257. package/dist/esm/select/select/index.js +1 -1
  258. package/dist/esm/select/select-dropdown/index.js +1 -1
  259. package/dist/esm/skeleton/index.js +1 -1
  260. package/dist/esm/slider/index.js +1 -1
  261. package/dist/esm/split-button/index.js +7 -0
  262. package/dist/esm/split-button/index.js.map +7 -0
  263. package/dist/esm/split-view/index.js +1 -1
  264. package/dist/esm/split-view/split-view/index.js +1 -1
  265. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  266. package/dist/esm/stack/index.js +1 -1
  267. package/dist/esm/state-layer/index.js +1 -1
  268. package/dist/esm/stepper/index.js +1 -1
  269. package/dist/esm/stepper/step/index.js +1 -1
  270. package/dist/esm/stepper/stepper/index.js +1 -1
  271. package/dist/esm/switch/index.js +1 -1
  272. package/dist/esm/table/index.js +1 -1
  273. package/dist/esm/tabs/index.js +1 -1
  274. package/dist/esm/tabs/tab/index.js +1 -1
  275. package/dist/esm/tabs/tab-bar/index.js +1 -1
  276. package/dist/esm/text-field/index.js +1 -1
  277. package/dist/esm/time-picker/index.js +1 -1
  278. package/dist/esm/toast/index.js +1 -1
  279. package/dist/esm/toolbar/index.js +1 -1
  280. package/dist/esm/tooltip/index.js +1 -1
  281. package/dist/esm/view-switcher/index.js +1 -1
  282. package/dist/esm/view-switcher/view/index.js +1 -1
  283. package/dist/forge-dark.css +1 -1
  284. package/dist/forge.css +1 -1
  285. package/dist/table/forge-table.css +1 -1
  286. package/dist/theme/forge-theme.css +1 -1
  287. package/dist/typography/forge-typography-legacy.css +1 -1
  288. package/dist/typography/forge-typography.css +1 -1
  289. package/esm/app-bar/app-bar.js +1 -1
  290. package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
  291. package/esm/app-bar/menu-button/app-bar-menu-button.js +1 -1
  292. package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
  293. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +1 -1
  294. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  295. package/esm/autocomplete/autocomplete-constants.d.ts +3 -0
  296. package/esm/autocomplete/autocomplete-foundation.d.ts +3 -1
  297. package/esm/autocomplete/autocomplete-foundation.js +16 -2
  298. package/esm/autocomplete/autocomplete.d.ts +7 -1
  299. package/esm/autocomplete/autocomplete.js +7 -0
  300. package/esm/banner/banner-constants.js +1 -1
  301. package/esm/banner/banner.js +2 -2
  302. package/esm/bottom-sheet/bottom-sheet.js +1 -1
  303. package/esm/busy-indicator/busy-indicator.js +2 -2
  304. package/esm/button/base/base-button-adapter.d.ts +72 -0
  305. package/esm/button/base/base-button-adapter.js +250 -0
  306. package/esm/button/base/base-button-constants.d.ts +41 -0
  307. package/esm/button/base/base-button-constants.js +32 -0
  308. package/esm/button/base/base-button-foundation.d.ts +75 -0
  309. package/esm/button/base/base-button-foundation.js +234 -0
  310. package/esm/button/base/base-button.d.ts +51 -0
  311. package/esm/button/base/base-button.js +106 -0
  312. package/esm/button/button-adapter.d.ts +14 -0
  313. package/esm/button/button-adapter.js +14 -0
  314. package/esm/button/button-component-delegate.d.ts +4 -4
  315. package/esm/button/button-component-delegate.js +13 -17
  316. package/esm/button/button-constants.d.ts +10 -18
  317. package/esm/button/button-constants.js +6 -22
  318. package/esm/button/button-foundation.d.ts +25 -0
  319. package/esm/button/button-foundation.js +49 -0
  320. package/esm/button/button.d.ts +126 -30
  321. package/esm/button/button.js +160 -159
  322. package/esm/button/index.d.ts +3 -1
  323. package/esm/button/index.js +3 -1
  324. package/esm/button-area/button-area-adapter.d.ts +48 -0
  325. package/esm/button-area/button-area-adapter.js +121 -0
  326. package/esm/button-area/button-area-constants.d.ts +24 -0
  327. package/esm/button-area/button-area-constants.js +30 -0
  328. package/esm/button-area/button-area-foundation.d.ts +29 -0
  329. package/esm/button-area/button-area-foundation.js +94 -0
  330. package/esm/button-area/button-area.d.ts +29 -0
  331. package/esm/button-area/button-area.js +55 -0
  332. package/esm/button-area/index.d.ts +10 -0
  333. package/esm/button-area/index.js +14 -0
  334. package/esm/button-toggle/button-toggle/button-toggle.js +1 -1
  335. package/esm/calendar/calendar-dom-utils.js +18 -30
  336. package/esm/calendar/calendar-foundation.js +6 -0
  337. package/esm/calendar/calendar-menu/calendar-menu.js +1 -1
  338. package/esm/calendar/calendar.js +1 -1
  339. package/esm/checkbox/checkbox-adapter.d.ts +50 -59
  340. package/esm/checkbox/checkbox-adapter.js +104 -186
  341. package/esm/checkbox/checkbox-component-delegate.d.ts +18 -9
  342. package/esm/checkbox/checkbox-component-delegate.js +58 -51
  343. package/esm/checkbox/checkbox-constants.d.ts +14 -56
  344. package/esm/checkbox/checkbox-constants.js +17 -50
  345. package/esm/checkbox/checkbox-foundation.d.ts +48 -18
  346. package/esm/checkbox/checkbox-foundation.js +139 -139
  347. package/esm/checkbox/checkbox.d.ts +120 -9
  348. package/esm/checkbox/checkbox.js +235 -36
  349. package/esm/checkbox/index.d.ts +1 -1
  350. package/esm/checkbox/index.js +1 -1
  351. package/esm/chip-field/chip-field-adapter.js +1 -1
  352. package/esm/chip-field/chip-field-constants.d.ts +3 -0
  353. package/esm/chip-field/chip-field-constants.js +4 -0
  354. package/esm/chip-field/chip-field-foundation.d.ts +5 -0
  355. package/esm/chip-field/chip-field-foundation.js +20 -1
  356. package/esm/chip-field/chip-field.d.ts +5 -0
  357. package/esm/chip-field/chip-field.js +21 -3
  358. package/esm/chips/chip/chip.js +1 -1
  359. package/esm/circular-progress/circular-progress-constants.d.ts +4 -0
  360. package/esm/circular-progress/circular-progress-constants.js +2 -0
  361. package/esm/circular-progress/circular-progress-foundation.d.ts +9 -0
  362. package/esm/circular-progress/circular-progress-foundation.js +21 -0
  363. package/esm/circular-progress/circular-progress.d.ts +15 -2
  364. package/esm/circular-progress/circular-progress.js +25 -3
  365. package/esm/color-picker/color-picker.js +2 -2
  366. package/esm/constants.d.ts +7 -0
  367. package/esm/constants.js +4 -0
  368. package/esm/core/base/base-adapter.d.ts +18 -3
  369. package/esm/core/base/base-adapter.js +30 -2
  370. package/esm/core/base/base-component.d.ts +0 -1
  371. package/esm/core/base/base-component.js +0 -1
  372. package/esm/core/base/base-focusable-component.d.ts +49 -0
  373. package/esm/core/base/base-focusable-component.js +90 -0
  374. package/esm/core/base/base-form-component.d.ts +45 -0
  375. package/esm/core/base/base-form-component.js +19 -0
  376. package/esm/core/base/base-nullable-form-component.d.ts +35 -0
  377. package/esm/core/base/base-nullable-form-component.js +20 -0
  378. package/esm/core/keyboard/key-manager.d.ts +18 -0
  379. package/esm/core/keyboard/key-manager.js +47 -0
  380. package/esm/core/utils/feature-detection.d.ts +10 -0
  381. package/esm/core/utils/feature-detection.js +12 -0
  382. package/esm/core/utils/index.d.ts +2 -0
  383. package/esm/core/utils/index.js +2 -0
  384. package/esm/core/utils/reflect-utils.d.ts +107 -0
  385. package/esm/core/utils/reflect-utils.js +227 -0
  386. package/esm/core/utils/utils.d.ts +8 -0
  387. package/esm/core/utils/utils.js +15 -0
  388. package/esm/date-picker/base/base-date-picker-foundation.js +1 -1
  389. package/esm/date-picker/base/base-date-picker-utils.js +5 -8
  390. package/esm/date-range-picker/date-range-picker-foundation.js +2 -2
  391. package/esm/drawer/drawer/drawer.js +1 -1
  392. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  393. package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
  394. package/esm/expansion-panel/expansion-panel-adapter.d.ts +1 -0
  395. package/esm/expansion-panel/expansion-panel-adapter.js +7 -2
  396. package/esm/expansion-panel/expansion-panel.js +1 -1
  397. package/esm/field/field-constants.d.ts +8 -0
  398. package/esm/field/field-constants.js +10 -8
  399. package/esm/field/field-foundation.d.ts +1 -0
  400. package/esm/field/field-foundation.js +17 -7
  401. package/esm/file-picker/file-picker-component-delegate.js +1 -1
  402. package/esm/file-picker/file-picker.js +1 -1
  403. package/esm/floating-label/floating-label-foundation.d.ts +4 -1
  404. package/esm/floating-label/floating-label-foundation.js +9 -6
  405. package/esm/floating-label/floating-label.d.ts +6 -2
  406. package/esm/floating-label/floating-label.js +2 -2
  407. package/esm/focus-indicator/focus-indicator-adapter.d.ts +2 -2
  408. package/esm/focus-indicator/focus-indicator-adapter.js +3 -3
  409. package/esm/focus-indicator/focus-indicator-foundation.js +4 -3
  410. package/esm/focus-indicator/focus-indicator.js +1 -1
  411. package/esm/icon/icon-adapter.d.ts +0 -2
  412. package/esm/icon/icon-adapter.js +4 -5
  413. package/esm/icon/icon-foundation.js +0 -1
  414. package/esm/icon-button/icon-button-adapter.d.ts +12 -0
  415. package/esm/icon-button/icon-button-adapter.js +11 -0
  416. package/esm/icon-button/icon-button-component-delegate.d.ts +0 -4
  417. package/esm/icon-button/icon-button-component-delegate.js +8 -18
  418. package/esm/icon-button/icon-button-constants.d.ts +26 -17
  419. package/esm/icon-button/icon-button-constants.js +17 -28
  420. package/esm/icon-button/icon-button-foundation.d.ts +39 -0
  421. package/esm/icon-button/icon-button-foundation.js +122 -0
  422. package/esm/icon-button/icon-button.d.ts +69 -41
  423. package/esm/icon-button/icon-button.js +107 -213
  424. package/esm/index.d.ts +3 -0
  425. package/esm/index.js +8 -1
  426. package/esm/keyboard-shortcut/keyboard-shortcut-constants.d.ts +1 -0
  427. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +6 -0
  428. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +9 -0
  429. package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +4 -0
  430. package/esm/keyboard-shortcut/keyboard-shortcut.js +3 -0
  431. package/esm/label/index.d.ts +11 -0
  432. package/esm/label/index.js +15 -0
  433. package/esm/label/label-adapter.d.ts +51 -0
  434. package/esm/label/label-adapter.js +102 -0
  435. package/esm/label/label-aware.d.ts +15 -0
  436. package/esm/label/label-aware.js +13 -0
  437. package/esm/label/label-constants.d.ts +17 -0
  438. package/esm/label/label-constants.js +31 -0
  439. package/esm/label/label-foundation.d.ts +40 -0
  440. package/esm/label/label-foundation.js +106 -0
  441. package/esm/label/label.d.ts +49 -0
  442. package/esm/label/label.js +80 -0
  443. package/esm/linear-progress/linear-progress-constants.d.ts +3 -0
  444. package/esm/linear-progress/linear-progress-constants.js +1 -0
  445. package/esm/linear-progress/linear-progress-foundation.d.ts +5 -0
  446. package/esm/linear-progress/linear-progress-foundation.js +13 -3
  447. package/esm/linear-progress/linear-progress.d.ts +8 -1
  448. package/esm/linear-progress/linear-progress.js +13 -2
  449. package/esm/list/list/list-adapter.d.ts +17 -41
  450. package/esm/list/list/list-adapter.js +42 -60
  451. package/esm/list/list/list-constants.d.ts +13 -5
  452. package/esm/list/list/list-constants.js +15 -7
  453. package/esm/list/list/list-foundation.d.ts +24 -16
  454. package/esm/list/list/list-foundation.js +84 -75
  455. package/esm/list/list/list.d.ts +47 -8
  456. package/esm/list/list/list.js +83 -11
  457. package/esm/list/list-item/list-item-adapter.d.ts +39 -90
  458. package/esm/list/list-item/list-item-adapter.js +147 -127
  459. package/esm/list/list-item/list-item-constants.d.ts +31 -27
  460. package/esm/list/list-item/list-item-constants.js +19 -32
  461. package/esm/list/list-item/list-item-foundation.d.ts +41 -56
  462. package/esm/list/list-item/list-item-foundation.js +139 -204
  463. package/esm/list/list-item/list-item.d.ts +120 -37
  464. package/esm/list/list-item/list-item.js +171 -84
  465. package/esm/list-dropdown/list-dropdown-adapter.js +1 -6
  466. package/esm/list-dropdown/list-dropdown-constants.d.ts +4 -0
  467. package/esm/list-dropdown/list-dropdown-utils.js +23 -24
  468. package/esm/menu/menu-constants.js +1 -1
  469. package/esm/menu/menu-foundation.js +0 -4
  470. package/esm/menu/menu.js +1 -1
  471. package/esm/paginator/paginator-adapter.d.ts +30 -24
  472. package/esm/paginator/paginator-adapter.js +68 -0
  473. package/esm/paginator/paginator-constants.js +4 -4
  474. package/esm/paginator/paginator-foundation.d.ts +35 -80
  475. package/esm/paginator/paginator-foundation.js +221 -255
  476. package/esm/paginator/paginator.d.ts +1 -2
  477. package/esm/paginator/paginator.js +5 -4
  478. package/esm/popup/popup-adapter.d.ts +3 -1
  479. package/esm/popup/popup-adapter.js +3 -0
  480. package/esm/popup/popup-foundation.js +5 -3
  481. package/esm/popup/popup.d.ts +4 -1
  482. package/esm/popup/popup.js +1 -1
  483. package/esm/profile-card/profile-card.js +2 -2
  484. package/esm/quantity-field/quantity-field-constants.js +2 -2
  485. package/esm/select/core/base-select-adapter.js +3 -0
  486. package/esm/select/core/base-select-foundation.js +3 -1
  487. package/esm/select/option/option-constants.d.ts +1 -0
  488. package/esm/select/option/option-constants.js +1 -0
  489. package/esm/select/option/option-foundation.d.ts +13 -0
  490. package/esm/select/option/option-foundation.js +28 -0
  491. package/esm/select/option/option.d.ts +7 -0
  492. package/esm/select/option/option.js +13 -0
  493. package/esm/slider/slider-adapter.d.ts +1 -1
  494. package/esm/slider/slider-adapter.js +3 -2
  495. package/esm/slider/slider-constants.js +3 -3
  496. package/esm/slider/slider.d.ts +6 -11
  497. package/esm/slider/slider.js +11 -7
  498. package/esm/split-button/index.d.ts +10 -0
  499. package/esm/split-button/index.js +14 -0
  500. package/esm/split-button/split-button-adapter.d.ts +30 -0
  501. package/esm/split-button/split-button-adapter.js +84 -0
  502. package/esm/split-button/split-button-constants.d.ts +21 -0
  503. package/esm/split-button/split-button-constants.js +23 -0
  504. package/esm/split-button/split-button-foundation.d.ts +37 -0
  505. package/esm/split-button/split-button-foundation.js +77 -0
  506. package/esm/split-button/split-button.d.ts +57 -0
  507. package/esm/split-button/split-button.js +103 -0
  508. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  509. package/esm/state-layer/state-layer-adapter.js +1 -0
  510. package/esm/state-layer/state-layer-foundation.js +10 -1
  511. package/esm/state-layer/state-layer.js +1 -1
  512. package/esm/stepper/stepper/stepper-foundation.js +1 -1
  513. package/esm/switch/index.d.ts +2 -0
  514. package/esm/switch/index.js +2 -0
  515. package/esm/switch/switch-adapter.d.ts +64 -0
  516. package/esm/switch/switch-adapter.js +151 -0
  517. package/esm/switch/switch-component-delegate.d.ts +22 -6
  518. package/esm/switch/switch-component-delegate.js +64 -29
  519. package/esm/switch/switch-constants.d.ts +23 -6
  520. package/esm/switch/switch-constants.js +29 -10
  521. package/esm/switch/switch-foundation.d.ts +65 -0
  522. package/esm/switch/switch-foundation.js +162 -0
  523. package/esm/switch/switch.d.ts +162 -33
  524. package/esm/switch/switch.js +249 -136
  525. package/esm/table/table-foundation.d.ts +2 -0
  526. package/esm/table/table-foundation.js +17 -6
  527. package/esm/table/table-utils.js +13 -1
  528. package/esm/table/types.d.ts +1 -0
  529. package/esm/tabs/tab/tab.js +2 -2
  530. package/esm/tabs/tab-bar/tab-bar-adapter.js +17 -20
  531. package/esm/tabs/tab-bar/tab-bar.js +1 -1
  532. package/esm/time-picker/time-picker-adapter.js +5 -8
  533. package/esm/time-picker/time-picker-foundation.js +3 -3
  534. package/esm/toast/toast-adapter.d.ts +1 -1
  535. package/esm/toast/toast-adapter.js +1 -1
  536. package/esm/toast/toast.js +2 -2
  537. package/package.json +1 -7
  538. package/styles/app-bar/_mixins.scss +9 -4
  539. package/styles/banner/banner.scss +0 -1
  540. package/styles/bottom-sheet/bottom-sheet.scss +0 -1
  541. package/styles/busy-indicator/_mixins.scss +1 -1
  542. package/styles/busy-indicator/busy-indicator.scss +0 -1
  543. package/styles/button/_configuration.scss +16 -0
  544. package/styles/button/_core.scss +183 -0
  545. package/styles/button/_token-utils.scss +30 -0
  546. package/styles/button/button.scss +208 -0
  547. package/styles/button/index.scss +8 -0
  548. package/styles/button-area/_mixins.scss +47 -0
  549. package/styles/button-area/button-area.scss +16 -0
  550. package/styles/button-toggle/button-toggle/_mixins.scss +26 -7
  551. package/styles/calendar/calendar-menu/_mixins.scss +48 -2
  552. package/styles/calendar/calendar.scss +0 -4
  553. package/styles/{button/forge-button.scss → checkbox/_configuration.scss} +4 -3
  554. package/styles/checkbox/_core.scss +157 -0
  555. package/styles/checkbox/_token-utils.scss +30 -0
  556. package/styles/checkbox/checkbox.scss +143 -7
  557. package/styles/checkbox/index.scss +8 -0
  558. package/styles/chip-field/_base.scss +1 -0
  559. package/styles/chip-field/_selector.scss +2 -2
  560. package/styles/chips/chip/_mixins.scss +21 -7
  561. package/styles/circular-progress/_configuration.scss +8 -15
  562. package/styles/circular-progress/_core.scss +19 -19
  563. package/styles/circular-progress/_token-utils.scss +30 -0
  564. package/styles/circular-progress/circular-progress.scss +51 -4
  565. package/styles/circular-progress/index.scss +1 -0
  566. package/styles/color-picker/color-picker.scss +0 -3
  567. package/styles/core/styles/_utils.scss +148 -11
  568. package/styles/core/styles/scrollbar/index.scss +45 -0
  569. package/styles/core/styles/spacing/index.scss +8 -1
  570. package/styles/core/styles/theme/_color-utils.scss +63 -0
  571. package/styles/core/styles/theme/_utils.scss +82 -0
  572. package/styles/core/styles/theme/index.scss +39 -13
  573. package/styles/core/styles/tokens/_token-utils.scss +118 -0
  574. package/styles/core/styles/tokens/button/_tokens.scss +115 -0
  575. package/styles/core/styles/tokens/checkbox/_tokens.scss +69 -0
  576. package/styles/core/styles/tokens/circular-progress/_tokens.scss +13 -3
  577. package/styles/core/styles/tokens/color-palette/_extended-color-palette.scss +88 -0
  578. package/styles/core/styles/tokens/color-palette/index.scss +7 -0
  579. package/styles/core/styles/tokens/focus-indicator/_tokens.scss +8 -5
  580. package/styles/core/styles/tokens/icon-button/_tokens.scss +106 -0
  581. package/styles/core/styles/tokens/index.scss +0 -1
  582. package/styles/core/styles/tokens/linear-progress/_tokens.scss +15 -4
  583. package/styles/core/styles/tokens/list/list/_tokens.scss +16 -0
  584. package/styles/core/styles/tokens/list/list-item/_tokens.scss +77 -0
  585. package/styles/core/styles/tokens/scrollbar/_tokens.scss +26 -0
  586. package/styles/core/styles/tokens/slider/_tokens.scss +9 -11
  587. package/styles/core/styles/tokens/spacing/_tokens.scss +25 -11
  588. package/styles/core/styles/tokens/split-button/_tokens.scss +21 -0
  589. package/styles/core/styles/tokens/state-layer/_tokens.scss +5 -5
  590. package/styles/core/styles/tokens/switch/_tokens.scss +108 -0
  591. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +3 -1
  592. package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +3 -3
  593. package/styles/core/styles/tokens/theme/_color-emphasis.scss +38 -0
  594. package/styles/core/styles/tokens/theme/_token-utils.scss +50 -0
  595. package/styles/core/styles/tokens/theme/_tokens.core.scss +45 -0
  596. package/styles/core/styles/tokens/theme/_tokens.scss +62 -117
  597. package/styles/core/styles/tokens/theme/_tokens.status.scss +49 -0
  598. package/styles/core/styles/tokens/theme/_tokens.surface.scss +65 -0
  599. package/styles/core/styles/tokens/theme/_tokens.text.scss +38 -0
  600. package/styles/core/styles/tokens/theme/_tokens.utilities.scss +30 -0
  601. package/styles/core/styles/tokens/typography/_scale.scss +39 -0
  602. package/styles/core/styles/tokens/typography/_tokens.body.scss +41 -0
  603. package/styles/core/styles/tokens/typography/_tokens.core.scss +31 -0
  604. package/styles/core/styles/tokens/typography/_tokens.display.scss +67 -0
  605. package/styles/core/styles/tokens/typography/_tokens.heading.scss +70 -0
  606. package/styles/core/styles/tokens/typography/_tokens.label.scss +36 -0
  607. package/styles/core/styles/tokens/typography/_tokens.scss +16 -211
  608. package/styles/core/styles/tokens/typography/_tokens.subheading.scss +66 -0
  609. package/styles/core/styles/tokens/typography/_type-utils.scss +37 -0
  610. package/styles/core/styles/tokens/typography/_weight.scss +20 -0
  611. package/styles/core/styles/typography/index.scss +56 -6
  612. package/styles/file-picker/_mixins.scss +1 -1
  613. package/styles/focus-indicator/_animations.scss +6 -4
  614. package/styles/focus-indicator/_configuration.scss +2 -15
  615. package/styles/focus-indicator/_core.scss +20 -25
  616. package/styles/focus-indicator/_token-utils.scss +31 -0
  617. package/styles/focus-indicator/focus-indicator.scss +28 -6
  618. package/styles/focus-indicator/index.scss +1 -0
  619. package/styles/forge.scss +0 -2
  620. package/styles/icon-button/_configuration.scss +16 -0
  621. package/styles/icon-button/_core.scss +145 -0
  622. package/styles/icon-button/_token-utils.scss +30 -0
  623. package/styles/icon-button/icon-button.scss +315 -0
  624. package/styles/icon-button/index.scss +8 -0
  625. package/styles/label/_core.scss +17 -0
  626. package/styles/{icon-button/forge-icon-button.scss → label/index.scss} +1 -3
  627. package/styles/label/label.scss +18 -0
  628. package/styles/linear-progress/_animations.scss +3 -1
  629. package/styles/linear-progress/_configuration.scss +15 -16
  630. package/styles/linear-progress/_core.scss +17 -19
  631. package/styles/linear-progress/_token-utils.scss +31 -0
  632. package/styles/linear-progress/index.scss +1 -0
  633. package/styles/linear-progress/linear-progress.scss +42 -6
  634. package/styles/list/list/_configuration.scss +10 -0
  635. package/styles/list/list/_core.scss +16 -0
  636. package/styles/list/list/_token-utils.scss +30 -0
  637. package/styles/list/list/index.scss +8 -0
  638. package/styles/list/list/list.scss +29 -3
  639. package/styles/list/list-item/_configuration.scss +16 -0
  640. package/styles/list/list-item/_core.scss +195 -0
  641. package/styles/list/list-item/_token-utils.scss +30 -0
  642. package/styles/list/list-item/index.scss +8 -0
  643. package/styles/list/list-item/list-item.scss +199 -12
  644. package/styles/menu/menu.scss +1 -1
  645. package/styles/paginator/paginator.scss +0 -1
  646. package/styles/profile-card/profile-card.scss +0 -1
  647. package/styles/slider/_configuration.scss +5 -50
  648. package/styles/slider/_core.scss +59 -70
  649. package/styles/slider/_token-utils.scss +30 -0
  650. package/styles/slider/index.scss +1 -0
  651. package/styles/slider/slider.scss +28 -5
  652. package/styles/split-button/_configuration.scss +12 -0
  653. package/styles/split-button/_token-utils.scss +30 -0
  654. package/styles/split-button/index.scss +7 -0
  655. package/styles/split-button/split-button.scss +97 -0
  656. package/styles/state-layer/_configuration.scss +2 -9
  657. package/styles/state-layer/_core.scss +11 -16
  658. package/styles/state-layer/_token-utils.scss +31 -0
  659. package/styles/state-layer/index.scss +1 -0
  660. package/styles/state-layer/state-layer.scss +7 -0
  661. package/styles/switch/_configuration.scss +10 -0
  662. package/styles/switch/_core.scss +252 -0
  663. package/styles/switch/_token-utils.scss +30 -0
  664. package/styles/switch/index.scss +8 -0
  665. package/styles/switch/switch.scss +167 -47
  666. package/styles/table/_mixins.scss +20 -2
  667. package/styles/tabs/tab/_configuration.scss +7 -44
  668. package/styles/tabs/tab/_core.scss +30 -35
  669. package/styles/tabs/tab/_token-utils.scss +30 -0
  670. package/styles/tabs/tab/index.scss +1 -0
  671. package/styles/tabs/tab/tab.scss +89 -45
  672. package/styles/tabs/tab-bar/_configuration.scss +2 -5
  673. package/styles/tabs/tab-bar/_core.scss +26 -9
  674. package/styles/tabs/tab-bar/_token-utils.scss +30 -0
  675. package/styles/tabs/tab-bar/index.scss +2 -1
  676. package/styles/tabs/tab-bar/tab-bar.scss +68 -34
  677. package/styles/theme/_theme-dark.scss +0 -2
  678. package/styles/theme/_theme.scss +3 -45
  679. package/styles/theme/forge-theme.scss +21 -3
  680. package/styles/toast/_mixins.scss +1 -1
  681. package/styles/toast/toast.scss +0 -2
  682. package/styles/typography/_mixins.scss +0 -20
  683. package/styles/typography/forge-typography.scss +5 -2
  684. package/dist/button/forge-button.css +0 -6
  685. package/dist/esm/chunks/chunk.2AJ7FFI6.js +0 -7
  686. package/dist/esm/chunks/chunk.2AJ7FFI6.js.map +0 -7
  687. package/dist/esm/chunks/chunk.3HB22HCX.js +0 -7
  688. package/dist/esm/chunks/chunk.4C6KHYUO.js +0 -7
  689. package/dist/esm/chunks/chunk.54OOOQ4R.js +0 -7
  690. package/dist/esm/chunks/chunk.54OOOQ4R.js.map +0 -7
  691. package/dist/esm/chunks/chunk.5565ZSTH.js +0 -7
  692. package/dist/esm/chunks/chunk.6GC5AJPE.js +0 -7
  693. package/dist/esm/chunks/chunk.6GC5AJPE.js.map +0 -7
  694. package/dist/esm/chunks/chunk.6OUJSOJY.js +0 -7
  695. package/dist/esm/chunks/chunk.7CGKFRBK.js +0 -7
  696. package/dist/esm/chunks/chunk.7CGKFRBK.js.map +0 -7
  697. package/dist/esm/chunks/chunk.7DB3XVPI.js +0 -7
  698. package/dist/esm/chunks/chunk.ALIYGJXA.js +0 -129
  699. package/dist/esm/chunks/chunk.ALIYGJXA.js.map +0 -7
  700. package/dist/esm/chunks/chunk.B4T3R53C.js +0 -7
  701. package/dist/esm/chunks/chunk.BH2TUG2V.js +0 -7
  702. package/dist/esm/chunks/chunk.BH2TUG2V.js.map +0 -7
  703. package/dist/esm/chunks/chunk.BKL2BAYW.js +0 -7
  704. package/dist/esm/chunks/chunk.BKL2BAYW.js.map +0 -7
  705. package/dist/esm/chunks/chunk.BY25RT52.js +0 -7
  706. package/dist/esm/chunks/chunk.CDGZYUQS.js +0 -7
  707. package/dist/esm/chunks/chunk.CKW7KKDW.js +0 -7
  708. package/dist/esm/chunks/chunk.CKW7KKDW.js.map +0 -7
  709. package/dist/esm/chunks/chunk.CXY6K7EI.js +0 -7
  710. package/dist/esm/chunks/chunk.CXY6K7EI.js.map +0 -7
  711. package/dist/esm/chunks/chunk.D5TAI6Q7.js +0 -7
  712. package/dist/esm/chunks/chunk.D5TAI6Q7.js.map +0 -7
  713. package/dist/esm/chunks/chunk.DBNJHUYY.js +0 -7
  714. package/dist/esm/chunks/chunk.DBNJHUYY.js.map +0 -7
  715. package/dist/esm/chunks/chunk.DMCBAYQX.js +0 -7
  716. package/dist/esm/chunks/chunk.DMCBAYQX.js.map +0 -7
  717. package/dist/esm/chunks/chunk.DXN7ZOH3.js +0 -7
  718. package/dist/esm/chunks/chunk.DXN7ZOH3.js.map +0 -7
  719. package/dist/esm/chunks/chunk.F4VXEE76.js +0 -7
  720. package/dist/esm/chunks/chunk.F4VXEE76.js.map +0 -7
  721. package/dist/esm/chunks/chunk.F5SY2D4B.js +0 -7
  722. package/dist/esm/chunks/chunk.F74YURLV.js +0 -7
  723. package/dist/esm/chunks/chunk.F74YURLV.js.map +0 -7
  724. package/dist/esm/chunks/chunk.FG2GNAM2.js +0 -7
  725. package/dist/esm/chunks/chunk.FG2GNAM2.js.map +0 -7
  726. package/dist/esm/chunks/chunk.GNG64TXK.js +0 -7
  727. package/dist/esm/chunks/chunk.GNG64TXK.js.map +0 -7
  728. package/dist/esm/chunks/chunk.GO5A4GKZ.js +0 -7
  729. package/dist/esm/chunks/chunk.GO5A4GKZ.js.map +0 -7
  730. package/dist/esm/chunks/chunk.HHCO64F3.js +0 -7
  731. package/dist/esm/chunks/chunk.HHCO64F3.js.map +0 -7
  732. package/dist/esm/chunks/chunk.ISC7SZSP.js +0 -7
  733. package/dist/esm/chunks/chunk.ISC7SZSP.js.map +0 -7
  734. package/dist/esm/chunks/chunk.IX25DYIM.js +0 -7
  735. package/dist/esm/chunks/chunk.IX25DYIM.js.map +0 -7
  736. package/dist/esm/chunks/chunk.JUJGROHA.js +0 -7
  737. package/dist/esm/chunks/chunk.JUJGROHA.js.map +0 -7
  738. package/dist/esm/chunks/chunk.KJP2VA6Q.js +0 -7
  739. package/dist/esm/chunks/chunk.KJP2VA6Q.js.map +0 -7
  740. package/dist/esm/chunks/chunk.LK4AAUOP.js +0 -7
  741. package/dist/esm/chunks/chunk.LK4AAUOP.js.map +0 -7
  742. package/dist/esm/chunks/chunk.LXPFG7MW.js +0 -7
  743. package/dist/esm/chunks/chunk.LXPFG7MW.js.map +0 -7
  744. package/dist/esm/chunks/chunk.MACPUZC2.js +0 -7
  745. package/dist/esm/chunks/chunk.MACPUZC2.js.map +0 -7
  746. package/dist/esm/chunks/chunk.MGLL67VO.js +0 -7
  747. package/dist/esm/chunks/chunk.MXEKIEJA.js +0 -7
  748. package/dist/esm/chunks/chunk.MXEKIEJA.js.map +0 -7
  749. package/dist/esm/chunks/chunk.N43BCJHN.js +0 -7
  750. package/dist/esm/chunks/chunk.N43BCJHN.js.map +0 -7
  751. package/dist/esm/chunks/chunk.P2CW5MQO.js +0 -12
  752. package/dist/esm/chunks/chunk.P2CW5MQO.js.map +0 -7
  753. package/dist/esm/chunks/chunk.P2ZCNO63.js +0 -7
  754. package/dist/esm/chunks/chunk.P2ZCNO63.js.map +0 -7
  755. package/dist/esm/chunks/chunk.PEBT47AU.js +0 -7
  756. package/dist/esm/chunks/chunk.PH3HUFJJ.js +0 -7
  757. package/dist/esm/chunks/chunk.PH3HUFJJ.js.map +0 -7
  758. package/dist/esm/chunks/chunk.Q7JUJNYD.js +0 -7
  759. package/dist/esm/chunks/chunk.QCRRHGBA.js +0 -7
  760. package/dist/esm/chunks/chunk.QCRRHGBA.js.map +0 -7
  761. package/dist/esm/chunks/chunk.SBYX7VZ4.js +0 -7
  762. package/dist/esm/chunks/chunk.SFCGOCQK.js +0 -7
  763. package/dist/esm/chunks/chunk.SJJS4LYN.js +0 -7
  764. package/dist/esm/chunks/chunk.TYLOAD7R.js +0 -7
  765. package/dist/esm/chunks/chunk.UJ2WQOLO.js +0 -7
  766. package/dist/esm/chunks/chunk.UJ2WQOLO.js.map +0 -7
  767. package/dist/esm/chunks/chunk.VVXSELXX.js +0 -7
  768. package/dist/esm/chunks/chunk.VVXSELXX.js.map +0 -7
  769. package/dist/esm/chunks/chunk.VZWNNK7A.js +0 -7
  770. package/dist/esm/chunks/chunk.VZWNNK7A.js.map +0 -7
  771. package/dist/esm/chunks/chunk.X3C3J5MH.js +0 -7
  772. package/dist/esm/chunks/chunk.X3C3J5MH.js.map +0 -7
  773. package/dist/esm/chunks/chunk.XGOAYMK2.js +0 -7
  774. package/dist/esm/chunks/chunk.XGOAYMK2.js.map +0 -7
  775. package/dist/esm/chunks/chunk.YRMR7IOS.js +0 -7
  776. package/dist/esm/chunks/chunk.YRMR7IOS.js.map +0 -7
  777. package/dist/esm/chunks/chunk.YX7WLO5Y.js +0 -7
  778. package/dist/esm/chunks/chunk.YZLASVCK.js +0 -177
  779. package/dist/esm/chunks/chunk.YZLASVCK.js.map +0 -7
  780. package/dist/esm/chunks/chunk.ZDD2NLGP.js +0 -7
  781. package/dist/esm/chunks/chunk.ZKGSQQGU.js +0 -12
  782. package/dist/esm/chunks/chunk.ZKGSQQGU.js.map +0 -7
  783. package/dist/esm/chunks/chunk.ZVBZ3LGP.js +0 -7
  784. package/dist/esm/chunks/chunk.ZVBZ3LGP.js.map +0 -7
  785. package/dist/icon-button/forge-icon-button.css +0 -6
  786. package/styles/button/_button-base.scss +0 -183
  787. package/styles/button/_button-filled-theme.scss +0 -60
  788. package/styles/button/_button-filled.scss +0 -71
  789. package/styles/button/_button-outlined-theme.scss +0 -175
  790. package/styles/button/_button-outlined.scss +0 -76
  791. package/styles/button/_button-protected-theme.scss +0 -60
  792. package/styles/button/_button-protected.scss +0 -88
  793. package/styles/button/_button-ripple.scss +0 -69
  794. package/styles/button/_button-shared-theme.scss +0 -447
  795. package/styles/button/_button-text-theme.scss +0 -60
  796. package/styles/button/_button-text.scss +0 -57
  797. package/styles/button/_button.mixins.scss +0 -148
  798. package/styles/button/_mixins.scss +0 -183
  799. package/styles/checkbox/_checkbox-custom-properties.scss +0 -11
  800. package/styles/checkbox/_checkbox-theme.scss +0 -577
  801. package/styles/checkbox/_checkbox.mixins.scss +0 -595
  802. package/styles/icon-button/_mixins.scss +0 -345
  803. package/styles/icon-button/_variables.scss +0 -42
  804. package/styles/list/list/_mixins.scss +0 -45
  805. package/styles/list/list-item/_mixins.scss +0 -413
  806. package/styles/list/list-item/_variables.scss +0 -43
  807. package/styles/switch/_switch-mixins.scss +0 -301
  808. package/styles/switch/_switch-theme.scss +0 -701
  809. /package/dist/esm/chunks/{chunk.SMGXXR6K.js.map → chunk.2MSL7CYM.js.map} +0 -0
  810. /package/dist/esm/chunks/{chunk.M56LSSPW.js.map → chunk.3HCYRDRI.js.map} +0 -0
  811. /package/dist/esm/chunks/{chunk.4ZKX3SO5.js.map → chunk.3R4BUIQP.js.map} +0 -0
  812. /package/dist/esm/chunks/{chunk.YWNCJ7XP.js.map → chunk.3ZPSN2QG.js.map} +0 -0
  813. /package/dist/esm/chunks/{chunk.LFODKHUO.js.map → chunk.5N4N6DL6.js.map} +0 -0
  814. /package/dist/esm/chunks/{chunk.QOJESHEV.js.map → chunk.675V42JS.js.map} +0 -0
  815. /package/dist/esm/chunks/{chunk.DG4ZM3AW.js.map → chunk.AMLT6XJP.js.map} +0 -0
  816. /package/dist/esm/chunks/{chunk.MTKSU2BV.js.map → chunk.APPY5AYL.js.map} +0 -0
  817. /package/dist/esm/chunks/{chunk.4YFVG4KP.js.map → chunk.ARQMMZJL.js.map} +0 -0
  818. /package/dist/esm/chunks/{chunk.5MZ5SGMO.js.map → chunk.BB4UF5RX.js.map} +0 -0
  819. /package/dist/esm/chunks/{chunk.Q7Z3SJ5F.js.map → chunk.DTLZOIUQ.js.map} +0 -0
  820. /package/dist/esm/chunks/{chunk.OWCYRSI3.js.map → chunk.FLWNOP42.js.map} +0 -0
  821. /package/dist/esm/chunks/{chunk.S3JMOOWC.js.map → chunk.FXIWCHLW.js.map} +0 -0
  822. /package/dist/esm/chunks/{chunk.CWTV3TB3.js.map → chunk.GNDKQPDV.js.map} +0 -0
  823. /package/dist/esm/chunks/{chunk.ULY4H76N.js.map → chunk.HAKF2T2D.js.map} +0 -0
  824. /package/dist/esm/chunks/{chunk.WPG7NNQX.js.map → chunk.HOLCNJXC.js.map} +0 -0
  825. /package/dist/esm/chunks/{chunk.W4247Q2P.js.map → chunk.HRRJIFC5.js.map} +0 -0
  826. /package/dist/esm/chunks/{chunk.SU4FU7GK.js.map → chunk.IDMDBMBR.js.map} +0 -0
  827. /package/dist/esm/chunks/{chunk.FCATJM34.js.map → chunk.IHAHJPMB.js.map} +0 -0
  828. /package/dist/esm/chunks/{chunk.XKI46BH2.js.map → chunk.IMLJD35R.js.map} +0 -0
  829. /package/dist/esm/chunks/{chunk.624UKZFU.js.map → chunk.IT7XPDAV.js.map} +0 -0
  830. /package/dist/esm/chunks/{chunk.JLLHDJSO.js.map → chunk.JVLJH6PR.js.map} +0 -0
  831. /package/dist/esm/chunks/{chunk.4C6KHYUO.js.map → chunk.KPJWP77R.js.map} +0 -0
  832. /package/dist/esm/chunks/{chunk.2EWV2XBP.js.map → chunk.KV5IKYG2.js.map} +0 -0
  833. /package/dist/esm/chunks/{chunk.A62DE5PD.js.map → chunk.LCR4YH3O.js.map} +0 -0
  834. /package/dist/esm/chunks/{chunk.FWFOOQMA.js.map → chunk.LOG6GQOK.js.map} +0 -0
  835. /package/dist/esm/chunks/{chunk.YLG6ZC5K.js.map → chunk.NUMKGUCK.js.map} +0 -0
  836. /package/dist/esm/chunks/{chunk.XI3MJSIS.js.map → chunk.O6V3YNMO.js.map} +0 -0
  837. /package/dist/esm/chunks/{chunk.TK5I4RHF.js.map → chunk.QLCVRJ3Q.js.map} +0 -0
  838. /package/dist/esm/chunks/{chunk.Q7JUJNYD.js.map → chunk.RP674CRC.js.map} +0 -0
  839. /package/dist/esm/chunks/{chunk.LTT67HTW.js.map → chunk.SLJ6HDK7.js.map} +0 -0
  840. /package/dist/esm/chunks/{chunk.6OW6Q3EW.js.map → chunk.TU74SREL.js.map} +0 -0
  841. /package/dist/esm/chunks/{chunk.EK24Y56W.js.map → chunk.URJQNB3S.js.map} +0 -0
  842. /package/dist/esm/chunks/{chunk.K3KAM2PL.js.map → chunk.W2LN45WY.js.map} +0 -0
  843. /package/dist/esm/chunks/{chunk.Z6FCL3G3.js.map → chunk.XEFWZKHQ.js.map} +0 -0
  844. /package/dist/esm/chunks/{chunk.NR3MLTXF.js.map → chunk.XLL7L2UB.js.map} +0 -0
  845. /package/dist/esm/chunks/{chunk.3HB22HCX.js.map → chunk.XYAZVLPR.js.map} +0 -0
  846. /package/dist/esm/chunks/{chunk.2QHD3DCR.js.map → chunk.YAERJVPL.js.map} +0 -0
  847. /package/dist/esm/chunks/{chunk.ZDD2NLGP.js.map → chunk.YBZK6LJZ.js.map} +0 -0
  848. /package/dist/esm/chunks/{chunk.ZJC2DSNM.js.map → chunk.Z5ZLKM7W.js.map} +0 -0
  849. /package/styles/core/styles/tokens/{_color-palette.scss → color-palette/_material-color-palette.scss} +0 -0
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{f as I}from"./chunk.FYWPZFLJ.js";import{a as S,d as F,l as B}from"./chunk.PH3HUFJJ.js";import{b as v,c as z}from"./chunk.54OOOQ4R.js";import{a as p}from"./chunk.NVUMRW44.js";import{a as D}from"./chunk.BKL2BAYW.js";import{a as L,b as h}from"./chunk.DXN7ZOH3.js";import{e as w,f,k as C}from"./chunk.MVTBJPO2.js";import{f as k,g as m,i as l,n as x,s as b,t as s,y as T}from"./chunk.K7FPXAFS.js";import{k as d}from"./chunk.J2M2MXP2.js";import{a as y,b as E,d as c}from"./chunk.M3QDAYD2.js";var R=`${h}chip-set`,O={VERTICAL:"vertical",TYPE:"type",DENSE:"dense",DISABLED:"disabled"},A={ROOT:"forge-chip-set",VERTICAL:"forge-chip-set--vertical"},H={ROOT:`.${A.ROOT}`},N={elementName:R,attributes:O,classes:A,selectors:H};var n=`${h}chip`,M={TYPE:"type",SELECTED:"selected",VALUE:"value",DISABLED:"disabled",INVALID:"invalid",DENSE:"dense",EMULATE_FOCUS:"emulate-focus"},U={ACTION:"forge-chip--action",CHOICE:"forge-chip--choice",FILTER:"forge-chip--filter",INPUT:"forge-chip--input",FIELD:"forge-chip--field",INVALID:"forge-chip--invalid",SELECTED:"forge-chip--selected",DELETE_BUTTON:"forge-chip__delete-button",DELETE_BUTTON_TOUCH_TARGET:"forge-chip__delete-button__touch-target",DENSE:"forge-chip--dense",DISABLED:"forge-chip--disabled",LEADING_HIDDEN:"forge-chip__leading--hidden"},P={ROOT:".forge-chip",BUTTON:"[role=button]"},V={DELETE:`${n}-delete`,SELECT:`${n}-select`,FOCUS_NEXT:`${n}-focus-next`,FOCUS_PREVIOUS:`${n}-focus-previous`},K={TYPE:"action"},t={elementName:n,attributes:M,classes:U,selectors:P,events:V,defaults:K};var $='<div class="forge-chip__checkmark" aria-hidden="true"><svg class="forge-chip__checkmark-svg" viewBox="-2 -3 30 30"><path class="forge-chip__checkmark-path" fill="none" stroke="black" d="M1.73,12.91 8.1,19.28 22.79,4.59"/></svg></div>',g=class extends D{constructor(e){super(e);this._rootElement=f(this._component,t.selectors.ROOT),this._buttonElement=f(this._component,t.selectors.BUTTON),this._leadingSlotElement=f(this._component,"slot[name=leading]"),this._rootElement.addEventListener("click",r=>{r.target!==this._deleteButton&&this._buttonElement.focus()},{capture:!0})}get root(){return this._rootElement}get unbounded(){return!1}get disabled(){var e;return(e=this._buttonElement)==null?void 0:e.disabled}addRootListener(e,r){this._rootElement.addEventListener(e,r)}removeRootListener(e,r){this._rootElement.removeEventListener(e,r)}addButtonListener(e,r){this._buttonElement.addEventListener(e,r)}removeButtonListener(e,r){this._buttonElement.removeEventListener(e,r)}initializeRipple(){let e=E(y({},v.createAdapter(this)),{registerInteractionHandler:(r,o)=>{["focus","blur","keydown"].includes(r)?this._buttonElement.addEventListener(r,o,{passive:!0}):this._rootElement.addEventListener(r,o,{passive:!0})},deregisterInteractionHandler:(r,o)=>{["focus","blur","keydown"].includes(r)?this._buttonElement.removeEventListener(r,o,{passive:!0}):this._rootElement.removeEventListener(r,o,{passive:!0})},isSurfaceActive:()=>this._buttonElement.matches(":active"),isUnbounded:()=>!!this.unbounded,isSurfaceDisabled:()=>this._buttonElement.disabled,addClass:r=>k(r,this._rootElement),removeClass:r=>m(r,this._rootElement),updateCssVariable:(r,o)=>this._rootElement.style.setProperty(r,o)});return this._rippleInstance=new v(this._rootElement,new z(e)),this._rippleInstance}clearTypeClass(){m([t.classes.ACTION,t.classes.CHOICE,t.classes.FILTER,t.classes.INPUT],this._buttonElement)}addRootClass(e){this._rootElement.classList.add(e)}removeRootClass(e){this._rootElement.classList.remove(e)}setCheckmarkVisibility(e){e?(this._checkmarkElement||(this._checkmarkElement=T($)),this._rootElement.insertBefore(this._checkmarkElement,this._rootElement.firstChild)):this._checkmarkElement&&this._checkmarkElement.isConnected&&l(this._checkmarkElement)}setSelected(e){s(this._rootElement,e,t.classes.SELECTED)}setDisabled(e){this._buttonElement.disabled=e,this._buttonElement.tabIndex=e?-1:0,s(this._rootElement,e,t.classes.DISABLED)}setDense(e){s(this._rootElement,e,t.classes.DENSE)}setDeleteButtonVisibility(e,r){e?(this._deleteButton||(this._deleteButton=this._createDeleteButton(r)),this._deleteButtonTouchTarget||(this._deleteButtonTouchTarget=this._createDeleteButtonTouchTarget(r)),this._deleteButton.appendChild(this._deleteButtonTouchTarget),this._rootElement.appendChild(this._deleteButton)):(this._deleteButtonTouchTarget&&l(this._deleteButtonTouchTarget),this._deleteButton&&l(this._deleteButton))}setLeadingSlotVisibility(e){s(this._leadingSlotElement,!e,t.classes.LEADING_HIDDEN)}getChipSetState(){let e=null,r=x(this._component,o=>o&&o.nodeName===N.elementName.toUpperCase());return r&&(e={type:r.type,disabled:r.disabled,dense:r.dense}),e}_createDeleteButton(e){let r=document.createElement(S.elementName);return r.id="remove-button",r.name="cancel",r.tabIndex=-1,r.setAttribute("aria-hidden","false"),r.setAttribute("aria-label",`Remove ${this._component.innerText}`),r.setAttribute("role","button"),r.classList.add(t.classes.DELETE_BUTTON),r.addEventListener("keydown",e),r}_createDeleteButtonTouchTarget(e){let r=document.createElement("div");return r.classList.add(t.classes.DELETE_BUTTON_TOUCH_TARGET),r.addEventListener("keydown",e),r.addEventListener("click",e),r}setFocus(){this._buttonElement.focus()}tryFocusDelete(){this._deleteButton?this._deleteButton.focus():this.setFocus()}setEmulatedFocus(e){this._buttonElement.classList.toggle("mdc-ripple-upgraded--background-focused",e)}tryMoveFocusNext(){let e=b(this._component.ownerDocument);e===this._buttonElement?this._deleteButton?this._deleteButton.focus():this.emitHostEvent(t.events.FOCUS_NEXT):e===this._deleteButton&&this.emitHostEvent(t.events.FOCUS_NEXT)}tryMoveFocusPrevious(){let e=b(this._component.ownerDocument);e===this._deleteButton?this._buttonElement.focus():e===this._buttonElement&&this.emitHostEvent(t.events.FOCUS_PREVIOUS)}};var u=class{constructor(i){this._adapter=i;this._type=t.defaults.TYPE;this._selected=!1;this._disabled=!1;this._invalid=!1;this._value=null;this._dense=!1;this._emulateFocus=!1;this._isInitialized=!1;this._clickListener=e=>this._onClick(e),this._keydownListener=e=>this._onKeydown(e),this._deleteKeydownListener=e=>this._onDeleteKeydown(e),this._buttonFocusListener=e=>this._onButtonFocus(e),this._buttonBlurListener=e=>this._onButtonBlur(e)}initialize(){this._rippleInstance=this._adapter.initializeRipple(),this._adapter.addRootListener("click",this._clickListener),this._adapter.addRootListener("keydown",this._keydownListener),this._adapter.addButtonListener("focus",this._buttonFocusListener),this._adapter.addButtonListener("blur",this._buttonBlurListener),this._applyState(),this._isInitialized=!0}disconnect(){this._destroyRipple(),this._adapter.removeRootListener("click",this._clickListener),this._adapter.removeRootListener("keydown",this._keydownListener),this._adapter.removeButtonListener("focus",this._buttonFocusListener),this._adapter.removeButtonListener("blur",this._buttonBlurListener),this._isInitialized=!1}_destroyRipple(){this._rippleInstance&&(this._rippleInstance.destroy(),this._rippleInstance=void 0)}_applyState(){let i=this._adapter.getChipSetState();i&&(this._type=i.type,this._disabled=i.disabled,this._dense=i.dense),this._type==="action"&&(this._selected=!1),this._applyDisabled(),this._applyType(),this._applySelected(),this._applyDense(),this._applyEmulateFocus()}_onClick(i){let e=i.target;e.classList.contains(t.classes.DELETE_BUTTON)||e.classList.contains(t.classes.DELETE_BUTTON_TOUCH_TARGET)?this._handleDeleteInteraction(i):this._handleSelectInteraction()}_onKeydown(i){var e;switch(i.key){case"Delete":case"Backspace":this._type==="input"&&(i.preventDefault(),this._emitDeleteEvent());break;case"Enter":case" ":i.preventDefault(),(e=this._rippleInstance)==null||e.animate(),this._handleSelectInteraction();break;case"ArrowLeft":i.preventDefault(),this._adapter.tryMoveFocusPrevious();break;case"ArrowRight":i.preventDefault(),this._adapter.tryMoveFocusNext();break}}_onDeleteKeydown(i){i.key==="Enter"&&this._handleDeleteInteraction(i)}_onButtonFocus(i){this._adapter.setHostAttribute("focused")}_onButtonBlur(i){this._adapter.removeHostAttribute("focused")}_handleDeleteInteraction(i){let e=i.target;(e.classList.contains(t.classes.DELETE_BUTTON)||e.classList.contains(t.classes.DELETE_BUTTON_TOUCH_TARGET))&&(i.stopPropagation(),this._emitDeleteEvent())}_handleSelectInteraction(){let i=this._emitSelectEvent(),e=["filter","choice","input"].includes(this._type);!i&&e&&(this._selected=!this._selected,this._applySelected())}_emitSelectEvent(){let i={selected:!this._selected,value:this._value};return!this._adapter.emitHostEvent(t.events.SELECT,i,!0,!0)}_emitDeleteEvent(){let i={value:this._value};this._adapter.emitHostEvent(t.events.DELETE,i,!0,!0)}_applyType(){switch(this._adapter.clearTypeClass(),this._type){case"action":this._adapter.addRootClass(t.classes.ACTION);break;case"choice":this._adapter.addRootClass(t.classes.CHOICE);break;case"filter":this._adapter.addRootClass(t.classes.FILTER);break;case"input":this._adapter.addRootClass(t.classes.INPUT);break;case"field":this._adapter.addRootClass(t.classes.FIELD);break}this._adapter.setCheckmarkVisibility(this._type==="filter");let i=this._type==="input"||this._type==="field";this._adapter.setDeleteButtonVisibility(i,this._deleteKeydownListener),this._adapter.setLeadingSlotVisibility(!this._selected),this._adapter.setHostAttribute(t.attributes.TYPE,this._type)}_applySelected(){this._adapter.setSelected(this._selected),this._type==="filter"&&this._adapter.setLeadingSlotVisibility(!this._selected),this._adapter.toggleHostAttribute(t.attributes.SELECTED,this._selected)}_applyDisabled(){this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(t.attributes.DISABLED,this._disabled)}_applyDense(){this._adapter.setDense(this._dense),this._adapter.toggleHostAttribute(t.attributes.DISABLED,this._disabled)}_applyEmulateFocus(){this._adapter.toggleHostAttribute(t.attributes.EMULATE_FOCUS,this._emulateFocus),this._adapter.setEmulatedFocus(this._emulateFocus)}get type(){return this._type}set type(i){this._type!==i&&(this._type=i,this._isInitialized&&(["action","choice","filter","input","field"].includes(this._type)||(this._type="action"),this._type==="action"&&(this._selected=!1,this._applySelected()),this._applyType()))}get selected(){return this._selected}set selected(i){this._selected!==i&&(this._selected=i,this._isInitialized&&(this._type==="action"&&(this._selected=!1),this._applySelected()))}get disabled(){return this._disabled}set disabled(i){this._disabled!==i&&(this._disabled=i,this._isInitialized&&this._applyDisabled())}get invalid(){return this._invalid}set invalid(i){this._invalid!==i&&(this._invalid=i,i?(this._adapter.setHostAttribute(t.attributes.INVALID,""),this._adapter.addRootClass(t.classes.INVALID)):(this._adapter.removeHostAttribute(t.attributes.INVALID),this._adapter.removeRootClass(t.classes.INVALID)))}get value(){return this._value}set value(i){this._value=i}get dense(){return this._dense}set dense(i){this._dense!==i&&(this._dense=i,this._isInitialized&&this._applyDense())}get emulateFocus(){return this._emulateFocus}set emulateFocus(i){this._emulateFocus!==i&&(this._emulateFocus=i,this._isInitialized&&this._applyEmulateFocus())}setFocus(){this._adapter.setFocus()}tryFocusDelete(){if(this._type==="input"){this._adapter.tryFocusDelete();return}this.setFocus()}};var Y='<template><div class="forge-chip" part="root button"><slot name="leading" class="forge-chip__leading"></slot><div role="button" tabindex="0" class="forge-chip__content" part="content"><slot></slot></div><slot name="trailing"></slot></div></template>',G='@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-chip{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:0 0;border-radius:4px;border-radius:var(--mdc-shape-small,4px);height:36px;text-transform:none;box-sizing:border-box;overflow:hidden;border-style:solid;-webkit-transition:border 280ms cubic-bezier(.4, 0, .2, 1);transition:border 280ms cubic-bezier(.4, 0, .2, 1);font-family:Roboto,sans-serif;font-family:var(--mdc-outlined-button-label-text-font, var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)));font-size:.875rem;font-size:var(--mdc-outlined-button-label-text-size, var(--mdc-typography-button-font-size, .875rem));letter-spacing:.0892857143em;letter-spacing:var(--mdc-outlined-button-label-text-tracking, var(--mdc-typography-button-letter-spacing, .0892857143em));font-weight:500;font-weight:var(--mdc-outlined-button-label-text-weight,var(--mdc-typography-button-font-weight,500));text-transform:uppercase;text-transform:var(--mdc-outlined-button-label-text-transform,var(--mdc-typography-button-text-transform,uppercase));height:36px;height:var(--mdc-outlined-button-container-height,36px);border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px));padding:0 15px 0 15px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px);padding:0 15px 0 15px;border-width:1px;border-radius:16px;width:auto;width:var(--forge-chip-width,auto);height:auto;height:var(--forge-chip-height,auto);min-height:36px;min-height:var(--forge-chip-min-height,36px);box-sizing:border-box;-webkit-transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1)}.forge-chip::after,.forge-chip::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-chip::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-chip::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-chip.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-chip.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-chip.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-chip.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-chip.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-chip::after,.forge-chip::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-chip.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-chip::after,.forge-chip::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-chip.mdc-ripple-surface--hover::before,.forge-chip:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-chip.mdc-ripple-upgraded--background-focused::before,.forge-chip:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-chip:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-chip.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-chip .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-chip::-moz-focus-inner{padding:0;border:0}.forge-chip:active{outline:0}.forge-chip:hover{cursor:pointer}.forge-chip:disabled{cursor:default;pointer-events:none}.forge-chip .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-chip:not(:disabled){background-color:transparent}.forge-chip:not(:disabled){color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-chip .mdc-button__ripple{border-style:solid;border-color:transparent}.forge-chip:not(:disabled){color:#6200ee;color:var(--mdc-outlined-button-label-text-color,var(--mdc-theme-primary,#6200ee))}.forge-chip:disabled{color:rgba(0,0,0,.38);color:var(--mdc-outlined-button-disabled-label-text-color,rgba(0,0,0,.38))}.forge-chip .mdc-button__icon{font-size:1.125rem;font-size:var(--mdc-outlined-button-with-icon-icon-size, 1.125rem);width:1.125rem;width:var(--mdc-outlined-button-with-icon-icon-size,1.125rem);height:1.125rem;height:var(--mdc-outlined-button-with-icon-icon-size,1.125rem)}.forge-chip .mdc-button__ripple::after,.forge-chip .mdc-button__ripple::before{background-color:#6200ee;background-color:var(--mdc-outlined-button-hover-state-layer-color,var(--mdc-theme-primary,#6200ee))}.forge-chip.mdc-ripple-surface--hover .mdc-button__ripple::before,.forge-chip:hover .mdc-button__ripple::before{opacity:.04;opacity:var(--mdc-outlined-button-hover-state-layer-opacity, .04)}.forge-chip.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.forge-chip:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-focus-state-layer-opacity, .12)}.forge-chip:not(.mdc-ripple-upgraded) .mdc-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, .12)}.forge-chip.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, 0.12)}.forge-chip .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px))}.forge-chip:not(:disabled){border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-outline-color,rgba(0,0,0,.12))}.forge-chip:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-disabled-outline-color,rgba(0,0,0,.12))}.forge-chip.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-chip.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-chip .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px)}.forge-chip .mdc-button__touch{left:calc(-1 * 1px);left:calc(-1 * var(--mdc-outlined-button-outline-width,1px));width:calc(100% + 2 * 1px);width:calc(100% + 2 * var(--mdc-outlined-button-outline-width,1px))}.forge-chip.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-chip.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-chip .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px}.forge-chip .mdc-button__touch{left:calc(-1 * 1px);width:calc(100% + 2 * 1px)}.forge-chip:not(:disabled){border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee)}.forge-chip .mdc-evolution-chip__ripple{border-radius:16px}.forge-chip .mdc-evolution-chip__action--primary:before{border-radius:16px}.forge-chip .mdc-evolution-chip__icon--primary{border-radius:16px}.forge-chip.forge-chip--disabled{border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:default;pointer-events:none}.forge-chip.forge-chip--disabled .forge-chip__delete-button{opacity:.54}.forge-chip__leading--hidden{display:none}.forge-chip__content{-webkit-box-flex:1;flex-grow:1;text-align:center}.forge-chip__content:focus{outline:0}.forge-chip ::slotted([slot=leading]){margin-left:-6px;margin-right:4px}.forge-chip ::slotted(forge-avatar[slot]){--forge-avatar-size:24px}.forge-chip ::slotted([slot=trailing]){margin-left:4px;margin-right:-8px}.forge-chip__checkmark{height:24px}.forge-chip__checkmark-svg{width:0;height:24px;-webkit-transition:width 150ms cubic-bezier(.4, 0, .2, 1);transition:width 150ms cubic-bezier(.4, 0, .2, 1)}.forge-chip__checkmark-path{stroke:#fff;stroke:var(--mdc-theme-on-primary,#fff);-webkit-transition:stroke-dashoffset 150ms 0 cubic-bezier(.4, 0, .6, 1);transition:stroke-dashoffset 150ms 0 cubic-bezier(.4, 0, .6, 1);stroke-width:2px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.forge-chip__delete-button{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:4px;margin-right:-8px;-webkit-transition:color 150ms linear;transition:color 150ms linear;outline:0;line-height:inherit;position:relative;border-radius:50%}.forge-chip__delete-button:focus{outline:currentColor solid 2px}.forge-chip__delete-button:focus,.forge-chip__delete-button:hover{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-chip__delete-button:active{opacity:.75}.forge-chip__delete-button__touch-target{position:absolute;top:-6px;left:-6px;width:calc(100% + 12px);height:calc(100% + 12px)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled),.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled),.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled){background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);color:#fff;color:var(--mdc-theme-text-primary-on-dark,#fff)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled)::after,.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled)::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled)::after,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled)::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled)::after,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled)::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):hover::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):hover::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled,.forge-chip--filter.forge-chip--selected.forge-chip--disabled,.forge-chip--input.forge-chip--selected.forge-chip--disabled{background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);color:#fff;color:var(--mdc-theme-text-primary-on-dark,#fff);opacity:.37}.forge-chip--choice.forge-chip--selected.forge-chip--disabled::after,.forge-chip--choice.forge-chip--selected.forge-chip--disabled::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled::after,.forge-chip--filter.forge-chip--selected.forge-chip--disabled::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled::after,.forge-chip--input.forge-chip--selected.forge-chip--disabled::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-chip--choice.forge-chip--selected.forge-chip--disabled.mdc-ripple-surface--hover::before,.forge-chip--choice.forge-chip--selected.forge-chip--disabled:hover::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled.mdc-ripple-surface--hover::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:hover::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled.mdc-ripple-surface--hover::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled:hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded--background-focused::before,.forge-chip--choice.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):focus::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded--background-focused::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):focus::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded--background-focused::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded)::after,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded)::after,.forge-chip--input.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip--choice.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):active::after,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):active::after,.forge-chip--input.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded,.forge-chip--filter.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded,.forge-chip--input.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-chip--choice.forge-chip--selected ::slotted([slot=leading]),.forge-chip--filter.forge-chip--selected ::slotted([slot=leading]),.forge-chip--input.forge-chip--selected ::slotted([slot=leading]){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-chip--choice.forge-chip--selected ::slotted([slot=trailing]),.forge-chip--filter.forge-chip--selected ::slotted([slot=trailing]),.forge-chip--input.forge-chip--selected ::slotted([slot=trailing]){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-chip--choice.forge-chip--selected .forge-chip__delete-button,.forge-chip--filter.forge-chip--selected .forge-chip__delete-button,.forge-chip--input.forge-chip--selected .forge-chip__delete-button{color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-chip--choice.forge-chip--selected.forge-chip--filter .forge-chip__checkmark,.forge-chip--filter.forge-chip--selected.forge-chip--filter .forge-chip__checkmark,.forge-chip--input.forge-chip--selected.forge-chip--filter .forge-chip__checkmark{margin-left:-6px;margin-right:4px}.forge-chip--choice.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-svg,.forge-chip--filter.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-svg,.forge-chip--input.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-svg{width:24px}.forge-chip--choice.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-path,.forge-chip--filter.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-path,.forge-chip--input.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-path{-webkit-transition:stroke-dashoffset 150ms 50ms cubic-bezier(.4, 0, .6, 1);transition:stroke-dashoffset 150ms 50ms cubic-bezier(.4, 0, .6, 1);stroke-dashoffset:0}.forge-chip--field .forge-chip__delete-button{color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-chip--field .forge-chip__delete-button:focus,.forge-chip--field .forge-chip__delete-button:hover{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-chip--field.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-chip--field.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button:focus,.forge-chip--field.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button:hover{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-chip--field.forge-chip--disabled .forge-chip__delete-button{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-chip--dense{min-height:28px;min-height:var(--forge-chip-min-height,28px)}.forge-chip--dense.forge-chip--field{min-height:20px;min-height:var(--forge-chip-min-height,20px);padding:0;margin:0;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.forge-chip--dense.forge-chip--field ::slotted([slot=leading]){margin:0 0 0 2px;font-size:18px!important}.forge-chip--dense.forge-chip--field .forge-chip__content{font-size:12px;padding:0 8px}.forge-chip--dense.forge-chip--field ::slotted([slot=trailing]){font-size:18px!important}.forge-chip--dense.forge-chip--field .forge-chip__delete-button{margin:0 2px 0 0;font-size:18px}.forge-chip--invalid:not(.forge-chip--disabled){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled)::after,.forge-chip--invalid:not(.forge-chip--disabled)::before{background-color:#b00020;background-color:var(--mdc-ripple-color,var(--mdc-theme-error,#b00020))}.forge-chip--invalid:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--invalid:not(.forge-chip--disabled):hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-chip--invalid:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--invalid:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-chip--invalid:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip--invalid:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-chip--invalid:not(.forge-chip--disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-chip--invalid:not(.forge-chip--disabled):not(:disabled){border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled).forge-chip--selected{background-color:#b00020;background-color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled).forge-chip--selected .forge-chip__delete-button{color:#fff;color:var(--mdc-theme-on-primary,#fff)}:host{display:inline-block}:host([hidden]){display:none}:host([theme=error]){--mdc-theme-primary:var(--mdc-theme-error)}',a=class extends C{constructor(){super();F.define(I),w(this,Y,G),this._foundation=new u(new g(this))}static get observedAttributes(){return[t.attributes.TYPE,t.attributes.SELECTED,t.attributes.DISABLED,t.attributes.VALUE,t.attributes.DENSE,t.attributes.INVALID,t.attributes.EMULATE_FOCUS]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,r,o){switch(e){case t.attributes.TYPE:this.type=o;break;case t.attributes.SELECTED:this.selected=d(o);break;case t.attributes.DISABLED:this.disabled=d(o);break;case t.attributes.INVALID:this.invalid=d(o);break;case t.attributes.VALUE:this.value=o;break;case t.attributes.DENSE:this.dense=d(o);break;case t.attributes.EMULATE_FOCUS:this.emulateFocus=d(o)}}focus(){this._foundation.setFocus()}tryFocusDelete(){this._foundation.tryFocusDelete()}};c([p()],a.prototype,"type",2),c([p()],a.prototype,"selected",2),c([p()],a.prototype,"disabled",2),c([p()],a.prototype,"invalid",2),c([p()],a.prototype,"value",2),c([p()],a.prototype,"dense",2),c([p()],a.prototype,"emulateFocus",2),a=c([L({name:t.elementName,dependencies:[B]})],a);export{N as a,t as b,g as c,u as d,a as e};
7
- //# sourceMappingURL=chunk.5565ZSTH.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as r,b as B,c as g,f as V}from"./chunk.PEBT47AU.js";import{b as H}from"./chunk.MXEKIEJA.js";import{q as h,r as m,s as _,t as v}from"./chunk.FYWPZFLJ.js";import{d as N,l as R}from"./chunk.PH3HUFJJ.js";import{a as b}from"./chunk.NVUMRW44.js";import{a as O}from"./chunk.BKL2BAYW.js";import{a as C}from"./chunk.DXN7ZOH3.js";import{a as L,e as I,f as y,k as z}from"./chunk.MVTBJPO2.js";import{u as E}from"./chunk.K7FPXAFS.js";import{k as p,l as A}from"./chunk.J2M2MXP2.js";import{d}from"./chunk.M3QDAYD2.js";var w=class extends O{constructor(e){super(e);this._defaultSlotElement=y(this._component,r.selectors.DEFAULT_SLOT),this._container=y(this._component,r.selectors.CONTAINER),this._scrollContainer=y(this._component,r.selectors.SCROLL_CONTAINER)}initializeContainerSizeObserver(e){this._resizeObserver=new ResizeObserver(()=>e()),this._resizeObserver.observe(this._component)}initializeScrollObserver(e){this._scrollContainer.addEventListener("scroll",e,{passive:!0})}destroyContainerSizeObserver(){var e;(e=this._resizeObserver)==null||e.disconnect(),this._resizeObserver=void 0}destroyScrollObserver(e){this._scrollContainer.removeEventListener("scroll",e,{passive:!0})}setVertical(e){E(this._scrollContainer,!!e,"aria-orientation","vertical")}setScrollBackwardButtonListener(e){var o,i;(i=(o=this._backwardScrollButton)==null?void 0:o.querySelector("button"))==null||i.addEventListener("click",e)}setScrollForwardButtonListener(e){var o,i;(i=(o=this._forwardScrollButton)==null?void 0:o.querySelector("button"))==null||i.addEventListener("click",e)}addSlotListener(e){this._defaultSlotElement.addEventListener("slotchange",e)}getTabs(){return Array.from(this._component.querySelectorAll(g.elementName))}async tryScrollTabIntoView(e){if(await new Promise(requestAnimationFrame),!e.isConnected||!e.selected&&!e.matches(":focus"))return;let o=this._component.vertical,i=o?this._scrollContainer.offsetTop:this._scrollContainer.offsetLeft,a=o?e.offsetTop:e.offsetLeft,c=o?e.offsetHeight:e.offsetWidth,l=o?this._scrollContainer.scrollTop:this._scrollContainer.scrollLeft,n=o?this._scrollContainer.offsetHeight:this._scrollContainer.offsetWidth,u=a-(r.numbers.SCROLL_MARGIN+i),f=a+c-n+(r.numbers.SCROLL_MARGIN-i),k=Math.min(u,Math.max(f,l)),S=e.matches(":focus")?"smooth":"instant";this._scrollContainer.scrollTo({behavior:S,[o?"left":"top"]:0,[o?"top":"left"]:k})}getScrollState(){let{scrollHeight:e,scrollWidth:o,scrollLeft:i,scrollTop:a,clientHeight:c,clientWidth:l}=this._scrollContainer,n=this._component.vertical?c+a:l+i,u=this._component.vertical?e:o,f=n===u;return{isScrolledStart:(this._component.vertical?n-c:n-l)===0,isScrolledEnd:f}}isScrollable(){let{scrollHeight:e,scrollWidth:o,clientHeight:i,clientWidth:a}=this._scrollContainer;return this._component.vertical?e>i:o>a}setScrollButtons(e){var o,i;e?(this._backwardScrollButton=this._createScrollButton(this._component.vertical?v.name:m.name),this._container.insertAdjacentElement("afterbegin",this._backwardScrollButton),this._forwardScrollButton=this._createScrollButton(this._component.vertical?h.name:_.name),this._container.insertAdjacentElement("beforeend",this._forwardScrollButton)):((o=this._backwardScrollButton)==null||o.remove(),this._backwardScrollButton=void 0,(i=this._forwardScrollButton)==null||i.remove(),this._forwardScrollButton=void 0)}syncScrollButtons({backwardEnabled:e,forwardEnabled:o}){var c,l;let i=(c=this._backwardScrollButton)==null?void 0:c.querySelector("button"),a=(l=this._forwardScrollButton)==null?void 0:l.querySelector("button");if(i){let n=!e;n&&i.matches(":focus")&&(a==null||a.focus()),i.disabled=n}if(a){let n=!o;n&&a.matches(":focus")&&(i==null||i.focus()),a.disabled=n}}scroll(e){let o=this._component.vertical?this._scrollContainer.offsetHeight:this._scrollContainer.offsetWidth;this._scrollContainer.scrollBy({behavior:"smooth",[this._component.vertical?"top":"left"]:o*(e==="forward"?1:-1)})}updateScrollButtonIcons(e){var a,c;let o=(a=this._backwardScrollButton)==null?void 0:a.querySelector("forge-icon");o&&(o.name=e?v.name:m.name);let i=(c=this._forwardScrollButton)==null?void 0:c.querySelector("forge-icon");i&&(i.name=e?h.name:_.name)}_createScrollButton(e){let o=document.createElement("forge-icon-button");o.classList.add(r.classes.SCROLL_BUTTON);let i=document.createElement("button");i.type="button",i.tabIndex=-1,i.setAttribute("aria-hidden","true"),o.appendChild(i);let a=document.createElement("forge-icon");return a.name=e,i.appendChild(a),o}};var T=class{constructor(t){this._adapter=t;this._isInitialized=!1;this._disabled=!1;this._vertical=!1;this._clustered=!1;this._stacked=!1;this._secondary=!1;this._inverted=!1;this._autoActivate=!1;this._scrollButtons=!1;this._tabs=[];this._scrollButtonsVisible=!1;this._tabsChangedListener=()=>this._onTabsChanged(),this._tabSelectedListener=e=>this._onTabSelected(e),this._keydownListener=e=>this._onKeydown(e),this._resizeListener=()=>this._onResize(),this._scrollListener=()=>this._onScroll(),this._scrollBackwardButtonListener=()=>this._onScrollBackward(),this._scrollForwardButtonListener=()=>this._onScrollForward()}initialize(){this._adapter.addSlotListener(this._tabsChangedListener),this._adapter.addHostListener(g.events.SELECT,this._tabSelectedListener),this._adapter.addHostListener("keydown",this._keydownListener),this._adapter.setVertical(this._vertical),this._scrollButtons&&(this._adapter.initializeContainerSizeObserver(this._resizeListener),this._adapter.initializeScrollObserver(this._scrollListener),this._updateScrollState()),this._tryScrollActiveTabIntoView(),this._isInitialized=!0}destroy(){this._adapter.destroyContainerSizeObserver(),this._adapter.destroyScrollObserver(this._scrollListener),this._isInitialized=!1}async _onTabsChanged(){this._tabs=this._adapter.getTabs(),this._syncTabState(),this._tryScrollActiveTabIntoView()}_onTabSelected(t){this._selectTab(t.target)}async _onKeydown(t){var a,c;let e=this._vertical?"vertical":"horizontal";if(!(((a=B.get("default"))==null?void 0:a.has(t.key))||((c=B.get(e))==null?void 0:c.has(t.key))))return;t.preventDefault();let i=-1;if(t.key==="Home")i=this._tabs.findIndex(l=>!l.disabled);else if(t.key==="End")i=this._tabs.reduceRight((l,n,u)=>!n.disabled&&l===-1?u:l,-1);else{let l=this._tabs.findIndex(f=>f.matches(":focus")),n=t.key==="ArrowLeft"||t.key==="ArrowUp",u=f=>{var S;i=f+(n?-1:1),i=i<0?this._tabs.length-1:i%this._tabs.length,!this._tabs.every(D=>D.disabled)&&((S=this._tabs[i])!=null&&S.disabled)&&u(i)};u(l)}i!==-1&&(this._autoActivate?this._selectTab(this._tabs[i]):(this._tabs[i].focus({preventScroll:!0}),await this._adapter.tryScrollTabIntoView(this._tabs[i])))}async _selectTab(t,e=!0){if(!t||t.disabled)return;let o=this._tabs.find(i=>i.selected);if(o!==t){if(e){let i=this._tabs.indexOf(t);if(!this._adapter.emitHostEvent(r.events.CHANGE,i,!0,!0))return}t.selected=!0,t.focus({preventScroll:!0}),await this._adapter.tryScrollTabIntoView(t),o&&(o.selected=!1),this._activeTab=this._tabs.indexOf(t)}}_syncTabState(){this._tabs.forEach((t,e)=>{t.selected=e===this._activeTab,t.disabled=this._disabled,t.vertical=this._vertical,t.stacked=this._stacked,t.secondary=this._secondary,t.inverted=this._inverted})}_onResize(){this._detectScrollableStatus()}_onScroll(){this._updateScrollState()}_onScrollBackward(){this._adapter.scroll("backward")}_onScrollForward(){this._adapter.scroll("forward")}_detectScrollableStatus(){let t=this._adapter.isScrollable();this._scrollButtonsVisible!==t&&(this._adapter.setScrollButtons(t),t?(this._adapter.initializeScrollObserver(this._scrollListener),this._updateScrollState(),this._adapter.setScrollBackwardButtonListener(this._scrollBackwardButtonListener),this._adapter.setScrollForwardButtonListener(this._scrollForwardButtonListener)):this._adapter.destroyScrollObserver(this._scrollListener),this._scrollButtonsVisible=t)}_updateScrollState(){let{isScrolledEnd:t,isScrolledStart:e}=this._adapter.getScrollState(),o={backwardEnabled:!e,forwardEnabled:!t};this._adapter.syncScrollButtons(o)}_tryScrollActiveTabIntoView(){this._tabScrollAnimationFrame&&window.cancelAnimationFrame(this._tabScrollAnimationFrame),this._tabScrollAnimationFrame=window.requestAnimationFrame(()=>{this._tabScrollAnimationFrame=void 0,this._adapter.isScrollable()&&typeof this._activeTab=="number"&&this._activeTab>=0&&this._tabs[this._activeTab]&&this._adapter.tryScrollTabIntoView(this._tabs[this._activeTab])})}get disabled(){return this._disabled}set disabled(t){t=!!t,this._disabled!==t&&(this._disabled=t,this._tabs.forEach(e=>e.disabled=this._disabled),this._adapter.toggleHostAttribute(r.attributes.DISABLED,this._disabled))}get activeTab(){return this._activeTab}set activeTab(t){if(this._activeTab!==t)if(this._activeTab=t!=null?t:void 0,typeof this._activeTab=="number"){let e=this._tabs[this._activeTab];this._selectTab(e,!1),this._adapter.setHostAttribute(r.attributes.ACTIVE_TAB,String(this._activeTab))}else this._tabs.forEach(e=>e.selected=!1),this._adapter.removeHostAttribute(r.attributes.ACTIVE_TAB)}get vertical(){return this._vertical}set vertical(t){t=!!t,this._vertical!==t&&(this._vertical=t,this._isInitialized&&this._adapter.setVertical(this._vertical),this._tabs.forEach(e=>e.vertical=this._vertical),this._scrollButtonsVisible&&this._adapter.updateScrollButtonIcons(this._vertical),this._adapter.toggleHostAttribute(g.attributes.VERTICAL,this._vertical))}get clustered(){return this._clustered}set clustered(t){t=!!t,this._clustered!==t&&(this._clustered=t,this._adapter.toggleHostAttribute(r.attributes.CLUSTERED,this._clustered))}get stacked(){return this._stacked}set stacked(t){t=!!t,this._stacked!==t&&(this._stacked=t,this._tabs.forEach(e=>e.stacked=this._stacked),this._adapter.toggleHostAttribute(r.attributes.STACKED,this._stacked))}get secondary(){return this._secondary}set secondary(t){t=!!t,this._secondary!==t&&(this._secondary=t,this._tabs.forEach(e=>e.secondary=this._secondary),this._adapter.toggleHostAttribute(r.attributes.SECONDARY,this._secondary))}get inverted(){return this._inverted}set inverted(t){t=!!t,this._inverted!==t&&(this._inverted=t,this._tabs.forEach(e=>e.inverted=this._inverted),this._adapter.toggleHostAttribute(r.attributes.INVERTED,this._inverted))}get autoActivate(){return this._autoActivate}set autoActivate(t){t=!!t,this._autoActivate!==t&&(this._autoActivate=t,this._adapter.toggleHostAttribute(r.attributes.AUTO_ACTIVATE,this._autoActivate))}get scrollButtons(){return this._scrollButtons}set scrollButtons(t){t=!!t,this._scrollButtons!==t&&(this._scrollButtons=!!t,this._isInitialized&&(this._scrollButtons?(this._adapter.initializeContainerSizeObserver(this._resizeListener),this._adapter.initializeScrollObserver(this._scrollListener),this._detectScrollableStatus(),this._updateScrollState(),this._tryScrollActiveTabIntoView()):(this._adapter.destroyContainerSizeObserver(),this._adapter.destroyScrollObserver(this._scrollListener),this._adapter.setScrollButtons(this._scrollButtons),this._scrollButtonsVisible=!1)),this._adapter.setHostAttribute(r.attributes.SCROLL_BUTTONS,String(this._scrollButtons)))}};var F='<template><div class="container" part="container"><div role="tablist" class="scroll-container" part="scroll-container"><slot></slot></div></div></template>',K='.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}:host{position:relative;display:block}:host([vertical]) .container{grid-template-columns:none;grid-template-rows:auto 1fr auto;-webkit-box-align:initial;align-items:initial;border-bottom:none;border-right:var(--_divider-thickness) solid var(--_divider-color);height:100%}:host([vertical]) .scroll-container{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:stretch;align-items:stretch;gap:0;grid-column:auto;grid-row:2}:host([vertical]) .scroll-button{justify-self:center}:host([inverted]:not([vertical])) .container{border-bottom:none;border-top:var(--_divider-thickness) solid var(--_divider-color)}:host([inverted][vertical]) .container{border-right:none;border-left:var(--_divider-thickness) solid var(--_divider-color)}:host([clustered]){--forge-tab-bar-justify:flex-start;--forge-tab-bar-stretch:0}:host([clustered=start]){--forge-tab-bar-justify:flex-start}:host([clustered=center]){--forge-tab-bar-justify:center}:host([clustered=end]){--forge-tab-bar-justify:flex-end}:host([hidden]){display:none}.container{--_container-justify:var(--forge-tab-bar-justify, space-between);--_tab-flex:var(--forge-tab-bar-stretch, 1);--_divider-color:var(--forge-tab-bar-divider-color, var(--forge-theme-border-color, #e0e0e0));--_divider-thickness:var(--forge-tab-bar-divider-thickness, 1px);position:relative;display:grid;grid-template-columns:auto 1fr auto;max-width:100%;max-height:100%;-webkit-box-align:center;align-items:center;border-bottom:var(--_divider-thickness) solid var(--_divider-color)}.scroll-container{position:relative;display:-webkit-box;display:flex;-webkit-box-pack:var(--_container-justify);justify-content:var(--_container-justify);-webkit-box-align:end;align-items:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:auto;scroll-behavior:smooth;scrollbar-width:none;grid-column:2}.scroll-container::-webkit-scrollbar{display:none}::slotted(*){-webkit-box-flex:var(--_tab-flex);flex:var(--_tab-flex)}::slotted([selected]){z-index:1}',s=class extends z{constructor(){super();N.define([m,_,v,h]),I(this,F,K),this._foundation=new T(new w(this))}static get observedAttributes(){return[r.attributes.DISABLED,r.attributes.ACTIVE_TAB,r.attributes.VERTICAL,r.attributes.CLUSTERED,r.attributes.STACKED,r.attributes.SECONDARY,r.attributes.INVERTED,r.attributes.AUTO_ACTIVATE,r.attributes.SCROLL_BUTTONS]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,o,i){switch(e){case r.attributes.DISABLED:this.disabled=p(i);break;case r.attributes.ACTIVE_TAB:this.activeTab=i?A(i):void 0;break;case r.attributes.VERTICAL:this.vertical=p(i);break;case r.attributes.CLUSTERED:this.clustered=p(i);break;case r.attributes.STACKED:this.stacked=p(i);break;case r.attributes.SECONDARY:this.secondary=p(i);break;case r.attributes.INVERTED:this.inverted=p(i);break;case r.attributes.AUTO_ACTIVATE:this.autoActivate=p(i);break;case r.attributes.SCROLL_BUTTONS:this.scrollButtons=p(i);break}}};d([b()],s.prototype,"disabled",2),d([b()],s.prototype,"activeTab",2),d([b()],s.prototype,"vertical",2),d([b()],s.prototype,"clustered",2),d([b()],s.prototype,"stacked",2),d([b()],s.prototype,"secondary",2),d([b()],s.prototype,"inverted",2),d([b()],s.prototype,"autoActivate",2),d([b()],s.prototype,"scrollButtons",2),s=d([C({name:r.elementName,dependencies:[V,H,R]})],s);function bt(){L(s)}export{w as a,T as b,s as c,bt as d};
7
- //# sourceMappingURL=chunk.6GC5AJPE.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/tabs/tab-bar/tab-bar-adapter.ts", "../../src/tabs/tab-bar/tab-bar-foundation.ts", "../../src/tabs/tab-bar/tab-bar.ts", "../../src/tabs/tab-bar/index.ts"],
4
- "sourcesContent": ["\nimport { getShadowElement, toggleAttribute } from '@tylertech/forge-core';\nimport { tylIconKeyboardArrowLeft, tylIconKeyboardArrowRight, tylIconKeyboardArrowUp, tylIconKeyboardArrowDown } from '@tylertech/tyler-icons/standard';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { ITabComponent } from '../tab/tab';\nimport { TAB_CONSTANTS } from '../tab/tab-constants';\nimport { ITabBarComponent } from './tab-bar';\nimport { TAB_BAR_CONSTANTS } from './tab-bar-constants';\n\nexport interface ITabBarAdapter extends IBaseAdapter {\n initializeContainerSizeObserver(listener: () => void): void;\n destroyContainerSizeObserver(): void;\n initializeScrollObserver(listener: EventListener): void;\n destroyScrollObserver(listener: EventListener): void;\n setVertical(value: boolean): void;\n setScrollBackwardButtonListener(listener: EventListener): void;\n setScrollForwardButtonListener(listener: EventListener): void;\n addSlotListener(listener: EventListener): void;\n getTabs(): ITabComponent[];\n tryScrollTabIntoView(tab: ITabComponent): Promise<void>;\n isScrollable(): boolean;\n getScrollState(): ITabBarScrollInfo;\n setScrollButtons(value: boolean): void;\n syncScrollButtons(state: ITabBarScrollButtonState): void;\n scroll(which: 'backward' | 'forward'): void;\n updateScrollButtonIcons(vertical: boolean): void;\n}\n\nexport interface ITabBarScrollInfo {\n isScrolledStart: boolean;\n isScrolledEnd: boolean;\n}\n\nexport interface ITabBarScrollButtonState {\n backwardEnabled: boolean;\n forwardEnabled: boolean;\n}\n\nexport class TabBarAdapter extends BaseAdapter<ITabBarComponent> implements ITabBarAdapter {\n private readonly _defaultSlotElement: HTMLSlotElement;\n private readonly _container: HTMLElement;\n private readonly _scrollContainer: HTMLElement;\n private _resizeObserver: ResizeObserver | undefined;\n private _backwardScrollButton: HTMLElement | undefined;\n private _forwardScrollButton: HTMLElement | undefined;\n\n constructor(component: ITabBarComponent) {\n super(component);\n\n this._defaultSlotElement = getShadowElement(this._component, TAB_BAR_CONSTANTS.selectors.DEFAULT_SLOT) as HTMLSlotElement;\n this._container = getShadowElement(this._component, TAB_BAR_CONSTANTS.selectors.CONTAINER);\n this._scrollContainer = getShadowElement(this._component, TAB_BAR_CONSTANTS.selectors.SCROLL_CONTAINER);\n }\n\n public initializeContainerSizeObserver(listener: () => void): void {\n this._resizeObserver = new ResizeObserver(() => listener());\n this._resizeObserver.observe(this._component);\n }\n \n public initializeScrollObserver(listener: EventListener): void {\n this._scrollContainer.addEventListener('scroll', listener, { passive: true });\n }\n\n public destroyContainerSizeObserver(): void {\n this._resizeObserver?.disconnect();\n this._resizeObserver = undefined;\n }\n\n public destroyScrollObserver(listener: EventListener): void {\n this._scrollContainer.removeEventListener('scroll', listener, { passive: true } as AddEventListenerOptions);\n }\n\n public setVertical(value: boolean): void {\n toggleAttribute(this._scrollContainer, !!value, 'aria-orientation', 'vertical');\n }\n\n public setScrollBackwardButtonListener(listener: EventListener): void {\n this._backwardScrollButton?.querySelector('button')?.addEventListener('click', listener);\n }\n \n public setScrollForwardButtonListener(listener: EventListener): void {\n this._forwardScrollButton?.querySelector('button')?.addEventListener('click', listener);\n }\n\n public addSlotListener(listener: EventListener): void {\n this._defaultSlotElement.addEventListener('slotchange', listener);\n }\n\n public getTabs(): ITabComponent[] {\n return Array.from(this._component.querySelectorAll(TAB_CONSTANTS.elementName));\n }\n\n public async tryScrollTabIntoView(tab: ITabComponent): Promise<void> {\n await new Promise(requestAnimationFrame);\n\n // Due to the async nature of this method, make sure we still need to scroll this tab into view...\n if (!tab.isConnected || (!tab.selected && !tab.matches(':focus'))) {\n return;\n }\n\n const isVertical = this._component.vertical;\n const scrollContainerOffset = isVertical ? this._scrollContainer.offsetTop : this._scrollContainer.offsetLeft;\n const offset = isVertical ? tab.offsetTop : tab.offsetLeft;\n const extent = isVertical ? tab.offsetHeight : tab.offsetWidth;\n const scroll = isVertical ? this._scrollContainer.scrollTop : this._scrollContainer.scrollLeft;\n const hostExtent = isVertical ? this._scrollContainer.offsetHeight : this._scrollContainer.offsetWidth;\n const min = offset - (TAB_BAR_CONSTANTS.numbers.SCROLL_MARGIN + scrollContainerOffset);\n const max = offset + extent - hostExtent + (TAB_BAR_CONSTANTS.numbers.SCROLL_MARGIN - scrollContainerOffset);\n const to = Math.min(min, Math.max(max, scroll));\n const behavior = tab.matches(':focus') ? 'smooth' : 'instant' as ScrollBehavior;\n\n this._scrollContainer.scrollTo({\n behavior,\n [isVertical ? 'left' : 'top']: 0,\n [isVertical ? 'top' : 'left']: to\n });\n }\n\n public getScrollState(): ITabBarScrollInfo {\n const { scrollHeight, scrollWidth, scrollLeft, scrollTop, clientHeight, clientWidth } = this._scrollContainer;\n const scrollPosition = this._component.vertical ? clientHeight + scrollTop : clientWidth + scrollLeft;\n const scrollSize = this._component.vertical ? scrollHeight : scrollWidth;\n const isScrolledEnd = scrollPosition === scrollSize;\n const isScrolledStart = (this._component.vertical ? scrollPosition - clientHeight : scrollPosition - clientWidth) === 0;\n return { isScrolledStart, isScrolledEnd };\n }\n\n public isScrollable(): boolean {\n const { scrollHeight, scrollWidth, clientHeight, clientWidth } = this._scrollContainer;\n return this._component.vertical ? scrollHeight > clientHeight : scrollWidth > clientWidth;\n }\n\n public setScrollButtons(value: boolean): void {\n if (value) {\n this._backwardScrollButton = this._createScrollButton(this._component.vertical ? tylIconKeyboardArrowUp.name : tylIconKeyboardArrowLeft.name);\n this._container.insertAdjacentElement('afterbegin', this._backwardScrollButton);\n\n this._forwardScrollButton = this._createScrollButton(this._component.vertical ? tylIconKeyboardArrowDown.name : tylIconKeyboardArrowRight.name);\n this._container.insertAdjacentElement('beforeend', this._forwardScrollButton);\n } else {\n this._backwardScrollButton?.remove();\n this._backwardScrollButton = undefined;\n\n this._forwardScrollButton?.remove();\n this._forwardScrollButton = undefined;\n }\n }\n\n public syncScrollButtons({ backwardEnabled, forwardEnabled }: ITabBarScrollButtonState): void {\n const backButton = this._backwardScrollButton?.querySelector('button');\n const forwardButton = this._forwardScrollButton?.querySelector('button');\n\n if (backButton) {\n const disabled = !backwardEnabled;\n if (disabled && backButton.matches(':focus')) {\n forwardButton?.focus();\n }\n backButton.disabled = disabled;\n }\n\n if (forwardButton) {\n const disabled = !forwardEnabled;\n if (disabled && forwardButton.matches(':focus')) {\n backButton?.focus();\n }\n forwardButton.disabled = disabled;\n }\n }\n\n public scroll(which: 'backward' | 'forward'): void {\n const amount = this._component.vertical ? this._scrollContainer.offsetHeight : this._scrollContainer.offsetWidth;\n this._scrollContainer.scrollBy({\n behavior: 'smooth',\n [this._component.vertical ? 'top' : 'left']: amount * (which === 'forward' ? 1 : -1)\n });\n }\n\n public updateScrollButtonIcons(vertical: boolean): void {\n const backButtonIcon = this._backwardScrollButton?.querySelector('forge-icon');\n if (backButtonIcon) {\n backButtonIcon.name = vertical ? tylIconKeyboardArrowUp.name : tylIconKeyboardArrowLeft.name;\n }\n\n const nextButtonIcon = this._forwardScrollButton?.querySelector('forge-icon');\n if (nextButtonIcon) {\n nextButtonIcon.name = vertical ? tylIconKeyboardArrowDown.name : tylIconKeyboardArrowRight.name;\n }\n }\n\n private _createScrollButton(iconName: string): HTMLElement {\n const iconButton = document.createElement('forge-icon-button');\n iconButton.classList.add(TAB_BAR_CONSTANTS.classes.SCROLL_BUTTON);\n\n const button = document.createElement('button');\n button.type = 'button';\n button.tabIndex = -1;\n button.setAttribute('aria-hidden', 'true');\n iconButton.appendChild(button);\n\n const icon = document.createElement('forge-icon');\n icon.name = iconName;\n button.appendChild(icon);\n\n return iconButton;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { NAVIGATION_KEYS, TAB_BAR_CONSTANTS } from './tab-bar-constants';\nimport { ITabComponent } from '../tab/tab';\nimport { TAB_CONSTANTS } from '../tab/tab-constants';\n\nimport { ITabBarAdapter, ITabBarScrollButtonState } from './tab-bar-adapter';\n\nexport interface ITabBarFoundation extends ICustomElementFoundation {\n disabled: boolean;\n activeTab: number | null | undefined;\n vertical: boolean;\n clustered: boolean;\n stacked: boolean;\n secondary: boolean;\n inverted: boolean;\n autoActivate: boolean;\n scrollButtons: boolean;\n initialize(): void;\n destroy(): void;\n}\n\nexport class TabBarFoundation implements ITabBarFoundation {\n // State\n private _isInitialized = false;\n private _activeTab: number | null | undefined;\n private _disabled = false;\n private _vertical = false;\n private _clustered = false;\n private _stacked = false;\n private _secondary = false;\n private _inverted = false;\n private _autoActivate = false;\n private _scrollButtons = false;\n private _tabs: ITabComponent[] = [];\n private _scrollButtonsVisible = false;\n private _tabScrollAnimationFrame: number | undefined;\n\n // Listeners\n private _tabsChangedListener: EventListener;\n private _tabSelectedListener: EventListener;\n private _keydownListener: EventListener;\n private _resizeListener: () => void;\n private _scrollListener: EventListener;\n private _scrollBackwardButtonListener: EventListener;\n private _scrollForwardButtonListener: EventListener;\n\n constructor(private _adapter: ITabBarAdapter) {\n this._tabsChangedListener = () => this._onTabsChanged();\n this._tabSelectedListener = (evt: CustomEvent<void>) => this._onTabSelected(evt);\n this._keydownListener = (evt: KeyboardEvent) => this._onKeydown(evt);\n this._resizeListener = () => this._onResize();\n this._scrollListener = () => this._onScroll();\n this._scrollBackwardButtonListener = () => this._onScrollBackward();\n this._scrollForwardButtonListener = () => this._onScrollForward();\n }\n\n public initialize(): void {\n this._adapter.addSlotListener(this._tabsChangedListener);\n this._adapter.addHostListener(TAB_CONSTANTS.events.SELECT, this._tabSelectedListener);\n this._adapter.addHostListener('keydown', this._keydownListener);\n this._adapter.setVertical(this._vertical);\n\n if (this._scrollButtons) {\n this._adapter.initializeContainerSizeObserver(this._resizeListener);\n this._adapter.initializeScrollObserver(this._scrollListener);\n this._updateScrollState();\n }\n\n this._tryScrollActiveTabIntoView();\n this._isInitialized = true;\n }\n\n public destroy(): void {\n this._adapter.destroyContainerSizeObserver();\n this._adapter.destroyScrollObserver(this._scrollListener);\n this._isInitialized = false;\n }\n\n private async _onTabsChanged(): Promise<void> {\n this._tabs = this._adapter.getTabs();\n this._syncTabState();\n this._tryScrollActiveTabIntoView();\n }\n\n private _onTabSelected(evt: CustomEvent<void>): void {\n this._selectTab(evt.target as ITabComponent);\n }\n\n private async _onKeydown(evt: KeyboardEvent): Promise<void> {\n const orientation = this._vertical ? 'vertical' : 'horizontal';\n const isNavigationKey = NAVIGATION_KEYS.get('default')?.has(evt.key) ||\n NAVIGATION_KEYS.get(orientation)?.has(evt.key);\n\n if (!isNavigationKey) {\n return;\n }\n\n evt.preventDefault();\n let index = -1;\n\n if (evt.key === 'Home') {\n // Locate the first non-disabled tab\n index = this._tabs.findIndex(tab => !tab.disabled);\n } else if (evt.key === 'End') {\n // Locate the last non-disabled tab\n index = this._tabs.reduceRight((acc, tab, i) => !tab.disabled && acc === -1 ? i : acc, -1);\n } else {\n // Locate the next or previous tab based on the key that was pressed\n const currentIndex = this._tabs.findIndex(tab => tab.matches(':focus'));\n const isPrevKey = evt.key === 'ArrowLeft' || evt.key === 'ArrowUp';\n const calcIndex = (startIndex: number): void => {\n index = startIndex + (isPrevKey ? -1 : 1);\n index = index < 0 ? this._tabs.length - 1 : index % this._tabs.length;\n\n // Try to recurse until we find a non-disabled tab (unless all tabs are disabled already)\n const isAllTabsDisabled = this._tabs.every(tab => tab.disabled);\n if (!isAllTabsDisabled && this._tabs[index]?.disabled) {\n calcIndex(index);\n }\n };\n calcIndex(currentIndex);\n }\n\n if (index === -1) {\n return;\n }\n\n if (this._autoActivate) {\n this._selectTab(this._tabs[index]);\n } else {\n this._tabs[index].focus({ preventScroll: true });\n await this._adapter.tryScrollTabIntoView(this._tabs[index]);\n }\n }\n\n private async _selectTab(tab: ITabComponent, emitEvent = true): Promise<void> {\n if (!tab || tab.disabled) {\n return;\n }\n\n const currentSelectedTab = this._tabs.find(t => t.selected);\n if (currentSelectedTab === tab) {\n return;\n }\n\n if (emitEvent) {\n const index = this._tabs.indexOf(tab);\n const cancelled = !this._adapter.emitHostEvent(TAB_BAR_CONSTANTS.events.CHANGE, index, true, true);\n if (cancelled) {\n return;\n }\n }\n\n // Selecting a tab causes an animation of the indicator to start relative to the currently selected tab\n tab.selected = true;\n tab.focus({ preventScroll: true });\n await this._adapter.tryScrollTabIntoView(tab);\n\n // Always deselect the currently selected tab after selecting a new tab to allow\n // for the tab indicator animation to run properly (the newly selected tab attempts\n // to locate the current selected tab for its calculations)\n if (currentSelectedTab) {\n currentSelectedTab.selected = false;\n }\n\n this._activeTab = this._tabs.indexOf(tab);\n }\n\n /**\n * Ensures that all tabs have the correct state based on the tab bar state.\n * \n * This is called whenever a child tab is added to the DOM.\n */\n private _syncTabState(): void {\n this._tabs.forEach((tab, index) => {\n tab.selected = index === this._activeTab;\n tab.disabled = this._disabled;\n tab.vertical = this._vertical;\n tab.stacked = this._stacked;\n tab.secondary = this._secondary;\n tab.inverted = this._inverted;\n });\n }\n\n /** Called when the container size changes, but only if scroll buttons are enabled. */\n private _onResize(): void {\n this._detectScrollableStatus();\n }\n\n /** Called when the scroll container scrolls, but only if scroll buttons are enabled. */\n private _onScroll(): void {\n this._updateScrollState();\n }\n\n /** Handles clicking the scroll backward button. */\n private _onScrollBackward(): void {\n this._adapter.scroll('backward');\n }\n\n /** Handles clicking the scroll forward button. */\n private _onScrollForward(): void {\n this._adapter.scroll('forward');\n }\n\n /** Determines whether scroll buttons should be displayed based on the size of the container. */\n private _detectScrollableStatus(): void {\n const scrollable = this._adapter.isScrollable();\n\n if (this._scrollButtonsVisible === scrollable) {\n return;\n }\n \n this._adapter.setScrollButtons(scrollable);\n\n if (scrollable) {\n this._adapter.initializeScrollObserver(this._scrollListener);\n this._updateScrollState();\n this._adapter.setScrollBackwardButtonListener(this._scrollBackwardButtonListener);\n this._adapter.setScrollForwardButtonListener(this._scrollForwardButtonListener);\n } else {\n this._adapter.destroyScrollObserver(this._scrollListener);\n }\n\n this._scrollButtonsVisible = scrollable;\n }\n\n /** Updates the enabled/disabled state of the scroll buttons. */\n private _updateScrollState(): void {\n const { isScrolledEnd, isScrolledStart } = this._adapter.getScrollState();\n const state: ITabBarScrollButtonState = {\n backwardEnabled: !isScrolledStart,\n forwardEnabled: !isScrolledEnd\n };\n this._adapter.syncScrollButtons(state);\n }\n\n private _tryScrollActiveTabIntoView(): void {\n if (this._tabScrollAnimationFrame) {\n window.cancelAnimationFrame(this._tabScrollAnimationFrame);\n }\n\n // We batch the tab scrolling into a single animation frame to unnecessarily scrolling for each tab\n this._tabScrollAnimationFrame = window.requestAnimationFrame(() => {\n this._tabScrollAnimationFrame = undefined;\n if (this._adapter.isScrollable()) {\n if (typeof this._activeTab === 'number' && this._activeTab >= 0 && this._tabs[this._activeTab]) {\n this._adapter.tryScrollTabIntoView(this._tabs[this._activeTab]);\n }\n }\n });\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n value = Boolean(value);\n if (this._disabled !== value) {\n this._disabled = value;\n this._tabs.forEach(tab => tab.disabled = this._disabled);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get activeTab(): number | null | undefined {\n return this._activeTab;\n }\n public set activeTab(value: number | null | undefined) {\n if (this._activeTab !== value) {\n this._activeTab = value ?? undefined;\n\n if (typeof this._activeTab === 'number') {\n const newSelectedTab = this._tabs[this._activeTab];\n this._selectTab(newSelectedTab, false);\n this._adapter.setHostAttribute(TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB, String(this._activeTab));\n } else {\n this._tabs.forEach(tab => tab.selected = false);\n this._adapter.removeHostAttribute(TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB);\n }\n }\n }\n\n public get vertical(): boolean {\n return this._vertical;\n }\n public set vertical(value: boolean) {\n value = Boolean(value);\n if (this._vertical !== value) {\n this._vertical = value;\n\n if (this._isInitialized) {\n this._adapter.setVertical(this._vertical);\n }\n\n this._tabs.forEach(tab => tab.vertical = this._vertical);\n if (this._scrollButtonsVisible) {\n this._adapter.updateScrollButtonIcons(this._vertical);\n }\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.VERTICAL, this._vertical);\n }\n }\n\n public get clustered(): boolean {\n return this._clustered;\n }\n public set clustered(value: boolean) {\n value = Boolean(value);\n if (this._clustered !== value) {\n this._clustered = value;\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.CLUSTERED, this._clustered);\n }\n }\n\n public get stacked(): boolean {\n return this._stacked;\n }\n public set stacked(value: boolean) {\n value = Boolean(value);\n if (this._stacked !== value) {\n this._stacked = value;\n this._tabs.forEach(tab => tab.stacked = this._stacked);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.STACKED, this._stacked);\n }\n }\n\n public get secondary(): boolean {\n return this._secondary;\n }\n public set secondary(value: boolean) {\n value = Boolean(value);\n if (this._secondary !== value) {\n this._secondary = value;\n this._tabs.forEach(tab => tab.secondary = this._secondary);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.SECONDARY, this._secondary);\n }\n }\n\n public get inverted(): boolean {\n return this._inverted;\n }\n public set inverted(value: boolean) {\n value = Boolean(value);\n if (this._inverted !== value) {\n this._inverted = value;\n this._tabs.forEach(tab => tab.inverted = this._inverted);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.INVERTED, this._inverted);\n }\n }\n\n public get autoActivate(): boolean {\n return this._autoActivate;\n }\n public set autoActivate(value: boolean) {\n value = Boolean(value);\n if (this._autoActivate !== value) {\n this._autoActivate = value;\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE, this._autoActivate);\n }\n }\n\n public get scrollButtons(): boolean {\n return this._scrollButtons;\n }\n public set scrollButtons(value: boolean) {\n value = Boolean(value);\n if (this._scrollButtons !== value) {\n this._scrollButtons = Boolean(value);\n\n if (this._isInitialized) {\n if (this._scrollButtons) {\n this._adapter.initializeContainerSizeObserver(this._resizeListener);\n this._adapter.initializeScrollObserver(this._scrollListener);\n this._detectScrollableStatus();\n this._updateScrollState();\n this._tryScrollActiveTabIntoView();\n } else {\n this._adapter.destroyContainerSizeObserver();\n this._adapter.destroyScrollObserver(this._scrollListener);\n this._adapter.setScrollButtons(this._scrollButtons);\n this._scrollButtonsVisible = false;\n }\n }\n\n this._adapter.setHostAttribute(TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS, String(this._scrollButtons));\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { IconButtonComponent } from '../../icon-button';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { TabComponent } from '../tab/tab';\nimport { TabBarAdapter } from './tab-bar-adapter';\nimport { TAB_BAR_CONSTANTS } from './tab-bar-constants';\nimport { TabBarFoundation } from './tab-bar-foundation';\nimport { tylIconKeyboardArrowLeft, tylIconKeyboardArrowRight, tylIconKeyboardArrowUp, tylIconKeyboardArrowDown } from '@tylertech/tyler-icons/standard';\n\nconst template = '<template><div class=\\\"container\\\" part=\\\"container\\\"><div role=\\\"tablist\\\" class=\\\"scroll-container\\\" part=\\\"scroll-container\\\"><slot></slot></div></div></template>';\nconst styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}:host{position:relative;display:block}:host([vertical]) .container{grid-template-columns:none;grid-template-rows:auto 1fr auto;-webkit-box-align:initial;align-items:initial;border-bottom:none;border-right:var(--_divider-thickness) solid var(--_divider-color);height:100%}:host([vertical]) .scroll-container{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:stretch;align-items:stretch;gap:0;grid-column:auto;grid-row:2}:host([vertical]) .scroll-button{justify-self:center}:host([inverted]:not([vertical])) .container{border-bottom:none;border-top:var(--_divider-thickness) solid var(--_divider-color)}:host([inverted][vertical]) .container{border-right:none;border-left:var(--_divider-thickness) solid var(--_divider-color)}:host([clustered]){--forge-tab-bar-justify:flex-start;--forge-tab-bar-stretch:0}:host([clustered=start]){--forge-tab-bar-justify:flex-start}:host([clustered=center]){--forge-tab-bar-justify:center}:host([clustered=end]){--forge-tab-bar-justify:flex-end}:host([hidden]){display:none}.container{--_container-justify:var(--forge-tab-bar-justify, space-between);--_tab-flex:var(--forge-tab-bar-stretch, 1);--_divider-color:var(--forge-tab-bar-divider-color, var(--forge-theme-border-color, #e0e0e0));--_divider-thickness:var(--forge-tab-bar-divider-thickness, 1px);position:relative;display:grid;grid-template-columns:auto 1fr auto;max-width:100%;max-height:100%;-webkit-box-align:center;align-items:center;border-bottom:var(--_divider-thickness) solid var(--_divider-color)}.scroll-container{position:relative;display:-webkit-box;display:flex;-webkit-box-pack:var(--_container-justify);justify-content:var(--_container-justify);-webkit-box-align:end;align-items:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:auto;scroll-behavior:smooth;scrollbar-width:none;grid-column:2}.scroll-container::-webkit-scrollbar{display:none}::slotted(*){-webkit-box-flex:var(--_tab-flex);flex:var(--_tab-flex)}::slotted([selected]){z-index:1}';\n\nexport interface ITabBarComponent extends IBaseComponent {\n disabled: boolean;\n activeTab: number | null | undefined;\n vertical: boolean;\n clustered: boolean;\n stacked: boolean;\n secondary: boolean;\n inverted: boolean;\n autoActivate: boolean;\n scrollButtons: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-tab-bar': ITabBarComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-tab-bar-change': CustomEvent<number>;\n }\n}\n\n/**\n * @tag forge-tab-bar\n * \n * @summary Tabs organize content across different screens and views.\n * \n * @description\n * Use tabs to group content into helpful categories. Tabs are typically placed\n * above the content they relate to. Tabs can be used to navigate between screens,\n * or to group related content within a screen.\n * \n * @property {boolean} disabled - The disabled state of the tab bar.\n * @property {number} activeTab - The index of the active tab.\n * @property {boolean} vertical - Controls whether the tab bar is vertical or horizontal.\n * @property {boolean} clustered - Controls whether the tabs stretch the full width of their container or cluster together at their minimum width.\n * @property {boolean} stacked - Controls whether the tabs are taller to allow for slotted leading/trailing elements.\n * @property {boolean} secondary - Controls whether the tabs are styled as secondary tab navigation.\n * @property {boolean} inverted - Controls whether the tabs are rendered inverted (tab indicator at top instead of bottom).\n * @property {boolean} autoActivate - Controls whether the tabs are automatically activated when receiving focus.\n * @property {boolean} scrollButtons - Controls whether scroll buttons are displayed when the tabs overflow their container.\n * \n * @attribute disabled - The disabled state of the tab bar.\n * @attribute active-tab - The index of the active tab.\n * @attribute vertical - Controls whether the tab bar is vertical or horizontal.\n * @attribute clustered - Controls whether the tabs stretch the full width of their container or cluster together at their minimum width.\n * @attribute stacked - Controls whether the tabs are taller to allow for slotted leading/trailing elements.\n * @attribute secondary - Controls whether the tabs are styled as secondary tab navigation.\n * @attribute auto-activate - Controls whether the tabs are automatically activated when receiving focus.\n * @attribute scroll-buttons - Controls whether scroll buttons are displayed when the tabs overflow their container.\n * \n * @event forge-tab-bar-change {CustomEvent<number>} - Dispatches when the active tab changes.\n * \n * @cssproperty --forge-tab-bar-justify - The `justify-content` value for the tab bar flex container.\n * @cssproperty --forge-tab-bar-stretch - The `flex` value for the child `<forge-tab>` elements.\n * @cssproperty --forge-tab-bar-divider-color - The color of the divider.\n * @cssproperty --forge-tab-bar-divider-thickness - The thickness of the divider.\n * \n * @csspart container - The container element.\n * @csspart scroll-container - The scroll container element.\n */\n@CustomElement({\n name: TAB_BAR_CONSTANTS.elementName,\n dependencies: [\n TabComponent,\n IconButtonComponent,\n IconComponent\n ]\n})\nexport class TabBarComponent extends BaseComponent implements ITabBarComponent {\n public static get observedAttributes(): string[] {\n return [\n TAB_BAR_CONSTANTS.attributes.DISABLED,\n TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB,\n TAB_BAR_CONSTANTS.attributes.VERTICAL,\n TAB_BAR_CONSTANTS.attributes.CLUSTERED,\n TAB_BAR_CONSTANTS.attributes.STACKED,\n TAB_BAR_CONSTANTS.attributes.SECONDARY,\n TAB_BAR_CONSTANTS.attributes.INVERTED,\n TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE,\n TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS\n ];\n }\n\n private _foundation: TabBarFoundation;\n\n constructor() {\n super();\n IconRegistry.define([\n tylIconKeyboardArrowLeft,\n tylIconKeyboardArrowRight,\n tylIconKeyboardArrowUp,\n tylIconKeyboardArrowDown\n ]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new TabBarFoundation(new TabBarAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case TAB_BAR_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB:\n this.activeTab = newValue ? coerceNumber(newValue) : undefined;\n break;\n case TAB_BAR_CONSTANTS.attributes.VERTICAL:\n this.vertical = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.CLUSTERED:\n this.clustered = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.STACKED:\n this.stacked = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.SECONDARY:\n this.secondary = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.INVERTED:\n this.inverted = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE:\n this.autoActivate = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS:\n this.scrollButtons = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare activeTab: number | null | undefined;\n\n @FoundationProperty()\n public declare vertical: boolean;\n\n @FoundationProperty()\n public declare clustered: boolean;\n\n @FoundationProperty()\n public declare stacked: boolean;\n\n @FoundationProperty()\n public declare secondary: boolean;\n\n @FoundationProperty()\n public declare inverted: boolean;\n\n @FoundationProperty()\n public declare autoActivate: boolean;\n\n @FoundationProperty()\n public declare scrollButtons: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { TabBarComponent } from './tab-bar';\n\nexport * from './tab-bar-adapter';\nexport * from './tab-bar-constants';\nexport * from './tab-bar-foundation';\nexport * from './tab-bar';\n\nexport function defineTabBarComponent(): void {\n defineCustomElement(TabBarComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": ["TabBarAdapter", "BaseAdapter", "component", "getShadowElement", "TAB_BAR_CONSTANTS", "listener", "_a", "value", "toggleAttribute", "_b", "TAB_CONSTANTS", "tab", "isVertical", "scrollContainerOffset", "offset", "extent", "scroll", "hostExtent", "min", "max", "to", "behavior", "scrollHeight", "scrollWidth", "scrollLeft", "scrollTop", "clientHeight", "clientWidth", "scrollPosition", "scrollSize", "isScrolledEnd", "tylIconKeyboardArrowUp", "tylIconKeyboardArrowLeft", "tylIconKeyboardArrowDown", "tylIconKeyboardArrowRight", "backwardEnabled", "forwardEnabled", "backButton", "forwardButton", "disabled", "which", "amount", "vertical", "backButtonIcon", "nextButtonIcon", "iconName", "iconButton", "button", "icon", "TabBarFoundation", "_adapter", "evt", "TAB_CONSTANTS", "_a", "_b", "orientation", "NAVIGATION_KEYS", "index", "tab", "acc", "i", "currentIndex", "isPrevKey", "calcIndex", "startIndex", "emitEvent", "currentSelectedTab", "t", "TAB_BAR_CONSTANTS", "scrollable", "isScrolledEnd", "isScrolledStart", "state", "value", "newSelectedTab", "template", "styles", "TabBarComponent", "BaseComponent", "IconRegistry", "tylIconKeyboardArrowLeft", "tylIconKeyboardArrowRight", "tylIconKeyboardArrowUp", "tylIconKeyboardArrowDown", "attachShadowTemplate", "TabBarFoundation", "TabBarAdapter", "TAB_BAR_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "__decorateClass", "FoundationProperty", "CustomElement", "TabComponent", "IconButtonComponent", "IconComponent", "defineTabBarComponent", "defineCustomElement", "TabBarComponent"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as L}from"./chunk.LFODKHUO.js";import{b as o}from"./chunk.X3C3J5MH.js";import{a as G}from"./chunk.W4247Q2P.js";import{h as k,i as P}from"./chunk.QCRRHGBA.js";import{a as V}from"./chunk.7CGKFRBK.js";import{a as d}from"./chunk.NVUMRW44.js";import{a as B}from"./chunk.BKL2BAYW.js";import{i as S}from"./chunk.K7FPXAFS.js";import{a as T,b as c,j as I,k as y,n as x}from"./chunk.J2M2MXP2.js";import{a as b,d as a}from"./chunk.M3QDAYD2.js";var M={VALUE:"value",MULTIPLE:"multiple",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold",POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",SYNC_POPUP_WIDTH:"sync-popup-width",CONSTRAIN_POPUP_WIDTH:"constrain-popup-width",WRAP_OPTION_TEXT:"wrap-option-text"},U=b({},M),R={CHANGE:"change"},m={attributes:U,events:R};var N=(e=>(e[e.Option=0]="Option",e[e.Group=1]="Group",e))(N||{});function C(l,O){let e=l.some(i=>w(i)),t=l.some(i=>W(i));return e&&O===1||t&&O===0}function w(l){return c(l)&&I(l)&&l.hasOwnProperty("options")}function W(l){return c(l)&&I(l)&&l.hasOwnProperty("label")&&l.hasOwnProperty("value")}var H=class extends P{constructor(e){super();this._adapter=e;this._options=[];this._value=[];this._multiple=!1;this._open=!1;this._selectedValues=[];this._selectedLabels=[];this._selectedIndexes=[];this._filterString="";this._focusListener=t=>this._onFocus(t),this._blurListener=t=>this._onBlur(t),this._clickListener=t=>this._onClick(t),this._keydownListener=t=>this._onKeydown(t),this._optionsChangedListener=t=>this._onOptionsChanged(t),this._activeChangeListener=t=>this._onActiveOptionChanged(t),this._dropdownScrollEndListener=()=>this._onDropdownScrollEnd(),this._dismissListener=()=>this._onDismiss(),this._identifier=T()}_onFocus(e){}initialize(){this._optionListenerDestructor&&this._optionListenerDestructor(),this._optionListenerDestructor=this._adapter.setOptionsListener(this._optionsChangedListener),this._initializeValue()}initializeTarget(){this._adapter.initializeAccessibility(),this._adapter.setMultiple(this._multiple),this._adapter.addClickListener(this._clickListener),this._adapter.addTargetListener("blur",this._blurListener),this._adapter.addTargetListener("focus",this._focusListener),this._adapter.addTargetListener("keydown",this._keydownListener)}disconnect(){this._adapter.removeClickListener(this._clickListener),this._adapter.removeTargetListener("blur",this._blurListener),this._adapter.removeTargetListener("focus",this._focusListener),this._adapter.removeTargetListener("keydown",this._keydownListener),this._open&&this._closeDropdown(),this._optionListenerDestructor&&this._optionListenerDestructor()}appendOptions(e){this._adapter.setOptions(e,!1),this._open&&this._adapter.appendDropdownOptions(e)}selectAll(){this._multiple&&(this.value=this._flatOptions.map(e=>e.value))}deselectAll(){this._multiple&&(this.value=[])}get _flatOptions(){return C(this._options,1)?[].concat.apply([],this._options.map(e=>e.options)):this._options}get _nonDividerOptions(){return this._flatOptions.filter(e=>!e.divider)}_initializeValue(){let e=this._options.length&&this._options||this._adapter.getOptions();c(this._value)&&e.length&&this._applyValue(this._value)}_onClick(e){e.button===0&&(this._open?this._closeDropdown():this._openDropdown())}_onBlur(e){this._adapter.isFocusWithinPopup(e.relatedTarget)||this._open&&this._closeDropdown()}_openDropdown(){if(this._options=this._adapter.getOptions(),!this._flatOptions.length)return;this._open=!0;let e={options:this._options,multiple:this._multiple,selectedValues:[...this._selectedValues],id:this._identifier,optionBuilder:this._optionBuilder,syncWidth:this._syncPopupWidth,constrainViewportWidth:this._constrainPopupWidth,wrapOptionText:this._wrapOptionText,observeScroll:this._observeScroll,observeScrollThreshold:this._observeScrollThreshold,scrollEndListener:this._dropdownScrollEndListener,activeChangeCallback:this._activeChangeListener,targetWidthCallback:this._targetWidthCallback,popupClasses:this._popupClasses,optionLimit:this._optionLimit,headerBuilder:this._popupHeaderBuilder,footerBuilder:this._popupFooterBuilder,closeCallback:()=>this._closeDropdown(),selectCallback:t=>{let i=this._flatOptions,n=i.find(r=>r.value===t);if(n){let r=i.indexOf(n);this._onSelect(n,r,!0)}}};this._adapter.open(e),this._adapter.setDismissListener(this._dismissListener)}_closeDropdown(){this._open=!1,this._adapter.close()}async _onSelect(e,t,i=!0){return new Promise(async n=>{if(this._valueChanging)return Promise.resolve(!1);let r=e?e.value:"",u=e?e.label:"",v=[...this._value],f=[...this._selectedValues],g=[...this._selectedLabels],D=[...this._selectedIndexes];if(this._multiple)if(this._selectedValues.includes(r)){let h=this._selectedValues.indexOf(r);this._selectedValues.splice(h,1),this._selectedLabels.splice(h,1),this._selectedIndexes.splice(h,1)}else this._selectedValues.push(r),this._selectedLabels.push(u),this._selectedIndexes.push(t);else c(r)?(this._selectedValues[0]=r,this._selectedLabels[0]=u,this._selectedIndexes[0]=t):(this._selectedValues=[],this._selectedLabels=[],this._selectedIndexes=[]);this._value=[...this._selectedValues];let s=()=>{this._selectedValues=[...f],this._selectedLabels=[...g],this._selectedIndexes=[...D],this._value=[...v]},_=()=>{if(this._multiple){let h=this._selectedIndexes.includes(t);this._adapter.toggleOptionMultiple(t,h)}this._applySelection()},E=this.multiple?[...this._selectedValues]:this._selectedValues[0];if(this._open&&i&&!this._multiple&&this._closeDropdown(),typeof this._beforeValueChange=="function"){this._valueChanging=Promise.resolve(this._beforeValueChange.call(null,E));let h=await this._valueChanging;if(this._valueChanging=void 0,!h)return s(),this._tryUpdateDropdownPosition(),n(!1)}let A=!this._adapter.emitHostEvent(m.events.CHANGE,E,!0,!0);A?s():_(),this._tryUpdateDropdownPosition(),n(!A)})}_selectActiveOption(){let e=this._adapter.getActiveOptionIndex();e>=0&&this._nonDividerOptions[e]&&this._onSelect(this._nonDividerOptions[e],e)}_tryUpdateDropdownPosition(){this._open&&this._adapter.queueDropdownPositionUpdate()}_reset(){this._selectedValues=[],this._selectedLabels=[],this._selectedIndexes=[]}_applyValue(e){this._selectedValues=[],this._selectedLabels=[],this._options=this._adapter.getOptions(),Array.isArray(e)||(e=[e]),this._value=[];for(let t of e){this._value.includes(t)||this._value.push(t);let i=this._flatOptions.find(n=>x(n.value,t));i&&(this._selectedValues.push(i.value),this._selectedLabels.push(i.label))}this._selectedIndexes=this._selectedValues.map(t=>this._flatOptions.findIndex(i=>i.value===t)),this._adapter.patchSelectedValues(this._selectedValues)}_onDismiss(){this._closeDropdown()}_getSelectedText(){if(typeof this._selectedTextBuilder=="function"){let e=this._flatOptions.filter(t=>this._selectedValues.includes(t.value));return this._selectedTextBuilder(e)}return this._multiple?this._selectedLabels.length?this._selectedLabels.length===1?this._selectedLabels[0]:`${this._selectedLabels.length} options selected`:"":this._selectedLabels.filter(e=>e&&e.length).join(" ").trim()}_onKeydown(e){let t=e.key==="Escape"||e.keyCode===27,i=e.key==="Enter"||e.keyCode===13,n=e.key==="Space"||e.keyCode===32,r=e.key==="ArrowDown"||e.keyCode===40,u=e.key==="ArrowUp"||e.keyCode===38,v=e.keyCode>=48&&e.keyCode<=90,f=e.key==="Home"||e.keyCode===36,g=e.key==="End"||e.keyCode===35;if(e.key==="Tab"&&this._open&&!this._multiple){this._selectActiveOption();return}if(!v&&this._filterTimeout&&(window.clearTimeout(this._filterTimeout),this._filterString="",this._filterTimeout=void 0),t&&(e.preventDefault(),e.stopPropagation(),this._open)){this._closeDropdown();return}if(n)e.preventDefault(),this._open?this._closeDropdown():this._openDropdown();else if(i)this._open&&(e.stopPropagation(),e.preventDefault(),this._options=this._adapter.getOptions(),this._selectActiveOption());else if(u||r){if(e.preventDefault(),!this._open){this._openDropdown(),this._adapter.activateFirstOption();return}if(this._flatOptions.length===0)return;let s=0;this._open?(s=this._adapter.getActiveOptionIndex(),s===-1&&(s=this._getFirstSelectedOptionIndex())):s=this._getFirstSelectedOptionIndex(),u?s=this._getPreviousHighlightableOptionIndex(s,this._nonDividerOptions):s=this._getNextHighlightableOptionIndex(s,this._nonDividerOptions),this._adapter.highlightActiveOption(s)}else if(f)this._open&&(e.preventDefault(),this._adapter.highlightActiveOption(this._nonDividerOptions.findIndex(s=>!s.disabled)));else if(g){if(this._open){e.preventDefault();let s=this._nonDividerOptions;for(let _=s.length-1;_>=0;_--)if(!s[_].disabled){this._adapter.highlightActiveOption(_);break}}}else v&&this._filter(e.key)}_getFirstSelectedOptionIndex(){return this._nonDividerOptions.findIndex(e=>this._selectedValues.includes(e.value))}_getPreviousHighlightableOptionIndex(e,t){let i=e;return i<=0?i=t.length-1:i--,t[i].disabled?this._getPreviousHighlightableOptionIndex(i,t):i}_getNextHighlightableOptionIndex(e,t){let i=e;return i===t.length-1?i=0:i++,t[i].disabled?this._getNextHighlightableOptionIndex(i,t):i}_filter(e){this._filterTimeout&&(window.clearTimeout(this._filterTimeout),this._filterTimeout=void 0),this._filterString+=e,this._filterTimeout=window.setTimeout(()=>{this._filterString="",this._filterTimeout=void 0},300),this._options=this._adapter.getOptions();let t=this._flatOptions.find(i=>!i.disabled&&i.label.toLowerCase().startsWith(this._filterString.toLowerCase()));if(t){let i=this._flatOptions.indexOf(t);this._open?this._adapter.highlightActiveOption(i):this._multiple||this._onSelect(t,i,!1)}}_onOptionsChanged(e){this._options=e,this._applyValue(this._value)}_onActiveOptionChanged(e){this._adapter.updateActiveDescendant(e)}get value(){return this._multiple?[...this._value]:this._value[0]}set value(e){let t;Array.isArray(e)?t=[...e]:t=e,this._applyValue(t)}get selectedIndex(){return this._multiple?[...this._selectedIndexes]:this._selectedIndexes[0]}set selectedIndex(e){this._options=this._adapter.getOptions();let t;if(Array.isArray(e)?t=[...e]:t=[e],t.sort(),this.multiple)this.value=t.map(i=>this._flatOptions[i]).filter(i=>i).map(i=>i.value);else{let i=this._flatOptions[t[t.length-1]];if(!i)return;this.value=i.value}}get options(){return this._adapter.getOptions()}set options(e){let t;C(e,1)?t=e.map(i=>b({},i)):t=e.map(i=>b({},i)),this._options=t,this._adapter.setOptions(t),this._initializeValue(),this._open&&this._adapter.setDropdownOptions(t)}get multiple(){return this._multiple}set multiple(e){this._multiple!==e&&(this._multiple=e,this._reset(),this._open&&this._closeDropdown(),this._adapter.setMultiple(this._multiple))}get open(){return this._open}set open(e){this._open!==e&&(e?this._openDropdown():this._closeDropdown())}get optionBuilder(){return this._optionBuilder}set optionBuilder(e){this._optionBuilder=e}get selectedTextBuilder(){return this._selectedTextBuilder}set selectedTextBuilder(e){this._selectedTextBuilder=e}get optionLimit(){return this._optionLimit}set optionLimit(e){this._optionLimit=e}get popupClasses(){return this._popupClasses}set popupClasses(e){this._popupClasses=e}get popupHeaderBuilder(){return this._popupHeaderBuilder}set popupHeaderBuilder(e){this._popupHeaderBuilder=e}get popupFooterBuilder(){return this._popupFooterBuilder}set popupFooterBuilder(e){this._popupFooterBuilder=e}get popupElement(){return this._adapter.popupElement}get beforeValueChange(){return this._beforeValueChange}set beforeValueChange(e){this._beforeValueChange=e}};var p=class extends G{constructor(){super()}attributeChangedCallback(e,t,i){switch(super.attributeChangedCallback(e,t,i),e){case m.attributes.MULTIPLE:this.multiple=y(i);break;case m.attributes.VALUE:this.value=i;break}}appendOptions(e){this._foundation.appendOptions(e)}selectAll(){this._foundation.selectAll()}deselectAll(){this._foundation.deselectAll()}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}};a([d()],p.prototype,"value",2),a([d()],p.prototype,"selectedIndex",2),a([d()],p.prototype,"options",2),a([d()],p.prototype,"multiple",2),a([d()],p.prototype,"open",2),a([d()],p.prototype,"optionBuilder",2),a([d()],p.prototype,"selectedTextBuilder",2),a([d()],p.prototype,"beforeValueChange",2),a([d({set:!1})],p.prototype,"popupElement",2);var F=class extends B{constructor(e){super(e)}get popupElement(){var e;return(e=this._listDropdown)==null?void 0:e.dropdownElement}getOptions(){let e=Array.from(this._component.querySelectorAll(L.elementName));if(e.length)return e.map(t=>{let i=Array.from(t.querySelectorAll(o.elementName)),n=this._createOptionsFromElements(i);return{text:t.label,builder:t.builder,value:t.value,options:n}});{let t=Array.from(this._component.querySelectorAll(o.elementName));return this._createOptionsFromElements(t)}}_createOptionsFromElements(e){return e.map(t=>{let i=t.hasAttribute(o.attributes.OPTION_CLASS)?t.getAttribute(o.attributes.OPTION_CLASS):t.optionClass;return typeof i=="string"&&(i=i.split(" ")),{label:t.hasAttribute(o.attributes.LABEL)?t.getAttribute(o.attributes.LABEL):c(t.label)?t.label:t.innerText,value:t.hasAttribute(o.attributes.VALUE)?t.getAttribute(o.attributes.VALUE):t.value,disabled:t.hasAttribute(o.attributes.DISABLED),divider:t.hasAttribute(o.attributes.DIVIDER),optionClass:i,leadingIcon:t.hasAttribute(o.attributes.LEADING_ICON)?t.getAttribute(o.attributes.LEADING_ICON):t.leadingIcon,leadingIconClass:t.hasAttribute(o.attributes.LEADING_ICON_CLASS)?t.getAttribute(o.attributes.LEADING_ICON_CLASS):t.leadingIconClass,leadingIconType:t.hasAttribute(o.attributes.LEADING_ICON_TYPE)?t.getAttribute(o.attributes.LEADING_ICON_TYPE):t.leadingIconType,trailingIcon:t.hasAttribute(o.attributes.TRAILING_ICON)?t.getAttribute(o.attributes.TRAILING_ICON):t.trailingIcon,trailingIconClass:t.hasAttribute(o.attributes.TRAILING_ICON_CLASS)?t.getAttribute(o.attributes.TRAILING_ICON_CLASS):t.trailingIconClass,trailingIconType:t.hasAttribute(o.attributes.TRAILING_ICON_TYPE)?t.getAttribute(o.attributes.TRAILING_ICON_TYPE):t.trailingIconType,leadingBuilder:t.leadingBuilder,trailingBuilder:t.trailingBuilder}})}open(e){this._listDropdown=new k(this._targetElement,e),this._listDropdown.open()}close(){this._listDropdown&&(this._listDropdown.close(),this._listDropdown.destroy(),this._listDropdown=void 0)}setDismissListener(e){if(!this._listDropdown||!this._listDropdown.dropdownElement)return;let t=this._listDropdown.dropdownElement;t.targetElement&&t.targetElement.addEventListener(V.events.BLUR,e)}toggleOptionMultiple(e,t){var i;(i=this._listDropdown)==null||i.toggleOptionMultiple(e,t)}getActiveOptionIndex(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.getActiveOptionIndex())!=null?t:-1}activateSelectedOption(){var e;(e=this._listDropdown)==null||e.activateSelectedOption()}activateFirstOption(){var e;(e=this._listDropdown)==null||e.activateFirstOption()}highlightActiveOption(e){var t;(t=this._listDropdown)==null||t.activateOption(e)}patchSelectedValues(e){var t;(t=this._listDropdown)==null||t.setSelectedValues(e)}setOptionsListener(e){let t=n=>{n.stopPropagation(),e(this.getOptions())};this._component.addEventListener(o.events.VALUE_CHANGE,t);let i=new MutationObserver(()=>e(this.getOptions()));return i.observe(this._component,{childList:!0,subtree:!0}),()=>{this._component.removeEventListener(o.events.VALUE_CHANGE,t),i.disconnect()}}setOptions(e,t=!0){t&&this._clearOptions();for(let i of e)if(w(i)){let n=this._createOptionGroupElement(i);for(let r of i.options){let u=this._createOptionElement(r);n.appendChild(u)}this._component.appendChild(n)}else{let n=this._createOptionElement(i);this._component.appendChild(n)}}appendDropdownOptions(e){var t;(t=this._listDropdown)==null||t.appendOptions(e)}setDropdownOptions(e){var t;(t=this._listDropdown)==null||t.setOptions(e)}scrollSelectedOptionIntoView(){var e;(e=this._listDropdown)==null||e.scrollSelectedOptionIntoView()}isFocusWithinPopup(e){return!this._listDropdown||!this._listDropdown.dropdownElement?!1:this._listDropdown.dropdownElement.contains(e)}queueDropdownPositionUpdate(){this.popupElement&&window.requestAnimationFrame(()=>{let e=this.popupElement;e==null||e.position()})}_clearOptions(){Array.from(this._component.querySelectorAll(L.elementName)).forEach(i=>S(i)),Array.from(this._component.querySelectorAll(o.elementName)).forEach(i=>S(i))}_createOptionGroupElement(e){let t=document.createElement("forge-option-group");return Object.assign(t,e),t}_createOptionElement(e){let t=document.createElement("forge-option");return Object.assign(t,e),t.textContent=e.label,t}};export{m as a,N as b,C as c,w as d,W as e,H as f,p as g,F as h};
7
- //# sourceMappingURL=chunk.6OUJSOJY.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as w}from"./chunk.FDZSLGIW.js";import{a as r}from"./chunk.NVUMRW44.js";import{a as O}from"./chunk.BKL2BAYW.js";import{a as N,b as S}from"./chunk.DXN7ZOH3.js";import{a as y,e as x,f as I,h,j as A,k as L}from"./chunk.MVTBJPO2.js";import{a as m,c as g,f as u,g as C,i as k,r as T,s as b}from"./chunk.K7FPXAFS.js";import{b as E,k as l}from"./chunk.J2M2MXP2.js";import{a as v,b as P,d as s}from"./chunk.M3QDAYD2.js";var p=`${S}popup`,f={CONTAINER:"forge-popup",OPEN:"open",PLACEMENT:"placement",MANAGE_FOCUS:"manage-focus",ANIMATION_TYPE:"animation-type",STATIC:"static",HIDE_WHEN_CLIPPED:"hide-when-clipped",HOST:"forge-popup-host",INITIAL_FOCUS:"forge-popup-focus",CONSTRAIN_VIEWPORT_WIDTH:"constrain-viewport-width"},H={OPEN:"forge-popup--open",OPENING:"forge-popup--opening",CLOSED:"forge-popup--closed",SELECT:"forge-popup--select"},B={HOST:`.forge-popup-host, [${f.HOST}]`,CONTAINER:".forge-popup",INITIAL_FOCUS:`[${f.INITIAL_FOCUS}]`},D={OPEN:`${p}-open`,CLOSE:`${p}-close`,POSITION:`${p}-position`,BLUR:`${p}-blur`},W={ANIMATION_DURATION:120},i={elementName:p,classes:H,selectors:B,attributes:f,events:D,numbers:W},M=(o=>(o.None="none",o.Menu="menu",o.Dropdown="dropdown",o))(M||{});var c=class extends O{constructor(e){super(e);this._rootElement=I(e,i.selectors.CONTAINER)}setAttribute(e,o,a){a?a.setAttribute(e,o):this._component.setAttribute(e,o)}removeAttribute(e,o){o?o.removeAttribute(e):this._component.removeAttribute(e)}async positionPopup(){let e={element:this._component,targetElement:this._component.targetElement,placement:this._component.placement,hide:this._component.hideWhenClipped,flipOptions:{fallbackPlacements:["top-start","top","top-end","left-start","left","left-end","right-start","right","right-end"],fallbackStrategy:"initialPlacement"}},o=this._component.fallbackPlacements;o!=null&&o.length&&(e.flipOptions=P(v({},e.flipOptions),{fallbackPlacements:o})),this._component.offset&&(e.offset=this._component.offset);let a=await w(e);h(this._component,i.events.POSITION,a)}addPopup(e,o){this._component.setAttribute("tabindex","-1"),this._component.setAttribute(i.attributes.HOST,""),this._component.style.top="0",this._component.style.left="0";let a=e.ownerDocument||document;this._hostElement=A(i.selectors.HOST,e)||a.body,this._hostElement.appendChild(this._component),this.positionPopup(),o&&(this._previouslyFocusedElement=b(this._component.ownerDocument),this._component.focus())}removePopup(e){k(this._component),e&&window.requestAnimationFrame(()=>{if(this._previouslyFocusedElement){let o=b(this._component.ownerDocument);(!o||o===document.body)&&this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=void 0}}),this._hostElement=void 0}manageWindowEvents(e=!1){e?(this._windowEventCallback=o=>this._windowInteraction(o),window.addEventListener("scroll",this._windowEventCallback,!0),window.addEventListener("resize",this._windowEventCallback,!0)):this._windowEventCallback&&(window.removeEventListener("scroll",this._windowEventCallback,!0),window.removeEventListener("resize",this._windowEventCallback,!0),this._windowEventCallback=void 0)}dispatchEvent(e,o,a,F){return this._component.targetElement?!h(this._component.targetElement,e,o,a,F):!1}addClass(e){u(e,this._rootElement)}removeClass(e){C(e,this._rootElement)}setAnimationEndListener(e,o){window.requestAnimationFrame(()=>{o&&o.length&&u(o,this._rootElement),this._rootElement.addEventListener("transitionend",e)})}removeEventListener(e,o){this._rootElement.removeEventListener(e,o)}setBlurListener(e){return g(this._component,o=>{this._component.contains(o)||e()},!0)}trySetInitialFocus(){window.requestAnimationFrame(()=>{let e=T(this._component,i.selectors.INITIAL_FOCUS);e&&e.length&&e[e.length-1].focus()})}_windowInteraction(e){if(this._component.open)switch(e.type){case"scroll":case"resize":this.positionPopup();break;default:break}}};var d=class{constructor(t){this._adapter=t;this._placement="bottom-start";this._fallbackPlacements=[];this._open=!1;this._manageFocus=!1;this._animationType="none";this._static=!1;this._hideWhenClipped=!1;this._blurListener=()=>this._onBlur()}disconnect(){this.open&&(this.open=!1)}_openPopup(){this._animationType!=="none"?(this._applyOpenAnimation(),this._animationType==="dropdown"&&this._adapter.addClass(i.classes.SELECT)):this._adapter.addClass(i.classes.OPEN),this._adapter.setAttribute(i.attributes.OPEN,""),this._adapter.addPopup(this.targetElement,this._manageFocus),this._adapter.trySetInitialFocus(),this._destroyBlurListener&&this._destroyBlurListener(),this._static||(this._destroyBlurListener=this._adapter.setBlurListener(this._blurListener)),this._adapter.manageWindowEvents(!0),this._adapter.dispatchEvent(i.events.OPEN)}_closePopup(){this._destroyBlurListener&&(this._destroyBlurListener(),this._destroyBlurListener=void 0),this._animationType!=="none"?this._applyCloseAnimation():this._destroyPopup()}_destroyPopup(){this._adapter.manageWindowEvents(!1),this._adapter.removePopup(this._manageFocus),this._adapter.dispatchEvent(i.events.CLOSE),this._adapter.removeAttribute(i.attributes.OPEN)}_applyOpenAnimation(){switch(this._animationType){case"dropdown":case"menu":this._adapter.addClass(i.classes.OPENING);let t=e=>{e.propertyName==="transform"&&(this._adapter.removeClass(i.classes.OPENING),this._adapter.removeEventListener("transitionend",t))};this._adapter.setAnimationEndListener(t,i.classes.OPEN);break}}_applyCloseAnimation(){switch(this._animationType){case"dropdown":case"menu":this._adapter.removeClass(i.classes.OPEN),this._adapter.addClass(i.classes.CLOSED);let t=o=>{o.propertyName==="opacity"&&(e&&clearTimeout(e),this._destroyPopup())};this._adapter.setAnimationEndListener(t);let e=setTimeout(()=>this._destroyPopup(),i.numbers.ANIMATION_DURATION);break}}_onBlur(){this._adapter.dispatchEvent(i.events.BLUR,void 0,!0,!0)||(this.open=!1)}_applyOpen(){if(this._open){if(!this.targetElement||!m(this.targetElement))throw new Error("targetElement on Popup component must be an HTMLElement");typeof this._openCallback=="function"?this._executeOpenCallback():this._openPopup()}else typeof this._closeCallback=="function"?this._executeCloseCallback():this._closePopup()}async _executeOpenCallback(){try{await Promise.resolve(this._openCallback())!==!1?this._openPopup():this._open=!1}catch(t){this._open=!1}}async _executeCloseCallback(){try{await Promise.resolve(this._closeCallback())!==!1?this._closePopup():this._open=!0}catch(t){this._open=!0}}get targetElement(){return this._targetElement}set targetElement(t){if(!t||!m(t))throw new Error("targetElement on Popup component must be an HTMLElement");this._targetElement=t}get placement(){return this._placement}set placement(t){this._placement!==t&&(this._placement=t||"bottom-start",this._adapter.setAttribute(i.attributes.PLACEMENT,this._placement))}get fallbackPlacements(){return this._fallbackPlacements}set fallbackPlacements(t){this._fallbackPlacements=Array.isArray(t)?t:[]}get open(){return this._open}set open(t){t=!!t,this._open!==t&&(this._open=t,this._applyOpen())}get manageFocus(){return this._manageFocus}set manageFocus(t){this._manageFocus!==t&&(this._manageFocus=t)}get animationType(){return this._animationType}set animationType(t){this._animationType!==t&&(this._animationType=t)}get static(){return this._static}set static(t){this._static!==t&&(this._static=t,this._static&&this._destroyBlurListener&&(this._destroyBlurListener(),this._destroyBlurListener=void 0))}get hideWhenClipped(){return this._hideWhenClipped}set hideWhenClipped(t){this._hideWhenClipped!==t&&(this._hideWhenClipped=t)}get offset(){var t;return(t=this._offset)!=null?t:{x:0,y:0}}set offset(t){var e,o;t?this._offset={x:(e=t.x)!=null?e:0,y:(o=t.y)!=null?o:0}:this._offset=void 0,this._open&&this._adapter.positionPopup()}get openCallback(){return this._openCallback}set openCallback(t){this._openCallback=t}get closeCallback(){return this._closeCallback}set closeCallback(t){this._closeCallback=t}position(){this._adapter.positionPopup()}};var U='<template><div class="forge-popup" part="root"><slot></slot></div></template>',z=".forge-popup{min-width:112px;min-width:var(--min-width,112px);background-color:#fff;background-color:var(--forge-theme-elevated-surface,#fff);-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-box-shadow:var(--forge-theme-popup-elevation,0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12));box-shadow:var(--forge-theme-popup-elevation,0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12));color:#000;color:var(--mdc-theme-on-surface,#000);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:none;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:100%;margin:0;padding:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 24px 0;transform-origin:50% 24px 0;opacity:0;will-change:transform,opacity;-webkit-transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms cubic-bezier(0, 0, .2, 1)}.forge-popup::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-popup::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-popup::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-popup::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-popup::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-popup::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-popup--opening{display:block;-webkit-transform:scale(.8);transform:scale(.8);opacity:0}.forge-popup--closed{display:block;opacity:0;-webkit-transition:opacity 120ms linear;transition:opacity 120ms linear}.forge-popup--open{display:block;-webkit-transform:scale(1);transform:scale(1);opacity:1}.forge-popup--select{border-top-left-radius:0;border-top-right-radius:0;max-height:256px;overflow-y:auto}:host{z-index:10;z-index:var(--forge-z-index-popup,10);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;position:absolute;overflow:visible}:host([hidden]){display:none}:host([constrain-viewport-width]){max-width:100vw}",n=class extends L{constructor(){super();x(this,U,z),this._foundation=new d(new c(this))}static get observedAttributes(){return[i.attributes.OPEN,i.attributes.PLACEMENT,i.attributes.MANAGE_FOCUS,i.attributes.ANIMATION_TYPE,i.attributes.STATIC,i.attributes.HIDE_WHEN_CLIPPED]}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,o,a){switch(e){case i.attributes.OPEN:this.open=E(a);break;case i.attributes.PLACEMENT:this.placement=a;break;case i.attributes.MANAGE_FOCUS:this.manageFocus=l(a);break;case i.attributes.ANIMATION_TYPE:this.animationType=a;break;case i.attributes.STATIC:this.static=l(a);break;case i.attributes.HIDE_WHEN_CLIPPED:this.hideWhenClipped=l(a);break}}position(){this._foundation.position()}};s([r()],n.prototype,"targetElement",2),s([r()],n.prototype,"placement",2),s([r()],n.prototype,"fallbackPlacements",2),s([r()],n.prototype,"open",2),s([r()],n.prototype,"manageFocus",2),s([r()],n.prototype,"animationType",2),s([r()],n.prototype,"static",2),s([r()],n.prototype,"hideWhenClipped",2),s([r()],n.prototype,"openCallback",2),s([r()],n.prototype,"closeCallback",2),s([r()],n.prototype,"offset",2),n=s([N({name:i.elementName})],n);function ge(){y(n)}export{i as a,M as b,c,d,n as e,ge as f};
7
- //# sourceMappingURL=chunk.7CGKFRBK.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/popup/popup-constants.ts", "../../src/popup/popup-adapter.ts", "../../src/popup/popup-foundation.ts", "../../src/popup/popup.ts", "../../src/popup/index.ts"],
4
- "sourcesContent": ["import { PositionPlacement } from '@tylertech/forge-core';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}popup`;\n\nconst attributes = {\n CONTAINER: 'forge-popup',\n OPEN: 'open',\n PLACEMENT: 'placement',\n MANAGE_FOCUS: 'manage-focus',\n ANIMATION_TYPE: 'animation-type',\n STATIC: 'static',\n HIDE_WHEN_CLIPPED: 'hide-when-clipped',\n HOST: 'forge-popup-host',\n INITIAL_FOCUS: 'forge-popup-focus',\n CONSTRAIN_VIEWPORT_WIDTH: 'constrain-viewport-width'\n};\n\nconst classes = {\n OPEN: 'forge-popup--open',\n OPENING: 'forge-popup--opening',\n CLOSED: 'forge-popup--closed',\n SELECT: 'forge-popup--select'\n};\n\nconst selectors = {\n HOST: `.forge-popup-host, [${attributes.HOST}]`,\n CONTAINER: '.forge-popup',\n INITIAL_FOCUS: `[${attributes.INITIAL_FOCUS}]`\n};\n\nconst events = {\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n POSITION: `${elementName}-position`,\n BLUR: `${elementName}-blur`\n};\n\nconst numbers = {\n ANIMATION_DURATION: 120\n};\n\nexport const POPUP_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers\n};\n\nexport interface IPopupPosition {\n x: number;\n y: number;\n}\n\nexport type PopupPlacement = PositionPlacement;\n\nexport enum PopupAnimationType {\n None = 'none',\n Menu = 'menu',\n Dropdown = 'dropdown'\n}\n\nexport interface IPopupPositionEventData extends IPopupPosition {\n visibility: 'visible' | 'hidden';\n}\n\nexport type PopupStateCallback = () => boolean | void | Promise<boolean | void>;\n", "import { addClass, closestElement, emitEvent, getShadowElement, IPositionElementConfig, notChildEventListener, positionElementAsync, removeClass, removeElement, deepQuerySelectorAll, getActiveElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IPopupComponent } from './popup';\nimport { IPopupPositionEventData, POPUP_CONSTANTS, PopupPlacement } from './popup-constants';\n\nexport interface IPopupAdapter extends IBaseAdapter {\n setAttribute(attribute: string, value: string, element?: HTMLElement): void;\n removeAttribute(attribute: string, element?: HTMLElement): void;\n positionPopup(): void;\n addPopup(targetElement: HTMLElement, manageFocus: boolean): void;\n removePopup(manageFocus: boolean): void;\n manageWindowEvents(add: boolean): void;\n dispatchEvent(type: string, data?: any, bubbles?: boolean, cancellable?: boolean): boolean;\n addClass(classes: string | string[]): void;\n removeClass(classes: string | string[]): void;\n setAnimationEndListener(listener: (evt: TransitionEvent) => void, classes?: string | string[]): void;\n removeEventListener(type: string, listener: (evt: Event) => void): void;\n setBlurListener(listener: () => void): () => void;\n trySetInitialFocus(): void;\n}\n\nexport class PopupAdapter extends BaseAdapter<IPopupComponent> implements IPopupAdapter {\n private _windowEventCallback?: (evt: Event) => void;\n private _previouslyFocusedElement?: HTMLElement;\n private _hostElement?: HTMLElement;\n private _rootElement: HTMLElement;\n\n constructor(component: IPopupComponent) {\n super(component);\n this._rootElement = getShadowElement(component, POPUP_CONSTANTS.selectors.CONTAINER);\n }\n\n public setAttribute(attribute: string, value: string, element?: HTMLElement): void {\n if (element) {\n element.setAttribute(attribute, value);\n } else {\n this._component.setAttribute(attribute, value);\n }\n }\n\n public removeAttribute(attribute: string, element?: HTMLElement): void {\n if (element) {\n element.removeAttribute(attribute);\n } else {\n this._component.removeAttribute(attribute);\n }\n }\n\n public async positionPopup(): Promise<void> {\n const config: IPositionElementConfig = {\n element: this._component,\n targetElement: this._component.targetElement,\n placement: this._component.placement,\n hide: this._component.hideWhenClipped,\n flipOptions: {\n fallbackPlacements: ['top-start', 'top', 'top-end', 'left-start', 'left', 'left-end', 'right-start', 'right', 'right-end'],\n fallbackStrategy: 'initialPlacement'\n }\n };\n\n const fallbackPlacements: PopupPlacement[] = this._component.fallbackPlacements;\n if (fallbackPlacements?.length) {\n config.flipOptions = { ...config.flipOptions, fallbackPlacements };\n }\n\n if (this._component.offset) {\n config.offset = this._component.offset;\n }\n const data: IPopupPositionEventData = await positionElementAsync(config);\n emitEvent(this._component, POPUP_CONSTANTS.events.POSITION, data);\n }\n\n public addPopup(targetElement: HTMLElement, manageFocus: boolean): void {\n this._component.setAttribute('tabindex', '-1');\n this._component.setAttribute(POPUP_CONSTANTS.attributes.HOST, '');\n\n // Set initial position to top-left of the host element while we wait for positioning.\n // This ensures that the element is not visible, nor does it affect layouts before it\n // is properly moved into its expected location.\n this._component.style.top = '0';\n this._component.style.left = '0';\n\n const hostDocument = targetElement.ownerDocument || document;\n this._hostElement = (closestElement(POPUP_CONSTANTS.selectors.HOST, targetElement) as HTMLElement) || hostDocument.body;\n this._hostElement.appendChild(this._component);\n this.positionPopup();\n\n if (manageFocus) {\n this._previouslyFocusedElement = getActiveElement(this._component.ownerDocument) as HTMLElement;\n this._component.focus();\n }\n }\n\n public removePopup(manageFocus: boolean): void {\n removeElement(this._component);\n\n if (manageFocus) {\n window.requestAnimationFrame(() => {\n if (this._previouslyFocusedElement) {\n const activeElement = getActiveElement(this._component.ownerDocument);\n if (!activeElement || activeElement === document.body) {\n this._previouslyFocusedElement.focus();\n }\n this._previouslyFocusedElement = undefined;\n }\n });\n }\n\n this._hostElement = undefined;\n }\n\n public manageWindowEvents(add = false): void {\n if (add) {\n this._windowEventCallback = evt => this._windowInteraction(evt);\n window.addEventListener('scroll', this._windowEventCallback, true);\n window.addEventListener('resize', this._windowEventCallback, true);\n } else {\n if (this._windowEventCallback) {\n window.removeEventListener('scroll', this._windowEventCallback, true);\n window.removeEventListener('resize', this._windowEventCallback, true);\n this._windowEventCallback = undefined;\n }\n }\n }\n\n public dispatchEvent(type: string, data?: any, bubbles?: boolean, cancelable?: boolean): boolean {\n if (this._component.targetElement) {\n return !emitEvent(this._component.targetElement, type, data, bubbles, cancelable);\n }\n return false;\n }\n\n public addClass(classes: string | string[]): void {\n addClass(classes, this._rootElement);\n }\n\n public removeClass(classes: string | string[]): void {\n removeClass(classes, this._rootElement);\n }\n\n public setAnimationEndListener(listener: (evt: TransitionEvent) => void, classes?: string | string[]): void {\n window.requestAnimationFrame(() => {\n if (classes && classes.length) {\n addClass(classes, this._rootElement);\n }\n this._rootElement.addEventListener('transitionend', listener);\n });\n }\n\n public removeEventListener(type: string, listener: (evt: Event) => void): void {\n this._rootElement.removeEventListener(type, listener);\n }\n\n public setBlurListener(listener: () => void): () => void {\n return notChildEventListener(this._component, activeElement => {\n if (!this._component.contains(activeElement)) {\n listener();\n }\n }, true );\n }\n\n public trySetInitialFocus(): void {\n window.requestAnimationFrame(() => {\n const elements = deepQuerySelectorAll(this._component, POPUP_CONSTANTS.selectors.INITIAL_FOCUS);\n if (elements && elements.length) {\n const initialElement = elements[elements.length - 1] as HTMLElement;\n initialElement.focus();\n }\n });\n }\n\n private _windowInteraction(evt: Event): void {\n if (!this._component.open) {\n return;\n }\n\n switch (evt.type) {\n case 'scroll':\n case 'resize':\n this.positionPopup();\n break;\n default:\n break;\n }\n }\n}\n", "import { ICustomElementFoundation, isElement } from '@tylertech/forge-core';\nimport { IPopupAdapter } from './popup-adapter';\nimport { IPopupPosition, PopupAnimationType, PopupPlacement, PopupStateCallback, POPUP_CONSTANTS as constants, POPUP_CONSTANTS } from './popup-constants';\n\nexport interface IPopupFoundation extends ICustomElementFoundation {\n targetElement: HTMLElement;\n placement: PopupPlacement;\n fallbackPlacements: PopupPlacement[];\n open: boolean;\n manageFocus: boolean;\n animationType: PopupAnimationType;\n static: boolean;\n offset: IPopupPosition;\n hideWhenClipped: boolean;\n position(): void;\n openCallback: PopupStateCallback;\n closeCallback: PopupStateCallback;\n}\n\nexport class PopupFoundation implements IPopupFoundation {\n private _targetElement: HTMLElement;\n private _placement: PopupPlacement = 'bottom-start';\n private _fallbackPlacements: PopupPlacement[] = [];\n private _open = false;\n private _manageFocus = false;\n private _animationType = PopupAnimationType.None;\n private _static = false;\n private _offset?: IPopupPosition;\n private _hideWhenClipped = false;\n private _destroyBlurListener: (() => void) | undefined;\n private _openCallback: PopupStateCallback;\n private _closeCallback: PopupStateCallback;\n private _blurListener: () => void;\n\n constructor(private _adapter: IPopupAdapter) {\n this._blurListener = () => this._onBlur();\n }\n\n public disconnect(): void {\n if (this.open) {\n this.open = false;\n }\n }\n\n private _openPopup(): void {\n if (this._animationType !== PopupAnimationType.None) {\n this._applyOpenAnimation();\n\n if (this._animationType === PopupAnimationType.Dropdown) {\n this._adapter.addClass(POPUP_CONSTANTS.classes.SELECT);\n }\n } else {\n this._adapter.addClass(POPUP_CONSTANTS.classes.OPEN);\n }\n\n this._adapter.setAttribute(POPUP_CONSTANTS.attributes.OPEN, '');\n this._adapter.addPopup(this.targetElement, this._manageFocus);\n this._adapter.trySetInitialFocus();\n\n if (this._destroyBlurListener) {\n this._destroyBlurListener();\n }\n\n if (!this._static) {\n this._destroyBlurListener = this._adapter.setBlurListener(this._blurListener);\n }\n\n this._adapter.manageWindowEvents(true);\n this._adapter.dispatchEvent(constants.events.OPEN);\n }\n\n private _closePopup(): void {\n if (this._destroyBlurListener) {\n this._destroyBlurListener();\n this._destroyBlurListener = undefined;\n }\n\n if (this._animationType !== PopupAnimationType.None) {\n this._applyCloseAnimation();\n } else {\n this._destroyPopup();\n }\n }\n\n private _destroyPopup(): void {\n this._adapter.manageWindowEvents(false);\n this._adapter.removePopup(this._manageFocus);\n this._adapter.dispatchEvent(constants.events.CLOSE);\n this._adapter.removeAttribute(POPUP_CONSTANTS.attributes.OPEN);\n }\n\n private _applyOpenAnimation(): void {\n switch (this._animationType) {\n case PopupAnimationType.Dropdown:\n case PopupAnimationType.Menu:\n this._adapter.addClass(POPUP_CONSTANTS.classes.OPENING);\n const transitionEndListener = (evt: TransitionEvent): void => {\n if (evt.propertyName === 'transform') {\n this._adapter.removeClass(POPUP_CONSTANTS.classes.OPENING);\n this._adapter.removeEventListener('transitionend', transitionEndListener);\n }\n };\n this._adapter.setAnimationEndListener(transitionEndListener, POPUP_CONSTANTS.classes.OPEN);\n break;\n }\n }\n\n private _applyCloseAnimation(): void {\n switch (this._animationType) {\n case PopupAnimationType.Dropdown:\n case PopupAnimationType.Menu:\n this._adapter.removeClass(POPUP_CONSTANTS.classes.OPEN);\n this._adapter.addClass(POPUP_CONSTANTS.classes.CLOSED);\n const transitionEndListener = (evt: TransitionEvent): void => {\n if (evt.propertyName === 'opacity') {\n if (fallbackTimer) {\n clearTimeout(fallbackTimer);\n }\n this._destroyPopup();\n }\n };\n this._adapter.setAnimationEndListener(transitionEndListener);\n const fallbackTimer = setTimeout(() => this._destroyPopup(), POPUP_CONSTANTS.numbers.ANIMATION_DURATION);\n break;\n }\n }\n\n private _onBlur(): void {\n const cancelled = this._adapter.dispatchEvent(POPUP_CONSTANTS.events.BLUR, undefined, true, true);\n if (!cancelled) {\n this.open = false;\n }\n }\n\n private _applyOpen(): void {\n if (this._open) {\n if (!this.targetElement || !isElement(this.targetElement)) {\n throw new Error('targetElement on Popup component must be an HTMLElement');\n }\n\n if (typeof this._openCallback === 'function') {\n this._executeOpenCallback();\n } else {\n this._openPopup();\n }\n } else {\n if (typeof this._closeCallback === 'function') {\n this._executeCloseCallback();\n } else {\n this._closePopup();\n }\n }\n }\n\n private async _executeOpenCallback(): Promise<void> {\n try {\n if (await Promise.resolve(this._openCallback()) !== false) {\n this._openPopup();\n } else {\n this._open = false;\n }\n } catch (e) {\n this._open = false;\n }\n }\n\n private async _executeCloseCallback(): Promise<void> {\n try {\n if (await Promise.resolve(this._closeCallback()) !== false) {\n this._closePopup();\n } else {\n this._open = true;\n }\n } catch (e) {\n this._open = true;\n }\n }\n\n public get targetElement(): HTMLElement {\n return this._targetElement;\n }\n public set targetElement(element: HTMLElement) {\n if (!element || !isElement(element)) {\n throw new Error('targetElement on Popup component must be an HTMLElement');\n }\n this._targetElement = element;\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.setAttribute(POPUP_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 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 this._applyOpen();\n }\n }\n\n public get manageFocus(): boolean {\n return this._manageFocus;\n }\n public set manageFocus(value: boolean) {\n if (this._manageFocus !== value) {\n this._manageFocus = value;\n }\n }\n\n public get animationType(): PopupAnimationType {\n return this._animationType;\n }\n public set animationType(value: PopupAnimationType) {\n if (this._animationType !== value) {\n this._animationType = value;\n }\n }\n\n public get static(): boolean {\n return this._static;\n }\n public set static(value: boolean) {\n if (this._static !== value) {\n this._static = value;\n if (this._static && this._destroyBlurListener) {\n this._destroyBlurListener();\n this._destroyBlurListener = undefined;\n }\n }\n }\n\n public get hideWhenClipped(): boolean {\n return this._hideWhenClipped;\n }\n public set hideWhenClipped(value: boolean) {\n if (this._hideWhenClipped !== value) {\n this._hideWhenClipped = value;\n }\n }\n\n public get offset(): IPopupPosition {\n return this._offset ?? { x: 0, y: 0 };\n }\n public set offset(value: IPopupPosition) {\n if (!value) {\n this._offset = undefined;\n } else {\n this._offset = {\n x: value.x ?? 0,\n y: value.y ?? 0\n };\n }\n if (this._open) {\n this._adapter.positionPopup();\n }\n }\n\n public get openCallback(): PopupStateCallback {\n return this._openCallback;\n }\n public set openCallback(callback: PopupStateCallback) {\n this._openCallback = callback;\n }\n\n public get closeCallback(): PopupStateCallback {\n return this._closeCallback;\n }\n public set closeCallback(callback: PopupStateCallback) {\n this._closeCallback = callback;\n }\n\n public position(): void {\n this._adapter.positionPopup();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty, isDefined } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { PopupAdapter } from './popup-adapter';\nimport { IPopupPosition, IPopupPositionEventData, PopupAnimationType, PopupPlacement, PopupStateCallback, POPUP_CONSTANTS } from './popup-constants';\nimport { PopupFoundation } from './popup-foundation';\n\n\nconst template = '<template><div class=\\\"forge-popup\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-popup{min-width:112px;min-width:var(--min-width,112px);background-color:#fff;background-color:var(--forge-theme-elevated-surface,#fff);-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-box-shadow:var(--forge-theme-popup-elevation,0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12));box-shadow:var(--forge-theme-popup-elevation,0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12));color:#000;color:var(--mdc-theme-on-surface,#000);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:none;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:100%;margin:0;padding:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 24px 0;transform-origin:50% 24px 0;opacity:0;will-change:transform,opacity;-webkit-transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms cubic-bezier(0, 0, .2, 1)}.forge-popup::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-popup::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-popup::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-popup::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-popup::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-popup::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-popup--opening{display:block;-webkit-transform:scale(.8);transform:scale(.8);opacity:0}.forge-popup--closed{display:block;opacity:0;-webkit-transition:opacity 120ms linear;transition:opacity 120ms linear}.forge-popup--open{display:block;-webkit-transform:scale(1);transform:scale(1);opacity:1}.forge-popup--select{border-top-left-radius:0;border-top-right-radius:0;max-height:256px;overflow-y:auto}:host{z-index:10;z-index:var(--forge-z-index-popup,10);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;position:absolute;overflow:visible}:host([hidden]){display:none}:host([constrain-viewport-width]){max-width:100vw}';\n\nexport interface IPopupComponent extends IBaseComponent {\n targetElement: HTMLElement;\n placement: PopupPlacement;\n fallbackPlacements: PopupPlacement[];\n open: boolean;\n manageFocus: boolean;\n animationType: `${PopupAnimationType}`;\n static: boolean;\n offset: IPopupPosition;\n hideWhenClipped: boolean;\n position(): void;\n openCallback: PopupStateCallback;\n closeCallback: PopupStateCallback;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-popup': IPopupComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-popup-open': CustomEvent<void>;\n 'forge-popup-close': CustomEvent<void>;\n 'forge-popup-position': CustomEvent<IPopupPositionEventData>;\n 'forge-popup-blur': CustomEvent<void>;\n }\n}\n\n/**\n * The web component class behind the `<forge-popup>` custom element.\n * \n * @tag forge-popup\n */\n@CustomElement({\n name: POPUP_CONSTANTS.elementName\n})\nexport class PopupComponent extends BaseComponent implements IPopupComponent {\n private _foundation: PopupFoundation;\n\n public static get observedAttributes(): string[] {\n return [\n POPUP_CONSTANTS.attributes.OPEN,\n POPUP_CONSTANTS.attributes.PLACEMENT,\n POPUP_CONSTANTS.attributes.MANAGE_FOCUS,\n POPUP_CONSTANTS.attributes.ANIMATION_TYPE,\n POPUP_CONSTANTS.attributes.STATIC,\n POPUP_CONSTANTS.attributes.HIDE_WHEN_CLIPPED\n ];\n }\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new PopupFoundation(new PopupAdapter(this));\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 POPUP_CONSTANTS.attributes.OPEN:\n this.open = isDefined(newValue);\n break;\n case POPUP_CONSTANTS.attributes.PLACEMENT:\n this.placement = newValue as PopupPlacement;\n break;\n case POPUP_CONSTANTS.attributes.MANAGE_FOCUS:\n this.manageFocus = coerceBoolean(newValue);\n break;\n case POPUP_CONSTANTS.attributes.ANIMATION_TYPE:\n this.animationType = newValue as PopupAnimationType;\n break;\n case POPUP_CONSTANTS.attributes.STATIC:\n this.static = coerceBoolean(newValue);\n break;\n case POPUP_CONSTANTS.attributes.HIDE_WHEN_CLIPPED:\n this.hideWhenClipped = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare targetElement: HTMLElement;\n\n @FoundationProperty()\n public declare placement: `${PopupPlacement}`;\n\n @FoundationProperty()\n public declare fallbackPlacements: `${PopupPlacement}`[];\n\n @FoundationProperty()\n public declare open: boolean;\n\n @FoundationProperty()\n public declare manageFocus: boolean;\n\n @FoundationProperty()\n public declare animationType: `${PopupAnimationType}`;\n\n @FoundationProperty()\n public declare static: boolean;\n\n @FoundationProperty()\n public declare hideWhenClipped: boolean;\n\n @FoundationProperty()\n public declare openCallback: PopupStateCallback;\n\n @FoundationProperty()\n public declare closeCallback: PopupStateCallback;\n\n @FoundationProperty()\n public declare offset: IPopupPosition;\n\n public position(): void {\n this._foundation.position();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { PopupComponent } from './popup';\n\nexport * from './popup-adapter';\nexport * from './popup-constants';\nexport * from './popup-foundation';\nexport * from './popup';\n\nexport function definePopupComponent(): void {\n defineCustomElement(PopupComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "selectors", "events", "numbers", "POPUP_CONSTANTS", "PopupAnimationType", "PopupAdapter", "BaseAdapter", "component", "getShadowElement", "POPUP_CONSTANTS", "attribute", "value", "element", "config", "fallbackPlacements", "__spreadProps", "__spreadValues", "data", "positionElementAsync", "emitEvent", "targetElement", "manageFocus", "hostDocument", "closestElement", "getActiveElement", "removeElement", "activeElement", "add", "evt", "type", "bubbles", "cancelable", "classes", "addClass", "removeClass", "listener", "notChildEventListener", "elements", "deepQuerySelectorAll", "PopupFoundation", "_adapter", "POPUP_CONSTANTS", "transitionEndListener", "evt", "fallbackTimer", "isElement", "e", "element", "value", "_a", "_b", "callback", "template", "styles", "PopupComponent", "BaseComponent", "attachShadowTemplate", "PopupFoundation", "PopupAdapter", "POPUP_CONSTANTS", "name", "oldValue", "newValue", "isDefined", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "definePopupComponent", "defineCustomElement", "PopupComponent"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{d as f}from"./chunk.IX25DYIM.js";import{a as t}from"./chunk.GO5A4GKZ.js";import{e as E}from"./chunk.UV3WIHCM.js";import{a as r}from"./chunk.NVUMRW44.js";import{a as m}from"./chunk.BKL2BAYW.js";import{f as n,k as g}from"./chunk.MVTBJPO2.js";import{f as _,g as b,m as u,o as L,s as c,t as h,z as v}from"./chunk.K7FPXAFS.js";import{k as d}from"./chunk.J2M2MXP2.js";import{d as o}from"./chunk.M3QDAYD2.js";var S=class extends m{constructor(e){super(e);this._valueChangeListeners=[]}initialize(e){this._rootElement=n(this._component,e),this._labelSlot=n(this._component,"slot[name=label]"),this._leadingSlot=n(this._component,"slot[name=leading]"),this._trailingSlot=n(this._component,"slot[name=trailing]"),this._addonEndSlot=n(this._component,"slot[name=addon-end]"),this._inputElement=this._component.querySelector("input:not([type=checkbox]):not([type=radio])"),this.detectLabel()}destroy(){this._inputMutationObserver&&this._inputMutationObserver.disconnect()}hasLabel(){return!!this._labelElement}ensureSlottedLabel(){this._labelElement.slot="label"}ensureLabelOrder(){if(this._labelElement){let e=Array.from(this._component.children);e.length>1&&e.indexOf(this._labelElement)<e.indexOf(this._inputElement)&&this._component.appendChild(this._labelElement)}}addLabelSlotListener(e){this._labelSlot.addEventListener("slotchange",e)}removeLabelSlotListener(e){this._labelSlot&&this._labelSlot.removeEventListener("slotchange",e)}addLeadingSlotListener(e){this._leadingSlot.addEventListener("slotchange",e)}removeLeadingSlotListener(e){this._leadingSlot&&this._leadingSlot.removeEventListener("slotchange",e)}addTrailingSlotListener(e){this._trailingSlot.addEventListener("slotchange",e)}removeTrailingSlotListener(e){this._trailingSlot&&this._trailingSlot.removeEventListener("slotchange",e)}addAddonEndSlotListener(e){this._addonEndSlot.addEventListener("slotchange",e)}removeAddonEndSlotListener(e){this._addonEndSlot&&this._addonEndSlot.removeEventListener("slotchange",e)}addInputListener(e,s){this._inputElement.addEventListener(e,s)}removeInputListener(e,s){this._inputElement&&this._inputElement.removeEventListener(e,s)}setValueChangedListener(e,s){this.destroyValueChangeListener();let a=E(e,this._inputElement,"value",s);this._valueChangeListeners.push(a)}destroyValueChangeListener(){this._valueChangeListeners.forEach(e=>e())}detectLabel(){this._labelElement=this._component.querySelector("label")}initializeFloatingLabel(){return new f(this._labelElement)}inputHasValue(){return this._inputElement.value?this._inputElement.value.trim().length>0:!1}fieldHasValue(){return this.inputHasValue()}hasPlaceholder(){return this._inputElement.placeholder?this._inputElement.placeholder.trim().length>0:!1}inputHasFocus(e){return this._inputElement===e||this._inputElement===c(this._component.ownerDocument)}setLabelClass(e){this._labelElement&&this._labelElement.classList.add(e)}removeLabelClass(e){this._labelElement&&this._labelElement.classList.remove(e)}isLabelFloating(){return this._component.hasAttribute(t.attributes.HOST_LABEL_FLOATING)}setRoomy(e){h(this._rootElement,e,t.classes.ROOMY)}setDense(e){h(this._rootElement,e,t.classes.DENSE)}hasLeadingNodes(){return this._leadingSlot?this._leadingSlot.assignedNodes().length>0:!1}hasTrailingNodes(){return this._trailingSlot?this._trailingSlot.assignedNodes().length>0:!1}hasAddonEndNodes(){return this._addonEndSlot?this._addonEndSlot.assignedNodes().length>0:!1}setInputClass(e){this._inputElement.classList.add(e)}removeInputClass(e){this._inputElement.classList.remove(e)}setRootClass(e){_(e,this._rootElement)}removeRootClass(e){b(e,this._rootElement)}setInputAttributeObserver(e){this._inputMutationObserver=v(this._inputElement,e,t.observedInputAttributes)}isDisabled(){return this._inputElement.hasAttribute("disabled")}isReadonly(){return this._inputElement.hasAttribute("readonly")}getLabelWidth(e,s){return L(this._labelElement.innerText,{fontSize:e,fontFamily:s})}getLabelFontMetrics(){let e=getComputedStyle(this._labelElement);return{fontSize:parseInt(e.fontSize||"16",10),fontFamily:e.fontFamily||"Roboto"}}};var y=class{constructor(i){this._adapter=i;this._density="default";this._shape="default";this._invalid=!1;this._required=!1;this._floatLabelType="auto";this._isInitialized=!1;this._labelSlotListener=e=>this._onLabelSlotChanged(e),this._leadingSlotListener=e=>this._onLeadingSlotChanged(e),this._trailingSlotListener=e=>this._onTrailingSlotChanged(e),this._addonEndSlotListener=e=>this._onAddonEndSlotChanged(e),this._focusListener=e=>this._onFocus(e),this._blurListener=e=>this._onBlur(e),this._valueChangedListener=e=>this._onValueChanged(e),this._inputAttributeChangedListener=(e,s)=>this._onInputAttributeChanged(e,s)}initialize(){this._adapter.initialize(""),this._adapter.hasLabel()&&this._adapter.ensureSlottedLabel(),this._initializeLabel(),this._adapter.hasPlaceholder()&&(this._floatLabelType="always"),this._detectSlottedContent(),this._adapter.addLabelSlotListener(this._labelSlotListener),this._adapter.addLeadingSlotListener(this._leadingSlotListener),this._adapter.addTrailingSlotListener(this._trailingSlotListener),this._adapter.addAddonEndSlotListener(this._addonEndSlotListener),this._adapter.setValueChangedListener(this,this._valueChangedListener),this._adapter.addInputListener("focus",this._focusListener),this._adapter.addInputListener("blur",this._blurListener),this._adapter.setInputAttributeObserver(this._inputAttributeChangedListener),this._applyDensity(),this._setShapeType(),this._setValidity(),this._adapter.isDisabled()?this._adapter.setRootClass(t.classes.DISABLED):this._adapter.removeRootClass(t.classes.DISABLED),this._adapter.isReadonly()?this._adapter.setRootClass(t.classes.READONLY):this._adapter.removeRootClass(t.classes.READONLY),this._floatLabelType==="always"&&this.floatLabel(!0),this._isInitialized=!0}disconnect(){this._isInitialized=!1,this._adapter.destroy(),this._adapter.removeHostAttribute(t.attributes.HOST_LABEL_FLOATING),this._adapter.removeRootClass(t.classes.LABEL),this._floatingLabel&&(this._floatingLabel.destroy(),this._floatingLabel=void 0),this._adapter.removeLabelSlotListener(this._labelSlotListener),this._adapter.removeLeadingSlotListener(this._leadingSlotListener),this._adapter.removeTrailingSlotListener(this._trailingSlotListener),this._adapter.removeAddonEndSlotListener(this._addonEndSlotListener),this._adapter.removeInputListener("focus",this._focusListener),this._adapter.removeInputListener("blur",this._blurListener),this._adapter.destroyValueChangeListener()}get density(){return this._density}set density(i){this._density!==i&&(this._density=i,this._isInitialized&&(this._applyDensity(),this._initializeLabel()),this._adapter.setHostAttribute(t.attributes.DENSITY,this._density.toString()))}get floatLabelType(){return this._floatLabelType}set floatLabelType(i){this._floatLabelType!==i&&(this._floatLabelType=i,this._isInitialized&&this.floatLabel(this._floatLabelType==="always"),this._adapter.setHostAttribute(t.attributes.FLOAT_LABEL_TYPE,this._floatLabelType))}get shape(){return this._shape}set shape(i){this._shape!==i&&(this._shape=i,this._isInitialized&&this._setShapeType(),this._adapter.setHostAttribute(t.attributes.SHAPE,this._shape))}get invalid(){return this._invalid}set invalid(i){this._invalid!==i&&(this._invalid=i,this._isInitialized&&this._setValidity())}get required(){return this._required}set required(i){this._required!==i&&(this._required=i,this._isInitialized&&this._setValidity(),this._required?this._adapter.setHostAttribute(t.attributes.REQUIRED):this._adapter.removeHostAttribute(t.attributes.REQUIRED))}floatLabel(i){var e,s;if(((e=this._floatingLabel)==null?void 0:e.isFloating)===i||this._adapter.isLabelFloating()===i){i&&this._adapter.setHostAttribute(t.attributes.HOST_LABEL_FLOATING,"");return}if(!i&&this._floatLabelType==="always"){(s=this._floatingLabel)==null||s.float(!0,!0),this._adapter.setHostAttribute(t.attributes.HOST_LABEL_FLOATING,"");return}this._floatingLabel&&(this._floatingLabel.float(i,this._floatLabelType==="always"),i?(this._adapter.setInputClass(t.classes.INPUT_FOCUSED),this._adapter.setHostAttribute(t.attributes.HOST_LABEL_FLOATING,"")):(this._adapter.removeInputClass(t.classes.INPUT_FOCUSED),this._adapter.removeHostAttribute(t.attributes.HOST_LABEL_FLOATING)))}_onLabelSlotChanged(i){this._initializeLabel()}_onLeadingSlotChanged(i){this._detectLeadingContent()}_onTrailingSlotChanged(i){this._detectTrailingContent()}_onAddonEndSlotChanged(i){this._detectAddonEndContent()}_initializeLabel(){this._floatingLabel&&this._floatingLabel.destroy(),this._adapter.detectLabel(),this._adapter.hasLabel()&&this._density!=="dense"?(this._floatingLabel=this._adapter.initializeFloatingLabel(),this._adapter.ensureLabelOrder(),this.floatLabel(this._floatLabelType==="always"||this._adapter.fieldHasValue()||this._adapter.hasPlaceholder()),this._adapter.setRootClass(t.classes.LABEL)):(this._adapter.removeHostAttribute(t.attributes.HOST_LABEL_FLOATING),this._adapter.removeRootClass(t.classes.LABEL),this._floatingLabel=void 0)}_detectLeadingContent(){this._adapter.hasLeadingNodes()?this._adapter.setRootClass(t.classes.LEADING):this._adapter.removeRootClass(t.classes.LEADING)}_detectTrailingContent(){this._adapter.hasTrailingNodes()?this._adapter.setRootClass(t.classes.TRAILING):this._adapter.removeRootClass(t.classes.TRAILING)}_detectAddonEndContent(){this._adapter.hasAddonEndNodes()?this._adapter.setRootClass(t.classes.ADDON_END):this._adapter.removeRootClass(t.classes.ADDON_END)}_detectSlottedContent(){this._detectLeadingContent(),this._detectTrailingContent(),this._detectAddonEndContent()}_onFocus(i){this._adapter.setRootClass(t.classes.FOCUSED),this._adapter.setLabelClass(t.classes.LABEL_FOCUSED),this.floatLabel(!0)}_onBlur(i){this._adapter.inputHasFocus(i.relatedTarget)||(this._adapter.removeRootClass(t.classes.FOCUSED),this._adapter.removeLabelClass(t.classes.LABEL_FOCUSED),!this._adapter.fieldHasValue()&&!this._adapter.hasPlaceholder()&&(this.floatLabel(!1),this._adapter.removeHostAttribute(t.attributes.HOST_LABEL_FLOATING)))}_onValueChanged(i){this._adapter.fieldHasValue()?this.floatLabel(!0):!this._adapter.inputHasFocus()&&!this._adapter.hasPlaceholder()&&this.floatLabel(!1)}_onInputAttributeChanged(i,e){switch(this._adapter.isDisabled()?(this._adapter.setRootClass(t.classes.DISABLED),this._adapter.removeRootClass(t.classes.FOCUSED),this._adapter.removeInputClass(t.classes.INPUT_FOCUSED),this._adapter.removeLabelClass(t.classes.LABEL_FOCUSED),!this._adapter.fieldHasValue()&&!this._adapter.hasPlaceholder()&&this._floatingLabel&&this.floatLabel(!1)):this._adapter.removeRootClass(t.classes.DISABLED),this._adapter.isReadonly()?this._adapter.setRootClass(t.classes.READONLY):(this._adapter.removeRootClass(t.classes.READONLY),this._adapter.removeRootClass(t.classes.FOCUSED),this._adapter.removeInputClass(t.classes.INPUT_FOCUSED)),i){case"readonly":case"disabled":this._adapter.inputHasFocus()&&(this._adapter.setRootClass(t.classes.FOCUSED),this._adapter.setInputClass(t.classes.INPUT_FOCUSED),this._adapter.setLabelClass(t.classes.LABEL_FOCUSED));break;case"value":this._floatingLabel&&this.floatLabel(this._adapter.fieldHasValue());break;case"placeholder":if(this._floatingLabel){let s=!!e&&!!e.trim()||this._adapter.fieldHasValue();s!==this._floatingLabel.isFloating&&this.floatLabel(s)}break}}_setShapeType(){this._shape==="rounded"?this._adapter.setRootClass(t.classes.SHAPE_ROUNDED):this._adapter.removeRootClass(t.classes.SHAPE_ROUNDED)}_setValidity(){this._invalid?this._adapter.setRootClass(t.classes.INVALID):this._adapter.removeRootClass(t.classes.INVALID),this._required?this._adapter.setRootClass(t.classes.REQUIRED):this._adapter.removeRootClass(t.classes.REQUIRED)}_applyDensity(){this._adapter.setRoomy(this._density==="roomy"),this._adapter.setDense(this._density==="dense")}};var l=class extends g{constructor(){super()}static get observedAttributes(){return[t.attributes.DENSITY,t.attributes.FLOAT_LABEL_TYPE,t.attributes.SHAPE,t.attributes.INVALID,t.attributes.REQUIRED]}connectedCallback(){this.querySelector(t.selectors.INPUT)?this._initialize():u(this,t.selectors.INPUT).then(()=>this._initialize())}_initialize(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,s,a){switch(e){case t.attributes.DENSITY:this.density=a;break;case t.attributes.FLOAT_LABEL_TYPE:this.floatLabelType=a;break;case t.attributes.SHAPE:this.shape=a;break;case t.attributes.INVALID:this.invalid=d(a);break;case t.attributes.REQUIRED:this.required=d(a);break}}floatLabel(e){this._foundation.floatLabel(e)}};o([r()],l.prototype,"density",2),o([r()],l.prototype,"floatLabelType",2),o([r()],l.prototype,"shape",2),o([r()],l.prototype,"invalid",2),o([r()],l.prototype,"required",2);export{S as a,y as b,l as c};
7
- //# sourceMappingURL=chunk.7DB3XVPI.js.map