@tylertech/forge 2.3.0 → 2.6.0
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/README.md +5 -5
- package/custom-elements.json +114521 -0
- package/dist/esm/accordion/index.js +6 -5
- package/dist/esm/app-bar/help-button/index.js +16 -15
- package/dist/esm/app-bar/index.js +26 -25
- package/dist/esm/app-bar/menu-button/index.js +7 -6
- package/dist/esm/app-bar/notification-button/index.js +8 -7
- package/dist/esm/app-bar/profile-button/index.js +12 -11
- package/dist/esm/app-bar/search/index.js +5 -4
- package/dist/esm/autocomplete/index.js +18 -17
- 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 +7 -6
- package/dist/esm/bottom-sheet/index.js +10 -9
- package/dist/esm/busy-indicator/index.js +8 -7
- package/dist/esm/button/index.js +4 -3
- package/dist/esm/button-toggle/button-toggle/index.js +3 -3
- package/dist/esm/button-toggle/button-toggle-group/index.js +3 -3
- package/dist/esm/button-toggle/index.js +4 -4
- package/dist/esm/calendar/calendar-dropdown/index.js +5 -4
- package/dist/esm/calendar/calendar-menu/index.js +3 -2
- package/dist/esm/calendar/index.js +11 -10
- package/dist/esm/card/index.js +1 -1
- package/dist/esm/checkbox/index.js +4 -3
- package/dist/esm/chip-field/index.js +8 -7
- package/dist/esm/chips/chip/index.js +6 -5
- package/dist/esm/chips/chip-set/index.js +6 -5
- package/dist/esm/chips/index.js +7 -6
- package/dist/esm/chunks/{chunk.PZ25GQD2.js → chunk.2MBI5DLT.js} +6 -6
- package/dist/esm/chunks/{chunk.PZ25GQD2.js.map → chunk.2MBI5DLT.js.map} +2 -2
- package/dist/esm/chunks/{chunk.B425FZOZ.js → chunk.2WBHHTUM.js} +2 -2
- package/dist/esm/chunks/{chunk.B425FZOZ.js.map → chunk.2WBHHTUM.js.map} +2 -2
- package/dist/esm/chunks/{chunk.WXFCZJJI.js → chunk.3EHQ3YHJ.js} +1 -1
- package/dist/esm/chunks/{chunk.WXFCZJJI.js.map → chunk.3EHQ3YHJ.js.map} +2 -2
- package/dist/esm/chunks/{chunk.LKUKESRQ.js → chunk.3QXCVTCP.js} +2 -2
- package/dist/esm/chunks/{chunk.LKUKESRQ.js.map → chunk.3QXCVTCP.js.map} +0 -0
- package/dist/esm/chunks/{chunk.ZIFMMVW6.js → chunk.46BED43J.js} +3 -3
- package/dist/esm/chunks/{chunk.ZIFMMVW6.js.map → chunk.46BED43J.js.map} +2 -2
- package/dist/esm/chunks/{chunk.VTXXZ5KT.js → chunk.4PF7WRP4.js} +2 -2
- package/dist/esm/chunks/{chunk.VTXXZ5KT.js.map → chunk.4PF7WRP4.js.map} +2 -2
- package/dist/esm/chunks/{chunk.KZ2QNQK2.js → chunk.4WLVFWKI.js} +2 -2
- package/dist/esm/chunks/{chunk.KZ2QNQK2.js.map → chunk.4WLVFWKI.js.map} +0 -0
- package/dist/esm/chunks/{chunk.C2MR3RDF.js → chunk.56BNM7F2.js} +1 -1
- package/dist/esm/chunks/{chunk.C2MR3RDF.js.map → chunk.56BNM7F2.js.map} +2 -2
- package/dist/esm/chunks/{chunk.HNKH3ZP5.js → chunk.5H65ASFE.js} +74 -74
- package/dist/esm/chunks/{chunk.HNKH3ZP5.js.map → chunk.5H65ASFE.js.map} +0 -0
- package/dist/esm/chunks/{chunk.3AK3VGRT.js → chunk.5OYAJ36F.js} +2 -2
- package/dist/esm/chunks/{chunk.3AK3VGRT.js.map → chunk.5OYAJ36F.js.map} +0 -0
- package/dist/esm/chunks/{chunk.4UKSUUTX.js → chunk.5U6ZT6MC.js} +2 -2
- package/dist/esm/chunks/{chunk.4UKSUUTX.js.map → chunk.5U6ZT6MC.js.map} +2 -2
- package/dist/esm/chunks/{chunk.3NOZRZ7R.js → chunk.65GHMPX2.js} +3 -3
- package/dist/esm/chunks/{chunk.3NOZRZ7R.js.map → chunk.65GHMPX2.js.map} +2 -2
- package/dist/esm/chunks/{chunk.C44LSSHS.js → chunk.67B6JDOJ.js} +3 -3
- package/dist/esm/chunks/{chunk.C44LSSHS.js.map → chunk.67B6JDOJ.js.map} +2 -2
- package/dist/esm/chunks/chunk.6EGTLHJS.js +16 -0
- package/dist/esm/chunks/chunk.6EGTLHJS.js.map +7 -0
- package/dist/esm/chunks/{chunk.EL6B2ODN.js → chunk.6ZBFCE2A.js} +1 -1
- package/dist/esm/chunks/{chunk.EL6B2ODN.js.map → chunk.6ZBFCE2A.js.map} +2 -2
- package/dist/esm/chunks/{chunk.VAPJ75PS.js → chunk.7FWTBD6Y.js} +2 -2
- package/dist/esm/chunks/{chunk.VAPJ75PS.js.map → chunk.7FWTBD6Y.js.map} +0 -0
- package/dist/esm/chunks/{chunk.KCK3G74Y.js → chunk.7UAH67PT.js} +2 -2
- package/dist/esm/chunks/{chunk.KCK3G74Y.js.map → chunk.7UAH67PT.js.map} +2 -2
- package/dist/esm/chunks/{chunk.BORNGK7Q.js → chunk.ANME7BKM.js} +2 -2
- package/dist/esm/chunks/{chunk.BORNGK7Q.js.map → chunk.ANME7BKM.js.map} +2 -2
- package/dist/esm/chunks/{chunk.5INCRYSV.js → chunk.BEAJZPWS.js} +2 -2
- package/dist/esm/chunks/{chunk.5INCRYSV.js.map → chunk.BEAJZPWS.js.map} +0 -0
- package/dist/esm/chunks/{chunk.Y2ORADJS.js → chunk.BVGJFMEG.js} +8 -8
- package/dist/esm/chunks/{chunk.Y2ORADJS.js.map → chunk.BVGJFMEG.js.map} +2 -2
- package/dist/esm/chunks/{chunk.L65L5VJ6.js → chunk.C73AZRT4.js} +4 -4
- package/dist/esm/chunks/{chunk.L65L5VJ6.js.map → chunk.C73AZRT4.js.map} +2 -2
- package/dist/esm/chunks/{chunk.4ZBBOR4H.js → chunk.CLEUHAZ6.js} +2 -2
- package/dist/esm/chunks/{chunk.4ZBBOR4H.js.map → chunk.CLEUHAZ6.js.map} +2 -2
- package/dist/esm/chunks/{chunk.V3FSZDTW.js → chunk.CMXAORYF.js} +5 -5
- package/dist/esm/chunks/{chunk.V3FSZDTW.js.map → chunk.CMXAORYF.js.map} +2 -2
- package/dist/esm/chunks/{chunk.U35QQZVK.js → chunk.D33KLIFD.js} +1 -1
- package/dist/esm/chunks/{chunk.U35QQZVK.js.map → chunk.D33KLIFD.js.map} +2 -2
- package/dist/esm/chunks/{chunk.5EEEKOOK.js → chunk.DLF5JAQO.js} +1 -1
- package/dist/esm/chunks/{chunk.5EEEKOOK.js.map → chunk.DLF5JAQO.js.map} +2 -2
- package/dist/esm/chunks/{chunk.ZUM5YLB2.js → chunk.E26BROOG.js} +1 -1
- package/dist/esm/chunks/{chunk.ZUM5YLB2.js.map → chunk.E26BROOG.js.map} +2 -2
- package/dist/esm/chunks/{chunk.UM3J4AZ7.js → chunk.EBC2HGO3.js} +4 -4
- package/dist/esm/chunks/chunk.EBC2HGO3.js.map +7 -0
- package/dist/esm/chunks/{chunk.YCW56AVX.js → chunk.FJJVIMZ2.js} +1 -1
- package/dist/esm/chunks/{chunk.YCW56AVX.js.map → chunk.FJJVIMZ2.js.map} +2 -2
- package/dist/esm/chunks/{chunk.HHHMDDTU.js → chunk.FZ6KICMD.js} +1 -1
- package/dist/esm/chunks/{chunk.HHHMDDTU.js.map → chunk.FZ6KICMD.js.map} +2 -2
- package/dist/esm/chunks/{chunk.D4VIYWFB.js → chunk.GHZ75UPO.js} +3 -3
- package/dist/esm/chunks/{chunk.D4VIYWFB.js.map → chunk.GHZ75UPO.js.map} +2 -2
- package/dist/esm/chunks/{chunk.SJZ54RE3.js → chunk.GL72QT42.js} +1 -1
- package/dist/esm/chunks/{chunk.SJZ54RE3.js.map → chunk.GL72QT42.js.map} +2 -2
- package/dist/esm/chunks/{chunk.PCYIY5OY.js → chunk.GNAIKBO6.js} +2 -2
- package/dist/esm/chunks/{chunk.PCYIY5OY.js.map → chunk.GNAIKBO6.js.map} +2 -2
- package/dist/esm/chunks/{chunk.IWXT6VVJ.js → chunk.GOWHXADJ.js} +15 -1
- package/dist/esm/chunks/chunk.GOWHXADJ.js.map +7 -0
- package/dist/esm/chunks/{chunk.G6FY472A.js → chunk.GWNR3UUX.js} +2 -2
- package/dist/esm/chunks/{chunk.G6FY472A.js.map → chunk.GWNR3UUX.js.map} +2 -2
- package/dist/esm/chunks/{chunk.2NUAEZY7.js → chunk.GXTNND2M.js} +1 -1
- package/dist/esm/chunks/{chunk.2NUAEZY7.js.map → chunk.GXTNND2M.js.map} +2 -2
- package/dist/esm/chunks/{chunk.YJ5X3WZ4.js → chunk.HASAPJMX.js} +1 -1
- package/dist/esm/chunks/{chunk.YJ5X3WZ4.js.map → chunk.HASAPJMX.js.map} +2 -2
- package/dist/esm/chunks/{chunk.EWQENJ4W.js → chunk.HMM7PGGZ.js} +2 -2
- package/dist/esm/chunks/{chunk.EWQENJ4W.js.map → chunk.HMM7PGGZ.js.map} +2 -2
- package/dist/esm/chunks/{chunk.IYOZSEZ3.js → chunk.I6PJGNJS.js} +2 -2
- package/dist/esm/chunks/{chunk.IYOZSEZ3.js.map → chunk.I6PJGNJS.js.map} +2 -2
- package/dist/esm/chunks/{chunk.3ZKORL4I.js → chunk.I7BQUB7Z.js} +2 -2
- package/dist/esm/chunks/chunk.I7BQUB7Z.js.map +7 -0
- package/dist/esm/chunks/{chunk.XY3ZHN7Y.js → chunk.IBED5TWL.js} +1 -1
- package/dist/esm/chunks/{chunk.XY3ZHN7Y.js.map → chunk.IBED5TWL.js.map} +2 -2
- package/dist/esm/chunks/{chunk.47D77ELY.js → chunk.IGBDDH3J.js} +6 -6
- package/dist/esm/chunks/{chunk.47D77ELY.js.map → chunk.IGBDDH3J.js.map} +0 -0
- package/dist/esm/chunks/{chunk.RF5UPII7.js → chunk.IJW2YKP3.js} +13 -13
- package/dist/esm/chunks/{chunk.RF5UPII7.js.map → chunk.IJW2YKP3.js.map} +2 -2
- package/dist/esm/chunks/{chunk.5CZWANU6.js → chunk.ITQ55IPH.js} +4 -4
- package/dist/esm/chunks/{chunk.5CZWANU6.js.map → chunk.ITQ55IPH.js.map} +2 -2
- package/dist/esm/chunks/{chunk.IBH5GL7A.js → chunk.IUNON3UL.js} +2 -2
- package/dist/esm/chunks/{chunk.IBH5GL7A.js.map → chunk.IUNON3UL.js.map} +2 -2
- package/dist/esm/chunks/{chunk.5VNEDRVC.js → chunk.J5NUYQ4D.js} +6 -6
- package/dist/esm/chunks/{chunk.5VNEDRVC.js.map → chunk.J5NUYQ4D.js.map} +0 -0
- package/dist/esm/chunks/{chunk.DWURTRGM.js → chunk.JC2PZ4TS.js} +8 -8
- package/dist/esm/chunks/{chunk.DWURTRGM.js.map → chunk.JC2PZ4TS.js.map} +2 -2
- package/dist/esm/chunks/{chunk.7M3P4QES.js → chunk.JUXKYUD4.js} +9 -9
- package/dist/esm/chunks/{chunk.7M3P4QES.js.map → chunk.JUXKYUD4.js.map} +2 -2
- package/dist/esm/chunks/{chunk.6V463G4I.js → chunk.KCVJDJ6K.js} +1 -1
- package/dist/esm/chunks/{chunk.6V463G4I.js.map → chunk.KCVJDJ6K.js.map} +2 -2
- package/dist/esm/chunks/{chunk.DKHOY6QU.js → chunk.KNR5DXE4.js} +2 -2
- package/dist/esm/chunks/{chunk.DKHOY6QU.js.map → chunk.KNR5DXE4.js.map} +2 -2
- package/dist/esm/chunks/{chunk.C64YUJHS.js → chunk.L344BPCW.js} +2 -2
- package/dist/esm/chunks/{chunk.C64YUJHS.js.map → chunk.L344BPCW.js.map} +2 -2
- package/dist/esm/chunks/{chunk.HWWCD755.js → chunk.L4OUV7W6.js} +5 -5
- package/dist/esm/chunks/{chunk.HWWCD755.js.map → chunk.L4OUV7W6.js.map} +2 -2
- package/dist/esm/chunks/{chunk.EQCPRLUV.js → chunk.LHWZ4KZU.js} +3 -3
- package/dist/esm/chunks/{chunk.EQCPRLUV.js.map → chunk.LHWZ4KZU.js.map} +2 -2
- package/dist/esm/chunks/{chunk.KQB2BYBK.js → chunk.LK2DN5KX.js} +4 -4
- package/dist/esm/chunks/{chunk.KQB2BYBK.js.map → chunk.LK2DN5KX.js.map} +2 -2
- package/dist/esm/chunks/{chunk.7G2S3DCM.js → chunk.LX2HDAIF.js} +2 -2
- package/dist/esm/chunks/{chunk.7G2S3DCM.js.map → chunk.LX2HDAIF.js.map} +2 -2
- package/dist/esm/chunks/{chunk.YDPSV74L.js → chunk.M3O5VPDD.js} +3 -3
- package/dist/esm/chunks/{chunk.YDPSV74L.js.map → chunk.M3O5VPDD.js.map} +0 -0
- package/dist/esm/chunks/{chunk.NJRPAX7P.js → chunk.MBZLA635.js} +30 -29
- package/dist/esm/chunks/chunk.MBZLA635.js.map +7 -0
- package/dist/esm/chunks/{chunk.XJVLHRVJ.js → chunk.MF3IZXQG.js} +2 -2
- package/dist/esm/chunks/{chunk.XJVLHRVJ.js.map → chunk.MF3IZXQG.js.map} +2 -2
- package/dist/esm/chunks/{chunk.HFELDK4X.js → chunk.MUP3NY6M.js} +9 -9
- package/dist/esm/chunks/{chunk.HFELDK4X.js.map → chunk.MUP3NY6M.js.map} +2 -2
- package/dist/esm/chunks/{chunk.2F6PST3N.js → chunk.OXS2O7RG.js} +1 -1
- package/dist/esm/chunks/{chunk.2F6PST3N.js.map → chunk.OXS2O7RG.js.map} +2 -2
- package/dist/esm/chunks/{chunk.RMVJBNCY.js → chunk.PKZ43JNW.js} +4 -4
- package/dist/esm/chunks/{chunk.RMVJBNCY.js.map → chunk.PKZ43JNW.js.map} +2 -2
- package/dist/esm/chunks/{chunk.3VR7VHL5.js → chunk.PM7D2SUE.js} +1 -1
- package/dist/esm/chunks/{chunk.3VR7VHL5.js.map → chunk.PM7D2SUE.js.map} +0 -0
- package/dist/esm/chunks/{chunk.WAJDLUSQ.js → chunk.QHHYCB7N.js} +1 -1
- package/dist/esm/chunks/{chunk.WAJDLUSQ.js.map → chunk.QHHYCB7N.js.map} +2 -2
- package/dist/esm/chunks/{chunk.I5JCM7RT.js → chunk.QWW6A7AF.js} +6 -6
- package/dist/esm/chunks/{chunk.I5JCM7RT.js.map → chunk.QWW6A7AF.js.map} +2 -2
- package/dist/esm/chunks/{chunk.OYO6NUZY.js → chunk.QXZZ2MTF.js} +1 -1
- package/dist/esm/chunks/{chunk.OYO6NUZY.js.map → chunk.QXZZ2MTF.js.map} +2 -2
- package/dist/esm/chunks/{chunk.P477KUJ4.js → chunk.QYWAZCBX.js} +3 -3
- package/dist/esm/chunks/chunk.QYWAZCBX.js.map +7 -0
- package/dist/esm/chunks/{chunk.Y2TDQIA4.js → chunk.RD4RIFOZ.js} +1 -1
- package/dist/esm/chunks/{chunk.Y2TDQIA4.js.map → chunk.RD4RIFOZ.js.map} +2 -2
- package/dist/esm/chunks/{chunk.YKNYR3NX.js → chunk.RL7ZFLMG.js} +6 -6
- package/dist/esm/chunks/{chunk.YKNYR3NX.js.map → chunk.RL7ZFLMG.js.map} +2 -2
- package/dist/esm/chunks/{chunk.VEC77KBM.js → chunk.S3UVF647.js} +2 -2
- package/dist/esm/chunks/{chunk.VEC77KBM.js.map → chunk.S3UVF647.js.map} +2 -2
- package/dist/esm/chunks/{chunk.RWCC6E4O.js → chunk.THKWQXBJ.js} +1 -1
- package/dist/esm/chunks/{chunk.RWCC6E4O.js.map → chunk.THKWQXBJ.js.map} +2 -2
- package/dist/esm/chunks/{chunk.DVYPTR7X.js → chunk.TIUNGGBF.js} +4 -4
- package/dist/esm/chunks/{chunk.DVYPTR7X.js.map → chunk.TIUNGGBF.js.map} +0 -0
- package/dist/esm/chunks/{chunk.ZPABBQEA.js → chunk.TM46MNYN.js} +4 -4
- package/dist/esm/chunks/{chunk.ZPABBQEA.js.map → chunk.TM46MNYN.js.map} +2 -2
- package/dist/esm/chunks/{chunk.7XGNGXLR.js → chunk.TYU4RLZG.js} +1 -1
- package/dist/esm/chunks/{chunk.7XGNGXLR.js.map → chunk.TYU4RLZG.js.map} +2 -2
- package/dist/esm/chunks/{chunk.MSCWHFJZ.js → chunk.U37G47LH.js} +8 -8
- package/dist/esm/chunks/{chunk.MSCWHFJZ.js.map → chunk.U37G47LH.js.map} +2 -2
- package/dist/esm/chunks/{chunk.OZAKUOZA.js → chunk.U5ECVIX5.js} +5 -5
- package/dist/esm/chunks/{chunk.OZAKUOZA.js.map → chunk.U5ECVIX5.js.map} +2 -2
- package/dist/esm/chunks/{chunk.O7DYWQD7.js → chunk.UPW5HUKB.js} +5 -5
- package/dist/esm/chunks/{chunk.O7DYWQD7.js.map → chunk.UPW5HUKB.js.map} +2 -2
- package/dist/esm/chunks/{chunk.NL6CT7BU.js → chunk.UQ3QTUUB.js} +2 -2
- package/dist/esm/chunks/{chunk.NL6CT7BU.js.map → chunk.UQ3QTUUB.js.map} +2 -2
- package/dist/esm/chunks/{chunk.JVQP6BJ3.js → chunk.V2ELLBDP.js} +1 -1
- package/dist/esm/chunks/{chunk.JVQP6BJ3.js.map → chunk.V2ELLBDP.js.map} +2 -2
- package/dist/esm/chunks/{chunk.2LQMHAC7.js → chunk.V6Q2SM6Y.js} +1 -1
- package/dist/esm/chunks/{chunk.2LQMHAC7.js.map → chunk.V6Q2SM6Y.js.map} +2 -2
- package/dist/esm/chunks/{chunk.U7HKGOBR.js → chunk.VXAPRFMK.js} +4 -4
- package/dist/esm/chunks/{chunk.U7HKGOBR.js.map → chunk.VXAPRFMK.js.map} +2 -2
- package/dist/esm/chunks/{chunk.H3WRHPWA.js → chunk.VXVE7KEM.js} +4 -4
- package/dist/esm/chunks/{chunk.H3WRHPWA.js.map → chunk.VXVE7KEM.js.map} +2 -2
- package/dist/esm/chunks/{chunk.P7NOYP4O.js → chunk.WDD2GTIH.js} +1 -1
- package/dist/esm/chunks/{chunk.P7NOYP4O.js.map → chunk.WDD2GTIH.js.map} +2 -2
- package/dist/esm/chunks/{chunk.RNPIV3BY.js → chunk.WNVZQDNS.js} +1 -1
- package/dist/esm/chunks/{chunk.RNPIV3BY.js.map → chunk.WNVZQDNS.js.map} +2 -2
- package/dist/esm/chunks/{chunk.V6TRG2CM.js → chunk.WSH4S3GM.js} +2 -2
- package/dist/esm/chunks/{chunk.V6TRG2CM.js.map → chunk.WSH4S3GM.js.map} +2 -2
- package/dist/esm/chunks/{chunk.HVD3BBQG.js → chunk.XHMNHBZD.js} +2 -2
- package/dist/esm/chunks/{chunk.HVD3BBQG.js.map → chunk.XHMNHBZD.js.map} +2 -2
- package/dist/esm/chunks/{chunk.DB7ZQBES.js → chunk.YL2NAVJW.js} +1 -1
- package/dist/esm/chunks/{chunk.DB7ZQBES.js.map → chunk.YL2NAVJW.js.map} +2 -2
- package/dist/esm/chunks/{chunk.FF2RETWV.js → chunk.ZLF2G3YT.js} +11 -11
- package/dist/esm/chunks/{chunk.FF2RETWV.js.map → chunk.ZLF2G3YT.js.map} +2 -2
- package/dist/esm/chunks/{chunk.EKIW7VYG.js → chunk.ZXIDTDRC.js} +1 -1
- package/dist/esm/chunks/{chunk.EKIW7VYG.js.map → chunk.ZXIDTDRC.js.map} +2 -2
- package/dist/esm/circular-progress/index.js +1 -1
- package/dist/esm/color-picker/index.js +7 -6
- package/dist/esm/core/index.js +5 -1
- package/dist/esm/core/utils/index.js +5 -1
- package/dist/esm/date-picker/index.js +14 -13
- package/dist/esm/date-range-picker/index.js +14 -13
- package/dist/esm/dialog/index.js +10 -9
- package/dist/esm/divider/index.js +1 -1
- package/dist/esm/drawer/base/index.js +2 -1
- package/dist/esm/drawer/drawer/index.js +3 -2
- package/dist/esm/drawer/index.js +6 -5
- package/dist/esm/drawer/mini-drawer/index.js +3 -2
- package/dist/esm/drawer/modal-drawer/index.js +4 -3
- package/dist/esm/expansion-panel/index.js +5 -4
- package/dist/esm/file-picker/index.js +5 -4
- package/dist/esm/floating-action-button/index.js +2 -2
- package/dist/esm/icon/index.js +3 -2
- package/dist/esm/icon-button/index.js +5 -4
- package/dist/esm/index.js +90 -86
- package/dist/esm/inline-message/index.js +1 -1
- package/dist/esm/keyboard-shortcut/index.js +1 -1
- package/dist/esm/label-value/index.js +1 -1
- package/dist/esm/linear-progress/index.js +1 -1
- package/dist/esm/list/index.js +3 -3
- package/dist/esm/list/list/index.js +3 -3
- package/dist/esm/list/list-item/index.js +2 -2
- package/dist/esm/list-dropdown/index.js +10 -9
- package/dist/esm/menu/index.js +13 -12
- package/dist/esm/open-icon/index.js +4 -3
- package/dist/esm/page-state/index.js +1 -1
- package/dist/esm/paginator/index.js +23 -22
- package/dist/esm/popup/index.js +1 -1
- package/dist/esm/product-icon/index.js +1 -1
- package/dist/esm/profile-card/index.js +7 -6
- package/dist/esm/quantity-field/index.js +6 -5
- package/dist/esm/radio/index.js +2 -2
- package/dist/esm/ripple/index.js +1 -1
- package/dist/esm/scaffold/index.js +1 -1
- package/dist/esm/select/core/index.js +14 -13
- package/dist/esm/select/index.js +21 -20
- package/dist/esm/select/option/index.js +1 -1
- package/dist/esm/select/option-group/index.js +1 -1
- package/dist/esm/select/select/index.js +19 -18
- package/dist/esm/select/select-dropdown/index.js +19 -18
- package/dist/esm/skeleton/index.js +1 -1
- package/dist/esm/slider/index.js +3 -2
- package/dist/esm/stepper/index.js +6 -5
- package/dist/esm/stepper/step/index.js +5 -4
- package/dist/esm/stepper/stepper/index.js +6 -5
- package/dist/esm/switch/index.js +3 -2
- package/dist/esm/table/index.js +9 -8
- package/dist/esm/tabs/index.js +8 -7
- package/dist/esm/tabs/tab/index.js +3 -3
- package/dist/esm/tabs/tab-bar/index.js +7 -6
- package/dist/esm/text-field/index.js +1 -1
- package/dist/esm/time-picker/index.js +18 -17
- package/dist/esm/toast/index.js +7 -6
- package/dist/esm/toolbar/index.js +1 -1
- package/dist/esm/tooltip/index.js +1 -1
- package/dist/esm/view-switcher/index.js +2 -2
- package/dist/esm/view-switcher/view/index.js +1 -1
- package/dist/forge-dark.css +1 -1
- package/esm/accordion/accordion.d.ts +2 -0
- package/esm/accordion/accordion.js +2 -0
- package/esm/app-bar/app-bar.d.ts +5 -1
- package/esm/app-bar/app-bar.js +5 -1
- package/esm/app-bar/help-button/app-bar-help-button.d.ts +5 -0
- package/esm/app-bar/help-button/app-bar-help-button.js +5 -0
- package/esm/app-bar/menu-button/app-bar-menu-button.d.ts +5 -0
- package/esm/app-bar/menu-button/app-bar-menu-button.js +5 -0
- package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +5 -0
- package/esm/app-bar/notification-button/app-bar-notification-button.js +5 -0
- package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +5 -0
- package/esm/app-bar/profile-button/app-bar-profile-button.js +5 -0
- package/esm/app-bar/search/app-bar-search.d.ts +26 -0
- package/esm/app-bar/search/app-bar-search.js +26 -0
- package/esm/autocomplete/autocomplete.d.ts +2 -0
- package/esm/autocomplete/autocomplete.js +2 -0
- package/esm/avatar/avatar.d.ts +2 -0
- package/esm/avatar/avatar.js +2 -0
- package/esm/backdrop/backdrop.d.ts +2 -0
- package/esm/backdrop/backdrop.js +2 -0
- package/esm/badge/badge.d.ts +5 -0
- package/esm/badge/badge.js +5 -0
- package/esm/banner/banner.d.ts +2 -0
- package/esm/banner/banner.js +2 -0
- package/esm/bottom-sheet/bottom-sheet.d.ts +5 -0
- package/esm/bottom-sheet/bottom-sheet.js +5 -0
- package/esm/busy-indicator/busy-indicator.d.ts +5 -1
- package/esm/busy-indicator/busy-indicator.js +5 -1
- package/esm/button/button.d.ts +2 -0
- package/esm/button/button.js +2 -0
- package/esm/button-toggle/button-toggle/button-toggle.d.ts +5 -0
- package/esm/button-toggle/button-toggle/button-toggle.js +5 -0
- package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +5 -0
- package/esm/button-toggle/button-toggle-group/button-toggle-group.js +5 -0
- package/esm/calendar/calendar-menu/calendar-menu.d.ts +6 -0
- package/esm/calendar/calendar-menu/calendar-menu.js +6 -0
- package/esm/calendar/calendar.d.ts +5 -0
- package/esm/calendar/calendar.js +5 -0
- package/esm/card/card.d.ts +5 -1
- package/esm/card/card.js +5 -1
- package/esm/checkbox/checkbox.d.ts +2 -0
- package/esm/checkbox/checkbox.js +2 -0
- package/esm/chip-field/chip-field.d.ts +5 -0
- package/esm/chip-field/chip-field.js +5 -0
- package/esm/chips/chip/chip.d.ts +2 -0
- package/esm/chips/chip/chip.js +2 -0
- package/esm/chips/chip-set/chip-set.d.ts +5 -0
- package/esm/chips/chip-set/chip-set.js +5 -0
- package/esm/circular-progress/circular-progress.d.ts +5 -0
- package/esm/circular-progress/circular-progress.js +5 -0
- package/esm/color-picker/color-picker.d.ts +5 -0
- package/esm/color-picker/color-picker.js +5 -0
- package/esm/core/utils/event-utils.d.ts +12 -0
- package/esm/core/utils/event-utils.js +16 -0
- package/esm/core/utils/index.d.ts +1 -0
- package/esm/core/utils/index.js +1 -0
- package/esm/date-picker/date-picker.d.ts +5 -1
- package/esm/date-picker/date-picker.js +5 -1
- package/esm/date-range-picker/date-range-picker.d.ts +5 -1
- package/esm/date-range-picker/date-range-picker.js +5 -1
- package/esm/dialog/dialog.d.ts +5 -0
- package/esm/dialog/dialog.js +5 -0
- package/esm/divider/divider.d.ts +2 -0
- package/esm/divider/divider.js +2 -0
- package/esm/drawer/base/base-drawer-adapter.d.ts +5 -0
- package/esm/drawer/base/base-drawer-adapter.js +13 -0
- package/esm/drawer/base/base-drawer-foundation.js +2 -0
- package/esm/drawer/drawer/drawer.d.ts +5 -0
- package/esm/drawer/drawer/drawer.js +5 -0
- package/esm/drawer/mini-drawer/mini-drawer.d.ts +5 -0
- package/esm/drawer/mini-drawer/mini-drawer.js +5 -0
- package/esm/drawer/modal-drawer/modal-drawer.d.ts +5 -0
- package/esm/drawer/modal-drawer/modal-drawer.js +5 -0
- package/esm/expansion-panel/expansion-panel.d.ts +2 -0
- package/esm/expansion-panel/expansion-panel.js +2 -0
- package/esm/file-picker/file-picker.d.ts +5 -0
- package/esm/file-picker/file-picker.js +5 -0
- package/esm/floating-action-button/floating-action-button.d.ts +5 -1
- package/esm/floating-action-button/floating-action-button.js +5 -1
- package/esm/icon/icon.d.ts +5 -0
- package/esm/icon/icon.js +5 -0
- package/esm/icon-button/icon-button.d.ts +2 -0
- package/esm/icon-button/icon-button.js +2 -0
- package/esm/inline-message/inline-message.d.ts +5 -0
- package/esm/inline-message/inline-message.js +5 -0
- package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +5 -0
- package/esm/keyboard-shortcut/keyboard-shortcut.js +5 -0
- package/esm/label-value/label-value.d.ts +5 -0
- package/esm/label-value/label-value.js +6 -1
- package/esm/linear-progress/linear-progress.d.ts +5 -0
- package/esm/linear-progress/linear-progress.js +5 -0
- package/esm/list/list/list.d.ts +2 -0
- package/esm/list/list/list.js +2 -0
- package/esm/list/list-item/list-item.d.ts +5 -1
- package/esm/list/list-item/list-item.js +5 -1
- package/esm/menu/menu.d.ts +5 -0
- package/esm/menu/menu.js +5 -0
- package/esm/open-icon/open-icon.d.ts +5 -0
- package/esm/open-icon/open-icon.js +5 -0
- package/esm/page-state/page-state.d.ts +5 -0
- package/esm/page-state/page-state.js +5 -0
- package/esm/paginator/paginator.d.ts +2 -0
- package/esm/paginator/paginator.js +2 -0
- package/esm/popup/popup.d.ts +5 -0
- package/esm/popup/popup.js +5 -0
- package/esm/product-icon/product-icon.d.ts +5 -0
- package/esm/product-icon/product-icon.js +5 -0
- package/esm/profile-card/profile-card.d.ts +5 -0
- package/esm/profile-card/profile-card.js +5 -0
- package/esm/quantity-field/quantity-field.d.ts +5 -0
- package/esm/quantity-field/quantity-field.js +5 -0
- package/esm/radio/radio.d.ts +2 -0
- package/esm/radio/radio.js +2 -0
- package/esm/ripple/ripple.d.ts +5 -0
- package/esm/ripple/ripple.js +5 -0
- package/esm/scaffold/scaffold.d.ts +2 -0
- package/esm/scaffold/scaffold.js +2 -0
- package/esm/select/option/option.d.ts +2 -0
- package/esm/select/option/option.js +2 -0
- package/esm/select/option-group/option-group.d.ts +2 -0
- package/esm/select/option-group/option-group.js +2 -0
- package/esm/select/select/select-adapter.js +12 -10
- package/esm/select/select/select-foundation.d.ts +2 -0
- package/esm/select/select/select-foundation.js +6 -2
- package/esm/select/select/select.d.ts +2 -2
- package/esm/select/select/select.js +4 -6
- package/esm/select/select-dropdown/select-dropdown.d.ts +5 -0
- package/esm/select/select-dropdown/select-dropdown.js +5 -0
- package/esm/skeleton/skeleton.d.ts +5 -0
- package/esm/skeleton/skeleton.js +5 -0
- package/esm/slider/slider.d.ts +2 -0
- package/esm/slider/slider.js +2 -0
- package/esm/stepper/step/step.d.ts +5 -0
- package/esm/stepper/step/step.js +5 -0
- package/esm/stepper/stepper/stepper.d.ts +5 -0
- package/esm/stepper/stepper/stepper.js +5 -0
- package/esm/switch/switch.d.ts +2 -0
- package/esm/switch/switch.js +2 -0
- package/esm/table/table.d.ts +3 -1
- package/esm/table/table.js +3 -1
- package/esm/tabs/tab/tab.d.ts +5 -0
- package/esm/tabs/tab/tab.js +5 -0
- package/esm/tabs/tab-bar/tab-bar.d.ts +2 -0
- package/esm/tabs/tab-bar/tab-bar.js +2 -0
- package/esm/text-field/text-field.d.ts +5 -0
- package/esm/text-field/text-field.js +5 -0
- package/esm/time-picker/time-picker.d.ts +5 -0
- package/esm/time-picker/time-picker.js +5 -0
- package/esm/toast/toast.d.ts +2 -0
- package/esm/toast/toast.js +2 -0
- package/esm/toolbar/toolbar.d.ts +5 -0
- package/esm/toolbar/toolbar.js +5 -0
- package/esm/tooltip/tooltip.d.ts +5 -1
- package/esm/tooltip/tooltip.js +5 -1
- package/esm/view-switcher/view/view.d.ts +5 -0
- package/esm/view-switcher/view/view.js +5 -0
- package/esm/view-switcher/view-switcher.d.ts +5 -0
- package/esm/view-switcher/view-switcher.js +5 -0
- package/package.json +3 -2
- package/styles/label-value/_mixins.scss +10 -7
- package/styles/label-value/_variables.scss +1 -0
- package/styles/select/select/_selector.scss +4 -2
- package/styles/select/select/select.scss +4 -0
- package/styles/theme/_theme-values.scss +1 -1
- package/styles/theme/_theme.scss +2 -1
- package/dist/esm/chunks/chunk.3ZKORL4I.js.map +0 -7
- package/dist/esm/chunks/chunk.IWXT6VVJ.js.map +0 -7
- package/dist/esm/chunks/chunk.NJRPAX7P.js.map +0 -7
- package/dist/esm/chunks/chunk.P477KUJ4.js.map +0 -7
- package/dist/esm/chunks/chunk.UM3J4AZ7.js.map +0 -7
- package/styles/label-value/_base.scss +0 -252
- package/styles/label-value/_core.scss +0 -15
- package/styles/label-value/_selector.scss +0 -167
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/floating-action-button/floating-action-button-constants.ts", "../../src/floating-action-button/floating-action-button.ts", "../../src/floating-action-button/floating-action-button-component-delegate.ts", "../../src/floating-action-button/index.ts"],
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}fab`;\n\nconst selectors = {\n BUTTON: 'button',\n ICON: 'i,forge-icon,img,svg',\n LABEL: 'span'\n};\n\nconst classes = {\n BUTTON: 'forge-fab',\n BUTTON_EXTENDED: 'forge-fab--extended',\n ICON: 'forge-fab__icon',\n LABEL: 'forge-fab__label',\n BUTTON_MINI: 'forge-fab--mini',\n EXITED: 'forge-fab--exited',\n RIPPLE: 'forge-fab__ripple'\n};\n\nconst attributes = {\n EXTENDED: 'extended',\n MINI: 'mini',\n EXITED: 'exited'\n};\n\nexport const FLOATING_ACTION_BUTTON_CONSTANTS = {\n elementName,\n selectors,\n classes,\n attributes\n};\n", "import { coerceBoolean, CustomElement, ensureChildren, toggleClass } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { ForgeRipple } from '../ripple';\nimport { FLOATING_ACTION_BUTTON_CONSTANTS } from './floating-action-button-constants';\n\nexport interface IFloatingActionButtonComponent extends IBaseComponent {\n exited: boolean;\n mini: boolean;\n extended: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-fab': IFloatingActionButtonComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-fab>` element.\n * \n * @tag forge-fab\n */\n@CustomElement({\n name: FLOATING_ACTION_BUTTON_CONSTANTS.elementName\n})\nexport class FloatingActionButton extends BaseComponent implements IFloatingActionButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n FLOATING_ACTION_BUTTON_CONSTANTS.attributes.EXITED,\n FLOATING_ACTION_BUTTON_CONSTANTS.attributes.MINI,\n FLOATING_ACTION_BUTTON_CONSTANTS.attributes.EXTENDED\n ];\n }\n\n private _rippleInstance: ForgeRipple;\n private _isExtended = false;\n private _isMini = false;\n private _isExited = false;\n private _buttonElement: HTMLButtonElement;\n\n constructor() {\n super();\n }\n\n public connectedCallback(): void {\n if (this.children.length) {\n this._initialize();\n } else {\n ensureChildren(this).then(() => this._initialize());\n }\n }\n\n public disconnectedCallback(): void {\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FLOATING_ACTION_BUTTON_CONSTANTS.attributes.EXITED:\n this.exited = coerceBoolean(newValue);\n break;\n case FLOATING_ACTION_BUTTON_CONSTANTS.attributes.MINI:\n this.mini = coerceBoolean(newValue);\n break;\n case FLOATING_ACTION_BUTTON_CONSTANTS.attributes.EXTENDED:\n this.extended = coerceBoolean(newValue);\n break;\n }\n }\n\n private _initialize(): void {\n // Make sure we have a button element\n this._buttonElement = this.querySelector(FLOATING_ACTION_BUTTON_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n if (!this._buttonElement) {\n return;\n }\n\n this._buttonElement.classList.add(FLOATING_ACTION_BUTTON_CONSTANTS.classes.BUTTON);\n\n const rippleElement = this._buttonElement.querySelector(`.${FLOATING_ACTION_BUTTON_CONSTANTS.classes.RIPPLE}`) || document.createElement('div');\n rippleElement.classList.add(FLOATING_ACTION_BUTTON_CONSTANTS.classes.RIPPLE);\n this._buttonElement.insertAdjacentElement('afterbegin', rippleElement);\n this._sync();\n\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n }\n\n this._rippleInstance = new ForgeRipple(this._buttonElement);\n }\n\n private _sync(): void {\n if (!this._buttonElement) {\n return;\n }\n\n toggleClass(this._buttonElement, this._isExited, FLOATING_ACTION_BUTTON_CONSTANTS.classes.EXITED);\n toggleClass(this._buttonElement, this._isMini, FLOATING_ACTION_BUTTON_CONSTANTS.classes.BUTTON_MINI);\n toggleClass(this._buttonElement, this._isExtended, FLOATING_ACTION_BUTTON_CONSTANTS.classes.BUTTON_EXTENDED);\n\n // Check if we need to set the label class\n const labelElement = this.querySelector(FLOATING_ACTION_BUTTON_CONSTANTS.selectors.LABEL);\n if (labelElement) {\n labelElement.classList.add(FLOATING_ACTION_BUTTON_CONSTANTS.classes.LABEL);\n }\n\n // Check if we need to set the icon class\n const iconElement = this.querySelector(FLOATING_ACTION_BUTTON_CONSTANTS.selectors.ICON);\n if (iconElement) {\n iconElement.classList.add(FLOATING_ACTION_BUTTON_CONSTANTS.classes.ICON);\n iconElement.setAttribute('aria-hidden', 'true');\n }\n }\n\n /** Gets/sets the exited state. */\n public set exited(value: boolean) {\n if (this._isExited !== value) {\n this._isExited = value;\n this.setAttribute(FLOATING_ACTION_BUTTON_CONSTANTS.attributes.EXITED, this._isExited.toString());\n this._sync();\n }\n }\n public get exited(): boolean {\n return this._isExited;\n }\n \n /** Gets/sets the mini state. */\n public set mini(value: boolean) {\n if (this._isMini !== value) {\n this._isMini = value;\n this.setAttribute(FLOATING_ACTION_BUTTON_CONSTANTS.attributes.MINI, this._isMini.toString());\n this._sync();\n }\n }\n public get mini(): boolean {\n return this._isMini;\n }\n \n /** Gets/sets the extended state. */\n public set extended(value: boolean) {\n if (this._isExtended !== value) {\n this._isExtended = value;\n this.setAttribute(FLOATING_ACTION_BUTTON_CONSTANTS.attributes.EXTENDED, this._isExtended.toString());\n this._sync();\n }\n }\n public get extended(): boolean {\n return this._isExtended;\n }\n}\n", "import { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { IFloatingActionButtonComponent } from './floating-action-button';\nimport { FLOATING_ACTION_BUTTON_CONSTANTS } from './floating-action-button-constants';\n\nexport type FloatingActionButtonComponentDelegateProps = Partial<IFloatingActionButtonComponent>;\nexport interface IFloatingActionButtonComponentDelegateOptions extends IBaseComponentDelegateOptions {\n text?: string;\n}\nexport interface IFloatingActionButtonComponentDelegateConfig extends IBaseComponentDelegateConfig<IFloatingActionButtonComponent, IFloatingActionButtonComponentDelegateOptions> {}\n\nexport class FloatingActionButtonComponentDelegate extends BaseComponentDelegate<IFloatingActionButtonComponent, IFloatingActionButtonComponentDelegateOptions> {\n private _buttonElement?: HTMLButtonElement;\n\n constructor(config?: IFloatingActionButtonComponentDelegateConfig) {\n super(config);\n }\n\n public override destroy(): void {\n this._buttonElement = undefined;\n }\n\n protected _build(): IFloatingActionButtonComponent {\n const component = document.createElement(FLOATING_ACTION_BUTTON_CONSTANTS.elementName);\n\n this._buttonElement = document.createElement('button');\n this._buttonElement.type = 'button';\n this._buttonElement.textContent = this._config.options?.text ?? '';\n component.appendChild(this._buttonElement);\n\n return component;\n }\n\n public onClick(listener: (evt: MouseEvent) => void): void {\n this._buttonElement?.addEventListener('click', listener);\n }\n\n public onFocus(listener: (evt: Event) => void): void {\n this._buttonElement?.addEventListener('focus', evt => listener(evt));\n }\n\n public onBlur(listener: (evt: Event) => void): void {\n this._buttonElement?.addEventListener('blur', evt => listener(evt));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { FloatingActionButton } from './floating-action-button';\n\nexport * from './floating-action-button-constants';\nexport * from './floating-action-button';\nexport * from './floating-action-button-component-delegate';\n\nexport function defineFloatingActionButtonComponent(): void {\n defineCustomElement(FloatingActionButton);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/calendar/calendar-menu/calendar-menu-constants.ts", "../../src/calendar/calendar-menu/calendar-menu-utils.ts", "../../src/calendar/calendar-menu/calendar-menu-adapter.ts", "../../src/calendar/calendar-menu/calendar-menu-foundation.ts", "../../src/calendar/calendar-menu/calendar-menu.ts", "../../src/calendar/calendar-menu/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\nimport { IOption } from '../../select';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}calendar-menu`;\n\nconst attributes = {\n ANIMATION_TYPE: 'animation-type',\n DATA_ANIMATION: 'data-animation',\n DATA_VALUE: 'data-value',\n POPUP_CONTEXT: 'forge-popup-context',\n PREVENT_FOCUS: 'prevent-focus'\n};\n\nconst classes = {\n BACKDROP: 'forge-calendar-menu__backdrop',\n CLOSING: 'forge-calendar-menu--closing',\n GRID: 'forge-calendar-menu__grid',\n GRID_ITEM: 'forge-calendar-menu__item--grid',\n GRID_FOUR_COL: 'forge-calendar-menu__grid--four-col',\n GRID_THREE_COL: 'forge-calendar-menu__grid--three-col',\n ITEM: 'forge-calendar-menu__item',\n ITEM_FOCUSED: 'forge-calendar-menu__item--focused',\n ITEM_SELECTED: 'forge-calendar-menu__item--selected',\n LIST: 'forge-calendar-menu__list',\n LIST_ITEM: 'forge-calendar-menu__item--list',\n LIST_WRAPPER: 'forge-calendar-menu__list__wrapper',\n MDC_RIPPLE_UPGRADED_FOCUSED: 'mdc-ripple-upgraded--background-focused',\n OPEN: 'forge-calendar-menu--open',\n REPLACING_VIEW: 'forge-calendar-menu--replacing-view',\n SLIDE_LEFT: 'forge-calendar-menu--slide-left',\n SLIDE_RIGHT: 'forge-calendar-menu--slide-right',\n VIEW: 'forge-calendar-menu__view'\n};\n\nconst ids = {\n SCROLL_SPY_BOTTOM: 'scroll-spy-bottom',\n SCROLL_SPY_TOP: 'scroll-spy-top'\n};\n\nconst parts = {\n ITEM: 'menu-item',\n ITEM_BUTTON: 'menu-item-button',\n ITEM_CONTENT: 'menu-item-content',\n MENU: 'menu'\n};\n\nconst selectors = {\n CONTAINER: '.forge-calendar-menu',\n FOCUSED: `.${classes.ITEM_FOCUSED}`,\n GRID: `.${classes.GRID}`,\n ITEM: `.${classes.ITEM}`,\n LIST: `.${classes.LIST}`,\n LIST_WRAPPER: `.${classes.LIST_WRAPPER}`,\n SCROLL_SPY_BOTTOM: `#${ids.SCROLL_SPY_BOTTOM}`,\n SCROLL_SPY_TOP: `#${ids.SCROLL_SPY_TOP}`,\n SELECTED: `.${classes.ITEM_SELECTED}`,\n VIEW: `.${classes.VIEW}`\n};\n\nconst events = {\n FOCUS_CHANGE: `${elementName}-focus-change`,\n SELECT: `${elementName}-select`\n};\n\nconst numbers = {\n FOUR_COL: 4,\n LARGE_ITEM_SET: 13,\n LIST_SLICE_SIZE: 20,\n THREE_COL: 3\n};\n\nexport const CALENDAR_MENU_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n parts,\n selectors,\n events,\n numbers\n};\n\nexport interface ICalendarMenuOption extends Omit<IOption, 'value'> {\n selected?: boolean;\n value: number;\n}\n\nexport type CalendarDirection = 'left' | 'right';\nexport type CalendarMenuAnimationType = 'scale' | 'fade' | 'none';\n", "import { CALENDAR_MENU_CONSTANTS, ICalendarMenuOption } from './calendar-menu-constants';\n\nexport function getGrid(options: ICalendarMenuOption[]): HTMLElement {\n const grid = document.createElement('div');\n grid.setAttribute('part', CALENDAR_MENU_CONSTANTS.parts.MENU);\n grid.classList.add(CALENDAR_MENU_CONSTANTS.classes.VIEW, CALENDAR_MENU_CONSTANTS.classes.GRID);\n let gridItems: HTMLElement[];\n if (options.length > 12) {\n grid.classList.add(CALENDAR_MENU_CONSTANTS.classes.GRID_FOUR_COL);\n gridItems = getGridItems(options);\n } else {\n grid.classList.add(CALENDAR_MENU_CONSTANTS.classes.GRID_THREE_COL);\n gridItems = getGridItems(options);\n }\n gridItems.forEach(g => grid.appendChild(g));\n return grid;\n}\n\nexport function getGridItems(options: ICalendarMenuOption[]): HTMLElement[] {\n return options.map(o => {\n const element = document.createElement('div');\n element.classList.add(CALENDAR_MENU_CONSTANTS.classes.ITEM, CALENDAR_MENU_CONSTANTS.classes.GRID_ITEM);\n element.innerText = o.label;\n element.setAttribute('role', 'button');\n element.setAttribute('part', CALENDAR_MENU_CONSTANTS.parts.ITEM);\n element.setAttribute('tabindex', '-1');\n element.setAttribute(CALENDAR_MENU_CONSTANTS.attributes.DATA_VALUE, o.value.toString());\n if (o.selected) {\n element.classList.add(CALENDAR_MENU_CONSTANTS.classes.ITEM_SELECTED);\n element.setAttribute('aria-current', 'true');\n }\n if (o.disabled) {\n element.setAttribute('disabled', 'true');\n }\n return element;\n });\n}\n\nexport function getList(options: ICalendarMenuOption[]): HTMLElement {\n const wrapper = document.createElement('div');\n const list = document.createElement('div');\n wrapper.classList.add(CALENDAR_MENU_CONSTANTS.classes.VIEW, CALENDAR_MENU_CONSTANTS.classes.LIST_WRAPPER);\n list.classList.add(CALENDAR_MENU_CONSTANTS.classes.LIST);\n list.setAttribute('role', 'list');\n list.appendChild(getScrollSpy(CALENDAR_MENU_CONSTANTS.ids.SCROLL_SPY_TOP));\n getListItems(options).forEach(l => list.appendChild(l));\n list.appendChild(getScrollSpy(CALENDAR_MENU_CONSTANTS.ids.SCROLL_SPY_BOTTOM));\n wrapper.appendChild(list);\n return wrapper;\n}\n\nexport function getListItems(options: ICalendarMenuOption[]): HTMLElement[] {\n return options.map(o => {\n const element = document.createElement('div');\n element.innerText = o.label;\n element.classList.add(CALENDAR_MENU_CONSTANTS.classes.ITEM, CALENDAR_MENU_CONSTANTS.classes.LIST_ITEM);\n element.setAttribute('part', CALENDAR_MENU_CONSTANTS.parts.ITEM);\n element.setAttribute('tabindex', '-1');\n element.setAttribute('role', 'listitem');\n element.setAttribute(CALENDAR_MENU_CONSTANTS.attributes.DATA_VALUE, o.value.toString());\n if (o.selected) {\n element.classList.toggle(CALENDAR_MENU_CONSTANTS.classes.ITEM_SELECTED, true);\n element.setAttribute('aria-current', 'true');\n }\n if (o.disabled) {\n element.setAttribute('disabled', 'true');\n }\n return element;\n });\n}\n\nexport function getScrollSpy(id: string): HTMLElement {\n const element = document.createElement('div');\n element.id = id;\n element.setAttribute('aria-hidden', 'true');\n return element;\n}\n\nexport function removeAllExceptLastChild(el: HTMLElement): void {\n while (el.childNodes.length > 1) {\n if (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n }\n}\n", "import { getShadowElement, playKeyframeAnimation, removeAllChildren, tryScrollIntoView } from '@tylertech/forge-core';\n\nimport { BaseAdapter, IBaseAdapter } from '../../core';\nimport { CalendarMenuAnimationType, CALENDAR_MENU_CONSTANTS, ICalendarMenuOption } from './calendar-menu-constants';\nimport { ICalendarMenuComponent } from './calendar-menu';\nimport { getGrid, getList, getListItems, removeAllExceptLastChild } from './calendar-menu-utils';\n\nexport interface ICalendarMenuAdapter extends IBaseAdapter {\n appendListItemsToEnd(options: ICalendarMenuOption[]): void;\n appendListItemsToStart(options: ICalendarMenuOption[]): void;\n animateInFromLeft(options: ICalendarMenuOption[], callback?: () => void): void;\n animateInFromRight(options: ICalendarMenuOption[], callback?: () => void): void;\n registerClickListener(listener: (evt: Event) => void): void;\n registerIntersectionObserver(callback: IntersectionObserverCallback): void;\n setAnimationType(value: CalendarMenuAnimationType): void;\n setClosed(): void;\n setFocusAtIndex(index: number, setFocus: boolean, preventFocus: boolean): void;\n setOpenAsGrid(options: ICalendarMenuOption[], focusedIndex: number, setFocus: boolean, preventFocus: boolean, replace?: boolean): void;\n setOpenAsList(options: ICalendarMenuOption[], focusedIndex: number, setFocus: boolean, preventFocus: boolean, replace?: boolean): void;\n unregisterClickListener(listener: (evt: Event) => void): void;\n unregisterIntersectionObserver(): void;\n}\n\nexport class CalendarMenuAdapter extends BaseAdapter<ICalendarMenuComponent> implements ICalendarMenuAdapter {\n private _container: HTMLElement;\n private _intersectionObserver: IntersectionObserver | undefined;\n\n constructor(private component: ICalendarMenuComponent) {\n super(component);\n this._container = getShadowElement(component, CALENDAR_MENU_CONSTANTS.selectors.CONTAINER);\n }\n\n public registerClickListener(listener: (evt: Event) => void): void {\n this._container.addEventListener('click', listener);\n }\n\n public unregisterClickListener(listener: (evt: Event) => void): void {\n this._container.removeEventListener('click', listener);\n }\n\n public registerIntersectionObserver(callback: IntersectionObserverCallback): void {\n const root = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.LIST_WRAPPER);\n if (!root) {\n return;\n }\n const options = {\n root\n };\n this._intersectionObserver = new IntersectionObserver(callback, options);\n\n const scrollSpyBottom = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.SCROLL_SPY_BOTTOM);\n const scrollSpyTop = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.SCROLL_SPY_TOP);\n if (scrollSpyBottom) {\n this._intersectionObserver.observe(scrollSpyBottom);\n }\n if (scrollSpyTop) {\n this._intersectionObserver.observe(scrollSpyTop);\n }\n }\n\n public unregisterIntersectionObserver(): void {\n if (this._intersectionObserver) {\n this._intersectionObserver.disconnect();\n this._intersectionObserver = undefined;\n }\n }\n\n public setAnimationType(value: CalendarMenuAnimationType): void {\n this._container.setAttribute(CALENDAR_MENU_CONSTANTS.attributes.DATA_ANIMATION, value);\n }\n\n public setClosed(): void {\n this._container.classList.remove(CALENDAR_MENU_CONSTANTS.classes.OPEN);\n this._container.classList.add(CALENDAR_MENU_CONSTANTS.classes.CLOSING);\n playKeyframeAnimation(this._container, CALENDAR_MENU_CONSTANTS.classes.CLOSING, true).then(() => {\n removeAllChildren(this._container);\n this.toggleHostAttribute('hidden', true);\n });\n }\n\n public setOpenAsGrid(options: ICalendarMenuOption[], focusedIndex: number, setFocus: boolean, preventFocus: boolean, replace?: boolean): void {\n const element = getGrid(options);\n if (replace) {\n playKeyframeAnimation(this._container, CALENDAR_MENU_CONSTANTS.classes.REPLACING_VIEW, true).then(() => {\n removeAllExceptLastChild(this._container);\n this.setFocusAtIndex(focusedIndex, setFocus, preventFocus);\n });\n }\n this._container.appendChild(element);\n this.toggleHostAttribute('hidden', false);\n this._container.classList.add(CALENDAR_MENU_CONSTANTS.classes.OPEN);\n if (!replace) {\n this.setFocusAtIndex(focusedIndex, setFocus, preventFocus);\n }\n }\n\n public setOpenAsList(options: ICalendarMenuOption[], focusedIndex: number, setFocus: boolean, preventFocus: boolean, replace?: boolean): void {\n const element = getList(options);\n if (replace) {\n playKeyframeAnimation(this._container, CALENDAR_MENU_CONSTANTS.classes.REPLACING_VIEW, true).then(() => {\n removeAllExceptLastChild(this._container);\n this.setFocusAtIndex(focusedIndex, setFocus, preventFocus);\n });\n }\n this._container.appendChild(element);\n this.toggleHostAttribute('hidden', false);\n this._container.classList.add(CALENDAR_MENU_CONSTANTS.classes.OPEN);\n this._scrollItemIntoView('selected');\n if (!replace) {\n this.setFocusAtIndex(focusedIndex, setFocus, preventFocus);\n }\n }\n\n public appendListItemsToStart(options: ICalendarMenuOption[]): void {\n const wrapper = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.LIST_WRAPPER);\n const list = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.LIST);\n const firstItem = list?.querySelector(CALENDAR_MENU_CONSTANTS.selectors.ITEM);\n if (wrapper && list && firstItem) {\n const oldScrollTop = wrapper.scrollTop;\n const oldScroll = wrapper.scrollHeight - wrapper.clientHeight;\n\n getListItems(options).forEach(l => {\n list.insertBefore(l, firstItem);\n });\n\n const newScroll = wrapper.scrollHeight - wrapper.clientHeight;\n wrapper.scrollTop = oldScrollTop + (newScroll - oldScroll);\n }\n }\n\n public appendListItemsToEnd(options: ICalendarMenuOption[]): void {\n const list = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.LIST);\n const scrollSpyBottom = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.SCROLL_SPY_BOTTOM);\n if (list && scrollSpyBottom) {\n getListItems(options).forEach(l => {\n list.insertBefore(l, scrollSpyBottom);\n });\n }\n }\n\n public animateInFromLeft(options: ICalendarMenuOption[], callback?: () => void): void {\n playKeyframeAnimation(this._container, CALENDAR_MENU_CONSTANTS.classes.SLIDE_RIGHT, true).then(() => {\n removeAllExceptLastChild(this._container);\n if (callback) {\n callback();\n }\n });\n const element = getGrid(options);\n this._container.appendChild(element);\n }\n\n public animateInFromRight(options: ICalendarMenuOption[], callback?: () => void): void {\n playKeyframeAnimation(this._container, CALENDAR_MENU_CONSTANTS.classes.SLIDE_LEFT, true).then(() => {\n removeAllExceptLastChild(this._container);\n if (callback) {\n callback();\n }\n });\n const element = getGrid(options);\n this._container.appendChild(element);\n }\n\n public setFocusAtIndex(index: number, setFocus: boolean, preventFocus: boolean): void {\n const previouslyFocusedElement = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.FOCUSED);\n previouslyFocusedElement?.classList.remove(CALENDAR_MENU_CONSTANTS.classes.ITEM_FOCUSED, CALENDAR_MENU_CONSTANTS.classes.MDC_RIPPLE_UPGRADED_FOCUSED);\n previouslyFocusedElement?.setAttribute('tabindex', '-1');\n const item = this._container.querySelectorAll(CALENDAR_MENU_CONSTANTS.selectors.ITEM)?.[index];\n if (item) {\n item.classList.add(CALENDAR_MENU_CONSTANTS.classes.ITEM_FOCUSED);\n item.setAttribute('tabindex', preventFocus ? '-1' : '0' );\n if (setFocus && !preventFocus) {\n (item as HTMLElement).focus();\n } else if (preventFocus) {\n item.classList.add(CALENDAR_MENU_CONSTANTS.classes.MDC_RIPPLE_UPGRADED_FOCUSED);\n }\n this._scrollItemIntoView('focused');\n }\n }\n\n private _scrollItemIntoView(type: 'selected' | 'focused'): void {\n const list = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.LIST);\n const item = list?.querySelector(type === 'selected' ? CALENDAR_MENU_CONSTANTS.selectors.SELECTED : CALENDAR_MENU_CONSTANTS.selectors.FOCUSED);\n if (list && item) {\n tryScrollIntoView(list.parentElement as HTMLElement, item as HTMLElement, type === 'selected' ? 'auto' : 'smooth', type === 'selected' ? 'center' : 'nearest');\n }\n }\n\n\n}\n", "import { getEventPath, ICustomElementFoundation, isDefined } from '@tylertech/forge-core';\n\nimport { CalendarDirection, CalendarMenuAnimationType, CALENDAR_MENU_CONSTANTS } from './calendar-menu-constants';\nimport { ICalendarMenuAdapter } from './calendar-menu-adapter';\nimport { ICalendarMenuOption } from './calendar-menu-constants';\n\nexport interface ICalendarMenuFoundation extends ICustomElementFoundation {\n animationType: CalendarMenuAnimationType;\n preventFocus: boolean;\n animateIn(options: ICalendarMenuOption[], direction: CalendarDirection, setFocus: boolean): void;\n close(): void;\n moveFocusBackward(): boolean;\n moveFocusDown(): void;\n moveFocusForward(): boolean;\n moveFocusUp(): void;\n openAsGrid(options: ICalendarMenuOption[], setFocus: boolean): void;\n openAsList(options: ICalendarMenuOption[], setFocus: boolean): void;\n selectFocusedItem(): void;\n}\n\nexport class CalendarMenuFoundation implements ICalendarMenuFoundation {\n private _animationType: CalendarMenuAnimationType = 'scale';\n private _columnCount = 3;\n private _focusedIndex = 0;\n private _focusedIndexAfterAnimation: number | undefined;\n private _list = false; // This will be used to manage focus in a list view\n private _open = false;\n private _options: ICalendarMenuOption[] = [];\n private _preventFocus = false;\n private _sliceEnd = -1;\n private _sliceStart = -1;\n private _clickListener: (evt: Event) => void;\n private _intersectionObserverCallback: IntersectionObserverCallback;\n\n constructor(private _adapter: ICalendarMenuAdapter) {\n this._clickListener = evt => this._onClick(evt);\n this._intersectionObserverCallback = (entries: IntersectionObserverEntry[]) => this._onIntersection(entries);\n }\n\n public initialize(): void {\n this._applyAnimationType();\n this._applyPreventFocus();\n this._adapter.setHostAttribute('exportparts', Object.values(CALENDAR_MENU_CONSTANTS.parts).join(', '));\n this._adapter.toggleHostAttribute('hidden', true);\n this._adapter.registerClickListener(this._clickListener);\n }\n\n public disconnect(): void {\n this._adapter.unregisterClickListener(this._clickListener);\n this._adapter.unregisterIntersectionObserver();\n }\n\n public openAsGrid(options: ICalendarMenuOption[], setFocus: boolean): void {\n this._list = false;\n this._options = options;\n this._focusedIndex = 0;\n this._setColumnCount();\n this._adapter.setOpenAsGrid(options, this._focusedIndex, setFocus, this._preventFocus, this._open);\n this._setGridListeners();\n this._open = true;\n this._emitFocusChangeEvent();\n }\n\n public openAsList(options: ICalendarMenuOption[], setFocus: boolean): void {\n this._list = true;\n this._options = options;\n const currentSlice = this._getOptionSliceIncludingSelected();\n this._focusedIndex = Math.max(options.findIndex(o => o.selected), this._sliceStart);\n this._adapter.setOpenAsList(currentSlice, this._focusedIndex - this._sliceStart, setFocus, this._preventFocus, this._open);\n this._setListListeners();\n this._open = true;\n this._emitFocusChangeEvent();\n }\n\n public close(): void {\n this._open = false;\n this._options = [];\n this._adapter.setClosed();\n }\n\n public animateIn(options: ICalendarMenuOption[], direction: CalendarDirection, setFocus: boolean): void {\n const callback: () => void = () => {\n this._setFocusFromStoredIndex(setFocus);\n };\n if (direction === 'left') {\n this._adapter.animateInFromLeft(options, callback);\n } else {\n this._adapter.animateInFromRight(options, callback);\n }\n this._options = options;\n this._setColumnCount();\n }\n\n public selectFocusedItem(): void {\n this._adapter.emitHostEvent(CALENDAR_MENU_CONSTANTS.events.SELECT, this._options[this._focusedIndex]?.value);\n }\n\n public moveFocusBackward(): boolean {\n if (this._list) {\n return true;\n }\n const index = this._focusedIndex - 1;\n const indexIsInView = index >= 0 && index % this._columnCount !== this._columnCount - 1;\n this._focusedIndexAfterAnimation = indexIsInView ? undefined : index + this._columnCount;\n return this._tryMoveFocus(index, indexIsInView);\n }\n\n public moveFocusDown(): void {\n if (this._list) {\n const index = Math.min(this._focusedIndex += 1, this._options.length - 1);\n this._tryMoveFocus(index, true);\n } else {\n const index = this._focusedIndex + this._columnCount;\n const indexIsInView = index < this._options.length;\n this._focusedIndexAfterAnimation = indexIsInView ? undefined : index % this._columnCount;\n this._tryMoveFocus(index, indexIsInView);\n }\n }\n\n public moveFocusForward(): boolean {\n if (this._list) {\n return true;\n }\n const index = this._focusedIndex + 1;\n const indexIsInView = index < this._options.length && index % this._columnCount !== 0;\n this._focusedIndexAfterAnimation = indexIsInView ? undefined : index - this._columnCount;\n return this._tryMoveFocus(index, indexIsInView);\n }\n\n public moveFocusUp(): void {\n if (this._list) {\n const index = Math.max(this._focusedIndex -= 1, 0);\n this._tryMoveFocus(index, true);\n } else {\n const index = this._focusedIndex - this._columnCount;\n const indexIsInView = index >= 0;\n this._focusedIndexAfterAnimation = indexIsInView ? undefined : this._options.length + index;\n this._tryMoveFocus(index, indexIsInView);\n }\n }\n\n private _tryMoveFocus(index: number, indexIsInView: boolean): boolean {\n if (indexIsInView && !this._options[index]?.disabled) {\n this._focusedIndex = index;\n this._adapter.setFocusAtIndex(this._list ? this._focusedIndex - this._sliceStart : this._focusedIndex, true, this._preventFocus);\n this._emitFocusChangeEvent();\n }\n return indexIsInView;\n }\n\n private _setFocusFromStoredIndex(setFocus: boolean): void {\n if (this._focusedIndexAfterAnimation === undefined) {\n return;\n }\n if (this._options[this._focusedIndexAfterAnimation] && !this._options[this._focusedIndexAfterAnimation]?.disabled) {\n this._focusedIndex = this._focusedIndexAfterAnimation;\n } else if (this._options[0]?.disabled) {\n this._focusedIndex = this._options.findIndex(o => !o.disabled);\n } else {\n this._focusedIndex = this._options.length - this._options.slice().reverse().findIndex(o => !o.disabled) - 1;\n }\n this._focusedIndexAfterAnimation = undefined;\n this._adapter.setFocusAtIndex(this._focusedIndex, setFocus, this._preventFocus);\n this._emitFocusChangeEvent();\n }\n\n private _onClick(evt: Event): void {\n const element = getEventPath(evt).find(p => p.classList && p.classList.contains(CALENDAR_MENU_CONSTANTS.classes.ITEM));\n const value = element?.getAttribute(CALENDAR_MENU_CONSTANTS.attributes.DATA_VALUE);\n if (isDefined(value)) {\n this._adapter.emitHostEvent(CALENDAR_MENU_CONSTANTS.events.SELECT, +(value as string));\n }\n }\n\n private _onIntersection(entries: IntersectionObserverEntry[]): void {\n if (this._sliceStart > 0 && entries.some(e => e.target.id === CALENDAR_MENU_CONSTANTS.ids.SCROLL_SPY_TOP && e.isIntersecting)) {\n this._adapter.appendListItemsToStart(this._getPreviousOptionsSlice());\n }\n if (this._sliceEnd < this._options.length && entries.some(e => e.target.id === CALENDAR_MENU_CONSTANTS.ids.SCROLL_SPY_BOTTOM && e.isIntersecting)) {\n this._adapter.appendListItemsToEnd(this._getNextOptionsSlice());\n }\n }\n\n private _setColumnCount(): void {\n this._columnCount = this._options.length >= CALENDAR_MENU_CONSTANTS.numbers.LARGE_ITEM_SET ? CALENDAR_MENU_CONSTANTS.numbers.FOUR_COL : CALENDAR_MENU_CONSTANTS.numbers.THREE_COL;\n }\n\n private _emitFocusChangeEvent(): void {\n this._adapter.emitHostEvent(CALENDAR_MENU_CONSTANTS.events.FOCUS_CHANGE, this._options[this._focusedIndex]?.value);\n }\n\n private _setGridListeners(): void {\n this._adapter.unregisterIntersectionObserver();\n }\n\n private _setListListeners(): void {\n this._adapter.unregisterIntersectionObserver();\n this._adapter.registerIntersectionObserver(this._intersectionObserverCallback);\n }\n\n private _getOptionSliceIncludingSelected(): ICalendarMenuOption[] {\n if (this._options.length <= CALENDAR_MENU_CONSTANTS.numbers.LIST_SLICE_SIZE) {\n this._sliceStart = 0;\n this._sliceEnd = this._options.length;\n return this._options.slice();\n }\n\n const selectedIndex = Math.max(this._options.findIndex(o => o.selected), 0);\n let start = Math.max(Math.floor(selectedIndex - CALENDAR_MENU_CONSTANTS.numbers.LIST_SLICE_SIZE / 2), 0);\n let end = start + CALENDAR_MENU_CONSTANTS.numbers.LIST_SLICE_SIZE;\n if (end > this._options.length) {\n start = this._options.length - 1 - CALENDAR_MENU_CONSTANTS.numbers.LIST_SLICE_SIZE;\n end = this._options.length;\n }\n this._sliceStart = start;\n this._sliceEnd = end;\n return this._options.slice(this._sliceStart, this._sliceEnd);\n }\n\n private _getNextOptionsSlice(): ICalendarMenuOption[] {\n const newEnd = Math.min(this._sliceEnd + CALENDAR_MENU_CONSTANTS.numbers.LIST_SLICE_SIZE, this._options.length);\n const slice = this._options.slice(this._sliceEnd, newEnd);\n this._sliceEnd = newEnd;\n return slice;\n }\n\n private _getPreviousOptionsSlice(): ICalendarMenuOption[] {\n const newStart = Math.max(this._sliceStart - CALENDAR_MENU_CONSTANTS.numbers.LIST_SLICE_SIZE, 0);\n const slice = this._options.slice(newStart, this._sliceStart);\n this._sliceStart = newStart;\n return slice;\n }\n\n private _applyAnimationType(): void {\n this._adapter.setHostAttribute(CALENDAR_MENU_CONSTANTS.attributes.ANIMATION_TYPE, this._animationType);\n this._adapter.setAnimationType(this._animationType);\n }\n\n private _applyPreventFocus(): void {\n this._adapter.toggleHostAttribute(CALENDAR_MENU_CONSTANTS.attributes.PREVENT_FOCUS, this._preventFocus);\n this._adapter.setFocusAtIndex(this._focusedIndex, false, this._preventFocus);\n }\n\n public get animationType(): CalendarMenuAnimationType {\n return this._animationType;\n }\n public set animationType(value: CalendarMenuAnimationType) {\n if (this._animationType !== value) {\n this._animationType = value;\n this._applyAnimationType();\n }\n }\n\n public get preventFocus(): boolean {\n return this._preventFocus;\n }\n public set preventFocus(value: boolean) {\n if (this._preventFocus !== value) {\n this._preventFocus = value;\n this._applyPreventFocus();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, ICustomElement, FoundationProperty, coerceBoolean, elementParents } from '@tylertech/forge-core';\n\nimport { CalendarMenuAdapter } from './calendar-menu-adapter';\nimport { CalendarDirection, CalendarMenuAnimationType, CALENDAR_MENU_CONSTANTS, ICalendarMenuOption } from './calendar-menu-constants';\nimport { CalendarMenuFoundation } from './calendar-menu-foundation';\n\nconst template = '<template><div class=\\\"forge-calendar-menu\\\" part=\\\"root\\\"></div></template>';\nconst styles = '.forge-calendar-menu{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);position:relative;height:100%;width:100%;overflow:hidden}.forge-calendar-menu__view{position:absolute;top:0;left:0;height:100%;width:100%;background-color:inherit}.forge-calendar-menu__grid{max-height:320px;max-height:var(--forge-calendar-menu-max-height,320px);display:grid;gap:16px;justify-items:center;-webkit-box-align:center;align-items:center;padding:8px;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-calendar-menu__grid--three-col{grid-template-columns:repeat(3,1fr)}.forge-calendar-menu__grid--four-col{grid-template-columns:repeat(4,1fr)}.forge-calendar-menu__list{position:relative;background-color:inherit}.forge-calendar-menu__list__wrapper{position:relative;height:100%;overflow:auto}.forge-calendar-menu__list__wrapper::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-calendar-menu__item--grid{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;width:100%;height:100%;border-radius:4px;overflow:hidden;font-weight:500;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.forge-calendar-menu__item--grid:not([disabled]){--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;border:1px solid #e0e0e0;cursor:pointer}.forge-calendar-menu__item--grid:not([disabled])::after,.forge-calendar-menu__item--grid:not([disabled])::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-calendar-menu__item--grid:not([disabled])::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-calendar-menu__item--grid:not([disabled])::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-calendar-menu__item--grid:not([disabled])::after,.forge-calendar-menu__item--grid:not([disabled])::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-calendar-menu__item--grid:not([disabled])::after,.forge-calendar-menu__item--grid:not([disabled])::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-surface--hover::before,.forge-calendar-menu__item--grid:not([disabled]):hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded--background-focused::before,.forge-calendar-menu__item--grid:not([disabled]):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-calendar-menu__item--grid:not([disabled]):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-calendar-menu__item--grid:not([disabled]):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-calendar-menu__item--grid[disabled]{color:rgba(0,0,0,.12);color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-calendar-menu__item--grid.forge-calendar-menu__item--selected{color:#fff;color:var(--mdc-theme-on-primary,#fff);background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-calendar-menu__item--grid.forge-calendar-menu__item--selected:hover{opacity:.87}.forge-calendar-menu__item--grid.forge-calendar-menu__item--selected.mdc-ripple-upgraded--background-focused,.forge-calendar-menu__item--grid.forge-calendar-menu__item--selected:focus{opacity:.54}.forge-calendar-menu__item--list{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;margin:0 4px;width:calc(100% - 8px);height:48px;border-radius:4px;overflow:hidden;text-align:center;cursor:pointer}.forge-calendar-menu__item--list::after,.forge-calendar-menu__item--list::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-calendar-menu__item--list::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-calendar-menu__item--list::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-calendar-menu__item--list.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-calendar-menu__item--list.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-calendar-menu__item--list.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-calendar-menu__item--list.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-calendar-menu__item--list.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-calendar-menu__item--list::after,.forge-calendar-menu__item--list::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-calendar-menu__item--list.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-calendar-menu__item--list::after,.forge-calendar-menu__item--list::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-calendar-menu__item--list.mdc-ripple-surface--hover::before,.forge-calendar-menu__item--list:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-calendar-menu__item--list.mdc-ripple-upgraded--background-focused::before,.forge-calendar-menu__item--list:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-calendar-menu__item--list:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-calendar-menu__item--list:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-calendar-menu__item--list.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-calendar-menu__item--list--activated::before{opacity:.12;opacity:var(--mdc-ripple-activated-opacity, .12)}.forge-calendar-menu__item--list--activated::after,.forge-calendar-menu__item--list--activated::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-calendar-menu__item--list--activated.mdc-ripple-surface--hover::before,.forge-calendar-menu__item--list--activated:hover::before{opacity:.16;opacity:var(--mdc-ripple-hover-opacity, .16)}.forge-calendar-menu__item--list--activated.mdc-ripple-upgraded--background-focused::before,.forge-calendar-menu__item--list--activated:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-calendar-menu__item--list--activated:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-calendar-menu__item--list--activated:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-calendar-menu__item--list--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-calendar-menu__item--list--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity, .08)}.forge-calendar-menu__item--list--selected::after,.forge-calendar-menu__item--list--selected::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-calendar-menu__item--list--selected.mdc-ripple-surface--hover::before,.forge-calendar-menu__item--list--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity, .12)}.forge-calendar-menu__item--list--selected.mdc-ripple-upgraded--background-focused::before,.forge-calendar-menu__item--list--selected:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity, .2)}.forge-calendar-menu__item--list--selected:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-calendar-menu__item--list--selected:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity, .2)}.forge-calendar-menu__item--list--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.forge-calendar-menu__item--list--selected:focus:hover.mdc-ripple-upgraded--background-focused:not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.28}.forge-calendar-menu__item--list--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before,.forge-calendar-menu__item--list:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.12}.forge-calendar-menu__item--list--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation):hover::before,.forge-calendar-menu__item--list:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation):hover::before{opacity:.16}.forge-calendar-menu__item--list--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::after,.forge-calendar-menu__item--list--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before,.forge-calendar-menu__item--list:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::after,.forge-calendar-menu__item--list:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before{background-color:#000;background-color:var(--mdc-theme-on-surface,#000)}.forge-calendar-menu__item--list--active:focus.forge-list-item--selected.forge-list-item--activated:not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.24}.forge-calendar-menu__item--list--active:focus.forge-list-item--selected.forge-list-item--activated:not(.mdc-ripple-upgraded--foreground-activation):hover::before{opacity:.28}.forge-calendar-menu__item--list.forge-calendar-menu__item--selected{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-calendar-menu__item--list.forge-calendar-menu__item--selected:hover{opacity:.87}.forge-calendar-menu__item--list.forge-calendar-menu__item--selected.mdc-ripple-upgraded--background-focused,.forge-calendar-menu__item--list.forge-calendar-menu__item--selected:focus{opacity:.54}.forge-calendar-menu__item .mdc-ripple-upgraded--background-focused,.forge-calendar-menu__item--focused,.forge-calendar-menu__item:focus{outline:0}.forge-calendar-menu--open{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:scale-open;animation-name:scale-open;-webkit-transform-origin:top center;transform-origin:top center}.forge-calendar-menu--open[data-animation=fade]{-webkit-animation-name:fade-in;animation-name:fade-in}.forge-calendar-menu--open[data-animation=none]{-webkit-animation-duration:1ms;animation-duration:1ms}@media (prefers-reduced-motion){.forge-calendar-menu--open{-webkit-animation-name:fade-in;animation-name:fade-in}}.forge-calendar-menu--closing{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:scale-closed;animation-name:scale-closed;-webkit-transform-origin:top center;transform-origin:top center}.forge-calendar-menu--closing[data-animation=fade]{-webkit-animation-name:fade-out;animation-name:fade-out}.forge-calendar-menu--closing[data-animation=none]{-webkit-animation-duration:1ms;animation-duration:1ms}@media (prefers-reduced-motion){.forge-calendar-menu--closing{-webkit-animation-name:fade-out;animation-name:fade-out}}.forge-calendar-menu--slide-right .forge-calendar-menu__view:first-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:slide-out-to-right;animation-name:slide-out-to-right}@media (prefers-reduced-motion){.forge-calendar-menu--slide-right .forge-calendar-menu__view:first-child{-webkit-animation-name:fade-out;animation-name:fade-out}}.forge-calendar-menu--slide-right .forge-calendar-menu__view:last-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:slide-in-from-left;animation-name:slide-in-from-left}@media (prefers-reduced-motion){.forge-calendar-menu--slide-right .forge-calendar-menu__view:last-child{-webkit-animation-name:fade-in;animation-name:fade-in}}.forge-calendar-menu--slide-left .forge-calendar-menu__view:first-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:slide-out-to-left;animation-name:slide-out-to-left}@media (prefers-reduced-motion){.forge-calendar-menu--slide-left .forge-calendar-menu__view:first-child{-webkit-animation-name:fade-out;animation-name:fade-out}}.forge-calendar-menu--slide-left .forge-calendar-menu__view:last-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:slide-in-from-right;animation-name:slide-in-from-right}@media (prefers-reduced-motion){.forge-calendar-menu--slide-left .forge-calendar-menu__view:last-child{-webkit-animation-name:fade-in;animation-name:fade-in}}.forge-calendar-menu--replacing-view .forge-calendar-menu__view:first-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:fade-out;animation-name:fade-out}.forge-calendar-menu--replacing-view .forge-calendar-menu__view:last-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:fade-in;animation-name:fade-in}#scroll-spy-bottom{position:absolute;bottom:0;height:48px;pointer-events:none}#scroll-spy-top{position:absolute;top:0;height:48px;pointer-events:none}@-webkit-keyframes scale-open{from{opacity:0;-webkit-transform:scale(.4);transform:scale(.4)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-open{from{opacity:0;-webkit-transform:scale(.4);transform:scale(.4)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes scale-closed{from{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(.4);transform:scale(.4)}}@keyframes scale-closed{from{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(.4);transform:scale(.4)}}@-webkit-keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}@-webkit-keyframes slide-in-from-left{from{-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slide-in-from-left{from{-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slide-in-from-right{from{-webkit-transform:translateX(100%);transform:translateX(100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slide-in-from-right{from{-webkit-transform:translateX(100%);transform:translateX(100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slide-out-to-left{from{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slide-out-to-left{from{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@-webkit-keyframes slide-out-to-right{from{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slide-out-to-right{from{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}:host{display:block;position:absolute;top:0;left:0;height:100%;width:100%}:host([hidden]){display:none}:host([forge-popup-context=true]) .forge-calendar-menu{background-color:#fff;background-color:var(--forge-theme-elevated-surface,#fff)}';\n\nexport interface ICalendarMenuComponent extends ICustomElement {\n animationType: CalendarMenuAnimationType;\n preventFocus: boolean;\n animateIn(options: ICalendarMenuOption[], direction: CalendarDirection, setFocus?: boolean): void;\n close(): void;\n moveFocusBackward(): boolean;\n moveFocusDown(): void;\n moveFocusForward(): boolean;\n moveFocusUp(): void;\n openAsGrid(options: ICalendarMenuOption[], setFocus?: boolean): void;\n openAsList(options: ICalendarMenuOption[], setFocus?: boolean): void;\n selectFocusedItem(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-calendar-menu': ICalendarMenuComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-calendar-menu-focus-change': CustomEvent<number>;\n 'forge-calendar-menu-select': CustomEvent<number>;\n }\n}\n\n@CustomElement({\n name: CALENDAR_MENU_CONSTANTS.elementName\n})\nexport class CalendarMenuComponent extends HTMLElement implements ICalendarMenuComponent {\n public static get observedAttributes(): string[] {\n return [\n CALENDAR_MENU_CONSTANTS.attributes.ANIMATION_TYPE,\n CALENDAR_MENU_CONSTANTS.attributes.PREVENT_FOCUS\n ];\n }\n\n private _foundation: CalendarMenuFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new CalendarMenuFoundation(new CalendarMenuAdapter(this));\n }\n\n public connectedCallback(): void {\n // To simulate the :host-context() selector for Firefox until they implement it, we need to determine if the\n // calendar is within a popup for auto-styling the calendar when included within a popup. Check to see if\n // any of the parents of this element are a popup.\n if (!this.hasAttribute(CALENDAR_MENU_CONSTANTS.attributes.POPUP_CONTEXT) && elementParents(this).some(el => el.tagName.toLowerCase() === 'forge-popup')) {\n this.setAttribute(CALENDAR_MENU_CONSTANTS.attributes.POPUP_CONTEXT, 'true');\n }\n\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case CALENDAR_MENU_CONSTANTS.attributes.ANIMATION_TYPE:\n this.animationType = newValue as CalendarMenuAnimationType;\n break;\n case CALENDAR_MENU_CONSTANTS.attributes.PREVENT_FOCUS:\n this.preventFocus = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public animationType: CalendarMenuAnimationType;\n\n @FoundationProperty()\n public preventFocus: boolean;\n\n public animateIn(options: ICalendarMenuOption[], direction: CalendarDirection, setFocus = false): void {\n this._foundation.animateIn(options, direction, setFocus);\n }\n\n public close(): void {\n this._foundation.close();\n }\n\n public moveFocusDown(): void {\n this._foundation.moveFocusDown();\n }\n\n public moveFocusBackward(): boolean {\n return this._foundation.moveFocusBackward();\n }\n\n public moveFocusForward(): boolean {\n return this._foundation.moveFocusForward();\n }\n\n public moveFocusUp(): void {\n this._foundation.moveFocusUp();\n }\n\n public openAsGrid(options: ICalendarMenuOption[], setFocus = false): void {\n this._foundation.openAsGrid(options, setFocus);\n }\n\n public openAsList(options: ICalendarMenuOption[], setFocus = false): void {\n this._foundation.openAsList(options, setFocus);\n }\n\n public selectFocusedItem(): void {\n this._foundation.selectFocusedItem();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { CalendarMenuComponent } from './calendar-menu';\n\nexport * from './calendar-menu-adapter';\nexport * from './calendar-menu-constants';\nexport * from './calendar-menu-foundation';\nexport * from './calendar-menu-utils';\nexport * from './calendar-menu';\n\nexport function defineCalendarMenuComponent(): void {\n defineCustomElement(CalendarMenuComponent);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\nimport { IOption } from '../../select';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}calendar-menu`;\n\nconst attributes = {\n ANIMATION_TYPE: 'animation-type',\n DATA_ANIMATION: 'data-animation',\n DATA_VALUE: 'data-value',\n POPUP_CONTEXT: 'forge-popup-context',\n PREVENT_FOCUS: 'prevent-focus'\n};\n\nconst classes = {\n BACKDROP: 'forge-calendar-menu__backdrop',\n CLOSING: 'forge-calendar-menu--closing',\n GRID: 'forge-calendar-menu__grid',\n GRID_ITEM: 'forge-calendar-menu__item--grid',\n GRID_FOUR_COL: 'forge-calendar-menu__grid--four-col',\n GRID_THREE_COL: 'forge-calendar-menu__grid--three-col',\n ITEM: 'forge-calendar-menu__item',\n ITEM_FOCUSED: 'forge-calendar-menu__item--focused',\n ITEM_SELECTED: 'forge-calendar-menu__item--selected',\n LIST: 'forge-calendar-menu__list',\n LIST_ITEM: 'forge-calendar-menu__item--list',\n LIST_WRAPPER: 'forge-calendar-menu__list__wrapper',\n MDC_RIPPLE_UPGRADED_FOCUSED: 'mdc-ripple-upgraded--background-focused',\n OPEN: 'forge-calendar-menu--open',\n REPLACING_VIEW: 'forge-calendar-menu--replacing-view',\n SLIDE_LEFT: 'forge-calendar-menu--slide-left',\n SLIDE_RIGHT: 'forge-calendar-menu--slide-right',\n VIEW: 'forge-calendar-menu__view'\n};\n\nconst ids = {\n SCROLL_SPY_BOTTOM: 'scroll-spy-bottom',\n SCROLL_SPY_TOP: 'scroll-spy-top'\n};\n\nconst parts = {\n ITEM: 'menu-item',\n ITEM_BUTTON: 'menu-item-button',\n ITEM_CONTENT: 'menu-item-content',\n MENU: 'menu'\n};\n\nconst selectors = {\n CONTAINER: '.forge-calendar-menu',\n FOCUSED: `.${classes.ITEM_FOCUSED}`,\n GRID: `.${classes.GRID}`,\n ITEM: `.${classes.ITEM}`,\n LIST: `.${classes.LIST}`,\n LIST_WRAPPER: `.${classes.LIST_WRAPPER}`,\n SCROLL_SPY_BOTTOM: `#${ids.SCROLL_SPY_BOTTOM}`,\n SCROLL_SPY_TOP: `#${ids.SCROLL_SPY_TOP}`,\n SELECTED: `.${classes.ITEM_SELECTED}`,\n VIEW: `.${classes.VIEW}`\n};\n\nconst events = {\n FOCUS_CHANGE: `${elementName}-focus-change`,\n SELECT: `${elementName}-select`\n};\n\nconst numbers = {\n FOUR_COL: 4,\n LARGE_ITEM_SET: 13,\n LIST_SLICE_SIZE: 20,\n THREE_COL: 3\n};\n\nexport const CALENDAR_MENU_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n parts,\n selectors,\n events,\n numbers\n};\n\nexport interface ICalendarMenuOption extends Omit<IOption, 'value'> {\n selected?: boolean;\n value: number;\n}\n\nexport type CalendarDirection = 'left' | 'right';\nexport type CalendarMenuAnimationType = 'scale' | 'fade' | 'none';\n", "import { CALENDAR_MENU_CONSTANTS, ICalendarMenuOption } from './calendar-menu-constants';\n\nexport function getGrid(options: ICalendarMenuOption[]): HTMLElement {\n const grid = document.createElement('div');\n grid.setAttribute('part', CALENDAR_MENU_CONSTANTS.parts.MENU);\n grid.classList.add(CALENDAR_MENU_CONSTANTS.classes.VIEW, CALENDAR_MENU_CONSTANTS.classes.GRID);\n let gridItems: HTMLElement[];\n if (options.length > 12) {\n grid.classList.add(CALENDAR_MENU_CONSTANTS.classes.GRID_FOUR_COL);\n gridItems = getGridItems(options);\n } else {\n grid.classList.add(CALENDAR_MENU_CONSTANTS.classes.GRID_THREE_COL);\n gridItems = getGridItems(options);\n }\n gridItems.forEach(g => grid.appendChild(g));\n return grid;\n}\n\nexport function getGridItems(options: ICalendarMenuOption[]): HTMLElement[] {\n return options.map(o => {\n const element = document.createElement('div');\n element.classList.add(CALENDAR_MENU_CONSTANTS.classes.ITEM, CALENDAR_MENU_CONSTANTS.classes.GRID_ITEM);\n element.innerText = o.label;\n element.setAttribute('role', 'button');\n element.setAttribute('part', CALENDAR_MENU_CONSTANTS.parts.ITEM);\n element.setAttribute('tabindex', '-1');\n element.setAttribute(CALENDAR_MENU_CONSTANTS.attributes.DATA_VALUE, o.value.toString());\n if (o.selected) {\n element.classList.add(CALENDAR_MENU_CONSTANTS.classes.ITEM_SELECTED);\n element.setAttribute('aria-current', 'true');\n }\n if (o.disabled) {\n element.setAttribute('disabled', 'true');\n }\n return element;\n });\n}\n\nexport function getList(options: ICalendarMenuOption[]): HTMLElement {\n const wrapper = document.createElement('div');\n const list = document.createElement('div');\n wrapper.classList.add(CALENDAR_MENU_CONSTANTS.classes.VIEW, CALENDAR_MENU_CONSTANTS.classes.LIST_WRAPPER);\n list.classList.add(CALENDAR_MENU_CONSTANTS.classes.LIST);\n list.setAttribute('role', 'list');\n list.appendChild(getScrollSpy(CALENDAR_MENU_CONSTANTS.ids.SCROLL_SPY_TOP));\n getListItems(options).forEach(l => list.appendChild(l));\n list.appendChild(getScrollSpy(CALENDAR_MENU_CONSTANTS.ids.SCROLL_SPY_BOTTOM));\n wrapper.appendChild(list);\n return wrapper;\n}\n\nexport function getListItems(options: ICalendarMenuOption[]): HTMLElement[] {\n return options.map(o => {\n const element = document.createElement('div');\n element.innerText = o.label;\n element.classList.add(CALENDAR_MENU_CONSTANTS.classes.ITEM, CALENDAR_MENU_CONSTANTS.classes.LIST_ITEM);\n element.setAttribute('part', CALENDAR_MENU_CONSTANTS.parts.ITEM);\n element.setAttribute('tabindex', '-1');\n element.setAttribute('role', 'listitem');\n element.setAttribute(CALENDAR_MENU_CONSTANTS.attributes.DATA_VALUE, o.value.toString());\n if (o.selected) {\n element.classList.toggle(CALENDAR_MENU_CONSTANTS.classes.ITEM_SELECTED, true);\n element.setAttribute('aria-current', 'true');\n }\n if (o.disabled) {\n element.setAttribute('disabled', 'true');\n }\n return element;\n });\n}\n\nexport function getScrollSpy(id: string): HTMLElement {\n const element = document.createElement('div');\n element.id = id;\n element.setAttribute('aria-hidden', 'true');\n return element;\n}\n\nexport function removeAllExceptLastChild(el: HTMLElement): void {\n while (el.childNodes.length > 1) {\n if (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n }\n}\n", "import { getShadowElement, playKeyframeAnimation, removeAllChildren, tryScrollIntoView } from '@tylertech/forge-core';\n\nimport { BaseAdapter, IBaseAdapter } from '../../core';\nimport { CalendarMenuAnimationType, CALENDAR_MENU_CONSTANTS, ICalendarMenuOption } from './calendar-menu-constants';\nimport { ICalendarMenuComponent } from './calendar-menu';\nimport { getGrid, getList, getListItems, removeAllExceptLastChild } from './calendar-menu-utils';\n\nexport interface ICalendarMenuAdapter extends IBaseAdapter {\n appendListItemsToEnd(options: ICalendarMenuOption[]): void;\n appendListItemsToStart(options: ICalendarMenuOption[]): void;\n animateInFromLeft(options: ICalendarMenuOption[], callback?: () => void): void;\n animateInFromRight(options: ICalendarMenuOption[], callback?: () => void): void;\n registerClickListener(listener: (evt: Event) => void): void;\n registerIntersectionObserver(callback: IntersectionObserverCallback): void;\n setAnimationType(value: CalendarMenuAnimationType): void;\n setClosed(): void;\n setFocusAtIndex(index: number, setFocus: boolean, preventFocus: boolean): void;\n setOpenAsGrid(options: ICalendarMenuOption[], focusedIndex: number, setFocus: boolean, preventFocus: boolean, replace?: boolean): void;\n setOpenAsList(options: ICalendarMenuOption[], focusedIndex: number, setFocus: boolean, preventFocus: boolean, replace?: boolean): void;\n unregisterClickListener(listener: (evt: Event) => void): void;\n unregisterIntersectionObserver(): void;\n}\n\nexport class CalendarMenuAdapter extends BaseAdapter<ICalendarMenuComponent> implements ICalendarMenuAdapter {\n private _container: HTMLElement;\n private _intersectionObserver: IntersectionObserver | undefined;\n\n constructor(private component: ICalendarMenuComponent) {\n super(component);\n this._container = getShadowElement(component, CALENDAR_MENU_CONSTANTS.selectors.CONTAINER);\n }\n\n public registerClickListener(listener: (evt: Event) => void): void {\n this._container.addEventListener('click', listener);\n }\n\n public unregisterClickListener(listener: (evt: Event) => void): void {\n this._container.removeEventListener('click', listener);\n }\n\n public registerIntersectionObserver(callback: IntersectionObserverCallback): void {\n const root = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.LIST_WRAPPER);\n if (!root) {\n return;\n }\n const options = {\n root\n };\n this._intersectionObserver = new IntersectionObserver(callback, options);\n\n const scrollSpyBottom = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.SCROLL_SPY_BOTTOM);\n const scrollSpyTop = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.SCROLL_SPY_TOP);\n if (scrollSpyBottom) {\n this._intersectionObserver.observe(scrollSpyBottom);\n }\n if (scrollSpyTop) {\n this._intersectionObserver.observe(scrollSpyTop);\n }\n }\n\n public unregisterIntersectionObserver(): void {\n if (this._intersectionObserver) {\n this._intersectionObserver.disconnect();\n this._intersectionObserver = undefined;\n }\n }\n\n public setAnimationType(value: CalendarMenuAnimationType): void {\n this._container.setAttribute(CALENDAR_MENU_CONSTANTS.attributes.DATA_ANIMATION, value);\n }\n\n public setClosed(): void {\n this._container.classList.remove(CALENDAR_MENU_CONSTANTS.classes.OPEN);\n this._container.classList.add(CALENDAR_MENU_CONSTANTS.classes.CLOSING);\n playKeyframeAnimation(this._container, CALENDAR_MENU_CONSTANTS.classes.CLOSING, true).then(() => {\n removeAllChildren(this._container);\n this.toggleHostAttribute('hidden', true);\n });\n }\n\n public setOpenAsGrid(options: ICalendarMenuOption[], focusedIndex: number, setFocus: boolean, preventFocus: boolean, replace?: boolean): void {\n const element = getGrid(options);\n if (replace) {\n playKeyframeAnimation(this._container, CALENDAR_MENU_CONSTANTS.classes.REPLACING_VIEW, true).then(() => {\n removeAllExceptLastChild(this._container);\n this.setFocusAtIndex(focusedIndex, setFocus, preventFocus);\n });\n }\n this._container.appendChild(element);\n this.toggleHostAttribute('hidden', false);\n this._container.classList.add(CALENDAR_MENU_CONSTANTS.classes.OPEN);\n if (!replace) {\n this.setFocusAtIndex(focusedIndex, setFocus, preventFocus);\n }\n }\n\n public setOpenAsList(options: ICalendarMenuOption[], focusedIndex: number, setFocus: boolean, preventFocus: boolean, replace?: boolean): void {\n const element = getList(options);\n if (replace) {\n playKeyframeAnimation(this._container, CALENDAR_MENU_CONSTANTS.classes.REPLACING_VIEW, true).then(() => {\n removeAllExceptLastChild(this._container);\n this.setFocusAtIndex(focusedIndex, setFocus, preventFocus);\n });\n }\n this._container.appendChild(element);\n this.toggleHostAttribute('hidden', false);\n this._container.classList.add(CALENDAR_MENU_CONSTANTS.classes.OPEN);\n this._scrollItemIntoView('selected');\n if (!replace) {\n this.setFocusAtIndex(focusedIndex, setFocus, preventFocus);\n }\n }\n\n public appendListItemsToStart(options: ICalendarMenuOption[]): void {\n const wrapper = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.LIST_WRAPPER);\n const list = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.LIST);\n const firstItem = list?.querySelector(CALENDAR_MENU_CONSTANTS.selectors.ITEM);\n if (wrapper && list && firstItem) {\n const oldScrollTop = wrapper.scrollTop;\n const oldScroll = wrapper.scrollHeight - wrapper.clientHeight;\n\n getListItems(options).forEach(l => {\n list.insertBefore(l, firstItem);\n });\n\n const newScroll = wrapper.scrollHeight - wrapper.clientHeight;\n wrapper.scrollTop = oldScrollTop + (newScroll - oldScroll);\n }\n }\n\n public appendListItemsToEnd(options: ICalendarMenuOption[]): void {\n const list = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.LIST);\n const scrollSpyBottom = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.SCROLL_SPY_BOTTOM);\n if (list && scrollSpyBottom) {\n getListItems(options).forEach(l => {\n list.insertBefore(l, scrollSpyBottom);\n });\n }\n }\n\n public animateInFromLeft(options: ICalendarMenuOption[], callback?: () => void): void {\n playKeyframeAnimation(this._container, CALENDAR_MENU_CONSTANTS.classes.SLIDE_RIGHT, true).then(() => {\n removeAllExceptLastChild(this._container);\n if (callback) {\n callback();\n }\n });\n const element = getGrid(options);\n this._container.appendChild(element);\n }\n\n public animateInFromRight(options: ICalendarMenuOption[], callback?: () => void): void {\n playKeyframeAnimation(this._container, CALENDAR_MENU_CONSTANTS.classes.SLIDE_LEFT, true).then(() => {\n removeAllExceptLastChild(this._container);\n if (callback) {\n callback();\n }\n });\n const element = getGrid(options);\n this._container.appendChild(element);\n }\n\n public setFocusAtIndex(index: number, setFocus: boolean, preventFocus: boolean): void {\n const previouslyFocusedElement = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.FOCUSED);\n previouslyFocusedElement?.classList.remove(CALENDAR_MENU_CONSTANTS.classes.ITEM_FOCUSED, CALENDAR_MENU_CONSTANTS.classes.MDC_RIPPLE_UPGRADED_FOCUSED);\n previouslyFocusedElement?.setAttribute('tabindex', '-1');\n const item = this._container.querySelectorAll(CALENDAR_MENU_CONSTANTS.selectors.ITEM)?.[index];\n if (item) {\n item.classList.add(CALENDAR_MENU_CONSTANTS.classes.ITEM_FOCUSED);\n item.setAttribute('tabindex', preventFocus ? '-1' : '0' );\n if (setFocus && !preventFocus) {\n (item as HTMLElement).focus();\n } else if (preventFocus) {\n item.classList.add(CALENDAR_MENU_CONSTANTS.classes.MDC_RIPPLE_UPGRADED_FOCUSED);\n }\n this._scrollItemIntoView('focused');\n }\n }\n\n private _scrollItemIntoView(type: 'selected' | 'focused'): void {\n const list = this._container.querySelector(CALENDAR_MENU_CONSTANTS.selectors.LIST);\n const item = list?.querySelector(type === 'selected' ? CALENDAR_MENU_CONSTANTS.selectors.SELECTED : CALENDAR_MENU_CONSTANTS.selectors.FOCUSED);\n if (list && item) {\n tryScrollIntoView(list.parentElement as HTMLElement, item as HTMLElement, type === 'selected' ? 'auto' : 'smooth', type === 'selected' ? 'center' : 'nearest');\n }\n }\n\n\n}\n", "import { getEventPath, ICustomElementFoundation, isDefined } from '@tylertech/forge-core';\n\nimport { CalendarDirection, CalendarMenuAnimationType, CALENDAR_MENU_CONSTANTS } from './calendar-menu-constants';\nimport { ICalendarMenuAdapter } from './calendar-menu-adapter';\nimport { ICalendarMenuOption } from './calendar-menu-constants';\n\nexport interface ICalendarMenuFoundation extends ICustomElementFoundation {\n animationType: CalendarMenuAnimationType;\n preventFocus: boolean;\n animateIn(options: ICalendarMenuOption[], direction: CalendarDirection, setFocus: boolean): void;\n close(): void;\n moveFocusBackward(): boolean;\n moveFocusDown(): void;\n moveFocusForward(): boolean;\n moveFocusUp(): void;\n openAsGrid(options: ICalendarMenuOption[], setFocus: boolean): void;\n openAsList(options: ICalendarMenuOption[], setFocus: boolean): void;\n selectFocusedItem(): void;\n}\n\nexport class CalendarMenuFoundation implements ICalendarMenuFoundation {\n private _animationType: CalendarMenuAnimationType = 'scale';\n private _columnCount = 3;\n private _focusedIndex = 0;\n private _focusedIndexAfterAnimation: number | undefined;\n private _list = false; // This will be used to manage focus in a list view\n private _open = false;\n private _options: ICalendarMenuOption[] = [];\n private _preventFocus = false;\n private _sliceEnd = -1;\n private _sliceStart = -1;\n private _clickListener: (evt: Event) => void;\n private _intersectionObserverCallback: IntersectionObserverCallback;\n\n constructor(private _adapter: ICalendarMenuAdapter) {\n this._clickListener = evt => this._onClick(evt);\n this._intersectionObserverCallback = (entries: IntersectionObserverEntry[]) => this._onIntersection(entries);\n }\n\n public initialize(): void {\n this._applyAnimationType();\n this._applyPreventFocus();\n this._adapter.setHostAttribute('exportparts', Object.values(CALENDAR_MENU_CONSTANTS.parts).join(', '));\n this._adapter.toggleHostAttribute('hidden', true);\n this._adapter.registerClickListener(this._clickListener);\n }\n\n public disconnect(): void {\n this._adapter.unregisterClickListener(this._clickListener);\n this._adapter.unregisterIntersectionObserver();\n }\n\n public openAsGrid(options: ICalendarMenuOption[], setFocus: boolean): void {\n this._list = false;\n this._options = options;\n this._focusedIndex = 0;\n this._setColumnCount();\n this._adapter.setOpenAsGrid(options, this._focusedIndex, setFocus, this._preventFocus, this._open);\n this._setGridListeners();\n this._open = true;\n this._emitFocusChangeEvent();\n }\n\n public openAsList(options: ICalendarMenuOption[], setFocus: boolean): void {\n this._list = true;\n this._options = options;\n const currentSlice = this._getOptionSliceIncludingSelected();\n this._focusedIndex = Math.max(options.findIndex(o => o.selected), this._sliceStart);\n this._adapter.setOpenAsList(currentSlice, this._focusedIndex - this._sliceStart, setFocus, this._preventFocus, this._open);\n this._setListListeners();\n this._open = true;\n this._emitFocusChangeEvent();\n }\n\n public close(): void {\n this._open = false;\n this._options = [];\n this._adapter.setClosed();\n }\n\n public animateIn(options: ICalendarMenuOption[], direction: CalendarDirection, setFocus: boolean): void {\n const callback: () => void = () => {\n this._setFocusFromStoredIndex(setFocus);\n };\n if (direction === 'left') {\n this._adapter.animateInFromLeft(options, callback);\n } else {\n this._adapter.animateInFromRight(options, callback);\n }\n this._options = options;\n this._setColumnCount();\n }\n\n public selectFocusedItem(): void {\n this._adapter.emitHostEvent(CALENDAR_MENU_CONSTANTS.events.SELECT, this._options[this._focusedIndex]?.value);\n }\n\n public moveFocusBackward(): boolean {\n if (this._list) {\n return true;\n }\n const index = this._focusedIndex - 1;\n const indexIsInView = index >= 0 && index % this._columnCount !== this._columnCount - 1;\n this._focusedIndexAfterAnimation = indexIsInView ? undefined : index + this._columnCount;\n return this._tryMoveFocus(index, indexIsInView);\n }\n\n public moveFocusDown(): void {\n if (this._list) {\n const index = Math.min(this._focusedIndex += 1, this._options.length - 1);\n this._tryMoveFocus(index, true);\n } else {\n const index = this._focusedIndex + this._columnCount;\n const indexIsInView = index < this._options.length;\n this._focusedIndexAfterAnimation = indexIsInView ? undefined : index % this._columnCount;\n this._tryMoveFocus(index, indexIsInView);\n }\n }\n\n public moveFocusForward(): boolean {\n if (this._list) {\n return true;\n }\n const index = this._focusedIndex + 1;\n const indexIsInView = index < this._options.length && index % this._columnCount !== 0;\n this._focusedIndexAfterAnimation = indexIsInView ? undefined : index - this._columnCount;\n return this._tryMoveFocus(index, indexIsInView);\n }\n\n public moveFocusUp(): void {\n if (this._list) {\n const index = Math.max(this._focusedIndex -= 1, 0);\n this._tryMoveFocus(index, true);\n } else {\n const index = this._focusedIndex - this._columnCount;\n const indexIsInView = index >= 0;\n this._focusedIndexAfterAnimation = indexIsInView ? undefined : this._options.length + index;\n this._tryMoveFocus(index, indexIsInView);\n }\n }\n\n private _tryMoveFocus(index: number, indexIsInView: boolean): boolean {\n if (indexIsInView && !this._options[index]?.disabled) {\n this._focusedIndex = index;\n this._adapter.setFocusAtIndex(this._list ? this._focusedIndex - this._sliceStart : this._focusedIndex, true, this._preventFocus);\n this._emitFocusChangeEvent();\n }\n return indexIsInView;\n }\n\n private _setFocusFromStoredIndex(setFocus: boolean): void {\n if (this._focusedIndexAfterAnimation === undefined) {\n return;\n }\n if (this._options[this._focusedIndexAfterAnimation] && !this._options[this._focusedIndexAfterAnimation]?.disabled) {\n this._focusedIndex = this._focusedIndexAfterAnimation;\n } else if (this._options[0]?.disabled) {\n this._focusedIndex = this._options.findIndex(o => !o.disabled);\n } else {\n this._focusedIndex = this._options.length - this._options.slice().reverse().findIndex(o => !o.disabled) - 1;\n }\n this._focusedIndexAfterAnimation = undefined;\n this._adapter.setFocusAtIndex(this._focusedIndex, setFocus, this._preventFocus);\n this._emitFocusChangeEvent();\n }\n\n private _onClick(evt: Event): void {\n const element = getEventPath(evt).find(p => p.classList && p.classList.contains(CALENDAR_MENU_CONSTANTS.classes.ITEM));\n const value = element?.getAttribute(CALENDAR_MENU_CONSTANTS.attributes.DATA_VALUE);\n if (isDefined(value)) {\n this._adapter.emitHostEvent(CALENDAR_MENU_CONSTANTS.events.SELECT, +(value as string));\n }\n }\n\n private _onIntersection(entries: IntersectionObserverEntry[]): void {\n if (this._sliceStart > 0 && entries.some(e => e.target.id === CALENDAR_MENU_CONSTANTS.ids.SCROLL_SPY_TOP && e.isIntersecting)) {\n this._adapter.appendListItemsToStart(this._getPreviousOptionsSlice());\n }\n if (this._sliceEnd < this._options.length && entries.some(e => e.target.id === CALENDAR_MENU_CONSTANTS.ids.SCROLL_SPY_BOTTOM && e.isIntersecting)) {\n this._adapter.appendListItemsToEnd(this._getNextOptionsSlice());\n }\n }\n\n private _setColumnCount(): void {\n this._columnCount = this._options.length >= CALENDAR_MENU_CONSTANTS.numbers.LARGE_ITEM_SET ? CALENDAR_MENU_CONSTANTS.numbers.FOUR_COL : CALENDAR_MENU_CONSTANTS.numbers.THREE_COL;\n }\n\n private _emitFocusChangeEvent(): void {\n this._adapter.emitHostEvent(CALENDAR_MENU_CONSTANTS.events.FOCUS_CHANGE, this._options[this._focusedIndex]?.value);\n }\n\n private _setGridListeners(): void {\n this._adapter.unregisterIntersectionObserver();\n }\n\n private _setListListeners(): void {\n this._adapter.unregisterIntersectionObserver();\n this._adapter.registerIntersectionObserver(this._intersectionObserverCallback);\n }\n\n private _getOptionSliceIncludingSelected(): ICalendarMenuOption[] {\n if (this._options.length <= CALENDAR_MENU_CONSTANTS.numbers.LIST_SLICE_SIZE) {\n this._sliceStart = 0;\n this._sliceEnd = this._options.length;\n return this._options.slice();\n }\n\n const selectedIndex = Math.max(this._options.findIndex(o => o.selected), 0);\n let start = Math.max(Math.floor(selectedIndex - CALENDAR_MENU_CONSTANTS.numbers.LIST_SLICE_SIZE / 2), 0);\n let end = start + CALENDAR_MENU_CONSTANTS.numbers.LIST_SLICE_SIZE;\n if (end > this._options.length) {\n start = this._options.length - 1 - CALENDAR_MENU_CONSTANTS.numbers.LIST_SLICE_SIZE;\n end = this._options.length;\n }\n this._sliceStart = start;\n this._sliceEnd = end;\n return this._options.slice(this._sliceStart, this._sliceEnd);\n }\n\n private _getNextOptionsSlice(): ICalendarMenuOption[] {\n const newEnd = Math.min(this._sliceEnd + CALENDAR_MENU_CONSTANTS.numbers.LIST_SLICE_SIZE, this._options.length);\n const slice = this._options.slice(this._sliceEnd, newEnd);\n this._sliceEnd = newEnd;\n return slice;\n }\n\n private _getPreviousOptionsSlice(): ICalendarMenuOption[] {\n const newStart = Math.max(this._sliceStart - CALENDAR_MENU_CONSTANTS.numbers.LIST_SLICE_SIZE, 0);\n const slice = this._options.slice(newStart, this._sliceStart);\n this._sliceStart = newStart;\n return slice;\n }\n\n private _applyAnimationType(): void {\n this._adapter.setHostAttribute(CALENDAR_MENU_CONSTANTS.attributes.ANIMATION_TYPE, this._animationType);\n this._adapter.setAnimationType(this._animationType);\n }\n\n private _applyPreventFocus(): void {\n this._adapter.toggleHostAttribute(CALENDAR_MENU_CONSTANTS.attributes.PREVENT_FOCUS, this._preventFocus);\n this._adapter.setFocusAtIndex(this._focusedIndex, false, this._preventFocus);\n }\n\n public get animationType(): CalendarMenuAnimationType {\n return this._animationType;\n }\n public set animationType(value: CalendarMenuAnimationType) {\n if (this._animationType !== value) {\n this._animationType = value;\n this._applyAnimationType();\n }\n }\n\n public get preventFocus(): boolean {\n return this._preventFocus;\n }\n public set preventFocus(value: boolean) {\n if (this._preventFocus !== value) {\n this._preventFocus = value;\n this._applyPreventFocus();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, ICustomElement, FoundationProperty, coerceBoolean, elementParents } from '@tylertech/forge-core';\n\nimport { CalendarMenuAdapter } from './calendar-menu-adapter';\nimport { CalendarDirection, CalendarMenuAnimationType, CALENDAR_MENU_CONSTANTS, ICalendarMenuOption } from './calendar-menu-constants';\nimport { CalendarMenuFoundation } from './calendar-menu-foundation';\n\nconst template = '<template><div class=\\\"forge-calendar-menu\\\" part=\\\"root\\\"></div></template>';\nconst styles = '.forge-calendar-menu{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);position:relative;height:100%;width:100%;overflow:hidden}.forge-calendar-menu__view{position:absolute;top:0;left:0;height:100%;width:100%;background-color:inherit}.forge-calendar-menu__grid{max-height:320px;max-height:var(--forge-calendar-menu-max-height,320px);display:grid;gap:16px;justify-items:center;-webkit-box-align:center;align-items:center;padding:8px;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-calendar-menu__grid--three-col{grid-template-columns:repeat(3,1fr)}.forge-calendar-menu__grid--four-col{grid-template-columns:repeat(4,1fr)}.forge-calendar-menu__list{position:relative;background-color:inherit}.forge-calendar-menu__list__wrapper{position:relative;height:100%;overflow:auto}.forge-calendar-menu__list__wrapper::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-calendar-menu__list__wrapper::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-calendar-menu__item--grid{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;width:100%;height:100%;border-radius:4px;overflow:hidden;font-weight:500;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.forge-calendar-menu__item--grid:not([disabled]){--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;border:1px solid #e0e0e0;cursor:pointer}.forge-calendar-menu__item--grid:not([disabled])::after,.forge-calendar-menu__item--grid:not([disabled])::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-calendar-menu__item--grid:not([disabled])::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-calendar-menu__item--grid:not([disabled])::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-calendar-menu__item--grid:not([disabled])::after,.forge-calendar-menu__item--grid:not([disabled])::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-calendar-menu__item--grid:not([disabled])::after,.forge-calendar-menu__item--grid:not([disabled])::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-surface--hover::before,.forge-calendar-menu__item--grid:not([disabled]):hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded--background-focused::before,.forge-calendar-menu__item--grid:not([disabled]):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-calendar-menu__item--grid:not([disabled]):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-calendar-menu__item--grid:not([disabled]):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-calendar-menu__item--grid:not([disabled]).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-calendar-menu__item--grid[disabled]{color:rgba(0,0,0,.12);color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-calendar-menu__item--grid.forge-calendar-menu__item--selected{color:#fff;color:var(--mdc-theme-on-primary,#fff);background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-calendar-menu__item--grid.forge-calendar-menu__item--selected:hover{opacity:.87}.forge-calendar-menu__item--grid.forge-calendar-menu__item--selected.mdc-ripple-upgraded--background-focused,.forge-calendar-menu__item--grid.forge-calendar-menu__item--selected:focus{opacity:.54}.forge-calendar-menu__item--list{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;margin:0 4px;width:calc(100% - 8px);height:48px;border-radius:4px;overflow:hidden;text-align:center;cursor:pointer}.forge-calendar-menu__item--list::after,.forge-calendar-menu__item--list::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-calendar-menu__item--list::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-calendar-menu__item--list::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-calendar-menu__item--list.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-calendar-menu__item--list.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-calendar-menu__item--list.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-calendar-menu__item--list.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-calendar-menu__item--list.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-calendar-menu__item--list::after,.forge-calendar-menu__item--list::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-calendar-menu__item--list.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-calendar-menu__item--list::after,.forge-calendar-menu__item--list::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-calendar-menu__item--list.mdc-ripple-surface--hover::before,.forge-calendar-menu__item--list:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-calendar-menu__item--list.mdc-ripple-upgraded--background-focused::before,.forge-calendar-menu__item--list:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-calendar-menu__item--list:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-calendar-menu__item--list:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-calendar-menu__item--list.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-calendar-menu__item--list--activated::before{opacity:.12;opacity:var(--mdc-ripple-activated-opacity, .12)}.forge-calendar-menu__item--list--activated::after,.forge-calendar-menu__item--list--activated::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-calendar-menu__item--list--activated.mdc-ripple-surface--hover::before,.forge-calendar-menu__item--list--activated:hover::before{opacity:.16;opacity:var(--mdc-ripple-hover-opacity, .16)}.forge-calendar-menu__item--list--activated.mdc-ripple-upgraded--background-focused::before,.forge-calendar-menu__item--list--activated:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-calendar-menu__item--list--activated:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-calendar-menu__item--list--activated:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-calendar-menu__item--list--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-calendar-menu__item--list--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity, .08)}.forge-calendar-menu__item--list--selected::after,.forge-calendar-menu__item--list--selected::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-calendar-menu__item--list--selected.mdc-ripple-surface--hover::before,.forge-calendar-menu__item--list--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity, .12)}.forge-calendar-menu__item--list--selected.mdc-ripple-upgraded--background-focused::before,.forge-calendar-menu__item--list--selected:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity, .2)}.forge-calendar-menu__item--list--selected:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-calendar-menu__item--list--selected:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity, .2)}.forge-calendar-menu__item--list--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.forge-calendar-menu__item--list--selected:focus:hover.mdc-ripple-upgraded--background-focused:not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.28}.forge-calendar-menu__item--list--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before,.forge-calendar-menu__item--list:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.12}.forge-calendar-menu__item--list--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation):hover::before,.forge-calendar-menu__item--list:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation):hover::before{opacity:.16}.forge-calendar-menu__item--list--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::after,.forge-calendar-menu__item--list--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before,.forge-calendar-menu__item--list:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::after,.forge-calendar-menu__item--list:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before{background-color:#000;background-color:var(--mdc-theme-on-surface,#000)}.forge-calendar-menu__item--list--active:focus.forge-list-item--selected.forge-list-item--activated:not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.24}.forge-calendar-menu__item--list--active:focus.forge-list-item--selected.forge-list-item--activated:not(.mdc-ripple-upgraded--foreground-activation):hover::before{opacity:.28}.forge-calendar-menu__item--list.forge-calendar-menu__item--selected{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-calendar-menu__item--list.forge-calendar-menu__item--selected:hover{opacity:.87}.forge-calendar-menu__item--list.forge-calendar-menu__item--selected.mdc-ripple-upgraded--background-focused,.forge-calendar-menu__item--list.forge-calendar-menu__item--selected:focus{opacity:.54}.forge-calendar-menu__item .mdc-ripple-upgraded--background-focused,.forge-calendar-menu__item--focused,.forge-calendar-menu__item:focus{outline:0}.forge-calendar-menu--open{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:scale-open;animation-name:scale-open;-webkit-transform-origin:top center;transform-origin:top center}.forge-calendar-menu--open[data-animation=fade]{-webkit-animation-name:fade-in;animation-name:fade-in}.forge-calendar-menu--open[data-animation=none]{-webkit-animation-duration:1ms;animation-duration:1ms}@media (prefers-reduced-motion){.forge-calendar-menu--open{-webkit-animation-name:fade-in;animation-name:fade-in}}.forge-calendar-menu--closing{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:scale-closed;animation-name:scale-closed;-webkit-transform-origin:top center;transform-origin:top center}.forge-calendar-menu--closing[data-animation=fade]{-webkit-animation-name:fade-out;animation-name:fade-out}.forge-calendar-menu--closing[data-animation=none]{-webkit-animation-duration:1ms;animation-duration:1ms}@media (prefers-reduced-motion){.forge-calendar-menu--closing{-webkit-animation-name:fade-out;animation-name:fade-out}}.forge-calendar-menu--slide-right .forge-calendar-menu__view:first-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:slide-out-to-right;animation-name:slide-out-to-right}@media (prefers-reduced-motion){.forge-calendar-menu--slide-right .forge-calendar-menu__view:first-child{-webkit-animation-name:fade-out;animation-name:fade-out}}.forge-calendar-menu--slide-right .forge-calendar-menu__view:last-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:slide-in-from-left;animation-name:slide-in-from-left}@media (prefers-reduced-motion){.forge-calendar-menu--slide-right .forge-calendar-menu__view:last-child{-webkit-animation-name:fade-in;animation-name:fade-in}}.forge-calendar-menu--slide-left .forge-calendar-menu__view:first-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:slide-out-to-left;animation-name:slide-out-to-left}@media (prefers-reduced-motion){.forge-calendar-menu--slide-left .forge-calendar-menu__view:first-child{-webkit-animation-name:fade-out;animation-name:fade-out}}.forge-calendar-menu--slide-left .forge-calendar-menu__view:last-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:slide-in-from-right;animation-name:slide-in-from-right}@media (prefers-reduced-motion){.forge-calendar-menu--slide-left .forge-calendar-menu__view:last-child{-webkit-animation-name:fade-in;animation-name:fade-in}}.forge-calendar-menu--replacing-view .forge-calendar-menu__view:first-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:fade-out;animation-name:fade-out}.forge-calendar-menu--replacing-view .forge-calendar-menu__view:last-child{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-name:fade-in;animation-name:fade-in}#scroll-spy-bottom{position:absolute;bottom:0;height:48px;pointer-events:none}#scroll-spy-top{position:absolute;top:0;height:48px;pointer-events:none}@-webkit-keyframes scale-open{from{opacity:0;-webkit-transform:scale(.4);transform:scale(.4)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-open{from{opacity:0;-webkit-transform:scale(.4);transform:scale(.4)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes scale-closed{from{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(.4);transform:scale(.4)}}@keyframes scale-closed{from{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(.4);transform:scale(.4)}}@-webkit-keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}@-webkit-keyframes slide-in-from-left{from{-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slide-in-from-left{from{-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slide-in-from-right{from{-webkit-transform:translateX(100%);transform:translateX(100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slide-in-from-right{from{-webkit-transform:translateX(100%);transform:translateX(100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slide-out-to-left{from{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slide-out-to-left{from{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@-webkit-keyframes slide-out-to-right{from{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slide-out-to-right{from{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}:host{display:block;position:absolute;top:0;left:0;height:100%;width:100%}:host([hidden]){display:none}:host([forge-popup-context=true]) .forge-calendar-menu{background-color:#fff;background-color:var(--forge-theme-elevated-surface,#fff)}';\n\nexport interface ICalendarMenuComponent extends ICustomElement {\n animationType: CalendarMenuAnimationType;\n preventFocus: boolean;\n animateIn(options: ICalendarMenuOption[], direction: CalendarDirection, setFocus?: boolean): void;\n close(): void;\n moveFocusBackward(): boolean;\n moveFocusDown(): void;\n moveFocusForward(): boolean;\n moveFocusUp(): void;\n openAsGrid(options: ICalendarMenuOption[], setFocus?: boolean): void;\n openAsList(options: ICalendarMenuOption[], setFocus?: boolean): void;\n selectFocusedItem(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-calendar-menu': ICalendarMenuComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-calendar-menu-focus-change': CustomEvent<number>;\n 'forge-calendar-menu-select': CustomEvent<number>;\n }\n}\n\n/**\n * The web component class behind the `<forge-calendar-menu>` custom element.\n * \n * @internal\n * @tag forge-calendar-menu\n */\n@CustomElement({\n name: CALENDAR_MENU_CONSTANTS.elementName\n})\nexport class CalendarMenuComponent extends HTMLElement implements ICalendarMenuComponent {\n public static get observedAttributes(): string[] {\n return [\n CALENDAR_MENU_CONSTANTS.attributes.ANIMATION_TYPE,\n CALENDAR_MENU_CONSTANTS.attributes.PREVENT_FOCUS\n ];\n }\n\n private _foundation: CalendarMenuFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new CalendarMenuFoundation(new CalendarMenuAdapter(this));\n }\n\n public connectedCallback(): void {\n // To simulate the :host-context() selector for Firefox until they implement it, we need to determine if the\n // calendar is within a popup for auto-styling the calendar when included within a popup. Check to see if\n // any of the parents of this element are a popup.\n if (!this.hasAttribute(CALENDAR_MENU_CONSTANTS.attributes.POPUP_CONTEXT) && elementParents(this).some(el => el.tagName.toLowerCase() === 'forge-popup')) {\n this.setAttribute(CALENDAR_MENU_CONSTANTS.attributes.POPUP_CONTEXT, 'true');\n }\n\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case CALENDAR_MENU_CONSTANTS.attributes.ANIMATION_TYPE:\n this.animationType = newValue as CalendarMenuAnimationType;\n break;\n case CALENDAR_MENU_CONSTANTS.attributes.PREVENT_FOCUS:\n this.preventFocus = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public animationType: CalendarMenuAnimationType;\n\n @FoundationProperty()\n public preventFocus: boolean;\n\n public animateIn(options: ICalendarMenuOption[], direction: CalendarDirection, setFocus = false): void {\n this._foundation.animateIn(options, direction, setFocus);\n }\n\n public close(): void {\n this._foundation.close();\n }\n\n public moveFocusDown(): void {\n this._foundation.moveFocusDown();\n }\n\n public moveFocusBackward(): boolean {\n return this._foundation.moveFocusBackward();\n }\n\n public moveFocusForward(): boolean {\n return this._foundation.moveFocusForward();\n }\n\n public moveFocusUp(): void {\n this._foundation.moveFocusUp();\n }\n\n public openAsGrid(options: ICalendarMenuOption[], setFocus = false): void {\n this._foundation.openAsGrid(options, setFocus);\n }\n\n public openAsList(options: ICalendarMenuOption[], setFocus = false): void {\n this._foundation.openAsList(options, setFocus);\n }\n\n public selectFocusedItem(): void {\n this._foundation.selectFocusedItem();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { CalendarMenuComponent } from './calendar-menu';\n\nexport * from './calendar-menu-adapter';\nexport * from './calendar-menu-constants';\nexport * from './calendar-menu-foundation';\nexport * from './calendar-menu-utils';\nexport * from './calendar-menu';\n\nexport function defineCalendarMenuComponent(): void {\n defineCustomElement(CalendarMenuComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import {
|
|
7
7
|
SKELETON_CONSTANTS
|
|
8
|
-
} from "./chunk.
|
|
8
|
+
} from "./chunk.6ZBFCE2A.js";
|
|
9
9
|
import {
|
|
10
10
|
LIST_CONSTANTS,
|
|
11
11
|
LIST_ITEM_CONSTANTS
|
|
12
|
-
} from "./chunk.
|
|
12
|
+
} from "./chunk.GWNR3UUX.js";
|
|
13
13
|
import {
|
|
14
14
|
createVisuallyHiddenElement
|
|
15
15
|
} from "./chunk.PBGL3BRX.js";
|
|
@@ -18,10 +18,10 @@ import {
|
|
|
18
18
|
} from "./chunk.EY57VTRF.js";
|
|
19
19
|
import {
|
|
20
20
|
LINEAR_PROGRESS_CONSTANTS
|
|
21
|
-
} from "./chunk.
|
|
21
|
+
} from "./chunk.WNVZQDNS.js";
|
|
22
22
|
import {
|
|
23
23
|
POPUP_CONSTANTS
|
|
24
|
-
} from "./chunk.
|
|
24
|
+
} from "./chunk.DLF5JAQO.js";
|
|
25
25
|
import {
|
|
26
26
|
tylIconCheckBox,
|
|
27
27
|
tylIconCheckBoxOutlineBlank
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
import {
|
|
30
30
|
ICON_CONSTANTS,
|
|
31
31
|
IconRegistry
|
|
32
|
-
} from "./chunk.
|
|
32
|
+
} from "./chunk.WSH4S3GM.js";
|
|
33
33
|
import {
|
|
34
34
|
ICON_CLASS_NAME
|
|
35
35
|
} from "./chunk.35U3UPDV.js";
|
|
@@ -1200,4 +1200,4 @@ export {
|
|
|
1200
1200
|
ListDropdownAwareFoundation,
|
|
1201
1201
|
CascadingListDropdownAwareFoundation
|
|
1202
1202
|
};
|
|
1203
|
-
//# sourceMappingURL=chunk.
|
|
1203
|
+
//# sourceMappingURL=chunk.IGBDDH3J.js.map
|
|
File without changes
|
|
@@ -5,40 +5,40 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import {
|
|
7
7
|
TextFieldComponent
|
|
8
|
-
} from "./chunk.
|
|
8
|
+
} from "./chunk.FJJVIMZ2.js";
|
|
9
9
|
import {
|
|
10
10
|
TEXT_FIELD_CONSTANTS,
|
|
11
11
|
TextFieldComponentDelegate
|
|
12
12
|
} from "./chunk.Q4YMHFRY.js";
|
|
13
13
|
import {
|
|
14
14
|
DividerComponent
|
|
15
|
-
} from "./chunk.
|
|
15
|
+
} from "./chunk.QHHYCB7N.js";
|
|
16
16
|
import {
|
|
17
17
|
CHIP_FIELD_CONSTANTS
|
|
18
|
-
} from "./chunk.
|
|
18
|
+
} from "./chunk.I6PJGNJS.js";
|
|
19
19
|
import {
|
|
20
20
|
ListDropdownAware
|
|
21
|
-
} from "./chunk.
|
|
21
|
+
} from "./chunk.3QXCVTCP.js";
|
|
22
22
|
import {
|
|
23
23
|
ListDropdown,
|
|
24
24
|
ListDropdownAwareFoundation
|
|
25
|
-
} from "./chunk.
|
|
25
|
+
} from "./chunk.IGBDDH3J.js";
|
|
26
26
|
import {
|
|
27
27
|
SkeletonComponent
|
|
28
|
-
} from "./chunk.
|
|
28
|
+
} from "./chunk.6ZBFCE2A.js";
|
|
29
29
|
import {
|
|
30
30
|
ListComponent
|
|
31
|
-
} from "./chunk.
|
|
31
|
+
} from "./chunk.5U6ZT6MC.js";
|
|
32
32
|
import {
|
|
33
33
|
ListItemComponent
|
|
34
|
-
} from "./chunk.
|
|
34
|
+
} from "./chunk.GWNR3UUX.js";
|
|
35
35
|
import {
|
|
36
36
|
LinearProgressComponent
|
|
37
|
-
} from "./chunk.
|
|
37
|
+
} from "./chunk.WNVZQDNS.js";
|
|
38
38
|
import {
|
|
39
39
|
POPUP_CONSTANTS,
|
|
40
40
|
PopupComponent
|
|
41
|
-
} from "./chunk.
|
|
41
|
+
} from "./chunk.DLF5JAQO.js";
|
|
42
42
|
import {
|
|
43
43
|
tylIconCheckBox,
|
|
44
44
|
tylIconCheckBoxOutlineBlank
|
|
@@ -50,13 +50,13 @@ import {
|
|
|
50
50
|
IconComponent,
|
|
51
51
|
IconComponentDelegate,
|
|
52
52
|
IconRegistry
|
|
53
|
-
} from "./chunk.
|
|
53
|
+
} from "./chunk.WSH4S3GM.js";
|
|
54
54
|
import {
|
|
55
55
|
FormFieldComponentDelegate
|
|
56
56
|
} from "./chunk.HZISALRH.js";
|
|
57
57
|
import {
|
|
58
58
|
highlightTextHTML
|
|
59
|
-
} from "./chunk.
|
|
59
|
+
} from "./chunk.PM7D2SUE.js";
|
|
60
60
|
import {
|
|
61
61
|
BaseAdapter
|
|
62
62
|
} from "./chunk.KZATVOA6.js";
|
|
@@ -1344,4 +1344,4 @@ export {
|
|
|
1344
1344
|
AutocompleteComponentDelegate,
|
|
1345
1345
|
defineAutocompleteComponent
|
|
1346
1346
|
};
|
|
1347
|
-
//# sourceMappingURL=chunk.
|
|
1347
|
+
//# sourceMappingURL=chunk.IJW2YKP3.js.map
|