@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.
- package/custom-elements.json +36275 -28495
- package/dist/esm/accordion/index.js +1 -1
- package/dist/esm/app-bar/help-button/index.js +1 -1
- package/dist/esm/app-bar/index.js +1 -1
- package/dist/esm/app-bar/menu-button/index.js +1 -1
- package/dist/esm/app-bar/notification-button/index.js +1 -1
- package/dist/esm/app-bar/profile-button/index.js +1 -1
- package/dist/esm/app-bar/search/index.js +1 -1
- package/dist/esm/autocomplete/index.js +1 -1
- package/dist/esm/avatar/index.js +1 -1
- package/dist/esm/backdrop/index.js +1 -1
- package/dist/esm/badge/index.js +1 -1
- package/dist/esm/banner/index.js +1 -1
- package/dist/esm/bottom-sheet/index.js +1 -1
- package/dist/esm/busy-indicator/index.js +1 -1
- package/dist/esm/button/index.js +1 -1
- package/dist/esm/button-area/index.js +7 -0
- package/dist/esm/button-area/index.js.map +7 -0
- package/dist/esm/button-toggle/button-toggle/index.js +1 -1
- package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
- package/dist/esm/button-toggle/index.js +1 -1
- package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
- package/dist/esm/calendar/calendar-menu/index.js +1 -1
- package/dist/esm/calendar/index.js +1 -1
- package/dist/esm/card/index.js +1 -1
- package/dist/esm/checkbox/index.js +1 -1
- package/dist/esm/chip-field/index.js +1 -1
- package/dist/esm/chips/chip/index.js +1 -1
- package/dist/esm/chips/chip-set/index.js +1 -1
- package/dist/esm/chips/index.js +1 -1
- package/dist/esm/chunks/chunk.2LIWNFQK.js +7 -0
- package/dist/esm/chunks/{chunk.FWFOOQMA.js → chunk.2WSXSOYB.js} +2 -2
- package/dist/esm/chunks/{chunk.YWNCJ7XP.js → chunk.37JFBP4X.js} +2 -2
- package/dist/esm/chunks/{chunk.D5TAI6Q7.js → chunk.3X4N4ZPY.js} +2 -2
- package/dist/esm/chunks/{chunk.LK4AAUOP.js → chunk.436MTO6R.js} +2 -2
- package/dist/esm/chunks/{chunk.P2ZCNO63.js → chunk.4CXLGEJO.js} +2 -2
- package/dist/esm/chunks/{chunk.P2ZCNO63.js.map → chunk.4CXLGEJO.js.map} +1 -1
- package/dist/esm/chunks/{chunk.EK24Y56W.js → chunk.4JF54GDJ.js} +2 -2
- package/dist/esm/chunks/{chunk.SMGXXR6K.js → chunk.4USQ2AP6.js} +2 -2
- package/dist/esm/chunks/{chunk.MHBBMC6O.js → chunk.4XJYS5WH.js} +2 -2
- package/dist/esm/chunks/{chunk.7TMLILLW.js → chunk.5ASOX23Q.js} +2 -2
- package/dist/esm/chunks/{chunk.7TMLILLW.js.map → chunk.5ASOX23Q.js.map} +1 -1
- package/dist/esm/chunks/{chunk.624UKZFU.js → chunk.66X366TV.js} +2 -2
- package/dist/esm/chunks/chunk.6VSFLBZF.js +7 -0
- package/dist/esm/chunks/{chunk.7DB3XVPI.js.map → chunk.6VSFLBZF.js.map} +3 -3
- package/dist/esm/chunks/chunk.7L66GZDN.js +7 -0
- package/dist/esm/chunks/{chunk.4YFVG4KP.js → chunk.7M4HRJYP.js} +2 -2
- package/dist/esm/chunks/{chunk.CKW7KKDW.js → chunk.7PPBXNAD.js} +2 -2
- package/dist/esm/chunks/{chunk.A62DE5PD.js → chunk.7UJAI6P2.js} +2 -2
- package/dist/esm/chunks/{chunk.UJ2WQOLO.js → chunk.A3ZDCBLA.js} +2 -2
- package/dist/esm/chunks/{chunk.2QHD3DCR.js → chunk.AHAARGYM.js} +2 -2
- package/dist/esm/chunks/chunk.AQ7ROWO4.js +7 -0
- package/dist/esm/chunks/chunk.AQ7ROWO4.js.map +7 -0
- package/dist/esm/chunks/{chunk.Q7Z3SJ5F.js → chunk.AY43NTAK.js} +2 -2
- package/dist/esm/chunks/{chunk.AEKOP3XT.js → chunk.C2MQN7MI.js} +2 -2
- package/dist/esm/chunks/{chunk.AEKOP3XT.js.map → chunk.C2MQN7MI.js.map} +2 -2
- package/dist/esm/chunks/{chunk.K3KAM2PL.js → chunk.C5ZUGOOC.js} +2 -2
- package/dist/esm/chunks/{chunk.QOJESHEV.js → chunk.C7VEJINB.js} +2 -2
- package/dist/esm/chunks/{chunk.YLG6ZC5K.js → chunk.CBIHNCT5.js} +2 -2
- package/dist/esm/chunks/{chunk.JIKSKUDW.js → chunk.CLD75EBJ.js} +2 -2
- package/dist/esm/chunks/chunk.CMRVP4EA.js +7 -0
- package/dist/esm/chunks/chunk.CMRVP4EA.js.map +7 -0
- package/dist/esm/chunks/{chunk.TK5I4RHF.js → chunk.CQQSOTZ5.js} +2 -2
- package/dist/esm/chunks/chunk.CZEF72BG.js +12 -0
- package/dist/esm/chunks/chunk.CZEF72BG.js.map +7 -0
- package/dist/esm/chunks/chunk.D5ZHKPCL.js +7 -0
- package/dist/esm/chunks/chunk.D5ZHKPCL.js.map +7 -0
- package/dist/esm/chunks/{chunk.XKI46BH2.js → chunk.DABGA7I6.js} +2 -2
- package/dist/esm/chunks/{chunk.MTKSU2BV.js → chunk.DH76CMUT.js} +2 -2
- package/dist/esm/chunks/{chunk.MXEKIEJA.js → chunk.DLQSINSS.js} +2 -2
- package/dist/esm/chunks/{chunk.W4247Q2P.js → chunk.DQVYB55P.js} +2 -2
- package/dist/esm/chunks/chunk.E4TAHUQO.js +177 -0
- package/dist/esm/chunks/chunk.E4TAHUQO.js.map +7 -0
- package/dist/esm/chunks/{chunk.WPG7NNQX.js → chunk.EY37FYZ4.js} +2 -2
- package/dist/esm/chunks/chunk.FK6NNHXH.js +7 -0
- package/dist/esm/chunks/chunk.FK6NNHXH.js.map +7 -0
- package/dist/esm/chunks/chunk.G6JWSERI.js +7 -0
- package/dist/esm/chunks/{chunk.F74YURLV.js.map → chunk.G6JWSERI.js.map} +4 -4
- package/dist/esm/chunks/chunk.GHR7T6U2.js +7 -0
- package/dist/esm/chunks/chunk.GHR7T6U2.js.map +7 -0
- package/dist/esm/chunks/{chunk.LXPFG7MW.js → chunk.GWIXDVIA.js} +2 -2
- package/dist/esm/chunks/{chunk.Z6FCL3G3.js → chunk.HBCDD25D.js} +2 -2
- package/dist/esm/chunks/{chunk.M56LSSPW.js → chunk.HDO3WRH7.js} +2 -2
- package/dist/esm/chunks/{chunk.DXN7ZOH3.js → chunk.HGH6SSHZ.js} +2 -2
- package/dist/esm/chunks/chunk.HJ23XQDJ.js +7 -0
- package/dist/esm/chunks/chunk.HJ23XQDJ.js.map +7 -0
- package/dist/esm/chunks/{chunk.LFODKHUO.js → chunk.HKSXC5VK.js} +2 -2
- package/dist/esm/chunks/chunk.I5SFCLDD.js +7 -0
- package/dist/esm/chunks/{chunk.MVTBJPO2.js.map → chunk.I5SFCLDD.js.map} +3 -3
- package/dist/esm/chunks/{chunk.S3JMOOWC.js → chunk.IJ2I25V3.js} +2 -2
- package/dist/esm/chunks/{chunk.JUJGROHA.js → chunk.IURDWGLD.js} +2 -2
- package/dist/esm/chunks/chunk.IXGXASHQ.js +7 -0
- package/dist/esm/chunks/{chunk.YX7WLO5Y.js.map → chunk.IXGXASHQ.js.map} +2 -2
- package/dist/esm/chunks/{chunk.F5SY2D4B.js → chunk.JCO4M4PF.js} +2 -2
- package/dist/esm/chunks/{chunk.5565ZSTH.js → chunk.LNLO36U6.js} +2 -2
- package/dist/esm/chunks/chunk.LV7XF22P.js +7 -0
- package/dist/esm/chunks/chunk.LV7XF22P.js.map +7 -0
- package/dist/esm/chunks/{chunk.NR3MLTXF.js → chunk.MHU452GM.js} +2 -2
- package/dist/esm/chunks/chunk.MLTEGJH6.js +7 -0
- package/dist/esm/chunks/{chunk.N43BCJHN.js → chunk.MWWY5TX5.js} +2 -2
- package/dist/esm/chunks/chunk.NDJZYFRT.js +7 -0
- package/dist/esm/chunks/chunk.NDJZYFRT.js.map +7 -0
- package/dist/esm/chunks/chunk.O5GE3FFV.js +7 -0
- package/dist/esm/chunks/{chunk.VZWNNK7A.js.map → chunk.O5GE3FFV.js.map} +2 -2
- package/dist/esm/chunks/chunk.OQ75YGB6.js +7 -0
- package/dist/esm/chunks/{chunk.B4T3R53C.js.map → chunk.OQ75YGB6.js.map} +2 -2
- package/dist/esm/chunks/chunk.OQAD6MFL.js +7 -0
- package/dist/esm/chunks/chunk.OQAD6MFL.js.map +7 -0
- package/dist/esm/chunks/{chunk.COVTBIQQ.js → chunk.OXGOCF4L.js} +2 -2
- package/dist/esm/chunks/{chunk.BH2TUG2V.js → chunk.PCOOIP2H.js} +2 -2
- package/dist/esm/chunks/chunk.PDICDA2V.js +7 -0
- package/dist/esm/chunks/{chunk.VVXSELXX.js.map → chunk.PDICDA2V.js.map} +2 -2
- package/dist/esm/chunks/{chunk.CWTV3TB3.js → chunk.PDSOXEMY.js} +2 -2
- package/dist/esm/chunks/{chunk.OWCYRSI3.js → chunk.PLNLLKP2.js} +2 -2
- package/dist/esm/chunks/{chunk.MGLL67VO.js → chunk.Q7BWJCT5.js} +2 -2
- package/dist/esm/chunks/chunk.QNVVUUNQ.js +7 -0
- package/dist/esm/chunks/chunk.QNVVUUNQ.js.map +7 -0
- package/dist/esm/chunks/chunk.R2KOYHIZ.js +7 -0
- package/dist/esm/chunks/chunk.R2KOYHIZ.js.map +7 -0
- package/dist/esm/chunks/{chunk.XI3MJSIS.js → chunk.R6NA7SV2.js} +2 -2
- package/dist/esm/chunks/{chunk.6OW6Q3EW.js → chunk.RBFGJH3C.js} +2 -2
- package/dist/esm/chunks/{chunk.JLLHDJSO.js → chunk.RNUGVHZF.js} +2 -2
- package/dist/esm/chunks/{chunk.ULY4H76N.js → chunk.RWUJGZ3R.js} +2 -2
- package/dist/esm/chunks/{chunk.5MZ5SGMO.js → chunk.RXLORASN.js} +2 -2
- package/dist/esm/chunks/chunk.SEWAMWO6.js +7 -0
- package/dist/esm/chunks/chunk.SEWAMWO6.js.map +7 -0
- package/dist/esm/chunks/chunk.TCFKFKZW.js +7 -0
- package/dist/esm/chunks/chunk.TCFKFKZW.js.map +7 -0
- package/dist/esm/chunks/{chunk.VSQOTSAO.js → chunk.TGVLYX5F.js} +2 -2
- package/dist/esm/chunks/{chunk.TYLOAD7R.js → chunk.TSH7BTC3.js} +2 -2
- package/dist/esm/chunks/{chunk.BY25RT52.js → chunk.U5XNDTSZ.js} +2 -2
- package/dist/esm/chunks/chunk.UAKQY7QB.js +7 -0
- package/dist/esm/chunks/chunk.UAKQY7QB.js.map +7 -0
- package/dist/esm/chunks/{chunk.SFCGOCQK.js → chunk.UAVC4YLD.js} +2 -2
- package/dist/esm/chunks/{chunk.SJJS4LYN.js → chunk.URFSXQKR.js} +2 -2
- package/dist/esm/chunks/{chunk.4ZKX3SO5.js → chunk.UVJFHSMF.js} +2 -2
- package/dist/esm/chunks/chunk.UZPZ6KUN.js +7 -0
- package/dist/esm/chunks/chunk.UZPZ6KUN.js.map +7 -0
- package/dist/esm/chunks/{chunk.YRMR7IOS.js → chunk.V6443MP3.js} +2 -2
- package/dist/esm/chunks/chunk.V6443MP3.js.map +7 -0
- package/dist/esm/chunks/chunk.VAAID3SH.js +7 -0
- package/dist/esm/chunks/chunk.VAAID3SH.js.map +7 -0
- package/dist/esm/chunks/chunk.VDGJ4UDL.js +7 -0
- package/dist/esm/chunks/chunk.VDGJ4UDL.js.map +7 -0
- package/dist/esm/chunks/{chunk.KJP2VA6Q.js → chunk.VPNDAKM3.js} +2 -2
- package/dist/esm/chunks/{chunk.KJP2VA6Q.js.map → chunk.VPNDAKM3.js.map} +2 -2
- package/dist/esm/chunks/{chunk.DG4ZM3AW.js → chunk.W7H2ZYNR.js} +2 -2
- package/dist/esm/chunks/chunk.WCTSXMGU.js +7 -0
- package/dist/esm/chunks/chunk.WCTSXMGU.js.map +7 -0
- package/dist/esm/chunks/{chunk.FCATJM34.js → chunk.WJXDDQUK.js} +2 -2
- package/dist/esm/chunks/{chunk.SU4FU7GK.js → chunk.WK2L7BPJ.js} +2 -2
- package/dist/esm/chunks/{chunk.ZKGSQQGU.js → chunk.WOMYKBUG.js} +2 -2
- package/dist/esm/chunks/chunk.WOMYKBUG.js.map +7 -0
- package/dist/esm/chunks/{chunk.MACPUZC2.js → chunk.WVGIT7F7.js} +2 -2
- package/dist/esm/chunks/{chunk.MACPUZC2.js.map → chunk.WVGIT7F7.js.map} +2 -2
- package/dist/esm/chunks/{chunk.LTT67HTW.js → chunk.WWTQAN4G.js} +2 -2
- package/dist/esm/chunks/chunk.YA3RDJCV.js +7 -0
- package/dist/esm/chunks/chunk.YA3RDJCV.js.map +7 -0
- package/dist/esm/chunks/{chunk.6OUJSOJY.js → chunk.YIFI5D2X.js} +2 -2
- package/dist/esm/chunks/{chunk.6OUJSOJY.js.map → chunk.YIFI5D2X.js.map} +2 -2
- package/dist/esm/chunks/chunk.YOXZOPAC.js +7 -0
- package/dist/esm/chunks/chunk.YOXZOPAC.js.map +7 -0
- package/dist/esm/chunks/{chunk.CDGZYUQS.js → chunk.YP2NHWIW.js} +2 -2
- package/dist/esm/chunks/chunk.YPA27RX7.js +7 -0
- package/dist/esm/chunks/chunk.YXXKPT6P.js +7 -0
- package/dist/esm/chunks/{chunk.PEBT47AU.js.map → chunk.YXXKPT6P.js.map} +2 -2
- package/dist/esm/chunks/{chunk.2EWV2XBP.js → chunk.Z6AFASMO.js} +2 -2
- package/dist/esm/chunks/{chunk.6GC5AJPE.js → chunk.ZMUDT5UK.js} +2 -2
- package/dist/esm/chunks/{chunk.6GC5AJPE.js.map → chunk.ZMUDT5UK.js.map} +2 -2
- package/dist/esm/chunks/{chunk.ZJC2DSNM.js → chunk.ZREXLSAJ.js} +2 -2
- package/dist/esm/chunks/chunk.ZYVXIP42.js +7 -0
- package/dist/esm/chunks/{chunk.SBYX7VZ4.js.map → chunk.ZYVXIP42.js.map} +2 -2
- package/dist/esm/circular-progress/index.js +1 -1
- package/dist/esm/color-picker/index.js +1 -1
- package/dist/esm/core/base/index.js +1 -1
- package/dist/esm/core/index.js +1 -1
- package/dist/esm/core/utils/index.js +1 -1
- package/dist/esm/date-picker/index.js +1 -1
- package/dist/esm/date-range-picker/index.js +1 -1
- package/dist/esm/dialog/index.js +1 -1
- package/dist/esm/divider/index.js +1 -1
- package/dist/esm/drawer/base/index.js +1 -1
- package/dist/esm/drawer/drawer/index.js +1 -1
- package/dist/esm/drawer/index.js +1 -1
- package/dist/esm/drawer/mini-drawer/index.js +1 -1
- package/dist/esm/drawer/modal-drawer/index.js +1 -1
- package/dist/esm/expansion-panel/index.js +1 -1
- package/dist/esm/file-picker/index.js +1 -1
- package/dist/esm/floating-action-button/index.js +1 -1
- package/dist/esm/floating-label/index.js +1 -1
- package/dist/esm/focus-indicator/index.js +1 -1
- package/dist/esm/icon/index.js +1 -1
- package/dist/esm/icon-button/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/inline-message/index.js +1 -1
- package/dist/esm/keyboard-shortcut/index.js +1 -1
- package/dist/esm/label-value/index.js +1 -1
- package/dist/esm/linear-progress/index.js +1 -1
- package/dist/esm/list/index.js +1 -1
- package/dist/esm/list/list/index.js +1 -1
- package/dist/esm/list/list-item/index.js +1 -1
- package/dist/esm/list-dropdown/index.js +1 -1
- package/dist/esm/menu/index.js +1 -1
- package/dist/esm/open-icon/index.js +1 -1
- package/dist/esm/page-state/index.js +1 -1
- package/dist/esm/paginator/index.js +1 -1
- package/dist/esm/popup/index.js +1 -1
- package/dist/esm/product-icon/index.js +1 -1
- package/dist/esm/profile-card/index.js +1 -1
- package/dist/esm/quantity-field/index.js +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/ripple/index.js +1 -1
- package/dist/esm/scaffold/index.js +1 -1
- package/dist/esm/select/core/index.js +1 -1
- package/dist/esm/select/index.js +1 -1
- package/dist/esm/select/option/index.js +1 -1
- package/dist/esm/select/option-group/index.js +1 -1
- package/dist/esm/select/select/index.js +1 -1
- package/dist/esm/select/select-dropdown/index.js +1 -1
- package/dist/esm/skeleton/index.js +1 -1
- package/dist/esm/slider/index.js +1 -1
- package/dist/esm/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view-panel/index.js +1 -1
- package/dist/esm/stack/index.js +1 -1
- package/dist/esm/state-layer/index.js +1 -1
- package/dist/esm/stepper/index.js +1 -1
- package/dist/esm/stepper/step/index.js +1 -1
- package/dist/esm/stepper/stepper/index.js +1 -1
- package/dist/esm/switch/index.js +1 -1
- package/dist/esm/table/index.js +1 -1
- package/dist/esm/tabs/index.js +1 -1
- package/dist/esm/tabs/tab/index.js +1 -1
- package/dist/esm/tabs/tab-bar/index.js +1 -1
- package/dist/esm/text-field/index.js +1 -1
- package/dist/esm/time-picker/index.js +1 -1
- package/dist/esm/toast/index.js +1 -1
- package/dist/esm/toolbar/index.js +1 -1
- package/dist/esm/tooltip/index.js +1 -1
- package/dist/esm/view-switcher/index.js +1 -1
- package/dist/esm/view-switcher/view/index.js +1 -1
- package/dist/forge-dark.css +1 -1
- package/dist/forge.css +1 -1
- package/dist/theme/forge-theme.css +1 -1
- package/dist/typography/forge-typography-legacy.css +1 -1
- package/dist/typography/forge-typography.css +1 -1
- package/esm/autocomplete/autocomplete-constants.d.ts +3 -0
- package/esm/autocomplete/autocomplete-foundation.d.ts +3 -1
- package/esm/autocomplete/autocomplete-foundation.js +14 -0
- package/esm/autocomplete/autocomplete.d.ts +7 -1
- package/esm/autocomplete/autocomplete.js +7 -0
- package/esm/banner/banner.js +1 -1
- package/esm/button-area/button-area-adapter.d.ts +48 -0
- package/esm/button-area/button-area-adapter.js +121 -0
- package/esm/button-area/button-area-constants.d.ts +24 -0
- package/esm/button-area/button-area-constants.js +30 -0
- package/esm/button-area/button-area-foundation.d.ts +29 -0
- package/esm/button-area/button-area-foundation.js +94 -0
- package/esm/button-area/button-area.d.ts +29 -0
- package/esm/button-area/button-area.js +55 -0
- package/esm/button-area/index.d.ts +10 -0
- package/esm/button-area/index.js +14 -0
- package/esm/calendar/calendar-foundation.js +6 -0
- package/esm/calendar/calendar-menu/calendar-menu.js +1 -1
- package/esm/chip-field/chip-field-adapter.js +1 -1
- package/esm/chip-field/chip-field.js +2 -2
- package/esm/circular-progress/circular-progress.js +1 -1
- package/esm/core/base/base-adapter.d.ts +5 -2
- package/esm/core/base/base-adapter.js +13 -2
- package/esm/core/base/base-component.d.ts +37 -0
- package/esm/core/base/base-component.js +3 -0
- package/esm/core/keyboard/key-manager.d.ts +18 -0
- package/esm/core/keyboard/key-manager.js +47 -0
- package/esm/core/utils/a11y-utils.d.ts +32 -0
- package/esm/core/utils/a11y-utils.js +111 -0
- package/esm/core/utils/index.d.ts +1 -0
- package/esm/core/utils/index.js +1 -0
- package/esm/core/utils/utils.d.ts +8 -0
- package/esm/core/utils/utils.js +15 -0
- package/esm/date-picker/base/base-date-picker-foundation.js +1 -1
- package/esm/date-range-picker/date-range-picker-foundation.js +2 -2
- package/esm/drawer/drawer/drawer.js +1 -1
- package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
- package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
- package/esm/expansion-panel/expansion-panel-adapter.d.ts +1 -0
- package/esm/expansion-panel/expansion-panel-adapter.js +7 -2
- package/esm/expansion-panel/expansion-panel.js +1 -1
- package/esm/field/field-foundation.d.ts +1 -0
- package/esm/field/field-foundation.js +17 -7
- package/esm/floating-label/floating-label-foundation.d.ts +4 -1
- package/esm/floating-label/floating-label-foundation.js +9 -6
- package/esm/floating-label/floating-label.d.ts +6 -2
- package/esm/floating-label/floating-label.js +2 -2
- package/esm/focus-indicator/focus-indicator-foundation.js +1 -1
- package/esm/focus-indicator/focus-indicator.js +1 -1
- package/esm/icon/icon-adapter.d.ts +0 -2
- package/esm/icon/icon-adapter.js +4 -5
- package/esm/icon/icon-foundation.js +0 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.js +4 -1
- package/esm/keyboard-shortcut/keyboard-shortcut-constants.d.ts +1 -0
- package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +6 -0
- package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +9 -0
- package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +4 -0
- package/esm/keyboard-shortcut/keyboard-shortcut.js +3 -0
- package/esm/linear-progress/linear-progress.js +1 -1
- package/esm/list/list/list-adapter.d.ts +17 -41
- package/esm/list/list/list-adapter.js +43 -60
- package/esm/list/list/list-constants.d.ts +13 -5
- package/esm/list/list/list-constants.js +15 -7
- package/esm/list/list/list-foundation.d.ts +24 -16
- package/esm/list/list/list-foundation.js +84 -75
- package/esm/list/list/list.d.ts +47 -8
- package/esm/list/list/list.js +83 -11
- package/esm/list/list-item/list-item-adapter.d.ts +31 -90
- package/esm/list/list-item/list-item-adapter.js +124 -135
- package/esm/list/list-item/list-item-constants.d.ts +27 -27
- package/esm/list/list-item/list-item-constants.js +17 -32
- package/esm/list/list-item/list-item-foundation.d.ts +32 -56
- package/esm/list/list-item/list-item-foundation.js +111 -206
- package/esm/list/list-item/list-item.d.ts +109 -37
- package/esm/list/list-item/list-item.js +152 -88
- package/esm/list-dropdown/list-dropdown-adapter.js +1 -6
- package/esm/list-dropdown/list-dropdown-constants.d.ts +4 -0
- package/esm/list-dropdown/list-dropdown-utils.js +23 -24
- package/esm/paginator/paginator-adapter.d.ts +28 -24
- package/esm/paginator/paginator-adapter.js +55 -0
- package/esm/paginator/paginator-foundation.d.ts +33 -80
- package/esm/paginator/paginator-foundation.js +218 -255
- package/esm/paginator/paginator.d.ts +0 -2
- package/esm/paginator/paginator.js +0 -2
- package/esm/popup/popup-adapter.d.ts +3 -1
- package/esm/popup/popup-adapter.js +3 -0
- package/esm/popup/popup-foundation.js +5 -3
- package/esm/popup/popup.d.ts +4 -1
- package/esm/popup/popup.js +1 -1
- package/esm/select/core/base-select-adapter.js +3 -0
- package/esm/select/option/option-constants.d.ts +1 -0
- package/esm/select/option/option-constants.js +1 -0
- package/esm/select/option/option-foundation.d.ts +13 -0
- package/esm/select/option/option-foundation.js +28 -0
- package/esm/select/option/option.d.ts +7 -0
- package/esm/select/option/option.js +13 -0
- package/esm/slider/slider.js +2 -2
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/esm/state-layer/state-layer.js +1 -1
- package/esm/switch/switch-adapter.d.ts +38 -0
- package/esm/switch/switch-adapter.js +69 -0
- package/esm/switch/switch-component-delegate.d.ts +2 -1
- package/esm/switch/switch-component-delegate.js +8 -8
- package/esm/switch/switch-constants.d.ts +14 -7
- package/esm/switch/switch-constants.js +17 -9
- package/esm/switch/switch-foundation.d.ts +46 -0
- package/esm/switch/switch-foundation.js +110 -0
- package/esm/switch/switch.d.ts +150 -33
- package/esm/switch/switch.js +226 -142
- package/esm/tabs/tab/tab.js +2 -2
- package/esm/tabs/tab-bar/tab-bar.js +1 -1
- package/esm/time-picker/time-picker-foundation.js +3 -3
- package/package.json +1 -6
- package/styles/button-area/_mixins.scss +47 -0
- package/styles/button-area/button-area.scss +16 -0
- package/styles/calendar/calendar-menu/_mixins.scss +48 -2
- package/styles/chip-field/_base.scss +1 -0
- package/styles/chip-field/_selector.scss +2 -2
- package/styles/core/styles/_utils.scss +85 -11
- package/styles/core/styles/scrollbar/index.scss +45 -0
- package/styles/core/styles/spacing/index.scss +1 -1
- package/styles/core/styles/theme/_color-utils.scss +63 -0
- package/styles/core/styles/theme/_utils.scss +82 -0
- package/styles/core/styles/theme/index.scss +39 -13
- package/styles/core/styles/tokens/circular-progress/_tokens.scss +1 -1
- package/styles/core/styles/tokens/color-palette/_extended-color-palette.scss +88 -0
- package/styles/core/styles/tokens/color-palette/index.scss +7 -0
- package/styles/core/styles/tokens/focus-indicator/_tokens.scss +2 -2
- package/styles/core/styles/tokens/linear-progress/_tokens.scss +1 -1
- package/styles/core/styles/tokens/list/list/_tokens.scss +16 -0
- package/styles/core/styles/tokens/list/list-item/_tokens.scss +77 -0
- package/styles/core/styles/tokens/scrollbar/_tokens.scss +26 -0
- package/styles/core/styles/tokens/slider/_tokens.scss +9 -11
- package/styles/core/styles/tokens/spacing/_tokens.scss +10 -10
- package/styles/core/styles/tokens/state-layer/_tokens.scss +5 -5
- package/styles/core/styles/tokens/switch/_tokens.scss +108 -0
- package/styles/core/styles/tokens/tabs/tab/_tokens.scss +3 -1
- package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +1 -1
- package/styles/core/styles/tokens/theme/_color-emphasis.scss +38 -0
- package/styles/core/styles/tokens/theme/_token-utils.scss +46 -0
- package/styles/core/styles/tokens/theme/_tokens.core.scss +45 -0
- package/styles/core/styles/tokens/theme/_tokens.scss +62 -117
- package/styles/core/styles/tokens/theme/_tokens.status.scss +49 -0
- package/styles/core/styles/tokens/theme/_tokens.surface.scss +65 -0
- package/styles/core/styles/tokens/theme/_tokens.text.scss +38 -0
- package/styles/core/styles/tokens/theme/_tokens.utilities.scss +30 -0
- package/styles/core/styles/tokens/typography/_scale.scss +39 -0
- package/styles/core/styles/tokens/typography/_tokens.body.scss +41 -0
- package/styles/core/styles/tokens/typography/_tokens.core.scss +31 -0
- package/styles/core/styles/tokens/typography/_tokens.display.scss +67 -0
- package/styles/core/styles/tokens/typography/_tokens.heading.scss +70 -0
- package/styles/core/styles/tokens/typography/_tokens.label.scss +37 -0
- package/styles/core/styles/tokens/typography/_tokens.scss +16 -211
- package/styles/core/styles/tokens/typography/_tokens.subheading.scss +66 -0
- package/styles/core/styles/tokens/typography/_type-utils.scss +37 -0
- package/styles/core/styles/tokens/typography/_weight.scss +20 -0
- package/styles/core/styles/typography/index.scss +31 -6
- package/styles/list/list/_configuration.scss +12 -0
- package/styles/list/list/_core.scss +21 -0
- package/styles/list/list/index.scss +7 -0
- package/styles/list/list/list.scss +19 -4
- package/styles/list/list-item/_configuration.scss +72 -0
- package/styles/list/list-item/_core.scss +200 -0
- package/styles/list/list-item/index.scss +7 -0
- package/styles/list/list-item/list-item.scss +193 -13
- package/styles/slider/_core.scss +2 -8
- package/styles/slider/slider.scss +2 -2
- package/styles/switch/_configuration.scss +95 -0
- package/styles/switch/_core.scss +255 -0
- package/styles/switch/index.scss +7 -0
- package/styles/switch/switch.scss +136 -50
- package/styles/tabs/tab/_configuration.scss +5 -0
- package/styles/tabs/tab/_core.scss +7 -7
- package/styles/tabs/tab/tab.scss +3 -2
- package/styles/theme/_theme-dark.scss +0 -2
- package/styles/theme/_theme.scss +3 -45
- package/styles/theme/forge-theme.scss +21 -3
- package/styles/typography/_mixins.scss +0 -20
- package/dist/esm/chunks/chunk.2AJ7FFI6.js +0 -7
- package/dist/esm/chunks/chunk.2AJ7FFI6.js.map +0 -7
- package/dist/esm/chunks/chunk.3HB22HCX.js +0 -7
- package/dist/esm/chunks/chunk.4C6KHYUO.js +0 -7
- package/dist/esm/chunks/chunk.54OOOQ4R.js +0 -7
- package/dist/esm/chunks/chunk.54OOOQ4R.js.map +0 -7
- package/dist/esm/chunks/chunk.7CGKFRBK.js +0 -7
- package/dist/esm/chunks/chunk.7CGKFRBK.js.map +0 -7
- package/dist/esm/chunks/chunk.7DB3XVPI.js +0 -7
- package/dist/esm/chunks/chunk.ALIYGJXA.js +0 -129
- package/dist/esm/chunks/chunk.ALIYGJXA.js.map +0 -7
- package/dist/esm/chunks/chunk.B4T3R53C.js +0 -7
- package/dist/esm/chunks/chunk.BKL2BAYW.js +0 -7
- package/dist/esm/chunks/chunk.BKL2BAYW.js.map +0 -7
- package/dist/esm/chunks/chunk.CXY6K7EI.js +0 -7
- package/dist/esm/chunks/chunk.CXY6K7EI.js.map +0 -7
- package/dist/esm/chunks/chunk.DBNJHUYY.js +0 -7
- package/dist/esm/chunks/chunk.DBNJHUYY.js.map +0 -7
- package/dist/esm/chunks/chunk.DMCBAYQX.js +0 -7
- package/dist/esm/chunks/chunk.DMCBAYQX.js.map +0 -7
- package/dist/esm/chunks/chunk.F4VXEE76.js +0 -7
- package/dist/esm/chunks/chunk.F4VXEE76.js.map +0 -7
- package/dist/esm/chunks/chunk.F74YURLV.js +0 -7
- package/dist/esm/chunks/chunk.FG2GNAM2.js +0 -7
- package/dist/esm/chunks/chunk.FG2GNAM2.js.map +0 -7
- package/dist/esm/chunks/chunk.GNG64TXK.js +0 -7
- package/dist/esm/chunks/chunk.GNG64TXK.js.map +0 -7
- package/dist/esm/chunks/chunk.HHCO64F3.js +0 -7
- package/dist/esm/chunks/chunk.HHCO64F3.js.map +0 -7
- package/dist/esm/chunks/chunk.ISC7SZSP.js +0 -7
- package/dist/esm/chunks/chunk.ISC7SZSP.js.map +0 -7
- package/dist/esm/chunks/chunk.IX25DYIM.js +0 -7
- package/dist/esm/chunks/chunk.IX25DYIM.js.map +0 -7
- package/dist/esm/chunks/chunk.MVTBJPO2.js +0 -7
- package/dist/esm/chunks/chunk.P2CW5MQO.js +0 -12
- package/dist/esm/chunks/chunk.P2CW5MQO.js.map +0 -7
- package/dist/esm/chunks/chunk.PEBT47AU.js +0 -7
- package/dist/esm/chunks/chunk.PH3HUFJJ.js +0 -7
- package/dist/esm/chunks/chunk.PH3HUFJJ.js.map +0 -7
- package/dist/esm/chunks/chunk.Q7JUJNYD.js +0 -7
- package/dist/esm/chunks/chunk.QCRRHGBA.js +0 -7
- package/dist/esm/chunks/chunk.QCRRHGBA.js.map +0 -7
- package/dist/esm/chunks/chunk.SBYX7VZ4.js +0 -7
- package/dist/esm/chunks/chunk.VVXSELXX.js +0 -7
- package/dist/esm/chunks/chunk.VZWNNK7A.js +0 -7
- package/dist/esm/chunks/chunk.X3C3J5MH.js +0 -7
- package/dist/esm/chunks/chunk.X3C3J5MH.js.map +0 -7
- package/dist/esm/chunks/chunk.XGOAYMK2.js +0 -7
- package/dist/esm/chunks/chunk.XGOAYMK2.js.map +0 -7
- package/dist/esm/chunks/chunk.YRMR7IOS.js.map +0 -7
- package/dist/esm/chunks/chunk.YX7WLO5Y.js +0 -7
- package/dist/esm/chunks/chunk.YZLASVCK.js +0 -177
- package/dist/esm/chunks/chunk.YZLASVCK.js.map +0 -7
- package/dist/esm/chunks/chunk.ZDD2NLGP.js +0 -7
- package/dist/esm/chunks/chunk.ZKGSQQGU.js.map +0 -7
- package/dist/esm/chunks/chunk.ZVBZ3LGP.js +0 -7
- package/dist/esm/chunks/chunk.ZVBZ3LGP.js.map +0 -7
- package/styles/list/list/_mixins.scss +0 -45
- package/styles/list/list-item/_mixins.scss +0 -413
- package/styles/list/list-item/_variables.scss +0 -43
- package/styles/switch/_switch-mixins.scss +0 -301
- package/styles/switch/_switch-theme.scss +0 -701
- /package/dist/esm/chunks/{chunk.Q7JUJNYD.js.map → chunk.2LIWNFQK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FWFOOQMA.js.map → chunk.2WSXSOYB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YWNCJ7XP.js.map → chunk.37JFBP4X.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.D5TAI6Q7.js.map → chunk.3X4N4ZPY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.LK4AAUOP.js.map → chunk.436MTO6R.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.EK24Y56W.js.map → chunk.4JF54GDJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SMGXXR6K.js.map → chunk.4USQ2AP6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MHBBMC6O.js.map → chunk.4XJYS5WH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.624UKZFU.js.map → chunk.66X366TV.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZDD2NLGP.js.map → chunk.7L66GZDN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4YFVG4KP.js.map → chunk.7M4HRJYP.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CKW7KKDW.js.map → chunk.7PPBXNAD.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.A62DE5PD.js.map → chunk.7UJAI6P2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.UJ2WQOLO.js.map → chunk.A3ZDCBLA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2QHD3DCR.js.map → chunk.AHAARGYM.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.Q7Z3SJ5F.js.map → chunk.AY43NTAK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.K3KAM2PL.js.map → chunk.C5ZUGOOC.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QOJESHEV.js.map → chunk.C7VEJINB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YLG6ZC5K.js.map → chunk.CBIHNCT5.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JIKSKUDW.js.map → chunk.CLD75EBJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.TK5I4RHF.js.map → chunk.CQQSOTZ5.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.XKI46BH2.js.map → chunk.DABGA7I6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MTKSU2BV.js.map → chunk.DH76CMUT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MXEKIEJA.js.map → chunk.DLQSINSS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.W4247Q2P.js.map → chunk.DQVYB55P.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WPG7NNQX.js.map → chunk.EY37FYZ4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.LXPFG7MW.js.map → chunk.GWIXDVIA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.Z6FCL3G3.js.map → chunk.HBCDD25D.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.M56LSSPW.js.map → chunk.HDO3WRH7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DXN7ZOH3.js.map → chunk.HGH6SSHZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.LFODKHUO.js.map → chunk.HKSXC5VK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.S3JMOOWC.js.map → chunk.IJ2I25V3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JUJGROHA.js.map → chunk.IURDWGLD.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.F5SY2D4B.js.map → chunk.JCO4M4PF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5565ZSTH.js.map → chunk.LNLO36U6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NR3MLTXF.js.map → chunk.MHU452GM.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4C6KHYUO.js.map → chunk.MLTEGJH6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.N43BCJHN.js.map → chunk.MWWY5TX5.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.COVTBIQQ.js.map → chunk.OXGOCF4L.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BH2TUG2V.js.map → chunk.PCOOIP2H.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CWTV3TB3.js.map → chunk.PDSOXEMY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OWCYRSI3.js.map → chunk.PLNLLKP2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MGLL67VO.js.map → chunk.Q7BWJCT5.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.XI3MJSIS.js.map → chunk.R6NA7SV2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.6OW6Q3EW.js.map → chunk.RBFGJH3C.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JLLHDJSO.js.map → chunk.RNUGVHZF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ULY4H76N.js.map → chunk.RWUJGZ3R.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5MZ5SGMO.js.map → chunk.RXLORASN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.VSQOTSAO.js.map → chunk.TGVLYX5F.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.TYLOAD7R.js.map → chunk.TSH7BTC3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BY25RT52.js.map → chunk.U5XNDTSZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SFCGOCQK.js.map → chunk.UAVC4YLD.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SJJS4LYN.js.map → chunk.URFSXQKR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4ZKX3SO5.js.map → chunk.UVJFHSMF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DG4ZM3AW.js.map → chunk.W7H2ZYNR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FCATJM34.js.map → chunk.WJXDDQUK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SU4FU7GK.js.map → chunk.WK2L7BPJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.LTT67HTW.js.map → chunk.WWTQAN4G.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CDGZYUQS.js.map → chunk.YP2NHWIW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.3HB22HCX.js.map → chunk.YPA27RX7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2EWV2XBP.js.map → chunk.Z6AFASMO.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZJC2DSNM.js.map → chunk.ZREXLSAJ.js.map} +0 -0
- /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-dropdown/list-dropdown-constants.ts", "../../../../../../node_modules/@tylertech/forge-core/esm/events/event-aware.js", "../../../../../../node_modules/@tylertech/forge-core/esm/scroll/scroll-types.js", "../../../../../../node_modules/@tylertech/forge-core/esm/scroll/scroll-axis-observer.js", "../../src/list-dropdown/list-dropdown-utils.ts", "../../src/list-dropdown/list-dropdown-foundation.ts", "../../src/list-dropdown/list-dropdown-adapter.ts", "../../src/list-dropdown/list-dropdown.ts", "../../src/list-dropdown/list-dropdown-aware-foundation.ts", "../../src/list-dropdown/cascading-list-dropdown-aware-foundation.ts"],
|
|
4
|
-
"sourcesContent": ["import { IPopupPosition, PopupPlacement } from '../popup';\n\nconst attributes = {\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n CONSTRAIN_POPUP_WIDTH: 'constrain-popup-width',\n WRAP_OPTION_TEXT: 'wrap-option-text',\n\n // Internal\n CHECKBOX_ELEMENT: 'data-list-dropdown-checkbox',\n DATA_ALLOW_FOCUS: 'data-list-dropdown-allow-focus'\n};\n\nconst classes = {\n GROUP_WRAPPER: 'forge-list-dropdown__group-wrapper'\n};\n\nexport const LIST_DROPDOWN_CONSTANTS = {\n attributes,\n classes\n};\n\nexport type ListDropdownOptionBuilder<T = HTMLElement> = (option: IListDropdownOption, parentElement: T) => HTMLElement | string | void;\nexport type ListDropdownHeaderBuilder = () => HTMLElement;\nexport type ListDropdownFooterBuilder = () => HTMLElement;\nexport type ListDropdownOptionGroupBuilder<T = any> = (option: IListDropdownOptionGroup<T>) => HTMLElement | string;\nexport type ListDropdownTransformCallback = (label: string) => string | HTMLElement;\nexport type ListDropdownIconType = 'font' | 'component';\n\nexport interface IBaseListDropdownOption<T = any> {\n value: T;\n label: string;\n disabled?: boolean;\n divider?: boolean;\n optionClass?: string | string[];\n leadingIcon?: string;\n leadingIconClass?: string;\n leadingIconType?: ListDropdownIconType;\n trailingIcon?: string;\n trailingIconClass?: string;\n trailingIconType?: ListDropdownIconType;\n leadingBuilder?: () => HTMLElement;\n trailingBuilder?: () => HTMLElement;\n}\n\nexport interface IListDropdownOption<T = any> extends IBaseListDropdownOption<T> {\n options?: Array<IListDropdownOption | IListDropdownOptionGroup>;\n elementAttributes?: Map<string, string>;\n}\n\nexport interface IListDropdownOptionGroup<T = any, K = any> {\n text?: string;\n value?: K;\n builder?: ListDropdownOptionGroupBuilder;\n options: IListDropdownOption<T>[];\n}\n\nexport interface IListDropdownSelectEventData {\n value: IListDropdownOption | IListDropdownOption[];\n}\n\nexport interface IListDropdownConfig<T = any> {\n id: string;\n options: Array<IListDropdownOption | IListDropdownOptionGroup>;\n selectCallback: (value: T) => void;\n \n // Optional values\n activeChangeCallback?: (id: string) => void;\n closeCallback?: () => void;\n syncWidth?: boolean;\n constrainViewportWidth?: boolean;\n wrapOptionText?: boolean;\n selectedValues?: T[];\n multiple?: boolean;\n activeStartIndex?: number;\n visibleStartIndex?: number;\n transform?: ListDropdownTransformCallback;\n allowBusy?: boolean;\n asyncStyle?: ListDropdownAsyncStyle;\n iconClass?: string;\n dense?: boolean;\n type?: ListDropdownType;\n popupClasses?: string | string[];\n popupOffset?: IPopupPosition;\n popupStatic?: boolean;\n popupPlacement?: PopupPlacement;\n popupFallbackPlacements?: PopupPlacement[];\n optionLimit?: number;\n optionBuilder?: ListDropdownOptionBuilder;\n observeScroll?: boolean;\n observeScrollThreshold?: number;\n targetWidthCallback?: () => number;\n scrollEndListener?: () => void;\n headerBuilder?: ListDropdownHeaderBuilder;\n footerBuilder?: ListDropdownFooterBuilder;\n cascade?: boolean;\n cascadingElementFactory?: (config: IListDropdownCascadingElementFactoryConfig) => HTMLElement;\n}\n\nexport interface IListDropdownCascadingElementFactoryConfig {\n index: number;\n options: Array<IListDropdownOption | IListDropdownOptionGroup>;\n parentValue: any;\n}\n\nexport const DEFAULT_LIST_DROPDOWN_CONFIG: Partial<IListDropdownConfig> = {\n options: [],\n syncWidth: false,\n selectedValues: [],\n multiple: false\n};\n\nexport interface IListDropdownOpenConfig extends IListDropdownConfig {}\n\nexport enum ListDropdownType {\n None = 'none',\n Standard = 'standard',\n Menu = 'menu'\n}\n\nexport enum ListDropdownAsyncStyle {\n Spinner = 'spinner',\n Skeleton = 'skeleton'\n}\n", "export class EventAware {\n constructor() {\n this._listenerMap = new Map();\n }\n _emit(type, data) {\n const listeners = this._listenerMap.get(type);\n if (listeners && listeners.length) {\n listeners.forEach(cb => cb({ type, data }));\n }\n }\n hasListeners(type) {\n return type ? this._listenerMap.has(type) : this._listenerMap.size > 0;\n }\n addListener(type, listener) {\n if (!this._listenerMap.has(type)) {\n this._listenerMap.set(type, [listener]);\n }\n else {\n const listeners = this._listenerMap.get(type);\n if (listeners) {\n listeners.push(listener);\n }\n }\n }\n removeListener(type, listener) {\n const listeners = this._listenerMap.get(type);\n if (listeners && listeners.length && listeners.includes(listener)) {\n listeners.splice(listeners.indexOf(listener), 1);\n if (!listeners.length) {\n this._listenerMap.delete(type);\n }\n }\n }\n}\n", "export var ScrollDirection;\n(function (ScrollDirection) {\n ScrollDirection[\"Up\"] = \"up\";\n ScrollDirection[\"Down\"] = \"down\";\n ScrollDirection[\"Left\"] = \"left\";\n ScrollDirection[\"Right\"] = \"right\";\n})(ScrollDirection || (ScrollDirection = {}));\nexport var ScrollEvents;\n(function (ScrollEvents) {\n ScrollEvents[\"Scroll\"] = \"scroll\";\n ScrollEvents[\"Scrolled\"] = \"scrolled\";\n ScrollEvents[\"ScrolledStart\"] = \"scrolled-start\";\n ScrollEvents[\"ScrolledEnd\"] = \"scrolled-end\";\n})(ScrollEvents || (ScrollEvents = {}));\n", "import { EventAware } from '../events/event-aware';\nimport { ScrollEvents, ScrollDirection } from './scroll-types';\nimport { isDefined, throttle, isNumber } from '../utils';\nconst DEFAULT_SCROLL_THROTTLE = 100;\n/**\n * Provides facilties for observing and reacting to scroll events and information on a given element.\n */\nexport class ScrollAxisObserver extends EventAware {\n constructor(_element, _config = {}) {\n super();\n this._element = _element;\n this._config = _config;\n this._axis = 'vertical';\n this._scrollThreshold = 0;\n this._lastScrollPosition = 0;\n this._lastScrollTop = 0;\n this._lastScrollLeft = 0;\n this._isListening = false;\n this._initialize();\n }\n destroy() {\n this.stop();\n }\n start() {\n if (!this._isListening) {\n this._element.addEventListener('scroll', this._scrollListener);\n this._isListening = true;\n }\n }\n stop() {\n this._element.removeEventListener('scroll', this._scrollListener);\n this._isListening = false;\n }\n _initialize() {\n if (this._config.throttle) {\n const wait = this._config.throttleTime || DEFAULT_SCROLL_THROTTLE;\n this._scrollListener = throttle(() => this._onScroll(), wait);\n }\n else {\n this._scrollListener = () => this._onScroll();\n }\n if (!isDefined(this._config.paused) || !this._config.paused) {\n this.start();\n }\n if (isDefined(this._config.axis)) {\n this._axis = this._config.axis;\n }\n if (isDefined(this._config.scrollThreshold) && isNumber(this._config.scrollThreshold)) {\n this._scrollThreshold = this._config.scrollThreshold;\n }\n }\n _isScrollAxis() {\n const isVertical = this._lastScrollTop !== this._element.scrollTop;\n const isHorizontal = this._lastScrollLeft !== this._element.scrollLeft;\n return (this._axis === 'vertical' && isVertical) || (this._axis === 'horizontal' && isHorizontal);\n }\n _onScroll() {\n if (!this._isScrollAxis()) {\n return;\n }\n const position = this.scrollPosition;\n const direction = this._lastScrollPosition - position < 0 ? this._axis === 'vertical' ? ScrollDirection.Down : ScrollDirection.Right : this._axis === 'vertical' ? ScrollDirection.Up : ScrollDirection.Left;\n this._emit(ScrollEvents.Scroll, { direction, position });\n if (this._lastScrollPosition <= this._scrollThreshold && position > this._scrollThreshold) {\n this._emit(ScrollEvents.Scrolled, true);\n }\n else if (this._lastScrollPosition >= this._scrollThreshold && (this._scrollThreshold > 0 ? position < this._scrollThreshold : position === 0)) {\n this._emit(ScrollEvents.Scrolled, false);\n }\n const scrollStart = Math.round(position - this._scrollThreshold);\n const scrollEnd = Math.round(this.scrollSize - position);\n if (this._lastScrollPosition >= this._scrollThreshold && scrollStart <= 0) {\n this._emit(ScrollEvents.ScrolledStart);\n }\n else if (this._lastScrollPosition <= (this.scrollSize - this._scrollThreshold) && scrollEnd <= this._scrollThreshold) {\n this._emit(ScrollEvents.ScrolledEnd);\n }\n this._lastScrollPosition = position || 0;\n this._lastScrollTop = this._element.scrollTop || 0;\n this._lastScrollLeft = this._element.scrollLeft || 0;\n }\n get scrollPosition() {\n return this._axis === 'vertical' ? this._element.scrollTop : this._element.scrollLeft;\n }\n get isScrolled() {\n return this.scrollPosition > this._scrollThreshold;\n }\n get isScrolledStart() {\n return this.scrollPosition === 0;\n }\n get isScrolledEnd() {\n return this.scrollPosition === this._element.scrollWidth;\n }\n get isScrollable() {\n if (this._axis === 'vertical') {\n return this._element.scrollHeight > this._element.clientHeight;\n }\n return this._element.scrollWidth > this._element.clientWidth;\n }\n get scrollSize() {\n return (this._axis === 'vertical' ? this._element.scrollHeight : this._element.scrollWidth) - this.elementSize;\n }\n get elementSize() {\n return this._axis === 'vertical' ? this._element.clientHeight : this._element.clientWidth;\n }\n setScrollPosition(position) {\n if (this._axis === 'vertical') {\n this._element.scrollTop = position;\n }\n else {\n this._element.scrollLeft = position;\n }\n }\n}\n", "import { addClass, getEventPath, isDeepEqual, isDefined, isObject } from '@tylertech/forge-core';\nimport { tylIconCheckBox, tylIconCheckBoxOutlineBlank } from '@tylertech/tyler-icons/standard';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { ILinearProgressComponent, LINEAR_PROGRESS_CONSTANTS } from '../linear-progress';\nimport { IListComponent, LIST_CONSTANTS } from '../list/list';\nimport { IPopupComponent, PopupAnimationType, POPUP_CONSTANTS } from '../popup';\nimport { ISkeletonComponent, SKELETON_CONSTANTS } from '../skeleton';\nimport { IListDropdownCascadingElementFactoryConfig, IListDropdownOpenConfig, IListDropdownOption, IListDropdownOptionGroup, ListDropdownAsyncStyle, ListDropdownIconType, ListDropdownType, LIST_DROPDOWN_CONSTANTS } from './list-dropdown-constants';\n\nexport enum ListDropdownOptionType { Option, Group }\n\n/**\n * Creates the floating dropdown element container.\n * @param config \n * @param targetElement \n */\nexport function createDropdown(config: IListDropdownOpenConfig, targetElement: HTMLElement): IPopupComponent {\n const dropdownElement = createPopupDropdown(config, targetElement);\n const dropdownId = `list-dropdown-popup-${config.id}`;\n\n // Prevent mousedown events from changing focus. We keep focus in the target element at all times while open.\n dropdownElement.addEventListener('mousedown', evt => {\n const composedPath = getEventPath(evt);\n\n // We allow for custom header and footer templates and these elements could be focusable so we need to allow access into them\n const isFromCustomTemplate = composedPath.find(el => el.nodeType === 1 && el.hasAttribute(LIST_DROPDOWN_CONSTANTS.attributes.DATA_ALLOW_FOCUS));\n if (isFromCustomTemplate) {\n return;\n }\n\n const isWithinDropdownElement = composedPath.find(el => el.id === dropdownId || el.id === config.id);\n if (isWithinDropdownElement) {\n evt.preventDefault();\n }\n });\n\n // Set roles and other attributes based on our type\n switch (config.type) {\n case ListDropdownType.Menu:\n dropdownElement.setAttribute('role', 'menu');\n dropdownElement.setAttribute('aria-orientation', 'vertical');\n break;\n default:\n dropdownElement.setAttribute('role', 'listbox');\n }\n\n if (config.id) {\n dropdownElement.id = dropdownId;\n }\n if (config.popupClasses) {\n addClass(config.popupClasses, dropdownElement);\n }\n\n return dropdownElement;\n}\n\nexport function createPopupDropdown(config: IListDropdownOpenConfig, targetElement: HTMLElement): IPopupComponent {\n const popupElement = document.createElement('forge-popup');\n popupElement.targetElement = targetElement;\n popupElement.placement = config.popupPlacement || 'bottom-start';\n popupElement.manageFocus = false;\n popupElement.static = !!config.popupStatic;\n\n if (config.popupFallbackPlacements?.length) {\n popupElement.fallbackPlacements = config.popupFallbackPlacements;\n }\n\n if (config.constrainViewportWidth) {\n popupElement.setAttribute(POPUP_CONSTANTS.attributes.CONSTRAIN_VIEWPORT_WIDTH, '');\n }\n\n if (config.popupOffset) {\n popupElement.offset = config.popupOffset;\n }\n\n // Set the animations based on our type\n switch (config.type) {\n case ListDropdownType.Menu:\n popupElement.animationType = PopupAnimationType.Menu;\n break;\n case ListDropdownType.None:\n popupElement.animationType = PopupAnimationType.None;\n break;\n default:\n popupElement.animationType = PopupAnimationType.Dropdown;\n }\n return popupElement;\n}\n\nexport function createList(config: IListDropdownOpenConfig): IListComponent {\n const listElement = document.createElement(LIST_CONSTANTS.elementName) as IListComponent;\n listElement.id = `list-dropdown-list-${config.id}`;\n listElement.propagateClick = false;\n return listElement;\n}\n\n/**\n * Creates the list to place inside of the dropdown.\n * @param config \n */\nexport function createListItems(config: IListDropdownOpenConfig, listElement: IListComponent, options?: Array<IListDropdownOption | IListDropdownOptionGroup>, startIndex = 0, renderSelected = true): void {\n // Ensure the options are provided in the form a group (if no groups provided, then we have one anonymous group of options)\n const groups = getOptionsByGroup(options || config.options);\n const flatOptions = getFlattenedOptions(groups);\n\n const limitOptions = config.optionLimit ? true : false;\n let optionLimit = config.optionLimit || 0;\n let optionIdIndex = startIndex;\n\n // Iterate over our groups and render the optional headers and options for that group\n for (const group of groups) {\n let optionParent: IListComponent | HTMLElement = listElement;\n\n // Check for a group header builder callback\n if (group.builder && typeof group.builder === 'function') {\n const headerElement = group.builder(group);\n if (headerElement) {\n const groupWrapper = document.createElement('div');\n groupWrapper.classList.add(LIST_DROPDOWN_CONSTANTS.classes.GROUP_WRAPPER);\n optionParent = groupWrapper;\n\n if (typeof headerElement === 'string') {\n groupWrapper.innerHTML = headerElement;\n } else if (headerElement instanceof HTMLElement) {\n groupWrapper.appendChild(headerElement);\n }\n\n listElement.appendChild(groupWrapper);\n }\n } else if (group.text) {\n // We are rendering just text as a group header so create the group header element with predefined styles\n const groupWrapper = document.createElement('div');\n groupWrapper.classList.add(LIST_DROPDOWN_CONSTANTS.classes.GROUP_WRAPPER);\n\n const listHeaderElement = document.createElement('div');\n listHeaderElement.textContent = group.text;\n listHeaderElement.classList.add('forge-typography--overline');\n listHeaderElement.style.fontFamily = 'Roboto,sans-serif';\n listHeaderElement.style.fontSize = '0.75rem';\n listHeaderElement.style.lineHeight = '2rem';\n listHeaderElement.style.letterSpacing = '0.16667em';\n listHeaderElement.style.fontWeight = '500';\n listHeaderElement.style.margin = '4px 8px';\n\n optionParent = groupWrapper;\n groupWrapper.appendChild(listHeaderElement);\n listElement.appendChild(groupWrapper);\n }\n\n // Loop over the options for this group\n for (const option of group.options) {\n // First we check if this option is just a divider\n if (option.divider) {\n const dividerElement = createDivider();\n listElement.appendChild(dividerElement);\n continue;\n }\n\n // Check if an option limit has been provided to reduce amount of options that need to be rendered\n if (limitOptions && --optionLimit < 0) {\n break;\n }\n \n // Create and configure the list element\n const isSelected = config.selectedValues ? config.selectedValues.some(v => isDeepEqual(v, option.value)) : false;\n\n // We don't render selected options that are appended dynamically since those are always displayed at the top of the list\n if (!renderSelected && isSelected) {\n continue;\n }\n\n let listItemElement = document.createElement('forge-list-item');\n listItemElement.value = option.value;\n listItemElement.id = `list-dropdown-option-${config.id}-${optionIdIndex++}`;\n listItemElement.style.cursor = 'pointer';\n\n if (config.wrapOptionText) {\n listItemElement.wrap = true;\n }\n \n // Add any CSS classes to the option list-item\n if (option.optionClass && (typeof option.optionClass === 'string' || Array.isArray(option.optionClass) && option.optionClass.length)) {\n addClass(option.optionClass, listItemElement);\n }\n\n // Set role based on type\n switch (config.type) {\n case ListDropdownType.Menu:\n listItemElement.setAttribute('role', 'menuitem');\n break;\n case ListDropdownType.None:\n break;\n default:\n listItemElement.setAttribute('role', 'option');\n }\n\n if (config.dense) {\n listItemElement.dense = true;\n }\n\n // Check for a custom option template builder\n if (config.optionBuilder && typeof config.optionBuilder === 'function') {\n const element = config.optionBuilder(option, listItemElement);\n if (element) {\n if (typeof element === 'string') {\n listItemElement.innerHTML = element;\n } else {\n listItemElement.appendChild(element);\n }\n }\n } else {\n if (typeof config.transform !== 'function') {\n listItemElement.textContent = option.label || '';\n } else {\n const result = config.transform(option.label);\n if (typeof result === 'string') {\n listItemElement.textContent = result;\n } else if (typeof result === 'object' && (result as HTMLElement).nodeType !== undefined) {\n listItemElement.appendChild(result);\n }\n }\n }\n\n // If multiple selections are enabled then we need to create and append a leading checkbox element\n if (config.multiple) {\n const checkboxElement = createCheckboxElement(isSelected);\n listItemElement.appendChild(checkboxElement);\n listItemElement.setAttribute('aria-selected', `${isSelected}`);\n listItemElement.setAttribute('aria-checked', `${isSelected}`);\n }\n\n if (option.elementAttributes) {\n option.elementAttributes.forEach((value: string, key: string) => {\n listItemElement.setAttribute(key, value);\n });\n }\n\n // Leading element/icon\n if (option.leadingBuilder) {\n const element = option.leadingBuilder();\n if (isObject(element)) {\n element.slot = 'leading';\n listItemElement.appendChild(element);\n }\n } else if (option.leadingIcon) {\n const leadingIconElement = createIconElement(option.leadingIconType, option.leadingIcon, option.leadingIconClass || config.iconClass);\n leadingIconElement.slot = 'leading';\n listItemElement.appendChild(leadingIconElement);\n }\n\n // Trailing element/icon\n if (option.trailingBuilder) {\n const element = option.trailingBuilder();\n if (isObject(element)) {\n element.slot = 'trailing';\n listItemElement.appendChild(element);\n }\n } else if (option.trailingIcon) {\n const trailingIconElement = createIconElement(option.trailingIconType, option.trailingIcon, option.trailingIconClass || config.iconClass);\n trailingIconElement.slot = 'trailing';\n listItemElement.appendChild(trailingIconElement);\n }\n\n // Update the disabled state\n if (option.disabled) {\n listItemElement.disabled = option.disabled;\n listItemElement.setAttribute('aria-disabled', 'true');\n } else {\n listItemElement.style.cursor = 'pointer';\n listItemElement.setAttribute('aria-disabled', 'false');\n }\n\n // Update the selected state\n if (isSelected) {\n listItemElement.selected = true;\n }\n listItemElement.setAttribute('aria-selected', isSelected ? 'true' : 'false');\n\n // If we have any child options, we need to render a child menu for this list item\n if (!option.disabled && typeof config.cascadingElementFactory === 'function' && Array.isArray(option.options) && option.options.length) {\n // Create the trailing indicator icon to show that a child menu exists for this option. \n const optionIconElement = document.createElement('forge-icon');\n optionIconElement.name = 'arrow_right';\n optionIconElement.slot = 'trailing';\n listItemElement.appendChild(optionIconElement);\n\n const nonDividerOptions = flatOptions.filter(o => !o.divider);\n\n // Create the nested cascading element wrapper\n const factoryConfig: IListDropdownCascadingElementFactoryConfig = {\n index: nonDividerOptions.indexOf(option),\n options: option.options,\n parentValue: option.value\n };\n const cascadingElement = config.cascadingElementFactory.call(null, factoryConfig);\n cascadingElement.appendChild(listItemElement);\n listItemElement = cascadingElement;\n }\n\n optionParent.appendChild(listItemElement);\n }\n }\n}\n\nexport function createCheckboxElement(selected: boolean): HTMLElement {\n const checkboxElement = document.createElement('forge-icon');\n checkboxElement.setAttribute(LIST_DROPDOWN_CONSTANTS.attributes.CHECKBOX_ELEMENT, '');\n checkboxElement.name = selected ? tylIconCheckBox.name : tylIconCheckBoxOutlineBlank.name;\n checkboxElement.slot = 'leading';\n checkboxElement.style.marginRight = '16px';\n checkboxElement.style.verticalAlign = 'middle';\n return checkboxElement;\n}\n\nfunction createDivider(): HTMLElement {\n const divider = document.createElement('forge-divider');\n divider.setAttribute('aria-hidden', 'true');\n return divider;\n}\n\nfunction createIconElement(type: ListDropdownIconType = 'font', iconName: string, iconClass?: string): HTMLElement {\n if (type === 'component') {\n const icon = document.createElement('forge-icon');\n if (iconClass) {\n icon.classList.add(iconClass);\n }\n icon.setAttribute('aria-hidden', 'true');\n icon.name = iconName;\n return icon;\n }\n\n const iconElement = document.createElement('i');\n iconElement.classList.add(iconClass || ICON_CLASS_NAME);\n iconElement.setAttribute('aria-hidden', 'true');\n iconElement.textContent = iconName;\n return iconElement;\n}\n\nexport function createAsyncElement(asyncStyle?: ListDropdownAsyncStyle): HTMLElement {\n switch (asyncStyle) {\n case ListDropdownAsyncStyle.Skeleton:\n return createSkeletonElement();\n default:\n return createSpinnerElement();\n }\n}\n\nfunction createSpinnerElement(): HTMLElement {\n const div = document.createElement('div');\n div.style.display = 'flex';\n div.style.justifyContent = 'center';\n div.style.alignItems = 'center';\n div.style.padding = '8px';\n div.style.boxSizing = 'border-box';\n\n const spinner = document.createElement('forge-circular-progress');\n spinner.style.setProperty('--forge-circular-progress-size', '24px');\n div.appendChild(spinner);\n\n return div;\n}\n\nfunction createSkeletonElement(): HTMLElement {\n const list = document.createElement('forge-list');\n const div = document.createElement('div');\n div.style.minWidth = '192px';\n for (let i = 0; i < 3; i++) {\n const listItemSkeleton = document.createElement(SKELETON_CONSTANTS.elementName) as ISkeletonComponent;\n listItemSkeleton.setAttribute('list-item', '');\n div.appendChild(listItemSkeleton);\n }\n list.appendChild(div);\n return list;\n}\n\nexport function createBusyElement(): ILinearProgressComponent {\n const linearProgress = document.createElement(LINEAR_PROGRESS_CONSTANTS.elementName) as ILinearProgressComponent;\n linearProgress.determinate = false;\n linearProgress.style.position = 'absolute';\n linearProgress.style.top = '0';\n linearProgress.style.left = '0';\n linearProgress.style.right = '0';\n linearProgress.style.width = '100%';\n return linearProgress;\n}\n\nfunction getOptionsByGroup(options: Array<IListDropdownOption | IListDropdownOptionGroup>): IListDropdownOptionGroup[] {\n return isListDropdownOptionType(options, ListDropdownOptionType.Group) ? (options as IListDropdownOptionGroup[]) : [{ text: '', options }] as IListDropdownOptionGroup[];\n}\n\n/**\n * Determines if the provided options are of the specified type.\n * @param options The options either grouped or individual.\n * @param type The type of option to detect.\n */\nexport function isListDropdownOptionType(options: Array<IListDropdownOption | IListDropdownOptionGroup>, type: ListDropdownOptionType): type is ListDropdownOptionType {\n const isOptionGroups = options.some((o: IListDropdownOption | IListDropdownOptionGroup) => isDefined(o) && isObject(o) && o.hasOwnProperty('options') && (o.hasOwnProperty('text') || o.hasOwnProperty('builder')));\n const isOptionTypes = options.some((o: IListDropdownOption | IListDropdownOptionGroup) => isDefined(o) && isObject(o) && o.hasOwnProperty('label') && o.hasOwnProperty('value'));\n return (isOptionGroups && type === ListDropdownOptionType.Group) || (isOptionTypes && type === ListDropdownOptionType.Option);\n}\n\nexport function getFlattenedOptions(options: Array<IListDropdownOptionGroup | IListDropdownOption>): IListDropdownOption[] {\n if (isListDropdownOptionType(options, ListDropdownOptionType.Group)) {\n const groups = options as IListDropdownOptionGroup[];\n return groups.reduce((flatOpts, group) => flatOpts.concat(group.options), [] as IListDropdownOption[]);\n }\n return [...options as IListDropdownOption[]];\n}\n", "import { IListDropdownAdapter } from './list-dropdown-adapter';\nimport { DEFAULT_LIST_DROPDOWN_CONFIG, IListDropdownConfig, IListDropdownOption, IListDropdownOptionGroup } from './list-dropdown-constants';\nimport { getFlattenedOptions } from './list-dropdown-utils';\n\nexport interface IListDropdownFoundation {\n dropdownElement: HTMLElement | undefined;\n open(): void;\n close(): void;\n getActiveOptionIndex(): number;\n getActiveOption(): IListDropdownOption | undefined;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n activateSelectedOption(): void;\n activateFirstOption(): number;\n activateOption(index: number): void;\n setSelectedValues(values: any): void;\n clearActiveOption(): void;\n setOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void;\n appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void;\n scrollSelectedOptionIntoView(animate?: boolean): void;\n setScrollBottomListener(listener: () => void, threshold?: number): void;\n removeScrollBottomListener(): void;\n setBusyVisibility(isVisible: boolean): void;\n handleKey(key: string): void;\n}\n\nexport class ListDropdownFoundation implements IListDropdownFoundation {\n private _config: IListDropdownConfig;\n private _open = false;\n private _selectListener: (value: any, id: string) => void;\n private _closeListener: () => void;\n private _scrollEndListener: () => void;\n\n constructor(private _adapter: IListDropdownAdapter, config: IListDropdownConfig) {\n this._config = Object.assign({ ...DEFAULT_LIST_DROPDOWN_CONFIG }, { ...config });\n this._selectListener = (value, id) => this._onSelect(value, id);\n this._closeListener = () => {\n if (typeof this._config.closeCallback === 'function') {\n this._config.closeCallback();\n }\n };\n this._scrollEndListener = () => {\n if (this._config.observeScroll && typeof this._config.scrollEndListener === 'function') {\n this._config.scrollEndListener();\n }\n };\n }\n\n public destroy(): void {\n if (this._open) {\n this.close();\n }\n }\n\n public open(): void {\n if (!this._open) {\n this._open = true;\n this._adapter.open(this._config, this._selectListener, this._closeListener);\n window.requestAnimationFrame(() => {\n if (this._open) {\n this.activateInitialOption();\n }\n });\n\n if (this._config.observeScroll && this._config.scrollEndListener) {\n this._adapter.setScrollBottomListener(this._scrollEndListener, this._config.observeScrollThreshold || 0);\n }\n }\n }\n\n public close(): void {\n if (this._open) {\n this._open = false;\n this._adapter.close();\n if (this._config.observeScroll && this._config.scrollEndListener) {\n this._adapter.removeScrollBottomListener(this._scrollEndListener);\n }\n }\n }\n\n private _onSelect(value: any, id: string): void {\n if (typeof this._config.activeChangeCallback === 'function') {\n this._config.activeChangeCallback(id);\n }\n\n if (typeof this._config.selectCallback === 'function') {\n this._config.selectCallback(value);\n }\n\n if (this._open) {\n const sync = this._config.syncWidth === undefined ? true : false;\n // Keep the popup width at least the same as the target if the target size has now changed\n this._adapter.syncWidth(sync);\n }\n }\n\n public getActiveOptionIndex(): number {\n return this._adapter.getActiveOptionIndex();\n }\n\n public getActiveOption(): IListDropdownOption | undefined {\n const index = this.getActiveOptionIndex();\n return index >= 0 ? this._nonDividerOptions[index] : undefined;\n }\n \n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n return this._adapter.toggleOptionMultiple(index, isSelected);\n }\n\n public activateSelectedOption(): void {\n this._adapter.activateSelectedOption(this._config);\n }\n\n public activateFirstOption(): number {\n const index = this._nonDividerOptions.findIndex(o => !o.disabled);\n if (index !== -1) {\n this.activateOption(index);\n }\n return index;\n }\n\n public activateLastOption(): number {\n const options = this._nonDividerOptions;\n const index = (options.length - 1) - options.findIndex(o => !o.disabled);\n if (index !== -1) {\n this.activateOption(index);\n }\n return index;\n }\n\n public activateOption(index: number, animate?: boolean): void {\n return this._adapter.activateOption(index, this._config.activeChangeCallback, animate);\n }\n\n public activateInitialOption(): void {\n if (typeof this._config.activeStartIndex === 'number' && this._nonDividerOptions[this._config.activeStartIndex]) {\n this.activateOption(this._config.activeStartIndex, false);\n this._adapter.scrollSelectedOptionIntoView(false);\n } else if (this._config.selectedValues && this._config.selectedValues.length) {\n this._adapter.scrollSelectedOptionIntoView(false);\n } else if (typeof this._config.visibleStartIndex === 'number' && this._nonDividerOptions[this._config.visibleStartIndex]) {\n this._adapter.scrollOptionIntoView(this._config.visibleStartIndex);\n }\n }\n\n public setSelectedValues(values: any[]): void {\n if (!Array.isArray(values)) {\n values = [values];\n }\n if (!this._config.multiple && values.length > 1) {\n values = [values[0]];\n }\n this._config.selectedValues = values;\n this._adapter.setSelectedValues(values, this._config.multiple);\n }\n\n public clearActiveOption(): void {\n this._adapter.clearActiveOption();\n }\n\n public setOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void {\n this._config.options = options;\n if (!this._open) {\n return;\n }\n this._adapter.setOptions(this._config);\n this.activateInitialOption();\n }\n\n public appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void {\n this._config.options = [...this._config.options, ...options] as Array<IListDropdownOption | IListDropdownOptionGroup>;\n if (!this._open) {\n return;\n }\n this._adapter.appendOptions(options, this._config);\n }\n\n public get dropdownElement(): HTMLElement | undefined {\n return this._adapter.dropdownElement;\n }\n\n public scrollSelectedOptionIntoView(animate = true): void {\n this._adapter.scrollSelectedOptionIntoView(animate);\n }\n\n public setScrollBottomListener(listener: () => void, threshold?: number): void {\n this._config.scrollEndListener = listener;\n this._config.observeScroll = true;\n this._config.observeScrollThreshold = threshold;\n this._adapter.setScrollBottomListener(this._scrollEndListener, this._config.observeScrollThreshold || 0);\n }\n\n public removeScrollBottomListener(): void {\n this._config.scrollEndListener = undefined;\n this._adapter.removeScrollBottomListener(this._scrollEndListener);\n }\n\n public setBusyVisibility(isVisible: boolean): void {\n if (!this._config.allowBusy) {\n return;\n }\n this._adapter.setBusyVisibility(isVisible);\n }\n\n public handleKey(key: string): void {\n switch (key) {\n case 'Enter':\n case 'NumpadEnter':\n const activeOptionIndex = this.getActiveOptionIndex();\n const activeOption = this._nonDividerOptions[activeOptionIndex];\n if (this._canSelectOption(activeOption)) {\n const id = this._adapter.getActiveOptionIdByIndex(activeOptionIndex);\n if (id) {\n this._onSelect(activeOption.value, id);\n }\n }\n break;\n case 'Up':\n case 'ArrowUp':\n case 'Down':\n case 'ArrowDown':\n const options = this._nonDividerOptions;\n if (options.length && options.every(o => !this._canSelectOption(o))) {\n return;\n }\n const index = this._getNextActiveOptionIndex(key);\n this.activateOption(index);\n break;\n case 'Home':\n this.activateFirstOption();\n break;\n case 'End':\n this.activateLastOption();\n break;\n }\n }\n\n private _canSelectOption(option: IListDropdownOption): boolean {\n return option && !option.disabled && !option.divider;\n }\n\n private _getNextActiveOptionIndex(key: string): number {\n let index = this._adapter.getActiveOptionIndex();\n if (index === -1) {\n index = this._adapter.getSelectedOptionIndex();\n }\n if (key === 'ArrowUp' || key === 'Up') {\n return this._getPreviousHighlightableOptionIndex(index, this._nonDividerOptions);\n }\n return this._getNextHighlightableOptionIndex(index, this._nonDividerOptions);\n }\n\n private _getPreviousHighlightableOptionIndex(startIndex: number, options: IListDropdownOption[]): number {\n const index = startIndex <= 0 ? options.length - 1 : startIndex - 1;\n if (options[index].disabled) {\n return this._getPreviousHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _getNextHighlightableOptionIndex(startIndex: number, options: IListDropdownOption[]): number {\n const index = startIndex === options.length - 1 ? 0 : startIndex + 1;\n if (options[index].disabled) {\n return this._getNextHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private get _flatOptions(): IListDropdownOption[] {\n return getFlattenedOptions(this._config.options);\n }\n\n private get _nonDividerOptions(): IListDropdownOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n}\n", "import { IListDropdownOption, IListDropdownOpenConfig, IListDropdownOptionGroup, LIST_DROPDOWN_CONSTANTS } from './list-dropdown-constants';\nimport { createDropdown, createList, createListItems, createAsyncElement, createBusyElement, createCheckboxElement } from './list-dropdown-utils';\nimport { IPopupComponent, POPUP_CONSTANTS } from '../popup';\nimport { IListComponent } from '../list/list';\nimport { LIST_ITEM_CONSTANTS, IListItemComponent, IListItemSelectEventData } from '../list/list-item';\nimport { ScrollEvents, getShadowElement, IScrollObserverConfiguration, ScrollAxisObserver, removeAllChildren, isFunction, removeElement, replaceElement, createVisuallyHiddenElement, isDeepEqual, tryScrollIntoView } from '@tylertech/forge-core';\nimport { ILinearProgressComponent } from '../linear-progress';\nimport { ICON_CONSTANTS, IIconComponent } from '../icon';\n\nexport interface IListDropdownAdapter {\n dropdownElement: HTMLElement | undefined;\n open(config: IListDropdownOpenConfig, selectCallback: (value: any, id: string) => void, closeCb: () => void): void;\n close(): void;\n setScrollBottomListener(listener: () => void, scrollThreshold: number): void;\n removeScrollBottomListener(listener: () => void): void;\n getActiveOptionIndex(): number;\n getSelectedOptionIndex(): number;\n getActiveOptionIdByIndex(index: number): string | null;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n scrollOptionIntoView(index: number): void;\n scrollSelectedOptionIntoView(animate?: boolean): void;\n activateSelectedOption(config: IListDropdownOpenConfig): void;\n activateOption(index: number, activeChangeCallback: ((id: string) => void) | undefined, animate?: boolean): void;\n setSelectedValues(values: any[], multiple?: boolean): void;\n clearActiveOption(): void;\n syncWidth(sync: boolean, targetWidthCallback?: () => number): void;\n setOptions(config: IListDropdownOpenConfig): void;\n appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>, config: IListDropdownOpenConfig): void;\n setBusyVisibility(isVisible: boolean): void;\n getScreenWidth(): number;\n}\n\nexport class ListDropdownAdapter implements IListDropdownAdapter {\n private _dropdownElement: IPopupComponent | undefined;\n private _listElement: IListComponent | undefined;\n private _announcerElement: HTMLElement | undefined;\n private _scrollObserver: ScrollAxisObserver | undefined;\n private _asyncElement: HTMLElement | undefined;\n private _busyElement: ILinearProgressComponent;\n private _headerElement: HTMLElement;\n private _footerElement: HTMLElement;\n\n constructor(private _targetElement: HTMLElement) {}\n\n public get dropdownElement(): HTMLElement | undefined {\n return this._dropdownElement;\n }\n\n public open(config: IListDropdownOpenConfig, selectCallback: (value: any, id: string) => void, closeCb: () => void): void {\n // Now lets create the popup and append the children\n this._dropdownElement = createDropdown(config, this._targetElement);\n this.syncWidth(!!config.syncWidth, config.targetWidthCallback);\n\n // If we are configured to show a busy indicator (linear progress bar across the top), then create and append it first\n if (config.allowBusy) {\n this._busyElement = createBusyElement();\n this._busyElement.style.display = 'none';\n this._dropdownElement.appendChild(this._busyElement);\n }\n\n // Create the header element if a builder exists\n if (config.headerBuilder) {\n this._headerElement = config.headerBuilder();\n if (this._headerElement) {\n this._headerElement.setAttribute(LIST_DROPDOWN_CONSTANTS.attributes.DATA_ALLOW_FOCUS, '');\n }\n }\n \n // Create the footer element if a builder exists\n if (config.footerBuilder) {\n this._footerElement = config.footerBuilder();\n if (this._footerElement) {\n this._footerElement.setAttribute(LIST_DROPDOWN_CONSTANTS.attributes.DATA_ALLOW_FOCUS, '');\n }\n }\n\n // Create the list from our config\n this._listElement = createList(config);\n\n // Add the listener for when list items are selected from the dropdown\n this._listElement.addEventListener('forge-list-item-select', evt => {\n evt.detail.listItem.setAttribute('aria-selected', 'true');\n selectCallback(evt.detail.value, evt.detail.listItem.id);\n });\n\n // Determine if we need to show the list or the async element first\n if (config.options.length) {\n // Now we can create an append the list items\n createListItems(config, this._listElement);\n this._dropdownElement.appendChild(this._listElement);\n\n // Always append the optional header element **first**\n if (this._headerElement) {\n this._dropdownElement.insertAdjacentElement('afterbegin', this._headerElement);\n }\n\n // Always append the optional footer element **last**\n if (this._footerElement) {\n this._dropdownElement.appendChild(this._footerElement);\n }\n } else if (config.allowBusy) {\n this._asyncElement = createAsyncElement(config.asyncStyle);\n this._dropdownElement.appendChild(this._asyncElement);\n }\n\n // Create the announcer element for a11y\n this._announcerElement = createVisuallyHiddenElement();\n this._announcerElement.id = `${config.id}-activedescendant`;\n this._dropdownElement.appendChild(this._announcerElement);\n\n // Open the popup\n this._dropdownElement.open = true;\n }\n\n public close(): void {\n if (!this._dropdownElement) {\n return;\n }\n this._dropdownElement.open = false;\n this._dropdownElement = undefined;\n this._listElement = undefined;\n this._announcerElement = undefined;\n }\n\n public setScrollBottomListener(listener: () => void, scrollThreshold: number): void {\n if (this._dropdownElement) {\n if (!this._scrollObserver) {\n const scrollTarget = getShadowElement(this._dropdownElement, POPUP_CONSTANTS.selectors.CONTAINER);\n const scrollConfig: IScrollObserverConfiguration = { scrollThreshold };\n this._scrollObserver = new ScrollAxisObserver(scrollTarget, scrollConfig);\n this._scrollObserver.addListener(ScrollEvents.ScrolledEnd, listener);\n }\n }\n }\n\n public removeScrollBottomListener(listener: () => void): void {\n if (this._scrollObserver) {\n this._scrollObserver.removeListener(ScrollEvents.ScrolledEnd, listener);\n }\n }\n\n public getActiveOptionIndex(): number {\n if (!this._dropdownElement) {\n return -1;\n }\n const listItems = this._getListItemElements();\n const activeListItem = [...listItems].reverse().find(li => li.active);\n return activeListItem ? listItems.indexOf(activeListItem) : -1;\n }\n\n public getSelectedOptionIndex(): number {\n const listItems = this._getListItemElements();\n return listItems.findIndex(li => li.selected);\n }\n\n public getActiveOptionIdByIndex(index: number): string | null {\n if (!this._dropdownElement) {\n return null;\n }\n const listItems = this._getListItemElements();\n const item = listItems[index];\n return item ? item.id : null;\n }\n\n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n if (!this._dropdownElement) {\n return;\n }\n\n const listItems = this._getListItemElements();\n if (listItems.length && listItems[index]) {\n this._toggleSelectedOption(listItems[index], isSelected);\n }\n }\n\n public scrollOptionIntoView(index: number, animate = true): void {\n const listItem = this._getListItemElements()[index];\n if (listItem) {\n this._scrollListItemIntoView(listItem, animate ? 'smooth' : 'auto', 'center');\n }\n }\n\n public scrollSelectedOptionIntoView(animate = true): void {\n const listItem = this._getSelectedListItem();\n this._scrollListItemIntoView(listItem, animate ? 'smooth' : 'auto', 'center');\n }\n\n public activateSelectedOption(config: IListDropdownOpenConfig): void {\n const listItems = this._getListItemElements();\n if (listItems.length) {\n const activeListItems = listItems.filter(li => li.active);\n activeListItems.forEach(li => li.active = false);\n }\n \n const listItem = this._getSelectedListItem();\n if (listItem) {\n this._activateListOption(listItem, config.activeChangeCallback);\n }\n }\n\n public activateOption(index: number, activeChangeCallback: ((id: string) => void) | undefined, animate = true): void {\n if (!this._dropdownElement) {\n return;\n }\n const listItems = this._getListItemElements();\n if (listItems.length) {\n const activeListItems = listItems.filter(li => li.active);\n activeListItems.forEach(li => li.active = false);\n this._activateListOption(listItems[index], activeChangeCallback);\n this._scrollListItemIntoView(listItems[index], animate ? 'smooth' : 'auto');\n }\n }\n\n public setSelectedValues(values: any[], multiple = false): void {\n if (!this._dropdownElement) {\n return;\n }\n const listItems = this._getListItemElements();\n for (const listItem of listItems) {\n const isSelected = values.some(v => isDeepEqual(v, listItem.value));\n listItem.selected = isSelected;\n\n if (multiple) {\n const checkboxElement = listItem.querySelector(`[${LIST_DROPDOWN_CONSTANTS.attributes.CHECKBOX_ELEMENT}]`) as IIconComponent;\n if (checkboxElement) {\n const newCheckboxElement = createCheckboxElement(isSelected);\n replaceElement(newCheckboxElement, checkboxElement);\n }\n }\n }\n }\n\n public clearActiveOption(): void {\n const listItems = this._getListItemElements();\n listItems.forEach(li => li.active = false);\n }\n\n public syncWidth(sync: boolean, targetWidthCallback?: () => number): void {\n if (this._dropdownElement) {\n this._dropdownElement.style[sync ? 'width' : 'minWidth'] = `${this._getTargetElementWidth(targetWidthCallback)}px`;\n }\n }\n\n public setOptions(config: IListDropdownOpenConfig): void {\n if (!this._dropdownElement || !this._listElement) {\n return;\n }\n if (this._asyncElement && this._asyncElement.isConnected) {\n removeElement(this._asyncElement);\n }\n if (this._busyElement) {\n this._busyElement.style.display = 'none';\n }\n if (!this._listElement.isConnected) {\n this._dropdownElement.appendChild(this._listElement);\n }\n \n removeAllChildren(this._listElement);\n createListItems(config, this._listElement);\n\n if (this._headerElement && !this._headerElement.isConnected) {\n this._dropdownElement.insertAdjacentElement('afterbegin', this._headerElement);\n }\n if (this._footerElement && !this._footerElement.isConnected) {\n this._dropdownElement.insertAdjacentElement('beforeend', this._footerElement);\n }\n if ('position' in this._dropdownElement && typeof this._dropdownElement.position === 'function') {\n this._dropdownElement.position();\n }\n }\n\n public appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>, config: IListDropdownOpenConfig): void {\n if (!this._dropdownElement || !this._listElement) {\n return;\n }\n createListItems(config, this._listElement, options, this._listElement.childElementCount, false);\n }\n\n public setBusyVisibility(isVisible: boolean): void {\n if (!this._dropdownElement) {\n return;\n }\n if (isVisible) {\n this._busyElement.style.removeProperty('display');\n } else {\n this._busyElement.style.display = 'none';\n }\n }\n\n public getScreenWidth(): number {\n return window.innerWidth;\n }\n\n private _getListItemElements(): IListItemComponent[] {\n return this._dropdownElement ? Array.from(this._dropdownElement.querySelectorAll(LIST_ITEM_CONSTANTS.elementName)) as IListItemComponent[] : [];\n }\n\n private _toggleSelectedOption(listItem: IListItemComponent, isSelected: boolean): void {\n if (!this._dropdownElement) {\n return;\n }\n\n // First we need to remove the active state from any other list items\n const listItems = this._getListItemElements();\n if (listItems.length) {\n const activeItems = listItems.filter(li => li !== listItem && li.active);\n if (activeItems.length) {\n activeItems.forEach(ai => ai.active = false);\n }\n }\n\n // Now we can toggle the selected state and sync the active state\n listItem.selected = isSelected;\n listItem.setAttribute('aria-selected', `${isSelected}`);\n listItem.setAttribute('aria-checked', `${isSelected}`);\n\n if (isSelected) {\n listItem.active = true;\n }\n\n // Toggle the checkbox icon based on the selected state\n const checkboxElement = listItem.querySelector(`${ICON_CONSTANTS.elementName}[slot=leading]`) as IIconComponent;\n if (checkboxElement) {\n const newCheckboxElement = createCheckboxElement(isSelected);\n replaceElement(newCheckboxElement, checkboxElement);\n }\n }\n\n private _getTargetElementWidth(cb?: () => number): number {\n if (cb && isFunction(cb)) {\n return cb();\n }\n return this._targetElement.getBoundingClientRect().width;\n }\n\n private _activateListOption(listItem: IListItemComponent | undefined, activeChangeCallback?: (id: string) => void): void {\n if (listItem && !listItem.disabled) {\n listItem.active = true;\n if (activeChangeCallback && isFunction(activeChangeCallback)) {\n activeChangeCallback(listItem.id);\n }\n }\n }\n\n private _scrollListItemIntoView(listItem: HTMLElement | undefined, behavior: 'auto' | 'smooth' = 'auto', block: 'nearest' | 'center' = 'nearest'): void {\n if (listItem && this._dropdownElement && this._dropdownElement.isConnected) {\n const scrollContainer = getShadowElement(this._dropdownElement, POPUP_CONSTANTS.selectors.CONTAINER);\n if (scrollContainer) {\n tryScrollIntoView(scrollContainer, listItem, behavior, block);\n }\n }\n }\n\n private _getSelectedListItem(): IListItemComponent | undefined {\n const listItems = this._getListItemElements();\n return listItems.find(li => li.selected);\n }\n}\n", "import { tylIconCheckBox, tylIconCheckBoxOutlineBlank } from '@tylertech/tyler-icons/standard';\n\nimport { IListDropdownConfig, IListDropdownOption, IListDropdownOptionGroup } from './list-dropdown-constants';\nimport { ListDropdownFoundation } from './list-dropdown-foundation';\nimport { ListDropdownAdapter } from './list-dropdown-adapter';\nimport { IconRegistry } from '../icon';\n\nexport interface IListDropdown {\n dropdownElement: HTMLElement | undefined;\n open(): void;\n close(): void;\n destroy(): void;\n getActiveOptionIndex(): number;\n getActiveOption(): IListDropdownOption | undefined;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n activateSelectedOption(): void;\n activateFirstOption(): number;\n activateOption(index: number): void;\n activateInitialOption(): void;\n clearActiveOption(): void;\n setSelectedValues(values: any[]): void;\n setOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void;\n appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void;\n scrollSelectedOptionIntoView(animate?: boolean): void;\n setScrollBottomListener(listener: () => void, threshold?: number): void;\n removeScrollBottomListener(): void;\n setBusyVisibility(isVisible: boolean): void;\n handleKey(key: string): void;\n}\n\nexport class ListDropdown implements IListDropdown {\n private _foundation: ListDropdownFoundation;\n\n constructor(private _targetElement: HTMLElement, config: IListDropdownConfig) {\n IconRegistry.define([tylIconCheckBox, tylIconCheckBoxOutlineBlank]);\n this._foundation = new ListDropdownFoundation(new ListDropdownAdapter(this._targetElement), config);\n }\n\n public destroy(): void {\n this._foundation.destroy();\n }\n\n /** Opens the dropdown. */\n public open(): void {\n this._foundation.open();\n }\n\n /** Closes the dropdown. */\n public close(): void {\n this._foundation.close();\n }\n\n /** Gets the currently highlighted option index in the dropdown. */\n public getActiveOptionIndex(): number {\n return this._foundation.getActiveOptionIndex();\n }\n\n public getActiveOption(): IListDropdownOption | undefined {\n return this._foundation.getActiveOption();\n }\n \n /** Toggles the selected option by index. Only applies when in multiselect mode. */\n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n return this._foundation.toggleOptionMultiple(index, isSelected);\n }\n \n /** Activates the first selected option. */\n public activateSelectedOption(): void {\n this._foundation.activateSelectedOption();\n }\n\n /** Activates the first non-disabled option. */\n public activateFirstOption(): number {\n return this._foundation.activateFirstOption();\n }\n\n /** Activates (highlights) an option by index. */\n public activateOption(index: number): void {\n return this._foundation.activateOption(index);\n }\n\n /** Activates the first activatable option. */\n public activateInitialOption(): void {\n return this._foundation.activateInitialOption();\n }\n\n /** Clears the active option from the dropdown */\n public clearActiveOption(): void {\n this._foundation.clearActiveOption();\n }\n\n /** Sets the selected values. Only applies when in multiselect mode. */\n public setSelectedValues(values: any[]): void {\n return this._foundation.setSelectedValues(values);\n }\n\n public get dropdownElement(): HTMLElement | undefined {\n return this._foundation.dropdownElement;\n }\n\n public setOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void {\n this._foundation.setOptions(options);\n }\n\n public appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void {\n this._foundation.appendOptions(options);\n }\n\n public scrollSelectedOptionIntoView(animate?: boolean): void {\n this._foundation.scrollSelectedOptionIntoView();\n }\n\n public setScrollBottomListener(listener: () => void, threshold?: number): void {\n this._foundation.setScrollBottomListener(listener, threshold);\n }\n\n public removeScrollBottomListener(): void {\n this._foundation.removeScrollBottomListener();\n }\n\n public setBusyVisibility(isVisible: boolean): void {\n this._foundation.setBusyVisibility(isVisible);\n }\n\n public handleKey(key: string): void {\n this._foundation.handleKey(key);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { ListDropdownHeaderBuilder, ListDropdownFooterBuilder } from './list-dropdown-constants';\n\nexport interface IListDropdownAwareFoundation extends ICustomElementFoundation {\n popupClasses: string | string[];\n popupHeaderBuilder: ListDropdownHeaderBuilder;\n popupFooterBuilder: ListDropdownHeaderBuilder;\n syncPopupWidth: boolean;\n optionLimit: number;\n observeScroll: boolean;\n observeScrollThreshold: number;\n constrainPopupWidth: boolean;\n wrapOptionText: boolean;\n}\n\nexport abstract class ListDropdownAwareFoundation implements IListDropdownAwareFoundation {\n protected _popupClasses: string | string[] = [];\n protected _popupHeaderBuilder: ListDropdownHeaderBuilder;\n protected _popupFooterBuilder: ListDropdownFooterBuilder;\n protected _syncPopupWidth = false;\n protected _optionLimit = 0;\n protected _observeScroll = false;\n protected _observeScrollThreshold = 0;\n protected _constrainPopupWidth = true;\n protected _wrapOptionText = false;\n\n public get syncPopupWidth(): boolean {\n return this._syncPopupWidth;\n }\n public set syncPopupWidth(value: boolean) {\n this._syncPopupWidth = value;\n }\n\n public get popupClasses(): string | string[] {\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[]) {\n if (typeof value === 'string') {\n value = [value];\n }\n if (Array.isArray(value)) {\n this._popupClasses = value;\n }\n }\n\n public get observeScroll(): boolean {\n return this._observeScroll;\n }\n public set observeScroll(value: boolean) {\n this._observeScroll = value;\n }\n\n public get observeScrollThreshold(): number {\n return this._observeScrollThreshold;\n }\n public set observeScrollThreshold(value: number) {\n this._observeScrollThreshold = value;\n }\n\n public get optionLimit(): number {\n return this._optionLimit;\n }\n public set optionLimit(value: number) {\n this._optionLimit = value;\n }\n\n public get popupHeaderBuilder(): ListDropdownHeaderBuilder {\n return this._popupHeaderBuilder;\n }\n public set popupHeaderBuilder(value: ListDropdownHeaderBuilder) {\n this._popupHeaderBuilder = value;\n }\n\n public get popupFooterBuilder(): ListDropdownFooterBuilder {\n return this._popupFooterBuilder;\n }\n public set popupFooterBuilder(value: ListDropdownFooterBuilder) {\n this._popupFooterBuilder = value;\n }\n\n public get constrainPopupWidth(): boolean {\n return this._constrainPopupWidth;\n }\n public set constrainPopupWidth(value: boolean) {\n this._constrainPopupWidth = value;\n }\n\n public get wrapOptionText(): boolean {\n return this._wrapOptionText;\n }\n public set wrapOptionText(value: boolean) {\n this._wrapOptionText = value;\n }\n\n protected _applySelection(): void {}\n}\n", "import { IListDropdownAwareFoundation, ListDropdownAwareFoundation } from './list-dropdown-aware-foundation';\n\nexport interface ICascadingListDropdownAwareFoundation extends IListDropdownAwareFoundation {}\n\nexport interface ICascadingListDropdownAwareFoundationConfiguration {\n popupTimeout: number;\n targetTimeout: number;\n}\n\nexport abstract class CascadingListDropdownAwareFoundation<T> extends ListDropdownAwareFoundation implements ICascadingListDropdownAwareFoundation {\n protected _open = false;\n protected _options: T[] = [];\n protected _childOpen = false;\n protected _popupHasMouse = false; // Used to determine if the popup element is under the users mouse\n protected _mouseCoords: { x: number; y: number };\n protected _activeMouseLeaveTimeout: number;\n protected _targetMouseEnterListener: (evt: MouseEvent) => void;\n protected _targetMouseLeaveListener: (evt: MouseEvent) => void;\n protected _childPopupMouseEnterListener: (evt: MouseEvent) => void;\n protected _childPopupMouseLeaveListener: (evt: MouseEvent) => void;\n protected _documentMouseMoveListener: (evt: MouseEvent) => void;\n \n protected abstract _attachCascadingListeners(): void;\n protected abstract _detachCascadingListeners(): void;\n protected abstract _onCascadingOptionSelected(data: any): void;\n protected abstract _onCascadingChildOpen(index: number): void;\n protected abstract _onCascadingChildClose(index: number): void;\n protected abstract _closeDropdown(): void;\n protected abstract _openDropdown({ fromKeyboard }: { fromKeyboard?: boolean }): void;\n protected abstract _setCascadeTargetInactive(): void;\n protected abstract _isOwnElement(element: Element): boolean;\n\n constructor(private _config: ICascadingListDropdownAwareFoundationConfiguration) {\n super();\n this._targetMouseEnterListener = evt => this._onTargetMouseEnter(evt);\n this._targetMouseLeaveListener = evt => this._onTargetMouseLeave(evt);\n this._childPopupMouseEnterListener = () => this._onChildPopupMouseEnter();\n this._childPopupMouseLeaveListener = () => this._onChildPopupMouseLeave();\n this._documentMouseMoveListener = evt => this._mouseCoords = { x: evt.pageX, y: evt.pageY };\n }\n\n private _onChildPopupMouseEnter(): void {\n this._popupHasMouse = true;\n }\n\n private _onChildPopupMouseLeave(): void {\n this._popupHasMouse = false;\n setTimeout(() => {\n const mouseElement = document.elementFromPoint(this._mouseCoords.x, this._mouseCoords.y);\n if (!this._popupHasMouse && !this._childOpen && (!mouseElement || !this._isOwnElement(mouseElement))) {\n this._setCascadeTargetInactive();\n this._closeDropdown();\n }\n }, this._config.popupTimeout);\n }\n\n private _onTargetMouseEnter(evt: MouseEvent): void {\n if (!this._options.length) {\n return;\n }\n this._openDropdown({ fromKeyboard: false });\n }\n\n private _onTargetMouseLeave(evt: MouseEvent): void {\n // We wrap this in a timeout to allow for the user to take an indirect path toward an open child menu. This\n // allows for the popup to stay open while the user is moving their mouse to it (makes the transition easier and more smooth)\n this._activeMouseLeaveTimeout = window.setTimeout(() => {\n // Ignore this if our open state has changed, or if we have a child popup open now\n if (!this._open || this._childOpen) {\n return;\n }\n if (this._mouseCoords) {\n // We ignore this event if the mouse moved to an element within our own popup\n const mouseElement = document.elementFromPoint(this._mouseCoords.x, this._mouseCoords.y);\n if (mouseElement && this._isOwnElement(mouseElement)) {\n return;\n }\n }\n this._setCascadeTargetInactive();\n this._closeDropdown();\n }, this._config.targetTimeout);\n }\n\n protected _clearMouseLeaveTimeout(): void {\n if (this._activeMouseLeaveTimeout !== undefined) {\n window.clearTimeout(this._activeMouseLeaveTimeout);\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["attributes", "classes", "LIST_DROPDOWN_CONSTANTS", "DEFAULT_LIST_DROPDOWN_CONFIG", "ListDropdownType", "ListDropdownAsyncStyle", "EventAware", "type", "data", "listeners", "cb", "listener", "ScrollDirection", "ScrollEvents", "DEFAULT_SCROLL_THROTTLE", "ScrollAxisObserver", "EventAware", "_element", "_config", "wait", "throttle", "isDefined", "isNumber", "isVertical", "isHorizontal", "position", "direction", "ScrollDirection", "ScrollEvents", "scrollStart", "scrollEnd", "createDropdown", "config", "targetElement", "dropdownElement", "createPopupDropdown", "dropdownId", "evt", "composedPath", "getEventPath", "el", "LIST_DROPDOWN_CONSTANTS", "addClass", "_a", "popupElement", "POPUP_CONSTANTS", "createList", "listElement", "LIST_CONSTANTS", "createListItems", "options", "startIndex", "renderSelected", "groups", "getOptionsByGroup", "flatOptions", "getFlattenedOptions", "limitOptions", "optionLimit", "optionIdIndex", "group", "optionParent", "headerElement", "groupWrapper", "listHeaderElement", "option", "dividerElement", "createDivider", "isSelected", "v", "isDeepEqual", "listItemElement", "element", "result", "checkboxElement", "createCheckboxElement", "value", "key", "isObject", "leadingIconElement", "createIconElement", "trailingIconElement", "optionIconElement", "factoryConfig", "o", "cascadingElement", "selected", "tylIconCheckBox", "tylIconCheckBoxOutlineBlank", "divider", "type", "iconName", "iconClass", "icon", "iconElement", "ICON_CLASS_NAME", "createAsyncElement", "asyncStyle", "createSkeletonElement", "createSpinnerElement", "div", "spinner", "list", "i", "listItemSkeleton", "SKELETON_CONSTANTS", "createBusyElement", "linearProgress", "LINEAR_PROGRESS_CONSTANTS", "isListDropdownOptionType", "isOptionGroups", "isDefined", "isOptionTypes", "flatOpts", "ListDropdownFoundation", "_adapter", "config", "__spreadValues", "DEFAULT_LIST_DROPDOWN_CONFIG", "value", "id", "sync", "index", "isSelected", "o", "options", "animate", "values", "listener", "threshold", "isVisible", "key", "activeOptionIndex", "activeOption", "option", "startIndex", "getFlattenedOptions", "ListDropdownAdapter", "_targetElement", "config", "selectCallback", "closeCb", "createDropdown", "createBusyElement", "LIST_DROPDOWN_CONSTANTS", "createList", "evt", "createListItems", "createAsyncElement", "createVisuallyHiddenElement", "listener", "scrollThreshold", "scrollTarget", "getShadowElement", "POPUP_CONSTANTS", "scrollConfig", "ScrollAxisObserver", "ScrollEvents", "listItems", "activeListItem", "li", "index", "item", "isSelected", "animate", "listItem", "activeChangeCallback", "values", "multiple", "v", "isDeepEqual", "checkboxElement", "newCheckboxElement", "createCheckboxElement", "replaceElement", "sync", "targetWidthCallback", "removeElement", "removeAllChildren", "options", "isVisible", "LIST_ITEM_CONSTANTS", "activeItems", "ai", "ICON_CONSTANTS", "cb", "isFunction", "behavior", "block", "scrollContainer", "tryScrollIntoView", "ListDropdown", "_targetElement", "config", "IconRegistry", "tylIconCheckBox", "tylIconCheckBoxOutlineBlank", "ListDropdownFoundation", "ListDropdownAdapter", "index", "isSelected", "values", "options", "animate", "listener", "threshold", "isVisible", "key", "ListDropdownAwareFoundation", "value", "CascadingListDropdownAwareFoundation", "ListDropdownAwareFoundation", "_config", "evt", "mouseElement"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
-
* License: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import{a as T}from"./chunk.LEVFMI2Q.js";import{a as h}from"./chunk.NVUMRW44.js";import{a as S}from"./chunk.BKL2BAYW.js";import{a as x,b as M}from"./chunk.DXN7ZOH3.js";import{a as L,e as O,f as A}from"./chunk.MVTBJPO2.js";import{b as C,d as k,h as m,x as w}from"./chunk.K7FPXAFS.js";import{b as y,k as E}from"./chunk.J2M2MXP2.js";import{d as u}from"./chunk.M3QDAYD2.js";var v=`${M}calendar-menu`,U={ANIMATION_TYPE:"animation-type",DATA_ANIMATION:"data-animation",DATA_VALUE:"data-value",POPUP_CONTEXT:"forge-popup-context",PREVENT_FOCUS:"prevent-focus"},c={BACKDROP:"forge-calendar-menu__backdrop",CLOSING:"forge-calendar-menu--closing",GRID:"forge-calendar-menu__grid",GRID_ITEM:"forge-calendar-menu__item--grid",GRID_FOUR_COL:"forge-calendar-menu__grid--four-col",GRID_THREE_COL:"forge-calendar-menu__grid--three-col",ITEM:"forge-calendar-menu__item",ITEM_FOCUSED:"forge-calendar-menu__item--focused",ITEM_SELECTED:"forge-calendar-menu__item--selected",LIST:"forge-calendar-menu__list",LIST_ITEM:"forge-calendar-menu__item--list",LIST_WRAPPER:"forge-calendar-menu__list__wrapper",MDC_RIPPLE_UPGRADED_FOCUSED:"mdc-ripple-upgraded--background-focused",OPEN:"forge-calendar-menu--open",REPLACING_VIEW:"forge-calendar-menu--replacing-view",SLIDE_LEFT:"forge-calendar-menu--slide-left",SLIDE_RIGHT:"forge-calendar-menu--slide-right",VIEW:"forge-calendar-menu__view"},I={SCROLL_SPY_BOTTOM:"scroll-spy-bottom",SCROLL_SPY_TOP:"scroll-spy-top"},G={ITEM:"menu-item",ITEM_BUTTON:"menu-item-button",ITEM_CONTENT:"menu-item-content",MENU:"menu"},H={CONTAINER:".forge-calendar-menu",FOCUSED:`.${c.ITEM_FOCUSED}`,GRID:`.${c.GRID}`,ITEM:`.${c.ITEM}`,LIST:`.${c.LIST}`,LIST_WRAPPER:`.${c.LIST_WRAPPER}`,SCROLL_SPY_BOTTOM:`#${I.SCROLL_SPY_BOTTOM}`,SCROLL_SPY_TOP:`#${I.SCROLL_SPY_TOP}`,SELECTED:`.${c.ITEM_SELECTED}`,VIEW:`.${c.VIEW}`},X={FOCUS_CHANGE:`${v}-focus-change`,SELECT:`${v}-select`},z={FOUR_COL:4,LARGE_ITEM_SET:13,LIST_SLICE_SIZE:20,THREE_COL:3},i={elementName:v,attributes:U,classes:c,ids:I,parts:G,selectors:H,events:X,numbers:z};function f(o){let t=document.createElement("div");t.setAttribute("part",i.parts.MENU),t.classList.add(i.classes.VIEW,i.classes.GRID);let e;return o.length>12?(t.classList.add(i.classes.GRID_FOUR_COL),e=F(o)):(t.classList.add(i.classes.GRID_THREE_COL),e=F(o)),e.forEach(r=>t.appendChild(r)),t}function F(o){return o.map(t=>{let e=document.createElement("div");return e.classList.add(i.classes.ITEM,i.classes.GRID_ITEM),e.innerText=t.label,e.setAttribute("role","button"),e.setAttribute("part",i.parts.ITEM),e.setAttribute("tabindex","-1"),e.setAttribute(i.attributes.DATA_VALUE,t.value.toString()),t.selected&&(e.classList.add(i.classes.ITEM_SELECTED),e.setAttribute("aria-current","true")),t.disabled&&e.setAttribute("disabled","true"),e})}function R(o){let t=document.createElement("div"),e=document.createElement("div");return t.classList.add(i.classes.VIEW,i.classes.LIST_WRAPPER),e.classList.add(i.classes.LIST),e.setAttribute("role","list"),e.appendChild(P(i.ids.SCROLL_SPY_TOP)),_(o).forEach(r=>e.appendChild(r)),e.appendChild(P(i.ids.SCROLL_SPY_BOTTOM)),t.appendChild(e),t}function _(o){return o.map(t=>{let e=document.createElement("div");return e.innerText=t.label,e.classList.add(i.classes.ITEM,i.classes.LIST_ITEM),e.setAttribute("part",i.parts.ITEM),e.setAttribute("tabindex","-1"),e.setAttribute("role","listitem"),e.setAttribute(i.attributes.DATA_VALUE,t.value.toString()),t.selected&&(e.classList.toggle(i.classes.ITEM_SELECTED,!0),e.setAttribute("aria-current","true")),t.disabled&&e.setAttribute("disabled","true"),e})}function P(o){let t=document.createElement("div");return t.id=o,t.setAttribute("aria-hidden","true"),t}function p(o){for(;o.childNodes.length>1;)o.firstChild&&o.removeChild(o.firstChild)}var g=class extends S{constructor(e){super(e);this.component=e;this._container=A(e,i.selectors.CONTAINER)}registerClickListener(e){this._container.addEventListener("click",e)}unregisterClickListener(e){this._container.removeEventListener("click",e)}registerIntersectionObserver(e){let r=this._container.querySelector(i.selectors.LIST_WRAPPER);if(!r)return;let n={root:r};this._intersectionObserver=new IntersectionObserver(e,n);let a=this._container.querySelector(i.selectors.SCROLL_SPY_BOTTOM),s=this._container.querySelector(i.selectors.SCROLL_SPY_TOP);a&&this._intersectionObserver.observe(a),s&&this._intersectionObserver.observe(s)}unregisterIntersectionObserver(){this._intersectionObserver&&(this._intersectionObserver.disconnect(),this._intersectionObserver=void 0)}setAnimationType(e){this._container.setAttribute(i.attributes.DATA_ANIMATION,e)}setClosed(){this._container.classList.remove(i.classes.OPEN),this._container.classList.add(i.classes.CLOSING),m(this._container,i.classes.CLOSING,!0).then(()=>{k(this._container),this.toggleHostAttribute("hidden",!0)})}setOpenAsGrid(e,r,n,a,s){let d=f(e);s&&m(this._container,i.classes.REPLACING_VIEW,!0).then(()=>{p(this._container),this.setFocusAtIndex(r,n,a)}),this._container.appendChild(d),this.toggleHostAttribute("hidden",!1),this._container.classList.add(i.classes.OPEN),s||this.setFocusAtIndex(r,n,a)}setOpenAsList(e,r,n,a,s){let d=R(e);s&&m(this._container,i.classes.REPLACING_VIEW,!0).then(()=>{p(this._container),this.setFocusAtIndex(r,n,a)}),this._container.appendChild(d),this.toggleHostAttribute("hidden",!1),this._container.classList.add(i.classes.OPEN),this._scrollItemIntoView("selected"),s||this.setFocusAtIndex(r,n,a)}appendListItemsToStart(e){let r=this._container.querySelector(i.selectors.LIST_WRAPPER),n=this._container.querySelector(i.selectors.LIST),a=n==null?void 0:n.querySelector(i.selectors.ITEM);if(r&&n&&a){let s=r.scrollTop,d=r.scrollHeight-r.clientHeight;_(e).forEach(D=>{n.insertBefore(D,a)});let N=r.scrollHeight-r.clientHeight;r.scrollTop=s+(N-d)}}appendListItemsToEnd(e){let r=this._container.querySelector(i.selectors.LIST),n=this._container.querySelector(i.selectors.SCROLL_SPY_BOTTOM);r&&n&&_(e).forEach(a=>{r.insertBefore(a,n)})}animateInFromLeft(e,r){m(this._container,i.classes.SLIDE_RIGHT,!0).then(()=>{p(this._container),r&&r()});let n=f(e);this._container.appendChild(n)}animateInFromRight(e,r){m(this._container,i.classes.SLIDE_LEFT,!0).then(()=>{p(this._container),r&&r()});let n=f(e);this._container.appendChild(n)}setFocusAtIndex(e,r,n){var d;let a=this._container.querySelector(i.selectors.FOCUSED);a==null||a.classList.remove(i.classes.ITEM_FOCUSED,i.classes.MDC_RIPPLE_UPGRADED_FOCUSED),a==null||a.setAttribute("tabindex","-1");let s=(d=this._container.querySelectorAll(i.selectors.ITEM))==null?void 0:d[e];s&&(s.classList.add(i.classes.ITEM_FOCUSED),s.setAttribute("tabindex",n?"-1":"0"),r&&!n?s.focus():n&&s.classList.add(i.classes.MDC_RIPPLE_UPGRADED_FOCUSED),this._scrollItemIntoView("focused"))}_scrollItemIntoView(e){let r=this._container.querySelector(i.selectors.LIST),n=r==null?void 0:r.querySelector(e==="selected"?i.selectors.SELECTED:i.selectors.FOCUSED);r&&n&&w(r.parentElement,n,e==="selected"?"auto":"smooth",e==="selected"?"center":"nearest")}};var b=class{constructor(t){this._adapter=t;this._animationType="scale";this._columnCount=3;this._focusedIndex=0;this._list=!1;this._open=!1;this._options=[];this._preventFocus=!1;this._sliceEnd=-1;this._sliceStart=-1;this._clickListener=e=>this._onClick(e),this._intersectionObserverCallback=e=>this._onIntersection(e)}initialize(){this._applyAnimationType(),this._applyPreventFocus(),this._adapter.setHostAttribute("exportparts",Object.values(i.parts).join(", ")),this._adapter.toggleHostAttribute("hidden",!0),this._adapter.registerClickListener(this._clickListener)}disconnect(){this._adapter.unregisterClickListener(this._clickListener),this._adapter.unregisterIntersectionObserver()}openAsGrid(t,e){this._list=!1,this._options=t,this._focusedIndex=0,this._setColumnCount(),this._adapter.setOpenAsGrid(t,this._focusedIndex,e,this._preventFocus,this._open),this._setGridListeners(),this._open=!0,this._emitFocusChangeEvent()}openAsList(t,e){this._list=!0,this._options=t;let r=this._getOptionSliceIncludingSelected();this._focusedIndex=Math.max(t.findIndex(n=>n.selected),this._sliceStart),this._adapter.setOpenAsList(r,this._focusedIndex-this._sliceStart,e,this._preventFocus,this._open),this._setListListeners(),this._open=!0,this._emitFocusChangeEvent()}close(){this._open=!1,this._options=[],this._adapter.setClosed()}animateIn(t,e,r){let n=()=>{this._setFocusFromStoredIndex(r)};e==="left"?this._adapter.animateInFromLeft(t,n):this._adapter.animateInFromRight(t,n),this._options=t,this._setColumnCount()}selectFocusedItem(){var t;this._adapter.emitHostEvent(i.events.SELECT,(t=this._options[this._focusedIndex])==null?void 0:t.value)}moveFocusBackward(){if(this._list)return!0;let t=this._focusedIndex-1,e=t>=0&&t%this._columnCount!==this._columnCount-1;return this._focusedIndexAfterAnimation=e?void 0:t+this._columnCount,this._tryMoveFocus(t,e)}moveFocusDown(){if(this._list){let t=Math.min(this._focusedIndex+=1,this._options.length-1);this._tryMoveFocus(t,!0)}else{let t=this._focusedIndex+this._columnCount,e=t<this._options.length;this._focusedIndexAfterAnimation=e?void 0:t%this._columnCount,this._tryMoveFocus(t,e)}}moveFocusForward(){if(this._list)return!0;let t=this._focusedIndex+1,e=t<this._options.length&&t%this._columnCount!==0;return this._focusedIndexAfterAnimation=e?void 0:t-this._columnCount,this._tryMoveFocus(t,e)}moveFocusUp(){if(this._list){let t=Math.max(this._focusedIndex-=1,0);this._tryMoveFocus(t,!0)}else{let t=this._focusedIndex-this._columnCount,e=t>=0;this._focusedIndexAfterAnimation=e?void 0:this._options.length+t,this._tryMoveFocus(t,e)}}_tryMoveFocus(t,e){var r;return e&&!((r=this._options[t])!=null&&r.disabled)&&(this._focusedIndex=t,this._adapter.setFocusAtIndex(this._list?this._focusedIndex-this._sliceStart:this._focusedIndex,!0,this._preventFocus),this._emitFocusChangeEvent()),e}_setFocusFromStoredIndex(t){var e,r;this._focusedIndexAfterAnimation!==void 0&&(this._options[this._focusedIndexAfterAnimation]&&!((e=this._options[this._focusedIndexAfterAnimation])!=null&&e.disabled)?this._focusedIndex=this._focusedIndexAfterAnimation:(r=this._options[0])!=null&&r.disabled?this._focusedIndex=this._options.findIndex(n=>!n.disabled):this._focusedIndex=this._options.length-this._options.slice().reverse().findIndex(n=>!n.disabled)-1,this._focusedIndexAfterAnimation=void 0,this._adapter.setFocusAtIndex(this._focusedIndex,t,this._preventFocus),this._emitFocusChangeEvent())}_onClick(t){let e=T(t).find(n=>n.classList&&n.classList.contains(i.classes.ITEM)),r=e==null?void 0:e.getAttribute(i.attributes.DATA_VALUE);y(r)&&this._adapter.emitHostEvent(i.events.SELECT,+r)}_onIntersection(t){this._sliceStart>0&&t.some(e=>e.target.id===i.ids.SCROLL_SPY_TOP&&e.isIntersecting)&&this._adapter.appendListItemsToStart(this._getPreviousOptionsSlice()),this._sliceEnd<this._options.length&&t.some(e=>e.target.id===i.ids.SCROLL_SPY_BOTTOM&&e.isIntersecting)&&this._adapter.appendListItemsToEnd(this._getNextOptionsSlice())}_setColumnCount(){this._columnCount=this._options.length>=i.numbers.LARGE_ITEM_SET?i.numbers.FOUR_COL:i.numbers.THREE_COL}_emitFocusChangeEvent(){var t;this._adapter.emitHostEvent(i.events.FOCUS_CHANGE,(t=this._options[this._focusedIndex])==null?void 0:t.value)}_setGridListeners(){this._adapter.unregisterIntersectionObserver()}_setListListeners(){this._adapter.unregisterIntersectionObserver(),this._adapter.registerIntersectionObserver(this._intersectionObserverCallback)}_getOptionSliceIncludingSelected(){if(this._options.length<=i.numbers.LIST_SLICE_SIZE)return this._sliceStart=0,this._sliceEnd=this._options.length,this._options.slice();let t=Math.max(this._options.findIndex(n=>n.selected),0),e=Math.max(Math.floor(t-i.numbers.LIST_SLICE_SIZE/2),0),r=e+i.numbers.LIST_SLICE_SIZE;return r>this._options.length&&(e=this._options.length-1-i.numbers.LIST_SLICE_SIZE,r=this._options.length),this._sliceStart=e,this._sliceEnd=r,this._options.slice(this._sliceStart,this._sliceEnd)}_getNextOptionsSlice(){let t=Math.min(this._sliceEnd+i.numbers.LIST_SLICE_SIZE,this._options.length),e=this._options.slice(this._sliceEnd,t);return this._sliceEnd=t,e}_getPreviousOptionsSlice(){let t=Math.max(this._sliceStart-i.numbers.LIST_SLICE_SIZE,0),e=this._options.slice(t,this._sliceStart);return this._sliceStart=t,e}_applyAnimationType(){this._adapter.setHostAttribute(i.attributes.ANIMATION_TYPE,this._animationType),this._adapter.setAnimationType(this._animationType)}_applyPreventFocus(){this._adapter.toggleHostAttribute(i.attributes.PREVENT_FOCUS,this._preventFocus),this._adapter.setFocusAtIndex(this._focusedIndex,!1,this._preventFocus)}get animationType(){return this._animationType}set animationType(t){this._animationType!==t&&(this._animationType=t,this._applyAnimationType())}get preventFocus(){return this._preventFocus}set preventFocus(t){this._preventFocus!==t&&(this._preventFocus=t,this._applyPreventFocus())}};var V='<template><div class="forge-calendar-menu" part="root"></div></template>',B='.forge-calendar-menu{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);position:relative;height:100%;width:100%;overflow:hidden}.forge-calendar-menu__view{position:absolute;top:0;left:0;height:100%;width:100%;background-color:inherit}.forge-calendar-menu__grid{max-height:320px;max-height:var(--forge-calendar-menu-max-height,320px);display:grid;gap:16px;justify-items:center;-webkit-box-align:center;align-items:center;padding:8px;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-calendar-menu__grid--three-col{grid-template-columns:repeat(3,1fr)}.forge-calendar-menu__grid--four-col{grid-template-columns:repeat(4,1fr)}.forge-calendar-menu__list{position:relative;background-color:inherit}.forge-calendar-menu__list__wrapper{position:relative;height:100%;overflow:auto}.forge-calendar-menu__list__wrapper::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-calendar-menu__item--grid{-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);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;width:100%;height:100%;border-radius:4px;overflow:hidden;font-weight:500;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.forge-calendar-menu__item--grid:not([disabled]){--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;border:1px solid #e0e0e0;cursor:pointer}.forge-calendar-menu__item--grid:not([disabled])::after,.forge-calendar-menu__item--grid:not([disabled])::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-calendar-menu__item--grid:not([disabled])::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-calendar-menu__item--grid:not([disabled])::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-calendar-menu__item--grid:not([disabled]).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-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-calendar-menu__item--grid:not([disabled]).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-calendar-menu__item--grid:not([disabled]).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-calendar-menu__item--grid:not([disabled])::after,.forge-calendar-menu__item--grid:not([disabled])::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-calendar-menu__item--grid:not([disabled])::after,.forge-calendar-menu__item--grid:not([disabled])::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-surface--hover::before,.forge-calendar-menu__item--grid:not([disabled]):hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded--background-focused::before,.forge-calendar-menu__item--grid:not([disabled]):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-calendar-menu__item--grid:not([disabled]):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-calendar-menu__item--grid:not([disabled]):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-calendar-menu__item--grid[disabled]{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.38))}.forge-calendar-menu__item--grid.forge-calendar-menu__item--selected{color:#fff;color:var(--mdc-theme-on-primary,#fff);background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee)}.forge-calendar-menu__item--grid.forge-calendar-menu__item--selected:hover{opacity:.87}.forge-calendar-menu__item--grid.forge-calendar-menu__item--selected.mdc-ripple-upgraded--background-focused,.forge-calendar-menu__item--grid.forge-calendar-menu__item--selected:focus{opacity:.54}.forge-calendar-menu__item--list{--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;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;margin:0 4px;width:calc(100% - 8px);height:48px;border-radius:4px;overflow:hidden;text-align:center;cursor:pointer}.forge-calendar-menu__item--list::after,.forge-calendar-menu__item--list::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-calendar-menu__item--list::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-calendar-menu__item--list::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-calendar-menu__item--list.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-calendar-menu__item--list.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-calendar-menu__item--list.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-calendar-menu__item--list.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-calendar-menu__item--list.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-calendar-menu__item--list::after,.forge-calendar-menu__item--list::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-calendar-menu__item--list.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-calendar-menu__item--list::after,.forge-calendar-menu__item--list::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-calendar-menu__item--list.mdc-ripple-surface--hover::before,.forge-calendar-menu__item--list:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-calendar-menu__item--list.mdc-ripple-upgraded--background-focused::before,.forge-calendar-menu__item--list:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-calendar-menu__item--list:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-calendar-menu__item--list:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-calendar-menu__item--list.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-calendar-menu__item--list--activated::before{opacity:.12;opacity:var(--mdc-ripple-activated-opacity, .12)}.forge-calendar-menu__item--list--activated::after,.forge-calendar-menu__item--list--activated::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-calendar-menu__item--list--activated.mdc-ripple-surface--hover::before,.forge-calendar-menu__item--list--activated:hover::before{opacity:.16;opacity:var(--mdc-ripple-hover-opacity, .16)}.forge-calendar-menu__item--list--activated.mdc-ripple-upgraded--background-focused::before,.forge-calendar-menu__item--list--activated:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-calendar-menu__item--list--activated:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-calendar-menu__item--list--activated:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-calendar-menu__item--list--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-calendar-menu__item--list--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity, .08)}.forge-calendar-menu__item--list--selected::after,.forge-calendar-menu__item--list--selected::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-calendar-menu__item--list--selected.mdc-ripple-surface--hover::before,.forge-calendar-menu__item--list--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity, .12)}.forge-calendar-menu__item--list--selected.mdc-ripple-upgraded--background-focused::before,.forge-calendar-menu__item--list--selected:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity, .2)}.forge-calendar-menu__item--list--selected:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-calendar-menu__item--list--selected:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity, .2)}.forge-calendar-menu__item--list--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.forge-calendar-menu__item--list--selected:focus:hover.mdc-ripple-upgraded--background-focused:not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.28}.forge-calendar-menu__item--list--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before,.forge-calendar-menu__item--list:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.12}.forge-calendar-menu__item--list--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation):hover::before,.forge-calendar-menu__item--list:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation):hover::before{opacity:.16}.forge-calendar-menu__item--list--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::after,.forge-calendar-menu__item--list--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before,.forge-calendar-menu__item--list:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::after,.forge-calendar-menu__item--list: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-calendar-menu__item--list--active:focus.forge-list-item--selected.forge-list-item--activated:not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.24}.forge-calendar-menu__item--list--active:focus.forge-list-item--selected.forge-list-item--activated:not(.mdc-ripple-upgraded--foreground-activation):hover::before{opacity:.28}.forge-calendar-menu__item--list.forge-calendar-menu__item--selected{background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-calendar-menu__item--list.forge-calendar-menu__item--selected:hover{opacity:.87}.forge-calendar-menu__item--list.forge-calendar-menu__item--selected.mdc-ripple-upgraded--background-focused,.forge-calendar-menu__item--list.forge-calendar-menu__item--selected:focus{opacity:.54}.forge-calendar-menu__item .mdc-ripple-upgraded--background-focused,.forge-calendar-menu__item--focused,.forge-calendar-menu__item:focus{outline:0}.forge-calendar-menu--open{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:scale-open;animation-name:scale-open;-webkit-transform-origin:top center;transform-origin:top center}.forge-calendar-menu--open[data-animation=fade]{-webkit-animation-name:fade-in;animation-name:fade-in}.forge-calendar-menu--open[data-animation=none]{-webkit-animation-duration:1ms;animation-duration:1ms}@media (prefers-reduced-motion){.forge-calendar-menu--open{-webkit-animation-name:fade-in;animation-name:fade-in}}.forge-calendar-menu--closing{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:scale-closed;animation-name:scale-closed;-webkit-transform-origin:top center;transform-origin:top center}.forge-calendar-menu--closing[data-animation=fade]{-webkit-animation-name:fade-out;animation-name:fade-out}.forge-calendar-menu--closing[data-animation=none]{-webkit-animation-duration:1ms;animation-duration:1ms}@media (prefers-reduced-motion){.forge-calendar-menu--closing{-webkit-animation-name:fade-out;animation-name:fade-out}}.forge-calendar-menu--slide-right .forge-calendar-menu__view:first-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:slide-out-to-right;animation-name:slide-out-to-right}@media (prefers-reduced-motion){.forge-calendar-menu--slide-right .forge-calendar-menu__view:first-child{-webkit-animation-name:fade-out;animation-name:fade-out}}.forge-calendar-menu--slide-right .forge-calendar-menu__view:last-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:slide-in-from-left;animation-name:slide-in-from-left}@media (prefers-reduced-motion){.forge-calendar-menu--slide-right .forge-calendar-menu__view:last-child{-webkit-animation-name:fade-in;animation-name:fade-in}}.forge-calendar-menu--slide-left .forge-calendar-menu__view:first-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:slide-out-to-left;animation-name:slide-out-to-left}@media (prefers-reduced-motion){.forge-calendar-menu--slide-left .forge-calendar-menu__view:first-child{-webkit-animation-name:fade-out;animation-name:fade-out}}.forge-calendar-menu--slide-left .forge-calendar-menu__view:last-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:slide-in-from-right;animation-name:slide-in-from-right}@media (prefers-reduced-motion){.forge-calendar-menu--slide-left .forge-calendar-menu__view:last-child{-webkit-animation-name:fade-in;animation-name:fade-in}}.forge-calendar-menu--replacing-view .forge-calendar-menu__view:first-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:fade-out;animation-name:fade-out}.forge-calendar-menu--replacing-view .forge-calendar-menu__view:last-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:fade-in;animation-name:fade-in}#scroll-spy-bottom{position:absolute;bottom:0;height:48px;pointer-events:none}#scroll-spy-top{position:absolute;top:0;height:48px;pointer-events:none}@-webkit-keyframes scale-open{from{opacity:0;-webkit-transform:scale(.4);transform:scale(.4)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-open{from{opacity:0;-webkit-transform:scale(.4);transform:scale(.4)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes scale-closed{from{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(.4);transform:scale(.4)}}@keyframes scale-closed{from{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(.4);transform:scale(.4)}}@-webkit-keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}@-webkit-keyframes slide-in-from-left{from{-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slide-in-from-left{from{-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slide-in-from-right{from{-webkit-transform:translateX(100%);transform:translateX(100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slide-in-from-right{from{-webkit-transform:translateX(100%);transform:translateX(100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slide-out-to-left{from{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slide-out-to-left{from{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@-webkit-keyframes slide-out-to-right{from{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slide-out-to-right{from{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}:host{display:block;position:absolute;top:0;left:0;height:100%;width:100%}:host([hidden]){display:none}:host([forge-popup-context=true]) .forge-calendar-menu{background-color:#fff;background-color:var(--forge-theme-elevated-surface,#fff)}',l=class extends HTMLElement{constructor(){super();O(this,V,B),this._foundation=new b(new g(this))}static get observedAttributes(){return[i.attributes.ANIMATION_TYPE,i.attributes.PREVENT_FOCUS]}connectedCallback(){!this.hasAttribute(i.attributes.POPUP_CONTEXT)&&C(this).some(e=>e.tagName.toLowerCase()==="forge-popup")&&this.setAttribute(i.attributes.POPUP_CONTEXT,"true"),this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,r,n){switch(e){case i.attributes.ANIMATION_TYPE:this.animationType=n;break;case i.attributes.PREVENT_FOCUS:this.preventFocus=E(n);break}}animateIn(e,r,n=!1){this._foundation.animateIn(e,r,n)}close(){this._foundation.close()}moveFocusDown(){this._foundation.moveFocusDown()}moveFocusBackward(){return this._foundation.moveFocusBackward()}moveFocusForward(){return this._foundation.moveFocusForward()}moveFocusUp(){this._foundation.moveFocusUp()}openAsGrid(e,r=!1){this._foundation.openAsGrid(e,r)}openAsList(e,r=!1){this._foundation.openAsList(e,r)}selectFocusedItem(){this._foundation.selectFocusedItem()}};u([h()],l.prototype,"animationType",2),u([h()],l.prototype,"preventFocus",2),l=u([x({name:i.elementName})],l);function Ee(){L(l)}export{i as a,f as b,F as c,R as d,_ as e,P as f,p as g,g as h,b as i,l as j,Ee as k};
|
|
7
|
-
//# sourceMappingURL=chunk.SBYX7VZ4.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
-
* License: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import{d as C}from"./chunk.YRMR7IOS.js";import{a as R,p as D}from"./chunk.F74YURLV.js";import{a as H}from"./chunk.KVCDAZ6B.js";import{h as w,i as E}from"./chunk.ISC7SZSP.js";import{a as c}from"./chunk.NVUMRW44.js";import{a as z}from"./chunk.BKL2BAYW.js";import{a as I,b as N}from"./chunk.DXN7ZOH3.js";import{a as S,e as T,f as d,k as x}from"./chunk.MVTBJPO2.js";import{t as _,u}from"./chunk.K7FPXAFS.js";import{k as p,l as b}from"./chunk.J2M2MXP2.js";import{d as l}from"./chunk.M3QDAYD2.js";var F=`${N}slider`,V={ARIA_LABEL:"data-aria-label",ARIA_LABEL_START:"data-aria-label-start",ARIA_LABEL_END:"data-aria-label-end",VALUE:"value",VALUE_START:"value-start",VALUE_END:"value-end",LABEL:"label",LABEL_START:"label-start",LABEL_END:"label-end",MIN:"min",MAX:"max",STEP:"step",TICKMARKS:"tickmarks",LABELED:"labeled",RANGE:"range",DISABLED:"disabled",READONLY:"readonly"},K={ROOT:".forge-slider",TRACK:".track",HANDLE_CONTAINER:".handle-container",START_INPUT:"input.start",END_INPUT:"input.end",START_HANDLE:".handle.start",START_HANDLE_THUMB:".handle.start .handle-thumb",END_HANDLE:".handle.end",END_HANDLE_THUMB:".handle.end .handle-thumb",START_LABEL:".handle.start .handle-label",START_LABEL_CONTENT:".handle.start .handle-label-content",END_LABEL:".handle.end .handle-label",END_LABEL_CONTENT:".handle.end .handle-label-content",LABEL:".handle-label",INPUT:"input[type=range]"},G={RANGE:"range",TICKMARKS:"tickmarks",ON_TOP:"on-top",OVERLAPPING:"overlapping",HOVER:"hover",HANDLE:"handle",HANDLE_THUMB:"handle-thumb",HANDLE_START:"start",HANDLE_LABEL:"handle-label",LABEL:"handle-label",LABEL_CONTENT:"handle-label-content"},X={INPUT:"forge-slider-input",CHANGE:"forge-slider-change"},Y={START_FRACTION:"--_start-fraction",END_FRACTION:"--_end-fraction",TICK_COUNT:"--_tick-count"},j={DEFAULT_STEP:1,DEFAULT_VALUE:50,DEFAULT_START_VALUE:33,DEFAULT_END_VALUE:67},a={elementName:F,attributes:V,selectors:K,classes:G,events:X,numbers:j,cssCustomProperties:Y};function B(o){let t=document.createElement("input");return t.type="range",t.id="start",t.min=String(o.min),t.max=String(o.max),t.step=String(o.step),t.valueAsNumber=o.valueStart,t.disabled=o.disabled,t.classList.add("start"),o.hasAttribute(a.attributes.ARIA_LABEL_START)&&t.setAttribute("aria-label",o.getAttribute(a.attributes.ARIA_LABEL_START)),t.setAttribute("aria-valuetext",String(o.valueStart)),t}function M(o){let t=document.createElement("div");t.classList.add(a.classes.HANDLE,a.classes.HANDLE_START),t.setAttribute("part","handle-start");let e=document.createElement("forge-state-layer");e.target="start",t.appendChild(e);let i=document.createElement("forge-focus-indicator");i.target="start",t.appendChild(i);let r=document.createElement("div");r.classList.add(a.classes.HANDLE_THUMB),r.setAttribute("part","handle-start-thumb"),t.appendChild(r);let n=document.createElement("div");n.classList.add(a.classes.HANDLE_LABEL),n.setAttribute("part","handle-start-label"),t.appendChild(n);let h=document.createElement("span");return h.textContent=o,h.classList.add(a.classes.LABEL_CONTENT),h.setAttribute("part","handle-start-label-content"),n.appendChild(h),t}function k(o){let t=document.createElement("div");t.classList.add(a.classes.LABEL);let e=document.createElement("span");return e.textContent=o,e.classList.add(a.classes.LABEL_CONTENT),t.appendChild(e),t}var m=class extends z{constructor(e){super(e);this._rootElement=d(e,a.selectors.ROOT),this._trackElement=d(e,a.selectors.TRACK),this._handleContainerElement=d(e,a.selectors.HANDLE_CONTAINER),this._endInputElement=d(e,a.selectors.END_INPUT),this._endHandleElement=d(e,a.selectors.END_HANDLE),this._endHandleThumbElement=d(e,a.selectors.END_HANDLE_THUMB),this._endLabelContentElement=d(e,a.selectors.END_LABEL_CONTENT)}addInputListener(e,i){this._getInputs().forEach(n=>n.addEventListener(e,i))}update({startFraction:e,endFraction:i,tickCount:r}){this._rootElement.style.setProperty(a.cssCustomProperties.START_FRACTION,String(e)),this._rootElement.style.setProperty(a.cssCustomProperties.END_FRACTION,String(i)),this._rootElement.style.setProperty(a.cssCustomProperties.TICK_COUNT,String(r))}updateLabels(e,i){var r;this._startLabelContentElement&&(this._startLabelContentElement.textContent=e),this._endLabelContentElement&&(this._endLabelContentElement.textContent=i),(r=this._startInputElement)==null||r.setAttribute("aria-valuetext",e),this._endInputElement.setAttribute("aria-valuetext",i)}updateHandleLayering(){let e=this._endInputElement.matches(":focus");this._startHandleElement&&_(this._startHandleElement,!e,a.classes.ON_TOP),_(this._endHandleElement,e,a.classes.ON_TOP)}tryHoverStartHandle(e){var i,r,n;this._startHandleThumbElement&&E(e,this._startHandleThumbElement)?(this._handleContainerElement.classList.add(a.classes.HOVER),(i=this._startHandleElement)==null||i.classList.add(a.classes.HOVER)):(r=this._startInputElement)!=null&&r.matches(":focus")||(this._handleContainerElement.classList.remove(a.classes.HOVER),(n=this._startHandleElement)==null||n.classList.remove(a.classes.HOVER))}tryHoverEndHandle(e){E(e,this._endHandleThumbElement)?(this._handleContainerElement.classList.add(a.classes.HOVER),this._endHandleElement.classList.add(a.classes.HOVER)):this._endInputElement.matches(":focus")||(this._handleContainerElement.classList.remove(a.classes.HOVER),this._endHandleElement.classList.remove(a.classes.HOVER))}tryDetectOverlap(){if(this._startHandleElement){let e=w(this._startHandleElement,this._endHandleElement);_(this._endHandleElement,e,a.classes.OVERLAPPING),_(this._startHandleElement,e,a.classes.OVERLAPPING)}}leaveHandleContainer(){this._handleContainerElement.classList.remove(a.classes.HOVER)}syncInputValues(e,i){if(this._startInputElement&&(this._startInputElement.valueAsNumber=e),this._endInputElement.valueAsNumber=i,this._startInputElement){let r=new FormData;r.append(this._component.nameStart,String(e)),r.append(this._component.nameEnd,String(i)),this._component.internals.setFormValue(r)}else this._component.internals.setFormValue(String(i))}setRange(e){var i,r;if(this._rootElement.classList.toggle(a.classes.RANGE,e),e){this._startInputElement=B(this._component),this._rootElement.insertAdjacentElement("afterbegin",this._startInputElement),this._endInputElement.valueAsNumber=this._component.valueEnd;let n=this._startInputElement.value;this._startHandleElement=M(n),this._handleContainerElement.insertAdjacentElement("afterbegin",this._startHandleElement),this._startHandleThumbElement=d(this._component,a.selectors.START_HANDLE_THUMB),this._startLabelContentElement=d(this._component,a.selectors.START_LABEL_CONTENT)}else(i=this._startInputElement)==null||i.remove(),(r=this._startHandleElement)==null||r.remove(),this._startInputElement=void 0,this._startHandleElement=void 0,this._startHandleThumbElement=void 0,this._startLabelContentElement=void 0}setTickmarks(e){this._trackElement.classList.toggle(a.classes.TICKMARKS,e)}setStep(e){this._getInputs().forEach(r=>r.step=String(e))}setMin(e){this._getInputs().forEach(r=>r.min=String(e))}setMax(e){this._getInputs().forEach(r=>r.max=String(e))}setDisabled(e){this._getInputs().forEach(n=>n.disabled=e),this._rootElement.querySelectorAll(R.elementName).forEach(n=>n.disabled=e)}setReadonly(e){this._getInputs().forEach(r=>r.readOnly=e)}toggleLabels(e){var r;if(this._rootElement.querySelectorAll(a.selectors.LABEL).forEach(n=>n.remove()),this._endLabelContentElement=void 0,this._startLabelContentElement=void 0,e){let n=k(this._endInputElement.value);if(this._endHandleElement.insertAdjacentElement("beforeend",n),this._endLabelContentElement=d(this._component,a.selectors.END_LABEL_CONTENT),this._startInputElement){let h=k(this._startInputElement.value);(r=this._startHandleElement)==null||r.insertAdjacentElement("beforeend",h),this._startLabelContentElement=d(this._component,a.selectors.START_LABEL_CONTENT)}}}setStartAriaLabel(e){this._startInputElement&&u(this._startInputElement,!!e,"aria-label",e)}setEndAriaLabel(e){u(this._endInputElement,!!e,"aria-label",e)}_getInputs(){let e=[];return this._startInputElement&&e.push(this._startInputElement),[...e,this._endInputElement]}};var v=class{constructor(t){this._adapter=t;this._value=a.numbers.DEFAULT_VALUE;this._valueStart=a.numbers.DEFAULT_START_VALUE;this._valueEnd=a.numbers.DEFAULT_END_VALUE;this._min=0;this._max=100;this._step=a.numbers.DEFAULT_STEP;this._tickmarks=!1;this._labeled=!0;this._range=!1;this._disabled=!1;this._readonly=!1;this._pointerEnterListener=e=>this._handlePointerEnter(e),this._pointerMoveListener=e=>this._handlePointerMove(e),this._pointerLeaveListener=e=>this._handlePointerLeave(e),this._changeUpdateListener=e=>this._handleInputUpdate(e),this._focusListener=e=>this._handleFocus(e)}initialize(){this._applyInputListeners(),this._update()}_update(){var A,y;let{value:t,valueStart:e,valueEnd:i}=this._clampMinMax(),r=this._step<=0?1:this._step,n=Math.max(this._max-this._min,r),h=this._range?((e!=null?e:this._min)-this._min)/n:0,g=this._range?i:t,U=((g!=null?g:this.min)-this.min)/n,P=n/r;this._adapter.update({startFraction:h,endFraction:U,tickCount:P}),this._adapter.syncInputValues(e,this._range?i:t),this._range&&this._adapter.tryDetectOverlap();let L=(A=this._labelStart)!=null?A:String(e),f=(y=this._labelEnd)!=null?y:String(this._range?i:t);typeof this._labelBuilder=="function"&&(this._range?(L=this._labelBuilder(e,"start"),f=this._labelBuilder(i,"end")):f=this._labelBuilder(t)),this._adapter.updateLabels(L,f)}_clampMinMax(){let t=this._value,e=this._valueStart,i=this._valueEnd;return this._range?(e>this._max?e=this._max:e<this._min&&(e=this._min),i>this._max?i=this._max:i<this._min&&(i=this._min)):t>this._max?t=this._max:this._value<this._min&&(t=this._min),{value:t,valueStart:e,valueEnd:i}}_applyInputListeners(){this._adapter.addInputListener("pointerenter",this._pointerEnterListener),this._adapter.addInputListener("pointermove",this._pointerMoveListener),this._adapter.addInputListener("pointerleave",this._pointerLeaveListener),this._adapter.addInputListener("input",this._changeUpdateListener),this._adapter.addInputListener("change",this._changeUpdateListener),this._adapter.addInputListener("focus",this._focusListener)}_handlePointerEnter(t){this._handlePointerMove(t)}_handlePointerMove({target:t,x:e,y:i}){t.id==="start"?this._adapter.tryHoverStartHandle({x:e,y:i}):this._adapter.tryHoverEndHandle({x:e,y:i})}_handlePointerLeave(t){this._adapter.leaveHandleContainer()}_handleInputUpdate(t){if(t.stopPropagation(),this._disabled||this._readonly){this._adapter.syncInputValues(this._valueStart,this._range?this._valueEnd:this._value);return}let e=t.target;if(this._range){let n=e.id==="start";if(n?this._valueStart=e.valueAsNumber:this._valueEnd=e.valueAsNumber,this._canClamp()){n?this._valueStart=this._valueEnd:this._valueEnd=this._valueStart,this._adapter.syncInputValues(this._valueStart,this._valueEnd),this._update();return}}else this._value=e.valueAsNumber;let i=t.type==="change"?a.events.CHANGE:a.events.INPUT,r=this._range?{valueStart:this._valueStart,valueEnd:this._valueEnd}:this._value;this._adapter.emitHostEvent(i,r,!0),this._update()}_handleFocus(t){this._adapter.updateHandleLayering()}_canClamp(){return this._valueStart>this._valueEnd||this._valueEnd<this._valueStart}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._update())}get valueStart(){return this._valueStart}set valueStart(t){this._valueStart!==t&&(this._valueStart=t,this._update())}get valueEnd(){return this._valueEnd}set valueEnd(t){this._valueEnd!==t&&(this._valueEnd=t,this._update())}get label(){return this.labelEnd}set label(t){this.labelEnd=t}get labelStart(){return this._labelStart}set labelStart(t){this._labelStart!==t&&(this._labelStart=t,this._adapter.updateLabels(this._labelStart,this._labelEnd))}get labelEnd(){return this._labelEnd}set labelEnd(t){this._labelEnd!==t&&(this._labelEnd=t,this._adapter.updateLabels(this._labelStart,this._labelEnd))}get labelBuilder(){return this._labelBuilder}set labelBuilder(t){this._labelBuilder=t,this._update()}get min(){return this._min}set min(t){this._min!==t&&(this._min=t,this._adapter.setMin(this._min),this._update(),this._adapter.setHostAttribute(a.attributes.MIN,String(this._min)))}get max(){return this._max}set max(t){this._max!==t&&(this._max=t,this._adapter.setMax(this._max),this._update(),this._adapter.setHostAttribute(a.attributes.MAX,String(this._max)))}get step(){return this._step}set step(t){this._step!==t&&(this._step=t,this._adapter.setStep(this._step),this._update(),this._adapter.setHostAttribute(a.attributes.STEP,String(this._step)))}get tickmarks(){return this._tickmarks}set tickmarks(t){this._tickmarks!==t&&(this._tickmarks=t,this._adapter.setTickmarks(this._tickmarks),this._adapter.toggleHostAttribute(a.attributes.TICKMARKS,this._tickmarks))}get labeled(){return this._labeled}set labeled(t){this._labeled!==t&&(this._labeled=t,this._adapter.toggleLabels(this._labeled),this._update(),this._adapter.toggleHostAttribute(a.attributes.LABELED,this._labeled))}get range(){return this._range}set range(t){this._range!==t&&(this._range=t,this._adapter.setRange(this._range),this._range&&this._applyInputListeners(),this._update(),this._adapter.toggleHostAttribute(a.attributes.RANGE,this._range))}get disabled(){return this._disabled}set disabled(t){this._disabled!==t&&(this._disabled=t,this._adapter.setDisabled(t),this._adapter.toggleHostAttribute(a.attributes.DISABLED,this._disabled))}get readonly(){return this._readonly}set readonly(t){this._readonly!==t&&(this._readonly=t,this._adapter.setReadonly(t),this._adapter.toggleHostAttribute(a.attributes.READONLY,this._readonly))}set ariaLabel(t){this.ariaLabelEnd=t}set ariaLabelStart(t){this._adapter.setStartAriaLabel(t)}set ariaLabelEnd(t){this._adapter.setEndAriaLabel(t)}};var q='<template><div part="root" class="forge-slider"><input type="range" class="end" id="end" min="0" max="100" step="1" aria-valuetext="0"><div class="track" part="track"></div><div class="handle-container-padded"><div class="handle-container-block"><div class="handle-container"><div class="handle end" part="handle-end"><forge-state-layer target="end"></forge-state-layer><forge-focus-indicator target="end"></forge-focus-indicator><div class="handle-thumb" part="handle-end-thumb"></div><div class="handle-label" part="handle-end-label"><span class="handle-label-content" part="handle-end-label-content"></span></div></div></div></div></div></div></template>',$=':host{display:-webkit-inline-box;display:inline-flex;vertical-align:middle;min-inline-size:100%}:host([hidden]){display:none}.forge-slider{--_start-fraction:0;--_end-fraction:0;--_tick-count:100;--_track-height:var(--forge-slider-track-height, 4px);--_active-track-color:var(--forge-slider-active-track-color, var(--forge-theme-primary, #3f51b5));--_active-track-height:var(--forge-slider-active-track-height, var(--_track-height));--_active-track-shape:var(--forge-slider-active-track-shape, var(--forge-shape-full, 9999px));--_disabled-active-track-color:var(--forge-slider-disabled-active-track-color, #9e9e9e);--_disabled-active-track-opacity:var(--forge-slider-disabled-active-track-opacity, 0.38);--_disabled-handle-color:var(--forge-slider-disabled-handle-color, #9e9e9e);--_disabled-inactive-track-color:var(--forge-slider-disabled-inactive-track-color, #9e9e9e);--_disabled-inactive-track-opacity:var(--forge-slider-disabled-inactive-track-opacity, 0.12);--_focus-handle-color:var(--forge-slider-focus-handle-color, var(--forge-theme-primary, #3f51b5));--_handle-color:var(--forge-slider-handle-color, var(--forge-theme-primary, #3f51b5));--_handle-height:var(--forge-slider-handle-height, 20px);--_handle-shape:var(--forge-slider-handle-shape, var(--forge-shape-round, 50%));--_handle-width:var(--forge-slider-handle-width, 20px);--_hover-handle-color:var(--forge-slider-hover-handle-color, var(--forge-theme-primary, #3f51b5));--_inactive-track-color:var(--forge-slider-inactive-track-color, color-mix(in srgb, var(--forge-theme-primary, #3f51b5) 24%, transparent));--_inactive-track-height:var(--forge-slider-inactive-track-height, var(--_track-height));--_inactive-track-shape:var(--forge-slider-inactive-track-shape, var(--forge-shape-full, 9999px));--_label-container-shape:var(--forge-slider-label-container-shape, var(--forge-shape-full, 9999px));--_label-container-color:var(--forge-slider-label-container-color, var(--forge-theme-primary, #3f51b5));--_label-container-height:var(--forge-slider-label-container-height, 28px);--_label-text-color:var(--forge-slider-label-text-color, var(--forge-theme-on-primary, #ffffff));--_pressed-handle-color:var(--forge-slider-pressed-handle-color, var(--forge-theme-primary, #3f51b5));--_state-layer-size:var(--forge-slider-state-layer-size, 40px);--_with-overlap-handle-outline-color:var(--forge-slider-with-overlap-handle-outline-color, var(--forge-theme-on-primary, #ffffff));--_with-overlap-handle-outline-width:var(--forge-slider-with-overlap-handle-outline-width, 1px);--_with-tick-marks-active-container-color:var(--forge-slider-with-tick-marks-active-container-color, var(--forge-theme-primary, #3f51b5));--_with-tick-marks-container-size:var(--forge-slider-with-tick-marks-container-size, 2px);--_with-tick-marks-disabled-active-container-color:var(--forge-slider-with-tick-marks-disabled-active-container-color, var(--forge-theme-text-primary, rgba(0, 0, 0, 0.87)));--_with-tick-marks-disabled-inactive-container-color:var(--forge-slider-with-tick-marks-disabled-inactive-container-color, color-mix(in srgb, var(--forge-theme-on-primary, #ffffff) 50%, transparent));--_with-tick-marks-inactive-container-color:var(--forge-slider-with-tick-marks-inactive-container-color, var(--forge-theme-primary, #3f51b5));-webkit-box-flex:1;flex:1;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;block-size:var(--_state-layer-size);pointer-events:none;touch-action:none}.forge-slider.range :host-context([dir=rtl]) input.start{-webkit-clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))));clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))))}.forge-slider.range :host([dir=rtl]) input.start{-webkit-clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))));clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))))}.forge-slider.range input.start:dir(rtl){-webkit-clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))));clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))))}.forge-slider.range input.start{-webkit-clip-path:inset(0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))) 0 0);clip-path:inset(0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))) 0 0)}.forge-slider.range input.end{-webkit-clip-path:inset(0 0 0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)));clip-path:inset(0 0 0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)))}.forge-slider.range :host-context([dir=rtl]) input.end{-webkit-clip-path:inset(0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)) 0 0);clip-path:inset(0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)) 0 0)}.forge-slider.range :host([dir=rtl]) input.end{-webkit-clip-path:inset(0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)) 0 0);clip-path:inset(0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)) 0 0)}.forge-slider.range input.end:dir(rtl){-webkit-clip-path:inset(0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)) 0 0);clip-path:inset(0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)) 0 0)}.track{position:absolute;inset:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.track::after,.track::before{content:"";position:absolute;inset-inline-start:calc(var(--_state-layer-size)/ 2 - var(--_with-tick-marks-container-size));inset-inline-end:calc(var(--_state-layer-size)/ 2 - var(--_with-tick-marks-container-size));background-size:calc((100% - var(--_with-tick-marks-container-size) * 2)/ var(--_tick-count)) 100%}.track::before{block-size:var(--_inactive-track-height);border-radius:var(--_inactive-track-shape);background-color:var(--_inactive-track-color-fallback)}@supports (background-color:color-mix(in srgb,red 50%,transparent)){.track::before{background-color:var(--_inactive-track-color)}}.track::after{block-size:var(--_active-track-height);border-radius:var(--_active-track-shape);-webkit-clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))) 0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)));clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))) 0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)));background-color:var(--_active-track-color)}.track.tickmarks::before{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center,var(--_with-tick-marks-inactive-container-color) 0,var(--_with-tick-marks-inactive-container-color) calc(var(--_with-tick-marks-container-size)/ 2),transparent calc(var(--_with-tick-marks-container-size)/ 2))}.track.tickmarks::after{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center,var(--_with-tick-marks-active-container-color) 0,var(--_with-tick-marks-active-container-color) calc(var(--_with-tick-marks-container-size)/ 2),transparent calc(var(--_with-tick-marks-container-size)/ 2))}.handle-container-block,.handle-container-padded{position:relative;block-size:100%;inline-size:100%}.handle-container-padded{padding-inline:calc(var(--_state-layer-size)/ 2)}.handle-container{position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:calc(100% * var(--_start-fraction));inline-size:calc(100% * (var(--_end-fraction) - var(--_start-fraction)))}.handle{position:absolute;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);border-radius:var(--_handle-shape);display:grid;place-items:center}.handle.start{inset-inline-start:calc(0px - var(--_state-layer-size)/ 2)}.handle.end{inset-inline-end:calc(0px - var(--_state-layer-size)/ 2)}.handle-thumb{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);position:absolute;height:var(--_handle-height);width:var(--_handle-width);border-radius:var(--_handle-shape);background:var(--_handle-color)}.handle-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label-font-family, var(--forge-typography-font-family, Roboto, sans-serif));font-size:var(--forge-typography-label-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));line-height:var(--forge-typography-label-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label-letter-spacing, .0333333333em);text-transform:var(--forge-typography-label-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label-text-decoration,inherit);text-decoration:var(--forge-typography-label-text-decoration,inherit);position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;padding:4px;place-items:center;border-radius:var(--_label-container-shape);color:var(--_label-text-color);font-weight:500;white-space:nowrap;inset-block-end:100%;min-inline-size:var(--_label-container-height);min-block-size:var(--_label-container-height);background:var(--_label-container-color);-webkit-transition:-webkit-transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1));transition:-webkit-transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1));transition:transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1));transition:transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1)),-webkit-transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1));-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-transform:scale(0);transform:scale(0)}.handle-label::after,.handle-label::before{content:"";position:absolute;display:block;background:inherit}.handle-label::before{inline-size:calc(var(--_label-container-height)/ 2);block-size:calc(var(--_label-container-height)/ 2);bottom:calc(var(--_label-container-height)/ -10);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.handle-label::after{inset:0;border-radius:inherit}.handle-label-content{z-index:1}.handle-container.hover .handle-thumb{background:var(--_hover-handle-color)}:host(:not([disabled])) input.end:active~.handle-container-padded .handle.end>.handle-thumb,:host(:not([disabled])) input.start:active~.handle-container-padded .handle.start>.handle-thumb{background:var(--_pressed-handle-color)}:host([disabled]) .handle-thumb{-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);background:var(--_disabled-handle-color)}:host([disabled]) .handle-label{background:var(--_disabled-handle-color)}:host([disabled]) .track::before{opacity:calc(1 / var(--_disabled-active-track-opacity) * var(--_disabled-inactive-track-opacity));background-color:var(--_disabled-inactive-track-color)}:host([disabled]) .track::after{background-color:var(--_disabled-active-track-color)}:host([disabled]) .track.tickmarks::before{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center,var(--_with-tick-marks-disabled-active-container-color) 0,var(--_with-tick-marks-disabled-active-container-color) calc(var(--_with-tick-marks-container-size)/ 2),transparent calc(var(--_with-tick-marks-container-size)/ 2))}:host([disabled]) .track.tickmarks::after{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center,var(--_with-tick-marks-disabled-inactive-container-color) 0,var(--_with-tick-marks-disabled-inactive-container-color) calc(var(--_with-tick-marks-container-size)/ 2),transparent calc(var(--_with-tick-marks-container-size)/ 2))}:host([disabled]) input[type=range]{cursor:not-allowed}:host-context([dir=rtl]) .track::after{-webkit-clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))));clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}:host([dir=rtl]) .track::after{-webkit-clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))));clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}.track:dir(rtl)::after{-webkit-clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))));clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}input.end:focus~.handle-container-padded .handle.end>.handle-thumb,input.start:focus~.handle-container-padded .handle.start>.handle-thumb{background:var(--_focus-handle-color)}.on-top.overlapping .handle-label,.on-top.overlapping .handle-label::before,.on-top.overlapping .handle-thumb{border:var(--_with-overlap-handle-outline-color) solid var(--_with-overlap-handle-outline-width)}.handle-container.hover .handle-label,:host(:focus-within) .handle-label,:where(:has(input:active)) .handle-label{-webkit-transform:scale(1);transform:scale(1)}input[type=range]{opacity:0;-webkit-tap-highlight-color:transparent;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;width:100%;margin:0;background:0 0;cursor:pointer;pointer-events:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=range]:focus{outline:0}input[type=range]::-webkit-slider-runnable-track{-webkit-appearance:none}input[type=range]::-moz-range-track{-moz-appearance:none;appearance:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);-webkit-transform:scaleX(0);transform:scaleX(0);opacity:0;z-index:2}input[type=range]::-moz-range-thumb{-moz-appearance:none;appearance:none;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);transform:scaleX(0);opacity:0;z-index:2}.on-top{z-index:1}@media (prefers-reduced-motion){.handle-label{-webkit-transition-duration:0;transition-duration:0}}forge-focus-indicator{--forge-focus-indicator-shape:50%;--forge-focus-indicator-outward-offset:0px}forge-state-layer{--forge-state-layer-color:var(--_handle-color)}',s=class extends x{constructor(){super();T(this,q,$),this.internals=this.attachInternals(),this._foundation=new v(new m(this))}static get observedAttributes(){return[a.attributes.ARIA_LABEL,a.attributes.ARIA_LABEL_START,a.attributes.ARIA_LABEL_END,a.attributes.VALUE,a.attributes.VALUE_START,a.attributes.VALUE_END,a.attributes.LABEL,a.attributes.LABEL_START,a.attributes.LABEL_END,a.attributes.MAX,a.attributes.MIN,a.attributes.STEP,a.attributes.TICKMARKS,a.attributes.LABELED,a.attributes.RANGE,a.attributes.DISABLED,a.attributes.READONLY]}get form(){return this.internals.form}get labels(){return this.internals.labels}get name(){var e;return(e=this.getAttribute("name"))!=null?e:""}set name(e){u(this,!!e,"name",e!=null?e:"")}get nameStart(){var e;return(e=this.getAttribute("name-start"))!=null?e:this.name}set nameStart(e){u(this,!!e,"name-start",e!=null?e:"")}get nameEnd(){var e;return(e=this.getAttribute("name-end"))!=null?e:this.nameStart}set nameEnd(e){u(this,!!e,"name-end",e!=null?e:"")}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(e,i,r){switch(e){case a.attributes.ARIA_LABEL:this._foundation.ariaLabel=r;break;case a.attributes.ARIA_LABEL_START:this._foundation.ariaLabelStart=r;break;case a.attributes.ARIA_LABEL_END:this._foundation.ariaLabelEnd=r;break;case a.attributes.VALUE:this.value=b(r);break;case a.attributes.VALUE_START:this.valueStart=b(r);break;case a.attributes.VALUE_END:this.valueEnd=b(r);break;case a.attributes.LABEL:this.label=r;break;case a.attributes.LABEL_START:this.labelStart=r;break;case a.attributes.LABEL_END:this.labelEnd=r;break;case a.attributes.MIN:this.min=b(r);break;case a.attributes.MAX:this.max=b(r);break;case a.attributes.STEP:this.step=b(r);break;case a.attributes.TICKMARKS:this.tickmarks=p(r);break;case a.attributes.LABELED:this.labeled=p(r);break;case a.attributes.RANGE:this.range=p(r);break;case a.attributes.DISABLED:this.disabled=p(r);break;case a.attributes.READONLY:this.readonly=p(r);break}}formResetCallback(){if(this._foundation.range){let i=this.getAttribute("value-start");this.valueStart=i!==null?Number(i):a.numbers.DEFAULT_START_VALUE;let r=this.getAttribute("value-end");this.valueEnd=r!==null?Number(r):a.numbers.DEFAULT_END_VALUE;return}let e=this.getAttribute("value");this.value=e!==null?Number(e):a.numbers.DEFAULT_VALUE}formStateRestoreCallback(e){if(e&&e[0]instanceof FormData){let i=Array.from(e[0]),[[,r],[,n]]=i;this.valueStart=Number(r),this.valueEnd=Number(n),this.range=!0;return}this.value=Number(e),this.range=!1}};s.formAssociated=!0,l([c()],s.prototype,"value",2),l([c()],s.prototype,"valueStart",2),l([c()],s.prototype,"valueEnd",2),l([c()],s.prototype,"label",2),l([c()],s.prototype,"labelStart",2),l([c()],s.prototype,"labelEnd",2),l([c()],s.prototype,"labelBuilder",2),l([c()],s.prototype,"min",2),l([c()],s.prototype,"max",2),l([c()],s.prototype,"step",2),l([c()],s.prototype,"tickmarks",2),l([c()],s.prototype,"labeled",2),l([c()],s.prototype,"range",2),l([c()],s.prototype,"disabled",2),l([c()],s.prototype,"readonly",2),s=l([I({name:a.elementName,dependencies:[C,D]})],s);var O=class extends H{constructor(t){super(t)}get value(){return this._element.value}set value(t){this._element.value=t}get valueStart(){return this._element.valueStart}set valueStart(t){this._element.valueStart=t}get valueEnd(){return this._element.valueEnd}set valueEnd(t){this._element.valueEnd=t}get disabled(){return this._element.disabled}set disabled(t){this._element.disabled=t}get min(){return this._element.min}set min(t){this._element.min=t}get max(){return this._element.max}set max(t){this._element.max=t}get step(){return this._element.step}get range(){return this._element.range}set range(t){this._element.range=t}get tickmarks(){return this._element.tickmarks}set tickmarks(t){this._element.tickmarks=t}get labeled(){return this._element.labeled}set labeled(t){this._element.labeled=t}get labelBuilder(){return this._element.labelBuilder}set labelBuilder(t){this._element.labelBuilder=t}onInput(t){this._element.addEventListener("forge-slider-input",({detail:e})=>t(e))}onChange(t){this._element.addEventListener("forge-slider-change",({detail:e})=>t(e))}onFocus(t){this._element.addEventListener("focus",e=>t(e))}onBlur(t){this._element.addEventListener("blur",e=>t(e))}_build(){return document.createElement(a.elementName)}};function we(){S(s)}export{a,s as b,O as c,we as d};
|
|
7
|
-
//# sourceMappingURL=chunk.VVXSELXX.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 m}from"./chunk.NVUMRW44.js";import{a as h}from"./chunk.BKL2BAYW.js";import{a as k,b as v}from"./chunk.DXN7ZOH3.js";import{a as f,e as u,f as l,k as _}from"./chunk.MVTBJPO2.js";import{u as b}from"./chunk.K7FPXAFS.js";import{k as g,l as p}from"./chunk.J2M2MXP2.js";import{d as s}from"./chunk.M3QDAYD2.js";var w=`${v}circular-progress`,E={DETERMINATE:"determinate",PROGRESS:"progress",ARIA_LABEL:"data-aria-label"},C={INDETERMINATE:"forge-circular-progress--indeterminate"},A={ROOT:".forge-circular-progress",DETERMINATE_PROGRESS_CIRCLE:".progress",TEMPLATES:"svg, .spinner"},t={elementName:w,attributes:E,classes:C,selectors:A};var R='<svg viewBox="0 0 4800 4800"><circle class="track-background" pathLength="100"></circle></svg><div class="spinner"><div class="left"><div class="circle"></div></div><div class="right"><div class="circle"></div></div></div>',T='<svg viewBox="0 0 4800 4800"><circle class="track-background" pathLength="100"></circle><circle class="track" pathLength="100"></circle><circle class="progress" pathLength="100" stroke-dashoffset="100"></circle></svg>',n=class extends h{constructor(e){super(e);this._rootElement=l(this._component,t.selectors.ROOT)}setDeterminate(e){this._tryResetTemplate(),this._rootElement.classList.toggle(t.classes.INDETERMINATE,!e),e?(this._rootElement.insertAdjacentHTML("beforeend",T),this._determinateProgressCircleElement=l(this._component,t.selectors.DETERMINATE_PROGRESS_CIRCLE)):(this._rootElement.insertAdjacentHTML("beforeend",R),this._rootElement.removeAttribute("aria-valuenow"),this._determinateProgressCircleElement=void 0)}setProgress(e){var i;this._rootElement.setAttribute("aria-valuenow",`${e}`),(i=this._determinateProgressCircleElement)==null||i.setAttribute("stroke-dashoffset",`${(1-e)*100}`)}setAriaLabel(e){b(this._rootElement,!!e,"aria-label",e)}_tryResetTemplate(){var i;let e=(i=this._component.shadowRoot)==null?void 0:i.querySelectorAll(t.selectors.TEMPLATES);e==null||e.forEach(o=>o.remove())}};var c=class{constructor(r){this._adapter=r;this._determinate=!1;this._progress=0}initialize(){this._applyDeterminate()}_applyDeterminate(){this._adapter.setDeterminate(this._determinate),this._determinate&&this._adapter.setProgress(this._progress)}get determinate(){return this._determinate}set determinate(r){r=!!r,this._determinate!==r&&(this._determinate=r,this._applyDeterminate(),this._adapter.toggleHostAttribute(t.attributes.DETERMINATE,this._determinate))}get progress(){return this._progress}set progress(r){this._progress!==r&&(this._progress=r,this._determinate&&this._adapter.setProgress(this._progress),this._adapter.setHostAttribute(t.attributes.PROGRESS,`${this._progress}`))}set ariaLabel(r){this._adapter.setAriaLabel(r)}};var x='<template><div class="forge-circular-progress" role="progressbar" aria-valuemin="0" aria-valuemax="1" part="progressbar"><slot class="center-content"></slot></div></template>',I=":host{display:-webkit-inline-box;display:inline-flex;vertical-align:middle;min-block-size:var(--forge-circular-progress-size,48px);min-inline-size:var(--forge-circular-progress-size,48px);position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;contain:strict;content-visibility:auto}:host([hidden]){display:none}.forge-circular-progress{--_size:var(--forge-circular-progress-size, 48px);--_spacing:var(--forge-circular-progress-padding, 0);--_track-width:var(--forge-circular-progress-track-width, 12);--_track-color:var(--forge-circular-progress-track-color, var(--forge-theme-tertiary, #3d5afe));--_track-background:var(--forge-circular-progress-track-background, var(--forge-theme-track-color, rgba(0, 0, 0, 0.12)));--_arc-duration:var(--forge-circular-progress-arc-duration, 1333ms);--_cycle-duration:calc(4 * var(--_arc-duration));--_linear-duration:calc(var(--_arc-duration) * 360 / 306);-webkit-box-flex:1;flex:1;align-self:stretch;margin:var(--_spacing)}.forge-circular-progress--indeterminate{will-change:transform;-webkit-animation:linear infinite linear-rotate;animation:linear infinite linear-rotate;-webkit-animation-duration:var(--_linear-duration);animation-duration:var(--_linear-duration)}.circle,.forge-circular-progress,.left,.right,.spinner,svg{position:absolute;inset:0}.center-content{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.left{overflow:hidden;inset:0 50% 0 0}.left .circle{rotate:135deg;inset:0 -100% 0 0}.right{overflow:hidden;inset:0 0 0 50%}.right .circle{rotate:100deg;inset:0 0 0 -100%;-webkit-animation-delay:calc(-.5 * var(--_arc-duration)),0s;animation-delay:calc(-.5 * var(--_arc-duration)),0s}.circle{-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:50%;border:solid calc(var(--_size) * var(--_track-width)/ 100);border-color:var(--_track-color) var(--_track-color) transparent transparent;will-change:transform;-webkit-animation:expand-arc;animation:expand-arc;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--_arc-duration),var(--_cycle-duration);animation-duration:var(--_arc-duration),var(--_cycle-duration);-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}svg{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}svg circle{cx:50%;cy:50%;r:calc(50% * (1 - var(--_track-width)/ 100));stroke-width:calc(var(--_track-width) * 1%);stroke-dasharray:100;fill:transparent}.progress{-webkit-transition:stroke-dashoffset .5s cubic-bezier(0, 0, .2, 1);transition:stroke-dashoffset .5s cubic-bezier(0, 0, .2, 1);stroke:var(--_track-color)}.track{stroke:transparent}.track-background{stroke:var(--_track-background)}.spinner{will-change:transform;-webkit-animation:infinite both rotate-arc;animation:infinite both rotate-arc;-webkit-animation-duration:var(--_cycle-duration);animation-duration:var(--_cycle-duration);-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@media screen and (forced-colors:active){.progress{stroke:CanvasText}.circle{border-color:CanvasText CanvasText Canvas Canvas}}@-webkit-keyframes expand-arc{0%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}50%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}100%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}}@keyframes expand-arc{0%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}50%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}100%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}}@-webkit-keyframes rotate-arc{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes rotate-arc{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes linear-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes linear-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}",a=class extends _{constructor(){super();u(this,x,I),this._foundation=new c(new n(this))}static get observedAttributes(){return[t.attributes.DETERMINATE,t.attributes.PROGRESS,t.attributes.ARIA_LABEL]}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(e,i,o){switch(e){case t.attributes.DETERMINATE:this.determinate=g(o);break;case t.attributes.PROGRESS:this.progress=p(o);break;case t.attributes.ARIA_LABEL:this._foundation.ariaLabel=o;break}}};s([m()],a.prototype,"determinate",2),s([m()],a.prototype,"progress",2),a=s([k({name:t.elementName})],a);function K(){f(a)}export{t as a,n as b,c,a as d,K as e};
|
|
7
|
-
//# sourceMappingURL=chunk.VZWNNK7A.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
-
* License: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import{a as r}from"./chunk.NVUMRW44.js";import{a as _}from"./chunk.BKL2BAYW.js";import{a as d,b}from"./chunk.DXN7ZOH3.js";import{a as p,k as g}from"./chunk.MVTBJPO2.js";import{k as c}from"./chunk.J2M2MXP2.js";import{d as s}from"./chunk.M3QDAYD2.js";var o=class extends _{constructor(t){super(t)}};var u=`${b}option`,h={DISABLED:"disabled",DIVIDER:"divider",LABEL:"label",LEADING_ICON_CLASS:"leading-icon-class",LEADING_ICON_TYPE:"leading-icon-type",LEADING_ICON:"leading-icon",OPTION_CLASS:"option-class",TRAILING_ICON_CLASS:"trailing-icon-class",TRAILING_ICON_TYPE:"trailing-icon-type",TRAILING_ICON:"trailing-icon",VALUE:"value"},L={VALUE_CHANGE:`${u}-value-change`},i={elementName:u,attributes:h,events:L};var l=class{constructor(t){this._adapter=t;this._disabled=!1;this._divider=!1;this._optionClass=[]}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._adapter.emitHostEvent(i.events.VALUE_CHANGE,this._value))}get label(){return this._label}set label(t){this._label!==t&&(this._label=t,this._adapter.toggleHostAttribute(i.attributes.LABEL,!!this._label,this._label))}get disabled(){return this._disabled}set disabled(t){this._disabled!==t&&(this._disabled=t,this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled))}get divider(){return this._divider}set divider(t){this._divider!==t&&(this._divider=t,this._adapter.toggleHostAttribute(i.attributes.DIVIDER,this._divider))}get optionClass(){return this._optionClass}set optionClass(t){t?typeof t=="string"&&(t=t.split(" ")):t=[],t=t.filter(a=>a&&!/\s+/.test(a)),this._optionClass.toString()!==t.toString()&&(this._optionClass=t,this._adapter.toggleHostAttribute(i.attributes.OPTION_CLASS,this._optionClass&&!!this._optionClass.length,this._optionClass.join(" ")))}get leadingIcon(){return this._leadingIcon}set leadingIcon(t){this._leadingIcon!==t&&(this._leadingIcon=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON,!!this._leadingIcon,this._leadingIcon))}get leadingIconClass(){return this._leadingIconClass}set leadingIconClass(t){this._leadingIconClass!==t&&(this._leadingIconClass=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON_CLASS,!!this._leadingIconClass,this._leadingIconClass))}get leadingIconType(){return this._leadingIconType}set leadingIconType(t){this._leadingIconType!==t&&(this._leadingIconType=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON_TYPE,!!this._leadingIconType,this._leadingIconType))}get trailingIcon(){return this._trailingIcon}set trailingIcon(t){this._trailingIcon!==t&&(this._trailingIcon=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON,!!this._trailingIcon,this._trailingIcon))}get trailingIconClass(){return this._trailingIconClass}set trailingIconClass(t){this._trailingIconClass!==t&&(this._trailingIconClass=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON_CLASS,!!this._trailingIconClass,this._trailingIconClass))}get trailingIconType(){return this._trailingIconType}set trailingIconType(t){this._trailingIconType!==t&&(this._trailingIconType=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON_TYPE,!!this._trailingIconType,this._trailingIconType))}get leadingBuilder(){return this._leadingBuilder}set leadingBuilder(t){this._leadingBuilder!==t&&(this._leadingBuilder=t)}get trailingBuilder(){return this._trailingBuilder}set trailingBuilder(t){this._trailingBuilder!==t&&(this._trailingBuilder=t)}};var e=class extends g{constructor(){super();this._foundation=new l(new o(this))}static get observedAttributes(){return[i.attributes.VALUE,i.attributes.LABEL,i.attributes.DISABLED,i.attributes.DIVIDER,i.attributes.OPTION_CLASS,i.attributes.LEADING_ICON,i.attributes.LEADING_ICON_CLASS,i.attributes.LEADING_ICON_TYPE,i.attributes.TRAILING_ICON,i.attributes.TRAILING_ICON_CLASS,i.attributes.TRAILING_ICON_TYPE]}initializedCallback(){this.hasAttribute("role")||this.setAttribute("role","option")}attributeChangedCallback(a,T,n){switch(a){case i.attributes.VALUE:this.value=n;break;case i.attributes.LABEL:this.label=n;break;case i.attributes.DISABLED:this.disabled=c(n);break;case i.attributes.DIVIDER:this.divider=this.hasAttribute(i.attributes.DIVIDER);break;case i.attributes.OPTION_CLASS:this.optionClass=n;break;case i.attributes.LEADING_ICON:this.leadingIcon=n;break;case i.attributes.LEADING_ICON_CLASS:this.leadingIconClass=n;break;case i.attributes.LEADING_ICON_TYPE:this.leadingIconType=n;break;case i.attributes.TRAILING_ICON:this.trailingIcon=n;break;case i.attributes.TRAILING_ICON_CLASS:this.trailingIconClass=n;break;case i.attributes.TRAILING_ICON_TYPE:this.trailingIconType=n;break}}};s([r()],e.prototype,"value",2),s([r()],e.prototype,"label",2),s([r()],e.prototype,"disabled",2),s([r()],e.prototype,"divider",2),s([r()],e.prototype,"optionClass",2),s([r()],e.prototype,"leadingIcon",2),s([r()],e.prototype,"leadingIconClass",2),s([r()],e.prototype,"leadingIconType",2),s([r()],e.prototype,"trailingIcon",2),s([r()],e.prototype,"trailingIconClass",2),s([r()],e.prototype,"trailingIconType",2),s([r()],e.prototype,"leadingBuilder",2),s([r()],e.prototype,"trailingBuilder",2),e=s([d({name:i.elementName})],e);function k(){p(e)}export{o as a,i as b,l as c,e as d,k as e};
|
|
7
|
-
//# sourceMappingURL=chunk.X3C3J5MH.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/select/option/option-adapter.ts", "../../src/select/option/option-constants.ts", "../../src/select/option/option-foundation.ts", "../../src/select/option/option.ts", "../../src/select/option/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IOptionComponent } from './option';\n\nexport interface IOptionAdapter extends IBaseAdapter {\n setHostAttribute(name: string, value: string): void;\n removeHostAttribute(name: string): void;\n}\n\n/**\n * The DOM adapter behind the `<forge-option>` element.\n */\nexport class OptionAdapter extends BaseAdapter<IOptionComponent> {\n constructor(component: IOptionComponent) {\n super(component);\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}option`;\n\nconst attributes = {\n DISABLED: 'disabled',\n DIVIDER: 'divider',\n LABEL: 'label',\n LEADING_ICON_CLASS: 'leading-icon-class',\n LEADING_ICON_TYPE: 'leading-icon-type',\n LEADING_ICON: 'leading-icon',\n OPTION_CLASS: 'option-class',\n TRAILING_ICON_CLASS: 'trailing-icon-class',\n TRAILING_ICON_TYPE: 'trailing-icon-type',\n TRAILING_ICON: 'trailing-icon',\n VALUE: 'value'\n};\n\nconst events = {\n VALUE_CHANGE: `${elementName}-value-change`\n};\n\nexport const OPTION_CONSTANTS = {\n elementName,\n attributes,\n events\n};\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IBaseListDropdownOption, ListDropdownIconType } from '../../list-dropdown/list-dropdown-constants';\nimport { IOptionAdapter } from './option-adapter';\nimport { OPTION_CONSTANTS } from './option-constants';\n\nexport interface IOptionFoundation extends ICustomElementFoundation, Required<IBaseListDropdownOption> {}\n\n/** The foundation class behind the `<forge-option>` element. */\nexport class OptionFoundation implements IOptionFoundation {\n private _value: any;\n private _label: string;\n private _disabled = false;\n private _divider = false;\n private _optionClass: string[] = [];\n private _leadingIcon: string;\n private _leadingIconClass: string;\n private _leadingIconType: ListDropdownIconType;\n private _trailingIcon: string;\n private _trailingIconClass: string;\n private _trailingIconType: ListDropdownIconType;\n private _leadingBuilder: () => HTMLElement;\n private _trailingBuilder: () => HTMLElement;\n\n constructor(private _adapter: IOptionAdapter) {}\n\n /** Gets/sets the value of this option. */\n public get value(): any {\n return this._value;\n }\n public set value(value: any) {\n if (this._value !== value) {\n this._value = value;\n this._adapter.emitHostEvent(OPTION_CONSTANTS.events.VALUE_CHANGE, this._value);\n }\n }\n\n /** Gets/sets the label of this option. */\n public get label(): string {\n return this._label;\n }\n public set label(value: string) {\n if (this._label !== value) {\n this._label = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.LABEL, !!this._label, this._label);\n }\n }\n\n /** Gets/sets the disabled status of this option. */\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.toggleHostAttribute(OPTION_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n /** Gets/sets the whether this option is a divider. */\n public get divider(): boolean {\n return this._divider;\n }\n public set divider(value: boolean) {\n if (this._divider !== value) {\n this._divider = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.DIVIDER, this._divider);\n }\n }\n\n /** Gets/sets the classes of this option. */\n public get optionClass(): string | string[] {\n return this._optionClass;\n }\n public set optionClass(value: string | string[]) {\n if (!value) {\n value = [];\n } else if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n value = value.filter(v => v && !/\\s+/.test(v));\n\n if (this._optionClass.toString() !== value.toString()) {\n this._optionClass = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS, this._optionClass && !!this._optionClass.length, this._optionClass.join(' '));\n }\n }\n\n /** Gets/sets the leading icon of this option. */\n public get leadingIcon(): string {\n return this._leadingIcon;\n }\n public set leadingIcon(value: string) {\n if (this._leadingIcon !== value) {\n this._leadingIcon = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON, !!this._leadingIcon, this._leadingIcon);\n }\n }\n\n /** Gets/sets the leading icon class of this option. */\n public get leadingIconClass(): string {\n return this._leadingIconClass;\n }\n public set leadingIconClass(value: string) {\n if (this._leadingIconClass !== value) {\n this._leadingIconClass = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS, !!this._leadingIconClass, this._leadingIconClass);\n }\n }\n\n /** Gets/sets the leading icon type of this option. */\n public get leadingIconType(): ListDropdownIconType {\n return this._leadingIconType;\n }\n public set leadingIconType(value: ListDropdownIconType) {\n if (this._leadingIconType !== value) {\n this._leadingIconType = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE, !!this._leadingIconType, this._leadingIconType);\n }\n }\n\n /** Gets/sets the trailing icon of this option. */\n public get trailingIcon(): string {\n return this._trailingIcon;\n }\n public set trailingIcon(value: string) {\n if (this._trailingIcon !== value) {\n this._trailingIcon = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON, !!this._trailingIcon, this._trailingIcon);\n }\n }\n\n /** Gets/sets the trailing icon class of this option. */\n public get trailingIconClass(): string {\n return this._trailingIconClass;\n }\n public set trailingIconClass(value: string) {\n if (this._trailingIconClass !== value) {\n this._trailingIconClass = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS, !!this._trailingIconClass, this._trailingIconClass);\n }\n }\n\n /** Gets/sets the trailing icon type of this option. */\n public get trailingIconType(): ListDropdownIconType {\n return this._trailingIconType;\n }\n public set trailingIconType(value: ListDropdownIconType) {\n if (this._trailingIconType !== value) {\n this._trailingIconType = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE, !!this._trailingIconType, this._trailingIconType);\n }\n }\n\n /** Gets/sets the leading builder of this option. */\n public get leadingBuilder(): (() => HTMLElement) {\n return this._leadingBuilder;\n }\n public set leadingBuilder(value: (() => HTMLElement)) {\n if (this._leadingBuilder !== value) {\n this._leadingBuilder = value;\n }\n }\n\n /** Gets/sets the trailing builder of this option. */\n public get trailingBuilder(): (() => HTMLElement) {\n return this._trailingBuilder;\n }\n public set trailingBuilder(value: (() => HTMLElement)) {\n if (this._trailingBuilder !== value) {\n this._trailingBuilder = value;\n }\n }\n}\n", "import { coerceBoolean, CustomElement, FoundationProperty, ICustomElement } from '@tylertech/forge-core';\nimport { BaseComponent } from '../../core/base/base-component';\nimport { IBaseListDropdownOption, ListDropdownIconType } from '../../list-dropdown/list-dropdown-constants';\nimport { OptionAdapter } from './option-adapter';\nimport { OPTION_CONSTANTS } from './option-constants';\nimport { OptionFoundation } from './option-foundation';\n\nexport interface IOptionComponent extends ICustomElement, Required<IBaseListDropdownOption> {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-option': IOptionComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-option>` element.\n * \n * @tag forge-option\n */\n@CustomElement({\n name: OPTION_CONSTANTS.elementName\n})\nexport class OptionComponent extends BaseComponent implements IOptionComponent {\n public static get observedAttributes(): string[] {\n return [\n OPTION_CONSTANTS.attributes.VALUE,\n OPTION_CONSTANTS.attributes.LABEL,\n OPTION_CONSTANTS.attributes.DISABLED,\n OPTION_CONSTANTS.attributes.DIVIDER,\n OPTION_CONSTANTS.attributes.OPTION_CLASS,\n OPTION_CONSTANTS.attributes.LEADING_ICON,\n OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS,\n OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE,\n OPTION_CONSTANTS.attributes.TRAILING_ICON,\n OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS,\n OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE\n ];\n }\n\n private _foundation: OptionFoundation;\n\n constructor() {\n super();\n this._foundation = new OptionFoundation(new OptionAdapter(this));\n }\n\n public initializedCallback(): void {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'option');\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case OPTION_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case OPTION_CONSTANTS.attributes.LABEL:\n this.label = newValue;\n break;\n case OPTION_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case OPTION_CONSTANTS.attributes.DIVIDER:\n this.divider = this.hasAttribute(OPTION_CONSTANTS.attributes.DIVIDER);\n break;\n case OPTION_CONSTANTS.attributes.OPTION_CLASS:\n this.optionClass = newValue;\n break;\n case OPTION_CONSTANTS.attributes.LEADING_ICON:\n this.leadingIcon = newValue;\n break;\n case OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS:\n this.leadingIconClass = newValue;\n break;\n case OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE:\n this.leadingIconType = newValue as ListDropdownIconType;\n break;\n case OPTION_CONSTANTS.attributes.TRAILING_ICON:\n this.trailingIcon = newValue;\n break;\n case OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS:\n this.trailingIconClass = newValue;\n break;\n case OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE:\n this.trailingIconType = newValue as ListDropdownIconType;\n break;\n }\n }\n\n /** Gets/sets the value of this option. */\n @FoundationProperty()\n public declare value: any;\n\n /** Gets/sets the label of this option. */\n @FoundationProperty()\n public declare label: string;\n\n /** Gets/sets the disabled status of this option. */\n @FoundationProperty()\n public declare disabled: boolean;\n\n /** Gets/sets the whether this option is a divider. */\n @FoundationProperty()\n public declare divider: boolean;\n\n /** Gets/sets the classes of this option. */\n @FoundationProperty()\n public declare optionClass: string | string[];\n\n /** Gets/sets the leading icon of this option. */\n @FoundationProperty()\n public declare leadingIcon: string;\n\n /** Gets/sets the leading icon class of this option. */\n @FoundationProperty()\n public declare leadingIconClass: string;\n\n /** Gets/sets the leading icon type of this option. */\n @FoundationProperty()\n public declare leadingIconType: ListDropdownIconType;\n\n /** Gets/sets the trailing icon of this option. */\n @FoundationProperty()\n public declare trailingIcon: string;\n\n /** Gets/sets the trailing icon class of this option. */\n @FoundationProperty()\n public declare trailingIconClass: string;\n\n /** Gets/sets the trailing icon type of this option. */\n @FoundationProperty()\n public declare trailingIconType: ListDropdownIconType;\n\n /** Gets/sets the leading builder of this option. */\n @FoundationProperty()\n public declare leadingBuilder: () => HTMLElement;\n\n /** Gets/sets the trailing builder of this option. */\n @FoundationProperty()\n public declare trailingBuilder: () => HTMLElement;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { OptionComponent } from './option';\n\nexport * from './option-adapter';\nexport * from './option-constants';\nexport * from './option-foundation';\nexport * from './option';\n\nexport function defineOptionComponent(): void {\n defineCustomElement(OptionComponent);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["OptionAdapter", "BaseAdapter", "component", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "events", "OPTION_CONSTANTS", "OptionFoundation", "_adapter", "value", "OPTION_CONSTANTS", "v", "OptionComponent", "BaseComponent", "OptionFoundation", "OptionAdapter", "OPTION_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "defineOptionComponent", "defineCustomElement", "OptionComponent"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
-
* License: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import{b as i,c as d,d as s}from"./chunk.K3KAM2PL.js";import{a,b as n}from"./chunk.DXN7ZOH3.js";import{a as o,e as t}from"./chunk.MVTBJPO2.js";import{d as e}from"./chunk.M3QDAYD2.js";var c=`${n}drawer`,l={elementName:c};var f='<template><div class="forge-drawer" part="root"><slot name="header"></slot><div class="forge-drawer__content" part="content"><slot></slot></div><slot name="footer"></slot></div></template>',b='.forge-drawer{width:256px;width:var(--forge-drawer-width,256px);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;overflow:hidden;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.forge-drawer ::slotted([slot=header]){grid-row:1}.forge-drawer ::slotted([slot=footer]){grid-row:3}.forge-drawer__content{overflow-x:auto;-webkit-overflow-scrolling:"touch";display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;grid-row:2}.forge-drawer__content::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-drawer__content::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-drawer__content::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-drawer__content::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-drawer__content::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-drawer__content::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-drawer--left{border-right-width:1px;border-right-style:solid}.forge-drawer--right{border-left-width:1px;border-left-style:solid}.forge-drawer--right.forge-drawer--closing{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--right.forge-drawer--closed{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;width:0;border:none}.forge-drawer--closing{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--closed{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;width:0;border:none}.forge-drawer--no-transition{-webkit-transition:none!important;transition:none!important}:host{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;overflow:hidden!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports (-webkit-appearance:none) and (stroke-color:transparent){:host([open]){-webkit-transform:translateZ(0);transform:translateZ(0)}}}',r=class extends s{constructor(){super();t(this,f,b),this._foundation=new d(new i(this))}};r=e([a({name:l.elementName})],r);function z(){o(r)}export{l as a,r as b,z as c};
|
|
7
|
-
//# sourceMappingURL=chunk.XGOAYMK2.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/drawer/drawer/drawer-constants.ts", "../../src/drawer/drawer/drawer.ts", "../../src/drawer/drawer/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}drawer`;\n\nexport const DRAWER_CONSTANTS = {\n elementName\n};\n", "import { CustomElement, attachShadowTemplate } from '@tylertech/forge-core';\nimport { DRAWER_CONSTANTS } from './drawer-constants';\nimport { BaseDrawerAdapter, BaseDrawerComponent, BaseDrawerFoundation, IBaseDrawerComponent } from '../base';\n\nconst template = '<template><div class=\\\"forge-drawer\\\" part=\\\"root\\\"><slot name=\\\"header\\\"></slot><div class=\\\"forge-drawer__content\\\" part=\\\"content\\\"><slot></slot></div><slot name=\\\"footer\\\"></slot></div></template>';\nconst styles = '.forge-drawer{width:256px;width:var(--forge-drawer-width,256px);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;overflow:hidden;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.forge-drawer ::slotted([slot=header]){grid-row:1}.forge-drawer ::slotted([slot=footer]){grid-row:3}.forge-drawer__content{overflow-x:auto;-webkit-overflow-scrolling:\\\"touch\\\";display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;grid-row:2}.forge-drawer__content::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-drawer__content::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-drawer__content::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-drawer__content::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-drawer__content::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-drawer__content::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-drawer--left{border-right-width:1px;border-right-style:solid}.forge-drawer--right{border-left-width:1px;border-left-style:solid}.forge-drawer--right.forge-drawer--closing{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--right.forge-drawer--closed{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;width:0;border:none}.forge-drawer--closing{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--closed{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;width:0;border:none}.forge-drawer--no-transition{-webkit-transition:none!important;transition:none!important}:host{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;overflow:hidden!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports (-webkit-appearance:none) and (stroke-color:transparent){:host([open]){-webkit-transform:translateZ(0);transform:translateZ(0)}}}';\n\nexport interface IDrawerComponent extends IBaseDrawerComponent {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-drawer': IDrawerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-drawer-after-open': CustomEvent<void>;\n 'forge-drawer-after-close': CustomEvent<void>;\n }\n}\n\n/**\n * The web component class behind the `<forge-drawer>` custom element.\n * \n * @tag forge-drawer\n */\n@CustomElement({\n name: DRAWER_CONSTANTS.elementName\n})\nexport class DrawerComponent extends BaseDrawerComponent<BaseDrawerFoundation> implements IDrawerComponent {\n protected _foundation: BaseDrawerFoundation;\n \n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new BaseDrawerFoundation(new BaseDrawerAdapter(this));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { DrawerComponent } from './drawer';\n\nexport * from './drawer-constants';\nexport * from './drawer';\n\nexport function defineDrawerComponent(): void {\n defineCustomElement(DrawerComponent);\n}\n"],
|
|
5
|
-
"mappings": "uLAEA,IAAMA,EAA2C,GAAGC,UAEvCC,EAAmB,CAC9B,YAAAF,CACF,ECFA,IAAMG,EAAW,+LACXC,EAAS,o/GAuBFC,EAAN,cAA8BC,CAAsE,CAGzG,aAAc,CACZ,MAAM,EACNC,EAAqB,KAAMJ,EAAUC,CAAM,EAC3C,KAAK,YAAc,IAAII,EAAqB,IAAIC,EAAkB,IAAI,CAAC,CACzE,CACF,EARaJ,EAANK,EAAA,CAHNC,EAAc,CACb,KAAMC,EAAiB,WACzB,CAAC,GACYP,GCtBN,SAASQ,GAA8B,CAC5CC,EAAoBC,CAAe,CACrC",
|
|
6
|
-
"names": ["elementName", "COMPONENT_NAME_PREFIX", "DRAWER_CONSTANTS", "template", "styles", "DrawerComponent", "BaseDrawerComponent", "attachShadowTemplate", "BaseDrawerFoundation", "BaseDrawerAdapter", "__decorateClass", "CustomElement", "DRAWER_CONSTANTS", "defineDrawerComponent", "defineCustomElement", "DrawerComponent"]
|
|
7
|
-
}
|