@tylertech/forge 3.0.0-next.15 → 3.0.0-next.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +47415 -39475
- package/dist/esm/accordion/index.js +1 -1
- package/dist/esm/app-bar/app-bar/index.js +1 -1
- package/dist/esm/app-bar/help-button/index.js +1 -1
- package/dist/esm/app-bar/index.js +1 -1
- package/dist/esm/app-bar/menu-button/index.js +1 -1
- package/dist/esm/app-bar/notification-button/index.js +1 -1
- package/dist/esm/app-bar/profile-button/index.js +1 -1
- package/dist/esm/app-bar/search/index.js +1 -1
- package/dist/esm/autocomplete/index.js +1 -1
- package/dist/esm/avatar/index.js +1 -1
- package/dist/esm/backdrop/index.js +1 -1
- package/dist/esm/badge/index.js +1 -1
- package/dist/esm/banner/index.js +1 -1
- package/dist/esm/bottom-sheet/index.js +1 -1
- package/dist/esm/busy-indicator/index.js +1 -1
- package/dist/esm/button/index.js +1 -1
- package/dist/esm/button-area/index.js +1 -1
- package/dist/esm/button-toggle/button-toggle/index.js +1 -1
- package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
- package/dist/esm/button-toggle/index.js +1 -1
- package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
- package/dist/esm/calendar/calendar-menu/index.js +1 -1
- package/dist/esm/calendar/index.js +1 -1
- package/dist/esm/card/index.js +1 -1
- package/dist/esm/checkbox/index.js +1 -1
- package/dist/esm/chip-field/index.js +1 -1
- package/dist/esm/chips/chip/index.js +1 -1
- package/dist/esm/chips/chip-set/index.js +1 -1
- package/dist/esm/chips/index.js +1 -1
- package/dist/esm/chunks/chunk.24NQGTNU.js +7 -0
- package/dist/esm/chunks/chunk.24NQGTNU.js.map +7 -0
- package/dist/esm/chunks/chunk.2JCTFKCR.js +7 -0
- package/dist/esm/chunks/{chunk.Q54DACHS.js.map → chunk.2JCTFKCR.js.map} +1 -1
- package/dist/esm/chunks/chunk.2OZ2HVBZ.js +7 -0
- package/dist/esm/chunks/{chunk.PMSCH6VK.js.map → chunk.2OZ2HVBZ.js.map} +3 -3
- package/dist/esm/chunks/chunk.2YE556AM.js +7 -0
- package/dist/esm/chunks/{chunk.5KYKGNGY.js.map → chunk.2YE556AM.js.map} +1 -1
- package/dist/esm/chunks/chunk.3U6A353B.js +7 -0
- package/dist/esm/chunks/{chunk.ZT7U7WOX.js.map → chunk.3U6A353B.js.map} +1 -1
- package/dist/esm/chunks/chunk.3VHQPHQP.js +7 -0
- package/dist/esm/chunks/chunk.3VHQPHQP.js.map +7 -0
- package/dist/esm/chunks/chunk.436USWLL.js +7 -0
- package/dist/esm/chunks/{chunk.4JDJ33IU.js.map → chunk.436USWLL.js.map} +1 -1
- package/dist/esm/chunks/chunk.4GMGQZOW.js +7 -0
- package/dist/esm/chunks/{chunk.6FUXTHO6.js.map → chunk.4GMGQZOW.js.map} +1 -1
- package/dist/esm/chunks/chunk.4JB3SESQ.js +7 -0
- package/dist/esm/chunks/{chunk.AIPDMLJD.js.map → chunk.4JB3SESQ.js.map} +1 -1
- package/dist/esm/chunks/chunk.4JL5LW5J.js +7 -0
- package/dist/esm/chunks/{chunk.BS73Y6IN.js.map → chunk.4JL5LW5J.js.map} +1 -1
- package/dist/esm/chunks/chunk.4O6OEUGY.js +7 -0
- package/dist/esm/chunks/{chunk.4XN2WGMP.js.map → chunk.4O6OEUGY.js.map} +2 -2
- package/dist/esm/chunks/chunk.4OG3OGVO.js +7 -0
- package/dist/esm/chunks/chunk.4OG3OGVO.js.map +7 -0
- package/dist/esm/chunks/chunk.4QOXI2GM.js +7 -0
- package/dist/esm/chunks/chunk.4QOXI2GM.js.map +7 -0
- package/dist/esm/chunks/{chunk.MTSWCXTY.js → chunk.55D2BMXX.js} +2 -2
- package/dist/esm/chunks/chunk.5LCWC3A7.js +7 -0
- package/dist/esm/chunks/{chunk.VG452D3L.js.map → chunk.5LCWC3A7.js.map} +1 -1
- package/dist/esm/chunks/chunk.5T7TT3AB.js +7 -0
- package/dist/esm/chunks/{chunk.YMSX4F3J.js.map → chunk.5T7TT3AB.js.map} +1 -1
- package/dist/esm/chunks/{chunk.JHELTQKA.js → chunk.5WVOPPBY.js} +2 -2
- package/dist/esm/chunks/{chunk.JHELTQKA.js.map → chunk.5WVOPPBY.js.map} +2 -2
- package/dist/esm/chunks/chunk.5XLCY232.js +7 -0
- package/dist/esm/chunks/chunk.5XLCY232.js.map +7 -0
- package/dist/esm/chunks/chunk.65WE722H.js +7 -0
- package/dist/esm/chunks/chunk.65WE722H.js.map +7 -0
- package/dist/esm/chunks/chunk.6IPX5C4B.js +7 -0
- package/dist/esm/chunks/chunk.6IPX5C4B.js.map +7 -0
- package/dist/esm/chunks/chunk.6PB5OWMP.js +7 -0
- package/dist/esm/chunks/{chunk.ONII3BV3.js.map → chunk.6PB5OWMP.js.map} +2 -2
- package/dist/esm/chunks/chunk.74HZVSDM.js +7 -0
- package/dist/esm/chunks/chunk.74HZVSDM.js.map +7 -0
- package/dist/esm/chunks/chunk.74JHE77R.js +7 -0
- package/dist/esm/chunks/{chunk.Y4ZS3A6F.js.map → chunk.74JHE77R.js.map} +2 -2
- package/dist/esm/chunks/chunk.7SYU6KRU.js +15 -0
- package/dist/esm/chunks/chunk.7SYU6KRU.js.map +7 -0
- package/dist/esm/chunks/{chunk.BC7WB5RG.js → chunk.B53Q676I.js} +2 -2
- package/dist/esm/chunks/chunk.BKQSLDMK.js +7 -0
- package/dist/esm/chunks/{chunk.NVR6KN2B.js.map → chunk.BKQSLDMK.js.map} +1 -1
- package/dist/esm/chunks/chunk.BZG47SA5.js +7 -0
- package/dist/esm/chunks/{chunk.THNCYT3E.js.map → chunk.BZG47SA5.js.map} +2 -2
- package/dist/esm/chunks/chunk.BZVLSWZR.js +7 -0
- package/dist/esm/chunks/{chunk.4IMRT2B3.js.map → chunk.BZVLSWZR.js.map} +1 -1
- package/dist/esm/chunks/chunk.C72LM2AL.js +7 -0
- package/dist/esm/chunks/chunk.C72LM2AL.js.map +7 -0
- package/dist/esm/chunks/chunk.DGG5ABL3.js +7 -0
- package/dist/esm/chunks/{chunk.WARVAVAW.js.map → chunk.DGG5ABL3.js.map} +1 -1
- package/dist/esm/chunks/chunk.DPIWAXEW.js +7 -0
- package/dist/esm/chunks/{chunk.UOEJCU6R.js.map → chunk.DPIWAXEW.js.map} +1 -1
- package/dist/esm/chunks/chunk.E62ZPQSM.js +7 -0
- package/dist/esm/chunks/chunk.E62ZPQSM.js.map +7 -0
- package/dist/esm/chunks/chunk.ECJBVX3D.js +7 -0
- package/dist/esm/chunks/{chunk.DLBAZD5X.js.map → chunk.ECJBVX3D.js.map} +1 -1
- package/dist/esm/chunks/chunk.EN2HVFJ4.js +7 -0
- package/dist/esm/chunks/chunk.EN2HVFJ4.js.map +7 -0
- package/dist/esm/chunks/chunk.EPRRK33O.js +7 -0
- package/dist/esm/chunks/chunk.EPRRK33O.js.map +7 -0
- package/dist/esm/chunks/chunk.ETDUW5K2.js +7 -0
- package/dist/esm/chunks/{chunk.FSILMO6U.js.map → chunk.ETDUW5K2.js.map} +1 -1
- package/dist/esm/chunks/chunk.EWFNM4WO.js +7 -0
- package/dist/esm/chunks/chunk.EWFNM4WO.js.map +7 -0
- package/dist/esm/chunks/{chunk.U7S4DJTU.js → chunk.FGHSNC2V.js} +2 -2
- package/dist/esm/chunks/chunk.FPRBYGET.js +7 -0
- package/dist/esm/chunks/{chunk.LK6QHLW2.js.map → chunk.FPRBYGET.js.map} +1 -1
- package/dist/esm/chunks/chunk.FQVR2QNF.js +7 -0
- package/dist/esm/chunks/{chunk.X3QZY7V4.js.map → chunk.FQVR2QNF.js.map} +1 -1
- package/dist/esm/chunks/chunk.FWWBFNQA.js +7 -0
- package/dist/esm/chunks/{chunk.O6F4U4VY.js.map → chunk.FWWBFNQA.js.map} +1 -1
- package/dist/esm/chunks/{chunk.URKQICJD.js → chunk.FZELFLPE.js} +2 -2
- package/dist/esm/chunks/chunk.FZZUNYH5.js +7 -0
- package/dist/esm/chunks/{chunk.5QZPUOGG.js.map → chunk.FZZUNYH5.js.map} +1 -1
- package/dist/esm/chunks/chunk.GHMAI3SM.js +15 -0
- package/dist/esm/chunks/chunk.GHMAI3SM.js.map +7 -0
- package/dist/esm/chunks/{chunk.5EGEZ4IY.js → chunk.GLUKTMQU.js} +2 -2
- package/dist/esm/chunks/chunk.GTBCTNMI.js +7 -0
- package/dist/esm/chunks/{chunk.ICIGXLJW.js.map → chunk.GTBCTNMI.js.map} +1 -1
- package/dist/esm/chunks/chunk.GTGXHY4A.js +7 -0
- package/dist/esm/chunks/chunk.GTGXHY4A.js.map +7 -0
- package/dist/esm/chunks/chunk.GURV4TDZ.js +7 -0
- package/dist/esm/chunks/{chunk.TSUAFZGY.js.map → chunk.GURV4TDZ.js.map} +1 -1
- package/dist/esm/chunks/chunk.H6MMHAQI.js +15 -0
- package/dist/esm/chunks/chunk.H6MMHAQI.js.map +7 -0
- package/dist/esm/chunks/chunk.HJUFU2PV.js +7 -0
- package/dist/esm/chunks/{chunk.RCPUTZON.js.map → chunk.HJUFU2PV.js.map} +2 -2
- package/dist/esm/chunks/chunk.HPCXVNG6.js +7 -0
- package/dist/esm/chunks/{chunk.CZOABXEQ.js.map → chunk.HPCXVNG6.js.map} +3 -3
- package/dist/esm/chunks/chunk.IA27LU2O.js +7 -0
- package/dist/esm/chunks/{chunk.JEZR25US.js.map → chunk.IA27LU2O.js.map} +1 -1
- package/dist/esm/chunks/chunk.INQZNXG6.js +7 -0
- package/dist/esm/chunks/chunk.INQZNXG6.js.map +7 -0
- package/dist/esm/chunks/chunk.IO3TM653.js +7 -0
- package/dist/esm/chunks/chunk.IO3TM653.js.map +7 -0
- package/dist/esm/chunks/chunk.JXJVPJRO.js +177 -0
- package/dist/esm/chunks/{chunk.AVRBHXDT.js.map → chunk.JXJVPJRO.js.map} +1 -1
- package/dist/esm/chunks/chunk.K3STAW42.js +7 -0
- package/dist/esm/chunks/{chunk.XQLQ73NG.js.map → chunk.K3STAW42.js.map} +1 -1
- package/dist/esm/chunks/chunk.KM5XYTE3.js +7 -0
- package/dist/esm/chunks/chunk.KM5XYTE3.js.map +7 -0
- package/dist/esm/chunks/chunk.KPC6IS3C.js +7 -0
- package/dist/esm/chunks/{chunk.OTUEB7SD.js.map → chunk.KPC6IS3C.js.map} +1 -1
- package/dist/esm/chunks/{chunk.PRJHBUU2.js → chunk.KPNGLSCU.js} +1 -1
- package/dist/esm/chunks/chunk.KPNGLSCU.js.map +7 -0
- package/dist/esm/chunks/chunk.KV7PGQJ7.js +7 -0
- package/dist/esm/chunks/{chunk.KR4BNI6X.js.map → chunk.KV7PGQJ7.js.map} +1 -1
- package/dist/esm/chunks/chunk.LCS2O4Y7.js +7 -0
- package/dist/esm/chunks/chunk.LCS2O4Y7.js.map +7 -0
- package/dist/esm/chunks/chunk.M4KCRUKW.js +7 -0
- package/dist/esm/chunks/chunk.M4KCRUKW.js.map +7 -0
- package/dist/esm/chunks/{chunk.IHIKIZIT.js → chunk.M5JGYRH4.js} +2 -2
- package/dist/esm/chunks/{chunk.O6MGA3XK.js → chunk.N75VD4S4.js} +2 -2
- package/dist/esm/chunks/chunk.NHOGZDLN.js +7 -0
- package/dist/esm/chunks/chunk.NHOGZDLN.js.map +7 -0
- package/dist/esm/chunks/chunk.NKEAMFO4.js +7 -0
- package/dist/esm/chunks/{chunk.KUNIEX72.js.map → chunk.NKEAMFO4.js.map} +1 -1
- package/dist/esm/chunks/{chunk.KDJZN6EW.js → chunk.NW54VA4E.js} +2 -2
- package/dist/esm/chunks/chunk.OJGPKHHC.js +7 -0
- package/dist/esm/chunks/{chunk.EMCY55MX.js.map → chunk.OJGPKHHC.js.map} +2 -2
- package/dist/esm/chunks/chunk.OSCODMUG.js +7 -0
- package/dist/esm/chunks/chunk.OSCODMUG.js.map +7 -0
- package/dist/esm/chunks/chunk.OT3JZ6JO.js +7 -0
- package/dist/esm/chunks/{chunk.7PVVZC7P.js.map → chunk.OT3JZ6JO.js.map} +3 -3
- package/dist/esm/chunks/{chunk.BAQYPAUM.js → chunk.OXVCCHM5.js} +2 -2
- package/dist/esm/chunks/chunk.P5XHGSJY.js +7 -0
- package/dist/esm/chunks/{chunk.5FCUOZSU.js.map → chunk.P5XHGSJY.js.map} +1 -1
- package/dist/esm/chunks/chunk.Q5YXX4DU.js +7 -0
- package/dist/esm/chunks/{chunk.ZIRA4PYV.js.map → chunk.Q5YXX4DU.js.map} +1 -1
- package/dist/esm/chunks/{chunk.MHH26REX.js → chunk.QKTNCOVX.js} +2 -2
- package/dist/esm/chunks/chunk.QZ57WM3D.js +7 -0
- package/dist/esm/chunks/{chunk.Q2Q626DG.js.map → chunk.QZ57WM3D.js.map} +1 -1
- package/dist/esm/chunks/chunk.R2QENXIL.js +7 -0
- package/dist/esm/chunks/{chunk.LYZXJYTW.js.map → chunk.R2QENXIL.js.map} +1 -1
- package/dist/esm/chunks/chunk.R53VHVKB.js +12 -0
- package/dist/esm/chunks/chunk.R53VHVKB.js.map +7 -0
- package/dist/esm/chunks/{chunk.42YDA5FH.js → chunk.RDQ3QGWS.js} +2 -2
- package/dist/esm/chunks/chunk.RFKKHN7V.js +7 -0
- package/dist/esm/chunks/{chunk.KGHABAFA.js.map → chunk.RFKKHN7V.js.map} +1 -1
- package/dist/esm/chunks/{chunk.AR6YUJUH.js → chunk.RKG66YKS.js} +2 -2
- package/dist/esm/chunks/chunk.RRNSZCVJ.js +7 -0
- package/dist/esm/chunks/{chunk.T4J66YX5.js.map → chunk.RRNSZCVJ.js.map} +4 -4
- package/dist/esm/chunks/chunk.S32JKL3M.js +7 -0
- package/dist/esm/chunks/chunk.S32JKL3M.js.map +7 -0
- package/dist/esm/chunks/chunk.SJQPD3CO.js +7 -0
- package/dist/esm/chunks/chunk.SJQPD3CO.js.map +7 -0
- package/dist/esm/chunks/chunk.T235SNYZ.js +7 -0
- package/dist/esm/chunks/{chunk.CBY7M4X6.js.map → chunk.T235SNYZ.js.map} +1 -1
- package/dist/esm/chunks/chunk.T4N7KZHZ.js +7 -0
- package/dist/esm/chunks/chunk.T4N7KZHZ.js.map +7 -0
- package/dist/esm/chunks/chunk.TE6ZNUAM.js +7 -0
- package/dist/esm/chunks/{chunk.JZ27GPZJ.js.map → chunk.TE6ZNUAM.js.map} +2 -2
- package/dist/esm/chunks/{chunk.WMP2OLMG.js → chunk.TNEUDWZU.js} +2 -2
- package/dist/esm/chunks/{chunk.WMP2OLMG.js.map → chunk.TNEUDWZU.js.map} +2 -2
- package/dist/esm/chunks/{chunk.BTWJPE4Y.js → chunk.TZ67MC2N.js} +2 -2
- package/{styles/focus-indicator/_configuration.scss → dist/esm/chunks/chunk.U6FJJGO3.js} +1 -5
- package/dist/esm/chunks/chunk.U6FJJGO3.js.map +7 -0
- package/dist/esm/chunks/chunk.V3IHX6B2.js +7 -0
- package/dist/esm/chunks/{chunk.GGQL3OZB.js.map → chunk.V3IHX6B2.js.map} +1 -1
- package/dist/esm/chunks/chunk.V564JB6A.js +7 -0
- package/dist/esm/chunks/chunk.V564JB6A.js.map +7 -0
- package/dist/esm/chunks/{chunk.7LOMI6J3.js → chunk.VGIZJ32U.js} +2 -2
- package/dist/esm/chunks/chunk.VZTV4GXC.js +7 -0
- package/dist/esm/chunks/chunk.VZTV4GXC.js.map +7 -0
- package/dist/esm/chunks/chunk.W5TDBDVY.js +7 -0
- package/dist/esm/chunks/{chunk.BIVQ4GTK.js.map → chunk.W5TDBDVY.js.map} +1 -1
- package/dist/esm/chunks/chunk.WA2YP4NC.js +7 -0
- package/dist/esm/chunks/{chunk.MROUV35N.js.map → chunk.WA2YP4NC.js.map} +1 -1
- package/dist/esm/chunks/{chunk.U42I3PGF.js → chunk.WFQYTXCB.js} +2 -2
- package/dist/esm/chunks/chunk.WNH7EHZP.js +7 -0
- package/dist/esm/chunks/{chunk.FQUZWINF.js.map → chunk.WNH7EHZP.js.map} +2 -2
- package/dist/esm/chunks/{chunk.KWBYYSH3.js → chunk.WQHKUNR7.js} +2 -2
- package/dist/esm/chunks/chunk.WYSUQK6Z.js +7 -0
- package/dist/esm/chunks/{chunk.L27ANAIL.js.map → chunk.WYSUQK6Z.js.map} +2 -2
- package/dist/esm/chunks/{chunk.NBLL7VAA.js → chunk.X57DRPFB.js} +2 -2
- package/dist/esm/chunks/{chunk.L45HXBDS.js → chunk.X7YTDVNT.js} +2 -2
- package/dist/esm/chunks/chunk.XBFH6M72.js +7 -0
- package/dist/esm/chunks/{chunk.FXGY5IVK.js.map → chunk.XBFH6M72.js.map} +2 -2
- package/dist/esm/chunks/chunk.XOH2JCRS.js +7 -0
- package/dist/esm/chunks/{chunk.AEO2X5OZ.js.map → chunk.XOH2JCRS.js.map} +1 -1
- package/dist/esm/chunks/chunk.Y6D5Z56X.js +7 -0
- package/dist/esm/chunks/{chunk.3KEXRSB5.js.map → chunk.Y6D5Z56X.js.map} +2 -2
- package/dist/esm/chunks/chunk.YBPAGWVG.js +7 -0
- package/dist/esm/chunks/chunk.YBPAGWVG.js.map +7 -0
- package/dist/esm/chunks/chunk.YWDYBX3G.js +7 -0
- package/dist/esm/chunks/chunk.YWDYBX3G.js.map +7 -0
- package/dist/esm/chunks/chunk.ZHMV5SR4.js +7 -0
- package/dist/esm/chunks/{chunk.Z37CZMMR.js.map → chunk.ZHMV5SR4.js.map} +1 -1
- package/dist/esm/chunks/chunk.ZLACSRD4.js +7 -0
- package/dist/esm/chunks/{chunk.WJCZJ6XD.js.map → chunk.ZLACSRD4.js.map} +1 -1
- package/dist/esm/chunks/chunk.ZPVRRFT7.js +7 -0
- package/dist/esm/chunks/{chunk.W7BP2DDU.js.map → chunk.ZPVRRFT7.js.map} +2 -2
- package/dist/esm/chunks/chunk.ZS3T6MJS.js +7 -0
- package/dist/esm/chunks/{chunk.YA5OQD37.js.map → chunk.ZS3T6MJS.js.map} +2 -2
- package/dist/esm/chunks/chunk.ZUTQPJ2B.js +7 -0
- package/dist/esm/chunks/{chunk.Q74SG6BV.js.map → chunk.ZUTQPJ2B.js.map} +1 -1
- package/dist/esm/chunks/chunk.ZWIEYVZC.js +7 -0
- package/dist/esm/chunks/chunk.ZWIEYVZC.js.map +7 -0
- package/dist/esm/chunks/chunk.ZY3ETQ3D.js +7 -0
- package/dist/esm/chunks/chunk.ZY3ETQ3D.js.map +7 -0
- package/dist/esm/chunks/chunk.ZYCKD6K5.js +7 -0
- package/dist/esm/chunks/{chunk.447QNYAZ.js.map → chunk.ZYCKD6K5.js.map} +1 -1
- package/dist/esm/circular-progress/index.js +1 -1
- package/dist/esm/color-picker/index.js +1 -1
- package/dist/esm/core/base/index.js +1 -1
- package/dist/esm/core/index.js +1 -1
- package/dist/esm/core/utils/index.js +1 -1
- package/dist/esm/date-picker/index.js +1 -1
- package/dist/esm/date-range-picker/index.js +1 -1
- package/dist/esm/dialog/index.js +1 -1
- package/dist/esm/divider/index.js +1 -1
- package/dist/esm/drawer/base/index.js +1 -1
- package/dist/esm/drawer/drawer/index.js +1 -1
- package/dist/esm/drawer/index.js +1 -1
- package/dist/esm/drawer/mini-drawer/index.js +1 -1
- package/dist/esm/drawer/modal-drawer/index.js +1 -1
- package/dist/esm/expansion-panel/index.js +1 -1
- package/dist/esm/file-picker/index.js +1 -1
- package/dist/esm/floating-action-button/index.js +1 -1
- package/dist/esm/floating-label/index.js +1 -1
- package/dist/esm/focus-indicator/index.js +1 -1
- package/dist/esm/icon/index.js +1 -1
- package/dist/esm/icon-button/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/inline-message/index.js +1 -1
- package/dist/esm/keyboard-shortcut/index.js +1 -1
- package/dist/esm/label/index.js +1 -1
- package/dist/esm/label-value/index.js +1 -1
- package/dist/esm/linear-progress/index.js +1 -1
- package/dist/esm/list/index.js +1 -1
- package/dist/esm/list/list/index.js +1 -1
- package/dist/esm/list/list-item/index.js +1 -1
- package/dist/esm/list-dropdown/index.js +1 -1
- package/dist/esm/menu/index.js +1 -1
- package/dist/esm/open-icon/index.js +1 -1
- package/dist/esm/overlay/index.js +7 -0
- package/dist/esm/overlay/index.js.map +7 -0
- package/dist/esm/page-state/index.js +1 -1
- package/dist/esm/paginator/index.js +1 -1
- package/dist/esm/popover/index.js +7 -0
- package/dist/esm/popover/index.js.map +7 -0
- package/dist/esm/popup/index.js +1 -1
- package/dist/esm/product-icon/index.js +1 -1
- package/dist/esm/profile-card/index.js +1 -1
- package/dist/esm/quantity-field/index.js +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/radio/radio/index.js +1 -1
- package/dist/esm/radio/radio-group/index.js +1 -1
- package/dist/esm/ripple/index.js +1 -1
- package/dist/esm/scaffold/index.js +1 -1
- package/dist/esm/select/core/index.js +1 -1
- package/dist/esm/select/index.js +1 -1
- package/dist/esm/select/option/index.js +1 -1
- package/dist/esm/select/option-group/index.js +1 -1
- package/dist/esm/select/select/index.js +1 -1
- package/dist/esm/select/select-dropdown/index.js +1 -1
- package/dist/esm/skeleton/index.js +1 -1
- package/dist/esm/slider/index.js +1 -1
- package/dist/esm/split-button/index.js +1 -1
- package/dist/esm/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view-panel/index.js +1 -1
- package/dist/esm/stack/index.js +1 -1
- package/dist/esm/state-layer/index.js +1 -1
- package/dist/esm/stepper/index.js +1 -1
- package/dist/esm/stepper/step/index.js +1 -1
- package/dist/esm/stepper/stepper/index.js +1 -1
- package/dist/esm/switch/index.js +1 -1
- package/dist/esm/table/index.js +1 -1
- package/dist/esm/tabs/index.js +1 -1
- package/dist/esm/tabs/tab/index.js +1 -1
- package/dist/esm/tabs/tab-bar/index.js +1 -1
- package/dist/esm/text-field/index.js +1 -1
- package/dist/esm/time-picker/index.js +1 -1
- package/dist/esm/toast/index.js +1 -1
- package/dist/esm/toolbar/index.js +1 -1
- package/dist/esm/tooltip/index.js +1 -1
- package/dist/esm/view-switcher/index.js +1 -1
- package/dist/esm/view-switcher/view/index.js +1 -1
- package/dist/forge-dark.css +1 -1
- package/dist/forge.css +1 -1
- package/dist/theme/forge-theme.css +1 -1
- package/esm/app-bar/help-button/app-bar-help-button-adapter.js +3 -3
- package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
- package/esm/app-bar/menu-button/app-bar-menu-button.js +4 -4
- package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +3 -3
- package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +3 -3
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +1 -0
- package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
- package/esm/banner/banner.js +1 -1
- package/esm/button/base/base-button-adapter.d.ts +0 -3
- package/esm/button/base/base-button-adapter.js +5 -14
- package/esm/button/base/base-button-constants.d.ts +28 -28
- package/esm/button/base/base-button-foundation.d.ts +0 -2
- package/esm/button/base/base-button-foundation.js +1 -4
- package/esm/button/base/base-button.d.ts +8 -6
- package/esm/button/base/base-button.js +19 -15
- package/esm/button/button.js +2 -2
- package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +6 -14
- package/esm/button-toggle/button-toggle/button-toggle-adapter.js +19 -45
- package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +11 -15
- package/esm/button-toggle/button-toggle/button-toggle-constants.js +6 -17
- package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +18 -12
- package/esm/button-toggle/button-toggle/button-toggle-foundation.js +74 -30
- package/esm/button-toggle/button-toggle/button-toggle.d.ts +67 -14
- package/esm/button-toggle/button-toggle/button-toggle.js +82 -29
- package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +7 -13
- package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +26 -91
- package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +20 -11
- package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +8 -2
- package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +20 -12
- package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +101 -97
- package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +75 -9
- package/esm/button-toggle/button-toggle-group/button-toggle-group.js +134 -25
- package/esm/calendar/calendar-dom-utils.js +1 -2
- package/esm/calendar/calendar-foundation.d.ts +1 -1
- package/esm/calendar/calendar-foundation.js +13 -16
- package/esm/checkbox/checkbox.js +1 -1
- package/esm/circular-progress/circular-progress-adapter.js +8 -12
- package/esm/circular-progress/circular-progress.d.ts +7 -3
- package/esm/circular-progress/circular-progress.js +4 -2
- package/esm/color-picker/color-picker.js +1 -1
- package/esm/constants.d.ts +1 -0
- package/esm/constants.js +2 -0
- package/esm/core/base/base-adapter.d.ts +2 -0
- package/esm/core/base/base-adapter.js +7 -4
- package/esm/core/base/index.d.ts +0 -4
- package/esm/core/base/index.js +0 -4
- package/esm/core/{base/base-focusable-component.d.ts → mixins/focus/with-focusable.d.ts} +2 -2
- package/esm/core/{base/base-focusable-component.js → mixins/focus/with-focusable.js} +1 -1
- package/esm/core/{base/base-form-associated-component.d.ts → mixins/form/with-form-associated.d.ts} +4 -10
- package/esm/core/{base/base-form-associated-component.js → mixins/form/with-form-associated.js} +1 -1
- package/esm/core/mixins/form/with-form-validity.d.ts +35 -0
- package/esm/core/mixins/form/with-form-validity.js +43 -0
- package/esm/core/mixins/interactions/longpress/with-longpress-listener.d.ts +33 -0
- package/esm/core/mixins/interactions/longpress/with-longpress-listener.js +82 -0
- package/esm/core/mixins/internals/with-default-aria.d.ts +32 -0
- package/esm/core/mixins/internals/with-default-aria.js +22 -0
- package/esm/core/mixins/internals/with-element-internals.d.ts +26 -0
- package/esm/core/mixins/internals/with-element-internals.js +22 -0
- package/esm/core/{base/base-label-aware-component.d.ts → mixins/label/with-label-aware.d.ts} +2 -2
- package/esm/core/utils/a11y-utils.d.ts +4 -34
- package/esm/core/utils/a11y-utils.js +7 -61
- package/esm/core/utils/deferred.d.ts +29 -0
- package/esm/core/utils/deferred.js +32 -0
- package/esm/core/utils/dismissible-stack.d.ts +74 -0
- package/esm/core/utils/dismissible-stack.js +133 -0
- package/esm/core/utils/feature-detection.d.ts +5 -0
- package/esm/core/utils/feature-detection.js +12 -3
- package/esm/core/utils/form-utils.d.ts +1 -1
- package/esm/core/utils/position-utils.d.ts +78 -0
- package/esm/core/utils/position-utils.js +197 -0
- package/esm/core/utils/utils.d.ts +14 -0
- package/esm/core/utils/utils.js +25 -7
- package/esm/date-range-picker/date-range-picker-foundation.d.ts +1 -0
- package/esm/date-range-picker/date-range-picker-foundation.js +4 -0
- package/esm/dialog/dialog-constants.d.ts +1 -0
- package/esm/dialog/dialog-constants.js +2 -1
- package/esm/dialog/dialog-foundation.js +3 -6
- package/esm/dialog/dialog.js +1 -1
- package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
- package/esm/expansion-panel/expansion-panel-adapter.js +0 -5
- package/esm/floating-action-button/floating-action-button.js +1 -1
- package/esm/icon-button/icon-button-component-delegate.js +1 -1
- package/esm/icon-button/icon-button.js +1 -1
- package/esm/index.d.ts +2 -0
- package/esm/index.js +7 -1
- package/esm/label/label-adapter.js +3 -3
- package/esm/label/label-constants.d.ts +1 -1
- package/esm/label/label-constants.js +3 -1
- package/esm/linear-progress/linear-progress-adapter.js +13 -12
- package/esm/linear-progress/linear-progress-constants.d.ts +6 -0
- package/esm/linear-progress/linear-progress-constants.js +4 -2
- package/esm/linear-progress/linear-progress-foundation.js +2 -1
- package/esm/linear-progress/linear-progress.d.ts +7 -3
- package/esm/linear-progress/linear-progress.js +8 -11
- package/esm/list/list/list.js +1 -1
- package/esm/list/list-item/list-item.js +1 -1
- package/esm/menu/menu.js +1 -5
- package/esm/open-icon/open-icon.js +2 -2
- package/esm/overlay/base/base-overlay-foundation.d.ts +50 -0
- package/esm/overlay/base/base-overlay-foundation.js +11 -0
- package/esm/overlay/base/base-overlay.d.ts +49 -0
- package/esm/overlay/base/base-overlay.js +106 -0
- package/esm/overlay/base/overlay-aware-adapter.d.ts +17 -0
- package/esm/overlay/base/overlay-aware-adapter.js +15 -0
- package/esm/overlay/base/overlay-aware-foundation.d.ts +53 -0
- package/esm/overlay/base/overlay-aware-foundation.js +158 -0
- package/esm/overlay/base/overlay-aware.d.ts +36 -0
- package/esm/overlay/base/overlay-aware.js +102 -0
- package/esm/overlay/index.d.ts +10 -0
- package/esm/overlay/index.js +14 -0
- package/esm/overlay/mixins/with-overlay-aware.d.ts +105 -0
- package/esm/overlay/mixins/with-overlay-aware.js +152 -0
- package/esm/overlay/overlay-adapter.d.ts +54 -0
- package/esm/overlay/overlay-adapter.js +182 -0
- package/esm/overlay/overlay-constants.d.ts +71 -0
- package/esm/overlay/overlay-constants.js +48 -0
- package/esm/overlay/overlay-foundation.d.ts +76 -0
- package/esm/overlay/overlay-foundation.js +288 -0
- package/esm/overlay/overlay.d.ts +90 -0
- package/esm/overlay/overlay.js +105 -0
- package/esm/paginator/paginator.js +1 -1
- package/esm/popover/index.d.ts +10 -0
- package/esm/popover/index.js +14 -0
- package/esm/popover/popover-adapter.d.ts +46 -0
- package/esm/popover/popover-adapter.js +105 -0
- package/esm/popover/popover-constants.d.ts +42 -0
- package/esm/popover/popover-constants.js +42 -0
- package/esm/popover/popover-foundation.d.ts +139 -0
- package/esm/popover/popover-foundation.js +458 -0
- package/esm/popover/popover.d.ts +96 -0
- package/esm/popover/popover.js +147 -0
- package/esm/popup/popup-constants.d.ts +1 -1
- package/esm/profile-card/profile-card.js +1 -1
- package/esm/radio/core/radio-group-manager.js +1 -1
- package/esm/radio/radio/radio-adapter.js +4 -10
- package/esm/radio/radio/radio-constants.d.ts +0 -2
- package/esm/radio/radio/radio-constants.js +1 -14
- package/esm/radio/radio/radio.d.ts +8 -3
- package/esm/radio/radio/radio.js +10 -8
- package/esm/radio/radio-group/radio-group-adapter.js +1 -3
- package/esm/radio/radio-group/radio-group-constants.d.ts +0 -2
- package/esm/radio/radio-group/radio-group-constants.js +1 -6
- package/esm/radio/radio-group/radio-group.d.ts +6 -3
- package/esm/radio/radio-group/radio-group.js +5 -3
- package/esm/slider/slider.d.ts +2 -2
- package/esm/slider/slider.js +2 -2
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/esm/state-layer/state-layer-foundation.js +9 -10
- package/esm/switch/switch.js +1 -1
- package/esm/table/table-utils.js +2 -3
- package/esm/tabs/tab/tab.js +1 -1
- package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +1 -1
- package/esm/tabs/tab-bar/tab-bar-adapter.js +3 -3
- package/esm/tabs/tab-bar/tab-bar-constants.d.ts +1 -1
- package/esm/tabs/tab-bar/tab-bar-constants.js +1 -1
- package/esm/tabs/tab-bar/tab-bar.js +2 -2
- package/esm/toast/toast-constants.d.ts +1 -1
- package/esm/toolbar/toolbar.js +1 -1
- package/esm/tooltip/index.d.ts +0 -1
- package/esm/tooltip/index.js +0 -1
- package/esm/tooltip/tooltip-adapter.d.ts +30 -60
- package/esm/tooltip/tooltip-adapter.js +105 -97
- package/esm/tooltip/tooltip-constants.d.ts +44 -21
- package/esm/tooltip/tooltip-constants.js +27 -22
- package/esm/tooltip/tooltip-foundation.d.ts +72 -84
- package/esm/tooltip/tooltip-foundation.js +265 -192
- package/esm/tooltip/tooltip.d.ts +93 -26
- package/esm/tooltip/tooltip.js +129 -31
- package/package.json +2 -4
- package/styles/app-bar/app-bar/_core.scss +2 -0
- package/styles/app-bar/app-bar/app-bar.scss +17 -17
- package/styles/app-bar/app-bar/index.scss +0 -2
- package/styles/app-bar/search/_core.scss +2 -0
- package/styles/app-bar/search/app-bar-search.scss +5 -6
- package/styles/app-bar/search/index.scss +0 -2
- package/styles/button/_core.scss +2 -0
- package/styles/button/button.scss +31 -25
- package/styles/button/index.scss +0 -2
- package/styles/button-toggle/button-toggle/_core.scss +78 -0
- package/styles/button-toggle/button-toggle/_token-utils.scss +30 -0
- package/styles/button-toggle/button-toggle/button-toggle.scss +65 -11
- package/styles/{app-bar/search/_configuration.scss → button-toggle/button-toggle/index.scss} +1 -5
- package/styles/button-toggle/button-toggle-group/_core.scss +62 -0
- package/styles/button-toggle/button-toggle-group/_token-utils.scss +30 -0
- package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +123 -3
- package/styles/button-toggle/button-toggle-group/index.scss +8 -0
- package/styles/checkbox/_core.scss +3 -0
- package/styles/checkbox/checkbox.scss +24 -26
- package/styles/checkbox/index.scss +0 -2
- package/styles/circular-progress/_core.scss +2 -0
- package/styles/circular-progress/circular-progress.scss +36 -27
- package/styles/circular-progress/index.scss +0 -2
- package/styles/core/styles/elevation/index.scss +1 -1
- package/styles/core/styles/tokens/_token-utils.scss +14 -5
- package/styles/core/styles/tokens/button/_tokens.scss +4 -4
- package/styles/core/styles/tokens/button-toggle/button-toggle/_tokens.scss +68 -0
- package/styles/core/styles/tokens/button-toggle/button-toggle-group/_tokens.scss +48 -0
- package/styles/core/styles/tokens/checkbox/_tokens.scss +6 -6
- package/styles/core/styles/tokens/floating-action-button/_tokens.scss +1 -1
- package/styles/core/styles/tokens/icon-button/_tokens.scss +3 -3
- package/styles/core/styles/tokens/overlay/_tokens.scss +23 -0
- package/styles/core/styles/tokens/popover/_tokens.scss +56 -0
- package/styles/core/styles/tokens/profile-card/_tokens.scss +1 -1
- package/styles/core/styles/tokens/radio/_tokens.scss +1 -1
- package/styles/core/styles/tokens/switch/_tokens.scss +3 -3
- package/styles/core/styles/tokens/tabs/tab/_tokens.scss +5 -5
- package/styles/core/styles/tokens/theme/_token-utils.scss +12 -11
- package/styles/core/styles/tokens/theme/_tokens.surface.scss +3 -0
- package/styles/core/styles/tokens/theme/_tokens.text.scss +4 -4
- package/styles/core/styles/tokens/theme/_tokens.utilities.scss +3 -0
- package/styles/core/styles/tokens/tooltip/_tokens.scss +53 -0
- package/styles/dialog/_mixins.scss +1 -1
- package/styles/drawer/mini-drawer/_mixins.scss +0 -2
- package/styles/floating-action-button/_core.scss +2 -0
- package/styles/floating-action-button/floating-action-button.scss +14 -14
- package/styles/floating-action-button/index.scss +0 -2
- package/styles/focus-indicator/_core.scss +2 -0
- package/styles/focus-indicator/focus-indicator.scss +7 -8
- package/styles/focus-indicator/index.scss +0 -2
- package/styles/forge.scss +0 -1
- package/styles/icon-button/_core.scss +2 -0
- package/styles/icon-button/icon-button.scss +29 -28
- package/styles/icon-button/index.scss +0 -2
- package/styles/label/label.scss +2 -2
- package/styles/linear-progress/_core.scss +2 -0
- package/styles/linear-progress/index.scss +0 -2
- package/styles/linear-progress/linear-progress.scss +29 -18
- package/styles/list/list/_core.scss +2 -0
- package/styles/list/list/index.scss +0 -2
- package/styles/list/list/list.scss +4 -4
- package/styles/list/list-item/_core.scss +2 -0
- package/styles/list/list-item/index.scss +0 -2
- package/styles/list/list-item/list-item.scss +50 -44
- package/styles/overlay/_core.scss +46 -0
- package/styles/overlay/_token-utils.scss +31 -0
- package/styles/{checkbox/_configuration.scss → overlay/index.scss} +1 -5
- package/styles/overlay/overlay.scss +66 -0
- package/styles/popover/_animations.scss +36 -0
- package/styles/popover/_core.scss +56 -0
- package/styles/popover/_token-utils.scss +31 -0
- package/styles/{list/list/_configuration.scss → popover/index.scss} +1 -5
- package/styles/popover/popover.scss +254 -0
- package/styles/profile-card/_core.scss +2 -0
- package/styles/profile-card/index.scss +0 -2
- package/styles/profile-card/profile-card.scss +9 -11
- package/styles/radio/radio/_core.scss +3 -0
- package/styles/radio/radio/index.scss +0 -2
- package/styles/radio/radio/radio.scss +12 -15
- package/styles/slider/_core.scss +2 -0
- package/styles/slider/index.scss +0 -2
- package/styles/slider/slider.scss +45 -41
- package/styles/split-button/index.scss +0 -1
- package/styles/split-button/split-button.scss +3 -2
- package/styles/state-layer/_core.scss +3 -2
- package/styles/state-layer/index.scss +0 -2
- package/styles/state-layer/state-layer.scss +7 -8
- package/styles/switch/_core.scss +3 -0
- package/styles/switch/index.scss +0 -2
- package/styles/switch/switch.scss +28 -30
- package/styles/tabs/tab/_core.scss +2 -0
- package/styles/tabs/tab/index.scss +0 -2
- package/styles/tabs/tab/tab.scss +27 -28
- package/styles/tabs/tab-bar/_core.scss +2 -0
- package/styles/tabs/tab-bar/index.scss +0 -2
- package/styles/tabs/tab-bar/tab-bar.scss +21 -23
- package/styles/theme/_theme-dark.scss +14 -2
- package/styles/theme/_theme-values.scss +2 -0
- package/styles/toolbar/_mixins.scss +2 -1
- package/styles/tooltip/_animations.scss +18 -0
- package/styles/tooltip/_core.scss +86 -0
- package/styles/tooltip/_token-utils.scss +31 -0
- package/styles/tooltip/index.scss +6 -0
- package/styles/tooltip/tooltip.scss +107 -0
- package/dist/esm/chunks/chunk.3KEXRSB5.js +0 -7
- package/dist/esm/chunks/chunk.3TKTJ3BY.js +0 -7
- package/dist/esm/chunks/chunk.3TKTJ3BY.js.map +0 -7
- package/dist/esm/chunks/chunk.447QNYAZ.js +0 -7
- package/dist/esm/chunks/chunk.4IMRT2B3.js +0 -7
- package/dist/esm/chunks/chunk.4JDJ33IU.js +0 -7
- package/dist/esm/chunks/chunk.4QCGBFLU.js +0 -7
- package/dist/esm/chunks/chunk.4QCGBFLU.js.map +0 -7
- package/dist/esm/chunks/chunk.4XN2WGMP.js +0 -7
- package/dist/esm/chunks/chunk.5FCUOZSU.js +0 -7
- package/dist/esm/chunks/chunk.5KYKGNGY.js +0 -7
- package/dist/esm/chunks/chunk.5QZPUOGG.js +0 -7
- package/dist/esm/chunks/chunk.5ZMM75CJ.js +0 -7
- package/dist/esm/chunks/chunk.5ZMM75CJ.js.map +0 -7
- package/dist/esm/chunks/chunk.6FUXTHO6.js +0 -7
- package/dist/esm/chunks/chunk.6ORVPXNN.js +0 -7
- package/dist/esm/chunks/chunk.6ORVPXNN.js.map +0 -7
- package/dist/esm/chunks/chunk.6ZJIHOIG.js +0 -7
- package/dist/esm/chunks/chunk.6ZJIHOIG.js.map +0 -7
- package/dist/esm/chunks/chunk.7PVVZC7P.js +0 -7
- package/dist/esm/chunks/chunk.AEO2X5OZ.js +0 -7
- package/dist/esm/chunks/chunk.AIPDMLJD.js +0 -7
- package/dist/esm/chunks/chunk.APFDK6YA.js +0 -7
- package/dist/esm/chunks/chunk.APFDK6YA.js.map +0 -7
- package/dist/esm/chunks/chunk.AVRBHXDT.js +0 -177
- package/dist/esm/chunks/chunk.BIVQ4GTK.js +0 -7
- package/dist/esm/chunks/chunk.BJD6BKGC.js +0 -31
- package/dist/esm/chunks/chunk.BJD6BKGC.js.map +0 -7
- package/dist/esm/chunks/chunk.BS73Y6IN.js +0 -7
- package/dist/esm/chunks/chunk.BWGDZUJV.js +0 -12
- package/dist/esm/chunks/chunk.BWGDZUJV.js.map +0 -7
- package/dist/esm/chunks/chunk.CBY7M4X6.js +0 -7
- package/dist/esm/chunks/chunk.CZOABXEQ.js +0 -7
- package/dist/esm/chunks/chunk.DLBAZD5X.js +0 -7
- package/dist/esm/chunks/chunk.DTWXICOY.js +0 -7
- package/dist/esm/chunks/chunk.DTWXICOY.js.map +0 -7
- package/dist/esm/chunks/chunk.EMCY55MX.js +0 -7
- package/dist/esm/chunks/chunk.ESQWFHCF.js +0 -7
- package/dist/esm/chunks/chunk.ESQWFHCF.js.map +0 -7
- package/dist/esm/chunks/chunk.FDZSLGIW.js +0 -7
- package/dist/esm/chunks/chunk.FDZSLGIW.js.map +0 -7
- package/dist/esm/chunks/chunk.FJ5VNWYK.js +0 -7
- package/dist/esm/chunks/chunk.FJ5VNWYK.js.map +0 -7
- package/dist/esm/chunks/chunk.FJRCWWE2.js +0 -7
- package/dist/esm/chunks/chunk.FJRCWWE2.js.map +0 -7
- package/dist/esm/chunks/chunk.FQUZWINF.js +0 -7
- package/dist/esm/chunks/chunk.FSILMO6U.js +0 -7
- package/dist/esm/chunks/chunk.FXGY5IVK.js +0 -7
- package/dist/esm/chunks/chunk.G67LO74A.js +0 -7
- package/dist/esm/chunks/chunk.G67LO74A.js.map +0 -7
- package/dist/esm/chunks/chunk.GGQL3OZB.js +0 -7
- package/dist/esm/chunks/chunk.I7OY43HW.js +0 -7
- package/dist/esm/chunks/chunk.I7OY43HW.js.map +0 -7
- package/dist/esm/chunks/chunk.I7X25KEB.js +0 -7
- package/dist/esm/chunks/chunk.I7X25KEB.js.map +0 -7
- package/dist/esm/chunks/chunk.ICIGXLJW.js +0 -7
- package/dist/esm/chunks/chunk.ILUXZNGY.js +0 -7
- package/dist/esm/chunks/chunk.ILUXZNGY.js.map +0 -7
- package/dist/esm/chunks/chunk.JEZR25US.js +0 -7
- package/dist/esm/chunks/chunk.JPI4XCQL.js +0 -7
- package/dist/esm/chunks/chunk.JPI4XCQL.js.map +0 -7
- package/dist/esm/chunks/chunk.JRSFCVYQ.js +0 -7
- package/dist/esm/chunks/chunk.JRSFCVYQ.js.map +0 -7
- package/dist/esm/chunks/chunk.JZ27GPZJ.js +0 -7
- package/dist/esm/chunks/chunk.K3TJMIKD.js +0 -7
- package/dist/esm/chunks/chunk.K3TJMIKD.js.map +0 -7
- package/dist/esm/chunks/chunk.KGHABAFA.js +0 -7
- package/dist/esm/chunks/chunk.KR4BNI6X.js +0 -7
- package/dist/esm/chunks/chunk.KUNIEX72.js +0 -7
- package/dist/esm/chunks/chunk.L27ANAIL.js +0 -7
- package/dist/esm/chunks/chunk.L4UXWCVD.js +0 -7
- package/dist/esm/chunks/chunk.L4UXWCVD.js.map +0 -7
- package/dist/esm/chunks/chunk.LK6QHLW2.js +0 -7
- package/dist/esm/chunks/chunk.LYZXJYTW.js +0 -7
- package/dist/esm/chunks/chunk.LZ2YQYJA.js +0 -7
- package/dist/esm/chunks/chunk.LZ2YQYJA.js.map +0 -7
- package/dist/esm/chunks/chunk.MROUV35N.js +0 -7
- package/dist/esm/chunks/chunk.NM7FJISF.js +0 -7
- package/dist/esm/chunks/chunk.NM7FJISF.js.map +0 -7
- package/dist/esm/chunks/chunk.NVR6KN2B.js +0 -7
- package/dist/esm/chunks/chunk.O6F4U4VY.js +0 -7
- package/dist/esm/chunks/chunk.ONII3BV3.js +0 -7
- package/dist/esm/chunks/chunk.OTUEB7SD.js +0 -7
- package/dist/esm/chunks/chunk.PMSCH6VK.js +0 -7
- package/dist/esm/chunks/chunk.PRJHBUU2.js.map +0 -7
- package/dist/esm/chunks/chunk.Q2Q626DG.js +0 -7
- package/dist/esm/chunks/chunk.Q4YL47ZL.js +0 -7
- package/dist/esm/chunks/chunk.Q4YL47ZL.js.map +0 -7
- package/dist/esm/chunks/chunk.Q54DACHS.js +0 -7
- package/dist/esm/chunks/chunk.Q74SG6BV.js +0 -7
- package/dist/esm/chunks/chunk.QGMWM7IT.js +0 -7
- package/dist/esm/chunks/chunk.QGMWM7IT.js.map +0 -7
- package/dist/esm/chunks/chunk.RCPUTZON.js +0 -7
- package/dist/esm/chunks/chunk.SBKKBQDX.js +0 -7
- package/dist/esm/chunks/chunk.SBKKBQDX.js.map +0 -7
- package/dist/esm/chunks/chunk.SVVF632P.js +0 -7
- package/dist/esm/chunks/chunk.SVVF632P.js.map +0 -7
- package/dist/esm/chunks/chunk.T4J66YX5.js +0 -7
- package/dist/esm/chunks/chunk.THNCYT3E.js +0 -7
- package/dist/esm/chunks/chunk.TSUAFZGY.js +0 -7
- package/dist/esm/chunks/chunk.UOEJCU6R.js +0 -7
- package/dist/esm/chunks/chunk.VG452D3L.js +0 -7
- package/dist/esm/chunks/chunk.VQPSP4HV.js +0 -7
- package/dist/esm/chunks/chunk.VQPSP4HV.js.map +0 -7
- package/dist/esm/chunks/chunk.W7BP2DDU.js +0 -7
- package/dist/esm/chunks/chunk.WARVAVAW.js +0 -7
- package/dist/esm/chunks/chunk.WEHQUUXJ.js +0 -7
- package/dist/esm/chunks/chunk.WEHQUUXJ.js.map +0 -7
- package/dist/esm/chunks/chunk.WJCZJ6XD.js +0 -7
- package/dist/esm/chunks/chunk.X3QZY7V4.js +0 -7
- package/dist/esm/chunks/chunk.XQLQ73NG.js +0 -7
- package/dist/esm/chunks/chunk.Y4ZS3A6F.js +0 -7
- package/dist/esm/chunks/chunk.YA5OQD37.js +0 -7
- package/dist/esm/chunks/chunk.YMSX4F3J.js +0 -7
- package/dist/esm/chunks/chunk.Z37CZMMR.js +0 -7
- package/dist/esm/chunks/chunk.ZIRA4PYV.js +0 -7
- package/dist/esm/chunks/chunk.ZT7U7WOX.js +0 -7
- package/dist/esm/chunks/chunk.ZX3CGET2.js +0 -7
- package/dist/esm/chunks/chunk.ZX3CGET2.js.map +0 -7
- package/dist/tooltip/forge-tooltip.css +0 -6
- package/esm/core/base/base-element-internals-component.d.ts +0 -41
- package/esm/core/base/base-element-internals-component.js +0 -47
- package/esm/tooltip/tooltip-utils.d.ts +0 -13
- package/esm/tooltip/tooltip-utils.js +0 -53
- package/styles/app-bar/app-bar/_configuration.scss +0 -16
- package/styles/button/_configuration.scss +0 -16
- package/styles/button-toggle/button-toggle/_mixins.scss +0 -117
- package/styles/button-toggle/button-toggle-group/_mixins.scss +0 -79
- package/styles/circular-progress/_configuration.scss +0 -16
- package/styles/floating-action-button/_configuration.scss +0 -16
- package/styles/icon-button/_configuration.scss +0 -16
- package/styles/linear-progress/_configuration.scss +0 -28
- package/styles/list/list-item/_configuration.scss +0 -16
- package/styles/radio/radio/_configuration.scss +0 -10
- package/styles/split-button/_configuration.scss +0 -12
- package/styles/state-layer/_configuration.scss +0 -10
- package/styles/switch/_configuration.scss +0 -10
- package/styles/tabs/tab/_configuration.scss +0 -27
- package/styles/tabs/tab-bar/_configuration.scss +0 -10
- package/styles/tooltip/_mixins.scss +0 -98
- package/styles/tooltip/_variables.scss +0 -18
- package/styles/tooltip/forge-tooltip.scss +0 -12
- /package/dist/esm/chunks/{chunk.MTSWCXTY.js.map → chunk.55D2BMXX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BC7WB5RG.js.map → chunk.B53Q676I.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.U7S4DJTU.js.map → chunk.FGHSNC2V.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.URKQICJD.js.map → chunk.FZELFLPE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5EGEZ4IY.js.map → chunk.GLUKTMQU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IHIKIZIT.js.map → chunk.M5JGYRH4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.O6MGA3XK.js.map → chunk.N75VD4S4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KDJZN6EW.js.map → chunk.NW54VA4E.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BAQYPAUM.js.map → chunk.OXVCCHM5.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MHH26REX.js.map → chunk.QKTNCOVX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.42YDA5FH.js.map → chunk.RDQ3QGWS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AR6YUJUH.js.map → chunk.RKG66YKS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BTWJPE4Y.js.map → chunk.TZ67MC2N.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7LOMI6J3.js.map → chunk.VGIZJ32U.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.U42I3PGF.js.map → chunk.WFQYTXCB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KWBYYSH3.js.map → chunk.WQHKUNR7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NBLL7VAA.js.map → chunk.X57DRPFB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.L45HXBDS.js.map → chunk.X7YTDVNT.js.map} +0 -0
- /package/esm/core/{base/base-label-aware-component.js → mixins/label/with-label-aware.js} +0 -0
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/avatar/avatar-constants.ts", "../../src/avatar/avatar-adapter.ts", "../../src/avatar/avatar-foundation.ts", "../../src/avatar/avatar.ts", "../../src/avatar/avatar-component-delegate.ts", "../../src/avatar/index.ts"],
|
|
4
4
|
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { COLOR_CONSTANTS } from '../theme';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}avatar`;\n\nconst attributes = {\n IMAGE_URL: 'image-url',\n TEXT: 'text',\n LETTER_COUNT: 'letter-count',\n AUTO_COLOR: 'auto-color'\n};\n\nconst numbers = {\n DEFAULT_LETTER_COUNT: 2\n};\n\nconst selectors = {\n ROOT: '.forge-avatar',\n DEFAULT_SLOT: '.forge-avatar > slot:not([name])'\n};\n\nconst strings = {\n DEFAULT_COLOR: COLOR_CONSTANTS.themeColors.tertiary,\n BACKGROUND_VARNAME: '--forge-avatar-theme-background'\n};\n\nexport const AVATAR_CONSTANTS = {\n elementName,\n attributes,\n numbers,\n selectors,\n strings\n};\n", "import { getShadowElement, removeAllChildren } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IAvatarComponent } from './avatar';\nimport { AVATAR_CONSTANTS } from './avatar-constants';\n\nexport interface IAvatarAdapter extends IBaseAdapter {\n setBackgroundColor(color: string): void;\n setBackgroundImageUrl(url: string): Promise<boolean>;\n removeBackgroundImage(): void;\n setText(value: string): void;\n clearText(): void;\n}\n\n/**\n * The DOM adapter behind the `<forge-avatar>` element.\n */\nexport class AvatarAdapter extends BaseAdapter<IAvatarComponent> implements IAvatarAdapter {\n private _root: HTMLElement;\n private _defaultSlot: HTMLSlotElement;\n\n constructor(component: IAvatarComponent) {\n super(component);\n this._root = getShadowElement(this._component, AVATAR_CONSTANTS.selectors.ROOT);\n this._defaultSlot = getShadowElement(this._component, AVATAR_CONSTANTS.selectors.DEFAULT_SLOT) as HTMLSlotElement;\n }\n\n /**\n * Sets the `backgroundColor` style on the content element.\n * @param {string} value The background color.\n */\n public setBackgroundColor(value: string): void {\n this._root.style.backgroundColor = `var(${AVATAR_CONSTANTS.strings.BACKGROUND_VARNAME}, ${value})`;\n }\n\n /**\n * Sets the background image URL.\n * @param url The URL.\n */\n public setBackgroundImageUrl(url: string): Promise<boolean> {\n const backgroundColor = this._root.style.backgroundColor;\n // doing his before the promise so it doesn't flash a color before loading\n this._root.style.backgroundColor = 'inherit';\n\n const loadResult = new Promise<boolean>(resolve => {\n const image = new Image();\n image.onload = () => {\n this._root.style.backgroundImage = `url(${image.src})`;\n resolve(true);\n };\n\n image.onerror = () => {\n this._root.style.backgroundColor = backgroundColor;\n resolve(false);\n };\n\n image.src = url;\n });\n\n return loadResult;\n }\n\n /**\n * Removes the background image URL.\n */\n public removeBackgroundImage(): void {\n this._root.style.removeProperty('background-image');\n }\n\n /**\n * Sets the avatar text content.\n * @param value The text value.\n */\n public setText(value: string): void {\n this._defaultSlot.textContent = value;\n }\n\n public clearText(): void {\n removeAllChildren(this._defaultSlot);\n }\n}\n", "import { ICustomElementFoundation, isDefined, isString } from '@tylertech/forge-core';\nimport { getTextColor } from '../utils/color-utils';\nimport { IAvatarAdapter } from './avatar-adapter';\nimport { AVATAR_CONSTANTS } from './avatar-constants';\n\n\n\nexport interface IAvatarFoundation extends ICustomElementFoundation {\n imageUrl: string;\n text: string;\n letterCount: number;\n autoColor: boolean;\n}\n\n/**\n * The custom element class behind the `<forge-avatar>` class.\n */\nexport class AvatarFoundation implements IAvatarFoundation {\n private _imageUrl: string;\n private _text = '';\n private _letterCount = AVATAR_CONSTANTS.numbers.DEFAULT_LETTER_COUNT;\n private _autoColor = false;\n private _initialized = false;\n\n constructor(private _adapter: IAvatarAdapter) {}\n\n public initialize(): void {\n this._render();\n this._initialized = true;\n }\n\n public disconnect(): void {\n this._initialized = false;\n }\n\n private _render(): void {\n this._setText();\n this._setBackgroundImageUrl();\n }\n\n private async _setBackgroundImageUrl(): Promise<void> {\n if (this._imageUrl) {\n if (await this._adapter.setBackgroundImageUrl(this._imageUrl)) {\n this._adapter.clearText();\n }\n } else {\n this._adapter.removeBackgroundImage();\n }\n }\n\n private _setText(): void {\n const data = this._getTextContent(this._text, this._letterCount);\n\n if (data) {\n this._adapter.setText(data);\n } else {\n this._adapter.clearText();\n }\n\n const color = this._autoColor ? getTextColor(data) : AVATAR_CONSTANTS.strings.DEFAULT_COLOR;\n this._adapter.setBackgroundColor(color);\n }\n\n /**\n * Gets the text content to display in the avatar.\n * @param {string} value The text to parse.\n */\n private _getTextContent(value: string, count: number): string {\n if (!value || !isString(value) || count <= 0) {\n return '';\n }\n\n let text: string;\n\n if (count === 1) {\n text = value[0].toUpperCase();\n } else {\n const words = value.match(/\\S+/g) || [];\n text = words.slice(0, count).reduce((prev, curr) => prev += curr[0].toUpperCase(), '');\n }\n\n return text;\n }\n\n /** Gets/sets the text to display. */\n public get text(): string {\n return this._text;\n }\n public set text(value: string) {\n if (this._text !== value) {\n this._text = value || '';\n this._adapter.setHostAttribute(AVATAR_CONSTANTS.attributes.TEXT, this._text);\n if (this._initialized) {\n this._render();\n }\n }\n }\n\n /** Controls the number of letters to display from the text. By default the text is split on spaces and the first character of each word is used. */\n public get letterCount(): number {\n return this._letterCount;\n }\n public set letterCount(value: number) {\n if (this._letterCount !== value) {\n this._letterCount = value;\n this._adapter.setHostAttribute(AVATAR_CONSTANTS.attributes.LETTER_COUNT, isDefined(this._letterCount) ? this._letterCount.toString() : '');\n if (this._initialized) {\n this._render();\n }\n }\n }\n\n /** Sets the background image URL to use. */\n public get imageUrl(): string {\n return this._imageUrl;\n }\n public set imageUrl(value: string) {\n if (this._imageUrl !== value) {\n this._imageUrl = value;\n if (this._initialized) {\n this._render();\n }\n }\n }\n\n /** Controls whether the background color set automatically based on the text value. Does not have any effect when an image URL is specified. */\n public get autoColor(): boolean {\n return this._autoColor;\n }\n public set autoColor(value: boolean) {\n if (this._autoColor !== value) {\n this._autoColor = value;\n this._setText();\n this._adapter.setHostAttribute(AVATAR_CONSTANTS.attributes.AUTO_COLOR, isDefined(this._autoColor) ? this._autoColor.toString() : '');\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceNumber, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\n\nimport { AvatarAdapter } from './avatar-adapter';\nimport { AvatarFoundation } from './avatar-foundation';\nimport { AVATAR_CONSTANTS } from './avatar-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-avatar\\\" aria-hidden=\\\"true\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = ':host{display:inline-block;contain:content}:host([hidden]){display:none}.forge-avatar{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1.25rem;font-size:var(--forge-typography-title-font-size, 1.25rem);line-height:2rem;line-height:var(--forge-typography-title-line-height, 2rem);font-weight:400;font-weight:var(--forge-typography-title-font-weight,400);letter-spacing:.0125em;letter-spacing:var(--forge-typography-title-letter-spacing, .0125em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-title-text-decoration,inherit);text-decoration:var(--forge-typography-title-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-title-text-transform,inherit);font-size:1rem;font-size:var(--forge-avatar-font-size, 1rem);font-weight:400;font-weight:var(--forge-avatar-font-weight,400);background-color:none;background-color:var(--forge-avatar-theme-background,none);height:40px;height:var(--forge-avatar-size,40px);width:40px;width:var(--forge-avatar-size,40px);color:#fff;color:var(--forge-avatar-theme-on-background,#fff);border-radius:50%;border-radius:var(--forge-avatar-radius,50%);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;background-position:center;background-repeat:no-repeat;background-size:cover;overflow:hidden;-webkit-transition:height .2s cubic-bezier(.4, 0, .2, 1),width .2s cubic-bezier(.4, 0, .2, 1);transition:height .2s cubic-bezier(.4, 0, .2, 1),width .2s cubic-bezier(.4, 0, .2, 1)}';\n\nexport interface IAvatarComponent extends IBaseComponent {\n imageUrl: string;\n text: string;\n letterCount: number;\n autoColor: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-avatar': IAvatarComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-avatar>` element.\n * \n * @tag forge-avatar\n */\n@CustomElement({\n name: AVATAR_CONSTANTS.elementName\n})\nexport class AvatarComponent extends BaseComponent implements IAvatarComponent {\n public static get observedAttributes(): string[] {\n return [\n AVATAR_CONSTANTS.attributes.TEXT,\n AVATAR_CONSTANTS.attributes.LETTER_COUNT,\n AVATAR_CONSTANTS.attributes.IMAGE_URL,\n AVATAR_CONSTANTS.attributes.AUTO_COLOR\n ];\n }\n\n private _foundation: AvatarFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new AvatarFoundation(new AvatarAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case AVATAR_CONSTANTS.attributes.TEXT:\n this.text = newValue;\n break;\n case AVATAR_CONSTANTS.attributes.LETTER_COUNT:\n this.letterCount = coerceNumber(newValue);\n break;\n case AVATAR_CONSTANTS.attributes.IMAGE_URL:\n this.imageUrl = newValue;\n break;\n case AVATAR_CONSTANTS.attributes.AUTO_COLOR:\n this.autoColor = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets/sets the text to display. */\n @FoundationProperty()\n public declare text: string;\n\n /** Controls the number of letters to display from the text. By default the text is split on spaces and the first character of each word is used. */\n @FoundationProperty()\n public declare letterCount: number;\n\n /** Sets the background image URL to use. */\n @FoundationProperty()\n public declare imageUrl: string;\n\n /** Controls whether the background color is set automatically based on the text value. Does not have any effect when an image URL is specified. */\n @FoundationProperty()\n public declare autoColor: boolean;\n}\n", "import { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { IAvatarComponent } from './avatar';\nimport { AVATAR_CONSTANTS } from './avatar-constants';\n\nexport type AvatarComponentDelegateProps = Partial<IAvatarComponent>;\nexport interface IAvatarComponentDelegateOptions extends IBaseComponentDelegateOptions {}\nexport interface IAvatarComponentDelegateConfig extends IBaseComponentDelegateConfig<IAvatarComponent, IAvatarComponentDelegateOptions> {}\n\nexport class AvatarComponentDelegate extends BaseComponentDelegate<IAvatarComponent, IAvatarComponentDelegateOptions> {\n constructor(config?: IAvatarComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IAvatarComponent {\n return document.createElement(AVATAR_CONSTANTS.elementName);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AvatarComponent } from './avatar';\n\nexport * from './avatar-adapter';\nexport * from './avatar-constants';\nexport * from './avatar-foundation';\nexport * from './avatar';\nexport * from './avatar-component-delegate';\n\nexport function defineAvatarComponent(): void {\n defineCustomElement(AvatarComponent);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "numbers", "selectors", "strings", "COLOR_CONSTANTS", "AVATAR_CONSTANTS", "AvatarAdapter", "BaseAdapter", "component", "getShadowElement", "AVATAR_CONSTANTS", "value", "url", "backgroundColor", "resolve", "image", "removeAllChildren", "AvatarFoundation", "_adapter", "AVATAR_CONSTANTS", "data", "color", "getTextColor", "value", "count", "isString", "text", "prev", "curr", "isDefined", "template", "styles", "AvatarComponent", "BaseComponent", "attachShadowTemplate", "AvatarFoundation", "AvatarAdapter", "AVATAR_CONSTANTS", "name", "oldValue", "newValue", "coerceNumber", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "AvatarComponentDelegate", "BaseComponentDelegate", "config", "AVATAR_CONSTANTS", "defineAvatarComponent", "defineCustomElement", "AvatarComponent"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{b as u,c as O,f as S}from"./chunk.JXJVPJRO.js";import{a as _}from"./chunk.LEVFMI2Q.js";import{b as B}from"./chunk.HPCXVNG6.js";import{a as I}from"./chunk.ZY3ETQ3D.js";import{a as L}from"./chunk.NVUMRW44.js";import{a as k,b as A}from"./chunk.RRNSZCVJ.js";import{a as E,e as w,f as c}from"./chunk.TPXXHX5J.js";import{f as v,g as h,u as y}from"./chunk.HZUQXCOQ.js";import{k as g}from"./chunk.J2M2MXP2.js";import{a as b,b as m,d as l}from"./chunk.M3QDAYD2.js";var C=`${A}button-area`,x={DISABLED:"disabled",IGNORE:"data-forge-ignore",IGNORE_ALT:"forge-ignore"},T={ROOT:"root",BUTTON_SLOT:"button"},D={DISABLED:"forge-button-area--disabled"},z={ROOT:`#${T.ROOT}`,BUTTON_SLOT:"slot[name=button]"},o={elementName:C,attributes:x,ids:T,classes:D,selectors:z};var s=class extends I{constructor(e){super(e);this._rootElement=c(e,o.selectors.ROOT),this._buttonSlotElement=c(e,o.selectors.BUTTON_SLOT)}destroy(){typeof this._destroyUserInteractionListener=="function"&&this._destroyUserInteractionListener()}get root(){return this._rootElement}get unbounded(){return!1}get disabled(){return this.buttonIsDisabled()}setDisabled(e){var r;y(this._rootElement,e,o.classes.DISABLED),(r=this._buttonElement)==null||r.toggleAttribute(o.attributes.DISABLED,e)}addListener(e,r){this._rootElement.addEventListener(e,r)}removeListener(e,r){this._rootElement.removeEventListener(e,r)}addSlotChangeListener(e){this._buttonSlotElement.addEventListener("slotchange",e)}removeSlotChangeListener(e){this._buttonSlotElement.removeEventListener("slotchange",e)}startButtonObserver(e){this._buttonElement&&(this._buttonObserver=new MutationObserver(e),this._buttonObserver.observe(this._buttonElement,{attributeFilter:[o.attributes.DISABLED]}))}stopButtonObserver(){this._buttonObserver&&(this._buttonObserver.disconnect(),this._buttonObserver=void 0)}detectSlottedButton(){this._buttonElement=this._buttonSlotElement.assignedElements()[0]}buttonIsDisabled(){var e,r;return(r=(e=this._buttonElement)==null?void 0:e.disabled)!=null?r:!0}requestDisabledButtonFrame(){this._buttonElement&&(this._buttonElement.disabled=!0,requestAnimationFrame(()=>this._buttonElement.disabled=!1))}async createRipple(){if(this._rippleInstance)typeof this._destroyUserInteractionListener=="function"&&this._destroyUserInteractionListener(),this._rippleInstance.destroy(),this._rippleInstance=void 0;else{let e=await this._userInteractionListener();if(!this._rippleInstance){let r=m(b({},u.createAdapter(this)),{isSurfaceActive:()=>{var t,i;return this._rootElement.matches(":active")||((i=(t=this._buttonElement)==null?void 0:t.matches(":active"))!=null?i:!1)},isSurfaceDisabled:()=>{var t;return(t=this.disabled)!=null?t:!0},isUnbounded:()=>!!this.unbounded,registerInteractionHandler:(t,i)=>{var d;this._isRootEvent(t)?this._rootElement.addEventListener(t,i,{passive:!0}):(d=this._buttonElement)==null||d.addEventListener(t,i,{passive:!0})},deregisterInteractionHandler:(t,i)=>{var d;this._isRootEvent(t)?this._rootElement.removeEventListener(t,i,{passive:!0}):(d=this._buttonElement)==null||d.removeEventListener(t,i,{passive:!0})},addClass:t=>v(t,this._rootElement),removeClass:t=>h(t,this._rootElement),updateCssVariable:(t,i)=>this._rootElement.style.setProperty(t,i)});this._rippleInstance=new u(this._rootElement,new O(r)),e==="focusin"&&this._rippleInstance.handleFocus()}}}async _userInteractionListener(){typeof this._destroyUserInteractionListener=="function"&&this._destroyUserInteractionListener();let{userInteraction:e,destroy:r}=B(this._rootElement);this._destroyUserInteractionListener=r;let{type:t}=await e;return this._destroyUserInteractionListener=void 0,t}_isRootEvent(e){return["touchstart","pointerdown","mousedown"].includes(e)}};var p=class{constructor(a){this._adapter=a;this._disabled=!1;this._clickListener=e=>this._handleClick(e),this._keydownListener=e=>this._handleKeydown(e),this._pointerdownListener=e=>this._handlePointerdown(e),this._slotListener=()=>this._handleSlotChange()}initialize(){this._adapter.addListener("click",this._clickListener),this._adapter.addListener("keydown",this._keydownListener),this._adapter.addListener("pointerdown",this._pointerdownListener),this._adapter.addSlotChangeListener(this._slotListener),this._adapter.createRipple()}disconnect(){this._adapter.destroy(),this._adapter.removeListener("click",this._clickListener),this._adapter.removeSlotChangeListener(this._slotListener),this._adapter.stopButtonObserver()}_handleClick(a){var r;this._disabled&&a.stopPropagation(),((r=window.getSelection())==null?void 0:r.type)==="Range"&&a.stopPropagation(),this._shouldIgnoreEvent(a)&&a.stopPropagation()}_handleKeydown(a){a.key!==" "&&a.key!=="Enter"||this._shouldIgnoreEvent(a)&&a.stopPropagation()}_handlePointerdown(a){this._disabled||this._shouldIgnoreEvent(a)&&this._adapter.requestDisabledButtonFrame()}_handleSlotChange(){this._adapter.stopButtonObserver(),this._adapter.detectSlottedButton(),this._adapter.startButtonObserver(()=>this._handleButtonDisabled()),this._adapter.buttonIsDisabled()?this.disabled=!0:this._disabled&&this._adapter.setDisabled(!0)}_handleButtonDisabled(){this.disabled=this._adapter.buttonIsDisabled()}_shouldIgnoreEvent(a){return _(a).some(r=>r.nodeType===1&&(r.hasAttribute(o.attributes.IGNORE)||r.hasAttribute(o.attributes.IGNORE_ALT)))}get disabled(){return this._disabled}set disabled(a){this._disabled!==a&&(this._disabled=a,this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(o.attributes.DISABLED,this._disabled))}};var R='<template><div class="forge-button-area" id="root" part="root"><div class="forge-button-area__button" id="button" part="button"><slot name="button"></slot></div><slot></slot></div></template>',N='@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-button-area{overflow:hidden}.forge-button-area:not(.forge-button-area--disabled).forge-button-area{--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;cursor:pointer}.forge-button-area:not(.forge-button-area--disabled).forge-button-area::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-button-area:not(.forge-button-area--disabled).forge-button-area::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-area:not(.forge-button-area--disabled).forge-button-area::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.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-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.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-button-area:not(.forge-button-area--disabled).forge-button-area.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-button-area:not(.forge-button-area--disabled).forge-button-area::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-surface--hover::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded--background-focused::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-area:not(.forge-button-area--disabled).forge-button-area:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated::before{opacity:.12;opacity:var(--mdc-ripple-activated-opacity, .12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated.mdc-ripple-surface--hover::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated:hover::before{opacity:.16;opacity:var(--mdc-ripple-hover-opacity, .16)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated.mdc-ripple-upgraded--background-focused::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity, .08)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected.mdc-ripple-surface--hover::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity, .12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected.mdc-ripple-upgraded--background-focused::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity, .2)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity, .2)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.forge-button-area__button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}:host{display:block}:host([hidden]){display:none}',n=class extends HTMLElement{constructor(){super();w(this,R,N),this._foundation=new p(new s(this))}static get observedAttributes(){return[o.attributes.DISABLED]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,r,t){switch(e){case o.attributes.DISABLED:this.disabled=g(t);break}}};l([L()],n.prototype,"disabled",2),n=l([k({name:o.elementName,dependencies:[S]})],n);function se(){E(n)}export{o as a,s as b,p as c,n as d,se as e};
|
|
7
|
+
//# sourceMappingURL=chunk.4GMGQZOW.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/button-area/button-area-constants.ts", "../../src/button-area/button-area-adapter.ts", "../../src/button-area/button-area-foundation.ts", "../../src/button-area/button-area.ts", "../../src/button-area/index.ts"],
|
|
4
4
|
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName = `${COMPONENT_NAME_PREFIX}button-area`;\n\nconst attributes = {\n DISABLED: 'disabled',\n IGNORE: 'data-forge-ignore',\n IGNORE_ALT: 'forge-ignore'\n};\n\nconst ids = {\n ROOT: 'root',\n BUTTON_SLOT: 'button'\n};\n\nconst classes = {\n DISABLED: `forge-button-area--disabled`\n};\n\nconst selectors = {\n ROOT: `#${ids.ROOT}`,\n BUTTON_SLOT: `slot[name=button]`\n};\n\nexport const BUTTON_AREA_CONSTANTS = {\n elementName,\n attributes,\n ids,\n classes,\n selectors\n};\n", "import { addClass, getShadowElement, removeClass, toggleClass } from '@tylertech/forge-core';\n\nimport { BaseAdapter, IBaseAdapter, createUserInteractionListener } from '../core';\nimport { ForgeRipple, ForgeRippleAdapter, ForgeRippleCapableSurface, ForgeRippleFoundation } from '../ripple';\nimport { IButtonAreaComponent } from './button-area';\nimport { BUTTON_AREA_CONSTANTS } from './button-area-constants';\n\nexport interface IButtonAreaAdapter extends IBaseAdapter {\n destroy(): void;\n setDisabled(value: boolean): void;\n addListener(type: string, listener: (event: Event) => void): void;\n removeListener(type: string, listener: (event: Event) => void): void;\n addSlotChangeListener(listener: () => void): void;\n removeSlotChangeListener(listener: () => void): void;\n startButtonObserver(callback: MutationCallback): void;\n stopButtonObserver(): void;\n detectSlottedButton(): void;\n buttonIsDisabled(): boolean;\n requestDisabledButtonFrame(): void;\n createRipple(): Promise<void>;\n}\n\nexport class ButtonAreaAdapter extends BaseAdapter<IButtonAreaComponent> implements IButtonAreaAdapter, ForgeRippleCapableSurface {\n private _rootElement: HTMLElement;\n private _buttonSlotElement: HTMLSlotElement;\n private _buttonElement?: HTMLButtonElement;\n private _rippleInstance?: ForgeRipple;\n private _buttonObserver?: MutationObserver;\n private _destroyUserInteractionListener: (() => void) | undefined;\n\n constructor(component: IButtonAreaComponent) {\n super(component);\n this._rootElement = getShadowElement(component, BUTTON_AREA_CONSTANTS.selectors.ROOT);\n this._buttonSlotElement = getShadowElement(component, BUTTON_AREA_CONSTANTS.selectors.BUTTON_SLOT) as HTMLSlotElement;\n }\n\n public destroy(): void {\n if (typeof this._destroyUserInteractionListener === 'function') {\n this._destroyUserInteractionListener();\n }\n }\n\n public get root(): HTMLElement {\n return this._rootElement;\n }\n\n public get unbounded(): boolean | undefined {\n return false;\n }\n\n public get disabled(): boolean | undefined {\n return this.buttonIsDisabled();\n }\n\n public setDisabled(value: boolean): void {\n toggleClass(this._rootElement, value, BUTTON_AREA_CONSTANTS.classes.DISABLED);\n this._buttonElement?.toggleAttribute(BUTTON_AREA_CONSTANTS.attributes.DISABLED, value);\n }\n\n public addListener(type: string, listener: (event: Event) => void): void {\n this._rootElement.addEventListener(type, listener);\n }\n\n public removeListener(type: string, listener: (event: Event) => void): void {\n this._rootElement.removeEventListener(type, listener);\n }\n\n public addSlotChangeListener(listener: () => void): void {\n this._buttonSlotElement.addEventListener('slotchange', listener);\n }\n\n public removeSlotChangeListener(listener: () => void): void {\n this._buttonSlotElement.removeEventListener('slotchange', listener);\n }\n\n public startButtonObserver(callback: MutationCallback): void {\n if (this._buttonElement) {\n this._buttonObserver = new MutationObserver(callback);\n this._buttonObserver.observe(this._buttonElement, { attributeFilter: [BUTTON_AREA_CONSTANTS.attributes.DISABLED] });\n }\n }\n\n public stopButtonObserver(): void {\n if (this._buttonObserver) {\n this._buttonObserver.disconnect();\n this._buttonObserver = undefined;\n }\n }\n\n public detectSlottedButton(): void {\n this._buttonElement = this._buttonSlotElement.assignedElements()[0] as HTMLButtonElement | undefined;\n }\n\n public buttonIsDisabled(): boolean {\n return this._buttonElement?.disabled ?? true;\n }\n\n public requestDisabledButtonFrame(): void {\n if (this._buttonElement) {\n this._buttonElement.disabled = true;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n requestAnimationFrame(() => this._buttonElement!.disabled = false);\n }\n }\n\n public async createRipple(): Promise<void> {\n if (!this._rippleInstance) {\n const type = await this._userInteractionListener();\n if (!this._rippleInstance) {\n const adapter: ForgeRippleAdapter = {\n ...ForgeRipple.createAdapter(this),\n isSurfaceActive: () => this._rootElement.matches(':active') || (this._buttonElement?.matches(':active') ?? false),\n isSurfaceDisabled: () => this.disabled ?? true,\n isUnbounded: () => !!this.unbounded,\n registerInteractionHandler: (evtType, handler) => {\n if (this._isRootEvent(evtType)) {\n this._rootElement.addEventListener(evtType, handler, { passive: true });\n } else {\n this._buttonElement?.addEventListener(evtType, handler, { passive: true});\n }\n },\n deregisterInteractionHandler: (evtType, handler) => {\n if (this._isRootEvent(evtType)) {\n this._rootElement.removeEventListener(evtType, handler, { passive: true } as AddEventListenerOptions);\n } else {\n this._buttonElement?.removeEventListener(evtType, handler, { passive: true } as AddEventListenerOptions);\n }\n },\n addClass: (className) => addClass(className, this._rootElement),\n removeClass: (className) => removeClass(className, this._rootElement),\n updateCssVariable: (varName, value) => this._rootElement.style.setProperty(varName, value)\n };\n this._rippleInstance = new ForgeRipple(this._rootElement, new ForgeRippleFoundation(adapter));\n if (type === 'focusin') {\n this._rippleInstance.handleFocus();\n }\n }\n } else {\n if (typeof this._destroyUserInteractionListener === 'function') {\n this._destroyUserInteractionListener();\n }\n\n this._rippleInstance.destroy();\n this._rippleInstance = undefined;\n }\n }\n\n private async _userInteractionListener(): Promise<string> {\n if (typeof this._destroyUserInteractionListener === 'function') {\n this._destroyUserInteractionListener();\n }\n const { userInteraction, destroy } = createUserInteractionListener(this._rootElement);\n this._destroyUserInteractionListener = destroy;\n const { type } = await userInteraction;\n this._destroyUserInteractionListener = undefined;\n return type;\n }\n\n private _isRootEvent(evtType: string): boolean {\n return ['touchstart', 'pointerdown', 'mousedown'].includes(evtType);\n }\n}\n", "import { ICustomElementFoundation, getEventPath } from '@tylertech/forge-core';\n\nimport { IButtonAreaAdapter } from './button-area-adapter';\nimport { BUTTON_AREA_CONSTANTS } from './button-area-constants';\n\nexport interface IButtonAreaFoundation extends ICustomElementFoundation {\n disabled: boolean;\n}\n\nexport class ButtonAreaFoundation implements IButtonAreaFoundation {\n private _disabled = false;\n private _clickListener: (event: Event) => void;\n private _keydownListener: (event: KeyboardEvent) => void;\n private _pointerdownListener: (event: Event) => void;\n private _slotListener: () => void;\n\n constructor(private _adapter: IButtonAreaAdapter) {\n this._clickListener = event => this._handleClick(event);\n this._keydownListener = event => this._handleKeydown(event);\n this._pointerdownListener = event => this._handlePointerdown(event);\n this._slotListener = () => this._handleSlotChange();\n }\n\n public initialize(): void {\n this._adapter.addListener('click', this._clickListener);\n this._adapter.addListener('keydown', this._keydownListener);\n this._adapter.addListener('pointerdown', this._pointerdownListener);\n this._adapter.addSlotChangeListener(this._slotListener);\n this._adapter.createRipple();\n }\n\n public disconnect(): void {\n this._adapter.destroy();\n this._adapter.removeListener('click', this._clickListener);\n this._adapter.removeSlotChangeListener(this._slotListener);\n this._adapter.stopButtonObserver();\n }\n\n private _handleClick(event: Event): void {\n // Prevent the click if disabled\n if (this._disabled) {\n event.stopPropagation();\n }\n\n // Prevent the click if a selection was made\n const selectionType = window.getSelection()?.type;\n if (selectionType === 'Range') {\n event.stopPropagation();\n }\n\n // Prevent the click if it originates from an ignored element\n if (this._shouldIgnoreEvent(event)) {\n event.stopPropagation();\n }\n }\n\n private _handleKeydown(event: KeyboardEvent): void {\n if (event.key !== ' ' && event.key !== 'Enter') {\n return;\n }\n\n // Prevent the keydown if it originates from an ignored element\n if (this._shouldIgnoreEvent(event)) {\n event.stopPropagation();\n }\n }\n\n private _handlePointerdown(event: Event): void {\n if (this._disabled) {\n return;\n }\n\n // Prevent the ripple animation when ignored children are clicked\n if (this._shouldIgnoreEvent(event)) {\n this._adapter.requestDisabledButtonFrame();\n }\n }\n\n private _handleSlotChange(): void {\n // Clear old button-connected listeners\n this._adapter.stopButtonObserver();\n\n this._adapter.detectSlottedButton();\n this._adapter.startButtonObserver(() => this._handleButtonDisabled());\n\n // Match the component and button states if either is disabled\n if (this._adapter.buttonIsDisabled()) {\n this.disabled = true;\n } else if (this._disabled) {\n this._adapter.setDisabled(true);\n }\n }\n\n private _handleButtonDisabled(): void {\n this.disabled = this._adapter.buttonIsDisabled();\n }\n\n private _shouldIgnoreEvent(event: Event): boolean {\n const eventPath = getEventPath(event);\n return eventPath.some(el => el.nodeType === 1 && (el.hasAttribute(BUTTON_AREA_CONSTANTS.attributes.IGNORE) || el.hasAttribute(BUTTON_AREA_CONSTANTS.attributes.IGNORE_ALT)));\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n this._adapter.toggleHostAttribute(BUTTON_AREA_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, ICustomElement, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { ButtonAreaAdapter } from './button-area-adapter';\nimport { ButtonAreaFoundation } from './button-area-foundation';\nimport { BUTTON_AREA_CONSTANTS } from './button-area-constants';\nimport { RippleComponent } from '../ripple';\n\nconst template = '<template><div class=\\\"forge-button-area\\\" id=\\\"root\\\" part=\\\"root\\\"><div class=\\\"forge-button-area__button\\\" id=\\\"button\\\" part=\\\"button\\\"><slot name=\\\"button\\\"></slot></div><slot></slot></div></template>';\nconst styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-button-area{overflow:hidden}.forge-button-area:not(.forge-button-area--disabled).forge-button-area{--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;cursor:pointer}.forge-button-area:not(.forge-button-area--disabled).forge-button-area::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-button-area:not(.forge-button-area--disabled).forge-button-area::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-area:not(.forge-button-area--disabled).forge-button-area::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.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-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.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-button-area:not(.forge-button-area--disabled).forge-button-area.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-button-area:not(.forge-button-area--disabled).forge-button-area::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-surface--hover::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded--background-focused::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-area:not(.forge-button-area--disabled).forge-button-area:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated::before{opacity:.12;opacity:var(--mdc-ripple-activated-opacity, .12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated.mdc-ripple-surface--hover::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated:hover::before{opacity:.16;opacity:var(--mdc-ripple-hover-opacity, .16)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated.mdc-ripple-upgraded--background-focused::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity, .08)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected::after,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected.mdc-ripple-surface--hover::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity, .12)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected.mdc-ripple-upgraded--background-focused::before,.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity, .2)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity, .2)}.forge-button-area:not(.forge-button-area--disabled).forge-button-area--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.forge-button-area__button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}:host{display:block}:host([hidden]){display:none}';\n\nexport interface IButtonAreaComponent extends ICustomElement {\n disabled: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-button-area': IButtonAreaComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-button-area>` element.\n * \n * @tag forge-button-area\n */\n@CustomElement({\n name: BUTTON_AREA_CONSTANTS.elementName,\n dependencies: [\n RippleComponent\n ]\n})\nexport class ButtonAreaComponent extends HTMLElement implements IButtonAreaComponent {\n public static get observedAttributes(): string[] {\n return [\n BUTTON_AREA_CONSTANTS.attributes.DISABLED\n ];\n }\n\n private _foundation: ButtonAreaFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ButtonAreaFoundation(new ButtonAreaAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case BUTTON_AREA_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Controls whether the component and associated button element are disabled. */\n @FoundationProperty()\n public declare disabled: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ButtonAreaComponent } from './button-area';\n\nexport * from './button-area-adapter';\nexport * from './button-area-constants';\nexport * from './button-area-foundation';\nexport * from './button-area';\n\nexport function defineButtonAreaComponent(): void {\n defineCustomElement(ButtonAreaComponent);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "ids", "classes", "selectors", "BUTTON_AREA_CONSTANTS", "ButtonAreaAdapter", "BaseAdapter", "component", "getShadowElement", "BUTTON_AREA_CONSTANTS", "value", "_a", "toggleClass", "type", "listener", "callback", "_b", "adapter", "__spreadProps", "__spreadValues", "ForgeRipple", "evtType", "handler", "className", "addClass", "removeClass", "varName", "ForgeRippleFoundation", "userInteraction", "destroy", "createUserInteractionListener", "ButtonAreaFoundation", "_adapter", "event", "_a", "getEventPath", "el", "BUTTON_AREA_CONSTANTS", "value", "template", "styles", "ButtonAreaComponent", "attachShadowTemplate", "ButtonAreaFoundation", "ButtonAreaAdapter", "BUTTON_AREA_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "RippleComponent", "defineButtonAreaComponent", "defineCustomElement", "ButtonAreaComponent"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{r as T}from"./chunk.QG5EYBS3.js";import{a as I}from"./chunk.ZY3ETQ3D.js";import{a as d}from"./chunk.NVUMRW44.js";import{a as v,b as g,e as x}from"./chunk.RRNSZCVJ.js";import{e as m,k as y}from"./chunk.TPXXHX5J.js";import{k as _}from"./chunk.J2M2MXP2.js";import{a as f,d as l}from"./chunk.M3QDAYD2.js";var O=`${g}icon`,B={NAME:"name",SRC:"src",LAZY:"lazy",EXTERNAL:"external",EXTERNAL_TYPE:"external-type",VIEWBOX:"viewbox"},U=f({},B),z={LAZY_ROOT_MARGIN:50,DEFAULT_WIDTH:24,DEFAULT_HEIGHT:24},R={DEFAULT_NETWORK_BASE_URL:`${x}v1/icons/svg`},r={elementName:O,attributes:U,numbers:z,strings:R},H="forgeIcons";var u=class extends I{constructor(t){super(t)}canLazyLoad(){return!!window.IntersectionObserver}observeVisibility(t){this._observer=new IntersectionObserver(i=>{i.some(s=>s.isIntersecting)&&(this.destroyVisibilityObserver(),t())},{rootMargin:`${r.numbers.LAZY_ROOT_MARGIN}px`}),this._observer.observe(this._component)}destroyVisibilityObserver(){this._observer&&(this._observer.disconnect(),this._observer=void 0)}setContent(t){var p;let i=this._component.shadowRoot,s=i.querySelector("style");i.innerHTML=t,t&&((p=i.firstElementChild)==null||p.setAttribute("aria-hidden","true")),s&&i.appendChild(s)}};var n=class n{static define(e,t){if(Array.isArray(e))return e.filter(p=>n._isIconObject(p)).forEach(p=>n._register(p.name,p.data));let{name:i,data:s}=n._parseIcon(e,t);n._register(i,s)}static remove(e){let t=n._isIconObject(e)?e.name:e;n._icons.delete(t)}static removeListener(e,t){let i=n._listeners.get(e);Array.isArray(i)&&i.includes(t)&&i.splice(i.indexOf(t),1)}static clear(){n._icons.clear(),n._listeners.clear()}static get(e){return n._icons.get(e)}static getIconNames(){return Array.from(n._icons.keys())}static awaitIcon(e,t){var s;if(n._icons.has(e)){t();return}let i=(s=n._listeners.get(e))!=null?s:[];n._listeners.set(e,[...i,t])}static get size(){return n._icons.size}static _register(e,t){n._icons.set(e,t),n._invalidateListeners(e)}static _invalidateListeners(e){let t=n._listeners.get(e);Array.isArray(t)&&t.length&&(t.forEach(i=>i()),n._listeners.delete(e))}static _parseIcon(e,t=""){return n._isIconObject(e)?e:{name:e,data:t}}static _isIconObject(e){return typeof e=="object"&&e.hasOwnProperty("name")&&e.hasOwnProperty("data")}};n._icons=new Map,n._listeners=new Map;var c=n;var b=new Map;function E(o,e,t=!0){if(!o||!o.includes("svg"))return"";!e&&!o.includes("viewBox")&&(e=`0 0 ${r.numbers.DEFAULT_WIDTH} ${r.numbers.DEFAULT_HEIGHT}`);let i=T(o,e);return t&&i&&(i.setAttribute("part","svg"),i.querySelectorAll("path").forEach(s=>{s.setAttribute("part",s.tagName.toLowerCase())})),i?i.outerHTML:""}function A(o){return c.get(o)}function L(o,e){c.awaitIcon(o,e)}function C(o,e){c.removeListener(o,e)}function N(o,e){let t=b.get(o);if(!t)if(typeof fetch!="undefined"&&typeof document!="undefined")t=fetch(o).then(async i=>{if(i.ok){let s=await i.text()||"";return c.define({name:e,data:s}),b.delete(o),s}return c.define({name:e,data:""}),""}),b.set(o,t);else return c.define({name:e,data:""}),Promise.resolve("");return t||Promise.resolve("")}function w(o){return["standard","extended","custom"].includes(o)?o:""}var h=class{constructor(e){this._adapter=e;this._external=!1;this._externalType="standard";this._lazyListener=()=>this._loadIcon()}initialize(){this._applyIcon()}disconnect(){this._adapter.destroyVisibilityObserver(),this._clearIconQueue(),this._tryRemoveListener()}_safeApplyIcon(){this._adapter.isConnected&&(this._clearIconQueue(),this._queueIconUpdate())}_tryRemoveListener(){this._registrationListener&&this._name&&C(this._name,this._registrationListener)}_applyIcon(){this._lazy&&this._adapter.canLazyLoad()?this._adapter.observeVisibility(this._lazyListener):this._loadIcon()}_clearIconQueue(){this._applyTimer&&(clearTimeout(this._applyTimer),this._applyTimer=void 0)}_queueIconUpdate(){this._applyTimer=window.setTimeout(()=>{this._applyTimer=void 0,this._applyIcon()})}async _loadIcon(){try{if(this._src)this._setIconContent(this._src);else if(this._name){let e=this._tryGetIcon(this._name);if(!e){if(!this._external){this._registrationListener=()=>this._applyIcon(),L(this._name,this._registrationListener),this._adapter.setContent("");return}if(!this._externalType)throw new Error(`Invalid external type provided for icon: ${this._name}`);let t=this._getExternalUrl(this._name,this._externalType);t&&(e=await N(t,this._name))}this._setIconContent(e)}else this._adapter.setContent("")}catch(e){throw this._adapter.setContent(""),e}}_setIconContent(e){let t=E(e,this._viewbox);this._adapter.setContent(t)}_tryGetIcon(e){return A(e)}_getExternalUrl(e,t){if(typeof this._externalUrlBuilder=="function")return this._externalUrlBuilder(e,t);let i=w(this._externalType);return`${r.strings.DEFAULT_NETWORK_BASE_URL}${i?`/${i}`:""}/${e}.svg`}get name(){return this._name}set name(e){this._name!==e&&(this._registrationListener&&this._tryRemoveListener(),this._name=(e||"").replace(/\s+/,""),this._safeApplyIcon(),this._adapter.toggleHostAttribute(r.attributes.NAME,!!this._name,this._name))}get src(){return this._src}set src(e){this._src!==e&&(this._src=e,this._adapter.isConnected&&this._applyIcon())}get lazy(){return this._lazy}set lazy(e){this._lazy!==e&&(this._lazy=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.LAZY,`${this._lazy}`))}get external(){return this._external}set external(e){this._external!==e&&(this._external=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.EXTERNAL,`${this._external}`))}get externalType(){return this._externalType}set externalType(e){this._externalType!==e&&(this._externalType=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.EXTERNAL_TYPE,`${this._externalType}`))}get externalUrlBuilder(){return this._externalUrlBuilder}set externalUrlBuilder(e){this._externalUrlBuilder!==e&&(this._externalUrlBuilder=e,this._safeApplyIcon())}get viewbox(){return this._viewbox}set viewbox(e){this._viewbox!==e&&(this._viewbox=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.VIEWBOX,`${this.viewbox}`))}layout(){this._adapter.isConnected&&this._applyIcon()}};var S="<template></template>",M=':host{font-size:24px;font-size:var(--forge-icon-font-size, 24px);display:inline-block;contain:content;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host>svg{fill:currentColor;fill:var(--forge-icon-theme-color,currentColor);stroke:currentColor;stroke:var(--forge-icon-theme-color,currentColor);display:block;width:1em;height:1em;stroke-width:0}:host([hidden]){display:none}:host([theme=primary]){color:var("primary")}:host([theme=secondary]){color:var("secondary")}:host([theme=warning]){color:#d14900;color:var("warning", #d14900)}:host([theme=danger]){color:#b00020;color:var("danger", #b00020)}:host([theme=success]){color:#2e7d32;color:var("success", #2e7d32)}:host([theme=info]){color:#424242;color:var("info", #424242)}:host([theme=tertiary]){color:#3d5afe;color:var("tertiary", #3d5afe)}',a=class extends y{constructor(){super();m(this,S,M),this._foundation=new h(new u(this))}static get observedAttributes(){return[r.attributes.NAME,r.attributes.SRC,r.attributes.LAZY,r.attributes.EXTERNAL,r.attributes.EXTERNAL_TYPE,r.attributes.VIEWBOX]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,s){switch(t){case r.attributes.NAME:this.name=s;break;case r.attributes.SRC:this.src=s;break;case r.attributes.LAZY:this.lazy=_(s);break;case r.attributes.EXTERNAL:this.external=_(s);break;case r.attributes.EXTERNAL_TYPE:this.externalType=s;break;case r.attributes.VIEWBOX:this.viewbox=s;break}}layout(){this._foundation.layout()}};l([d()],a.prototype,"name",2),l([d()],a.prototype,"src",2),l([d()],a.prototype,"lazy",2),l([d()],a.prototype,"external",2),l([d()],a.prototype,"externalType",2),l([d()],a.prototype,"externalUrlBuilder",2),l([d()],a.prototype,"viewbox",2),a=l([v({name:r.elementName})],a);export{r as a,H as b,u as c,c as d,E as e,A as f,L as g,C as h,N as i,w as j,h as k,a as l};
|
|
7
|
+
//# sourceMappingURL=chunk.4JB3SESQ.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/icon/icon-constants.ts", "../../src/icon/icon-adapter.ts", "../../src/icon/icon-registry.ts", "../../src/icon/icon-utils.ts", "../../src/icon/icon-foundation.ts", "../../src/icon/icon.ts"],
|
|
4
4
|
"sourcesContent": ["import { COMPONENT_NAME_PREFIX, CDN_BASE_URL } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}icon`;\n\nconst observedAttributes = {\n NAME: 'name',\n SRC: 'src',\n LAZY: 'lazy',\n EXTERNAL: 'external',\n EXTERNAL_TYPE: 'external-type',\n VIEWBOX: 'viewbox'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst numbers = {\n LAZY_ROOT_MARGIN: 50,\n DEFAULT_WIDTH: 24,\n DEFAULT_HEIGHT: 24\n};\n\nconst strings = {\n DEFAULT_NETWORK_BASE_URL: `${CDN_BASE_URL}v1/icons/svg`\n};\n\nexport const ICON_CONSTANTS = {\n elementName,\n attributes,\n numbers,\n strings\n};\n\nexport const ICON_REGISTRY_KEY = 'forgeIcons';\n\nexport declare type IconUrlBuilder = (name: string, type: IconExternalType) => string;\nexport declare type IconExternalType = '' | 'custom' | 'standard' | 'extended';\n", "import { IIconComponent } from './icon';\nimport { BaseAdapter, IBaseAdapter } from '../core';\nimport { ICON_CONSTANTS } from './icon-constants';\n\nexport interface IIconAdapter extends IBaseAdapter {\n canLazyLoad(): boolean;\n observeVisibility(listener: () => void): void;\n destroyVisibilityObserver(): void;\n setContent(content: string): void;\n}\n\nexport class IconAdapter extends BaseAdapter<IIconComponent> implements IIconAdapter {\n private _observer: IntersectionObserver | undefined;\n\n constructor(component: IIconComponent) {\n super(component);\n }\n\n public canLazyLoad(): boolean {\n return !!window.IntersectionObserver;\n }\n\n public observeVisibility(listener: () => void): void {\n this._observer = new IntersectionObserver(entries => {\n if (entries.some(entry => entry.isIntersecting)) {\n this.destroyVisibilityObserver();\n listener();\n }\n }, { rootMargin: `${ICON_CONSTANTS.numbers.LAZY_ROOT_MARGIN}px` });\n this._observer.observe(this._component);\n }\n\n public destroyVisibilityObserver(): void {\n if (this._observer) {\n this._observer.disconnect();\n this._observer = undefined;\n }\n }\n\n public setContent(content: string): void {\n const shadowRoot = this._component.shadowRoot as ShadowRoot;\n const styleTag = shadowRoot.querySelector('style');\n shadowRoot.innerHTML = content;\n if (content) {\n shadowRoot.firstElementChild?.setAttribute('aria-hidden', 'true');\n }\n if (styleTag) {\n shadowRoot.appendChild(styleTag);\n }\n }\n}\n", "/** The shape of an SVG icon that can be defined with the icon registry. */\nexport interface IIcon {\n /** The unique name of the icon. */\n name: string;\n /** The SVG icon data. */\n data: string;\n}\n\n/**\n * The registry for SVG icon instances being used within the current context.\n */\nexport class IconRegistry {\n private static _icons = new Map<string, string>();\n private static _listeners = new Map<string, Array<() => void>>();\n\n /**\n * Defines a new icon.\n * @param icon The icon(s) to register.\n */\n public static define(icon: IIcon | IIcon[] | string, svgData?: string): void {\n if (Array.isArray(icon)) {\n return icon.filter(i => IconRegistry._isIconObject(i))\n .forEach(i => IconRegistry._register(i.name, i.data));\n }\n const { name, data } = IconRegistry._parseIcon(icon, svgData);\n IconRegistry._register(name, data);\n }\n\n /**\n * Removes a defined icon.\n * @param icon The icon to unregister.\n */\n public static remove(icon: IIcon | string): void {\n const key = IconRegistry._isIconObject(icon) ? icon.name : icon;\n IconRegistry._icons.delete(key);\n }\n\n /**\n * Removes a listener\n * @param key The icon name.\n * @param listener The listener callback.\n */\n public static removeListener(key: string, listener: () => void): void {\n const listeners = IconRegistry._listeners.get(key);\n if (Array.isArray(listeners) && listeners.includes(listener)) {\n listeners.splice(listeners.indexOf(listener), 1);\n }\n }\n\n /** Removes all defined icons. */\n public static clear(): void {\n IconRegistry._icons.clear();\n IconRegistry._listeners.clear();\n }\n\n /** Gets the icon data by its name, or `undefined` if not found. */\n public static get(name: string): string | undefined {\n return IconRegistry._icons.get(name);\n }\n\n /** Gets the names of registered icons. */\n public static getIconNames(): string[] {\n return Array.from(IconRegistry._icons.keys());\n }\n\n /** Registers a listener to be notified when an icon with the provided key is registered in the future. */\n public static awaitIcon(key: string, listener: () => void): void {\n if (IconRegistry._icons.has(key)) {\n listener();\n return;\n }\n const listeners = IconRegistry._listeners.get(key) ?? [];\n IconRegistry._listeners.set(key, [...listeners, listener]);\n }\n\n /** Gets the number of defined icons in the registry. */\n public static get size(): number {\n return IconRegistry._icons.size;\n }\n\n /** Registers an icon, and attempts to invalidate any listeners. */\n private static _register(key: string, value: string): void {\n IconRegistry._icons.set(key, value);\n IconRegistry._invalidateListeners(key);\n }\n\n /** Gets all listeners for a specific key, calls the listeners (if any are found), and removes the listeners after they are called. */\n private static _invalidateListeners(key: string): void {\n const listeners = IconRegistry._listeners.get(key);\n if (Array.isArray(listeners) && listeners.length) {\n listeners.forEach(listener => listener());\n IconRegistry._listeners.delete(key);\n }\n }\n\n /** Normalizes incoming parameters to an `IIcon` type. */\n private static _parseIcon(icon: IIcon | string, data = ''): IIcon {\n if (IconRegistry._isIconObject(icon)) {\n return icon;\n }\n return { name: icon, data };\n }\n\n /** Determines if the provided `icon` matches the `IIcon` shape. */\n private static _isIconObject(icon: any): icon is IIcon {\n return typeof icon === 'object' && icon.hasOwnProperty('name') && icon.hasOwnProperty('data');\n }\n}\n", "import { IconRegistry } from './icon-registry';\nimport { ICON_CONSTANTS } from './icon-constants';\nimport { createSvgFromString } from '../core/utils/svg-utils';\n\nconst _activeIconRequests = new Map<string, Promise<any>>();\n\n/** Determines if the provided SVG icon content is valid */\nexport function sanitizeSvgContent(svgContent: string | undefined, customViewBox?: string, usePartAttrs = true): string {\n if (!svgContent || !svgContent.includes('svg')) {\n return '';\n }\n \n if (!customViewBox && !svgContent.includes('viewBox')) {\n customViewBox = `0 0 ${ICON_CONSTANTS.numbers.DEFAULT_WIDTH} ${ICON_CONSTANTS.numbers.DEFAULT_HEIGHT}`;\n }\n\n const svgElement = createSvgFromString(svgContent, customViewBox);\n\n if (usePartAttrs && svgElement) {\n svgElement.setAttribute('part', 'svg');\n svgElement.querySelectorAll('path').forEach(node => {\n node.setAttribute('part', node.tagName.toLowerCase());\n });\n }\n\n return svgElement ? svgElement.outerHTML : '';\n}\n\nexport function getCachedIcon(key: string): string | undefined {\n return IconRegistry.get(key);\n}\n\nexport function awaitIconDefinition(key: string, listener: () => void): void {\n IconRegistry.awaitIcon(key, listener);\n}\n\nexport function removeIconListener(key: string, listener: () => void): void {\n IconRegistry.removeListener(key, listener);\n}\n\nexport function fetchIconContent(url: string, name: string): Promise<string> {\n // Check if we already have an active request for this URL\n let request = _activeIconRequests.get(url);\n\n if (!request) {\n if (typeof fetch !== 'undefined' && typeof document !== 'undefined') {\n // we don't already have a request\n request = fetch(url).then(async response => {\n if (response.ok) {\n const data = await response.text() || '';\n IconRegistry.define({ name, data });\n _activeIconRequests.delete(url);\n return data;\n }\n IconRegistry.define({ name, data: '' });\n return '';\n });\n\n // Cache this request in case of duplicate requests\n _activeIconRequests.set(url, request);\n } else {\n // set to empty for ssr scenarios and resolve promise\n IconRegistry.define({ name, data: '' });\n return Promise.resolve('');\n }\n }\n\n return request || Promise.resolve('');\n}\n\nexport function sanitizeExternalType(type: string): string {\n const isValidType = ['standard', 'extended', 'custom'].includes(type);\n return isValidType ? type : '';\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IIconAdapter } from './icon-adapter';\nimport { ICON_CONSTANTS, IconUrlBuilder, IconExternalType } from './icon-constants';\nimport { sanitizeSvgContent, fetchIconContent, getCachedIcon, sanitizeExternalType, awaitIconDefinition, removeIconListener } from './icon-utils';\n\nexport interface IIconFoundation extends ICustomElementFoundation {\n name: string | undefined;\n src: string | undefined;\n lazy: boolean;\n external: boolean;\n externalType: IconExternalType;\n externalUrlBuilder: IconUrlBuilder;\n viewbox: string;\n layout(): void;\n}\n\nexport class IconFoundation implements IIconFoundation {\n private _name: string | undefined;\n private _src: string | undefined;\n private _lazy: boolean;\n private _external = false;\n private _externalType: IconExternalType = 'standard';\n private _externalUrlBuilder: IconUrlBuilder;\n private _viewbox: string;\n private _applyTimer: number | undefined;\n private _lazyListener: () => void;\n private _registrationListener: () => void;\n\n constructor(private _adapter: IIconAdapter) {\n this._lazyListener = () => this._loadIcon();\n }\n\n public initialize(): void {\n this._applyIcon();\n }\n\n public disconnect(): void {\n this._adapter.destroyVisibilityObserver();\n this._clearIconQueue();\n this._tryRemoveListener();\n }\n\n private _safeApplyIcon(): void {\n if (!this._adapter.isConnected) {\n return;\n }\n this._clearIconQueue();\n this._queueIconUpdate();\n }\n\n private _tryRemoveListener(): void {\n if (this._registrationListener && this._name) {\n removeIconListener(this._name, this._registrationListener);\n }\n }\n\n private _applyIcon(): void {\n if (this._lazy && this._adapter.canLazyLoad()) {\n this._adapter.observeVisibility(this._lazyListener);\n } else {\n this._loadIcon();\n }\n }\n\n private _clearIconQueue(): void {\n if (this._applyTimer) {\n clearTimeout(this._applyTimer);\n this._applyTimer = undefined;\n }\n }\n\n private _queueIconUpdate(): void {\n this._applyTimer = window.setTimeout(() => {\n this._applyTimer = undefined;\n this._applyIcon();\n });\n }\n\n private async _loadIcon(): Promise<void> {\n try {\n if (this._src) {\n // We were provided direct icon source content so just set that\n this._setIconContent(this._src);\n } else if (this._name) {\n // Let's attempt to get our icon from the cache\n let content = this._tryGetIcon(this._name);\n\n if (!content) {\n if (!this._external) {\n // We attach a listener to the registry to let us know when the icon is registered\n this._registrationListener = () => this._applyIcon();\n awaitIconDefinition(this._name, this._registrationListener);\n\n // For now, we render nothing...\n this._adapter.setContent('');\n return;\n }\n \n // We don't have a registry icon, so let's try the network to fetch it\n if (!this._externalType) {\n throw new Error(`Invalid external type provided for icon: ${this._name}`);\n }\n const url = this._getExternalUrl(this._name, this._externalType);\n if (url) {\n content = await fetchIconContent(url, this._name);\n }\n }\n\n this._setIconContent(content);\n } else {\n this._adapter.setContent('');\n }\n } catch (e) {\n this._adapter.setContent('');\n throw e;\n }\n }\n\n private _setIconContent(svgContent: string | undefined): void {\n const content = sanitizeSvgContent(svgContent, this._viewbox);\n this._adapter.setContent(content);\n }\n\n private _tryGetIcon(key: string): string | undefined {\n return getCachedIcon(key);\n }\n\n private _getExternalUrl(name: string, type: IconExternalType): string {\n if (typeof this._externalUrlBuilder === 'function') {\n return this._externalUrlBuilder(name, type);\n }\n const setName = sanitizeExternalType(this._externalType);\n return `${ICON_CONSTANTS.strings.DEFAULT_NETWORK_BASE_URL}${setName ? `/${setName}` : ''}/${name}.svg`;\n }\n\n public get name(): string | undefined {\n return this._name;\n }\n public set name(value: string | undefined) {\n if (this._name !== value) {\n // We need to remove our listener for the previous name if we have any\n if (!!this._registrationListener) {\n this._tryRemoveListener();\n }\n this._name = (value || '').replace(/\\s+/, '');\n this._safeApplyIcon();\n this._adapter.toggleHostAttribute(ICON_CONSTANTS.attributes.NAME, !!this._name, this._name);\n }\n }\n\n public get src(): string | undefined {\n return this._src;\n }\n public set src(value: string | undefined) {\n if (this._src !== value) {\n this._src = value;\n if (this._adapter.isConnected) {\n this._applyIcon();\n }\n }\n }\n\n public get lazy(): boolean {\n return this._lazy;\n }\n public set lazy(value: boolean) {\n if (this._lazy !== value) {\n this._lazy = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.LAZY, `${this._lazy}`);\n }\n }\n\n public get external(): boolean {\n return this._external;\n }\n public set external(value: boolean) {\n if (this._external !== value) {\n this._external = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL, `${this._external}`);\n }\n }\n\n public get externalType(): IconExternalType {\n return this._externalType;\n }\n public set externalType(value: IconExternalType) {\n if (this._externalType !== value) {\n this._externalType = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL_TYPE, `${this._externalType}`);\n }\n }\n\n public get externalUrlBuilder(): IconUrlBuilder {\n return this._externalUrlBuilder;\n }\n public set externalUrlBuilder(cb: IconUrlBuilder) {\n if (this._externalUrlBuilder !== cb) {\n this._externalUrlBuilder = cb;\n this._safeApplyIcon();\n }\n }\n \n public get viewbox(): string {\n return this._viewbox;\n }\n public set viewbox(value: string) {\n if (this._viewbox !== value) {\n this._viewbox = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.VIEWBOX, `${this.viewbox}`);\n }\n }\n\n public layout(): void {\n if (this._adapter.isConnected) {\n this._applyIcon();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { IconAdapter } from './icon-adapter';\nimport { IconFoundation } from './icon-foundation';\nimport { ICON_CONSTANTS, IconUrlBuilder, IconExternalType } from './icon-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template></template>';\nconst styles = ':host{font-size:24px;font-size:var(--forge-icon-font-size, 24px);display:inline-block;contain:content;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host>svg{fill:currentColor;fill:var(--forge-icon-theme-color,currentColor);stroke:currentColor;stroke:var(--forge-icon-theme-color,currentColor);display:block;width:1em;height:1em;stroke-width:0}:host([hidden]){display:none}:host([theme=primary]){color:var(\\\"primary\\\")}:host([theme=secondary]){color:var(\\\"secondary\\\")}:host([theme=warning]){color:#d14900;color:var(\\\"warning\\\", #d14900)}:host([theme=danger]){color:#b00020;color:var(\\\"danger\\\", #b00020)}:host([theme=success]){color:#2e7d32;color:var(\\\"success\\\", #2e7d32)}:host([theme=info]){color:#424242;color:var(\\\"info\\\", #424242)}:host([theme=tertiary]){color:#3d5afe;color:var(\\\"tertiary\\\", #3d5afe)}';\n\nexport interface IIconComponent extends IBaseComponent {\n name: string | undefined;\n src: string | undefined;\n lazy: boolean;\n external: boolean;\n externalType: IconExternalType;\n externalUrlBuilder: IconUrlBuilder;\n viewbox: string;\n layout(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-icon': IIconComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-icon>` custom element.\n * \n * @tag forge-icon\n */\n@CustomElement({\n name: ICON_CONSTANTS.elementName\n})\nexport class IconComponent extends BaseComponent implements IIconComponent {\n public static get observedAttributes(): string[] {\n return [\n ICON_CONSTANTS.attributes.NAME,\n ICON_CONSTANTS.attributes.SRC,\n ICON_CONSTANTS.attributes.LAZY,\n ICON_CONSTANTS.attributes.EXTERNAL,\n ICON_CONSTANTS.attributes.EXTERNAL_TYPE,\n ICON_CONSTANTS.attributes.VIEWBOX\n ];\n }\n\n private _foundation: IconFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new IconFoundation(new IconAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case ICON_CONSTANTS.attributes.NAME:\n this.name = newValue;\n break;\n case ICON_CONSTANTS.attributes.SRC:\n this.src = newValue;\n break;\n case ICON_CONSTANTS.attributes.LAZY:\n this.lazy = coerceBoolean(newValue);\n break;\n case ICON_CONSTANTS.attributes.EXTERNAL:\n this.external = coerceBoolean(newValue);\n break;\n case ICON_CONSTANTS.attributes.EXTERNAL_TYPE:\n this.externalType = newValue as IconExternalType;\n break;\n case ICON_CONSTANTS.attributes.VIEWBOX:\n this.viewbox = newValue;\n break;\n }\n }\n\n /** The name of the icon within the icon registry to be used. */\n @FoundationProperty()\n public declare name: string | undefined;\n\n /** Provides the ability to set the SVG string content directly. */\n @FoundationProperty()\n public declare src: string | undefined;\n\n /** Controls whether the icon will be loaded dynamically when it comes into view. False by default. */\n @FoundationProperty()\n public declare lazy: boolean;\n\n /** Controls whether external network requests are allowed for this icon. Only pertains for icons that aren't defined in the registry. */\n @FoundationProperty()\n public declare external: boolean;\n\n /** The type of icon to load externally. Possible values: \"standard\", \"extended\", \"custom\". */\n @FoundationProperty()\n public declare externalType: IconExternalType;\n\n /** A callback that can be provided to generate a URL that will be used to fetch an SVG icon. */\n @FoundationProperty()\n public declare externalUrlBuilder: IconUrlBuilder;\n\n /** A custom value to apply to the `viewBox` attribute on the internal `<svg>` element. */\n @FoundationProperty()\n public declare viewbox: string;\n\n /** Forces a reload of the icon. */\n public layout(): void {\n this._foundation.layout();\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "numbers", "strings", "CDN_BASE_URL", "ICON_CONSTANTS", "ICON_REGISTRY_KEY", "IconAdapter", "BaseAdapter", "component", "listener", "entries", "entry", "ICON_CONSTANTS", "content", "_a", "shadowRoot", "styleTag", "_IconRegistry", "icon", "svgData", "i", "name", "data", "key", "listener", "listeners", "_a", "value", "IconRegistry", "_activeIconRequests", "sanitizeSvgContent", "svgContent", "customViewBox", "usePartAttrs", "ICON_CONSTANTS", "svgElement", "createSvgFromString", "node", "getCachedIcon", "key", "IconRegistry", "awaitIconDefinition", "listener", "removeIconListener", "fetchIconContent", "url", "name", "request", "response", "data", "sanitizeExternalType", "type", "IconFoundation", "_adapter", "removeIconListener", "content", "awaitIconDefinition", "url", "fetchIconContent", "svgContent", "sanitizeSvgContent", "key", "getCachedIcon", "name", "type", "setName", "sanitizeExternalType", "ICON_CONSTANTS", "value", "cb", "template", "styles", "IconComponent", "BaseComponent", "attachShadowTemplate", "IconFoundation", "IconAdapter", "ICON_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{d as x,e as D}from"./chunk.4OG3OGVO.js";import{a as y}from"./chunk.OUIWXKO2.js";import{a as E}from"./chunk.ZY3ETQ3D.js";import{a as l}from"./chunk.NVUMRW44.js";import{a as b,b as L}from"./chunk.RRNSZCVJ.js";import{a as v,e as f,f as c,k as _}from"./chunk.TPXXHX5J.js";import{k as p,l as u}from"./chunk.J2M2MXP2.js";import{d as s}from"./chunk.M3QDAYD2.js";var C=`${L}file-picker`,I={ACCEPT:"accept",MAX_SIZE:"max-size",CAPTURE:"capture",MULTIPLE:"multiple",DISABLED:"disabled",COMPACT:"compact",BORDERLESS:"borderless"},T={HIGHLIGHT:"highlight",DISABLED:"disabled",COMPACT:"compact",BORDERLESS:"borderless"},S={CONTAINER:"container",BUTTON:"button",INPUT:"input"},A={CONTAINER:"#container",BUTTON:"#button",INPUT:"#input",BUTTON_SLOT:"#button-slot"},P={FILES_CHANGED:`${C}-change`},i={elementName:C,attributes:I,classes:T,ids:S,selectors:A,events:P};var d=class extends E{constructor(e){super(e);this._container=c(e,i.selectors.CONTAINER),this._buttonSlot=c(e,i.selectors.BUTTON_SLOT),this._input=c(e,i.selectors.INPUT),this._inputEventListener=()=>{this._input.value="",this._input.click()},this._container.addEventListener("click",this._inputEventListener)}registerButtonSlotListener(e){this._buttonSlot.addEventListener("slotchange",e)}registerInputChangeListener(e){this._input.addEventListener("change",e)}registerDragEnterListener(e){this._container.addEventListener("dragenter",e)}registerDragLeaveListener(e){this._container.addEventListener("dragleave",e)}registerDragOverListener(e){this._container.addEventListener("dragover",e)}registerDropListener(e){this._container.addEventListener("drop",e)}removeDragEnterListener(e){this._container.removeEventListener("dragenter",e)}removeDragLeaveListener(e){this._container.removeEventListener("dragleave",e)}removeDragOverListener(e){this._container.removeEventListener("dragover",e)}removeDropListener(e){this._container.removeEventListener("drop",e)}initializeButton(){let e=this._component.querySelector("button");this._button=e||void 0}setHighlightState(e){this._container.classList.contains(i.classes.HIGHLIGHT)!==e&&this._container.classList.toggle(i.classes.HIGHLIGHT)}setAccept(e){e?this._input.setAttribute("accept",e):this._input.removeAttribute("accept")}setCapture(e){e?this._input.setAttribute("capture",e):this._input.removeAttribute("capture")}setMultiple(e){e?this._input.setAttribute("multiple",""):this._input.removeAttribute("multiple")}setDisabled(e){var n,o;e?(this._container.removeEventListener("click",this._inputEventListener),(n=this._button)==null||n.setAttribute("disabled",""),this._container.setAttribute("disabled","")):(this._container.addEventListener("click",this._inputEventListener),(o=this._button)==null||o.removeAttribute("disabled"),this._container.removeAttribute("disabled"))}setCompact(e){this._container.classList.contains(i.classes.COMPACT)!==e&&this._container.classList.toggle(i.classes.COMPACT)}setBorderless(e){this._container.classList.contains(i.classes.BORDERLESS)!==e&&this._container.classList.toggle(i.classes.BORDERLESS)}};var g=class{constructor(t){this._adapter=t;this._isInitialized=!1;this._accept=null;this._maxSize=null;this._capture=null;this._multiple=!1;this._disabled=!1;this._compact=!1;this._borderless=!1;this._buttonSlotListener=e=>this._onButtonSlotChanged(e),this._inputChangeListener=e=>this._onInputChange(e),this._dragEnterListener=e=>this._onDragEnter(e),this._dragLeaveListener=e=>this._onDragLeave(e),this._dragOverListener=e=>this._onDragOver(e),this._dropListener=e=>this._onDrop(e),this._adapter.registerButtonSlotListener(this._buttonSlotListener),this._adapter.registerInputChangeListener(this._inputChangeListener),this._compact||this._registerDragListeners()}initialize(){this._adapter.initializeButton(),this._adapter.setDisabled(this._disabled),this._isInitialized=!0}destroy(){this._isInitialized=!1}_onButtonSlotChanged(t){this._adapter.initializeButton()}_onInputChange(t){let e=t.target.files;e&&this._handleFiles(e)}_onDragEnter(t){this._handleDragEvent(t,!0)}_onDragLeave(t){this._handleDragEvent(t,!1)}_onDragOver(t){this._handleDragEvent(t,!0)}_onDrop(t){if(this._handleDragEvent(t,!1),!this._disabled){let e=t.dataTransfer;if(e){let n=e.files;this._handleFiles(n)}}}_registerDragListeners(){this._adapter.registerDragEnterListener(this._dragEnterListener),this._adapter.registerDragLeaveListener(this._dragLeaveListener),this._adapter.registerDragOverListener(this._dragOverListener),this._adapter.registerDropListener(this._dropListener)}_removeDragListeners(){this._adapter.removeDragEnterListener(this._dragEnterListener),this._adapter.removeDragLeaveListener(this._dragLeaveListener),this._adapter.removeDragOverListener(this._dragOverListener),this._adapter.removeDropListener(this._dropListener)}_handleFiles(t){let e={};if(t){let n=this._sortFiles(t),o=n.legalFiles||null;!this._multiple&&o&&o.length>1&&(o=o.splice(1)),e=n}this._adapter.emitHostEvent(i.events.FILES_CHANGED,e)}_sortFiles(t){let e=[],n=[];if(!this._accept&&!this.maxSize)return e=Array.from(t),{legalFiles:e,illegalFiles:n};let o=this._accept?this._accept.split(",").map(r=>r.trim().toLowerCase()):[""];for(let r=0;r<t.length;r++)!o.some(m=>t[r].type.toLowerCase().match(m)||t[r].name.toLowerCase().match("\\"+m))||this._maxSize&&t[r].size>this._maxSize?n.push(t[r]):e.push(t[r]);return{legalFiles:e,illegalFiles:n}}_handleDragEvent(t,e){this._disabled||(t.preventDefault(),t.stopPropagation(),this._adapter.setHighlightState(e))}get accept(){return this._accept}set accept(t){this._accept!==t&&(this._accept=t,this._adapter.setAccept(t),this._adapter.toggleHostAttribute(i.attributes.ACCEPT,!!t,String(t)))}get maxSize(){return this._maxSize}set maxSize(t){this._maxSize!==t&&(this._maxSize=t,this._adapter.toggleHostAttribute(i.attributes.MAX_SIZE,!!t,String(t)))}get capture(){return this._capture}set capture(t){this._capture!==t&&(this._capture=t,this._adapter.setCapture(t),this._adapter.toggleHostAttribute(i.attributes.CAPTURE,!!t,String(t)))}get multiple(){return this._multiple}set multiple(t){this._multiple!==t&&(this._multiple=t,this._adapter.setMultiple(t),this._adapter.toggleHostAttribute(i.attributes.MULTIPLE,t))}get disabled(){return this._disabled}set disabled(t){this._disabled!==t&&(this._disabled=t,this._isInitialized&&this._adapter.setDisabled(t),this._adapter.toggleHostAttribute(i.attributes.DISABLED,t))}get compact(){return this._compact}set compact(t){this._compact!==t&&(this._compact=t,this._adapter.setCompact(t),t?this._removeDragListeners():this._registerDragListeners(),this._adapter.toggleHostAttribute(i.attributes.COMPACT,t))}get borderless(){return this._borderless}set borderless(t){this._borderless!==t&&(this._borderless=t,this._adapter.setBorderless(t),this._adapter.toggleHostAttribute(i.attributes.BORDERLESS,t))}};var F='<template><form class="forge-file-picker" id="container" part="form"><div class="forge-file-picker__primary" id="primary" part="primary"><slot name="primary"></slot></div><slot id="button-slot"></slot><div class="forge-file-picker__secondary" id="secondary" part="secondary"><slot name="secondary"></slot></div><input type="file" class="forge-file-picker__input" id="input" part="input"></form><div class="forge-file-picker__helper-text" part="helper-text-container"><slot name="helper-text"></slot></div></template>',O=".forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-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));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;min-height:1.5rem;line-height:normal;padding-top:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker[disabled]{background-color:#fff;background-color:var(--mdc-theme-background,#fff);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee);background-color:rgba(98,0,238,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}",a=class extends _{constructor(){super();f(this,F,O),this._foundation=new g(new d(this))}static get observedAttributes(){return[i.attributes.ACCEPT,i.attributes.MAX_SIZE,i.attributes.CAPTURE,i.attributes.MULTIPLE,i.attributes.DISABLED,i.attributes.COMPACT,i.attributes.BORDERLESS]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,n,o){switch(e){case i.attributes.ACCEPT:this.accept=o;break;case i.attributes.MAX_SIZE:this.maxSize=u(o);break;case i.attributes.CAPTURE:this.capture=o;break;case i.attributes.MULTIPLE:this.multiple=p(o);break;case i.attributes.DISABLED:this.disabled=p(o);break;case i.attributes.COMPACT:this.compact=p(o);break;case i.attributes.BORDERLESS:this.borderless=p(o);break}}};s([l()],a.prototype,"accept",2),s([l()],a.prototype,"maxSize",2),s([l()],a.prototype,"capture",2),s([l()],a.prototype,"multiple",2),s([l()],a.prototype,"disabled",2),s([l()],a.prototype,"compact",2),s([l()],a.prototype,"borderless",2),a=s([b({name:i.elementName,dependencies:[x]})],a);var k=class extends y{constructor(t){super(t)}_build(){return document.createElement(i.elementName)}_configure(){var t,e,n,o;if((t=this._config.options)!=null&&t.primaryText){let r=document.createElement("span");r.slot="primary",r.textContent=this._config.options.primaryText,this._element.appendChild(r)}if((e=this._config.options)!=null&&e.secondaryText){let r=document.createElement("span");r.slot="secondary",r.textContent=this._config.options.secondaryText,this._element.appendChild(r)}if((n=this._config.options)!=null&&n.buttonText&&new D({options:{parent:this._element,text:this._config.options.buttonText},props:{variant:"outlined"}}),(o=this._config.options)!=null&&o.helperText){let r=document.createElement("span");r.slot="helper-text",r.textContent=this._config.options.helperText,this._element.appendChild(r)}}onChange(t){this._element.addEventListener(i.events.FILES_CHANGED,e=>t(e.detail))}};function ce(){v(a)}export{i as a,d as b,g as c,a as d,k as e,ce as f};
|
|
7
|
+
//# sourceMappingURL=chunk.4JL5LW5J.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/file-picker/file-picker-constants.ts", "../../src/file-picker/file-picker-adapter.ts", "../../src/file-picker/file-picker-foundation.ts", "../../src/file-picker/file-picker.ts", "../../src/file-picker/file-picker-component-delegate.ts", "../../src/file-picker/index.ts"],
|
|
4
4
|
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}file-picker`;\n\nconst attributes = {\n ACCEPT: 'accept',\n MAX_SIZE: 'max-size',\n CAPTURE: 'capture',\n MULTIPLE: 'multiple',\n DISABLED: 'disabled',\n COMPACT: 'compact',\n BORDERLESS: 'borderless'\n};\n\nconst classes = {\n HIGHLIGHT: 'highlight',\n DISABLED: 'disabled',\n COMPACT: 'compact',\n BORDERLESS: 'borderless'\n};\n\nconst ids = {\n CONTAINER: 'container',\n BUTTON: 'button',\n INPUT: 'input'\n};\n\nconst selectors = {\n CONTAINER: '#container',\n BUTTON: '#button',\n INPUT: '#input',\n BUTTON_SLOT: '#button-slot'\n};\n\nconst events = {\n FILES_CHANGED: `${elementName}-change`\n};\n\nexport const FILE_PICKER_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n selectors,\n events\n};\n\nexport interface IFilePickerChangeEventData {\n legalFiles?: File[];\n illegalFiles?: File[];\n}\n", "import { getShadowElement, emitEvent } from '@tylertech/forge-core';\n\nimport { IFilePickerComponent } from './file-picker';\nimport { FILE_PICKER_CONSTANTS } from './file-picker-constants';\nimport { BaseAdapter, IBaseAdapter } from '../core';\n\nexport interface IFilePickerAdapter extends IBaseAdapter {\n registerButtonSlotListener(listener: (evt: Event) => void): void;\n registerInputChangeListener(listener: (evt: Event) => void): void;\n registerDragEnterListener(listener: (evt: DragEvent) => void): void;\n registerDragLeaveListener(listener: (evt: DragEvent) => void): void;\n registerDragOverListener(listener: (evt: DragEvent) => void): void;\n registerDropListener(listener: (evt: DragEvent) => void): void;\n removeDragEnterListener(listener: (evt: DragEvent) => void): void;\n removeDragLeaveListener(listener: (evt: DragEvent) => void): void;\n removeDragOverListener(listener: (evt: DragEvent) => void): void;\n removeDropListener(listener: (evt: DragEvent) => void): void;\n initializeButton(): void;\n setHighlightState(value: boolean): void;\n setAccept(value: string | null | undefined): void;\n setCapture(value: string | null | undefined): void;\n setMultiple(value: boolean): void;\n setDisabled(value: boolean): void;\n setCompact(value: boolean): void;\n setBorderless(value: boolean): void;\n}\n\nexport class FilePickerAdapter extends BaseAdapter<IFilePickerComponent> implements IFilePickerAdapter {\n private _container: HTMLElement;\n private _buttonSlot: HTMLSlotElement;\n private _button: HTMLButtonElement | undefined;\n private _input: HTMLInputElement;\n private _inputEventListener: () => void;\n\n constructor(component: IFilePickerComponent) {\n super(component);\n\n this._container = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.CONTAINER);\n this._buttonSlot = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.BUTTON_SLOT) as HTMLSlotElement;\n this._input = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.INPUT) as HTMLInputElement;\n\n this._inputEventListener = () => {\n this._input.value = '';\n this._input.click();\n };\n\n this._container.addEventListener('click', this._inputEventListener);\n }\n\n public registerButtonSlotListener(listener: (evt: Event) => void): void {\n this._buttonSlot.addEventListener('slotchange', listener);\n }\n\n public registerInputChangeListener(listener: (evt: Event) => void): void {\n this._input.addEventListener('change', listener);\n }\n\n public registerDragEnterListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragenter', listener);\n }\n\n public registerDragLeaveListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragleave', listener);\n }\n\n public registerDragOverListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragover', listener);\n }\n\n public registerDropListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('drop', listener);\n }\n\n public removeDragEnterListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragenter', listener);\n }\n\n public removeDragLeaveListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragleave', listener);\n }\n\n public removeDragOverListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragover', listener);\n }\n\n public removeDropListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('drop', listener);\n }\n\n public initializeButton(): void {\n const button = this._component.querySelector('button') as HTMLButtonElement;\n this._button = button || undefined;\n }\n\n /**\n * Sets the highlight state of the file picker.\n * @param value True if the highlight should be applied and false if not.\n */\n public setHighlightState(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT);\n }\n }\n\n /**\n * Sets the accept attribute of the input.\n * @param value The accept string.\n */\n public setAccept(value: string | null | undefined): void {\n if (value) {\n this._input.setAttribute('accept', value);\n } else {\n this._input.removeAttribute('accept');\n }\n }\n\n /**\n * Sets the capture attribute of the input.\n * @param value The capture string.\n */\n public setCapture(value: string | null | undefined): void {\n if (value) {\n this._input.setAttribute('capture', value);\n } else {\n this._input.removeAttribute('capture');\n }\n }\n\n /**\n * Sets the multiple attribute of the input.\n * @param value The multiple state.\n */\n public setMultiple(value: boolean): void {\n if (value) {\n this._input.setAttribute('multiple', '');\n } else {\n this._input.removeAttribute('multiple');\n }\n }\n\n /**\n * Sets the disabled state of the file picker.\n * @param value The disabled state.\n */\n public setDisabled(value: boolean): void {\n if (value) {\n this._container.removeEventListener('click', this._inputEventListener);\n this._button?.setAttribute('disabled', '');\n this._container.setAttribute('disabled', '');\n } else {\n this._container.addEventListener('click', this._inputEventListener);\n this._button?.removeAttribute('disabled');\n this._container.removeAttribute('disabled');\n }\n }\n\n /**\n * Sets the compact state of the file picker.\n * @param value The compact state.\n */\n public setCompact(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.COMPACT) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.COMPACT);\n }\n }\n\n /**\n * Sets the borderless state of the file picker.\n * @param value The borderless state.\n */\n public setBorderless(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.BORDERLESS) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.BORDERLESS);\n }\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IFilePickerAdapter } from './file-picker-adapter';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\n\nexport interface IFilePickerFoundation extends ICustomElementFoundation {\n accept: string | null | undefined;\n maxSize: number | null | undefined;\n capture: string | null | undefined;\n multiple: boolean;\n disabled: boolean;\n compact: boolean;\n borderless: boolean;\n}\n\nexport class FilePickerFoundation implements IFilePickerFoundation {\n private _isInitialized = false;\n private _accept: string | null | undefined = null;\n private _maxSize: number | null | undefined = null;\n private _capture: string | null | undefined = null;\n private _multiple = false;\n private _disabled = false;\n private _compact = false;\n private _borderless = false;\n private _buttonSlotListener: (evt: Event) => void;\n private _inputChangeListener: (evt: Event) => void;\n private _dragEnterListener: (evt: DragEvent) => void;\n private _dragLeaveListener: (evt: DragEvent) => void;\n private _dragOverListener: (evt: DragEvent) => void;\n private _dropListener: (evt: DragEvent) => void;\n\n constructor(private _adapter: IFilePickerAdapter) {\n this._buttonSlotListener = evt => this._onButtonSlotChanged(evt);\n this._inputChangeListener = evt => this._onInputChange(evt);\n this._dragEnterListener = evt => this._onDragEnter(evt);\n this._dragLeaveListener = evt => this._onDragLeave(evt);\n this._dragOverListener = evt => this._onDragOver(evt);\n this._dropListener = evt => this._onDrop(evt);\n\n this._adapter.registerButtonSlotListener(this._buttonSlotListener);\n this._adapter.registerInputChangeListener(this._inputChangeListener);\n if (!this._compact) {\n this._registerDragListeners();\n }\n }\n\n public initialize(): void {\n this._adapter.initializeButton();\n this._adapter.setDisabled(this._disabled);\n this._isInitialized = true;\n }\n\n public destroy(): void {\n this._isInitialized = false;\n }\n\n private _onButtonSlotChanged(evt: Event): void {\n this._adapter.initializeButton();\n }\n\n private _onInputChange(evt: Event): void {\n const files = (evt.target as HTMLInputElement).files;\n if (files) {\n this._handleFiles(files);\n }\n }\n\n private _onDragEnter(evt: DragEvent): void {\n this._handleDragEvent(evt, true);\n }\n\n private _onDragLeave(evt: DragEvent): void {\n this._handleDragEvent(evt, false);\n }\n\n private _onDragOver(evt: DragEvent): void {\n this._handleDragEvent(evt, true);\n }\n\n private _onDrop(evt: DragEvent): void {\n this._handleDragEvent(evt, false);\n\n if (!this._disabled) {\n const dataTransfer = evt.dataTransfer;\n if (dataTransfer) {\n const files = dataTransfer.files;\n this._handleFiles(files);\n }\n }\n }\n\n private _registerDragListeners(): void {\n this._adapter.registerDragEnterListener(this._dragEnterListener);\n this._adapter.registerDragLeaveListener(this._dragLeaveListener);\n this._adapter.registerDragOverListener(this._dragOverListener);\n this._adapter.registerDropListener(this._dropListener);\n }\n\n private _removeDragListeners(): void {\n this._adapter.removeDragEnterListener(this._dragEnterListener);\n this._adapter.removeDragLeaveListener(this._dragLeaveListener);\n this._adapter.removeDragOverListener(this._dragOverListener);\n this._adapter.removeDropListener(this._dropListener);\n }\n\n private _handleFiles(fileList: FileList): void {\n let data: IFilePickerChangeEventData = {};\n if (fileList) {\n const sortedFiles = this._sortFiles(fileList);\n let files = sortedFiles.legalFiles || null;\n\n // Ensure that we can only drop 1 file if not in multiple mode\n if (!this._multiple && files && files.length > 1) {\n files = files.splice(1);\n }\n\n data = sortedFiles;\n }\n this._adapter.emitHostEvent(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, data);\n }\n\n private _sortFiles(files: FileList): IFilePickerChangeEventData {\n let legalFiles: File[] = [];\n const illegalFiles: File[] = [];\n\n if (!this._accept && !this.maxSize) {\n legalFiles = Array.from(files);\n return { legalFiles, illegalFiles };\n }\n\n const formats = this._accept ? this._accept.split(',').map(f => f.trim().toLowerCase()) : [''];\n\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < files.length; i++) {\n if (!formats.some(f => {\n return files[i].type.toLowerCase().match(f) || files[i].name.toLowerCase().match('\\\\' + f);\n }) || (this._maxSize && files[i].size > this._maxSize)) {\n illegalFiles.push(files[i]);\n } else {\n legalFiles.push(files[i]);\n }\n }\n\n return { legalFiles, illegalFiles };\n }\n\n private _handleDragEvent(evt: DragEvent, isOverTarget: boolean): void {\n if (!this._disabled) {\n evt.preventDefault();\n evt.stopPropagation();\n this._adapter.setHighlightState(isOverTarget);\n }\n }\n\n /** Get and set the allowed file types */\n public get accept(): string | null | undefined {\n return this._accept;\n }\n public set accept(value: string | null | undefined) {\n if (this._accept !== value) {\n this._accept = value;\n this._adapter.setAccept(value);\n this._adapter.toggleHostAttribute(FILE_PICKER_CONSTANTS.attributes.ACCEPT, !!value, String(value));\n }\n }\n\n /** Get and set the maximum allowed file size */\n public get maxSize(): number | null | undefined {\n return this._maxSize;\n }\n public set maxSize(value: number | null | undefined) {\n if (this._maxSize !== value) {\n this._maxSize = value;\n this._adapter.toggleHostAttribute(FILE_PICKER_CONSTANTS.attributes.MAX_SIZE, !!value, String(value));\n }\n }\n\n /** Get and set the camera to use when capturing video or images */\n public get capture(): string | null | undefined {\n return this._capture;\n }\n public set capture(value: string | null | undefined) {\n if (this._capture !== value) {\n this._capture = value;\n this._adapter.setCapture(value);\n this._adapter.toggleHostAttribute(FILE_PICKER_CONSTANTS.attributes.CAPTURE, !!value, String(value));\n }\n }\n\n /** Get and set whether multiple files are allowed */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._adapter.setMultiple(value);\n this._adapter.toggleHostAttribute(FILE_PICKER_CONSTANTS.attributes.MULTIPLE, value);\n }\n }\n\n /** Get and set whether the file picker is disabled */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n if (this._isInitialized) {\n this._adapter.setDisabled(value);\n }\n this._adapter.toggleHostAttribute(FILE_PICKER_CONSTANTS.attributes.DISABLED, value);\n }\n }\n\n /** Get and set whether the file picker is compact */\n public get compact(): boolean {\n return this._compact;\n }\n public set compact(value: boolean) {\n if (this._compact !== value) {\n this._compact = value;\n this._adapter.setCompact(value);\n if (value) {\n this._removeDragListeners();\n } else {\n this._registerDragListeners();\n }\n this._adapter.toggleHostAttribute(FILE_PICKER_CONSTANTS.attributes.COMPACT, value);\n }\n }\n\n /** Get and set whether the file picker is borderless */\n public get borderless(): boolean {\n return this._borderless;\n }\n public set borderless(value: boolean) {\n if (this._borderless !== value) {\n this._borderless = value;\n this._adapter.setBorderless(value);\n this._adapter.toggleHostAttribute(FILE_PICKER_CONSTANTS.attributes.BORDERLESS, value);\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { ButtonComponent } from '../button';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { FilePickerAdapter } from './file-picker-adapter';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\nimport { FilePickerFoundation } from './file-picker-foundation';\n\nconst template = '<template><form class=\\\"forge-file-picker\\\" id=\\\"container\\\" part=\\\"form\\\"><div class=\\\"forge-file-picker__primary\\\" id=\\\"primary\\\" part=\\\"primary\\\"><slot name=\\\"primary\\\"></slot></div><slot id=\\\"button-slot\\\"></slot><div class=\\\"forge-file-picker__secondary\\\" id=\\\"secondary\\\" part=\\\"secondary\\\"><slot name=\\\"secondary\\\"></slot></div><input type=\\\"file\\\" class=\\\"forge-file-picker__input\\\" id=\\\"input\\\" part=\\\"input\\\"></form><div class=\\\"forge-file-picker__helper-text\\\" part=\\\"helper-text-container\\\"><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-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));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;min-height:1.5rem;line-height:normal;padding-top:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker[disabled]{background-color:#fff;background-color:var(--mdc-theme-background,#fff);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee);background-color:rgba(98,0,238,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}';\n\nexport interface IFilePickerComponent extends IBaseComponent {\n accept: string | null | undefined;\n maxSize: number | null | undefined;\n capture: string | null | undefined;\n multiple: boolean;\n disabled: boolean;\n compact: boolean;\n borderless: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-file-picker': IFilePickerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-file-picker-change': CustomEvent<IFilePickerChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-file-picker>` custom element.\n * \n * @tag forge-file-picker\n */\n@CustomElement({\n name: FILE_PICKER_CONSTANTS.elementName,\n dependencies: [ButtonComponent]\n})\nexport class FilePickerComponent extends BaseComponent implements IFilePickerComponent {\n public static get observedAttributes(): string[] {\n return [\n FILE_PICKER_CONSTANTS.attributes.ACCEPT,\n FILE_PICKER_CONSTANTS.attributes.MAX_SIZE,\n FILE_PICKER_CONSTANTS.attributes.CAPTURE,\n FILE_PICKER_CONSTANTS.attributes.MULTIPLE,\n FILE_PICKER_CONSTANTS.attributes.DISABLED,\n FILE_PICKER_CONSTANTS.attributes.COMPACT,\n FILE_PICKER_CONSTANTS.attributes.BORDERLESS\n ];\n }\n\n private _foundation: FilePickerFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new FilePickerFoundation(new FilePickerAdapter(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 FILE_PICKER_CONSTANTS.attributes.ACCEPT:\n this.accept = newValue;\n break;\n case FILE_PICKER_CONSTANTS.attributes.MAX_SIZE:\n this.maxSize = coerceNumber(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.CAPTURE:\n this.capture = newValue;\n break;\n case FILE_PICKER_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.COMPACT:\n this.compact = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.BORDERLESS:\n this.borderless = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets and sets the allowed file types */\n @FoundationProperty()\n public declare accept: string | null | undefined;\n\n /** Gets and sets the maximum allowed file size */\n @FoundationProperty()\n public declare maxSize: number | null | undefined;\n\n /** Gets and sets the camera to use when capturing video or images */\n @FoundationProperty()\n public declare capture: string | null | undefined;\n\n /** Gets and sets whether multiple files are allowed */\n @FoundationProperty()\n public declare multiple: boolean;\n\n /** Gets and sets whether the file picker is disabled */\n @FoundationProperty()\n public declare disabled: boolean;\n\n /** Gets and sets whether the file picker is compact */\n @FoundationProperty()\n public declare compact: boolean;\n\n /** Gets and sets whether the file picker is borderless */\n @FoundationProperty()\n public declare borderless: boolean;\n}\n", "import { ButtonComponentDelegate } from '../button/button-component-delegate';\nimport { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { IFilePickerComponent } from './file-picker';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\n\nexport type FilePickerComponentDelegateProps = Partial<IFilePickerComponent>;\nexport interface IFilePickerComponentDelegateOptions extends IBaseComponentDelegateOptions {\n primaryText?: string;\n secondaryText?: string;\n helperText?: string;\n buttonText?: string;\n}\nexport interface IFilePickerComponentDelegateConfig extends IBaseComponentDelegateConfig<IFilePickerComponent, IFilePickerComponentDelegateOptions> {}\n\nexport class FilePickerComponentDelegate extends BaseComponentDelegate<IFilePickerComponent, IFilePickerComponentDelegateOptions> {\n constructor(config?: IFilePickerComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IFilePickerComponent {\n return document.createElement(FILE_PICKER_CONSTANTS.elementName);\n }\n\n protected _configure(): void {\n if (this._config.options?.primaryText) {\n const primarySpan = document.createElement('span');\n primarySpan.slot = 'primary';\n primarySpan.textContent = this._config.options.primaryText;\n this._element.appendChild(primarySpan);\n }\n\n if (this._config.options?.secondaryText) {\n const secondarySpan = document.createElement('span');\n secondarySpan.slot = 'secondary';\n secondarySpan.textContent = this._config.options.secondaryText;\n this._element.appendChild(secondarySpan);\n }\n\n if (this._config.options?.buttonText) {\n new ButtonComponentDelegate({\n options: {\n parent: this._element,\n text: this._config.options.buttonText\n },\n props: { variant: 'outlined' }\n });\n }\n\n if (this._config.options?.helperText) {\n const helperTextSpan = document.createElement('span');\n helperTextSpan.slot = 'helper-text';\n helperTextSpan.textContent = this._config.options.helperText;\n this._element.appendChild(helperTextSpan);\n }\n }\n\n public onChange(cb: (evt: IFilePickerChangeEventData) => void): void {\n this._element.addEventListener(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, (evt: CustomEvent<IFilePickerChangeEventData>) => cb(evt.detail));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { FilePickerComponent } from './file-picker';\n\nexport * from './file-picker-adapter';\nexport * from './file-picker-constants';\nexport * from './file-picker-foundation';\nexport * from './file-picker';\nexport * from './file-picker-component-delegate';\n\nexport function defineFilePickerComponent(): void {\n defineCustomElement(FilePickerComponent);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "0WAEA,IAAMA,EAA2C,GAAGC,eAE9CC,EAAa,CACjB,OAAQ,SACR,SAAU,WACV,QAAS,UACT,SAAU,WACV,SAAU,WACV,QAAS,UACT,WAAY,YACd,EAEMC,EAAU,CACd,UAAW,YACX,SAAU,WACV,QAAS,UACT,WAAY,YACd,EAEMC,EAAM,CACV,UAAW,YACX,OAAQ,SACR,MAAO,OACT,EAEMC,EAAY,CAChB,UAAW,aACX,OAAQ,UACR,MAAO,SACP,YAAa,cACf,EAEMC,EAAS,CACb,cAAe,GAAGN,UACpB,EAEaO,EAAwB,CACnC,YAAAP,EACA,WAAAE,EACA,QAAAC,EACA,IAAAC,EACA,UAAAC,EACA,OAAAC,CACF,EClBO,IAAME,EAAN,cAAgCC,CAAgE,CAOrG,YAAYC,EAAiC,CAC3C,MAAMA,CAAS,EAEf,KAAK,WAAaC,EAAiBD,EAAWE,EAAsB,UAAU,SAAS,EACvF,KAAK,YAAcD,EAAiBD,EAAWE,EAAsB,UAAU,WAAW,EAC1F,KAAK,OAASD,EAAiBD,EAAWE,EAAsB,UAAU,KAAK,EAE/E,KAAK,oBAAsB,IAAM,CAC/B,KAAK,OAAO,MAAQ,GACpB,KAAK,OAAO,MAAM,CACpB,EAEA,KAAK,WAAW,iBAAiB,QAAS,KAAK,mBAAmB,CACpE,CAEO,2BAA2BC,EAAsC,CACtE,KAAK,YAAY,iBAAiB,aAAcA,CAAQ,CAC1D,CAEO,4BAA4BA,EAAsC,CACvE,KAAK,OAAO,iBAAiB,SAAUA,CAAQ,CACjD,CAEO,0BAA0BA,EAA0C,CACzE,KAAK,WAAW,iBAAiB,YAAaA,CAAQ,CACxD,CAEO,0BAA0BA,EAA0C,CACzE,KAAK,WAAW,iBAAiB,YAAaA,CAAQ,CACxD,CAEO,yBAAyBA,EAA0C,CACxE,KAAK,WAAW,iBAAiB,WAAYA,CAAQ,CACvD,CAEO,qBAAqBA,EAA0C,CACpE,KAAK,WAAW,iBAAiB,OAAQA,CAAQ,CACnD,CAEO,wBAAwBA,EAA0C,CACvE,KAAK,WAAW,oBAAoB,YAAaA,CAAQ,CAC3D,CAEO,wBAAwBA,EAA0C,CACvE,KAAK,WAAW,oBAAoB,YAAaA,CAAQ,CAC3D,CAEO,uBAAuBA,EAA0C,CACtE,KAAK,WAAW,oBAAoB,WAAYA,CAAQ,CAC1D,CAEO,mBAAmBA,EAA0C,CAClE,KAAK,WAAW,oBAAoB,OAAQA,CAAQ,CACtD,CAEO,kBAAyB,CAC9B,IAAMC,EAAS,KAAK,WAAW,cAAc,QAAQ,EACrD,KAAK,QAAUA,GAAU,MAC3B,CAMO,kBAAkBC,EAAsB,CACzC,KAAK,WAAW,UAAU,SAASH,EAAsB,QAAQ,SAAS,IAAMG,GAClF,KAAK,WAAW,UAAU,OAAOH,EAAsB,QAAQ,SAAS,CAE5E,CAMO,UAAUG,EAAwC,CACnDA,EACF,KAAK,OAAO,aAAa,SAAUA,CAAK,EAExC,KAAK,OAAO,gBAAgB,QAAQ,CAExC,CAMO,WAAWA,EAAwC,CACpDA,EACF,KAAK,OAAO,aAAa,UAAWA,CAAK,EAEzC,KAAK,OAAO,gBAAgB,SAAS,CAEzC,CAMO,YAAYA,EAAsB,CACnCA,EACF,KAAK,OAAO,aAAa,WAAY,EAAE,EAEvC,KAAK,OAAO,gBAAgB,UAAU,CAE1C,CAMO,YAAYA,EAAsB,CAhJ3C,IAAAC,EAAAC,EAiJQF,GACF,KAAK,WAAW,oBAAoB,QAAS,KAAK,mBAAmB,GACrEC,EAAA,KAAK,UAAL,MAAAA,EAAc,aAAa,WAAY,IACvC,KAAK,WAAW,aAAa,WAAY,EAAE,IAE3C,KAAK,WAAW,iBAAiB,QAAS,KAAK,mBAAmB,GAClEC,EAAA,KAAK,UAAL,MAAAA,EAAc,gBAAgB,YAC9B,KAAK,WAAW,gBAAgB,UAAU,EAE9C,CAMO,WAAWF,EAAsB,CAClC,KAAK,WAAW,UAAU,SAASH,EAAsB,QAAQ,OAAO,IAAMG,GAChF,KAAK,WAAW,UAAU,OAAOH,EAAsB,QAAQ,OAAO,CAE1E,CAMO,cAAcG,EAAsB,CACrC,KAAK,WAAW,UAAU,SAASH,EAAsB,QAAQ,UAAU,IAAMG,GACnF,KAAK,WAAW,UAAU,OAAOH,EAAsB,QAAQ,UAAU,CAE7E,CACF,EChKO,IAAMM,EAAN,KAA4D,CAgBjE,YAAoBC,EAA8B,CAA9B,cAAAA,EAfpB,KAAQ,eAAiB,GACzB,KAAQ,QAAqC,KAC7C,KAAQ,SAAsC,KAC9C,KAAQ,SAAsC,KAC9C,KAAQ,UAAY,GACpB,KAAQ,UAAY,GACpB,KAAQ,SAAW,GACnB,KAAQ,YAAc,GASpB,KAAK,oBAAsBC,GAAO,KAAK,qBAAqBA,CAAG,EAC/D,KAAK,qBAAuBA,GAAO,KAAK,eAAeA,CAAG,EAC1D,KAAK,mBAAqBA,GAAO,KAAK,aAAaA,CAAG,EACtD,KAAK,mBAAqBA,GAAO,KAAK,aAAaA,CAAG,EACtD,KAAK,kBAAoBA,GAAO,KAAK,YAAYA,CAAG,EACpD,KAAK,cAAgBA,GAAO,KAAK,QAAQA,CAAG,EAE5C,KAAK,SAAS,2BAA2B,KAAK,mBAAmB,EACjE,KAAK,SAAS,4BAA4B,KAAK,oBAAoB,EAC9D,KAAK,UACR,KAAK,uBAAuB,CAEhC,CAEO,YAAmB,CACxB,KAAK,SAAS,iBAAiB,EAC/B,KAAK,SAAS,YAAY,KAAK,SAAS,EACxC,KAAK,eAAiB,EACxB,CAEO,SAAgB,CACrB,KAAK,eAAiB,EACxB,CAEQ,qBAAqBA,EAAkB,CAC7C,KAAK,SAAS,iBAAiB,CACjC,CAEQ,eAAeA,EAAkB,CACvC,IAAMC,EAASD,EAAI,OAA4B,MAC3CC,GACF,KAAK,aAAaA,CAAK,CAE3B,CAEQ,aAAaD,EAAsB,CACzC,KAAK,iBAAiBA,EAAK,EAAI,CACjC,CAEQ,aAAaA,EAAsB,CACzC,KAAK,iBAAiBA,EAAK,EAAK,CAClC,CAEQ,YAAYA,EAAsB,CACxC,KAAK,iBAAiBA,EAAK,EAAI,CACjC,CAEQ,QAAQA,EAAsB,CAGpC,GAFA,KAAK,iBAAiBA,EAAK,EAAK,EAE5B,CAAC,KAAK,UAAW,CACnB,IAAME,EAAeF,EAAI,aACzB,GAAIE,EAAc,CAChB,IAAMD,EAAQC,EAAa,MAC3B,KAAK,aAAaD,CAAK,GAG7B,CAEQ,wBAA+B,CACrC,KAAK,SAAS,0BAA0B,KAAK,kBAAkB,EAC/D,KAAK,SAAS,0BAA0B,KAAK,kBAAkB,EAC/D,KAAK,SAAS,yBAAyB,KAAK,iBAAiB,EAC7D,KAAK,SAAS,qBAAqB,KAAK,aAAa,CACvD,CAEQ,sBAA6B,CACnC,KAAK,SAAS,wBAAwB,KAAK,kBAAkB,EAC7D,KAAK,SAAS,wBAAwB,KAAK,kBAAkB,EAC7D,KAAK,SAAS,uBAAuB,KAAK,iBAAiB,EAC3D,KAAK,SAAS,mBAAmB,KAAK,aAAa,CACrD,CAEQ,aAAaE,EAA0B,CAC7C,IAAIC,EAAmC,CAAC,EACxC,GAAID,EAAU,CACZ,IAAME,EAAc,KAAK,WAAWF,CAAQ,EACxCF,EAAQI,EAAY,YAAc,KAGlC,CAAC,KAAK,WAAaJ,GAASA,EAAM,OAAS,IAC7CA,EAAQA,EAAM,OAAO,CAAC,GAGxBG,EAAOC,EAET,KAAK,SAAS,cAAcC,EAAsB,OAAO,cAAeF,CAAI,CAC9E,CAEQ,WAAWH,EAA6C,CAC9D,IAAIM,EAAqB,CAAC,EACpBC,EAAuB,CAAC,EAE9B,GAAI,CAAC,KAAK,SAAW,CAAC,KAAK,QACzB,OAAAD,EAAa,MAAM,KAAKN,CAAK,EACtB,CAAE,WAAAM,EAAY,aAAAC,CAAa,EAGpC,IAAMC,EAAU,KAAK,QAAU,KAAK,QAAQ,MAAM,GAAG,EAAE,IAAIC,GAAKA,EAAE,KAAK,EAAE,YAAY,CAAC,EAAI,CAAC,EAAE,EAG7F,QAASC,EAAI,EAAGA,EAAIV,EAAM,OAAQU,IAC5B,CAACF,EAAQ,KAAKC,GACTT,EAAMU,CAAC,EAAE,KAAK,YAAY,EAAE,MAAMD,CAAC,GAAKT,EAAMU,CAAC,EAAE,KAAK,YAAY,EAAE,MAAM,KAAOD,CAAC,CAC1F,GAAM,KAAK,UAAYT,EAAMU,CAAC,EAAE,KAAO,KAAK,SAC3CH,EAAa,KAAKP,EAAMU,CAAC,CAAC,EAE1BJ,EAAW,KAAKN,EAAMU,CAAC,CAAC,EAI5B,MAAO,CAAE,WAAAJ,EAAY,aAAAC,CAAa,CACpC,CAEQ,iBAAiBR,EAAgBY,EAA6B,CAC/D,KAAK,YACRZ,EAAI,eAAe,EACnBA,EAAI,gBAAgB,EACpB,KAAK,SAAS,kBAAkBY,CAAY,EAEhD,CAGA,IAAW,QAAoC,CAC7C,OAAO,KAAK,OACd,CACA,IAAW,OAAOC,EAAkC,CAC9C,KAAK,UAAYA,IACnB,KAAK,QAAUA,EACf,KAAK,SAAS,UAAUA,CAAK,EAC7B,KAAK,SAAS,oBAAoBP,EAAsB,WAAW,OAAQ,CAAC,CAACO,EAAO,OAAOA,CAAK,CAAC,EAErG,CAGA,IAAW,SAAqC,CAC9C,OAAO,KAAK,QACd,CACA,IAAW,QAAQA,EAAkC,CAC/C,KAAK,WAAaA,IACpB,KAAK,SAAWA,EAChB,KAAK,SAAS,oBAAoBP,EAAsB,WAAW,SAAU,CAAC,CAACO,EAAO,OAAOA,CAAK,CAAC,EAEvG,CAGA,IAAW,SAAqC,CAC9C,OAAO,KAAK,QACd,CACA,IAAW,QAAQA,EAAkC,CAC/C,KAAK,WAAaA,IACpB,KAAK,SAAWA,EAChB,KAAK,SAAS,WAAWA,CAAK,EAC9B,KAAK,SAAS,oBAAoBP,EAAsB,WAAW,QAAS,CAAC,CAACO,EAAO,OAAOA,CAAK,CAAC,EAEtG,CAGA,IAAW,UAAoB,CAC7B,OAAO,KAAK,SACd,CACA,IAAW,SAASA,EAAgB,CAC9B,KAAK,YAAcA,IACrB,KAAK,UAAYA,EACjB,KAAK,SAAS,YAAYA,CAAK,EAC/B,KAAK,SAAS,oBAAoBP,EAAsB,WAAW,SAAUO,CAAK,EAEtF,CAGA,IAAW,UAAoB,CAC7B,OAAO,KAAK,SACd,CACA,IAAW,SAASA,EAAgB,CAC9B,KAAK,YAAcA,IACrB,KAAK,UAAYA,EACb,KAAK,gBACP,KAAK,SAAS,YAAYA,CAAK,EAEjC,KAAK,SAAS,oBAAoBP,EAAsB,WAAW,SAAUO,CAAK,EAEtF,CAGA,IAAW,SAAmB,CAC5B,OAAO,KAAK,QACd,CACA,IAAW,QAAQA,EAAgB,CAC7B,KAAK,WAAaA,IACpB,KAAK,SAAWA,EAChB,KAAK,SAAS,WAAWA,CAAK,EAC1BA,EACF,KAAK,qBAAqB,EAE1B,KAAK,uBAAuB,EAE9B,KAAK,SAAS,oBAAoBP,EAAsB,WAAW,QAASO,CAAK,EAErF,CAGA,IAAW,YAAsB,CAC/B,OAAO,KAAK,WACd,CACA,IAAW,WAAWA,EAAgB,CAChC,KAAK,cAAgBA,IACvB,KAAK,YAAcA,EACnB,KAAK,SAAS,cAAcA,CAAK,EACjC,KAAK,SAAS,oBAAoBP,EAAsB,WAAW,WAAYO,CAAK,EAExF,CACF,EC5OA,IAAMC,EAAW,ugBACXC,EAAS,+0KA+BFC,EAAN,cAAkCC,CAA8C,CAerF,aAAc,CACZ,MAAM,EACNC,EAAqB,KAAMJ,EAAUC,CAAM,EAC3C,KAAK,YAAc,IAAII,EAAqB,IAAIC,EAAkB,IAAI,CAAC,CACzE,CAlBA,WAAkB,oBAA+B,CAC/C,MAAO,CACLC,EAAsB,WAAW,OACjCA,EAAsB,WAAW,SACjCA,EAAsB,WAAW,QACjCA,EAAsB,WAAW,SACjCA,EAAsB,WAAW,SACjCA,EAAsB,WAAW,QACjCA,EAAsB,WAAW,UACnC,CACF,CAUO,mBAA0B,CAC/B,KAAK,YAAY,WAAW,CAC9B,CAEO,sBAA6B,CAClC,KAAK,YAAY,QAAQ,CAC3B,CAEO,yBAAyBC,EAAcC,EAAkBC,EAAwB,CACtF,OAAQF,EAAM,CACZ,KAAKD,EAAsB,WAAW,OACpC,KAAK,OAASG,EACd,MACF,KAAKH,EAAsB,WAAW,SACpC,KAAK,QAAUI,EAAaD,CAAQ,EACpC,MACF,KAAKH,EAAsB,WAAW,QACpC,KAAK,QAAUG,EACf,MACF,KAAKH,EAAsB,WAAW,SACpC,KAAK,SAAWK,EAAcF,CAAQ,EACtC,MACF,KAAKH,EAAsB,WAAW,SACpC,KAAK,SAAWK,EAAcF,CAAQ,EACtC,MACF,KAAKH,EAAsB,WAAW,QACpC,KAAK,QAAUK,EAAcF,CAAQ,EACrC,MACF,KAAKH,EAAsB,WAAW,WACpC,KAAK,WAAaK,EAAcF,CAAQ,EACxC,KACJ,CACF,CA6BF,EAzBiBG,EAAA,CADdC,EAAmB,GAxDTZ,EAyDI,sBAIAW,EAAA,CADdC,EAAmB,GA5DTZ,EA6DI,uBAIAW,EAAA,CADdC,EAAmB,GAhETZ,EAiEI,uBAIAW,EAAA,CADdC,EAAmB,GApETZ,EAqEI,wBAIAW,EAAA,CADdC,EAAmB,GAxETZ,EAyEI,wBAIAW,EAAA,CADdC,EAAmB,GA5ETZ,EA6EI,uBAIAW,EAAA,CADdC,EAAmB,GAhFTZ,EAiFI,0BAjFJA,EAANW,EAAA,CAJNE,EAAc,CACb,KAAMR,EAAsB,YAC5B,aAAc,CAACS,CAAe,CAChC,CAAC,GACYd,GCzBN,IAAMe,EAAN,cAA0CC,CAAiF,CAChI,YAAYC,EAA6C,CACvD,MAAMA,CAAM,CACd,CAEU,QAA+B,CACvC,OAAO,SAAS,cAAcC,EAAsB,WAAW,CACjE,CAEU,YAAmB,CAvB/B,IAAAC,EAAAC,EAAAC,EAAAC,EAwBI,IAAIH,EAAA,KAAK,QAAQ,UAAb,MAAAA,EAAsB,YAAa,CACrC,IAAMI,EAAc,SAAS,cAAc,MAAM,EACjDA,EAAY,KAAO,UACnBA,EAAY,YAAc,KAAK,QAAQ,QAAQ,YAC/C,KAAK,SAAS,YAAYA,CAAW,EAGvC,IAAIH,EAAA,KAAK,QAAQ,UAAb,MAAAA,EAAsB,cAAe,CACvC,IAAMI,EAAgB,SAAS,cAAc,MAAM,EACnDA,EAAc,KAAO,YACrBA,EAAc,YAAc,KAAK,QAAQ,QAAQ,cACjD,KAAK,SAAS,YAAYA,CAAa,EAazC,IAVIH,EAAA,KAAK,QAAQ,UAAb,MAAAA,EAAsB,YACxB,IAAII,EAAwB,CAC1B,QAAS,CACP,OAAQ,KAAK,SACb,KAAM,KAAK,QAAQ,QAAQ,UAC7B,EACA,MAAO,CAAE,QAAS,UAAW,CAC/B,CAAC,GAGCH,EAAA,KAAK,QAAQ,UAAb,MAAAA,EAAsB,WAAY,CACpC,IAAMI,EAAiB,SAAS,cAAc,MAAM,EACpDA,EAAe,KAAO,cACtBA,EAAe,YAAc,KAAK,QAAQ,QAAQ,WAClD,KAAK,SAAS,YAAYA,CAAc,EAE5C,CAEO,SAASC,EAAqD,CACnE,KAAK,SAAS,iBAAiBT,EAAsB,OAAO,cAAgBU,GAAiDD,EAAGC,EAAI,MAAM,CAAC,CAC7I,CACF,ECjDO,SAASC,IAAkC,CAChDC,EAAoBC,CAAmB,CACzC",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "ids", "selectors", "events", "FILE_PICKER_CONSTANTS", "FilePickerAdapter", "BaseAdapter", "component", "getShadowElement", "FILE_PICKER_CONSTANTS", "listener", "button", "value", "_a", "_b", "FilePickerFoundation", "_adapter", "evt", "files", "dataTransfer", "fileList", "data", "sortedFiles", "FILE_PICKER_CONSTANTS", "legalFiles", "illegalFiles", "formats", "f", "i", "isOverTarget", "value", "template", "styles", "FilePickerComponent", "BaseComponent", "attachShadowTemplate", "FilePickerFoundation", "FilePickerAdapter", "FILE_PICKER_CONSTANTS", "name", "oldValue", "newValue", "coerceNumber", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "ButtonComponent", "FilePickerComponentDelegate", "BaseComponentDelegate", "config", "FILE_PICKER_CONSTANTS", "_a", "_b", "_c", "_d", "primarySpan", "secondarySpan", "ButtonComponentDelegate", "helperTextSpan", "cb", "evt", "defineFilePickerComponent", "defineCustomElement", "FilePickerComponent"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as d,b as g}from"./chunk.RRNSZCVJ.js";import{a as n,e as l,f as s,k as b}from"./chunk.TPXXHX5J.js";import{k as a}from"./chunk.J2M2MXP2.js";import{d as i}from"./chunk.M3QDAYD2.js";var m=`${g}toolbar`,f={INVERTED:"inverted"},o={INVERTED:"forge-toolbar--inverted",TOOLBAR:"forge-toolbar",SECTION:"forge-toolbar__section",ALIGN_START:"forge-toolbar__section--align-start",ALIGN_CENTER:"forge-toolbar__section--align-center",ALIGN_END:"forge-toolbar__section--align-end"},p={TOOLBAR:`.${o.TOOLBAR}`,START_SLOT:`.${o.SECTION}.${o.ALIGN_START} > slot[name=start]`,CENTER_SLOT:`.${o.SECTION}.${o.ALIGN_CENTER} > slot[name=center]`,END_SLOT:`.${o.SECTION}.${o.ALIGN_END} > slot[name=end]`},e={elementName:m,attributes:f,classes:o,selectors:p};var h='<template><div class="forge-toolbar" part="root"><div class="forge-toolbar__section forge-toolbar__section--align-start" part="section-start"><slot name="start"></slot><slot></slot></div><div class="forge-toolbar__section forge-toolbar__section--align-center" part="section-center"><slot name="center"></slot></div><div class="forge-toolbar__section forge-toolbar__section--align-end" part="section-end"><slot name="end"></slot></div></div></template>',_=".forge-toolbar{min-height:56px;min-height:var(--forge-toolbar-min-height,56px);height:56px;height:var(--forge-toolbar-height,56px);padding-inline:16px;padding-inline:var(--forge-toolbar-padding,16px);border-bottom:1px solid var(--forge-theme-border-color,rgba(0,0,0,.12));border-bottom:var(--forge-toolbar-border-bottom,1px solid var(--forge-theme-border-color,rgba(0,0,0,.12)));border-top-left-radius:0;border-top-left-radius:var(--forge-toolbar-border-top-left-radius,0);border-top-right-radius:0;border-top-right-radius:var(--forge-toolbar-border-top-right-radius,0);border-bottom-left-radius:0;border-bottom-left-radius:var(--forge-toolbar-border-bottom-left-radius,0);border-bottom-right-radius:0;border-bottom-right-radius:var(--forge-toolbar-border-bottom-right-radius,0);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:var(--forge-theme-surface);display:grid;grid-template-columns:auto 1fr auto;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-toolbar__section{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-toolbar__section--align-start{grid-column:1}.forge-toolbar__section--align-center{-webkit-box-pack:center;justify-content:center;grid-column:2}.forge-toolbar__section--align-end{-webkit-box-pack:end;justify-content:flex-end;grid-column:3}.forge-toolbar--inverted{border-top:1px solid var(--forge-theme-border-color,rgba(0,0,0,.12));border-top:var(--forge-toolbar-border-top,1px solid var(--forge-theme-border-color,rgba(0,0,0,.12)));border-bottom:none}:host{display:block;contain:layout}:host([hidden]){display:none}:host([no-border]) .forge-toolbar{border:none}:host([no-padding]) .forge-toolbar{padding-inline:0;padding-inline:var(--forge-toolbar-padding,0)}:host([auto-height]) .forge-toolbar{height:auto;height:var(--forge-toolbar-height,auto)}.forge-toolbar ::slotted(h1){margin:0}.forge-toolbar ::slotted(h2){margin:0}.forge-toolbar ::slotted(h3){margin:0}.forge-toolbar ::slotted(h4){margin:0}.forge-toolbar ::slotted(h5){margin:0}.forge-toolbar ::slotted(h6){margin:0}.forge-toolbar ::slotted(p){margin:0}",t=class extends b{constructor(){super();this._inverted=!1;l(this,h,_),this._rootElement=s(this,e.selectors.TOOLBAR)}static get observedAttributes(){return[e.attributes.INVERTED]}connectedCallback(){this._initialize()}attributeChangedCallback(r,T,c){switch(r){case e.attributes.INVERTED:this.inverted=a(c);break}}_initialize(){this._setInverted(this._inverted)}_setInverted(r){r?this._rootElement.classList.add(e.classes.INVERTED):this._rootElement.classList.remove(e.classes.INVERTED)}get inverted(){return this._inverted}set inverted(r){this._inverted=r,this._setInverted(this._inverted)}};t=i([d({name:e.elementName})],t);function k(){n(t)}export{e as a,t as b,k as c};
|
|
7
|
+
//# sourceMappingURL=chunk.4O6OEUGY.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/toolbar/toolbar-constants.ts", "../../src/toolbar/toolbar.ts", "../../src/toolbar/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\r\n\r\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}toolbar`;\r\n\r\nconst attributes = {\r\n INVERTED: 'inverted'\r\n};\r\n\r\nconst classes = {\r\n INVERTED: 'forge-toolbar--inverted',\r\n TOOLBAR: 'forge-toolbar',\r\n SECTION: 'forge-toolbar__section',\r\n ALIGN_START: 'forge-toolbar__section--align-start',\r\n ALIGN_CENTER: 'forge-toolbar__section--align-center',\r\n ALIGN_END: 'forge-toolbar__section--align-end'\r\n};\r\n\r\nconst selectors = {\r\n TOOLBAR: `.${classes.TOOLBAR}`,\r\n START_SLOT: `.${classes.SECTION}.${classes.ALIGN_START} > slot[name=start]`,\r\n CENTER_SLOT: `.${classes.SECTION}.${classes.ALIGN_CENTER} > slot[name=center]`,\r\n END_SLOT: `.${classes.SECTION}.${classes.ALIGN_END} > slot[name=end]`\r\n};\r\n\r\nexport const TOOLBAR_CONSTANTS = {\r\n elementName,\r\n attributes,\r\n classes,\r\n selectors\r\n};\r\n", "import { CustomElement, attachShadowTemplate, getShadowElement, coerceBoolean } from '@tylertech/forge-core';\r\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\r\n\r\nimport { TOOLBAR_CONSTANTS } from './toolbar-constants';\r\n\r\nconst template = '<template><div class=\\\"forge-toolbar\\\" part=\\\"root\\\"><div class=\\\"forge-toolbar__section forge-toolbar__section--align-start\\\" part=\\\"section-start\\\"><slot name=\\\"start\\\"></slot><slot></slot></div><div class=\\\"forge-toolbar__section forge-toolbar__section--align-center\\\" part=\\\"section-center\\\"><slot name=\\\"center\\\"></slot></div><div class=\\\"forge-toolbar__section forge-toolbar__section--align-end\\\" part=\\\"section-end\\\"><slot name=\\\"end\\\"></slot></div></div></template>';\r\nconst styles = '.forge-toolbar{min-height:56px;min-height:var(--forge-toolbar-min-height,56px);height:56px;height:var(--forge-toolbar-height,56px);padding-inline:16px;padding-inline:var(--forge-toolbar-padding,16px);border-bottom:1px solid var(--forge-theme-border-color,rgba(0,0,0,.12));border-bottom:var(--forge-toolbar-border-bottom,1px solid var(--forge-theme-border-color,rgba(0,0,0,.12)));border-top-left-radius:0;border-top-left-radius:var(--forge-toolbar-border-top-left-radius,0);border-top-right-radius:0;border-top-right-radius:var(--forge-toolbar-border-top-right-radius,0);border-bottom-left-radius:0;border-bottom-left-radius:var(--forge-toolbar-border-bottom-left-radius,0);border-bottom-right-radius:0;border-bottom-right-radius:var(--forge-toolbar-border-bottom-right-radius,0);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);display:grid;grid-template-columns:auto 1fr auto;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-toolbar__section{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-toolbar__section--align-start{grid-column:1}.forge-toolbar__section--align-center{-webkit-box-pack:center;justify-content:center;grid-column:2}.forge-toolbar__section--align-end{-webkit-box-pack:end;justify-content:flex-end;grid-column:3}.forge-toolbar--inverted{border-top:1px solid var(--forge-theme-border-color,rgba(0,0,0,.12));border-top:var(--forge-toolbar-border-top,1px solid var(--forge-theme-border-color,rgba(0,0,0,.12)));border-bottom:none}:host{display:block;contain:layout}:host([hidden]){display:none}:host([no-border]) .forge-toolbar{border:none}:host([no-padding]) .forge-toolbar{padding-inline:0;padding-inline:var(--forge-toolbar-padding,0)}:host([auto-height]) .forge-toolbar{height:auto;height:var(--forge-toolbar-height,auto)}.forge-toolbar ::slotted(h1){margin:0}.forge-toolbar ::slotted(h2){margin:0}.forge-toolbar ::slotted(h3){margin:0}.forge-toolbar ::slotted(h4){margin:0}.forge-toolbar ::slotted(h5){margin:0}.forge-toolbar ::slotted(h6){margin:0}.forge-toolbar ::slotted(p){margin:0}';\r\n\r\nexport interface IToolbarComponent extends IBaseComponent {\r\n inverted: boolean;\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n 'forge-toolbar': IToolbarComponent;\r\n }\r\n}\r\n\r\n/**\r\n * The web component class behind the `<forge-toolbar>` custom element.\r\n * \r\n * @tag forge-toolbar\r\n */\r\n@CustomElement({\r\n name: TOOLBAR_CONSTANTS.elementName\r\n})\r\nexport class ToolbarComponent extends BaseComponent implements IToolbarComponent {\r\n public static get observedAttributes(): string[] {\r\n return [\r\n TOOLBAR_CONSTANTS.attributes.INVERTED\r\n ];\r\n }\r\n \r\n private _rootElement: HTMLElement;\r\n private _inverted = false;\r\n\r\n constructor() {\r\n super();\r\n attachShadowTemplate(this, template, styles);\r\n this._rootElement = getShadowElement(this, TOOLBAR_CONSTANTS.selectors.TOOLBAR);\r\n }\r\n\r\n public connectedCallback(): void {\r\n this._initialize();\r\n }\r\n\r\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\r\n switch (name) {\r\n case TOOLBAR_CONSTANTS.attributes.INVERTED:\r\n this.inverted = coerceBoolean(newValue);\r\n break;\r\n }\r\n }\r\n\r\n private _initialize(): void {\r\n this._setInverted(this._inverted);\r\n }\r\n \r\n private _setInverted(isInverted: boolean): void {\r\n if (isInverted) {\r\n this._rootElement.classList.add(TOOLBAR_CONSTANTS.classes.INVERTED);\r\n } else {\r\n this._rootElement.classList.remove(TOOLBAR_CONSTANTS.classes.INVERTED);\r\n }\r\n }\r\n\r\n public get inverted(): boolean {\r\n return this._inverted;\r\n }\r\n public set inverted(value: boolean) {\r\n this._inverted = value;\r\n this._setInverted(this._inverted);\r\n }\r\n}\r\n", "import { defineCustomElement } from '@tylertech/forge-core';\r\n\r\nimport { ToolbarComponent } from './toolbar';\r\n\r\nexport * from './toolbar-constants';\r\nexport * from './toolbar';\r\n\r\nexport function defineToolbarComponent(): void {\r\n defineCustomElement(ToolbarComponent);\r\n}\r\n"],
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\r\n\r\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}toolbar`;\r\n\r\nconst attributes = {\r\n INVERTED: 'inverted'\r\n};\r\n\r\nconst classes = {\r\n INVERTED: 'forge-toolbar--inverted',\r\n TOOLBAR: 'forge-toolbar',\r\n SECTION: 'forge-toolbar__section',\r\n ALIGN_START: 'forge-toolbar__section--align-start',\r\n ALIGN_CENTER: 'forge-toolbar__section--align-center',\r\n ALIGN_END: 'forge-toolbar__section--align-end'\r\n};\r\n\r\nconst selectors = {\r\n TOOLBAR: `.${classes.TOOLBAR}`,\r\n START_SLOT: `.${classes.SECTION}.${classes.ALIGN_START} > slot[name=start]`,\r\n CENTER_SLOT: `.${classes.SECTION}.${classes.ALIGN_CENTER} > slot[name=center]`,\r\n END_SLOT: `.${classes.SECTION}.${classes.ALIGN_END} > slot[name=end]`\r\n};\r\n\r\nexport const TOOLBAR_CONSTANTS = {\r\n elementName,\r\n attributes,\r\n classes,\r\n selectors\r\n};\r\n", "import { CustomElement, attachShadowTemplate, getShadowElement, coerceBoolean } from '@tylertech/forge-core';\r\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\r\n\r\nimport { TOOLBAR_CONSTANTS } from './toolbar-constants';\r\n\r\nconst template = '<template><div class=\\\"forge-toolbar\\\" part=\\\"root\\\"><div class=\\\"forge-toolbar__section forge-toolbar__section--align-start\\\" part=\\\"section-start\\\"><slot name=\\\"start\\\"></slot><slot></slot></div><div class=\\\"forge-toolbar__section forge-toolbar__section--align-center\\\" part=\\\"section-center\\\"><slot name=\\\"center\\\"></slot></div><div class=\\\"forge-toolbar__section forge-toolbar__section--align-end\\\" part=\\\"section-end\\\"><slot name=\\\"end\\\"></slot></div></div></template>';\r\nconst styles = '.forge-toolbar{min-height:56px;min-height:var(--forge-toolbar-min-height,56px);height:56px;height:var(--forge-toolbar-height,56px);padding-inline:16px;padding-inline:var(--forge-toolbar-padding,16px);border-bottom:1px solid var(--forge-theme-border-color,rgba(0,0,0,.12));border-bottom:var(--forge-toolbar-border-bottom,1px solid var(--forge-theme-border-color,rgba(0,0,0,.12)));border-top-left-radius:0;border-top-left-radius:var(--forge-toolbar-border-top-left-radius,0);border-top-right-radius:0;border-top-right-radius:var(--forge-toolbar-border-top-right-radius,0);border-bottom-left-radius:0;border-bottom-left-radius:var(--forge-toolbar-border-bottom-left-radius,0);border-bottom-right-radius:0;border-bottom-right-radius:var(--forge-toolbar-border-bottom-right-radius,0);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:var(--forge-theme-surface);display:grid;grid-template-columns:auto 1fr auto;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-toolbar__section{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-toolbar__section--align-start{grid-column:1}.forge-toolbar__section--align-center{-webkit-box-pack:center;justify-content:center;grid-column:2}.forge-toolbar__section--align-end{-webkit-box-pack:end;justify-content:flex-end;grid-column:3}.forge-toolbar--inverted{border-top:1px solid var(--forge-theme-border-color,rgba(0,0,0,.12));border-top:var(--forge-toolbar-border-top,1px solid var(--forge-theme-border-color,rgba(0,0,0,.12)));border-bottom:none}:host{display:block;contain:layout}:host([hidden]){display:none}:host([no-border]) .forge-toolbar{border:none}:host([no-padding]) .forge-toolbar{padding-inline:0;padding-inline:var(--forge-toolbar-padding,0)}:host([auto-height]) .forge-toolbar{height:auto;height:var(--forge-toolbar-height,auto)}.forge-toolbar ::slotted(h1){margin:0}.forge-toolbar ::slotted(h2){margin:0}.forge-toolbar ::slotted(h3){margin:0}.forge-toolbar ::slotted(h4){margin:0}.forge-toolbar ::slotted(h5){margin:0}.forge-toolbar ::slotted(h6){margin:0}.forge-toolbar ::slotted(p){margin:0}';\r\n\r\nexport interface IToolbarComponent extends IBaseComponent {\r\n inverted: boolean;\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n 'forge-toolbar': IToolbarComponent;\r\n }\r\n}\r\n\r\n/**\r\n * The web component class behind the `<forge-toolbar>` custom element.\r\n * \r\n * @tag forge-toolbar\r\n */\r\n@CustomElement({\r\n name: TOOLBAR_CONSTANTS.elementName\r\n})\r\nexport class ToolbarComponent extends BaseComponent implements IToolbarComponent {\r\n public static get observedAttributes(): string[] {\r\n return [\r\n TOOLBAR_CONSTANTS.attributes.INVERTED\r\n ];\r\n }\r\n \r\n private _rootElement: HTMLElement;\r\n private _inverted = false;\r\n\r\n constructor() {\r\n super();\r\n attachShadowTemplate(this, template, styles);\r\n this._rootElement = getShadowElement(this, TOOLBAR_CONSTANTS.selectors.TOOLBAR);\r\n }\r\n\r\n public connectedCallback(): void {\r\n this._initialize();\r\n }\r\n\r\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\r\n switch (name) {\r\n case TOOLBAR_CONSTANTS.attributes.INVERTED:\r\n this.inverted = coerceBoolean(newValue);\r\n break;\r\n }\r\n }\r\n\r\n private _initialize(): void {\r\n this._setInverted(this._inverted);\r\n }\r\n \r\n private _setInverted(isInverted: boolean): void {\r\n if (isInverted) {\r\n this._rootElement.classList.add(TOOLBAR_CONSTANTS.classes.INVERTED);\r\n } else {\r\n this._rootElement.classList.remove(TOOLBAR_CONSTANTS.classes.INVERTED);\r\n }\r\n }\r\n\r\n public get inverted(): boolean {\r\n return this._inverted;\r\n }\r\n public set inverted(value: boolean) {\r\n this._inverted = value;\r\n this._setInverted(this._inverted);\r\n }\r\n}\r\n", "import { defineCustomElement } from '@tylertech/forge-core';\r\n\r\nimport { ToolbarComponent } from './toolbar';\r\n\r\nexport * from './toolbar-constants';\r\nexport * from './toolbar';\r\n\r\nexport function defineToolbarComponent(): void {\r\n defineCustomElement(ToolbarComponent);\r\n}\r\n"],
|
|
5
|
+
"mappings": "4LAEA,IAAMA,EAA2C,GAAGC,WAE9CC,EAAa,CACjB,SAAU,UACZ,EAEMC,EAAU,CACd,SAAU,0BACV,QAAS,gBACT,QAAS,yBACT,YAAa,sCACb,aAAc,uCACd,UAAW,mCACb,EAEMC,EAAY,CAChB,QAAS,IAAID,EAAQ,UACrB,WAAY,IAAIA,EAAQ,WAAWA,EAAQ,iCAC3C,YAAa,IAAIA,EAAQ,WAAWA,EAAQ,mCAC5C,SAAU,IAAIA,EAAQ,WAAWA,EAAQ,4BAC3C,EAEaE,EAAoB,CAC/B,YAAAL,EACA,WAAAE,EACA,QAAAC,EACA,UAAAC,CACF,ECxBA,IAAME,EAAW,scACXC,EAAS,yoEAoBFC,EAAN,cAA+BC,CAA2C,CAU/E,aAAc,CACZ,MAAM,EAHR,KAAQ,UAAY,GAIlBC,EAAqB,KAAMJ,EAAUC,CAAM,EAC3C,KAAK,aAAeI,EAAiB,KAAMC,EAAkB,UAAU,OAAO,CAChF,CAbA,WAAkB,oBAA+B,CAC/C,MAAO,CACLA,EAAkB,WAAW,QAC/B,CACF,CAWO,mBAA0B,CAC/B,KAAK,YAAY,CACnB,CAEO,yBAAyBC,EAAcC,EAAkBC,EAAwB,CACtF,OAAQF,EAAM,CACZ,KAAKD,EAAkB,WAAW,SAChC,KAAK,SAAWI,EAAcD,CAAQ,EACtC,KACJ,CACF,CAEQ,aAAoB,CAC1B,KAAK,aAAa,KAAK,SAAS,CAClC,CAEQ,aAAaE,EAA2B,CAC1CA,EACF,KAAK,aAAa,UAAU,IAAIL,EAAkB,QAAQ,QAAQ,EAElE,KAAK,aAAa,UAAU,OAAOA,EAAkB,QAAQ,QAAQ,CAEzE,CAEA,IAAW,UAAoB,CAC7B,OAAO,KAAK,SACd,CACA,IAAW,SAASM,EAAgB,CAClC,KAAK,UAAYA,EACjB,KAAK,aAAa,KAAK,SAAS,CAClC,CACF,EA/CaV,EAANW,EAAA,CAHNC,EAAc,CACb,KAAMR,EAAkB,WAC1B,CAAC,GACYJ,GCnBN,SAASa,GAA+B,CAC7CC,EAAoBC,CAAgB,CACtC",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "selectors", "TOOLBAR_CONSTANTS", "template", "styles", "ToolbarComponent", "BaseComponent", "attachShadowTemplate", "getShadowElement", "TOOLBAR_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "isInverted", "value", "__decorateClass", "CustomElement", "defineToolbarComponent", "defineCustomElement", "ToolbarComponent"]
|
|
7
7
|
}
|