@tylertech/forge 3.0.0-next.14 → 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 +52540 -39351
- 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.PSTGTQVK.js → chunk.2JCTFKCR.js} +2 -2
- package/dist/esm/chunks/{chunk.3UO6S3IK.js → chunk.2OZ2HVBZ.js} +2 -2
- package/dist/esm/chunks/{chunk.3UO6S3IK.js.map → chunk.2OZ2HVBZ.js.map} +3 -3
- package/dist/esm/chunks/{chunk.4B5IOZAT.js → chunk.2YE556AM.js} +2 -2
- package/dist/esm/chunks/{chunk.YKZ25J6B.js → chunk.3U6A353B.js} +2 -2
- package/dist/esm/chunks/chunk.3VHQPHQP.js +7 -0
- package/dist/esm/chunks/chunk.3VHQPHQP.js.map +7 -0
- package/dist/esm/chunks/{chunk.LXX3YZYS.js → chunk.436USWLL.js} +2 -2
- package/dist/esm/chunks/{chunk.KLPF4CNX.js → chunk.4GMGQZOW.js} +2 -2
- package/dist/esm/chunks/{chunk.Z7PBGV4K.js → chunk.4JB3SESQ.js} +2 -2
- package/dist/esm/chunks/{chunk.QFY23EWU.js → chunk.4JL5LW5J.js} +2 -2
- package/dist/esm/chunks/chunk.4O6OEUGY.js +7 -0
- package/dist/esm/chunks/{chunk.RDW7Z4W5.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.55D2BMXX.js +7 -0
- package/dist/esm/chunks/{chunk.A72W7RW7.js → chunk.5LCWC3A7.js} +2 -2
- package/dist/esm/chunks/{chunk.RYNQDXFA.js → chunk.5T7TT3AB.js} +2 -2
- package/dist/esm/chunks/{chunk.2GYZM6ZG.js → chunk.5WVOPPBY.js} +2 -2
- package/dist/esm/chunks/{chunk.2GYZM6ZG.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.TLFCQSJN.js → chunk.6PB5OWMP.js} +2 -2
- package/dist/esm/chunks/{chunk.TLFCQSJN.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.KTYYBWTN.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.HHHBS6FB.js → chunk.B53Q676I.js} +2 -2
- package/dist/esm/chunks/{chunk.B46Q3AFP.js → chunk.BKQSLDMK.js} +2 -2
- package/dist/esm/chunks/{chunk.7XFU2W25.js → chunk.BX4AQRHB.js} +2 -2
- package/dist/esm/chunks/{chunk.7XFU2W25.js.map → chunk.BX4AQRHB.js.map} +3 -3
- package/dist/esm/chunks/{chunk.OUACQISE.js → chunk.BZG47SA5.js} +2 -2
- package/dist/esm/chunks/{chunk.OUACQISE.js.map → chunk.BZG47SA5.js.map} +1 -1
- package/dist/esm/chunks/{chunk.F2EBSV5Z.js → chunk.BZVLSWZR.js} +2 -2
- package/dist/esm/chunks/chunk.C72LM2AL.js +7 -0
- package/dist/esm/chunks/chunk.C72LM2AL.js.map +7 -0
- package/dist/esm/chunks/{chunk.BMQYEYCT.js → chunk.DGG5ABL3.js} +2 -2
- package/dist/esm/chunks/{chunk.PK7R6WDF.js → chunk.DPIWAXEW.js} +2 -2
- 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.5VHUMZYS.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.7PP6QHOM.js → chunk.ETDUW5K2.js} +2 -2
- package/dist/esm/chunks/chunk.EWFNM4WO.js +7 -0
- package/dist/esm/chunks/chunk.EWFNM4WO.js.map +7 -0
- package/dist/esm/chunks/{chunk.FYWPZFLJ.js → chunk.EWT2PBEP.js} +2 -2
- package/dist/esm/chunks/{chunk.FYWPZFLJ.js.map → chunk.EWT2PBEP.js.map} +2 -2
- package/dist/esm/chunks/{chunk.GHR7T6U2.js → chunk.FGHSNC2V.js} +2 -2
- package/dist/esm/chunks/{chunk.P7LC3YYW.js → chunk.FPRBYGET.js} +2 -2
- package/dist/esm/chunks/{chunk.7W2UWAZX.js → chunk.FQVR2QNF.js} +2 -2
- package/dist/esm/chunks/{chunk.IEB5KRFQ.js → chunk.FWWBFNQA.js} +2 -2
- package/dist/esm/chunks/{chunk.543K5Y4E.js → chunk.FZELFLPE.js} +2 -2
- package/dist/esm/chunks/{chunk.6Q3SV2R2.js → chunk.FZZUNYH5.js} +2 -2
- package/dist/esm/chunks/chunk.GHMAI3SM.js +15 -0
- package/dist/esm/chunks/chunk.GHMAI3SM.js.map +7 -0
- package/dist/esm/chunks/{chunk.CTZ3AWDW.js → chunk.GLUKTMQU.js} +2 -2
- package/dist/esm/chunks/{chunk.W324TWF2.js → chunk.GTBCTNMI.js} +2 -2
- package/dist/esm/chunks/chunk.GTGXHY4A.js +7 -0
- package/dist/esm/chunks/chunk.GTGXHY4A.js.map +7 -0
- package/dist/esm/chunks/{chunk.L4Y4RO5O.js → chunk.GURV4TDZ.js} +2 -2
- package/dist/esm/chunks/chunk.H6MMHAQI.js +15 -0
- package/dist/esm/chunks/chunk.H6MMHAQI.js.map +7 -0
- package/dist/esm/chunks/{chunk.FQSL747N.js → chunk.HJUFU2PV.js} +2 -2
- package/dist/esm/chunks/{chunk.FQSL747N.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.K7FPXAFS.js → chunk.HZUQXCOQ.js} +2 -2
- package/dist/esm/chunks/{chunk.K7FPXAFS.js.map → chunk.HZUQXCOQ.js.map} +2 -2
- package/dist/esm/chunks/{chunk.THWSN3X4.js → chunk.IA27LU2O.js} +2 -2
- 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.TZFUKJ24.js → chunk.JXJVPJRO.js} +2 -2
- package/dist/esm/chunks/{chunk.Z2RB75TN.js → chunk.K3STAW42.js} +2 -2
- package/dist/esm/chunks/chunk.KM5XYTE3.js +7 -0
- package/dist/esm/chunks/chunk.KM5XYTE3.js.map +7 -0
- package/dist/esm/chunks/{chunk.G2BNY5QQ.js → chunk.KPC6IS3C.js} +2 -2
- package/dist/esm/chunks/chunk.KPNGLSCU.js +7 -0
- package/dist/esm/chunks/chunk.KPNGLSCU.js.map +7 -0
- package/dist/esm/chunks/{chunk.VDZ7HBKM.js → chunk.KV7PGQJ7.js} +2 -2
- 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.M5JGYRH4.js +7 -0
- package/dist/esm/chunks/chunk.M7RYU4HQ.js +7 -0
- package/dist/esm/chunks/chunk.M7RYU4HQ.js.map +7 -0
- package/dist/esm/chunks/chunk.N75VD4S4.js +7 -0
- package/dist/esm/chunks/chunk.NHOGZDLN.js +7 -0
- package/dist/esm/chunks/chunk.NHOGZDLN.js.map +7 -0
- package/dist/esm/chunks/{chunk.H7GW57Q6.js → chunk.NKEAMFO4.js} +2 -2
- package/dist/esm/chunks/{chunk.26E4L52W.js → chunk.NW54VA4E.js} +2 -2
- package/dist/esm/chunks/chunk.OJGPKHHC.js +7 -0
- package/dist/esm/chunks/{chunk.VD5ZL5ZN.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.OT3JZ6JO.js.map +7 -0
- package/dist/esm/chunks/{chunk.PADPL4L3.js → chunk.OUIWXKO2.js} +2 -2
- package/dist/esm/chunks/chunk.OXVCCHM5.js +7 -0
- package/dist/esm/chunks/{chunk.7ABZUBTT.js → chunk.P5XHGSJY.js} +2 -2
- package/dist/esm/chunks/chunk.Q5YXX4DU.js +7 -0
- package/dist/esm/chunks/chunk.Q5YXX4DU.js.map +7 -0
- package/dist/esm/chunks/chunk.QG5EYBS3.js +7 -0
- package/dist/esm/chunks/chunk.QG5EYBS3.js.map +7 -0
- package/dist/esm/chunks/{chunk.NZKIFXBU.js → chunk.QKTNCOVX.js} +2 -2
- package/dist/esm/chunks/{chunk.NG6UZ4OL.js → chunk.QZ57WM3D.js} +2 -2
- package/dist/esm/chunks/{chunk.OED5UCYT.js → chunk.R2QENXIL.js} +2 -2
- package/dist/esm/chunks/chunk.R53VHVKB.js +12 -0
- package/dist/esm/chunks/chunk.R53VHVKB.js.map +7 -0
- package/dist/esm/chunks/{chunk.DOEG3DWJ.js → chunk.RDQ3QGWS.js} +2 -2
- package/dist/esm/chunks/{chunk.GS72TBUD.js → chunk.RFKKHN7V.js} +2 -2
- package/dist/esm/chunks/{chunk.57PXXJA6.js → chunk.RKG66YKS.js} +2 -2
- package/dist/esm/chunks/chunk.RRNSZCVJ.js +7 -0
- package/dist/esm/chunks/chunk.RRNSZCVJ.js.map +7 -0
- 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.LMIKNDBS.js → chunk.T235SNYZ.js} +2 -2
- package/dist/esm/chunks/chunk.T4N7KZHZ.js +7 -0
- package/dist/esm/chunks/chunk.T4N7KZHZ.js.map +7 -0
- package/dist/esm/chunks/{chunk.J3B5CWKT.js → chunk.TE6ZNUAM.js} +2 -2
- package/dist/esm/chunks/{chunk.J3B5CWKT.js.map → chunk.TE6ZNUAM.js.map} +2 -2
- package/dist/esm/chunks/{chunk.DD35U4AA.js → chunk.TNEUDWZU.js} +2 -2
- package/dist/esm/chunks/{chunk.DD35U4AA.js.map → chunk.TNEUDWZU.js.map} +2 -2
- package/dist/esm/chunks/chunk.TPXXHX5J.js +7 -0
- package/dist/esm/chunks/{chunk.JAWV5Y5T.js.map → chunk.TPXXHX5J.js.map} +2 -2
- package/dist/esm/chunks/chunk.TZ67MC2N.js +7 -0
- package/dist/esm/chunks/{chunk.C5IB44HX.js.map → chunk.TZ67MC2N.js.map} +1 -1
- package/dist/esm/chunks/chunk.V3IHX6B2.js +7 -0
- package/dist/esm/chunks/{chunk.BFUGFHEH.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.VGIZJ32U.js +7 -0
- 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.XDANTL6C.js.map → chunk.W5TDBDVY.js.map} +2 -2
- package/dist/esm/chunks/{chunk.U5WMRBSC.js → chunk.WA2YP4NC.js} +2 -2
- package/dist/esm/chunks/chunk.WFQYTXCB.js +7 -0
- package/dist/esm/chunks/chunk.WFQYTXCB.js.map +7 -0
- package/dist/esm/chunks/chunk.WNH7EHZP.js +7 -0
- package/dist/esm/chunks/{chunk.F6KM5FO6.js.map → chunk.WNH7EHZP.js.map} +2 -2
- package/dist/esm/chunks/{chunk.5C24LZNU.js → chunk.WQHKUNR7.js} +2 -2
- package/dist/esm/chunks/chunk.WYSUQK6Z.js +7 -0
- package/dist/esm/chunks/{chunk.3ZRQFXQU.js.map → chunk.WYSUQK6Z.js.map} +2 -2
- package/dist/esm/chunks/chunk.X57DRPFB.js +7 -0
- package/dist/esm/chunks/{chunk.DDXIHZFX.js → chunk.X7YTDVNT.js} +2 -2
- package/dist/esm/chunks/chunk.XBFH6M72.js +7 -0
- package/dist/esm/chunks/chunk.XBFH6M72.js.map +7 -0
- package/dist/esm/chunks/{chunk.7DHDFH5L.js → chunk.XOH2JCRS.js} +2 -2
- package/dist/esm/chunks/{chunk.IW7HALLT.js → chunk.Y6D5Z56X.js} +2 -2
- package/dist/esm/chunks/{chunk.IW7HALLT.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.KVCDAZ6B.js → chunk.YTBNAGLS.js} +2 -2
- package/dist/esm/chunks/chunk.YWDYBX3G.js +7 -0
- package/dist/esm/chunks/chunk.YWDYBX3G.js.map +7 -0
- package/dist/esm/chunks/{chunk.RZZBM3AW.js → chunk.ZHMV5SR4.js} +2 -2
- package/dist/esm/chunks/{chunk.GWJ4QCSW.js → chunk.ZLACSRD4.js} +2 -2
- package/dist/esm/chunks/{chunk.URCJO73M.js → chunk.ZPVRRFT7.js} +2 -2
- package/dist/esm/chunks/{chunk.URCJO73M.js.map → chunk.ZPVRRFT7.js.map} +1 -1
- package/dist/esm/chunks/chunk.ZS3T6MJS.js +7 -0
- package/dist/esm/chunks/{chunk.JVK64JDZ.js.map → chunk.ZS3T6MJS.js.map} +2 -2
- package/dist/esm/chunks/{chunk.DTKFE7YB.js → chunk.ZUTQPJ2B.js} +2 -2
- 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.PQQVUUHU.js → chunk.ZYCKD6K5.js} +2 -2
- package/dist/esm/circular-progress/index.js +1 -1
- package/dist/esm/color-picker/index.js +1 -1
- package/dist/esm/core/base/index.js +1 -1
- package/dist/esm/core/delegates/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 +7 -0
- package/dist/esm/radio/radio/index.js.map +7 -0
- package/dist/esm/radio/radio-group/index.js +7 -0
- package/dist/esm/radio/radio-group/index.js.map +7 -0
- 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/app-bar/app-bar.js +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/app-bar/search/app-bar-search-adapter.d.ts +8 -43
- package/esm/app-bar/search/app-bar-search-adapter.js +23 -53
- package/esm/app-bar/search/app-bar-search-constants.d.ts +0 -15
- package/esm/app-bar/search/app-bar-search-constants.js +3 -20
- package/esm/app-bar/search/app-bar-search-foundation.d.ts +3 -37
- package/esm/app-bar/search/app-bar-search-foundation.js +27 -88
- package/esm/app-bar/search/app-bar-search.d.ts +1 -21
- package/esm/app-bar/search/app-bar-search.js +13 -39
- package/esm/banner/banner.js +1 -1
- package/esm/button/base/base-button-adapter.d.ts +0 -5
- package/esm/button/base/base-button-adapter.js +18 -18
- 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 +9 -14
- package/esm/button/base/base-button.d.ts +11 -7
- package/esm/button/base/base-button.js +21 -14
- package/esm/button/button-constants.d.ts +2 -0
- package/esm/button/button-constants.js +2 -1
- package/esm/button/button-foundation.d.ts +4 -0
- package/esm/button/button-foundation.js +10 -0
- package/esm/button/button.d.ts +4 -0
- package/esm/button/button.js +10 -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 +15 -2
- package/esm/constants.js +13 -0
- package/esm/core/base/base-adapter.d.ts +6 -0
- package/esm/core/base/base-adapter.js +13 -4
- package/esm/core/base/base-component.d.ts +4 -0
- package/esm/core/base/base-form-component.d.ts +0 -10
- package/esm/core/base/base-form-component.js +0 -6
- package/esm/core/base/base-nullable-form-component.d.ts +0 -10
- package/esm/core/base/base-nullable-form-component.js +0 -6
- package/esm/core/{base/base-focusable-component.d.ts → mixins/focus/with-focusable.d.ts} +11 -14
- package/esm/core/{base/base-focusable-component.js → mixins/focus/with-focusable.js} +15 -16
- package/esm/core/mixins/form/with-form-associated.d.ts +116 -0
- package/esm/core/mixins/form/with-form-associated.js +71 -0
- 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/mixins/label/with-label-aware.d.ts +33 -0
- package/esm/core/mixins/label/with-label-aware.js +17 -0
- package/esm/core/utils/a11y-utils.d.ts +126 -0
- package/esm/core/utils/a11y-utils.js +169 -0
- 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/event-utils.d.ts +1 -0
- package/esm/core/utils/event-utils.js +3 -0
- package/esm/core/utils/feature-detection.d.ts +13 -0
- package/esm/core/utils/feature-detection.js +21 -0
- package/esm/core/utils/form-utils.d.ts +24 -0
- package/{styles/checkbox/_configuration.scss → esm/core/utils/form-utils.js} +1 -5
- package/esm/core/utils/index.d.ts +1 -0
- package/esm/core/utils/index.js +1 -0
- package/esm/core/utils/mixin-utils.d.ts +20 -0
- package/esm/core/utils/mixin-utils.js +15 -0
- package/esm/core/utils/position-utils.d.ts +78 -0
- package/esm/core/utils/position-utils.js +197 -0
- package/esm/core/utils/reflect-utils.d.ts +1 -1
- package/esm/core/utils/reflect-utils.js +2 -2
- package/esm/core/utils/utils.d.ts +14 -0
- package/esm/core/utils/utils.js +25 -7
- package/esm/date-picker/base/base-date-picker.d.ts +1 -1
- package/esm/date-picker/base/base-date-picker.js +4 -3
- 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 +6 -4
- package/esm/index.js +36 -29
- package/esm/label/label-adapter.d.ts +2 -0
- package/esm/label/label-adapter.js +8 -5
- package/esm/label/label-aware.js +2 -1
- package/esm/label/label-constants.d.ts +6 -2
- package/esm/label/label-constants.js +13 -4
- package/esm/label/label-foundation.d.ts +16 -0
- package/esm/label/label-foundation.js +69 -6
- package/esm/label/label.d.ts +8 -0
- package/esm/label/label.js +21 -3
- 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-adapter.d.ts +3 -3
- package/esm/menu/menu-constants.d.ts +1 -1
- package/esm/menu/menu-foundation.d.ts +1 -0
- package/esm/menu/menu-foundation.js +11 -4
- 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-constants.d.ts +9 -0
- package/esm/paginator/paginator-foundation.d.ts +5 -2
- package/esm/paginator/paginator-foundation.js +29 -8
- package/esm/paginator/paginator.d.ts +3 -1
- package/esm/paginator/paginator.js +4 -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.d.ts +83 -0
- package/esm/radio/core/radio-group-manager.js +201 -0
- package/esm/radio/index.d.ts +1 -2
- package/esm/radio/index.js +1 -6
- package/esm/radio/radio/index.d.ts +10 -0
- package/esm/radio/radio/index.js +14 -0
- package/esm/radio/radio/radio-adapter.d.ts +41 -0
- package/esm/radio/radio/radio-adapter.js +75 -0
- package/{styles/focus-indicator/_configuration.scss → esm/radio/radio/radio-component-delegate.d.ts} +0 -5
- package/{styles/list/list/_configuration.scss → esm/radio/radio/radio-component-delegate.js} +1 -5
- package/esm/radio/radio/radio-constants.d.ts +37 -0
- package/esm/radio/radio/radio-constants.js +40 -0
- package/esm/radio/radio/radio-foundation.d.ts +70 -0
- package/esm/radio/radio/radio-foundation.js +199 -0
- package/esm/radio/radio/radio.d.ts +115 -0
- package/esm/radio/radio/radio.js +204 -0
- package/esm/radio/radio-group/index.d.ts +10 -0
- package/esm/radio/radio-group/index.js +14 -0
- package/esm/radio/radio-group/radio-group-adapter.d.ts +18 -0
- package/esm/radio/radio-group/radio-group-adapter.js +26 -0
- package/esm/radio/radio-group/radio-group-constants.d.ts +11 -0
- package/esm/radio/radio-group/radio-group-constants.js +14 -0
- package/esm/radio/radio-group/radio-group-foundation.d.ts +20 -0
- package/esm/radio/radio-group/radio-group-foundation.js +32 -0
- package/esm/radio/radio-group/radio-group.d.ts +47 -0
- package/esm/radio/radio-group/radio-group.js +83 -0
- 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 +6 -0
- package/styles/app-bar/app-bar/app-bar.scss +31 -17
- package/styles/app-bar/app-bar/index.scss +0 -2
- package/styles/app-bar/search/_core.scss +75 -0
- package/styles/app-bar/search/_token-utils.scss +30 -0
- package/styles/app-bar/search/app-bar-search.scss +50 -4
- package/styles/{switch/_configuration.scss → app-bar/search/index.scss} +1 -5
- package/styles/button/_core.scss +2 -0
- package/styles/button/button.scss +40 -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/button-toggle/button-toggle/index.scss +6 -0
- 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/app-bar/search/_tokens.scss +35 -0
- 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 +66 -0
- 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/_core.scss +2 -5
- package/styles/label/label.scss +3 -7
- 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/overlay/index.scss +6 -0
- 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/popover/index.scss +6 -0
- 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/index.scss +6 -0
- package/styles/radio/radio/_core.scss +126 -0
- package/styles/radio/radio/_token-utils.scss +30 -0
- package/styles/radio/radio/index.scss +6 -0
- package/styles/radio/radio/radio.scss +99 -0
- 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 +9 -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.2GJ54C3Q.js +0 -7
- package/dist/esm/chunks/chunk.2GJ54C3Q.js.map +0 -7
- package/dist/esm/chunks/chunk.2YDKRTKP.js +0 -7
- package/dist/esm/chunks/chunk.2YDKRTKP.js.map +0 -7
- package/dist/esm/chunks/chunk.3JCHXLPT.js +0 -7
- package/dist/esm/chunks/chunk.3JCHXLPT.js.map +0 -7
- package/dist/esm/chunks/chunk.3RMBFRGC.js +0 -7
- package/dist/esm/chunks/chunk.3RMBFRGC.js.map +0 -7
- package/dist/esm/chunks/chunk.3ZRQFXQU.js +0 -7
- package/dist/esm/chunks/chunk.4QDN5PM6.js +0 -7
- package/dist/esm/chunks/chunk.4QDN5PM6.js.map +0 -7
- package/dist/esm/chunks/chunk.5H4G6BWX.js +0 -7
- package/dist/esm/chunks/chunk.5H4G6BWX.js.map +0 -7
- package/dist/esm/chunks/chunk.5VHUMZYS.js +0 -7
- package/dist/esm/chunks/chunk.6DXDNQUR.js +0 -15
- package/dist/esm/chunks/chunk.6DXDNQUR.js.map +0 -7
- package/dist/esm/chunks/chunk.6Y45DLA6.js +0 -7
- package/dist/esm/chunks/chunk.6Y45DLA6.js.map +0 -7
- package/dist/esm/chunks/chunk.7BGOH44S.js +0 -7
- package/dist/esm/chunks/chunk.7BGOH44S.js.map +0 -7
- package/dist/esm/chunks/chunk.7UXLLUTN.js +0 -7
- package/dist/esm/chunks/chunk.AEJGC4YG.js +0 -7
- package/dist/esm/chunks/chunk.AEJGC4YG.js.map +0 -7
- package/dist/esm/chunks/chunk.BFUGFHEH.js +0 -7
- package/dist/esm/chunks/chunk.BLW6QESQ.js +0 -12
- package/dist/esm/chunks/chunk.BLW6QESQ.js.map +0 -7
- package/dist/esm/chunks/chunk.C5IB44HX.js +0 -7
- package/dist/esm/chunks/chunk.CNRFOWHY.js +0 -7
- package/dist/esm/chunks/chunk.CNRFOWHY.js.map +0 -7
- package/dist/esm/chunks/chunk.CZOABXEQ.js +0 -7
- package/dist/esm/chunks/chunk.E3GVKR4E.js +0 -7
- package/dist/esm/chunks/chunk.E3GVKR4E.js.map +0 -7
- package/dist/esm/chunks/chunk.EBSBAFCX.js +0 -7
- package/dist/esm/chunks/chunk.EBSBAFCX.js.map +0 -7
- package/dist/esm/chunks/chunk.F6KM5FO6.js +0 -7
- package/dist/esm/chunks/chunk.FB6ZLH6P.js +0 -7
- package/dist/esm/chunks/chunk.FB6ZLH6P.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.GT3VPSXY.js +0 -7
- package/dist/esm/chunks/chunk.GT3VPSXY.js.map +0 -7
- package/dist/esm/chunks/chunk.I3NHK2S3.js +0 -7
- package/dist/esm/chunks/chunk.IT66AOX7.js +0 -7
- package/dist/esm/chunks/chunk.IT66AOX7.js.map +0 -7
- package/dist/esm/chunks/chunk.IVUK3W34.js +0 -7
- package/dist/esm/chunks/chunk.IVUK3W34.js.map +0 -7
- package/dist/esm/chunks/chunk.J2KHTGSB.js +0 -7
- package/dist/esm/chunks/chunk.J2KHTGSB.js.map +0 -7
- package/dist/esm/chunks/chunk.JAWV5Y5T.js +0 -7
- package/dist/esm/chunks/chunk.JVK64JDZ.js +0 -7
- package/dist/esm/chunks/chunk.KFDYMENL.js +0 -7
- package/dist/esm/chunks/chunk.KFDYMENL.js.map +0 -7
- package/dist/esm/chunks/chunk.KTYYBWTN.js +0 -7
- package/dist/esm/chunks/chunk.LCNR2RPT.js +0 -7
- package/dist/esm/chunks/chunk.LCNR2RPT.js.map +0 -7
- package/dist/esm/chunks/chunk.LOBKFTRM.js +0 -7
- package/dist/esm/chunks/chunk.LOBKFTRM.js.map +0 -7
- package/dist/esm/chunks/chunk.LS7WRRT2.js +0 -7
- package/dist/esm/chunks/chunk.LS7WRRT2.js.map +0 -7
- package/dist/esm/chunks/chunk.LSNAGIIH.js +0 -7
- package/dist/esm/chunks/chunk.LSNAGIIH.js.map +0 -7
- package/dist/esm/chunks/chunk.LUIKMPQR.js +0 -7
- package/dist/esm/chunks/chunk.LUIKMPQR.js.map +0 -7
- package/dist/esm/chunks/chunk.MZZJY5NX.js +0 -7
- package/dist/esm/chunks/chunk.MZZJY5NX.js.map +0 -7
- package/dist/esm/chunks/chunk.NYYXUH3X.js +0 -7
- package/dist/esm/chunks/chunk.OYO5O3NF.js +0 -7
- package/dist/esm/chunks/chunk.Q5Z6F3PI.js +0 -7
- package/dist/esm/chunks/chunk.Q5Z6F3PI.js.map +0 -7
- package/dist/esm/chunks/chunk.RCSBJQ4G.js +0 -7
- package/dist/esm/chunks/chunk.RCSBJQ4G.js.map +0 -7
- package/dist/esm/chunks/chunk.RDW7Z4W5.js +0 -7
- package/dist/esm/chunks/chunk.SNF35Y6C.js +0 -7
- package/dist/esm/chunks/chunk.SNF35Y6C.js.map +0 -7
- package/dist/esm/chunks/chunk.SOLF23NC.js +0 -7
- package/dist/esm/chunks/chunk.T34DG7BU.js +0 -7
- package/dist/esm/chunks/chunk.TA3MVDUU.js +0 -7
- package/dist/esm/chunks/chunk.TA3MVDUU.js.map +0 -7
- package/dist/esm/chunks/chunk.UWZWXNTW.js +0 -7
- package/dist/esm/chunks/chunk.UWZWXNTW.js.map +0 -7
- package/dist/esm/chunks/chunk.VD5ZL5ZN.js +0 -7
- package/dist/esm/chunks/chunk.WQGPIOL6.js +0 -7
- package/dist/esm/chunks/chunk.WQGPIOL6.js.map +0 -7
- package/dist/esm/chunks/chunk.XDANTL6C.js +0 -7
- package/dist/esm/chunks/chunk.XNCBGWE4.js +0 -7
- package/dist/esm/chunks/chunk.XNCBGWE4.js.map +0 -7
- package/dist/esm/chunks/chunk.ZSD7MMVB.js +0 -7
- package/dist/esm/chunks/chunk.ZSD7MMVB.js.map +0 -7
- package/dist/esm/chunks/chunk.ZVJMIBUM.js +0 -7
- package/dist/esm/chunks/chunk.ZVJMIBUM.js.map +0 -7
- package/dist/tooltip/forge-tooltip.css +0 -6
- package/esm/radio/radio-adapter.d.ts +0 -71
- package/esm/radio/radio-adapter.js +0 -260
- package/esm/radio/radio-constants.d.ts +0 -30
- package/esm/radio/radio-constants.js +0 -36
- package/esm/radio/radio-foundation.d.ts +0 -31
- package/esm/radio/radio-foundation.js +0 -80
- package/esm/radio/radio.d.ts +0 -33
- package/esm/radio/radio.js +0 -75
- 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/app-bar/search/_mixins.scss +0 -238
- package/styles/app-bar/search/_variables.scss +0 -18
- 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/_mixins.scss +0 -309
- package/styles/radio/_radio-theme.scss +0 -314
- package/styles/radio/radio.scss +0 -19
- package/styles/split-button/_configuration.scss +0 -12
- package/styles/state-layer/_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.PSTGTQVK.js.map → chunk.2JCTFKCR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4B5IOZAT.js.map → chunk.2YE556AM.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YKZ25J6B.js.map → chunk.3U6A353B.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.LXX3YZYS.js.map → chunk.436USWLL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KLPF4CNX.js.map → chunk.4GMGQZOW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.Z7PBGV4K.js.map → chunk.4JB3SESQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QFY23EWU.js.map → chunk.4JL5LW5J.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NYYXUH3X.js.map → chunk.55D2BMXX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.A72W7RW7.js.map → chunk.5LCWC3A7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RYNQDXFA.js.map → chunk.5T7TT3AB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HHHBS6FB.js.map → chunk.B53Q676I.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.B46Q3AFP.js.map → chunk.BKQSLDMK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.F2EBSV5Z.js.map → chunk.BZVLSWZR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BMQYEYCT.js.map → chunk.DGG5ABL3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PK7R6WDF.js.map → chunk.DPIWAXEW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7PP6QHOM.js.map → chunk.ETDUW5K2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GHR7T6U2.js.map → chunk.FGHSNC2V.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.P7LC3YYW.js.map → chunk.FPRBYGET.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7W2UWAZX.js.map → chunk.FQVR2QNF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IEB5KRFQ.js.map → chunk.FWWBFNQA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.543K5Y4E.js.map → chunk.FZELFLPE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.6Q3SV2R2.js.map → chunk.FZZUNYH5.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CTZ3AWDW.js.map → chunk.GLUKTMQU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.W324TWF2.js.map → chunk.GTBCTNMI.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.L4Y4RO5O.js.map → chunk.GURV4TDZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.THWSN3X4.js.map → chunk.IA27LU2O.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.TZFUKJ24.js.map → chunk.JXJVPJRO.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.Z2RB75TN.js.map → chunk.K3STAW42.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.G2BNY5QQ.js.map → chunk.KPC6IS3C.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.VDZ7HBKM.js.map → chunk.KV7PGQJ7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OYO5O3NF.js.map → chunk.M5JGYRH4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.T34DG7BU.js.map → chunk.N75VD4S4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.H7GW57Q6.js.map → chunk.NKEAMFO4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.26E4L52W.js.map → chunk.NW54VA4E.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PADPL4L3.js.map → chunk.OUIWXKO2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.I3NHK2S3.js.map → chunk.OXVCCHM5.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7ABZUBTT.js.map → chunk.P5XHGSJY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NZKIFXBU.js.map → chunk.QKTNCOVX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NG6UZ4OL.js.map → chunk.QZ57WM3D.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OED5UCYT.js.map → chunk.R2QENXIL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DOEG3DWJ.js.map → chunk.RDQ3QGWS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GS72TBUD.js.map → chunk.RFKKHN7V.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.57PXXJA6.js.map → chunk.RKG66YKS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.LMIKNDBS.js.map → chunk.T235SNYZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SOLF23NC.js.map → chunk.VGIZJ32U.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.U5WMRBSC.js.map → chunk.WA2YP4NC.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5C24LZNU.js.map → chunk.WQHKUNR7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7UXLLUTN.js.map → chunk.X57DRPFB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DDXIHZFX.js.map → chunk.X7YTDVNT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7DHDFH5L.js.map → chunk.XOH2JCRS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KVCDAZ6B.js.map → chunk.YTBNAGLS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RZZBM3AW.js.map → chunk.ZHMV5SR4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GWJ4QCSW.js.map → chunk.ZLACSRD4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DTKFE7YB.js.map → chunk.ZUTQPJ2B.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PQQVUUHU.js.map → chunk.ZYCKD6K5.js.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as T,b as B,c as A,d as w}from"./chunk.S32JKL3M.js";import{d as E}from"./chunk.5LCWC3A7.js";import{a as k,l as I}from"./chunk.4JB3SESQ.js";import{p as x}from"./chunk.HJUFU2PV.js";import{a as y}from"./chunk.OUIWXKO2.js";import{a as c}from"./chunk.NVUMRW44.js";import{a as m,b as p,d as _}from"./chunk.RRNSZCVJ.js";import{a as v,e as h}from"./chunk.TPXXHX5J.js";import{f as b}from"./chunk.HZUQXCOQ.js";import{k as u}from"./chunk.J2M2MXP2.js";import{a as f,b as d,d as i}from"./chunk.M3QDAYD2.js";var C=`${p}icon-button`,N={TOGGLE:"toggle",ON:"on",VARIANT:"variant",THEME:"theme",SHAPE:"shape",DENSITY:"density"},z=d(f({},N),{ARIA_PRESSED:"aria-pressed"}),O={TOGGLE:`${C}-toggle`},H={DEFAULT_VARIANT:"icon",DEFAULT_THEME:"primary",DEFAULT_SHAPE:"circular",DEFAULT_DENSITY:"large"},t={elementName:C,observedAttributes:N,attributes:z,events:O,defaults:H};var g=class extends A{constructor(o){super(o);this._toggle=!1;this._on=!1;this._variant=t.defaults.DEFAULT_VARIANT;this._theme=t.defaults.DEFAULT_THEME;this._shape=t.defaults.DEFAULT_SHAPE;this._density=t.defaults.DEFAULT_DENSITY}async _onClick(o){this._toggle&&this._onToggle(),super._onClick(o)}_onToggle(){let o=this._on;this._on=!this._on;let e=!this._adapter.emitHostEvent(t.events.TOGGLE,this.on,!0,!0);this._on=o,!e&&(this.on=!o)}get toggle(){return this._toggle}set toggle(o){o=!!o,this._toggle!==o&&(this._toggle=o,this._adapter.toggleHostAttribute(t.attributes.ARIA_PRESSED,this._toggle,`${this._on}`),this._adapter.toggleHostAttribute(t.attributes.TOGGLE,this._toggle))}get on(){return this._on}set on(o){o=!!o,this._on!==o&&(this._on=o,this._toggle?this._adapter.setHostAttribute(t.attributes.ARIA_PRESSED,`${this._on}`):this._adapter.removeHostAttribute(t.attributes.ARIA_PRESSED),this._adapter.toggleHostAttribute(t.attributes.ON,this._on))}get variant(){return this._variant}set variant(o){o=o!=null?o:t.defaults.DEFAULT_VARIANT,this._variant!==o&&(this._variant=o,this._variant!==t.defaults.DEFAULT_VARIANT?this._adapter.setHostAttribute(t.attributes.VARIANT,this._variant):this._adapter.removeHostAttribute(t.attributes.VARIANT))}get theme(){return this._theme}set theme(o){o=o!=null?o:t.defaults.DEFAULT_THEME,this._theme!==o&&(this._theme=o,this._theme!==t.defaults.DEFAULT_THEME?this._adapter.setHostAttribute(t.attributes.THEME,this._theme):this._adapter.removeHostAttribute(t.attributes.THEME))}get shape(){return this._shape}set shape(o){o=o!=null?o:t.defaults.DEFAULT_SHAPE,this._shape!==o&&(this._shape=o,this._shape!==t.defaults.DEFAULT_SHAPE?this._adapter.setHostAttribute(t.attributes.SHAPE,this._shape):this._adapter.removeHostAttribute(t.attributes.SHAPE))}get density(){return this._density}set density(o){o=o!=null?o:t.defaults.DEFAULT_DENSITY,this._density!==o&&(this._density=o,this._density!==t.defaults.DEFAULT_DENSITY?this._adapter.setHostAttribute(t.attributes.DENSITY,this._density):this._adapter.removeHostAttribute(t.attributes.DENSITY))}};var l=class extends w{constructor(a){super(a)}};var L='<template><div class="forge-icon-button" part="root"><slot name="start"></slot><slot></slot><slot name="on"></slot><slot name="end"></slot><slot name="badge"></slot><forge-focus-indicator target=":host" part="focus-indicator"></forge-focus-indicator><forge-state-layer target=":host" exportparts="surface:state-layer"></forge-state-layer></div></template>',F=":host{--_icon-button-display:var(--forge-icon-button-display, inline-flex);--_icon-button-disabled-cursor:var(--forge-icon-button-disabled-cursor, not-allowed)}:host{display:var(--_icon-button-display);position:relative;outline:0;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}.forge-icon-button{--_icon-button-size:var(--forge-icon-button-size, 48px);--_icon-button-gap:var(--forge-icon-button-gap, 0);--_icon-button-icon-color:var(--forge-icon-button-icon-color, currentColor);--_icon-button-background-color:var(--forge-icon-button-background-color, none);--_icon-button-icon-size:var(--forge-icon-button-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.5));--_icon-button-cursor:var(--forge-icon-button-cursor, pointer);--_icon-button-padding:var(--forge-icon-button-padding, var(--forge-spacing-xxsmall, 4px));--_icon-button-border:var(--forge-icon-button-border, none);--_icon-button-shadow:var(--forge-icon-button-shadow, none);--_icon-button-transition-duration:var(--forge-icon-button-transition-duration, var(--forge-animation-duration-short3, 150ms));--_icon-button-transition-timing:var(--forge-icon-button-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_icon-button-shape:var(--forge-icon-button-shape, var(--forge-shape-full, 9999px));--_icon-button-shape-start-start:var(--forge-icon-button-shape-start-start, var(--_icon-button-shape));--_icon-button-shape-start-end:var(--forge-icon-button-shape-start-end, var(--_icon-button-shape));--_icon-button-shape-end-start:var(--forge-icon-button-shape-end-start, var(--_icon-button-shape));--_icon-button-shape-end-end:var(--forge-icon-button-shape-end-end, var(--_icon-button-shape));--_icon-button-shape-squared:var(--forge-icon-button-shape-squared, var(--forge-shape-medium, 4px));--_icon-button-outlined-border-width:var(--forge-icon-button-outlined-border-width, 1px);--_icon-button-outlined-border-style:var(--forge-icon-button-outlined-border-style, solid);--_icon-button-outlined-border-color:var(--forge-icon-button-outlined-border-color, var(--_icon-button-icon-color));--_icon-button-tonal-icon-color:var(--forge-icon-button-tonal-icon-color, var(--forge-theme-on-primary-container, #222c62));--_icon-button-tonal-background-color:var(--forge-icon-button-tonal-background-color, var(--forge-theme-primary-container, #d1d5ed));--_icon-button-filled-icon-color:var(--forge-icon-button-filled-icon-color, var(--forge-theme-on-primary, #ffffff));--_icon-button-filled-background-color:var(--forge-icon-button-filled-background-color, var(--forge-theme-primary, #3f51b5));--_icon-button-raised-shadow:var(--forge-icon-button-raised-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));--_icon-button-raised-hover-shadow:var(--forge-icon-button-raised-hover-shadow, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12));--_icon-button-raised-active-shadow:var(--forge-icon-button-raised-active-shadow, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12));--_icon-button-raised-disabled-shadow:var(--forge-icon-button-raised-disabled-shadow, none);--_icon-button-density-small-size:var(--forge-icon-button-density-small-size, 24px);--_icon-button-density-small-padding:var(--forge-icon-button-density-small-padding, var(--forge-spacing-xxxsmall, 2px));--_icon-button-density-small-icon-size:var(--forge-icon-button-density-small-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.125));--_icon-button-density-medium-size:var(--forge-icon-button-density-medium-size, 36px);--_icon-button-density-medium-padding:var(--forge-icon-button-density-medium-padding, var(--forge-spacing-xxsmall, 4px));--_icon-button-density-large-size:var(--forge-icon-button-density-large-size, var(--_icon-button-size));--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-primary-container, #d1d5ed));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5));--_icon-button-tonal-toggle-background-color:var(--forge-icon-button-tonal-toggle-background-color, var(--forge-theme-surface-container-low, #ebebeb));--_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-primary-container, #d1d5ed));--_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5));--_icon-button-filled-toggle-background-color:var(--forge-icon-button-filled-toggle-background-color, var(--forge-theme-surface-container-low, #ebebeb));--_icon-button-filled-toggle-icon-color:var(--forge-icon-button-filled-toggle-icon-color, var(--forge-theme-primary, #3f51b5));--_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-primary, #3f51b5));--_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-primary, #ffffff));--_icon-button-disabled-opacity:var(--forge-icon-button-disabled-opacity, 0.38);--_icon-button-popover-icon-padding:var(--forge-icon-button-popover-icon-padding, var(--forge-spacing-xsmall, 8px));--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-primary, #3f51b5))}.forge-icon-button{position:relative;z-index:0;display:var(--_icon-button-display);-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;gap:var(--_icon-button-gap);-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--_icon-button-density-large-size);min-width:var(--_icon-button-density-large-size);border:var(--_icon-button-border);border-start-start-radius:var(--_icon-button-shape-start-start);border-start-end-radius:var(--_icon-button-shape-start-end);border-end-start-radius:var(--_icon-button-shape-end-start);border-end-end-radius:var(--_icon-button-shape-end-end);padding:var(--_icon-button-padding);-webkit-box-shadow:var(--_icon-button-shadow);box-shadow:var(--_icon-button-shadow);color:var(--_icon-button-icon-color);background:var(--_icon-button-background-color);font-size:var(--_icon-button-icon-size);cursor:var(--_icon-button-cursor);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition-property:background,-webkit-box-shadow;transition-property:background,-webkit-box-shadow;transition-property:box-shadow,background;transition-property:box-shadow,background,-webkit-box-shadow;-webkit-transition-duration:var(--_icon-button-transition-duration);transition-duration:var(--_icon-button-transition-duration);-webkit-transition-timing-function:var(--_icon-button-transition-timing);transition-timing-function:var(--_icon-button-transition-timing)}.forge-icon-button ::slotted(:is([slot=start],[slot=end])){font-size:var(--_icon-button-icon-size);height:var(--_icon-button-icon-size);width:var(--_icon-button-icon-size);font-weight:inherit}a{position:absolute;inset:0;text-decoration:none}forge-focus-indicator{--forge-focus-indicator-color:var(--_icon-button-focus-indicator-color);--forge-focus-indicator-shape-start-start:var(--_icon-button-shape-start-start);--forge-focus-indicator-shape-start-end:var(--_icon-button-shape-start-end);--forge-focus-indicator-shape-end-start:var(--_icon-button-shape-end-start);--forge-focus-indicator-shape-end-end:var(--_icon-button-shape-end-end)}:host(:is([variant=icon],:not([variant]))){--forge-focus-indicator-outward-offset:0px}forge-state-layer{--forge-state-layer-color:var(--_icon-button-icon-color)}:host([popover-icon]) .forge-icon-button{--_icon-button-padding:var(--_icon-button-popover-icon-padding)}:host([variant=outlined]) .forge-icon-button{border-width:var(--_icon-button-outlined-border-width);border-style:var(--_icon-button-outlined-border-style);border-color:var(--_icon-button-outlined-border-color)}:host([variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--_icon-button-tonal-icon-color);--_icon-button-background-color:var(--_icon-button-tonal-background-color)}:host(:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--_icon-button-filled-icon-color);--_icon-button-background-color:var(--_icon-button-filled-background-color)}:host([variant=raised]) .forge-icon-button{--_icon-button-shadow:var(--_icon-button-raised-shadow)}:host([variant=raised]) .forge-icon-button:hover{--_icon-button-raised-shadow:var(--_icon-button-raised-hover-shadow)}:host([variant=raised]) .forge-icon-button:active{--_icon-button-raised-shadow:var(--_icon-button-raised-active-shadow)}:host(:is(:not([toggle]),[toggle]:not([on]))) slot[name=on]{display:none}:host([toggle][on]) slot:not([name]){display:none}:host([toggle][on]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-icon-color:var(--_icon-button-toggle-on-icon-color)}:host([toggle][on][variant=outlined]) .forge-icon-button{--_icon-button-background-color:var(--_icon-button-outlined-toggle-on-background-color);--_icon-button-icon-color:var(--_icon-button-outlined-toggle-on-icon-color)}:host([toggle]:not([on])[variant=tonal]) .forge-icon-button{--_icon-button-background-color:var(--_icon-button-tonal-toggle-background-color)}:host([toggle][on][variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--_icon-button-tonal-toggle-on-icon-color);--_icon-button-background-color:var(--_icon-button-tonal-toggle-on-background-color)}:host([toggle]:not([on]):is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--_icon-button-filled-toggle-icon-color);--_icon-button-background-color:var(--_icon-button-filled-toggle-background-color)}:host([toggle][on]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--_icon-button-filled-toggle-on-icon-color);--_icon-button-background-color:var(--_icon-button-filled-toggle-on-background-color)}::slotted([slot=badge]){position:absolute;top:0;left:60%;z-index:1;pointer-events:none}::slotted(forge-badge[slot=badge][dot]){top:8px}:host(:is([dense],[density=small],[density=medium])) ::slotted(forge-badge[slot=badge]:not([dot])){top:-25%}:host(:is([dense],[density=small],[density=medium])) ::slotted(forge-badge[slot=badge][dot]){top:0}::slotted(forge-circular-progress){--forge-circular-progress-indicator-color:var(--_icon-button-icon-color);--forge-circular-progress-track-color:transparent;--forge-circular-progress-size:1em}:host(:is([dense],[density=small])) .forge-icon-button{--_icon-button-size:var(--_icon-button-density-small-size);--_icon-button-icon-size:var(--_icon-button-density-small-icon-size);--_icon-button-padding:var(--_icon-button-density-small-padding)}:host(:is([dense],[density=small])) ::slotted(*){font-size:var(--_icon-button-density-small-icon-size)}:host([density=medium]) .forge-icon-button{--_icon-button-size:var(--_icon-button-density-medium-size);--_icon-button-padding:var(--_icon-button-density-medium-padding)}:host([shape=squared]) .forge-icon-button{--_icon-button-shape:var(--_icon-button-shape-squared)}:host([disabled]){cursor:var(--_icon-button-disabled-cursor)}:host([disabled]) .forge-icon-button{pointer-events:none;opacity:var(--_icon-button-disabled-opacity)}:host([disabled][variant=raised]) .forge-icon-button{--_icon-button-raised-shadow:var(--_icon-button-raised-disabled-shadow)}:host(:not([toggle])[theme=primary]:is(:not([variant]),[variant=icon],[variant=outlined])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-primary, #3f51b5))}:host([toggle][theme=primary]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5))}:host([toggle][theme=primary][variant=outlined]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-primary, #3f51b5));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-primary-container, #d1d5ed));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5))}:host([theme=primary]) .forge-icon-button{--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-primary, #3f51b5))}:host(:not([toggle])[theme=secondary]:is(:not([variant]),[variant=icon],[variant=outlined])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-secondary, #ffc107))}:host([toggle][theme=secondary]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-secondary, #ffc107))}:host([toggle][theme=secondary][variant=outlined]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-secondary, #ffc107));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-secondary-container, #fff0c3));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-secondary, #ffc107))}:host(:not([toggle])[theme=secondary][variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-secondary-container, #8a6804));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-secondary-container, #fff0c3))}:host([toggle]:not([on])[theme=secondary][variant=tonal]) .forge-icon-button{--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-secondary-container, #fff0c3))}:host([toggle][theme=secondary][variant=tonal]) .forge-icon-button{--_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-secondary-container, #fff0c3));--_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-on-secondary-container, #8a6804))}:host(:not([toggle])[theme=secondary]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-secondary, #000000));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-secondary, #ffc107))}:host([toggle]:not([on])[theme=secondary]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-secondary, #ffc107));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-secondary-container, #fff0c3))}:host([toggle][theme=secondary]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-secondary, #ffc107));--_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-secondary, #000000))}:host([theme=secondary]) .forge-icon-button{--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-secondary, #ffc107))}:host(:not([toggle])[theme=tertiary]:is(:not([variant]),[variant=icon],[variant=outlined])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-tertiary, #3d5afe))}:host([toggle][theme=tertiary]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-tertiary, #3d5afe))}:host([toggle][theme=tertiary][variant=outlined]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-tertiary, #3d5afe));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-tertiary-container, #d0d7ff));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-tertiary, #3d5afe))}:host(:not([toggle])[theme=tertiary][variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-tertiary-container, #213189));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-tertiary-container, #d0d7ff))}:host([toggle]:not([on])[theme=tertiary][variant=tonal]) .forge-icon-button{--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-tertiary-container, #d0d7ff))}:host([toggle][theme=tertiary][variant=tonal]) .forge-icon-button{--_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-tertiary-container, #d0d7ff));--_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-on-tertiary-container, #213189))}:host(:not([toggle])[theme=tertiary]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-tertiary, #ffffff));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-tertiary, #3d5afe))}:host([toggle]:not([on])[theme=tertiary]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-tertiary, #3d5afe));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-tertiary-container, #d0d7ff))}:host([toggle][theme=tertiary]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-tertiary, #3d5afe));--_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-tertiary, #ffffff))}:host([theme=tertiary]) .forge-icon-button{--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-tertiary, #3d5afe))}:host(:not([toggle])[theme=success]:is(:not([variant]),[variant=icon],[variant=outlined])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-success, #2e7d32))}:host([toggle][theme=success]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-success, #2e7d32))}:host([toggle][theme=success][variant=outlined]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-success, #2e7d32));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-success-container, #cde0ce));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-success, #2e7d32))}:host(:not([toggle])[theme=success][variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-success-container, #19441b));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-success-container, #cde0ce))}:host([toggle]:not([on])[theme=success][variant=tonal]) .forge-icon-button{--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-success-container, #cde0ce))}:host([toggle][theme=success][variant=tonal]) .forge-icon-button{--_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-success-container, #cde0ce));--_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-on-success-container, #19441b))}:host(:not([toggle])[theme=success]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-success, #ffffff));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-success, #2e7d32))}:host([toggle]:not([on])[theme=success]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-success, #2e7d32));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-success-container, #cde0ce))}:host([toggle][theme=success]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-success, #2e7d32));--_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-success, #ffffff))}:host([theme=success]) .forge-icon-button{--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-success, #2e7d32))}:host(:not([toggle])[theme=error]:is(:not([variant]),[variant=icon],[variant=outlined])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-error, #b00020))}:host([toggle][theme=error]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-error, #b00020))}:host([toggle][theme=error][variant=outlined]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-error, #b00020));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-error-container, #ecc2c9));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-error, #b00020))}:host(:not([toggle])[theme=error][variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-error-container, #5f0011));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-error-container, #ecc2c9))}:host([toggle]:not([on])[theme=error][variant=tonal]) .forge-icon-button{--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-error-container, #ecc2c9))}:host([toggle][theme=error][variant=tonal]) .forge-icon-button{--_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-error-container, #ecc2c9));--_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-on-error-container, #5f0011))}:host(:not([toggle])[theme=error]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-error, #ffffff));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-error, #b00020))}:host([toggle]:not([on])[theme=error]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-error, #b00020));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-error-container, #ecc2c9))}:host([toggle][theme=error]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-error, #b00020));--_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-error, #ffffff))}:host([theme=error]) .forge-icon-button{--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-error, #b00020))}:host(:not([toggle])[theme=warning]:is(:not([variant]),[variant=icon],[variant=outlined])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-warning, #d14900))}:host([toggle][theme=warning]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-warning, #d14900))}:host([toggle][theme=warning][variant=outlined]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-warning, #d14900));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-warning-container, #f4d3c2));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-warning, #d14900))}:host(:not([toggle])[theme=warning][variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-warning-container, #712700));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-warning-container, #f4d3c2))}:host([toggle]:not([on])[theme=warning][variant=tonal]) .forge-icon-button{--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-warning-container, #f4d3c2))}:host([toggle][theme=warning][variant=tonal]) .forge-icon-button{--_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-warning-container, #f4d3c2));--_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-on-warning-container, #712700))}:host(:not([toggle])[theme=warning]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-warning, #ffffff));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-warning, #d14900))}:host([toggle]:not([on])[theme=warning]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-warning, #d14900));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-warning-container, #f4d3c2))}:host([toggle][theme=warning]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-warning, #d14900));--_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-warning, #ffffff))}:host([theme=warning]) .forge-icon-button{--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-warning, #d14900))}:host(:not([toggle])[theme=info]:is(:not([variant]),[variant=icon],[variant=outlined])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-info, #1565c0))}:host([toggle][theme=info]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-info, #1565c0))}:host([toggle][theme=info][variant=outlined]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-info, #1565c0));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-info-container, #c7daf0));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-info, #1565c0))}:host(:not([toggle])[theme=info][variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-info-container, #0b3768));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-info-container, #c7daf0))}:host([toggle]:not([on])[theme=info][variant=tonal]) .forge-icon-button{--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-info-container, #c7daf0))}:host([toggle][theme=info][variant=tonal]) .forge-icon-button{--_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-info-container, #c7daf0));--_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-on-info-container, #0b3768))}:host(:not([toggle])[theme=info]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-info, #ffffff));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-info, #1565c0))}:host([toggle]:not([on])[theme=info]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-info, #1565c0));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-info-container, #c7daf0))}:host([toggle][theme=info]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-info, #1565c0));--_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-info, #ffffff))}:host([theme=info]) .forge-icon-button{--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-info, #1565c0))}",r=class extends B{constructor(){super();h(this,L,F),this._foundation=new g(new l(this))}static get observedAttributes(){return[...Object.values(T.observedAttributes),...Object.values(t.observedAttributes)]}attributeChangedCallback(o,e,n){switch(o){case t.attributes.TOGGLE:this.toggle=u(n);break;case t.attributes.ON:this.on=u(n);break;case t.attributes.VARIANT:this.variant=n;break;case t.attributes.THEME:this.theme=n;break;case t.attributes.SHAPE:this.shape=n;break;case t.attributes.DENSITY:this.density=n;break}super.attributeChangedCallback(o,e,n)}};i([c()],r.prototype,"toggle",2),i([c()],r.prototype,"on",2),i([c()],r.prototype,"theme",2),i([c()],r.prototype,"variant",2),i([c()],r.prototype,"shape",2),i([c()],r.prototype,"density",2),r=i([m({name:t.elementName,dependencies:[E,x,I]})],r);var S=class extends y{constructor(o){super(o)}_build(){var e;let o=document.createElement(t.elementName);if((e=this._config.options)!=null&&e.tooltip){let n=document.createElement("forge-tooltip");n.textContent=this._config.options.tooltip,this._config.options.tooltipPosition&&(n.placement=this._config.options.tooltipPosition),o.appendChild(n)}return o}get iconElement(){return this._iconElement}get disabled(){return!!this._element.disabled}set disabled(o){this._element.disabled=o}_configure(){this._configureIcon()}_configureIcon(){var e,n;if(!((e=this._config.options)!=null&&e.iconName))return;switch(((n=this._config.options)==null?void 0:n.iconType)||"component"){case"font":let D=Array.isArray(this._config.options.iconClass)?this._config.options.iconClass:[_];b(D,this._element),this._element.textContent=this._config.options.iconName;break;case"component":this._iconElement=document.createElement(k.elementName),this._iconElement.name=this._config.options.iconName,this._config.options.iconExternal!==void 0&&(this._iconElement.external=!!this._config.options.iconExternal),this._config.options.iconExternalType&&(this._iconElement.externalType=this._config.options.iconExternalType),this._config.options.iconClass&&b(this._config.options.iconClass,this._iconElement),this._element.appendChild(this._iconElement);break}}onClick(o){this._element.addEventListener("click",o)}onFocus(o){this._element.addEventListener("focus",e=>o(e))}onBlur(o){this._element.addEventListener("blur",e=>o(e))}};function Co(){v(r)}export{t as a,g as b,l as c,r as d,S as e,Co as f};
|
|
7
|
+
//# sourceMappingURL=chunk.GTGXHY4A.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/icon-button/icon-button-constants.ts", "../../src/icon-button/icon-button-foundation.ts", "../../src/icon-button/icon-button-adapter.ts", "../../src/icon-button/icon-button.ts", "../../src/icon-button/icon-button-component-delegate.ts", "../../src/icon-button/index.ts"],
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX, Density, Theme } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}icon-button`;\n\nconst observedAttributes = {\n TOGGLE: 'toggle',\n ON: 'on',\n VARIANT: 'variant',\n THEME: 'theme',\n SHAPE: 'shape',\n DENSITY: 'density'\n};\n\nconst attributes = {\n ...observedAttributes,\n ARIA_PRESSED: 'aria-pressed'\n};\n\nconst events = {\n TOGGLE: `${elementName}-toggle`\n};\n\nconst defaults = {\n DEFAULT_VARIANT: 'icon' as IconButtonVariant,\n DEFAULT_THEME: 'primary' as IconButtonTheme,\n DEFAULT_SHAPE: 'circular' as IconButtonShape,\n DEFAULT_DENSITY: 'large' as IconButtonDensity\n};\n\nexport const ICON_BUTTON_CONSTANTS = {\n elementName,\n observedAttributes,\n attributes,\n events,\n defaults\n};\n\nexport type IconButtonVariant = 'icon' | 'outlined' | 'tonal' | 'filled' | 'raised';\nexport type IconButtonTheme = Theme;\nexport type IconButtonShape = 'circular' | 'squared';\nexport type IconButtonDensity = Density;\n", "import { BaseButtonFoundation, IBaseButtonFoundation } from '../button/base/base-button-foundation';\nimport { IIconButtonAdapter } from './icon-button-adapter';\nimport { IconButtonDensity, IconButtonShape, IconButtonTheme, IconButtonVariant, ICON_BUTTON_CONSTANTS } from './icon-button-constants';\n\nexport interface IIconButtonFoundation extends IBaseButtonFoundation {\n toggle: boolean;\n on: boolean;\n variant: IconButtonVariant;\n theme: IconButtonTheme;\n shape: IconButtonShape;\n density: IconButtonDensity;\n}\n\nexport class IconButtonFoundation extends BaseButtonFoundation<IIconButtonAdapter> implements IIconButtonFoundation {\n private _toggle = false;\n private _on = false;\n private _variant: IconButtonVariant = ICON_BUTTON_CONSTANTS.defaults.DEFAULT_VARIANT;\n private _theme: IconButtonTheme = ICON_BUTTON_CONSTANTS.defaults.DEFAULT_THEME;\n private _shape: IconButtonShape = ICON_BUTTON_CONSTANTS.defaults.DEFAULT_SHAPE;\n private _density: IconButtonDensity = ICON_BUTTON_CONSTANTS.defaults.DEFAULT_DENSITY;\n\n constructor(adapter: IIconButtonAdapter) {\n super(adapter);\n }\n\n protected override async _onClick(evt: MouseEvent): Promise<void> {\n if (this._toggle) {\n this._onToggle();\n }\n super._onClick(evt);\n }\n\n private _onToggle(): void {\n // Update internal state first so listeners can access the new state\n const originalOn = this._on;\n this._on = !this._on;\n\n const cancelled = !this._adapter.emitHostEvent(ICON_BUTTON_CONSTANTS.events.TOGGLE, this.on, true, true);\n this._on = originalOn;\n\n if (cancelled) {\n return;\n }\n\n this.on = !originalOn;\n }\n\n public get toggle(): boolean {\n return this._toggle;\n }\n public set toggle(value: boolean) {\n value = !!value;\n if (this._toggle !== value) {\n this._toggle = value;\n this._adapter.toggleHostAttribute(ICON_BUTTON_CONSTANTS.attributes.ARIA_PRESSED, this._toggle, `${this._on}`);\n this._adapter.toggleHostAttribute(ICON_BUTTON_CONSTANTS.attributes.TOGGLE, this._toggle);\n }\n }\n\n public get on(): boolean {\n return this._on;\n }\n public set on(value: boolean) {\n value = !!value;\n if (this._on !== value) {\n this._on = value;\n \n if (this._toggle) {\n this._adapter.setHostAttribute(ICON_BUTTON_CONSTANTS.attributes.ARIA_PRESSED, `${this._on}`);\n } else {\n this._adapter.removeHostAttribute(ICON_BUTTON_CONSTANTS.attributes.ARIA_PRESSED);\n }\n\n this._adapter.toggleHostAttribute(ICON_BUTTON_CONSTANTS.attributes.ON, this._on);\n }\n }\n\n public get variant(): IconButtonVariant {\n return this._variant;\n }\n public set variant(value: IconButtonVariant) {\n value = value ?? ICON_BUTTON_CONSTANTS.defaults.DEFAULT_VARIANT;\n if (this._variant !== value) {\n this._variant = value;\n\n if (this._variant !== ICON_BUTTON_CONSTANTS.defaults.DEFAULT_VARIANT) {\n this._adapter.setHostAttribute(ICON_BUTTON_CONSTANTS.attributes.VARIANT, this._variant);\n } else {\n this._adapter.removeHostAttribute(ICON_BUTTON_CONSTANTS.attributes.VARIANT);\n }\n }\n }\n\n public get theme(): IconButtonTheme {\n return this._theme;\n }\n public set theme(value: IconButtonTheme) {\n value = value ?? ICON_BUTTON_CONSTANTS.defaults.DEFAULT_THEME;\n if (this._theme !== value) {\n this._theme = value;\n\n if (this._theme !== ICON_BUTTON_CONSTANTS.defaults.DEFAULT_THEME) {\n this._adapter.setHostAttribute(ICON_BUTTON_CONSTANTS.attributes.THEME, this._theme);\n } else {\n this._adapter.removeHostAttribute(ICON_BUTTON_CONSTANTS.attributes.THEME);\n }\n }\n }\n\n public get shape(): IconButtonShape {\n return this._shape;\n }\n public set shape(value: IconButtonShape) {\n value = value ?? ICON_BUTTON_CONSTANTS.defaults.DEFAULT_SHAPE;\n if (this._shape !== value) {\n this._shape = value;\n\n if (this._shape !== ICON_BUTTON_CONSTANTS.defaults.DEFAULT_SHAPE) {\n this._adapter.setHostAttribute(ICON_BUTTON_CONSTANTS.attributes.SHAPE, this._shape);\n } else {\n this._adapter.removeHostAttribute(ICON_BUTTON_CONSTANTS.attributes.SHAPE);\n }\n }\n }\n\n public get density(): IconButtonDensity {\n return this._density;\n }\n public set density(value: IconButtonDensity) {\n value = value ?? ICON_BUTTON_CONSTANTS.defaults.DEFAULT_DENSITY;\n if (this._density !== value) {\n this._density = value;\n\n if (this._density !== ICON_BUTTON_CONSTANTS.defaults.DEFAULT_DENSITY) {\n this._adapter.setHostAttribute(ICON_BUTTON_CONSTANTS.attributes.DENSITY, this._density);\n } else {\n this._adapter.removeHostAttribute(ICON_BUTTON_CONSTANTS.attributes.DENSITY);\n }\n }\n }\n}\n", "import { BaseButtonAdapter, IBaseButtonAdapter } from '../button/base/base-button-adapter';\nimport { IIconButtonComponent } from './icon-button';\n\nexport interface IIconButtonAdapter extends IBaseButtonAdapter {}\n\nexport class IconButtonAdapter extends BaseButtonAdapter implements IIconButtonAdapter {\n constructor(component: IIconButtonComponent) {\n super(component);\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { IconComponent } from '../icon';\nimport { BaseButton, IBaseButton } from '../button/base/base-button';\nimport { BASE_BUTTON_CONSTANTS } from '../button/base/base-button-constants';\nimport { FocusIndicatorComponent } from '../focus-indicator';\nimport { StateLayerComponent } from '../state-layer';\nimport { IconButtonDensity, IconButtonShape, IconButtonTheme, IconButtonVariant, ICON_BUTTON_CONSTANTS } from './icon-button-constants';\nimport { IconButtonFoundation } from './icon-button-foundation';\nimport { IconButtonAdapter } from './icon-button-adapter';\n\nconst template = '<template><div class=\\\"forge-icon-button\\\" part=\\\"root\\\"><slot name=\\\"start\\\"></slot><slot></slot><slot name=\\\"on\\\"></slot><slot name=\\\"end\\\"></slot><slot name=\\\"badge\\\"></slot><forge-focus-indicator target=\\\":host\\\" part=\\\"focus-indicator\\\"></forge-focus-indicator><forge-state-layer target=\\\":host\\\" exportparts=\\\"surface:state-layer\\\"></forge-state-layer></div></template>';\nconst styles = ':host{--_icon-button-display:var(--forge-icon-button-display, inline-flex);--_icon-button-disabled-cursor:var(--forge-icon-button-disabled-cursor, not-allowed)}:host{display:var(--_icon-button-display);position:relative;outline:0;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}.forge-icon-button{--_icon-button-size:var(--forge-icon-button-size, 48px);--_icon-button-gap:var(--forge-icon-button-gap, 0);--_icon-button-icon-color:var(--forge-icon-button-icon-color, currentColor);--_icon-button-background-color:var(--forge-icon-button-background-color, none);--_icon-button-icon-size:var(--forge-icon-button-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.5));--_icon-button-cursor:var(--forge-icon-button-cursor, pointer);--_icon-button-padding:var(--forge-icon-button-padding, var(--forge-spacing-xxsmall, 4px));--_icon-button-border:var(--forge-icon-button-border, none);--_icon-button-shadow:var(--forge-icon-button-shadow, none);--_icon-button-transition-duration:var(--forge-icon-button-transition-duration, var(--forge-animation-duration-short3, 150ms));--_icon-button-transition-timing:var(--forge-icon-button-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_icon-button-shape:var(--forge-icon-button-shape, var(--forge-shape-full, 9999px));--_icon-button-shape-start-start:var(--forge-icon-button-shape-start-start, var(--_icon-button-shape));--_icon-button-shape-start-end:var(--forge-icon-button-shape-start-end, var(--_icon-button-shape));--_icon-button-shape-end-start:var(--forge-icon-button-shape-end-start, var(--_icon-button-shape));--_icon-button-shape-end-end:var(--forge-icon-button-shape-end-end, var(--_icon-button-shape));--_icon-button-shape-squared:var(--forge-icon-button-shape-squared, var(--forge-shape-medium, 4px));--_icon-button-outlined-border-width:var(--forge-icon-button-outlined-border-width, 1px);--_icon-button-outlined-border-style:var(--forge-icon-button-outlined-border-style, solid);--_icon-button-outlined-border-color:var(--forge-icon-button-outlined-border-color, var(--_icon-button-icon-color));--_icon-button-tonal-icon-color:var(--forge-icon-button-tonal-icon-color, var(--forge-theme-on-primary-container, #222c62));--_icon-button-tonal-background-color:var(--forge-icon-button-tonal-background-color, var(--forge-theme-primary-container, #d1d5ed));--_icon-button-filled-icon-color:var(--forge-icon-button-filled-icon-color, var(--forge-theme-on-primary, #ffffff));--_icon-button-filled-background-color:var(--forge-icon-button-filled-background-color, var(--forge-theme-primary, #3f51b5));--_icon-button-raised-shadow:var(--forge-icon-button-raised-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));--_icon-button-raised-hover-shadow:var(--forge-icon-button-raised-hover-shadow, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12));--_icon-button-raised-active-shadow:var(--forge-icon-button-raised-active-shadow, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12));--_icon-button-raised-disabled-shadow:var(--forge-icon-button-raised-disabled-shadow, none);--_icon-button-density-small-size:var(--forge-icon-button-density-small-size, 24px);--_icon-button-density-small-padding:var(--forge-icon-button-density-small-padding, var(--forge-spacing-xxxsmall, 2px));--_icon-button-density-small-icon-size:var(--forge-icon-button-density-small-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.125));--_icon-button-density-medium-size:var(--forge-icon-button-density-medium-size, 36px);--_icon-button-density-medium-padding:var(--forge-icon-button-density-medium-padding, var(--forge-spacing-xxsmall, 4px));--_icon-button-density-large-size:var(--forge-icon-button-density-large-size, var(--_icon-button-size));--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-primary-container, #d1d5ed));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5));--_icon-button-tonal-toggle-background-color:var(--forge-icon-button-tonal-toggle-background-color, var(--forge-theme-surface-container-low, #ebebeb));--_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-primary-container, #d1d5ed));--_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5));--_icon-button-filled-toggle-background-color:var(--forge-icon-button-filled-toggle-background-color, var(--forge-theme-surface-container-low, #ebebeb));--_icon-button-filled-toggle-icon-color:var(--forge-icon-button-filled-toggle-icon-color, var(--forge-theme-primary, #3f51b5));--_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-primary, #3f51b5));--_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-primary, #ffffff));--_icon-button-disabled-opacity:var(--forge-icon-button-disabled-opacity, 0.38);--_icon-button-popover-icon-padding:var(--forge-icon-button-popover-icon-padding, var(--forge-spacing-xsmall, 8px));--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-primary, #3f51b5))}.forge-icon-button{position:relative;z-index:0;display:var(--_icon-button-display);-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;gap:var(--_icon-button-gap);-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--_icon-button-density-large-size);min-width:var(--_icon-button-density-large-size);border:var(--_icon-button-border);border-start-start-radius:var(--_icon-button-shape-start-start);border-start-end-radius:var(--_icon-button-shape-start-end);border-end-start-radius:var(--_icon-button-shape-end-start);border-end-end-radius:var(--_icon-button-shape-end-end);padding:var(--_icon-button-padding);-webkit-box-shadow:var(--_icon-button-shadow);box-shadow:var(--_icon-button-shadow);color:var(--_icon-button-icon-color);background:var(--_icon-button-background-color);font-size:var(--_icon-button-icon-size);cursor:var(--_icon-button-cursor);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition-property:background,-webkit-box-shadow;transition-property:background,-webkit-box-shadow;transition-property:box-shadow,background;transition-property:box-shadow,background,-webkit-box-shadow;-webkit-transition-duration:var(--_icon-button-transition-duration);transition-duration:var(--_icon-button-transition-duration);-webkit-transition-timing-function:var(--_icon-button-transition-timing);transition-timing-function:var(--_icon-button-transition-timing)}.forge-icon-button ::slotted(:is([slot=start],[slot=end])){font-size:var(--_icon-button-icon-size);height:var(--_icon-button-icon-size);width:var(--_icon-button-icon-size);font-weight:inherit}a{position:absolute;inset:0;text-decoration:none}forge-focus-indicator{--forge-focus-indicator-color:var(--_icon-button-focus-indicator-color);--forge-focus-indicator-shape-start-start:var(--_icon-button-shape-start-start);--forge-focus-indicator-shape-start-end:var(--_icon-button-shape-start-end);--forge-focus-indicator-shape-end-start:var(--_icon-button-shape-end-start);--forge-focus-indicator-shape-end-end:var(--_icon-button-shape-end-end)}:host(:is([variant=icon],:not([variant]))){--forge-focus-indicator-outward-offset:0px}forge-state-layer{--forge-state-layer-color:var(--_icon-button-icon-color)}:host([popover-icon]) .forge-icon-button{--_icon-button-padding:var(--_icon-button-popover-icon-padding)}:host([variant=outlined]) .forge-icon-button{border-width:var(--_icon-button-outlined-border-width);border-style:var(--_icon-button-outlined-border-style);border-color:var(--_icon-button-outlined-border-color)}:host([variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--_icon-button-tonal-icon-color);--_icon-button-background-color:var(--_icon-button-tonal-background-color)}:host(:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--_icon-button-filled-icon-color);--_icon-button-background-color:var(--_icon-button-filled-background-color)}:host([variant=raised]) .forge-icon-button{--_icon-button-shadow:var(--_icon-button-raised-shadow)}:host([variant=raised]) .forge-icon-button:hover{--_icon-button-raised-shadow:var(--_icon-button-raised-hover-shadow)}:host([variant=raised]) .forge-icon-button:active{--_icon-button-raised-shadow:var(--_icon-button-raised-active-shadow)}:host(:is(:not([toggle]),[toggle]:not([on]))) slot[name=on]{display:none}:host([toggle][on]) slot:not([name]){display:none}:host([toggle][on]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-icon-color:var(--_icon-button-toggle-on-icon-color)}:host([toggle][on][variant=outlined]) .forge-icon-button{--_icon-button-background-color:var(--_icon-button-outlined-toggle-on-background-color);--_icon-button-icon-color:var(--_icon-button-outlined-toggle-on-icon-color)}:host([toggle]:not([on])[variant=tonal]) .forge-icon-button{--_icon-button-background-color:var(--_icon-button-tonal-toggle-background-color)}:host([toggle][on][variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--_icon-button-tonal-toggle-on-icon-color);--_icon-button-background-color:var(--_icon-button-tonal-toggle-on-background-color)}:host([toggle]:not([on]):is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--_icon-button-filled-toggle-icon-color);--_icon-button-background-color:var(--_icon-button-filled-toggle-background-color)}:host([toggle][on]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--_icon-button-filled-toggle-on-icon-color);--_icon-button-background-color:var(--_icon-button-filled-toggle-on-background-color)}::slotted([slot=badge]){position:absolute;top:0;left:60%;z-index:1;pointer-events:none}::slotted(forge-badge[slot=badge][dot]){top:8px}:host(:is([dense],[density=small],[density=medium])) ::slotted(forge-badge[slot=badge]:not([dot])){top:-25%}:host(:is([dense],[density=small],[density=medium])) ::slotted(forge-badge[slot=badge][dot]){top:0}::slotted(forge-circular-progress){--forge-circular-progress-indicator-color:var(--_icon-button-icon-color);--forge-circular-progress-track-color:transparent;--forge-circular-progress-size:1em}:host(:is([dense],[density=small])) .forge-icon-button{--_icon-button-size:var(--_icon-button-density-small-size);--_icon-button-icon-size:var(--_icon-button-density-small-icon-size);--_icon-button-padding:var(--_icon-button-density-small-padding)}:host(:is([dense],[density=small])) ::slotted(*){font-size:var(--_icon-button-density-small-icon-size)}:host([density=medium]) .forge-icon-button{--_icon-button-size:var(--_icon-button-density-medium-size);--_icon-button-padding:var(--_icon-button-density-medium-padding)}:host([shape=squared]) .forge-icon-button{--_icon-button-shape:var(--_icon-button-shape-squared)}:host([disabled]){cursor:var(--_icon-button-disabled-cursor)}:host([disabled]) .forge-icon-button{pointer-events:none;opacity:var(--_icon-button-disabled-opacity)}:host([disabled][variant=raised]) .forge-icon-button{--_icon-button-raised-shadow:var(--_icon-button-raised-disabled-shadow)}:host(:not([toggle])[theme=primary]:is(:not([variant]),[variant=icon],[variant=outlined])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-primary, #3f51b5))}:host([toggle][theme=primary]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5))}:host([toggle][theme=primary][variant=outlined]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-primary, #3f51b5));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-primary-container, #d1d5ed));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5))}:host([theme=primary]) .forge-icon-button{--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-primary, #3f51b5))}:host(:not([toggle])[theme=secondary]:is(:not([variant]),[variant=icon],[variant=outlined])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-secondary, #ffc107))}:host([toggle][theme=secondary]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-secondary, #ffc107))}:host([toggle][theme=secondary][variant=outlined]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-secondary, #ffc107));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-secondary-container, #fff0c3));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-secondary, #ffc107))}:host(:not([toggle])[theme=secondary][variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-secondary-container, #8a6804));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-secondary-container, #fff0c3))}:host([toggle]:not([on])[theme=secondary][variant=tonal]) .forge-icon-button{--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-secondary-container, #fff0c3))}:host([toggle][theme=secondary][variant=tonal]) .forge-icon-button{--_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-secondary-container, #fff0c3));--_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-on-secondary-container, #8a6804))}:host(:not([toggle])[theme=secondary]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-secondary, #000000));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-secondary, #ffc107))}:host([toggle]:not([on])[theme=secondary]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-secondary, #ffc107));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-secondary-container, #fff0c3))}:host([toggle][theme=secondary]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-secondary, #ffc107));--_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-secondary, #000000))}:host([theme=secondary]) .forge-icon-button{--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-secondary, #ffc107))}:host(:not([toggle])[theme=tertiary]:is(:not([variant]),[variant=icon],[variant=outlined])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-tertiary, #3d5afe))}:host([toggle][theme=tertiary]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-tertiary, #3d5afe))}:host([toggle][theme=tertiary][variant=outlined]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-tertiary, #3d5afe));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-tertiary-container, #d0d7ff));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-tertiary, #3d5afe))}:host(:not([toggle])[theme=tertiary][variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-tertiary-container, #213189));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-tertiary-container, #d0d7ff))}:host([toggle]:not([on])[theme=tertiary][variant=tonal]) .forge-icon-button{--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-tertiary-container, #d0d7ff))}:host([toggle][theme=tertiary][variant=tonal]) .forge-icon-button{--_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-tertiary-container, #d0d7ff));--_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-on-tertiary-container, #213189))}:host(:not([toggle])[theme=tertiary]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-tertiary, #ffffff));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-tertiary, #3d5afe))}:host([toggle]:not([on])[theme=tertiary]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-tertiary, #3d5afe));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-tertiary-container, #d0d7ff))}:host([toggle][theme=tertiary]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-tertiary, #3d5afe));--_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-tertiary, #ffffff))}:host([theme=tertiary]) .forge-icon-button{--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-tertiary, #3d5afe))}:host(:not([toggle])[theme=success]:is(:not([variant]),[variant=icon],[variant=outlined])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-success, #2e7d32))}:host([toggle][theme=success]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-success, #2e7d32))}:host([toggle][theme=success][variant=outlined]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-success, #2e7d32));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-success-container, #cde0ce));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-success, #2e7d32))}:host(:not([toggle])[theme=success][variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-success-container, #19441b));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-success-container, #cde0ce))}:host([toggle]:not([on])[theme=success][variant=tonal]) .forge-icon-button{--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-success-container, #cde0ce))}:host([toggle][theme=success][variant=tonal]) .forge-icon-button{--_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-success-container, #cde0ce));--_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-on-success-container, #19441b))}:host(:not([toggle])[theme=success]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-success, #ffffff));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-success, #2e7d32))}:host([toggle]:not([on])[theme=success]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-success, #2e7d32));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-success-container, #cde0ce))}:host([toggle][theme=success]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-success, #2e7d32));--_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-success, #ffffff))}:host([theme=success]) .forge-icon-button{--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-success, #2e7d32))}:host(:not([toggle])[theme=error]:is(:not([variant]),[variant=icon],[variant=outlined])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-error, #b00020))}:host([toggle][theme=error]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-error, #b00020))}:host([toggle][theme=error][variant=outlined]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-error, #b00020));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-error-container, #ecc2c9));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-error, #b00020))}:host(:not([toggle])[theme=error][variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-error-container, #5f0011));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-error-container, #ecc2c9))}:host([toggle]:not([on])[theme=error][variant=tonal]) .forge-icon-button{--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-error-container, #ecc2c9))}:host([toggle][theme=error][variant=tonal]) .forge-icon-button{--_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-error-container, #ecc2c9));--_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-on-error-container, #5f0011))}:host(:not([toggle])[theme=error]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-error, #ffffff));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-error, #b00020))}:host([toggle]:not([on])[theme=error]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-error, #b00020));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-error-container, #ecc2c9))}:host([toggle][theme=error]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-error, #b00020));--_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-error, #ffffff))}:host([theme=error]) .forge-icon-button{--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-error, #b00020))}:host(:not([toggle])[theme=warning]:is(:not([variant]),[variant=icon],[variant=outlined])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-warning, #d14900))}:host([toggle][theme=warning]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-warning, #d14900))}:host([toggle][theme=warning][variant=outlined]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-warning, #d14900));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-warning-container, #f4d3c2));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-warning, #d14900))}:host(:not([toggle])[theme=warning][variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-warning-container, #712700));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-warning-container, #f4d3c2))}:host([toggle]:not([on])[theme=warning][variant=tonal]) .forge-icon-button{--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-warning-container, #f4d3c2))}:host([toggle][theme=warning][variant=tonal]) .forge-icon-button{--_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-warning-container, #f4d3c2));--_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-on-warning-container, #712700))}:host(:not([toggle])[theme=warning]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-warning, #ffffff));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-warning, #d14900))}:host([toggle]:not([on])[theme=warning]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-warning, #d14900));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-warning-container, #f4d3c2))}:host([toggle][theme=warning]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-warning, #d14900));--_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-warning, #ffffff))}:host([theme=warning]) .forge-icon-button{--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-warning, #d14900))}:host(:not([toggle])[theme=info]:is(:not([variant]),[variant=icon],[variant=outlined])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-info, #1565c0))}:host([toggle][theme=info]:is(:not([variant]),[variant=icon])) .forge-icon-button{--_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-info, #1565c0))}:host([toggle][theme=info][variant=outlined]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-info, #1565c0));--_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-info-container, #c7daf0));--_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-info, #1565c0))}:host(:not([toggle])[theme=info][variant=tonal]) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-info-container, #0b3768));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-info-container, #c7daf0))}:host([toggle]:not([on])[theme=info][variant=tonal]) .forge-icon-button{--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-info-container, #c7daf0))}:host([toggle][theme=info][variant=tonal]) .forge-icon-button{--_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-info-container, #c7daf0));--_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-on-info-container, #0b3768))}:host(:not([toggle])[theme=info]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-on-info, #ffffff));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-info, #1565c0))}:host([toggle]:not([on])[theme=info]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-icon-color:var(--forge-icon-button-icon-color, var(--forge-theme-info, #1565c0));--_icon-button-background-color:var(--forge-icon-button-background-color, var(--forge-theme-info-container, #c7daf0))}:host([toggle][theme=info]:is([variant=filled],[variant=raised])) .forge-icon-button{--_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-info, #1565c0));--_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-info, #ffffff))}:host([theme=info]) .forge-icon-button{--_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-info, #1565c0))}';\n\nexport interface IIconButtonComponent extends IBaseButton {\n toggle: boolean;\n on: boolean;\n variant: IconButtonVariant;\n theme: IconButtonTheme;\n shape: IconButtonShape;\n density: IconButtonDensity;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-icon-button': IIconButtonComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-icon-button-toggle': CustomEvent<boolean>;\n }\n}\n\n/**\n * @tag forge-icon-button\n * \n * @summary Icons buttons are used to trigger an action or event.\n * \n * @property {boolean} toggle - Whether or not the icon button can be toggled.\n * @property {boolean} on - Whether or not the button is on. Only applies when `toggle` is `true`.\n * @property {IconButtonVariant} variant - The variant of the button. Valid values are `text`, `outlined`, `filled`, and `raised`.\n * @property {IconButtonTheme} theme - The theme of the button. Valid values are `primary`, `secondary`, `tertiary`, `success`, `error`, `warning`, `info`.\n * @property {string} shape - The shape of the button. Valid values are `circular` and `squared`.\n * @property {IconButtonDensity} density - The density of the button. Valid values are `small`, `medium`, and `large`.\n * @property {string} type - The type of button. Defaults to `button`. Valid values are `button`, `submit`, and `reset`.\n * @property {boolean} disabled - Whether or not the button is disabled.\n * @property {boolean} popoverIcon - Whether or not the button shows a built-in popover icon.\n * @property {string} name - The name of the button.\n * @property {string} value - The form value of the button.\n * @property {boolean} dense - Whether or not the button is dense.\n * @property {boolean} anchor - Whether or not the button is an `<a>` element.\n * @property {string} href - The href of the anchor.\n * @property {string} target - The target of the anchor.\n * @property {string} download - The download of the anchor.\n * @property {string} rel - The rel of the anchor.\n * @property {HTMLFormElement | null} form - The form reference of the button if within a `<form>` element.\n * \n * @attribute {boolean} toggle - Whether or not the icon button can be toggled.\n * @attribute {boolean} on - Whether or not the button is on. Only applies when `toggle` is `true`.\n * @attribute {IconButtonVariant} variant - The variant of the button. Valid values are `text`, `outlined`, `filled`, and `raised`.\n * @attribute {IconButtonTheme} theme - The theme of the button. Valid values are `primary`, `secondary`, `tertiary`, `success`, `error`, `warning`, `info`.\n * @attribute {string} shape - The shape of the button. Valid values are `circular` and `squared`.\n * @attribute {IconButtonDensity} density - The density of the button. Valid values are `small`, `medium`, and `large`.\n * @attribute {string} type - The type of button. Defaults to `button`. Valid values are `button`, `submit`, and `reset`.\n * @attribute {boolean} disabled - Whether or not the button is disabled.\n * @attribute {boolean} popover-icon - Whether or not the button shows a built-in popover icon.\n * @attribute {string} name - The name of the button.\n * @attribute {string} value - The form value of the button.\n * @attribute {boolean} dense - Whether or not the button is dense.\n * @attribute {boolean} anchor - Whether or not the button is an `<a>` element.\n * @attribute {string} href - The href of the anchor.\n * @attribute {string} target - The target of the anchor.\n * @attribute {string} download - The download of the anchor.\n * @attribute {string} rel - The rel of the anchor.\n * \n * @event {Event} click - Fires when the button is clicked.\n * @event {Event} forge-icon-button-toggle - Fires when the icon button is toggled.\n * \n * @cssproperty --forge-icon-button-display - The display property of the button.\n * @cssproperty --forge-icon-button-size - The height and min-width of the button.\n * @cssproperty --forge-icon-button-gap - The gap between the icon content.\n * @cssproperty --forge-icon-button-icon-color - The color of the icon.\n * @cssproperty --forge-icon-button-background-color - The background color of the button.\n * @cssproperty --forge-icon-button-icon-size - The size of the icon.\n * @cssproperty --forge-icon-button-cursor - The cursor of the button.\n * @cssproperty --forge-icon-button-padding - The inline padding of the button.\n * @cssproperty --forge-icon-button-border - The border of the button.\n * @cssproperty --forge-icon-button-shadow - The shadow of the button.\n * @cssproperty --forge-icon-button-transition-duration - The transition duration of the button.\n * @cssproperty --forge-icon-button-transition-timing - The transition timing of the button.\n * @cssproperty --forge-icon-button-shape - The shape of the button.\n * @cssproperty --forge-icon-button-shape-start-start - The start-start border-radius of the button.\n * @cssproperty --forge-icon-button-shape-start-end - The start-end border-radius of the button.\n * @cssproperty --forge-icon-button-shape-end-start - The end-start border-radius of the button.\n * @cssproperty --forge-icon-button-shape-end-end - The end-end border-radius of the button.\n * @cssproperty --forge-icon-button-shape-squared - The squared border-radius of the button.\n * @cssproperty --forge-icon-button-outlined-border-width - The border width when in the outlined variant.\n * @cssproperty --forge-icon-button-outlined-border-style - The border style when in the outlined variant.\n * @cssproperty --forge-icon-button-outlined-border-color - The border color when in the outlined variant.\n * @cssproperty --forge-icon-button-tonal-icon-color - The icon color when in the tonal variant.\n * @cssproperty --forge-icon-button-tonal-background-color - The background color when in the tonal variant.\n * @cssproperty --forge-icon-button-filled-icon-color - The icon color when in the filled variant.\n * @cssproperty --forge-icon-button-filled-background-color - The background color when in the filled variant.\n * @cssproperty --forge-icon-button-raised-shadow - The shadow when in the raised variant.\n * @cssproperty --forge-icon-button-raised-hover-shadow - The shadow when in the raised variant and hovered.\n * @cssproperty --forge-icon-button-raised-active-shadow - The shadow when in the raised variant and active.\n * @cssproperty --forge-icon-button-raised-disabled-shadow - The shadow when in the raised variant and disabled.\n * @cssproperty --forge-icon-button-density-small-size - The size of the button when in the small density.\n * @cssproperty --forge-icon-button-density-small-padding - The padding of the button when in the small density.\n * @cssproperty --forge-icon-button-density-small-icon-size - The size of the icon when in the small density.\n * @cssproperty --forge-icon-button-density-medium-size - The size of the button when in the medium density.\n * @cssproperty --forge-icon-button-density-medium-padding - The padding of the button when in the medium density.\n * @cssproperty --forge-icon-button-density-large-size - The size of the button when in the large density.\n * @cssproperty --forge-icon-button-toggle-on-icon-color - The color of the icon when in toggle mode and toggled on.\n * @cssproperty --forge-icon-button-outlined-toggle-on-background-color - The background color when in the outlined variant and toggled on.\n * @cssproperty --forge-icon-button-outlined-toggle-on-icon-color - The icon color when in the outlined variant and toggled on.\n * @cssproperty --forge-icon-button-tonal-toggle-background-color - The background color when in the tonal variant and toggled.\n * @cssproperty --forge-icon-button-tonal-toggle-on-background-color - The background color when in the tonal variant and toggled on.\n * @cssproperty --forge-icon-button-tonal-toggle-on-icon-color - The icon color when in the tonal variant and toggled on.\n * @cssproperty --forge-icon-button-filled-toggle-background-color - The background color when in the filled variant and toggled.\n * @cssproperty --forge-icon-button-filled-toggle-icon-color - The icon color when in the filled variant and toggled.\n * @cssproperty --forge-icon-button-filled-toggle-on-background-color - The background color when in the filled variant and toggled on.\n * @cssproperty --forge-icon-button-filled-toggle-on-icon-color - The icon color when in the filled variant and toggled on.\n * @cssproperty --forge-icon-button-disabled-cursor - The cursor when the button is disabled.\n * @cssproperty --forge-icon-button-disabled-opacity - The opacity when the button is disabled.\n * @cssproperty --forge-icon-button-popover-icon-padding - The padding of the popover icon.\n * @cssproperty --forge-icon-button-focus-indicator-color - The color of the focus indicator.\n * \n * @csspart root - The root container element.\n * @csspart focus-indicator - The focus-indicator indicator element.\n * @csspart state-layer - The state-layer surface element.\n * \n * @slot - This is a default/unnamed slot for the icon.\n * @slot on - The icon to show when in `toggle` mode when toggled \"on\".\n * @slot start - Elements to logically render before the icon.\n * @slot end - Elements to logically render after the icon.\n * @slot badge - Absolutely positions the element in the top-end corner of the button (typically reserved for badge-like content).\n */\n@CustomElement({\n name: ICON_BUTTON_CONSTANTS.elementName,\n dependencies: [\n FocusIndicatorComponent,\n StateLayerComponent,\n IconComponent\n ]\n})\nexport class IconButtonComponent extends BaseButton<IconButtonFoundation> implements IIconButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n ...Object.values(BASE_BUTTON_CONSTANTS.observedAttributes),\n ...Object.values(ICON_BUTTON_CONSTANTS.observedAttributes)\n ];\n }\n\n protected readonly _foundation: IconButtonFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new IconButtonFoundation(new IconButtonAdapter(this));\n }\n\n public override attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case ICON_BUTTON_CONSTANTS.attributes.TOGGLE:\n this.toggle = coerceBoolean(newValue);\n break;\n case ICON_BUTTON_CONSTANTS.attributes.ON:\n this.on = coerceBoolean(newValue);\n break;\n case ICON_BUTTON_CONSTANTS.attributes.VARIANT:\n this.variant = newValue as IconButtonVariant;\n break;\n case ICON_BUTTON_CONSTANTS.attributes.THEME:\n this.theme = newValue as IconButtonTheme;\n break;\n case ICON_BUTTON_CONSTANTS.attributes.SHAPE:\n this.shape = newValue as IconButtonShape;\n break;\n case ICON_BUTTON_CONSTANTS.attributes.DENSITY:\n this.density = newValue as IconButtonDensity;\n break;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n @FoundationProperty()\n public declare toggle: boolean;\n\n @FoundationProperty()\n public declare on: boolean;\n\n @FoundationProperty()\n public declare theme: IconButtonTheme;\n\n @FoundationProperty()\n public declare variant: IconButtonVariant;\n\n @FoundationProperty()\n public declare shape: IconButtonShape;\n\n @FoundationProperty()\n public declare density: IconButtonDensity;\n}\n", "import { addClass } from '@tylertech/forge-core';\nimport { IconExternalType, ICON_CONSTANTS, IIconComponent } from '../icon';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { IIconButtonComponent } from './icon-button';\nimport { ICON_BUTTON_CONSTANTS } from './icon-button-constants';\nimport { PopupPlacement } from '../popup';\n\nexport type IconButtonComponentDelegateProps = Partial<IIconButtonComponent>;\nexport interface IIconButtonComponentDelegateOptions extends IBaseComponentDelegateOptions {\n iconName?: string;\n iconExternal?: boolean;\n iconExternalType?: IconExternalType;\n iconType?: 'font' | 'component';\n iconClass?: string | string[];\n tooltip?: string;\n tooltipPosition?: PopupPlacement;\n}\nexport interface IIconButtonComponentDelegateConfig extends IBaseComponentDelegateConfig<IIconButtonComponent, IIconButtonComponentDelegateOptions> {}\n\nexport class IconButtonComponentDelegate extends BaseComponentDelegate<IIconButtonComponent, IIconButtonComponentDelegateOptions> {\n private _iconElement?: IIconComponent;\n\n constructor(config?: IIconButtonComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IIconButtonComponent {\n const component = document.createElement(ICON_BUTTON_CONSTANTS.elementName);\n\n if (this._config.options?.tooltip) {\n const tooltip = document.createElement('forge-tooltip');\n tooltip.textContent = this._config.options.tooltip;\n \n if (this._config.options.tooltipPosition) {\n tooltip.placement = this._config.options.tooltipPosition;\n }\n\n component.appendChild(tooltip);\n }\n\n return component;\n }\n\n public get iconElement(): IIconComponent | undefined {\n return this._iconElement;\n }\n\n public get disabled(): boolean {\n return !!this._element.disabled;\n }\n public set disabled(value: boolean) {\n this._element.disabled = value;\n }\n\n protected _configure(): void {\n this._configureIcon();\n }\n\n private _configureIcon(): void {\n if (!this._config.options?.iconName) {\n return;\n }\n\n const type = this._config.options?.iconType || 'component';\n\n switch (type) {\n case 'font':\n const classes = Array.isArray(this._config.options.iconClass) ? this._config.options.iconClass : [ICON_CLASS_NAME];\n addClass(classes, this._element);\n this._element.textContent = this._config.options.iconName;\n break;\n case 'component':\n this._iconElement = document.createElement(ICON_CONSTANTS.elementName);\n this._iconElement.name = this._config.options.iconName;\n if (this._config.options.iconExternal !== undefined) {\n this._iconElement.external = !!this._config.options.iconExternal;\n }\n if (this._config.options.iconExternalType) {\n this._iconElement.externalType = this._config.options.iconExternalType;\n }\n if (this._config.options.iconClass) {\n addClass(this._config.options.iconClass, this._iconElement);\n }\n this._element.appendChild(this._iconElement);\n break;\n }\n }\n\n public onClick(listener: (evt: MouseEvent) => void): void {\n this._element.addEventListener('click', listener);\n }\n\n public onFocus(listener: (evt: Event) => void): void {\n this._element.addEventListener('focus', evt => listener(evt));\n }\n\n public onBlur(listener: (evt: Event) => void): void {\n this._element.addEventListener('blur', evt => listener(evt));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { IconButtonComponent } from './icon-button';\n\nexport * from './icon-button';\nexport * from './icon-button-adapter';\nexport * from './icon-button-component-delegate';\nexport * from './icon-button-constants';\nexport * from './icon-button-foundation';\n\nexport function defineIconButtonComponent(): void {\n defineCustomElement(IconButtonComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadProps", "__spreadValues", "events", "defaults", "ICON_BUTTON_CONSTANTS", "IconButtonFoundation", "BaseButtonFoundation", "adapter", "ICON_BUTTON_CONSTANTS", "evt", "originalOn", "cancelled", "value", "IconButtonAdapter", "BaseButtonAdapter", "component", "template", "styles", "IconButtonComponent", "BaseButton", "attachShadowTemplate", "IconButtonFoundation", "IconButtonAdapter", "BASE_BUTTON_CONSTANTS", "ICON_BUTTON_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "FocusIndicatorComponent", "StateLayerComponent", "IconComponent", "IconButtonComponentDelegate", "BaseComponentDelegate", "config", "_a", "component", "ICON_BUTTON_CONSTANTS", "tooltip", "value", "_b", "classes", "ICON_CLASS_NAME", "addClass", "ICON_CONSTANTS", "listener", "evt", "defineIconButtonComponent", "defineCustomElement", "IconButtonComponent"]
|
|
7
|
+
}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{a as n}from"./chunk.3CTKWBV2.js";import{a as g}from"./chunk.
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{a as n}from"./chunk.3CTKWBV2.js";import{a as g}from"./chunk.ZY3ETQ3D.js";import{a as l}from"./chunk.NVUMRW44.js";import{a as I,b as S}from"./chunk.RRNSZCVJ.js";import{a as T,e as E,f as _,k as f}from"./chunk.TPXXHX5J.js";import{g as h,q as O}from"./chunk.HZUQXCOQ.js";import{k as C,l as c}from"./chunk.J2M2MXP2.js";import{d as s}from"./chunk.M3QDAYD2.js";var A=`${S}product-icon`,d={PRODUCT_ICON_BACKGROUND:"forge-product-icon__background",PRODUCT_ICON:"forge-product-icon__icon",PRODUCT_TEXT:"forge-product-icon__text"},x={PRODUCT_ICON_BACKGROUND:`.${d.PRODUCT_ICON_BACKGROUND}`,PRODUCT_ICON:`.${d.PRODUCT_ICON}`,PRODUCT_TEXT:`.${d.PRODUCT_TEXT}`,SLOT:"slot"},R={COLOR:"color",SIZE:"size",SHADOW:"shadow",ITERATIONS:"iterations"},v={DEFAULT_SIZE:64,DEFAULT_ITERATIONS:32,ACCESSIBILITY_COLOR_THRESHOLD:300,ICON_FONT_SIZE_MODIFIER:.75,TEXT_FONT_SIZE_MODIFIER:.5},N={DEFAULT_COLOR_VALUE:"indigo-500",DEFAULT_COLOR_PALETTE:"indigo",DEFAULT_COLOR_SHADE:500,DEFAULT_BACKGROUND_COLOR:n.indigoPalette[500]},t={elementName:A,attributes:R,classes:d,selectors:x,numbers:v,strings:N};var p=class extends g{constructor(e){super(e);this._backgroundElement=_(e,t.selectors.PRODUCT_ICON_BACKGROUND),this._iconElement=_(e,t.selectors.PRODUCT_ICON),this._textElement=_(e,t.selectors.PRODUCT_TEXT)}setBackgroundColor(e){this._backgroundElement.style.backgroundColor=e}setIconColor(e){this._iconElement.style.color=e,this._textElement.style.color=e}setElementSize(e){this._backgroundElement.style.height=`${e}px`,this._backgroundElement.style.width=`${e}px`}setFontSize(e){let a=e*t.numbers.TEXT_FONT_SIZE_MODIFIER,r=e*t.numbers.ICON_FONT_SIZE_MODIFIER;this._iconElement.style.setProperty("--forge-product-icon-font-size",`${r}px`),this._textElement.style.setProperty("--forge-product-icon-font-size",`${a}px`),this._iconElement.style.fontSize=`var(--forge-product-icon-font-size, ${r}px)`,this._textElement.style.fontSize=`var(--forge-product-icon-font-size, ${a}px)`}removeIconClass(e){h(e,this._iconElement),h(e,this._textElement)}setTextShadow(e,a,r){if(e){let b=O(a,r);this._iconElement.style.textShadow=b,this._textElement.style.textShadow=b}else this._iconElement.style.removeProperty("text-shadow"),this._textElement.style.removeProperty("text-shadow")}};var u=class{constructor(o){this._adapter=o;this._colorValue=t.strings.DEFAULT_COLOR_VALUE;this._colorPalette=t.strings.DEFAULT_COLOR_PALETTE;this._colorShade=t.strings.DEFAULT_COLOR_SHADE;this._size=t.numbers.DEFAULT_SIZE;this._shadow=!0;this._backgroundColor=t.strings.DEFAULT_BACKGROUND_COLOR;this._iterations=t.numbers.DEFAULT_ITERATIONS;this._usingCustomIterations=!1}initialize(){this._adapter.setElementSize(this._size),this._updateFontSize(),this._parseColor(),this._render()}_parseColor(){this._colorValue.includes("-")?(this._colorPalette=this._colorValue.split("-")[0],this._colorShade=c(this._colorValue.split("-")[1])):(this._colorPalette=this._colorValue,this._colorShade=t.strings.DEFAULT_COLOR_SHADE)}_updateSize(){this._adapter.setElementSize(this._size),this._usingCustomIterations||(this._iterations=this._size/2,this._updateShadow())}_updateFontSize(){this._adapter.setFontSize(this._size)}_updateShadow(){this._shadow&&this._adapter.setTextShadow(this._shadow,this._iterations,this._shadowColor)}_render(){if(!this._colorValue)return;let o=this._colorShade<=t.numbers.ACCESSIBILITY_COLOR_THRESHOLD?"#000000":"#ffffff",e=this._colorShade+300;n[`${this._colorPalette}Palette`]||(this._colorPalette=t.strings.DEFAULT_COLOR_PALETTE),this._backgroundColor=n[`${this._colorPalette}Palette`][this._colorShade],this._shadowColor=n[`${this._colorPalette}Palette`][e],this._adapter.setBackgroundColor(this._backgroundColor),this._adapter.setIconColor(o),this._updateShadow()}get color(){return this._colorValue}set color(o){this._colorValue!==o&&(this._colorValue=o,this._parseColor(),this._render(),this._adapter.setHostAttribute(t.attributes.COLOR,this._colorValue))}get size(){return this._size}set size(o){this._size!==o&&(this._size=o,this._updateSize(),this._updateFontSize(),this._adapter.setHostAttribute(t.attributes.SIZE,this._size.toString()))}get shadow(){return this._shadow}set shadow(o){this._shadow!==o&&(this._shadow=o,this._adapter.setTextShadow(this._shadow,this._iterations,this._shadowColor),this._shadow?this._adapter.setHostAttribute(t.attributes.SHADOW,""):this._adapter.removeIconClass(t.attributes.SHADOW))}get iterations(){return this._iterations}set iterations(o){this._iterations!==o&&(this._usingCustomIterations=!0,this._iterations=o,this._updateShadow(),this._adapter.setHostAttribute(t.attributes.ITERATIONS,this._iterations.toString()))}};var D='<template><div class="forge-product-icon__background" part="root"><div class="forge-product-icon__container" part="container"><span class="forge-product-icon__icon" part="icon-container"><slot></slot></span><span class="forge-product-icon__text" part="text-container"><slot name="text"></slot></span></div></div></template>',L=".forge-product-icon__background{border-radius:50%;border-radius:var(--forge-product-icon-border-radius,50%);height:64px;width:64px;overflow:hidden}.forge-product-icon__container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;height:100%;width:100%}.forge-product-icon__icon ::slotted(*),.forge-product-icon__text ::slotted(*){display:-webkit-box!important;display:flex!important;color:#fff!important;font-size:var(--forge-product-icon-font-size, 48px)!important}:host{display:inline-block}:host([hidden]){display:none}",i=class extends f{constructor(){super();E(this,D,L),this._foundation=new u(new p(this))}static get observedAttributes(){return[t.attributes.COLOR,t.attributes.SIZE,t.attributes.SHADOW,t.attributes.ITERATIONS]}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(e,a,r){switch(e){case t.attributes.COLOR:this.color=r;break;case t.attributes.SIZE:this.size=c(r);break;case t.attributes.SHADOW:this.shadow=C(r);break;case t.attributes.ITERATIONS:this.iterations=c(r);break}}};s([l()],i.prototype,"color",2),s([l()],i.prototype,"size",2),s([l()],i.prototype,"shadow",2),s([l()],i.prototype,"iterations",2),i=s([I({name:t.elementName})],i);function it(){T(i)}export{t as a,p as b,u as c,i as d,it as e};
|
|
7
|
+
//# sourceMappingURL=chunk.GURV4TDZ.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{j as t,m as c}from"./chunk.RRNSZCVJ.js";import{b as u}from"./chunk.NHOGZDLN.js";import{v as s}from"./chunk.HZUQXCOQ.js";function b(a){class r extends a{constructor(...e){super(...e);this[t]=this.attachInternals()}}return t,r}function p(a){return a.replace("aria","aria-").replace(/Elements?/g,"").toLowerCase()}function d(a,r,o,{setAttribute:i}={setAttribute:!0}){Object.entries(o).forEach(([e,n])=>{u()&&(r[e]=n);let l=p(e);(i||!a.hasAttribute(l))&&s(a,n!=null,l,n)})}function M(a){class r extends a{[c](i,e){d(this,this[t],i,e)}}return r}export{b as a,M as b};
|
|
7
|
+
/**
|
|
8
|
+
* @license
|
|
9
|
+
* Copyright 2023 Google LLC
|
|
10
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
11
|
+
*
|
|
12
|
+
* Adapted and influenced from [Material Web](https://github.com/material-components/material-web).
|
|
13
|
+
* The original source code can be found at: [GitHub](https://github.com/material-components/material-web/blob/main/internal/aria/aria.ts)
|
|
14
|
+
*/
|
|
15
|
+
//# sourceMappingURL=chunk.H6MMHAQI.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/core/mixins/internals/with-element-internals.ts", "../../src/core/utils/a11y-utils.ts", "../../src/core/mixins/internals/with-default-aria.ts"],
|
|
4
|
+
"sourcesContent": ["import { AbstractConstructor, internals, MixinBase } from '../../../constants';\nimport { IBaseComponent } from '../../base/base-component';\n\n/**\n * A component with attached Element Internals.\n */\nexport interface IWithElementInternals extends IBaseComponent {\n /**\n * The Element Internals of the component.\n */\n readonly [internals]: ElementInternals;\n}\n\nexport declare abstract class WithElementInternalsContract {\n public readonly [internals]: ElementInternals;\n}\n\n/**\n * Mixes in Element Internals functionality into a base component.\n * \n * @param base The base component to mix into.\n * @returns The mixed-in base component.\n */\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function WithElementInternals<TBase extends MixinBase>(base: TBase) {\n abstract class ElementInternalsComponent extends base implements IWithElementInternals {\n public readonly [internals]: ElementInternals;\n\n constructor(...args: any[]) {\n super(...args);\n this[internals] = this.attachInternals();\n }\n }\n\n return ElementInternalsComponent as AbstractConstructor<WithElementInternalsContract> & TBase;\n}\n", "/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n * \n * Adapted and influenced from [Material Web](https://github.com/material-components/material-web).\n * The original source code can be found at: [GitHub](https://github.com/material-components/material-web/blob/main/internal/aria/aria.ts)\n */\n\nimport { toggleAttribute } from '@tylertech/forge-core';\nimport { supportsElementInternalsAria } from './feature-detection';\n\n/**\n * Reflective ARIA property name types.\n */\nexport type ARIAProperty = Exclude<keyof ARIAMixin, 'role'>;\n\n/**\n * Reflective ARIA attributes.\n */\nexport type ARIAAttribute = `${ARIAPropertyToAttribute<ARIAProperty>}` | 'role';\n\n/**\n * Reflective ARIA properties.\n */\nexport const ARIA_PROPERTIES: ARIAProperty[] = [\n 'ariaAtomic',\n 'ariaAutoComplete',\n 'ariaBusy',\n 'ariaChecked',\n 'ariaColCount',\n 'ariaColIndex',\n 'ariaColSpan',\n 'ariaCurrent',\n 'ariaDisabled',\n 'ariaExpanded',\n 'ariaHasPopup',\n 'ariaHidden',\n 'ariaInvalid',\n 'ariaKeyShortcuts',\n 'ariaLabel',\n 'ariaLevel',\n 'ariaLive',\n 'ariaModal',\n 'ariaMultiLine',\n 'ariaMultiSelectable',\n 'ariaOrientation',\n 'ariaPlaceholder',\n 'ariaPosInSet',\n 'ariaPressed',\n 'ariaReadOnly',\n 'ariaRequired',\n 'ariaRoleDescription',\n 'ariaRowCount',\n 'ariaRowIndex',\n 'ariaRowSpan',\n 'ariaSelected',\n 'ariaSetSize',\n 'ariaSort',\n 'ariaValueMax',\n 'ariaValueMin',\n 'ariaValueNow',\n 'ariaValueText'\n];\n\n/**\n * An object mapping all ARIA attributes to their corresponding properties.\n * \n * This is required because the property name cannot be reliably inferred from the attribute name.\n */\nconst ARIA_ATTRIBUTES_TO_PROPERTIES: Record<ARIAAttribute, ARIAProperty | 'role'> = {\n 'aria-atomic': 'ariaAtomic',\n 'aria-autocomplete': 'ariaAutoComplete',\n 'aria-busy': 'ariaBusy',\n 'aria-checked': 'ariaChecked',\n 'aria-colcount': 'ariaColCount',\n 'aria-colindex': 'ariaColIndex',\n 'aria-colindextext': 'ariaColIndexText',\n 'aria-colspan': 'ariaColSpan',\n 'aria-current': 'ariaCurrent',\n 'aria-disabled': 'ariaDisabled',\n 'aria-expanded': 'ariaExpanded',\n 'aria-haspopup': 'ariaHasPopup',\n 'aria-hidden': 'ariaHidden',\n 'aria-invalid': 'ariaInvalid',\n 'aria-keyshortcuts': 'ariaKeyShortcuts',\n 'aria-label': 'ariaLabel',\n 'aria-level': 'ariaLevel',\n 'aria-live': 'ariaLive',\n 'aria-modal': 'ariaModal',\n 'aria-multiline': 'ariaMultiLine',\n 'aria-multiselectable': 'ariaMultiSelectable',\n 'aria-orientation': 'ariaOrientation',\n 'aria-placeholder': 'ariaPlaceholder',\n 'aria-posinset': 'ariaPosInSet',\n 'aria-pressed': 'ariaPressed',\n 'aria-readonly': 'ariaReadOnly',\n 'aria-required': 'ariaRequired',\n 'aria-roledescription': 'ariaRoleDescription',\n 'aria-rowcount': 'ariaRowCount',\n 'aria-rowindex': 'ariaRowIndex',\n 'aria-rowindextext': 'ariaRowIndexText',\n 'aria-rowspan': 'ariaRowSpan',\n 'aria-selected': 'ariaSelected',\n 'aria-setsize': 'ariaSetSize',\n 'aria-sort': 'ariaSort',\n 'aria-valuemax': 'ariaValueMax',\n 'aria-valuemin': 'ariaValueMin',\n 'aria-valuenow': 'ariaValueNow',\n 'aria-valuetext': 'ariaValueText',\n 'role': 'role'\n};\n\n/**\n * ARIA role values.\n */\nexport type ARIARole =\n 'alert'|'alertdialog'|'button'|'checkbox'|'dialog'|'gridcell'|'link'|'log'|\n 'marquee'|'menuitem'|'menuitemcheckbox'|'menuitemradio'|'option'|\n 'progressbar'|'radio'|'scrollbar'|'searchbox'|'slider'|'spinbutton'|\n 'status'|'switch'|'tab'|'tabpanel'|'textbox'|'timer'|'tooltip'|'treeitem'|\n 'combobox'|'grid'|'listbox'|'menu'|'menubar'|'radiogroup'|'tablist'|'tree'|\n 'treegrid'|'application'|'article'|'cell'|'columnheader'|'definition'|\n 'directory'|'document'|'feed'|'figure'|'group'|'heading'|'img'|'list'|\n 'listitem'|'math'|'none'|'note'|'presentation'|'region'|'row'|'rowgroup'|\n 'rowheader'|'separator'|'table'|'term'|'text'|'toolbar'|'banner'|\n 'complementary'|'contentinfo'|'form'|'main'|'navigation'|'region'|'search'|\n 'doc-abstract'|'doc-acknowledgments'|'doc-afterword'|'doc-appendix'|\n 'doc-backlink'|'doc-biblioentry'|'doc-bibliography'|'doc-biblioref'|\n 'doc-chapter'|'doc-colophon'|'doc-conclusion'|'doc-cover'|'doc-credit'|\n 'doc-credits'|'doc-dedication'|'doc-endnote'|'doc-endnotes'|'doc-epigraph'|\n 'doc-epilogue'|'doc-errata'|'doc-example'|'doc-footnote'|'doc-foreword'|\n 'doc-glossary'|'doc-glossref'|'doc-index'|'doc-introduction'|'doc-noteref'|\n 'doc-notice'|'doc-pagebreak'|'doc-pagelist'|'doc-part'|'doc-preface'|\n 'doc-prologue'|'doc-pullquote'|'doc-qna'|'doc-subtitle'|'doc-tip'|'doc-toc';\n\n/**\n * Strictly typed ARIA properties.\n */\nexport interface ARIAMixinStrict extends ARIAMixin {\n ariaAtomic: 'true'|'false'|null;\n ariaAutoComplete: 'none'|'inline'|'list'|'both'|null;\n ariaBusy: 'true'|'false'|null;\n ariaChecked: 'true'|'false'|null;\n ariaColCount: `${number}`|null;\n ariaColIndex: `${number}`|null;\n ariaColSpan: `${number}`|null;\n ariaCurrent: 'page'|'step'|'location'|'date'|'time'|'true'|'false'|null;\n ariaDisabled: 'true'|'false'|null;\n ariaExpanded: 'true'|'false'|null;\n ariaHasPopup: 'false'|'true'|'menu'|'listbox'|'tree'|'grid'|'dialog'|null;\n ariaHidden: 'true'|'false'|null;\n ariaInvalid: 'true'|'false'|null;\n ariaKeyShortcuts: string|null;\n ariaLabel: string|null;\n ariaLevel: `${number}`|null;\n ariaLive: 'assertive'|'off'|'polite'|null;\n ariaModal: 'true'|'false'|null;\n ariaMultiLine: 'true'|'false'|null;\n ariaMultiSelectable: 'true'|'false'|null;\n ariaOrientation: 'horizontal'|'vertical'|'undefined'|null;\n ariaPlaceholder: string|null;\n ariaPosInSet: `${number}`|null;\n ariaPressed: 'true'|'false'|null;\n ariaReadOnly: 'true'|'false'|null;\n ariaRequired: 'true'|'false'|null;\n ariaRoleDescription: string|null;\n ariaRowCount: `${number}`|null;\n ariaRowIndex: `${number}`|null;\n ariaRowSpan: `${number}`|null;\n ariaSelected: 'true'|'false'|null;\n ariaSetSize: `${number}`|null;\n ariaSort: 'ascending'|'descending'|'none'|'other'|null;\n ariaValueMax: `${number}`|null;\n ariaValueMin: `${number}`|null;\n ariaValueNow: `${number}`|null;\n ariaValueText: string|null;\n role: ARIARole|null;\n}\n\n/**\n * The ARIA attribute corresponding to a given ARIA property.\n */\nexport type ARIAPropertyToAttribute<K extends string> = K extends `aria${infer Suffix}Element${infer OptS}`\n ? `aria-${Lowercase < Suffix >}`\n : K extends `aria${infer Suffix}` ? `aria-${Lowercase < Suffix >}` : K;\n\n/**\n * Gets the ARIA attribute corresponding to a given ARIA property.\n * \n * @param property An ARIA mixin property.\n * @returns An ARIA attribute name.\n */\nexport function ariaPropertyToAttribute<K extends ARIAProperty|'role'>(property: K): string {\n return property\n .replace('aria', 'aria-')\n // IDREF attributes also include an \"Element\" or \"Elements\" suffix\n .replace(/Elements?/g, '')\n .toLowerCase() as ARIAPropertyToAttribute<K>;\n}\n\n/**\n * Gets the ARIA property corresponding to a given ARIA attribute.\n * \n * @param attribute An ARIA attribute name.\n * @returns An ARIA mixin property.\n */\nexport function ariaAttributeToProperty<K extends ARIAAttribute|'role'>(attribute: K): ARIAProperty {\n return ARIA_ATTRIBUTES_TO_PROPERTIES[attribute] as ARIAProperty;\n}\n\nexport type DefaultAriaOptions = {\n setAttribute?: boolean;\n};\n\n/**\n * Applies default ARIA to an element through ElementInternals if supported. Otherwise, ARIA\n * attributes are set directly on the element and stored in additional `data-default-*` attributes\n * for restoration in case attributes are overwritten during the element's lifecycle.\n * \n * This fallback is needed for browsers that don't support ARIA in ElementInternals, such as most\n * recent versions of Firefox.\n * \n * Because new attributes may be sprouted on the element, it is necessary to call this after the\n * element has been connected to the DOM.\n * \n * @param element - The element to set up ARIA attributes for.\n * @param internals - The ElementInternals object to use for setting ARIA attributes if supported.\n * @param properties - An object containing ARIA properties and their values to set as defaults.\n * @param options - A `DefaultAriaOptions` object.\n * \n * @example\n * class ButtonComponent extends BaseComponent {\n * public readonly internals: ElementInternals;\n * \n * constructor() {\n * super();\n * this.internals = this.attachInternals();\n * }\n * \n * public connectedCallback(): void {\n * setDefaultAria(this, this.internals, {\n * role: 'button'\n * });\n * }\n * }\n */\nexport function setDefaultAria(\n element: HTMLElement,\n internals: ElementInternals,\n properties: Partial<ARIAMixinStrict>,\n { setAttribute }: DefaultAriaOptions = { setAttribute: true }\n): void {\n Object.entries(properties).forEach(([key, value]) => {\n if (supportsElementInternalsAria()) {\n internals[key as ARIAProperty] = value;\n }\n\n const attribute = ariaPropertyToAttribute(key as ARIAProperty);\n if (setAttribute || !element.hasAttribute(attribute)) {\n toggleAttribute(element, value != null, attribute, value as string);\n }\n });\n}\n", "import { internals, MixinBase, setDefaultAria, AbstractConstructor } from '../../../constants';\nimport { ARIAMixinStrict, setDefaultAria as setDefaultAriaUtil, DefaultAriaOptions } from '../../utils/a11y-utils';\nimport { IBaseComponent } from '../../base/base-component';\n\n/**\n * A component with support for setting default ARIA.\n */\nexport interface IWithDefaultAria extends IBaseComponent {\n /**\n * Sets the default ARIA of the component using Element Internals if supported or sprouting\n * ARIA attributes if not.\n * \n * @param properties The ARIA properties and values to set.\n * @param options Whether or not to overwrite existing ARIA attributes. This only takes effect\n * if Element Internals are not supported and a new attribute will be sprouted.\n */\n [setDefaultAria](properties: Partial<ARIAMixinStrict>, options?: DefaultAriaOptions): void;\n}\n\nexport declare abstract class WithDefaultAriaContract {\n public [setDefaultAria](properties: Partial<ARIAMixinStrict>, options?: DefaultAriaOptions): void;\n}\n\n/**\n * Mixes in Element Internals functionality into a base component.\n * \n * @param base The base component to mix into.\n * @returns The mixed-in base component.\n */\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function WithDefaultAria<TBase extends MixinBase>(base: TBase) {\n abstract class DefaultAria extends base implements IWithDefaultAria {\n public [setDefaultAria](properties: Partial<ARIAMixinStrict>, options?: DefaultAriaOptions): void {\n setDefaultAriaUtil(this, this[internals], properties, options);\n }\n }\n\n return DefaultAria as AbstractConstructor<WithDefaultAriaContract> & TBase;\n}\n"],
|
|
5
|
+
"mappings": "+HAwBO,SAASA,EAA8CC,EAAa,CACzE,MAAeC,UAAkCD,CAAsC,CAGrF,eAAeE,EAAa,CAC1B,MAAM,GAAGA,CAAI,EACb,KAAKC,CAAS,EAAI,KAAK,gBAAgB,CACzC,CACF,CAhCF,OA0BqBA,EAQZF,CACT,CC8JO,SAASG,EAAuDC,EAAqB,CAC1F,OAAOA,EACJ,QAAQ,OAAQ,OAAO,EAEvB,QAAQ,aAAc,EAAE,EACxB,YAAY,CACjB,CAgDO,SAASC,EACdC,EACAC,EACAC,EACA,CAAE,aAAAC,CAAa,EAAwB,CAAE,aAAc,EAAK,EACtD,CACN,OAAO,QAAQD,CAAU,EAAE,QAAQ,CAAC,CAACE,EAAKC,CAAK,IAAM,CAC/CC,EAA6B,IAC/BL,EAAUG,CAAmB,EAAIC,GAGnC,IAAME,EAAYC,EAAwBJ,CAAmB,GACzDD,GAAgB,CAACH,EAAQ,aAAaO,CAAS,IACjDE,EAAgBT,EAASK,GAAS,KAAME,EAAWF,CAAe,CAEtE,CAAC,CACH,CCzOO,SAASK,EAAyCC,EAAa,CACpE,MAAeC,UAAoBD,CAAiC,CAClE,CAAQE,CAAc,EAAEC,EAAsCC,EAAoC,CAChGF,EAAmB,KAAM,KAAKG,CAAS,EAAGF,EAAYC,CAAO,CAC/D,CACF,CAEA,OAAOH,CACT",
|
|
6
|
+
"names": ["WithElementInternals", "base", "ElementInternalsComponent", "args", "internals", "ariaPropertyToAttribute", "property", "setDefaultAria", "element", "internals", "properties", "setAttribute", "key", "value", "supportsElementInternalsAria", "attribute", "ariaPropertyToAttribute", "toggleAttribute", "WithDefaultAria", "base", "DefaultAria", "setDefaultAria", "properties", "options", "internals"]
|
|
7
|
+
}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{b as C,j as x}from"./chunk.CZOABXEQ.js";import{a as S}from"./chunk.LS7WRRT2.js";import{a as u}from"./chunk.NVUMRW44.js";import{a as T,b as I}from"./chunk.IT66AOX7.js";import{e as y,f as b,k as A}from"./chunk.JAWV5Y5T.js";import{k as L}from"./chunk.J2M2MXP2.js";import{a as g,d as h}from"./chunk.M3QDAYD2.js";var F=`${I}state-layer`,Y={TARGET:"target",DISABLED:"disabled"},$=g({},Y),V={SURFACE:".forge-state-layer"},W={HOVERED:"forge-state-layer--hovered",PRESSED:"forge-state-layer--pressed"},s={elementName:F,attributes:$,selectors:V,classes:W},d=class n{constructor(e,t){this.x=e;this.y=t}static fromPointerEvent(e){return new n(e.pageX,e.pageY)}},P=150,N=450,f=225,M=.2,D=10,R=75,H=.35,O="::after",w="forwards",k="cubic-bezier(0.2, 0, 0, 1)",B=(r=>(r[r.INACTIVE=0]="INACTIVE",r[r.TOUCH_DELAY=1]="TOUCH_DELAY",r[r.HOLDING=2]="HOLDING",r[r.WAITING_FOR_CLICK=3]="WAITING_FOR_CLICK",r))(B||{});function G(n){let{height:e,width:t}=n.getBoundingClientRect(),i=Math.max(e,t),r=Math.max(H*i,R),a=Math.floor(i*M),_=`${(Math.sqrt(t**2+e**2)+D+r)/a}`,c=`${a}px`;return{rippleScale:_,rippleSize:c,initialSize:a}}function U(n,e,t){let{height:i,width:r}=n.getBoundingClientRect(),a={x:(r-e)/2,y:(i-e)/2},o;return X(t)?o=K(n,t):o={x:r/2,y:i/2},o={x:o.x-e/2,y:o.y-e/2},{startPoint:o,endPoint:a}}function K(n,e){let{scrollX:t,scrollY:i}=window,{left:r,top:a}=n.getBoundingClientRect(),o=t+r,p=i+a,{x:_,y:c}=e;return{x:_-o,y:c-p}}function z(n,e,t){let{height:i,width:r}=n.getBoundingClientRect();return e>=0&&e<=r&&t>=0&&t<=i}function X(n){return n&&(n instanceof d||["x","y"].every(e=>e in n))}var m=class extends S{constructor(t){super(t);this._targetElement=null;this._surfaceElement=b(t,s.selectors.SURFACE)}destroy(){typeof this._destroyDeferListener=="function"&&(this._destroyDeferListener(),this._destroyDeferListener=void 0),this._targetElement=null}async deferInitialization(t){if(!this._targetElement)return;let{userInteraction:i,destroy:r}=C(this._targetElement);this._destroyDeferListener=r;let a=await i;t(a.type==="pointerenter"?a:void 0)}addTargetListener(t,i){var r;(r=this._targetElement)==null||r.addEventListener(t,i)}removeTargetListener(t,i){var r;(r=this._targetElement)==null||r.removeEventListener(t,i)}setHovered(t){this._surfaceElement.classList.toggle(s.classes.HOVERED,t)}setPressed(t){this._surfaceElement.classList.toggle(s.classes.PRESSED,t)}getTargetElement(){return this._targetElement}setTargetElement(t){this._targetElement=t}trySetTarget(t){this._targetElement=x(this._component,t)}startAnimation(t){var E;if(!this._surfaceElement)return;this.setPressed(!0),(E=this._rippleAnimation)==null||E.cancel();let{rippleSize:i,rippleScale:r,initialSize:a}=G(this._component),{startPoint:o,endPoint:p}=U(this._component,a,t),_=`${o.x}px, ${o.y}px`,c=`${p.x}px, ${p.y}px`;this._rippleAnimation=this._surfaceElement.animate({top:[0,0],left:[0,0],height:[i,i],width:[i,i],transform:[`translate(${_}) scale(1)`,`translate(${c}) scale(${r})`]},{pseudoElement:O,duration:N,easing:k,fill:w})}async endAnimation(){var r;let t=this._rippleAnimation,i=(r=t==null?void 0:t.currentTime)!=null?r:1/0;if(i>=f){this.setPressed(!1);return}await new Promise(a=>{setTimeout(a,f-i)}),this._rippleAnimation===t&&this.setPressed(!1)}inBounds(t,i){return z(this._component,t,i)}};var v=class{constructor(e){this._adapter=e;this._target=null;this._disabled=!1;this._attached=!1;this._deferred=!0;this._pointerState=0;this._checkBoundsAfterContextMenu=!1;this._pointerEnterListener=t=>this._onPointerEnter(t),this._pointerLeaveListener=t=>this._onPointerLeave(t),this._pointerDownListener=t=>this._onPointerDown(t),this._pointerUpListener=t=>this._onPointerUp(t),this._pointerCancelListener=t=>this._onPointerCancel(t),this._clickListener=()=>this._onClick(),this._contextmenuListener=()=>this._onContextmenu()}initialize(){this._adapter.trySetTarget(this._target),this._deferInitialization()}disconnect(){this._pointerStartEvent=void 0,this._pointerState=0,this._adapter.setHovered(!1),this._adapter.setPressed(!1),this._removeListeners(),this._adapter.destroy()}playAnimation(e){this._adapter.startAnimation(e),this._endAnimation()}_deferInitialization(){this._adapter.deferInitialization(this._onDeferredInitialize.bind(this))}_applyListeners(){this._disabled||(this._adapter.addTargetListener("pointerenter",this._pointerEnterListener),this._adapter.addTargetListener("pointerleave",this._pointerLeaveListener),this._adapter.addTargetListener("pointerdown",this._pointerDownListener),this._adapter.addTargetListener("pointerup",this._pointerUpListener),this._adapter.addTargetListener("pointercancel",this._pointerCancelListener),this._adapter.addTargetListener("click",this._clickListener),this._adapter.addTargetListener("contextmenu",this._contextmenuListener),this._attached=!0)}_removeListeners(){this._adapter.removeTargetListener("pointerenter",this._pointerEnterListener),this._adapter.removeTargetListener("pointerleave",this._pointerLeaveListener),this._adapter.removeTargetListener("pointerdown",this._pointerDownListener),this._adapter.removeTargetListener("pointerup",this._pointerUpListener),this._adapter.removeTargetListener("pointercancel",this._pointerCancelListener),this._adapter.removeTargetListener("click",this._clickListener),this._adapter.removeTargetListener("contextmenu",this._contextmenuListener),this._attached=!1}_onDeferredInitialize(e){this._applyListeners(),(e==null?void 0:e.type)==="pointerenter"&&this._pointerEnterListener(e),this._deferred=!1}_onPointerEnter(e){this._canHandleEvent(e)&&this._adapter.setHovered(!0)}_onPointerLeave(e){this._canHandleEvent(e)&&(this._adapter.setHovered(!1),this._pointerState!==0&&this._adapter.endAnimation())}async _onPointerDown(e){if(this._pointerStartEvent=e,!!this._canHandleEvent(e)){if(!this._isTouch(e.pointerType)){this._pointerState=3,this._startAnimation(e);return}this._checkBoundsAfterContextMenu&&!this._adapter.inBounds(e.x,e.y)||(this._checkBoundsAfterContextMenu=!1,this._pointerState=1,await new Promise(t=>setTimeout(t,P)),this._pointerState===1&&(this._pointerState=2,this._startAnimation(e)))}}_onPointerUp(e){if(this._canHandleEvent(e)){if(this._pointerState===2){this._pointerState=3;return}if(this._pointerState===1){this._pointerState=3,this._startAnimation(this._pointerStartEvent);return}}}_onClick(){if(!this._disabled){if(this._pointerState===3){this._endAnimation();return}this._pointerState===0&&(this._startAnimation(this._pointerStartEvent),this._endAnimation())}}_onPointerCancel(e){this._canHandleEvent(e)&&this._endAnimation()}_onContextmenu(){this._disabled||(this._checkBoundsAfterContextMenu=!0,this._adapter.endAnimation())}_startAnimation(e){let t=e?d.fromPointerEvent(e):void 0;this._adapter.startAnimation(t)}_endAnimation(){this._pointerState=0,this._adapter.endAnimation(),this._pointerStartEvent=void 0}_canHandleEvent({type:e,isPrimary:t,buttons:i,pointerType:r,pointerId:a}){if(this._disabled||!t||this._pointerStartEvent&&this._pointerStartEvent.pointerId!==a)return!1;if(e==="pointerenter"||e==="pointerleave")return!this._isTouch(r);let o=i===1;return this._isTouch(r)||o}_isTouch(e){return e==="touch"}get isAttached(){return this._attached}get targetElement(){return this._adapter.getTargetElement()}set targetElement(e){this._attached?this._removeListeners():(this._adapter.destroy(),this._deferred=!1),this._adapter.setTargetElement(e),this._deferred||this._deferInitialization()}get target(){return this._adapter.getHostAttribute(s.attributes.TARGET)}set target(e){this._target!==e&&(this._target=e,this._adapter.isConnected&&(this._attached?this._removeListeners():(this._adapter.destroy(),this._deferred=!1),this._adapter.trySetTarget(e),this._deferred||this._deferInitialization()),this._adapter.toggleHostAttribute(s.attributes.TARGET,!!this._target,this._target))}get disabled(){return this._disabled}set disabled(e){e=!!e,this._disabled!==e&&(this._disabled=e,this._adapter.isConnected&&(this._disabled?this._removeListeners():this._deferred||this._deferInitialization()),this._adapter.toggleHostAttribute(s.attributes.DISABLED,this._disabled))}};var Z='<template><div class="forge-state-layer" part="surface"></div></template>',q=':host{border-radius:inherit;position:absolute;inset:0;overflow:hidden;display:-webkit-box;display:flex;margin:auto;pointer-events:none;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}:host([disabled]){display:none}.forge-state-layer{--_state-layer-color:var(--forge-state-layer-color, var(--forge-theme-on-surface, #000000));--_state-layer-hover-color:var(--forge-state-layer-hover-color, var(--_state-layer-color));--_state-layer-hover-opacity:var(--forge-state-layer-hover-opacity, 0.08);--_state-layer-pressed-color:var(--forge-state-layer-pressed-color, var(--_state-layer-color));--_state-layer-pressed-opacity:var(--forge-state-layer-pressed-opacity, 0.12);--_state-layer-hover-duration:var(--forge-state-layer-hover-duration, 15ms);--_state-layer-pressed-duration:var(--forge-state-layer-pressed-duration, 105ms);--_state-layer-animation-duration:var(--forge-state-layer-animation-duration, 375ms)}.forge-state-layer::after,.forge-state-layer::before{content:"";opacity:0;position:absolute}.forge-state-layer::before{background-color:var(--_state-layer-hover-color);inset:0;-webkit-transition:opacity var(--_state-layer-hover-duration) linear,background-color var(--_state-layer-hover-duration) linear;transition:opacity var(--_state-layer-hover-duration) linear,background-color var(--_state-layer-hover-duration) linear}.forge-state-layer::after{background:radial-gradient(closest-side,var(--_state-layer-pressed-color) max(100% - 70px,65%),transparent 100%);-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:opacity var(--_state-layer-animation-duration) linear;transition:opacity var(--_state-layer-animation-duration) linear}.forge-state-layer--hovered::before{background-color:var(--_state-layer-hover-color);opacity:var(--_state-layer-hover-opacity)}.forge-state-layer--pressed::after{opacity:var(--_state-layer-pressed-opacity);-webkit-transition-duration:var(--_state-layer-pressed-duration);transition-duration:var(--_state-layer-pressed-duration)}@media screen and (forced-colors:active){:host{display:none}}',l=class extends A{constructor(){super();y(this,Z,q),this._foundation=new v(new m(this))}static get observedAttributes(){return[s.attributes.TARGET,s.attributes.DISABLED]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,r){switch(t){case s.attributes.TARGET:this.target=r;break;case s.attributes.DISABLED:this.disabled=L(r);break}}playAnimation(t){this._foundation.playAnimation(t)}};h([u()],l.prototype,"targetElement",2),h([u()],l.prototype,"target",2),h([u()],l.prototype,"disabled",2),l=h([T({name:s.elementName})],l);export{s as a,d as b,P as c,N as d,f as e,M as f,D as g,R as h,H as i,O as j,w as k,k as l,B as m,m as n,v as o,l as p};
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{b as C,j as x}from"./chunk.HPCXVNG6.js";import{a as S}from"./chunk.ZY3ETQ3D.js";import{a as u}from"./chunk.NVUMRW44.js";import{a as T,b as I}from"./chunk.RRNSZCVJ.js";import{e as y,f as b,k as A}from"./chunk.TPXXHX5J.js";import{k as L}from"./chunk.J2M2MXP2.js";import{a as g,d as h}from"./chunk.M3QDAYD2.js";var F=`${I}state-layer`,Y={TARGET:"target",DISABLED:"disabled"},$=g({},Y),V={SURFACE:".forge-state-layer"},W={HOVERED:"forge-state-layer--hovered",PRESSED:"forge-state-layer--pressed"},s={elementName:F,attributes:$,selectors:V,classes:W},d=class n{constructor(e,t){this.x=e;this.y=t}static fromPointerEvent(e){return new n(e.pageX,e.pageY)}},P=150,N=450,f=225,M=.2,D=10,R=75,H=.35,O="::after",w="forwards",k="cubic-bezier(0.2, 0, 0, 1)",B=(r=>(r[r.INACTIVE=0]="INACTIVE",r[r.TOUCH_DELAY=1]="TOUCH_DELAY",r[r.HOLDING=2]="HOLDING",r[r.WAITING_FOR_CLICK=3]="WAITING_FOR_CLICK",r))(B||{});function G(n){let{height:e,width:t}=n.getBoundingClientRect(),i=Math.max(e,t),r=Math.max(H*i,R),a=Math.floor(i*M),_=`${(Math.sqrt(t**2+e**2)+D+r)/a}`,c=`${a}px`;return{rippleScale:_,rippleSize:c,initialSize:a}}function U(n,e,t){let{height:i,width:r}=n.getBoundingClientRect(),a={x:(r-e)/2,y:(i-e)/2},o;return X(t)?o=K(n,t):o={x:r/2,y:i/2},o={x:o.x-e/2,y:o.y-e/2},{startPoint:o,endPoint:a}}function K(n,e){let{scrollX:t,scrollY:i}=window,{left:r,top:a}=n.getBoundingClientRect(),o=t+r,p=i+a,{x:_,y:c}=e;return{x:_-o,y:c-p}}function z(n,e,t){let{height:i,width:r}=n.getBoundingClientRect();return e>=0&&e<=r&&t>=0&&t<=i}function X(n){return n&&(n instanceof d||["x","y"].every(e=>e in n))}var m=class extends S{constructor(t){super(t);this._targetElement=null;this._surfaceElement=b(t,s.selectors.SURFACE)}destroy(){typeof this._destroyDeferListener=="function"&&(this._destroyDeferListener(),this._destroyDeferListener=void 0),this._targetElement=null}async deferInitialization(t){if(!this._targetElement)return;let{userInteraction:i,destroy:r}=C(this._targetElement);this._destroyDeferListener=r;let a=await i;t(a.type==="pointerenter"?a:void 0)}addTargetListener(t,i){var r;(r=this._targetElement)==null||r.addEventListener(t,i)}removeTargetListener(t,i){var r;(r=this._targetElement)==null||r.removeEventListener(t,i)}setHovered(t){this._surfaceElement.classList.toggle(s.classes.HOVERED,t)}setPressed(t){this._surfaceElement.classList.toggle(s.classes.PRESSED,t)}getTargetElement(){return this._targetElement}setTargetElement(t){this._targetElement=t}trySetTarget(t){this._targetElement=x(this._component,t)}startAnimation(t){var E;if(!this._surfaceElement)return;this.setPressed(!0),(E=this._rippleAnimation)==null||E.cancel();let{rippleSize:i,rippleScale:r,initialSize:a}=G(this._component),{startPoint:o,endPoint:p}=U(this._component,a,t),_=`${o.x}px, ${o.y}px`,c=`${p.x}px, ${p.y}px`;this._rippleAnimation=this._surfaceElement.animate({top:[0,0],left:[0,0],height:[i,i],width:[i,i],transform:[`translate(${_}) scale(1)`,`translate(${c}) scale(${r})`]},{pseudoElement:O,duration:N,easing:k,fill:w})}async endAnimation(){var r;let t=this._rippleAnimation,i=(r=t==null?void 0:t.currentTime)!=null?r:1/0;if(i>=f){this.setPressed(!1);return}await new Promise(a=>{setTimeout(a,f-i)}),this._rippleAnimation===t&&this.setPressed(!1)}inBounds(t,i){return z(this._component,t,i)}};var v=class{constructor(e){this._adapter=e;this._target=null;this._disabled=!1;this._attached=!1;this._deferred=!0;this._pointerState=0;this._checkBoundsAfterContextMenu=!1;this._pointerEnterListener=t=>this._onPointerEnter(t),this._pointerLeaveListener=t=>this._onPointerLeave(t),this._pointerDownListener=t=>this._onPointerDown(t),this._pointerUpListener=t=>this._onPointerUp(t),this._pointerCancelListener=t=>this._onPointerCancel(t),this._clickListener=()=>this._onClick(),this._contextmenuListener=()=>this._onContextmenu()}initialize(){this._adapter.trySetTarget(this._target),this._adapter.addTargetListener("click",this._clickListener),this._deferInitialization()}disconnect(){this._pointerStartEvent=void 0,this._pointerState=0,this._adapter.setHovered(!1),this._adapter.setPressed(!1),this._removeListeners(),this._adapter.destroy()}playAnimation(e){this._adapter.startAnimation(e),this._endAnimation()}_deferInitialization(){this._adapter.deferInitialization(this._onDeferredInitialize.bind(this))}_applyListeners(){this._disabled||(this._adapter.addTargetListener("pointerenter",this._pointerEnterListener),this._adapter.addTargetListener("pointerleave",this._pointerLeaveListener),this._adapter.addTargetListener("pointerdown",this._pointerDownListener),this._adapter.addTargetListener("pointerup",this._pointerUpListener),this._adapter.addTargetListener("pointercancel",this._pointerCancelListener),this._adapter.addTargetListener("contextmenu",this._contextmenuListener),this._attached=!0)}_removeListeners(){this._adapter.removeTargetListener("pointerenter",this._pointerEnterListener),this._adapter.removeTargetListener("pointerleave",this._pointerLeaveListener),this._adapter.removeTargetListener("pointerdown",this._pointerDownListener),this._adapter.removeTargetListener("pointerup",this._pointerUpListener),this._adapter.removeTargetListener("pointercancel",this._pointerCancelListener),this._adapter.removeTargetListener("click",this._clickListener),this._adapter.removeTargetListener("contextmenu",this._contextmenuListener),this._attached=!1}_onDeferredInitialize(e){this._applyListeners(),(e==null?void 0:e.type)==="pointerenter"&&this._pointerEnterListener(e),this._deferred=!1}_onPointerEnter(e){this._canHandleEvent(e)&&this._adapter.setHovered(!0)}_onPointerLeave(e){this._canHandleEvent(e)&&(this._adapter.setHovered(!1),this._pointerState!==0&&this._adapter.endAnimation())}async _onPointerDown(e){if(this._pointerStartEvent=e,!!this._canHandleEvent(e)){if(!this._isTouch(e.pointerType)){this._pointerState=3,this._startAnimation(e);return}this._checkBoundsAfterContextMenu&&!this._adapter.inBounds(e.x,e.y)||(this._checkBoundsAfterContextMenu=!1,this._pointerState=1,await new Promise(t=>setTimeout(t,P)),this._pointerState===1&&(this._pointerState=2,this._startAnimation(e)))}}_onPointerUp(e){if(this._canHandleEvent(e)){if(this._pointerState===2){this._pointerState=3;return}if(this._pointerState===1){this._pointerState=3,this._startAnimation(this._pointerStartEvent);return}}}_onClick(){if(!this._disabled){if(this._pointerState===3){this._endAnimation();return}this._pointerState===0&&(this._startAnimation(this._pointerStartEvent),this._endAnimation())}}_onPointerCancel(e){this._canHandleEvent(e)&&this._endAnimation()}_onContextmenu(){this._disabled||(this._checkBoundsAfterContextMenu=!0,this._adapter.endAnimation())}_startAnimation(e){let t=e?d.fromPointerEvent(e):void 0;this._adapter.startAnimation(t)}_endAnimation(){this._pointerState=0,this._adapter.endAnimation(),this._pointerStartEvent=void 0}_canHandleEvent({type:e,isPrimary:t,buttons:i,pointerType:r,pointerId:a}){if(this._disabled||!t||this._pointerStartEvent&&this._pointerStartEvent.pointerId!==a)return!1;if(e==="pointerenter"||e==="pointerleave")return!this._isTouch(r);let o=i===1;return this._isTouch(r)||o}_isTouch(e){return e==="touch"}get isAttached(){return this._attached}get targetElement(){return this._adapter.getTargetElement()}set targetElement(e){this._removeListeners(),this._attached||(this._adapter.destroy(),this._deferred=!1),this._adapter.setTargetElement(e),this._deferred||this._deferInitialization()}get target(){return this._adapter.getHostAttribute(s.attributes.TARGET)}set target(e){this._target!==e&&(this._target=e,this._adapter.isConnected&&(this._removeListeners(),this._attached||(this._adapter.destroy(),this._deferred=!1),this._adapter.trySetTarget(e),this._deferred||this._deferInitialization()),this._adapter.toggleHostAttribute(s.attributes.TARGET,!!this._target,this._target))}get disabled(){return this._disabled}set disabled(e){e=!!e,this._disabled!==e&&(this._disabled=e,this._adapter.isConnected&&(this._disabled?this._removeListeners():this._deferred||this._deferInitialization()),this._adapter.toggleHostAttribute(s.attributes.DISABLED,this._disabled))}};var Z='<template><div class="forge-state-layer" part="surface"></div></template>',q=':host{border-radius:inherit;position:absolute;inset:0;overflow:hidden;display:-webkit-box;display:flex;margin:auto;pointer-events:none;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}:host([disabled]){display:none}.forge-state-layer{--_state-layer-color:var(--forge-state-layer-color, var(--forge-theme-on-surface, #000000));--_state-layer-hover-color:var(--forge-state-layer-hover-color, var(--_state-layer-color));--_state-layer-hover-opacity:var(--forge-state-layer-hover-opacity, 0.08);--_state-layer-pressed-color:var(--forge-state-layer-pressed-color, var(--_state-layer-color));--_state-layer-pressed-opacity:var(--forge-state-layer-pressed-opacity, 0.12);--_state-layer-hover-duration:var(--forge-state-layer-hover-duration, 15ms);--_state-layer-pressed-duration:var(--forge-state-layer-pressed-duration, 105ms);--_state-layer-animation-duration:var(--forge-state-layer-animation-duration, 375ms)}.forge-state-layer::after,.forge-state-layer::before{content:"";opacity:0;position:absolute}.forge-state-layer::before{background-color:var(--_state-layer-hover-color);inset:0;-webkit-transition:opacity var(--_state-layer-hover-duration) linear,background-color var(--_state-layer-hover-duration) linear;transition:opacity var(--_state-layer-hover-duration) linear,background-color var(--_state-layer-hover-duration) linear}.forge-state-layer::after{background:radial-gradient(closest-side,var(--_state-layer-pressed-color) max(100% - 70px,65%),transparent 100%);-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:opacity var(--_state-layer-animation-duration) linear;transition:opacity var(--_state-layer-animation-duration) linear}.forge-state-layer--hovered::before{background-color:var(--_state-layer-hover-color);opacity:var(--_state-layer-hover-opacity)}.forge-state-layer--pressed::after{opacity:var(--_state-layer-pressed-opacity);-webkit-transition-duration:var(--_state-layer-pressed-duration);transition-duration:var(--_state-layer-pressed-duration)}@media screen and (forced-colors:active){:host{display:none}}',l=class extends A{constructor(){super();y(this,Z,q),this._foundation=new v(new m(this))}static get observedAttributes(){return[s.attributes.TARGET,s.attributes.DISABLED]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,r){switch(t){case s.attributes.TARGET:this.target=r;break;case s.attributes.DISABLED:this.disabled=L(r);break}}playAnimation(t){this._foundation.playAnimation(t)}};h([u()],l.prototype,"targetElement",2),h([u()],l.prototype,"target",2),h([u()],l.prototype,"disabled",2),l=h([T({name:s.elementName})],l);export{s as a,d as b,P as c,N as d,f as e,M as f,D as g,R as h,H as i,O as j,w as k,k as l,B as m,m as n,v as o,l as p};
|
|
7
|
+
//# sourceMappingURL=chunk.HJUFU2PV.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/state-layer/state-layer-constants.ts", "../../src/state-layer/state-layer-utils.ts", "../../src/state-layer/state-layer-adapter.ts", "../../src/state-layer/state-layer-foundation.ts", "../../src/state-layer/state-layer.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName = `${COMPONENT_NAME_PREFIX}state-layer`;\n\nconst observedAttributes = {\n TARGET: 'target',\n DISABLED: 'disabled'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst selectors = {\n SURFACE: '.forge-state-layer'\n};\n\nconst classes = {\n HOVERED: 'forge-state-layer--hovered',\n PRESSED: 'forge-state-layer--pressed'\n};\n\nexport const STATE_LAYER_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n classes\n};\n\nexport class StateLayerCoords {\n constructor(public x: number, public y: number) {}\n\n public static fromPointerEvent(event: PointerEvent): StateLayerCoords {\n return new StateLayerCoords(event.pageX, event.pageY);\n }\n}\n\nexport const TOUCH_DELAY_MS = 150;\nexport const PRESS_GROW_MS = 450;\nexport const MINIMUM_PRESS_MS = 225;\nexport const INITIAL_ORIGIN_SCALE = 0.2;\nexport const PADDING = 10;\nexport const SOFT_EDGE_MINIMUM_SIZE = 75;\nexport const SOFT_EDGE_CONTAINER_RATIO = 0.35;\nexport const PRESS_PSEUDO = '::after';\nexport const ANIMATION_FILL = 'forwards';\nexport const EASING = 'cubic-bezier(0.2, 0, 0, 1)';\n\n/**\n * Interaction states for the state layer.\n *\n * On Touch:\n * - `INACTIVE -> TOUCH_DELAY -> WAITING_FOR_CLICK -> INACTIVE`\n * - `INACTIVE -> TOUCH_DELAY -> HOLDING -> WAITING_FOR_CLICK -> INACTIVE`\n *\n * On Mouse or Pen:\n * - `INACTIVE -> WAITING_FOR_CLICK -> INACTIVE`\n */\nexport enum PointerState {\n /**\n * Initial state of the control, no touch in progress.\n *\n * Transitions:\n * - on touch down: transition to `TOUCH_DELAY`.\n * - on mouse down: transition to `WAITING_FOR_CLICK`.\n */\n INACTIVE,\n /**\n * Touch down has been received, waiting to determine if it's a swipe or\n * scroll.\n *\n * Transitions:\n * - on touch up: begin press; transition to `WAITING_FOR_CLICK`.\n * - on cancel: transition to `INACTIVE`.\n * - after `TOUCH_DELAY_MS`: begin press; transition to `HOLDING`.\n */\n TOUCH_DELAY,\n /**\n * A touch has been deemed to be a press\n *\n * Transitions:\n * - on up: transition to `WAITING_FOR_CLICK`.\n */\n HOLDING,\n /**\n * The user touch has finished, transition into rest state.\n *\n * Transitions:\n * - on click end press; transition to `INACTIVE`.\n */\n WAITING_FOR_CLICK\n}\n", "import { INITIAL_ORIGIN_SCALE, PADDING, SOFT_EDGE_CONTAINER_RATIO, SOFT_EDGE_MINIMUM_SIZE, StateLayerCoords } from './state-layer-constants';\n\nexport function calcRippleSize(hostEl: HTMLElement): { rippleScale: string; rippleSize: string; initialSize: number } {\n const { height, width } = hostEl.getBoundingClientRect();\n const maxDim = Math.max(height, width);\n const softEdgeSize = Math.max(SOFT_EDGE_CONTAINER_RATIO * maxDim, SOFT_EDGE_MINIMUM_SIZE);\n const initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);\n const hypotenuse = Math.sqrt(width ** 2 + height ** 2);\n const maxRadius = hypotenuse + PADDING;\n const rippleScale = `${(maxRadius + softEdgeSize) / initialSize}`;\n const rippleSize = `${initialSize}px`;\n return { rippleScale, rippleSize, initialSize };\n}\n\nexport function getTranslationCoordinates(hostEl: HTMLElement, initialSize: number, coords?: StateLayerCoords): { startPoint: { x: number; y: number }; endPoint: { x: number; y: number } } {\n const { height, width } = hostEl.getBoundingClientRect();\n const endPoint = {\n x: (width - initialSize) / 2,\n y: (height - initialSize) / 2\n };\n\n let startPoint;\n if (isValidCoords(coords)) {\n startPoint = toNormalizedCoords(hostEl, coords);\n } else {\n startPoint = {\n x: width / 2,\n y: height / 2\n };\n }\n\n startPoint = {\n x: startPoint.x - (initialSize / 2),\n y: startPoint.y - (initialSize / 2)\n };\n\n return { startPoint, endPoint };\n}\n\nexport function toNormalizedCoords(hostEl: HTMLElement, coords: StateLayerCoords): { x: number; y: number } {\n const { scrollX, scrollY } = window;\n const { left, top } = hostEl.getBoundingClientRect();\n const documentX = scrollX + left;\n const documentY = scrollY + top;\n const { x, y } = coords;\n return { x: x - documentX, y: y - documentY };\n}\n\nexport function isInBounds(hostEl: HTMLElement, x: number, y: number): boolean {\n const { height, width } = hostEl.getBoundingClientRect();\n return x >= 0 && x <= width && y >= 0 && y <= height;\n}\n\nfunction isValidCoords(value: any): value is StateLayerCoords {\n return value && (value instanceof StateLayerCoords || ['x', 'y'].every(key => key in value));\n}\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { locateTargetHeuristic, createUserInteractionListener } from '../core/utils/utils';\nimport { IStateLayerComponent } from './state-layer';\nimport { ANIMATION_FILL, EASING, MINIMUM_PRESS_MS, PRESS_GROW_MS, PRESS_PSEUDO, StateLayerCoords, STATE_LAYER_CONSTANTS } from './state-layer-constants';\nimport { calcRippleSize, getTranslationCoordinates, isInBounds } from './state-layer-utils';\n\nexport interface IStateLayerAdapter extends IBaseAdapter {\n destroy(): void;\n deferInitialization(listener: (evt?: PointerEvent) => void): void;\n getTargetElement(): HTMLElement | null;\n setTargetElement(el: HTMLElement | null): void;\n trySetTarget(value?: string | null): void;\n addTargetListener(type: string, listener: EventListener): void;\n removeTargetListener(type: string, listener: EventListener): void;\n setHovered(hovered: boolean): void;\n setPressed(pressed: boolean): void;\n startAnimation(coords?: StateLayerCoords): void;\n endAnimation(): Promise<void>;\n inBounds(x: number, y: number): boolean;\n}\n\nexport class StateLayerAdapter extends BaseAdapter<IStateLayerComponent> implements IStateLayerAdapter {\n private readonly _surfaceElement: HTMLElement;\n private _targetElement: HTMLElement | null = null;\n private _rippleAnimation: Animation | undefined;\n private _destroyDeferListener: (() => void) | undefined;\n\n constructor(component: IStateLayerComponent) {\n super(component);\n this._surfaceElement = getShadowElement(component, STATE_LAYER_CONSTANTS.selectors.SURFACE);\n }\n\n public destroy(): void {\n if (typeof this._destroyDeferListener === 'function') {\n this._destroyDeferListener();\n this._destroyDeferListener = undefined;\n }\n this._targetElement = null;\n }\n\n public async deferInitialization(listener: (evt?: PointerEvent) => void): Promise<void> {\n if (!this._targetElement) {\n return;\n }\n const { userInteraction, destroy } = createUserInteractionListener(this._targetElement);\n this._destroyDeferListener = destroy;\n const evt = await userInteraction;\n listener(evt.type === 'pointerenter' ? evt as PointerEvent : undefined);\n }\n\n public addTargetListener(type: string, listener: EventListener): void {\n this._targetElement?.addEventListener(type, listener);\n }\n\n public removeTargetListener(type: string, listener: EventListener): void {\n this._targetElement?.removeEventListener(type, listener);\n }\n\n public setHovered(hovered: boolean): void {\n this._surfaceElement.classList.toggle(STATE_LAYER_CONSTANTS.classes.HOVERED, hovered);\n }\n \n public setPressed(pressed: boolean): void {\n this._surfaceElement.classList.toggle(STATE_LAYER_CONSTANTS.classes.PRESSED, pressed);\n }\n\n public getTargetElement(): HTMLElement | null {\n return this._targetElement;\n }\n\n public setTargetElement(el: HTMLElement | null): void {\n this._targetElement = el;\n }\n\n public trySetTarget(value?: string | null): void {\n this._targetElement = locateTargetHeuristic(this._component, value);\n }\n\n public startAnimation(coords?: StateLayerCoords): void {\n if (!this._surfaceElement) {\n return;\n }\n\n this.setPressed(true);\n this._rippleAnimation?.cancel();\n\n const { rippleSize, rippleScale, initialSize } = calcRippleSize(this._component);\n const { startPoint, endPoint } = getTranslationCoordinates(this._component, initialSize, coords);\n const translateStart = `${startPoint.x}px, ${startPoint.y}px`;\n const translateEnd = `${endPoint.x}px, ${endPoint.y}px`;\n\n this._rippleAnimation = this._surfaceElement.animate(\n {\n top: [0, 0],\n left: [0, 0],\n height: [rippleSize, rippleSize],\n width: [rippleSize, rippleSize],\n transform: [\n `translate(${translateStart}) scale(1)`,\n `translate(${translateEnd}) scale(${rippleScale})`\n ]\n },\n {\n pseudoElement: PRESS_PSEUDO,\n duration: PRESS_GROW_MS,\n easing: EASING,\n fill: ANIMATION_FILL\n });\n }\n\n public async endAnimation(): Promise<void> {\n const animation = this._rippleAnimation;\n const pressAnimationPlayState = animation?.currentTime ?? Infinity;\n\n if (pressAnimationPlayState >= MINIMUM_PRESS_MS) {\n this.setPressed(false);\n return;\n }\n\n await new Promise(resolve => {\n setTimeout(resolve, MINIMUM_PRESS_MS - pressAnimationPlayState);\n });\n\n if (this._rippleAnimation !== animation) {\n return;\n }\n\n this.setPressed(false);\n }\n\n public inBounds(x: number, y: number): boolean {\n return isInBounds(this._component, x, y);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IStateLayerAdapter } from './state-layer-adapter';\nimport { PointerState, StateLayerCoords, STATE_LAYER_CONSTANTS, TOUCH_DELAY_MS } from './state-layer-constants';\n\nexport interface IStateLayerFoundation extends ICustomElementFoundation {\n targetElement: HTMLElement | null;\n target: string | null;\n disabled: boolean;\n playAnimation(coords?: StateLayerCoords): void;\n}\n\nexport class StateLayerFoundation implements IStateLayerFoundation {\n // State\n private _target: string | null = null;\n private _disabled = false;\n private _attached = false;\n private _deferred = true;\n private _pointerStartEvent: PointerEvent | undefined;\n private _pointerState: PointerState = PointerState.INACTIVE;\n private _checkBoundsAfterContextMenu = false;\n\n // Listeners\n private _pointerEnterListener: EventListener;\n private _pointerLeaveListener: EventListener;\n private _pointerDownListener: EventListener;\n private _pointerUpListener: EventListener;\n private _pointerCancelListener: EventListener;\n private _clickListener: EventListener;\n private _contextmenuListener: EventListener;\n\n constructor(private _adapter: IStateLayerAdapter) {\n this._pointerEnterListener = (evt: PointerEvent) => this._onPointerEnter(evt);\n this._pointerLeaveListener = (evt: PointerEvent) => this._onPointerLeave(evt);\n this._pointerDownListener = (evt: PointerEvent) => this._onPointerDown(evt);\n this._pointerUpListener = (evt: PointerEvent) => this._onPointerUp(evt);\n this._pointerCancelListener = (evt: PointerEvent) => this._onPointerCancel(evt);\n this._clickListener = () => this._onClick();\n this._contextmenuListener = () => this._onContextmenu();\n }\n\n public initialize(): void {\n this._adapter.trySetTarget(this._target);\n\n // We defer initialization until the first pointerenter event is received.\n //\n // This is a performance optimization to avoid attaching many listeners to the target element\n // until the user is first interacting with it.\n this._deferInitialization();\n }\n\n public disconnect(): void {\n this._pointerStartEvent = undefined;\n this._pointerState = PointerState.INACTIVE;\n this._adapter.setHovered(false);\n this._adapter.setPressed(false);\n this._removeListeners(); // Must be called before destroying adapter\n this._adapter.destroy();\n }\n\n public playAnimation(coords?: StateLayerCoords): void {\n this._adapter.startAnimation(coords);\n this._endAnimation();\n }\n\n private _deferInitialization(): void {\n this._adapter.deferInitialization(this._onDeferredInitialize.bind(this));\n }\n\n private _applyListeners(): void {\n if (this._disabled) {\n return;\n }\n\n this._adapter.addTargetListener('pointerenter', this._pointerEnterListener);\n this._adapter.addTargetListener('pointerleave', this._pointerLeaveListener);\n this._adapter.addTargetListener('pointerdown', this._pointerDownListener);\n this._adapter.addTargetListener('pointerup', this._pointerUpListener);\n this._adapter.addTargetListener('pointercancel', this._pointerCancelListener);\n this._adapter.addTargetListener('click', this._clickListener);\n this._adapter.addTargetListener('contextmenu', this._contextmenuListener);\n this._attached = true;\n }\n\n private _removeListeners(): void {\n this._adapter.removeTargetListener('pointerenter', this._pointerEnterListener);\n this._adapter.removeTargetListener('pointerleave', this._pointerLeaveListener);\n this._adapter.removeTargetListener('pointerdown', this._pointerDownListener);\n this._adapter.removeTargetListener('pointerup', this._pointerUpListener);\n this._adapter.removeTargetListener('pointercancel', this._pointerCancelListener);\n this._adapter.removeTargetListener('click', this._clickListener);\n this._adapter.removeTargetListener('contextmenu', this._contextmenuListener);\n this._attached = false;\n }\n\n private _onDeferredInitialize(evt?: PointerEvent): void {\n this._applyListeners();\n\n if (evt?.type === 'pointerenter') {\n // Manually trigger the pointerenter listener since this is in response to a pointerenter event already\n this._pointerEnterListener(evt);\n }\n \n this._deferred = false;\n }\n\n private _onPointerEnter(evt: PointerEvent): void {\n if (!this._canHandleEvent(evt)) {\n return;\n }\n this._adapter.setHovered(true);\n }\n\n private _onPointerLeave(evt: PointerEvent): void {\n if (!this._canHandleEvent(evt)) {\n return;\n }\n\n this._adapter.setHovered(false);\n\n if (this._pointerState !== PointerState.INACTIVE) {\n this._adapter.endAnimation();\n }\n }\n\n private async _onPointerDown(evt: PointerEvent): Promise<void> {\n this._pointerStartEvent = evt;\n\n if (!this._canHandleEvent(evt)) {\n return;\n }\n \n if (!this._isTouch(evt.pointerType)) {\n this._pointerState = PointerState.WAITING_FOR_CLICK;\n this._startAnimation(evt);\n return;\n }\n\n // after a longpress contextmenu event, an extra `pointerdown` can be\n // dispatched to the pressed element. Check that the down is within\n // bounds of the element in this case.\n if (this._checkBoundsAfterContextMenu && !this._adapter.inBounds(evt.x, evt.y)) {\n return;\n }\n\n this._checkBoundsAfterContextMenu = false;\n\n this._pointerState = PointerState.TOUCH_DELAY;\n await new Promise(resolve => setTimeout(resolve, TOUCH_DELAY_MS));\n\n if (this._pointerState !== PointerState.TOUCH_DELAY) {\n return;\n }\n\n this._pointerState = PointerState.HOLDING;\n this._startAnimation(evt);\n }\n\n private _onPointerUp(evt: PointerEvent): void {\n if (!this._canHandleEvent(evt)) {\n return;\n }\n\n if (this._pointerState === PointerState.HOLDING) {\n this._pointerState = PointerState.WAITING_FOR_CLICK;\n return;\n }\n\n if (this._pointerState === PointerState.TOUCH_DELAY) {\n this._pointerState = PointerState.WAITING_FOR_CLICK;\n this._startAnimation(this._pointerStartEvent);\n return;\n }\n }\n\n private _onClick(): void {\n if (this._disabled) {\n return;\n }\n\n if (this._pointerState === PointerState.WAITING_FOR_CLICK) {\n this._endAnimation();\n return;\n }\n\n if (this._pointerState === PointerState.INACTIVE) {\n this._startAnimation(this._pointerStartEvent);\n this._endAnimation();\n }\n }\n\n private _onPointerCancel(evt: PointerEvent): void {\n if (!this._canHandleEvent(evt)) {\n return;\n }\n this._endAnimation();\n }\n\n private _onContextmenu(): void {\n if (this._disabled) {\n return;\n }\n\n this._checkBoundsAfterContextMenu = true;\n this._adapter.endAnimation();\n }\n\n private _startAnimation(evt?: PointerEvent): void {\n const coords = evt ? StateLayerCoords.fromPointerEvent(evt) : undefined;\n this._adapter.startAnimation(coords);\n }\n\n private _endAnimation(): void {\n this._pointerState = PointerState.INACTIVE;\n this._adapter.endAnimation();\n this._pointerStartEvent = undefined;\n }\n\n private _canHandleEvent({ type, isPrimary, buttons, pointerType, pointerId }: PointerEvent): boolean {\n if (this._disabled || !isPrimary) {\n return false;\n }\n\n if (this._pointerStartEvent && this._pointerStartEvent.pointerId !== pointerId) {\n return false;\n }\n\n if (type === 'pointerenter' || type === 'pointerleave') {\n return !this._isTouch(pointerType);\n }\n\n const isPrimaryButton = buttons === 1;\n return this._isTouch(pointerType) || isPrimaryButton;\n }\n\n private _isTouch(pointerType: string): boolean {\n return pointerType === 'touch';\n }\n\n public get isAttached(): boolean {\n return this._attached;\n }\n\n public get targetElement(): HTMLElement | null {\n return this._adapter.getTargetElement();\n }\n public set targetElement(el: HTMLElement | null) {\n // Always remove the listeners from the previous target element\n if (this._attached) {\n this._removeListeners();\n } else {\n // If unattached destroy the defer listener to recreate on the new target element\n this._adapter.destroy();\n this._deferred = false;\n }\n\n this._adapter.setTargetElement(el);\n\n // If we are not already deferring attaching the listeners, then do that now\n if (!this._deferred) {\n this._deferInitialization();\n }\n }\n\n public get target(): string | null {\n return this._adapter.getHostAttribute(STATE_LAYER_CONSTANTS.attributes.TARGET);\n }\n public set target(value: string | null) {\n if (this._target !== value) {\n this._target = value;\n\n if (this._adapter.isConnected) {\n if (this._attached) {\n this._removeListeners();\n } else {\n this._adapter.destroy();\n this._deferred = false;\n }\n\n this._adapter.trySetTarget(value);\n\n if (!this._deferred) {\n this._deferInitialization();\n }\n }\n\n this._adapter.toggleHostAttribute(STATE_LAYER_CONSTANTS.attributes.TARGET, Boolean(this._target), this._target as string);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n value = Boolean(value);\n if (this._disabled !== value) {\n this._disabled = value;\n\n if (this._adapter.isConnected) {\n if (this._disabled) {\n this._removeListeners();\n } else if (!this._deferred) {\n this._deferInitialization();\n }\n }\n\n this._adapter.toggleHostAttribute(STATE_LAYER_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { StateLayerAdapter } from './state-layer-adapter';\nimport { StateLayerFoundation } from './state-layer-foundation';\nimport { StateLayerCoords, STATE_LAYER_CONSTANTS } from './state-layer-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-state-layer\\\" part=\\\"surface\\\"></div></template>';\nconst styles = ':host{border-radius:inherit;position:absolute;inset:0;overflow:hidden;display:-webkit-box;display:flex;margin:auto;pointer-events:none;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}:host([disabled]){display:none}.forge-state-layer{--_state-layer-color:var(--forge-state-layer-color, var(--forge-theme-on-surface, #000000));--_state-layer-hover-color:var(--forge-state-layer-hover-color, var(--_state-layer-color));--_state-layer-hover-opacity:var(--forge-state-layer-hover-opacity, 0.08);--_state-layer-pressed-color:var(--forge-state-layer-pressed-color, var(--_state-layer-color));--_state-layer-pressed-opacity:var(--forge-state-layer-pressed-opacity, 0.12);--_state-layer-hover-duration:var(--forge-state-layer-hover-duration, 15ms);--_state-layer-pressed-duration:var(--forge-state-layer-pressed-duration, 105ms);--_state-layer-animation-duration:var(--forge-state-layer-animation-duration, 375ms)}.forge-state-layer::after,.forge-state-layer::before{content:\\\"\\\";opacity:0;position:absolute}.forge-state-layer::before{background-color:var(--_state-layer-hover-color);inset:0;-webkit-transition:opacity var(--_state-layer-hover-duration) linear,background-color var(--_state-layer-hover-duration) linear;transition:opacity var(--_state-layer-hover-duration) linear,background-color var(--_state-layer-hover-duration) linear}.forge-state-layer::after{background:radial-gradient(closest-side,var(--_state-layer-pressed-color) max(100% - 70px,65%),transparent 100%);-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:opacity var(--_state-layer-animation-duration) linear;transition:opacity var(--_state-layer-animation-duration) linear}.forge-state-layer--hovered::before{background-color:var(--_state-layer-hover-color);opacity:var(--_state-layer-hover-opacity)}.forge-state-layer--pressed::after{opacity:var(--_state-layer-pressed-opacity);-webkit-transition-duration:var(--_state-layer-pressed-duration);transition-duration:var(--_state-layer-pressed-duration)}@media screen and (forced-colors:active){:host{display:none}}';\n\nexport interface IStateLayerComponent extends IBaseComponent {\n targetElement: HTMLElement | null;\n target: string | null;\n disabled: boolean;\n playAnimation(coords?: StateLayerCoords): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-state-layer': IStateLayerComponent;\n }\n}\n\n/**\n * @tag forge-state-layer\n * \n * @summary State layers show the interaction status of an element.\n * \n * @description \n * A state layer is a semi-transparent overlay on an element that indicates its interaction\n * state. State layers provide a systematic approach to visualizing states by using opacity.\n * A layer can be applied to an entire element or in a circular shape. Only one state layer\n * can be applied at a given time.\n * \n * @property {HTMLElement} targetElement - The element to attach the state layer to.\n * @property {string} target - The id of the element to attach the state layer to.\n * @property {boolean} disabled - Controls whether the state layer is disabled.\n * \n * @attribute {string} target - The id of the element to attach the state layer to.\n * @attribute {boolean} disabled - Controls whether the state layer is disabled.\n * \n * @cssproperty --forge-state-layer-color - The color of the state layer. Defaults to the on-surface theme.\n * @cssproperty --forge-state-layer-hover-color - The color of the state layer when hovered.\n * @cssproperty --forge-state-layer-hover-opacity - The opacity of the state layer when hovered.\n * @cssproperty --forge-state-layer-pressed-color - The color of the state layer when pressed.\n * @cssproperty --forge-state-layer-pressed-opacity - The opacity of the state layer when pressed.\n * @cssproperty --forge-state-layer-hover-duration - The duration of the hover animation.\n * @cssproperty --forge-state-layer-animation-duration - The duration of the animation.\n * @cssproperty --forge-state-layer-pressed-duration - The duration of the pressed animation.\n * \n * @csspart surface - The surface element.\n */\n@CustomElement({\n name: STATE_LAYER_CONSTANTS.elementName\n})\nexport class StateLayerComponent extends BaseComponent implements IStateLayerComponent {\n public static get observedAttributes(): string[] {\n return [\n STATE_LAYER_CONSTANTS.attributes.TARGET,\n STATE_LAYER_CONSTANTS.attributes.DISABLED\n ];\n }\n\n private _foundation: StateLayerFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new StateLayerFoundation(new StateLayerAdapter(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 STATE_LAYER_CONSTANTS.attributes.TARGET:\n this.target = newValue;\n break;\n case STATE_LAYER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare targetElement: HTMLElement | null;\n\n @FoundationProperty()\n public declare target: string | null;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n /**\n * Triggers the animation to run.\n * \n * Note: If coordinates are not provided, the transition will originate from the center of the target element.\n * \n * @param {StateLayerCoords} [coords] - The coordinates to play the animation from.\n */\n public playAnimation(coords?: StateLayerCoords): void {\n this._foundation.playAnimation(coords);\n }\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName = `${COMPONENT_NAME_PREFIX}state-layer`;\n\nconst observedAttributes = {\n TARGET: 'target',\n DISABLED: 'disabled'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst selectors = {\n SURFACE: '.forge-state-layer'\n};\n\nconst classes = {\n HOVERED: 'forge-state-layer--hovered',\n PRESSED: 'forge-state-layer--pressed'\n};\n\nexport const STATE_LAYER_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n classes\n};\n\nexport class StateLayerCoords {\n constructor(public x: number, public y: number) {}\n\n public static fromPointerEvent(event: PointerEvent): StateLayerCoords {\n return new StateLayerCoords(event.pageX, event.pageY);\n }\n}\n\nexport const TOUCH_DELAY_MS = 150;\nexport const PRESS_GROW_MS = 450;\nexport const MINIMUM_PRESS_MS = 225;\nexport const INITIAL_ORIGIN_SCALE = 0.2;\nexport const PADDING = 10;\nexport const SOFT_EDGE_MINIMUM_SIZE = 75;\nexport const SOFT_EDGE_CONTAINER_RATIO = 0.35;\nexport const PRESS_PSEUDO = '::after';\nexport const ANIMATION_FILL = 'forwards';\nexport const EASING = 'cubic-bezier(0.2, 0, 0, 1)';\n\n/**\n * Interaction states for the state layer.\n *\n * On Touch:\n * - `INACTIVE -> TOUCH_DELAY -> WAITING_FOR_CLICK -> INACTIVE`\n * - `INACTIVE -> TOUCH_DELAY -> HOLDING -> WAITING_FOR_CLICK -> INACTIVE`\n *\n * On Mouse or Pen:\n * - `INACTIVE -> WAITING_FOR_CLICK -> INACTIVE`\n */\nexport enum PointerState {\n /**\n * Initial state of the control, no touch in progress.\n *\n * Transitions:\n * - on touch down: transition to `TOUCH_DELAY`.\n * - on mouse down: transition to `WAITING_FOR_CLICK`.\n */\n INACTIVE,\n /**\n * Touch down has been received, waiting to determine if it's a swipe or\n * scroll.\n *\n * Transitions:\n * - on touch up: begin press; transition to `WAITING_FOR_CLICK`.\n * - on cancel: transition to `INACTIVE`.\n * - after `TOUCH_DELAY_MS`: begin press; transition to `HOLDING`.\n */\n TOUCH_DELAY,\n /**\n * A touch has been deemed to be a press\n *\n * Transitions:\n * - on up: transition to `WAITING_FOR_CLICK`.\n */\n HOLDING,\n /**\n * The user touch has finished, transition into rest state.\n *\n * Transitions:\n * - on click end press; transition to `INACTIVE`.\n */\n WAITING_FOR_CLICK\n}\n", "import { INITIAL_ORIGIN_SCALE, PADDING, SOFT_EDGE_CONTAINER_RATIO, SOFT_EDGE_MINIMUM_SIZE, StateLayerCoords } from './state-layer-constants';\n\nexport function calcRippleSize(hostEl: HTMLElement): { rippleScale: string; rippleSize: string; initialSize: number } {\n const { height, width } = hostEl.getBoundingClientRect();\n const maxDim = Math.max(height, width);\n const softEdgeSize = Math.max(SOFT_EDGE_CONTAINER_RATIO * maxDim, SOFT_EDGE_MINIMUM_SIZE);\n const initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);\n const hypotenuse = Math.sqrt(width ** 2 + height ** 2);\n const maxRadius = hypotenuse + PADDING;\n const rippleScale = `${(maxRadius + softEdgeSize) / initialSize}`;\n const rippleSize = `${initialSize}px`;\n return { rippleScale, rippleSize, initialSize };\n}\n\nexport function getTranslationCoordinates(hostEl: HTMLElement, initialSize: number, coords?: StateLayerCoords): { startPoint: { x: number; y: number }; endPoint: { x: number; y: number } } {\n const { height, width } = hostEl.getBoundingClientRect();\n const endPoint = {\n x: (width - initialSize) / 2,\n y: (height - initialSize) / 2\n };\n\n let startPoint;\n if (isValidCoords(coords)) {\n startPoint = toNormalizedCoords(hostEl, coords);\n } else {\n startPoint = {\n x: width / 2,\n y: height / 2\n };\n }\n\n startPoint = {\n x: startPoint.x - (initialSize / 2),\n y: startPoint.y - (initialSize / 2)\n };\n\n return { startPoint, endPoint };\n}\n\nexport function toNormalizedCoords(hostEl: HTMLElement, coords: StateLayerCoords): { x: number; y: number } {\n const { scrollX, scrollY } = window;\n const { left, top } = hostEl.getBoundingClientRect();\n const documentX = scrollX + left;\n const documentY = scrollY + top;\n const { x, y } = coords;\n return { x: x - documentX, y: y - documentY };\n}\n\nexport function isInBounds(hostEl: HTMLElement, x: number, y: number): boolean {\n const { height, width } = hostEl.getBoundingClientRect();\n return x >= 0 && x <= width && y >= 0 && y <= height;\n}\n\nfunction isValidCoords(value: any): value is StateLayerCoords {\n return value && (value instanceof StateLayerCoords || ['x', 'y'].every(key => key in value));\n}\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { locateTargetHeuristic, createUserInteractionListener } from '../core/utils/utils';\nimport { IStateLayerComponent } from './state-layer';\nimport { ANIMATION_FILL, EASING, MINIMUM_PRESS_MS, PRESS_GROW_MS, PRESS_PSEUDO, StateLayerCoords, STATE_LAYER_CONSTANTS } from './state-layer-constants';\nimport { calcRippleSize, getTranslationCoordinates, isInBounds } from './state-layer-utils';\n\nexport interface IStateLayerAdapter extends IBaseAdapter {\n destroy(): void;\n deferInitialization(listener: (evt?: PointerEvent) => void): void;\n getTargetElement(): HTMLElement | null;\n setTargetElement(el: HTMLElement | null): void;\n trySetTarget(value?: string | null): void;\n addTargetListener(type: string, listener: EventListener): void;\n removeTargetListener(type: string, listener: EventListener): void;\n setHovered(hovered: boolean): void;\n setPressed(pressed: boolean): void;\n startAnimation(coords?: StateLayerCoords): void;\n endAnimation(): Promise<void>;\n inBounds(x: number, y: number): boolean;\n}\n\nexport class StateLayerAdapter extends BaseAdapter<IStateLayerComponent> implements IStateLayerAdapter {\n private readonly _surfaceElement: HTMLElement;\n private _targetElement: HTMLElement | null = null;\n private _rippleAnimation: Animation | undefined;\n private _destroyDeferListener: (() => void) | undefined;\n\n constructor(component: IStateLayerComponent) {\n super(component);\n this._surfaceElement = getShadowElement(component, STATE_LAYER_CONSTANTS.selectors.SURFACE);\n }\n\n public destroy(): void {\n if (typeof this._destroyDeferListener === 'function') {\n this._destroyDeferListener();\n this._destroyDeferListener = undefined;\n }\n this._targetElement = null;\n }\n\n public async deferInitialization(listener: (evt?: PointerEvent) => void): Promise<void> {\n if (!this._targetElement) {\n return;\n }\n const { userInteraction, destroy } = createUserInteractionListener(this._targetElement);\n this._destroyDeferListener = destroy;\n const evt = await userInteraction;\n listener(evt.type === 'pointerenter' ? evt as PointerEvent : undefined);\n }\n\n public addTargetListener(type: string, listener: EventListener): void {\n this._targetElement?.addEventListener(type, listener);\n }\n\n public removeTargetListener(type: string, listener: EventListener): void {\n this._targetElement?.removeEventListener(type, listener);\n }\n\n public setHovered(hovered: boolean): void {\n this._surfaceElement.classList.toggle(STATE_LAYER_CONSTANTS.classes.HOVERED, hovered);\n }\n \n public setPressed(pressed: boolean): void {\n this._surfaceElement.classList.toggle(STATE_LAYER_CONSTANTS.classes.PRESSED, pressed);\n }\n\n public getTargetElement(): HTMLElement | null {\n return this._targetElement;\n }\n\n public setTargetElement(el: HTMLElement | null): void {\n this._targetElement = el;\n }\n\n public trySetTarget(value?: string | null): void {\n this._targetElement = locateTargetHeuristic(this._component, value);\n }\n\n public startAnimation(coords?: StateLayerCoords): void {\n if (!this._surfaceElement) {\n return;\n }\n\n this.setPressed(true);\n this._rippleAnimation?.cancel();\n\n const { rippleSize, rippleScale, initialSize } = calcRippleSize(this._component);\n const { startPoint, endPoint } = getTranslationCoordinates(this._component, initialSize, coords);\n const translateStart = `${startPoint.x}px, ${startPoint.y}px`;\n const translateEnd = `${endPoint.x}px, ${endPoint.y}px`;\n\n this._rippleAnimation = this._surfaceElement.animate(\n {\n top: [0, 0],\n left: [0, 0],\n height: [rippleSize, rippleSize],\n width: [rippleSize, rippleSize],\n transform: [\n `translate(${translateStart}) scale(1)`,\n `translate(${translateEnd}) scale(${rippleScale})`\n ]\n },\n {\n pseudoElement: PRESS_PSEUDO,\n duration: PRESS_GROW_MS,\n easing: EASING,\n fill: ANIMATION_FILL\n });\n }\n\n public async endAnimation(): Promise<void> {\n const animation = this._rippleAnimation;\n const pressAnimationPlayState = animation?.currentTime ?? Infinity;\n\n if (pressAnimationPlayState >= MINIMUM_PRESS_MS) {\n this.setPressed(false);\n return;\n }\n\n await new Promise(resolve => {\n setTimeout(resolve, MINIMUM_PRESS_MS - pressAnimationPlayState);\n });\n\n if (this._rippleAnimation !== animation) {\n return;\n }\n\n this.setPressed(false);\n }\n\n public inBounds(x: number, y: number): boolean {\n return isInBounds(this._component, x, y);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IStateLayerAdapter } from './state-layer-adapter';\nimport { PointerState, StateLayerCoords, STATE_LAYER_CONSTANTS, TOUCH_DELAY_MS } from './state-layer-constants';\n\nexport interface IStateLayerFoundation extends ICustomElementFoundation {\n targetElement: HTMLElement | null;\n target: string | null;\n disabled: boolean;\n playAnimation(coords?: StateLayerCoords): void;\n}\n\nexport class StateLayerFoundation implements IStateLayerFoundation {\n // State\n private _target: string | null = null;\n private _disabled = false;\n private _attached = false;\n private _deferred = true;\n private _pointerStartEvent: PointerEvent | undefined;\n private _pointerState: PointerState = PointerState.INACTIVE;\n private _checkBoundsAfterContextMenu = false;\n\n // Listeners\n private _pointerEnterListener: EventListener;\n private _pointerLeaveListener: EventListener;\n private _pointerDownListener: EventListener;\n private _pointerUpListener: EventListener;\n private _pointerCancelListener: EventListener;\n private _clickListener: EventListener;\n private _contextmenuListener: EventListener;\n\n constructor(private _adapter: IStateLayerAdapter) {\n this._pointerEnterListener = (evt: PointerEvent) => this._onPointerEnter(evt);\n this._pointerLeaveListener = (evt: PointerEvent) => this._onPointerLeave(evt);\n this._pointerDownListener = (evt: PointerEvent) => this._onPointerDown(evt);\n this._pointerUpListener = (evt: PointerEvent) => this._onPointerUp(evt);\n this._pointerCancelListener = (evt: PointerEvent) => this._onPointerCancel(evt);\n this._clickListener = () => this._onClick();\n this._contextmenuListener = () => this._onContextmenu();\n }\n\n public initialize(): void {\n this._adapter.trySetTarget(this._target);\n\n // Clicks could be triggered programmatically so we need to listen for them regardless\n // of deferred initialization status\n this._adapter.addTargetListener('click', this._clickListener);\n\n // We defer initialization until the first pointerenter event is received.\n //\n // This is a performance optimization to avoid attaching many listeners to the target element\n // until the user is first interacting with it.\n this._deferInitialization();\n }\n\n public disconnect(): void {\n this._pointerStartEvent = undefined;\n this._pointerState = PointerState.INACTIVE;\n this._adapter.setHovered(false);\n this._adapter.setPressed(false);\n this._removeListeners(); // Must be called before destroying adapter\n this._adapter.destroy();\n }\n\n public playAnimation(coords?: StateLayerCoords): void {\n this._adapter.startAnimation(coords);\n this._endAnimation();\n }\n\n private _deferInitialization(): void {\n this._adapter.deferInitialization(this._onDeferredInitialize.bind(this));\n }\n\n private _applyListeners(): void {\n if (this._disabled) {\n return;\n }\n\n this._adapter.addTargetListener('pointerenter', this._pointerEnterListener);\n this._adapter.addTargetListener('pointerleave', this._pointerLeaveListener);\n this._adapter.addTargetListener('pointerdown', this._pointerDownListener);\n this._adapter.addTargetListener('pointerup', this._pointerUpListener);\n this._adapter.addTargetListener('pointercancel', this._pointerCancelListener);\n this._adapter.addTargetListener('contextmenu', this._contextmenuListener);\n this._attached = true;\n }\n\n private _removeListeners(): void {\n this._adapter.removeTargetListener('pointerenter', this._pointerEnterListener);\n this._adapter.removeTargetListener('pointerleave', this._pointerLeaveListener);\n this._adapter.removeTargetListener('pointerdown', this._pointerDownListener);\n this._adapter.removeTargetListener('pointerup', this._pointerUpListener);\n this._adapter.removeTargetListener('pointercancel', this._pointerCancelListener);\n this._adapter.removeTargetListener('click', this._clickListener);\n this._adapter.removeTargetListener('contextmenu', this._contextmenuListener);\n this._attached = false;\n }\n\n private _onDeferredInitialize(evt?: PointerEvent): void {\n this._applyListeners();\n\n if (evt?.type === 'pointerenter') {\n // Manually trigger the pointerenter listener since this is in response to a pointerenter event already\n this._pointerEnterListener(evt);\n }\n \n this._deferred = false;\n }\n\n private _onPointerEnter(evt: PointerEvent): void {\n if (!this._canHandleEvent(evt)) {\n return;\n }\n this._adapter.setHovered(true);\n }\n\n private _onPointerLeave(evt: PointerEvent): void {\n if (!this._canHandleEvent(evt)) {\n return;\n }\n\n this._adapter.setHovered(false);\n\n if (this._pointerState !== PointerState.INACTIVE) {\n this._adapter.endAnimation();\n }\n }\n\n private async _onPointerDown(evt: PointerEvent): Promise<void> {\n this._pointerStartEvent = evt;\n\n if (!this._canHandleEvent(evt)) {\n return;\n }\n \n if (!this._isTouch(evt.pointerType)) {\n this._pointerState = PointerState.WAITING_FOR_CLICK;\n this._startAnimation(evt);\n return;\n }\n\n // after a longpress contextmenu event, an extra `pointerdown` can be\n // dispatched to the pressed element. Check that the down is within\n // bounds of the element in this case.\n if (this._checkBoundsAfterContextMenu && !this._adapter.inBounds(evt.x, evt.y)) {\n return;\n }\n\n this._checkBoundsAfterContextMenu = false;\n\n this._pointerState = PointerState.TOUCH_DELAY;\n await new Promise(resolve => setTimeout(resolve, TOUCH_DELAY_MS));\n\n if (this._pointerState !== PointerState.TOUCH_DELAY) {\n return;\n }\n\n this._pointerState = PointerState.HOLDING;\n this._startAnimation(evt);\n }\n\n private _onPointerUp(evt: PointerEvent): void {\n if (!this._canHandleEvent(evt)) {\n return;\n }\n\n if (this._pointerState === PointerState.HOLDING) {\n this._pointerState = PointerState.WAITING_FOR_CLICK;\n return;\n }\n\n if (this._pointerState === PointerState.TOUCH_DELAY) {\n this._pointerState = PointerState.WAITING_FOR_CLICK;\n this._startAnimation(this._pointerStartEvent);\n return;\n }\n }\n\n private _onClick(): void {\n if (this._disabled) {\n return;\n }\n\n if (this._pointerState === PointerState.WAITING_FOR_CLICK) {\n this._endAnimation();\n return;\n }\n\n if (this._pointerState === PointerState.INACTIVE) {\n this._startAnimation(this._pointerStartEvent);\n this._endAnimation();\n }\n }\n\n private _onPointerCancel(evt: PointerEvent): void {\n if (!this._canHandleEvent(evt)) {\n return;\n }\n this._endAnimation();\n }\n\n private _onContextmenu(): void {\n if (this._disabled) {\n return;\n }\n\n this._checkBoundsAfterContextMenu = true;\n this._adapter.endAnimation();\n }\n\n private _startAnimation(evt?: PointerEvent): void {\n const coords = evt ? StateLayerCoords.fromPointerEvent(evt) : undefined;\n this._adapter.startAnimation(coords);\n }\n\n private _endAnimation(): void {\n this._pointerState = PointerState.INACTIVE;\n this._adapter.endAnimation();\n this._pointerStartEvent = undefined;\n }\n\n private _canHandleEvent({ type, isPrimary, buttons, pointerType, pointerId }: PointerEvent): boolean {\n if (this._disabled || !isPrimary) {\n return false;\n }\n\n if (this._pointerStartEvent && this._pointerStartEvent.pointerId !== pointerId) {\n return false;\n }\n\n if (type === 'pointerenter' || type === 'pointerleave') {\n return !this._isTouch(pointerType);\n }\n\n const isPrimaryButton = buttons === 1;\n return this._isTouch(pointerType) || isPrimaryButton;\n }\n\n private _isTouch(pointerType: string): boolean {\n return pointerType === 'touch';\n }\n\n public get isAttached(): boolean {\n return this._attached;\n }\n\n public get targetElement(): HTMLElement | null {\n return this._adapter.getTargetElement();\n }\n public set targetElement(el: HTMLElement | null) {\n // Always remove the listeners from the previous target element\n this._removeListeners();\n\n // If unattached destroy the defer listener to recreate on the new target element\n if (!this._attached) {\n this._adapter.destroy();\n this._deferred = false;\n }\n\n this._adapter.setTargetElement(el);\n\n // If we are not already deferring attaching the listeners, then do that now\n if (!this._deferred) {\n this._deferInitialization();\n }\n }\n\n public get target(): string | null {\n return this._adapter.getHostAttribute(STATE_LAYER_CONSTANTS.attributes.TARGET);\n }\n public set target(value: string | null) {\n if (this._target !== value) {\n this._target = value;\n\n if (this._adapter.isConnected) {\n // Always remove the listeners from the previous target element\n this._removeListeners();\n\n if (!this._attached) {\n this._adapter.destroy();\n this._deferred = false;\n }\n\n this._adapter.trySetTarget(value);\n\n if (!this._deferred) {\n this._deferInitialization();\n }\n }\n\n this._adapter.toggleHostAttribute(STATE_LAYER_CONSTANTS.attributes.TARGET, Boolean(this._target), this._target as string);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n value = Boolean(value);\n if (this._disabled !== value) {\n this._disabled = value;\n\n if (this._adapter.isConnected) {\n if (this._disabled) {\n this._removeListeners();\n } else if (!this._deferred) {\n this._deferInitialization();\n }\n }\n\n this._adapter.toggleHostAttribute(STATE_LAYER_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { StateLayerAdapter } from './state-layer-adapter';\nimport { StateLayerFoundation } from './state-layer-foundation';\nimport { StateLayerCoords, STATE_LAYER_CONSTANTS } from './state-layer-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-state-layer\\\" part=\\\"surface\\\"></div></template>';\nconst styles = ':host{border-radius:inherit;position:absolute;inset:0;overflow:hidden;display:-webkit-box;display:flex;margin:auto;pointer-events:none;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}:host([disabled]){display:none}.forge-state-layer{--_state-layer-color:var(--forge-state-layer-color, var(--forge-theme-on-surface, #000000));--_state-layer-hover-color:var(--forge-state-layer-hover-color, var(--_state-layer-color));--_state-layer-hover-opacity:var(--forge-state-layer-hover-opacity, 0.08);--_state-layer-pressed-color:var(--forge-state-layer-pressed-color, var(--_state-layer-color));--_state-layer-pressed-opacity:var(--forge-state-layer-pressed-opacity, 0.12);--_state-layer-hover-duration:var(--forge-state-layer-hover-duration, 15ms);--_state-layer-pressed-duration:var(--forge-state-layer-pressed-duration, 105ms);--_state-layer-animation-duration:var(--forge-state-layer-animation-duration, 375ms)}.forge-state-layer::after,.forge-state-layer::before{content:\\\"\\\";opacity:0;position:absolute}.forge-state-layer::before{background-color:var(--_state-layer-hover-color);inset:0;-webkit-transition:opacity var(--_state-layer-hover-duration) linear,background-color var(--_state-layer-hover-duration) linear;transition:opacity var(--_state-layer-hover-duration) linear,background-color var(--_state-layer-hover-duration) linear}.forge-state-layer::after{background:radial-gradient(closest-side,var(--_state-layer-pressed-color) max(100% - 70px,65%),transparent 100%);-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:opacity var(--_state-layer-animation-duration) linear;transition:opacity var(--_state-layer-animation-duration) linear}.forge-state-layer--hovered::before{background-color:var(--_state-layer-hover-color);opacity:var(--_state-layer-hover-opacity)}.forge-state-layer--pressed::after{opacity:var(--_state-layer-pressed-opacity);-webkit-transition-duration:var(--_state-layer-pressed-duration);transition-duration:var(--_state-layer-pressed-duration)}@media screen and (forced-colors:active){:host{display:none}}';\n\nexport interface IStateLayerComponent extends IBaseComponent {\n targetElement: HTMLElement | null;\n target: string | null;\n disabled: boolean;\n playAnimation(coords?: StateLayerCoords): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-state-layer': IStateLayerComponent;\n }\n}\n\n/**\n * @tag forge-state-layer\n * \n * @summary State layers show the interaction status of an element.\n * \n * @description \n * A state layer is a semi-transparent overlay on an element that indicates its interaction\n * state. State layers provide a systematic approach to visualizing states by using opacity.\n * A layer can be applied to an entire element or in a circular shape. Only one state layer\n * can be applied at a given time.\n * \n * @property {HTMLElement} targetElement - The element to attach the state layer to.\n * @property {string} target - The id of the element to attach the state layer to.\n * @property {boolean} disabled - Controls whether the state layer is disabled.\n * \n * @attribute {string} target - The id of the element to attach the state layer to.\n * @attribute {boolean} disabled - Controls whether the state layer is disabled.\n * \n * @cssproperty --forge-state-layer-color - The color of the state layer. Defaults to the on-surface theme.\n * @cssproperty --forge-state-layer-hover-color - The color of the state layer when hovered.\n * @cssproperty --forge-state-layer-hover-opacity - The opacity of the state layer when hovered.\n * @cssproperty --forge-state-layer-pressed-color - The color of the state layer when pressed.\n * @cssproperty --forge-state-layer-pressed-opacity - The opacity of the state layer when pressed.\n * @cssproperty --forge-state-layer-hover-duration - The duration of the hover animation.\n * @cssproperty --forge-state-layer-animation-duration - The duration of the animation.\n * @cssproperty --forge-state-layer-pressed-duration - The duration of the pressed animation.\n * \n * @csspart surface - The surface element.\n */\n@CustomElement({\n name: STATE_LAYER_CONSTANTS.elementName\n})\nexport class StateLayerComponent extends BaseComponent implements IStateLayerComponent {\n public static get observedAttributes(): string[] {\n return [\n STATE_LAYER_CONSTANTS.attributes.TARGET,\n STATE_LAYER_CONSTANTS.attributes.DISABLED\n ];\n }\n\n private _foundation: StateLayerFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new StateLayerFoundation(new StateLayerAdapter(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 STATE_LAYER_CONSTANTS.attributes.TARGET:\n this.target = newValue;\n break;\n case STATE_LAYER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare targetElement: HTMLElement | null;\n\n @FoundationProperty()\n public declare target: string | null;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n /**\n * Triggers the animation to run.\n * \n * Note: If coordinates are not provided, the transition will originate from the center of the target element.\n * \n * @param {StateLayerCoords} [coords] - The coordinates to play the animation from.\n */\n public playAnimation(coords?: StateLayerCoords): void {\n this._foundation.playAnimation(coords);\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "selectors", "classes", "STATE_LAYER_CONSTANTS", "StateLayerCoords", "_StateLayerCoords", "x", "y", "event", "TOUCH_DELAY_MS", "PRESS_GROW_MS", "MINIMUM_PRESS_MS", "INITIAL_ORIGIN_SCALE", "PADDING", "SOFT_EDGE_MINIMUM_SIZE", "SOFT_EDGE_CONTAINER_RATIO", "PRESS_PSEUDO", "ANIMATION_FILL", "EASING", "PointerState", "calcRippleSize", "hostEl", "height", "width", "maxDim", "softEdgeSize", "SOFT_EDGE_CONTAINER_RATIO", "SOFT_EDGE_MINIMUM_SIZE", "initialSize", "INITIAL_ORIGIN_SCALE", "rippleScale", "PADDING", "rippleSize", "getTranslationCoordinates", "coords", "endPoint", "startPoint", "isValidCoords", "toNormalizedCoords", "scrollX", "scrollY", "left", "top", "documentX", "documentY", "x", "y", "isInBounds", "value", "StateLayerCoords", "key", "StateLayerAdapter", "BaseAdapter", "component", "getShadowElement", "STATE_LAYER_CONSTANTS", "listener", "userInteraction", "destroy", "createUserInteractionListener", "evt", "type", "_a", "hovered", "pressed", "el", "value", "locateTargetHeuristic", "coords", "rippleSize", "rippleScale", "initialSize", "calcRippleSize", "startPoint", "endPoint", "getTranslationCoordinates", "translateStart", "translateEnd", "PRESS_PSEUDO", "PRESS_GROW_MS", "EASING", "ANIMATION_FILL", "animation", "pressAnimationPlayState", "MINIMUM_PRESS_MS", "resolve", "x", "y", "isInBounds", "StateLayerFoundation", "_adapter", "evt", "coords", "resolve", "TOUCH_DELAY_MS", "StateLayerCoords", "type", "isPrimary", "buttons", "pointerType", "pointerId", "isPrimaryButton", "el", "STATE_LAYER_CONSTANTS", "value", "template", "styles", "StateLayerComponent", "BaseComponent", "attachShadowTemplate", "StateLayerFoundation", "StateLayerAdapter", "STATE_LAYER_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "coords", "__decorateClass", "FoundationProperty", "CustomElement"]
|
|
7
7
|
}
|