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

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 (550) hide show
  1. package/custom-elements.json +36275 -28495
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/help-button/index.js +1 -1
  4. package/dist/esm/app-bar/index.js +1 -1
  5. package/dist/esm/app-bar/menu-button/index.js +1 -1
  6. package/dist/esm/app-bar/notification-button/index.js +1 -1
  7. package/dist/esm/app-bar/profile-button/index.js +1 -1
  8. package/dist/esm/app-bar/search/index.js +1 -1
  9. package/dist/esm/autocomplete/index.js +1 -1
  10. package/dist/esm/avatar/index.js +1 -1
  11. package/dist/esm/backdrop/index.js +1 -1
  12. package/dist/esm/badge/index.js +1 -1
  13. package/dist/esm/banner/index.js +1 -1
  14. package/dist/esm/bottom-sheet/index.js +1 -1
  15. package/dist/esm/busy-indicator/index.js +1 -1
  16. package/dist/esm/button/index.js +1 -1
  17. package/dist/esm/button-area/index.js +7 -0
  18. package/dist/esm/button-area/index.js.map +7 -0
  19. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  20. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  21. package/dist/esm/button-toggle/index.js +1 -1
  22. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  23. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/chunk.2LIWNFQK.js +7 -0
  32. package/dist/esm/chunks/{chunk.FWFOOQMA.js → chunk.2WSXSOYB.js} +2 -2
  33. package/dist/esm/chunks/{chunk.YWNCJ7XP.js → chunk.37JFBP4X.js} +2 -2
  34. package/dist/esm/chunks/{chunk.D5TAI6Q7.js → chunk.3X4N4ZPY.js} +2 -2
  35. package/dist/esm/chunks/{chunk.LK4AAUOP.js → chunk.436MTO6R.js} +2 -2
  36. package/dist/esm/chunks/{chunk.P2ZCNO63.js → chunk.4CXLGEJO.js} +2 -2
  37. package/dist/esm/chunks/{chunk.P2ZCNO63.js.map → chunk.4CXLGEJO.js.map} +1 -1
  38. package/dist/esm/chunks/{chunk.EK24Y56W.js → chunk.4JF54GDJ.js} +2 -2
  39. package/dist/esm/chunks/{chunk.SMGXXR6K.js → chunk.4USQ2AP6.js} +2 -2
  40. package/dist/esm/chunks/{chunk.MHBBMC6O.js → chunk.4XJYS5WH.js} +2 -2
  41. package/dist/esm/chunks/{chunk.7TMLILLW.js → chunk.5ASOX23Q.js} +2 -2
  42. package/dist/esm/chunks/{chunk.7TMLILLW.js.map → chunk.5ASOX23Q.js.map} +1 -1
  43. package/dist/esm/chunks/{chunk.624UKZFU.js → chunk.66X366TV.js} +2 -2
  44. package/dist/esm/chunks/chunk.6VSFLBZF.js +7 -0
  45. package/dist/esm/chunks/{chunk.7DB3XVPI.js.map → chunk.6VSFLBZF.js.map} +3 -3
  46. package/dist/esm/chunks/chunk.7L66GZDN.js +7 -0
  47. package/dist/esm/chunks/{chunk.4YFVG4KP.js → chunk.7M4HRJYP.js} +2 -2
  48. package/dist/esm/chunks/{chunk.CKW7KKDW.js → chunk.7PPBXNAD.js} +2 -2
  49. package/dist/esm/chunks/{chunk.A62DE5PD.js → chunk.7UJAI6P2.js} +2 -2
  50. package/dist/esm/chunks/{chunk.UJ2WQOLO.js → chunk.A3ZDCBLA.js} +2 -2
  51. package/dist/esm/chunks/{chunk.2QHD3DCR.js → chunk.AHAARGYM.js} +2 -2
  52. package/dist/esm/chunks/chunk.AQ7ROWO4.js +7 -0
  53. package/dist/esm/chunks/chunk.AQ7ROWO4.js.map +7 -0
  54. package/dist/esm/chunks/{chunk.Q7Z3SJ5F.js → chunk.AY43NTAK.js} +2 -2
  55. package/dist/esm/chunks/{chunk.AEKOP3XT.js → chunk.C2MQN7MI.js} +2 -2
  56. package/dist/esm/chunks/{chunk.AEKOP3XT.js.map → chunk.C2MQN7MI.js.map} +2 -2
  57. package/dist/esm/chunks/{chunk.K3KAM2PL.js → chunk.C5ZUGOOC.js} +2 -2
  58. package/dist/esm/chunks/{chunk.QOJESHEV.js → chunk.C7VEJINB.js} +2 -2
  59. package/dist/esm/chunks/{chunk.YLG6ZC5K.js → chunk.CBIHNCT5.js} +2 -2
  60. package/dist/esm/chunks/{chunk.JIKSKUDW.js → chunk.CLD75EBJ.js} +2 -2
  61. package/dist/esm/chunks/chunk.CMRVP4EA.js +7 -0
  62. package/dist/esm/chunks/chunk.CMRVP4EA.js.map +7 -0
  63. package/dist/esm/chunks/{chunk.TK5I4RHF.js → chunk.CQQSOTZ5.js} +2 -2
  64. package/dist/esm/chunks/chunk.CZEF72BG.js +12 -0
  65. package/dist/esm/chunks/chunk.CZEF72BG.js.map +7 -0
  66. package/dist/esm/chunks/chunk.D5ZHKPCL.js +7 -0
  67. package/dist/esm/chunks/chunk.D5ZHKPCL.js.map +7 -0
  68. package/dist/esm/chunks/{chunk.XKI46BH2.js → chunk.DABGA7I6.js} +2 -2
  69. package/dist/esm/chunks/{chunk.MTKSU2BV.js → chunk.DH76CMUT.js} +2 -2
  70. package/dist/esm/chunks/{chunk.MXEKIEJA.js → chunk.DLQSINSS.js} +2 -2
  71. package/dist/esm/chunks/{chunk.W4247Q2P.js → chunk.DQVYB55P.js} +2 -2
  72. package/dist/esm/chunks/chunk.E4TAHUQO.js +177 -0
  73. package/dist/esm/chunks/chunk.E4TAHUQO.js.map +7 -0
  74. package/dist/esm/chunks/{chunk.WPG7NNQX.js → chunk.EY37FYZ4.js} +2 -2
  75. package/dist/esm/chunks/chunk.FK6NNHXH.js +7 -0
  76. package/dist/esm/chunks/chunk.FK6NNHXH.js.map +7 -0
  77. package/dist/esm/chunks/chunk.G6JWSERI.js +7 -0
  78. package/dist/esm/chunks/{chunk.F74YURLV.js.map → chunk.G6JWSERI.js.map} +4 -4
  79. package/dist/esm/chunks/chunk.GHR7T6U2.js +7 -0
  80. package/dist/esm/chunks/chunk.GHR7T6U2.js.map +7 -0
  81. package/dist/esm/chunks/{chunk.LXPFG7MW.js → chunk.GWIXDVIA.js} +2 -2
  82. package/dist/esm/chunks/{chunk.Z6FCL3G3.js → chunk.HBCDD25D.js} +2 -2
  83. package/dist/esm/chunks/{chunk.M56LSSPW.js → chunk.HDO3WRH7.js} +2 -2
  84. package/dist/esm/chunks/{chunk.DXN7ZOH3.js → chunk.HGH6SSHZ.js} +2 -2
  85. package/dist/esm/chunks/chunk.HJ23XQDJ.js +7 -0
  86. package/dist/esm/chunks/chunk.HJ23XQDJ.js.map +7 -0
  87. package/dist/esm/chunks/{chunk.LFODKHUO.js → chunk.HKSXC5VK.js} +2 -2
  88. package/dist/esm/chunks/chunk.I5SFCLDD.js +7 -0
  89. package/dist/esm/chunks/{chunk.MVTBJPO2.js.map → chunk.I5SFCLDD.js.map} +3 -3
  90. package/dist/esm/chunks/{chunk.S3JMOOWC.js → chunk.IJ2I25V3.js} +2 -2
  91. package/dist/esm/chunks/{chunk.JUJGROHA.js → chunk.IURDWGLD.js} +2 -2
  92. package/dist/esm/chunks/chunk.IXGXASHQ.js +7 -0
  93. package/dist/esm/chunks/{chunk.YX7WLO5Y.js.map → chunk.IXGXASHQ.js.map} +2 -2
  94. package/dist/esm/chunks/{chunk.F5SY2D4B.js → chunk.JCO4M4PF.js} +2 -2
  95. package/dist/esm/chunks/{chunk.5565ZSTH.js → chunk.LNLO36U6.js} +2 -2
  96. package/dist/esm/chunks/chunk.LV7XF22P.js +7 -0
  97. package/dist/esm/chunks/chunk.LV7XF22P.js.map +7 -0
  98. package/dist/esm/chunks/{chunk.NR3MLTXF.js → chunk.MHU452GM.js} +2 -2
  99. package/dist/esm/chunks/chunk.MLTEGJH6.js +7 -0
  100. package/dist/esm/chunks/{chunk.N43BCJHN.js → chunk.MWWY5TX5.js} +2 -2
  101. package/dist/esm/chunks/chunk.NDJZYFRT.js +7 -0
  102. package/dist/esm/chunks/chunk.NDJZYFRT.js.map +7 -0
  103. package/dist/esm/chunks/chunk.O5GE3FFV.js +7 -0
  104. package/dist/esm/chunks/{chunk.VZWNNK7A.js.map → chunk.O5GE3FFV.js.map} +2 -2
  105. package/dist/esm/chunks/chunk.OQ75YGB6.js +7 -0
  106. package/dist/esm/chunks/{chunk.B4T3R53C.js.map → chunk.OQ75YGB6.js.map} +2 -2
  107. package/dist/esm/chunks/chunk.OQAD6MFL.js +7 -0
  108. package/dist/esm/chunks/chunk.OQAD6MFL.js.map +7 -0
  109. package/dist/esm/chunks/{chunk.COVTBIQQ.js → chunk.OXGOCF4L.js} +2 -2
  110. package/dist/esm/chunks/{chunk.BH2TUG2V.js → chunk.PCOOIP2H.js} +2 -2
  111. package/dist/esm/chunks/chunk.PDICDA2V.js +7 -0
  112. package/dist/esm/chunks/{chunk.VVXSELXX.js.map → chunk.PDICDA2V.js.map} +2 -2
  113. package/dist/esm/chunks/{chunk.CWTV3TB3.js → chunk.PDSOXEMY.js} +2 -2
  114. package/dist/esm/chunks/{chunk.OWCYRSI3.js → chunk.PLNLLKP2.js} +2 -2
  115. package/dist/esm/chunks/{chunk.MGLL67VO.js → chunk.Q7BWJCT5.js} +2 -2
  116. package/dist/esm/chunks/chunk.QNVVUUNQ.js +7 -0
  117. package/dist/esm/chunks/chunk.QNVVUUNQ.js.map +7 -0
  118. package/dist/esm/chunks/chunk.R2KOYHIZ.js +7 -0
  119. package/dist/esm/chunks/chunk.R2KOYHIZ.js.map +7 -0
  120. package/dist/esm/chunks/{chunk.XI3MJSIS.js → chunk.R6NA7SV2.js} +2 -2
  121. package/dist/esm/chunks/{chunk.6OW6Q3EW.js → chunk.RBFGJH3C.js} +2 -2
  122. package/dist/esm/chunks/{chunk.JLLHDJSO.js → chunk.RNUGVHZF.js} +2 -2
  123. package/dist/esm/chunks/{chunk.ULY4H76N.js → chunk.RWUJGZ3R.js} +2 -2
  124. package/dist/esm/chunks/{chunk.5MZ5SGMO.js → chunk.RXLORASN.js} +2 -2
  125. package/dist/esm/chunks/chunk.SEWAMWO6.js +7 -0
  126. package/dist/esm/chunks/chunk.SEWAMWO6.js.map +7 -0
  127. package/dist/esm/chunks/chunk.TCFKFKZW.js +7 -0
  128. package/dist/esm/chunks/chunk.TCFKFKZW.js.map +7 -0
  129. package/dist/esm/chunks/{chunk.VSQOTSAO.js → chunk.TGVLYX5F.js} +2 -2
  130. package/dist/esm/chunks/{chunk.TYLOAD7R.js → chunk.TSH7BTC3.js} +2 -2
  131. package/dist/esm/chunks/{chunk.BY25RT52.js → chunk.U5XNDTSZ.js} +2 -2
  132. package/dist/esm/chunks/chunk.UAKQY7QB.js +7 -0
  133. package/dist/esm/chunks/chunk.UAKQY7QB.js.map +7 -0
  134. package/dist/esm/chunks/{chunk.SFCGOCQK.js → chunk.UAVC4YLD.js} +2 -2
  135. package/dist/esm/chunks/{chunk.SJJS4LYN.js → chunk.URFSXQKR.js} +2 -2
  136. package/dist/esm/chunks/{chunk.4ZKX3SO5.js → chunk.UVJFHSMF.js} +2 -2
  137. package/dist/esm/chunks/chunk.UZPZ6KUN.js +7 -0
  138. package/dist/esm/chunks/chunk.UZPZ6KUN.js.map +7 -0
  139. package/dist/esm/chunks/{chunk.YRMR7IOS.js → chunk.V6443MP3.js} +2 -2
  140. package/dist/esm/chunks/chunk.V6443MP3.js.map +7 -0
  141. package/dist/esm/chunks/chunk.VAAID3SH.js +7 -0
  142. package/dist/esm/chunks/chunk.VAAID3SH.js.map +7 -0
  143. package/dist/esm/chunks/chunk.VDGJ4UDL.js +7 -0
  144. package/dist/esm/chunks/chunk.VDGJ4UDL.js.map +7 -0
  145. package/dist/esm/chunks/{chunk.KJP2VA6Q.js → chunk.VPNDAKM3.js} +2 -2
  146. package/dist/esm/chunks/{chunk.KJP2VA6Q.js.map → chunk.VPNDAKM3.js.map} +2 -2
  147. package/dist/esm/chunks/{chunk.DG4ZM3AW.js → chunk.W7H2ZYNR.js} +2 -2
  148. package/dist/esm/chunks/chunk.WCTSXMGU.js +7 -0
  149. package/dist/esm/chunks/chunk.WCTSXMGU.js.map +7 -0
  150. package/dist/esm/chunks/{chunk.FCATJM34.js → chunk.WJXDDQUK.js} +2 -2
  151. package/dist/esm/chunks/{chunk.SU4FU7GK.js → chunk.WK2L7BPJ.js} +2 -2
  152. package/dist/esm/chunks/{chunk.ZKGSQQGU.js → chunk.WOMYKBUG.js} +2 -2
  153. package/dist/esm/chunks/chunk.WOMYKBUG.js.map +7 -0
  154. package/dist/esm/chunks/{chunk.MACPUZC2.js → chunk.WVGIT7F7.js} +2 -2
  155. package/dist/esm/chunks/{chunk.MACPUZC2.js.map → chunk.WVGIT7F7.js.map} +2 -2
  156. package/dist/esm/chunks/{chunk.LTT67HTW.js → chunk.WWTQAN4G.js} +2 -2
  157. package/dist/esm/chunks/chunk.YA3RDJCV.js +7 -0
  158. package/dist/esm/chunks/chunk.YA3RDJCV.js.map +7 -0
  159. package/dist/esm/chunks/{chunk.6OUJSOJY.js → chunk.YIFI5D2X.js} +2 -2
  160. package/dist/esm/chunks/{chunk.6OUJSOJY.js.map → chunk.YIFI5D2X.js.map} +2 -2
  161. package/dist/esm/chunks/chunk.YOXZOPAC.js +7 -0
  162. package/dist/esm/chunks/chunk.YOXZOPAC.js.map +7 -0
  163. package/dist/esm/chunks/{chunk.CDGZYUQS.js → chunk.YP2NHWIW.js} +2 -2
  164. package/dist/esm/chunks/chunk.YPA27RX7.js +7 -0
  165. package/dist/esm/chunks/chunk.YXXKPT6P.js +7 -0
  166. package/dist/esm/chunks/{chunk.PEBT47AU.js.map → chunk.YXXKPT6P.js.map} +2 -2
  167. package/dist/esm/chunks/{chunk.2EWV2XBP.js → chunk.Z6AFASMO.js} +2 -2
  168. package/dist/esm/chunks/{chunk.6GC5AJPE.js → chunk.ZMUDT5UK.js} +2 -2
  169. package/dist/esm/chunks/{chunk.6GC5AJPE.js.map → chunk.ZMUDT5UK.js.map} +2 -2
  170. package/dist/esm/chunks/{chunk.ZJC2DSNM.js → chunk.ZREXLSAJ.js} +2 -2
  171. package/dist/esm/chunks/chunk.ZYVXIP42.js +7 -0
  172. package/dist/esm/chunks/{chunk.SBYX7VZ4.js.map → chunk.ZYVXIP42.js.map} +2 -2
  173. package/dist/esm/circular-progress/index.js +1 -1
  174. package/dist/esm/color-picker/index.js +1 -1
  175. package/dist/esm/core/base/index.js +1 -1
  176. package/dist/esm/core/index.js +1 -1
  177. package/dist/esm/core/utils/index.js +1 -1
  178. package/dist/esm/date-picker/index.js +1 -1
  179. package/dist/esm/date-range-picker/index.js +1 -1
  180. package/dist/esm/dialog/index.js +1 -1
  181. package/dist/esm/divider/index.js +1 -1
  182. package/dist/esm/drawer/base/index.js +1 -1
  183. package/dist/esm/drawer/drawer/index.js +1 -1
  184. package/dist/esm/drawer/index.js +1 -1
  185. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  186. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  187. package/dist/esm/expansion-panel/index.js +1 -1
  188. package/dist/esm/file-picker/index.js +1 -1
  189. package/dist/esm/floating-action-button/index.js +1 -1
  190. package/dist/esm/floating-label/index.js +1 -1
  191. package/dist/esm/focus-indicator/index.js +1 -1
  192. package/dist/esm/icon/index.js +1 -1
  193. package/dist/esm/icon-button/index.js +1 -1
  194. package/dist/esm/index.js +1 -1
  195. package/dist/esm/inline-message/index.js +1 -1
  196. package/dist/esm/keyboard-shortcut/index.js +1 -1
  197. package/dist/esm/label-value/index.js +1 -1
  198. package/dist/esm/linear-progress/index.js +1 -1
  199. package/dist/esm/list/index.js +1 -1
  200. package/dist/esm/list/list/index.js +1 -1
  201. package/dist/esm/list/list-item/index.js +1 -1
  202. package/dist/esm/list-dropdown/index.js +1 -1
  203. package/dist/esm/menu/index.js +1 -1
  204. package/dist/esm/open-icon/index.js +1 -1
  205. package/dist/esm/page-state/index.js +1 -1
  206. package/dist/esm/paginator/index.js +1 -1
  207. package/dist/esm/popup/index.js +1 -1
  208. package/dist/esm/product-icon/index.js +1 -1
  209. package/dist/esm/profile-card/index.js +1 -1
  210. package/dist/esm/quantity-field/index.js +1 -1
  211. package/dist/esm/radio/index.js +1 -1
  212. package/dist/esm/ripple/index.js +1 -1
  213. package/dist/esm/scaffold/index.js +1 -1
  214. package/dist/esm/select/core/index.js +1 -1
  215. package/dist/esm/select/index.js +1 -1
  216. package/dist/esm/select/option/index.js +1 -1
  217. package/dist/esm/select/option-group/index.js +1 -1
  218. package/dist/esm/select/select/index.js +1 -1
  219. package/dist/esm/select/select-dropdown/index.js +1 -1
  220. package/dist/esm/skeleton/index.js +1 -1
  221. package/dist/esm/slider/index.js +1 -1
  222. package/dist/esm/split-view/index.js +1 -1
  223. package/dist/esm/split-view/split-view/index.js +1 -1
  224. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  225. package/dist/esm/stack/index.js +1 -1
  226. package/dist/esm/state-layer/index.js +1 -1
  227. package/dist/esm/stepper/index.js +1 -1
  228. package/dist/esm/stepper/step/index.js +1 -1
  229. package/dist/esm/stepper/stepper/index.js +1 -1
  230. package/dist/esm/switch/index.js +1 -1
  231. package/dist/esm/table/index.js +1 -1
  232. package/dist/esm/tabs/index.js +1 -1
  233. package/dist/esm/tabs/tab/index.js +1 -1
  234. package/dist/esm/tabs/tab-bar/index.js +1 -1
  235. package/dist/esm/text-field/index.js +1 -1
  236. package/dist/esm/time-picker/index.js +1 -1
  237. package/dist/esm/toast/index.js +1 -1
  238. package/dist/esm/toolbar/index.js +1 -1
  239. package/dist/esm/tooltip/index.js +1 -1
  240. package/dist/esm/view-switcher/index.js +1 -1
  241. package/dist/esm/view-switcher/view/index.js +1 -1
  242. package/dist/forge-dark.css +1 -1
  243. package/dist/forge.css +1 -1
  244. package/dist/theme/forge-theme.css +1 -1
  245. package/dist/typography/forge-typography-legacy.css +1 -1
  246. package/dist/typography/forge-typography.css +1 -1
  247. package/esm/autocomplete/autocomplete-constants.d.ts +3 -0
  248. package/esm/autocomplete/autocomplete-foundation.d.ts +3 -1
  249. package/esm/autocomplete/autocomplete-foundation.js +14 -0
  250. package/esm/autocomplete/autocomplete.d.ts +7 -1
  251. package/esm/autocomplete/autocomplete.js +7 -0
  252. package/esm/banner/banner.js +1 -1
  253. package/esm/button-area/button-area-adapter.d.ts +48 -0
  254. package/esm/button-area/button-area-adapter.js +121 -0
  255. package/esm/button-area/button-area-constants.d.ts +24 -0
  256. package/esm/button-area/button-area-constants.js +30 -0
  257. package/esm/button-area/button-area-foundation.d.ts +29 -0
  258. package/esm/button-area/button-area-foundation.js +94 -0
  259. package/esm/button-area/button-area.d.ts +29 -0
  260. package/esm/button-area/button-area.js +55 -0
  261. package/esm/button-area/index.d.ts +10 -0
  262. package/esm/button-area/index.js +14 -0
  263. package/esm/calendar/calendar-foundation.js +6 -0
  264. package/esm/calendar/calendar-menu/calendar-menu.js +1 -1
  265. package/esm/chip-field/chip-field-adapter.js +1 -1
  266. package/esm/chip-field/chip-field.js +2 -2
  267. package/esm/circular-progress/circular-progress.js +1 -1
  268. package/esm/core/base/base-adapter.d.ts +5 -2
  269. package/esm/core/base/base-adapter.js +13 -2
  270. package/esm/core/base/base-component.d.ts +37 -0
  271. package/esm/core/base/base-component.js +3 -0
  272. package/esm/core/keyboard/key-manager.d.ts +18 -0
  273. package/esm/core/keyboard/key-manager.js +47 -0
  274. package/esm/core/utils/a11y-utils.d.ts +32 -0
  275. package/esm/core/utils/a11y-utils.js +111 -0
  276. package/esm/core/utils/index.d.ts +1 -0
  277. package/esm/core/utils/index.js +1 -0
  278. package/esm/core/utils/utils.d.ts +8 -0
  279. package/esm/core/utils/utils.js +15 -0
  280. package/esm/date-picker/base/base-date-picker-foundation.js +1 -1
  281. package/esm/date-range-picker/date-range-picker-foundation.js +2 -2
  282. package/esm/drawer/drawer/drawer.js +1 -1
  283. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  284. package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
  285. package/esm/expansion-panel/expansion-panel-adapter.d.ts +1 -0
  286. package/esm/expansion-panel/expansion-panel-adapter.js +7 -2
  287. package/esm/expansion-panel/expansion-panel.js +1 -1
  288. package/esm/field/field-foundation.d.ts +1 -0
  289. package/esm/field/field-foundation.js +17 -7
  290. package/esm/floating-label/floating-label-foundation.d.ts +4 -1
  291. package/esm/floating-label/floating-label-foundation.js +9 -6
  292. package/esm/floating-label/floating-label.d.ts +6 -2
  293. package/esm/floating-label/floating-label.js +2 -2
  294. package/esm/focus-indicator/focus-indicator-foundation.js +1 -1
  295. package/esm/focus-indicator/focus-indicator.js +1 -1
  296. package/esm/icon/icon-adapter.d.ts +0 -2
  297. package/esm/icon/icon-adapter.js +4 -5
  298. package/esm/icon/icon-foundation.js +0 -1
  299. package/esm/index.d.ts +1 -0
  300. package/esm/index.js +4 -1
  301. package/esm/keyboard-shortcut/keyboard-shortcut-constants.d.ts +1 -0
  302. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +6 -0
  303. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +9 -0
  304. package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +4 -0
  305. package/esm/keyboard-shortcut/keyboard-shortcut.js +3 -0
  306. package/esm/linear-progress/linear-progress.js +1 -1
  307. package/esm/list/list/list-adapter.d.ts +17 -41
  308. package/esm/list/list/list-adapter.js +43 -60
  309. package/esm/list/list/list-constants.d.ts +13 -5
  310. package/esm/list/list/list-constants.js +15 -7
  311. package/esm/list/list/list-foundation.d.ts +24 -16
  312. package/esm/list/list/list-foundation.js +84 -75
  313. package/esm/list/list/list.d.ts +47 -8
  314. package/esm/list/list/list.js +83 -11
  315. package/esm/list/list-item/list-item-adapter.d.ts +31 -90
  316. package/esm/list/list-item/list-item-adapter.js +124 -135
  317. package/esm/list/list-item/list-item-constants.d.ts +27 -27
  318. package/esm/list/list-item/list-item-constants.js +17 -32
  319. package/esm/list/list-item/list-item-foundation.d.ts +32 -56
  320. package/esm/list/list-item/list-item-foundation.js +111 -206
  321. package/esm/list/list-item/list-item.d.ts +109 -37
  322. package/esm/list/list-item/list-item.js +152 -88
  323. package/esm/list-dropdown/list-dropdown-adapter.js +1 -6
  324. package/esm/list-dropdown/list-dropdown-constants.d.ts +4 -0
  325. package/esm/list-dropdown/list-dropdown-utils.js +23 -24
  326. package/esm/paginator/paginator-adapter.d.ts +28 -24
  327. package/esm/paginator/paginator-adapter.js +55 -0
  328. package/esm/paginator/paginator-foundation.d.ts +33 -80
  329. package/esm/paginator/paginator-foundation.js +218 -255
  330. package/esm/paginator/paginator.d.ts +0 -2
  331. package/esm/paginator/paginator.js +0 -2
  332. package/esm/popup/popup-adapter.d.ts +3 -1
  333. package/esm/popup/popup-adapter.js +3 -0
  334. package/esm/popup/popup-foundation.js +5 -3
  335. package/esm/popup/popup.d.ts +4 -1
  336. package/esm/popup/popup.js +1 -1
  337. package/esm/select/core/base-select-adapter.js +3 -0
  338. package/esm/select/option/option-constants.d.ts +1 -0
  339. package/esm/select/option/option-constants.js +1 -0
  340. package/esm/select/option/option-foundation.d.ts +13 -0
  341. package/esm/select/option/option-foundation.js +28 -0
  342. package/esm/select/option/option.d.ts +7 -0
  343. package/esm/select/option/option.js +13 -0
  344. package/esm/slider/slider.js +2 -2
  345. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  346. package/esm/state-layer/state-layer.js +1 -1
  347. package/esm/switch/switch-adapter.d.ts +38 -0
  348. package/esm/switch/switch-adapter.js +69 -0
  349. package/esm/switch/switch-component-delegate.d.ts +2 -1
  350. package/esm/switch/switch-component-delegate.js +8 -8
  351. package/esm/switch/switch-constants.d.ts +14 -7
  352. package/esm/switch/switch-constants.js +17 -9
  353. package/esm/switch/switch-foundation.d.ts +46 -0
  354. package/esm/switch/switch-foundation.js +110 -0
  355. package/esm/switch/switch.d.ts +150 -33
  356. package/esm/switch/switch.js +226 -142
  357. package/esm/tabs/tab/tab.js +2 -2
  358. package/esm/tabs/tab-bar/tab-bar.js +1 -1
  359. package/esm/time-picker/time-picker-foundation.js +3 -3
  360. package/package.json +1 -6
  361. package/styles/button-area/_mixins.scss +47 -0
  362. package/styles/button-area/button-area.scss +16 -0
  363. package/styles/calendar/calendar-menu/_mixins.scss +48 -2
  364. package/styles/chip-field/_base.scss +1 -0
  365. package/styles/chip-field/_selector.scss +2 -2
  366. package/styles/core/styles/_utils.scss +85 -11
  367. package/styles/core/styles/scrollbar/index.scss +45 -0
  368. package/styles/core/styles/spacing/index.scss +1 -1
  369. package/styles/core/styles/theme/_color-utils.scss +63 -0
  370. package/styles/core/styles/theme/_utils.scss +82 -0
  371. package/styles/core/styles/theme/index.scss +39 -13
  372. package/styles/core/styles/tokens/circular-progress/_tokens.scss +1 -1
  373. package/styles/core/styles/tokens/color-palette/_extended-color-palette.scss +88 -0
  374. package/styles/core/styles/tokens/color-palette/index.scss +7 -0
  375. package/styles/core/styles/tokens/focus-indicator/_tokens.scss +2 -2
  376. package/styles/core/styles/tokens/linear-progress/_tokens.scss +1 -1
  377. package/styles/core/styles/tokens/list/list/_tokens.scss +16 -0
  378. package/styles/core/styles/tokens/list/list-item/_tokens.scss +77 -0
  379. package/styles/core/styles/tokens/scrollbar/_tokens.scss +26 -0
  380. package/styles/core/styles/tokens/slider/_tokens.scss +9 -11
  381. package/styles/core/styles/tokens/spacing/_tokens.scss +10 -10
  382. package/styles/core/styles/tokens/state-layer/_tokens.scss +5 -5
  383. package/styles/core/styles/tokens/switch/_tokens.scss +108 -0
  384. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +3 -1
  385. package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +1 -1
  386. package/styles/core/styles/tokens/theme/_color-emphasis.scss +38 -0
  387. package/styles/core/styles/tokens/theme/_token-utils.scss +46 -0
  388. package/styles/core/styles/tokens/theme/_tokens.core.scss +45 -0
  389. package/styles/core/styles/tokens/theme/_tokens.scss +62 -117
  390. package/styles/core/styles/tokens/theme/_tokens.status.scss +49 -0
  391. package/styles/core/styles/tokens/theme/_tokens.surface.scss +65 -0
  392. package/styles/core/styles/tokens/theme/_tokens.text.scss +38 -0
  393. package/styles/core/styles/tokens/theme/_tokens.utilities.scss +30 -0
  394. package/styles/core/styles/tokens/typography/_scale.scss +39 -0
  395. package/styles/core/styles/tokens/typography/_tokens.body.scss +41 -0
  396. package/styles/core/styles/tokens/typography/_tokens.core.scss +31 -0
  397. package/styles/core/styles/tokens/typography/_tokens.display.scss +67 -0
  398. package/styles/core/styles/tokens/typography/_tokens.heading.scss +70 -0
  399. package/styles/core/styles/tokens/typography/_tokens.label.scss +37 -0
  400. package/styles/core/styles/tokens/typography/_tokens.scss +16 -211
  401. package/styles/core/styles/tokens/typography/_tokens.subheading.scss +66 -0
  402. package/styles/core/styles/tokens/typography/_type-utils.scss +37 -0
  403. package/styles/core/styles/tokens/typography/_weight.scss +20 -0
  404. package/styles/core/styles/typography/index.scss +31 -6
  405. package/styles/list/list/_configuration.scss +12 -0
  406. package/styles/list/list/_core.scss +21 -0
  407. package/styles/list/list/index.scss +7 -0
  408. package/styles/list/list/list.scss +19 -4
  409. package/styles/list/list-item/_configuration.scss +72 -0
  410. package/styles/list/list-item/_core.scss +200 -0
  411. package/styles/list/list-item/index.scss +7 -0
  412. package/styles/list/list-item/list-item.scss +193 -13
  413. package/styles/slider/_core.scss +2 -8
  414. package/styles/slider/slider.scss +2 -2
  415. package/styles/switch/_configuration.scss +95 -0
  416. package/styles/switch/_core.scss +255 -0
  417. package/styles/switch/index.scss +7 -0
  418. package/styles/switch/switch.scss +136 -50
  419. package/styles/tabs/tab/_configuration.scss +5 -0
  420. package/styles/tabs/tab/_core.scss +7 -7
  421. package/styles/tabs/tab/tab.scss +3 -2
  422. package/styles/theme/_theme-dark.scss +0 -2
  423. package/styles/theme/_theme.scss +3 -45
  424. package/styles/theme/forge-theme.scss +21 -3
  425. package/styles/typography/_mixins.scss +0 -20
  426. package/dist/esm/chunks/chunk.2AJ7FFI6.js +0 -7
  427. package/dist/esm/chunks/chunk.2AJ7FFI6.js.map +0 -7
  428. package/dist/esm/chunks/chunk.3HB22HCX.js +0 -7
  429. package/dist/esm/chunks/chunk.4C6KHYUO.js +0 -7
  430. package/dist/esm/chunks/chunk.54OOOQ4R.js +0 -7
  431. package/dist/esm/chunks/chunk.54OOOQ4R.js.map +0 -7
  432. package/dist/esm/chunks/chunk.7CGKFRBK.js +0 -7
  433. package/dist/esm/chunks/chunk.7CGKFRBK.js.map +0 -7
  434. package/dist/esm/chunks/chunk.7DB3XVPI.js +0 -7
  435. package/dist/esm/chunks/chunk.ALIYGJXA.js +0 -129
  436. package/dist/esm/chunks/chunk.ALIYGJXA.js.map +0 -7
  437. package/dist/esm/chunks/chunk.B4T3R53C.js +0 -7
  438. package/dist/esm/chunks/chunk.BKL2BAYW.js +0 -7
  439. package/dist/esm/chunks/chunk.BKL2BAYW.js.map +0 -7
  440. package/dist/esm/chunks/chunk.CXY6K7EI.js +0 -7
  441. package/dist/esm/chunks/chunk.CXY6K7EI.js.map +0 -7
  442. package/dist/esm/chunks/chunk.DBNJHUYY.js +0 -7
  443. package/dist/esm/chunks/chunk.DBNJHUYY.js.map +0 -7
  444. package/dist/esm/chunks/chunk.DMCBAYQX.js +0 -7
  445. package/dist/esm/chunks/chunk.DMCBAYQX.js.map +0 -7
  446. package/dist/esm/chunks/chunk.F4VXEE76.js +0 -7
  447. package/dist/esm/chunks/chunk.F4VXEE76.js.map +0 -7
  448. package/dist/esm/chunks/chunk.F74YURLV.js +0 -7
  449. package/dist/esm/chunks/chunk.FG2GNAM2.js +0 -7
  450. package/dist/esm/chunks/chunk.FG2GNAM2.js.map +0 -7
  451. package/dist/esm/chunks/chunk.GNG64TXK.js +0 -7
  452. package/dist/esm/chunks/chunk.GNG64TXK.js.map +0 -7
  453. package/dist/esm/chunks/chunk.HHCO64F3.js +0 -7
  454. package/dist/esm/chunks/chunk.HHCO64F3.js.map +0 -7
  455. package/dist/esm/chunks/chunk.ISC7SZSP.js +0 -7
  456. package/dist/esm/chunks/chunk.ISC7SZSP.js.map +0 -7
  457. package/dist/esm/chunks/chunk.IX25DYIM.js +0 -7
  458. package/dist/esm/chunks/chunk.IX25DYIM.js.map +0 -7
  459. package/dist/esm/chunks/chunk.MVTBJPO2.js +0 -7
  460. package/dist/esm/chunks/chunk.P2CW5MQO.js +0 -12
  461. package/dist/esm/chunks/chunk.P2CW5MQO.js.map +0 -7
  462. package/dist/esm/chunks/chunk.PEBT47AU.js +0 -7
  463. package/dist/esm/chunks/chunk.PH3HUFJJ.js +0 -7
  464. package/dist/esm/chunks/chunk.PH3HUFJJ.js.map +0 -7
  465. package/dist/esm/chunks/chunk.Q7JUJNYD.js +0 -7
  466. package/dist/esm/chunks/chunk.QCRRHGBA.js +0 -7
  467. package/dist/esm/chunks/chunk.QCRRHGBA.js.map +0 -7
  468. package/dist/esm/chunks/chunk.SBYX7VZ4.js +0 -7
  469. package/dist/esm/chunks/chunk.VVXSELXX.js +0 -7
  470. package/dist/esm/chunks/chunk.VZWNNK7A.js +0 -7
  471. package/dist/esm/chunks/chunk.X3C3J5MH.js +0 -7
  472. package/dist/esm/chunks/chunk.X3C3J5MH.js.map +0 -7
  473. package/dist/esm/chunks/chunk.XGOAYMK2.js +0 -7
  474. package/dist/esm/chunks/chunk.XGOAYMK2.js.map +0 -7
  475. package/dist/esm/chunks/chunk.YRMR7IOS.js.map +0 -7
  476. package/dist/esm/chunks/chunk.YX7WLO5Y.js +0 -7
  477. package/dist/esm/chunks/chunk.YZLASVCK.js +0 -177
  478. package/dist/esm/chunks/chunk.YZLASVCK.js.map +0 -7
  479. package/dist/esm/chunks/chunk.ZDD2NLGP.js +0 -7
  480. package/dist/esm/chunks/chunk.ZKGSQQGU.js.map +0 -7
  481. package/dist/esm/chunks/chunk.ZVBZ3LGP.js +0 -7
  482. package/dist/esm/chunks/chunk.ZVBZ3LGP.js.map +0 -7
  483. package/styles/list/list/_mixins.scss +0 -45
  484. package/styles/list/list-item/_mixins.scss +0 -413
  485. package/styles/list/list-item/_variables.scss +0 -43
  486. package/styles/switch/_switch-mixins.scss +0 -301
  487. package/styles/switch/_switch-theme.scss +0 -701
  488. /package/dist/esm/chunks/{chunk.Q7JUJNYD.js.map → chunk.2LIWNFQK.js.map} +0 -0
  489. /package/dist/esm/chunks/{chunk.FWFOOQMA.js.map → chunk.2WSXSOYB.js.map} +0 -0
  490. /package/dist/esm/chunks/{chunk.YWNCJ7XP.js.map → chunk.37JFBP4X.js.map} +0 -0
  491. /package/dist/esm/chunks/{chunk.D5TAI6Q7.js.map → chunk.3X4N4ZPY.js.map} +0 -0
  492. /package/dist/esm/chunks/{chunk.LK4AAUOP.js.map → chunk.436MTO6R.js.map} +0 -0
  493. /package/dist/esm/chunks/{chunk.EK24Y56W.js.map → chunk.4JF54GDJ.js.map} +0 -0
  494. /package/dist/esm/chunks/{chunk.SMGXXR6K.js.map → chunk.4USQ2AP6.js.map} +0 -0
  495. /package/dist/esm/chunks/{chunk.MHBBMC6O.js.map → chunk.4XJYS5WH.js.map} +0 -0
  496. /package/dist/esm/chunks/{chunk.624UKZFU.js.map → chunk.66X366TV.js.map} +0 -0
  497. /package/dist/esm/chunks/{chunk.ZDD2NLGP.js.map → chunk.7L66GZDN.js.map} +0 -0
  498. /package/dist/esm/chunks/{chunk.4YFVG4KP.js.map → chunk.7M4HRJYP.js.map} +0 -0
  499. /package/dist/esm/chunks/{chunk.CKW7KKDW.js.map → chunk.7PPBXNAD.js.map} +0 -0
  500. /package/dist/esm/chunks/{chunk.A62DE5PD.js.map → chunk.7UJAI6P2.js.map} +0 -0
  501. /package/dist/esm/chunks/{chunk.UJ2WQOLO.js.map → chunk.A3ZDCBLA.js.map} +0 -0
  502. /package/dist/esm/chunks/{chunk.2QHD3DCR.js.map → chunk.AHAARGYM.js.map} +0 -0
  503. /package/dist/esm/chunks/{chunk.Q7Z3SJ5F.js.map → chunk.AY43NTAK.js.map} +0 -0
  504. /package/dist/esm/chunks/{chunk.K3KAM2PL.js.map → chunk.C5ZUGOOC.js.map} +0 -0
  505. /package/dist/esm/chunks/{chunk.QOJESHEV.js.map → chunk.C7VEJINB.js.map} +0 -0
  506. /package/dist/esm/chunks/{chunk.YLG6ZC5K.js.map → chunk.CBIHNCT5.js.map} +0 -0
  507. /package/dist/esm/chunks/{chunk.JIKSKUDW.js.map → chunk.CLD75EBJ.js.map} +0 -0
  508. /package/dist/esm/chunks/{chunk.TK5I4RHF.js.map → chunk.CQQSOTZ5.js.map} +0 -0
  509. /package/dist/esm/chunks/{chunk.XKI46BH2.js.map → chunk.DABGA7I6.js.map} +0 -0
  510. /package/dist/esm/chunks/{chunk.MTKSU2BV.js.map → chunk.DH76CMUT.js.map} +0 -0
  511. /package/dist/esm/chunks/{chunk.MXEKIEJA.js.map → chunk.DLQSINSS.js.map} +0 -0
  512. /package/dist/esm/chunks/{chunk.W4247Q2P.js.map → chunk.DQVYB55P.js.map} +0 -0
  513. /package/dist/esm/chunks/{chunk.WPG7NNQX.js.map → chunk.EY37FYZ4.js.map} +0 -0
  514. /package/dist/esm/chunks/{chunk.LXPFG7MW.js.map → chunk.GWIXDVIA.js.map} +0 -0
  515. /package/dist/esm/chunks/{chunk.Z6FCL3G3.js.map → chunk.HBCDD25D.js.map} +0 -0
  516. /package/dist/esm/chunks/{chunk.M56LSSPW.js.map → chunk.HDO3WRH7.js.map} +0 -0
  517. /package/dist/esm/chunks/{chunk.DXN7ZOH3.js.map → chunk.HGH6SSHZ.js.map} +0 -0
  518. /package/dist/esm/chunks/{chunk.LFODKHUO.js.map → chunk.HKSXC5VK.js.map} +0 -0
  519. /package/dist/esm/chunks/{chunk.S3JMOOWC.js.map → chunk.IJ2I25V3.js.map} +0 -0
  520. /package/dist/esm/chunks/{chunk.JUJGROHA.js.map → chunk.IURDWGLD.js.map} +0 -0
  521. /package/dist/esm/chunks/{chunk.F5SY2D4B.js.map → chunk.JCO4M4PF.js.map} +0 -0
  522. /package/dist/esm/chunks/{chunk.5565ZSTH.js.map → chunk.LNLO36U6.js.map} +0 -0
  523. /package/dist/esm/chunks/{chunk.NR3MLTXF.js.map → chunk.MHU452GM.js.map} +0 -0
  524. /package/dist/esm/chunks/{chunk.4C6KHYUO.js.map → chunk.MLTEGJH6.js.map} +0 -0
  525. /package/dist/esm/chunks/{chunk.N43BCJHN.js.map → chunk.MWWY5TX5.js.map} +0 -0
  526. /package/dist/esm/chunks/{chunk.COVTBIQQ.js.map → chunk.OXGOCF4L.js.map} +0 -0
  527. /package/dist/esm/chunks/{chunk.BH2TUG2V.js.map → chunk.PCOOIP2H.js.map} +0 -0
  528. /package/dist/esm/chunks/{chunk.CWTV3TB3.js.map → chunk.PDSOXEMY.js.map} +0 -0
  529. /package/dist/esm/chunks/{chunk.OWCYRSI3.js.map → chunk.PLNLLKP2.js.map} +0 -0
  530. /package/dist/esm/chunks/{chunk.MGLL67VO.js.map → chunk.Q7BWJCT5.js.map} +0 -0
  531. /package/dist/esm/chunks/{chunk.XI3MJSIS.js.map → chunk.R6NA7SV2.js.map} +0 -0
  532. /package/dist/esm/chunks/{chunk.6OW6Q3EW.js.map → chunk.RBFGJH3C.js.map} +0 -0
  533. /package/dist/esm/chunks/{chunk.JLLHDJSO.js.map → chunk.RNUGVHZF.js.map} +0 -0
  534. /package/dist/esm/chunks/{chunk.ULY4H76N.js.map → chunk.RWUJGZ3R.js.map} +0 -0
  535. /package/dist/esm/chunks/{chunk.5MZ5SGMO.js.map → chunk.RXLORASN.js.map} +0 -0
  536. /package/dist/esm/chunks/{chunk.VSQOTSAO.js.map → chunk.TGVLYX5F.js.map} +0 -0
  537. /package/dist/esm/chunks/{chunk.TYLOAD7R.js.map → chunk.TSH7BTC3.js.map} +0 -0
  538. /package/dist/esm/chunks/{chunk.BY25RT52.js.map → chunk.U5XNDTSZ.js.map} +0 -0
  539. /package/dist/esm/chunks/{chunk.SFCGOCQK.js.map → chunk.UAVC4YLD.js.map} +0 -0
  540. /package/dist/esm/chunks/{chunk.SJJS4LYN.js.map → chunk.URFSXQKR.js.map} +0 -0
  541. /package/dist/esm/chunks/{chunk.4ZKX3SO5.js.map → chunk.UVJFHSMF.js.map} +0 -0
  542. /package/dist/esm/chunks/{chunk.DG4ZM3AW.js.map → chunk.W7H2ZYNR.js.map} +0 -0
  543. /package/dist/esm/chunks/{chunk.FCATJM34.js.map → chunk.WJXDDQUK.js.map} +0 -0
  544. /package/dist/esm/chunks/{chunk.SU4FU7GK.js.map → chunk.WK2L7BPJ.js.map} +0 -0
  545. /package/dist/esm/chunks/{chunk.LTT67HTW.js.map → chunk.WWTQAN4G.js.map} +0 -0
  546. /package/dist/esm/chunks/{chunk.CDGZYUQS.js.map → chunk.YP2NHWIW.js.map} +0 -0
  547. /package/dist/esm/chunks/{chunk.3HB22HCX.js.map → chunk.YPA27RX7.js.map} +0 -0
  548. /package/dist/esm/chunks/{chunk.2EWV2XBP.js.map → chunk.Z6AFASMO.js.map} +0 -0
  549. /package/dist/esm/chunks/{chunk.ZJC2DSNM.js.map → chunk.ZREXLSAJ.js.map} +0 -0
  550. /package/styles/core/styles/tokens/{_color-palette.scss → color-palette/_material-color-palette.scss} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/list/list/list-constants.ts", "../../src/list/list-item/list-item-constants.ts", "../../src/list/list-item/list-item-adapter.ts", "../../src/list/list-item/list-item-foundation.ts", "../../src/list/list-item/list-item.ts", "../../src/list/list-item/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}list`;\n\nconst attributes = {\n STATIC: 'static',\n DENSE: 'dense',\n PROPAGATE_CLICK: 'propagate-click',\n INDENTED: 'indented',\n SELECTED_VALUE: 'selected-value'\n};\n\nconst selectors = {\n FOCUSABLE_LIST_ITEMS: '.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled)'\n};\n\nexport const LIST_CONSTANTS = {\n elementName,\n attributes,\n selectors\n};\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\nimport { IListItemComponent } from './list-item';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}list-item`;\n\nconst attributes = {\n STATIC: 'static',\n TWO_LINE: 'two-line',\n THREE_LINE: 'three-line',\n ACTIVE: 'active',\n SELECTED: 'selected',\n VALUE: 'value',\n HREF: 'href',\n TARGET: 'target',\n RIPPLE: 'ripple',\n DISABLED: 'disabled',\n DENSE: 'dense',\n PROPAGATE_CLICK: 'propagate-click',\n INDENTED: 'indented',\n WRAP: 'wrap',\n DRAWER_CONTEXT: 'forge-drawer-context',\n IGNORE: 'forge-ignore'\n};\n\nconst classes = {\n LIST_ITEM: 'forge-list-item',\n STATIC: 'forge-list-item--static',\n TEXT: 'forge-list-item__text',\n TWO_LINE: 'forge-list-item--two-line',\n THREE_LINE: 'forge-list-item--three-line',\n ACTIVE: 'forge-list-item--active',\n ACTIVATED: 'forge-list-item--activated',\n SELECTED: 'forge-list-item--selected',\n DISABLED: 'forge-list-item--disabled',\n DENSE: 'forge-list-item--dense',\n INDENTED: 'forge-list-item--indented',\n WRAP: 'forge-list-item--wrap'\n};\n\nconst selectors = {\n LIST_ITEM: `.${classes.LIST_ITEM}`,\n DEFAULT_SLOT: `.${classes.TEXT} > slot`,\n CHECKBOX_RADIO_SELECTOR: 'input[type=checkbox]:not(:disabled):not([forge-ignore]),input[type=radio]:not(:disabled):not([forge-ignore])'\n};\n\nconst events = {\n SELECT: `${elementName}-select`\n};\n\nconst roles = {\n LINK: 'link',\n LIST_ITEM: 'listitem'\n};\n\nexport const LIST_ITEM_CONSTANTS = {\n elementName,\n attributes,\n classes,\n selectors,\n events,\n roles\n};\n\nexport interface IListItemSelectEventData {\n value: any;\n listItem: IListItemComponent;\n}\n", "import { addClass, getShadowElement, removeClass, requireParent, isDeepEqual, toggleClass } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { createUserInteractionListener } from '../../core/utils';\nimport { IListComponent } from '../list/list';\nimport { LIST_CONSTANTS } from '../list/list-constants';\nimport { IListItemComponent } from './list-item';\nimport { LIST_ITEM_CONSTANTS } from './list-item-constants';\nimport { ForgeRipple } from '../../ripple';\n\nexport interface IListItemAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n getListItem(): IListItemComponent;\n addListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void;\n removeListener(type: string, listener: (evt: Event) => void): void;\n createRipple(): any;\n setStatic(value: boolean): void;\n setTwoLine(value: boolean): void;\n setThreeLine(value: boolean): void;\n getLineCount(): number;\n setActive(value: boolean): void;\n setSelected(value: boolean): void;\n tryToggleCheckboxRadio(value?: boolean): void;\n setFocus(): void;\n hasFocus(): boolean;\n setRole(role: string): void;\n setDisabled(disabled: boolean): void;\n setDense(dense: boolean): void;\n setIndented(indented: boolean): void;\n setWrap(value: boolean): void;\n trySelect(value: unknown): boolean | null;\n userInteractionListener(): ReturnType<typeof createUserInteractionListener>;\n}\n\nexport class ListItemAdapter extends BaseAdapter<IListItemComponent> implements IListItemAdapter {\n private _listItemElement: HTMLElement;\n private _defaultSlot: HTMLSlotElement;\n\n constructor(component: IListItemComponent) {\n super(component);\n this._initialize();\n }\n\n private _initialize(): void {\n this._listItemElement = getShadowElement(this._component, LIST_ITEM_CONSTANTS.selectors.LIST_ITEM);\n this._defaultSlot = getShadowElement(this._component, LIST_ITEM_CONSTANTS.selectors.DEFAULT_SLOT) as HTMLSlotElement;\n }\n \n public initializeAccessibility(): void {\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'listitem');\n }\n }\n\n public getListItem(): IListItemComponent {\n return this._component;\n }\n\n /**\n * Adds an event listener to the `<forge-list-item>` host element.\n * @param {string} type The event type.\n * @param {Function} listener The event callback.\n */\n public addListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void {\n this._listItemElement.addEventListener(type, listener, options);\n }\n\n /**\n * Removes an event listener from the `<forge-list-item>` host element.\n * @param {string} type The event type.\n * @param {Function} listener The event callback.\n */\n public removeListener(type: string, listener: (evt: Event) => void): void {\n this._listItemElement.removeEventListener(type, listener);\n }\n\n /**\n * Creates a ripple instance on the list item.\n * @returns {ForgeRipple}\n */\n public createRipple(): any {\n return new ForgeRipple(this._listItemElement);\n }\n\n /**\n * Toggles the static state of this list item.\n * @param {boolean} value The static state.\n */\n public setStatic(value: boolean): void {\n if (value) {\n this._listItemElement.tabIndex = -1;\n addClass(LIST_ITEM_CONSTANTS.classes.STATIC, this._listItemElement);\n } else {\n this._listItemElement.tabIndex = 0;\n removeClass(LIST_ITEM_CONSTANTS.classes.STATIC, this._listItemElement);\n }\n }\n\n /**\n * Sets this list item as a two-line list item.\n * @param {boolean} value The two-line state.\n */\n public setTwoLine(value: boolean): void {\n if (value) {\n addClass(LIST_ITEM_CONSTANTS.classes.TWO_LINE, this._listItemElement);\n } else {\n removeClass(LIST_ITEM_CONSTANTS.classes.TWO_LINE, this._listItemElement);\n }\n }\n\n /**\n * Sets this list item as a three-line list item.\n * @param {boolean} value The three-line state.\n */\n public setThreeLine(value: boolean): void {\n if (value) {\n addClass(LIST_ITEM_CONSTANTS.classes.THREE_LINE, this._listItemElement);\n } else {\n removeClass(LIST_ITEM_CONSTANTS.classes.THREE_LINE, this._listItemElement);\n }\n }\n\n /**\n * Determines how many lines the list item is displaying.\n */\n public getLineCount(): number {\n return this._defaultSlot.assignedNodes().filter(e => e.nodeType === Node.ELEMENT_NODE).length; // assignedElements does not exist in the polyfilled version so filtering nodes instead\n }\n\n /**\n * Toggles the active class of the list item.\n * @param {boolean} value The active state.\n */\n public setActive(value: boolean): void {\n if (value) {\n addClass(LIST_ITEM_CONSTANTS.classes.ACTIVE, this._listItemElement);\n } else {\n removeClass(LIST_ITEM_CONSTANTS.classes.ACTIVE, this._listItemElement);\n }\n }\n\n /**\n * Toggles the selected class of the list item.\n * @param {boolean} value The active state.\n */\n public setSelected(value: boolean): void {\n if (value) {\n addClass(LIST_ITEM_CONSTANTS.classes.SELECTED, this._listItemElement);\n // We are treating selected and activated as the same state, and mdc-states hooks right into --activated\n // addClass(LIST_ITEM_CONSTANTS.classes.ACTIVATED, this._listItemElement);\n } else {\n removeClass(LIST_ITEM_CONSTANTS.classes.SELECTED, this._listItemElement);\n // removeClass(LIST_ITEM_CONSTANTS.classes.ACTIVATED, this._listItemElement);\n }\n }\n\n /**\n * Attemps to toggle a checkbox or radio button within the list item if it can find one.\n */\n public tryToggleCheckboxRadio(value?: boolean): void {\n const checkable = this._component.querySelector(LIST_ITEM_CONSTANTS.selectors.CHECKBOX_RADIO_SELECTOR) as HTMLInputElement;\n if (checkable) {\n const force = typeof value === 'boolean';\n const currentState = checkable.checked;\n \n // Check if we are just toggling or forcing to a specific checked state\n checkable.checked = force ? value as boolean : !checkable.checked;\n\n if (!force || currentState !== value) {\n checkable.dispatchEvent(new Event('change', { bubbles: true }));\n }\n }\n }\n\n /** Attempts to set focus to this list item. */\n public setFocus(): void {\n this._listItemElement.focus();\n }\n\n /** Returns whether the component has focus or not. */\n public hasFocus(): boolean {\n return document.activeElement === this._component || !!this._component.shadowRoot?.activeElement;\n }\n\n /**\n * Sets the role on the list item element.\n * @param role The role.\n */\n public setRole(role: string): void {\n this._listItemElement.setAttribute('role', role);\n }\n\n public setDisabled(disabled: boolean): void {\n toggleClass(this._listItemElement, disabled, LIST_ITEM_CONSTANTS.classes.DISABLED);\n }\n\n public setDense(dense: boolean): void {\n toggleClass(this._listItemElement, dense, LIST_ITEM_CONSTANTS.classes.DENSE);\n }\n\n public setIndented(indented: boolean): void {\n toggleClass(this._listItemElement, indented, LIST_ITEM_CONSTANTS.classes.INDENTED);\n }\n\n public setWrap(value: boolean): void {\n toggleClass(this._listItemElement, value, LIST_ITEM_CONSTANTS.classes.WRAP);\n }\n\n /**\n * Attempts to set the selected state of the list item element and it's visual indicators\n * @param value The value to compare to the parent list element's selected value\n * @returns Returns whether the list item is selected or not\n */\n public trySelect(value: unknown): boolean | null {\n const list = requireParent<IListComponent>(this._component, LIST_CONSTANTS.elementName);\n if (!list || list.selectedValue === undefined) {\n return null;\n }\n\n const listValues = list.selectedValue instanceof Array ? list.selectedValue : [list.selectedValue];\n const isSelected = listValues.some(v => isDeepEqual(v, value));\n\n this.setSelected(isSelected);\n this.tryToggleCheckboxRadio(isSelected);\n return isSelected;\n }\n\n public userInteractionListener(): ReturnType<typeof createUserInteractionListener> {\n return createUserInteractionListener(this._listItemElement);\n }\n}\n", "import { ICustomElementFoundation, matchesSelectors } from '@tylertech/forge-core';\nimport { ForgeRipple } from '../../ripple';\nimport { IListItemAdapter } from './list-item-adapter';\nimport { LIST_ITEM_CONSTANTS, IListItemSelectEventData } from './list-item-constants';\n\nexport interface IListItemFoundation extends ICustomElementFoundation {\n static: boolean;\n twoLine: boolean;\n threeLine: boolean;\n active: boolean;\n selected: boolean;\n value: any;\n href: string;\n target: string;\n ripple: boolean;\n disabled: boolean;\n dense: boolean;\n wrap: boolean;\n setFocus(): void;\n}\n\n/**\n * The foundation class behind the `<forge-list-item>` component.\n */\nexport class ListItemFoundation implements IListItemFoundation {\n private _ripple = true;\n private _rippleInstance: ForgeRipple;\n private _static = false;\n private _twoLine = false;\n private _threeLine = false;\n private _active = false;\n private _selected = false;\n private _value: any;\n private _href: string;\n private _target: string;\n private _disabled = false;\n private _dense = false;\n private _propagateClick = true;\n private _indented = false;\n private _wrap = false;\n private _clickListener: (evt: MouseEvent) => void;\n private _mouseDownListener: (evt: MouseEvent) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _destroyUserInteractionListener: (() => void) | undefined;\n\n constructor(private _adapter: IListItemAdapter) {\n this._clickListener = (evt: MouseEvent) => this._onClick(evt);\n this._mouseDownListener = (evt: MouseEvent) => this._onMouseDown(evt);\n this._keydownListener = (evt: KeyboardEvent) => this._onKeydown(evt);\n }\n\n public initialize(): void {\n this._adapter.initializeAccessibility();\n this._setRipple();\n this._adapter.setStatic(this._static);\n this._adapter.setDense(this._dense);\n this._adapter.setDisabled(this._disabled);\n this._adapter.setIndented(this._indented);\n this._adapter.setWrap(this._wrap);\n\n if (!this._static) {\n this._adapter.addListener('click', this._clickListener);\n this._adapter.addListener('mousedown', this._mouseDownListener, { passive: false, capture: true });\n this._adapter.addListener('keydown', this._keydownListener);\n }\n\n if (this._threeLine) {\n this._adapter.setThreeLine(this._threeLine);\n } else if (this.twoLine) {\n this._adapter.setTwoLine(this._twoLine);\n }\n\n const isSelected = this._adapter.trySelect(this._value);\n if(isSelected != null) {\n this._selected = isSelected;\n }\n }\n\n public disconnect(): void {\n if (typeof this._destroyUserInteractionListener === 'function') {\n this._destroyUserInteractionListener();\n this._destroyUserInteractionListener = undefined;\n }\n\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n this._rippleInstance = undefined as any;\n }\n }\n\n private _onMouseDown(evt: MouseEvent): void {\n if (this._adapter.hasFocus() || !this._propagateClick) {\n evt.preventDefault();\n }\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n if (evt.key === 'Enter' || evt.key === ' ') {\n if (evt.key === ' ') {\n evt.preventDefault();\n }\n this._select(evt.target as HTMLElement);\n }\n }\n\n /**\n * Handles clicking a list item.\n * @param evt\n */\n private _onClick(evt: MouseEvent): void {\n this._select(evt.target as HTMLElement);\n }\n\n private _select(targetElement: HTMLElement): void {\n const ignoreElement = targetElement?.hasAttribute(LIST_ITEM_CONSTANTS.attributes.IGNORE);\n if (this._static || this._disabled || ignoreElement) {\n return;\n }\n\n if (!this._adapter.hasFocus() && this._propagateClick) {\n this.setFocus();\n }\n\n if (this._href) {\n if (this._target) {\n window.open(this._href, this._target);\n } else {\n document.location.href = this._href;\n }\n return;\n }\n\n // If the target was not a checkbox or radio button, attempt to find one and toggle its checked state\n if (!matchesSelectors(targetElement, LIST_ITEM_CONSTANTS.selectors.CHECKBOX_RADIO_SELECTOR)) {\n this._adapter.tryToggleCheckboxRadio();\n }\n\n const data: IListItemSelectEventData = {\n value: this._value,\n listItem: this._adapter.getListItem()\n };\n this._adapter.emitHostEvent(LIST_ITEM_CONSTANTS.events.SELECT, data);\n }\n\n /** Gets/sets whether the list item has a ripple or not. */\n public get ripple(): boolean {\n return this._ripple;\n }\n public set ripple(value: boolean) {\n if (this._ripple !== value) {\n // We don't attach ripples to static items\n if (value && this._static) {\n return;\n }\n this._ripple = value;\n this._setRipple();\n\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.RIPPLE, String(this._ripple));\n }\n }\n\n /** Gets/sets whether the static state of this list item. */\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 this._adapter.setStatic(this._static);\n\n // Ensure we either add or remove the ripple\n this._setRipple();\n\n // Toggle the click listener\n if (this._static) {\n this._adapter.removeListener('click', this._clickListener);\n } else {\n this._adapter.addListener('click', this._clickListener);\n }\n\n if (this._static) {\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.STATIC);\n } else {\n this._adapter.removeHostAttribute(LIST_ITEM_CONSTANTS.attributes.STATIC);\n }\n }\n }\n\n /** Gets/sets whether the list item displays two lines of text. */\n public get twoLine(): boolean {\n return this._twoLine;\n }\n public set twoLine(value: boolean) {\n if (this._twoLine !== value) {\n this._twoLine = value;\n this._adapter.setTwoLine(this._twoLine);\n\n if (this._twoLine) {\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.TWO_LINE);\n } else {\n this._adapter.removeHostAttribute(LIST_ITEM_CONSTANTS.attributes.TWO_LINE);\n }\n }\n }\n\n /** Gets/sets whether the list item displays two lines of text. */\n public get threeLine(): boolean {\n return this._threeLine;\n }\n public set threeLine(value: boolean) {\n if (this._threeLine !== value) {\n this._threeLine = value;\n\n if (this._threeLine) {\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.THREE_LINE);\n } else {\n this._adapter.removeHostAttribute(LIST_ITEM_CONSTANTS.attributes.THREE_LINE);\n }\n\n if (this._threeLine) {\n this._twoLine = false;\n }\n\n this._adapter.setTwoLine(this._twoLine);\n this._adapter.setThreeLine(this._threeLine);\n }\n }\n\n /** Gets/sets whether the list item is active or not. */\n public get active(): boolean {\n return this._active;\n }\n public set active(value: boolean) {\n if (this._active !== value) {\n this._active = value;\n this._adapter.setActive(this._active);\n if (this._active) {\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.ACTIVE);\n } else {\n this._adapter.removeHostAttribute(LIST_ITEM_CONSTANTS.attributes.ACTIVE);\n }\n }\n }\n\n /** Gets/sets whether the list item is selected or not. */\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(value: boolean) {\n if (this._selected !== value) {\n this._selected = value;\n this._adapter.setSelected(this._selected);\n this._adapter.tryToggleCheckboxRadio(this._selected);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.SELECTED, this._selected);\n }\n }\n\n /** Gets/sets the unique value for this list item. */\n public get value(): any {\n return this._value;\n }\n public set value(value: any) {\n this._value = value;\n const isSelected = this._adapter.trySelect(this._value);\n if(isSelected != null) {\n this._selected = isSelected;\n }\n }\n\n /** Gets/sets the href link that this list item will send the browser to when clicked. */\n public get href(): string {\n return this._href;\n }\n public set href(value: string) {\n if (this._href !== value) {\n this._href = value;\n if (this._href) {\n this._adapter.setRole(LIST_ITEM_CONSTANTS.roles.LINK);\n } else {\n this._adapter.setRole(LIST_ITEM_CONSTANTS.roles.LIST_ITEM);\n }\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.HREF, this._href);\n }\n }\n\n /** Gets/sets the href link target. */\n public get target(): string {\n return this._target;\n }\n public set target(value: string) {\n this._target = value;\n }\n\n /** Gets/sets the disabled state. */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n /** Gets/sets the dense state. */\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n if (this._dense !== value) {\n this._dense = value;\n this._adapter.setDense(this._dense);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.DENSE, this._dense);\n }\n }\n\n /** Gets/sets the dense state. */\n public get propagateClick(): boolean {\n return this._propagateClick;\n }\n public set propagateClick(value: boolean) {\n if (this._propagateClick !== value) {\n this._propagateClick = value;\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.PROPAGATE_CLICK, '' + !!this._propagateClick);\n }\n }\n\n public get indented(): boolean {\n return this._indented;\n }\n public set indented(value: boolean) {\n if (this._indented !== value) {\n this._indented = value;\n this._adapter.setIndented(this._indented);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.INDENTED, this._indented);\n }\n }\n\n public get wrap(): boolean {\n return this._wrap;\n }\n public set wrap(value: boolean) {\n if (this._wrap !== value) {\n this._wrap = value;\n this._adapter.setWrap(this._wrap);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.WRAP, this._wrap);\n }\n }\n\n private async _setRipple(): Promise<void> {\n if (this._ripple && !this._static && !this._rippleInstance) {\n const { userInteraction, destroy } = this._adapter.userInteractionListener();\n this._destroyUserInteractionListener = destroy;\n const { type } = await userInteraction;\n this._destroyUserInteractionListener = undefined;\n if (this._ripple && !this._static && !this._rippleInstance) { // need to re-check after await\n this._rippleInstance = this._adapter.createRipple();\n if (type === 'focusin') {\n this._rippleInstance.handleFocus();\n }\n }\n } else if ((!this._ripple || this._static) && this._rippleInstance) {\n this._rippleInstance.destroy();\n this._rippleInstance = undefined as any;\n }\n }\n\n /**\n * Sets focus to this list item.\n */\n public setFocus(): void {\n this._adapter.setFocus();\n }\n}\n", "import { CustomElement, attachShadowTemplate, requireParent, elementParents, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { ListItemAdapter } from './list-item-adapter';\nimport { ListItemFoundation } from './list-item-foundation';\nimport { IListItemSelectEventData, LIST_ITEM_CONSTANTS } from './list-item-constants';\nimport { LIST_CONSTANTS } from '../list/list-constants';\nimport { IListComponent } from '../list';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nconst defaultTemplate = '<template><div class=\\\"forge-list-item\\\" tabindex=\\\"0\\\" part=\\\"root\\\"><slot name=\\\"leading\\\"></slot><slot name=\\\"avatar\\\"></slot><div class=\\\"forge-list-item__text\\\" part=\\\"text-container\\\"><slot></slot><slot name=\\\"title\\\"></slot><slot name=\\\"subtitle\\\"></slot><slot name=\\\"tertiary-title\\\"></slot><slot></slot></div><slot name=\\\"trailing\\\"></slot></div></template>';\nconst styles = '@-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-list-item{min-height:32px;min-height:var(--forge-list-item-min-height,32px);max-height:none;max-height:var(--forge-list-item-max-height,none);height:32px;height:var(--forge-list-item-height,32px);padding:8px 16px;padding:var(--forge-list-item-padding,8px 16px);margin-left:0;margin-left:var(--forge-list-item-indent,0);-webkit-box-align:center;align-items:center;-webkit-box-align:var(--forge-list-item-align-items,center);align-items:var(--forge-list-item-align-items,center);position:relative;display:-webkit-box;display:flex;-webkit-box-pack:start;justify-content:flex-start;overflow:hidden}.forge-list-item:focus{outline:0}.forge-list-item ::slotted([slot=leading]),.forge-list-item ::slotted([slot=trailing]){font-size:1.5rem}.forge-list-item ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:0;margin-left:var(--forge-list-item-leading-margin-left,0);margin-right:32px;margin-right:var(--forge-list-item-leading-margin-right,32px);display:-webkit-inline-box;display:inline-flex;flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;fill:currentColor}.forge-list-item ::slotted([slot=trailing]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-list-item ::slotted([slot=avatar]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:0;margin-left:var(--forge-list-item-leading-margin-left,0);margin-right:32px;margin-right:var(--forge-list-item-leading-margin-right,32px);display:-webkit-inline-box;display:inline-flex;flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;fill:currentColor;margin-left:0;margin-right:16px;min-width:40px;min-height:40px;border-radius:50%;display:inline-flex;background-color:rgba(0,0,0,.54);background-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item{--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-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::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-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.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-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.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-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.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-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-surface--hover::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded--background-focused::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated::before{opacity:.12;opacity:var(--mdc-ripple-activated-opacity, .12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated.mdc-ripple-surface--hover::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated:hover::before{opacity:.16;opacity:var(--mdc-ripple-hover-opacity, .16)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated.mdc-ripple-upgraded--background-focused::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity, .08)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected.mdc-ripple-surface--hover::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity, .12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected.mdc-ripple-upgraded--background-focused::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity, .2)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity, .2)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:focus:hover.mdc-ripple-upgraded--background-focused:not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.28}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.12}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation):hover::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation):hover::before{opacity:.16}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before{background-color:#000;background-color:var(--mdc-theme-on-surface,#000)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:focus.forge-list-item--selected.forge-list-item--activated:not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.24}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:focus.forge-list-item--selected.forge-list-item--activated:not(.mdc-ripple-upgraded--foreground-activation):hover::before{opacity:.28}.forge-list-item__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%}.forge-list-item ::slotted([slot=title]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.forge-list-item ::slotted([slot=subtitle]),.forge-list-item ::slotted([slot=tertiary-title]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));display:block}.forge-list-item--two-line{min-height:56px;min-height:var(--forge-list-item-min-height,56px);height:56px;height:var(--forge-list-item-height,56px)}.forge-list-item--three-line{min-height:72px;min-height:var(--forge-list-item-min-height,72px);height:72px;height:var(--forge-list-item-height,72px)}.forge-list-item--dense{min-height:16px;min-height:var(--forge-list-item-min-height,16px);height:16px;height:var(--forge-list-item-height,16px)}.forge-list-item--dense ::slotted([slot=leading]),.forge-list-item--dense ::slotted([slot=trailing]){font-size:1.25rem}.forge-list-item--dense ::slotted([slot=leading]){margin-right:12px;margin-right:var(--forge-list-item-leading-margin-right,12px)}.forge-list-item--dense ::slotted(.forge-list-item__title){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit)}.forge-list-item--dense.forge-list-item--two-line{min-height:40px;min-height:var(--forge-list-item-min-height,40px)}.forge-list-item--dense.forge-list-item--three-line{min-height:56px;min-height:var(--forge-list-item-min-height,56px)}.forge-list-item--wrap{height:auto;height:var(--forge-list-item-height,auto)}.forge-list-item--wrap .forge-list-item__text,.forge-list-item--wrap ::slotted([slot=subtitle]),.forge-list-item--wrap ::slotted([slot=tertiary-title]),.forge-list-item--wrap ::slotted([slot=title]){text-overflow:clip;white-space:normal}.forge-list-item--indented{margin-left:56px;margin-left:var(--forge-list-item-indent,56px)}.forge-list-item--active.forge-list-item--activated:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before,.forge-list-item--active.forge-list-item--selected:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before{opacity:.2}.forge-list-item--active.forge-list-item--activated:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:hover::before,.forge-list-item--active.forge-list-item--selected:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:hover::before{opacity:.24}.forge-list-item--activated,.forge-list-item--selected{color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-list-item--activated .forge-list-item__text .forge-list-item__subtitle,.forge-list-item--activated .forge-list-item__text ::slotted(.forge-list-item__subtitle),.forge-list-item--selected .forge-list-item__text .forge-list-item__subtitle,.forge-list-item--selected .forge-list-item__text ::slotted(.forge-list-item__subtitle){color:#6200ee;color:var(--mdc-theme-primary,#6200ee);opacity:.87}.forge-list-item--activated .forge-list-item__text .forge-list-item__tertiary-title,.forge-list-item--activated .forge-list-item__text ::slotted(.forge-list-item__tertiary-title),.forge-list-item--selected .forge-list-item__text .forge-list-item__tertiary-title,.forge-list-item--selected .forge-list-item__text ::slotted(.forge-list-item__tertiary-title){color:#6200ee;color:var(--mdc-theme-primary,#6200ee);opacity:.87}.forge-list-item--activated ::slotted([slot=leading]),.forge-list-item--activated ::slotted([slot=trailing]),.forge-list-item--selected ::slotted([slot=leading]),.forge-list-item--selected ::slotted([slot=trailing]){color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-list-item--activated ::slotted([slot=avatar].forge-list-item__avatar-icon),.forge-list-item--selected ::slotted([slot=avatar].forge-list-item__avatar-icon){background-color:rgba(0,0,0,.38);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.38));color:#000;color:var(--mdc-theme-on-surface,#000)}.forge-list-item--disabled{cursor:not-allowed;cursor:var(--forge-list-item-cursor,not-allowed);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-list-item--disabled ::slotted([slot=leading]),.forge-list-item--disabled ::slotted([slot=trailing]){cursor:not-allowed;cursor:var(--forge-list-item-cursor,not-allowed);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-list-item[role=link]{cursor:pointer}:host{display:block;contain:content}:host([hidden]){display:none}:host([forge-drawer-context=true]) .forge-list-item{margin:8px;margin:var(--forge-list-item-margin,8px);padding:0 8px;padding:var(--forge-list-item-padding,0 8px);border-radius:4px;border-radius:var(--forge-list-item-border-radius,4px);cursor:pointer;cursor:var(--forge-list-item-cursor,pointer);height:40px;height:var(--forge-list-item-height,40px);font-size:.875rem;font-weight:500}:host([forge-drawer-context=true]) .forge-list-item--static{cursor:initial}:host([forge-drawer-context=true]) .forge-list-item--indented{margin-left:64px;margin-left:var(--forge-list-item-indent,64px)}:host([forge-drawer-context=true]) .forge-list-item--two-line{min-height:56px-8px;min-height:var(--forge-list-item-min-height,56px-8px);height:56px-8px;height:var(--forge-list-item-height,56px-8px)}:host([forge-drawer-context=true]) .forge-list-item--three-line{min-height:72px-8px;min-height:var(--forge-list-item-min-height,72px-8px);height:72px-8px;height:var(--forge-list-item-height,72px-8px)}:host([forge-drawer-context=true]) .forge-list-item:first-child{margin-top:4px;margin-bottom:4px}:host([forge-drawer-context=true]) .forge-list-item--dense{min-height:16px;min-height:var(--forge-list-item-min-height,16px);height:16px;height:var(--forge-list-item-height,16px)}:host([forge-drawer-context=true]) .forge-list-item--dense ::slotted([slot=leading]),:host([forge-drawer-context=true]) .forge-list-item--dense ::slotted([slot=trailing]){font-size:1.25rem}:host([forge-drawer-context=true]) .forge-list-item--dense .forge-list-item__text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit)}:host([forge-drawer-context=true]) .forge-list-item--wrap{height:auto;height:var(--forge-list-item-height,auto);padding:4px 8px;padding:var(--forge-list-item-padding,4px 8px);min-height:40px;min-height:var(--forge-list-item-min-height,40px)}:host([forge-drawer-context=true]) .forge-list-item--disabled{cursor:not-allowed;cursor:var(--forge-list-item-cursor,not-allowed)}:host([dense]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit)}';\n\nexport interface IListItemComponent extends IBaseComponent {\n static: boolean;\n twoLine: boolean;\n threeLine: boolean;\n active: boolean;\n selected: boolean;\n value: any;\n href: string;\n target: string;\n ripple: boolean;\n disabled: boolean;\n dense: boolean;\n propagateClick: boolean;\n indented: boolean;\n wrap: boolean;\n focus(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-list-item': IListItemComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-list-item-select': CustomEvent<IListItemSelectEventData>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-list-item>` element.\n * \n * @tag forge-list-item\n */\n@CustomElement({\n name: LIST_ITEM_CONSTANTS.elementName\n})\nexport class ListItemComponent extends BaseComponent implements IListItemComponent {\n public static get observedAttributes(): string[] {\n return [\n LIST_ITEM_CONSTANTS.attributes.STATIC,\n LIST_ITEM_CONSTANTS.attributes.TWO_LINE,\n LIST_ITEM_CONSTANTS.attributes.THREE_LINE,\n LIST_ITEM_CONSTANTS.attributes.ACTIVE,\n LIST_ITEM_CONSTANTS.attributes.SELECTED,\n LIST_ITEM_CONSTANTS.attributes.VALUE,\n LIST_ITEM_CONSTANTS.attributes.HREF,\n LIST_ITEM_CONSTANTS.attributes.TARGET,\n LIST_ITEM_CONSTANTS.attributes.RIPPLE,\n LIST_ITEM_CONSTANTS.attributes.DISABLED,\n LIST_ITEM_CONSTANTS.attributes.DENSE,\n LIST_ITEM_CONSTANTS.attributes.PROPAGATE_CLICK,\n LIST_ITEM_CONSTANTS.attributes.INDENTED,\n LIST_ITEM_CONSTANTS.attributes.WRAP\n ];\n }\n\n private _foundation: ListItemFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, defaultTemplate, styles);\n this._foundation = new ListItemFoundation(new ListItemAdapter(this));\n }\n\n public connectedCallback(): void {\n // To simulate the :host-context() selector for Firefox until they implement it, we need to determine if the\n // list item is within a drawer for auto-styling the list item when included within a drawer. Check to see if\n // any of the parents of this element are a drawer.\n if (!this.hasAttribute(LIST_ITEM_CONSTANTS.attributes.DRAWER_CONTEXT) && elementParents(this).some(el => ['forge-drawer', 'forge-modal-drawer', 'forge-mini-drawer'].includes(el.tagName.toLowerCase()))) {\n this.setAttribute(LIST_ITEM_CONSTANTS.attributes.DRAWER_CONTEXT, 'true');\n }\n\n const list = requireParent<IListComponent>(this, LIST_CONSTANTS.elementName);\n if (list) {\n this._inheritParentListProps(list);\n }\n\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case LIST_ITEM_CONSTANTS.attributes.STATIC:\n this.static = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.TWO_LINE:\n this.twoLine = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.THREE_LINE:\n this.threeLine = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.ACTIVE:\n this.active = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.SELECTED:\n this.selected = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case LIST_ITEM_CONSTANTS.attributes.HREF:\n this.href = newValue;\n break;\n case LIST_ITEM_CONSTANTS.attributes.TARGET:\n this.target = newValue;\n break;\n case LIST_ITEM_CONSTANTS.attributes.RIPPLE:\n this.ripple = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.PROPAGATE_CLICK:\n this.propagateClick = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.INDENTED:\n this.indented = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.WRAP:\n this.wrap = coerceBoolean(newValue);\n break;\n }\n }\n\n private _inheritParentListProps(list: IListComponent): void {\n if (list.hasAttribute(LIST_CONSTANTS.attributes.STATIC)) {\n this.static = true;\n }\n if (list.hasAttribute(LIST_CONSTANTS.attributes.DENSE)) {\n this.dense = true;\n }\n if (list.getAttribute(LIST_CONSTANTS.attributes.PROPAGATE_CLICK) === 'false') {\n this.propagateClick = false;\n }\n if (list.hasAttribute(LIST_CONSTANTS.attributes.INDENTED)) {\n this.indented = true;\n }\n }\n\n /** Gets/sets whether the static state of this list item. */\n @FoundationProperty()\n public declare static: boolean;\n\n /** Gets/sets whether the list item displays two lines of text. */\n @FoundationProperty()\n public declare twoLine: boolean;\n\n /** Gets/sets whether the list item displays three lines of text. */\n @FoundationProperty()\n public declare threeLine: boolean;\n\n /** Gets/sets whether the list item is active or not. */\n @FoundationProperty()\n public declare active: boolean;\n\n /** Gets/sets whether the list item is selected or not. */\n @FoundationProperty()\n public declare selected: boolean;\n\n /** Gets/sets list item value. */\n @FoundationProperty()\n public declare value: any;\n\n /** Gets/sets the href link that this list item will send the browser to when clicked. */\n @FoundationProperty()\n public declare href: string;\n\n /** Gets/sets the href link target. Only pertains when `href` is also used. */\n @FoundationProperty()\n public declare target: string;\n\n /** Gets/sets whether the list item has a ripple or not. */\n @FoundationProperty()\n public declare ripple: boolean;\n\n /** Gets/sets whether the list item is disabled or not. */\n @FoundationProperty()\n public declare disabled: boolean;\n\n /** Gets/sets whether the list item is using dense styles or not. */\n @FoundationProperty()\n public declare dense: boolean;\n\n /** Gets/sets whether the list item allows mousedown events through to the underlying list item element. Default is true. */\n @FoundationProperty()\n public declare propagateClick: boolean;\n\n /** Gets/sets whether the list item is indented or not. Default is false. */\n @FoundationProperty()\n public declare indented: boolean;\n\n /** Gets/sets whether the list item content is wrapped or not. Default is true. */\n @FoundationProperty()\n public declare wrap: boolean;\n\n /** Sets focus to this list item. */\n public override focus(): void {\n this._foundation.setFocus();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { ListItemComponent } from './list-item';\n\nexport * from './list-item-adapter';\nexport * from './list-item-constants';\nexport * from './list-item-foundation';\nexport * from './list-item';\n\nexport function defineListItemComponent(): void {\n defineCustomElement(ListItemComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "LIST_CONSTANTS", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "selectors", "events", "roles", "LIST_ITEM_CONSTANTS", "ListItemAdapter", "BaseAdapter", "component", "getShadowElement", "LIST_ITEM_CONSTANTS", "type", "listener", "options", "ForgeRipple", "value", "addClass", "removeClass", "e", "checkable", "force", "currentState", "_a", "role", "disabled", "toggleClass", "dense", "indented", "list", "requireParent", "LIST_CONSTANTS", "isSelected", "v", "isDeepEqual", "createUserInteractionListener", "ListItemFoundation", "_adapter", "evt", "isSelected", "targetElement", "ignoreElement", "LIST_ITEM_CONSTANTS", "matchesSelectors", "data", "value", "userInteraction", "destroy", "type", "defaultTemplate", "styles", "ListItemComponent", "BaseComponent", "attachShadowTemplate", "ListItemFoundation", "ListItemAdapter", "LIST_ITEM_CONSTANTS", "elementParents", "el", "list", "requireParent", "LIST_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "defineListItemComponent", "defineCustomElement", "ListItemComponent"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- function m(t,e){let n=t.toLowerCase().indexOf(e.toLowerCase());if(n!==-1){let u=n+e.length,o=document.createElement("span"),i=document.createElement("span");return i.style.fontWeight="bold",i.textContent=t.substring(n,u),o.appendChild(document.createTextNode(t.substring(0,n))),o.appendChild(i),o.appendChild(document.createTextNode(t.substring(u))),o}}function a(t,{capture:e=!0,pointerenter:r=!0,focusin:n=!0}={}){let u,o=()=>{typeof u=="function"&&u()};return{userInteraction:new Promise(f=>{let s={once:!0,capture:e},c=l=>{n&&t.removeEventListener("focusin",d,s),f(l)},d=l=>{r&&t.removeEventListener("pointerenter",c,s),f(l)};u=()=>{r&&t.removeEventListener("pointerenter",c,s),n&&t.removeEventListener("focusin",d,s)},r&&t.addEventListener("pointerenter",c,s),n&&t.addEventListener("focusin",d,s)}),destroy:o}}function p(t,e){return e===0?0:t/100*e}function E(t,e){return e===0?0:t*100/e}function b(t,e,r,n=0,u=100){let o=r-e,i=t-e;return!o||!i?n:i*u/o+n}function v(...t){return Math.min(...t.map(e=>e!=null?e:Number.POSITIVE_INFINITY))}function x(...t){return Math.max(...t.map(e=>e!=null?e:Number.NEGATIVE_INFINITY))}function h(t,e){if(!(t&&e))return!1;let r=t.getBoundingClientRect(),n=e.getBoundingClientRect();return!(r.top>n.bottom||r.right<n.left||r.bottom<n.top||r.left>n.right)}function L({x:t,y:e},r){if(!r)return!1;let{top:n,left:u,bottom:o,right:i}=r.getBoundingClientRect();return t>=u&&t<=i&&e>=n&&e<=o}function T(t,e){let r=null;if(e){let n=t.getRootNode();if(e===":host"&&n instanceof ShadowRoot)return n.host;r=n.querySelector(`#${e}`)}return r||t.parentElement}export{m as a,a as b,p as c,E as d,b as e,v as f,x as g,h,L as i,T as j};
7
- //# sourceMappingURL=chunk.ISC7SZSP.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/core/utils/utils.ts"],
4
- "sourcesContent": ["/**\n * Highlights text in the given label by converting it to HTML and using a `<span>` tag to show the highlighted text within the original label.\n * @param label The full text.\n * @param highlightText The text to highlight.\n */\nexport function highlightTextHTML(label: string, highlightText: string): HTMLElement | undefined {\n const text = label.toLowerCase();\n const startIndex = text.indexOf(highlightText.toLowerCase());\n\n if (startIndex !== -1) {\n const endIndex = startIndex + highlightText.length;\n const wrapperSpan = document.createElement('span');\n const highlightSpan = document.createElement('span');\n\n highlightSpan.style.fontWeight = 'bold';\n highlightSpan.textContent = label.substring(startIndex, endIndex);\n \n wrapperSpan.appendChild(document.createTextNode(label.substring(0, startIndex)));\n wrapperSpan.appendChild(highlightSpan);\n wrapperSpan.appendChild(document.createTextNode(label.substring(endIndex)));\n \n return wrapperSpan;\n }\n\n return undefined;\n}\n\n\n/**\n * Awaits user interaction on an element in the form of `pointerenter` or `focusin` to let a listener know\n * when the user has attempted to interact with the provided element.\n * \n * The listeners are only called once, and the other is removed after one of the listeners is called.\n * @param element The element to listen to.\n * @param capture Whether to use capturing listeners or not.\n * @returns A `Promise` that will be resolved when either of the listeners has executed.\n */\nexport function createUserInteractionListener(element: HTMLElement, { capture = true, pointerenter = true, focusin = true } = {}): { userInteraction: Promise<Event>; destroy: () => void } {\n let destroyFn: () => void;\n const destroy: () => void = () => {\n if (typeof destroyFn === 'function') {\n destroyFn();\n }\n };\n\n const userInteraction = new Promise<Event>(resolve => {\n const listenerOpts: EventListenerOptions & { once: boolean } = { once: true, capture };\n \n const handlePointerenter = (evt: Event): void => {\n if (focusin) {\n element.removeEventListener('focusin', handleFocusin, listenerOpts);\n }\n resolve(evt);\n };\n \n const handleFocusin = (evt: Event): void => {\n if (pointerenter) {\n element.removeEventListener('pointerenter', handlePointerenter, listenerOpts);\n }\n resolve(evt);\n };\n\n destroyFn = (): void => {\n if (pointerenter) {\n element.removeEventListener('pointerenter', handlePointerenter, listenerOpts);\n }\n if (focusin) {\n element.removeEventListener('focusin', handleFocusin, listenerOpts);\n }\n };\n\n if (pointerenter) {\n element.addEventListener('pointerenter', handlePointerenter, listenerOpts);\n }\n if (focusin) {\n element.addEventListener('focusin', handleFocusin, listenerOpts);\n }\n });\n\n return { userInteraction, destroy };\n}\n\n/**\n * Converts a percent value to pixels.\n * @param amount A percent value.\n * @param containerSize The size of the parent element along the relevant axis.\n * @returns A pixel value.\n */\nexport function percentToPixels(amount: number, containerSize: number): number {\n if (containerSize === 0) {\n return 0;\n }\n return amount / 100 * containerSize;\n}\n\n/**\n * Converts a pixel value to a percentage.\n * @param amount A pixel value.\n * @param containerSize The size of the parent element along the relevant axis.\n * @returns A percent value.\n */\nexport function pixelsToPercent(amount: number, containerSize: number): number {\n if (containerSize === 0) {\n return 0;\n }\n return amount * 100 / containerSize;\n}\n\n/**\n * Scales a value from one range to another.\n * @param value The original number value.\n * @param fromMin The lower bound of the input range.\n * @param fromMax The upper bound of the input range.\n * @param toMin The lower bound of the output range (defaults to 0).\n * @param toMax The lower bound of the output range (defaults to 100).\n * @returns A value mapped to the output range.\n */\nexport function scaleValue(value: number, fromMin: number, fromMax: number, toMin = 0, toMax = 100): number {\n const range = fromMax - fromMin;\n const adjustedValue = value - fromMin;\n if (!range || !adjustedValue) {\n return toMin;\n }\n return adjustedValue * toMax / range + toMin;\n}\n\n/**\n * Returns the min of a set of numbers where some values may be undefined.\n * @param args `number` or `undefined` values to compare.\n * @returns The min value or `Number.POSITIVE_INFINITY` if all values are `undefined`.\n */\nexport function safeMin(...args: (number | undefined)[]): number {\n return Math.min(...args.map(arg => arg ?? Number.POSITIVE_INFINITY));\n}\n\n/**\n * Returns the max of a set of numbers where some values may be undefined.\n * @param args `number` or `undefined` values to compare.\n * @returns The max value or `Number.NEGATIVE_INFINITY` if all values are `undefined`.\n */\nexport function safeMax(...args: (number | undefined)[]): number {\n return Math.max(...args.map(arg => arg ?? Number.NEGATIVE_INFINITY));\n}\n\n/**\n * Determines if two elements are overlapping.\n * @param elA {Element | null}\n * @param elB {Element | null}\n * @returns \n */\nexport function elementsOverlapping(elA: Element | null, elB: Element | null): boolean {\n if (!(elA && elB)) {\n return false;\n }\n const a = elA.getBoundingClientRect();\n const b = elB.getBoundingClientRect();\n return !(a.top > b.bottom || a.right < b.left || a.bottom < b.top || a.left > b.right);\n}\n\n/**\n * Determines if a pointer event is over an element.\n * @param event {PointerEvent} The pointer event to test.\n * @param element {HTMElement} The element to test against.\n * @returns \n */\nexport function isPointerOverElement({ x, y }: { x: number; y: number }, element: HTMLElement | null): boolean {\n if (!element) {\n return false;\n }\n const { top, left, bottom, right } = element.getBoundingClientRect();\n return x >= left && x <= right && y >= top && y <= bottom;\n}\n\n/**\n * Attempts to locate a target element based on a heuristic.\n * \n * We use the following heuristic for locating the target element:\n * - If an id is set, we use that value to query the DOM for the target element\n * - If id is set to `:host`, we use the host element from within a shadow tree (only if the root node is a ShadowRoot instance)\n * - If an id is set but the querySelector returns null, we use the parent element\n * - If an id is not set, we use the parent element\n * @param value {string | null} - A selector string to query the DOM for the target element\n */\nexport function locateTargetHeuristic(element: HTMLElement, id?: string | null): HTMLElement | null {\n let targetEl: HTMLElement | null = null;\n\n if (id) {\n const rootNode = element.getRootNode() as Document | ShadowRoot;\n\n // Special case handling for a `:host` selector to easily target a host element\n // from within a shadow tree, given that this is a very common scenario\n if (id === ':host' && rootNode instanceof ShadowRoot) {\n return rootNode.host as HTMLElement;\n }\n\n targetEl = rootNode.querySelector(`#${id}`);\n }\n\n if (!targetEl) {\n return element.parentElement;\n }\n\n return targetEl;\n}\n"],
5
- "mappings": "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",
6
- "names": ["highlightTextHTML", "label", "highlightText", "startIndex", "endIndex", "wrapperSpan", "highlightSpan", "createUserInteractionListener", "element", "capture", "pointerenter", "focusin", "destroyFn", "destroy", "resolve", "listenerOpts", "handlePointerenter", "evt", "handleFocusin", "percentToPixels", "amount", "containerSize", "pixelsToPercent", "scaleValue", "value", "fromMin", "fromMax", "toMin", "toMax", "range", "adjustedValue", "safeMin", "args", "arg", "safeMax", "elementsOverlapping", "elA", "elB", "a", "b", "isPointerOverElement", "x", "y", "top", "left", "bottom", "right", "locateTargetHeuristic", "id", "targetEl", "rootNode"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as d}from"./chunk.MGLWXAZO.js";import{f as n,g as o,k as r}from"./chunk.K7FPXAFS.js";var s=class{constructor(a){this._labelElement=a}addLabelClass(a){n(a,this._labelElement)}removeLabelClass(a){o(a,this._labelElement)}hasLabelClass(a){return this._labelElement.classList.contains(a)}getWidth(){return this._labelElement.offsetParent!=null?this._labelElement.scrollWidth:r(this._labelElement).width}addLabelListener(a,t){this._labelElement.addEventListener(a,t)}removeLabelListener(a,t){this._labelElement.removeEventListener(a,t)}};var A={FLOATING_LABEL:"forge-floating-label",FLOAT_ABOVE:"forge-floating-label--float-above",FLOAT_ABOVE_END_KEYFRAME:"forge-floating-label--float-above-end-keyframe",UNFLOAT_ABOVE_START_KEYFRAME:"forge-floating-label--unfloat-above-start-keyframe"},e={classes:A};var l=class{constructor(a){this._adapter=a;this._floatAnimationEndHandler=()=>this._handleFloatAnimationEnd()}initialize(){this._adapter.addLabelClass(e.classes.FLOATING_LABEL),d.BLINK&&this._adapter.addLabelListener("transitionend",this._floatAnimationEndHandler)}disconnect(){this._adapter.removeLabelClass(e.classes.FLOATING_LABEL),this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE),this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME),this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME),this._floatAnimationEndHandler&&this._adapter.removeLabelListener("transitionend",this._floatAnimationEndHandler)}float(a,t=!1){a?(this._adapter.hasLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)&&this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME),requestAnimationFrame(()=>{requestAnimationFrame(()=>{(t||this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE))&&this._adapter.addLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME),this._adapter.addLabelClass(e.classes.FLOAT_ABOVE)})})):(this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE),this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME)&&(this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME),this._adapter.addLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME),requestAnimationFrame(()=>{requestAnimationFrame(()=>{this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)})})))}getWidth(){return this._adapter.getWidth()}get isFloating(){return this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE)}_handleFloatAnimationEnd(){this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE)&&!this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME)?this._adapter.addLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME):this._adapter.hasLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)&&this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)}};var _=class{constructor(a){this._labelElement=a;this._foundation=new l(new s(this._labelElement)),this._foundation.initialize()}get isFloating(){return this._foundation.isFloating}destroy(){this._foundation.disconnect(),this._labelElement=void 0}float(a,t=!1){this._foundation.float(a,t)}getWidth(){return this._foundation.getWidth()}};export{s as a,e as b,l as c,_ as d};
7
- //# sourceMappingURL=chunk.IX25DYIM.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/floating-label/floating-label-adapter.ts", "../../src/floating-label/floating-label-constants.ts", "../../src/floating-label/floating-label-foundation.ts", "../../src/floating-label/floating-label.ts"],
4
- "sourcesContent": ["import { addClass, calcSizeUnattached, removeClass } from '@tylertech/forge-core';\n\nexport interface IFloatingLabelAdapter {\n addLabelClass(className: string): void;\n removeLabelClass(className: string): void;\n hasLabelClass(className: string): boolean;\n getWidth(): number;\n addLabelListener(type: string, listener: (evt: Event) => void): void;\n removeLabelListener(type: string, listener: (evt: Event) => void): void;\n}\n\nexport class FloatingLabelAdapter implements IFloatingLabelAdapter {\n\n constructor(private _labelElement: HTMLLabelElement) {}\n\n public addLabelClass(className: string): void {\n addClass(className, this._labelElement);\n }\n\n public removeLabelClass(className: string): void {\n removeClass(className, this._labelElement);\n }\n\n public hasLabelClass(className: string): boolean {\n return this._labelElement.classList.contains(className);\n }\n\n public getWidth(): number {\n if (this._labelElement.offsetParent != null) {\n return this._labelElement.scrollWidth;\n }\n return calcSizeUnattached(this._labelElement).width;\n }\n\n public addLabelListener(type: string, listener: (evt: Event) => void): void {\n this._labelElement.addEventListener(type, listener);\n }\n\n public removeLabelListener(type: string, listener: (evt: Event) => void): void {\n this._labelElement.removeEventListener(type, listener);\n }\n}\n", "const classes = {\n FLOATING_LABEL: 'forge-floating-label',\n FLOAT_ABOVE: 'forge-floating-label--float-above',\n FLOAT_ABOVE_END_KEYFRAME: 'forge-floating-label--float-above-end-keyframe',\n UNFLOAT_ABOVE_START_KEYFRAME: 'forge-floating-label--unfloat-above-start-keyframe'\n};\n\nexport const FLOATING_LABEL_CONSTANTS = {\n classes\n};\n", "import { FLOATING_LABEL_CONSTANTS } from './floating-label-constants';\nimport { IFloatingLabelAdapter } from './floating-label-adapter';\nimport { Platform } from '@tylertech/forge-core';\n\nexport class FloatingLabelFoundation {\n private _floatAnimationEndHandler: () => void;\n\n constructor(protected _adapter: IFloatingLabelAdapter) {\n this._floatAnimationEndHandler = () => this._handleFloatAnimationEnd();\n }\n\n public initialize(): void {\n this._adapter.addLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOATING_LABEL);\n \n if (Platform.BLINK) {\n // Chromium has a bug where the label renders blurry due to a scale transform\n // so we only provide a fix for that when the Blink engine is used\n this._adapter.addLabelListener('transitionend', this._floatAnimationEndHandler);\n }\n }\n\n public disconnect(): void {\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOATING_LABEL);\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE);\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE_END_KEYFRAME);\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.UNFLOAT_ABOVE_START_KEYFRAME);\n if (this._floatAnimationEndHandler) {\n this._adapter.removeLabelListener('transitionend', this._floatAnimationEndHandler);\n }\n }\n\n public float(shouldFloat: boolean, alwaysFloat = false): void {\n if (shouldFloat) {\n if (this._adapter.hasLabelClass(FLOATING_LABEL_CONSTANTS.classes.UNFLOAT_ABOVE_START_KEYFRAME)) {\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.UNFLOAT_ABOVE_START_KEYFRAME);\n }\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (alwaysFloat || this._adapter.hasLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE)) {\n this._adapter.addLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE_END_KEYFRAME);\n }\n this._adapter.addLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE);\n });\n });\n } else {\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE);\n if (this._adapter.hasLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE_END_KEYFRAME)) {\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE_END_KEYFRAME);\n this._adapter.addLabelClass(FLOATING_LABEL_CONSTANTS.classes.UNFLOAT_ABOVE_START_KEYFRAME);\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.UNFLOAT_ABOVE_START_KEYFRAME);\n });\n });\n }\n }\n }\n\n public getWidth(): number {\n return this._adapter.getWidth();\n }\n\n public get isFloating(): boolean {\n return this._adapter.hasLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE);\n }\n\n private _handleFloatAnimationEnd(): void {\n if (this._adapter.hasLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE) && !this._adapter.hasLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE_END_KEYFRAME)) {\n this._adapter.addLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE_END_KEYFRAME);\n } else if (this._adapter.hasLabelClass(FLOATING_LABEL_CONSTANTS.classes.UNFLOAT_ABOVE_START_KEYFRAME)) {\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.UNFLOAT_ABOVE_START_KEYFRAME);\n }\n }\n}\n", "import { FloatingLabelAdapter } from './floating-label-adapter';\nimport { FloatingLabelFoundation } from './floating-label-foundation';\n\nexport interface IFloatingLabel {\n isFloating: boolean;\n float(float: boolean, alwaysFloat?: boolean): void;\n getWidth(): number;\n destroy(): void;\n}\n\nexport class FloatingLabel implements IFloatingLabel {\n private _foundation: FloatingLabelFoundation;\n\n constructor(private _labelElement: HTMLLabelElement) {\n this._foundation = new FloatingLabelFoundation(new FloatingLabelAdapter(this._labelElement));\n this._foundation.initialize();\n }\n\n /** Returns the current label floating state. */\n public get isFloating(): boolean {\n return this._foundation.isFloating;\n }\n\n public destroy(): void {\n this._foundation.disconnect();\n this._labelElement = undefined as any;\n }\n\n /**\n * Sets the floating state of the label element.\n * @param shouldFloat If true, sets the label to float, otherwise un-float.\n * @param alwaysFloat If true, sets the label to always float, defaults to: `false`.\n */\n public float(shouldFloat: boolean, alwaysFloat = false): void {\n this._foundation.float(shouldFloat, alwaysFloat);\n }\n\n /** Returns the scroll width of the label element. */\n public getWidth(): number {\n return this._foundation.getWidth();\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["FloatingLabelAdapter", "_labelElement", "className", "addClass", "removeClass", "calcSizeUnattached", "type", "listener", "classes", "FLOATING_LABEL_CONSTANTS", "FloatingLabelFoundation", "_adapter", "FLOATING_LABEL_CONSTANTS", "Platform", "shouldFloat", "alwaysFloat", "FloatingLabel", "_labelElement", "FloatingLabelFoundation", "FloatingLabelAdapter", "shouldFloat", "alwaysFloat"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{e as s}from"./chunk.K7FPXAFS.js";import{i as a}from"./chunk.J2M2MXP2.js";function m(e){f(e._customElementName,e),a(e._customElementDependencies)&&d(e._customElementDependencies)}function d(e){e.forEach(m)}function f(e,t,n){var o;!((o=window==null?void 0:window.customElements)===null||o===void 0)&&o.get(e)||window.customElements.define(e,t,n)}function R(e,t){let n=e;for(;n.parentNode&&(n=n.parentNode,!!n.tagName);)if(!n.tagName||n.tagName.toLowerCase()===t.toLowerCase())return n;return null}function c(e){return new DOMParser().parseFromString(e,"text/html").querySelector("template")}function C(e,t){e.appendChild(c(t).content.cloneNode(!0))}function v(e,t,n,o=!1){let i=p(t,n);e.attachShadow({mode:"open",delegatesFocus:o}),w(e,i)}function p(e,t){let n=c(e);if(t){t=t instanceof Array?t:[t];let o=document.createElement("style");o.type="text/css",o.textContent=t.join(" "),n.content.appendChild(o)}return n}function w(e,t){e.shadowRoot.appendChild(t.content.cloneNode(!0))}function h(e,t){return e.shadowRoot.querySelector(t)}function S(e,t){return e.querySelector(t)}function T(e,t,n,o=!0,i=!1){let r;return typeof CustomEvent=="function"?r=new CustomEvent(t,{detail:n,bubbles:o,cancelable:i}):(r=document.createEvent("CustomEvent"),r.initCustomEvent(t,o,i,n)),e.dispatchEvent(r)}function N(e,t,n,o,i,r){let u=!!h(e,o);return r||(r=document.createComment(`(${n}) ${o}`)),t&&!u?s(i,r):!t&&u&&s(r,i),r}function D(e,t){function n(o){return!o||o===document||o===window?null:(o.assignedSlot&&(o=o.assignedSlot),o.closest(e)||n(o.getRootNode().host))}return n(t)}var l=class extends HTMLElement{};export{m as a,d as b,R as c,C as d,v as e,h as f,S as g,T as h,N as i,D as j,l as k};
7
- //# sourceMappingURL=chunk.MVTBJPO2.js.map
@@ -1,12 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{i as B}from"./chunk.DBNJHUYY.js";import{e as J}from"./chunk.VSQOTSAO.js";import{e as W}from"./chunk.ZJC2DSNM.js";import{d as ro}from"./chunk.BH2TUG2V.js";import{d as Y}from"./chunk.MHBBMC6O.js";import{b as X}from"./chunk.SFCGOCQK.js";import{d as Z}from"./chunk.MGLL67VO.js";import{d as p}from"./chunk.ULY4H76N.js";import{d as L}from"./chunk.SU4FU7GK.js";import{d as F}from"./chunk.TYLOAD7R.js";import{d as M}from"./chunk.SJJS4LYN.js";import{d as D}from"./chunk.CDGZYUQS.js";import{d as A}from"./chunk.P2ZCNO63.js";import{d as P}from"./chunk.6OW6Q3EW.js";import{d as v}from"./chunk.FCATJM34.js";import{f as O}from"./chunk.BY25RT52.js";import{d}from"./chunk.FG2GNAM2.js";import{c as u}from"./chunk.Z6FCL3G3.js";import{e as l}from"./chunk.5565ZSTH.js";import{b as y}from"./chunk.2QHD3DCR.js";import{b as Q}from"./chunk.NR3MLTXF.js";import{d as K}from"./chunk.COVTBIQQ.js";import{d as N}from"./chunk.YX7WLO5Y.js";import{b as H}from"./chunk.ZVBZ3LGP.js";import{b as G}from"./chunk.XGOAYMK2.js";import{b as e}from"./chunk.FWFOOQMA.js";import{e as V}from"./chunk.AEKOP3XT.js";import{E}from"./chunk.B4T3R53C.js";import{d as q}from"./chunk.XKI46BH2.js";import{j}from"./chunk.CXY6K7EI.js";import{b as _}from"./chunk.LTT67HTW.js";import{d as oo}from"./chunk.LK4AAUOP.js";import{d as S}from"./chunk.4YFVG4KP.js";import{d as Co}from"./chunk.624UKZFU.js";import{d as io}from"./chunk.GNG64TXK.js";import{b as mo}from"./chunk.YLG6ZC5K.js";import{d as z}from"./chunk.JUJGROHA.js";import{c as lo}from"./chunk.5MZ5SGMO.js";import{b as co}from"./chunk.VVXSELXX.js";import{d as no}from"./chunk.2EWV2XBP.js";import{d as fo}from"./chunk.4ZKX3SO5.js";import{b as po}from"./chunk.LFODKHUO.js";import{d as to}from"./chunk.X3C3J5MH.js";import{d as b}from"./chunk.VZWNNK7A.js";import{b as eo}from"./chunk.DG4ZM3AW.js";import{b as k}from"./chunk.XI3MJSIS.js";import{d as xo}from"./chunk.D5TAI6Q7.js";import{c as Po}from"./chunk.6GC5AJPE.js";import{f as so}from"./chunk.PEBT47AU.js";import{d as U}from"./chunk.YRMR7IOS.js";import{h as So}from"./chunk.UJ2WQOLO.js";import{f as h}from"./chunk.LXPFG7MW.js";import{b as w}from"./chunk.ALIYGJXA.js";import{d as Bo}from"./chunk.JIKSKUDW.js";import{d as uo}from"./chunk.TK5I4RHF.js";import{d as t}from"./chunk.2AJ7FFI6.js";import{d as m}from"./chunk.Q7Z3SJ5F.js";import{p as ao}from"./chunk.F74YURLV.js";import{e as ko}from"./chunk.M56LSSPW.js";import{f as ho}from"./chunk.SMGXXR6K.js";import{b as Ao}from"./chunk.EK24Y56W.js";import{d as T}from"./chunk.S3JMOOWC.js";import{b as $}from"./chunk.MTKSU2BV.js";import{d as To}from"./chunk.CKW7KKDW.js";import{c as I}from"./chunk.N43BCJHN.js";import{q as go}from"./chunk.KJP2VA6Q.js";import{d as R}from"./chunk.YWNCJ7XP.js";import{d as s}from"./chunk.JLLHDJSO.js";import{c as C}from"./chunk.F4VXEE76.js";import{e as i}from"./chunk.HHCO64F3.js";import{b as n}from"./chunk.ZKGSQQGU.js";import{e as x}from"./chunk.7CGKFRBK.js";import{b as a}from"./chunk.A62DE5PD.js";import{c}from"./chunk.WPG7NNQX.js";import{b as g}from"./chunk.MXEKIEJA.js";import{l as r}from"./chunk.PH3HUFJJ.js";import{f}from"./chunk.54OOOQ4R.js";import{b as o}from"./chunk.MVTBJPO2.js";var wo=[p,S,s,P,A,D,M,I,F,L,E,y,h,l,u,d,b,O,v,V,R,e,G,H,N,t,K,Q,U,Co,r,g,_,j,q,n,C,i,z,J,W,X,Y,Z,ro,oo,m,to,po,mo,io,x,xo,k,f,eo,fo,no,a,co,lo,ko,ao,Bo,uo,w,Po,so,So,c,go,To,$,T,ho,Ao,B];function Vr(){o(wo)}export{Vr as a};
7
- /**
8
- * @license
9
- * Copyright (c) 2022 Tyler Technologies, Inc.
10
- * License: Apache-2.0
11
- */
12
- //# sourceMappingURL=chunk.P2CW5MQO.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "sourcesContent": ["/// <reference types=\"./typings\" />\n\n/**\n * @license\n * Copyright (c) 2022 Tyler Technologies, Inc.\n * License: Apache-2.0\n */\n\nimport { defineCustomElements } from '@tylertech/forge-core';\nimport { AccordionComponent } from './accordion';\nimport { AutocompleteComponent } from './autocomplete';\nimport { AvatarComponent } from './avatar';\nimport { BackdropComponent } from './backdrop';\nimport { BadgeComponent } from './badge';\nimport { BannerComponent } from './banner';\nimport { BottomSheetComponent } from './bottom-sheet';\nimport { BusyIndicatorComponent } from './busy-indicator';\nimport { ButtonComponent } from './button';\nimport { ButtonToggleComponent, ButtonToggleGroupComponent } from './button-toggle';\nimport { CalendarComponent } from './calendar';\nimport { CardComponent } from './card';\nimport { CheckboxComponent } from './checkbox';\nimport { ChipComponent, ChipSetComponent } from './chips';\nimport { ChipFieldComponent } from './chip-field';\nimport { CircularProgressComponent } from './circular-progress';\nimport { ColorPickerComponent } from './color-picker';\nimport { DateRangePickerComponent } from './date-range-picker';\nimport { DatePickerComponent } from './date-picker';\nimport { DialogComponent } from './dialog';\nimport { DividerComponent } from './divider';\nimport { DrawerComponent, MiniDrawerComponent, ModalDrawerComponent } from './drawer';\nimport { ExpansionPanelComponent } from './expansion-panel';\nimport { FilePickerComponent } from './file-picker';\nimport { FloatingActionButton } from './floating-action-button';\nimport { FocusIndicatorComponent } from './focus-indicator';\nimport { IconButtonComponent } from './icon-button';\nimport { InlineMessageComponent } from './inline-message';\nimport { KeyboardShortcutComponent } from './keyboard-shortcut';\nimport { LabelValueComponent } from './label-value';\nimport { LinearProgressComponent } from './linear-progress';\nimport { ListComponent } from './list';\nimport { ListItemComponent } from './list/list-item';\nimport { MenuComponent } from './menu';\nimport {\n AppBarComponent,\n AppBarHelpButtonComponent,\n AppBarMenuButtonComponent,\n AppBarNotificationButtonComponent,\n AppBarProfileButtonComponent,\n AppBarSearchComponent,\n ProfileCardComponent\n} from './app-bar';\nimport { OpenIconComponent } from './open-icon';\nimport { PageStateComponent } from './page-state';\nimport { PaginatorComponent } from './paginator';\nimport { PopupComponent } from './popup';\nimport { ProductIconComponent } from './product-icon';\nimport { QuantityFieldComponent } from './quantity-field';\nimport { RadioComponent } from './radio';\nimport { RippleComponent } from './ripple';\nimport { ScaffoldComponent } from './scaffold';\nimport { OptionComponent, OptionGroupComponent, SelectComponent } from './select';\nimport { SkeletonComponent } from './skeleton';\nimport { SliderComponent } from './slider';\nimport { SplitViewComponent } from './split-view';\nimport { StateLayerComponent } from './state-layer';\nimport { StepComponent, StepperComponent } from './stepper';\nimport { SwitchComponent } from './switch';\nimport { TableComponent } from './table';\nimport { TabBarComponent, TabComponent } from './tabs';\nimport { TextFieldComponent } from './text-field';\nimport { TimePickerComponent } from './time-picker';\nimport { ToastComponent } from './toast';\nimport { ToolbarComponent } from './toolbar';\nimport { TooltipComponent } from './tooltip';\nimport { ViewComponent, ViewSwitcherComponent } from './view-switcher';\nimport { IconComponent } from './icon';\nimport { SelectDropdownComponent } from './select/select-dropdown';\nimport { StackComponent } from './stack';\n\nexport * from './accordion';\nexport * from './app-bar';\nexport * from './autocomplete';\nexport * from './avatar';\nexport * from './backdrop';\nexport * from './badge';\nexport * from './banner';\nexport * from './bottom-sheet';\nexport * from './busy-indicator';\nexport * from './button';\nexport * from './button-toggle';\nexport * from './calendar';\nexport * from './card';\nexport * from './checkbox';\nexport * from './chips';\nexport * from './chip-field';\nexport * from './circular-progress';\nexport * from './color-picker';\nexport * from './constants';\nexport * from './core';\nexport * from './date-range-picker';\nexport * from './date-picker';\nexport * from './dialog';\nexport * from './divider';\nexport * from './drawer';\nexport * from './expansion-panel';\nexport * from './file-picker';\nexport * from './floating-action-button';\nexport * from './floating-label';\nexport * from './focus-indicator';\nexport * from './icon-button';\nexport * from './inline-message';\nexport * from './keyboard-shortcut';\nexport * from './label-value';\nexport * from './linear-progress';\nexport * from './list';\nexport * from './menu';\nexport * from './open-icon';\nexport * from './page-state';\nexport * from './paginator';\nexport * from './popup';\nexport * from './product-icon';\nexport * from './quantity-field';\nexport * from './radio';\nexport * from './ripple';\nexport * from './scaffold';\nexport * from './select';\nexport * from './skeleton';\nexport * from './slider';\nexport * from './split-view';\nexport * from './state-layer';\nexport * from './stepper';\nexport * from './switch';\nexport * from './table';\nexport * from './tabs';\nexport * from './text-field';\nexport * from './theme';\nexport * from './time-picker';\nexport * from './toast';\nexport * from './toolbar';\nexport * from './tooltip';\nexport * from './utils';\nexport * from './view-switcher';\nexport * from './icon';\nexport * from './stack';\n\nconst CUSTOM_ELEMENTS = [\n AccordionComponent,\n AvatarComponent,\n BackdropComponent,\n BadgeComponent,\n BannerComponent,\n BottomSheetComponent,\n BusyIndicatorComponent,\n ButtonComponent,\n ButtonToggleComponent,\n ButtonToggleGroupComponent,\n CalendarComponent,\n CardComponent,\n CheckboxComponent,\n ChipComponent,\n ChipSetComponent,\n ChipFieldComponent,\n CircularProgressComponent,\n ColorPickerComponent,\n DatePickerComponent,\n DateRangePickerComponent,\n DialogComponent,\n DividerComponent,\n DrawerComponent,\n MiniDrawerComponent,\n ModalDrawerComponent,\n ExpansionPanelComponent,\n FilePickerComponent,\n FloatingActionButton,\n FocusIndicatorComponent,\n ProductIconComponent,\n IconComponent,\n IconButtonComponent,\n InlineMessageComponent,\n KeyboardShortcutComponent,\n LabelValueComponent,\n LinearProgressComponent,\n ListComponent,\n ListItemComponent,\n MenuComponent,\n AppBarComponent,\n AppBarSearchComponent,\n AppBarMenuButtonComponent,\n AppBarNotificationButtonComponent,\n AppBarHelpButtonComponent,\n AppBarProfileButtonComponent,\n ProfileCardComponent,\n OpenIconComponent,\n OptionComponent,\n OptionGroupComponent,\n PageStateComponent,\n PaginatorComponent,\n PopupComponent,\n QuantityFieldComponent,\n RadioComponent,\n RippleComponent,\n ScaffoldComponent,\n SelectComponent,\n SelectDropdownComponent,\n SkeletonComponent,\n SliderComponent,\n SplitViewComponent,\n StackComponent,\n StateLayerComponent,\n StepperComponent,\n StepComponent,\n SwitchComponent,\n TabBarComponent,\n TabComponent,\n TableComponent,\n TextFieldComponent,\n TimePickerComponent,\n ToastComponent,\n ToolbarComponent,\n TooltipComponent,\n ViewSwitcherComponent,\n ViewComponent,\n AutocompleteComponent\n];\n\n/**\n * Registers all components in the library with the browser.\n */\nexport function defineComponents(): void {\n defineCustomElements(CUSTOM_ELEMENTS);\n}\n"],
5
- "mappings": "+iGAkJA,IAAMA,GAAkB,CACtBC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GACAC,GACAC,EACAC,GACAC,GACAC,GACAC,GACAC,EACAC,GACAC,EACAC,EACAC,GACAC,GACAC,GACAC,EACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,EACAC,GACAC,GACAC,GACAC,EACAC,GACAC,GACAC,EACAC,EACAC,GACAC,GACAC,CACF,EAKO,SAASC,IAAyB,CACvCC,EAAqB/E,EAAe,CACtC",
6
- "names": ["CUSTOM_ELEMENTS", "AccordionComponent", "AvatarComponent", "BackdropComponent", "BadgeComponent", "BannerComponent", "BottomSheetComponent", "BusyIndicatorComponent", "ButtonComponent", "ButtonToggleComponent", "ButtonToggleGroupComponent", "CalendarComponent", "CardComponent", "CheckboxComponent", "ChipComponent", "ChipSetComponent", "ChipFieldComponent", "CircularProgressComponent", "ColorPickerComponent", "DatePickerComponent", "DateRangePickerComponent", "DialogComponent", "DividerComponent", "DrawerComponent", "MiniDrawerComponent", "ModalDrawerComponent", "ExpansionPanelComponent", "FilePickerComponent", "FloatingActionButton", "FocusIndicatorComponent", "ProductIconComponent", "IconComponent", "IconButtonComponent", "InlineMessageComponent", "KeyboardShortcutComponent", "LabelValueComponent", "LinearProgressComponent", "ListComponent", "ListItemComponent", "MenuComponent", "AppBarComponent", "AppBarSearchComponent", "AppBarMenuButtonComponent", "AppBarNotificationButtonComponent", "AppBarHelpButtonComponent", "AppBarProfileButtonComponent", "ProfileCardComponent", "OpenIconComponent", "OptionComponent", "OptionGroupComponent", "PageStateComponent", "PaginatorComponent", "PopupComponent", "QuantityFieldComponent", "RadioComponent", "RippleComponent", "ScaffoldComponent", "SelectComponent", "SelectDropdownComponent", "SkeletonComponent", "SliderComponent", "SplitViewComponent", "StackComponent", "StateLayerComponent", "StepperComponent", "StepComponent", "SwitchComponent", "TabBarComponent", "TabComponent", "TableComponent", "TextFieldComponent", "TimePickerComponent", "ToastComponent", "ToolbarComponent", "TooltipComponent", "ViewSwitcherComponent", "ViewComponent", "AutocompleteComponent", "defineComponents", "defineCustomElements"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{d as w}from"./chunk.YRMR7IOS.js";import{a as C,p as L}from"./chunk.F74YURLV.js";import{a as c}from"./chunk.NVUMRW44.js";import{a as k}from"./chunk.BKL2BAYW.js";import{a as S,b as v}from"./chunk.DXN7ZOH3.js";import{c as A,e as T,f as h,k as I}from"./chunk.MVTBJPO2.js";import{u as E}from"./chunk.K7FPXAFS.js";import{k as s}from"./chunk.J2M2MXP2.js";import{d as n}from"./chunk.M3QDAYD2.js";var N=`${v}tab-bar`,B={DISABLED:"disabled",ACTIVE_TAB:"active-tab",VERTICAL:"vertical",STACKED:"stacked",CLUSTERED:"clustered",SECONDARY:"secondary",INVERTED:"inverted",AUTO_ACTIVATE:"auto-activate",SCROLL_BUTTONS:"scroll-buttons"},M={CONTAINER:".container",SCROLL_CONTAINER:".scroll-container",DEFAULT_SLOT:"slot:not([name])"},K={SCROLL_BUTTON:"scroll-button"},H={CHANGE:`${N}-change`},F={SCROLL_MARGIN:48},D={attributes:B,elementName:N,events:H,selectors:M,classes:K,numbers:F},J=new Map([["default",new Set(["Home","End"])],["horizontal",new Set(["ArrowLeft","ArrowRight"])],["vertical",new Set(["ArrowUp","ArrowDown"])]]);var R=`${v}tab`,V={DISABLED:"disabled",SELECTED:"selected",VERTICAL:"vertical",STACKED:"stacked",SECONDARY:"secondary",INVERTED:"inverted"},P={INDICATOR:".indicator"},U={SELECTED:"selected"},Y={SELECT:`${R}-select`},$={EASING:"cubic-bezier(0.4, 0, 0.2, 1)"},G={ANIMATION_DURATION:250},t={elementName:R,attributes:V,selectors:P,classes:U,events:Y,strings:$,numbers:G};var p=class extends k{constructor(e){super(e);this._tabIndicatorElement=h(this._component,t.selectors.INDICATOR),this._stateLayerElement=h(this._component,C.elementName)}initialize(){this._component.tabIndex=this._component.selected?0:-1,this._component.setAttribute("role","tab"),this._component.setAttribute("aria-selected",this._component.selected?"true":"false")}addInteractionListener(e,i){this._component.addEventListener(e,i)}setDisabled(e){this._stateLayerElement.disabled=e,this._component.tabIndex=e?-1:this._component.selected?0:-1,this._component.setAttribute("aria-disabled",String(e)),E(this._component,e,t.attributes.DISABLED,String(e))}setSelected(e){this._component.tabIndex=e?0:-1,this._component.setAttribute("aria-selected",String(e))}animateSelected(){this._tabIndicatorElement.getAnimations().forEach(i=>i.cancel());let e=this._getKeyframes();e&&this._tabIndicatorElement.animate(e,{duration:t.numbers.ANIMATION_DURATION,easing:t.strings.EASING})}animateStateLayer(){this._stateLayerElement.playAnimation()}_getKeyframes(){var y;let e=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(!this._component.selected)return e?[{opacity:1},{transform:"none"}]:null;let i={},r=this._component.vertical,l=this._getSelectedTabIndicator(),d=(y=l==null?void 0:l.getBoundingClientRect())!=null?y:{},_=r?d.top:d.left,O=r?d.height:d.width,b=this._tabIndicatorElement.getBoundingClientRect(),m=r?b.top:b.left,z=r?b.height:b.width,u=r?"Y":"X",x=O/z;return!e&&_!==void 0&&m!==void 0&&!isNaN(x)?i.transform=`translate${u}(${(_-m).toFixed(4)}px) scale${u}(${x.toFixed(4)})`:i.opacity=0,[i,{transform:"none"}]}_getSelectedTabIndicator(){let e=A(this._component,D.elementName);if(e){let r=Array.from(e.querySelectorAll(t.elementName)).find(l=>l.hasAttribute(t.attributes.SELECTED));if(r)return h(r,t.selectors.INDICATOR)}return null}};var g=class{constructor(o){this._adapter=o;this._selected=!1;this._disabled=!1;this._vertical=!1;this._stacked=!1;this._secondary=!1;this._inverted=!1;this._clickListener=()=>this._onClick(),this._keydownListener=e=>this._onKeydown(e)}initialize(){this._adapter.initialize(),this._adapter.addInteractionListener("click",this._clickListener),this._adapter.addInteractionListener("keydown",this._keydownListener)}_onClick(){this._disabled||this._selected||this._dispatchSelectEvent()}_onKeydown(o){if(this._disabled||this._selected)return;(o.key===" "||o.key==="Enter")&&(o.preventDefault(),this._adapter.animateStateLayer(),this._dispatchSelectEvent())}_dispatchSelectEvent(){this._adapter.emitHostEvent(t.events.SELECT,{bubbles:!0,composed:!0})}get disabled(){return this._disabled}set disabled(o){this._disabled!==o&&(this._disabled=o,this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(t.attributes.DISABLED,this._disabled))}get selected(){return this._selected}set selected(o){this._selected!==o&&(this._selected=o,this._adapter.setSelected(this._selected),this._adapter.animateSelected(),this._adapter.toggleHostAttribute(t.attributes.SELECTED,this._selected))}get vertical(){return this._vertical}set vertical(o){this._vertical!==o&&(this._vertical=o,this._adapter.toggleHostAttribute(t.attributes.VERTICAL,this._vertical))}get stacked(){return this._stacked}set stacked(o){this._stacked!==o&&(this._stacked=o,this._adapter.toggleHostAttribute(t.attributes.STACKED,this._stacked))}get secondary(){return this._secondary}set secondary(o){this._secondary!==o&&(this._secondary=o,this._adapter.toggleHostAttribute(t.attributes.SECONDARY,this._secondary))}get inverted(){return this._inverted}set inverted(o){this._inverted!==o&&(this._inverted=o,this._adapter.toggleHostAttribute(t.attributes.INVERTED,this._inverted))}};var X='<template><div class="forge-tab" part="container"><span class="content" part="content"><slot name="leading"></slot><span class="label" part="label"><slot></slot></span><slot name="trailing"></slot><span class="indicator" part="indicator"></span></span><forge-state-layer target=":host"></forge-state-layer><forge-focus-indicator target=":host" inward></forge-focus-indicator></div></template>',j=":host{display:-webkit-inline-box;display:inline-flex;outline:0;-webkit-tap-highlight-color:transparent;vertical-align:middle}:host([hidden]){display:none}:host(:focus) .forge-tab{color:var(--_focus-label-text-color)}:host(:focus) .forge-tab ::slotted([slot=leading]),:host(:focus) .forge-tab ::slotted([slot=trailing]){color:var(--_focus-icon-color)}:host(:active) .forge-tab{color:var(--_pressed-label-text-color);outline:0}:host(:active) .forge-tab ::slotted([slot=leading]),:host(:active) .forge-tab ::slotted([slot=trailing]){color:var(--_pressed-icon-color)}:host([disabled]){cursor:not-allowed;opacity:var(--forge-tab-disabled-opacity, .38)}:host([disabled]) .forge-tab{pointer-events:none}:host([selected]) .forge-tab{color:var(--_active-label-text-color)}:host([selected]) .forge-tab ::slotted([slot=leading]),:host([selected]) .forge-tab ::slotted([slot=trailing]){color:var(--_active-icon-color)}:host([selected]) .forge-tab:hover{color:var(--_active-hover-label-text-color)}:host([selected]) .forge-tab:hover ::slotted([slot=leading]),:host([selected]) .forge-tab:hover ::slotted([slot=trailing]){color:var(--_active-hover-icon-color)}:host([selected]) .forge-tab .indicator{opacity:1}:host([selected]:not([vertical])) forge-focus-indicator{--forge-focus-indicator-offset-block:0 calc(var(--_active-indicator-height) + 1px)}:host([selected]:focus) .forge-tab{color:var(--_active-focus-label-text-color)}:host([selected]:focus) .forge-tab ::slotted([slot=leading]),:host([selected]:focus) .forge-tab ::slotted([slot=trailing]){color:var(--_active-focus-icon-color)}:host([selected]:active) .forge-tab{color:var(--_active-pressed-label-text-color)}:host([selected]:active) .forge-tab ::slotted([slot=leading]),:host([selected]:active) .forge-tab ::slotted([slot=trailing]){color:var(--_active-pressed-icon-color)}:host([stacked]) .forge-tab{--_height:var(--forge-tab-stacked-height, 64px)}:host([stacked]) .forge-tab .content{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}:host([secondary]) .forge-tab{--_active-indicator-height:var(--forge-tab-indicator-height, 2px);--_active-indicator-shape:var(--forge-tab-indicator-shape, 0)}:host([secondary]) .content{width:100%}:host([secondary]) .indicator{min-width:100%}:host([vertical]) .forge-tab{width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;border-bottom:none}:host([vertical]) .forge-tab .content{width:100%}:host([vertical]) .forge-tab .indicator{height:100%;min-width:var(--_active-indicator-height);inset:0 0 0 auto}:host([vertical]) forge-focus-indicator{--forge-focus-indicator-offset-inline:0 calc(var(--_active-indicator-height) + 1px)}:host([vertical][secondary]) .content{min-height:100%}:host([vertical]:not([secondary])) .forge-tab{--_active-indicator-shape:var(--forge-tab-indicator-shape, 3px 0 0 3px)}:host([inverted]) .forge-tab{--_active-indicator-shape:var(--forge-tab-indicator-shape, 0 0 3px 3px)}:host([inverted]) .indicator{inset:0 0 auto;-webkit-transform-origin:top left;transform-origin:top left}:host([inverted][vertical]) .forge-tab{--_active-indicator-shape:var(--forge-tab-indicator-shape, 0 3px 3px 0)}:host([inverted][vertical]) .indicator{inset:0 auto 0 0}.forge-tab{--_active-color:var(--forge-tab-active-color, var(--forge-theme-primary, #3f51b5));--_inactive-color:var(--forge-tab-inactive-color, var(--forge-theme-text-secondary, rgba(0, 0, 0, 0.54)));--_height:var(--forge-tab-height, 48px);--_active-indicator-color:var(--forge-tab-indicator-color, var(--_active-color));--_active-indicator-height:var(--forge-tab-indicator-height, 3px);--_active-indicator-shape:var(--forge-tab-indicator-shape, 3px 3px 0 0);--_container-color:var(--forge-tab-container-color, transparent);--_container-height:var(--forge-tab-container-height, var(--_height));--_container-shape:var(--forge-tab-container-shape, 0);--_content-height:var(--forge-tab-content-height, var(--_height));--_active-focus-icon-color:var(--forge-tab-active-focus-icon-color, var(--_active-color));--_active-hover-icon-color:var(--forge-tab-active-hover-icon-color, var(--_active-color));--_active-icon-color:var(--forge-tab-active-icon-color, var(--_active-color));--_active-pressed-icon-color:var(--forge-tab-active-pressed-icon-color, var(--_active-color));--_icon-size:var(--forge-tab-icon-size, 24px);--_focus-icon-color:var(--forge-tab-focus-icon-color, var(--_inactive-color));--_hover-icon-color:var(--forge-tab-hover-icon-color, var(--_inactive-color));--_icon-color:var(--forge-tab-icon-color, var(--_inactive-color));--_pressed-icon-color:var(--forge-tab-pressed-icon-color, var(--_inactive-color));--_active-focus-label-text-color:var(--forge-tab-active-focus-label-text-color, var(--_active-color));--_active-hover-label-text-color:var(--forge-tab-active-hover-label-text-color, var(--_active-color));--_active-label-text-color:var(--forge-tab-active-label-text-color, var(--_active-color));--_active-pressed-label-text-color:var(--forge-tab-active-pressed-label-text-color, var(--_active-color));--_focus-label-text-color:var(--forge-tab-focus-label-text-color, var(--_inactive-color));--_hover-label-text-color:var(--forge-tab-hover-label-text-color, var(--_inactive-color));--_label-text-color:var(--forge-tab-label-text-color, var(--_inactive-color));--_pressed-label-text-color:var(--forge-tab-pressed-label-text-color, var(--_inactive-color));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-button-font-family, var(--forge-typography-font-family, Roboto, sans-serif));font-size:var(--forge-typography-button-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-button-font-size-scale, .875)));font-weight:var(--forge-typography-button-font-weight,500);line-height:var(--forge-typography-button-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-button-line-height-scale, 2.25)));letter-spacing:var(--forge-typography-button-letter-spacing, .0892857143em);text-transform:var(--forge-typography-button-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-button-text-decoration,inherit);text-decoration:var(--forge-typography-button-text-decoration,inherit);color:var(--forge-typography-button-color,var(--forge-theme-text-primary,rgba(0,0,0,.87)));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;border:none;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;vertical-align:middle;background:0 0;text-decoration:none;width:100%;position:relative;padding:0;margin:0;z-index:0;background-color:var(--_container-color);color:var(--_label-text-color);min-height:var(--_container-height)}.forge-tab::-moz-focus-inner{padding:0;border:0}.forge-tab ::slotted([slot=leading]),.forge-tab ::slotted([slot=trailing]){display:-webkit-inline-box;display:inline-flex;position:relative;-webkit-writing-mode:horizontal-tb;-ms-writing-mode:lr-tb;writing-mode:horizontal-tb;fill:currentColor;color:var(--_icon-color);font-size:var(--_icon-size);width:var(--_icon-size);height:var(--_icon-size)}.forge-tab:hover{color:var(--_hover-label-text-color);cursor:pointer}.forge-tab:hover ::slotted([slot=leading]),.forge-tab:hover ::slotted([slot=trailing]){color:var(--_hover-icon-color)}.forge-tab .content{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;white-space:nowrap;-webkit-transition:150ms color linear;transition:150ms color linear;max-height:calc(var(--_content-height) + 2 * var(--forge-spacing-100,8px));min-height:var(--_content-height);padding:var(--forge-spacing-100,8px) calc(2 * var(--forge-spacing-100,8px));gap:var(--forge-spacing-050,4px)}.forge-tab .content .label{display:inline-block;line-height:1}.forge-tab .indicator{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:-1;-webkit-transform-origin:bottom left;transform-origin:bottom left;background:var(--_active-indicator-color);border-radius:var(--_active-indicator-shape);height:var(--_active-indicator-height);inset:auto 0 0;opacity:0}::slotted(*),host{white-space:nowrap}forge-focus-indicator{--forge-focus-indicator-color:var(--_active-color);--forge-focus-indicator-shape:8px}forge-state-layer{--forge-state-layer-color:var(--_inactive-color)}",a=class extends I{constructor(){super();T(this,X,j),this._foundation=new g(new p(this))}static get observedAttributes(){return[t.attributes.DISABLED,t.attributes.SELECTED,t.attributes.VERTICAL,t.attributes.STACKED,t.attributes.SECONDARY,t.attributes.INVERTED]}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(e,i,r){switch(e){case t.attributes.DISABLED:this.disabled=s(r);break;case t.attributes.SELECTED:this.selected=s(r);break;case t.attributes.VERTICAL:this.vertical=s(r);break;case t.attributes.STACKED:this.stacked=s(r);break;case t.attributes.SECONDARY:this.secondary=s(r);break;case t.attributes.INVERTED:this.inverted=s(r);break}}};n([c()],a.prototype,"disabled",2),n([c()],a.prototype,"selected",2),n([c()],a.prototype,"vertical",2),n([c()],a.prototype,"stacked",2),n([c()],a.prototype,"secondary",2),n([c()],a.prototype,"inverted",2),a=n([S({name:t.elementName,dependencies:[w,L]})],a);export{D as a,J as b,t as c,p as d,g as e,a as f};
7
- //# sourceMappingURL=chunk.PEBT47AU.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{h as C}from"./chunk.DMCBAYQX.js";import{a as A}from"./chunk.PADPL4L3.js";import{a as p}from"./chunk.NVUMRW44.js";import{a as x}from"./chunk.BKL2BAYW.js";import{a as v,b as T,e as E}from"./chunk.DXN7ZOH3.js";import{a as I,e as g,k as y}from"./chunk.MVTBJPO2.js";import{k as h}from"./chunk.J2M2MXP2.js";import{a as b,d as l}from"./chunk.M3QDAYD2.js";var R=`${T}icon`,S={NAME:"name",SRC:"src",LAZY:"lazy",EXTERNAL:"external",EXTERNAL_TYPE:"external-type",VIEWBOX:"viewbox"},D=b({},S),M={LAZY_ROOT_MARGIN:50,DEFAULT_WIDTH:24,DEFAULT_HEIGHT:24},k={DEFAULT_NETWORK_BASE_URL:`${E}v1/icons/svg`},r={elementName:R,attributes:D,numbers:M,strings:k},_="forgeIcons";var u=class extends x{constructor(t){super(t)}initialize(){this._component.hasAttribute("aria-hidden")||this._component.setAttribute("aria-hidden","true")}canLazyLoad(){return!!window.IntersectionObserver}observeVisibility(t){this._observer=new IntersectionObserver(i=>{i.some(s=>s.isIntersecting)&&(this.destroyVisibilityObserver(),t())},{rootMargin:`${r.numbers.LAZY_ROOT_MARGIN}px`}),this._observer.observe(this._component)}destroyVisibilityObserver(){this._observer&&(this._observer.disconnect(),this._observer=void 0)}setContent(t){let i=this._component.shadowRoot,s=i.querySelector("style");i.innerHTML=t,s&&i.appendChild(s)}};var n=class n{static define(e,t){if(Array.isArray(e))return e.filter(d=>n._isIconObject(d)).forEach(d=>n._register(d.name,d.data));let{name:i,data:s}=n._parseIcon(e,t);n._register(i,s)}static remove(e){let t=n._isIconObject(e)?e.name:e;n._icons.delete(t)}static removeListener(e,t){let i=n._listeners.get(e);Array.isArray(i)&&i.includes(t)&&i.splice(i.indexOf(t),1)}static clear(){n._icons.clear(),n._listeners.clear()}static get(e){return n._icons.get(e)}static getIconNames(){return Array.from(n._icons.keys())}static awaitIcon(e,t){var s;if(n._icons.has(e)){t();return}let i=(s=n._listeners.get(e))!=null?s:[];n._listeners.set(e,[...i,t])}static get size(){return n._icons.size}static _register(e,t){n._icons.set(e,t),n._invalidateListeners(e)}static _invalidateListeners(e){let t=n._listeners.get(e);Array.isArray(t)&&t.length&&(t.forEach(i=>i()),n._listeners.delete(e))}static _parseIcon(e,t=""){return n._isIconObject(e)?e:{name:e,data:t}}static _isIconObject(e){return typeof e=="object"&&e.hasOwnProperty("name")&&e.hasOwnProperty("data")}};n._icons=new Map,n._listeners=new Map;var c=n;var f=new Map;function L(o,e,t=!0){if(!o||!o.includes("svg"))return"";!e&&!o.includes("viewBox")&&(e=`0 0 ${r.numbers.DEFAULT_WIDTH} ${r.numbers.DEFAULT_HEIGHT}`);let i=C(o,e);return t&&i&&(i.setAttribute("part","svg"),i.querySelectorAll("path").forEach(s=>{s.setAttribute("part",s.tagName.toLowerCase())})),i?i.outerHTML:""}function N(o){return c.get(o)}function w(o,e){c.awaitIcon(o,e)}function O(o,e){c.removeListener(o,e)}function B(o,e){let t=f.get(o);if(!t)if(typeof fetch!="undefined"&&typeof document!="undefined")t=fetch(o).then(async i=>{if(i.ok){let s=await i.text()||"";return c.define({name:e,data:s}),f.delete(o),s}return c.define({name:e,data:""}),""}),f.set(o,t);else return c.define({name:e,data:""}),Promise.resolve("");return t||Promise.resolve("")}function z(o){return["standard","extended","custom"].includes(o)?o:""}var m=class{constructor(e){this._adapter=e;this._external=!1;this._externalType="standard";this._lazyListener=()=>this._loadIcon()}initialize(){this._adapter.initialize(),this._applyIcon()}disconnect(){this._adapter.destroyVisibilityObserver(),this._clearIconQueue(),this._tryRemoveListener()}_safeApplyIcon(){this._adapter.isConnected&&(this._clearIconQueue(),this._queueIconUpdate())}_tryRemoveListener(){this._registrationListener&&this._name&&O(this._name,this._registrationListener)}_applyIcon(){this._lazy&&this._adapter.canLazyLoad()?this._adapter.observeVisibility(this._lazyListener):this._loadIcon()}_clearIconQueue(){this._applyTimer&&(clearTimeout(this._applyTimer),this._applyTimer=void 0)}_queueIconUpdate(){this._applyTimer=window.setTimeout(()=>{this._applyTimer=void 0,this._applyIcon()})}async _loadIcon(){try{if(this._src)this._setIconContent(this._src);else if(this._name){let e=this._tryGetIcon(this._name);if(!e){if(!this._external){this._registrationListener=()=>this._applyIcon(),w(this._name,this._registrationListener),this._adapter.setContent("");return}if(!this._externalType)throw new Error(`Invalid external type provided for icon: ${this._name}`);let t=this._getExternalUrl(this._name,this._externalType);t&&(e=await B(t,this._name))}this._setIconContent(e)}else this._adapter.setContent("")}catch(e){throw this._adapter.setContent(""),e}}_setIconContent(e){let t=L(e,this._viewbox);this._adapter.setContent(t)}_tryGetIcon(e){return N(e)}_getExternalUrl(e,t){if(typeof this._externalUrlBuilder=="function")return this._externalUrlBuilder(e,t);let i=z(this._externalType);return`${r.strings.DEFAULT_NETWORK_BASE_URL}${i?`/${i}`:""}/${e}.svg`}get name(){return this._name}set name(e){this._name!==e&&(this._registrationListener&&this._tryRemoveListener(),this._name=(e||"").replace(/\s+/,""),this._safeApplyIcon(),this._adapter.toggleHostAttribute(r.attributes.NAME,!!this._name,this._name))}get src(){return this._src}set src(e){this._src!==e&&(this._src=e,this._adapter.isConnected&&this._applyIcon())}get lazy(){return this._lazy}set lazy(e){this._lazy!==e&&(this._lazy=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.LAZY,`${this._lazy}`))}get external(){return this._external}set external(e){this._external!==e&&(this._external=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.EXTERNAL,`${this._external}`))}get externalType(){return this._externalType}set externalType(e){this._externalType!==e&&(this._externalType=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.EXTERNAL_TYPE,`${this._externalType}`))}get externalUrlBuilder(){return this._externalUrlBuilder}set externalUrlBuilder(e){this._externalUrlBuilder!==e&&(this._externalUrlBuilder=e,this._safeApplyIcon())}get viewbox(){return this._viewbox}set viewbox(e){this._viewbox!==e&&(this._viewbox=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.VIEWBOX,`${this.viewbox}`))}layout(){this._adapter.isConnected&&this._applyIcon()}};var H="<template></template>",F=':host{font-size:24px;font-size:var(--forge-icon-font-size, 24px);display:inline-block;contain:content;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host>svg{fill:currentColor;fill:var(--forge-icon-theme-color,currentColor);stroke:currentColor;stroke:var(--forge-icon-theme-color,currentColor);display:block;width:1em;height:1em;stroke-width:0}:host([hidden]){display:none}:host([theme=primary]){color:var("primary")}:host([theme=secondary]){color:var("secondary")}:host([theme=warning]){color:#d14900;color:var("warning", #d14900)}:host([theme=danger]){color:#b00020;color:var("danger", #b00020)}:host([theme=success]){color:#2e7d32;color:var("success", #2e7d32)}:host([theme=info]){color:#424242;color:var("info", #424242)}:host([theme=tertiary]){color:#3d5afe;color:var("tertiary", #3d5afe)}',a=class extends y{constructor(){super();g(this,H,F),this._foundation=new m(new u(this))}static get observedAttributes(){return[r.attributes.NAME,r.attributes.SRC,r.attributes.LAZY,r.attributes.EXTERNAL,r.attributes.EXTERNAL_TYPE,r.attributes.VIEWBOX]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,s){switch(t){case r.attributes.NAME:this.name=s;break;case r.attributes.SRC:this.src=s;break;case r.attributes.LAZY:this.lazy=h(s);break;case r.attributes.EXTERNAL:this.external=h(s);break;case r.attributes.EXTERNAL_TYPE:this.externalType=s;break;case r.attributes.VIEWBOX:this.viewbox=s;break}}layout(){this._foundation.layout()}};l([p()],a.prototype,"name",2),l([p()],a.prototype,"src",2),l([p()],a.prototype,"lazy",2),l([p()],a.prototype,"external",2),l([p()],a.prototype,"externalType",2),l([p()],a.prototype,"externalUrlBuilder",2),l([p()],a.prototype,"viewbox",2),a=l([v({name:r.elementName})],a);var U=class extends A{constructor(e){super(e)}_build(){return document.createElement(r.elementName)}};function Te(){I(a)}window&&!window[_]&&(window[_]=c);export{r as a,_ as b,u as c,c as d,L as e,N as f,w as g,O as h,B as i,z as j,m as k,a as l,U as m,Te as n};
7
- //# sourceMappingURL=chunk.PH3HUFJJ.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/icon/icon-constants.ts", "../../src/icon/icon-adapter.ts", "../../src/icon/icon-registry.ts", "../../src/icon/icon-utils.ts", "../../src/icon/icon-foundation.ts", "../../src/icon/icon.ts", "../../src/icon/icon-component-delegate.ts", "../../src/icon/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX, CDN_BASE_URL } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}icon`;\n\nconst observedAttributes = {\n NAME: 'name',\n SRC: 'src',\n LAZY: 'lazy',\n EXTERNAL: 'external',\n EXTERNAL_TYPE: 'external-type',\n VIEWBOX: 'viewbox'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst numbers = {\n LAZY_ROOT_MARGIN: 50,\n DEFAULT_WIDTH: 24,\n DEFAULT_HEIGHT: 24\n};\n\nconst strings = {\n DEFAULT_NETWORK_BASE_URL: `${CDN_BASE_URL}v1/icons/svg`\n};\n\nexport const ICON_CONSTANTS = {\n elementName,\n attributes,\n numbers,\n strings\n};\n\nexport const ICON_REGISTRY_KEY = 'forgeIcons';\n\nexport declare type IconUrlBuilder = (name: string, type: IconExternalType) => string;\nexport declare type IconExternalType = '' | 'custom' | 'standard' | 'extended';\n", "import { IIconComponent } from './icon';\nimport { BaseAdapter, IBaseAdapter } from '../core';\nimport { ICON_CONSTANTS } from './icon-constants';\n\nexport interface IIconAdapter extends IBaseAdapter {\n initialize(): void;\n canLazyLoad(): boolean;\n observeVisibility(listener: () => void): void;\n destroyVisibilityObserver(): void;\n setContent(content: string): void;\n}\n\nexport class IconAdapter extends BaseAdapter<IIconComponent> implements IIconAdapter {\n private _observer: IntersectionObserver | undefined;\n\n constructor(component: IIconComponent) {\n super(component);\n }\n\n public initialize(): void {\n if (!this._component.hasAttribute('aria-hidden')) {\n this._component.setAttribute('aria-hidden', 'true');\n }\n }\n\n public canLazyLoad(): boolean {\n return !!window.IntersectionObserver;\n }\n\n public observeVisibility(listener: () => void): void {\n this._observer = new IntersectionObserver(entries => {\n if (entries.some(entry => entry.isIntersecting)) {\n this.destroyVisibilityObserver();\n listener();\n }\n }, { rootMargin: `${ICON_CONSTANTS.numbers.LAZY_ROOT_MARGIN}px` });\n this._observer.observe(this._component);\n }\n\n public destroyVisibilityObserver(): void {\n if (this._observer) {\n this._observer.disconnect();\n this._observer = undefined;\n }\n }\n\n public setContent(content: string): void {\n const shadowRoot = this._component.shadowRoot as ShadowRoot;\n const styleTag = shadowRoot.querySelector('style');\n shadowRoot.innerHTML = content;\n if (styleTag) {\n shadowRoot.appendChild(styleTag);\n }\n }\n}\n", "/** The shape of an SVG icon that can be defined with the icon registry. */\nexport interface IIcon {\n /** The unique name of the icon. */\n name: string;\n /** The SVG icon data. */\n data: string;\n}\n\n/**\n * The registry for SVG icon instances being used within the current context.\n */\nexport class IconRegistry {\n private static _icons = new Map<string, string>();\n private static _listeners = new Map<string, Array<() => void>>();\n\n /**\n * Defines a new icon.\n * @param icon The icon(s) to register.\n */\n public static define(icon: IIcon | IIcon[] | string, svgData?: string): void {\n if (Array.isArray(icon)) {\n return icon.filter(i => IconRegistry._isIconObject(i))\n .forEach(i => IconRegistry._register(i.name, i.data));\n }\n const { name, data } = IconRegistry._parseIcon(icon, svgData);\n IconRegistry._register(name, data);\n }\n\n /**\n * Removes a defined icon.\n * @param icon The icon to unregister.\n */\n public static remove(icon: IIcon | string): void {\n const key = IconRegistry._isIconObject(icon) ? icon.name : icon;\n IconRegistry._icons.delete(key);\n }\n\n /**\n * Removes a listener\n * @param key The icon name.\n * @param listener The listener callback.\n */\n public static removeListener(key: string, listener: () => void): void {\n const listeners = IconRegistry._listeners.get(key);\n if (Array.isArray(listeners) && listeners.includes(listener)) {\n listeners.splice(listeners.indexOf(listener), 1);\n }\n }\n\n /** Removes all defined icons. */\n public static clear(): void {\n IconRegistry._icons.clear();\n IconRegistry._listeners.clear();\n }\n\n /** Gets the icon data by its name, or `undefined` if not found. */\n public static get(name: string): string | undefined {\n return IconRegistry._icons.get(name);\n }\n\n /** Gets the names of registered icons. */\n public static getIconNames(): string[] {\n return Array.from(IconRegistry._icons.keys());\n }\n\n /** Registers a listener to be notified when an icon with the provided key is registered in the future. */\n public static awaitIcon(key: string, listener: () => void): void {\n if (IconRegistry._icons.has(key)) {\n listener();\n return;\n }\n const listeners = IconRegistry._listeners.get(key) ?? [];\n IconRegistry._listeners.set(key, [...listeners, listener]);\n }\n\n /** Gets the number of defined icons in the registry. */\n public static get size(): number {\n return IconRegistry._icons.size;\n }\n\n /** Registers an icon, and attempts to invalidate any listeners. */\n private static _register(key: string, value: string): void {\n IconRegistry._icons.set(key, value);\n IconRegistry._invalidateListeners(key);\n }\n\n /** Gets all listeners for a specific key, calls the listeners (if any are found), and removes the listeners after they are called. */\n private static _invalidateListeners(key: string): void {\n const listeners = IconRegistry._listeners.get(key);\n if (Array.isArray(listeners) && listeners.length) {\n listeners.forEach(listener => listener());\n IconRegistry._listeners.delete(key);\n }\n }\n\n /** Normalizes incoming parameters to an `IIcon` type. */\n private static _parseIcon(icon: IIcon | string, data = ''): IIcon {\n if (IconRegistry._isIconObject(icon)) {\n return icon;\n }\n return { name: icon, data };\n }\n\n /** Determines if the provided `icon` matches the `IIcon` shape. */\n private static _isIconObject(icon: any): icon is IIcon {\n return typeof icon === 'object' && icon.hasOwnProperty('name') && icon.hasOwnProperty('data');\n }\n}\n", "import { IconRegistry } from './icon-registry';\nimport { ICON_CONSTANTS } from './icon-constants';\nimport { createSvgFromString } from '../core/utils/svg-utils';\n\nconst _activeIconRequests = new Map<string, Promise<any>>();\n\n/** Determines if the provided SVG icon content is valid */\nexport function sanitizeSvgContent(svgContent: string | undefined, customViewBox?: string, usePartAttrs = true): string {\n if (!svgContent || !svgContent.includes('svg')) {\n return '';\n }\n \n if (!customViewBox && !svgContent.includes('viewBox')) {\n customViewBox = `0 0 ${ICON_CONSTANTS.numbers.DEFAULT_WIDTH} ${ICON_CONSTANTS.numbers.DEFAULT_HEIGHT}`;\n }\n\n const svgElement = createSvgFromString(svgContent, customViewBox);\n\n if (usePartAttrs && svgElement) {\n svgElement.setAttribute('part', 'svg');\n svgElement.querySelectorAll('path').forEach(node => {\n node.setAttribute('part', node.tagName.toLowerCase());\n });\n }\n\n return svgElement ? svgElement.outerHTML : '';\n}\n\nexport function getCachedIcon(key: string): string | undefined {\n return IconRegistry.get(key);\n}\n\nexport function awaitIconDefinition(key: string, listener: () => void): void {\n IconRegistry.awaitIcon(key, listener);\n}\n\nexport function removeIconListener(key: string, listener: () => void): void {\n IconRegistry.removeListener(key, listener);\n}\n\nexport function fetchIconContent(url: string, name: string): Promise<string> {\n // Check if we already have an active request for this URL\n let request = _activeIconRequests.get(url);\n\n if (!request) {\n if (typeof fetch !== 'undefined' && typeof document !== 'undefined') {\n // we don't already have a request\n request = fetch(url).then(async response => {\n if (response.ok) {\n const data = await response.text() || '';\n IconRegistry.define({ name, data });\n _activeIconRequests.delete(url);\n return data;\n }\n IconRegistry.define({ name, data: '' });\n return '';\n });\n\n // Cache this request in case of duplicate requests\n _activeIconRequests.set(url, request);\n } else {\n // set to empty for ssr scenarios and resolve promise\n IconRegistry.define({ name, data: '' });\n return Promise.resolve('');\n }\n }\n\n return request || Promise.resolve('');\n}\n\nexport function sanitizeExternalType(type: string): string {\n const isValidType = ['standard', 'extended', 'custom'].includes(type);\n return isValidType ? type : '';\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IIconAdapter } from './icon-adapter';\nimport { ICON_CONSTANTS, IconUrlBuilder, IconExternalType } from './icon-constants';\nimport { sanitizeSvgContent, fetchIconContent, getCachedIcon, sanitizeExternalType, awaitIconDefinition, removeIconListener } from './icon-utils';\n\nexport interface IIconFoundation extends ICustomElementFoundation {\n name: string | undefined;\n src: string | undefined;\n lazy: boolean;\n external: boolean;\n externalType: IconExternalType;\n externalUrlBuilder: IconUrlBuilder;\n viewbox: string;\n layout(): void;\n}\n\nexport class IconFoundation implements IIconFoundation {\n private _name: string | undefined;\n private _src: string | undefined;\n private _lazy: boolean;\n private _external = false;\n private _externalType: IconExternalType = 'standard';\n private _externalUrlBuilder: IconUrlBuilder;\n private _viewbox: string;\n private _applyTimer: number | undefined;\n private _lazyListener: () => void;\n private _registrationListener: () => void;\n\n constructor(private _adapter: IIconAdapter) {\n this._lazyListener = () => this._loadIcon();\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._applyIcon();\n }\n\n public disconnect(): void {\n this._adapter.destroyVisibilityObserver();\n this._clearIconQueue();\n this._tryRemoveListener();\n }\n\n private _safeApplyIcon(): void {\n if (!this._adapter.isConnected) {\n return;\n }\n this._clearIconQueue();\n this._queueIconUpdate();\n }\n\n private _tryRemoveListener(): void {\n if (this._registrationListener && this._name) {\n removeIconListener(this._name, this._registrationListener);\n }\n }\n\n private _applyIcon(): void {\n if (this._lazy && this._adapter.canLazyLoad()) {\n this._adapter.observeVisibility(this._lazyListener);\n } else {\n this._loadIcon();\n }\n }\n\n private _clearIconQueue(): void {\n if (this._applyTimer) {\n clearTimeout(this._applyTimer);\n this._applyTimer = undefined;\n }\n }\n\n private _queueIconUpdate(): void {\n this._applyTimer = window.setTimeout(() => {\n this._applyTimer = undefined;\n this._applyIcon();\n });\n }\n\n private async _loadIcon(): Promise<void> {\n try {\n if (this._src) {\n // We were provided direct icon source content so just set that\n this._setIconContent(this._src);\n } else if (this._name) {\n // Let's attempt to get our icon from the cache\n let content = this._tryGetIcon(this._name);\n\n if (!content) {\n if (!this._external) {\n // We attach a listener to the registry to let us know when the icon is registered\n this._registrationListener = () => this._applyIcon();\n awaitIconDefinition(this._name, this._registrationListener);\n\n // For now, we render nothing...\n this._adapter.setContent('');\n return;\n }\n \n // We don't have a registry icon, so let's try the network to fetch it\n if (!this._externalType) {\n throw new Error(`Invalid external type provided for icon: ${this._name}`);\n }\n const url = this._getExternalUrl(this._name, this._externalType);\n if (url) {\n content = await fetchIconContent(url, this._name);\n }\n }\n\n this._setIconContent(content);\n } else {\n this._adapter.setContent('');\n }\n } catch (e) {\n this._adapter.setContent('');\n throw e;\n }\n }\n\n private _setIconContent(svgContent: string | undefined): void {\n const content = sanitizeSvgContent(svgContent, this._viewbox);\n this._adapter.setContent(content);\n }\n\n private _tryGetIcon(key: string): string | undefined {\n return getCachedIcon(key);\n }\n\n private _getExternalUrl(name: string, type: IconExternalType): string {\n if (typeof this._externalUrlBuilder === 'function') {\n return this._externalUrlBuilder(name, type);\n }\n const setName = sanitizeExternalType(this._externalType);\n return `${ICON_CONSTANTS.strings.DEFAULT_NETWORK_BASE_URL}${setName ? `/${setName}` : ''}/${name}.svg`;\n }\n\n public get name(): string | undefined {\n return this._name;\n }\n public set name(value: string | undefined) {\n if (this._name !== value) {\n // We need to remove our listener for the previous name if we have any\n if (!!this._registrationListener) {\n this._tryRemoveListener();\n }\n this._name = (value || '').replace(/\\s+/, '');\n this._safeApplyIcon();\n this._adapter.toggleHostAttribute(ICON_CONSTANTS.attributes.NAME, !!this._name, this._name);\n }\n }\n\n public get src(): string | undefined {\n return this._src;\n }\n public set src(value: string | undefined) {\n if (this._src !== value) {\n this._src = value;\n if (this._adapter.isConnected) {\n this._applyIcon();\n }\n }\n }\n\n public get lazy(): boolean {\n return this._lazy;\n }\n public set lazy(value: boolean) {\n if (this._lazy !== value) {\n this._lazy = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.LAZY, `${this._lazy}`);\n }\n }\n\n public get external(): boolean {\n return this._external;\n }\n public set external(value: boolean) {\n if (this._external !== value) {\n this._external = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL, `${this._external}`);\n }\n }\n\n public get externalType(): IconExternalType {\n return this._externalType;\n }\n public set externalType(value: IconExternalType) {\n if (this._externalType !== value) {\n this._externalType = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL_TYPE, `${this._externalType}`);\n }\n }\n\n public get externalUrlBuilder(): IconUrlBuilder {\n return this._externalUrlBuilder;\n }\n public set externalUrlBuilder(cb: IconUrlBuilder) {\n if (this._externalUrlBuilder !== cb) {\n this._externalUrlBuilder = cb;\n this._safeApplyIcon();\n }\n }\n \n public get viewbox(): string {\n return this._viewbox;\n }\n public set viewbox(value: string) {\n if (this._viewbox !== value) {\n this._viewbox = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.VIEWBOX, `${this.viewbox}`);\n }\n }\n\n public layout(): void {\n if (this._adapter.isConnected) {\n this._applyIcon();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { IconAdapter } from './icon-adapter';\nimport { IconFoundation } from './icon-foundation';\nimport { ICON_CONSTANTS, IconUrlBuilder, IconExternalType } from './icon-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template></template>';\nconst styles = ':host{font-size:24px;font-size:var(--forge-icon-font-size, 24px);display:inline-block;contain:content;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host>svg{fill:currentColor;fill:var(--forge-icon-theme-color,currentColor);stroke:currentColor;stroke:var(--forge-icon-theme-color,currentColor);display:block;width:1em;height:1em;stroke-width:0}:host([hidden]){display:none}:host([theme=primary]){color:var(\\\"primary\\\")}:host([theme=secondary]){color:var(\\\"secondary\\\")}:host([theme=warning]){color:#d14900;color:var(\\\"warning\\\", #d14900)}:host([theme=danger]){color:#b00020;color:var(\\\"danger\\\", #b00020)}:host([theme=success]){color:#2e7d32;color:var(\\\"success\\\", #2e7d32)}:host([theme=info]){color:#424242;color:var(\\\"info\\\", #424242)}:host([theme=tertiary]){color:#3d5afe;color:var(\\\"tertiary\\\", #3d5afe)}';\n\nexport interface IIconComponent extends IBaseComponent {\n name: string | undefined;\n src: string | undefined;\n lazy: boolean;\n external: boolean;\n externalType: IconExternalType;\n externalUrlBuilder: IconUrlBuilder;\n viewbox: string;\n layout(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-icon': IIconComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-icon>` custom element.\n * \n * @tag forge-icon\n */\n@CustomElement({\n name: ICON_CONSTANTS.elementName\n})\nexport class IconComponent extends BaseComponent implements IIconComponent {\n public static get observedAttributes(): string[] {\n return [\n ICON_CONSTANTS.attributes.NAME,\n ICON_CONSTANTS.attributes.SRC,\n ICON_CONSTANTS.attributes.LAZY,\n ICON_CONSTANTS.attributes.EXTERNAL,\n ICON_CONSTANTS.attributes.EXTERNAL_TYPE,\n ICON_CONSTANTS.attributes.VIEWBOX\n ];\n }\n\n private _foundation: IconFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new IconFoundation(new IconAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case ICON_CONSTANTS.attributes.NAME:\n this.name = newValue;\n break;\n case ICON_CONSTANTS.attributes.SRC:\n this.src = newValue;\n break;\n case ICON_CONSTANTS.attributes.LAZY:\n this.lazy = coerceBoolean(newValue);\n break;\n case ICON_CONSTANTS.attributes.EXTERNAL:\n this.external = coerceBoolean(newValue);\n break;\n case ICON_CONSTANTS.attributes.EXTERNAL_TYPE:\n this.externalType = newValue as IconExternalType;\n break;\n case ICON_CONSTANTS.attributes.VIEWBOX:\n this.viewbox = newValue;\n break;\n }\n }\n\n /** The name of the icon within the icon registry to be used. */\n @FoundationProperty()\n public declare name: string | undefined;\n\n /** Provides the ability to set the SVG string content directly. */\n @FoundationProperty()\n public declare src: string | undefined;\n\n /** Controls whether the icon will be loaded dynamically when it comes into view. False by default. */\n @FoundationProperty()\n public declare lazy: boolean;\n\n /** Controls whether external network requests are allowed for this icon. Only pertains for icons that aren't defined in the registry. */\n @FoundationProperty()\n public declare external: boolean;\n\n /** The type of icon to load externally. Possible values: \"standard\", \"extended\", \"custom\". */\n @FoundationProperty()\n public declare externalType: IconExternalType;\n\n /** A callback that can be provided to generate a URL that will be used to fetch an SVG icon. */\n @FoundationProperty()\n public declare externalUrlBuilder: IconUrlBuilder;\n\n /** A custom value to apply to the `viewBox` attribute on the internal `<svg>` element. */\n @FoundationProperty()\n public declare viewbox: string;\n\n /** Forces a reload of the icon. */\n public layout(): void {\n this._foundation.layout();\n }\n}\n", "import { BaseComponentDelegate, IBaseComponentDelegateOptions, IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { ICON_CONSTANTS } from './icon-constants';\nimport { IIconComponent } from './icon';\n\nexport interface IIconComponentDelegateOptions extends IBaseComponentDelegateOptions {}\nexport interface IIconComponentDelegateConfig extends IBaseComponentDelegateConfig<IIconComponent, IIconComponentDelegateOptions> {}\n\nexport class IconComponentDelegate extends BaseComponentDelegate<IIconComponent, IIconComponentDelegateOptions> {\n constructor(config?: IIconComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IIconComponent {\n return document.createElement(ICON_CONSTANTS.elementName);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { IconComponent } from './icon';\nimport { IconRegistry } from './icon-registry';\nimport { ICON_REGISTRY_KEY } from './icon-constants';\n\nexport * from './icon-adapter';\nexport * from './icon-constants';\nexport * from './icon-foundation';\nexport * from './icon-registry';\nexport * from './icon-utils';\nexport * from './icon';\nexport * from './icon-component-delegate';\n\nexport function defineIconComponent(): void {\n defineCustomElement(IconComponent);\n}\n\n// Store a reference to the icon registry on `window`.\nif (window && !window[ICON_REGISTRY_KEY]) {\n window[ICON_REGISTRY_KEY] = IconRegistry;\n}\n"],
5
- "mappings": "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",
6
- "names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "numbers", "strings", "CDN_BASE_URL", "ICON_CONSTANTS", "ICON_REGISTRY_KEY", "IconAdapter", "BaseAdapter", "component", "listener", "entries", "entry", "ICON_CONSTANTS", "content", "shadowRoot", "styleTag", "_IconRegistry", "icon", "svgData", "i", "name", "data", "key", "listener", "listeners", "_a", "value", "IconRegistry", "_activeIconRequests", "sanitizeSvgContent", "svgContent", "customViewBox", "usePartAttrs", "ICON_CONSTANTS", "svgElement", "createSvgFromString", "node", "getCachedIcon", "key", "IconRegistry", "awaitIconDefinition", "listener", "removeIconListener", "fetchIconContent", "url", "name", "request", "response", "data", "sanitizeExternalType", "type", "IconFoundation", "_adapter", "removeIconListener", "content", "awaitIconDefinition", "url", "fetchIconContent", "svgContent", "sanitizeSvgContent", "key", "getCachedIcon", "name", "type", "setName", "sanitizeExternalType", "ICON_CONSTANTS", "value", "cb", "template", "styles", "IconComponent", "BaseComponent", "attachShadowTemplate", "IconFoundation", "IconAdapter", "ICON_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "IconComponentDelegate", "BaseComponentDelegate", "config", "ICON_CONSTANTS", "defineIconComponent", "defineCustomElement", "IconComponent", "ICON_REGISTRY_KEY", "IconRegistry"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{d as r}from"./chunk.YRMR7IOS.js";import{a as o}from"./chunk.MVTBJPO2.js";function m(){o(r)}export{m as a};
7
- //# sourceMappingURL=chunk.Q7JUJNYD.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 k}from"./chunk.6YPD6CQM.js";import{a as Y,b as J}from"./chunk.HHCO64F3.js";import{a as X}from"./chunk.ZKGSQQGU.js";import{a as b}from"./chunk.7CGKFRBK.js";import{a as Q}from"./chunk.A62DE5PD.js";import{a as z}from"./chunk.LEVFMI2Q.js";import{g as O,h as I}from"./chunk.FYWPZFLJ.js";import{a as j,d as q}from"./chunk.PH3HUFJJ.js";import{d as $}from"./chunk.DXN7ZOH3.js";import{f as H}from"./chunk.MVTBJPO2.js";import{d as R,e as M,f as B,i as U,x as K}from"./chunk.K7FPXAFS.js";import{b as _,d as V,h as P,j as v,n as g,p as G}from"./chunk.J2M2MXP2.js";import{a as A}from"./chunk.M3QDAYD2.js";var he={POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold",SYNC_POPUP_WIDTH:"sync-popup-width",CONSTRAIN_POPUP_WIDTH:"constrain-popup-width",WRAP_OPTION_TEXT:"wrap-option-text",CHECKBOX_ELEMENT:"data-list-dropdown-checkbox",DATA_ALLOW_FOCUS:"data-list-dropdown-allow-focus"},me={GROUP_WRAPPER:"forge-list-dropdown__group-wrapper"},u={attributes:he,classes:me},Z={options:[],syncWidth:!1,selectedValues:[],multiple:!1},ee=(o=>(o.None="none",o.Standard="standard",o.Menu="menu",o))(ee||{}),te=(t=>(t.Spinner="spinner",t.Skeleton="skeleton",t))(te||{});var E=class{constructor(){this._listenerMap=new Map}_emit(e,t){let o=this._listenerMap.get(e);o&&o.length&&o.forEach(n=>n({type:e,data:t}))}hasListeners(e){return e?this._listenerMap.has(e):this._listenerMap.size>0}addListener(e,t){if(!this._listenerMap.has(e))this._listenerMap.set(e,[t]);else{let o=this._listenerMap.get(e);o&&o.push(t)}}removeListener(e,t){let o=this._listenerMap.get(e);o&&o.length&&o.includes(t)&&(o.splice(o.indexOf(t),1),o.length||this._listenerMap.delete(e))}};var f;(function(i){i.Up="up",i.Down="down",i.Left="left",i.Right="right"})(f||(f={}));var c;(function(i){i.Scroll="scroll",i.Scrolled="scrolled",i.ScrolledStart="scrolled-start",i.ScrolledEnd="scrolled-end"})(c||(c={}));var _e=100,w=class extends E{constructor(e,t={}){super(),this._element=e,this._config=t,this._axis="vertical",this._scrollThreshold=0,this._lastScrollPosition=0,this._lastScrollTop=0,this._lastScrollLeft=0,this._isListening=!1,this._initialize()}destroy(){this.stop()}start(){this._isListening||(this._element.addEventListener("scroll",this._scrollListener),this._isListening=!0)}stop(){this._element.removeEventListener("scroll",this._scrollListener),this._isListening=!1}_initialize(){if(this._config.throttle){let e=this._config.throttleTime||_e;this._scrollListener=G(()=>this._onScroll(),e)}else this._scrollListener=()=>this._onScroll();(!_(this._config.paused)||!this._config.paused)&&this.start(),_(this._config.axis)&&(this._axis=this._config.axis),_(this._config.scrollThreshold)&&V(this._config.scrollThreshold)&&(this._scrollThreshold=this._config.scrollThreshold)}_isScrollAxis(){let e=this._lastScrollTop!==this._element.scrollTop,t=this._lastScrollLeft!==this._element.scrollLeft;return this._axis==="vertical"&&e||this._axis==="horizontal"&&t}_onScroll(){if(!this._isScrollAxis())return;let e=this.scrollPosition,t=this._lastScrollPosition-e<0?this._axis==="vertical"?f.Down:f.Right:this._axis==="vertical"?f.Up:f.Left;this._emit(c.Scroll,{direction:t,position:e}),this._lastScrollPosition<=this._scrollThreshold&&e>this._scrollThreshold?this._emit(c.Scrolled,!0):this._lastScrollPosition>=this._scrollThreshold&&(this._scrollThreshold>0?e<this._scrollThreshold:e===0)&&this._emit(c.Scrolled,!1);let o=Math.round(e-this._scrollThreshold),n=Math.round(this.scrollSize-e);this._lastScrollPosition>=this._scrollThreshold&&o<=0?this._emit(c.ScrolledStart):this._lastScrollPosition<=this.scrollSize-this._scrollThreshold&&n<=this._scrollThreshold&&this._emit(c.ScrolledEnd),this._lastScrollPosition=e||0,this._lastScrollTop=this._element.scrollTop||0,this._lastScrollLeft=this._element.scrollLeft||0}get scrollPosition(){return this._axis==="vertical"?this._element.scrollTop:this._element.scrollLeft}get isScrolled(){return this.scrollPosition>this._scrollThreshold}get isScrolledStart(){return this.scrollPosition===0}get isScrolledEnd(){return this.scrollPosition===this._element.scrollWidth}get isScrollable(){return this._axis==="vertical"?this._element.scrollHeight>this._element.clientHeight:this._element.scrollWidth>this._element.clientWidth}get scrollSize(){return(this._axis==="vertical"?this._element.scrollHeight:this._element.scrollWidth)-this.elementSize}get elementSize(){return this._axis==="vertical"?this._element.clientHeight:this._element.clientWidth}setScrollPosition(e){this._axis==="vertical"?this._element.scrollTop=e:this._element.scrollLeft=e}};function oe(i,e){let t=fe(i,e),o=`list-dropdown-popup-${i.id}`;switch(t.addEventListener("mousedown",n=>{let a=z(n);if(a.find(h=>h.nodeType===1&&h.hasAttribute(u.attributes.DATA_ALLOW_FOCUS)))return;a.find(h=>h.id===o||h.id===i.id)&&n.preventDefault()}),i.type){case"menu":t.setAttribute("role","menu"),t.setAttribute("aria-orientation","vertical");break;default:t.setAttribute("role","listbox")}return i.id&&(t.id=o),i.popupClasses&&B(i.popupClasses,t),t}function fe(i,e){var o;let t=document.createElement("forge-popup");switch(t.targetElement=e,t.placement=i.popupPlacement||"bottom-start",t.manageFocus=!1,t.static=!!i.popupStatic,(o=i.popupFallbackPlacements)!=null&&o.length&&(t.fallbackPlacements=i.popupFallbackPlacements),i.constrainViewportWidth&&t.setAttribute(b.attributes.CONSTRAIN_VIEWPORT_WIDTH,""),i.popupOffset&&(t.offset=i.popupOffset),i.type){case"menu":t.animationType="menu";break;case"none":t.animationType="none";break;default:t.animationType="dropdown"}return t}function ne(i){let e=document.createElement(Y.elementName);return e.id=`list-dropdown-list-${i.id}`,e.propagateClick=!1,e}function y(i,e,t,o=0,n=!0){let a=ge(t||i.options),d=N(a),L=!!i.optionLimit,h=i.optionLimit||0,ae=o;for(let m of a){let x=e;if(m.builder&&typeof m.builder=="function"){let s=m.builder(m);if(s){let p=document.createElement("div");p.classList.add(u.classes.GROUP_WRAPPER),x=p,typeof s=="string"?p.innerHTML=s:s instanceof HTMLElement&&p.appendChild(s),e.appendChild(p)}}else if(m.text){let s=document.createElement("div");s.classList.add(u.classes.GROUP_WRAPPER);let p=document.createElement("div");p.textContent=m.text,p.classList.add("forge-typography--overline"),p.style.fontFamily="Roboto,sans-serif",p.style.fontSize="0.75rem",p.style.lineHeight="2rem",p.style.letterSpacing="0.16667em",p.style.fontWeight="500",p.style.margin="4px 8px",x=s,s.appendChild(p),e.appendChild(s)}for(let s of m.options){if(s.divider){let r=ve();e.appendChild(r);continue}if(L&&--h<0)break;let p=i.selectedValues?i.selectedValues.some(r=>g(r,s.value)):!1;if(!n&&p)continue;let l=document.createElement("forge-list-item");switch(l.value=s.value,l.id=`list-dropdown-option-${i.id}-${ae++}`,l.style.cursor="pointer",i.wrapOptionText&&(l.wrap=!0),s.optionClass&&(typeof s.optionClass=="string"||Array.isArray(s.optionClass)&&s.optionClass.length)&&B(s.optionClass,l),i.type){case"menu":l.setAttribute("role","menuitem");break;case"none":break;default:l.setAttribute("role","option")}if(i.dense&&(l.dense=!0),i.optionBuilder&&typeof i.optionBuilder=="function"){let r=i.optionBuilder(s,l);r&&(typeof r=="string"?l.innerHTML=r:l.appendChild(r))}else if(typeof i.transform!="function")l.textContent=s.label||"";else{let r=i.transform(s.label);typeof r=="string"?l.textContent=r:typeof r=="object"&&r.nodeType!==void 0&&l.appendChild(r)}if(i.multiple){let r=C(p);l.appendChild(r),l.setAttribute("aria-selected",`${p}`),l.setAttribute("aria-checked",`${p}`)}if(s.elementAttributes&&s.elementAttributes.forEach((r,F)=>{l.setAttribute(F,r)}),s.leadingBuilder){let r=s.leadingBuilder();v(r)&&(r.slot="leading",l.appendChild(r))}else if(s.leadingIcon){let r=ie(s.leadingIconType,s.leadingIcon,s.leadingIconClass||i.iconClass);r.slot="leading",l.appendChild(r)}if(s.trailingBuilder){let r=s.trailingBuilder();v(r)&&(r.slot="trailing",l.appendChild(r))}else if(s.trailingIcon){let r=ie(s.trailingIconType,s.trailingIcon,s.trailingIconClass||i.iconClass);r.slot="trailing",l.appendChild(r)}if(s.disabled?(l.disabled=s.disabled,l.setAttribute("aria-disabled","true")):(l.style.cursor="pointer",l.setAttribute("aria-disabled","false")),p&&(l.selected=!0),l.setAttribute("aria-selected",p?"true":"false"),!s.disabled&&typeof i.cascadingElementFactory=="function"&&Array.isArray(s.options)&&s.options.length){let r=document.createElement("forge-icon");r.name="arrow_right",r.slot="trailing",l.appendChild(r);let ce={index:d.filter(ue=>!ue.divider).indexOf(s),options:s.options,parentValue:s.value},W=i.cascadingElementFactory.call(null,ce);W.appendChild(l),l=W}x.appendChild(l)}}}function C(i){let e=document.createElement("forge-icon");return e.setAttribute(u.attributes.CHECKBOX_ELEMENT,""),e.name=i?I.name:O.name,e.slot="leading",e.style.marginRight="16px",e.style.verticalAlign="middle",e}function ve(){let i=document.createElement("forge-divider");return i.setAttribute("aria-hidden","true"),i}function ie(i="font",e,t){if(i==="component"){let n=document.createElement("forge-icon");return t&&n.classList.add(t),n.setAttribute("aria-hidden","true"),n.name=e,n}let o=document.createElement("i");return o.classList.add(t||$),o.setAttribute("aria-hidden","true"),o.textContent=e,o}function se(i){switch(i){case"skeleton":return Le();default:return be()}}function be(){let i=document.createElement("div");i.style.display="flex",i.style.justifyContent="center",i.style.alignItems="center",i.style.padding="8px",i.style.boxSizing="border-box";let e=document.createElement("forge-circular-progress");return e.style.setProperty("--forge-circular-progress-size","24px"),i.appendChild(e),i}function Le(){let i=document.createElement("forge-list"),e=document.createElement("div");e.style.minWidth="192px";for(let t=0;t<3;t++){let o=document.createElement(Q.elementName);o.setAttribute("list-item",""),e.appendChild(o)}return i.appendChild(e),i}function re(){let i=document.createElement(X.elementName);return i.determinate=!1,i.style.position="absolute",i.style.top="0",i.style.left="0",i.style.right="0",i.style.width="100%",i}function ge(i){return le(i,1)?i:[{text:"",options:i}]}function le(i,e){let t=i.some(n=>_(n)&&v(n)&&n.hasOwnProperty("options")&&(n.hasOwnProperty("text")||n.hasOwnProperty("builder"))),o=i.some(n=>_(n)&&v(n)&&n.hasOwnProperty("label")&&n.hasOwnProperty("value"));return t&&e===1||o&&e===0}function N(i){return le(i,1)?i.reduce((t,o)=>t.concat(o.options),[]):[...i]}var S=class{constructor(e,t){this._adapter=e;this._open=!1;this._config=Object.assign(A({},Z),A({},t)),this._selectListener=(o,n)=>this._onSelect(o,n),this._closeListener=()=>{typeof this._config.closeCallback=="function"&&this._config.closeCallback()},this._scrollEndListener=()=>{this._config.observeScroll&&typeof this._config.scrollEndListener=="function"&&this._config.scrollEndListener()}}destroy(){this._open&&this.close()}open(){this._open||(this._open=!0,this._adapter.open(this._config,this._selectListener,this._closeListener),window.requestAnimationFrame(()=>{this._open&&this.activateInitialOption()}),this._config.observeScroll&&this._config.scrollEndListener&&this._adapter.setScrollBottomListener(this._scrollEndListener,this._config.observeScrollThreshold||0))}close(){this._open&&(this._open=!1,this._adapter.close(),this._config.observeScroll&&this._config.scrollEndListener&&this._adapter.removeScrollBottomListener(this._scrollEndListener))}_onSelect(e,t){if(typeof this._config.activeChangeCallback=="function"&&this._config.activeChangeCallback(t),typeof this._config.selectCallback=="function"&&this._config.selectCallback(e),this._open){let o=this._config.syncWidth===void 0;this._adapter.syncWidth(o)}}getActiveOptionIndex(){return this._adapter.getActiveOptionIndex()}getActiveOption(){let e=this.getActiveOptionIndex();return e>=0?this._nonDividerOptions[e]:void 0}toggleOptionMultiple(e,t){return this._adapter.toggleOptionMultiple(e,t)}activateSelectedOption(){this._adapter.activateSelectedOption(this._config)}activateFirstOption(){let e=this._nonDividerOptions.findIndex(t=>!t.disabled);return e!==-1&&this.activateOption(e),e}activateLastOption(){let e=this._nonDividerOptions,t=e.length-1-e.findIndex(o=>!o.disabled);return t!==-1&&this.activateOption(t),t}activateOption(e,t){return this._adapter.activateOption(e,this._config.activeChangeCallback,t)}activateInitialOption(){typeof this._config.activeStartIndex=="number"&&this._nonDividerOptions[this._config.activeStartIndex]?(this.activateOption(this._config.activeStartIndex,!1),this._adapter.scrollSelectedOptionIntoView(!1)):this._config.selectedValues&&this._config.selectedValues.length?this._adapter.scrollSelectedOptionIntoView(!1):typeof this._config.visibleStartIndex=="number"&&this._nonDividerOptions[this._config.visibleStartIndex]&&this._adapter.scrollOptionIntoView(this._config.visibleStartIndex)}setSelectedValues(e){Array.isArray(e)||(e=[e]),!this._config.multiple&&e.length>1&&(e=[e[0]]),this._config.selectedValues=e,this._adapter.setSelectedValues(e,this._config.multiple)}clearActiveOption(){this._adapter.clearActiveOption()}setOptions(e){this._config.options=e,this._open&&(this._adapter.setOptions(this._config),this.activateInitialOption())}appendOptions(e){this._config.options=[...this._config.options,...e],this._open&&this._adapter.appendOptions(e,this._config)}get dropdownElement(){return this._adapter.dropdownElement}scrollSelectedOptionIntoView(e=!0){this._adapter.scrollSelectedOptionIntoView(e)}setScrollBottomListener(e,t){this._config.scrollEndListener=e,this._config.observeScroll=!0,this._config.observeScrollThreshold=t,this._adapter.setScrollBottomListener(this._scrollEndListener,this._config.observeScrollThreshold||0)}removeScrollBottomListener(){this._config.scrollEndListener=void 0,this._adapter.removeScrollBottomListener(this._scrollEndListener)}setBusyVisibility(e){this._config.allowBusy&&this._adapter.setBusyVisibility(e)}handleKey(e){switch(e){case"Enter":case"NumpadEnter":let t=this.getActiveOptionIndex(),o=this._nonDividerOptions[t];if(this._canSelectOption(o)){let d=this._adapter.getActiveOptionIdByIndex(t);d&&this._onSelect(o.value,d)}break;case"Up":case"ArrowUp":case"Down":case"ArrowDown":let n=this._nonDividerOptions;if(n.length&&n.every(d=>!this._canSelectOption(d)))return;let a=this._getNextActiveOptionIndex(e);this.activateOption(a);break;case"Home":this.activateFirstOption();break;case"End":this.activateLastOption();break}}_canSelectOption(e){return e&&!e.disabled&&!e.divider}_getNextActiveOptionIndex(e){let t=this._adapter.getActiveOptionIndex();return t===-1&&(t=this._adapter.getSelectedOptionIndex()),e==="ArrowUp"||e==="Up"?this._getPreviousHighlightableOptionIndex(t,this._nonDividerOptions):this._getNextHighlightableOptionIndex(t,this._nonDividerOptions)}_getPreviousHighlightableOptionIndex(e,t){let o=e<=0?t.length-1:e-1;return t[o].disabled?this._getPreviousHighlightableOptionIndex(o,t):o}_getNextHighlightableOptionIndex(e,t){let o=e===t.length-1?0:e+1;return t[o].disabled?this._getNextHighlightableOptionIndex(o,t):o}get _flatOptions(){return N(this._config.options)}get _nonDividerOptions(){return this._flatOptions.filter(e=>!e.divider)}};var D=class{constructor(e){this._targetElement=e}get dropdownElement(){return this._dropdownElement}open(e,t,o){this._dropdownElement=oe(e,this._targetElement),this.syncWidth(!!e.syncWidth,e.targetWidthCallback),e.allowBusy&&(this._busyElement=re(),this._busyElement.style.display="none",this._dropdownElement.appendChild(this._busyElement)),e.headerBuilder&&(this._headerElement=e.headerBuilder(),this._headerElement&&this._headerElement.setAttribute(u.attributes.DATA_ALLOW_FOCUS,"")),e.footerBuilder&&(this._footerElement=e.footerBuilder(),this._footerElement&&this._footerElement.setAttribute(u.attributes.DATA_ALLOW_FOCUS,"")),this._listElement=ne(e),this._listElement.addEventListener("forge-list-item-select",n=>{n.detail.listItem.setAttribute("aria-selected","true"),t(n.detail.value,n.detail.listItem.id)}),e.options.length?(y(e,this._listElement),this._dropdownElement.appendChild(this._listElement),this._headerElement&&this._dropdownElement.insertAdjacentElement("afterbegin",this._headerElement),this._footerElement&&this._dropdownElement.appendChild(this._footerElement)):e.allowBusy&&(this._asyncElement=se(e.asyncStyle),this._dropdownElement.appendChild(this._asyncElement)),this._announcerElement=k(),this._announcerElement.id=`${e.id}-activedescendant`,this._dropdownElement.appendChild(this._announcerElement),this._dropdownElement.open=!0}close(){this._dropdownElement&&(this._dropdownElement.open=!1,this._dropdownElement=void 0,this._listElement=void 0,this._announcerElement=void 0)}setScrollBottomListener(e,t){if(this._dropdownElement&&!this._scrollObserver){let o=H(this._dropdownElement,b.selectors.CONTAINER),n={scrollThreshold:t};this._scrollObserver=new w(o,n),this._scrollObserver.addListener(c.ScrolledEnd,e)}}removeScrollBottomListener(e){this._scrollObserver&&this._scrollObserver.removeListener(c.ScrolledEnd,e)}getActiveOptionIndex(){if(!this._dropdownElement)return-1;let e=this._getListItemElements(),t=[...e].reverse().find(o=>o.active);return t?e.indexOf(t):-1}getSelectedOptionIndex(){return this._getListItemElements().findIndex(t=>t.selected)}getActiveOptionIdByIndex(e){if(!this._dropdownElement)return null;let o=this._getListItemElements()[e];return o?o.id:null}toggleOptionMultiple(e,t){if(!this._dropdownElement)return;let o=this._getListItemElements();o.length&&o[e]&&this._toggleSelectedOption(o[e],t)}scrollOptionIntoView(e,t=!0){let o=this._getListItemElements()[e];o&&this._scrollListItemIntoView(o,t?"smooth":"auto","center")}scrollSelectedOptionIntoView(e=!0){let t=this._getSelectedListItem();this._scrollListItemIntoView(t,e?"smooth":"auto","center")}activateSelectedOption(e){let t=this._getListItemElements();t.length&&t.filter(a=>a.active).forEach(a=>a.active=!1);let o=this._getSelectedListItem();o&&this._activateListOption(o,e.activeChangeCallback)}activateOption(e,t,o=!0){if(!this._dropdownElement)return;let n=this._getListItemElements();n.length&&(n.filter(d=>d.active).forEach(d=>d.active=!1),this._activateListOption(n[e],t),this._scrollListItemIntoView(n[e],o?"smooth":"auto"))}setSelectedValues(e,t=!1){if(!this._dropdownElement)return;let o=this._getListItemElements();for(let n of o){let a=e.some(d=>g(d,n.value));if(n.selected=a,t){let d=n.querySelector(`[${u.attributes.CHECKBOX_ELEMENT}]`);if(d){let L=C(a);M(L,d)}}}}clearActiveOption(){this._getListItemElements().forEach(t=>t.active=!1)}syncWidth(e,t){this._dropdownElement&&(this._dropdownElement.style[e?"width":"minWidth"]=`${this._getTargetElementWidth(t)}px`)}setOptions(e){!this._dropdownElement||!this._listElement||(this._asyncElement&&this._asyncElement.isConnected&&U(this._asyncElement),this._busyElement&&(this._busyElement.style.display="none"),this._listElement.isConnected||this._dropdownElement.appendChild(this._listElement),R(this._listElement),y(e,this._listElement),this._headerElement&&!this._headerElement.isConnected&&this._dropdownElement.insertAdjacentElement("afterbegin",this._headerElement),this._footerElement&&!this._footerElement.isConnected&&this._dropdownElement.insertAdjacentElement("beforeend",this._footerElement),"position"in this._dropdownElement&&typeof this._dropdownElement.position=="function"&&this._dropdownElement.position())}appendOptions(e,t){!this._dropdownElement||!this._listElement||y(t,this._listElement,e,this._listElement.childElementCount,!1)}setBusyVisibility(e){this._dropdownElement&&(e?this._busyElement.style.removeProperty("display"):this._busyElement.style.display="none")}getScreenWidth(){return window.innerWidth}_getListItemElements(){return this._dropdownElement?Array.from(this._dropdownElement.querySelectorAll(J.elementName)):[]}_toggleSelectedOption(e,t){if(!this._dropdownElement)return;let o=this._getListItemElements();if(o.length){let a=o.filter(d=>d!==e&&d.active);a.length&&a.forEach(d=>d.active=!1)}e.selected=t,e.setAttribute("aria-selected",`${t}`),e.setAttribute("aria-checked",`${t}`),t&&(e.active=!0);let n=e.querySelector(`${j.elementName}[slot=leading]`);if(n){let a=C(t);M(a,n)}}_getTargetElementWidth(e){return e&&P(e)?e():this._targetElement.getBoundingClientRect().width}_activateListOption(e,t){e&&!e.disabled&&(e.active=!0,t&&P(t)&&t(e.id))}_scrollListItemIntoView(e,t="auto",o="nearest"){if(e&&this._dropdownElement&&this._dropdownElement.isConnected){let n=H(this._dropdownElement,b.selectors.CONTAINER);n&&K(n,e,t,o)}}_getSelectedListItem(){return this._getListItemElements().find(t=>t.selected)}};var pe=class{constructor(e,t){this._targetElement=e;q.define([I,O]),this._foundation=new S(new D(this._targetElement),t)}destroy(){this._foundation.destroy()}open(){this._foundation.open()}close(){this._foundation.close()}getActiveOptionIndex(){return this._foundation.getActiveOptionIndex()}getActiveOption(){return this._foundation.getActiveOption()}toggleOptionMultiple(e,t){return this._foundation.toggleOptionMultiple(e,t)}activateSelectedOption(){this._foundation.activateSelectedOption()}activateFirstOption(){return this._foundation.activateFirstOption()}activateOption(e){return this._foundation.activateOption(e)}activateInitialOption(){return this._foundation.activateInitialOption()}clearActiveOption(){this._foundation.clearActiveOption()}setSelectedValues(e){return this._foundation.setSelectedValues(e)}get dropdownElement(){return this._foundation.dropdownElement}setOptions(e){this._foundation.setOptions(e)}appendOptions(e){this._foundation.appendOptions(e)}scrollSelectedOptionIntoView(e){this._foundation.scrollSelectedOptionIntoView()}setScrollBottomListener(e,t){this._foundation.setScrollBottomListener(e,t)}removeScrollBottomListener(){this._foundation.removeScrollBottomListener()}setBusyVisibility(e){this._foundation.setBusyVisibility(e)}handleKey(e){this._foundation.handleKey(e)}};var T=class{constructor(){this._popupClasses=[];this._syncPopupWidth=!1;this._optionLimit=0;this._observeScroll=!1;this._observeScrollThreshold=0;this._constrainPopupWidth=!0;this._wrapOptionText=!1}get syncPopupWidth(){return this._syncPopupWidth}set syncPopupWidth(e){this._syncPopupWidth=e}get popupClasses(){return this._popupClasses}set popupClasses(e){typeof e=="string"&&(e=[e]),Array.isArray(e)&&(this._popupClasses=e)}get observeScroll(){return this._observeScroll}set observeScroll(e){this._observeScroll=e}get observeScrollThreshold(){return this._observeScrollThreshold}set observeScrollThreshold(e){this._observeScrollThreshold=e}get optionLimit(){return this._optionLimit}set optionLimit(e){this._optionLimit=e}get popupHeaderBuilder(){return this._popupHeaderBuilder}set popupHeaderBuilder(e){this._popupHeaderBuilder=e}get popupFooterBuilder(){return this._popupFooterBuilder}set popupFooterBuilder(e){this._popupFooterBuilder=e}get constrainPopupWidth(){return this._constrainPopupWidth}set constrainPopupWidth(e){this._constrainPopupWidth=e}get wrapOptionText(){return this._wrapOptionText}set wrapOptionText(e){this._wrapOptionText=e}_applySelection(){}};var de=class extends T{constructor(t){super();this._config=t;this._open=!1;this._options=[];this._childOpen=!1;this._popupHasMouse=!1;this._targetMouseEnterListener=o=>this._onTargetMouseEnter(o),this._targetMouseLeaveListener=o=>this._onTargetMouseLeave(o),this._childPopupMouseEnterListener=()=>this._onChildPopupMouseEnter(),this._childPopupMouseLeaveListener=()=>this._onChildPopupMouseLeave(),this._documentMouseMoveListener=o=>this._mouseCoords={x:o.pageX,y:o.pageY}}_onChildPopupMouseEnter(){this._popupHasMouse=!0}_onChildPopupMouseLeave(){this._popupHasMouse=!1,setTimeout(()=>{let t=document.elementFromPoint(this._mouseCoords.x,this._mouseCoords.y);!this._popupHasMouse&&!this._childOpen&&(!t||!this._isOwnElement(t))&&(this._setCascadeTargetInactive(),this._closeDropdown())},this._config.popupTimeout)}_onTargetMouseEnter(t){this._options.length&&this._openDropdown({fromKeyboard:!1})}_onTargetMouseLeave(t){this._activeMouseLeaveTimeout=window.setTimeout(()=>{if(!(!this._open||this._childOpen)){if(this._mouseCoords){let o=document.elementFromPoint(this._mouseCoords.x,this._mouseCoords.y);if(o&&this._isOwnElement(o))return}this._setCascadeTargetInactive(),this._closeDropdown()}},this._config.targetTimeout)}_clearMouseLeaveTimeout(){this._activeMouseLeaveTimeout!==void 0&&window.clearTimeout(this._activeMouseLeaveTimeout)}};export{u as a,Z as b,ee as c,te as d,le as e,S as f,D as g,pe as h,T as i,de as j};
7
- //# sourceMappingURL=chunk.QCRRHGBA.js.map