@tylertech/forge 2.21.1 → 2.21.2
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 +1243 -143
- 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 +1 -1
- 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/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.G6GRI7UL.js → chunk.34KPY5LA.js} +2 -2
- package/dist/esm/chunks/{chunk.KQK2XX5H.js → chunk.34QUWF7V.js} +2 -2
- package/dist/esm/chunks/{chunk.F5LXG5X7.js → chunk.34XMCEIP.js} +2 -2
- package/dist/esm/chunks/chunk.356ZQ2XS.js +7 -0
- package/dist/esm/chunks/{chunk.45KYMP5J.js.map → chunk.356ZQ2XS.js.map} +1 -1
- package/dist/esm/chunks/{chunk.Y7YPNMPI.js → chunk.4E7RA4KA.js} +2 -2
- package/dist/esm/chunks/{chunk.Y7YPNMPI.js.map → chunk.4E7RA4KA.js.map} +2 -2
- package/dist/esm/chunks/{chunk.3FAYFYXF.js → chunk.4HYZFGYD.js} +2 -2
- package/dist/esm/chunks/{chunk.2GDEYC4V.js → chunk.4OBKQO2C.js} +2 -2
- package/dist/esm/chunks/{chunk.67G7HT5S.js → chunk.5TU5W4VX.js} +2 -2
- package/dist/esm/chunks/{chunk.UHU4FUIS.js → chunk.5XP6JI3R.js} +2 -2
- package/dist/esm/chunks/{chunk.TH7RLTJK.js → chunk.626HG3FA.js} +2 -2
- package/dist/esm/chunks/{chunk.2T6HVSO4.js → chunk.6E43KAVU.js} +2 -2
- package/dist/esm/chunks/{chunk.3C44DXZ2.js → chunk.6M3DKBNE.js} +2 -2
- package/dist/esm/chunks/{chunk.UQTJSPU4.js → chunk.6TTLHD2N.js} +2 -2
- package/dist/esm/chunks/chunk.6UQ4QU6Q.js +7 -0
- package/dist/esm/chunks/{chunk.PWHMNJ5Y.js.map → chunk.6UQ4QU6Q.js.map} +3 -3
- package/dist/esm/chunks/{chunk.EMV7JGHB.js → chunk.7EL6SQHJ.js} +2 -2
- package/dist/esm/chunks/{chunk.FCTKNIBN.js → chunk.7GETSYAV.js} +2 -2
- package/dist/esm/chunks/{chunk.FCTKNIBN.js.map → chunk.7GETSYAV.js.map} +2 -2
- package/dist/esm/chunks/{chunk.5E2BG6O3.js → chunk.AO6HECKT.js} +2 -2
- package/dist/esm/chunks/{chunk.ON2K3O3I.js → chunk.B3FAMC7O.js} +2 -2
- package/dist/esm/chunks/{chunk.76PI42C5.js → chunk.CZW42BMS.js} +2 -2
- package/dist/esm/chunks/{chunk.D43PPRFO.js → chunk.DTSUVDYY.js} +2 -2
- package/dist/esm/chunks/{chunk.XTMXGKUO.js → chunk.DX6QB7DJ.js} +2 -2
- package/dist/esm/chunks/chunk.E5EFBGTJ.js +12 -0
- package/dist/esm/chunks/{chunk.Y2I2VRMF.js → chunk.FFABH6GU.js} +2 -2
- package/dist/esm/chunks/{chunk.L52XPVYZ.js → chunk.FO3INOWB.js} +2 -2
- package/dist/esm/chunks/chunk.FTZHHRGK.js +7 -0
- package/dist/esm/chunks/{chunk.MXVJSEF3.js.map → chunk.FTZHHRGK.js.map} +1 -1
- package/dist/esm/chunks/{chunk.N6XHXCZE.js → chunk.G23TTQRE.js} +2 -2
- package/dist/esm/chunks/chunk.GDYEENZH.js +7 -0
- package/dist/esm/chunks/chunk.GDYEENZH.js.map +7 -0
- package/dist/esm/chunks/{chunk.DPZU5F27.js → chunk.GIEAUIYJ.js} +2 -2
- package/dist/esm/chunks/chunk.HBHYHMJR.js +7 -0
- package/dist/esm/chunks/chunk.HBHYHMJR.js.map +7 -0
- package/dist/esm/chunks/{chunk.44WDRTRR.js → chunk.HIS5OR6E.js} +2 -2
- package/dist/esm/chunks/{chunk.7BAO5IED.js → chunk.HQA6NHEQ.js} +2 -2
- package/dist/esm/chunks/chunk.I2Q6DCOP.js +7 -0
- package/dist/esm/chunks/chunk.I2Q6DCOP.js.map +7 -0
- package/dist/esm/chunks/{chunk.J2PHUKSR.js → chunk.I567TCRS.js} +2 -2
- package/dist/esm/chunks/chunk.I6TJZZMO.js +7 -0
- package/dist/esm/chunks/chunk.I6TJZZMO.js.map +7 -0
- package/dist/esm/chunks/chunk.J3PYKSC7.js +7 -0
- package/dist/esm/chunks/chunk.J3PYKSC7.js.map +7 -0
- package/dist/esm/chunks/{chunk.BINM3NUA.js → chunk.JDGO7PBU.js} +2 -2
- package/dist/esm/chunks/chunk.JE4JMYK4.js +29 -0
- package/dist/esm/chunks/chunk.JE4JMYK4.js.map +7 -0
- package/dist/esm/chunks/chunk.JGQ574IS.js +7 -0
- package/dist/esm/chunks/chunk.JGQ574IS.js.map +7 -0
- package/dist/esm/chunks/{chunk.APHMTBRQ.js → chunk.JIEPQLGT.js} +2 -2
- package/dist/esm/chunks/{chunk.7NHFZL6J.js → chunk.JOPEH3MU.js} +2 -2
- package/dist/esm/chunks/{chunk.43RHBWGI.js → chunk.KDGNGV2Q.js} +2 -2
- package/dist/esm/chunks/chunk.KZJYLYWN.js +7 -0
- package/dist/esm/chunks/chunk.KZJYLYWN.js.map +7 -0
- package/dist/esm/chunks/{chunk.M6PJ3PNN.js → chunk.L3PT6MFO.js} +2 -2
- package/dist/esm/chunks/{chunk.AZFF62ZK.js → chunk.LOA2PXPF.js} +2 -2
- package/dist/esm/chunks/{chunk.7IHNVPY5.js → chunk.MAG6CV5M.js} +2 -2
- package/dist/esm/chunks/{chunk.7IHNVPY5.js.map → chunk.MAG6CV5M.js.map} +3 -3
- package/dist/esm/chunks/{chunk.M2ATVI24.js → chunk.N24HFRA7.js} +2 -2
- package/dist/esm/chunks/{chunk.YJTE34LC.js → chunk.NGNONQIQ.js} +2 -2
- package/dist/esm/chunks/{chunk.SFTWKDQV.js → chunk.NOQTT5CC.js} +2 -2
- package/dist/esm/chunks/{chunk.IWICN773.js → chunk.NZI24S27.js} +2 -2
- package/dist/esm/chunks/{chunk.GQCUI7YS.js → chunk.O3HLTRZ7.js} +2 -2
- package/dist/esm/chunks/chunk.OPU47W2S.js +7 -0
- package/dist/esm/chunks/chunk.OPU47W2S.js.map +7 -0
- package/dist/esm/chunks/{chunk.IV2GMOPB.js → chunk.OQ2YXL5K.js} +2 -2
- package/dist/esm/chunks/{chunk.L3SL4NW6.js → chunk.OVRFFUGY.js} +2 -2
- package/dist/esm/chunks/{chunk.COS4RDZB.js → chunk.PIEVCFVP.js} +2 -2
- package/dist/esm/chunks/{chunk.IZSUW7WG.js → chunk.PITKIE6U.js} +2 -2
- package/dist/esm/chunks/chunk.PVKUTCJL.js +7 -0
- package/dist/esm/chunks/chunk.PVKUTCJL.js.map +7 -0
- package/dist/esm/chunks/{chunk.4R6NK524.js → chunk.PXXVBTZK.js} +2 -2
- package/dist/esm/chunks/chunk.Q5S2PLLO.js +7 -0
- package/dist/esm/chunks/chunk.Q5S2PLLO.js.map +7 -0
- package/dist/esm/chunks/chunk.QUQ2LN2S.js +7 -0
- package/dist/esm/chunks/chunk.QUQ2LN2S.js.map +7 -0
- package/dist/esm/chunks/chunk.QY5JYJPV.js +7 -0
- package/dist/esm/chunks/chunk.QY5JYJPV.js.map +7 -0
- package/dist/esm/chunks/{chunk.OEZZ2NEY.js → chunk.REOK5HDT.js} +2 -2
- package/dist/esm/chunks/{chunk.PKVY6EWM.js → chunk.RNV6JSP4.js} +2 -2
- package/dist/esm/chunks/chunk.RWXLU5GZ.js +7 -0
- package/dist/esm/chunks/chunk.RWXLU5GZ.js.map +7 -0
- package/dist/esm/chunks/{chunk.LM57IEFE.js → chunk.S5GROM77.js} +2 -2
- package/dist/esm/chunks/{chunk.F5CFD2NG.js → chunk.SFREF7YC.js} +2 -2
- package/dist/esm/chunks/{chunk.7SULS4D2.js → chunk.SKFSEWYY.js} +2 -2
- package/dist/esm/chunks/chunk.SNGYY7HZ.js +7 -0
- package/dist/esm/chunks/chunk.SNGYY7HZ.js.map +7 -0
- package/dist/esm/chunks/{chunk.6G4DOKR2.js → chunk.SQESFOGY.js} +2 -2
- package/dist/esm/chunks/{chunk.6G4DOKR2.js.map → chunk.SQESFOGY.js.map} +2 -2
- package/dist/esm/chunks/{chunk.UVL4TIK2.js → chunk.SS46JP47.js} +2 -2
- package/dist/esm/chunks/{chunk.KII37K76.js → chunk.SYGMZUV7.js} +2 -2
- package/dist/esm/chunks/{chunk.H3IPTBWM.js → chunk.T7UBP53Q.js} +2 -2
- package/dist/esm/chunks/{chunk.NLXSZNQI.js → chunk.TGF5WRAW.js} +2 -2
- package/dist/esm/chunks/{chunk.JCDIPDQR.js → chunk.TR4JGRMS.js} +2 -2
- package/dist/esm/chunks/{chunk.TBSCULSM.js → chunk.TT4KSKDQ.js} +2 -2
- package/dist/esm/chunks/{chunk.TBSCULSM.js.map → chunk.TT4KSKDQ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.73GVVX4K.js → chunk.UA7R255A.js} +2 -2
- package/dist/esm/chunks/{chunk.73GVVX4K.js.map → chunk.UA7R255A.js.map} +2 -2
- package/dist/esm/chunks/{chunk.PADHAJLS.js → chunk.VIMC4REI.js} +2 -2
- package/dist/esm/chunks/{chunk.SAQSXX2T.js → chunk.VVAZNQMU.js} +2 -2
- package/dist/esm/chunks/{chunk.42QTJZSF.js → chunk.VXT4TNZZ.js} +2 -2
- package/dist/esm/chunks/{chunk.6TTAKWXI.js → chunk.WHY2OAQJ.js} +2 -2
- package/dist/esm/chunks/{chunk.WOTVTBJS.js → chunk.XQS6FU2G.js} +2 -2
- package/dist/esm/chunks/{chunk.AIUIUCZH.js → chunk.YCKKFYVM.js} +2 -2
- package/dist/esm/chunks/chunk.YPR3VFCP.js +7 -0
- package/dist/esm/chunks/chunk.YPR3VFCP.js.map +7 -0
- package/dist/esm/chunks/chunk.ZFBCYZNK.js +7 -0
- package/dist/esm/chunks/chunk.ZFBCYZNK.js.map +7 -0
- package/dist/esm/chunks/chunk.ZTN2FNFX.js +7 -0
- package/dist/esm/chunks/chunk.ZTN2FNFX.js.map +7 -0
- 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/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/icon/index.js +1 -1
- package/dist/esm/icon-button/index.js +1 -1
- package/dist/esm/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/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/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/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/select/index.js +1 -1
- package/dist/esm/select/select-dropdown/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/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/tooltip/index.js +1 -1
- package/dist/esm/view-switcher/index.js +1 -1
- package/esm/autocomplete/autocomplete.d.ts +8 -2
- package/esm/button/button.d.ts +1 -0
- package/esm/button/button.js +18 -7
- package/esm/button-area/button-area-adapter.d.ts +3 -1
- package/esm/button-area/button-area-adapter.js +14 -5
- package/esm/button-area/button-area-foundation.js +1 -0
- package/esm/calendar/calendar-foundation.js +22 -18
- package/esm/calendar/calendar.d.ts +1 -0
- package/esm/checkbox/checkbox-adapter.d.ts +1 -0
- package/esm/checkbox/checkbox-adapter.js +18 -7
- package/esm/core/base/base-adapter.d.ts +4 -2
- package/esm/core/base/base-adapter.js +3 -0
- package/esm/core/utils/utils.d.ts +5 -2
- package/esm/core/utils/utils.js +21 -6
- package/esm/date-picker/base/base-date-picker-adapter.js +1 -3
- package/esm/date-picker/base/base-date-picker-foundation.js +6 -0
- package/esm/dialog/dialog-adapter.d.ts +2 -0
- package/esm/dialog/dialog-adapter.js +14 -0
- package/esm/dialog/dialog-foundation.js +1 -0
- package/esm/icon-button/icon-button.d.ts +2 -0
- package/esm/icon-button/icon-button.js +31 -7
- package/esm/list/list/list-adapter.d.ts +2 -6
- package/esm/list/list/list-adapter.js +29 -18
- package/esm/list/list/list-constants.d.ts +2 -2
- package/esm/list/list/list-constants.js +3 -3
- package/esm/list/list/list-foundation.js +6 -0
- package/esm/list/list-item/list-item-adapter.d.ts +3 -3
- package/esm/list/list-item/list-item-adapter.js +3 -3
- package/esm/list/list-item/list-item-foundation.d.ts +1 -0
- package/esm/list/list-item/list-item-foundation.js +12 -2
- package/esm/menu/menu-foundation.js +1 -0
- package/esm/menu/menu.d.ts +4 -1
- package/esm/open-icon/open-icon.js +2 -2
- package/esm/paginator/paginator-adapter.d.ts +6 -2
- package/esm/paginator/paginator-adapter.js +34 -54
- package/esm/paginator/paginator-constants.d.ts +1 -1
- package/esm/paginator/paginator-foundation.js +7 -17
- package/esm/radio/radio-adapter.d.ts +1 -0
- package/esm/radio/radio-adapter.js +18 -7
- package/esm/ripple/forge-ripple.d.ts +2 -0
- package/esm/ripple/forge-ripple.js +4 -0
- package/esm/select/core/base-select.d.ts +4 -1
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/esm/switch/switch.js +15 -2
- package/esm/tooltip/tooltip.d.ts +1 -0
- package/package.json +2 -2
- package/dist/esm/chunks/chunk.45KYMP5J.js +0 -7
- package/dist/esm/chunks/chunk.4CWMNWZU.js +0 -7
- package/dist/esm/chunks/chunk.4CWMNWZU.js.map +0 -7
- package/dist/esm/chunks/chunk.5KC43VFL.js +0 -7
- package/dist/esm/chunks/chunk.5KC43VFL.js.map +0 -7
- package/dist/esm/chunks/chunk.AHDIUCUB.js +0 -7
- package/dist/esm/chunks/chunk.AHDIUCUB.js.map +0 -7
- package/dist/esm/chunks/chunk.CE6NTUWI.js +0 -7
- package/dist/esm/chunks/chunk.CE6NTUWI.js.map +0 -7
- package/dist/esm/chunks/chunk.DLALEZ73.js +0 -7
- package/dist/esm/chunks/chunk.DLALEZ73.js.map +0 -7
- package/dist/esm/chunks/chunk.DYF2MREZ.js +0 -7
- package/dist/esm/chunks/chunk.DYF2MREZ.js.map +0 -7
- package/dist/esm/chunks/chunk.ITXUKOKJ.js +0 -7
- package/dist/esm/chunks/chunk.ITXUKOKJ.js.map +0 -7
- package/dist/esm/chunks/chunk.MXVJSEF3.js +0 -7
- package/dist/esm/chunks/chunk.PWHMNJ5Y.js +0 -7
- package/dist/esm/chunks/chunk.Q7HX26UO.js +0 -7
- package/dist/esm/chunks/chunk.Q7HX26UO.js.map +0 -7
- package/dist/esm/chunks/chunk.QZ2NXIGY.js +0 -7
- package/dist/esm/chunks/chunk.QZ2NXIGY.js.map +0 -7
- package/dist/esm/chunks/chunk.RD7SYOAI.js +0 -12
- package/dist/esm/chunks/chunk.RLWX5BFQ.js +0 -7
- package/dist/esm/chunks/chunk.RLWX5BFQ.js.map +0 -7
- package/dist/esm/chunks/chunk.SXTM6OK4.js +0 -7
- package/dist/esm/chunks/chunk.SXTM6OK4.js.map +0 -7
- package/dist/esm/chunks/chunk.VT2QJ7SM.js +0 -29
- package/dist/esm/chunks/chunk.VT2QJ7SM.js.map +0 -7
- package/dist/esm/chunks/chunk.Y66GSZJB.js +0 -7
- package/dist/esm/chunks/chunk.Y66GSZJB.js.map +0 -7
- package/dist/esm/chunks/chunk.YG24YPYO.js +0 -7
- package/dist/esm/chunks/chunk.YG24YPYO.js.map +0 -7
- /package/dist/esm/chunks/{chunk.G6GRI7UL.js.map → chunk.34KPY5LA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KQK2XX5H.js.map → chunk.34QUWF7V.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.F5LXG5X7.js.map → chunk.34XMCEIP.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.3FAYFYXF.js.map → chunk.4HYZFGYD.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2GDEYC4V.js.map → chunk.4OBKQO2C.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.67G7HT5S.js.map → chunk.5TU5W4VX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.UHU4FUIS.js.map → chunk.5XP6JI3R.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.TH7RLTJK.js.map → chunk.626HG3FA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2T6HVSO4.js.map → chunk.6E43KAVU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.3C44DXZ2.js.map → chunk.6M3DKBNE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.UQTJSPU4.js.map → chunk.6TTLHD2N.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.EMV7JGHB.js.map → chunk.7EL6SQHJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5E2BG6O3.js.map → chunk.AO6HECKT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ON2K3O3I.js.map → chunk.B3FAMC7O.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.76PI42C5.js.map → chunk.CZW42BMS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.D43PPRFO.js.map → chunk.DTSUVDYY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.XTMXGKUO.js.map → chunk.DX6QB7DJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RD7SYOAI.js.map → chunk.E5EFBGTJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.Y2I2VRMF.js.map → chunk.FFABH6GU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.L52XPVYZ.js.map → chunk.FO3INOWB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.N6XHXCZE.js.map → chunk.G23TTQRE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DPZU5F27.js.map → chunk.GIEAUIYJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.44WDRTRR.js.map → chunk.HIS5OR6E.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7BAO5IED.js.map → chunk.HQA6NHEQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.J2PHUKSR.js.map → chunk.I567TCRS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BINM3NUA.js.map → chunk.JDGO7PBU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.APHMTBRQ.js.map → chunk.JIEPQLGT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7NHFZL6J.js.map → chunk.JOPEH3MU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.43RHBWGI.js.map → chunk.KDGNGV2Q.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.M6PJ3PNN.js.map → chunk.L3PT6MFO.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AZFF62ZK.js.map → chunk.LOA2PXPF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.M2ATVI24.js.map → chunk.N24HFRA7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YJTE34LC.js.map → chunk.NGNONQIQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SFTWKDQV.js.map → chunk.NOQTT5CC.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IWICN773.js.map → chunk.NZI24S27.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GQCUI7YS.js.map → chunk.O3HLTRZ7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IV2GMOPB.js.map → chunk.OQ2YXL5K.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.L3SL4NW6.js.map → chunk.OVRFFUGY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.COS4RDZB.js.map → chunk.PIEVCFVP.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IZSUW7WG.js.map → chunk.PITKIE6U.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4R6NK524.js.map → chunk.PXXVBTZK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OEZZ2NEY.js.map → chunk.REOK5HDT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PKVY6EWM.js.map → chunk.RNV6JSP4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.LM57IEFE.js.map → chunk.S5GROM77.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.F5CFD2NG.js.map → chunk.SFREF7YC.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7SULS4D2.js.map → chunk.SKFSEWYY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.UVL4TIK2.js.map → chunk.SS46JP47.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KII37K76.js.map → chunk.SYGMZUV7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.H3IPTBWM.js.map → chunk.T7UBP53Q.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NLXSZNQI.js.map → chunk.TGF5WRAW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JCDIPDQR.js.map → chunk.TR4JGRMS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PADHAJLS.js.map → chunk.VIMC4REI.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SAQSXX2T.js.map → chunk.VVAZNQMU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.42QTJZSF.js.map → chunk.VXT4TNZZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.6TTAKWXI.js.map → chunk.WHY2OAQJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WOTVTBJS.js.map → chunk.XQS6FU2G.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AIUIUCZH.js.map → chunk.YCKKFYVM.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/select/core/base-select-constants.ts", "../../src/select/core/select-utils.ts", "../../src/select/core/base-select-foundation.ts", "../../src/select/core/base-select.ts", "../../src/select/core/base-select-adapter.ts"],
|
|
4
|
-
"sourcesContent": ["import { IListDropdownOption, IListDropdownOptionGroup } from '../../list-dropdown/list-dropdown-constants';\n\nexport type SelectOptionBuilder = (option: ISelectOption, parentElement: HTMLElement) => HTMLElement;\nexport type SelectSelectedTextBuilder = (selectedOptions: IListDropdownOption[]) => string;\nexport type SelectOptionListenerDestructor = () => void;\nexport type SelectBeforeValueChangeCallback<T> = (value: T | T[]) => boolean | Promise<boolean>;\n\nexport interface ISelectOption extends IListDropdownOption {}\nexport interface ISelectOptionGroup extends IListDropdownOptionGroup {}\n\nconst observedAttributes = {\n VALUE: 'value',\n MULTIPLE: 'multiple',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n CONSTRAIN_POPUP_WIDTH: 'constrain-popup-width',\n WRAP_OPTION_TEXT: 'wrap-option-text'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst events = {\n CHANGE: 'change'\n};\n\nexport const BASE_SELECT_CONSTANTS = {\n attributes,\n events\n};\n", "import { isDefined, isObject } from '@tylertech/forge-core';\nimport { ISelectOption, ISelectOptionGroup } from './base-select-constants';\n\nexport enum SelectOptionType { Option, Group }\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 isSelectOptionType(options: ISelectOption[] | ISelectOptionGroup[], type: SelectOptionType): boolean {\n const isOptionGroups = options.some((o: ISelectOption | ISelectOptionGroup) => isOptionGroupObject(o));\n const isOptionTypes = options.some((o: ISelectOption | ISelectOptionGroup) => isOptionObject(o));\n return (isOptionGroups && type === SelectOptionType.Group) || (isOptionTypes && type === SelectOptionType.Option);\n}\n\nexport function isOptionGroupObject(o: ISelectOption | ISelectOptionGroup): o is ISelectOptionGroup {\n return isDefined(o) && isObject(o) && o.hasOwnProperty('options');\n}\n\nexport function isOptionObject(o: ISelectOption | ISelectOptionGroup): o is ISelectOption {\n return isDefined(o) && isObject(o) && o.hasOwnProperty('label') && o.hasOwnProperty('value');\n}\n", "import { isDefined, isDeepEqual, randomChars } from '@tylertech/forge-core';\nimport { OptionListenerDestructor } from '../select/select-adapter';\nimport { ISelectOption, ISelectOptionGroup, SelectSelectedTextBuilder, SelectOptionBuilder, BASE_SELECT_CONSTANTS, SelectBeforeValueChangeCallback } from './base-select-constants';\nimport { isSelectOptionType, SelectOptionType } from './select-utils';\nimport { IListDropdownConfig, ListDropdownHeaderBuilder, ListDropdownFooterBuilder } from '../../list-dropdown/list-dropdown-constants';\nimport { IBaseSelectAdapter } from './base-select-adapter';\nimport { IListDropdownAwareFoundation, ListDropdownAwareFoundation } from '../../list-dropdown/list-dropdown-aware-foundation';\n\nexport interface IBaseSelectFoundation extends IListDropdownAwareFoundation {\n value: any;\n selectedIndex: number | number[];\n options: ISelectOption[] | ISelectOptionGroup[];\n multiple: boolean;\n open: boolean;\n popupElement: HTMLElement | undefined;\n optionBuilder: SelectOptionBuilder;\n selectedTextBuilder: SelectSelectedTextBuilder;\n beforeValueChange: SelectBeforeValueChangeCallback<any>;\n appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n selectAll(): void;\n deselectAll(): void;\n initialize(): void;\n initializeTarget(): void;\n disconnect(): void;\n}\n\nexport abstract class BaseSelectFoundation<T extends IBaseSelectAdapter> extends ListDropdownAwareFoundation implements IBaseSelectFoundation {\n protected _options: ISelectOption[] | ISelectOptionGroup[] = [];\n protected _value: any = [];\n protected _multiple = false;\n protected _open = false;\n protected _optionBuilder: SelectOptionBuilder;\n protected _selectedTextBuilder: SelectSelectedTextBuilder;\n protected _selectedValues: string[] = [];\n protected _selectedLabels: string[] = [];\n protected _selectedIndexes: number[] = [];\n protected _filterTimeout: number | undefined;\n protected _filterString = '';\n protected _identifier: string;\n protected _targetWidthCallback: () => number;\n protected _beforeValueChange: SelectBeforeValueChangeCallback<unknown>;\n private _focusListener: (evt: Event) => void;\n private _blurListener: (evt: FocusEvent) => void;\n private _clickListener: (evt: MouseEvent) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _optionsChangedListener: (options: ISelectOption[] | ISelectOptionGroup[]) => void;\n private _optionListenerDestructor: OptionListenerDestructor;\n private _activeChangeListener: (id: string) => void;\n private _dropdownScrollEndListener: () => void;\n private _valueChanging: Promise<boolean> | undefined;\n private _dismissListener: () => void;\n\n constructor(protected _adapter: T) {\n super();\n this._focusListener = evt => this._onFocus(evt);\n this._blurListener = evt => this._onBlur(evt);\n this._clickListener = evt => this._onClick(evt);\n this._keydownListener = evt => this._onKeydown(evt);\n this._optionsChangedListener = options => this._onOptionsChanged(options);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n this._dropdownScrollEndListener = () => this._onDropdownScrollEnd();\n this._dismissListener = () => this._onDismiss();\n this._identifier = randomChars();\n }\n\n protected abstract _onDropdownScrollEnd(): void;\n protected _onFocus(evt: Event): void {}\n\n public initialize(): void {\n if (this._optionListenerDestructor) {\n this._optionListenerDestructor();\n }\n this._optionListenerDestructor = this._adapter.setOptionsListener(this._optionsChangedListener);\n this._initializeValue();\n }\n\n public initializeTarget(): void {\n this._adapter.initializeAccessibility();\n this._adapter.setMultiple(this._multiple);\n this._adapter.addClickListener(this._clickListener);\n this._adapter.addTargetListener('blur', this._blurListener);\n this._adapter.addTargetListener('focus', this._focusListener);\n this._adapter.addTargetListener('keydown', this._keydownListener);\n }\n\n public disconnect(): void {\n this._adapter.removeClickListener(this._clickListener);\n this._adapter.removeTargetListener('blur', this._blurListener);\n this._adapter.removeTargetListener('focus', this._focusListener);\n this._adapter.removeTargetListener('keydown', this._keydownListener);\n\n if (this._open) {\n this._closeDropdown();\n }\n\n if (this._optionListenerDestructor) {\n this._optionListenerDestructor();\n }\n }\n\n public appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._adapter.setOptions(options, false);\n if (this._open) {\n this._adapter.appendDropdownOptions(options);\n }\n }\n\n public selectAll(): void {\n if (this._multiple) {\n this.value = this._flatOptions.map(o => o.value);\n }\n }\n\n public deselectAll(): void {\n if (this._multiple) {\n this.value = [];\n }\n }\n\n protected get _flatOptions(): ISelectOption[] {\n if (isSelectOptionType(this._options, SelectOptionType.Group)) {\n return [].concat.apply([], (this._options as ISelectOptionGroup[]).map(g => g.options)) as ISelectOption[];\n }\n return this._options as ISelectOption[];\n }\n\n private get _nonDividerOptions(): ISelectOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n protected _initializeValue(): void {\n const options = (this._options.length && this._options) || this._adapter.getOptions();\n if (isDefined(this._value) && options.length) {\n this._applyValue(this._value);\n }\n }\n\n protected _onClick(evt: MouseEvent): void {\n if (evt.button !== 0) {\n return;\n }\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n\n protected _onBlur(evt: FocusEvent): void {\n // If the blur event was triggered by an element within the popup then ignore it\n if (this._adapter.isFocusWithinPopup(evt.relatedTarget as HTMLElement)) {\n return;\n }\n\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n\n protected _openDropdown(): void {\n this._options = this._adapter.getOptions();\n\n if (!this._flatOptions.length) {\n return;\n }\n\n this._open = true;\n const config: IListDropdownConfig = {\n options: this._options,\n multiple: this._multiple,\n selectedValues: [...this._selectedValues],\n id: this._identifier,\n optionBuilder: this._optionBuilder,\n syncWidth: this._syncPopupWidth,\n constrainViewportWidth: this._constrainPopupWidth,\n wrapOptionText: this._wrapOptionText,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n scrollEndListener: this._dropdownScrollEndListener,\n activeChangeCallback: this._activeChangeListener,\n targetWidthCallback: this._targetWidthCallback,\n popupClasses: this._popupClasses,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n closeCallback: () => this._closeDropdown(),\n selectCallback: (value: any) => {\n const flatOptions = this._flatOptions;\n const option = flatOptions.find(o => o.value === value);\n if (option) {\n const index = flatOptions.indexOf(option);\n this._onSelect(option, index, true);\n }\n }\n };\n this._adapter.open(config);\n this._adapter.setDismissListener(this._dismissListener);\n }\n\n /**\n * Closes the dropdown.\n */\n protected _closeDropdown(): void {\n this._open = false;\n this._adapter.close();\n }\n\n /**\n * Handles selecting an item in the dropdown.\n * @param {ISelectOption} option The selected option.\n * @param {number} optionIndex The index of the selected option.\n */\n protected async _onSelect(option: ISelectOption, optionIndex: number, closeDropdown = true): Promise<boolean> {\n return new Promise(async resolve => {\n if (this._valueChanging) {\n return Promise.resolve(false);\n }\n\n const value = option ? option.value : '';\n const label = option ? option.label : '';\n\n // Store the current selections in case we need to rollback (if the event was cancelled)\n const prevValues = [...this._value];\n const prevSelectedValues = [...this._selectedValues];\n const prevSelectedLabels = [...this._selectedLabels];\n const prevSelectedIndexes = [...this._selectedIndexes];\n\n if (this._multiple) {\n if (this._selectedValues.includes(value)) {\n const index = this._selectedValues.indexOf(value);\n this._selectedValues.splice(index, 1);\n this._selectedLabels.splice(index, 1);\n this._selectedIndexes.splice(index, 1);\n } else {\n this._selectedValues.push(value);\n this._selectedLabels.push(label);\n this._selectedIndexes.push(optionIndex);\n }\n } else {\n if (isDefined(value)) {\n this._selectedValues[0] = value;\n this._selectedLabels[0] = label;\n this._selectedIndexes[0] = optionIndex;\n } else {\n this._selectedValues = [];\n this._selectedLabels = [];\n this._selectedIndexes = [];\n }\n }\n\n this._value = [...this._selectedValues];\n\n const rollbackValue = (): void => {\n this._selectedValues = [...prevSelectedValues];\n this._selectedLabels = [...prevSelectedLabels];\n this._selectedIndexes = [...prevSelectedIndexes];\n this._value = [...prevValues];\n };\n\n const applyValue = (): void => {\n // If we're in multiselect mode, we need to toggle the selected option\n if (this._multiple) {\n const isSelected = this._selectedIndexes.includes(optionIndex);\n this._adapter.toggleOptionMultiple(optionIndex, isSelected);\n }\n\n this._applySelection();\n };\n\n const data = this.multiple ? [...this._selectedValues] : this._selectedValues[0];\n\n // We close the dropdown immediately if in single selection mode\n if (this._open && closeDropdown && !this._multiple) {\n this._closeDropdown();\n }\n\n // First we check to see if there is an before change callback and execute that\n if (typeof this._beforeValueChange === 'function') {\n this._valueChanging = Promise.resolve(this._beforeValueChange.call(null, data));\n const shouldContinue = await this._valueChanging;\n this._valueChanging = undefined;\n if (!shouldContinue) {\n rollbackValue();\n this._tryUpdateDropdownPosition();\n return resolve(false);\n }\n }\n\n // Now we can emit the change event AFTER the before change callback has been executed and returned true\n const cancelled = !this._adapter.emitHostEvent(BASE_SELECT_CONSTANTS.events.CHANGE, data, true, true);\n if (!cancelled) {\n applyValue();\n } else {\n rollbackValue();\n }\n\n this._tryUpdateDropdownPosition();\n resolve(!cancelled);\n });\n }\n\n private _selectActiveOption(): void {\n const activeOptionIndex = this._adapter.getActiveOptionIndex();\n if (activeOptionIndex >= 0 && this._nonDividerOptions[activeOptionIndex]) {\n this._onSelect(this._nonDividerOptions[activeOptionIndex], activeOptionIndex);\n }\n }\n\n protected _tryUpdateDropdownPosition(): void {\n if (this._open) {\n this._adapter.queueDropdownPositionUpdate();\n }\n }\n\n protected _reset(): void {\n this._selectedValues = [];\n this._selectedLabels = [];\n this._selectedIndexes = [];\n }\n\n protected _applyValue(value: string | string[]): void {\n this._selectedValues = [];\n this._selectedLabels = [];\n\n this._options = this._adapter.getOptions();\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n this._value = [];\n\n // Ensure that the values passed are actually existing options\n for (const val of value) {\n if (!this._value.includes(val)) {\n this._value.push(val);\n }\n const option = this._flatOptions.find(o => isDeepEqual(o.value, val));\n if (option) {\n this._selectedValues.push(option.value);\n this._selectedLabels.push(option.label);\n }\n }\n\n // Update the selected indexes based on the values that are now selected\n this._selectedIndexes = this._selectedValues.map(val => this._flatOptions.findIndex(o => o.value === val));\n\n // Update the selected options in the dropdown\n this._adapter.patchSelectedValues(this._selectedValues);\n }\n \n /**\n * Handles the user dismissing the dropdown.\n */\n protected _onDismiss(): void {\n this._closeDropdown();\n }\n\n /** Creates the selected text value from the selected label values. */\n protected _getSelectedText(): string {\n if (typeof this._selectedTextBuilder === 'function') {\n const selectedOptions = this._flatOptions.filter(o => this._selectedValues.includes(o.value));\n return this._selectedTextBuilder(selectedOptions);\n }\n\n if (this._multiple) {\n if (this._selectedLabels.length) {\n if (this._selectedLabels.length === 1) {\n return this._selectedLabels[0];\n } else {\n return `${this._selectedLabels.length} options selected`;\n }\n } else {\n return '';\n }\n }\n \n return this._selectedLabels\n .filter(v => v && v.length)\n .join(' ')\n .trim();\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n const isEscapeKey = evt.key === 'Escape' || evt.keyCode === 27;\n const isEnter = evt.key === 'Enter' || evt.keyCode === 13;\n const isSpace = evt.key === 'Space' || evt.keyCode === 32;\n const isArrowDown = evt.key === 'ArrowDown' || evt.keyCode === 40;\n const isArrowUp = evt.key === 'ArrowUp' || evt.keyCode === 38;\n const isFilterableCharacter = evt.keyCode >= 48 && evt.keyCode <= 90;\n const isHomeKey = evt.key === 'Home' || evt.keyCode === 36;\n const isEndKey = evt.key === 'End' || evt.keyCode === 35;\n const isTabKey = evt.key === 'Tab';\n\n // We automatically select the active option if the dropdown is open and in single selection mode\n if (isTabKey && this._open && !this._multiple) {\n this._selectActiveOption();\n return;\n }\n\n // If an active filter was started, clear it now\n if (!isFilterableCharacter && this._filterTimeout) {\n window.clearTimeout(this._filterTimeout);\n this._filterString = '';\n this._filterTimeout = undefined;\n }\n\n if (isEscapeKey) {\n evt.preventDefault();\n evt.stopPropagation();\n if (this._open) {\n this._closeDropdown();\n return;\n }\n }\n\n if (isSpace) {\n evt.preventDefault();\n\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n } else if (isEnter) {\n if (this._open) {\n evt.stopPropagation();\n evt.preventDefault();\n this._options = this._adapter.getOptions();\n this._selectActiveOption();\n }\n } else if (isArrowUp || isArrowDown) {\n evt.preventDefault();\n\n if (!this._open) {\n this._openDropdown();\n this._adapter.activateFirstOption();\n return;\n }\n\n if (this._flatOptions.length === 0) {\n return;\n }\n\n let optionIndex = 0;\n if (this._open) {\n optionIndex = this._adapter.getActiveOptionIndex();\n if (optionIndex === -1) {\n optionIndex = this._getFirstSelectedOptionIndex();\n }\n } else {\n optionIndex = this._getFirstSelectedOptionIndex();\n }\n\n if (isArrowUp) {\n optionIndex = this._getPreviousHighlightableOptionIndex(optionIndex, this._nonDividerOptions);\n } else {\n optionIndex = this._getNextHighlightableOptionIndex(optionIndex, this._nonDividerOptions);\n }\n\n this._adapter.highlightActiveOption(optionIndex);\n } else if (isHomeKey) {\n if (this._open) {\n evt.preventDefault();\n this._adapter.highlightActiveOption(this._nonDividerOptions.findIndex(o => !o.disabled));\n }\n } else if (isEndKey) {\n if (this._open) {\n evt.preventDefault();\n const options = this._nonDividerOptions;\n for (let i = options.length - 1; i >= 0; i--) {\n if (!options[i].disabled) {\n this._adapter.highlightActiveOption(i);\n break;\n }\n }\n }\n } else if (isFilterableCharacter) {\n this._filter(evt.key);\n }\n }\n\n private _getFirstSelectedOptionIndex(): number {\n return this._nonDividerOptions.findIndex(option => this._selectedValues.includes(option.value));\n }\n\n private _getPreviousHighlightableOptionIndex(startIndex: number, options: ISelectOption[]): number {\n let index = startIndex;\n if (index <= 0) {\n index = options.length - 1;\n } else {\n index--;\n }\n if (options[index].disabled) {\n return this._getPreviousHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _getNextHighlightableOptionIndex(startIndex: number, options: ISelectOption[]): number {\n let index = startIndex;\n if (index === options.length - 1) {\n index = 0;\n } else {\n index++;\n }\n if (options[index].disabled) {\n return this._getNextHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _filter(key: string): void {\n // This allows for typing numbers and/or characters while the select is focused to auto-select the closest match\n if (this._filterTimeout) {\n window.clearTimeout(this._filterTimeout);\n this._filterTimeout = undefined;\n }\n this._filterString += key;\n this._filterTimeout = window.setTimeout(() => {\n this._filterString = '';\n this._filterTimeout = undefined;\n }, 300);\n this._options = this._adapter.getOptions();\n // TODO: Enhance this to cycle through closest matches (see the native select)\n const matchedOption = this._flatOptions.find(({ disabled, label }) => {\n return !disabled && label.trim().toLowerCase().startsWith(this._filterString.trim().toLowerCase());\n });\n if (matchedOption) {\n const optionIndex = this._flatOptions.indexOf(matchedOption);\n if (this._open) {\n this._adapter.highlightActiveOption(optionIndex);\n } else if (!this._multiple) {\n this._onSelect(matchedOption, optionIndex, false);\n }\n }\n }\n\n private _onOptionsChanged(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._options = options;\n this._applyValue(this._value);\n }\n\n private _onActiveOptionChanged(id: string): void {\n this._adapter.updateActiveDescendant(id);\n }\n\n /** Gets/sets the value of the component. */\n public get value(): any {\n return this._multiple ? [...this._value] : this._value[0];\n }\n public set value(value: any) {\n let _value: string | string[];\n \n if (Array.isArray(value)) {\n _value = [ ...value ];\n } else {\n _value = value;\n }\n\n this._applyValue(_value);\n }\n\n /** Gets/sets the selected index(s). */\n public get selectedIndex(): number | number[] {\n return this._multiple ? [ ...this._selectedIndexes ] : this._selectedIndexes[0];\n }\n public set selectedIndex(indexes: number | number[]) {\n this._options = this._adapter.getOptions();\n\n let indicies: number [];\n if (Array.isArray(indexes)) {\n indicies = [ ...indexes ];\n } else {\n indicies = [indexes];\n }\n\n indicies.sort();\n\n if (this.multiple) {\n this.value = indicies\n .map(index => this._flatOptions[index])\n .filter(o => o)\n .map(o => o.value);\n } else {\n const option = this._flatOptions[indicies[indicies.length - 1]];\n if (!option) {\n return;\n }\n this.value = option.value;\n }\n }\n\n /** Gets/sets the available options. */\n public get options(): ISelectOption[] | ISelectOptionGroup[] {\n return this._adapter.getOptions();\n }\n public set options(value: ISelectOption[] | ISelectOptionGroup[]) {\n let _value: ISelectOption[] | ISelectOptionGroup[];\n if (isSelectOptionType(value, SelectOptionType.Group)) {\n _value = (value as ISelectOptionGroup[]).map(v => ({ ...v }));\n } else {\n _value = (value as ISelectOption[]).map(v => ({ ...v }));\n }\n\n this._options = _value;\n this._adapter.setOptions(_value); // Must set options before intializing value\n this._initializeValue();\n\n if (this._open) {\n this._adapter.setDropdownOptions(_value);\n }\n }\n\n /** Gets/sets the multiple select state. */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._reset();\n if (this._open) {\n this._closeDropdown();\n }\n this._adapter.setMultiple(this._multiple);\n }\n }\n\n /** Gets/sets the open state of the dropdown. */\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n /** Gets/sets the builder callback to use when building options. */\n public get optionBuilder(): SelectOptionBuilder {\n return this._optionBuilder;\n }\n public set optionBuilder(value: SelectOptionBuilder) {\n this._optionBuilder = value;\n }\n\n /** Sets the selected text builder callback that will be executed when getting the selected text to display in the field. */\n public get selectedTextBuilder(): SelectSelectedTextBuilder {\n return this._selectedTextBuilder;\n }\n public set selectedTextBuilder(fn: SelectSelectedTextBuilder) {\n this._selectedTextBuilder = fn;\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 popupClasses(): string | string[] {\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[]) {\n this._popupClasses = 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 /** Gets the currently active popup element when the dropdown is open. */\n public get popupElement(): HTMLElement | undefined {\n return this._adapter.popupElement;\n }\n\n /** Sets the callback to be executed when the user selects a value. */\n public get beforeValueChange(): SelectBeforeValueChangeCallback<any> {\n return this._beforeValueChange;\n }\n public set beforeValueChange(value: SelectBeforeValueChangeCallback<any>) {\n this._beforeValueChange = value;\n }\n}\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\n\nimport {\n SelectOptionBuilder,\n SelectSelectedTextBuilder,\n ISelectOption,\n ISelectOptionGroup,\n SelectBeforeValueChangeCallback,\n BASE_SELECT_CONSTANTS\n} from './base-select-constants';\nimport { IBaseSelectFoundation } from './base-select-foundation';\nimport { IListDropdownAware, ListDropdownAware } from '../../list-dropdown/list-dropdown-aware';\nimport { IPopupComponent } from '../../popup';\n\n\nexport interface IBaseSelectComponent extends IListDropdownAware {\n value: any;\n selectedIndex: number | number[];\n options: ISelectOption[] | ISelectOptionGroup[];\n multiple: boolean;\n open: boolean;\n optionBuilder: SelectOptionBuilder;\n selectedTextBuilder: SelectSelectedTextBuilder;\n popupElement: IPopupComponent | undefined;\n beforeValueChange: SelectBeforeValueChangeCallback<any>;\n appendOptions(options: ISelectOption[] | ISelectOption[]): void;\n selectAll(): void;\n deselectAll(): void;\n}\n\nexport abstract class BaseSelectComponent<T extends IBaseSelectFoundation> extends ListDropdownAware implements IBaseSelectComponent {\n protected _foundation: T;\n\n constructor() {\n super();\n }\n\n /** Gets/sets the value. */\n @FoundationProperty()\n public declare value: any;\n \n /** Gets/sets the selected index. */\n @FoundationProperty()\n public declare selectedIndex: number | number[];\n \n /** Gets/sets the available options. */\n @FoundationProperty()\n public declare options: ISelectOption[] | ISelectOptionGroup[];\n\n /** Gets/sets the multiple select state. */\n @FoundationProperty()\n public declare multiple: boolean;\n \n /** Gets the open state of the dropdown. */\n @FoundationProperty()\n public declare open: boolean;\n \n /** Sets the option builder callback that will be executed when building the option list in the dropdown. */\n @FoundationProperty()\n public declare optionBuilder: SelectOptionBuilder;\n \n /** Sets the selected text builder callback that will be executed when getting the selected text to display in the field. */\n @FoundationProperty()\n public declare selectedTextBuilder: SelectSelectedTextBuilder;\n\n /** Sets the callback to be executed when the user selects a value. */\n @FoundationProperty()\n public declare beforeValueChange: SelectBeforeValueChangeCallback<any>;\n\n /** Gets the popup element (when the dropdown is open). */\n @FoundationProperty({ set: false })\n public declare popupElement: IPopupComponent | undefined;\n \n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case BASE_SELECT_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case BASE_SELECT_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n }\n }\n\n public appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._foundation.appendOptions(options);\n }\n\n public selectAll(): void {\n this._foundation.selectAll();\n }\n \n public deselectAll(): void {\n this._foundation.deselectAll();\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n}\n", "import { isDefined, isFunction, removeElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IBaseSelectComponent } from './base-select';\nimport { ListDropdown, IListDropdown } from '../../list-dropdown';\nimport { IListDropdownConfig, ListDropdownIconType } from '../../list-dropdown/list-dropdown-constants';\nimport { IOptionComponent, OPTION_CONSTANTS } from '../option';\nimport { IOptionGroupComponent, OPTION_GROUP_CONSTANTS } from '../option-group';\nimport { ISelectOption, ISelectOptionGroup, SelectOptionListenerDestructor } from './base-select-constants';\nimport { isOptionGroupObject } from './select-utils';\nimport { IPopupComponent, POPUP_CONSTANTS } from '../../popup';\n\nexport interface IBaseSelectAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n addClickListener(listener: (evt: Event) => void): void;\n removeClickListener(listener: (evt: Event) => void): void;\n addTargetListener(type: string, listener: (evt: Event) => void): void;\n removeTargetListener(type: string, listener: (evt: Event) => void): void;\n getOptions(): ISelectOption[] | ISelectOptionGroup[];\n setOptions(options: ISelectOption[] | ISelectOptionGroup[], clear?: boolean): void;\n open(config: IListDropdownConfig): void;\n close(): void;\n setDismissListener(listener: () => void): void;\n scrollSelectedOptionIntoView(): void;\n activateSelectedOption(): void;\n activateFirstOption(): void;\n getActiveOptionIndex(): number;\n highlightActiveOption(index: number): void;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n patchSelectedValues(selectedValues: string[]): void;\n updateActiveDescendant(id: string): void;\n setOptionsListener(listener: (options: ISelectOption[] | ISelectOptionGroup[]) => void): SelectOptionListenerDestructor;\n setDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n appendDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n setMultiple(multiple: boolean): void;\n isFocusWithinPopup(target: HTMLElement): boolean;\n queueDropdownPositionUpdate(): void;\n popupElement: HTMLElement | undefined;\n}\n\nexport abstract class BaseSelectAdapter extends BaseAdapter<IBaseSelectComponent> implements IBaseSelectAdapter {\n private _listDropdown?: IListDropdown;\n protected _targetElement: HTMLElement;\n\n constructor(component: IBaseSelectComponent) {\n super(component);\n }\n\n public abstract initializeAccessibility(): void;\n public abstract updateActiveDescendant(id: string): void;\n public abstract addClickListener(listener: (evt: Event) => void): void;\n public abstract removeClickListener(listener: (evt: Event) => void): void;\n public abstract addTargetListener(type: string, listener: (evt: Event) => void): void;\n public abstract removeTargetListener(type: string, listener: (evt: Event) => void): void;\n public abstract setMultiple(multiple: boolean): void;\n\n public get popupElement(): HTMLElement | undefined {\n return this._listDropdown?.dropdownElement;\n }\n\n public getOptions(): ISelectOption[] | ISelectOptionGroup[] {\n const optionGroupElements = Array.from(this._component.querySelectorAll(OPTION_GROUP_CONSTANTS.elementName)) as IOptionGroupComponent[];\n if (optionGroupElements.length) {\n return optionGroupElements.map(optionGroupElement => {\n const optionElements = Array.from(optionGroupElement.querySelectorAll(OPTION_CONSTANTS.elementName)) as IOptionComponent[];\n const options = this._createOptionsFromElements(optionElements);\n return {\n text: optionGroupElement.label,\n builder: optionGroupElement.builder,\n value: optionGroupElement.value,\n options\n } as ISelectOptionGroup;\n });\n } else {\n const optionElements = Array.from(this._component.querySelectorAll(OPTION_CONSTANTS.elementName)) as IOptionComponent[];\n return this._createOptionsFromElements(optionElements);\n }\n }\n\n private _createOptionsFromElements(optionElements: IOptionComponent[]): ISelectOption[] {\n return optionElements.map(o => {\n let optionClass = o.hasAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS) as string : o.optionClass;\n if (typeof optionClass === 'string') {\n optionClass = optionClass.split(' ');\n }\n\n return {\n // eslint-disable-next-line @typescript-eslint/no-extra-parens\n label: o.hasAttribute(OPTION_CONSTANTS.attributes.LABEL) ? o.getAttribute(OPTION_CONSTANTS.attributes.LABEL) as string : (isDefined(o.label) ? o.label : o.innerText),\n secondaryLabel: o.hasAttribute(OPTION_CONSTANTS.attributes.SECONDARY_LABEL) ? o.getAttribute(OPTION_CONSTANTS.attributes.SECONDARY_LABEL) as string : isDefined(o.secondaryLabel) ? o.secondaryLabel : undefined,\n value: o.hasAttribute(OPTION_CONSTANTS.attributes.VALUE) ? o.getAttribute(OPTION_CONSTANTS.attributes.VALUE) : o.value,\n disabled: o.hasAttribute(OPTION_CONSTANTS.attributes.DISABLED),\n divider: o.hasAttribute(OPTION_CONSTANTS.attributes.DIVIDER),\n optionClass,\n leadingIcon: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON) as string : o.leadingIcon,\n leadingIconClass: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS) as string : o.leadingIconClass,\n leadingIconType: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE) as ListDropdownIconType : o.leadingIconType,\n leadingIconComponentProps: o.leadingIconComponentProps,\n trailingIcon: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON) as string : o.trailingIcon,\n trailingIconClass: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS) as string : o.trailingIconClass,\n trailingIconType: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE) as ListDropdownIconType : o.trailingIconType,\n trailingIconComponentProps: o.trailingIconComponentProps,\n leadingBuilder: o.leadingBuilder,\n trailingBuilder: o.trailingBuilder\n };\n });\n }\n\n public open(config: IListDropdownConfig): void {\n this._listDropdown = new ListDropdown(this._targetElement, config);\n this._listDropdown.open();\n }\n\n public close(): void {\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setDismissListener(listener: () => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n const dropdownElement = this._listDropdown.dropdownElement as IPopupComponent;\n if (dropdownElement.targetElement) {\n dropdownElement.targetElement.addEventListener(POPUP_CONSTANTS.events.BLUR, listener);\n }\n }\n\n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n this._listDropdown?.toggleOptionMultiple(index, isSelected);\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public activateSelectedOption(): void {\n this._listDropdown?.activateSelectedOption();\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public highlightActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public patchSelectedValues(selectedValues: string[]): void {\n this._listDropdown?.setSelectedValues(selectedValues);\n }\n\n public setOptionsListener(listener: (options: ISelectOption[] | ISelectOptionGroup[]) => void): SelectOptionListenerDestructor {\n // Watch for option value property changes\n const optionValueChangeListener: EventListener = evt => {\n evt.stopPropagation();\n listener(this.getOptions());\n };\n this._component.addEventListener(OPTION_CONSTANTS.events.VALUE_CHANGE, optionValueChangeListener);\n\n // Watch for DOM changes\n const observer = new MutationObserver(() => listener(this.getOptions()));\n observer.observe(this._component, { childList: true, subtree: true });\n\n return () => {\n this._component.removeEventListener(OPTION_CONSTANTS.events.VALUE_CHANGE, optionValueChangeListener);\n observer.disconnect();\n };\n }\n\n public setOptions(options: ISelectOption[] | ISelectOptionGroup[], clear = true): void {\n if (clear) {\n this._clearOptions();\n }\n\n for (const opt of options) {\n if (isOptionGroupObject(opt)) {\n const optionGroupElement = this._createOptionGroupElement(opt);\n for (const option of opt.options) {\n const optionElement = this._createOptionElement(option);\n optionGroupElement.appendChild(optionElement);\n }\n this._component.appendChild(optionGroupElement);\n } else {\n const optionElement = this._createOptionElement(opt);\n this._component.appendChild(optionElement);\n }\n }\n }\n\n public appendDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._listDropdown?.appendOptions(options);\n }\n\n public setDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._listDropdown?.setOptions(options);\n }\n\n public scrollSelectedOptionIntoView(): void {\n this._listDropdown?.scrollSelectedOptionIntoView();\n }\n\n public isFocusWithinPopup(target: HTMLElement): boolean {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._listDropdown.dropdownElement.contains(target);\n }\n\n public queueDropdownPositionUpdate(): void {\n if (!this.popupElement) {\n return;\n }\n // We need to wait for the next animation frame to ensure that the layout has been updated\n window.requestAnimationFrame(() => {\n const dropdownEl = this.popupElement as IPopupComponent | undefined;\n dropdownEl?.position();\n });\n }\n\n private _clearOptions(): void {\n // First we remove all option group elements\n const existingOptionGroupElements = Array.from(this._component.querySelectorAll(OPTION_GROUP_CONSTANTS.elementName));\n existingOptionGroupElements.forEach((optGroup: IOptionGroupComponent) => removeElement(optGroup));\n\n // Then find all top-level option elements that aren't inside of a group, and ensure that those are removed as well\n const existingOptionElements = Array.from(this._component.querySelectorAll(OPTION_CONSTANTS.elementName));\n existingOptionElements.forEach((o: HTMLElement) => removeElement(o));\n }\n\n private _createOptionGroupElement(group: ISelectOptionGroup): HTMLElement {\n const optionGroupElement = document.createElement('forge-option-group');\n Object.assign(optionGroupElement, group);\n return optionGroupElement;\n }\n\n private _createOptionElement(option: ISelectOption): HTMLElement {\n const optionElement = document.createElement('forge-option');\n Object.assign(optionElement, option);\n optionElement.textContent = option.label;\n return optionElement;\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { IListDropdownOption, IListDropdownOptionGroup } from '../../list-dropdown/list-dropdown-constants';\n\nexport type SelectOptionBuilder = (option: ISelectOption, parentElement: HTMLElement) => HTMLElement;\nexport type SelectSelectedTextBuilder = (selectedOptions: IListDropdownOption[]) => string;\nexport type SelectOptionListenerDestructor = () => void;\nexport type SelectBeforeValueChangeCallback<T> = (value: T | T[]) => boolean | Promise<boolean>;\n\nexport interface ISelectOption extends IListDropdownOption {}\nexport interface ISelectOptionGroup extends IListDropdownOptionGroup {}\n\nconst observedAttributes = {\n VALUE: 'value',\n MULTIPLE: 'multiple',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n CONSTRAIN_POPUP_WIDTH: 'constrain-popup-width',\n WRAP_OPTION_TEXT: 'wrap-option-text'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst events = {\n CHANGE: 'change'\n};\n\nexport const BASE_SELECT_CONSTANTS = {\n attributes,\n events\n};\n", "import { isDefined, isObject } from '@tylertech/forge-core';\nimport { ISelectOption, ISelectOptionGroup } from './base-select-constants';\n\nexport enum SelectOptionType { Option, Group }\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 isSelectOptionType(options: ISelectOption[] | ISelectOptionGroup[], type: SelectOptionType): boolean {\n const isOptionGroups = options.some((o: ISelectOption | ISelectOptionGroup) => isOptionGroupObject(o));\n const isOptionTypes = options.some((o: ISelectOption | ISelectOptionGroup) => isOptionObject(o));\n return (isOptionGroups && type === SelectOptionType.Group) || (isOptionTypes && type === SelectOptionType.Option);\n}\n\nexport function isOptionGroupObject(o: ISelectOption | ISelectOptionGroup): o is ISelectOptionGroup {\n return isDefined(o) && isObject(o) && o.hasOwnProperty('options');\n}\n\nexport function isOptionObject(o: ISelectOption | ISelectOptionGroup): o is ISelectOption {\n return isDefined(o) && isObject(o) && o.hasOwnProperty('label') && o.hasOwnProperty('value');\n}\n", "import { isDefined, isDeepEqual, randomChars } from '@tylertech/forge-core';\nimport { OptionListenerDestructor } from '../select/select-adapter';\nimport { ISelectOption, ISelectOptionGroup, SelectSelectedTextBuilder, SelectOptionBuilder, BASE_SELECT_CONSTANTS, SelectBeforeValueChangeCallback } from './base-select-constants';\nimport { isSelectOptionType, SelectOptionType } from './select-utils';\nimport { IListDropdownConfig, ListDropdownHeaderBuilder, ListDropdownFooterBuilder } from '../../list-dropdown/list-dropdown-constants';\nimport { IBaseSelectAdapter } from './base-select-adapter';\nimport { IListDropdownAwareFoundation, ListDropdownAwareFoundation } from '../../list-dropdown/list-dropdown-aware-foundation';\n\nexport interface IBaseSelectFoundation extends IListDropdownAwareFoundation {\n value: any;\n selectedIndex: number | number[];\n options: ISelectOption[] | ISelectOptionGroup[];\n multiple: boolean;\n open: boolean;\n popupElement: HTMLElement | undefined;\n optionBuilder: SelectOptionBuilder;\n selectedTextBuilder: SelectSelectedTextBuilder;\n beforeValueChange: SelectBeforeValueChangeCallback<any>;\n appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n selectAll(): void;\n deselectAll(): void;\n initialize(): void;\n initializeTarget(): void;\n disconnect(): void;\n}\n\nexport abstract class BaseSelectFoundation<T extends IBaseSelectAdapter> extends ListDropdownAwareFoundation implements IBaseSelectFoundation {\n protected _options: ISelectOption[] | ISelectOptionGroup[] = [];\n protected _value: any = [];\n protected _multiple = false;\n protected _open = false;\n protected _optionBuilder: SelectOptionBuilder;\n protected _selectedTextBuilder: SelectSelectedTextBuilder;\n protected _selectedValues: string[] = [];\n protected _selectedLabels: string[] = [];\n protected _selectedIndexes: number[] = [];\n protected _filterTimeout: number | undefined;\n protected _filterString = '';\n protected _identifier: string;\n protected _targetWidthCallback: () => number;\n protected _beforeValueChange: SelectBeforeValueChangeCallback<unknown>;\n private _focusListener: (evt: Event) => void;\n private _blurListener: (evt: FocusEvent) => void;\n private _clickListener: (evt: MouseEvent) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _optionsChangedListener: (options: ISelectOption[] | ISelectOptionGroup[]) => void;\n private _optionListenerDestructor: OptionListenerDestructor;\n private _activeChangeListener: (id: string) => void;\n private _dropdownScrollEndListener: () => void;\n private _valueChanging: Promise<boolean> | undefined;\n private _dismissListener: () => void;\n\n constructor(protected _adapter: T) {\n super();\n this._focusListener = evt => this._onFocus(evt);\n this._blurListener = evt => this._onBlur(evt);\n this._clickListener = evt => this._onClick(evt);\n this._keydownListener = evt => this._onKeydown(evt);\n this._optionsChangedListener = options => this._onOptionsChanged(options);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n this._dropdownScrollEndListener = () => this._onDropdownScrollEnd();\n this._dismissListener = () => this._onDismiss();\n this._identifier = randomChars();\n }\n\n protected abstract _onDropdownScrollEnd(): void;\n protected _onFocus(evt: Event): void {}\n\n public initialize(): void {\n if (this._optionListenerDestructor) {\n this._optionListenerDestructor();\n }\n this._optionListenerDestructor = this._adapter.setOptionsListener(this._optionsChangedListener);\n this._initializeValue();\n }\n\n public initializeTarget(): void {\n this._adapter.initializeAccessibility();\n this._adapter.setMultiple(this._multiple);\n this._adapter.addClickListener(this._clickListener);\n this._adapter.addTargetListener('blur', this._blurListener);\n this._adapter.addTargetListener('focus', this._focusListener);\n this._adapter.addTargetListener('keydown', this._keydownListener);\n }\n\n public disconnect(): void {\n this._adapter.removeClickListener(this._clickListener);\n this._adapter.removeTargetListener('blur', this._blurListener);\n this._adapter.removeTargetListener('focus', this._focusListener);\n this._adapter.removeTargetListener('keydown', this._keydownListener);\n\n if (this._open) {\n this._closeDropdown();\n }\n\n if (this._optionListenerDestructor) {\n this._optionListenerDestructor();\n }\n }\n\n public appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._adapter.setOptions(options, false);\n if (this._open) {\n this._adapter.appendDropdownOptions(options);\n }\n }\n\n public selectAll(): void {\n if (this._multiple) {\n this.value = this._flatOptions.map(o => o.value);\n }\n }\n\n public deselectAll(): void {\n if (this._multiple) {\n this.value = [];\n }\n }\n\n protected get _flatOptions(): ISelectOption[] {\n if (isSelectOptionType(this._options, SelectOptionType.Group)) {\n return [].concat.apply([], (this._options as ISelectOptionGroup[]).map(g => g.options)) as ISelectOption[];\n }\n return this._options as ISelectOption[];\n }\n\n private get _nonDividerOptions(): ISelectOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n protected _initializeValue(): void {\n const options = (this._options.length && this._options) || this._adapter.getOptions();\n if (isDefined(this._value) && options.length) {\n this._applyValue(this._value);\n }\n }\n\n protected _onClick(evt: MouseEvent): void {\n if (evt.button !== 0) {\n return;\n }\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n\n protected _onBlur(evt: FocusEvent): void {\n // If the blur event was triggered by an element within the popup then ignore it\n if (this._adapter.isFocusWithinPopup(evt.relatedTarget as HTMLElement)) {\n return;\n }\n\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n\n protected _openDropdown(): void {\n this._options = this._adapter.getOptions();\n\n if (!this._flatOptions.length) {\n return;\n }\n\n this._open = true;\n const config: IListDropdownConfig = {\n options: this._options,\n multiple: this._multiple,\n selectedValues: [...this._selectedValues],\n id: this._identifier,\n optionBuilder: this._optionBuilder,\n syncWidth: this._syncPopupWidth,\n constrainViewportWidth: this._constrainPopupWidth,\n wrapOptionText: this._wrapOptionText,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n scrollEndListener: this._dropdownScrollEndListener,\n activeChangeCallback: this._activeChangeListener,\n targetWidthCallback: this._targetWidthCallback,\n popupClasses: this._popupClasses,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n closeCallback: () => this._closeDropdown(),\n selectCallback: (value: any) => {\n const flatOptions = this._flatOptions;\n const option = flatOptions.find(o => o.value === value);\n if (option) {\n const index = flatOptions.indexOf(option);\n this._onSelect(option, index, true);\n }\n }\n };\n this._adapter.open(config);\n this._adapter.setDismissListener(this._dismissListener);\n }\n\n /**\n * Closes the dropdown.\n */\n protected _closeDropdown(): void {\n this._open = false;\n this._adapter.close();\n }\n\n /**\n * Handles selecting an item in the dropdown.\n * @param {ISelectOption} option The selected option.\n * @param {number} optionIndex The index of the selected option.\n */\n protected async _onSelect(option: ISelectOption, optionIndex: number, closeDropdown = true): Promise<boolean> {\n return new Promise(async resolve => {\n if (this._valueChanging) {\n return Promise.resolve(false);\n }\n\n const value = option ? option.value : '';\n const label = option ? option.label : '';\n\n // Store the current selections in case we need to rollback (if the event was cancelled)\n const prevValues = [...this._value];\n const prevSelectedValues = [...this._selectedValues];\n const prevSelectedLabels = [...this._selectedLabels];\n const prevSelectedIndexes = [...this._selectedIndexes];\n\n if (this._multiple) {\n if (this._selectedValues.includes(value)) {\n const index = this._selectedValues.indexOf(value);\n this._selectedValues.splice(index, 1);\n this._selectedLabels.splice(index, 1);\n this._selectedIndexes.splice(index, 1);\n } else {\n this._selectedValues.push(value);\n this._selectedLabels.push(label);\n this._selectedIndexes.push(optionIndex);\n }\n } else {\n if (isDefined(value)) {\n this._selectedValues[0] = value;\n this._selectedLabels[0] = label;\n this._selectedIndexes[0] = optionIndex;\n } else {\n this._selectedValues = [];\n this._selectedLabels = [];\n this._selectedIndexes = [];\n }\n }\n\n this._value = [...this._selectedValues];\n\n const rollbackValue = (): void => {\n this._selectedValues = [...prevSelectedValues];\n this._selectedLabels = [...prevSelectedLabels];\n this._selectedIndexes = [...prevSelectedIndexes];\n this._value = [...prevValues];\n };\n\n const applyValue = (): void => {\n // If we're in multiselect mode, we need to toggle the selected option\n if (this._multiple) {\n const isSelected = this._selectedIndexes.includes(optionIndex);\n this._adapter.toggleOptionMultiple(optionIndex, isSelected);\n }\n\n this._applySelection();\n };\n\n const data = this.multiple ? [...this._selectedValues] : this._selectedValues[0];\n\n // We close the dropdown immediately if in single selection mode\n if (this._open && closeDropdown && !this._multiple) {\n this._closeDropdown();\n }\n\n // First we check to see if there is an before change callback and execute that\n if (typeof this._beforeValueChange === 'function') {\n this._valueChanging = Promise.resolve(this._beforeValueChange.call(null, data));\n const shouldContinue = await this._valueChanging;\n this._valueChanging = undefined;\n if (!shouldContinue) {\n rollbackValue();\n this._tryUpdateDropdownPosition();\n return resolve(false);\n }\n }\n\n // Now we can emit the change event AFTER the before change callback has been executed and returned true\n const cancelled = !this._adapter.emitHostEvent(BASE_SELECT_CONSTANTS.events.CHANGE, data, true, true);\n if (!cancelled) {\n applyValue();\n } else {\n rollbackValue();\n }\n\n this._tryUpdateDropdownPosition();\n resolve(!cancelled);\n });\n }\n\n private _selectActiveOption(): void {\n const activeOptionIndex = this._adapter.getActiveOptionIndex();\n if (activeOptionIndex >= 0 && this._nonDividerOptions[activeOptionIndex]) {\n this._onSelect(this._nonDividerOptions[activeOptionIndex], activeOptionIndex);\n }\n }\n\n protected _tryUpdateDropdownPosition(): void {\n if (this._open) {\n this._adapter.queueDropdownPositionUpdate();\n }\n }\n\n protected _reset(): void {\n this._selectedValues = [];\n this._selectedLabels = [];\n this._selectedIndexes = [];\n }\n\n protected _applyValue(value: string | string[]): void {\n this._selectedValues = [];\n this._selectedLabels = [];\n\n this._options = this._adapter.getOptions();\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n this._value = [];\n\n // Ensure that the values passed are actually existing options\n for (const val of value) {\n if (!this._value.includes(val)) {\n this._value.push(val);\n }\n const option = this._flatOptions.find(o => isDeepEqual(o.value, val));\n if (option) {\n this._selectedValues.push(option.value);\n this._selectedLabels.push(option.label);\n }\n }\n\n // Update the selected indexes based on the values that are now selected\n this._selectedIndexes = this._selectedValues.map(val => this._flatOptions.findIndex(o => o.value === val));\n\n // Update the selected options in the dropdown\n this._adapter.patchSelectedValues(this._selectedValues);\n }\n \n /**\n * Handles the user dismissing the dropdown.\n */\n protected _onDismiss(): void {\n this._closeDropdown();\n }\n\n /** Creates the selected text value from the selected label values. */\n protected _getSelectedText(): string {\n if (typeof this._selectedTextBuilder === 'function') {\n const selectedOptions = this._flatOptions.filter(o => this._selectedValues.includes(o.value));\n return this._selectedTextBuilder(selectedOptions);\n }\n\n if (this._multiple) {\n if (this._selectedLabels.length) {\n if (this._selectedLabels.length === 1) {\n return this._selectedLabels[0];\n } else {\n return `${this._selectedLabels.length} options selected`;\n }\n } else {\n return '';\n }\n }\n \n return this._selectedLabels\n .filter(v => v && v.length)\n .join(' ')\n .trim();\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n const isEscapeKey = evt.key === 'Escape' || evt.keyCode === 27;\n const isEnter = evt.key === 'Enter' || evt.keyCode === 13;\n const isSpace = evt.key === 'Space' || evt.keyCode === 32;\n const isArrowDown = evt.key === 'ArrowDown' || evt.keyCode === 40;\n const isArrowUp = evt.key === 'ArrowUp' || evt.keyCode === 38;\n const isFilterableCharacter = evt.keyCode >= 48 && evt.keyCode <= 90;\n const isHomeKey = evt.key === 'Home' || evt.keyCode === 36;\n const isEndKey = evt.key === 'End' || evt.keyCode === 35;\n const isTabKey = evt.key === 'Tab';\n\n // We automatically select the active option if the dropdown is open and in single selection mode\n if (isTabKey && this._open && !this._multiple) {\n this._selectActiveOption();\n return;\n }\n\n // If an active filter was started, clear it now\n if (!isFilterableCharacter && this._filterTimeout) {\n window.clearTimeout(this._filterTimeout);\n this._filterString = '';\n this._filterTimeout = undefined;\n }\n\n if (isEscapeKey) {\n evt.preventDefault();\n evt.stopPropagation();\n if (this._open) {\n this._closeDropdown();\n return;\n }\n }\n\n if (isSpace) {\n evt.preventDefault();\n\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n } else if (isEnter) {\n if (this._open) {\n evt.stopPropagation();\n evt.preventDefault();\n this._options = this._adapter.getOptions();\n this._selectActiveOption();\n }\n } else if (isArrowUp || isArrowDown) {\n evt.preventDefault();\n\n if (!this._open) {\n this._openDropdown();\n this._adapter.activateFirstOption();\n return;\n }\n\n if (this._flatOptions.length === 0) {\n return;\n }\n\n let optionIndex = 0;\n if (this._open) {\n optionIndex = this._adapter.getActiveOptionIndex();\n if (optionIndex === -1) {\n optionIndex = this._getFirstSelectedOptionIndex();\n }\n } else {\n optionIndex = this._getFirstSelectedOptionIndex();\n }\n\n if (isArrowUp) {\n optionIndex = this._getPreviousHighlightableOptionIndex(optionIndex, this._nonDividerOptions);\n } else {\n optionIndex = this._getNextHighlightableOptionIndex(optionIndex, this._nonDividerOptions);\n }\n\n this._adapter.highlightActiveOption(optionIndex);\n } else if (isHomeKey) {\n if (this._open) {\n evt.preventDefault();\n this._adapter.highlightActiveOption(this._nonDividerOptions.findIndex(o => !o.disabled));\n }\n } else if (isEndKey) {\n if (this._open) {\n evt.preventDefault();\n const options = this._nonDividerOptions;\n for (let i = options.length - 1; i >= 0; i--) {\n if (!options[i].disabled) {\n this._adapter.highlightActiveOption(i);\n break;\n }\n }\n }\n } else if (isFilterableCharacter) {\n this._filter(evt.key);\n }\n }\n\n private _getFirstSelectedOptionIndex(): number {\n return this._nonDividerOptions.findIndex(option => this._selectedValues.includes(option.value));\n }\n\n private _getPreviousHighlightableOptionIndex(startIndex: number, options: ISelectOption[]): number {\n let index = startIndex;\n if (index <= 0) {\n index = options.length - 1;\n } else {\n index--;\n }\n if (options[index].disabled) {\n return this._getPreviousHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _getNextHighlightableOptionIndex(startIndex: number, options: ISelectOption[]): number {\n let index = startIndex;\n if (index === options.length - 1) {\n index = 0;\n } else {\n index++;\n }\n if (options[index].disabled) {\n return this._getNextHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _filter(key: string): void {\n // This allows for typing numbers and/or characters while the select is focused to auto-select the closest match\n if (this._filterTimeout) {\n window.clearTimeout(this._filterTimeout);\n this._filterTimeout = undefined;\n }\n this._filterString += key;\n this._filterTimeout = window.setTimeout(() => {\n this._filterString = '';\n this._filterTimeout = undefined;\n }, 300);\n this._options = this._adapter.getOptions();\n // TODO: Enhance this to cycle through closest matches (see the native select)\n const matchedOption = this._flatOptions.find(({ disabled, label }) => {\n return !disabled && label.trim().toLowerCase().startsWith(this._filterString.trim().toLowerCase());\n });\n if (matchedOption) {\n const optionIndex = this._flatOptions.indexOf(matchedOption);\n if (this._open) {\n this._adapter.highlightActiveOption(optionIndex);\n } else if (!this._multiple) {\n this._onSelect(matchedOption, optionIndex, false);\n }\n }\n }\n\n private _onOptionsChanged(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._options = options;\n this._applyValue(this._value);\n }\n\n private _onActiveOptionChanged(id: string): void {\n this._adapter.updateActiveDescendant(id);\n }\n\n /** Gets/sets the value of the component. */\n public get value(): any {\n return this._multiple ? [...this._value] : this._value[0];\n }\n public set value(value: any) {\n let _value: string | string[];\n \n if (Array.isArray(value)) {\n _value = [ ...value ];\n } else {\n _value = value;\n }\n\n this._applyValue(_value);\n }\n\n /** Gets/sets the selected index(s). */\n public get selectedIndex(): number | number[] {\n return this._multiple ? [ ...this._selectedIndexes ] : this._selectedIndexes[0];\n }\n public set selectedIndex(indexes: number | number[]) {\n this._options = this._adapter.getOptions();\n\n let indicies: number [];\n if (Array.isArray(indexes)) {\n indicies = [ ...indexes ];\n } else {\n indicies = [indexes];\n }\n\n indicies.sort();\n\n if (this.multiple) {\n this.value = indicies\n .map(index => this._flatOptions[index])\n .filter(o => o)\n .map(o => o.value);\n } else {\n const option = this._flatOptions[indicies[indicies.length - 1]];\n if (!option) {\n return;\n }\n this.value = option.value;\n }\n }\n\n /** Gets/sets the available options. */\n public get options(): ISelectOption[] | ISelectOptionGroup[] {\n return this._adapter.getOptions();\n }\n public set options(value: ISelectOption[] | ISelectOptionGroup[]) {\n let _value: ISelectOption[] | ISelectOptionGroup[];\n if (isSelectOptionType(value, SelectOptionType.Group)) {\n _value = (value as ISelectOptionGroup[]).map(v => ({ ...v }));\n } else {\n _value = (value as ISelectOption[]).map(v => ({ ...v }));\n }\n\n this._options = _value;\n this._adapter.setOptions(_value); // Must set options before intializing value\n this._initializeValue();\n\n if (this._open) {\n this._adapter.setDropdownOptions(_value);\n }\n }\n\n /** Gets/sets the multiple select state. */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._reset();\n if (this._open) {\n this._closeDropdown();\n }\n this._adapter.setMultiple(this._multiple);\n }\n }\n\n /** Gets/sets the open state of the dropdown. */\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n /** Gets/sets the builder callback to use when building options. */\n public get optionBuilder(): SelectOptionBuilder {\n return this._optionBuilder;\n }\n public set optionBuilder(value: SelectOptionBuilder) {\n this._optionBuilder = value;\n }\n\n /** Sets the selected text builder callback that will be executed when getting the selected text to display in the field. */\n public get selectedTextBuilder(): SelectSelectedTextBuilder {\n return this._selectedTextBuilder;\n }\n public set selectedTextBuilder(fn: SelectSelectedTextBuilder) {\n this._selectedTextBuilder = fn;\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 popupClasses(): string | string[] {\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[]) {\n this._popupClasses = 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 /** Gets the currently active popup element when the dropdown is open. */\n public get popupElement(): HTMLElement | undefined {\n return this._adapter.popupElement;\n }\n\n /** Sets the callback to be executed when the user selects a value. */\n public get beforeValueChange(): SelectBeforeValueChangeCallback<any> {\n return this._beforeValueChange;\n }\n public set beforeValueChange(value: SelectBeforeValueChangeCallback<any>) {\n this._beforeValueChange = value;\n }\n}\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\n\nimport {\n SelectOptionBuilder,\n SelectSelectedTextBuilder,\n ISelectOption,\n ISelectOptionGroup,\n SelectBeforeValueChangeCallback,\n BASE_SELECT_CONSTANTS\n} from './base-select-constants';\nimport { IBaseSelectFoundation } from './base-select-foundation';\nimport { IListDropdownAware, ListDropdownAware } from '../../list-dropdown/list-dropdown-aware';\nimport { IPopupComponent } from '../../popup';\n\n\nexport interface IBaseSelectComponent extends IListDropdownAware {\n value: any;\n selectedIndex: number | number[];\n options: ISelectOption[] | ISelectOptionGroup[];\n multiple: boolean;\n open: boolean;\n optionBuilder: SelectOptionBuilder;\n selectedTextBuilder: SelectSelectedTextBuilder;\n popupElement: IPopupComponent | undefined;\n beforeValueChange: SelectBeforeValueChangeCallback<any>;\n appendOptions(options: ISelectOption[] | ISelectOption[]): void;\n selectAll(): void;\n deselectAll(): void;\n}\n\nexport abstract class BaseSelectComponent<T extends IBaseSelectFoundation> extends ListDropdownAware implements IBaseSelectComponent {\n protected _foundation: T;\n\n constructor() {\n super();\n }\n\n /** Gets/sets the value. */\n @FoundationProperty()\n public declare value: any;\n \n /** Gets/sets the selected index. */\n @FoundationProperty()\n public declare selectedIndex: number | number[];\n \n /** Gets/sets the available options. */\n @FoundationProperty()\n public declare options: ISelectOption[] | ISelectOptionGroup[];\n\n /** Gets/sets the multiple select state. */\n @FoundationProperty()\n public declare multiple: boolean;\n \n /** Gets the open state of the dropdown. */\n @FoundationProperty()\n public declare open: boolean;\n \n /** Sets the option builder callback that will be executed when building the option list in the dropdown. */\n @FoundationProperty()\n public declare optionBuilder: SelectOptionBuilder;\n \n /** Sets the selected text builder callback that will be executed when getting the selected text to display in the field. */\n @FoundationProperty()\n public declare selectedTextBuilder: SelectSelectedTextBuilder;\n\n /** Sets the callback to be executed when the user selects a value. */\n @FoundationProperty()\n public declare beforeValueChange: SelectBeforeValueChangeCallback<any>;\n\n /**\n * Gets the popup element (when the dropdown is open).\n * @readonly\n */\n @FoundationProperty({ set: false })\n public declare popupElement: IPopupComponent | undefined;\n \n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case BASE_SELECT_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case BASE_SELECT_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n }\n }\n\n public appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._foundation.appendOptions(options);\n }\n\n public selectAll(): void {\n this._foundation.selectAll();\n }\n \n public deselectAll(): void {\n this._foundation.deselectAll();\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n}\n", "import { isDefined, isFunction, removeElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IBaseSelectComponent } from './base-select';\nimport { ListDropdown, IListDropdown } from '../../list-dropdown';\nimport { IListDropdownConfig, ListDropdownIconType } from '../../list-dropdown/list-dropdown-constants';\nimport { IOptionComponent, OPTION_CONSTANTS } from '../option';\nimport { IOptionGroupComponent, OPTION_GROUP_CONSTANTS } from '../option-group';\nimport { ISelectOption, ISelectOptionGroup, SelectOptionListenerDestructor } from './base-select-constants';\nimport { isOptionGroupObject } from './select-utils';\nimport { IPopupComponent, POPUP_CONSTANTS } from '../../popup';\n\nexport interface IBaseSelectAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n addClickListener(listener: (evt: Event) => void): void;\n removeClickListener(listener: (evt: Event) => void): void;\n addTargetListener(type: string, listener: (evt: Event) => void): void;\n removeTargetListener(type: string, listener: (evt: Event) => void): void;\n getOptions(): ISelectOption[] | ISelectOptionGroup[];\n setOptions(options: ISelectOption[] | ISelectOptionGroup[], clear?: boolean): void;\n open(config: IListDropdownConfig): void;\n close(): void;\n setDismissListener(listener: () => void): void;\n scrollSelectedOptionIntoView(): void;\n activateSelectedOption(): void;\n activateFirstOption(): void;\n getActiveOptionIndex(): number;\n highlightActiveOption(index: number): void;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n patchSelectedValues(selectedValues: string[]): void;\n updateActiveDescendant(id: string): void;\n setOptionsListener(listener: (options: ISelectOption[] | ISelectOptionGroup[]) => void): SelectOptionListenerDestructor;\n setDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n appendDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n setMultiple(multiple: boolean): void;\n isFocusWithinPopup(target: HTMLElement): boolean;\n queueDropdownPositionUpdate(): void;\n popupElement: HTMLElement | undefined;\n}\n\nexport abstract class BaseSelectAdapter extends BaseAdapter<IBaseSelectComponent> implements IBaseSelectAdapter {\n private _listDropdown?: IListDropdown;\n protected _targetElement: HTMLElement;\n\n constructor(component: IBaseSelectComponent) {\n super(component);\n }\n\n public abstract initializeAccessibility(): void;\n public abstract updateActiveDescendant(id: string): void;\n public abstract addClickListener(listener: (evt: Event) => void): void;\n public abstract removeClickListener(listener: (evt: Event) => void): void;\n public abstract addTargetListener(type: string, listener: (evt: Event) => void): void;\n public abstract removeTargetListener(type: string, listener: (evt: Event) => void): void;\n public abstract setMultiple(multiple: boolean): void;\n\n public get popupElement(): HTMLElement | undefined {\n return this._listDropdown?.dropdownElement;\n }\n\n public getOptions(): ISelectOption[] | ISelectOptionGroup[] {\n const optionGroupElements = Array.from(this._component.querySelectorAll(OPTION_GROUP_CONSTANTS.elementName)) as IOptionGroupComponent[];\n if (optionGroupElements.length) {\n return optionGroupElements.map(optionGroupElement => {\n const optionElements = Array.from(optionGroupElement.querySelectorAll(OPTION_CONSTANTS.elementName)) as IOptionComponent[];\n const options = this._createOptionsFromElements(optionElements);\n return {\n text: optionGroupElement.label,\n builder: optionGroupElement.builder,\n value: optionGroupElement.value,\n options\n } as ISelectOptionGroup;\n });\n } else {\n const optionElements = Array.from(this._component.querySelectorAll(OPTION_CONSTANTS.elementName)) as IOptionComponent[];\n return this._createOptionsFromElements(optionElements);\n }\n }\n\n private _createOptionsFromElements(optionElements: IOptionComponent[]): ISelectOption[] {\n return optionElements.map(o => {\n let optionClass = o.hasAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS) as string : o.optionClass;\n if (typeof optionClass === 'string') {\n optionClass = optionClass.split(' ');\n }\n\n return {\n // eslint-disable-next-line @typescript-eslint/no-extra-parens\n label: o.hasAttribute(OPTION_CONSTANTS.attributes.LABEL) ? o.getAttribute(OPTION_CONSTANTS.attributes.LABEL) as string : (isDefined(o.label) ? o.label : o.innerText),\n secondaryLabel: o.hasAttribute(OPTION_CONSTANTS.attributes.SECONDARY_LABEL) ? o.getAttribute(OPTION_CONSTANTS.attributes.SECONDARY_LABEL) as string : isDefined(o.secondaryLabel) ? o.secondaryLabel : undefined,\n value: o.hasAttribute(OPTION_CONSTANTS.attributes.VALUE) ? o.getAttribute(OPTION_CONSTANTS.attributes.VALUE) : o.value,\n disabled: o.hasAttribute(OPTION_CONSTANTS.attributes.DISABLED),\n divider: o.hasAttribute(OPTION_CONSTANTS.attributes.DIVIDER),\n optionClass,\n leadingIcon: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON) as string : o.leadingIcon,\n leadingIconClass: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS) as string : o.leadingIconClass,\n leadingIconType: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE) as ListDropdownIconType : o.leadingIconType,\n leadingIconComponentProps: o.leadingIconComponentProps,\n trailingIcon: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON) as string : o.trailingIcon,\n trailingIconClass: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS) as string : o.trailingIconClass,\n trailingIconType: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE) as ListDropdownIconType : o.trailingIconType,\n trailingIconComponentProps: o.trailingIconComponentProps,\n leadingBuilder: o.leadingBuilder,\n trailingBuilder: o.trailingBuilder\n };\n });\n }\n\n public open(config: IListDropdownConfig): void {\n this._listDropdown = new ListDropdown(this._targetElement, config);\n this._listDropdown.open();\n }\n\n public close(): void {\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setDismissListener(listener: () => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n const dropdownElement = this._listDropdown.dropdownElement as IPopupComponent;\n if (dropdownElement.targetElement) {\n dropdownElement.targetElement.addEventListener(POPUP_CONSTANTS.events.BLUR, listener);\n }\n }\n\n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n this._listDropdown?.toggleOptionMultiple(index, isSelected);\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public activateSelectedOption(): void {\n this._listDropdown?.activateSelectedOption();\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public highlightActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public patchSelectedValues(selectedValues: string[]): void {\n this._listDropdown?.setSelectedValues(selectedValues);\n }\n\n public setOptionsListener(listener: (options: ISelectOption[] | ISelectOptionGroup[]) => void): SelectOptionListenerDestructor {\n // Watch for option value property changes\n const optionValueChangeListener: EventListener = evt => {\n evt.stopPropagation();\n listener(this.getOptions());\n };\n this._component.addEventListener(OPTION_CONSTANTS.events.VALUE_CHANGE, optionValueChangeListener);\n\n // Watch for DOM changes\n const observer = new MutationObserver(() => listener(this.getOptions()));\n observer.observe(this._component, { childList: true, subtree: true });\n\n return () => {\n this._component.removeEventListener(OPTION_CONSTANTS.events.VALUE_CHANGE, optionValueChangeListener);\n observer.disconnect();\n };\n }\n\n public setOptions(options: ISelectOption[] | ISelectOptionGroup[], clear = true): void {\n if (clear) {\n this._clearOptions();\n }\n\n for (const opt of options) {\n if (isOptionGroupObject(opt)) {\n const optionGroupElement = this._createOptionGroupElement(opt);\n for (const option of opt.options) {\n const optionElement = this._createOptionElement(option);\n optionGroupElement.appendChild(optionElement);\n }\n this._component.appendChild(optionGroupElement);\n } else {\n const optionElement = this._createOptionElement(opt);\n this._component.appendChild(optionElement);\n }\n }\n }\n\n public appendDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._listDropdown?.appendOptions(options);\n }\n\n public setDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._listDropdown?.setOptions(options);\n }\n\n public scrollSelectedOptionIntoView(): void {\n this._listDropdown?.scrollSelectedOptionIntoView();\n }\n\n public isFocusWithinPopup(target: HTMLElement): boolean {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._listDropdown.dropdownElement.contains(target);\n }\n\n public queueDropdownPositionUpdate(): void {\n if (!this.popupElement) {\n return;\n }\n // We need to wait for the next animation frame to ensure that the layout has been updated\n window.requestAnimationFrame(() => {\n const dropdownEl = this.popupElement as IPopupComponent | undefined;\n dropdownEl?.position();\n });\n }\n\n private _clearOptions(): void {\n // First we remove all option group elements\n const existingOptionGroupElements = Array.from(this._component.querySelectorAll(OPTION_GROUP_CONSTANTS.elementName));\n existingOptionGroupElements.forEach((optGroup: IOptionGroupComponent) => removeElement(optGroup));\n\n // Then find all top-level option elements that aren't inside of a group, and ensure that those are removed as well\n const existingOptionElements = Array.from(this._component.querySelectorAll(OPTION_CONSTANTS.elementName));\n existingOptionElements.forEach((o: HTMLElement) => removeElement(o));\n }\n\n private _createOptionGroupElement(group: ISelectOptionGroup): HTMLElement {\n const optionGroupElement = document.createElement('forge-option-group');\n Object.assign(optionGroupElement, group);\n return optionGroupElement;\n }\n\n private _createOptionElement(option: ISelectOption): HTMLElement {\n const optionElement = document.createElement('forge-option');\n Object.assign(optionElement, option);\n optionElement.textContent = option.label;\n return optionElement;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["observedAttributes", "attributes", "__spreadValues", "events", "BASE_SELECT_CONSTANTS", "SelectOptionType", "isSelectOptionType", "options", "type", "isOptionGroups", "o", "isOptionGroupObject", "isOptionTypes", "isOptionObject", "isDefined", "isObject", "BaseSelectFoundation", "ListDropdownAwareFoundation", "_adapter", "evt", "options", "id", "randomChars", "o", "isSelectOptionType", "g", "isDefined", "config", "value", "flatOptions", "option", "index", "optionIndex", "closeDropdown", "resolve", "label", "prevValues", "prevSelectedValues", "prevSelectedLabels", "prevSelectedIndexes", "rollbackValue", "applyValue", "isSelected", "data", "shouldContinue", "cancelled", "BASE_SELECT_CONSTANTS", "activeOptionIndex", "val", "isDeepEqual", "selectedOptions", "v", "isEscapeKey", "isEnter", "isSpace", "isArrowDown", "isArrowUp", "isFilterableCharacter", "isHomeKey", "isEndKey", "i", "startIndex", "key", "matchedOption", "disabled", "_value", "indexes", "indicies", "__spreadValues", "fn", "BaseSelectComponent", "ListDropdownAware", "name", "oldValue", "newValue", "BASE_SELECT_CONSTANTS", "coerceBoolean", "options", "__decorateClass", "FoundationProperty", "BaseSelectAdapter", "BaseAdapter", "component", "_a", "optionGroupElements", "OPTION_GROUP_CONSTANTS", "optionGroupElement", "optionElements", "OPTION_CONSTANTS", "options", "o", "optionClass", "isDefined", "config", "ListDropdown", "listener", "dropdownElement", "POPUP_CONSTANTS", "index", "isSelected", "_b", "selectedValues", "optionValueChangeListener", "evt", "observer", "clear", "opt", "isOptionGroupObject", "option", "optionElement", "target", "dropdownEl", "optGroup", "removeElement", "group"]
|
|
7
7
|
}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{b as v,c as z}from"./chunk.4CWMNWZU.js";import{f as I}from"./chunk.MZLPUI6R.js";import{a as S,d as F,l as B}from"./chunk.IWICN773.js";import{a as D}from"./chunk.5KC43VFL.js";import{a as p}from"./chunk.KTGSZEAG.js";import{a as L,b as h}from"./chunk.QOA2O575.js";import{e as w,g as f,l as C}from"./chunk.HOXFK44F.js";import{f as k,g as m,i as l,n as x,s as b,t as s,y as T}from"./chunk.4LA6HEA7.js";import{k as d}from"./chunk.J2M2MXP2.js";import{a as y,b as E,f as c}from"./chunk.MCIQXNKY.js";var R=`${h}chip-set`,O={VERTICAL:"vertical",TYPE:"type",DENSE:"dense",DISABLED:"disabled"},A={ROOT:"forge-chip-set",VERTICAL:"forge-chip-set--vertical"},H={ROOT:`.${A.ROOT}`},N={elementName:R,attributes:O,classes:A,selectors:H};var n=`${h}chip`,M={TYPE:"type",SELECTED:"selected",VALUE:"value",DISABLED:"disabled",INVALID:"invalid",DENSE:"dense",EMULATE_FOCUS:"emulate-focus"},U={ACTION:"forge-chip--action",CHOICE:"forge-chip--choice",FILTER:"forge-chip--filter",INPUT:"forge-chip--input",FIELD:"forge-chip--field",INVALID:"forge-chip--invalid",SELECTED:"forge-chip--selected",DELETE_BUTTON:"forge-chip__delete-button",DELETE_BUTTON_TOUCH_TARGET:"forge-chip__delete-button__touch-target",DENSE:"forge-chip--dense",DISABLED:"forge-chip--disabled",LEADING_HIDDEN:"forge-chip__leading--hidden"},P={ROOT:".forge-chip",BUTTON:"[role=button]"},V={DELETE:`${n}-delete`,SELECT:`${n}-select`,FOCUS_NEXT:`${n}-focus-next`,FOCUS_PREVIOUS:`${n}-focus-previous`},K={TYPE:"action"},t={elementName:n,attributes:M,classes:U,selectors:P,events:V,defaults:K};var $='<div class="forge-chip__checkmark" aria-hidden="true"><svg class="forge-chip__checkmark-svg" viewBox="-2 -3 30 30"><path class="forge-chip__checkmark-path" fill="none" stroke="black" d="M1.73,12.91 8.1,19.28 22.79,4.59"/></svg></div>',g=class extends D{constructor(e){super(e);this._rootElement=f(this._component,t.selectors.ROOT),this._buttonElement=f(this._component,t.selectors.BUTTON),this._leadingSlotElement=f(this._component,"slot[name=leading]"),this._rootElement.addEventListener("click",r=>{r.target!==this._deleteButton&&this._buttonElement.focus()},{capture:!0})}get root(){return this._rootElement}get unbounded(){return!1}get disabled(){var e;return(e=this._buttonElement)==null?void 0:e.disabled}addRootListener(e,r){this._rootElement.addEventListener(e,r)}removeRootListener(e,r){this._rootElement.removeEventListener(e,r)}addButtonListener(e,r){this._buttonElement.addEventListener(e,r)}removeButtonListener(e,r){this._buttonElement.removeEventListener(e,r)}initializeRipple(){let e=E(y({},v.createAdapter(this)),{registerInteractionHandler:(r,o)=>{["focus","blur","keydown"].includes(r)?this._buttonElement.addEventListener(r,o,{passive:!0}):this._rootElement.addEventListener(r,o,{passive:!0})},deregisterInteractionHandler:(r,o)=>{["focus","blur","keydown"].includes(r)?this._buttonElement.removeEventListener(r,o,{passive:!0}):this._rootElement.removeEventListener(r,o,{passive:!0})},isSurfaceActive:()=>this._buttonElement.matches(":active"),isUnbounded:()=>Boolean(this.unbounded),isSurfaceDisabled:()=>this._buttonElement.disabled,addClass:r=>k(r,this._rootElement),removeClass:r=>m(r,this._rootElement),updateCssVariable:(r,o)=>this._rootElement.style.setProperty(r,o)});return this._rippleInstance=new v(this._rootElement,new z(e)),this._rippleInstance}clearTypeClass(){m([t.classes.ACTION,t.classes.CHOICE,t.classes.FILTER,t.classes.INPUT],this._buttonElement)}addRootClass(e){this._rootElement.classList.add(e)}removeRootClass(e){this._rootElement.classList.remove(e)}setCheckmarkVisibility(e){e?(this._checkmarkElement||(this._checkmarkElement=T($)),this._rootElement.insertBefore(this._checkmarkElement,this._rootElement.firstChild)):this._checkmarkElement&&this._checkmarkElement.isConnected&&l(this._checkmarkElement)}setSelected(e){s(this._rootElement,e,t.classes.SELECTED)}setDisabled(e){this._buttonElement.disabled=e,this._buttonElement.tabIndex=e?-1:0,s(this._rootElement,e,t.classes.DISABLED)}setDense(e){s(this._rootElement,e,t.classes.DENSE)}setDeleteButtonVisibility(e,r){e?(this._deleteButton||(this._deleteButton=this._createDeleteButton(r)),this._deleteButtonTouchTarget||(this._deleteButtonTouchTarget=this._createDeleteButtonTouchTarget(r)),this._deleteButton.appendChild(this._deleteButtonTouchTarget),this._rootElement.appendChild(this._deleteButton)):(this._deleteButtonTouchTarget&&l(this._deleteButtonTouchTarget),this._deleteButton&&l(this._deleteButton))}setLeadingSlotVisibility(e){s(this._leadingSlotElement,!e,t.classes.LEADING_HIDDEN)}getChipSetState(){let e=null,r=x(this._component,o=>o&&o.nodeName===N.elementName.toUpperCase());return r&&(e={type:r.type,disabled:r.disabled,dense:r.dense}),e}_createDeleteButton(e){let r=document.createElement(S.elementName);return r.id="remove-button",r.name="cancel",r.tabIndex=-1,r.setAttribute("aria-hidden","false"),r.setAttribute("aria-label",`Remove ${this._component.innerText}`),r.setAttribute("role","button"),r.classList.add(t.classes.DELETE_BUTTON),r.addEventListener("keydown",e),r}_createDeleteButtonTouchTarget(e){let r=document.createElement("div");return r.classList.add(t.classes.DELETE_BUTTON_TOUCH_TARGET),r.addEventListener("keydown",e),r.addEventListener("click",e),r}setFocus(){this._buttonElement.focus()}tryFocusDelete(){this._deleteButton?this._deleteButton.focus():this.setFocus()}setEmulatedFocus(e){this._buttonElement.classList.toggle("mdc-ripple-upgraded--background-focused",e)}tryMoveFocusNext(){let e=b(this._component.ownerDocument);e===this._buttonElement?this._deleteButton?this._deleteButton.focus():this.emitHostEvent(t.events.FOCUS_NEXT):e===this._deleteButton&&this.emitHostEvent(t.events.FOCUS_NEXT)}tryMoveFocusPrevious(){let e=b(this._component.ownerDocument);e===this._deleteButton?this._buttonElement.focus():e===this._buttonElement&&this.emitHostEvent(t.events.FOCUS_PREVIOUS)}};var u=class{constructor(i){this._adapter=i;this._type=t.defaults.TYPE;this._selected=!1;this._disabled=!1;this._invalid=!1;this._value=null;this._dense=!1;this._emulateFocus=!1;this._isInitialized=!1;this._clickListener=e=>this._onClick(e),this._keydownListener=e=>this._onKeydown(e),this._deleteKeydownListener=e=>this._onDeleteKeydown(e),this._buttonFocusListener=e=>this._onButtonFocus(e),this._buttonBlurListener=e=>this._onButtonBlur(e)}initialize(){this._rippleInstance=this._adapter.initializeRipple(),this._adapter.addRootListener("click",this._clickListener),this._adapter.addRootListener("keydown",this._keydownListener),this._adapter.addButtonListener("focus",this._buttonFocusListener),this._adapter.addButtonListener("blur",this._buttonBlurListener),this._applyState(),this._isInitialized=!0}disconnect(){this._destroyRipple(),this._adapter.removeRootListener("click",this._clickListener),this._adapter.removeRootListener("keydown",this._keydownListener),this._adapter.removeButtonListener("focus",this._buttonFocusListener),this._adapter.removeButtonListener("blur",this._buttonBlurListener),this._isInitialized=!1}_destroyRipple(){this._rippleInstance&&(this._rippleInstance.destroy(),this._rippleInstance=void 0)}_applyState(){let i=this._adapter.getChipSetState();i&&(this._type=i.type,this._disabled=i.disabled,this._dense=i.dense),this._type==="action"&&(this._selected=!1),this._applyDisabled(),this._applyType(),this._applySelected(),this._applyDense(),this._applyEmulateFocus()}_onClick(i){let e=i.target;e.classList.contains(t.classes.DELETE_BUTTON)||e.classList.contains(t.classes.DELETE_BUTTON_TOUCH_TARGET)?this._handleDeleteInteraction(i):this._handleSelectInteraction()}_onKeydown(i){var e;switch(i.key){case"Delete":case"Backspace":this._type==="input"&&(i.preventDefault(),this._emitDeleteEvent());break;case"Enter":case" ":i.preventDefault(),(e=this._rippleInstance)==null||e.animate(),this._handleSelectInteraction();break;case"ArrowLeft":i.preventDefault(),this._adapter.tryMoveFocusPrevious();break;case"ArrowRight":i.preventDefault(),this._adapter.tryMoveFocusNext();break}}_onDeleteKeydown(i){i.key==="Enter"&&this._handleDeleteInteraction(i)}_onButtonFocus(i){this._adapter.setHostAttribute("focused")}_onButtonBlur(i){this._adapter.removeHostAttribute("focused")}_handleDeleteInteraction(i){let e=i.target;(e.classList.contains(t.classes.DELETE_BUTTON)||e.classList.contains(t.classes.DELETE_BUTTON_TOUCH_TARGET))&&(i.stopPropagation(),this._emitDeleteEvent())}_handleSelectInteraction(){let i=this._emitSelectEvent(),e=["filter","choice","input"].includes(this._type);!i&&e&&(this._selected=!this._selected,this._applySelected())}_emitSelectEvent(){let i={selected:!this._selected,value:this._value};return!this._adapter.emitHostEvent(t.events.SELECT,i,!0,!0)}_emitDeleteEvent(){let i={value:this._value};this._adapter.emitHostEvent(t.events.DELETE,i,!0,!0)}_applyType(){switch(this._adapter.clearTypeClass(),this._type){case"action":this._adapter.addRootClass(t.classes.ACTION);break;case"choice":this._adapter.addRootClass(t.classes.CHOICE);break;case"filter":this._adapter.addRootClass(t.classes.FILTER);break;case"input":this._adapter.addRootClass(t.classes.INPUT);break;case"field":this._adapter.addRootClass(t.classes.FIELD);break}this._adapter.setCheckmarkVisibility(this._type==="filter");let i=this._type==="input"||this._type==="field";this._adapter.setDeleteButtonVisibility(i,this._deleteKeydownListener),this._adapter.setLeadingSlotVisibility(!this._selected),this._adapter.setHostAttribute(t.attributes.TYPE,this._type)}_applySelected(){this._adapter.setSelected(this._selected),this._type==="filter"&&this._adapter.setLeadingSlotVisibility(!this._selected),this._adapter.toggleHostAttribute(t.attributes.SELECTED,this._selected)}_applyDisabled(){this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(t.attributes.DISABLED,this._disabled)}_applyDense(){this._adapter.setDense(this._dense),this._adapter.toggleHostAttribute(t.attributes.DISABLED,this._disabled)}_applyEmulateFocus(){this._adapter.toggleHostAttribute(t.attributes.EMULATE_FOCUS,this._emulateFocus),this._adapter.setEmulatedFocus(this._emulateFocus)}get type(){return this._type}set type(i){this._type!==i&&(this._type=i,this._isInitialized&&(["action","choice","filter","input","field"].includes(this._type)||(this._type="action"),this._type==="action"&&(this._selected=!1,this._applySelected()),this._applyType()))}get selected(){return this._selected}set selected(i){this._selected!==i&&(this._selected=i,this._isInitialized&&(this._type==="action"&&(this._selected=!1),this._applySelected()))}get disabled(){return this._disabled}set disabled(i){this._disabled!==i&&(this._disabled=i,this._isInitialized&&this._applyDisabled())}get invalid(){return this._invalid}set invalid(i){this._invalid!==i&&(this._invalid=i,i?(this._adapter.setHostAttribute(t.attributes.INVALID,""),this._adapter.addRootClass(t.classes.INVALID)):(this._adapter.removeHostAttribute(t.attributes.INVALID),this._adapter.removeRootClass(t.classes.INVALID)))}get value(){return this._value}set value(i){this._value=i}get dense(){return this._dense}set dense(i){this._dense!==i&&(this._dense=i,this._isInitialized&&this._applyDense())}get emulateFocus(){return this._emulateFocus}set emulateFocus(i){this._emulateFocus!==i&&(this._emulateFocus=i,this._isInitialized&&this._applyEmulateFocus())}setFocus(){this._adapter.setFocus()}tryFocusDelete(){if(this._type==="input"){this._adapter.tryFocusDelete();return}this.setFocus()}};var Y='<template><div class="forge-chip" part="root button"><slot name="leading" class="forge-chip__leading"></slot><div role="button" tabindex="0" class="forge-chip__content" part="content"><slot></slot></div><slot name="trailing"></slot></div></template>',G='@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-chip{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:0 0;border-radius:4px;border-radius:var(--mdc-shape-small,4px);height:36px;text-transform:none;box-sizing:border-box;overflow:hidden;border-style:solid;-webkit-transition:border 280ms cubic-bezier(.4, 0, .2, 1);transition:border 280ms cubic-bezier(.4, 0, .2, 1);font-family:Roboto,sans-serif;font-family:var(--mdc-outlined-button-label-text-font, var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)));font-size:.875rem;font-size:var(--mdc-outlined-button-label-text-size, var(--mdc-typography-button-font-size, .875rem));letter-spacing:.0892857143em;letter-spacing:var(--mdc-outlined-button-label-text-tracking, var(--mdc-typography-button-letter-spacing, .0892857143em));font-weight:500;font-weight:var(--mdc-outlined-button-label-text-weight,var(--mdc-typography-button-font-weight,500));text-transform:uppercase;text-transform:var(--mdc-outlined-button-label-text-transform,var(--mdc-typography-button-text-transform,uppercase));height:36px;height:var(--mdc-outlined-button-container-height,36px);border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px));padding:0 15px 0 15px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px);padding:0 15px 0 15px;border-width:1px;border-radius:16px;width:auto;width:var(--forge-chip-width,auto);height:auto;height:var(--forge-chip-height,auto);min-height:36px;min-height:var(--forge-chip-min-height,36px);box-sizing:border-box;-webkit-transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1)}.forge-chip::after,.forge-chip::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-chip::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-chip::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-chip.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-chip.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-chip.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-chip.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-chip.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-chip::after,.forge-chip::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-chip.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-chip::after,.forge-chip::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-chip.mdc-ripple-surface--hover::before,.forge-chip:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-chip.mdc-ripple-upgraded--background-focused::before,.forge-chip:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-chip:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-chip.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-chip .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-chip::-moz-focus-inner{padding:0;border:0}.forge-chip:active{outline:0}.forge-chip:hover{cursor:pointer}.forge-chip:disabled{cursor:default;pointer-events:none}.forge-chip .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-chip:not(:disabled){background-color:transparent}.forge-chip:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-chip .mdc-button__ripple{border-style:solid;border-color:transparent}.forge-chip:not(:disabled){color:#3f51b5;color:var(--mdc-outlined-button-label-text-color,var(--mdc-theme-primary,#3f51b5))}.forge-chip:disabled{color:rgba(0,0,0,.38);color:var(--mdc-outlined-button-disabled-label-text-color,rgba(0,0,0,.38))}.forge-chip .mdc-button__icon{font-size:1.125rem;font-size:var(--mdc-outlined-button-with-icon-icon-size, 1.125rem);width:1.125rem;width:var(--mdc-outlined-button-with-icon-icon-size,1.125rem);height:1.125rem;height:var(--mdc-outlined-button-with-icon-icon-size,1.125rem)}.forge-chip .mdc-button__ripple::after,.forge-chip .mdc-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-outlined-button-hover-state-layer-color,var(--mdc-theme-primary,#3f51b5))}.forge-chip.mdc-ripple-surface--hover .mdc-button__ripple::before,.forge-chip:hover .mdc-button__ripple::before{opacity:.04;opacity:var(--mdc-outlined-button-hover-state-layer-opacity, .04)}.forge-chip.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.forge-chip:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-focus-state-layer-opacity, .12)}.forge-chip:not(.mdc-ripple-upgraded) .mdc-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, .12)}.forge-chip.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, 0.12)}.forge-chip .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px))}.forge-chip:not(:disabled){border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-outline-color,rgba(0,0,0,.12))}.forge-chip:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-disabled-outline-color,rgba(0,0,0,.12))}.forge-chip.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-chip.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-chip .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px)}.forge-chip .mdc-button__touch{left:calc(-1 * 1px);left:calc(-1 * var(--mdc-outlined-button-outline-width,1px));width:calc(100% + 2 * 1px);width:calc(100% + 2 * var(--mdc-outlined-button-outline-width,1px))}.forge-chip.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-chip.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-chip .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px}.forge-chip .mdc-button__touch{left:calc(-1 * 1px);width:calc(100% + 2 * 1px)}.forge-chip:not(:disabled){border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-chip .mdc-evolution-chip__ripple{border-radius:16px}.forge-chip .mdc-evolution-chip__action--primary:before{border-radius:16px}.forge-chip .mdc-evolution-chip__icon--primary{border-radius:16px}.forge-chip.forge-chip--disabled{border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:default;pointer-events:none}.forge-chip.forge-chip--disabled .forge-chip__delete-button{opacity:.54}.forge-chip__leading--hidden{display:none}.forge-chip__content{-webkit-box-flex:1;flex-grow:1;text-align:center}.forge-chip__content:focus{outline:0}.forge-chip ::slotted([slot=leading]){margin-left:-6px;margin-right:4px}.forge-chip ::slotted(forge-avatar[slot]){--forge-avatar-size:24px}.forge-chip ::slotted([slot=trailing]){margin-left:4px;margin-right:-8px}.forge-chip__checkmark{height:24px}.forge-chip__checkmark-svg{width:0;height:24px;-webkit-transition:width 150ms cubic-bezier(.4, 0, .2, 1);transition:width 150ms cubic-bezier(.4, 0, .2, 1)}.forge-chip__checkmark-path{stroke:#ffffff;stroke:var(--mdc-theme-on-primary,#ffffff);-webkit-transition:stroke-dashoffset 150ms 0 cubic-bezier(.4, 0, .6, 1);transition:stroke-dashoffset 150ms 0 cubic-bezier(.4, 0, .6, 1);stroke-width:2px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.forge-chip__delete-button{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:4px;margin-right:-8px;-webkit-transition:color 150ms linear;transition:color 150ms linear;outline:0;line-height:inherit;position:relative;border-radius:50%}.forge-chip__delete-button:focus{outline:currentColor solid 2px}.forge-chip__delete-button:focus,.forge-chip__delete-button:hover{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-chip__delete-button:active{opacity:.75}.forge-chip__delete-button__touch-target{position:absolute;top:-6px;left:-6px;width:calc(100% + 12px);height:calc(100% + 12px)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled),.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled),.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:rgba(255,255,255,.87);color:var(--mdc-theme-text-primary-on-dark,rgba(255,255,255,.87))}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled)::after,.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled)::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled)::after,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled)::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled)::after,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled)::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):hover::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):hover::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled,.forge-chip--filter.forge-chip--selected.forge-chip--disabled,.forge-chip--input.forge-chip--selected.forge-chip--disabled{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:rgba(255,255,255,.87);color:var(--mdc-theme-text-primary-on-dark,rgba(255,255,255,.87));opacity:.37}.forge-chip--choice.forge-chip--selected.forge-chip--disabled::after,.forge-chip--choice.forge-chip--selected.forge-chip--disabled::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled::after,.forge-chip--filter.forge-chip--selected.forge-chip--disabled::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled::after,.forge-chip--input.forge-chip--selected.forge-chip--disabled::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-chip--choice.forge-chip--selected.forge-chip--disabled.mdc-ripple-surface--hover::before,.forge-chip--choice.forge-chip--selected.forge-chip--disabled:hover::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled.mdc-ripple-surface--hover::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:hover::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled.mdc-ripple-surface--hover::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled:hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded--background-focused::before,.forge-chip--choice.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):focus::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded--background-focused::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):focus::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded--background-focused::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded)::after,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded)::after,.forge-chip--input.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip--choice.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):active::after,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):active::after,.forge-chip--input.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded,.forge-chip--filter.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded,.forge-chip--input.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-chip--choice.forge-chip--selected ::slotted([slot=leading]),.forge-chip--filter.forge-chip--selected ::slotted([slot=leading]),.forge-chip--input.forge-chip--selected ::slotted([slot=leading]){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-chip--choice.forge-chip--selected ::slotted([slot=trailing]),.forge-chip--filter.forge-chip--selected ::slotted([slot=trailing]),.forge-chip--input.forge-chip--selected ::slotted([slot=trailing]){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-chip--choice.forge-chip--selected .forge-chip__delete-button,.forge-chip--filter.forge-chip--selected .forge-chip__delete-button,.forge-chip--input.forge-chip--selected .forge-chip__delete-button{color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-chip--choice.forge-chip--selected.forge-chip--filter .forge-chip__checkmark,.forge-chip--filter.forge-chip--selected.forge-chip--filter .forge-chip__checkmark,.forge-chip--input.forge-chip--selected.forge-chip--filter .forge-chip__checkmark{margin-left:-6px;margin-right:4px}.forge-chip--choice.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-svg,.forge-chip--filter.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-svg,.forge-chip--input.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-svg{width:24px}.forge-chip--choice.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-path,.forge-chip--filter.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-path,.forge-chip--input.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-path{-webkit-transition:stroke-dashoffset 150ms 50ms cubic-bezier(.4, 0, .6, 1);transition:stroke-dashoffset 150ms 50ms cubic-bezier(.4, 0, .6, 1);stroke-dashoffset:0}.forge-chip--field .forge-chip__delete-button{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-chip--field .forge-chip__delete-button:focus,.forge-chip--field .forge-chip__delete-button:hover{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-chip--field.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-chip--field.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button:focus,.forge-chip--field.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button:hover{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-chip--field.forge-chip--disabled .forge-chip__delete-button{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-chip--dense{min-height:28px;min-height:var(--forge-chip-min-height,28px)}.forge-chip--dense.forge-chip--field{min-height:20px;min-height:var(--forge-chip-min-height,20px);padding:0;margin:0;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.forge-chip--dense.forge-chip--field ::slotted([slot=leading]){margin:0 0 0 2px;font-size:18px!important}.forge-chip--dense.forge-chip--field .forge-chip__content{font-size:12px;padding:0 8px}.forge-chip--dense.forge-chip--field ::slotted([slot=trailing]){font-size:18px!important}.forge-chip--dense.forge-chip--field .forge-chip__delete-button{margin:0 2px 0 0;font-size:18px}.forge-chip--invalid:not(.forge-chip--disabled){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled)::after,.forge-chip--invalid:not(.forge-chip--disabled)::before{background-color:#b00020;background-color:var(--mdc-ripple-color,var(--mdc-theme-error,#b00020))}.forge-chip--invalid:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--invalid:not(.forge-chip--disabled):hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-chip--invalid:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--invalid:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-chip--invalid:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip--invalid:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-chip--invalid:not(.forge-chip--disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-chip--invalid:not(.forge-chip--disabled):not(:disabled){border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled).forge-chip--selected{background-color:#b00020;background-color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled).forge-chip--selected .forge-chip__delete-button{color:#fff;color:var(--mdc-theme-on-primary,#fff)}:host{display:inline-block}:host([hidden]){display:none}:host([theme=error]){--mdc-theme-primary:var(--mdc-theme-error)}',a=class extends C{constructor(){super();F.define(I),w(this,Y,G),this._foundation=new u(new g(this))}static get observedAttributes(){return[t.attributes.TYPE,t.attributes.SELECTED,t.attributes.DISABLED,t.attributes.VALUE,t.attributes.DENSE,t.attributes.INVALID,t.attributes.EMULATE_FOCUS]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,r,o){switch(e){case t.attributes.TYPE:this.type=o;break;case t.attributes.SELECTED:this.selected=d(o);break;case t.attributes.DISABLED:this.disabled=d(o);break;case t.attributes.INVALID:this.invalid=d(o);break;case t.attributes.VALUE:this.value=o;break;case t.attributes.DENSE:this.dense=d(o);break;case t.attributes.EMULATE_FOCUS:this.emulateFocus=d(o)}}focus(){this._foundation.setFocus()}tryFocusDelete(){this._foundation.tryFocusDelete()}};c([p()],a.prototype,"type",2),c([p()],a.prototype,"selected",2),c([p()],a.prototype,"disabled",2),c([p()],a.prototype,"invalid",2),c([p()],a.prototype,"value",2),c([p()],a.prototype,"dense",2),c([p()],a.prototype,"emulateFocus",2),a=c([L({name:t.elementName,dependencies:[B]})],a);export{N as a,t as b,g as c,u as d,a as e};
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{b as v,c as z}from"./chunk.ZTN2FNFX.js";import{f as I}from"./chunk.MZLPUI6R.js";import{a as S,d as F,l as B}from"./chunk.NZI24S27.js";import{a as D}from"./chunk.I2Q6DCOP.js";import{a as p}from"./chunk.KTGSZEAG.js";import{a as L,b as h}from"./chunk.QOA2O575.js";import{e as w,g as f,l as C}from"./chunk.HOXFK44F.js";import{f as k,g as m,i as l,n as x,s as b,t as s,y as T}from"./chunk.4LA6HEA7.js";import{k as d}from"./chunk.J2M2MXP2.js";import{a as y,b as E,f as c}from"./chunk.MCIQXNKY.js";var R=`${h}chip-set`,O={VERTICAL:"vertical",TYPE:"type",DENSE:"dense",DISABLED:"disabled"},A={ROOT:"forge-chip-set",VERTICAL:"forge-chip-set--vertical"},H={ROOT:`.${A.ROOT}`},N={elementName:R,attributes:O,classes:A,selectors:H};var n=`${h}chip`,M={TYPE:"type",SELECTED:"selected",VALUE:"value",DISABLED:"disabled",INVALID:"invalid",DENSE:"dense",EMULATE_FOCUS:"emulate-focus"},U={ACTION:"forge-chip--action",CHOICE:"forge-chip--choice",FILTER:"forge-chip--filter",INPUT:"forge-chip--input",FIELD:"forge-chip--field",INVALID:"forge-chip--invalid",SELECTED:"forge-chip--selected",DELETE_BUTTON:"forge-chip__delete-button",DELETE_BUTTON_TOUCH_TARGET:"forge-chip__delete-button__touch-target",DENSE:"forge-chip--dense",DISABLED:"forge-chip--disabled",LEADING_HIDDEN:"forge-chip__leading--hidden"},P={ROOT:".forge-chip",BUTTON:"[role=button]"},V={DELETE:`${n}-delete`,SELECT:`${n}-select`,FOCUS_NEXT:`${n}-focus-next`,FOCUS_PREVIOUS:`${n}-focus-previous`},K={TYPE:"action"},t={elementName:n,attributes:M,classes:U,selectors:P,events:V,defaults:K};var $='<div class="forge-chip__checkmark" aria-hidden="true"><svg class="forge-chip__checkmark-svg" viewBox="-2 -3 30 30"><path class="forge-chip__checkmark-path" fill="none" stroke="black" d="M1.73,12.91 8.1,19.28 22.79,4.59"/></svg></div>',g=class extends D{constructor(e){super(e);this._rootElement=f(this._component,t.selectors.ROOT),this._buttonElement=f(this._component,t.selectors.BUTTON),this._leadingSlotElement=f(this._component,"slot[name=leading]"),this._rootElement.addEventListener("click",r=>{r.target!==this._deleteButton&&this._buttonElement.focus()},{capture:!0})}get root(){return this._rootElement}get unbounded(){return!1}get disabled(){var e;return(e=this._buttonElement)==null?void 0:e.disabled}addRootListener(e,r){this._rootElement.addEventListener(e,r)}removeRootListener(e,r){this._rootElement.removeEventListener(e,r)}addButtonListener(e,r){this._buttonElement.addEventListener(e,r)}removeButtonListener(e,r){this._buttonElement.removeEventListener(e,r)}initializeRipple(){let e=E(y({},v.createAdapter(this)),{registerInteractionHandler:(r,o)=>{["focus","blur","keydown"].includes(r)?this._buttonElement.addEventListener(r,o,{passive:!0}):this._rootElement.addEventListener(r,o,{passive:!0})},deregisterInteractionHandler:(r,o)=>{["focus","blur","keydown"].includes(r)?this._buttonElement.removeEventListener(r,o,{passive:!0}):this._rootElement.removeEventListener(r,o,{passive:!0})},isSurfaceActive:()=>this._buttonElement.matches(":active"),isUnbounded:()=>Boolean(this.unbounded),isSurfaceDisabled:()=>this._buttonElement.disabled,addClass:r=>k(r,this._rootElement),removeClass:r=>m(r,this._rootElement),updateCssVariable:(r,o)=>this._rootElement.style.setProperty(r,o)});return this._rippleInstance=new v(this._rootElement,new z(e)),this._rippleInstance}clearTypeClass(){m([t.classes.ACTION,t.classes.CHOICE,t.classes.FILTER,t.classes.INPUT],this._buttonElement)}addRootClass(e){this._rootElement.classList.add(e)}removeRootClass(e){this._rootElement.classList.remove(e)}setCheckmarkVisibility(e){e?(this._checkmarkElement||(this._checkmarkElement=T($)),this._rootElement.insertBefore(this._checkmarkElement,this._rootElement.firstChild)):this._checkmarkElement&&this._checkmarkElement.isConnected&&l(this._checkmarkElement)}setSelected(e){s(this._rootElement,e,t.classes.SELECTED)}setDisabled(e){this._buttonElement.disabled=e,this._buttonElement.tabIndex=e?-1:0,s(this._rootElement,e,t.classes.DISABLED)}setDense(e){s(this._rootElement,e,t.classes.DENSE)}setDeleteButtonVisibility(e,r){e?(this._deleteButton||(this._deleteButton=this._createDeleteButton(r)),this._deleteButtonTouchTarget||(this._deleteButtonTouchTarget=this._createDeleteButtonTouchTarget(r)),this._deleteButton.appendChild(this._deleteButtonTouchTarget),this._rootElement.appendChild(this._deleteButton)):(this._deleteButtonTouchTarget&&l(this._deleteButtonTouchTarget),this._deleteButton&&l(this._deleteButton))}setLeadingSlotVisibility(e){s(this._leadingSlotElement,!e,t.classes.LEADING_HIDDEN)}getChipSetState(){let e=null,r=x(this._component,o=>o&&o.nodeName===N.elementName.toUpperCase());return r&&(e={type:r.type,disabled:r.disabled,dense:r.dense}),e}_createDeleteButton(e){let r=document.createElement(S.elementName);return r.id="remove-button",r.name="cancel",r.tabIndex=-1,r.setAttribute("aria-hidden","false"),r.setAttribute("aria-label",`Remove ${this._component.innerText}`),r.setAttribute("role","button"),r.classList.add(t.classes.DELETE_BUTTON),r.addEventListener("keydown",e),r}_createDeleteButtonTouchTarget(e){let r=document.createElement("div");return r.classList.add(t.classes.DELETE_BUTTON_TOUCH_TARGET),r.addEventListener("keydown",e),r.addEventListener("click",e),r}setFocus(){this._buttonElement.focus()}tryFocusDelete(){this._deleteButton?this._deleteButton.focus():this.setFocus()}setEmulatedFocus(e){this._buttonElement.classList.toggle("mdc-ripple-upgraded--background-focused",e)}tryMoveFocusNext(){let e=b(this._component.ownerDocument);e===this._buttonElement?this._deleteButton?this._deleteButton.focus():this.emitHostEvent(t.events.FOCUS_NEXT):e===this._deleteButton&&this.emitHostEvent(t.events.FOCUS_NEXT)}tryMoveFocusPrevious(){let e=b(this._component.ownerDocument);e===this._deleteButton?this._buttonElement.focus():e===this._buttonElement&&this.emitHostEvent(t.events.FOCUS_PREVIOUS)}};var u=class{constructor(i){this._adapter=i;this._type=t.defaults.TYPE;this._selected=!1;this._disabled=!1;this._invalid=!1;this._value=null;this._dense=!1;this._emulateFocus=!1;this._isInitialized=!1;this._clickListener=e=>this._onClick(e),this._keydownListener=e=>this._onKeydown(e),this._deleteKeydownListener=e=>this._onDeleteKeydown(e),this._buttonFocusListener=e=>this._onButtonFocus(e),this._buttonBlurListener=e=>this._onButtonBlur(e)}initialize(){this._rippleInstance=this._adapter.initializeRipple(),this._adapter.addRootListener("click",this._clickListener),this._adapter.addRootListener("keydown",this._keydownListener),this._adapter.addButtonListener("focus",this._buttonFocusListener),this._adapter.addButtonListener("blur",this._buttonBlurListener),this._applyState(),this._isInitialized=!0}disconnect(){this._destroyRipple(),this._adapter.removeRootListener("click",this._clickListener),this._adapter.removeRootListener("keydown",this._keydownListener),this._adapter.removeButtonListener("focus",this._buttonFocusListener),this._adapter.removeButtonListener("blur",this._buttonBlurListener),this._isInitialized=!1}_destroyRipple(){this._rippleInstance&&(this._rippleInstance.destroy(),this._rippleInstance=void 0)}_applyState(){let i=this._adapter.getChipSetState();i&&(this._type=i.type,this._disabled=i.disabled,this._dense=i.dense),this._type==="action"&&(this._selected=!1),this._applyDisabled(),this._applyType(),this._applySelected(),this._applyDense(),this._applyEmulateFocus()}_onClick(i){let e=i.target;e.classList.contains(t.classes.DELETE_BUTTON)||e.classList.contains(t.classes.DELETE_BUTTON_TOUCH_TARGET)?this._handleDeleteInteraction(i):this._handleSelectInteraction()}_onKeydown(i){var e;switch(i.key){case"Delete":case"Backspace":this._type==="input"&&(i.preventDefault(),this._emitDeleteEvent());break;case"Enter":case" ":i.preventDefault(),(e=this._rippleInstance)==null||e.animate(),this._handleSelectInteraction();break;case"ArrowLeft":i.preventDefault(),this._adapter.tryMoveFocusPrevious();break;case"ArrowRight":i.preventDefault(),this._adapter.tryMoveFocusNext();break}}_onDeleteKeydown(i){i.key==="Enter"&&this._handleDeleteInteraction(i)}_onButtonFocus(i){this._adapter.setHostAttribute("focused")}_onButtonBlur(i){this._adapter.removeHostAttribute("focused")}_handleDeleteInteraction(i){let e=i.target;(e.classList.contains(t.classes.DELETE_BUTTON)||e.classList.contains(t.classes.DELETE_BUTTON_TOUCH_TARGET))&&(i.stopPropagation(),this._emitDeleteEvent())}_handleSelectInteraction(){let i=this._emitSelectEvent(),e=["filter","choice","input"].includes(this._type);!i&&e&&(this._selected=!this._selected,this._applySelected())}_emitSelectEvent(){let i={selected:!this._selected,value:this._value};return!this._adapter.emitHostEvent(t.events.SELECT,i,!0,!0)}_emitDeleteEvent(){let i={value:this._value};this._adapter.emitHostEvent(t.events.DELETE,i,!0,!0)}_applyType(){switch(this._adapter.clearTypeClass(),this._type){case"action":this._adapter.addRootClass(t.classes.ACTION);break;case"choice":this._adapter.addRootClass(t.classes.CHOICE);break;case"filter":this._adapter.addRootClass(t.classes.FILTER);break;case"input":this._adapter.addRootClass(t.classes.INPUT);break;case"field":this._adapter.addRootClass(t.classes.FIELD);break}this._adapter.setCheckmarkVisibility(this._type==="filter");let i=this._type==="input"||this._type==="field";this._adapter.setDeleteButtonVisibility(i,this._deleteKeydownListener),this._adapter.setLeadingSlotVisibility(!this._selected),this._adapter.setHostAttribute(t.attributes.TYPE,this._type)}_applySelected(){this._adapter.setSelected(this._selected),this._type==="filter"&&this._adapter.setLeadingSlotVisibility(!this._selected),this._adapter.toggleHostAttribute(t.attributes.SELECTED,this._selected)}_applyDisabled(){this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(t.attributes.DISABLED,this._disabled)}_applyDense(){this._adapter.setDense(this._dense),this._adapter.toggleHostAttribute(t.attributes.DISABLED,this._disabled)}_applyEmulateFocus(){this._adapter.toggleHostAttribute(t.attributes.EMULATE_FOCUS,this._emulateFocus),this._adapter.setEmulatedFocus(this._emulateFocus)}get type(){return this._type}set type(i){this._type!==i&&(this._type=i,this._isInitialized&&(["action","choice","filter","input","field"].includes(this._type)||(this._type="action"),this._type==="action"&&(this._selected=!1,this._applySelected()),this._applyType()))}get selected(){return this._selected}set selected(i){this._selected!==i&&(this._selected=i,this._isInitialized&&(this._type==="action"&&(this._selected=!1),this._applySelected()))}get disabled(){return this._disabled}set disabled(i){this._disabled!==i&&(this._disabled=i,this._isInitialized&&this._applyDisabled())}get invalid(){return this._invalid}set invalid(i){this._invalid!==i&&(this._invalid=i,i?(this._adapter.setHostAttribute(t.attributes.INVALID,""),this._adapter.addRootClass(t.classes.INVALID)):(this._adapter.removeHostAttribute(t.attributes.INVALID),this._adapter.removeRootClass(t.classes.INVALID)))}get value(){return this._value}set value(i){this._value=i}get dense(){return this._dense}set dense(i){this._dense!==i&&(this._dense=i,this._isInitialized&&this._applyDense())}get emulateFocus(){return this._emulateFocus}set emulateFocus(i){this._emulateFocus!==i&&(this._emulateFocus=i,this._isInitialized&&this._applyEmulateFocus())}setFocus(){this._adapter.setFocus()}tryFocusDelete(){if(this._type==="input"){this._adapter.tryFocusDelete();return}this.setFocus()}};var Y='<template><div class="forge-chip" part="root button"><slot name="leading" class="forge-chip__leading"></slot><div role="button" tabindex="0" class="forge-chip__content" part="content"><slot></slot></div><slot name="trailing"></slot></div></template>',G='@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-chip{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:0 0;border-radius:4px;border-radius:var(--mdc-shape-small,4px);height:36px;text-transform:none;box-sizing:border-box;overflow:hidden;border-style:solid;-webkit-transition:border 280ms cubic-bezier(.4, 0, .2, 1);transition:border 280ms cubic-bezier(.4, 0, .2, 1);font-family:Roboto,sans-serif;font-family:var(--mdc-outlined-button-label-text-font, var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)));font-size:.875rem;font-size:var(--mdc-outlined-button-label-text-size, var(--mdc-typography-button-font-size, .875rem));letter-spacing:.0892857143em;letter-spacing:var(--mdc-outlined-button-label-text-tracking, var(--mdc-typography-button-letter-spacing, .0892857143em));font-weight:500;font-weight:var(--mdc-outlined-button-label-text-weight,var(--mdc-typography-button-font-weight,500));text-transform:uppercase;text-transform:var(--mdc-outlined-button-label-text-transform,var(--mdc-typography-button-text-transform,uppercase));height:36px;height:var(--mdc-outlined-button-container-height,36px);border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px));padding:0 15px 0 15px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px);padding:0 15px 0 15px;border-width:1px;border-radius:16px;width:auto;width:var(--forge-chip-width,auto);height:auto;height:var(--forge-chip-height,auto);min-height:36px;min-height:var(--forge-chip-min-height,36px);box-sizing:border-box;-webkit-transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1)}.forge-chip::after,.forge-chip::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-chip::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-chip::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-chip.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-chip.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-chip.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-chip.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-chip.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-chip::after,.forge-chip::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-chip.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-chip::after,.forge-chip::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-chip.mdc-ripple-surface--hover::before,.forge-chip:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-chip.mdc-ripple-upgraded--background-focused::before,.forge-chip:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-chip:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-chip.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-chip .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-chip::-moz-focus-inner{padding:0;border:0}.forge-chip:active{outline:0}.forge-chip:hover{cursor:pointer}.forge-chip:disabled{cursor:default;pointer-events:none}.forge-chip .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-chip:not(:disabled){background-color:transparent}.forge-chip:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-chip .mdc-button__ripple{border-style:solid;border-color:transparent}.forge-chip:not(:disabled){color:#3f51b5;color:var(--mdc-outlined-button-label-text-color,var(--mdc-theme-primary,#3f51b5))}.forge-chip:disabled{color:rgba(0,0,0,.38);color:var(--mdc-outlined-button-disabled-label-text-color,rgba(0,0,0,.38))}.forge-chip .mdc-button__icon{font-size:1.125rem;font-size:var(--mdc-outlined-button-with-icon-icon-size, 1.125rem);width:1.125rem;width:var(--mdc-outlined-button-with-icon-icon-size,1.125rem);height:1.125rem;height:var(--mdc-outlined-button-with-icon-icon-size,1.125rem)}.forge-chip .mdc-button__ripple::after,.forge-chip .mdc-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-outlined-button-hover-state-layer-color,var(--mdc-theme-primary,#3f51b5))}.forge-chip.mdc-ripple-surface--hover .mdc-button__ripple::before,.forge-chip:hover .mdc-button__ripple::before{opacity:.04;opacity:var(--mdc-outlined-button-hover-state-layer-opacity, .04)}.forge-chip.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.forge-chip:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-focus-state-layer-opacity, .12)}.forge-chip:not(.mdc-ripple-upgraded) .mdc-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, .12)}.forge-chip.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, 0.12)}.forge-chip .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px))}.forge-chip:not(:disabled){border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-outline-color,rgba(0,0,0,.12))}.forge-chip:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-disabled-outline-color,rgba(0,0,0,.12))}.forge-chip.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-chip.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-chip .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px)}.forge-chip .mdc-button__touch{left:calc(-1 * 1px);left:calc(-1 * var(--mdc-outlined-button-outline-width,1px));width:calc(100% + 2 * 1px);width:calc(100% + 2 * var(--mdc-outlined-button-outline-width,1px))}.forge-chip.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-chip.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-chip .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px}.forge-chip .mdc-button__touch{left:calc(-1 * 1px);width:calc(100% + 2 * 1px)}.forge-chip:not(:disabled){border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-chip .mdc-evolution-chip__ripple{border-radius:16px}.forge-chip .mdc-evolution-chip__action--primary:before{border-radius:16px}.forge-chip .mdc-evolution-chip__icon--primary{border-radius:16px}.forge-chip.forge-chip--disabled{border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:default;pointer-events:none}.forge-chip.forge-chip--disabled .forge-chip__delete-button{opacity:.54}.forge-chip__leading--hidden{display:none}.forge-chip__content{-webkit-box-flex:1;flex-grow:1;text-align:center}.forge-chip__content:focus{outline:0}.forge-chip ::slotted([slot=leading]){margin-left:-6px;margin-right:4px}.forge-chip ::slotted(forge-avatar[slot]){--forge-avatar-size:24px}.forge-chip ::slotted([slot=trailing]){margin-left:4px;margin-right:-8px}.forge-chip__checkmark{height:24px}.forge-chip__checkmark-svg{width:0;height:24px;-webkit-transition:width 150ms cubic-bezier(.4, 0, .2, 1);transition:width 150ms cubic-bezier(.4, 0, .2, 1)}.forge-chip__checkmark-path{stroke:#ffffff;stroke:var(--mdc-theme-on-primary,#ffffff);-webkit-transition:stroke-dashoffset 150ms 0 cubic-bezier(.4, 0, .6, 1);transition:stroke-dashoffset 150ms 0 cubic-bezier(.4, 0, .6, 1);stroke-width:2px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.forge-chip__delete-button{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:4px;margin-right:-8px;-webkit-transition:color 150ms linear;transition:color 150ms linear;outline:0;line-height:inherit;position:relative;border-radius:50%}.forge-chip__delete-button:focus{outline:currentColor solid 2px}.forge-chip__delete-button:focus,.forge-chip__delete-button:hover{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-chip__delete-button:active{opacity:.75}.forge-chip__delete-button__touch-target{position:absolute;top:-6px;left:-6px;width:calc(100% + 12px);height:calc(100% + 12px)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled),.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled),.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:rgba(255,255,255,.87);color:var(--mdc-theme-text-primary-on-dark,rgba(255,255,255,.87))}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled)::after,.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled)::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled)::after,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled)::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled)::after,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled)::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):hover::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):hover::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled,.forge-chip--filter.forge-chip--selected.forge-chip--disabled,.forge-chip--input.forge-chip--selected.forge-chip--disabled{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:rgba(255,255,255,.87);color:var(--mdc-theme-text-primary-on-dark,rgba(255,255,255,.87));opacity:.37}.forge-chip--choice.forge-chip--selected.forge-chip--disabled::after,.forge-chip--choice.forge-chip--selected.forge-chip--disabled::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled::after,.forge-chip--filter.forge-chip--selected.forge-chip--disabled::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled::after,.forge-chip--input.forge-chip--selected.forge-chip--disabled::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-chip--choice.forge-chip--selected.forge-chip--disabled.mdc-ripple-surface--hover::before,.forge-chip--choice.forge-chip--selected.forge-chip--disabled:hover::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled.mdc-ripple-surface--hover::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:hover::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled.mdc-ripple-surface--hover::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled:hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded--background-focused::before,.forge-chip--choice.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):focus::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded--background-focused::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):focus::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded--background-focused::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded)::after,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded)::after,.forge-chip--input.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip--choice.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):active::after,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):active::after,.forge-chip--input.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded,.forge-chip--filter.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded,.forge-chip--input.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-chip--choice.forge-chip--selected ::slotted([slot=leading]),.forge-chip--filter.forge-chip--selected ::slotted([slot=leading]),.forge-chip--input.forge-chip--selected ::slotted([slot=leading]){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-chip--choice.forge-chip--selected ::slotted([slot=trailing]),.forge-chip--filter.forge-chip--selected ::slotted([slot=trailing]),.forge-chip--input.forge-chip--selected ::slotted([slot=trailing]){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-chip--choice.forge-chip--selected .forge-chip__delete-button,.forge-chip--filter.forge-chip--selected .forge-chip__delete-button,.forge-chip--input.forge-chip--selected .forge-chip__delete-button{color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-chip--choice.forge-chip--selected.forge-chip--filter .forge-chip__checkmark,.forge-chip--filter.forge-chip--selected.forge-chip--filter .forge-chip__checkmark,.forge-chip--input.forge-chip--selected.forge-chip--filter .forge-chip__checkmark{margin-left:-6px;margin-right:4px}.forge-chip--choice.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-svg,.forge-chip--filter.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-svg,.forge-chip--input.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-svg{width:24px}.forge-chip--choice.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-path,.forge-chip--filter.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-path,.forge-chip--input.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-path{-webkit-transition:stroke-dashoffset 150ms 50ms cubic-bezier(.4, 0, .6, 1);transition:stroke-dashoffset 150ms 50ms cubic-bezier(.4, 0, .6, 1);stroke-dashoffset:0}.forge-chip--field .forge-chip__delete-button{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-chip--field .forge-chip__delete-button:focus,.forge-chip--field .forge-chip__delete-button:hover{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-chip--field.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-chip--field.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button:focus,.forge-chip--field.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button:hover{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-chip--field.forge-chip--disabled .forge-chip__delete-button{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-chip--dense{min-height:28px;min-height:var(--forge-chip-min-height,28px)}.forge-chip--dense.forge-chip--field{min-height:20px;min-height:var(--forge-chip-min-height,20px);padding:0;margin:0;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.forge-chip--dense.forge-chip--field ::slotted([slot=leading]){margin:0 0 0 2px;font-size:18px!important}.forge-chip--dense.forge-chip--field .forge-chip__content{font-size:12px;padding:0 8px}.forge-chip--dense.forge-chip--field ::slotted([slot=trailing]){font-size:18px!important}.forge-chip--dense.forge-chip--field .forge-chip__delete-button{margin:0 2px 0 0;font-size:18px}.forge-chip--invalid:not(.forge-chip--disabled){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled)::after,.forge-chip--invalid:not(.forge-chip--disabled)::before{background-color:#b00020;background-color:var(--mdc-ripple-color,var(--mdc-theme-error,#b00020))}.forge-chip--invalid:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--invalid:not(.forge-chip--disabled):hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-chip--invalid:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--invalid:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-chip--invalid:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip--invalid:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-chip--invalid:not(.forge-chip--disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-chip--invalid:not(.forge-chip--disabled):not(:disabled){border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled).forge-chip--selected{background-color:#b00020;background-color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled).forge-chip--selected .forge-chip__delete-button{color:#fff;color:var(--mdc-theme-on-primary,#fff)}:host{display:inline-block}:host([hidden]){display:none}:host([theme=error]){--mdc-theme-primary:var(--mdc-theme-error)}',a=class extends C{constructor(){super();F.define(I),w(this,Y,G),this._foundation=new u(new g(this))}static get observedAttributes(){return[t.attributes.TYPE,t.attributes.SELECTED,t.attributes.DISABLED,t.attributes.VALUE,t.attributes.DENSE,t.attributes.INVALID,t.attributes.EMULATE_FOCUS]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,r,o){switch(e){case t.attributes.TYPE:this.type=o;break;case t.attributes.SELECTED:this.selected=d(o);break;case t.attributes.DISABLED:this.disabled=d(o);break;case t.attributes.INVALID:this.invalid=d(o);break;case t.attributes.VALUE:this.value=o;break;case t.attributes.DENSE:this.dense=d(o);break;case t.attributes.EMULATE_FOCUS:this.emulateFocus=d(o)}}focus(){this._foundation.setFocus()}tryFocusDelete(){this._foundation.tryFocusDelete()}};c([p()],a.prototype,"type",2),c([p()],a.prototype,"selected",2),c([p()],a.prototype,"disabled",2),c([p()],a.prototype,"invalid",2),c([p()],a.prototype,"value",2),c([p()],a.prototype,"dense",2),c([p()],a.prototype,"emulateFocus",2),a=c([L({name:t.elementName,dependencies:[B]})],a);export{N as a,t as b,g as c,u as d,a as e};
|
|
7
|
+
//# sourceMappingURL=chunk.SS46JP47.js.map
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{a as u}from"./chunk.
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{a as u}from"./chunk.I2Q6DCOP.js";import{a as o}from"./chunk.KTGSZEAG.js";import{a as d,b as k}from"./chunk.QOA2O575.js";import{a as g,e as b,g as h,l as f}from"./chunk.HOXFK44F.js";import{k as c}from"./chunk.J2M2MXP2.js";import{f as a}from"./chunk.MCIQXNKY.js";var _=`${k}stack`,A={DEFAULT:"forge-stack"},x={ROOT:`.${A.DEFAULT}`},S={INLINE:"inline",WRAP:"wrap",STRETCH:"stretch",GAP:"gap",ALIGNMENT:"alignment"},T={DEFAULT_GAP:"16"},e={elementName:_,classes:A,attributes:S,selectors:x,strings:T},E=(n=>(n.Start="start",n.Center="center",n.End="end",n))(E||{});var l=class extends u{constructor(r){super(r);this._rootElement=h(r,e.selectors.ROOT)}setGap(r){let n=/^\d+$/.test(r)?`${r}px`:r;this._rootElement.style.gap=`var(--forge-stack-gap, ${n})`}};var p=class{constructor(t){this._adapter=t;this._inline=!1;this._wrap=!1;this._stretch=!1;this._gap=e.strings.DEFAULT_GAP;this._alignment="start"}get inline(){return this._inline}set inline(t){t=Boolean(t),this._inline!==t&&(this._inline=t,this._adapter.toggleHostAttribute(e.attributes.INLINE,this._inline))}get wrap(){return this._wrap}set wrap(t){t=Boolean(t),this._wrap!==t&&(this._wrap=t,this._adapter.toggleHostAttribute(e.attributes.WRAP,this._wrap))}get stretch(){return this._stretch}set stretch(t){t=Boolean(t),this._stretch!==t&&(this._stretch=t,this._adapter.toggleHostAttribute(e.attributes.STRETCH,this._stretch))}get gap(){return this._gap}set gap(t){this._gap!==t&&(this._gap=t,this._adapter.setGap(this._gap),this._adapter.setHostAttribute(e.attributes.GAP,this._gap))}get alignment(){return this._alignment}set alignment(t){this._alignment!==t&&(this._alignment=t,this._adapter.setHostAttribute(e.attributes.ALIGNMENT,this._alignment))}};var I='<template><div class="forge-stack" part="root"><slot></slot></div></template>',N=".forge-stack{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;gap:16px;gap:var(--forge-stack-gap,16px);height:100%;height:var(--forge-stack-height,100%)}.forge-stack ::slotted(*){-webkit-box-flex:var(--forge-stack-stretch,initial);flex:var(--forge-stack-stretch,initial)}:host{display:block}:host([inline]) .forge-stack{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;--forge-stack-height:auto}:host([inline][wrap]) .forge-stack{flex-wrap:wrap}:host([stretch]:not([inline])){height:100%}:host([stretch]){--forge-stack-stretch:1}:host([alignment=start]) .forge-stack{-webkit-box-pack:start;justify-content:start}:host([alignment=center]) .forge-stack{-webkit-box-pack:center;justify-content:center}:host([alignment=end]) .forge-stack{-webkit-box-pack:end;justify-content:end}",i=class extends f{constructor(){super();b(this,I,N),this._foundation=new p(new l(this))}static get observedAttributes(){return[e.attributes.INLINE,e.attributes.WRAP,e.attributes.STRETCH,e.attributes.GAP,e.attributes.ALIGNMENT]}attributeChangedCallback(r,n,s){switch(r){case e.attributes.INLINE:this.inline=c(s);break;case e.attributes.WRAP:this.wrap=c(s);break;case e.attributes.STRETCH:this.stretch=c(s);break;case e.attributes.GAP:this.gap=s;break;case e.attributes.ALIGNMENT:this.alignment=s;break}}};a([o()],i.prototype,"inline",2),a([o()],i.prototype,"wrap",2),a([o()],i.prototype,"stretch",2),a([o()],i.prototype,"gap",2),a([o()],i.prototype,"alignment",2),i=a([d({name:e.elementName})],i);function q(){g(i)}export{e as a,E as b,l as c,p as d,i as e,q as f};
|
|
7
|
+
//# sourceMappingURL=chunk.SYGMZUV7.js.map
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{a as f}from"./chunk.
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{a as f}from"./chunk.I2Q6DCOP.js";import{a as p}from"./chunk.KTGSZEAG.js";import{a as k,b as v}from"./chunk.QOA2O575.js";import{a as b,e as l,g as A,l as h}from"./chunk.HOXFK44F.js";import{f as i}from"./chunk.MCIQXNKY.js";var _=`${v}backdrop`,y={CONTAINER:".forge-backdrop"},E={OPACITY:.54,DELAY:0,TRANSITION_DURATION:150},O={DELAY:"delay",MAX_OPACITY:"max-opacity",APPEARANCE:"appearance",FIXED:"fixed"},g={BACKDROP_CLICK:`${_}-click`},e={elementName:_,selectors:y,numbers:E,attributes:O,events:g};var n=class extends f{constructor(a){super(a);this._backdropElement=A(a,e.selectors.CONTAINER)}setBackdropOpacity(a){this._backdropElement.style.opacity=a.toString()}addBackdropEventListener(a,o){this._backdropElement.addEventListener("click",o)}removeBackdropEventListener(a,o){this._backdropElement.removeEventListener("click",o)}};var s=class{constructor(t){this._adapter=t;this._delay=e.numbers.DELAY;this._maxOpacity=e.numbers.OPACITY;this._adapter.addBackdropEventListener("click",this._onClick.bind(this))}initialize(){this._adapter.setBackdropOpacity(0),this._applyAppearance(),this._adapter.setHostAttribute(e.attributes.DELAY,this._delay.toString()),this.fadeIn()}fadeOut(){return new Promise(t=>{this._adapter.setBackdropOpacity(0),setTimeout(()=>t(),e.numbers.TRANSITION_DURATION)})}fadeIn(){return new Promise(t=>{setTimeout(()=>{this._adapter.setBackdropOpacity(this._maxOpacity),setTimeout(()=>t(),e.numbers.TRANSITION_DURATION)},this.delay)})}_onClick(t){t.stopPropagation(),this._adapter.emitHostEvent(e.events.BACKDROP_CLICK,void 0,!0,!0)}disconnect(){this._adapter.removeBackdropEventListener("click",this._onClick)}_applyAppearance(){this._appearance?this._adapter.setHostAttribute(e.attributes.APPEARANCE,String(this._appearance)):this._adapter.removeHostAttribute(e.attributes.APPEARANCE)}set delay(t){this._delay!==t&&(this._delay=t,this._adapter.setHostAttribute(e.attributes.DELAY,this._delay.toString()))}get delay(){return this._delay}set maxOpacity(t){this._maxOpacity!==t&&(this._maxOpacity=t,this._adapter.setHostAttribute(e.attributes.MAX_OPACITY,this._maxOpacity.toString()))}get maxOpacity(){return this._maxOpacity}get appearance(){return this._appearance}set appearance(t){this._appearance!==t&&(this._appearance=t,this._applyAppearance())}};var I='<template><div class="forge-backdrop" part="root"></div></template>',C=".forge-backdrop{z-index:7;z-index:var(--forge-z-index-backdrop,7);background-color:rgba(0,0,0,.54);background-color:var(--forge-backdrop-theme-background,rgba(0,0,0,.54));position:absolute;top:0;bottom:0;left:0;right:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);opacity:0}:host{display:block}:host([hidden]){display:none}:host([fixed]) .forge-backdrop{position:fixed}:host([appearance=light]){--forge-backdrop-theme-background:rgba(255, 255, 255, 0.54)}:host([appearance=dark]){--forge-backdrop-theme-background:rgba(0, 0, 0, 0.54)}",r=class extends h{constructor(){super();l(this,I,C),this._foundation=new s(new n(this))}static get observedAttributes(){return[e.attributes.DELAY,e.attributes.MAX_OPACITY]}connectedCallback(){if(this.hasAttribute(e.attributes.DELAY)&&this.getAttribute(e.attributes.DELAY)){let a=Number(this.getAttribute(e.attributes.DELAY));this.delay=a>=0?a:e.numbers.DELAY}if(this.hasAttribute(e.attributes.MAX_OPACITY)){let a=Number(this.getAttribute(e.attributes.MAX_OPACITY));this.maxOpacity=a>=0&&a<=1?a:e.numbers.OPACITY}this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(a,o,c){switch(a){case e.attributes.DELAY:let u=Number(c);this.delay=u>=0?u:e.numbers.DELAY;break;case e.attributes.MAX_OPACITY:let d=Number(c);this.maxOpacity=d>=0&&d<=1?d:e.numbers.OPACITY;break;case e.attributes.APPEARANCE:this.appearance=c;break}}fadeOut(){return this._foundation.fadeOut()}fadeIn(){return this._foundation.fadeIn()}};i([p()],r.prototype,"delay",2),i([p()],r.prototype,"appearance",2),i([p()],r.prototype,"maxOpacity",2),r=i([k({name:e.elementName})],r);function V(){b(r)}export{e as a,n as b,s as c,r as d,V as e};
|
|
7
|
+
//# sourceMappingURL=chunk.T7UBP53Q.js.map
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{b as n,c as d,d as s}from"./chunk.
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{b as n,c as d,d as s}from"./chunk.SFREF7YC.js";import{a as i,b as a}from"./chunk.QOA2O575.js";import{a as o,e as t}from"./chunk.HOXFK44F.js";import{f as e}from"./chunk.MCIQXNKY.js";var f=`${a}mini-drawer`,w={HOVER:"hover"},l={elementName:f,attributes:w};var b='<template><div class="forge-drawer__root" part="root"><div class="forge-drawer forge-drawer--mini" part="container"><slot name="header"></slot><div class="forge-drawer__content" part="content"><slot></slot></div><slot name="footer"></slot></div></div></template>',c='.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}.forge-drawer__root{z-index:1;z-index:var(--forge-z-index-surface,1);height:100%}.forge-drawer--mini{width:56px;width:var(--forge-drawer-mini-width,56px);z-index:1;z-index:var(--forge-z-index-surface,1);-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition-property:width,-webkit-transform;transition-property:width,-webkit-transform;transition-property:transform,width;transition-property:transform,width,-webkit-transform;-webkit-transition:width .2s cubic-bezier(.4, 0, .2, 1);transition:width .2s cubic-bezier(.4, 0, .2, 1)}.forge-drawer--mini .forge-drawer__content{overflow:hidden}.forge-drawer--closed{width:0}: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;width:56px;width:var(--forge-drawer-mini-width,56px);overflow:visible!important}:host([direction=right]){min-width:56px;min-width:var(--forge-drawer-mini-width,56px);width:auto}:host([direction=right]) .forge-drawer__root{position:relative}:host(:not([open])){display:none}:host([hover]) .forge-drawer--right{position:absolute;right:0}:host([hover]) .forge-drawer:hover{width:256px!important;width:var(--forge-drawer-width,256px)!important;-webkit-transition:width .3s cubic-bezier(.4, 0, .2, 1) .3s;transition:width .3s cubic-bezier(.4, 0, .2, 1) .3s}:host([hover]) .forge-drawer:hover .forge-drawer__content{overflow:auto;overflow:overlay}',r=class extends s{constructor(){super();t(this,b,c),this._foundation=new d(new n(this))}};r=e([i({name:l.elementName})],r);function N(){o(r)}export{l as a,r as b,N as c};
|
|
7
|
+
//# sourceMappingURL=chunk.TGF5WRAW.js.map
|