@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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/profile-card/profile-card-constants.ts", "../../src/profile-card/profile-card-adapter.ts", "../../src/profile-card/profile-card-foundation.ts", "../../src/profile-card/profile-card.ts", "../../src/profile-card/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}profile-card`;\n\nconst attributes = {\n FULL_NAME: 'full-name',\n EMAIL: 'email',\n SIGN_OUT: 'sign-out',\n PROFILE: 'profile',\n AVATAR_TEXT: 'avatar-text',\n AVATAR_IMAGE_URL: 'avatar-image-url',\n AVATAR_LETTER_COUNT: 'avatar-letter-count'\n};\n\nconst selectors = {\n FULL_NAME: '.forge-profile-card__full-name',\n EMAIL: '.forge-profile-card__email',\n AVATAR: '.forge-profile-card__info-avatar > forge-avatar',\n ACTION_TOOLBAR: '#action-toolbar',\n PROFILE_BUTTON: '#profile-button',\n SIGN_OUT_BUTTON: '#sign-out-button'\n};\n\nconst defaults = {\n SHOW_SIGN_OUT_BUTTON: true,\n SHOW_PROFILE_BUTTON: false\n};\n\nconst events = {\n SIGN_OUT: `${elementName}-sign-out`,\n PROFILE: `${elementName}-profile`\n};\n\nexport const PROFILE_CARD_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n defaults,\n events\n};\n", "import { emitEvent, getShadowElement } from '@tylertech/forge-core';\nimport { IAvatarComponent } from '../avatar';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IToolbarComponent } from '../toolbar';\nimport { IProfileCardComponent } from './profile-card';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\n\nexport interface IProfileCardAdapter extends IBaseAdapter {\n setFullName(value: string): void;\n setEmail(value: string): void;\n setAvatarText(value: string): void;\n setAvatarImageUrl(value: string): void;\n setAvatarLetterCount(count: number): void;\n setActionToolbarVisibility(isVisible: boolean): void;\n setProfileButtonVisibility(isVisible: boolean): void;\n setSignOutButtonVisibility(isVisible: boolean): void;\n setProfileButtonListener(listener: (evt: Event) => void): void;\n setSignOutButtonListener(listener: (evt: Event) => void): void;\n removeProfileButtonListener(listener: (evt: Event) => void): void;\n removeSignOutButtonListener(listener: (evt: Event) => void): void;\n requestProfileButtonFocus(): void;\n requestSignOutButtonFocus(): void;\n}\n\nexport class ProfileCardAdapter extends BaseAdapter<IProfileCardComponent> implements IProfileCardAdapter {\n private _fullNameElement: HTMLElement;\n private _emailElement: HTMLElement;\n private _avatarElement: IAvatarComponent;\n private _actionToolbar: IToolbarComponent;\n private _profileButton: HTMLButtonElement;\n private _signOutButton: HTMLButtonElement;\n\n constructor(component: IProfileCardComponent) {\n super(component);\n this._fullNameElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.FULL_NAME);\n this._emailElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.EMAIL);\n this._avatarElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.AVATAR) as IAvatarComponent;\n this._actionToolbar = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.ACTION_TOOLBAR) as IToolbarComponent;\n this._profileButton = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.PROFILE_BUTTON) as HTMLButtonElement;\n this._signOutButton = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.SIGN_OUT_BUTTON) as HTMLButtonElement;\n }\n\n public setFullName(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.FULL_NAME, value);\n this._fullNameElement.textContent = value;\n }\n\n public setEmail(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.EMAIL, value);\n this._emailElement.textContent = value;\n }\n\n public setAvatarText(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT, value);\n this._avatarElement.text = value;\n }\n\n public setAvatarImageUrl(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL, value);\n this._avatarElement.imageUrl = value;\n }\n\n public setAvatarLetterCount(count: number): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT, String(count));\n this._avatarElement.letterCount = count;\n }\n\n public setActionToolbarVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._actionToolbar.style.removeProperty('display');\n } else {\n this._actionToolbar.style.display = 'none';\n }\n }\n\n public setProfileButtonVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._profileButton.style.removeProperty('display');\n } else {\n this._profileButton.style.display = 'none';\n }\n }\n\n public setSignOutButtonVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._signOutButton.style.removeProperty('display');\n } else {\n this._signOutButton.style.display = 'none';\n }\n }\n\n public setProfileButtonListener(listener: (evt: Event) => void): void {\n this._profileButton.addEventListener('click', listener);\n }\n\n public setSignOutButtonListener(listener: (evt: Event) => void): void {\n this._signOutButton.addEventListener('click', listener);\n }\n\n public removeProfileButtonListener(listener: (evt: Event) => void): void {\n this._profileButton.removeEventListener('click', listener);\n }\n\n public removeSignOutButtonListener(listener: (evt: Event) => void): void {\n this._signOutButton.removeEventListener('click', listener);\n }\n\n public requestProfileButtonFocus(): void {\n window.requestAnimationFrame(() => this._profileButton.focus());\n }\n\n public requestSignOutButtonFocus(): void {\n window.requestAnimationFrame(() => this._signOutButton.focus());\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IProfileCardAdapter } from './profile-card-adapter';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\n\nexport interface IProfileCardFoundation extends ICustomElementFoundation {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\nexport class ProfileCardFoundation implements IProfileCardFoundation {\n private _fullName: string;\n private _email: string;\n private _avatarText: string;\n private _avatarImageUrl: string;\n private _avatarLetterCount: number;\n private _showSignOutButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_SIGN_OUT_BUTTON;\n private _showProfileButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_PROFILE_BUTTON;\n private _profileListener: (evt: Event) => void;\n private _signOutListener: (evt: Event) => void;\n\n constructor(private _adapter: IProfileCardAdapter) {\n this._profileListener = evt => this._onProfileButtonClick(evt);\n this._signOutListener = evt => this._onSignOutButtonClick(evt);\n }\n\n public initialize(): void {\n this._adapter.setProfileButtonListener(this._profileListener);\n this._adapter.setSignOutButtonListener(this._signOutListener);\n\n if (this._showSignOutButton || this._showProfileButton) {\n this._requestInitialFocus();\n }\n\n this._setActionVisibility();\n }\n\n private _requestInitialFocus(): void {\n if (this._showSignOutButton) {\n this._adapter.requestSignOutButtonFocus();\n } else if (this._showProfileButton) {\n this._adapter.requestProfileButtonFocus();\n }\n }\n\n private _setActionVisibility(): void {\n const showActionToolbar = this._showSignOutButton || this._showProfileButton;\n this._adapter.setActionToolbarVisibility(showActionToolbar);\n this._adapter.setSignOutButtonVisibility(this._showSignOutButton);\n this._adapter.setProfileButtonVisibility(this._showProfileButton);\n }\n\n private _onProfileButtonClick(evt: Event): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.PROFILE);\n }\n\n private _onSignOutButtonClick(evt: Event): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.SIGN_OUT);\n }\n\n public get fullName(): string {\n return this._fullName;\n }\n public set fullName(value: string) {\n if (this._fullName !== value) {\n this._fullName = value;\n this._adapter.setFullName(this._fullName);\n }\n }\n\n public get email(): string {\n return this._email;\n }\n public set email(value: string) {\n if (this._email !== value) {\n this._email = value;\n this._adapter.setEmail(this._email);\n }\n }\n\n public get avatarText(): string {\n return this._avatarText;\n }\n public set avatarText(value: string) {\n if (this._avatarText !== value) {\n this._avatarText = value;\n this._adapter.setAvatarText(this._avatarText);\n }\n }\n\n public get avatarImageUrl(): string {\n return this._avatarImageUrl;\n }\n public set avatarImageUrl(value: string) {\n if (this._avatarImageUrl !== value) {\n this._avatarImageUrl = value;\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n }\n }\n\n public get avatarLetterCount(): number {\n return this._avatarLetterCount;\n }\n public set avatarLetterCount(value: number) {\n if (this._avatarLetterCount !== value) {\n this._avatarLetterCount = value;\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n }\n }\n\n public get signOut(): boolean {\n return this._showSignOutButton;\n }\n public set signOut(value: boolean) {\n if (this._showSignOutButton !== value) {\n this._showSignOutButton = value;\n this._setActionVisibility();\n }\n }\n\n public get profile(): boolean {\n return this._showProfileButton;\n }\n public set profile(value: boolean) {\n if (this._showProfileButton !== value) {\n this._showProfileButton = value;\n this._setActionVisibility();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, coerceNumber, FoundationProperty } from '@tylertech/forge-core';\nimport { ProfileCardAdapter } from './profile-card-adapter';\nimport { ProfileCardFoundation } from './profile-card-foundation';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\nimport { ButtonComponent } from '../button';\nimport { AvatarComponent } from '../avatar';\nimport { ToolbarComponent } from '../toolbar';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-profile-card\\\" part=\\\"root\\\"><div class=\\\"forge-profile-card__info\\\" part=\\\"info-container\\\"><div class=\\\"forge-profile-card__info-avatar\\\" part=\\\"avatar-container\\\"><forge-avatar part=\\\"avatar\\\"></forge-avatar></div><div class=\\\"forge-profile-card__info-text\\\" part=\\\"info-text\\\"><div class=\\\"forge-profile-card__full-name\\\" part=\\\"name\\\"></div><div class=\\\"forge-profile-card__email\\\" part=\\\"email\\\"></div></div></div><slot></slot><forge-toolbar inverted id=\\\"action-toolbar\\\" part=\\\"footer\\\"><forge-button type=\\\"outlined\\\" slot=\\\"end\\\" style=\\\"margin-right: 8px;\\\" part=\\\"profile-button\\\"><button type=\\\"button\\\" id=\\\"profile-button\\\" aria-label=\\\"View profile\\\" part=\\\"profile-button-element\\\">Profile</button></forge-button><forge-button slot=\\\"end\\\" part=\\\"sign-out-button\\\"><button type=\\\"button\\\" id=\\\"sign-out-button\\\" part=\\\"sign-out-button-element\\\">Sign out</button></forge-button></forge-toolbar></div></template>';\nconst styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:0;opacity:var(--mdc-elevation-overlay-opacity, 0);-webkit-transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);background-color:#fff;background-color:var(--mdc-elevation-overlay-color,#fff)}.forge-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle}.forge-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-button::-moz-focus-inner{padding:0;border:0}.forge-button:active{outline:0}.forge-button:hover{cursor:pointer}.forge-button:disabled{cursor:default;pointer-events:none}.forge-button .forge-button__icon{margin-left:0;margin-right:8px;display:inline-block;font-size:1.125rem;height:1.125rem;vertical-align:top;width:1.125rem}.forge-button .forge-button__icon[dir=rtl],[dir=rtl] .forge-button .forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button__label~.forge-button__icon{margin-left:0;margin-right:8px}svg.forge-button__icon{fill:currentColor}.forge-button--outlined .forge-button__icon,.forge-button--raised .forge-button__icon,.forge-button--unelevated .forge-button__icon{margin-right:8px}.forge-button--outlined .forge-button__icon[dir=rtl],.forge-button--raised .forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__icon{margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon,.forge-button--raised .forge-button__label~.forge-button__icon,.forge-button--unelevated .forge-button__label~.forge-button__icon{margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--raised .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__label~.forge-button__icon{margin-right:8px}.forge-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-button .forge-button__ripple::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-button .forge-button__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button.mdc-ripple-upgraded .forge-button__ripple::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button.mdc-ripple-upgraded--unbounded .forge-button__ripple::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button.mdc-ripple-upgraded--foreground-activation .forge-button__ripple::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-button.mdc-ripple-upgraded--foreground-deactivation .forge-button__ripple::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-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button .forge-button__ripple{position:absolute;-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;overflow:hidden}.forge-button:not(.forge-button--outlined) .forge-button__ripple{top:0;left:0}.forge-button--raised{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1)}.forge-button--raised:focus,.forge-button--raised:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.forge-button--raised:active{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.forge-button--raised:disabled{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.forge-button--outlined{border-style:solid}.forge-button{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 8px 0 8px}.forge-button:not(:disabled){background-color:transparent}.forge-button:disabled{background-color:transparent}.forge-button:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--unelevated:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--unelevated:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--unelevated:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--unelevated .forge-button__ripple::after,.forge-button--unelevated .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--unelevated.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--unelevated:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--unelevated.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--unelevated:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--unelevated:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--unelevated:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--unelevated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--unelevated .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--raised:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--raised:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--raised:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--raised .forge-button__ripple::after,.forge-button--raised .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--raised.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--raised:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--raised.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--raised:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--raised:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--raised:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--raised.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--raised .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 15px 0 15px;border-width:1px}.forge-button--outlined:not(:disabled){background-color:transparent}.forge-button--outlined:disabled{background-color:transparent}.forge-button--outlined:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--outlined .forge-button__ripple::after,.forge-button--outlined .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button--outlined.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--outlined:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button--outlined.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--outlined:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button--outlined:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--outlined:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button--outlined.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button--outlined .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined:not(:disabled){border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--outlined .forge-button__ripple{top:-1px;left:-1px;border:1px solid transparent}.forge-button--dense{height:24px;margin-top:0;margin-bottom:0;height:1.5rem}forge-button{display:inline-block}forge-button[hidden]{display:none}forge-button[disabled]{cursor:not-allowed}a.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);text-decoration:none}a.forge-hyperlink:visited{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}a.forge-hyperlink[disabled]{pointer-events:none;cursor:default}a.forge-hyperlink:focus,a.forge-hyperlink:hover:not([disabled]){text-decoration:underline}button.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);cursor:pointer;border:none;background-color:transparent;font-size:inherit;padding:0;outline:0;text-align:left}button.forge-hyperlink[disabled]{pointer-events:none;cursor:default}button.forge-hyperlink:hover:not([disabled]){text-decoration:underline}.forge-profile-card{min-width:360px;border-radius:4px}@media (max-width:399px){.forge-profile-card{width:100vw;min-width:unset;overflow:auto}}.forge-profile-card__info{padding:8px 16px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-profile-card__info-avatar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:8px;margin-right:16px;--forge-avatar-size:56px}.forge-profile-card__info-text{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:start;align-items:flex-start}.forge-profile-card__full-name{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1rem;font-size:var(--forge-typography-subtitle1-secondary-font-size, 1rem);line-height:1.75rem;line-height:var(--forge-typography-subtitle1-secondary-line-height, 1.75rem);font-weight:500;font-weight:var(--forge-typography-subtitle1-secondary-font-weight,500);letter-spacing:.01em;letter-spacing:var(--forge-typography-subtitle1-secondary-letter-spacing, .01em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle1-secondary-text-transform,inherit);line-height:1.25rem}.forge-profile-card__email{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-subtitle2-font-size, .875rem);line-height:1.375rem;line-height:var(--mdc-typography-subtitle2-line-height, 1.375rem);font-weight:500;font-weight:var(--mdc-typography-subtitle2-font-weight,500);letter-spacing:.0071428571em;letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, .0071428571em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle2-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}forge-toolbar#action-toolbar::part(root){border-bottom-left-radius:4px;border-bottom-right-radius:4px}:host{display:inline}:host([hidden]){display:none}forge-toolbar{--mdc-theme-surface:var(--forge-theme-elevated-surface)}';\n\nexport interface IProfileCardComponent extends IBaseComponent {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-profile-card': IProfileCardComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-profile-card-sign-out': CustomEvent<void>;\n 'forge-profile-card-profile': CustomEvent<void>;\n }\n}\n\n@CustomElement({\n name: PROFILE_CARD_CONSTANTS.elementName,\n dependencies: [\n ToolbarComponent,\n ButtonComponent,\n AvatarComponent\n ]\n})\nexport class ProfileCardComponent extends BaseComponent implements IProfileCardComponent {\n public static get observedAttributes(): string[] {\n return [\n PROFILE_CARD_CONSTANTS.attributes.FULL_NAME,\n PROFILE_CARD_CONSTANTS.attributes.EMAIL,\n PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT,\n PROFILE_CARD_CONSTANTS.attributes.PROFILE,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT\n ];\n }\n\n private _foundation: ProfileCardFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ProfileCardFoundation(new ProfileCardAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case PROFILE_CARD_CONSTANTS.attributes.FULL_NAME:\n this.fullName = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.EMAIL:\n this.email = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT:\n this.signOut = coerceBoolean(PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT);\n break;\n case PROFILE_CARD_CONSTANTS.attributes.PROFILE:\n this.profile = coerceBoolean(PROFILE_CARD_CONSTANTS.attributes.PROFILE);\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT:\n this.avatarText = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL:\n this.avatarImageUrl = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT:\n this.avatarLetterCount = coerceNumber(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public fullName: string;\n\n @FoundationProperty()\n public email: string;\n\n @FoundationProperty()\n public signOut: boolean;\n\n @FoundationProperty()\n public profile: boolean;\n\n @FoundationProperty()\n public avatarText: string;\n\n @FoundationProperty()\n public avatarImageUrl: string;\n\n @FoundationProperty()\n public avatarLetterCount: number;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ProfileCardComponent } from './profile-card';\n\nexport * from './profile-card-adapter';\nexport * from './profile-card-constants';\nexport * from './profile-card-foundation';\nexport * from './profile-card';\n\nexport function defineProfileCardComponent(): void {\n defineCustomElement(ProfileCardComponent);\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}profile-card`;\n\nconst attributes = {\n FULL_NAME: 'full-name',\n EMAIL: 'email',\n SIGN_OUT: 'sign-out',\n PROFILE: 'profile',\n AVATAR_TEXT: 'avatar-text',\n AVATAR_IMAGE_URL: 'avatar-image-url',\n AVATAR_LETTER_COUNT: 'avatar-letter-count'\n};\n\nconst selectors = {\n FULL_NAME: '.forge-profile-card__full-name',\n EMAIL: '.forge-profile-card__email',\n AVATAR: '.forge-profile-card__info-avatar > forge-avatar',\n ACTION_TOOLBAR: '#action-toolbar',\n PROFILE_BUTTON: '#profile-button',\n SIGN_OUT_BUTTON: '#sign-out-button'\n};\n\nconst defaults = {\n SHOW_SIGN_OUT_BUTTON: true,\n SHOW_PROFILE_BUTTON: false\n};\n\nconst events = {\n SIGN_OUT: `${elementName}-sign-out`,\n PROFILE: `${elementName}-profile`\n};\n\nexport const PROFILE_CARD_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n defaults,\n events\n};\n", "import { emitEvent, getShadowElement } from '@tylertech/forge-core';\nimport { IAvatarComponent } from '../avatar';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IToolbarComponent } from '../toolbar';\nimport { IProfileCardComponent } from './profile-card';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\n\nexport interface IProfileCardAdapter extends IBaseAdapter {\n setFullName(value: string): void;\n setEmail(value: string): void;\n setAvatarText(value: string): void;\n setAvatarImageUrl(value: string): void;\n setAvatarLetterCount(count: number): void;\n setActionToolbarVisibility(isVisible: boolean): void;\n setProfileButtonVisibility(isVisible: boolean): void;\n setSignOutButtonVisibility(isVisible: boolean): void;\n setProfileButtonListener(listener: (evt: Event) => void): void;\n setSignOutButtonListener(listener: (evt: Event) => void): void;\n removeProfileButtonListener(listener: (evt: Event) => void): void;\n removeSignOutButtonListener(listener: (evt: Event) => void): void;\n requestProfileButtonFocus(): void;\n requestSignOutButtonFocus(): void;\n}\n\nexport class ProfileCardAdapter extends BaseAdapter<IProfileCardComponent> implements IProfileCardAdapter {\n private _fullNameElement: HTMLElement;\n private _emailElement: HTMLElement;\n private _avatarElement: IAvatarComponent;\n private _actionToolbar: IToolbarComponent;\n private _profileButton: HTMLButtonElement;\n private _signOutButton: HTMLButtonElement;\n\n constructor(component: IProfileCardComponent) {\n super(component);\n this._fullNameElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.FULL_NAME);\n this._emailElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.EMAIL);\n this._avatarElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.AVATAR) as IAvatarComponent;\n this._actionToolbar = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.ACTION_TOOLBAR) as IToolbarComponent;\n this._profileButton = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.PROFILE_BUTTON) as HTMLButtonElement;\n this._signOutButton = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.SIGN_OUT_BUTTON) as HTMLButtonElement;\n }\n\n public setFullName(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.FULL_NAME, value);\n this._fullNameElement.textContent = value;\n }\n\n public setEmail(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.EMAIL, value);\n this._emailElement.textContent = value;\n }\n\n public setAvatarText(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT, value);\n this._avatarElement.text = value;\n }\n\n public setAvatarImageUrl(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL, value);\n this._avatarElement.imageUrl = value;\n }\n\n public setAvatarLetterCount(count: number): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT, String(count));\n this._avatarElement.letterCount = count;\n }\n\n public setActionToolbarVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._actionToolbar.style.removeProperty('display');\n } else {\n this._actionToolbar.style.display = 'none';\n }\n }\n\n public setProfileButtonVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._profileButton.style.removeProperty('display');\n } else {\n this._profileButton.style.display = 'none';\n }\n }\n\n public setSignOutButtonVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._signOutButton.style.removeProperty('display');\n } else {\n this._signOutButton.style.display = 'none';\n }\n }\n\n public setProfileButtonListener(listener: (evt: Event) => void): void {\n this._profileButton.addEventListener('click', listener);\n }\n\n public setSignOutButtonListener(listener: (evt: Event) => void): void {\n this._signOutButton.addEventListener('click', listener);\n }\n\n public removeProfileButtonListener(listener: (evt: Event) => void): void {\n this._profileButton.removeEventListener('click', listener);\n }\n\n public removeSignOutButtonListener(listener: (evt: Event) => void): void {\n this._signOutButton.removeEventListener('click', listener);\n }\n\n public requestProfileButtonFocus(): void {\n window.requestAnimationFrame(() => this._profileButton.focus());\n }\n\n public requestSignOutButtonFocus(): void {\n window.requestAnimationFrame(() => this._signOutButton.focus());\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IProfileCardAdapter } from './profile-card-adapter';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\n\nexport interface IProfileCardFoundation extends ICustomElementFoundation {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\nexport class ProfileCardFoundation implements IProfileCardFoundation {\n private _fullName: string;\n private _email: string;\n private _avatarText: string;\n private _avatarImageUrl: string;\n private _avatarLetterCount: number;\n private _showSignOutButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_SIGN_OUT_BUTTON;\n private _showProfileButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_PROFILE_BUTTON;\n private _profileListener: (evt: Event) => void;\n private _signOutListener: (evt: Event) => void;\n\n constructor(private _adapter: IProfileCardAdapter) {\n this._profileListener = evt => this._onProfileButtonClick(evt);\n this._signOutListener = evt => this._onSignOutButtonClick(evt);\n }\n\n public initialize(): void {\n this._adapter.setProfileButtonListener(this._profileListener);\n this._adapter.setSignOutButtonListener(this._signOutListener);\n\n if (this._showSignOutButton || this._showProfileButton) {\n this._requestInitialFocus();\n }\n\n this._setActionVisibility();\n }\n\n private _requestInitialFocus(): void {\n if (this._showSignOutButton) {\n this._adapter.requestSignOutButtonFocus();\n } else if (this._showProfileButton) {\n this._adapter.requestProfileButtonFocus();\n }\n }\n\n private _setActionVisibility(): void {\n const showActionToolbar = this._showSignOutButton || this._showProfileButton;\n this._adapter.setActionToolbarVisibility(showActionToolbar);\n this._adapter.setSignOutButtonVisibility(this._showSignOutButton);\n this._adapter.setProfileButtonVisibility(this._showProfileButton);\n }\n\n private _onProfileButtonClick(evt: Event): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.PROFILE);\n }\n\n private _onSignOutButtonClick(evt: Event): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.SIGN_OUT);\n }\n\n public get fullName(): string {\n return this._fullName;\n }\n public set fullName(value: string) {\n if (this._fullName !== value) {\n this._fullName = value;\n this._adapter.setFullName(this._fullName);\n }\n }\n\n public get email(): string {\n return this._email;\n }\n public set email(value: string) {\n if (this._email !== value) {\n this._email = value;\n this._adapter.setEmail(this._email);\n }\n }\n\n public get avatarText(): string {\n return this._avatarText;\n }\n public set avatarText(value: string) {\n if (this._avatarText !== value) {\n this._avatarText = value;\n this._adapter.setAvatarText(this._avatarText);\n }\n }\n\n public get avatarImageUrl(): string {\n return this._avatarImageUrl;\n }\n public set avatarImageUrl(value: string) {\n if (this._avatarImageUrl !== value) {\n this._avatarImageUrl = value;\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n }\n }\n\n public get avatarLetterCount(): number {\n return this._avatarLetterCount;\n }\n public set avatarLetterCount(value: number) {\n if (this._avatarLetterCount !== value) {\n this._avatarLetterCount = value;\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n }\n }\n\n public get signOut(): boolean {\n return this._showSignOutButton;\n }\n public set signOut(value: boolean) {\n if (this._showSignOutButton !== value) {\n this._showSignOutButton = value;\n this._setActionVisibility();\n }\n }\n\n public get profile(): boolean {\n return this._showProfileButton;\n }\n public set profile(value: boolean) {\n if (this._showProfileButton !== value) {\n this._showProfileButton = value;\n this._setActionVisibility();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, coerceNumber, FoundationProperty } from '@tylertech/forge-core';\nimport { ProfileCardAdapter } from './profile-card-adapter';\nimport { ProfileCardFoundation } from './profile-card-foundation';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\nimport { ButtonComponent } from '../button';\nimport { AvatarComponent } from '../avatar';\nimport { ToolbarComponent } from '../toolbar';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-profile-card\\\" part=\\\"root\\\"><div class=\\\"forge-profile-card__info\\\" part=\\\"info-container\\\"><div class=\\\"forge-profile-card__info-avatar\\\" part=\\\"avatar-container\\\"><forge-avatar part=\\\"avatar\\\"></forge-avatar></div><div class=\\\"forge-profile-card__info-text\\\" part=\\\"info-text\\\"><div class=\\\"forge-profile-card__full-name\\\" part=\\\"name\\\"></div><div class=\\\"forge-profile-card__email\\\" part=\\\"email\\\"></div></div></div><slot></slot><forge-toolbar inverted id=\\\"action-toolbar\\\" part=\\\"footer\\\"><forge-button type=\\\"outlined\\\" slot=\\\"end\\\" style=\\\"margin-right: 8px;\\\" part=\\\"profile-button\\\"><button type=\\\"button\\\" id=\\\"profile-button\\\" aria-label=\\\"View profile\\\" part=\\\"profile-button-element\\\">Profile</button></forge-button><forge-button slot=\\\"end\\\" part=\\\"sign-out-button\\\"><button type=\\\"button\\\" id=\\\"sign-out-button\\\" part=\\\"sign-out-button-element\\\">Sign out</button></forge-button></forge-toolbar></div></template>';\nconst styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:0;opacity:var(--mdc-elevation-overlay-opacity, 0);-webkit-transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);background-color:#fff;background-color:var(--mdc-elevation-overlay-color,#fff)}.forge-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle}.forge-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-button::-moz-focus-inner{padding:0;border:0}.forge-button:active{outline:0}.forge-button:hover{cursor:pointer}.forge-button:disabled{cursor:default;pointer-events:none}.forge-button .forge-button__icon{margin-left:0;margin-right:8px;display:inline-block;font-size:1.125rem;height:1.125rem;vertical-align:top;width:1.125rem}.forge-button .forge-button__icon[dir=rtl],[dir=rtl] .forge-button .forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button__label~.forge-button__icon{margin-left:0;margin-right:8px}svg.forge-button__icon{fill:currentColor}.forge-button--outlined .forge-button__icon,.forge-button--raised .forge-button__icon,.forge-button--unelevated .forge-button__icon{margin-right:8px}.forge-button--outlined .forge-button__icon[dir=rtl],.forge-button--raised .forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__icon{margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon,.forge-button--raised .forge-button__label~.forge-button__icon,.forge-button--unelevated .forge-button__label~.forge-button__icon{margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--raised .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__label~.forge-button__icon{margin-right:8px}.forge-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-button .forge-button__ripple::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-button .forge-button__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button.mdc-ripple-upgraded .forge-button__ripple::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button.mdc-ripple-upgraded--unbounded .forge-button__ripple::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button.mdc-ripple-upgraded--foreground-activation .forge-button__ripple::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-button.mdc-ripple-upgraded--foreground-deactivation .forge-button__ripple::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-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button .forge-button__ripple{position:absolute;-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;overflow:hidden}.forge-button:not(.forge-button--outlined) .forge-button__ripple{top:0;left:0}.forge-button--raised{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1)}.forge-button--raised:focus,.forge-button--raised:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.forge-button--raised:active{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.forge-button--raised:disabled{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.forge-button--outlined{border-style:solid}.forge-button{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 8px 0 8px}.forge-button:not(:disabled){background-color:transparent}.forge-button:disabled{background-color:transparent}.forge-button:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--unelevated:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--unelevated:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--unelevated:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--unelevated .forge-button__ripple::after,.forge-button--unelevated .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--unelevated.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--unelevated:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--unelevated.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--unelevated:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--unelevated:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--unelevated:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--unelevated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--unelevated .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--raised:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--raised:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--raised:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--raised .forge-button__ripple::after,.forge-button--raised .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--raised.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--raised:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--raised.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--raised:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--raised:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--raised:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--raised.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--raised .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 15px 0 15px;border-width:1px}.forge-button--outlined:not(:disabled){background-color:transparent}.forge-button--outlined:disabled{background-color:transparent}.forge-button--outlined:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--outlined .forge-button__ripple::after,.forge-button--outlined .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button--outlined.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--outlined:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button--outlined.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--outlined:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button--outlined:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--outlined:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button--outlined.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button--outlined .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined:not(:disabled){border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--outlined .forge-button__ripple{top:-1px;left:-1px;border:1px solid transparent}.forge-button--dense{height:24px;margin-top:0;margin-bottom:0;height:1.5rem}forge-button{display:inline-block}forge-button[hidden]{display:none}forge-button[disabled]{cursor:not-allowed}a.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);text-decoration:none}a.forge-hyperlink:visited{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}a.forge-hyperlink[disabled]{pointer-events:none;cursor:default}a.forge-hyperlink:focus,a.forge-hyperlink:hover:not([disabled]){text-decoration:underline}button.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);cursor:pointer;border:none;background-color:transparent;font-size:inherit;padding:0;outline:0;text-align:left}button.forge-hyperlink[disabled]{pointer-events:none;cursor:default}button.forge-hyperlink:hover:not([disabled]){text-decoration:underline}.forge-profile-card{min-width:360px;border-radius:4px}@media (max-width:399px){.forge-profile-card{width:100vw;min-width:unset;overflow:auto}}.forge-profile-card__info{padding:8px 16px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-profile-card__info-avatar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:8px;margin-right:16px;--forge-avatar-size:56px}.forge-profile-card__info-text{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:start;align-items:flex-start}.forge-profile-card__full-name{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1rem;font-size:var(--forge-typography-subtitle1-secondary-font-size, 1rem);line-height:1.75rem;line-height:var(--forge-typography-subtitle1-secondary-line-height, 1.75rem);font-weight:500;font-weight:var(--forge-typography-subtitle1-secondary-font-weight,500);letter-spacing:.01em;letter-spacing:var(--forge-typography-subtitle1-secondary-letter-spacing, .01em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle1-secondary-text-transform,inherit);line-height:1.25rem}.forge-profile-card__email{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-subtitle2-font-size, .875rem);line-height:1.375rem;line-height:var(--mdc-typography-subtitle2-line-height, 1.375rem);font-weight:500;font-weight:var(--mdc-typography-subtitle2-font-weight,500);letter-spacing:.0071428571em;letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, .0071428571em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle2-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}forge-toolbar#action-toolbar::part(root){border-bottom-left-radius:4px;border-bottom-right-radius:4px}:host{display:inline}:host([hidden]){display:none}forge-toolbar{--mdc-theme-surface:var(--forge-theme-elevated-surface)}';\n\nexport interface IProfileCardComponent extends IBaseComponent {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-profile-card': IProfileCardComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-profile-card-sign-out': CustomEvent<void>;\n 'forge-profile-card-profile': CustomEvent<void>;\n }\n}\n\n/**\n * The web component class behind the `<forge-profile-card>` custom element.\n * \n * @tag forge-profile-card\n */\n@CustomElement({\n name: PROFILE_CARD_CONSTANTS.elementName,\n dependencies: [\n ToolbarComponent,\n ButtonComponent,\n AvatarComponent\n ]\n})\nexport class ProfileCardComponent extends BaseComponent implements IProfileCardComponent {\n public static get observedAttributes(): string[] {\n return [\n PROFILE_CARD_CONSTANTS.attributes.FULL_NAME,\n PROFILE_CARD_CONSTANTS.attributes.EMAIL,\n PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT,\n PROFILE_CARD_CONSTANTS.attributes.PROFILE,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT\n ];\n }\n\n private _foundation: ProfileCardFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ProfileCardFoundation(new ProfileCardAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case PROFILE_CARD_CONSTANTS.attributes.FULL_NAME:\n this.fullName = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.EMAIL:\n this.email = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT:\n this.signOut = coerceBoolean(PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT);\n break;\n case PROFILE_CARD_CONSTANTS.attributes.PROFILE:\n this.profile = coerceBoolean(PROFILE_CARD_CONSTANTS.attributes.PROFILE);\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT:\n this.avatarText = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL:\n this.avatarImageUrl = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT:\n this.avatarLetterCount = coerceNumber(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public fullName: string;\n\n @FoundationProperty()\n public email: string;\n\n @FoundationProperty()\n public signOut: boolean;\n\n @FoundationProperty()\n public profile: boolean;\n\n @FoundationProperty()\n public avatarText: string;\n\n @FoundationProperty()\n public avatarImageUrl: string;\n\n @FoundationProperty()\n public avatarLetterCount: number;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ProfileCardComponent } from './profile-card';\n\nexport * from './profile-card-adapter';\nexport * from './profile-card-constants';\nexport * from './profile-card-foundation';\nexport * from './profile-card';\n\nexport function defineProfileCardComponent(): void {\n defineCustomElement(ProfileCardComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
File without changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/divider/divider-constants.ts", "../../src/divider/divider.ts", "../../src/divider/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}divider`;\nconst classes = {\n ROOT: '.forge-divider'\n};\n\nexport const DIVIDER_CONSTANTS = {\n elementName,\n classes\n};\n", "import { attachShadowTemplate, CustomElement } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { DIVIDER_CONSTANTS } from './divider-constants';\n\nconst template = '<template><div class=\\\"forge-divider\\\" role=\\\"separator\\\" part=\\\"root\\\"></div></template>';\nconst styles = '.forge-divider{border:none;border-bottom-color:#e0e0e0;border-bottom-color:var(--forge-theme-border-color,#e0e0e0);border-bottom-width:1px;border-bottom-width:var(--forge-divider-width,1px);margin:0;margin:var(--forge-divider-margin,0);height:0;border-bottom-style:solid}:host{display:block;contain:content}:host([hidden]){display:none}:host-context(forge-drawer) .forge-divider{margin:var(--forge-divider-drawer-margin,4px) 0}:host([vertical]){display:inline-block;height:100%}:host([vertical]) .forge-divider{border:none;border-right-color:#e0e0e0;border-right-color:var(--forge-theme-border-color,#e0e0e0);border-right-width:1px;border-right-width:var(--forge-divider-width,1px);margin:0;margin:var(--forge-divider-margin,0);height:100%;width:0;border-right-style:solid}';\n\nexport interface IDividerComponent extends IBaseComponent {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-divider': IDividerComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-divider>` element.\n */\n@CustomElement({\n name: DIVIDER_CONSTANTS.elementName\n})\nexport class DividerComponent extends BaseComponent implements IDividerComponent {\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { DividerComponent } from './divider';\n\nexport * from './divider-constants';\nexport * from './divider';\n\nexport function defineDividerComponent(): void {\n defineCustomElement(DividerComponent);\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;AAEA,IAAM,cAA2C,GAAG;AACpD,IAAM,UAAU;AAAA,EACd,MAAM;AACR;AAEO,IAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AACF;;;ACNA,IAAM,WAAW;AACjB,IAAM,SAAS;
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}divider`;\nconst classes = {\n ROOT: '.forge-divider'\n};\n\nexport const DIVIDER_CONSTANTS = {\n elementName,\n classes\n};\n", "import { attachShadowTemplate, CustomElement } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { DIVIDER_CONSTANTS } from './divider-constants';\n\nconst template = '<template><div class=\\\"forge-divider\\\" role=\\\"separator\\\" part=\\\"root\\\"></div></template>';\nconst styles = '.forge-divider{border:none;border-bottom-color:#e0e0e0;border-bottom-color:var(--forge-theme-border-color,#e0e0e0);border-bottom-width:1px;border-bottom-width:var(--forge-divider-width,1px);margin:0;margin:var(--forge-divider-margin,0);height:0;border-bottom-style:solid}:host{display:block;contain:content}:host([hidden]){display:none}:host-context(forge-drawer) .forge-divider{margin:var(--forge-divider-drawer-margin,4px) 0}:host([vertical]){display:inline-block;height:100%}:host([vertical]) .forge-divider{border:none;border-right-color:#e0e0e0;border-right-color:var(--forge-theme-border-color,#e0e0e0);border-right-width:1px;border-right-width:var(--forge-divider-width,1px);margin:0;margin:var(--forge-divider-margin,0);height:100%;width:0;border-right-style:solid}';\n\nexport interface IDividerComponent extends IBaseComponent {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-divider': IDividerComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-divider>` element.\n * \n * @tag forge-divider\n */\n@CustomElement({\n name: DIVIDER_CONSTANTS.elementName\n})\nexport class DividerComponent extends BaseComponent implements IDividerComponent {\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { DividerComponent } from './divider';\n\nexport * from './divider-constants';\nexport * from './divider';\n\nexport function defineDividerComponent(): void {\n defineCustomElement(DividerComponent);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;AAEA,IAAM,cAA2C,GAAG;AACpD,IAAM,UAAU;AAAA,EACd,MAAM;AACR;AAEO,IAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AACF;;;ACNA,IAAM,WAAW;AACjB,IAAM,SAAS;AAkBR,IAAM,mBAAN,cAA+B,cAA2C;AAAA,EAC/E,cAAc;AACZ,UAAM;AACN,yBAAqB,MAAM,UAAU,MAAM;AAAA,EAC7C;AACF;AALa,mBAAN;AAAA,EAHP,AAAC,cAAc;AAAA,IACb,MAAM,kBAAkB;AAAA,EAC1B,CAAC;AAAA,GACY;;;AChBN,kCAAwC;AAC7C,sBAAoB,gBAAgB;AACtC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -5,23 +5,23 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import {
|
|
7
7
|
SWITCH_CONSTANTS
|
|
8
|
-
} from "./chunk.
|
|
8
|
+
} from "./chunk.TYU4RLZG.js";
|
|
9
9
|
import {
|
|
10
10
|
RADIO_CONSTANTS
|
|
11
|
-
} from "./chunk.
|
|
11
|
+
} from "./chunk.4PF7WRP4.js";
|
|
12
12
|
import {
|
|
13
13
|
CHECKBOX_CONSTANTS
|
|
14
|
-
} from "./chunk.
|
|
14
|
+
} from "./chunk.7UAH67PT.js";
|
|
15
15
|
import {
|
|
16
16
|
BACKDROP_CONSTANTS,
|
|
17
17
|
BackdropComponent
|
|
18
|
-
} from "./chunk.
|
|
18
|
+
} from "./chunk.GXTNND2M.js";
|
|
19
19
|
import {
|
|
20
20
|
getEventPath
|
|
21
21
|
} from "./chunk.EY57VTRF.js";
|
|
22
22
|
import {
|
|
23
23
|
ICON_BUTTON_CONSTANTS
|
|
24
|
-
} from "./chunk.
|
|
24
|
+
} from "./chunk.EBC2HGO3.js";
|
|
25
25
|
import {
|
|
26
26
|
BaseAdapter
|
|
27
27
|
} from "./chunk.KZATVOA6.js";
|
|
@@ -600,4 +600,4 @@ export {
|
|
|
600
600
|
BottomSheetComponent,
|
|
601
601
|
defineBottomSheetComponent
|
|
602
602
|
};
|
|
603
|
-
//# sourceMappingURL=chunk.
|
|
603
|
+
//# sourceMappingURL=chunk.QWW6A7AF.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/bottom-sheet/bottom-sheet-constants.ts", "../../src/bottom-sheet/bottom-sheet-adapter.ts", "../../src/bottom-sheet/bottom-sheet-foundation.ts", "../../src/bottom-sheet/bottom-sheet.ts", "../../src/bottom-sheet/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { BACKDROP_CONSTANTS } from '../backdrop';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}bottom-sheet`;\n\nconst classes = {\n DRAGGING: 'forge-bottom-sheet--dragging',\n FULLSCREEN: 'forge-bottom-sheet--fullscreen',\n OPEN: 'forge-bottom-sheet--open',\n SCROLLABLE: 'forge-bottom-sheet--scrollable'\n};\n\nconst attributes = {\n BACKDROP_CLOSE: 'backdrop-close',\n ESCAPE_CLOSE: 'escape-close',\n FULLSCREEN: 'fullscreen',\n INITIAL_FOCUS: `${elementName}-focus`,\n OPEN: `${elementName}-open`,\n SHOW_BACKDROP: 'show-backdrop'\n};\n\nconst selectors = {\n BACKDROP: BACKDROP_CONSTANTS.elementName,\n CONTAINER: '.forge-bottom-sheet',\n CONTENT_BODY: '[forge-bottom-sheet-body]',\n INITIAL_FOCUS: `[${attributes.INITIAL_FOCUS}]`,\n HOST: `[${elementName}-host]`\n};\n\nconst events = {\n BEFORE_CLOSE: `forge-bottom-sheet-before-close`,\n CLOSE: `forge-bottom-sheet-close`,\n OPEN: `forge-bottom-sheet-open`,\n READY: `forge-bottom-sheet-ready`,\n DRAG_START: `forge-bottom-sheet-drag-start`,\n DRAGGED: `forge-bottom-sheet-dragged`,\n DRAG_END: `forge-bottom-sheet-drag-end`,\n DRAG_CANCEL: `forge-bottom-sheet-drag-cancel`,\n FULLSCREEN: `forge-bottom-sheet-fullscreen`\n};\n\nexport const BOTTOM_SHEET_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events\n};\n\nexport interface IBottomSheetDragEventData {\n y: number;\n}\n\nexport interface IBottomSheetDragStartEventData extends IBottomSheetDragEventData {}\n\nexport interface IBottomSheetDragContext {\n top: number;\n height: number;\n}\n", "import { getShadowElement, removeElement, deepQuerySelectorAll, toggleClass } from '@tylertech/forge-core';\nimport { BACKDROP_CONSTANTS, IBackdropComponent } from '../backdrop';\nimport { CHECKBOX_CONSTANTS } from '../checkbox';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { ICON_BUTTON_CONSTANTS } from '../icon-button';\nimport { RADIO_CONSTANTS } from '../radio';\nimport { SWITCH_CONSTANTS } from '../switch';\nimport { IBottomSheetComponent } from './bottom-sheet';\nimport { BOTTOM_SHEET_CONSTANTS } from './bottom-sheet-constants';\n\nexport interface IBottomSheetAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n setVisibility(visible: boolean): void;\n attach(): void;\n detach(): void;\n registerTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n deregisterTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n setBodyListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void;\n removeBodyListener(type: string, listener: (evt: Event) => void): void;\n setDocumentListener(type: string, listener: (evt: Event) => void): void;\n removeDocumentListener(type: string, listener: (evt: Event) => void): void;\n registerBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n deregisterBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n getOpenBottomSheets: (selector: string) => NodeListOf<HTMLElement>;\n trySetInitialFocus: () => void;\n isScrollable(): boolean;\n isContentChild(el: HTMLElement): boolean;\n initScrollable(): void;\n setDragging(isDragging: boolean): void;\n setBackdropVisiblity(value: boolean): void;\n setFullscreen(value: boolean): void;\n tryLayoutChildren(): void;\n setContainerHeight(height: number | null): void;\n getContainerBounds(): DOMRect;\n setDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n setBodyScrollHandler(listener: (evt: Event) => void): void;\n}\n\n/**\n * Provides facilities for interacting with the internal DOM of `BottomSheetComponent`.\n */\nexport class BottomSheetAdapter extends BaseAdapter<IBottomSheetComponent> implements IBottomSheetAdapter {\n private _backdropElement: IBackdropComponent;\n private _containerElement: HTMLElement;\n\n constructor(component: IBottomSheetComponent) {\n super(component);\n this._backdropElement = getShadowElement(component, BOTTOM_SHEET_CONSTANTS.selectors.BACKDROP) as IBackdropComponent;\n this._containerElement = getShadowElement(component, BOTTOM_SHEET_CONSTANTS.selectors.CONTAINER);\n }\n\n public initializeAccessibility(): void {\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'dialog');\n this._component.setAttribute('aria-modal', 'true');\n }\n }\n\n public setVisibility(visible: boolean): void {\n toggleClass(this._containerElement, visible, BOTTOM_SHEET_CONSTANTS.classes.OPEN);\n }\n\n public attach(): void {\n const hostElement = document.querySelector(BOTTOM_SHEET_CONSTANTS.selectors.HOST) || document.body;\n hostElement.appendChild(this._component);\n }\n\n public detach(): void {\n removeElement(this._component);\n }\n\n public registerTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._containerElement.addEventListener('transitionend', handler);\n }\n\n public deregisterTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._containerElement.removeEventListener('transitionend', handler);\n }\n\n public setBodyListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void {\n document.body.addEventListener(type, listener, options);\n }\n\n public removeBodyListener(type: string, listener: (evt: Event) => void): void {\n document.body.removeEventListener(type, listener);\n }\n\n public setDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.addEventListener(type, listener);\n }\n\n public removeDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.removeEventListener(type, listener);\n }\n\n public registerBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement.addEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, handler);\n }\n\n public deregisterBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement.removeEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, handler);\n }\n\n public getOpenBottomSheets(selector: string): NodeListOf<HTMLElement> {\n return document.querySelectorAll(selector);\n }\n\n public trySetInitialFocus(): void {\n const elements = deepQuerySelectorAll(this._component, BOTTOM_SHEET_CONSTANTS.selectors.INITIAL_FOCUS);\n if (elements && elements.length) {\n const initialElement = elements[elements.length - 1] as HTMLElement;\n initialElement.focus();\n }\n }\n\n public isScrollable(): boolean {\n const contentElement = this._getContentElement();\n return contentElement ? contentElement.scrollHeight > contentElement.offsetHeight : false;\n }\n\n public isContentChild(el: HTMLElement): boolean {\n const contentElement = this._getContentElement();\n return contentElement ? contentElement.contains(el) : false;\n }\n\n public initScrollable(): void {\n const isScrollable = this.isScrollable();\n toggleClass(this._component, isScrollable, BOTTOM_SHEET_CONSTANTS.classes.SCROLLABLE);\n toggleClass(this._containerElement, isScrollable, BOTTOM_SHEET_CONSTANTS.classes.SCROLLABLE);\n }\n\n public setDragging(isDragging: boolean): void {\n toggleClass(this._containerElement, isDragging, BOTTOM_SHEET_CONSTANTS.classes.DRAGGING);\n toggleClass(this._component, isDragging, BOTTOM_SHEET_CONSTANTS.classes.DRAGGING);\n }\n\n public setBackdropVisiblity(value: boolean): void {\n this._backdropElement.hidden = !value;\n }\n\n public setFullscreen(value: boolean): void {\n toggleClass(this._containerElement, value, BOTTOM_SHEET_CONSTANTS.classes.FULLSCREEN);\n }\n\n public tryLayoutChildren(): void {\n const layoutChildren = [ICON_BUTTON_CONSTANTS.elementName, SWITCH_CONSTANTS.elementName, CHECKBOX_CONSTANTS.elementName, RADIO_CONSTANTS.elementName];\n const commonLayoutElements = Array.from(this._component.querySelectorAll(layoutChildren.join(','))) as any[];\n commonLayoutElements.filter(el => typeof el.layout === 'function').forEach(el => el.layout());\n }\n\n public setContainerHeight(height: number | null): void {\n if (height !== null) {\n const percent = Math.min(100, 100 * height / window.innerHeight);\n this._containerElement.style.maxHeight = `${percent}%`;\n } else {\n this._containerElement.style.removeProperty('max-height');\n }\n }\n\n public getContainerBounds(): DOMRect {\n return this._containerElement.getBoundingClientRect() as DOMRect;\n }\n\n public setDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n this._containerElement.addEventListener(type, listener);\n }\n\n public removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n this._containerElement.removeEventListener(type, listener);\n }\n\n public setBodyScrollHandler(listener: (evt: MouseEvent) => void): void {\n const contentElement = this._getContentElement();\n if (contentElement) {\n contentElement.addEventListener('scroll', listener);\n }\n }\n\n private _getContentElement(): HTMLElement | null {\n const contentElements = Array.from(deepQuerySelectorAll(this._component, BOTTOM_SHEET_CONSTANTS.selectors.CONTENT_BODY, false)) as HTMLElement[];\n return contentElements.length ? contentElements[0] : null;\n }\n}\n", "import { ICustomElementFoundation, getEventPath } from '@tylertech/forge-core';\n\nimport { IBottomSheetAdapter } from './bottom-sheet-adapter';\nimport { BOTTOM_SHEET_CONSTANTS, IBottomSheetDragContext, IBottomSheetDragStartEventData } from './bottom-sheet-constants';\n\nexport interface IBottomSheetFoundation extends ICustomElementFoundation {\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n showBackdrop: boolean;\n openCallback: () => void | Promise<void>;\n closeCallback: () => void | Promise<void>;\n beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n\nexport class BottomSheetFoundation implements IBottomSheetFoundation {\n private _open = false;\n private _backdropClose = true;\n private _escapeClose = true;\n private _fullscreen = false;\n private _showBackdrop = false;\n private _openCallback: () => void | Promise<void>;\n private _closeCallback: () => void | Promise<void>;\n private _beforeCloseCallback: () => boolean | Promise<boolean>;\n private _openTransitionEndHandler: (evt: TransitionEvent) => void;\n private _closeTransitionEndHandler: (evt: TransitionEvent) => void;\n private _documentKeydownHandler: (evt: KeyboardEvent) => void;\n private _backdropClickHandler: (evt: CustomEvent) => void;\n private _isDragging = false;\n private _dragContext: IBottomSheetDragContext | undefined;\n private _lastPosition: { y: number; clientY: number } | undefined;\n private _bodyScrollHandler = (): void => this._onBodyScroll();\n private _dragStartHandler = ($event: MouseEvent): void => this._onDragStart($event);\n private _dragMoveHandler = ($event: MouseEvent): void => this._onDragMove($event);\n private _dragEndHandler = (): void => this._onDragEnd();\n private _dragCancelHandler = (): void => this._onDragCancel();\n\n constructor(public _adapter: IBottomSheetAdapter) {\n this._openTransitionEndHandler = (_evt: TransitionEvent) => this._onOpenTransitionEnd();\n this._closeTransitionEndHandler = (_evt: TransitionEvent) => this._onCloseTransitionEnd();\n this._documentKeydownHandler = (evt: KeyboardEvent) => this._onDocumentKeydown(evt);\n this._backdropClickHandler = (evt: CustomEvent) => this._onBackdropClick(evt);\n }\n\n public initialize(): void {\n this._adapter.initializeAccessibility();\n }\n\n public destroy(): void {\n if (this._open) {\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n\n private _setOpen(open: boolean): void {\n this._open = open;\n if (this._open) {\n this._openBottomSheet();\n } else {\n this._closeBottomSheet();\n }\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN, this._open);\n }\n\n private _openBottomSheet(): void {\n this._adapter.attach();\n this._adapter.setBodyAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN, 'true');\n this._adapter.registerTransitionEndHandler(this._openTransitionEndHandler);\n this._setDocumentKeydownListener(this._escapeClose);\n this._setBackdropClickListener(this._backdropClose);\n\n // Ensure transitions are triggered properly\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n this._adapter.setVisibility(true);\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.OPEN);\n this._adapter.trySetInitialFocus();\n this._adapter.initScrollable();\n });\n });\n }\n\n private _closeBottomSheet(): void {\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n this._adapter.registerTransitionEndHandler(this._closeTransitionEndHandler);\n\n this._adapter.setVisibility(false);\n }\n\n private _onCloseTransitionEnd(): void {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.CLOSE);\n this._adapter.detach();\n const openBottomSheets = this._adapter.getOpenBottomSheets(BOTTOM_SHEET_CONSTANTS.elementName);\n if (!openBottomSheets.length) {\n this._adapter.removeBodyAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN);\n }\n }\n\n private _onOpenTransitionEnd(): void {\n if (!this._open) {\n return;\n }\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.READY);\n this._adapter.tryLayoutChildren();\n if (this._adapter.isScrollable()) {\n this._initScrollableHandlers();\n }\n }\n\n private _onDocumentKeydown(evt: KeyboardEvent): void {\n evt.stopPropagation();\n if (evt.key && (evt.key === 'Escape' || evt.key === 'Esc')) {\n this._tryClose();\n }\n }\n\n private _onBackdropClick(evt: CustomEvent): void {\n evt.stopPropagation();\n this._tryClose();\n }\n\n private async _tryClose(): Promise<void> {\n const isCancelled = !this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.BEFORE_CLOSE, undefined, undefined, true);\n if (isCancelled) {\n return;\n }\n\n if (!this._beforeCloseCallback) {\n this.open = false;\n return;\n }\n\n try {\n const shouldClose = await Promise.resolve(this._beforeCloseCallback());\n if (shouldClose) {\n this.open = false;\n return;\n }\n } catch (err) {\n return;\n }\n }\n\n private _setBackdropClickListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach) {\n this._adapter.registerBackdropClickHandler(this._backdropClickHandler);\n } else {\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n\n private _setDocumentKeydownListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach) {\n this._adapter.addDocumentListener('keydown', this._documentKeydownHandler);\n } else {\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n }\n }\n\n /** Controls whether clicking the backdrop closes the bottom sheet or not. */\n public set backdropClose(value: boolean) {\n value = Boolean(value);\n if (this._backdropClose !== value) {\n this._backdropClose = value;\n this._setBackdropClickListener(this._backdropClose);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE, this._backdropClose);\n }\n }\n public get backdropClose(): boolean {\n return this._backdropClose;\n }\n\n /** Controls whether pressing the escape key closes the sheet or not. */\n public set escapeClose(value: boolean) {\n value = Boolean(value);\n if (this._escapeClose !== value) {\n this._escapeClose = value;\n this._setDocumentKeydownListener(this._escapeClose);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE, this._escapeClose);\n }\n }\n public get escapeClose(): boolean {\n return this._escapeClose;\n }\n\n public get open(): boolean {\n return this._open;\n }\n\n public set open(value: boolean) {\n if (this._open !== value) {\n value = Boolean(value);\n if (value !== this._open) {\n const callback = value ? this._openCallback : this._closeCallback;\n if (callback) {\n Promise.resolve(callback())\n .then(() => {\n this._setOpen(value);\n })\n .catch(() => { });\n } else {\n this._setOpen(value);\n }\n }\n }\n }\n\n public get fullscreen(): boolean {\n return this._fullscreen;\n }\n public set fullscreen(value: boolean) {\n if (this._fullscreen !== value) {\n this._fullscreen = value;\n this._adapter.setFullscreen(this._fullscreen);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN, this._fullscreen);\n }\n }\n\n public get showBackdrop(): boolean {\n return this._showBackdrop;\n }\n public set showBackdrop(value: boolean) {\n if (this._showBackdrop !== value) {\n this._showBackdrop = value;\n this._adapter.setBackdropVisiblity(value);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP, this._showBackdrop);\n }\n }\n\n public get openCallback(): () => void | Promise<void> {\n return this._openCallback;\n }\n public set openCallback(callback: () => void | Promise<void>) {\n this._openCallback = callback;\n }\n\n public get closeCallback(): () => void | Promise<void> {\n return this._closeCallback;\n }\n public set closeCallback(callback: () => void | Promise<void>) {\n this._closeCallback = callback;\n }\n\n public get beforeCloseCallback(): () => boolean | Promise<boolean> {\n return this._beforeCloseCallback;\n }\n public set beforeCloseCallback(callback: () => boolean | Promise<boolean>) {\n this._beforeCloseCallback = callback;\n }\n\n /** If scrollable, allow drag to/from fullscreen, and make fullscreen on scroll. */\n private _initScrollableHandlers(): void {\n if (!this._fullscreen && this._adapter.isScrollable()) {\n this._adapter.setDragTargetHandler('mousedown', this._dragStartHandler);\n this._adapter.setDragTargetHandler('touchstart', this._dragStartHandler);\n this._adapter.setBodyScrollHandler(this._bodyScrollHandler);\n }\n }\n\n private _onBodyScroll(): void {\n if (!this._fullscreen && !this._isDragging) {\n this.fullscreen = true;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n }\n }\n\n private _onDragStart(evt: MouseEvent | TouchEvent): void {\n if (this._fullscreen) {\n const eventPath = getEventPath(evt);\n const isWithinScrollContainer = this._adapter.isScrollable() && this._adapter.isContentChild(eventPath[0]);\n if (isWithinScrollContainer) {\n // We ignore drag events that originate from within the scrollable content when in full screen mode (to allow for scroll interactions)\n return;\n }\n }\n\n evt.stopPropagation();\n const bounds = this._adapter.getContainerBounds();\n const clientY = evt instanceof MouseEvent ? evt.clientY : evt.touches[0].clientY;\n this._dragContext = {\n top: clientY - bounds.top,\n height: bounds.height\n };\n this._adapter.setBodyListener('mousemove', this._dragMoveHandler, { passive: false });\n this._adapter.setBodyListener('touchmove', this._dragMoveHandler, { passive: false });\n this._adapter.setBodyListener('mouseup', this._dragEndHandler);\n this._adapter.setBodyListener('touchend', this._dragEndHandler);\n this._adapter.setBodyListener('touchcancel', this._dragCancelHandler);\n }\n\n private _onDragMove(evt: MouseEvent | TouchEvent): void {\n evt.stopPropagation();\n evt.preventDefault();\n if (!this._dragContext) {\n return;\n }\n const clientY = evt instanceof MouseEvent ? evt.clientY : evt.touches[0].clientY;\n const height = { y: window.innerHeight - clientY + this._dragContext.top };\n\n // If this is the beginning of the move sequence, we emit the start event (to allow for preventing default) and\n // then update the surface position if not prevented\n if (!this._isDragging) {\n this._isDragging = true;\n const canDrag = this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_START, height as IBottomSheetDragStartEventData, true, true);\n if (!canDrag) {\n return;\n }\n this._adapter.setDragging(true);\n }\n\n // If not fullscreen, clamp to minimum of original height.\n const newPosition = this._fullscreen ? height : { y: Math.max(height.y, this._dragContext.height) };\n\n // Only update the position if it actually changed\n if (!this._lastPosition || newPosition.y !== this._lastPosition.y) {\n const canMove = this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAGGED, newPosition as IBottomSheetDragStartEventData, true, true);\n if (canMove) {\n this._lastPosition = { ...newPosition, clientY };\n this._adapter.setContainerHeight(newPosition.y);\n }\n }\n }\n\n private _onDragEnd(): void {\n if (this._lastPosition) {\n const clientY = this._lastPosition.clientY;\n const dragContext = this._dragContext;\n if (dragContext) {\n if (this._fullscreen && clientY > 0) {\n this.fullscreen = false;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n } else if (!this._fullscreen && clientY < dragContext.height + dragContext.top) {\n this.fullscreen = true;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n }\n }\n }\n if (this._isDragging) {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_END);\n }\n this._dragComplete();\n }\n\n private _onDragCancel(): void {\n if (this._isDragging) {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_CANCEL);\n }\n this._dragComplete();\n }\n\n private _dragComplete(): void {\n this._adapter.setDragging(false);\n this._adapter.removeBodyListener('mousemove', this._dragMoveHandler);\n this._adapter.removeBodyListener('touchmove', this._dragMoveHandler);\n this._adapter.removeBodyListener('mouseup', this._dragEndHandler);\n this._adapter.removeBodyListener('touchend', this._dragEndHandler);\n this._adapter.removeBodyListener('touchcancel', this._dragCancelHandler);\n this._adapter.setContainerHeight(null);\n this._lastPosition = undefined;\n this._dragContext = undefined;\n this._isDragging = false;\n }\n}\n", "import { attachShadowTemplate, CustomElement, FoundationProperty, ICustomElement, upgradeProperty, coerceBoolean } from '@tylertech/forge-core';\n\nimport { BackdropComponent } from '../backdrop';\nimport { BottomSheetAdapter } from './bottom-sheet-adapter';\nimport { BOTTOM_SHEET_CONSTANTS, IBottomSheetDragEventData, IBottomSheetDragStartEventData } from './bottom-sheet-constants';\nimport { BottomSheetFoundation } from './bottom-sheet-foundation';\n\nconst template = '<template><forge-backdrop hidden part=\\\"backdrop\\\"></forge-backdrop><div class=\\\"forge-bottom-sheet\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-bottom-sheet{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);border-radius:4px 4px 0 0;border-radius:var(--forge-bottom-sheet-border-radius,4px 4px 0 0);max-width:50%;max-width:var(--forge-bottom-sheet-desktop-max-width,50%);-webkit-box-sizing:border-box;box-sizing:border-box;position:fixed;bottom:0;right:0;left:0;max-height:50%;margin:0 auto;display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1),-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1)}@media (max-width:600px){.forge-bottom-sheet{max-width:100%;width:100%;margin:0;border-radius:0}}.forge-bottom-sheet--open{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms);transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms)}.forge-bottom-sheet--fullscreen.forge-bottom-sheet--open{height:100%;max-height:100%;-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in;transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in}.forge-bottom-sheet--dragging{-webkit-transition:none!important;transition:none!important}.forge-bottom-sheet--scrollable{height:100%}:host{z-index:8;z-index:var(--forge-z-index-dialog,8);position:fixed}:host forge-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;position:fixed}:host([hidden]){display:none}';\n\nexport interface IBottomSheetComponent extends ICustomElement {\n showBackdrop: boolean;\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n openCallback: () => void | Promise<void>;\n closeCallback: () => void | Promise<void>;\n beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n\ndeclare global {\n // tslint:disable-next-line: interface-name\n interface HTMLElementTagNameMap {\n 'forge-bottom-sheet': IBottomSheetComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-bottom-sheet-open': CustomEvent<void>;\n 'forge-bottom-sheet-close': CustomEvent<void>;\n 'forge-bottom-sheet-before-close': CustomEvent<void>;\n 'forge-bottom-sheet-before-open': CustomEvent<void>;\n 'forge-bottom-sheet-ready': CustomEvent<void>;\n 'forge-bottom-sheet-drag-start': CustomEvent<IBottomSheetDragStartEventData>;\n 'forge-bottom-sheet-dragged': CustomEvent<IBottomSheetDragEventData>;\n 'forge-bottom-sheet-drag-end': CustomEvent<void>;\n 'forge-bottom-sheet-drag-cancel': CustomEvent<void>;\n 'forge-bottom-sheet-fullscreen': CustomEvent<boolean>;\n }\n}\n\n@CustomElement({\n name: BOTTOM_SHEET_CONSTANTS.elementName,\n dependencies: [BackdropComponent]\n})\nexport class BottomSheetComponent extends HTMLElement implements IBottomSheetComponent {\n public static get observedAttributes(): string[] {\n return [\n BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE,\n BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE,\n BOTTOM_SHEET_CONSTANTS.attributes.OPEN,\n BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN,\n BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP\n ];\n }\n\n private _foundation: BottomSheetFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new BottomSheetFoundation(new BottomSheetAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, _oldValue: string, newValue: string): void {\n switch (name) {\n case BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE:\n this.backdropClose = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE:\n this.escapeClose = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN:\n this.fullscreen = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP:\n this.showBackdrop = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Controls whether clicking the backdrop closes the bottom-sheet or not. Default is true. */\n @FoundationProperty()\n public backdropClose: boolean;\n\n /** Controls whether pressing the escape key closes the bottom-sheet or not. Default is true. */\n @FoundationProperty()\n public escapeClose: boolean;\n\n /** Controls whether the bottom-sheet is open or not. Default is false. */\n @FoundationProperty()\n public open: boolean;\n\n /** Controls whether the bottom-sheet is full screen or not. Default is false. */\n @FoundationProperty()\n public fullscreen: boolean;\n\n /** Shows a backdrop to prevent interacting with other content until the bottom sheet is dismissed. Default is false. */\n @FoundationProperty()\n public showBackdrop: boolean;\n\n /** The function to call when the bottom-sheet wants to open. */\n @FoundationProperty()\n public openCallback: () => void | Promise<void>;\n\n /** the function to call when the bottom-sheet wants to close. */\n @FoundationProperty()\n public closeCallback: () => void | Promise<void>;\n\n /** the function to call when the bottom-sheet wants to close. */\n @FoundationProperty()\n public beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { BottomSheetComponent } from './bottom-sheet';\n\nexport * from './bottom-sheet-adapter';\nexport * from './bottom-sheet-constants';\nexport * from './bottom-sheet-foundation';\nexport * from './bottom-sheet';\n\nexport function defineBottomSheetComponent(): void {\n defineCustomElement(BottomSheetComponent);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { BACKDROP_CONSTANTS } from '../backdrop';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}bottom-sheet`;\n\nconst classes = {\n DRAGGING: 'forge-bottom-sheet--dragging',\n FULLSCREEN: 'forge-bottom-sheet--fullscreen',\n OPEN: 'forge-bottom-sheet--open',\n SCROLLABLE: 'forge-bottom-sheet--scrollable'\n};\n\nconst attributes = {\n BACKDROP_CLOSE: 'backdrop-close',\n ESCAPE_CLOSE: 'escape-close',\n FULLSCREEN: 'fullscreen',\n INITIAL_FOCUS: `${elementName}-focus`,\n OPEN: `${elementName}-open`,\n SHOW_BACKDROP: 'show-backdrop'\n};\n\nconst selectors = {\n BACKDROP: BACKDROP_CONSTANTS.elementName,\n CONTAINER: '.forge-bottom-sheet',\n CONTENT_BODY: '[forge-bottom-sheet-body]',\n INITIAL_FOCUS: `[${attributes.INITIAL_FOCUS}]`,\n HOST: `[${elementName}-host]`\n};\n\nconst events = {\n BEFORE_CLOSE: `forge-bottom-sheet-before-close`,\n CLOSE: `forge-bottom-sheet-close`,\n OPEN: `forge-bottom-sheet-open`,\n READY: `forge-bottom-sheet-ready`,\n DRAG_START: `forge-bottom-sheet-drag-start`,\n DRAGGED: `forge-bottom-sheet-dragged`,\n DRAG_END: `forge-bottom-sheet-drag-end`,\n DRAG_CANCEL: `forge-bottom-sheet-drag-cancel`,\n FULLSCREEN: `forge-bottom-sheet-fullscreen`\n};\n\nexport const BOTTOM_SHEET_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events\n};\n\nexport interface IBottomSheetDragEventData {\n y: number;\n}\n\nexport interface IBottomSheetDragStartEventData extends IBottomSheetDragEventData {}\n\nexport interface IBottomSheetDragContext {\n top: number;\n height: number;\n}\n", "import { getShadowElement, removeElement, deepQuerySelectorAll, toggleClass } from '@tylertech/forge-core';\nimport { BACKDROP_CONSTANTS, IBackdropComponent } from '../backdrop';\nimport { CHECKBOX_CONSTANTS } from '../checkbox';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { ICON_BUTTON_CONSTANTS } from '../icon-button';\nimport { RADIO_CONSTANTS } from '../radio';\nimport { SWITCH_CONSTANTS } from '../switch';\nimport { IBottomSheetComponent } from './bottom-sheet';\nimport { BOTTOM_SHEET_CONSTANTS } from './bottom-sheet-constants';\n\nexport interface IBottomSheetAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n setVisibility(visible: boolean): void;\n attach(): void;\n detach(): void;\n registerTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n deregisterTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n setBodyListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void;\n removeBodyListener(type: string, listener: (evt: Event) => void): void;\n setDocumentListener(type: string, listener: (evt: Event) => void): void;\n removeDocumentListener(type: string, listener: (evt: Event) => void): void;\n registerBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n deregisterBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n getOpenBottomSheets: (selector: string) => NodeListOf<HTMLElement>;\n trySetInitialFocus: () => void;\n isScrollable(): boolean;\n isContentChild(el: HTMLElement): boolean;\n initScrollable(): void;\n setDragging(isDragging: boolean): void;\n setBackdropVisiblity(value: boolean): void;\n setFullscreen(value: boolean): void;\n tryLayoutChildren(): void;\n setContainerHeight(height: number | null): void;\n getContainerBounds(): DOMRect;\n setDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n setBodyScrollHandler(listener: (evt: Event) => void): void;\n}\n\n/**\n * Provides facilities for interacting with the internal DOM of `BottomSheetComponent`.\n */\nexport class BottomSheetAdapter extends BaseAdapter<IBottomSheetComponent> implements IBottomSheetAdapter {\n private _backdropElement: IBackdropComponent;\n private _containerElement: HTMLElement;\n\n constructor(component: IBottomSheetComponent) {\n super(component);\n this._backdropElement = getShadowElement(component, BOTTOM_SHEET_CONSTANTS.selectors.BACKDROP) as IBackdropComponent;\n this._containerElement = getShadowElement(component, BOTTOM_SHEET_CONSTANTS.selectors.CONTAINER);\n }\n\n public initializeAccessibility(): void {\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'dialog');\n this._component.setAttribute('aria-modal', 'true');\n }\n }\n\n public setVisibility(visible: boolean): void {\n toggleClass(this._containerElement, visible, BOTTOM_SHEET_CONSTANTS.classes.OPEN);\n }\n\n public attach(): void {\n const hostElement = document.querySelector(BOTTOM_SHEET_CONSTANTS.selectors.HOST) || document.body;\n hostElement.appendChild(this._component);\n }\n\n public detach(): void {\n removeElement(this._component);\n }\n\n public registerTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._containerElement.addEventListener('transitionend', handler);\n }\n\n public deregisterTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._containerElement.removeEventListener('transitionend', handler);\n }\n\n public setBodyListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void {\n document.body.addEventListener(type, listener, options);\n }\n\n public removeBodyListener(type: string, listener: (evt: Event) => void): void {\n document.body.removeEventListener(type, listener);\n }\n\n public setDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.addEventListener(type, listener);\n }\n\n public removeDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.removeEventListener(type, listener);\n }\n\n public registerBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement.addEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, handler);\n }\n\n public deregisterBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement.removeEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, handler);\n }\n\n public getOpenBottomSheets(selector: string): NodeListOf<HTMLElement> {\n return document.querySelectorAll(selector);\n }\n\n public trySetInitialFocus(): void {\n const elements = deepQuerySelectorAll(this._component, BOTTOM_SHEET_CONSTANTS.selectors.INITIAL_FOCUS);\n if (elements && elements.length) {\n const initialElement = elements[elements.length - 1] as HTMLElement;\n initialElement.focus();\n }\n }\n\n public isScrollable(): boolean {\n const contentElement = this._getContentElement();\n return contentElement ? contentElement.scrollHeight > contentElement.offsetHeight : false;\n }\n\n public isContentChild(el: HTMLElement): boolean {\n const contentElement = this._getContentElement();\n return contentElement ? contentElement.contains(el) : false;\n }\n\n public initScrollable(): void {\n const isScrollable = this.isScrollable();\n toggleClass(this._component, isScrollable, BOTTOM_SHEET_CONSTANTS.classes.SCROLLABLE);\n toggleClass(this._containerElement, isScrollable, BOTTOM_SHEET_CONSTANTS.classes.SCROLLABLE);\n }\n\n public setDragging(isDragging: boolean): void {\n toggleClass(this._containerElement, isDragging, BOTTOM_SHEET_CONSTANTS.classes.DRAGGING);\n toggleClass(this._component, isDragging, BOTTOM_SHEET_CONSTANTS.classes.DRAGGING);\n }\n\n public setBackdropVisiblity(value: boolean): void {\n this._backdropElement.hidden = !value;\n }\n\n public setFullscreen(value: boolean): void {\n toggleClass(this._containerElement, value, BOTTOM_SHEET_CONSTANTS.classes.FULLSCREEN);\n }\n\n public tryLayoutChildren(): void {\n const layoutChildren = [ICON_BUTTON_CONSTANTS.elementName, SWITCH_CONSTANTS.elementName, CHECKBOX_CONSTANTS.elementName, RADIO_CONSTANTS.elementName];\n const commonLayoutElements = Array.from(this._component.querySelectorAll(layoutChildren.join(','))) as any[];\n commonLayoutElements.filter(el => typeof el.layout === 'function').forEach(el => el.layout());\n }\n\n public setContainerHeight(height: number | null): void {\n if (height !== null) {\n const percent = Math.min(100, 100 * height / window.innerHeight);\n this._containerElement.style.maxHeight = `${percent}%`;\n } else {\n this._containerElement.style.removeProperty('max-height');\n }\n }\n\n public getContainerBounds(): DOMRect {\n return this._containerElement.getBoundingClientRect() as DOMRect;\n }\n\n public setDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n this._containerElement.addEventListener(type, listener);\n }\n\n public removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n this._containerElement.removeEventListener(type, listener);\n }\n\n public setBodyScrollHandler(listener: (evt: MouseEvent) => void): void {\n const contentElement = this._getContentElement();\n if (contentElement) {\n contentElement.addEventListener('scroll', listener);\n }\n }\n\n private _getContentElement(): HTMLElement | null {\n const contentElements = Array.from(deepQuerySelectorAll(this._component, BOTTOM_SHEET_CONSTANTS.selectors.CONTENT_BODY, false)) as HTMLElement[];\n return contentElements.length ? contentElements[0] : null;\n }\n}\n", "import { ICustomElementFoundation, getEventPath } from '@tylertech/forge-core';\n\nimport { IBottomSheetAdapter } from './bottom-sheet-adapter';\nimport { BOTTOM_SHEET_CONSTANTS, IBottomSheetDragContext, IBottomSheetDragStartEventData } from './bottom-sheet-constants';\n\nexport interface IBottomSheetFoundation extends ICustomElementFoundation {\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n showBackdrop: boolean;\n openCallback: () => void | Promise<void>;\n closeCallback: () => void | Promise<void>;\n beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n\nexport class BottomSheetFoundation implements IBottomSheetFoundation {\n private _open = false;\n private _backdropClose = true;\n private _escapeClose = true;\n private _fullscreen = false;\n private _showBackdrop = false;\n private _openCallback: () => void | Promise<void>;\n private _closeCallback: () => void | Promise<void>;\n private _beforeCloseCallback: () => boolean | Promise<boolean>;\n private _openTransitionEndHandler: (evt: TransitionEvent) => void;\n private _closeTransitionEndHandler: (evt: TransitionEvent) => void;\n private _documentKeydownHandler: (evt: KeyboardEvent) => void;\n private _backdropClickHandler: (evt: CustomEvent) => void;\n private _isDragging = false;\n private _dragContext: IBottomSheetDragContext | undefined;\n private _lastPosition: { y: number; clientY: number } | undefined;\n private _bodyScrollHandler = (): void => this._onBodyScroll();\n private _dragStartHandler = ($event: MouseEvent): void => this._onDragStart($event);\n private _dragMoveHandler = ($event: MouseEvent): void => this._onDragMove($event);\n private _dragEndHandler = (): void => this._onDragEnd();\n private _dragCancelHandler = (): void => this._onDragCancel();\n\n constructor(public _adapter: IBottomSheetAdapter) {\n this._openTransitionEndHandler = (_evt: TransitionEvent) => this._onOpenTransitionEnd();\n this._closeTransitionEndHandler = (_evt: TransitionEvent) => this._onCloseTransitionEnd();\n this._documentKeydownHandler = (evt: KeyboardEvent) => this._onDocumentKeydown(evt);\n this._backdropClickHandler = (evt: CustomEvent) => this._onBackdropClick(evt);\n }\n\n public initialize(): void {\n this._adapter.initializeAccessibility();\n }\n\n public destroy(): void {\n if (this._open) {\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n\n private _setOpen(open: boolean): void {\n this._open = open;\n if (this._open) {\n this._openBottomSheet();\n } else {\n this._closeBottomSheet();\n }\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN, this._open);\n }\n\n private _openBottomSheet(): void {\n this._adapter.attach();\n this._adapter.setBodyAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN, 'true');\n this._adapter.registerTransitionEndHandler(this._openTransitionEndHandler);\n this._setDocumentKeydownListener(this._escapeClose);\n this._setBackdropClickListener(this._backdropClose);\n\n // Ensure transitions are triggered properly\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n this._adapter.setVisibility(true);\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.OPEN);\n this._adapter.trySetInitialFocus();\n this._adapter.initScrollable();\n });\n });\n }\n\n private _closeBottomSheet(): void {\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n this._adapter.registerTransitionEndHandler(this._closeTransitionEndHandler);\n\n this._adapter.setVisibility(false);\n }\n\n private _onCloseTransitionEnd(): void {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.CLOSE);\n this._adapter.detach();\n const openBottomSheets = this._adapter.getOpenBottomSheets(BOTTOM_SHEET_CONSTANTS.elementName);\n if (!openBottomSheets.length) {\n this._adapter.removeBodyAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN);\n }\n }\n\n private _onOpenTransitionEnd(): void {\n if (!this._open) {\n return;\n }\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.READY);\n this._adapter.tryLayoutChildren();\n if (this._adapter.isScrollable()) {\n this._initScrollableHandlers();\n }\n }\n\n private _onDocumentKeydown(evt: KeyboardEvent): void {\n evt.stopPropagation();\n if (evt.key && (evt.key === 'Escape' || evt.key === 'Esc')) {\n this._tryClose();\n }\n }\n\n private _onBackdropClick(evt: CustomEvent): void {\n evt.stopPropagation();\n this._tryClose();\n }\n\n private async _tryClose(): Promise<void> {\n const isCancelled = !this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.BEFORE_CLOSE, undefined, undefined, true);\n if (isCancelled) {\n return;\n }\n\n if (!this._beforeCloseCallback) {\n this.open = false;\n return;\n }\n\n try {\n const shouldClose = await Promise.resolve(this._beforeCloseCallback());\n if (shouldClose) {\n this.open = false;\n return;\n }\n } catch (err) {\n return;\n }\n }\n\n private _setBackdropClickListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach) {\n this._adapter.registerBackdropClickHandler(this._backdropClickHandler);\n } else {\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n\n private _setDocumentKeydownListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach) {\n this._adapter.addDocumentListener('keydown', this._documentKeydownHandler);\n } else {\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n }\n }\n\n /** Controls whether clicking the backdrop closes the bottom sheet or not. */\n public set backdropClose(value: boolean) {\n value = Boolean(value);\n if (this._backdropClose !== value) {\n this._backdropClose = value;\n this._setBackdropClickListener(this._backdropClose);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE, this._backdropClose);\n }\n }\n public get backdropClose(): boolean {\n return this._backdropClose;\n }\n\n /** Controls whether pressing the escape key closes the sheet or not. */\n public set escapeClose(value: boolean) {\n value = Boolean(value);\n if (this._escapeClose !== value) {\n this._escapeClose = value;\n this._setDocumentKeydownListener(this._escapeClose);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE, this._escapeClose);\n }\n }\n public get escapeClose(): boolean {\n return this._escapeClose;\n }\n\n public get open(): boolean {\n return this._open;\n }\n\n public set open(value: boolean) {\n if (this._open !== value) {\n value = Boolean(value);\n if (value !== this._open) {\n const callback = value ? this._openCallback : this._closeCallback;\n if (callback) {\n Promise.resolve(callback())\n .then(() => {\n this._setOpen(value);\n })\n .catch(() => { });\n } else {\n this._setOpen(value);\n }\n }\n }\n }\n\n public get fullscreen(): boolean {\n return this._fullscreen;\n }\n public set fullscreen(value: boolean) {\n if (this._fullscreen !== value) {\n this._fullscreen = value;\n this._adapter.setFullscreen(this._fullscreen);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN, this._fullscreen);\n }\n }\n\n public get showBackdrop(): boolean {\n return this._showBackdrop;\n }\n public set showBackdrop(value: boolean) {\n if (this._showBackdrop !== value) {\n this._showBackdrop = value;\n this._adapter.setBackdropVisiblity(value);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP, this._showBackdrop);\n }\n }\n\n public get openCallback(): () => void | Promise<void> {\n return this._openCallback;\n }\n public set openCallback(callback: () => void | Promise<void>) {\n this._openCallback = callback;\n }\n\n public get closeCallback(): () => void | Promise<void> {\n return this._closeCallback;\n }\n public set closeCallback(callback: () => void | Promise<void>) {\n this._closeCallback = callback;\n }\n\n public get beforeCloseCallback(): () => boolean | Promise<boolean> {\n return this._beforeCloseCallback;\n }\n public set beforeCloseCallback(callback: () => boolean | Promise<boolean>) {\n this._beforeCloseCallback = callback;\n }\n\n /** If scrollable, allow drag to/from fullscreen, and make fullscreen on scroll. */\n private _initScrollableHandlers(): void {\n if (!this._fullscreen && this._adapter.isScrollable()) {\n this._adapter.setDragTargetHandler('mousedown', this._dragStartHandler);\n this._adapter.setDragTargetHandler('touchstart', this._dragStartHandler);\n this._adapter.setBodyScrollHandler(this._bodyScrollHandler);\n }\n }\n\n private _onBodyScroll(): void {\n if (!this._fullscreen && !this._isDragging) {\n this.fullscreen = true;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n }\n }\n\n private _onDragStart(evt: MouseEvent | TouchEvent): void {\n if (this._fullscreen) {\n const eventPath = getEventPath(evt);\n const isWithinScrollContainer = this._adapter.isScrollable() && this._adapter.isContentChild(eventPath[0]);\n if (isWithinScrollContainer) {\n // We ignore drag events that originate from within the scrollable content when in full screen mode (to allow for scroll interactions)\n return;\n }\n }\n\n evt.stopPropagation();\n const bounds = this._adapter.getContainerBounds();\n const clientY = evt instanceof MouseEvent ? evt.clientY : evt.touches[0].clientY;\n this._dragContext = {\n top: clientY - bounds.top,\n height: bounds.height\n };\n this._adapter.setBodyListener('mousemove', this._dragMoveHandler, { passive: false });\n this._adapter.setBodyListener('touchmove', this._dragMoveHandler, { passive: false });\n this._adapter.setBodyListener('mouseup', this._dragEndHandler);\n this._adapter.setBodyListener('touchend', this._dragEndHandler);\n this._adapter.setBodyListener('touchcancel', this._dragCancelHandler);\n }\n\n private _onDragMove(evt: MouseEvent | TouchEvent): void {\n evt.stopPropagation();\n evt.preventDefault();\n if (!this._dragContext) {\n return;\n }\n const clientY = evt instanceof MouseEvent ? evt.clientY : evt.touches[0].clientY;\n const height = { y: window.innerHeight - clientY + this._dragContext.top };\n\n // If this is the beginning of the move sequence, we emit the start event (to allow for preventing default) and\n // then update the surface position if not prevented\n if (!this._isDragging) {\n this._isDragging = true;\n const canDrag = this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_START, height as IBottomSheetDragStartEventData, true, true);\n if (!canDrag) {\n return;\n }\n this._adapter.setDragging(true);\n }\n\n // If not fullscreen, clamp to minimum of original height.\n const newPosition = this._fullscreen ? height : { y: Math.max(height.y, this._dragContext.height) };\n\n // Only update the position if it actually changed\n if (!this._lastPosition || newPosition.y !== this._lastPosition.y) {\n const canMove = this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAGGED, newPosition as IBottomSheetDragStartEventData, true, true);\n if (canMove) {\n this._lastPosition = { ...newPosition, clientY };\n this._adapter.setContainerHeight(newPosition.y);\n }\n }\n }\n\n private _onDragEnd(): void {\n if (this._lastPosition) {\n const clientY = this._lastPosition.clientY;\n const dragContext = this._dragContext;\n if (dragContext) {\n if (this._fullscreen && clientY > 0) {\n this.fullscreen = false;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n } else if (!this._fullscreen && clientY < dragContext.height + dragContext.top) {\n this.fullscreen = true;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n }\n }\n }\n if (this._isDragging) {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_END);\n }\n this._dragComplete();\n }\n\n private _onDragCancel(): void {\n if (this._isDragging) {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_CANCEL);\n }\n this._dragComplete();\n }\n\n private _dragComplete(): void {\n this._adapter.setDragging(false);\n this._adapter.removeBodyListener('mousemove', this._dragMoveHandler);\n this._adapter.removeBodyListener('touchmove', this._dragMoveHandler);\n this._adapter.removeBodyListener('mouseup', this._dragEndHandler);\n this._adapter.removeBodyListener('touchend', this._dragEndHandler);\n this._adapter.removeBodyListener('touchcancel', this._dragCancelHandler);\n this._adapter.setContainerHeight(null);\n this._lastPosition = undefined;\n this._dragContext = undefined;\n this._isDragging = false;\n }\n}\n", "import { attachShadowTemplate, CustomElement, FoundationProperty, ICustomElement, upgradeProperty, coerceBoolean } from '@tylertech/forge-core';\n\nimport { BackdropComponent } from '../backdrop';\nimport { BottomSheetAdapter } from './bottom-sheet-adapter';\nimport { BOTTOM_SHEET_CONSTANTS, IBottomSheetDragEventData, IBottomSheetDragStartEventData } from './bottom-sheet-constants';\nimport { BottomSheetFoundation } from './bottom-sheet-foundation';\n\nconst template = '<template><forge-backdrop hidden part=\\\"backdrop\\\"></forge-backdrop><div class=\\\"forge-bottom-sheet\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-bottom-sheet{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);border-radius:4px 4px 0 0;border-radius:var(--forge-bottom-sheet-border-radius,4px 4px 0 0);max-width:50%;max-width:var(--forge-bottom-sheet-desktop-max-width,50%);-webkit-box-sizing:border-box;box-sizing:border-box;position:fixed;bottom:0;right:0;left:0;max-height:50%;margin:0 auto;display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1),-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1)}@media (max-width:600px){.forge-bottom-sheet{max-width:100%;width:100%;margin:0;border-radius:0}}.forge-bottom-sheet--open{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms);transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms)}.forge-bottom-sheet--fullscreen.forge-bottom-sheet--open{height:100%;max-height:100%;-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in;transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in}.forge-bottom-sheet--dragging{-webkit-transition:none!important;transition:none!important}.forge-bottom-sheet--scrollable{height:100%}:host{z-index:8;z-index:var(--forge-z-index-dialog,8);position:fixed}:host forge-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;position:fixed}:host([hidden]){display:none}';\n\nexport interface IBottomSheetComponent extends ICustomElement {\n showBackdrop: boolean;\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n openCallback: () => void | Promise<void>;\n closeCallback: () => void | Promise<void>;\n beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n\ndeclare global {\n // tslint:disable-next-line: interface-name\n interface HTMLElementTagNameMap {\n 'forge-bottom-sheet': IBottomSheetComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-bottom-sheet-open': CustomEvent<void>;\n 'forge-bottom-sheet-close': CustomEvent<void>;\n 'forge-bottom-sheet-before-close': CustomEvent<void>;\n 'forge-bottom-sheet-before-open': CustomEvent<void>;\n 'forge-bottom-sheet-ready': CustomEvent<void>;\n 'forge-bottom-sheet-drag-start': CustomEvent<IBottomSheetDragStartEventData>;\n 'forge-bottom-sheet-dragged': CustomEvent<IBottomSheetDragEventData>;\n 'forge-bottom-sheet-drag-end': CustomEvent<void>;\n 'forge-bottom-sheet-drag-cancel': CustomEvent<void>;\n 'forge-bottom-sheet-fullscreen': CustomEvent<boolean>;\n }\n}\n\n/**\n * The web component class behind the `<forge-bottom-sheet>` custom element.\n * \n * @tag forge-bottom-sheet\n */\n@CustomElement({\n name: BOTTOM_SHEET_CONSTANTS.elementName,\n dependencies: [BackdropComponent]\n})\nexport class BottomSheetComponent extends HTMLElement implements IBottomSheetComponent {\n public static get observedAttributes(): string[] {\n return [\n BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE,\n BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE,\n BOTTOM_SHEET_CONSTANTS.attributes.OPEN,\n BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN,\n BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP\n ];\n }\n\n private _foundation: BottomSheetFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new BottomSheetFoundation(new BottomSheetAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, _oldValue: string, newValue: string): void {\n switch (name) {\n case BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE:\n this.backdropClose = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE:\n this.escapeClose = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN:\n this.fullscreen = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP:\n this.showBackdrop = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Controls whether clicking the backdrop closes the bottom-sheet or not. Default is true. */\n @FoundationProperty()\n public backdropClose: boolean;\n\n /** Controls whether pressing the escape key closes the bottom-sheet or not. Default is true. */\n @FoundationProperty()\n public escapeClose: boolean;\n\n /** Controls whether the bottom-sheet is open or not. Default is false. */\n @FoundationProperty()\n public open: boolean;\n\n /** Controls whether the bottom-sheet is full screen or not. Default is false. */\n @FoundationProperty()\n public fullscreen: boolean;\n\n /** Shows a backdrop to prevent interacting with other content until the bottom sheet is dismissed. Default is false. */\n @FoundationProperty()\n public showBackdrop: boolean;\n\n /** The function to call when the bottom-sheet wants to open. */\n @FoundationProperty()\n public openCallback: () => void | Promise<void>;\n\n /** the function to call when the bottom-sheet wants to close. */\n @FoundationProperty()\n public closeCallback: () => void | Promise<void>;\n\n /** the function to call when the bottom-sheet wants to close. */\n @FoundationProperty()\n public beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { BottomSheetComponent } from './bottom-sheet';\n\nexport * from './bottom-sheet-adapter';\nexport * from './bottom-sheet-constants';\nexport * from './bottom-sheet-foundation';\nexport * from './bottom-sheet';\n\nexport function defineBottomSheetComponent(): void {\n defineCustomElement(BottomSheetComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/page-state/page-state-constants.ts", "../../src/page-state/page-state.ts", "../../src/page-state/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}page-state`;\n\nexport const PAGE_STATE_CONSTANTS = {\n elementName\n};\n", "import { CustomElement, attachShadowTemplate } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nimport { PAGE_STATE_CONSTANTS } from './page-state-constants';\n\nconst template = '<template><div class=\\\"forge-page-state\\\" part=\\\"root\\\"><div class=\\\"forge-page-state__graphic\\\" part=\\\"graphic-container\\\"><slot name=\\\"graphic\\\"></slot></div><h1 class=\\\"forge-page-state__title\\\" part=\\\"title-container\\\"><slot name=\\\"title\\\"></slot></h1><h2 class=\\\"forge-page-state__message\\\" part=\\\"message-container\\\"><slot name=\\\"message\\\"></slot></h2><div class=\\\"forge-page-state__actions\\\" part=\\\"actions-container\\\"><slot name=\\\"action\\\"></slot></div></div></template>';\nconst styles = '.forge-page-state{width:576px;width:var(--forge-page-state-width,576px);margin-top:56px;margin-top:var(--forge-page-state-vertical-margin,56px);margin-bottom:56px;margin-bottom:var(--forge-page-state-vertical-margin,56px);text-align:center}.forge-page-state__graphic{height:296px;height:var(--forge-page-state-graphic-height,296px);margin-bottom:56px;margin-bottom:var(--forge-page-state-vertical-margin,56px);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%}.forge-page-state__graphic ::slotted([slot=graphic]){height:100%;width:100%}.forge-page-state__title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-headline3-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:3rem;font-size:var(--mdc-typography-headline3-font-size, 3rem);line-height:3.125rem;line-height:var(--mdc-typography-headline3-line-height, 3.125rem);font-weight:400;font-weight:var(--mdc-typography-headline3-font-weight,400);letter-spacing:normal;letter-spacing:var(--mdc-typography-headline3-letter-spacing, normal);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-headline3-text-decoration,inherit);text-decoration:var(--mdc-typography-headline3-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-headline3-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-top:56px;margin-top:var(--forge-page-state-vertical-margin,56px);margin-bottom:56px;margin-bottom:var(--forge-page-state-vertical-margin,56px)}.forge-page-state__message{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));margin-bottom:56px;margin-bottom:var(--forge-page-state-vertical-margin,56px);font-size:20px;margin-top:0}.forge-page-state__actions ::slotted(:not(:last-child)){margin-right:16px}@media (max-width:599px){.forge-page-state{width:70%;width:var(--forge-page-state-mobile-width,70%)}.forge-page-state__graphic{height:auto;height:var(--forge-page-state-mobile-graphic-height,auto)}.forge-page-state__title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-headline5-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1.5rem;font-size:var(--mdc-typography-headline5-font-size, 1.5rem);line-height:2rem;line-height:var(--mdc-typography-headline5-line-height, 2rem);font-weight:400;font-weight:var(--mdc-typography-headline5-font-weight,400);letter-spacing:normal;letter-spacing:var(--mdc-typography-headline5-letter-spacing, normal);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-headline5-text-decoration,inherit);text-decoration:var(--mdc-typography-headline5-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-headline5-text-transform,inherit)}.forge-page-state__message{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit)}.forge-page-state__actions{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center}.forge-page-state__actions ::slotted(:not(:last-child)){margin-right:0;margin-bottom:16px}}:host{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:center;justify-content:center}:host([hidden]){display:none}';\n\nexport interface IPageStateComponent extends IBaseComponent {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-page-state': IPageStateComponent;\n }\n}\n\n@CustomElement({\n name: PAGE_STATE_CONSTANTS.elementName\n})\nexport class PageStateComponent extends BaseComponent implements IPageStateComponent {\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { PageStateComponent } from './page-state';\n\nexport * from './page-state-constants';\nexport * from './page-state';\n\nexport function definePageStateComponent(): void {\n defineCustomElement(PageStateComponent);\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;AAEA,IAAM,cAA2C,GAAG;AAE7C,IAAM,uBAAuB;AAAA,EAClC;AACF;;;ACDA,IAAM,WAAW;AACjB,IAAM,SAAS;
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}page-state`;\n\nexport const PAGE_STATE_CONSTANTS = {\n elementName\n};\n", "import { CustomElement, attachShadowTemplate } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nimport { PAGE_STATE_CONSTANTS } from './page-state-constants';\n\nconst template = '<template><div class=\\\"forge-page-state\\\" part=\\\"root\\\"><div class=\\\"forge-page-state__graphic\\\" part=\\\"graphic-container\\\"><slot name=\\\"graphic\\\"></slot></div><h1 class=\\\"forge-page-state__title\\\" part=\\\"title-container\\\"><slot name=\\\"title\\\"></slot></h1><h2 class=\\\"forge-page-state__message\\\" part=\\\"message-container\\\"><slot name=\\\"message\\\"></slot></h2><div class=\\\"forge-page-state__actions\\\" part=\\\"actions-container\\\"><slot name=\\\"action\\\"></slot></div></div></template>';\nconst styles = '.forge-page-state{width:576px;width:var(--forge-page-state-width,576px);margin-top:56px;margin-top:var(--forge-page-state-vertical-margin,56px);margin-bottom:56px;margin-bottom:var(--forge-page-state-vertical-margin,56px);text-align:center}.forge-page-state__graphic{height:296px;height:var(--forge-page-state-graphic-height,296px);margin-bottom:56px;margin-bottom:var(--forge-page-state-vertical-margin,56px);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%}.forge-page-state__graphic ::slotted([slot=graphic]){height:100%;width:100%}.forge-page-state__title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-headline3-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:3rem;font-size:var(--mdc-typography-headline3-font-size, 3rem);line-height:3.125rem;line-height:var(--mdc-typography-headline3-line-height, 3.125rem);font-weight:400;font-weight:var(--mdc-typography-headline3-font-weight,400);letter-spacing:normal;letter-spacing:var(--mdc-typography-headline3-letter-spacing, normal);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-headline3-text-decoration,inherit);text-decoration:var(--mdc-typography-headline3-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-headline3-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-top:56px;margin-top:var(--forge-page-state-vertical-margin,56px);margin-bottom:56px;margin-bottom:var(--forge-page-state-vertical-margin,56px)}.forge-page-state__message{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));margin-bottom:56px;margin-bottom:var(--forge-page-state-vertical-margin,56px);font-size:20px;margin-top:0}.forge-page-state__actions ::slotted(:not(:last-child)){margin-right:16px}@media (max-width:599px){.forge-page-state{width:70%;width:var(--forge-page-state-mobile-width,70%)}.forge-page-state__graphic{height:auto;height:var(--forge-page-state-mobile-graphic-height,auto)}.forge-page-state__title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-headline5-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1.5rem;font-size:var(--mdc-typography-headline5-font-size, 1.5rem);line-height:2rem;line-height:var(--mdc-typography-headline5-line-height, 2rem);font-weight:400;font-weight:var(--mdc-typography-headline5-font-weight,400);letter-spacing:normal;letter-spacing:var(--mdc-typography-headline5-letter-spacing, normal);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-headline5-text-decoration,inherit);text-decoration:var(--mdc-typography-headline5-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-headline5-text-transform,inherit)}.forge-page-state__message{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit)}.forge-page-state__actions{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center}.forge-page-state__actions ::slotted(:not(:last-child)){margin-right:0;margin-bottom:16px}}:host{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:center;justify-content:center}:host([hidden]){display:none}';\n\nexport interface IPageStateComponent extends IBaseComponent {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-page-state': IPageStateComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-page-state>` custom element.\n * \n * @tag forge-page-state\n */\n@CustomElement({\n name: PAGE_STATE_CONSTANTS.elementName\n})\nexport class PageStateComponent extends BaseComponent implements IPageStateComponent {\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { PageStateComponent } from './page-state';\n\nexport * from './page-state-constants';\nexport * from './page-state';\n\nexport function definePageStateComponent(): void {\n defineCustomElement(PageStateComponent);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;AAEA,IAAM,cAA2C,GAAG;AAE7C,IAAM,uBAAuB;AAAA,EAClC;AACF;;;ACDA,IAAM,WAAW;AACjB,IAAM,SAAS;AAkBR,IAAM,qBAAN,cAAiC,cAA6C;AAAA,EACnF,cAAc;AACZ,UAAM;AACN,yBAAqB,MAAM,UAAU,MAAM;AAAA,EAC7C;AACF;AALa,qBAAN;AAAA,EAHP,AAAC,cAAc;AAAA,IACb,MAAM,qBAAqB;AAAA,EAC7B,CAAC;AAAA,GACY;;;ACjBN,oCAA0C;AAC/C,sBAAoB,kBAAkB;AACxC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|